Dalam dunia pemrograman, struktur perulangan (loop) adalah fondasi penting untuk menjalankan blok kode secara berulang kali tanpa perlu menulis ulang instruksi. Salah satu struktur perulangan paling mendasar dan fleksibel di Python adalah while loop. Memahami cara kerja dan kapan harus menggunakannya sangat krusial bagi setiap programmer Python.
Konstruksi while loop di Python bekerja berdasarkan sebuah kondisi Boolean (True atau False). Selama kondisi yang diberikan bernilai True, blok kode di dalam loop akan terus dieksekusi. Begitu kondisi tersebut menjadi False, eksekusi loop akan berhenti, dan program akan melanjutkan ke baris kode berikutnya setelah loop tersebut.
Berbeda dengan for loop yang biasanya digunakan ketika jumlah iterasi sudah diketahui (misalnya, mengulang sebanyak item dalam list), while loop ideal digunakan ketika kita tidak yakin berapa kali perulangan harus terjadi, tetapi kita tahu kapan perulangan itu harus berakhir (yaitu, ketika suatu kondisi terpenuhi).
Sintaks dasar dari while loop sangat sederhana:
inisialisasi_variabel
while kondisi_boolean:
# Blok kode yang akan diulang
perubahan_variabel_untuk_menghentikan_loop
Ini adalah contoh paling umum, di mana kita menggunakan variabel penghitung yang terus bertambah hingga mencapai batas yang ditentukan.
hitung = 0
batas_atas = 5
while hitung < batas_atas:
print(f"Iterasi ke: {hitung}")
hitung += 1 # Penting: Harus ada perubahan variabel agar loop tidak tak terbatas
print("Loop selesai.")
Output dari kode di atas akan mencetak angka dari 0 hingga 4. Jika baris hitung += 1 dihilangkan, kita akan mengalami infinite loop (loop tak terbatas), karena kondisi hitung < 5 akan selalu bernilai True.
while loop yang dapat mengubah kondisi menjadi False. Jika tidak, program Anda akan terus berjalan tanpa henti.
Untuk lebih memahami alur kerjanya, berikut adalah representasi visual dari proses yang terjadi dalam sebuah while loop:
Kekuatan sebenarnya dari while loop muncul saat kita menggunakannya untuk menunggu input yang valid dari pengguna. Kita akan terus meminta input sampai pengguna memasukkan nilai yang benar.
password = ""
while password != "rahasia123":
password = input("Masukkan kata sandi: ")
if password != "rahasia123":
print("Kata sandi salah. Coba lagi.")
print("Akses Diberikan.")
Dalam skenario ini, kita tidak tahu pasti berapa kali pengguna akan gagal memasukkan kata sandi. Loop akan terus berjalan (kondisi password != "rahasia123" adalah True) hingga pengguna akhirnya mengetikkan kata sandi yang benar, menyebabkan kondisi menjadi False.
Kita dapat memodifikasi perilaku loop menggunakan dua keyword khusus:
break: Menghentikan eksekusi loop secara paksa, bahkan jika kondisi while masih True.continue: Melompati sisa kode di dalam iterasi saat ini dan langsung menuju pengecekan kondisi berikutnya.Kita akan mengulang sampai 10, tetapi memaksa berhenti pada iterasi ke-3.
i = 0
while i < 10:
print(f"Sedang memproses angka {i}")
if i == 3:
print("Ditemukan angka kritis (3), berhenti segera.")
break
i += 1
Dengan memahami konsep inisialisasi, kondisi, dan perubahan variabel, Anda telah menguasai dasar-dasar while loop. Struktur ini menawarkan kontrol yang sangat granular atas aliran eksekusi program Anda ketika jumlah pengulangan tidak dapat diprediksi di awal.