While loop
Sintaks dari perulangan while adalah:
while (booleanExpression) {
// statement(s)
}Cara kerja kodenya :
Perulangan while mengevaluasi / mengecek ekspresi boolean. Jika ekspresinya benar(true), maka statements dari perulangan while akan dieksekusi. Pada titik ini, mirip dengan pernyataan if.
Namun, berbeda dengan pernyataan if, ekspresi boolean diperiksa lagi. Jika ekspresinya masih benar, statements perulangan akan dieksekusi lagi.
Proses ini akan berlanjut sampai ekspresi boolean menjadi salah(false). Jika ekspresi boolean menjadi salah(false), maka perulangan akan berakhir.
Terlihat sulit? Ayo kita coba memahaminya dengan bantuan contoh.
class Main {
public static void main(String[] args) {
// deklarasi variable
int hitung = 1;
// while loop
while(hitung <= 3) {
System.out.println("Ini didalam perulangan");
System.out.println("Perulangan menarik");
}
}
}Output
Ini didalam perulangan
Perulangan menarik
Ini didalam perulangan
Perulangan menarik
...
...Ayo kita analisis apa yang dilakukan oleh program ini.
Di sini,
hitungbernilai 1. Oleh karena itu, ekspresi booleanhiitung <= 3dievaluasi menjadi benar danstatementperulangan dieksekusi.Kemudian, hitung
<= 3dievaluasi / dicek lagi. Sekali lagi, nilainya benar(true) dan statement perulangan dieksekusi.Ekspresi boolean dievaluasi lagi. Dalam program ini,
hitung <= 3tidak pernah menjadi salah(false), sehingga perulangan berjalan selamanya.
Ini disebut perulangan tak terbatas karena ekspresi boolean tidak pernah menjadi salah (false); perulangan berjalan selamanya dan kode setelah perulangan tidak pernah dieksekusi.
Namun, daripada menjalankan perulangan selamanya, kita ingin perulangan berakhir pada suatu titik tertentu.
Selanjutnya, kita akan membuat perulangan yang berakhir setelah berjalan untuk jumlah kali tertentu.
Contoh
Kita akan menggunakan kode yang sama untuk di modifikasi.
class Main {
public static void main(String[] args) {
// deklarasi variable
int hitung = 1;
// while loop
while(hitung <= 3) {
System.out.println("Ini didalam perulangan");
System.out.println("Perulangan menarik");
}
}
}
Di sini, ekspresi boolean hitung <= 3 tidak pernah salah karena nilai hitung selalu 1. Jadi, perulangan ini berlanjut selamanya.
Untuk menjalankan perulangan ini hanya untuk beberapa kali, kita harus menambah nilai hitung di dalam statement perulangan sehingga hitung <= 3 akhirnya menjadi false. Begini caranya:
class Main {
public static void main(String[] args) {
// deklarasi variabel
int count = 1;
// while loop
while(hitung <= 3) {
System.out.println("Ini didalam perulangan");
System.out.println("Perulangan menarik");
hitung = hitung + 1;
}
// kode diluar perulangan
System.out.println("DILUAR PERULANGAN");
}
}Output
Ini didalam perulangan
Perulangan menarik
Ini didalam perulangan
Perulangan menarik
Ini didalam perulangan
Perulangan menarik
DILUAR PERULANGANDalam program diatas, kita telah menambahkan pernyataan hitung = hitung + 1 untuk meningkatkan nilai hitung sebesar 1 setiap kali iterasi perulangan.
Berikut ini cara kerja programnya.
hitung = 1
true
Statement dicetak.
hitung naik menjadi 2.
hitung = 2
true
Statement dicetak.
hitung naik menjadi 3.
hitung = 3
true
Statement dicetak.
hitung naik menjadi 4.
hitung = 4
false
Perulangan berhenti
Setelah perulangan selesai, System.out.println("DILUAR PERULANGAN"); di eksekusi karena diluar perulangan.
Diagram alur kerja perulangan while
Contoh program
Dalam program ini, kita akan menambahkan angka-angka yang dimasukkan oleh pengguna sampai pengguna memasukkan angka 0. Jika pengguna memasukkan 0, kita akan mengakhiri perulangan dan mencetak totalnya.
source code
public class Example1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// nilai awal variabel total ke 0
double total = 0;
// mengambil inputan dari user
System.out.println("Masukkan angka : ");
double n = input.nextDouble();
// perulangan hingga n tidak sama dengan 0
while (n != 0) {
// tambahkan nilai n ke total
total = total + n;
// ambil inputan dari user lagi
System.out.println("Masukkan angka : ");
n = input.nextDouble();
}
// cetak total
System.out.println("Hasil:" + total);
}
}Output
Masukkan angka :
1
Masukkan angka :
2
Masukkan angka :
3
Masukkan angka :
0
Hasil:6.0Berikut adalah cara kerja program ini.
Nilai awal dari
totaladalah 0.Kemudian, kita meminta pengguna untuk memasukkan angka dan menyimpannya dalam variabel n.
Jika n bukan 0, angka tersebut ditambahkan ke variabel total dan input angka diambil kembali dan disimpan dalam n.
Proses ini terus berlanjut sampai pengguna memasukkan angka 0.
Jika pengguna memasukkan 0, kondisi perulangan,
n != 0, akan menjadisalahdan perulangan berakhir.Terakhir,
totaldicetak hanya sekali di luar perulangan.
do...while Loop
Di Java, ada versi lain dari while loop yang dikenal sebagai do… while loop.
sintaks do...while loop.
do {
// kode kamu
} while (booleanExpression);Cara kerja kode ini.
Pertama, statement di dalam /body perulangan do...while (ditandai dengan kurung kurawal) dieksekusi.
Kemudian, ekspresi boolean dievaluasi. Jika ekspresi boolean
benar (
true) - statement di dalam / body perulangan dieksekusi lagi.salah (
false) - perulangan berakhir.
Ayo coba satu contoh untuk lebih memahaminya.
Contoh
Kita akan membuat program untuk mencetak angka 1 sampai 5.
class Contoh1 {
public static void main(String[] args) {
int hitung = 1;
do {
System.out.println("Hitung = " + 1);
hitung = hitung + 1;
} while (hitung <= 5);
}
}Output
Hitung = 1
Hitung = 2
Hitung = 3
Hitung = 4
Hitung = 5Di sini, kita telah menambahkan pernyataan hitung = hitung + 1; untuk mencegah perulangan do...while yang tak terbatas seperti halnya perulangan while.
Cara kerja kode ini pada setiap iterasi perulangan.
p.
hitung = 1
Hitung = 1 dicetak. hitung naik menjadi 2.
true
hitung = 2
Hitung = 2 dicetak. hitungnaik menjadi 3.
true
hitung = 3
Hitung = 3 dicetak. hitung naik menjadi 4.
true
hitung = 4
Hitung= 4 dicetak. hitung naik menjadi 5.
true
hitung = 5
Hitung= 5 dicetak. hitung naik menjadi 6.
false (perulangan berhenti)
Last updated