- Bab 3 dari 11
- 30 menit
- 1 latihan kode
- 4 soal kuis
Variabel, Tipe Data, dan Operator
Di bab ini (7 bagian)
Tujuan bab ini
- Membuat variabel dengan nama yang sah dan mudah dibaca.
- Membedakan tipe
int,float,str,bool, danNone, lalu mengeceknya dengantype(). - Mengubah tipe data dengan
int(),float(),str(), danbool(). - Memakai operator aritmatika, perbandingan, logika, dan penugasan.
Variabel: label untuk sebuah nilai
Variabel adalah nama yang menunjuk ke sebuah nilai. Bayangkan stiker nama yang kamu tempel di toples: toplesnya berisi gula, stikernya bertuliskan gula. Saat kamu menyebut gula, Python tahu toples mana yang dimaksud.
Output:
Tanda = di Python bukan "sama dengan" seperti di matematika. Artinya "simpan nilai di kanan ke nama di kiri". Karena itu umur = umur + 1 sah: hitung dulu umur + 1, lalu simpan hasilnya kembali ke umur.
Python tidak butuh deklarasi tipe. Kamu tidak menulis int umur = 17 seperti di Java atau C. Tipe ditentukan dari nilainya.
Aturan nama variabel
| Aturan | Sah | Tidak sah |
|---|---|---|
| Diawali huruf atau underscore | nilai, _total | 1nilai |
| Hanya huruf, angka, underscore | nilai_akhir2 | nilai-akhir, nilai akhir |
| Bukan kata kunci Python | kelas | class, if, for |
| Case sensitive | Nama dan nama itu berbeda | - |
Konvensinya (PEP 8): pakai snake_case, huruf kecil dengan underscore, misalnya total_harga. Pilih nama yang menjelaskan isinya. total_harga jauh lebih jelas daripada th.
Tipe data dasar
| Tipe | Keterangan | Contoh |
|---|---|---|
int | Bilangan bulat | umur = 17 |
float | Bilangan desimal (pakai titik, bukan koma) | tinggi = 165.5 |
str | Teks | nama = "Ani" |
bool | Benar atau salah | lulus = True |
NoneType | Tidak ada nilai | data = None |
Ada juga list (kumpulan berurutan, [80, 90]) dan dict (pasangan kunci dan nilai, {"nama": "Ani"}). Keduanya dibahas di bagian struktur data.
Perhatikan: True, False, dan None diawali huruf kapital. true huruf kecil akan dianggap nama variabel yang belum ada.
None artinya "belum ada isinya", berbeda dengan 0 atau "". Misalnya nilai ujian yang belum keluar lebih tepat disimpan sebagai None daripada 0, karena 0 berarti nilainya memang nol.
Mengecek tipe dengan type()
Output:
17 dan "17" terlihat mirip, tapi yang kedua adalah teks karena diapit kutip. Ini sumber bug paling sering bagi pemula.
Konversi tipe
Kadang kamu perlu mengubah tipe, misalnya teks "25" menjadi angka agar bisa dijumlah.
Output:
Catatan penting: int(9.99) memotong bagian desimal, bukan membulatkan, jadi hasilnya 9. Lalu int("abc") atau int("2.5") akan error ValueError karena teksnya bukan bilangan bulat yang sah. Untuk bool(), nilai "kosong" seperti 0, "", dan None menjadi False, sisanya True.
Operator
Aritmatika
| Operator | Arti | Contoh | Hasil |
|---|---|---|---|
+ - * | Tambah, kurang, kali | 4 * 3 | 12 |
/ | Bagi (selalu float) | 17 / 5 | 3.4 |
// | Bagi bulat (dibulatkan ke bawah) | 17 // 5 | 3 |
% | Sisa bagi (modulo) | 17 % 5 | 2 |
** | Pangkat | 2 ** 3 | 8 |
Analogi // dan %: kamu punya 17 permen untuk 5 teman. Tiap teman dapat 17 // 5 = 3 permen, sisanya 17 % 5 = 2 permen. Trik populer: n % 2 == 0 berarti n genap.
Ingat juga bahwa / selalu menghasilkan float, bahkan 10 / 2 hasilnya 5.0, bukan 5. Urutan hitungnya sama seperti matematika: ** dulu, lalu * / // %, baru + -. Pakai tanda kurung kalau ragu.
Operator pada teks
Beberapa operator juga bekerja pada str, tapi artinya berbeda. + menyambung teks, dan * mengulang teks.
Output:
Jadi operator yang sama bisa berperilaku lain tergantung tipe datanya. 5 + 5 hasilnya 10, sedangkan "5" + "5" hasilnya "55". Inilah alasan kamu perlu selalu tahu tipe setiap variabel. Fungsi len() di atas menghitung jumlah karakter, termasuk spasi.
Perbandingan dan logika
Operator perbandingan (==, !=, >, <, >=, <=) selalu menghasilkan True atau False. Operator logika menggabungkannya:
and:Truehanya jika keduanya benar.or:Truejika salah satu benar.not: membalik nilai.
Output:
Baris a, b = 17, 5 mengisi dua variabel sekaligus.
Penugasan
Operator penugasan gabungan adalah singkatan:
Output:
Kesalahan umum
- Memakai
=untuk membandingkan.if umur = 17error; yang benar==. - Menjumlah teks dengan angka.
"5" + 3menghasilkanTypeError. Ubah dulu:int("5") + 3. - Menulis desimal dengan koma.
1,5di Python adalah dua nilai (tuple), bukan satu setengah. Tulis1.5. - Mengira
int()membulatkan.int(2.9)hasilnya2. Pakairound()kalau ingin membulatkan. - Menulis
trueataunonedengan huruf kecil.
Rangkuman
- Variabel adalah nama untuk nilai;
=berarti menyimpan, bukan membandingkan. - Nama variabel diawali huruf atau underscore, tanpa spasi, case sensitive, dan sebaiknya snake_case.
- Tipe dasar:
int,float,str,bool,None; cek dengantype(), ubah denganint(),float(),str(),bool(). /selalu float,//bagi bulat,%sisa bagi,**pangkat.- Perbandingan menghasilkan bool,
andornotmenggabungkan kondisi,+=dan kawannya menyingkat penugasan.
Slide 11 sampai 13 dari deck Pemrograman Python: Dari Nol sampai Proyek Mini. Penjelasan lengkapnya ada di mode Baca.

Selesaikan bab ini
- 1. Baca materi
- 2. Latihan kode (1)
- 3. Kuis (4 soal)
Latihan kode: Bagi permen dan cek tiket
Lengkapi tiga fungsi:
bagi_permen(permen, teman)mengembalikan dua nilai: jatah tiap teman dan sisa permen. Contoh:bagi_permen(17, 5)menghasilkan(3, 2). Petunjuk:return a, b.adalah_genap(n)mengembalikanTruebilangenap, selain ituFalse. Pakai%.boleh_masuk(umur, punya_tiket)mengembalikanTruehanya jika umur minimal 17 dan punya tiket.
Cek pemahaman
1Nama variabel mana yang sah di Python?
2Apa yang ditampilkan kode berikut?
a, b = 17, 5 print(a // b, a % b)3Apa hasil dari int(9.99)?
4Ekspresi "5" + 3 menghasilkan 8.
