break & continue
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah membaca halaman ini, kamu dapat:
- Menggunakan
breakuntuk menghentikan loop sebelum kondisi selesai. - Menggunakan
continueuntuk melewati satu putaran tanpa menghentikan loop. - Membedakan kapan harus menggunakan
breakdan kapan menggunakancontinue.
Pendahuluan
Section titled “Pendahuluan”Sejauh ini loop yang kamu buat berjalan dari awal hingga akhir tanpa gangguan. Namun dalam situasi nyata, kamu sering butuh:
- Berhenti di tengah jalan ketika data yang dicari sudah ditemukan — gunakan
break. - Melewati satu data tertentu tanpa menghentikan loop — gunakan
continue.
Analogi Kehidupan Sehari-hari
Section titled “Analogi Kehidupan Sehari-hari”break — Bel Ujian Berbunyi
Section titled “break — Bel Ujian Berbunyi”Kamu sedang mengerjakan soal ujian satu per satu. Ketika bel berbunyi, kamu langsung berhenti meskipun soal belum habis.
Untuk setiap soal: Kerjakan soal Jika bel berbunyi → berhenti seketika (break)continue — Absensi Siswa
Section titled “continue — Absensi Siswa”Guru memanggil nomor absen satu per satu. Jika seorang siswa tidak hadir, guru langsung memanggil nomor berikutnya — tidak berhenti, hanya melewati.
Untuk setiap nomor absen 1-36: Jika siswa tidak hadir → lewati, panggil berikutnya (continue) Jika siswa hadir → panggil namabreak — Berhenti Lebih Awal
Section titled “break — Berhenti Lebih Awal”break langsung menghentikan loop — tidak menunggu kondisi loop berakhir secara normal.
for (let i = 1; i <= 10; i++) { if (i === 5) { break } console.log(i)}Loop seharusnya berjalan 10 kali, tetapi break pada i === 5 menghentikannya di angka 4.
Visual Illustration
Section titled “Visual Illustration”i=1 → cetak → i=2 → cetak → i=3 → cetak → i=4 → cetak │i=5 → break → KELUAR DARI LOOP │Kode setelah loop berjalan normalMari Mencoba
Section titled “Mari Mencoba”Buat src/bab3/break.ts:
const namaSiswa: string[] = ["Andi", "Budi", "Citra", "Dian", "Eko", "Fira"]const targetCari: string = "Dian"
console.log(`Mencari siswa: ${targetCari}`)
for (const nama of namaSiswa) { if (nama === targetCari) { console.log(`Ditemukan: ${nama}`) break } console.log(`Bukan ${nama}, lanjut...`)}
console.log("Pencarian selesai.")Jalankan:
tsx src/bab3/break.tsOutput
Section titled “Output”Mencari siswa: DianBukan Andi, lanjut...Bukan Budi, lanjut...Bukan Citra, lanjut...Ditemukan: DianPencarian selesai.Loop berhenti setelah Dian ditemukan — Eko dan Fira tidak diperiksa sama sekali.
break di while
Section titled “break di while”break sangat berguna di dalam while (true) untuk membuat loop berhenti berdasarkan logika internal:
let skor: number = 0
while (true) { skor += 10 console.log(`Skor: ${skor}`) if (skor >= 50) { break }}
console.log("Game selesai!")continue — Lewati Satu Putaran
Section titled “continue — Lewati Satu Putaran”continue berbeda dari break. Ia hanya melewati satu putaran dan langsung melanjutkan ke putaran berikutnya — loop tetap berjalan.
for (let i = 1; i <= 10; i++) { if (i === 5) { continue // lewati angka 5 } console.log(i)}Angka 5 tidak dicetak, tetapi loop tetap berjalan sampai angka 10.
Visual Illustration
Section titled “Visual Illustration”i=1 → cetaki=2 → cetaki=3 → cetaki=4 → cetaki=5 → continue → LANGSUNG KE i=6 (lewati cetak)i=6 → cetak...i=10 → cetakSELESAIMari Mencoba
Section titled “Mari Mencoba”Buat src/bab3/continue.ts:
const nilaiSiswa: number[] = [80, 55, 90, 45, 75, 30, 88]
console.log("=== Siswa yang Lulus (nilai >= 75) ===")for (const nilai of nilaiSiswa) { if (nilai < 75) { continue // lewati siswa yang belum lulus } console.log(`Lulus dengan nilai: ${nilai}`)}
console.log("\n=== Angka Kecuali Kelipatan 3 ===")for (let i = 1; i <= 15; i++) { if (i % 3 === 0) { continue } console.log(i)}Jalankan:
tsx src/bab3/continue.tsOutput
Section titled “Output”=== Siswa yang Lulus (nilai >= 75) ===Lulus dengan nilai: 80Lulus dengan nilai: 90Lulus dengan nilai: 75Lulus dengan nilai: 88
=== Angka Kecuali Kelipatan 3 ===12457810111314break vs continue
Section titled “break vs continue”break |
continue |
|
|---|---|---|
| Efek | Keluar dari loop sepenuhnya | Lewati satu putaran saja |
| Putaran setelahnya | Tidak ada | Tetap berjalan |
| Loop berlanjut? | Tidak | Ya |
| Analogi | Bel ujian berbunyi | Siswa absen, lanjut absensi |
Kesalahan yang Sering Terjadi
Section titled “Kesalahan yang Sering Terjadi”break di luar loop
Section titled “break di luar loop”for (let i = 1; i <= 5; i++) { console.log(i)}break // Error! break hanya valid di dalam loop atau switchbreak dan continue hanya bisa digunakan di dalam loop atau switch.
Kode mati setelah continue
Section titled “Kode mati setelah continue”for (let i = 1; i <= 5; i++) { console.log(i) continue console.log("Ini tidak akan pernah tercetak") // kode mati}Kode setelah continue dalam blok yang sama tidak akan pernah dijalankan.
Latihan
Section titled “Latihan”- Buat array 10 angka acak. Hentikan loop ketika menemukan angka yang lebih dari 50.
- Buat loop 1–20. Tampilkan hanya angka yang bukan kelipatan 2 atau 5.
- Buat array nama siswa. Tampilkan semua kecuali nama yang panjangnya kurang dari 4 karakter.
Ringkasan
Section titled “Ringkasan”breaklangsung keluar dari loop tanpa menyelesaikan putaran tersisa.continuemelewati sisa kode dalam putaran saat ini dan melanjutkan ke putaran berikutnya.- Keduanya hanya valid di dalam loop atau
switch. - Gunakan
breakuntuk pencarian dancontinueuntuk filter data.