Perulangan for
Mengulang kode dengan for loop: sintaks, pola umum, dan cara menghindari infinite loop.
Kenapa butuh perulangan?
Bayangkan mencetak angka 1 sampai 100 tanpa loop: kamu harus menulis 100 baris. Dengan loop, cukup tiga baris. Perulangan adalah cara program mengerjakan hal repetitif.
Anatomi for loop
for (let i = 0; i < 5; i++) {
console.log("Iterasi ke-" + i);
}Tiga bagian di dalam kurung, dipisah titik koma:
- Inisialisasi (let i = 0): dijalankan sekali di awal.
- Kondisi (i < 5): dicek sebelum tiap iterasi, berhenti saat false.
- Update (i++): dijalankan di akhir tiap iterasi.
Outputnya: Iterasi ke-0 sampai Iterasi ke-4, total lima kali.
Pola umum: mengiterasi array
Penggunaan for paling umum adalah menelusuri array:
let buah = ["apel", "mangga", "jeruk"];
for (let i = 0; i < buah.length; i++) {
console.log(i + ": " + buah[i]);
}
// 0: apel
// 1: mangga
// 2: jerukUntuk kasus sederhana seperti ini, ada alternatif lebih modern yaitu for...of yang dibahas di modul array.
Loop mundur
Kadang kamu butuh iterasi dari belakang, misalnya menghapus item array saat iterasi:
for (let i = 10; i > 0; i--) {
console.log(i);
}
console.log("Mulai!");Catatan teknis: Infinite loop terjadi saat kondisi tidak pernah false, misalnya for (let i = 0; i >= 0; i++). Browser akan macet dan tab harus di-force close. Selalu pastikan variabel kondisi bergerak menuju berhentinya loop.
for...of: versi modern
Untuk sekadar membaca tiap item array tanpa butuh index, for...of lebih bersih:
let buah = ["apel", "mangga", "jeruk"];
// klasik: butuh index manual
for (let i = 0; i < buah.length; i++) {
console.log(buah[i]);
}
// modern: langsung dapat itemnya
for (let b of buah) {
console.log(b);
}for...of bekerja untuk array, string, dan semua yang iterable. Butuh index juga? Pakai entries():
for (let [i, b] of buah.entries()) {
console.log(i + ": " + b);
}Aturannya: butuh index untuk diubah-ubah pakai for klasik, cuma baca isi pakai for...of. Keduanya sah, pilih yang niatnya paling jelas.
Kesimpulan
for loop cocok saat kamu tahu pasti berapa kali pengulangan dibutuhkan. Kuasai polanya karena ia muncul di hampir semua program: pengolahan data, rendering list, sampai game loop.