Saya masih ingat, minggu lalu di kelas XII RPL 2, ada siswa yang mengetik 2 + 2 di terminal Python lalu bertanya, “Pak, kenapa nggak keluar 4? Cuma nongol 4 doang, nggak ada kata ‘hasilnya adalah’?”
Saya tersenyum. Dia berharap komputer menjawab seperti manusia. Padahal komputer cuma paham simbol.
Ingat: Python tidak “bicara” bahasa kita. Dia bicara lewat operator — simbol-simbol kecil yang membawa kekuatan besar. Kalian yang harus belajar bahasa dia, bukan sebaliknya.
Kali ini kita tidak cuma hitung. Kita belajar berpikir seperti mesin — logis, berurutan, dan tidak kenal “mungkin”.
1. Operator Aritmatika — Matematika yang Kalian Kenal, Tapi Bedah Sedikit
Buka terminal atau VS Code. Ketik ini:
# operator_aritmatika.py
# File ini menunjukkan operator matematika dasar di Python
a = 17
b = 5
print("=== Operator Aritmatika ===")
print(f"a = {a}, b = {b}")
print()
print(f"Penjumlahan : a + b = {a + b}")
print(f"Pengurangan : a - b = {a - b}")
print(f"Perkalian : a * b = {a * b}")
print(f"Pembagian : a / b = {a / b}") # Hasil selalu float
print(f"Pembagian Bulat : a // b = {a // b}") # Buang koma, ambil bulat
print(f"Modulus (Sisa) : a % b = {a % b}") # Sisa bagi
print(f"Pangkat : a ** b = {a ** b}") # 17 pangkat 5Jalankan. Lihat perbedaan / dan //. Itu yang sering bikin siswa binggu di Ujian Praktik.
Catatan dari meja guru:
Operator//dan%itu sahabat karib kalian saat bikin program genap/ganjil, detik ke jam, atau paginasi. Hafal bukan, tapi paham kapan dipakai.
2. Prioritas Operator — Siapa yang Dikerjakan Duluh?
Ingat jaman SD? Kali bagi dulu, baru tambah kurang. Python juga begitu. Tapi dia punya aturan sendiri yang lebih lengkap.
Coba tebak hasil ini sebelum jalankan:
# prioritas_operator.py
# Uji apakah kalian paham urutan eksekusi
hasil = 10 + 3 * 2 ** 2 - 8 // 4 % 3
print(f"10 + 3 * 2 ** 2 - 8 // 4 % 3 = {hasil}")
# Mari pecah manual:
# 1. ** -> 2 ** 2 = 4
# 2. * / // % -> 3 * 4 = 12, 8 // 4 = 2, 2 % 3 = 2
# 3. + - -> 10 + 12 - 2 = 20
print("\n--- Dengan Kurung (Eksplisit) ---")
hasil_kurung = 10 + (3 * (2 ** 2)) - ((8 // 4) % 3)
print(f"Hasil pakai kurung: {hasil_kurung}")Output:
10 + 3 * 2 ** 2 - 8 // 4 % 3 = 20.0
--- Dengan Kurung (Eksplisit) ---
Hasil pakai kurung: 20Tips Pak Rifqi:
Jangan hafal tabel prioritas. Pakai kurung()kalau ragu. Kurung itu gratis, tapi kebingungan mahal.
Kode yang jelas > kode yang pintar tapi membingungkan.
3. Operator Perbandingan — Menanya “Benar atau Salah?”
Python punya jawaban biner: True atau False. Tidak ada “gak yakin”, “mungkin”, “entar”.
# operator_perbandingan.py
# Membandingkan nilai — hasilnya selalu Boolean
nilai_ujian = 78
kkm = 75
print("=== Operator Perbandingan ===")
print(f"Nilai: {nilai_ujian}, KKM: {kkm}")
print()
print(f"Lebih dari (>) : {nilai_ujian > kkm}") # True
print(f"Kurang dari (<) : {nilai_ujian < kkm}") # False
print(f"Lebih dari sama (>=) : {nilai_ujian >= kkm}") # True
print(f"Kurang dari sama (<=) : {nilai_ujian <= kkm}") # False
print(f"Sama dengan (==) : {nilai_ujian == kkm}") # False
print(f"Tidak sama (!=) : {nilai_ujian != kkm}") # TruePeringatan Kelas XII:
=itu assignment (isi variabel).==itu perbandingan (tanya sama tidak).
Saya sudah berkali-kali lihat siswa nulisif nilai = 100:lalu bingung kenapa error.
Satu tanda sama dengan = perintah. Dua tanda sama dengan = pertanyaan.
4. Operator Logika — Menggabungkan Pertanyaan
Hidup itu penuh keputusan bersyarat. “Kalau hujan DAN saya punya payung, saya keluar.” Python paham and, or, not.
# operator_logika.py
# Logika untuk keputusan kompleks
hujan = True
punya_payung = False
cuaca_cerah = not hujan # Kebalikan
print("=== Operator Logika ===")
print(f"Hujan: {hujan}, Punya Payung: {punya_payung}")
print()
# AND -> keduanya harus True
keluar_and = hujan and punya_payung
print(f"Hujan AND Punya Payung -> Keluar? {keluar_and}") # False
# OR -> salah satu True sudah cukup
keluar_or = hujan or punya_payung
print(f"Hujan OR Punya Payung -> Keluar? {keluar_or}") # True
# NOT -> balikkan
print(f"NOT Hujan (Cerah)? {cuaca_cerah}") # FalseMetafora kecil:
anditu kayak orang tua keduanya harus setuju kalau mau keluar malam.oritu kayak cukup satu orang tua izinkan, sudah bisa.notitu membalik dunia — hujan jadi cerah, benar jadi salah.
5. Praktik Nyata: Kalkulator Sederhana — Gabungin Semua
Sekarang kita buat sesuatu yang bisa dipakai. Bukan cuma print di layar.
# kalkulator_sederhana.py
# Kalkulator CLI sederhana — pakai semua operator yang sudah dipelajari
def tampilkan_menu():
print("\n" + "=" * 35)
print(" KALKULATOR PYTHON SEDERHANA")
print("=" * 35)
print("1. Penjumlahan (+)")
print("2. Pengurangan (-)")
print("3. Perkalian (*)")
print("4. Pembagian (/)")
print("5. Pembagian Bulat (//)")
print("6. Modulus (%)")
print("7. Pangkat (**)")
print("0. Keluar")
print("-" * 35)
def ambil_angka(pesan):
"""Minta input angka, ulang kalau bukan angka"""
while True:
try:
return float(input(pesan))
except ValueError:
print(" > Input harus berupa angka. Coba lagi.")
def hitung(angka1, angka2, operator):
"""Lakukan operasi sesuai pilihan"""
if operator == '1':
return angka1 + angka2, '+'
elif operator == '2':
return angka1 - angka2, '-'
elif operator == '3':
return angka1 * angka2, '*'
elif operator == '4':
if angka2 == 0:
return "Error: Tidak bisa dibagi nol", '/'
return angka1 / angka2, '/'
elif operator == '5':
if angka2 == 0:
return "Error: Tidak bisa dibagi nol", '//'
return angka1 // angka2, '//'
elif operator == '6':
if angka2 == 0:
return "Error: Modulus nol tidak terdefinisi", '%'
return angka1 % angka2, '%'
elif operator == '7':
return angka1 ** angka2, '**'
else:
return None, ''
# Program utama
print("Selamat datang di Kalkulator Python!")
while True:
tampilkan_menu()
pilihan = input("Pilih operasi (0-7): ").strip()
if pilihan == '0':
print("\nTerima kasih sudah pakai kalkulator ini. Sampai jumpa!")
break
if pilihan not in ['1', '2', '3', '4', '5', '6', '7']:
print(" > Pilihan tidak valid. Pilih 0-7.")
continue
a = ambil_angka("Masukkan angka pertama: ")
b = ambil_angka("Masukkan angka kedua: ")
hasil, simbol = hitung(a, b, pilihan)
if isinstance(hasil, str): # Error message
print(f"\n ⚠ {hasil}")
else:
print(f"\n Hasil: {a} {simbol} {b} = {hasil}")Coba jalankan. Mainkan. Coba bagi nol. Coba masukkan huruf saat minta angka. Lihat bagaimana try-except dan if melindungi program.
Pengalaman nyata:
Siswa saya bikin ini lalu dibawa ke Project Akhir Semester. Dia tambahkan history kalkulasi pakailist. Nilai A, tapi yang lebih penting — dia bangga.
Kode pertama yang “bermanfaat” bagi orang lain, itu yang bikin kalian jatuh cinta pada pemrograman.
Penutup: Simbol Kecil, Kekuatan Besar
Operator itu seperti kata kunci dalam percakapan dengan mesin. + bukan cuma tambah. Itu perintah: “Jumlahkan.” == bukan cuma tanda sama dengan. Itu pertanyaan: “Apakah sama?”
Kalian baru belajar menanya. Nanti kalian belajar memerintahkan — if, for, while, fungsi, kelas. Tapi fondasinya tetap sama: logika yang jujur, urut, dan tidak berbelit.
Mesin tidak peduli seberapa keren kalian. Dia hanya peduli: apakah instruksi kalian jelas?
Besok kita bahas Struktur Kontrol (if, elif, else) — di mana operator perbandingan dan logika hari ini jadi penentu nasib alur program.
Siapkan kopi. Atau teh manis. Yang pasti, bawa logika kalian.
→ Lanjut ke Bagian 4: Percabangan & Keputusan (if-elif-else)
Saya menunggu di kolom komentar kalau ada yang error, bingung, atau cuma mau bilang “Pak, kalkulatornya jalan!”