Dasar Pemrograman Java: Perulangan WHILE dan DO-WHILE

Selain FOR loop yang jumlahnya pasti, Java menyediakan perulangan kondisional yang fleksibel, yaitu WHILE dan DO-WHILE. Perulangan ini sangat penting ketika Anda tidak tahu pasti berapa kali sebuah aksi harus diulang; perulangan akan terus berjalan selama sebuah kondisi (true) terpenuhi.

1. Perulangan WHILE (Pre-Test Loop)

Perulangan WHILE adalah bentuk perulangan yang paling dasar dan universal di Java. Perulangan ini menguji kondisi di awal blok.

Prinsip Kerja (Uji Awal)

  • Pengecekan di Awal: Program akan memeriksa kondisi di dalam while (kondisi) terlebih dahulu.
  • Eksekusi Minimal: Jika kondisi awal sudah false, badan perulangan tidak akan dieksekusi sama sekali (0 kali).
  • Sintaks: while (suatu kondisi) perintah.

Contoh Dasar:

public class whiile {
  public static void main(String[] args) {
    int i = 0;
    while (i < 5) // Kondisi diuji sebelum masuk loop
    {
      System.out.println(i);
      i++; // Pastikan ada update agar loop berhenti
    }
  }
}
// Output: 0, 1, 2, 3, 4

Implementasi Dinamis dengan Scanner

Anda dapat menggunakan WHILE untuk mengulang proses input sejumlah data yang ditentukan oleh pengguna.

import java.util.Scanner;

public class rt {
  public static void main(String[] args) {
    Scanner SC = new Scanner(System.in);
    System.out.print("Masukkan jumlah data: ");
    int jumlah = SC.nextInt();
    
    int i = 1;
    while (i <= jumlah) // Loop berjalan selama i belum mencapai jumlah
    {
      System.out.print(i + " ");
      i++;
    }
  }
}

WHILE Bersarang (Nested WHILE)

WHILE dapat digunakan secara bersarang untuk membuat pola.

public class whiile {
  public static void main(String[] args) {
    int i = 2; // Loop Luar (Baris)
    while (i < 8) {
      int j = 1; // Inisialisasi loop dalam
      while (j < i) { // Loop Dalam (Kolom): j < i
        System.out.print(j);
        j++;
      }
      System.out.println(" "); // Pindah baris
      i++;
    }
  }
}

Logika Output: Ketika i=2, j mencetak 1. Ketika i=3, j mencetak 12, dan seterusnya, hingga i=7 ().

2. Perulangan DO-WHILE (Post-Test Loop)

Pernyataan DO-WHILE pada dasarnya merupakan pernyataan WHILE terbalik.

Prinsip Kerja (Uji Akhir)

  • Eksekusi Minimum: Aksi di dalam blok do { ... } akan dieksekusi minimal satu kali sebelum kondisi diuji.
  • Pengecekan di Akhir: Kondisi di dalam while (kondisi) diperiksa setelah iterasi pertama selesai.
  • Sintaks: do perintah while (suatu kondisi);.

Contoh Dasar:

class DoWhile1 {
  public static void main(String[] args) {
    int i = 0;
    do {
      i++;
      System.out.println(i);
    } while (i < 10); // Kondisi diuji setelah badan do{}
  }
}
// Output: 1, 2, 3, ..., 10

Contoh Kasus: Program Berulang

DO-WHILE ideal untuk program yang harus berjalan setidaknya sekali sebelum menanyakan apakah pengguna ingin mengulang.

// Contoh potongan kode untuk mengulang perhitungan
do {
  // 1. Lakukan Perhitungan (Input Angka 1 & 2)
  // 2. Tampilkan Hasil (Penjumlahan, Pengurangan, dll.)
  
  System.out.print("\nUlang (y/n) = ");
  String u = input.next();
} while (u.equals("y")); // Ulangi selama pengguna mengetik 'y'

Karena do berjalan dulu, pengguna akan selalu melihat hasil perhitungan sebelum ditanya untuk mengulang.

Kesimpulan: WHILE vs. DO-WHILE

FiturWHILEDO-WHILE
PengecekanAwal (Pre-Test)Akhir (Post-Test)
Eksekusi Minimal0 kali1 kali
Kapan DipilihKetika keharusan menguji kondisi sebelum menjalankan aksi, misalnya menguji ketersediaan file sebelum membukanya.Ketika aksi harus berjalan minimal sekali, misalnya menampilkan menu utama program sebelum menanyakan pilihan exit.