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 boolean hiitung <= 3 dievaluasi menjadi benar dan statement 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.

Variable
hitung <= 3
statement di dalam loop

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

Drawing
diagram 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 menjadi salah 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.

Variable
Statement didalam perulangan
i <= 5

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