Banner Java

Perulangan while

Di dalam perulangan while, pernyataan atau blok pernyataan yang terletak di antara tanda opening braces ({) dan closing braces (}) akan dieksekusi selama ekspresiboolean bernilai true. Berikut ini adalah sintaksis penulisan perulangan while:

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 }. Bila pernyataan yang dieksekusi tunggal (hanya ada satu pernyataan), tanda { dan } dapat dihilangkan. Bila pernyataan yang akan dieksekusi lebih dari satu, maka tanda { dan } harus disertakan. Berikut ini adalah bagan alir dari perulangan while:

ekspresiboolean di perulangan while akan selalu dievaluasi sebelum mengeksekusi pernyataan atau blok pernyataan. Apabila hasil evaluasi ekspresiboolean bernilai true, maka pernyataan atau blok pernyataan akan tetap dieksekusi. Sebaliknya, bila bernilai false, maka pernyataan atau blok pernyataan tidak akan dieksekusi. Eksekusi kemudian berlanjut ke pernyataan berikutnya atau pernyataan setelah tanda closing braces (}). Berikut ini adalah penggalan program untuk menampilkan nama sebanyak 50 kali di jendela 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. Apabila bernilai boolean true, maka blok pernyataan di antara tanda { dan } akan dieksekusi yaitu menampilkan string “Hindro Hindrianto” dan menambah nilai variabel hitung dengan 1. Blok pernyataan tersebut akan terus dieksekusi ulang selama ekpresi boolean (hitung <= 50) bernilai true (50 kali). Saat ekspresi boolean (hitung <= 50) bernilai false, perulangan akan berakhir dan kontrol program menuju ke pernyataan setelah blok perulangan while.

Perlu dipastikan bahwa ekspresiboolean 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 tanpa henti, Anda dapat menekan tombol CTRL+C.

Berikut ini adalah contoh program menghitung nilai rata-rata siswa sekolah. Jumlah pelajaran yang nilai rata-ratanya akan dihitung, ditentukan lewat kotak dialog input. Jika jumlahPelajaran < 1, maka program akan berakhir dan kembali ke jendela Command Prompt. Setelah jumlah pelajaran ditentukan, nilai-nilai pelajaran seorang siswa akan diinput lewat kotak dialog input dan kemudian dihitung rata-ratanya.

// 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 = 0;
      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

 

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.