Empat Tipe Data yang Perlu Kamu Kenal
Halaman aslinya panjang sekali karena mendaftar semua tipe di Python. Untuk sekarang kamu cuma perlu empat, plus satu nilai kosong.
Intisari
intbilangan bulat ·floatdesimal ·strteks ·boolbenar/salah.- Cek tipe apa pun dengan
type(nilai). Ini alat debugging pertamamu. - Ubah tipe dengan
int(),float(),str(),bool(). input()selalu menghasilkan teks — angka dari pengguna wajib dibungkusint()dulu.Noneberarti “belum ada nilai”. Berbeda dari0dan dari teks kosong.
Empat tipe, satu tabel
| Tipe | Untuk apa | Contoh |
|---|---|---|
int | Bilangan bulat | 0, 42, -7 |
float | Bilangan desimal | 3.14, -0.5, 2.0 |
str | Teks | "halo", "42", "" |
bool | Benar atau salah | True, False |
True dan False memakai huruf besar di depan.
true huruf kecil akan dianggap nama variabel dan menghasilkan error.
Mengecek tipe
Kalau kode berperilaku aneh, pertanyaan pertama hampir selalu: “ini sebenarnya tipe apa?”
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("42")) # <class 'str'>
print(type(True)) # <class 'bool'>
Perhatikan 42 dan "42". Tampak mirip di layar, tapi yang satu bisa dikalikan dan yang satu tidak.
Mengubah tipe (casting)
int("42") # 42 teks → bilangan bulat
int(3.9) # 3 desimal → bulat, DIPOTONG (bukan dibulatkan)
float("3.14") # 3.14 teks → desimal
str(42) # "42" apa pun → teks
round(3.9) # 4 ini baru pembulatan sesungguhnya
int() memotong, bukan membulatkan. int(3.99) menghasilkan 3.
Kalau maksudmu membulatkan, pakai round().
Konversi bisa gagal, dan gagalnya berupa error yang menghentikan program:
int("abc") # ValueError: invalid literal for int() with base 10: 'abc'
int("3.5") # ValueError juga — "3.5" bukan bilangan bulat
int(float("3.5")) # 3 — lewat float dulu, baru bisa
Jebakan terbesar: input() selalu teks
Ini penyebab error nomor satu di minggu pertama. Perhatikan:
umur = input("Umur kamu? ") # kamu ketik: 20
print(umur + 1)
# TypeError: can only concatenate str (not "int") to str
Kamu mengetik angka, tapi input() tetap menyerahkannya sebagai teks "20".
Selalu bungkus dengan int() atau float() kalau kamu berniat menghitungnya:
umur = int(input("Umur kamu? "))
print(umur + 1) # 21
tinggi = float(input("Tinggi (m)? "))
print(tinggi * 100, "cm")
bool: benar atau salah
Tipe ini muncul sendiri setiap kali kamu membandingkan sesuatu — dan jadi bahan utama Fase 2:
print(5 > 3) # True
print(5 == 3) # False
print("a" in "abc") # True
None: kosong yang disengaja
None adalah nilai khusus yang berarti “belum ada isinya”. Ia bukan nol, bukan teks kosong,
bukan False — ia ketiadaan nilai itu sendiri.
jawaban = None
print(jawaban) # None
print(jawaban is None) # True ← cara mengeceknya
Cek None pakai is, bukan ==.
Tulis if jawaban is None:. Ini kebiasaan standar Python dan lebih aman.
Latihan: minta pengguna memasukkan panjang dan lebar sebuah ruangan (boleh desimal), lalu cetak luasnya. Pastikan kamu mengubah tipenya — kalau lupa, kamu akan melihat sendiri error yang dibahas di atas.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.