Menu
CoddyTech

Nested Loop

Termasuk bagian Dasar-Dasar dalam perjalanan C# di Coddy. Pelajaran 46 dari 69.

Perulangan bersarang adalah perulangan di dalam perulangan lain. Perulangan dalam akan menyelesaikan semua iterasinya untuk setiap satu iterasi perulangan luar.

Analogi yang bagus untuk hal ini adalah jam: untuk setiap jam (perulangan luar), jarum menit (perulangan dalam) harus menyelesaikan siklus penuh selama 60 menit.

Contoh perulangan bersarang:

int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
	for (int y = 0; y < cols; y++) {
		Console.WriteLine(x + " " + y);
	}
}

// Ini akan menghasilkan output:
// 0 0
// 0 1
// 1 0
// 1 1

Perulangan luar (x) berjalan sebanyak rows kali, dan untuk setiap kali itu, perulangan dalam (y) berjalan sebanyak cols kali, sehingga isi perulangan dalam dijalankan sebanyak 2 × 2 = 4 kali. Setiap perulangan memiliki penghitung sendiri: y dimulai lagi dari 0 setiap kali perulangan luar berjalan, sedangkan rows dan cols tetap sama dan hanya memberi tahu perulangan kapan harus berhenti.

Kamu mungkin juga memerlukan Console.Write() saat bekerja dengan perulangan bersarang. Berbeda dengan Console.WriteLine(), yang mencetak teks lalu berpindah ke baris baru, Console.Write() mencetak teks tanpa menambahkan baris baru di akhir. Dengan begitu, kamu bisa menyusun output pada baris yang sama:

for (int y = 0; y < 4; y++) {
	Console.Write("* ");
}
Console.WriteLine();

// Ini akan menghasilkan output:
// * * * * 

Di sini, Console.Write() terus mencetak pada baris yang sama, dan Console.WriteLine() di akhir berpindah ke baris berikutnya.

challenge icon

Tantangan

Pemula

Tulis program yang mencetak persegi panjang dari tanda bintang (*) dengan lebar dan tinggi tertentu.

Input: Dua bilangan bulat: width dan height

Contoh:

Jika width = 5 dan height = 3, output-nya adalah:

*****
*****
*****

Jika width = 4 dan height = 6, output-nya adalah:

****
****
****
****
****
****

Gunakan counter baru untuk setiap perulangan (misalnya i untuk baris dan j untuk tanda bintang dalam satu baris), lalu bandingkan dengan height atau width. Jangan ubah height dan width itu sendiri: setiap baris membutuhkan width lagi.

Coba sendiri

using System;

public class Program {
    public static void Main(string[] args) {
        int width = int.Parse(Console.ReadLine());
        int height = int.Parse(Console.ReadLine());
        // Tulis kodemu di bawah ini

    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler C# online