Dalam pemrograman Python, perulangan (loop) adalah konstruksi fundamental yang memungkinkan kita mengeksekusi blok kode secara berulang kali selama kondisi tertentu terpenuhi. Salah satu jenis perulangan yang paling mendasar adalah while loop.
while loop bekerja berdasarkan prinsip kondisi Boolean. Selama kondisi yang diberikan dievaluasi menjadi True, blok kode di dalamnya akan terus dieksekusi. Begitu kondisi tersebut menjadi False, eksekusi loop akan berhenti dan program akan melanjutkan ke baris kode setelah loop.
Ini sangat berguna ketika kita tidak tahu pasti berapa kali perulangan harus terjadi, tetapi kita tahu kapan perulangan itu harus berhenti.
Sintaks untuk while loop sangat sederhana:
while kondisi_benar:
# Blok kode yang akan dieksekusi
# Pastikan ada mekanisme untuk mengubah kondisi menjadi False
True.Mari kita lihat contoh paling umum, yaitu menghitung mundur atau menghitung maju menggunakan variabel penghitung:
# Menghitung dari 1 sampai 5
angka = 1
while angka <= 5:
print(f"Angka saat ini: {angka}")
angka = angka + 1 # Increment (Penting untuk mengakhiri loop)
print("Loop selesai.")
Output dari kode di atas akan menampilkan angka 1 hingga 5 secara berurutan, dan kemudian mencetak "Loop selesai."
Kesalahan paling umum saat menggunakan while loop adalah lupa memperbarui variabel kondisi. Jika kondisi selalu bernilai True, Python akan terus menjalankan blok kode tanpa henti, yang dapat menyebabkan program hang atau kehabisan memori.
# CONTOH INFINITE LOOP (Hindari ini!)
x = 10
while x > 5:
print("Ini akan berjalan selamanya!")
# Variabel x tidak pernah diubah nilainya
Dalam situasi nyata, jika Anda menemukan infinite loop saat menjalankan skrip Python, Anda biasanya perlu menekan Ctrl + C di terminal untuk menghentikannya secara paksa.
Sama seperti for loop, while loop juga mendukung pernyataan kontrol:
breakbreak digunakan untuk menghentikan eksekusi loop secara tiba-tiba, meskipun kondisi utama while masih True.
hitung = 0
while True: # Kondisi selalu True
print(f"Iterasi ke-{hitung}")
hitung += 1
if hitung >= 3:
break # Keluar dari loop
continuecontinue digunakan untuk melewatkan sisa kode di dalam blok loop saat ini dan langsung melompat ke awal iterasi berikutnya (mengevaluasi ulang kondisi).
i = 0
while i < 5:
i += 1
if i % 2 == 0: # Jika i genap
continue # Lewati pencetakan
print(i) # Hanya mencetak angka ganjil
Kode di atas akan mencetak 1, 3, dan 5.
Python memungkinkan penambahan klausa else pada while loop. Blok else ini akan dieksekusi HANYA JIKA loop selesai secara normal (yaitu, kondisi utama menjadi False).
Jika loop dihentikan secara paksa menggunakan break, blok else tidak akan dieksekusi.
j = 0
while j < 3:
print(f"Dalam loop: {j}")
j += 1
else:
print("Loop selesai secara normal (kondisi menjadi False).")
while loop adalah alat yang sangat fleksibel. Penggunaannya sangat dominan dalam skenario di mana Anda perlu menunggu input pengguna, memproses data dari aliran yang tidak diketahui panjangnya, atau selama kondisi tertentu yang kompleks masih berlaku. Memahami cara mengelola kondisi keluar adalah kunci untuk menguasainya.