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,
hitung
bernilai 1. Oleh karena itu, ekspresi booleanhiitung <= 3
dievaluasi menjadi benar danstatement
perulangan dieksekusi.Kemudian, hitung
<= 3
dievaluasi / dicek lagi. Sekali lagi, nilainya benar(true
) dan statement perulangan dieksekusi.Ekspresi boolean dievaluasi lagi. Dalam program ini,
hitung <= 3
tidak 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 PERULANGAN
Dalam 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.0
Berikut adalah cara kerja program ini.
Nilai awal dari
total
adalah 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 menjadisalah
dan perulangan berakhir.Terakhir,
total
dicetak 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 = 5
Di 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. hitung
naik 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