Master Nested Loops di C#:Penjelasan For, While, dan Do-While
Perulangan di dalam perulangan lain disebut perulangan bersarang. Seperti inilah tampilan loop bersarang:
Outer-Loop
{
// body of outer-loop
Inner-Loop
{
// body of inner-loop
}
... ... ...
}
Seperti yang Anda lihat, lingkaran luar membungkus lingkaran dalam . Loop dalam adalah bagian dari loop luar dan harus dimulai dan diakhiri di dalam badan loop luar.
Pada setiap iterasi loop luar, loop dalam dieksekusi sepenuhnya.
Perulangan for bersarang
Perulangan for di dalam perulangan for lainnya disebut perulangan for bersarang.
Misalnya:
for (int i=0; i<5; i++)
{
// body of outer for loop
for (int j=0; j<5; j++)
{
// body of inner for loop
}
// body of outer for loop
}
Contoh 1:Bersarang untuk Loop
using System;
namespace Loop
{
class NestedForLoop
{
public static void Main(string[] args)
{
int outerLoop = 0, innerLoop = 0;
for (int i=1; i<=5; i++)
{
outerLoop ++;
for (int j=1; j<=5; j++)
{
innerLoop++;
}
}
Console.WriteLine("Outer Loop runs {0} times", outerLoop);
Console.WriteLine("Inner Loop runs {0} times", innerLoop);
}
}
}
Saat kita menjalankan program, outputnya adalah:
Outer Loop runs 5 times
Inner Loop runs 25 times
Dalam program ini, loop luar dijalankan sebanyak 5 kali. Setiap kali loop luar berjalan, loop dalam berjalan sebanyak 5 kali sehingga berjalan sebanyak 25 kali.
Contoh 2:Bersarang untuk Pola Loop ke Cetak
using System;
namespace Loop
{
class NestedForLoop
{
public static void Main(string[] args)
{
for (int i=1; i<=5; i++)
{
for (int j=1; j<=i; j++)
{
Console.Write(j + " ");
}
Console.WriteLine();
}
}
}
}
Saat kita menjalankan program, outputnya adalah:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Perulangan while bersarang
Perulangan while di dalam perulangan while lainnya disebut perulangan while bersarang.
Misalnya:
while (condition-1)
{
// body of outer while loop
while (condition-2)
{
// body of inner while loop
}
// body of outer while loop
}
Contoh 3:Bersarang sambil Loop
using System;
namespace Loop
{
class NestedWhileLoop
{
public static void Main(string[] args)
{
int i=0;
while (i<2)
{
int j=0;
while (j<2)
{
Console.Write("({0},{1}) ", i,j);
j++;
}
i++;
Console.WriteLine();
}
}
}
}
Saat kita menjalankan program, outputnya adalah:
(0,0) (0,1)
(1,0) (1,1)
Perulangan do-sementara bertumpuk
Perulangan do-sementara di dalam perulangan do-sementara lainnya disebut perulangan do-sementara bersarang.
Misalnya:
do
{
// body of outer while loop
do
{
// body of inner while loop
} while (condition-2);
// body of outer while loop
} while (condition-1);
Contoh 4:Perulangan do-sementara bertumpuk
using System;
namespace Loop
{
class NestedWhileLoop
{
public static void Main(string[] args)
{
int i=0;
do
{
int j=0;
do
{
Console.Write("({0},{1}) ", i,j);
j++;
} while (j<2);
i++;
Console.WriteLine();
} while (i<2);
}
}
}
Saat kita menjalankan program, outputnya adalah:
(0,0) (0,1)
(1,0) (1,1)
Perulangan bersarang dalam dan luar yang berbeda
Tidak wajib untuk menyarangkan jenis loop yang sama. Kita dapat menempatkan perulangan for di dalam perulangan while atau perulangan do- while di dalam perulangan for.
Contoh 5:C# Nested Loop:Loop dalam dan luar yang berbeda
using System;
namespace Loop
{
class NestedLoop
{
public static void Main(string[] args)
{
int i=1;
while (i<=5)
{
for (int j=1; j<=i; j++)
{
Console.Write(i + " ");
}
Console.WriteLine();
i++;
}
}
}
}
Saat kita menjalankan program, outputnya adalah:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Pada program di atas, perulangan for ditempatkan di dalam perulangan while. Kita dapat menggunakan berbagai jenis loop di dalam satu loop.