Perulangan — JavaScript

Coba kamu disuruh print "Halo" 1000 kali. Nulis manual console.log("Halo") 1000 kali? Gila. Solusi: loop — perintah komputer "ulangi blok kode ini sampai…

Perulangan (loop) menjalankan kode yang sama berkali-kali tanpa kamu menulisnya berulang. Mau mencetak angka 1 sampai 100, atau menjumlahkan semua harga di keranjang belanja? Itu kerjaan loop. Satu kali jalannya isi loop disebut satu putaran (iterasi).

🧪 Tebakan cepat: for (let i = 0; i < 3; i++) jalan berapa putaran: 2, 3, atau 4? Tebak dulu, jawabannya ada di bagian "Loop for".

Loop for

for (let i = 1; i <= 3; i++) {
  console.log("Iterasi " + i);
}
// Iterasi 1
// Iterasi 2
// Iterasi 3

Di dalam kurung for ada tiga bagian, dipisah titik koma:

Isi { } adalah kode yang diulang. Di putaran keempat, i sudah 4, 4 <= 3 itu false, jadi loop berhenti.

Banyak loop mulai dari 0 dan pakai <: for (let i = 0; i < 3; i++) jalan untuk i = 0, 1, 2, jadi tiga putaran. Jawaban tebakan: 3. Pakai <= kalau angka terakhirnya mau ikut, < kalau gak.

Loop while

let i = 1;
while (i <= 3) {
  console.log("Iterasi " + i);
  i++;
}

Hasilnya sama persis. while cuma punya syarat, jadi penghitungnya dibuat sebelum loop dan ditambah di dalam loop. Kalau i++ lupa ditulis, syaratnya selalu true dan loop gak pernah berhenti, halamannya macet.

Mengumpulkan hasil loop

const hasil = [];
let total = 0;

for (let i = 1; i <= 4; i++) {
  hasil.push(i * 10);
  total += i;
}

console.log(hasil); // [10, 20, 30, 40]
console.log(total); // 10

Di dalam function, return juga ditaruh sesudah loop. return di dalam loop langsung menghentikan function di putaran pertama.

for...of: isi array satu per satu

const buah = ["apel", "jeruk", "mangga"];

for (const item of buah) {
  console.log(item);
}
// apel
// jeruk
// mangga

for...of langsung memberi nilai tiap isi, tanpa penghitung. Ada juga for...in, tapi untuk array dia memberi index-nya sebagai teks ("0", "1", "2"), bukan nilainya.

break dan continue

for (let i = 1; i <= 5; i++) {
  if (i === 2) continue;
  if (i === 4) break;
  console.log(i);
}
// 1
// 3

⚠️ Jebakan yang sering ketemu

TL;DR: for (let i = 1; i <= n; i++) { ... } mengulang dengan penghitung: mulai, syarat, lalu tambah satu. i < 3 dari 0 jalan 3 kali, <= ikut menghitung angka terakhir. while (syarat) mengulang selama syaratnya true, jadi jangan lupa ubah penghitungnya. Kumpulkan hasil di array kosong pakai push, atau di total yang mulai dari 0, lalu return sesudah loop. for...of memberi nilai tiap isi array. continue melewati satu putaran, break menghentikan loop.

Yang akan kamu pelajari