Pada artikel ini, kita akan belajar tentang for loop dalam C# dan berbagai cara menggunakannya dalam sebuah program.
Dalam pemrograman, seringkali diinginkan untuk mengeksekusi blok pernyataan tertentu untuk beberapa kali tertentu. Solusi yang mungkin adalah mengetikkan pernyataan-pernyataan itu untuk beberapa kali yang diperlukan. Namun, jumlah pengulangan mungkin tidak diketahui sebelumnya (selama waktu kompilasi) atau mungkin cukup besar (katakanlah 10.000).
Solusi terbaik untuk masalah tersebut adalah loop. Loop digunakan dalam pemrograman untuk berulang kali mengeksekusi blok pernyataan tertentu sampai beberapa kondisi terpenuhi.
Pada artikel ini, kita akan melihat perulangan for di C#.
Contoh 1:C# untuk Loop
using System;
namespace Loop
{
class ForLoop
{
public static void Main(string[] args)
{
for (int i=1; i<=5; i++)
{
Console.WriteLine("C# For Loop: Iteration {0}", i);
}
}
}
}
Saat kita menjalankan program, outputnya adalah:
C# For Loop: Iteration 1
C# For Loop: Iteration 2
C# For Loop: Iteration 3
C# For Loop: Iteration 4
C# For Loop: Iteration 5
Dalam program ini,
initialization
pernyataannya adalah int i=1
condition
pernyataannya adalah i<=5
iterator
pernyataannya adalah i++
Saat program berjalan,
- Pertama, variabel i dideklarasikan dan diinisialisasi ke 1.
- Lalu, syaratnya (
i<=5
) dievaluasi.
- Sejak, kondisi mengembalikan
true
, program kemudian mengeksekusi badan perulangan for. Ini mencetak baris yang diberikan dengan Iterasi 1 (Iterasi berarti pengulangan).
- Sekarang, iteratornya (
i++
) dievaluasi. Ini menambah nilai i ke 2.
- Kondisi (
i<=5
) dievaluasi lagi dan pada akhirnya, nilai i bertambah 1. Kondisi akan dievaluasi menjadi true
untuk 5 kali pertama.
- Ketika nilai i akan menjadi 6 dan kondisinya akan menjadi
false
, maka loop akan berakhir.
Contoh 2:for loop untuk menghitung jumlah n bilangan asli pertama
using System;
namespace Loop
{
class ForLoop
{
public static void Main(string[] args)
{
int n = 5,sum = 0;
for (int i=1; i<=n; i++)
{
// sum = sum + i;
sum += i;
}
Console.WriteLine("Sum of first {0} natural numbers = {1}", n, sum);
}
}
}
Saat kita menjalankan program, outputnya adalah:
Sum of first 5 natural numbers = 15
Di sini, nilai sum dan n diinisialisasi ke 0 dan 5 masing-masing. Variabel iterasi i diinisialisasi ke 1 dan bertambah pada setiap iterasi.
Di dalam for loop, nilai sum bertambah dengan i yaitu sum = sum + i
. Perulangan for berlanjut sampai i kurang dari atau sama dengan n (masukan pengguna).
Mari kita lihat apa yang terjadi pada program yang diberikan pada setiap iterasi.
Awalnya, i =1, jumlah =0 dan n =3
Untuk langkah-langkah eksekusi loop Iterasi | Nilai i | i<=5 | Nilai penjumlahan |
1 | 1 | benar | 0+1 =1 |
2 | 2 | benar | 1+2 =3 |
3 | 3 | benar | 3+3 =6 |
4 | 4 | benar | 6+4 =10 |
5 | 5 | benar | 10+5 =15 |
6 | 6 | salah | Perulangan berakhir |
Jadi, nilai akhir penjumlahan adalah 15 jika n =5.
Beberapa ekspresi di dalam for loop
Kita juga dapat menggunakan beberapa ekspresi di dalam for loop. Ini berarti kita dapat memiliki lebih dari satu pernyataan inisialisasi dan/atau iterator dalam perulangan for. Mari kita lihat contohnya di bawah ini.
Contoh 3:for loop dengan beberapa inisialisasi dan ekspresi iterator
using System;
namespace Loop
{
class ForLoop
{
public static void Main(string[] args)
{
for (int i=0, j=0; i+j<=5; i++, j++)
{
Console.WriteLine("i = {0} and j = {1}", i,j);
}
}
}
}
Saat kita menjalankan program, outputnya adalah:
i = 0 and j = 0
i = 1 and j = 1
i = 2 and j = 2
Dalam program ini, kami telah mendeklarasikan dan menginisialisasi dua variabel:i dan j dalam pernyataan inisialisasi.
Juga, kami memiliki dua ekspresi di bagian iterator. Itu berarti keduanya i dan j bertambah 1 pada setiap iterasi.
Untuk loop tanpa inisialisasi dan pernyataan iterator
Inisialisasi, kondisi, dan pernyataan iterator adalah opsional dalam perulangan for. Artinya, kita juga dapat menjalankan perulangan for tanpa pernyataan ini.
Dalam kasus seperti itu, for loop bertindak sebagai loop while. Mari kita lihat contohnya di bawah ini.
Contoh 4:for loop tanpa inisialisasi dan pernyataan iterator
using System;
namespace Loop
{
class ForLoop
{
public static void Main(string[] args)
{
int i = 1;
for ( ; i<=5; )
{
Console.WriteLine("C# For Loop: Iteration {0}", i);
i++;
}
}
}
}
Saat kita menjalankan program, outputnya adalah:
C# For Loop: Iteration 1
C# For Loop: Iteration 2
C# For Loop: Iteration 3
C# For Loop: Iteration 4
C# For Loop: Iteration 5
Dalam contoh ini, kami tidak menggunakan pernyataan inisialisasi dan iterator.
Variabel i diinisialisasi di atas for loop dan nilainya bertambah di dalam badan loop. Program ini sama dengan yang ada di Contoh 1.
Demikian pula, kondisi juga merupakan pernyataan opsional. Namun jika kita tidak menggunakan ekspresi pengujian, loop for tidak akan menguji kondisi apapun dan akan berjalan selamanya (infinite loop).
Perulangan tak terbatas
Jika kondisi dalam perulangan for selalu benar, perulangan for akan berjalan selamanya. Ini disebut perulangan tak terbatas.
Contoh 5:Perulangan tak terbatas
using System;
namespace Loop
{
class ForLoop
{
public static void Main(string[] args)
{
for (int i=1 ; i>0; i++)
{
Console.WriteLine("C# For Loop: Iteration {0}", i);
}
}
}
}
Di sini, i diinisialisasi ke 1 dan kondisinya i>0
. Pada setiap iterasi kami menambahkan nilai i dengan 1, jadi kondisinya tidak akan pernah menjadi false
. Ini akan menyebabkan loop dijalankan tanpa batas.
Kita juga dapat membuat infinite loop dengan mengganti kondisi dengan kosong. Misalnya,
for ( ; ; )
{
// body of for loop
}
atau
for (initialization ; ; iterator)
{
// body of for loop
}