dasarperulangankontrol-alurPemula3 mnt baca

break dan continue

Mengontrol alur perulangan: break untuk berhenti total, continue untuk lompat ke iterasi berikutnya.

Dua tombol kontrol loop

Di dalam perulangan, kadang kamu perlu keluar lebih awal atau melewati satu iterasi. Untuk itu ada break dan continue.

break: berhenti total

break langsung menghentikan loop, tidak peduli sisa iterasinya:

javascript
let angka = [3, 7, 12, 9, 20];
for (let i = 0; i < angka.length; i++) {
  if (angka[i] > 10) {
    console.log("Ketemu angka besar: " + angka[i]);
    break; // berhenti, tidak perlu cek sisanya
  }
}

Analoginya seperti mencari kunci di beberapa laci: begitu ketemu di laci kedua, kamu berhenti membuka laci sisanya. Efisien.

continue: lewati iterasi ini saja

continue melewatkan sisa kode di iterasi saat ini, lalu lanjut ke iterasi berikutnya. Loop tidak berhenti, hanya satu putaran yang dilewati:

javascript
for (let i = 1; i <= 10; i++) {
  if (i % 2 !== 0) {
    continue; // lewati angka ganjil
  }
  console.log(i); // hanya mencetak 2, 4, 6, 8, 10
}

Pola ini berguna untuk memfilter: proses semua data kecuali yang memenuhi syarat tertentu.

Berlaku untuk while juga

Keduanya bekerja di semua jenis loop:

javascript
let i = 0;
while (true) { // loop selamanya...
  i++;
  if (i > 5) break; // ...sampai break menghentikannya
}
console.log("Berhenti di " + i);

Pola while (true) dengan break di dalam adalah idiom umum untuk loop yang kondisi berhentinya kompleks.

Catatan teknis: break dan continue hanya memengaruhi loop terdalam. Untuk loop bersarang yang butuh break dari loop luar, JavaScript punya label, tapi itu jarang dipakai dan biasanya tanda kode perlu di-refactor jadi fungsi.

Studi kasus: cari dan lewati

Gabungan break dan continue dalam satu masalah nyata, memproses daftar nilai:

javascript
let nilai = [40, 75, -5, 90, 120, 60];
let total = 0;
let jumlah = 0;

for (let n of nilai) {
  if (n < 0 || n > 100) {
    continue; // data tidak valid, lewati
  }
  if (n === 0) {
    break; // 0 = sinyal berhenti
  }
  total += n;
  jumlah++;
}

console.log("Rata-rata: " + total / jumlah);

continue memfilter data rusak tanpa if bertingkat, break menghentikan saat sinyal khusus muncul. Hasilnya loop yang datar dan mudah diikuti alurnya. Pola "lewati yang jelek, berhenti saat sinyal" ini muncul di pengolahan file, parsing data, dan game loop.

Kesimpulan

break untuk "sudah cukup, berhenti", continue untuk "lewati yang ini, lanjut". Keduanya membuat logika loop lebih ekspresif tanpa kondisi bertingkat yang dalam.