Break dan Continue
Memahami cara mengontrol alur perulangan dengan break dan continue dalam C++ dan Python
Agenda
Review Perulangan
Sekilas for dan while
Break
Menghentikan loop secara paksa
Continue
Melompati iterasi tertentu
Break vs Continue
Perbandingan perilaku
Latihan & Tugas Kelompok
Soal literasi & numerasi C4–C6
Mengingat kembali struktur for dan while sebelum mempelajari break dan continue.
Perulangan dengan jumlah iterasi tertentu. Digunakan saat kita tahu berapa kali loop harus berjalan.
// C++
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
# Python
for i in range(1, 6):
print(i, end=" ")
Perulangan yang berjalan selama kondisi true. Digunakan saat jumlah iterasi tidak diketahui di awal.
// C++
int i = 1;
while (i <= 5) {
cout << i << " ";
i++;
}
# Python
i = 1
while i <= 5:
print(i, end=" ")
i += 1
Tip: Pada pertemuan sebelumnya kita belajar for dan while. Sekarang kita akan belajar cara mengontrol loop lebih detail dengan break dan continue.
Menghentikan loop secara paksa dan segera
Break menghentikan loop secara paksa dan segera, tanpa menunggu kondisi menjadi false. Program melanjutkan ke baris setelah loop.
Analogi: Ibarat sedang makan di rumah makan Padang — kamu pesan nasi kapau dan mengambil lauk satu per satu. Begitu kamu melihat rendang habis, kamu langsung berhenti mengambil lauk (break) dan pergi ke kasir.
for (int i = 1; i <= 10; i++) {
if (i == 5) break;
cout << i << " ";
}
// Output: 1 2 3 4
for i in range(1, 11):
if i == 5:
break
print(i, end=" ")
# Output: 1 2 3 4
Pencarian & validasi — break sangat berguna di while loop
Contoh 1: Mencari bilangan pertama yang habis dibagi 7 (1–100)
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 100; i++) {
if (i % 7 == 0) {
cout << "Pertama: " << i;
break;
}
}
return 0;
}
// Output: Pertama: 7
Contoh 2: Program login — while + break
password_benar = "padang123"
percobaan = 0
while percobaan < 3:
input_pw = input("Password: ")
percobaan += 1
if input_pw == password_benar:
print("Login berhasil!")
break
else:
print("Salah!")
else:
print("3x salah. Akun dikunci.")
Break juga bekerja di while loop. Ketika break dieksekusi, program langsung keluar dari loop terdalam yang membungkusnya. Kode setelah loop akan dijalankan.
Melompati sisa kode dalam iterasi saat ini
Continue melompati sisa kode dalam iterasi saat ini dan langsung menuju iterasi berikutnya. Loop TIDAK berhenti, hanya iterasi ini yang di-skip.
Analogi: Ibarat guru sedang memeriksa PR siswa satu per satu. Jika PR siswa tidak dikumpulkan, guru skip (continue) siswa itu dan lanjut ke siswa berikutnya — pemeriksaan tidak berhenti total.
for (int i = 1; i <= 10; i++) {
if (i == 5) continue;
cout << i << " ";
}
// Output: 1 2 3 4 6 7 8 9 10
for i in range(1, 11):
if i == 5:
continue
print(i, end=" ")
# Output: 1 2 3 4 6 7 8 9 10
Menampilkan bilangan ganjil & skip data tidak valid
Contoh 1: Menampilkan hanya bilangan ganjil dari 1–20
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 20; i++) {
if (i % 2 == 0) continue;
cout << i << " ";
}
return 0;
}
// Output: 1 3 5 7 9 11 13 15 17 19
Contoh 2: Skip data tidak valid dalam input
data = [85, -1, 92, 0, 78, -5, 88]
total = 0
hitung = 0
for nilai in data:
if nilai <= 0:
print(f"Skip: {nilai} (tidak valid)")
continue
total += nilai
hitung += 1
print(f"Rata-rata: {total/hitung:.1f}")
# Skip: -1 (tidak valid)
# Skip: 0 (tidak valid)
# Skip: -5 (tidak valid)
# Rata-rata: 85.8
Perhatikan posisi continue! Semua kode setelah continue dalam iterasi yang sama TIDAK akan dieksekusi. Pastikan update variabel loop (seperti i++ di while) diletakkan sebelum continue, agar tidak terjadi infinite loop.
Perbedaan mendasar antara dua keyword pengontrol loop
Menghentikan loop SELURUHNYA. Program keluar dari loop. Digunakan saat sudah menemukan apa yang dicari atau kondisi khusus terpenuhi.
❌ Loop berhenti total
❌ Iterasi berikutnya tidak jalan
✅ Program lanjut setelah loop
Melompati SATU iterasi saja. Loop tetap berjalan. Digunakan saat ingin melewatkan item tertentu tapi melanjutkan proses lainnya.
✅ Loop tetap berjalan
✅ Iterasi berikutnya tetap jalan
❌ Sisa kode iterasi ini di-skip
Key Insight: Break = "Sudah cukup, berhenti!" — Continue = "Ini saja yang diskip, lanjut!" Keduanya hanya memengaruhi loop terdalam jika ada nested loop.
Konteks SMA Padang — Pengerjaan Kelompok
Perhatikan kode berikut yang menampilkan menu kantin SMA Padang. Jika stok_mie = 0 dan pilihan = 2, apa output program? Gambarkan alur eksekusinya.
string menu[] = {"Nasi Padang", "Mie Goreng", "Es Teh"};
int stok[] = {5, 0, 10};
int pilihan = 2; // indeks ke-2 = Mie Goreng
for (int i = 0; i < 3; i++) {
if (stok[i] == 0) {
cout << menu[i] << " habis!" << endl;
continue;
}
cout << menu[i] << " tersedia" << endl;
}
Seorang siswa membuat program pencarian jurusan di Universitas Andalas menggunakan while loop dan break. Kode berjalan tapi selalu berhenti di iterasi pertama. Identifikasi bug dan jelaskan perbaikannya.
jurusan = ["Kedokteran", "Teknik", "Hukum", "FMIPA"]
cari = "Teknik"
i = 0
while i < len(jurusan):
if jurusan[i] == cari:
print(f"Ditemukan: {cari}")
break
print(f"Mengecek {jurusan[i]}...")
# BUG: i tidak pernah bertambah!
Buatlah simulasi antrian di Bank Nagari Padang menggunakan while loop. Fitur:
continue untuk skipbreakImplementasikan dalam C++ DAN Python dengan flowchart.
Buat flowchart & implementasi kode dengan break dan continue
≤ 3
Orang per kelompok
2
Bahasa (C++ & Python)
1
Flowchart (gambar)
✓
Wajib break & continue
Simulasi antrian di KFC Padang — Tampilkan menu, skip item habis (continue), berhenti pesan jika uang habis (break)
Pencarian nilai tertinggi di kelas — Input nilai siswa satu per satu, skip nilai tidak valid (continue), berhenti jika input -999 (break)
Program peminjaman buku perpustakaan SMA — Tampilkan buku, skip yang dipinjam (continue), berhenti jika buku yang dicari ditemukan (break)
Buat skenario sendiri! — Syarat: relevan dengan kehidupan SMA Padang, wajib pakai break DAN continue
Flowchart
Gambar di kertas / digital
Kode C++
Sesuai flowchart
Kode Python
Sesuai flowchart
Tips: Buat flowchart terlebih dahulu sebelum menulis kode. Pastikan break dan continue masing-masing digunakan minimal sekali. Test kode dengan minimal 3 kombinasi input berbeda untuk membuktikan logika benar.