Soal 1Yang berikut ini tidak bisa dipakai sebagai nama variable adalah?
Variable dan tipe data
Pelajari dasar variabel Python — deklarasi, tipe int / str / float, dynamic typing, dan penugasan ulang.
Apa itu variable?
Variable adalah kotak bernama yang bisa kamu isi dengan data. Misalnya, tulis x = 10 dan integer 10 masuk ke dalam x.
Kamu bisa membaca lagi value-nya lewat nama yang sama, atau menimpanya dengan value baru.
Nama variable mereferensikan suatu value, dan value itu hidup di memory
Apakah 10 muncul di sebelah kanan? Itulah output dari print(x).
Saat kamu memanggil print(variable), dia menampilkan apa pun yang ada di dalam variable ke layar.
Sebaliknya, mencoba memakai variable yang belum kamu tugaskan akan menghasilkan NameError. Python memberi tahu bahwa tidak ada variable dengan nama itu.
Kamu harus selalu menugaskan variable sebelum memakainya.
Apa itu type?
Setiap value yang kamu masukkan ke variable memiliki type. Type itu seperti label yang menyatakan ini data jenis apa.
Misalnya, 10 bertype integer (int) dan "hello" bertype string (str).
Tipe integer (int)
int adalah type untuk bilangan bulat. Angka apa pun tanpa tanda desimal diperlakukan sebagai int.
Fitur kunci dari int adalah kamu bisa melakukan operasi aritmatika langsung padanya — penjumlahan, pengurangan, perkalian, dan pembagian.
Kirim ke type() dan kamu akan melihat <class 'int'>, yang mengonfirmasi bahwa itu int.
a = 10
b = 3
print(a + b) # 13 (penjumlahan)
print(a - b) # 7 (pengurangan)
print(a * b) # 30 (perkalian)
print(a // b) # 3 (pembagian bulat: sisanya dibuang)
print(a % b) # 1 (modulo: sisa pembagian)
print(type(a)) # <class 'int'>
Tipe string (str)
str adalah type untuk string. Apa pun yang dibungkus dengan petik satu '...' atau petik dua "..." menjadi str.
Kamu bisa menggabungkan (concatenate) string dengan +, atau mendapatkan panjangnya dengan len().
Bungkus angka dalam petik seperti "10" dan dia menjadi str — kamu tidak bisa berhitung di atasnya seperti itu.
Sebuah literal string menjadi str, dan kamu bisa memakainya untuk penggabungan dan panjang
greeting = "hello"
name = "Budi"
print(greeting + ", " + name + "!") # hello, Budi!
print(len(greeting)) # 5 (panjang)
# Catatan: "10" itu str, jadi kamu tidak bisa berhitung dengannya
num_str = "10"
# print(num_str + 5) # TypeError!
print(int(num_str) + 5) # 15 (jalan setelah dikonversi dengan int())
print(type(greeting)) # <class 'str'>
Mencampur type yang berbeda
Saat type-nya berbeda, apa yang bisa kamu lakukan dengannya juga berubah. Dua integer bisa dijumlahkan, tapi mencoba menjumlahkan integer dan string akan menghasilkan TypeError.
Yuk lihat di code di bawah apa yang terjadi saat kamu mencampur int dan str.
age = 25 # int
name = "Budi" # str
# int + int aman
print(age + 10) # 35
# str + str aman (penggabungan)
print(name + "!") # Budi!
# int + str menghasilkan error
# print(age + name) # TypeError: unsupported types for __add__: 'int', 'str'
# str() mengonversi sehingga bisa digabung
print(str(age) + " tahun") # 25 tahun
Mendeklarasikan dan menugaskan variable
Python memakai yang disebut dynamic typing, jadi tidak seperti Java atau C, kamu tidak perlu mendeklarasikan type di awal seperti int x;.
Kamu mendefinisikan variable cukup dengan memakai = untuk menugaskan value di sebelah kanan ke nama di sebelah kiri.
Dan begitu sebuah variable punya value, kamu bisa dengan bebas menugaskan ulang dengan value baru.
Python menentukan type saat runtime (dynamic), sementara Java dan C mengunci di compile time (static)
Berikut contoh penugasan dan penugasan ulang value. Di Python, kamu bisa menugaskan tanpa menentukan type, dan kamu bisa menugaskan ulang sebanyak yang kamu mau.
# Menugaskan ke variable
name = "Budi"
age = 25
# Menugaskan ulang (menimpa value)
age = 26
# Menugaskan value berbeda ke beberapa variable sekaligus (dalam satu baris)
x, y, z = 1, 2, 3
Aturan penamaan variable
Kamu bisa memberi nama variable sesuka hati, tapi ada beberapa aturan yang harus diikuti.
- Karakter yang diizinkan adalah huruf (a-z, A-Z), angka (0-9), dan garis bawah (_)
- Karakter pertama harus huruf atau garis bawah (tidak bisa dimulai dengan angka)
- Nama bersifat case-sensitive (age dan Age adalah variable yang berbeda)
| Nama variable | OK / NG | Alasan |
|---|---|---|
| user_name | OK | Huruf dan garis bawah |
| age2 | OK | Mulai dengan huruf; angka di belakang boleh |
| _total | OK | Mulai dengan garis bawah diizinkan |
| 2nd_user | NG | Tidak bisa mulai dengan angka |
| user-name | NG | Tanda hubung tidak diizinkan |
| user name | NG | Spasi tidak diizinkan |
Selain itu, kamu tidak bisa memakai reserved words (keywords) Python — kata-kata yang sudah diberi makna oleh bahasanya. Ada sekitar 35, termasuk 'for', 'if', 'class', 'return', 'True', 'None', dan 'import'. Coba pakai salah satunya sebagai nama variable dan kamu akan mendapat SyntaxError.
Konstanta — menulis value yang tidak berubah
Value yang kamu set sekali dan tidak pernah berubah disebut konstanta, dan konvensi Python adalah menulisnya dalam huruf kapital semua dengan garis bawah.
Kalau angka 20 muncul begitu saja di tengah code, pembaca tidak punya bayangan kenapa angkanya 20 (angka misterius seperti ini disebut magic number). Beri nama sebagai konstanta di awal — LEGAL_AGE = 20 — dan maknanya jelas dalam sekali lihat, ditambah lagi saat kamu mau mengganti value-nya kamu hanya perlu mengedit satu baris itu.
# Konstanta pakai kapital semua + garis bawah
LEGAL_AGE = 20
MAX_RETRY = 3
PI = 3.14159
print(f"Usia legal adalah {LEGAL_AGE}")
print(f"Maksimal percobaan: {MAX_RETRY}")
print(f"Pi sekitar {PI}")
Python tidak punya konstanta sungguhan
Tidak seperti C atau Java, Python tidak punya cara bawaan untuk melarang penugasan ulang. Tulis LEGAL_AGE = 20 lalu LEGAL_AGE = 25, dan tidak ada error — value-nya hanya berubah. Anggap kapital semua sebagai konvensi antar programmer yang berarti "tolong jangan ubah ini".
Memeriksa dan mengonversi type
Function type() memberi tahu tipe data sebuah variable (data jenis apa yang dia simpan). Dan built-in functions seperti int() dan str() (function yang sudah disediakan Python) memungkinkan kamu mengonversi value ke type lain — ini disebut konversi type, atau casting.
Misalnya, kalau kamu ingin berhitung dengan angka yang masuk sebagai string dari input pengguna, kamu harus mengonversinya ke int dengan int().
Berikut contoh memeriksa type dan mengonversi antar mereka.
# Periksa type
x = 42
print(type(x)) # <class 'int'>
print(type("hello")) # <class 'str'>
# Konversi type
num_str = "100"
num_int = int(num_str) # str → int
back_to_str = str(num_int) # int → str
print(num_int + 50) # 150
ValueError saat konversi tidak memungkinkan
Kirim ke int() atau float() sebuah string yang tidak bisa dibaca sebagai angka, dan kamu mendapat ValueError. Misalnya, int("abc") dan float("hello") keduanya menghasilkan error. Saat kamu mengonversi hal-hal seperti input pengguna, bungkus dengan try / except untuk menangani exception.
Di artikel ini kamu sudah belajar cara memakai variable, dasar-dasar int dan str, dan cara kerja dynamic typing.
Dari memeriksa type dengan type() sampai konversi type dengan int() dan str(), bahkan ValueError yang muncul saat konversi gagal — kamu sudah punya fondasi lengkap tentang tipe data Python.
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2Code ini menampilkan apa?x = str(3.14)
print(type(x))
Soal 3Code ini menampilkan apa?x = "10"
print(int(x) + 5)