while (ekspresiboolean) { // Loop body pernyataan; } Pernyataan berikutnya;
ekspresiboolean harus diletakkan di antara tanda kurung buka dan kurung tutup, sedang pernyataan atau blok pernyataan diletakkan di antara tanda { dan }. Jika hanya pernyataan tunggal atau hanya ada satu pernyataan yang dieksekusi, tanda { dan } dapat dihilangkan, namun jika ada lebih dari satu pernyataan yang dieksekusi, tanda { dan } harus disertakan.
Berikut ini adalah bagan alir perulangan while di Java:
ekspresiboolean di perulangan while selalu dievaluasi sebelum mengeksekusi pernyataan atau blok pernyataan. Jika hasil evaluasi ekspresiboolean bernilai true, pernyataan atau blok pernyataan terus dieksekusi. Sebaliknya, jika bernilai false, pernyataan atau blok pernyataan tidak dieksekusi. Eksekusi kemudian berlanjut ke pernyataan berikutnya atau pernyataan setelah tanda closing braces (}).
Berikut ini adalah penggalan kode program untuk menampilkan nama sebanyak 50 kali di Command Prompt:
int hitung = 1; while ( hitung <= 50) { System.out.println("Hindro Hindrianto"); hitung++; }
Dari penggalan kode program di atas, variabel hitung diberi nilai awal 1. Kemudian perulangan while mengevaluasi apakah ekspresi boolean (hitung <= 50) bernilai true atau false. Jika bernilai true, blok pernyataan diantara tanda { dan } dieksekusi yaitu menampilkan string Hindro Hindrianto dan juga menambah nilai variabel hitung dengan 1.
Blok pernyataan tterus dieksekusi selama ekpresi boolean (hitung <= 50) bernilai true (50 kali). Saat ekspresi boolean (hitung <= 50) bernilai false, perulangan berakhir dan kontrol program menuju ke pernyataan setelah blok perulangan while.
Baca artikel Perulangan do-while Di Java
Perlu dipastikan bahwa ekspresiboolean pada akhirnya harus bernilai false, sehingga program dapat berakhir. Programer terkadang lupa menulis hitung++ untuk menambah nilai variabel hitung dengan 1 sehingga program melakukan eksekusi pernyataan atau blok pernyataan terus-menerus tanpa henti (infinite loop). Untuk mengakhiri proses eksekusi yang tanpa henti, gunakan kombinasi tombol CTRL+C.
Baca artikel:
Berikut ini adalah contoh program menghitung nilai rata-rata siswa sekolah. Jumlah pelajaran yang nilai rata-ratanya dihitung, ditentukan lewat kotak dialog input. Jika jumlahPelajaran < 1, program berakhir dan kembali ke Command Prompt. Setelah jumlah pelajaran ditentukan, nilai pelajaran siswa diinput lewat kotak dialog input dan kemudian menghitung rata-ratanya.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | // Nama file : NilaiRata2.java // Menghitung nilai rata-rata seorang siswa // Mengimpor kelas import javax.swing.JOptionPane; import java.text.DecimalFormat; //Deklarasi kelas NilaiRata2 public class NilaiRata2 { public static void main(String[] args) { // Deklarasi veriabel int jumlahPelajaran, perulangan; String strJumlahPelajaran, strNilai; double nilai, jumlah, rata2; // Memberi nilai awal ke variabel perulangan = 1; jumlah = 0; // Input jumlah siswa strJumlahPelajaran = JOptionPane.showInputDialog(null, "Masukkan jumlah pelajaran!", "Jumlah Pelajaran", JOptionPane.QUESTION_MESSAGE); // konversi ke integer jumlahPelajaran = Integer.parseInt(strJumlahPelajaran); if (jumlahPelajaran < 1) System.exit(0); // Input nilai siswa while (perulangan <= jumlahPelajaran) { // Input nilai siswa strNilai = JOptionPane.showInputDialog(null, "Masukkan nilai pelajaran ke " + perulangan, "Nilai Pelajaran", JOptionPane.QUESTION_MESSAGE); // Konversi ke Integer nilai = Double.parseDouble(strNilai); jumlah = jumlah + nilai; perulangan = perulangan + 1; } // Akhir pernyataan while // Membuat obyek untuk memformat angka DecimalFormat duaAngka = new DecimalFormat("0.00"); rata2 = jumlah / jumlahPelajaran; JOptionPane.showMessageDialog(null, "Jumlah pelajaran : " + jumlahPelajaran + "\nTotal nilai pelajaran : " + duaAngka.format(jumlah) + "\nNilai rata-rata : " + duaAngka.format(rata2), "Nilai Rata-Rata Siswa", JOptionPane.INFORMATION_MESSAGE); // Mengakhiri program GUI System.exit(0); } // Akhir metoda main } // Akhir kelas NilaiRata2 |