C# while dan do... while loop
C# while dan do... while loop
Pada artikel ini, kita akan belajar tentang while dan do... while loop di C#, cara menggunakannya dan perbedaannya.
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 belajar menggunakan while loop di C#.
C# while loop
sementara kata kunci digunakan untuk membuat while loop di C#. Sintaks untuk while loop adalah:
while (test-expression)
{
// body of while
}
Bagaimana cara kerja while loop?
- C# while loop terdiri dari
test-expression
.
- Jika
test-expression
dievaluasi menjadi true
, - pernyataan di dalam while loop dieksekusi.
- setelah eksekusi,
test-expression
dievaluasi lagi.
- Jika
test-expression
dievaluasi menjadi false
, perulangan while berakhir.
sementara loop Flowchart
Contoh 1:while Loop
using System;
namespace Loop
{
class WhileLoop
{
public static void Main(string[] args)
{
int i=1;
while (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
Awalnya nilai i adalah 1.
Ketika program mencapai pernyataan while loop,
- ekspresi pengujian
i <=5
dievaluasi. Sejak i adalah 1 dan 1 <= 5
adalah true
, itu mengeksekusi tubuh loop sementara. Di sini, garis dicetak di layar dengan Iterasi 1, dan nilai i meningkat 1 menjadi 2.
- Sekarang, ekspresi uji (
i <=5
) dievaluasi kembali. Kali ini juga, ekspresi mengembalikan true
(2 <=5), sehingga garis tercetak di layar dan nilai i sekarang bertambah menjadi 3..
- Ini berjalan dan loop while dijalankan sampai i menjadi 6. Pada titik ini, ekspresi tes akan dievaluasi menjadi
false
dan karenanya loop berakhir.
Contoh 2:while loop untuk menghitung jumlah 5 bilangan asli pertama
using System;
namespace Loop
{
class WhileLoop
{
public static void Main(string[] args)
{
int i=1, sum=0;
while (i<=5)
{
sum += i;
i++;
}
Console.WriteLine("Sum = {0}", sum);
}
}
}
Saat kita menjalankan program, outputnya adalah:
Sum = 15
Program ini menghitung jumlah 5 bilangan asli pertama.
- Awalnya nilai sum diinisialisasi ke 0.
- Pada setiap iterasi, nilai sum diperbarui ke
sum+i
dan nilai i bertambah 1.
- Ketika nilai i mencapai 6, ekspresi pengujian
i<=5
akan mengembalikan false dan loop berakhir.
Mari kita lihat apa yang terjadi pada program yang diberikan pada setiap iterasi.
Awalnya, i =1, jumlah =0
Langkah-langkah eksekusi loop sementara 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 dari sum akan menjadi 15.
C# do... while loop
lakukan dan sementara kata kunci digunakan untuk membuat perulangan do... while. Ini mirip dengan perulangan while, namun ada perbedaan besar di antara keduanya.
Pada while loop, kondisi diperiksa sebelum body dieksekusi. Ini adalah kebalikan dari do... while loop, yaitu kondisi diperiksa setelah body dieksekusi.
Inilah sebabnya, badan do... while loop akan dieksekusi setidaknya sekali terlepas dari ekspresi pengujian.
Sintaks untuk do... while loop adalah:
do
{
// body of do while loop
} while (test-expression);
Bagaimana ... while loop bekerja?
- Tubuh dari do... while loop dieksekusi terlebih dahulu.
- Kemudian
test-expression
dievaluasi.
- Jika
test-expression
adalah true
, isi loop dieksekusi.
- Saat
test-expression
adalah false
, do... while loop berakhir.
lakukan...sementara loop Flowchart
Contoh 3:do... while loop
using System;
namespace Loop
{
class DoWhileLoop
{
public static void Main(string[] args)
{
int i = 1, n = 5, product;
do
{
product = n * i;
Console.WriteLine("{0} * {1} = {2}", n, i, product);
i++;
} while (i <= 10);
}
}
}
Saat kita menjalankan program, outputnya adalah:
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
Seperti yang kita lihat, program di atas mencetak tabel perkalian suatu bilangan (5).
- Awalnya, nilai i adalah 1. Program, lalu masuk ke badan perulangan do..while tanpa memeriksa kondisi apapun (sebagai lawan dari perulangan while).
- Di dalam tubuh, produk dihitung dan dicetak di layar. Nilai i kemudian bertambah menjadi 2.
- Setelah tubuh loop dieksekusi, ekspresi pengujian
i <= 10
dievaluasi. Secara total, perulangan do... while akan berjalan sebanyak 10 kali.
- Akhirnya, ketika nilai i adalah 11, ekspresi pengujian dievaluasi menjadi
false
dan karenanya mengakhiri loop.
Perulangan while dan do... while tak terbatas
Jika ekspresi pengujian di while dan do... while loop tidak pernah dievaluasi ke false
, badan perulangan akan berjalan selamanya. Loop seperti ini disebut infinite loop.
Misalnya:
Perulangan while tak terbatas
while (true)
{
// body of while loop
}
Lakukan tak terbatas... while loop
do
{
// body of while loop
} while (true);
Perulangan tak terbatas berguna ketika kita membutuhkan perulangan untuk dijalankan selama program kita berjalan.
Misalnya, jika program Anda adalah animasi, Anda harus terus menjalankannya sampai dihentikan. Dalam kasus seperti itu, infinite loop diperlukan untuk terus menjalankan animasi berulang kali.