Variabel & Tipe Data — Python

Variabel & Tipe Data Python Di Python, kamu tidak perlu mendeklarasikan tipe variabel — Python akan mendeteksinya secara otomatis (dynamic typing). Membuat…

Variabel adalah nama yang ditempel ke sebuah nilai, supaya nilai itu bisa dipakai lagi nanti. Bayangin label harga di etalase Warung Kopi Pak Darto: label harga ditempel di angka 5000. Kalau harganya naik, labelnya dicabut lalu ditempel ke angka baru. Labelnya sendiri gak peduli isinya angka atau teks. Di Python juga begitu: yang punya tipe adalah nilainya, bukan namanya.

🧪 Tebakan cepat: harga = "5000" (pakai kutip), lalu print(harga * 2). Hasilnya 10000, 50005000, atau error? Tebak dulu, jawabannya ada di bagian "Teks dan angka gak bisa dicampur".

Membuat variabel

nama_menu = "Teh manis"   # str: teks
harga = 5000              # int: bilangan bulat
rating = 4.5              # float: bilangan pecahan
buka = True               # bool: True atau False
catatan = None            # None: belum ada isinya

Lima tipe dasar dan type()

Tipe Contoh Artinya
int 5000, -3, 0 bilangan bulat
float 4.5, 5000.0 bilangan pecahan, selalu ada titiknya
str "Teh manis", '5000' teks, di antara kutip ganda atau tunggal
bool True, False benar atau salah
NoneType None belum ada isinya

Fungsi type() memberi tahu tipe sebuah nilai:

print(type(harga))      # <class 'int'>
print(type(rating))     # <class 'float'>
print(type(nama_menu))  # <class 'str'>
print(type(buka))       # <class 'bool'>
print(type(catatan))    # <class 'NoneType'>

5000 dan 5000.0 nilainya sama, tapi tipenya beda: yang pertama int, yang kedua float. print(5000.0) menulis 5000.0, titik nolnya ikut. Dan "5000" dengan kutip adalah str, teks yang kebetulan berisi angka.

Dynamic typing

Satu nama boleh ditempel ke nilai bertipe lain kapan saja:

harga = 5000
harga = "lima ribu"
print(type(harga))  # <class 'str'>

Ini disebut dynamic typing: tipe sebuah variabel ditentukan saat program berjalan (runtime), dari nilai yang sedang ditempelnya, bukan saat variabel itu pertama kali ditulis. Praktis, tapi artinya Python baru tahu ada salah tipe ketika baris itu dijalankan.

Teks dan angka gak bisa dicampur

harga = 5000
print("Rp" + harga)
Traceback (most recent call last):
  File "/home/darto/warung.py", line 2, in <module>
    print("Rp" + harga)
          ~~~~~^~~~~~~
TypeError: can only concatenate str (not "int") to str

Kebalikannya juga ada: int("5000") mengubah teks jadi int, float("4.5") jadi float.

Tipe nilai menentukan arti operatornya. Kalau harga = "5000", harga * 2 bukan perkalian angka, tapi teksnya diulang dua kali: hasilnya 50005000. Itu jawaban tebakannya. Dan harga + 1000 malah TypeError, karena teks gak bisa disambung dengan angka.

f-string: menyisipkan nilai ke dalam teks

nama = "Budi"
umur = 25
print(f"Halo, {nama}! Umur kamu {umur} tahun.")
Halo, Budi! Umur kamu 25 tahun.

⚠️ Jebakan yang sering ketemu

TL;DR: Variabel adalah nama yang ditempel ke nilai dengan =, tanpa keyword dan tanpa menulis tipe. Lima tipe dasar: int (5000), float (4.5, 5000.0), str ("Teh manis"), bool (True/False), dan None. type(x) menampilkan tipenya, misalnya <class 'int'>. Dynamic typing: tipe ditentukan saat runtime dari nilainya, dan satu nama boleh ganti tipe. "Rp" + 5000 adalah TypeError, jadi ubah dulu dengan str() atau pakai f-string: f"Halo, {nama}! Umur kamu {umur} tahun.". Teks dikali angka diulang: "5000" * 2 jadi 50005000.

Yang akan kamu pelajari