Mengulang blok kode: for, while, dan do-while.
Untuk pengulangan dengan jumlah iterasi diketahui.
Untuk pengulangan selama kondisi benar (cek di awal).
Minimal 1 kali eksekusi (cek di akhir).
Mari mulai dari tugas sederhana: mencetak angka 1 sampai 5. Ada dua cara melakukannya.
Tulis satu printf untuk setiap angka. Bisa jalan — tapi kodenya repetitif.
printf ditulis hanya 1 kali — loop yang mengulanginya otomatis. Coba ubah angka 5 menjadi 100 lalu Run lagi!
Kedua program di atas menghasilkan output yang sama persis:
| Tugas | Tanpa loop | Dengan loop |
|---|---|---|
| Cetak 1 s.d. 5 | 5 baris printf | 1 baris printf |
| Cetak 1 s.d. 100 | 100 baris printf | 1 baris printf (ubah 5 → 100) |
| Cetak 1 s.d. 1000 | 1000 baris printf | 1 baris printf (ubah 5 → 1000) |
| Ubah format output | Edit semua baris satu-satu | Edit 1 baris saja |
| Panjang kode saat N bertambah | Bertambah terus (N baris) | Tetap sama (selalu 3 baris) |
printf. Kalau ada salah ketik, harus mengecek baris demi baris. Kodenya membengkak dan sulit dirawat.5 menjadi 1000 — satu angka. Panjang kode tetap sama.forFormat: for (inisialisasi; kondisi; increment/decrement)
Alurnya: (1) inisialisasi dijalankan sekali → (2) cek kondisi → (3) jika benar, jalankan blok → (4) increment → (5) kembali ke (2).
whileKondisi dicek sebelum badan loop. Jika kondisi langsung salah, badan loop tidak pernah dijalankan.
i++) → infinite loop (program macet).
do-whileKondisi dicek setelah badan loop — sehingga badan loop pasti berjalan minimal 1 kali, meskipun kondisinya langsung salah.
break dan continueLoop di dalam loop — loop dalam berjalan selesai penuh untuk setiap 1 iterasi loop luar. Klasik: mencetak pola.
| Aspek | for | while | do-while |
|---|---|---|---|
| Cek kondisi | Di awal | Di awal | Di akhir |
| Minimal eksekusi | 0 kali | 0 kali | 1 kali |
| Paling cocok untuk | Jumlah iterasi diketahui | Kondisi tidak pasti | Menu, validasi input (ulang sampai benar) |
| Struktur | Semua di satu baris | Inisialisasi di luar | Inisialisasi di luar |
for. Tidak tahu berapa kali, cek dulu → while. Harus jalan minimal sekali → do-while.
Buatlah program yang:
for.while.for + break.