Belajar dengan membaca secara berurutan

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.

Bagaimana variable terhubung dengan value
Nama variable(x)Value(10)Memoryreferensisimpan

Nama variable mereferensikan suatu value, dan value itu hidup di memory

Yuk coba di console. Ketik x = 10 lalu print(x) di console sebelah kanan dan jalankan.

Python Editor

Jalankan kode untuk melihat output

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.

Yuk lihat error-nya di console.

Python Editor

Jalankan kode untuk melihat output

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.

Dasar-dasar int
10(literal angka)int10 + 5= 1510 * 3= 30<class 'int'>type ditetapkantambahkalikanlihat type
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'>

Kamu diberi total_minutes = 130 (total dalam menit).

① Pakai pembagian bulat // untuk menghitung jadi berapa jam, dan modulo % untuk menit sisanya. Tampilkan tiap value dengan print().

② Pakai type() untuk menampilkan type dari total_minutes.

Python Editor

Jalankan kode untuk melihat output

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.

Dasar-dasar str
"hello"literal stringstr"hello" + "!"= "hello!"len("hello")= 5type ditetapkangabungpanjang

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'>

Kamu diberi name = "Budi" dan score = "95".

① Pakai + untuk menampilkan "Skor Budi adalah 95 poin.".

② Pakai len() untuk menampilkan panjang dari name.

Python Editor

Jalankan kode untuk melihat output

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

Jalankan code dan pastikan kamu mendapat TypeError.

Python Editor

Jalankan kode untuk melihat output

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.

Dynamic typing vs static typing
Dynamictyping(Python)x = 10→ intx = 'hello'→ strStatictyping(Java / C)int x = 10perlu deklarasi typex = 'hello'error compiletugaskantugaskan ulang OKdeklarasi typetype tidak cocok

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

Lakukan tiga langkah berikut secara berurutan, tampilkan masing-masing dengan print().

① Tugaskan "Jakarta" ke variable city dan tampilkan.

② Tugaskan ulang city menjadi "Bandung" dan tampilkan (pastikan bahwa kamu bisa menimpa variable yang sama).

③ Tugaskan 10, 20, 30 ke a, b, c sekaligus dan tampilkan ketiganya bersamaan.

Python Editor

Jalankan kode untuk melihat output

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 variableOK / NGAlasan
user_nameOKHuruf dan garis bawah
age2OKMulai dengan huruf; angka di belakang boleh
_totalOKMulai dengan garis bawah diizinkan
2nd_userNGTidak bisa mulai dengan angka
user-nameNGTanda hubung tidak diizinkan
user nameNGSpasi 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.

Yuk lihat apa yang terjadi saat kamu menjalankan nama variable yang melanggar aturan.

Python Editor

Jalankan kode untuk melihat output

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".

Yuk hitung harga sudah termasuk pajak menggunakan konstanta.

① Tugaskan 0.1 ke konstanta TAX_RATE (tarif pajak konsumsi).

② Tugaskan 980 ke price.

③ Hitung harga sudah termasuk pajak (price × (1 + TAX_RATE)) dan tampilkan dengan print().

Python Editor

Jalankan kode untuk melihat output

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
Alur konversi type
"100"strint()konversi100intstr()konversi"100"strkirimstr→intkirimint→str

Kamu diberi sebuah harga sebagai string: price_str = "1980".

① Konversi ke int dengan int(), lalu hitung dan tampilkan harga sudah termasuk pajak (pajak konsumsi 10% ditambahkan).

② Pakai type() untuk menampilkan type sebelum (price_str) dan sesudah (price_int) konversi.

Python Editor

Jalankan kode untuk melihat output

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.

Jalankan code dan pastikan kamu mendapat ValueError. Menangani ValueError dengan benar membutuhkan exception handling.

Python Editor

Jalankan kode untuk melihat output

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.

QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Yang berikut ini tidak bisa dipakai sebagai nama variable adalah?

Soal 2Code ini menampilkan apa?
x = str(3.14)
print(type(x))

Soal 3Code ini menampilkan apa?
x = "10"
print(int(x) + 5)