Kalau komputer menjalankan harga ← 4000, lalu harga ← 5000, isi harga sekarang berapa? Dua-duanya, atau cuma satu? Tebak dulu, jawabannya ada di bagian kedua.
Pertanyaan kecil itu memegang hampir semua yang perlu kamu tahu soal variabel. Sisanya satu hal yang sering bikin bingung programmer baru: kenapa menukar isi dua nama butuh nama ketiga.
← menyimpan nilai ke dalam nama
harga ← 5000
TULIS harga
TULIS "harga"
5000
harga
- Baca
harga ← 5000sebagai "harga diisi 5000". Panahnya menunjuk ke tempat nilainya disimpan. - Nama yang menyimpan nilai disebut variabel. Bayangin toples berlabel di etalase warung: labelnya
harga, isinya 5000. TULIS hargamenampilkan isinya.TULIS "harga"menampilkan tulisan harga, karena pakai kutip.←susah diketik?<-dan=dibaca sama. Di editor latihan,←juga ada di deretan simbolnya.
Nama variabel boleh berisi huruf, angka, dan garis bawah, dan harus diawali huruf. Spasi gak boleh, jadi tulis hargaEsTeh atau harga_es_teh. Di JavaScript nanti, baris tadi jadi let harga = 5000. Di Python, harga = 5000.
Satu nama, satu isi
harga ← 4000
harga ← 5000
TULIS harga
5000
Ini jawaban pertanyaan di atas. Variabel cuma muat satu nilai. Waktu harga ← 5000 jalan, angka 4000 dibuang dan diganti 5000. Gak ada riwayatnya.
Nama juga boleh dipakai untuk menghitung isinya sendiri:
stok ← 12
stok ← stok - 3
TULIS stok
9
Di matematika, stok = stok - 3 gak masuk akal. Di sini itu perintah, bukan persamaan. Komputer menghitung sisi kanan dulu pakai isi yang lama (12 - 3), baru hasilnya, 9, disimpan ke stok.
Menyalin isi, bukan menempel nama
harga ← 5000
hargaLama ← harga
harga ← 6000
TULIS hargaLama, harga
5000 6000
hargaLama ← harga menyalin isi harga saat itu, 5000, ke hargaLama. Setelah itu keduanya gak nyambung lagi. Waktu harga diganti 6000, hargaLama tetap 5000.
Menukar isi dua variabel
Kamu punya dua gelas: gelas A isinya teh, gelas B isinya kopi. Gimana caranya menukar isinya? Kamu butuh gelas ketiga yang kosong. Coba tebak dulu, apa yang tercetak kalau gelas ketiganya gak ada:
gelasA ← "teh"
gelasB ← "kopi"
gelasA ← gelasB
gelasB ← gelasA
TULIS gelasA, gelasB
kopi kopi
Baris ketiga menuang kopi ke gelas A, dan tehnya hilang saat itu juga. Baris keempat cuma menyalin kopi itu balik ke gelas B. Simpan dulu isi gelas A di tempat lain:
gelasA ← "teh"
gelasB ← "kopi"
sementara ← gelasA
gelasA ← gelasB
gelasB ← sementara
TULIS gelasA, gelasB
kopi teh
sementara memegang teh selama gelas A diisi kopi, lalu menyerahkannya ke gelas B. Tiga baris, dan urutannya penting.
⚠️ Nama yang gak dikenali komputer
- Salah ketik.
harga ← 5000laluTULIS hragaberhenti dengan "Baris 2:hragabelum pernah diisi." Untungnya komputer sering menebak maksudmu: "Maksudmuharga?" - Huruf besar-kecil.
TULIS Hargasetelahharga ← 5000berhenti dengan "Baris 2:Hargabeda denganharga. Huruf besar-kecil dihitung." Buat komputer, itu dua nama. - Spasi di nama.
harga es teh ← 5000berhenti dengan "Baris 1: nama gak boleh pakai spasi." lalu "Sambung jadiharga_es_tehatauhargaEsTeh." - Dipakai sebelum diisi. Kalau baris pertamamu
total ← total + 5000, komputer berhenti dengan "Baris 1:totaldipakai sebelum diisi." Isi dulu, misalnyatotal ← 0, baru tambahkan. - Panahnya terbalik.
5000 ← hargaberhenti dengan "Baris 1: setelah5000harusnya baris sudah selesai, tapi masih ada←." Nama variabel selalu di kiri panah, nilainya di kanan.
TL;DR: harga ← 5000 menyimpan 5000 ke variabel harga (<- dan = juga boleh). Variabel cuma muat satu nilai: isi baru membuang isi lama. stok ← stok - 3 menghitung sisi kanan dulu pakai isi lama, baru menyimpan hasilnya. a ← b menyalin isi b saat itu, bukan menyambungkan keduanya. Menukar isi dua variabel butuh variabel ketiga: sementara ← a, a ← b, b ← sementara. Nama tanpa spasi, diawali huruf, dan huruf besar-kecilnya dihitung.