Masukkan Password
32 Break & Continue
Di lecture ini kita belajar dua statement yang sangat penting saat menggunakan loop:
break
continue
Keduanya sama-sama bisa mengubah alur normal sebuah loop, tetapi efeknya berbeda total.
Cara paling gampang mengingatnya:
🛑
break= berhentikan seluruh loop. ⏭️continue= lewati putaran sekarang, lalu lanjut ke putaran berikutnya.
1. Kenapa kita membutuhkan break dan continue?
Normalnya, loop berhenti karena kondisinya menjadi false.
Contoh:
for (let i = 1; i <= 10; i++) {
console.log(i);
}
Alurnya:
1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10
↓
loop selesai
Tetapi terkadang kita membutuhkan perilaku khusus.
Misalnya:
“Saya sedang mencari data. Kalau sudah ketemu, saya tidak perlu memeriksa data berikutnya.”
Kita bisa menggunakan:
break;
Atau:
“Saya ingin memeriksa semua data, tetapi beberapa data ingin saya lewati.”
Kita bisa menggunakan:
continue;
2. break = keluar dari loop
break digunakan ketika kita ingin:
menghentikan loop sepenuhnya sebelum kondisi loop menjadi
false.
Contoh:
let x = 1;
while (x <= 10) {
console.log(x);
if (x === 5) {
break;
}
x++;
}
Output:
1
2
3
4
5
Kenapa berhenti di 5?
Karena ketika:
x === 5
hasilnya true.
Kemudian JavaScript menemukan:
break;
Maka JavaScript langsung berkata:
“Sudah, keluar dari loop.”
3. Perhatikan: break benar-benar keluar
Misalnya:
while (x <= 10) {
console.log(x);
if (x === 5) {
break;
}
x++;
}
console.log("Loop selesai");
Ketika x menjadi 5:
console.log(5)
↓
x === 5 → true
↓
break
↓
KELUAR DARI LOOP
↓
console.log("Loop selesai")
Jadi kode setelah loop tetap bisa dijalankan.
Output:
1
2
3
4
5
Loop selesai
4. break tidak menunggu condition loop
Normalnya:
while (x <= 10)
loop akan berhenti ketika:
x <= 10
menjadi:
false
Misalnya:
x = 11
11 <= 10 → false
Tetapi break memungkinkan kita berhenti lebih cepat.
Misalnya:
x = 5
x <= 10 → true
Secara normal loop seharusnya masih lanjut.
Tetapi:
if (x === 5) {
break;
}
memaksa loop berhenti.
Jadi:
condition loop
↓
masih true
↓
seharusnya lanjut
↓
tetapi...
↓
break
↓
BERHENTI
5. Kenapa break biasanya berada di dalam if?
Contoh:
while (x <= 10) {
console.log(x);
break;
x++;
}
Begitu loop masuk pertama kali:
console.log(x)
↓
break
↓
keluar
Jadi hanya satu kali iterasi.
Output:
1
Kalau memang hanya ingin menjalankan kode satu kali, sebenarnya tidak perlu menggunakan loop.
Karena itu biasanya break digunakan bersama kondisi:
if (condition) {
break;
}
Artinya:
“Kalau kondisi tertentu terjadi, baru keluar dari loop.”
Contoh yang masuk akal:
if (x === 5) {
break;
}
6. Analogi break
Bayangkan kamu sedang mencari buku di perpustakaan.
Kamu memeriksa:
Buku 1 → bukan
Buku 2 → bukan
Buku 3 → bukan
Buku 4 → bukan
Buku 5 → KETEMU!
Karena bukunya sudah ditemukan, kamu tidak perlu mencari lagi.
Maka:
break;
artinya:
“STOP. Saya sudah selesai mencari.”
7. Sekarang continue
continue berbeda.
Kalau break:
🛑 berhenti seluruh loop.
Kalau continue:
⏭️ hanya melewati iterasi yang sedang berjalan.
Loop tetap dilanjutkan.
Contoh:
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i);
}
Output:
0
1
3
4
Angka 2 tidak dicetak.
Tetapi loop tidak berhenti.
8. Apa yang sebenarnya terjadi saat continue?
Mari kita lihat:
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i);
}
Ketika:
i = 0
Cek:
0 === 2 → false
Jadi:
console.log(0);
Output:
0
Ketika:
i = 1
Cek:
1 === 2 → false
Jalankan:
console.log(1);
Output:
1
Ketika:
i = 2
Cek:
2 === 2 → true
Maka:
continue;
dijalankan.
Akibatnya:
kode setelah continue
↓
DILEWATI
↓
langsung ke iterasi berikutnya
Jadi:
console.log(i);
tidak dijalankan untuk i = 2.
Kemudian loop lanjut:
i = 3
Output:
3
Kemudian:
i = 4
Output:
4
9. Perbedaan break dan continue
Ini bagian yang wajib banget dipahami.
| Statement | Efek |
|---|---|
break | Menghentikan seluruh loop |
continue | Melewati iterasi saat ini |
break | Tidak ada iterasi berikutnya |
continue | Iterasi berikutnya tetap berjalan |
Visualnya:
break
1
↓
2
↓
3
↓
4
↓
5 → BREAK 🛑
↓
LOOP SELESAI
continue
1
↓
2
↓
3 → CONTINUE ⏭️
↓
skip
↓
4
↓
5
↓
selesai
10. Contoh continue dengan bilangan genap
Lecture memberikan contoh yang sangat bagus.
Kita ingin:
Cetak hanya angka ganjil dari 0 sampai 9.
Kode:
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i);
}
Output:
1
3
5
7
9
11. Kenapa i % 2 === 0 berarti genap?
Kita sudah belajar operator % sebelumnya.
% menghasilkan sisa pembagian.
Contoh:
10 % 2 // 0
9 % 2 // 1
8 % 2 // 0
7 % 2 // 1
Bilangan genap jika dibagi 2 sisanya:
0
Bilangan ganjil jika dibagi 2 sisanya:
1
Jadi:
i % 2 === 0
artinya:
“Apakah
iadalah bilangan genap?”
12. Kenapa continue digunakan di sini?
Kita ingin tidak melakukan sesuatu terhadap angka genap.
Jadi:
if (i % 2 === 0) {
continue;
}
Artinya:
“Kalau angka ini genap, lewati angka ini dan langsung lanjut ke angka berikutnya.”
Setelah itu:
console.log(i);
hanya akan dijalankan untuk angka ganjil.
13. Kita jalankan satu per satu
Kode:
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i);
}
i = 0
0 % 2 = 0
Genap.
Maka:
continue;
Angka 0 dilewati.
i = 1
1 % 2 = 1
Bukan genap.
Tidak continue.
Maka:
console.log(1);
Output:
1
i = 2
2 % 2 = 0
Genap.
continue;
console.log() dilewati.
i = 3
3 % 2 = 1
Ganjil.
console.log(3);
Output:
3
Dan seterusnya.
Hasil:
1
3
5
7
9
14. Hal penting: continue melewati kode setelahnya
Misalnya:
for (let i = 0; i < 5; i++) {
console.log("A");
if (i === 2) {
continue;
}
console.log("B");
}
Output:
A
B
A
B
A
A
B
A
B
Kenapa saat i = 2 tidak ada B?
Karena:
continue;
langsung melewati:
console.log("B");
dan pindah ke iterasi berikutnya.
Jadi continue bukan hanya “jangan cetak angka”.
Lebih tepatnya:
Semua kode setelah
continuedalam iterasi tersebut dilewati.
15. continue tidak menghentikan loop
Ini kesalahan yang sering dilakukan pemula.
Misalnya:
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i);
}
Jangan berpikir:
i = 2
↓
continue
↓
loop selesai
❌ Salah.
Yang benar:
i = 2
↓
continue
↓
skip sisa body
↓
update i
↓
i = 3
↓
lanjut
Jadi:
continue ≠ stop loop
16. Bagian penting khusus for loop
Ada detail menarik ketika continue digunakan pada for.
Misalnya:
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i);
}
Saat i === 2:
continue;
dijalankan.
Tetapi i++ tetap terjadi karena itu adalah bagian update dari for.
Urutannya secara sederhana:
i = 2
↓
condition true
↓
body
↓
continue
↓
skip sisa body
↓
i++
↓
i = 3
↓
condition lagi
Jadi continue tidak membuat i terjebak di angka 2.
Ini salah satu alasan pola di lecture bisa berjalan dengan benar.
17. Kenapa continue juga biasanya di dalam if?
Bayangkan:
for (let i = 0; i < 10; i++) {
continue;
console.log(i);
}
Apa yang terjadi?
Setiap iterasi langsung:
continue
↓
skip
↓
iterasi berikutnya
Tidak ada satu pun angka yang dicetak.
Jadi loop seperti tidak memiliki pekerjaan yang berguna.
Karena itu pola yang umum adalah:
if (condition) {
continue;
}
Artinya:
“Hanya dalam kondisi tertentu, iterasi ini dilewati.”
18. Analogi paling gampang
Bayangkan kamu sedang memeriksa 10 orang yang masuk ke sebuah ruangan.
break
Kamu mencari seseorang bernama John.
Orang 1 → bukan John
Orang 2 → bukan John
Orang 3 → bukan John
Orang 4 → JOHN!
Karena sudah ketemu:
🛑 BREAK — berhenti memeriksa semua orang.
continue
Sekarang kamu ingin memeriksa semua orang kecuali anak-anak.
Orang 1 → dewasa → periksa
Orang 2 → anak → SKIP
Orang 3 → dewasa → periksa
Orang 4 → dewasa → periksa
Anak tersebut tidak membuat pemeriksaan berhenti.
Hanya orang itu yang dilewati.
⏭️ CONTINUE — skip orang ini, lanjut orang berikutnya.
19. Kapan menggunakan break?
Gunakan break ketika:
Kamu sudah tidak membutuhkan iterasi berikutnya.
Contoh mencari data:
let users = ["John", "Mark", "Mary", "Steve"];
for (let i = 0; i < users.length; i++) {
if (users[i] === "Mary") {
console.log("Mary ditemukan!");
break;
}
}
Begitu Mary ditemukan, tidak perlu mencari lagi.
20. Kapan menggunakan continue?
Gunakan continue ketika:
Loop masih perlu berjalan, tetapi iterasi tertentu ingin dilewati.
Contoh:
let users = ["John", "", "Mary", "", "Steve"];
for (let i = 0; i < users.length; i++) {
if (users[i] === "") {
continue;
}
console.log(users[i]);
}
Output:
John
Mary
Steve
Data kosong dilewati, tetapi loop tetap memproses data berikutnya.
21. break dan continue bisa digunakan di while
Tidak hanya for.
break dalam while
let i = 1;
while (i <= 10) {
if (i === 5) {
break;
}
console.log(i);
i++;
}
Output:
1
2
3
4
continue dalam while
Hati-hati di sini.
Kalau menggunakan continue dalam while, pastikan update variable dilakukan sebelum continue, jika memang update tersebut diperlukan.
Misalnya:
let i = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
console.log(i);
}
Output:
1
2
4
5
Kenapa i++ diletakkan sebelum continue?
Karena kalau:
while (i < 5) {
if (i === 3) {
continue;
}
i++;
}
ketika i menjadi 3, continue akan terus kembali ke pengecekan kondisi tanpa menjalankan i++.
Akibatnya bisa terjadi infinite loop.
Ini merupakan perbedaan praktis yang penting antara continue pada for dan while.
22. break vs continue secara visual
Ini mungkin cara terbaik untuk mengingatnya:
LOOP
│
▼
kondisi tertentu?
│
┌───────┴────────┐
│ │
tidak ya
│ │
▼ ▼
lanjut kode BREAK / CONTINUE
│
┌────────┴────────┐
│ │
break continue
│ │
▼ ▼
keluar loop skip body sekarang
│
▼
iterasi berikutnya
23. Ringkasan dengan contoh yang sama
Misalnya:
for (let i = 0; i < 10; i++) {
// sesuatu
}
Dengan break
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}
Output:
0
1
2
3
4
Loop berhenti total.
Dengan continue
for (let i = 0; i < 10; i++) {
if (i === 5) {
continue;
}
console.log(i);
}
Output:
0
1
2
3
4
6
7
8
9
Loop tetap berjalan, hanya 5 yang dilewati.
24. Hubungkan dengan materi sebelumnya
Sekarang konsep loop kita semakin lengkap.
Kita punya:
LOOP
│
├── while
│
├── do...while
│
└── for
Kemudian kita punya kontrol terhadap loop:
break
↓
keluar dari loop
continue
↓
skip iterasi sekarang
Jadi:
for / while / do...while
│
▼
looping
│
┌────┴────┐
▼ ▼
break continue
│ │
▼ ▼
STOP SKIP
🧠 Cheat Sheet
| Keyword | Arti sederhana | Efek |
|---|---|---|
break | “STOP!” | Keluar dari seluruh loop |
continue | “Lewati yang ini” | Skip iterasi saat ini |
break | loop selesai | Tidak ada iterasi berikutnya |
continue | loop lanjut | Iterasi berikutnya tetap dilakukan |
break
if (condition) {
break;
}
Baca:
“Kalau kondisi ini terpenuhi, berhenti looping.”
continue
if (condition) {
continue;
}
Baca:
“Kalau kondisi ini terpenuhi, lewati iterasi ini dan lanjut ke berikutnya.”
🎯 Satu kalimat untuk membedakan
Kalau kamu lupa semuanya, ingat ini:
breakmemutus hubungan dengan loop.continuehanya melewati satu putaran loop.
Atau lebih gampang lagi:
break = 🛑 BERHENTI SEMUA
continue = ⏭️ LEWATI YANG INI
Dan contoh paling sederhana:
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // berhenti total di 5
}
console.log(i);
}
vs.
for (let i = 0; i < 10; i++) {
if (i === 5) {
continue; // 5 dilewati, tapi lanjut
}
console.log(i);
}
Ini adalah inti utama lecture ini. Setelah memahami break dan continue, kamu sekarang bukan hanya bisa membuat loop, tetapi juga bisa mengontrol kapan loop harus berhenti atau kapan suatu iterasi harus dilewati.