Rabu, 02 November 2011

Menggunakan kelas JOptionPane pada Pemrograman Java (PEMULA)

Tanya: Mengapa menggunakan JOptionPane?
Jawab: Agar memudahkan pengguna untuk memasukan data dan melihat hasil keluarannya.

Kelas JOptionPane merupakan kelas dari paket swing. Objek JOptionPane merupakan form berbentuk GUI dialog (jendela input/konfirmasi/informasi) yang dapat berfungsi sebagai:
1. Jendela pesan informasi (JOptionPane.showMessageDialog())
2. Jendela nilai masukan (JOptionPane.showInputDialog())
3. Jendela konfirmasi (JOptionPane.showConfirmDialog())

Berikut ini contoh penggunaan ketiga fungsi dari JOptionPane yang meminta user memasukan nilai kemudian program akan menjumlahkannya secara otomatis. Program akan segera menampilkan hasil penjumlahannya setelah user memilih untuk tidak memasukan nilai lagi.

Untuk melihat kerja programnya, kita bedah kodenya :D
Pertama kita definisikan dulu variabel yang akan digunakan untuk menampung nilai yang diperlukan:

int opsi = JOptionPane.YES_OPTION;
double jumlah = 0;

Kode di atas maksudnya variabel opsi menampung nilai dari JOptionPane yakni YES_OPTION yang merupakan nama alias dari nilai 0.
Variabel jumlah dinolkan dulu karena belum memulai penjumlahan.
Keyword int artinya variabel yang memakai keyword tersebut (contoh: int opsi) hanya bisa menampung nilai bilangan bulat saja. Nah kalau keyword double digunakan untuk menampung bilangan pecahan desimal.

Karena program akan meminta user secara terus menerus memasukan nilai maka kode berikut diperlukan:
while (opsi == JOptionPane.YES_OPTION)
{
// instruksi akan diulang-ulang di sini :D
}

Sampai kapan user diminta untuk memasukan nilai? Sampai user menekan tombol NO saat program meminta user untuk memasukan nilai lagi. Saat user menolak untuk memasukan nilai lagi, maka statemen: while (opsi == JOptionPane.YES_OPTION) bernilai false, yang artinya perulangan berhenti. Jadi intinya perulangan while akan terus menerus melakukan perulangan sampai nilainya false. Oh jadi kalau nilainya true maka perulangan while akan terus terjadi? YA benar :D

Sekarang inti dari program ini adalah pada statemen penjumlahan berikut:
jumlah += Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan nilai:"));

Jangan bingung dulu melihat statemen di atas :D
Statemen di atas kalau disederhanakan akan seperti berikut:

jumlah = 0

Perulangan ke-1 (user memasukan nilai 2):
jumlah = jumlah + 2
jumlah = 0 + 2
jumlah = 2

Perulangan ke-2 (user memasukan nilai 5):
jumlah = jumlah + 5
jumlah = 2 + 5
jumlah = 7

Perulangan ke-3 (user memasukan nilai 30):
jumlah = jumlah + 30
jumlah = 7 + 30
jumlah = 37

dan seterusnya :D

Iya tapi aku bingung nih, itu Double.parseDouble() buat apa ya?
Double.ParseDouble() berfungsi untuk mengubah format tipe data(jenis nilai) dari tipe data String(tulisan) ke tipe data Double(bilangan pecahan murni).

Tapi mengapa perlu diubah? Kan aku tadi memasukan nilai bilangan pecahan 2.5 :(
Hehehe :D, itu karena keluaran dari method(fungsi) JOptionPane.showInputDialog() adalah tipe data String. Jadi sebelum diubah, nilainya adalah "2.5", nah setelah diubah jadi 2.5. Beda lho antara "2.5" dan 2.5.

Kalau "2.5" (tipe data String) adalah abjad tulisan alfabet "2.5"(bisa campuran angka dan huruf). Kalau 2.5 (tipe data Double) itu bentuk nilai nominal pecahan desimal 2.5 (murni angka). Saya pakai karakter "" (petik dua) sebagai pembeda antara tipe data String dan selainnya(integer, float, double, boolean).

Nah setelah user memasukan nilai ke dalam program, maka sekarang saatnya program bertanya pada user untuk memasukan nilai lagi apa tidak. Bagaimana cara program melakukannya? Berikut kodenya:

opsi = JOptionPane.showConfirmDialog(null, "Tambahkan data lagi?","Konfirmasi", JOptionPane.YES_NO_OPTION);

Melalui method atau fungsi showConfirmDialog(null, "Tambahkan data lagi?","Konfirmasi", JOptionPane.YES_NO_OPTION), program akan menampilkan jendela konfirmasi ke user dengan kalimat "Tambahkan data lagi?", dan judul jendelanya adalah "Konfirmasi", serta tombolnya ada dua yakni Yes dan No.

Nah jika user menekan tombol No, maka variabel opsi bernilai 1 yang memiliki nama alias(enumerasi) NO_OPTION. Kalau tombol Yes maka variabel opsi bernilai 0 (YES_OPTION).

Sekarang user telah selesai memasukan nilai, bagaimana cara program menampilkan hasilnya? Kode sederhana berikut
digunakan:

JOptionPane.showMessageDialog(null, "Jumlah = " + jumlah, "Hasil", JOptionPane.INFORMATION_MESSAGE);

Artinya program akan menampilkan jendela pesan informasi berapa hasil penjumlahannya. JOptionPane.INFORMATION_MESSAGE digunakan untuk menentukan jenis ikon atau maksud pesan informasinya, dalam hal ini ikon yang ditampilkan dan maksud dari pesannya adalah sebuah informasi.

OK, semoga dengan penjelasan yang mendetail ini, kamu jadi paham langkah-langkah program dalam mengeksekusi kode yang kamu tuliskan :D

Berikut kode sumber(source code) lengkapnya:

  1. /*
  2. Program penggunaan kelas JOptionPane untuk keperluan:
  3. - Input data
  4. - Pesan informasi
  5. - Konfirmasi masukan
  6. File: CSS.java
  7. Compile: javac CSS.java
  8. Run: CSS.java
  9. (C) 2011 Computer Science Solution (CSS)
  10. */
  11. import javax.swing.*;
  12. public class CSS {
  13. public static void main(String[] args) {
  14. int opsi = JOptionPane.YES_OPTION;
  15. double jumlah = 0;
  16. while (opsi == JOptionPane.YES_OPTION) {
  17. jumlah += Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan nilai:"));
  18. opsi = JOptionPane.showConfirmDialog(null, "Tambahkan data lagi?","Konfirmasi", JOptionPane.YES_NO_OPTION);
  19. }
  20. JOptionPane.showMessageDialog(null, "Jumlah = " + jumlah, "Hasil", JOptionPane.INFORMATION_MESSAGE);
  21. }
  22. }


Berikut ini cara mengompilasi(mengubah kode sumber ke bytecode) dan menjalankan programnya dari command prompt(Windows) atau terminal(Linux):

Kompilasi kode sumber:
javac CSS.java

Eksekusi program:
java CSS

Happy programming :D

Tidak ada komentar:

Posting Komentar