while, break, dan continue
for untuk “ulangi tiap item”. while untuk “ulangi sampai sesuatu terjadi” — misalnya sampai pengguna memasukkan jawaban yang benar.
Intisari
while kondisi:— blok diulang selama kondisinya masihTrue.- Sesuatu di dalam blok harus bisa membuat kondisi itu jadi salah, atau programmu tidak akan berhenti.
breakkeluar dari perulangan seketika.continuemelompat ke putaran berikutnya.- Pola paling umum:
while True:ditambahbreaksaat syarat berhenti tercapai. - Perulangan tak berujung dihentikan dengan Ctrl+C di terminal.
for versus while
| Pakai | Kalau | Contoh |
|---|---|---|
for | Jumlah putaran sudah diketahui | Proses 100 baris data, ulangi 5 kali |
while | Berhenti tergantung sesuatu yang belum terjadi | Tanya terus sampai jawabannya benar |
Kalau ragu, pakai for. Sebagian besar kebutuhan sehari-hari terpenuhi olehnya.
Bentuk dasar
hitung = 1
while hitung <= 5:
print(hitung)
hitung += 1 # ← tanpa baris ini, program tidak akan pernah berhenti
print("Selesai")
Alurnya: cek kondisi → kalau benar jalankan blok → kembali ke atas → cek lagi → dan seterusnya sampai kondisinya salah.
Perulangan tak berujung. Kalau kamu lupa hitung += 1, kondisinya selamanya benar
dan program mencetak 1 tanpa henti. Tekan Ctrl+C di terminal untuk memaksanya berhenti.
Ini bukan hal yang perlu ditakuti — semua orang pernah mengalaminya.
Kegunaan aslinya: menunggu input yang benar
jawab = ""
while jawab != "ya" and jawab != "tidak":
jawab = input("Lanjutkan? (ya/tidak) ").lower()
print(f"Kamu menjawab: {jawab}")
Ini yang tidak bisa dikerjakan for: kamu tidak tahu pengguna akan salah ketik berapa kali.
break — keluar sekarang juga
while True: # sengaja selamanya
perintah = input("Ketik perintah (atau 'keluar'): ")
if perintah == "keluar":
break # ← satu-satunya jalan keluar
print(f"Menjalankan: {perintah}")
print("Sampai jumpa")
Pola while True: + break ini sangat umum dan justru lebih jelas dibanding
memaksakan kondisi rumit di baris while. Syaratnya cuma satu: harus ada break yang
benar-benar bisa tercapai.
continue — lewati putaran ini saja
for angka in [1, -2, 3, -4, 5]:
if angka < 0:
continue # lompat ke item berikutnya
print(angka) # 1, 3, 5
| Efek | |
|---|---|
break | Keluar dari perulangan sepenuhnya |
continue | Batalkan sisa putaran ini, lanjut ke putaran berikutnya |
Keduanya bekerja di for maupun while.
Hati-hati continue di dalam while. Kalau baris penambah hitungan
ikut terlewat, kamu membuat perulangan tak berujung:
i = 0
while i < 5:
if i == 2:
continue # i tidak pernah bertambah → macet selamanya
print(i)
i += 1
Contoh utuh: tebak angka
import random
rahasia = random.randint(1, 100)
percobaan = 0
while True:
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! Dalam {percobaan} percobaan.")
break
Latihan: buat kalkulator sederhana yang terus meminta dua angka dan satu operator,
menampilkan hasilnya, lalu bertanya lagi — sampai pengguna mengetik selesai.
Pastikan pembagian dengan nol tidak membuat programmu mati (petunjuk: cek dengan if sebelum membagi).
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.