Menampilkan daftar menu kantin, menjumlahkan harga belanjaan, atau memproses nilai ujian satu per satu: semua pekerjaan itu berulang pada setiap elemen array. C# menyediakan dua pola iterasi utama. For loop memberi akses penuh ke indeks, sedangkan foreach menyerahkan urutan penelusuran kepada runtime dan membuat kode lebih ringkas.
For Loop Ketika Indeks Dibutuhkan #
Pencetakan daftar bernomor membutuhkan posisi elemen. Kondisi loop memanfaatkan properti Length agar tetap benar meskipun jumlah elemen berubah:
string[] menuKantin = { "Nasi goreng", "Mie ayam", "Soto ayam", "Gado-gado" };
for (int i = 0; i < menuKantin.Length; i++)
{
Console.WriteLine($"{i + 1}. {menuKantin[i]}");
}Output yang Dihasilkan:
1. Nasi goreng
2. Mie ayam
3. Soto ayam
4. Gado-gadoMari kita telaah baris demi baris:
- Baris 1: Array
menuKantinmemuat empat nama menu sebagai sumber data. - Baris 3 (
for (int i = 0; i < menuKantin.Length; i++)): Counteridimulai dari0dan berhenti sebelum mencapaiLength, sehingga rentang indeks yang sah tidak pernah terlewati. - Baris 5: Interpolasi
{i + 1}menghasilkan nomor urut mulai dari1, dan{menuKantin[i]}membaca elemen pada posisii.
Foreach untuk Pembacaan Berurutan #
Bila perhitungan tidak memerlukan posisi, foreach menghilangkan counter dan mengurangi peluang kesalahan indeks. Penjumlahan harga berikut hanya menumpuk nilai ke variabel total:
int total = 0;
int[] hargaMenu = { 15000, 12000, 13000, 8000 };
foreach (int harga in hargaMenu)
{
total += harga;
}
Console.WriteLine($"Total semua harga: {total}");Output yang Dihasilkan:
Total semua harga: 48000Foreach menambahkan 15000, 12000, 13000, dan 8000 ke total, sehingga pencetakan menampilkan 48000. Variabel harga mewakili nilai elemen saat itu, bukan posisinya.
Menelusuri dari Belakang #
For loop juga menelusuri array secara mundur. Counter dimulai dari Length - 1, berkurang setiap putaran, dan berhenti setelah indeks 0:
for (int i = menuKantin.Length - 1; i >= 0; i--)
{
Console.WriteLine(menuKantin[i]);
}Output yang Dihasilkan:
Gado-gado
Soto ayam
Mie ayam
Nasi gorengUrutan cetakan terbalik dibanding contoh pertama karena counter bergerak dari indeks 3 menuju 0. Pola mundur ini berguna untuk data yang disimpan berurutan waktu terbaru lebih dahulu.
Satu perbedaan perilaku perlu dicatat: for loop boleh menulis elemen di dalam body, misalnya menuKantin[i] = "Bakso", sedangkan variabel foreach bersifat hanya-baca selama iterasi. Bila elemen perlu diubah nilainya, for loop berdasarkan indeks adalah pilihan yang tepat.