Langsung ke konten
KamusNgoding
Pemula Python 1 menit baca

Percabangan dan Perulangan di Python

#python #if-else #for #while #loop #kondisi

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

KonstruksiKapan digunakan
if/elif/elsePengambilan keputusan berdasarkan kondisi
forIterasi data dengan jumlah pasti
whileIterasi sampai kondisi terpenuhi
breakHentikan loop lebih awal
continueLewati iterasi saat ini
List comprehensionTransformasi list secara ringkas

Artikel selanjutnya: Fungsi di Python — cara mengemas logika agar bisa dipakai ulang dengan def, parameter, dan return.

Artikel Terkait