Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas variabel dan aturan penamaan. Sekarang kita lihat jenis nilai apa saja yang bisa disimpan.
Setiap nilai di Python punya tipe data. Angka 25 berbeda jenis dengan teks "25", meski terlihat mirip. Memahami tipe data membuat kamu tahu operasi apa yang bisa dilakukan dan menghindari error.
Empat Tipe Data Dasar
Python punya banyak tipe data, tapi untuk pemula ada empat yang paling sering dipakai:
| Tipe | Nama | Contoh |
|---|---|---|
int | Bilangan bulat | 10, -3, 0, 1000 |
float | Bilangan desimal | 3.14, -0.5, 2.0 |
str | Teks (string) | "Halo", 'Python' |
bool | Benar/salah (boolean) | True, False |
Empat tipe ini jadi fondasi hampir semua program. Mari bahas satu per satu.
int: Bilangan Bulat
Integer atau int adalah bilangan bulat tanpa koma: positif, negatif, atau nol.
jumlah_buku = 12
suhu = -5
nol = 0
Di Python 3, int tidak punya batas ukuran. Kamu bisa menulis angka sebesar apa pun tanpa khawatir overflow, selama memori komputer cukup.
angka_besar = 123456789012345678901234567890
print(angka_besar)
Angka bisa ditulis dengan garis bawah agar lebih mudah dibaca. Python mengabaikan garis bawahnya:
penduduk = 1_000_000
print(penduduk) # 1000000
float: Bilangan Desimal
Float adalah bilangan yang punya titik desimal. Python memakai titik (.), bukan koma.
tinggi = 170.5
pi = 3.14
suhu = -0.5
Angka tanpa titik desimal tetap dianggap int, meski nilainya bulat:
a = 10 # int
b = 10.0 # float
Float juga bisa ditulis dalam notasi ilmiah untuk angka sangat besar atau kecil:
jarak = 1.5e8 # 150000000.0
ukuran = 2.5e-3 # 0.0025
Catatan soal Presisi Float
Float punya keterbatasan presisi karena cara komputer menyimpan angka desimal. Contoh klasik:
print(0.1 + 0.2) # 0.30000000000000004
Hasilnya bukan 0.3 persis, melainkan 0.30000000000000004. Ini bukan bug, tapi perilaku normal di hampir semua bahasa pemrograman. Untuk kebutuhan yang butuh presisi tinggi seperti uang, biasanya dipakai modul decimal.
str: Teks (String)
String adalah rangkaian karakter, dipakai untuk teks. Ditulis dengan tanda kutip tunggal atau ganda.
nama = "Budi"
kota = 'Jakarta'
kalimat = "Saya sedang belajar Python"
Kutip tunggal dan ganda sama saja. Pilih salah satu dan konsisten. Kutip ganda berguna kalau teksmu mengandung tanda petik:
# Pakai kutip ganda supaya apostrof di dalam tidak bentrok
pesan = "It's a beautiful day"
# Atau pakai escape character
pesan = 'It\'s a beautiful day'
String kosong juga valid:
teks_kosong = ""
Menggabungkan String
Dua string bisa disambung dengan tanda +:
nama_depan = "Budi"
nama_belakang = "Santoso"
nama_lengkap = nama_depan + " " + nama_belakang
print(nama_lengkap) # Budi Santoso
String juga bisa diulang dengan tanda *:
print("ha" * 3) # hahaha
Perlu diingat, angka dan teks tidak bisa digabung langsung:
# Salah
umur = 25
print("Umur: " + umur) # TypeError
# Benar — ubah dulu ke string
print("Umur: " + str(umur))
Kita bahas konversi ini lebih dalam di artikel berikutnya.
bool: Boolean
Boolean hanya punya dua nilai: True dan False. Perhatikan huruf depannya kapital.
sudah_login = True
is_admin = False
Boolean dipakai untuk mewakili kondisi: ya/tidak, hidup/mati, aktif/nonaktif. Tipe ini akan sangat sering muncul saat kita masuk ke percabangan dan perulangan nanti.
Boolean sebenarnya turunan dari int. True bernilai 1 dan False bernilai 0:
print(True + True) # 2
print(False + 1) # 1
Ini jarang dipakai langsung, tapi bagus untuk diketahui.
Mengecek Tipe dengan type()
Python punya function bawaan type() untuk mengecek tipe sebuah nilai:
print(type(10)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("Halo")) # <class 'str'>
print(type(True)) # <class 'bool'>
type() juga bisa dipakai pada variabel:
umur = 25
print(type(umur)) # <class 'int'>
Berguna saat kamu tidak yakin sebuah nilai bertipe apa, misalnya hasil dari perhitungan atau input pengguna.
Kapan Tipe Data Penting?
Tipe data menentukan operasi apa yang bisa dilakukan:
# int dan float bisa dihitung
print(10 + 5) # 15
print(3.5 * 2) # 7.0
# string dengan + berarti menyambung
print("10" + "5") # 105, bukan 15!
Perhatikan contoh terakhir. "10" + "5" menghasilkan "105" karena keduanya string, bukan angka. Kesalahan seperti ini sering terjadi saat menerima input dari pengguna, yang selalu berbentuk string.
Tipe data juga menentukan hasil operasi campuran:
print(10 + 3.5) # 13.5, int otomatis jadi float
print(10 / 2) # 5.0, pembagian selalu menghasilkan float
Ringkasan
intuntuk bilangan bulat,floatuntuk bilangan desimalstruntuk teks, ditulis dengan kutip tunggal atau gandaboolhanya bernilaiTrueatauFalsetype()untuk mengecek tipe sebuah nilai- Tipe menentukan operasi yang bisa dilakukan:
"10" + "5"menghasilkan"105", bukan15 - Float punya keterbatasan presisi,
0.1 + 0.2tidak persis0.3
Langkah Selanjutnya
Sekarang kamu tahu empat tipe data dasar dan bedanya. Kadang sebuah nilai perlu diubah dari satu tipe ke tipe lain, misalnya teks "25" jadi angka 25.
Artikel selanjutnya membahas Konversi Tipe Data di Python, cara mengubah antar tipe dengan int(), float(), str(), dan bool().
