Kontrol alur menentukan kapan dan berapa kali sebuah blok kode dijalankan. Ini adalah fondasi logika pemrograman.
Percabangan: if / elif / else
nilai = 78
if nilai >= 90:
print("A - Sangat Baik")
elif nilai >= 80:
print("B - Baik")
elif nilai >= 70:
print("C - Cukup")
else:
print("D - Kurang")
# Output: C - Cukup
Operator Perbandingan
x = 10
print(x == 10) # True (sama dengan)
print(x != 5) # True (tidak sama)
print(x > 8) # True (lebih besar)
print(x <= 10) # True (kurang dari atau sama)
Operator Logika
umur = 20
punya_sim = True
# and: keduanya harus True
if umur >= 17 and punya_sim:
print("Boleh mengemudi")
# or: salah satu cukup True
saldo = 0
voucher = True
if saldo > 0 or voucher:
print("Bisa checkout")
# not: membalik nilai boolean
is_banned = False
if not is_banned:
print("Akun aktif")
Ternary (satu baris)
status = "dewasa" if umur >= 18 else "anak-anak"
print(status) # dewasa
Perulangan: for
for dipakai ketika kamu tahu berapa kali iterasi.
Iterasi List
bahasa = ["Python", "JavaScript", "Rust"]
for b in bahasa:
print(f"Belajar {b}")
# Output:
# Belajar Python
# Belajar JavaScript
# Belajar Rust
range()
# range(stop)
for i in range(5):
print(i) # 0, 1, 2, 3, 4
# range(start, stop)
for i in range(1, 6):
print(i) # 1, 2, 3, 4, 5
# range(start, stop, step)
for i in range(0, 20, 5):
print(i) # 0, 5, 10, 15
enumerate() — index + nilai sekaligus
menu = ["Nasi Goreng", "Mie Ayam", "Soto"]
for nomor, item in enumerate(menu, start=1):
print(f"{nomor}. {item}")
# Output:
# 1. Nasi Goreng
# 2. Mie Ayam
# 3. Soto
Iterasi Dictionary
harga = {"apel": 5000, "mangga": 8000, "jeruk": 4000}
for buah, harga_satuan in harga.items():
print(f"{buah}: Rp{harga_satuan:,}")
Perulangan: while
while dipakai ketika kondisi berhenti belum diketahui dari awal.
# Hitung mundur
detik = 5
while detik > 0:
print(f"Mulai dalam {detik}...")
detik -= 1
print("🚀 Liftoff!")
Contoh: validasi input
while True:
jawaban = input("Ketik 'ya' untuk melanjutkan: ")
if jawaban.lower() == "ya":
break
print("Input tidak valid, coba lagi.")
print("Melanjutkan...")
break, continue, pass
angka = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for n in angka:
if n == 6:
break # hentikan loop sepenuhnya
if n % 2 == 0:
continue # skip iterasi ini, lanjut ke berikutnya
print(n)
# Output: 1, 3, 5
# pass: placeholder — tidak melakukan apa-apa
for i in range(3):
pass # akan diisi nanti
List Comprehension
Cara ringkas membuat list baru dari list lain:
# Cara biasa
kuadrat = []
for i in range(1, 6):
kuadrat.append(i ** 2)
# List comprehension (lebih Pythonic)
kuadrat = [i ** 2 for i in range(1, 6)]
print(kuadrat) # [1, 4, 9, 16, 25]
# Dengan kondisi
genap = [i for i in range(1, 11) if i % 2 == 0]
print(genap) # [2, 4, 6, 8, 10]
# Ubah semua string jadi uppercase
buah = ["apel", "mangga", "jeruk"]
besar = [b.upper() for b in buah]
print(besar) # ['APEL', 'MANGGA', 'JERUK']
Contoh Kasus Nyata
# Mencari nilai tertinggi dan terendah
nilai_ujian = [75, 88, 62, 95, 71, 83]
tertinggi = max(nilai_ujian)
terendah = min(nilai_ujian)
rata_rata = sum(nilai_ujian) / len(nilai_ujian)
print(f"Tertinggi : {tertinggi}")
print(f"Terendah : {terendah}")
print(f"Rata-rata : {rata_rata:.1f}")
# Hitung berapa yang lulus (nilai >= 70)
lulus = sum(1 for n in nilai_ujian if n >= 70)
print(f"Lulus: {lulus}/{len(nilai_ujian)} siswa")
Kesimpulan
| Konstruksi | Kapan digunakan |
|---|---|
if/elif/else | Pengambilan keputusan berdasarkan kondisi |
for | Iterasi data dengan jumlah pasti |
while | Iterasi sampai kondisi terpenuhi |
break | Hentikan loop lebih awal |
continue | Lewati iterasi saat ini |
| List comprehension | Transformasi list secara ringkas |
Artikel selanjutnya: Fungsi di Python — cara mengemas logika agar bisa dipakai ulang dengan def, parameter, dan return.