Pada postingan sebelumnya, saya sudah menuliskan tentang Menu Konversi Bilangan, tetapi pada postingan kali ini Menu Konversi Bilangan tersebut menggunakan JOptionPane.
Proses untuk mengkonversikan bilangan tersebut awalnya pengguna diminta untuk mengisi nama, lalu mengisi jenis kelamin pengguna apakah laki-laki / perempuan (L / P), setelah itu barulah pengguna dapat memilih menu untuk mengkonversikan bilangan tersebut.
Pilihan menu konversi bilangan pada kali ini ada 7 opsi, yaitu : Biner, Hexa, Oktal, Terbilang, Pecahan, Kembali, dan Keluar. Untuk hasil Konversi Bilangan Biner, Hexa, Oktal akan tampil
secara bersamaan di console serta di
Message Dialog.
Berikut ini adalah proses pembuatan program tersebut, cekidot :D
1. Buka software Netbeans, buat New Java Class. beri nama misalnya : Menu_dari_JOptionPane.java
2. Kemudian ketikkan code di bawah ini. Ketikkan dibawah nama package anda.
Spoiler for code:
import javax.swing.JOptionPane;
3. Selanjutnya tuliskan code berikut ini dibawah nama Class anda.
Spoiler for code:
private static String name;
private static String des;
private static String gender;
private static String kelamin;
private static int validDes;
static StringBuilder binerHasil= new StringBuilder();
static StringBuilder hexaHasil= new StringBuilder();
static StringBuilder oktalHasil= new StringBuilder();
static String sc;
4. Selanjutnya tuliskan code berikut yg berfungsi sebagai proses konversi bilangan ke Biner, Hexa, dan Oktal.
private String sebut(int x) {
String bilang = "";
int y = x / 100;
if (y > 0) {
bilang = angka[y] + " Ratus ";
if (y == 1) {
bilang = "Seratus ";
}
x %= 100;
}
if (x < 12) {
bilang += angka[x];
} else {
y = x / 10;
x %= 10;
if (y == 1) {
bilang += angka[x] + " Belas";
} else {
bilang += angka[y] + " Puluh " + angka[x];
}
}
return bilang;
}
private String terbilang(long x) {
int y;
String bilang = "";
String[] satuan = {"", " Ribu ", " Juta ", " Milyar ", $22 Trilyun ", " Quadrilyun ", " Quintilyun "};
if (x > Math.pow(10, 20)) {
return "Bilangan terlalu besar";
}
for (int i = 6; i > 0; i--) {
y = (int) (x / Math.pow(10, i * 3));
if (y > 0) {
if (y == 1 && i == 1) {
bilang += " Seribu ";
} else {
bilang += sebut(y) + satuan[i];
}
}
x %= Math.pow(10, i * 3);
}
bilang += sebut((int) x);
return bilang;
}
public static void outTerbilang() {
sc = JOptionPane.showInputDialog("Masukan Bilangan Yang Akan Disebut : ");
try {
if (sc.isEmpty()) {
JOptionPane.showMessageDialog(null, "Isi Dong Bilangannya !");
outTerbilang();
} else {
JOptionPane.showMessageDialog(null, new Menu_dari_JOptionPane
().terbilang(new Long(sc)), "TERBILANG",
JOptionPane.INFORMATION_MESSAGE);
}
} catch (NullPointerException not) {
JOptionPane.showMessageDialog(null, "Jangan Keluar Dulu, Harus Diisi Dulu !");
outTerbilang();
} catch (NumberFormatException nae) {
JOptionPane.showMessageDialog(null, "Hey '" + sc + "'"
+ " .... Bukan Angka !"
+ "\nMasukkan Angka Saja !");
outTerbilang();
}
}
9. Selanjutnya tuliskan code berikut yg berfungsi untuk melakukan proses 'Pecahan' dan menampilkannya.
Spoiler for code:
public static void hasilPecahan() {
int desimal;
String str = JOptionPane.showInputDialog("Masukkan Bilangan Yang Akan Dipecah : ");
try {
if (str.isEmpty()) {
JOptionPane.showMessageDialog(null, "Isi Dong Bilangannya !");
hasilPecahan();
} else {
JOptionPane.showMessageDialog(null, "Jumlah seratus ribuan = " +
satu
+ "\nJumlah lima puluh ribuan = " + dua
+ "\nJumlah dua puluh ribuan = " + tiga
+ "\nJumlah sepuluh ribuan = " + empat
+ "\nJumlah lima ribuan = " + lima
+ "\nJumlah dua ribuan = " + enam
+ "\nJumlah seribuan = " + tujuh
+ "\nJumlah lima ratusan = " + delapan
+ "\nJumlah dua ratusan = " + sembilan
+ "\nJumlah seratusan = " + sepuluh
+ "\nJumlah lima puluhan = " + sebelas
+ "\nJumlah lima satuan = " + duabelas
+ "\nJumlah satuan = " + tigabelas, "PECAHAN",
JOptionPane.INFORMATION_MESSAGE);
}
} catch (NullPointerException not) {
JOptionPane.showMessageDialog(null, "Bilangan Wajib Diisi !");
hasilPecahan();
} catch (NumberFormatException nae) {
JOptionPane.showMessageDialog(null, "Hey '" + str + "'"
+ " .... Bukan Angka !"
+ "\nMasukkan Angka Saja !");
hasilPecahan();
}
}
10. Selanjutnya tuliskan code berikut yg berfungsi untuk memproses pilihan menu 'Kembali' yaitu kembali menginputkan nama dan gender.
Spoiler for code:
public static void kembaliMenu(){
inpNama();
jenisKelamin();
}
11. Selanjutnya tuliskan code berikut untuk menampilkan pilihan Menu.
Spoiler for code:
public static void menuJOpthon(){
inpNama();
jenisKelamin();
String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG",
"PECAHAN", "KEMBALI", "KELUAR"};
while (true) {
int response = JOptionPane.showOptionDialog(
null
, "Selamat Datang "+kelamin+name+" !!"
+ "\nPilih Konversi Bilangan Dibawah Ini ?"// Pesan
, "Konversi Bilangan" // Judul di Tittlebar
, JOptionPane.YES_NO_OPTION // Tipe Option
, JOptionPane.PLAIN_MESSAGE // Tipe Pesan
, null
, pilihan
, null // Default button
);
switch(response){
case 0:
outHasilBiner();
break;
case 1:
outHasilHexa();
break;
case 2:
outHasilOktal();
break;
case 3:
outTerbilang();
break;
case 4:
hasilPecahan();
break;
case 5:
kembaliMenu();
break;
case 6:
case -1:
System.exit(0);
default:
JOptionPane.showMessageDialog(null, "response salah"
+ response); break;
}
}
}
12. Selanjutnya adalah langkah terakhir yaitu tuliskan code dibawah ini. Meskipun code dibawah ini sangat singkat jika dibandingkan dengan code2 diatas, tetapi code berikut sangat penting untuk menampilkan hasil dari semua code2 diatas.
Spoiler for code:
public static void main(String[] args){
menuJOption();
}
Jika sudah selesai, tekan Shift + F6 untuk menjalankan program
Hasil program yang telah dijelaskan diatas ada di bawah ini !
Tampilan awal, yaitu menginputkan nama anda
Jika inputan kosong / tidak diisi apa2 lalu tekan OK , maka muncullah message ini
Jika Anda menekan tombol close / tombol cancel, maka muncul message ini
Setelah anda mengisi nama dengan benar, maka muncullah input gender
Message ini akan muncul jika anda tdk mengisi inputan lalu menekan OK
Message ini akan muncul jika anda menekan tombol close / cancel
Message ini muncul jika anda menuliskan selain tulisan " L / P "
Jika anda telah mengisi gender dengan benar, maka akan keluar seperti ini. Contoh saya memilih gender L maka sebelum nama saya ada tulisan Agan.
Misalnya kita memilih menu biner, maka akan keluar seperti ini
Jika Anda tidak mengisi apa2 lalu menekan OK, maka muncullah seperti ini
Jika Anda memencet tombol cancel / tombol exit maka muncullah seperti ini
Message ini akan muncul bila anda salah menuliskan angka
Ini adalah hasil konversi desimal ke biner yang muncul pada message dialog
Dan ini hasil konversi desimal ke biner yang muncul pada console
0 comments:
Posting Komentar
Jika ada Komentar , Tulis Di Sini