BAB 4: Kotak Bernama: Variabel, Angka, dan Teks
Studi kasus: "Luas KPH Alpha berapa?" #
Kepala Seksi mengirim pesan singkat: "Luas KPH Alpha berapa hektare?" Anda bisa membuka peta dan membaca jawabannya. Tetapi besok ia bertanya lagi, kali ini untuk dua puluh petak. Dengan Python, Anda menulis jawabannya sekali. Komputer lalu mengulanginya sebanyak yang Anda mau. Langkah pertamanya sederhana: menyimpan nilai dalam sebuah kotak bernama.
Konsep: variabel dalam tiga kalimat #
Sebuah variabel adalah kotak bernama yang menyimpan satu nilai. Bayangkan kotak arsip dengan label di depannya: label itu nama variabelnya, dan isi kotak itu nilainya. Saat Anda menyebut labelnya, Python mengeluarkan isi kotaknya.

Isi kotak boleh diganti kapan saja. Kotaknya tetap sama, hanya isinya yang berubah.
Tiga jenis nilai yang paling sering dipakai #
Python membedakan nilai menurut jenisnya. Tiga jenis ini cukup untuk memulai:
- Teks (di Python disebut string): rangkaian huruf, angka, dan tanda baca. Selalu diapit tanda kutip, misalnya
"KPH Alpha". - Bilangan bulat (integer): angka tanpa desimal, misalnya
7atau2008. - Bilangan desimal (float): angka dengan desimal, misalnya
4.0atau6.5. Python memakai titik, bukan koma.
Teks itu seperti tulisan di label. Angka itu seperti jumlah yang bisa dihitung. Anda bisa menjumlahkan dua angka. Anda juga bisa menyambung dua teks. Tetapi Anda tidak bisa mencampur keduanya begitu saja.
Dua perintah penolong: print dan komentar #
print: perintah untuk menampilkan sesuatu di layar. Isi yang ingin dilihat ditulis di dalam tanda kurung.- Komentar: catatan untuk manusia. Python mengabaikan semua tulisan setelah tanda pagar
#.
Langkah: mencoba di tempat mengetik Python #
Pakai tempat mengetik yang Anda siapkan di Bab 3, yaitu Konsol Python QGIS atau terminal. Ketik satu baris, lalu tekan Enter.
- Ketik
nama = "KPH Alpha". Layar tidak menampilkan apa pun. Itu normal: kotak bernamanamasudah dibuat. - Ketik
luas_ha = 4.0. Kotak kedua, bernamaluas_ha, sudah terisi. - Ketik
print(nama, "luasnya", luas_ha, "ha"). Layar menampilkanKPH Alpha luasnya 4.0 ha. - Ketik
luas_ha = 6.5, lalu ketik ulang barisprinttadi. Layar menampilkanKPH Alpha luasnya 6.5 ha. Kotak yang sama kini berisi nilai baru.
Hasilnya: Anda sudah membuat dua variabel, menampilkannya, dan mengganti isi salah satunya. Itu kerangka hampir semua skrip di buku ini.
Skrip yang dibedah: lima hal Python untuk memulai #
Berkas b1_00_python_dasar.py memuat lima hal dasar dalam 33 baris. Bab ini membedah bagian pertamanya. Empat bagian sisanya muncul di Bab 5, 6, dan 7.
Tujuan. Menyimpan nama dan luas petak, lalu menampilkannya dalam satu kalimat.
Bahan. Tidak ada. Skrip ini tidak memakai QGIS dan tidak membaca berkas data.
Skrip (bagian pertama):
# 1. Variabel: kotak bernama yang menyimpan nilai
nama = "KPH Alpha"
luas_ha = 4.0
print(nama, "luasnya", luas_ha, "ha")Penjelasan baris demi baris. Nomor baris dihitung dari potongan di atas.
| Baris | Tulisan | Artinya |
|---|---|---|
| 1 | # 1. Variabel: ... | Komentar. Python melewatinya. Isinya catatan untuk Anda. |
| 2 | nama = "KPH Alpha" | Buat kotak bernama nama, isi dengan teks KPH Alpha. Tanda kutip menandakan ini teks. |
| 3 | luas_ha = 4.0 | Buat kotak bernama luas_ha, isi dengan angka desimal 4.0. Akhiran "ha" hanya bagian dari nama. Python tidak tahu artinya. |
| 4 | print(nama, "luasnya", luas_ha, "ha") | Tampilkan empat hal berurutan, dipisah spasi: isi nama, teks luasnya, isi luas_ha, dan teks ha. |
Hasil. Satu baris di layar:
KPH Alpha luasnya 4.0 haBagian yang boleh diubah.
- Isi
nama: ganti menjadi"KPH Beta". Layar menampilkan nama baru. - Isi
luas_ha: ganti menjadi8.0atau12.5. Layar menampilkan luas baru. - Nama kotak:
namaboleh digantinama_petak. Ganti di semua baris yang memakainya, termasuk barisprint. - Kata di dalam kutip pada
print: ganti"luasnya"menjadi"memiliki luas".
Aturan nama kotak: pakai huruf kecil, boleh ada angka (tetapi bukan di awal), dan pakai garis bawah _ sebagai pengganti spasi. Python membedakan huruf besar dan kecil.
Jebakan.
- Huruf besar dan kecil. Menulis
print(Nama)menghasilkanNameError: name 'Nama' is not defined. Artinya Python tidak menemukan kotak bernamaNama. - Lupa tanda kutip. Menulis
teks = KPH AlphamenghasilkanSyntaxError: invalid syntax. Python mengiraKPHdanAlphaadalah nama kotak. - Koma sebagai desimal. Menulis
luas_ha = 4,0tidak menimbulkan galat. Tetapi isinya menjadi pasangan(4, 0), bukan angka4.0. Python membaca koma sebagai pemisah.
Latihan variasi. Ubah skrip untuk KPH Gamma, luas 8.0 hektare, dan tambahkan variabel ketiga bernama jenis berisi "Jati". Tampilkan ketiganya dalam satu kalimat.
Contoh jawaban:
nama = "KPH Gamma"
luas_ha = 8.0
jenis = "Jati"
print(nama, "luasnya", luas_ha, "ha, jenis", jenis)Layar menampilkan KPH Gamma luasnya 8.0 ha, jenis Jati.
Cek paham #
- Apa isi kotak
luas_hasetelah barisluas_ha = 6.5dijalankan? - Mengapa
"KPH Alpha"memakai tanda kutip, sedangkannamatidak? - Apa yang terjadi bila Anda menulis
print(Nama), padahal kotaknya bernamanama?
Jawaban.
- Isinya
6.5. Nilai lama4.0tergantikan dan tidak tersimpan lagi. - Tanda kutip menandakan teks. Tanpa kutip, Python mengira itu nama sebuah kotak.
- Python menampilkan
NameError, karena huruf besar dan kecil dianggap berbeda. KotakNamatidak ada.
Kesalahan umum #
- Menulis desimal dengan koma. Perbaikan: pakai titik, misalnya
4.0. - Lupa kutip pada teks. Perbaikan: apit teks dengan tanda kutip ganda di awal dan akhir.
- Memberi nama kotak dengan spasi, misalnya
luas ha = 4.0. Python menolaknya. Perbaikan: pakai garis bawah, yaituluas_ha.
Ringkasan dan latihan #
- Variabel adalah kotak bernama yang berisi satu nilai. Isinya boleh diganti.
- Tiga jenis nilai awal: teks, bilangan bulat, dan bilangan desimal.
- Perintah
printmenampilkan nilai di layar. Tanda#membuat komentar. - Huruf besar dan kecil dibedakan. Desimal memakai titik.
Latihan. Buat tiga variabel untuk KPH Beta: nama, luas dalam hektare, dan jenis tanaman. Tampilkan ketiganya dalam satu kalimat dengan print. Lalu ubah luasnya dan jalankan lagi.
Tabel perbandingan: tiga jenis nilai #
| Jenis | Contoh | Nama di Python | Bisa dihitung? |
|---|---|---|---|
| Teks | "KPH Alpha" | str | Tidak dihitung, hanya bisa disambung dengan + |
| Bilangan bulat | 2008 | int | Ya |
| Bilangan desimal | 4.0 | float | Ya |