Learn
← Previous Next →

Hari 7: while, break, continue & pass

55 min Last updated 26 Mar 2026

while Loop

Berjalan selama kondisi bernilai True. Cocok saat jumlah iterasi tidak diketahui.

n = 1
while n <= 5:
    print(f"Iterasi ke-{n}")
    n += 1

# Hati-hati infinite loop!
# while True:
#     print("loop selamanya")  # jangan lakukan ini tanpa break

break — Hentikan Loop

# Tebak angka
import random
rahasia = 42

percobaan = 0
tebakan   = 0
while tebakan != rahasia:
    tebakan = int(input("Tebak angka (1-100): "))
    percobaan += 1
    if tebakan < rahasia:
        print("Terlalu kecil!")
    elif tebakan > rahasia:
        print("Terlalu besar!")
    else:
        print(f"Benar! Butuh {percobaan} percobaan.")
        break

continue — Lewati Iterasi Ini

# Tampilkan angka ganjil saja
for i in range(1, 11):
    if i % 2 == 0:
        continue   # lewati angka genap
    print(i, end=" ")  # 1 3 5 7 9

print()

# Filter nilai valid
nilai_input = [85, -5, 92, 101, 78, 0, 65]
nilai_valid = []
for v in nilai_input:
    if v < 0 or v > 100:
        print(f"Nilai {v} tidak valid, dilewati")
        continue
    nilai_valid.append(v)
print("Nilai valid:", nilai_valid)

pass — Placeholder Kosong

# pass digunakan sebagai placeholder
# agar kode tetap valid secara sintaks

for i in range(5):
    if i == 3:
        pass   # TODO: tambahkan logika di sini
    print(i)

# Juga berguna di class/fungsi kosong
class KosongDulu:
    pass

def fungsi_belum_selesai():
    pass

while + else

i = 0
while i < 5:
    print(i)
    i += 1
else:
    print("Loop selesai normal")  # dijalankan jika tidak ada break

Assignment

Simulasikan ATM sederhana. Saldo awal Rp 1.000.000. User bisa tarik uang berkali-kali hingga saldo habis atau mengetik 0 untuk keluar. Setiap transaksi tampilkan sisa saldo.

Expected output:

Selamat datang! Saldo Anda: Rp 1,000,000
PY main.py
Solution
Output