Memahami Struktur dan Penggunaan Contoh Program While Python

Struktur perulangan (looping) adalah fondasi penting dalam pemrograman. Salah satu struktur perulangan yang paling mendasar dan fleksibel dalam Python adalah pernyataan while. Berbeda dengan perulangan for yang biasanya beriterasi berdasarkan urutan (seperti elemen dalam list), perulangan while akan terus berjalan selama kondisi yang diberikan bernilai True.

Memahami cara kerja while sangat krusial bagi pengembang, terutama ketika kita perlu mengulang sebuah blok kode sampai kriteria tertentu terpenuhi, tanpa mengetahui secara pasti berapa banyak iterasi yang akan terjadi.

Kondisi True? Eksekusi Blok Kembali

Ilustrasi Alur Kerja Perulangan While

Sintaks Dasar Program While

Sintaks paling sederhana melibatkan kata kunci while diikuti oleh sebuah ekspresi boolean (kondisi), dan diakhiri dengan titik dua. Blok kode yang akan diulang harus diindentasi.


# Inisialisasi variabel kontrol
hitungan = 0

while hitungan < 5:
    print(f"Iterasi saat ini: {hitungan}")
    # Penting: Perbarui variabel kontrol agar loop berhenti
    hitungan = hitungan + 1

print("Loop selesai.")
        

Contoh Program While Python: Menghitung Mundur

Contoh ini menunjukkan bagaimana menggunakan while untuk membuat hitungan mundur. Ini adalah kasus klasik di mana kita tahu titik awal (misalnya 10) dan titik akhir (0).


angka_awal = 10
print("Memulai Hitung Mundur...")

while angka_awal > 0:
    print(angka_awal)
    angka_awal -= 1 # Sama dengan angka_awal = angka_awal - 1

print("Luncurkan!")
        
Perhatian Penting: Jika Anda lupa atau salah memperbarui variabel yang digunakan dalam kondisi while (seperti hitungan atau angka_awal di atas), maka kondisi tersebut akan selalu bernilai True, menyebabkan apa yang disebut sebagai "Infinite Loop" (Perulangan Tak Terbatas), yang dapat membuat program Anda macet.

Menggunakan While dengan Input Pengguna

Salah satu kegunaan paling umum dari while adalah untuk memvalidasi atau menunggu input spesifik dari pengguna. Loop akan terus berjalan hingga pengguna memasukkan data yang diinginkan.


kata_kunci = ""
batas_kata = "keluar"

while kata_kunci != batas_kata:
    kata_kunci = input("Ketik 'keluar' untuk menghentikan program: ").lower()
    if kata_kunci != batas_kata:
        print(f"Anda mengetik: {kata_kunci}. Silakan coba lagi.")

print("Terima kasih telah menggunakan program!")
        

Mengontrol Alur While dengan Break dan Continue

Dua kata kunci tambahan sangat berguna di dalam loop: break dan continue.

Contoh Break dan Continue

Berikut adalah contoh di mana kita ingin memproses angka dari 1 hingga 10, tetapi kita ingin melewatkan angka 5 (continue) dan berhenti total jika mencapai 8 (break).


i = 0
while i < 10:
    i += 1
    
    if i == 5:
        print("Melewati angka 5.")
        continue # Langsung ke iterasi berikutnya

    if i == 8:
        print("Mencapai batas berhenti.")
        break # Keluar dari loop

    print(f"Memproses angka: {i}")
        

Alternatif: While True (Loop Tak Terbatas yang Dikontrol)

Seringkali, programmer menggunakan while True: untuk membuat loop yang secara inheren tidak terbatas, namun logika penghentiannya (menggunakan break) ditempatkan di dalam blok kode. Ini sering lebih bersih untuk logika kompleks yang melibatkan banyak kondisi keluar.


while True:
    user_input = input("Masukkan angka (atau 'stop'): ")
    
    if user_input == 'stop':
        print("Menghentikan loop dengan break.")
        break
    
    try:
        angka = int(user_input)
        print(f"Anda memasukkan angka kuadrat: {angka ** 2}")
    except ValueError:
        print("Input tidak valid. Harap masukkan angka atau 'stop'.")
        # Kita tidak menggunakan 'continue' di sini, jadi loop akan berlanjut meskipun ada error, sampai 'stop' dimasukkan.
        

Secara keseluruhan, perulangan while adalah alat yang ampuh untuk kontrol iterasi berbasis kondisi. Penguasaan kapan harus menggunakan while dibandingkan for, serta kehati-hatian dalam mengelola variabel kontrol, adalah kunci untuk menulis kode Python yang efisien dan bebas bug.