Pertemuan 02 - Standar Tipe Data dalam Bahasa Python

Pertemuan 02 - Standar Tipe Data dalam Bahasa Python

Mempelajari tipe data standar dalam Python, meliputi String, Numeric, Boolean, Date, List, Tuple, Set, dan Dictionary.

Tujuan Praktikum

Setelah menyelesaikan praktikum ini, mahasiswa mampu:

  1. Mengerti dan memahami tipe data standar yang digunakan dalam bahasa Python.
  2. Menggunakan jenis-jenis tipe data (String, Numeric, Boolean, Date, List, Tuple, Set, Dictionary) sesuai kebutuhan pengolahan data.
  3. Memahami komponen dasar pemrograman Python yang berkaitan dengan tipe data.

Persiapan

Kebutuhan praktikum:

text
- 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:

Placeholder - diagram tipe data dalam Python

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]
python
nama = "Hasna"
print(nama)
print(type(nama))

Output:

text
Hasna
<class 'str'>

Bilangan (Numeric)

Tipe bilangan di Python terdiri dari Integer, Float, dan Complex Number.

python
# Integer - bilangan bulat
angka = 17
print(angka)
print(type(angka))
python
# Float - bilangan berkoma, akurat hingga 17 digit di belakang koma
angka = 17.355
print(angka)
print(type(angka))
python
# Complex Number - pasangan bilangan real dan imajiner
a = 5j
b = 10j
c = a + b
print(a, "+", b, "=", c)
print(type(c))

Output berturut-turut:

text
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.

python
Saya_manusia = True
Saya_robot = False

print("Tipe dari Saya_manusia", type(Saya_manusia))
print("Tipe dari Saya_robot", type(Saya_robot))

Output:

text
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.

python
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:

text
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]

python
list1 = ['fisika', 'kimia', 1993, 2017]

print(list1)
print(type(list1))
print(list1[2])
print(list1[:2])
print(list1[2:])
print(list1[1:3])

Output:

text
['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)

python
tuple1 = ('fisika', 'kimia', 1993, 2017)

print(tuple1)
print(type(tuple1))
print(tuple1[2])
print(tuple1[:2])
print(tuple1[2:])
print(tuple1[1:3])

Output:

text
('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).

python
set1 = {'fisika', 'kimia', 1993, 2017}

print(set1)
print(type(set1))

Output contoh:

text
{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.

python
# 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:

text
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
python
varku = "var1 var2 var3"
a, b, c = varku.split(" ")
print("a = ", a)
print("b = ", b)
print("c = ", c)

Output:

text
a =  var1
b =  var2
c =  var3

Penggabungan (Concatenation)

Operator + pada String:

python
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:

python
t1 = (1, 2)
t2 = (3, 4)
print("t1 + t2 = ", t1 + t2)

l1 = [1, 2]
l2 = [3, 4]
print("l1 + l2 = ", l1 + l2)

Output:

text
t1 + t2 =  (1, 2, 3, 4)
l1 + l2 =  [1, 2, 3, 4]

Operator | pada Integer (operasi bitwise OR):

python
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.

python
# Praktikum String
kalimat = 'Nama saya Umar'
print(kalimat)
print(kalimat[0])
print(kalimat[-1])
print(kalimat[5:9])
print(kalimat[:4])
Placeholder - hasil praktikum tipe string
python
# 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))
Placeholder - hasil praktikum integer & float
python
# 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)
Placeholder - hasil praktikum integer & complex
python
# 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"))
Placeholder - hasil praktikum date
python
# Praktikum Boolean
nilai = 5 > 10
nilai2 = 10 > 5
huruf = "Hallo" == "hallo"

print(nilai)
print(nilai2)
print(huruf)
Placeholder - hasil praktikum boolean
python
# 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))
Placeholder - hasil praktikum list
python
# 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])
Placeholder - hasil praktikum tuple
python
# 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)
Placeholder - hasil praktikum set
python
# 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'])
Placeholder - hasil praktikum dictionary
python
# 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')
Placeholder - hasil praktikum operator penggabungan

Pengujian

Periksa hasil praktikum dengan memastikan:

  1. type(nama) untuk string menghasilkan <class 'str'>, dan untuk complex number menghasilkan <class 'complex'>.
  2. Program List pada Langkah 5 mencetak len(a) bernilai 8.
  3. Program Dictionary mencetak JokoB1 saat menggabungkan data_mhs['Name2'] dan data_mhs['Class1'].
  4. Program operator | pada Integer (x = 5, y = 20) menghasilkan 21.

Verifikasi cepat secara otomatis:

python
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

  1. Jelaskan perbedaan tipe data Integer, Float, dan Complex.
  2. Jelaskan perbedaan antara tipe data List dan Tuple.
  3. Jelaskan apa yang disebut dengan Object Immutable pada tipe data Set dan Tuple.
  4. Jelaskan apa yang disebut dengan Object Mutable pada tipe data List dan Dictionary.
  5. Buatlah kode program menggunakan tipe List dengan output seperti berikut:
text
=========================================================
                      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
=========================================================
  1. 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:

text
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.