While, do-while, dan break
Ulangi selama syarat benar — bahkan ketika jumlahnya tak diketahui.
Pahami konsepnya
for pas ketika jumlah putaran sudah terbet. while lahir untuk sisanya: ulangi selama syaratnya benar, berapa kali pun itu. Sintaksnya telanjang — while (syarat) { ... } — dan seluruh kendali ada di tanganmu: variabel penghitung (bila perlu) kamu siapkan sendiri sebelum loop dan maju sendiri di dalamnya. Lupa maju berarti berputar selamanya, kesalahan paling terkenal di dunia loop.
do-while membalik urutan uji: badannya dijalankan dulu sekali, barulah syarat diperiksa. Hasilnya minimal satu putaran — pas untuk menu yang harus tampil sekencang apa pun keadaannya, atau pertanyaan yang wajib dijawab sebelum boleh lanjut.
break keluar dari loop seketika, dan kombinasi klasiknya adalah loop sengaja tanpa henti: while (true) membaca input terus, dan break menghentikannya begitu pengguna mengetik tanda berhenti seperti "selesai" atau angka 0. Pola "baca sampai tanda stop" ini adalah bentuk paling alami memproses data yang panjangnya ditentukan pengguna.
Coba contoh kode
Console.WriteLine("Ketik angka untuk dijumlahkan, 0 untuk berhenti.");
double total = 0;
int banyak = 0;
while (true)
{
Console.Write("> ");
double angka = double.Parse(Console.ReadLine());
if (angka == 0) break;
total += angka;
banyak++;
}
Console.WriteLine($"Total {total} dari {banyak} angka, rata-rata {total / banyak:F2}");Loop sengaja abadi while (true) dijaga oleh break: angka 0 tak pernah masuk hitungan, hanya memutus loop. Akumulator ganda (total dan banyak) memungkinkan rata-rata di akhir — coba 10, 20, 30, lalu 0. Bila ketukan pertama saja 0, pembaginya nol-nol — pelajaran try-catch dan pemeriksaan menyusul menuntaskan kasus ini.
Menu dengan do-while
string pilihan;
do
{
Console.WriteLine("[1] Saldo [2] Setor [3] Keluar");
Console.Write("> ");
pilihan = Console.ReadLine();
if (pilihan == "1") Console.WriteLine("Saldo: Rp250.000");
else if (pilihan == "2") Console.WriteLine("Setoran dicatat!");
}
while (pilihan != "3");
Console.WriteLine("Sampai jumpa!");Menu tampil dulu sekali tanpa syarat — itulah janji do-while — lalu terus berulang selama pilihan bukan "3". Bandingkan versi while-nya: ia harus memeriksa pilihan SEBELUM loop pertama, dan menu tak akan tampil bila variabelnya kebetulan "3" sejak awal.
Latihan singkat
Uji: masukkan `4050` — program harus mencetak persis `4` (jumlah digitnya).