Perulangan menggunakan while pada bahasa pemrograman Java

This entry is part 7 of 9 in the series Pengantar Pemrograman Java

While melakukan eksekusi kode secara berulang berdasarkan nilai kebenaran ekspresi tertentu.

Struktur

Struktur perulangan menggunakan while adalah sebagai berikut.

while (ekspresi) {
    // Kode yang dieksekusi
    // jika ekspresi bernilai true
   }

Berikut adalah mekanisme kerjanya:

  • Jika saat memasuki struktur while ekspresi bernilai true, maka kode di dalamnya akan dieksekusi. 
  • Setelah baris terakhir pada struktur dieksekusi, ekspresi akan dievaluasi lagi. Bila masih bernilai true, kode di dalamnya akan kembali dieksekusi.
  • Hal ini terus berlangsung hingga ekspresi bernilai false.
  • Jika saat memasuki struktur while ekspresi bernilai false, kode tidak akan dieksekusi sama sekali.

Sebagai alternatif perulangan menggunakan for

Struktur while dapat digunakan sebagaimana penggunaan struktur for. Cuplikan kode berikut menunjukkan beberapa contoh perulangan dengan struktur while. Contoh-contoh tersebut melakukan hal yang sama dengan contoh sebelumnya yang menggunakan struktur for. Jalankan langsung kode tersebut pada replit untuk lebih jelasnya.

int i = 0;
while ( i < 4 ) {
   System.out.println(i);
   i++;
}
i = 1;
while ( i <= 5 ) {
   System.out.println(i);
   i++; // ini sama artinya dengan i = i + 1
}
i = 3;
while (i<10) {
     System.out.println(i);
     i=i+3; // ini bisa diganti dengan i+=3
}

Berhenti sesuai input dari user

Keunggulan perulangan dengan while adalah dapat melakukan perulangan dalam jumlah yang belum pasti. Contoh pada cuplikan kode berikut adalah perulangan menggunakan while yang jumlah kali perulangannya bergantung pada input user. Kode dalam struktur akan terus dijalankan berulang selama user memilih memasukkan karakter ‘Y’ atau ‘y’. Jalankan langsung kode tersebut pada replit untuk lebih jelasnya.

   String text = "Saya sedang belajar perulangan menggunakan while";
   String lagi = "y";
   while (lagi.equalsIgnoreCase("y")) {
     System.out.println(text);
     System.out.println("Lagi? (Y/T): ");
     lagi = System.console().readLine();
     System.out.println();
   }
   System.out.println("Perulangan dihentikan");

Berhenti karena tercapainya kondisi tertentu

Contoh lain penggunaan while adalah saat perulangan baru berhenti jika kondisi tertentu tercapai. Cuplikan kode berikut adalah sebuah permainan tanya jawab perkalian untuk dua bilangan di bawah 10. Pada permainan ini, user diminta menjawab soal berturut turut. Permainan dimenangkan bila user sudah menjawab 7 kali secara benar, dan kalah bila dua kali menjawab salah. Jalankan kode utuhnya pada replit, cobalah mengganti nilai beberapa variabel untuk lebih memahami kode program.

while ( benar < 7 && salah < 2 ) {
     bil1 = ThreadLocalRandom.current().nextInt(1, 10);
     bil2 = ThreadLocalRandom.current().nextInt(1, 10);
     kunci = bil1 * bil2;
     System.out.println(bil1+" x "+bil2+" = ? ");
     String input = System.console().readLine();
     jawaban = Integer.parseInt(input);
     if (jawaban == kunci) {
       benar++;
       System.out.println("Benar : "+benar+" kali");
     } else {
       salah++;
       System.out.println("Salah : "+salah+" kali");
     }
   }

Infinite loop

Infinite loop atau disebut juga endless loop adalah perulangan yang dirancang tidak berhenti sama sekali, kecuali jika terjadi intervensi tertentu. 

Infinite loop digunakan untuk biasanya untuk proses daemon (proses di belakang layar/background) atau services, pada kode yang menjalankan hardware/embedded devices, atau pada fungsi main sebuah game. Infinite loop menggunakan struktur while dibuat dengan menggunakan nilai true sebagai syarat perulangan. Contoh berikut menggunakan while dengan ekspresi bernilai true untuk mencetak “Hello” secara terus menerus tiap 5 detik. Jalankan kode tersebut di replit untuk lebih jelasnya.

while (true) {
     System.out.println("Hello ke-"+i);
     i++;
     try {
       TimeUnit.SECONDS.sleep(5);
     } catch (Exception x) {
       x.printStackTrace();
     }


Semoga bermanfaat,

Salam

Series Navigation<< Perulangan menggunakan for pada bahasa pemrograman JavaArray pada bahasa pemrograman Java >>

You may also like...

Berikan komentar