September 17, 2026
Menggunakan While dan Do While Loop di JavaScript.
Perbedaan while dan do-while loop di JavaScript, kapan masing-masing cocok dipakai, serta cara menghindari infinite loop.
while dan do...while adalah dua bentuk perulangan yang menjalankan blok kode selama sebuah kondisi masih bernilai true. Perbedaan utamanya ada pada kapan kondisi tersebut dicek.
while: Cek Kondisi di Awal
let hitung = 0;
while (hitung < 5) {
console.log(hitung);
hitung++;
}
// 0, 1, 2, 3, 4
Karena kondisi dicek sebelum blok kode dijalankan, ada kemungkinan blok while tidak pernah dijalankan sama sekali jika kondisinya sudah false sejak awal.
let x = 10;
while (x < 5) {
console.log("Tidak akan pernah tercetak");
}
do…while: Jalankan Dulu, Cek Belakangan
let percobaan = 0;
do {
console.log(`Percobaan ke-${percobaan + 1}`);
percobaan++;
} while (percobaan < 3);
do...while menjamin blok kodenya dijalankan minimal satu kali, karena kondisi baru dicek setelah blok pertama dieksekusi. Ini cocok untuk kasus seperti meminta input pengguna yang harus dicoba minimal sekali sebelum divalidasi.
Menghindari Infinite Loop
Kesalahan paling umum adalah lupa mengubah variabel yang menjadi syarat perulangan, sehingga kondisi tidak pernah menjadi false.
let i = 0;
while (i < 5) {
console.log(i);
// lupa menambah i, akibatnya loop berjalan selamanya
}
Pastikan selalu ada langkah yang mengubah nilai variabel penentu kondisi, biasanya lewat i++ atau operasi serupa di dalam blok loop.
Kasus Nyata: Polling Status
async function tungguSampaiSelesai(cekStatus) {
let selesai = false;
while (!selesai) {
selesai = await cekStatus();
if (!selesai) {
await new Promise((resolve) => setTimeout(resolve, 1000));
}
}
console.log("Proses selesai!");
}
Pola seperti ini sering dipakai untuk menunggu proses asinkron di server, misalnya mengecek status pembayaran secara berkala.
Kesimpulan
Gunakan while saat blok kode boleh saja tidak pernah dijalankan jika kondisi awal sudah false, dan gunakan do...while saat kode wajib dijalankan minimal satu kali. Yang paling penting dari keduanya: pastikan ada kondisi yang benar-benar berubah di dalam loop agar tidak berakhir sebagai infinite loop.

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.