← Kembali ke kursus
Pelajaran kursus · C#
Pelajaran 10

Perulangan bersarang

Loop dalam loop: koordinat baris dan kolom.

Pahami konsepnya

Loop bersarang adalah loop di dalam loop — dan intuisinya sederhana: untuk TIAP putaran loop luar, loop dalam menyelesaikan seluruh putarannya lebih dulu. Kalau luar berputar 5 kali dan dalam 10, isi dijalankan 50 kali total. Bayangkan jam: jarum menit menunggu jarum detik menuntaskan putaran penuhnya.

Pola khasnya dua variabel berperan sebagai koordinat: i untuk baris, j untuk kolom. Iterasi pertama lahir dari kombinasi keduanya — baris ke-2 kolom ke-3, baris ke-4 kolom ke-1 — menjadikan loop bersarang mesin cetak alami untuk tabel, kotak, dan segitiga ASCII. String builder kecil di dalam loop luar merangkai satu baris utuh sebelum WriteLine mencetaknya.

Menggambar figur menajamkan nalarnya: segitiga bintang berarti j bergantung pada i (kolom bertambah tiap baris), persegi berarti j tetap rentangnya, dan bentuk cekung memakai i untuk batas atas dan bawah sekaligus. Latihan klasik ini melatih mata melihat pola — keterampilan sesungguhnya dari bab ini.

Coba contoh kode

Console.Write("Tinggi segitiga: ");
int tinggi = int.Parse(Console.ReadLine());

for (int i = 1; i <= tinggi; i++)
{
    string baris = "";
    for (int j = 1; j <= i; j++)
    {
        baris += "* ";
    }
    Console.WriteLine(baris);
}

Baris pertama dibangun saat i = 1: loop dalam hanya berputar sekali karena batasnya j <= i. Tiap baris berikut kolomnya bertambah — segitiga tumbuh. Kunci ubahannya ada di batas loop dalam: ganti j <= i dengan j <= tinggi dan segitiga melurus menjadi persegi.

Persegi dan tabel perkalian

// persegi 5x5
for (int i = 1; i <= 5; i++)
{
    for (int j = 1; j <= 5; j++) Console.Write("* ");
    Console.WriteLine();
}

// tabel 5x5
for (int i = 1; i <= 5; i++)
{
    for (int j = 1; j <= 5; j++) Console.Write($"{i * j,4}");
    Console.WriteLine();
}

Dua figur memakai rangka loop yang persis sama — bedanya hanya isi cetakan: bintang tetap versus hasil i*j berkolom rata {,4}. Inilah pelajaran sejatinya: loop bersarang menyediakan kisi baris-kolom, kamu yang memutuskan apa yang ditulis di tiap selnya.

Latihan singkat

Uji: gambar persegi tepi 5×5 — baris pertama/terakhir penuh bintang, tiga baris tengah hanya `*` di ujung.