← Semua pembelajaran / Python Dasar
Fase 1 · Variabel & Tipe Data

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.

Sumber asli docs.python.org Resmi Rangkuman ~5 menit baca

Intisari

  • int bilangan bulat · float desimal · str teks · bool benar/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 dibungkus int() dulu.
  • None berarti “belum ada nilai”. Berbeda dari 0 dan dari teks kosong.

Empat tipe, satu tabel

TipeUntuk apaContoh
intBilangan bulat0, 42, -7
floatBilangan desimal3.14, -0.5, 2.0
strTeks"halo", "42", ""
boolBenar atau salahTrue, 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.