While loop adalah struktur kontrol di bahasa C yang menjalankan blok kode berulang kali selama kondisi yang diberikan bernilai benar. Jika kamu baru mulai belajar C, memahami while loop akan membantumu menulis program yang lebih dinamis, seperti membaca input berulang atau memproses data sampai batas tertentu. Panduan ini membahas sintaks dasar hingga contoh penerapannya langkah demi langkah.
Apa Itu While Loop?
While loop menjalankan blok kode selama kondisi yang ditentukan tetap true. For loop biasanya dipakai ketika jumlah iterasi sudah diketahui, sedangkan while loop cocok untuk situasi di mana jumlah iterasi bergantung pada kondisi saat runtime. Misalnya, kamu ingin terus meminta input pengguna sampai mereka memasukkan nilai yang valid.
Strukturnya sederhana: tulis kata kunci while diikuti kondisi dalam tanda kurung, lalu blok kode dalam kurung kurawal. Selama kondisi bernilai benar, blok kode diulang.
Sintaks Dasar While Loop
Berikut bentuk umum while loop dalam bahasa C:
while (kondisi) {
// blok kode yang akan diulang
}
Kondisi adalah ekspresi yang menghasilkan nilai boolean (benar atau salah). Jika kondisi bernilai benar (non-zero), blok kode dijalankan. Setelah blok selesai, kondisi dievaluasi lagi. Proses ini berulang sampai kondisi menjadi salah (zero).
Langkah-Langkah Menggunakan While Loop
Ikuti langkah-langkah berikut agar kamu bisa langsung mempraktikkan while loop dalam kode C.
1. Tentukan Kondisi Awal
Sebelum menulis while loop, deklarasikan dan inisialisasi variabel yang akan digunakan dalam kondisi. Variabel ini berfungsi sebagai penghitung atau penentu kapan loop berhenti. Contoh:
int i = 1;
Di sini, i dimulai dari 1.
2. Tulis While Loop dengan Kondisi yang Tepat
Selanjutnya, tulis while loop dengan kondisi yang mengacu pada variabel tersebut. Misalnya, kita ingin mengulang selama i kurang dari atau sama dengan 5:
while (i <= 5) {
printf("%dn", i);
i++; // jangan lupa increment
}
Pastikan ada perubahan pada variabel yang memengaruhi kondisi di dalam loop, seperti i++. Tanpa perubahan, loop akan berjalan terus-menerus (infinite loop) dan program bisa hang.
3. Uji Program dan Amati Output
Kompilasi dan jalankan program. Jika benar, output akan menampilkan angka 1 sampai 5, masing-masing di baris baru. Setelah i mencapai 6, kondisi i <= 5 bernilai salah, sehingga loop berhenti.
Contoh Penerapan While Loop dalam Program Nyata
While loop sering dipakai untuk validasi input. Misalnya, program meminta pengguna memasukkan angka positif, dan akan terus meminta sampai pengguna memberikan angka yang benar.
#include <stdio.h>
int main() {
int angka;
printf("Masukkan angka positif: ");
scanf("%d", &angka);
while (angka <= 0) {
printf("Angka harus positif. Coba lagi: ");
scanf("%d", &angka);
}
printf("Anda memasukkan %dn", angka);
return 0;
}
Program ini akan terus meminta input sampai pengguna memasukkan angka lebih dari 0. Kondisi angka <= 0 diperiksa setiap kali setelah input.
Latihan seperti ini penting untuk membangun logika pemrograman. Kamu bisa menemukan lebih banyak latihan di artikel 7 Latihan Menulis Kode C untuk Pemula yang Baru Mulai.
Kesalahan Umum dan Cara Menghindarinya
Pemula sering terjebak dalam infinite loop karena lupa mengubah variabel kondisi. Pastikan di dalam blok while ada statement yang membuat kondisi akhirnya menjadi false. Perhatikan juga penggunaan titik koma setelah while; while (kondisi); akan menyebabkan loop kosong yang tidak diinginkan.
Untuk menghindari kesalahan lain seputar penulisan kode C, baca 8 Kesalahan Umum saat Menulis Kode C dan Cara Menghindarinya.
Kapan Sebaiknya Menggunakan While Loop?
Gunakan while loop ketika jumlah iterasi tidak diketahui pasti di awal, dan loop harus berhenti berdasarkan kondisi dinamis. Contohnya membaca karakter dari file sampai EOF, atau menunggu input pengguna yang valid. Untuk iterasi yang sudah jelas jumlahnya, for loop lebih ringkas. While loop juga bisa dipakai untuk kasus yang sama dengan inisialisasi di luar loop.
Ringkasan
While loop mengulang eksekusi kode berdasarkan kondisi. Pastikan kondisi awal benar, tulis kondisi yang tepat, dan ubah variabel di dalam loop agar tidak terjadi infinite loop. Dengan latihan, kamu akan terbiasa menggunakannya untuk berbagai skenario pemrograman.
Pertanyaan yang Sering Diajukan
Apa perbedaan while loop dan do-while loop?
While loop memeriksa kondisi di awal, sehingga blok kode mungkin tidak dijalankan sama sekali jika kondisi awalnya salah. Do-while loop memeriksa kondisi di akhir, sehingga blok kode setidaknya dijalankan sekali.
Bagaimana cara menghentikan while loop yang tak berujung?
Pastikan ada statement di dalam loop yang mengubah variabel kondisi, misalnya increment atau assignment. Jika loop sudah telanjur berjalan, hentikan program dengan Ctrl+C di terminal.
Apakah while loop bisa digunakan untuk membaca file?
Bisa. Contohnya, gunakan while ((c = fgetc(file)) != EOF) untuk membaca karakter per karakter sampai akhir file. Pastikan file berhasil dibuka sebelum loop.
Jika kamu ingin memperdalam dasar-dasar C, baca juga Cara Menggunakan Fungsi dalam Bahasa C untuk Pemula. Untuk yang tertarik dengan pengembangan web, ada panduan deploy Ruby on Rails ke VPS dan perbandingan alat cek kontras warna untuk aksesibilitas web.