Python 'while' Loop: Perulangan Berbasis Kondisi
Python 'while' Loop: Perulangan Berbasis Kondisi
Pada artikel sebelumnya, kita telah membahas perulangan for yang sangat baik untuk melakukan iterasi pada sebuah urutan data yang sudah pasti jumlahnya. Namun, bagaimana jika kita ingin mengulang sebuah proses selama kondisi tertentu masih terpenuhi, tanpa tahu pasti berapa kali perulangan akan terjadi?
Untuk situasi seperti ini, Python menyediakan jenis perulangan kedua yang disebut while loop. Analogi sederhananya: "Selama (while) lampu lalu lintas masih merah, mobil harus berhenti." Perulangan "berhenti" terus berjalan bukan berdasarkan hitungan, melainkan berdasarkan kondisi "lampu masih merah".
Apa Itu Perulangan while? 🔄
Perulangan while akan terus mengeksekusi satu blok kode selama kondisi Boolean yang diberikan bernilai True. Struktur sebuah loop while yang umum biasanya terdiri dari tiga bagian:
- Inisialisasi: Variabel yang akan digunakan dalam kondisi disiapkan sebelum loop dimulai.
- Kondisi: Ekspresi Boolean yang diperiksa di awal setiap iterasi.
- Pembaruan (Update): Perubahan pada variabel di dalam loop agar suatu saat kondisi bisa bernilai
Falsedan loop berhenti.
# 1. Inisialisasi
hitungan = 1
while hitungan <= 5: # 2. Kondisi
print(f"Hitungan ke-{hitungan}")
hitungan = hitungan + 1 # 3. Pembaruan
print("Loop selesai!")Kapan Menggunakan while vs. for?
Ini adalah pertanyaan umum bagi pemula. Gunakan panduan sederhana ini:
- Gunakan
forloop jika Anda tahu persis berapa kali Anda ingin mengulang atau jika Anda ingin memproses setiap item dalam sebuah koleksi (misalnya, setiap item dalam List). - Gunakan
whileloop jika Anda ingin mengulang berdasarkan sebuah kondisi, di mana jumlah perulangannya tidak diketahui di awal. Contoh klasiknya adalah game tebak angka.
angka_rahasia = 7
tebakan = 0 # Inisialisasi dengan nilai yang salah
print("--- Game Tebak Angka (1-10) ---")
while tebakan != angka_rahasia:
tebakan = int(input("Masukkan tebakan Anda: "))
print("Selamat! Tebakan Anda benar!")Mengontrol Alur Loop: break dan continue
Kadang kala kita perlu mengubah perilaku standar loop. Python menyediakan dua perintah untuk ini:
break: Menghentikan paksa seluruh perulangan saat itu juga, bahkan jika kondisinya masihTrue.continue: Menghentikan iterasi saat ini dan langsung melompat ke awal iterasi berikutnya untuk memeriksa kondisi lagi.
# Contoh break: berhenti jika input adalah 'keluar'
while True: # Loop yang akan berjalan selamanya kecuali dihentikan
data = input("Masukkan data (ketik 'keluar' untuk berhenti): ")
if data == 'keluar':
break # Keluar dari loop
print(f"Data Anda: {data}")
# Contoh continue: hanya cetak bilangan ganjil
angka = 0
while angka < 10:
angka += 1
if angka % 2 == 0: # Jika bilangan genap
continue # Lewati sisa kode dan lanjut ke iterasi berikutnya
print(angka)Bahaya Loop Tak Terhingga (Infinite Loop) ♾️
Salah satu kesalahan paling umum saat menggunakan while adalah menciptakan infinite loop. Ini terjadi jika kondisi loop tidak pernah berubah menjadi False. Program Anda akan "terjebak" dan berjalan selamanya.
hitungan = 1
while hitungan <= 5:
print("Ini akan berjalan selamanya!")
# KESALAHAN: Tidak ada baris 'hitungan = hitungan + 1'Pastikan selalu ada sesuatu di dalam loop Anda yang pada akhirnya akan membuat kondisi berhenti terpenuhi.
Kesimpulan
Perulangan while adalah alat yang sangat kuat untuk menangani situasi di mana jumlah iterasi tidak dapat ditentukan di awal. Ia memberikan fleksibilitas untuk terus menjalankan kode selama sebuah kondisi logis terpenuhi. Dengan memahami cara kerjanya, perbedaannya dengan for, dan cara mengontrolnya dengan break dan continue, Anda dapat membuat program yang jauh lebih dinamis dan interaktif.

