Tujuan Praktikum
Setelah menyelesaikan praktikum ini, mahasiswa mampu:
- Mengerti dan memahami tipe data standar yang digunakan dalam bahasa Python.
- Menggunakan jenis-jenis tipe data (String, Numeric, Boolean, Date, List, Tuple, Set, Dictionary) sesuai kebutuhan pengolahan data.
- Memahami komponen dasar pemrograman Python yang berkaitan dengan tipe data.
Persiapan
Kebutuhan praktikum:
- Editor PyCharm Edu 2021.2 atau editor Python lainnya
- Google Colab (opsional, alternatif tanpa instalasi)
- Pemahaman variabel dan struktur program dari pertemuan sebelumnya
Konsep Singkat
Tipe data (atau sering disebut tipe saja) adalah pengelompokan data yang memberi tahu interpreter bagaimana sebuah nilai harus diolah. Python memiliki beberapa kelompok tipe data standar:
Secara garis besar, tipe data Python terbagi menjadi:
- Numeric → Integer, Float, Complex
- Sequence Type → String, List, Tuple
- Boolean
- Set
- Dictionary
Langkah 1 - Tipe Data Bernilai Tunggal: String, Numeric, dan Boolean
String
String menyatakan karakter atau kalimat, ditulis
dengan diapit tanda kutip dua ("...") atau
kutip tunggal ('...'). String bersifat
berurutan dan memiliki index — dimulai dari 0 jika
dihitung dari depan, dan -1 jika dihitung dari
belakang.
- Mengakses satu karakter:
namastring[index] -
Mengakses sekelompok karakter (slicing):
namastring[awal:akhir]
nama = "Hasna"
print(nama)
print(type(nama))
Output:
Hasna
<class 'str'>
Bilangan (Numeric)
Tipe bilangan di Python terdiri dari Integer, Float, dan Complex Number.
# Integer - bilangan bulat
angka = 17
print(angka)
print(type(angka))
# Float - bilangan berkoma, akurat hingga 17 digit di belakang koma
angka = 17.355
print(angka)
print(type(angka))
# Complex Number - pasangan bilangan real dan imajiner
a = 5j
b = 10j
c = a + b
print(a, "+", b, "=", c)
print(type(c))
Output berturut-turut:
17
<class 'int'>
17.355
<class 'float'>
5j + 10j = 15j
<class 'complex'>
Boolean
Tipe data ini memberi nilai True jika pernyataan yang
diuji benar, dan False jika salah.
Saya_manusia = True
Saya_robot = False
print("Tipe dari Saya_manusia", type(Saya_manusia))
print("Tipe dari Saya_robot", type(Saya_robot))
Output:
Tipe dari Saya_manusia <class 'bool'>
Tipe dari Saya_robot <class 'bool'>
Langkah 2 - Tipe Data Date
Python tidak memiliki tipe data Date bawaan tersendiri — untuk
bekerja dengan tanggal, modul
datetime perlu diimpor. Kelas
datetime() membutuhkan tiga parameter: tahun, bulan,
hari.
from datetime import datetime
sekarang = datetime.now()
print('Sekarang : ', sekarang)
print(type(sekarang))
print(sekarang.day)
print(sekarang.month)
print(sekarang.year)
print(sekarang.hour)
print(sekarang.minute)
Output contoh:
Sekarang : 2021-10-09 10:44:02.571987
<class 'datetime.datetime'>
9
10
2021
10
44
Format Tanggal dengan strftime()
Objek datetime memiliki method
strftime() untuk memformat tanggal menjadi string
yang mudah dibaca.
| Format | Deskripsi | Contoh |
|---|---|---|
%a |
Nama hari (singkat) | Wed |
%A |
Nama hari (lengkap) | Wednesday |
%w |
Nomor urut hari (0 = Minggu) | 3 = Selasa |
%d |
Tanggal dalam bulan (0–31) | 31 |
%b |
Nama bulan (singkat) | Dec |
%B |
Nama bulan (lengkap) | December |
%m |
Nomor bulan (1–12) | 12 |
%y |
Tahun (pendek) | 18 |
%Y |
Tahun (lengkap) | 2018 |
%H |
Jam (00–23) | 17 |
%I |
Jam (00–12) | 05 |
%M |
Menit (00–59) | 41 |
%S |
Detik (00–59) | 08 |
%c |
Tanggal & waktu versi lokal | Mon Dec 31 17:41:00 2018 |
%x |
Tanggal versi lokal | 12/31/18 |
%X |
Waktu versi lokal | 17:41:00 |
Langkah 3 - Tipe Data Kumpulan: List, Tuple, Set, dan Dictionary
List
List adalah kumpulan item yang berurutan dan
memiliki index (dimulai dari 0). Anggota list boleh
bertipe sama atau berbeda, dan bersifat
mutable (bisa diubah).
Sintak: data = [nilai1, nilai2]
list1 = ['fisika', 'kimia', 1993, 2017]
print(list1)
print(type(list1))
print(list1[2])
print(list1[:2])
print(list1[2:])
print(list1[1:3])
Output:
['fisika', 'kimia', 1993, 2017]
<class 'list'>
1993
['fisika', 'kimia']
[1993, 2017]
['kimia', 1993]
Tuple
Tuple mirip dengan List, tetapi anggotanya
bersifat immutable (tidak bisa diubah setelah
dibuat). Ditandai dengan tanda kurung ( ).
Sintak: data = (nilai1, nilai2)
tuple1 = ('fisika', 'kimia', 1993, 2017)
print(tuple1)
print(type(tuple1))
print(tuple1[2])
print(tuple1[:2])
print(tuple1[2:])
print(tuple1[1:3])
Output:
('fisika', 'kimia', 1993, 2017)
<class 'tuple'>
1993
('fisika', 'kimia')
(1993, 2017)
('kimia', 1993)
Set
Set adalah tipe data kolektif dengan ketentuan:
- Anggotanya harus unik (tidak boleh duplikat).
- Anggota yang sudah dimasukkan tidak bisa diubah.
- Bersifat unordered — anggotanya tidak bisa diakses dengan index.
Set dapat dibuat dengan tanda kurung kurawal { } atau
fungsi set([nilai]), dan mendukung operasi himpunan
matematika (gabungan, irisan, selisih, komplemen).
set1 = {'fisika', 'kimia', 1993, 2017}
print(set1)
print(type(set1))
Output contoh:
{1993, 'fisika', 2017, 'kimia'}
<class 'set'>
Dictionary
Dictionary menyimpan anggota berupa pasangan
kunci-nilai (key-value), mirip kamus. Anggota Dictionary
tidak memiliki index, dideklarasikan dengan tanda kurung kurawal
{ }.
Sintak:
nama_variabel = {"Key1": "value",
"Key2": "value"}
Mengakses anggota bisa langsung dengan
namadict["key"], atau lebih aman
menggunakan .get("key") — yang
mengembalikan None (bukan error) jika kunci tidak
ditemukan.
# tipe data Dictionary
data_mhs = {'Name1': 'Zara', 'Age1': 17, 'Class1': '1A',
'Name2': 'Joko', 'Age2': 19, 'Class2': 'B1',
'Name3': 'Wawan', 'Age3': 21, 'Class3': 'C3'}
print("data_mhs['Name2']: ", data_mhs['Name2'])
print("data_mhs['Age2']: ", data_mhs['Age2'])
Output:
data_mhs['Name2']: Joko
data_mhs['Age2']: 19
Langkah 4 - Manipulasi String dan Operator Penggabungan
Fungsi Manipulasi String
| Fungsi | Deskripsi | Contoh |
|---|---|---|
capitalize() |
Mengubah huruf awal string menjadi kapital |
"wahid hasyim".capitalize() →
Wahid hasyim
|
lower() |
Mengubah semua string menjadi huruf kecil |
"WAHID HASYIM".lower() →
wahid hasyim
|
upper() |
Mengubah semua string menjadi huruf besar |
"wahid hasyim".upper() →
WAHID HASYIM
|
find() |
Mencari posisi index karakter tertentu |
"wahid hasyim".find('d') →
4
|
replace() |
Mengganti bagian string tertentu |
"selamat".replace("t",
"nya")
→ selamanya
|
strip() |
Menghilangkan spasi di awal/akhir string |
" Teknik Komputer".strip() →
Teknik Komputer
|
split() |
Memisahkan string berdasarkan pembatas tertentu |
"var1 var2 var3".split(" ")
→
['var1', 'var2', 'var3']
|
in |
Mengecek keberadaan substring, hasil True/False
|
"P" in "Algoritma, Pemrograman,
Python"
→ True
|
varku = "var1 var2 var3"
a, b, c = varku.split(" ")
print("a = ", a)
print("b = ", b)
print("c = ", c)
Output:
a = var1
b = var2
c = var3
Penggabungan (Concatenation)
Operator + pada String:
s1 = "Welcome"
s2 = "to"
s3 = "python"
s4 = s1 + " " + s2 + " " + s3
print(s4)
Output: Welcome to python
Penggabungan antar tipe data yang berbeda (misalnya string dengan angka) akan menghasilkan error — salah satu tipe harus dikonversi terlebih dahulu.
Operator + pada Tuple dan List:
t1 = (1, 2)
t2 = (3, 4)
print("t1 + t2 = ", t1 + t2)
l1 = [1, 2]
l2 = [3, 4]
print("l1 + l2 = ", l1 + l2)
Output:
t1 + t2 = (1, 2, 3, 4)
l1 + l2 = [1, 2, 3, 4]
Operator | pada Integer (operasi
bitwise OR):
x = 5
y = 20
print(" x | y = ", x | y)
Output: x | y = 21
Langkah 5 - Praktik Tipe Data
Tuliskan tiap kode program berikut, jalankan dengan RUN, lalu analisis kode dan sebutkan outputnya.
# Praktikum String
kalimat = 'Nama saya Umar'
print(kalimat)
print(kalimat[0])
print(kalimat[-1])
print(kalimat[5:9])
print(kalimat[:4])
# Praktikum Integer dan Float
bil1 = 5.15
bil2 = 25
print('nilai bil1 adalah ', bil1)
print(type(bil1))
print('nilai bil2 adalah ', bil2)
print(type(bil2))
print('nilai bil1 + bil2 adalah ', bil1 + bil2)
print(type(bil1 + bil2))
# Praktikum Integer dan Complex Number
a1 = 5
b1 = 10j
b2 = 35j
c1 = a1 + b1
c2 = b1 + b2
print(a1, '+', b1, '=', c1)
print(b1, '+', b2, '=', c2)
# Praktikum Date
import datetime
from datetime import timedelta
t1 = datetime.date(2018, 6, 1)
print(t1)
print('t1 = ', t1.strftime("%A, %d-%B-%Y"))
t2 = t1 + timedelta(days=5)
print('\n5 hari setelah tanggal : ', t1, ' adalah : ', t2)
print(t2.strftime("t2 = %A, %d-%B-%Y"))
# Praktikum Boolean
nilai = 5 > 10
nilai2 = 10 > 5
huruf = "Hallo" == "hallo"
print(nilai)
print(nilai2)
print(huruf)
# Praktikum List
a = [5, 10, 15, 20, 25, 30, 35, 40]
print("a[2] = ", a[2])
print("a[0:3] = ", a[0:3])
print("a[5:] = ", a[5:])
print("a[:5] = ", a[:5])
print(len(a))
# Praktikum Tuple
data = ('a', 'b', 'c', 'd', 1, 2, 3, 4)
print("data[0] = ", data[0])
print("data[3:] = ", data[3:])
print("data[:3] = ", data[:3])
print("data[2:6] = ", data[2:6])
print("data[-1] = ", data[-1])
# Praktikum Set
data = {'a', 'b', 'c', 'd', 1, 2, 3, 4}
print(data)
x = {1, 2, 3, 4, 5, 6, 1, 2, 3, 4}
print(x)
# Praktikum Dictionary
data_mhs = {'Name1': 'Zara', 'Age1': 17, 'Class1': '1A',
'Name2': 'Joko', 'Age2': 19, 'Class2': 'B1',
'Name3': 'Wawan', 'Age3': 21, 'Class3': 'C3'}
print("data_mhs['Name2'] + data_mhs['Class1'] ", data_mhs['Name2'] + data_mhs['Class1'])
print("data_mhs['Age2']: ", data_mhs['Age2'])
# Praktikum Operator Penggabungan pada String
var1 = 'Hello Python!'
var2 = "I love Python"
print("var1[0]", var1[0])
print("var2[2:6]:", var2[2:6])
print("String Update: - ", var1[:6] + 'World')
Pengujian
Periksa hasil praktikum dengan memastikan:
-
type(nama)untuk string menghasilkan<class 'str'>, dan untuk complex number menghasilkan<class 'complex'>. -
Program List pada Langkah 5 mencetak
len(a)bernilai8. -
Program Dictionary mencetak
JokoB1saat menggabungkandata_mhs['Name2']dandata_mhs['Class1']. -
Program operator
|pada Integer (x = 5,y = 20) menghasilkan21.
Verifikasi cepat secara otomatis:
a = [5, 10, 15, 20, 25, 30, 35, 40]
assert len(a) == 8
assert (5 | 20) == 21
print("Semua pengujian lolos.")
Troubleshooting
| Masalah | Penyebab | Solusi |
|---|---|---|
TypeError saat menggabungkan string dan angka
dengan +
|
Python tidak otomatis mengonversi antar tipe data berbeda |
Ubah salah satu nilai ke tipe yang sama menggunakan
str(), int(), atau
float()
|
KeyError saat mengakses Dictionary |
Key yang dipanggil tidak ada dalam dictionary |
Gunakan .get("key") agar
mengembalikan None alih-alih error
|
| Set tampak berubah urutannya setiap dijalankan | Set bersifat unordered, urutan penyimpanan tidak dijamin tetap | Ini perilaku normal Set — gunakan List/Tuple bila urutan penting |
| Nilai Tuple gagal diubah | Tuple bersifat immutable | Gunakan List jika nilai memang perlu diubah setelah dibuat |
Tugas Praktikum
- Jelaskan perbedaan tipe data Integer, Float, dan Complex.
- Jelaskan perbedaan antara tipe data List dan Tuple.
- Jelaskan apa yang disebut dengan Object Immutable pada tipe data Set dan Tuple.
- Jelaskan apa yang disebut dengan Object Mutable pada tipe data List dan Dictionary.
- Buatlah kode program menggunakan tipe List dengan output seperti berikut:
=========================================================
PROGRAM LIST
nilaiTK = [90, 75, 95, 85, 80]
=========================================================
Mencetak semua isi list :
[90, 75, 95, 85, 80]
=========================================================
Mencetak isi list index ke-1
75
=========================================================
Mencetak isi list mulai dari index ke-1 sampai index ke-2
[75, 95]
=========================================================
Mengambil isi list index ke-2 ke variabel nilaiKu
nilaiKU = 95
=========================================================
- Diketahui variabel Dictionary berikut:
-
Key1="nama",Value1="Firdan Ardiansyah" -
Key2="umur",Value2=28 -
Key3="alamat",Value3="Rangkasbitung"
Buatlah dan eksekusi kode programnya sehingga menghasilkan output berikut:
Nama saya adalah = Firdan Ardiansyah
Umur saya adalah = 28
Alamat saya di = Rangkasbitung
Kesimpulan
Pada pertemuan ini mahasiswa telah mempelajari tipe data standar
dalam Python:
String, Integer, Float, Complex Number, Date
untuk menangani nilai tunggal (single-value), serta
List, Tuple, Set, Dictionary untuk menangani
banyak nilai (multi-value). Mahasiswa juga telah
mempraktikkan fungsi manipulasi String serta operator penggabungan
(+ dan |) pada berbagai tipe data.
Pemahaman terhadap karakteristik setiap tipe data — terutama
perbedaan mutable (List, Dictionary) dan
immutable (Tuple, Set) — menjadi fondasi penting sebelum
masuk ke materi operator dan struktur kontrol program pada
pertemuan berikutnya.