Oke, saat ini saya akan mengepost sebuah
artikel tentang konversi bilangan menggunakan JOption untuk semua kodingannya.
Mungkin hal ini adalah sekedar sharing saya yang sederhana namun saya berharap
ilmu yang saya bagikan dapat membantu agan yang membutuhkan referensi untuk
membuat kodingan sederhana ini.
Pertama-tama, silahkan masuk ke aplikasi Netbeans.
Pertama-tama, silahkan masuk ke aplikasi Netbeans.
Bagi yang belum mengerti
Netbean, NetBeans IDE adalah sebuah lingkungan pengembangan - sebuah
kakas untuk pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan
program. Netbeans IDE ditulis dalam Java - namun dapat mendukung bahasa
pemrograman lain. Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans
IDE adalah sebuah produk bebas dengan tanpa batasan bagaimana digunakan.
NetBeans mengelola fitur platform berikut dan komponen:
NetBeans mengelola fitur platform berikut dan komponen:
·
Pengaturan pengguna
·
Jendela (penempatan, penampilan,
dll)
·
NetBeans Visual Perpustakaan
·
Penyimpanan
·
Terpadu alat pengembangan
·
Kerangka Wizard
sumber : https://netbeans.org/index_id.html
Jadi intinya adalah,
Netbean adalah software yang paling sering digunakan orang untuk membuat kodingan..
nah lanjut kepermasalahan..
nah lanjut kepermasalahan..
Silahkan anda membuat kodingan seperti yang kurang lebih sudah saya buat ini.
package praktik1;
import javax.swing.JOptionPane;
/**
*
* @author krezna
*/
public class KonversiBilJOption {
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;
public static void keBiner(int n) {
if (n > 1) {
keBiner(n / 2);
}
System.out.print(n % 2);
binerHasil.append(n % 2);
// binerHasil.append("\033");
}
//Hexa
public static void keHexa(int n) {//int n : parameter
char[] daftarHexa = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
if (n > 0) {
keHexa(n / 16);
System.out.print(daftarHexa[n % 16]);
hexaHasil.append(daftarHexa[n % 16]);
}
}
//Oktal
public static void keOktal(int n) {
char[] daftarOktal = {'0', '1', '2', '3', '4', '5', '6', '7'};
if (n > 0) {
keOktal(n / 8);
System.out.print(daftarOktal[n % 8]);
oktalHasil.append(daftarOktal[n % 8]);
}
}
public static void inputDesJOption() {
des = JOptionPane.showInputDialog("Input Bilangan Decimall : ");
try {
if (des.isEmpty()) {
JOptionPane.showMessageDialog(null, "Harus diisi dengan Bilangan Decimal !!");
inputDesJOption();
}
} catch (NullPointerException npa) {
JOptionPane.showMessageDialog(null, "Silahkan Diisi Dahulu ");
inputDesJOption();
}
}
//biner
public static void outHasilBiner() {
inputDesJOption();
try {//penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n bilangan desimal : " + des + " akan berubah menjadi Biner : ");
keBiner(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " dirubah ke Biner hasilnya : " + binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
// reset object binerHasil
binerHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... Mohon Diisi Dengan Angka Saja.."
+ "\nMasukkan angka saja !!");
outHasilBiner();
}
}//hexa
public static void outHasilHexa() {
inputDesJOption();
try {// penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n Bilangan desimal : " + des + " berubah ke Bilangan Hexa hasilnya : ");
keHexa(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " berubah ke Bilangan Hexa hasilnya : " + hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
hexaHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... Mohon Diisi Dengan Angka Saja.."
+ "\nMasukkan angka saja !!");
outHasilHexa();
}
}
//oktal
public static void outHasilOktal() {
inputDesJOption();
try {//untuk melakukan penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n Bilangan desimal : " + des + " dalam Oktal : ");
keOktal(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Oktal hasilnya : " + oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
oktalHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... Mohon Diisi Dengan Angka Saja.."
+ "\nMasukkan angka saja !!");
outHasilOktal();
}
}
public static void inpNama() {
name = JOptionPane.showInputDialog("Masukan Nama Anda : ");
try {
if (name.isEmpty()) {
JOptionPane.showMessageDialog(null, "Nama Harus Diisi Dahulu .. ");
inpNama();
}
} catch (NullPointerException npe) {
JOptionPane.showMessageDialog(null, "Harap Masukan Nama Anda Terlebih Dahulu! ");
inpNama();
}
}
public static void jenisKelamin() {
gender = JOptionPane.showInputDialog("Apakah Anda Cowok atau Cewek ? ");
try {
if (gender.isEmpty()) {
JOptionPane.showMessageDialog(null, "Please input again latter?");
jenisKelamin();
}
} catch (NullPointerException npt) {
JOptionPane.showMessageDialog(null, "Apakah Anda Cowok atau Cewek ?");
jenisKelamin();
}
if ("cowok".equals(gender)) {
kelamin = "Saudara, ";
} else {
if ("cewek".equals(gender)) {
kelamin = "Saudari, ";
} else {
JOptionPane.showMessageDialog(null, "Masukan Inputan Dengan Cowok atau Cewek saja");
jenisKelamin();
}
} }
String[] angka = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"};
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 ", " 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;
}
//untuk Outputnya
public static void outTerbilang() {
sc = JOptionPane.showInputDialog("Masukan Bilangan yang akan disebut : ");
JOptionPane.showMessageDialog(null, new MenuDariJOption().terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
}
public static void hasilPecahan() {
int desimal;
String str = JOptionPane.showInputDialog("Masukan bilangan anda : ");
desimal = Integer.parseInt(str);
int satu, dua, tiga, empat, lima, enam, tujuh, delapan, sembilan, sepuluh, sebelas, duabelas, tigabelas;
//
satu = desimal / 100000;
desimal %= 100000;
dua = desimal / 50000;
desimal %= 50000;
tiga = desimal / 20000;
desimal %= 20000;
empat = desimal / 10000;
desimal %= 10000;
lima = desimal / 5000;
desimal %= 5000;
enam = desimal / 2000;
desimal %= 2000;
tujuh = desimal / 1000;
desimal %= 1000;
delapan = desimal / 500;
desimal %= 500;
sembilan = desimal / 200;
desimal %= 200;
sepuluh = desimal / 100;
desimal %= 100;
sebelas = desimal / 50;
desimal %= 50;
duabelas = desimal / 10;
desimal %= 10;
tigabelas = desimal / 1;
desimal %= 1;
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);
}
public static void kembaliMenu() {
inpNama();
jenisKelamin();
}
public static void menuJOption() {
inpNama();
jenisKelamin();
String[] pilihan = {"biner", "hexa", "oktal", "terbilang", "pecahan", "kembali", "exit"};
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, "Laptop Anda Bermasalah!"
+ response);
break;
}
}
}
public static void main(String[] args) {
menuJOption();
}
}
package praktik1;
import javax.swing.JOptionPane;
/**
*
* @author krezna
*/
public class KonversiBilJOption {
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;
public static void keBiner(int n) {
if (n > 1) {
keBiner(n / 2);
}
System.out.print(n % 2);
binerHasil.append(n % 2);
// binerHasil.append("\033");
}
//Hexa
public static void keHexa(int n) {//int n : parameter
char[] daftarHexa = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
if (n > 0) {
keHexa(n / 16);
System.out.print(daftarHexa[n % 16]);
hexaHasil.append(daftarHexa[n % 16]);
}
}
//Oktal
public static void keOktal(int n) {
char[] daftarOktal = {'0', '1', '2', '3', '4', '5', '6', '7'};
if (n > 0) {
keOktal(n / 8);
System.out.print(daftarOktal[n % 8]);
oktalHasil.append(daftarOktal[n % 8]);
}
}
public static void inputDesJOption() {
des = JOptionPane.showInputDialog("Input Bilangan Decimall : ");
try {
if (des.isEmpty()) {
JOptionPane.showMessageDialog(null, "Harus diisi dengan Bilangan Decimal !!");
inputDesJOption();
}
} catch (NullPointerException npa) {
JOptionPane.showMessageDialog(null, "Silahkan Diisi Dahulu ");
inputDesJOption();
}
}
//biner
public static void outHasilBiner() {
inputDesJOption();
try {//penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n bilangan desimal : " + des + " akan berubah menjadi Biner : ");
keBiner(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " dirubah ke Biner hasilnya : " + binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
// reset object binerHasil
binerHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... Mohon Diisi Dengan Angka Saja.."
+ "\nMasukkan angka saja !!");
outHasilBiner();
}
}//hexa
public static void outHasilHexa() {
inputDesJOption();
try {// penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n Bilangan desimal : " + des + " berubah ke Bilangan Hexa hasilnya : ");
keHexa(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " berubah ke Bilangan Hexa hasilnya : " + hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
hexaHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... Mohon Diisi Dengan Angka Saja.."
+ "\nMasukkan angka saja !!");
outHasilHexa();
}
}
//oktal
public static void outHasilOktal() {
inputDesJOption();
try {//untuk melakukan penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n Bilangan desimal : " + des + " dalam Oktal : ");
keOktal(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Oktal hasilnya : " + oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
oktalHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... Mohon Diisi Dengan Angka Saja.."
+ "\nMasukkan angka saja !!");
outHasilOktal();
}
}
public static void inpNama() {
name = JOptionPane.showInputDialog("Masukan Nama Anda : ");
try {
if (name.isEmpty()) {
JOptionPane.showMessageDialog(null, "Nama Harus Diisi Dahulu .. ");
inpNama();
}
} catch (NullPointerException npe) {
JOptionPane.showMessageDialog(null, "Harap Masukan Nama Anda Terlebih Dahulu! ");
inpNama();
}
}
public static void jenisKelamin() {
gender = JOptionPane.showInputDialog("Apakah Anda Cowok atau Cewek ? ");
try {
if (gender.isEmpty()) {
JOptionPane.showMessageDialog(null, "Please input again latter?");
jenisKelamin();
}
} catch (NullPointerException npt) {
JOptionPane.showMessageDialog(null, "Apakah Anda Cowok atau Cewek ?");
jenisKelamin();
}
if ("cowok".equals(gender)) {
kelamin = "Saudara, ";
} else {
if ("cewek".equals(gender)) {
kelamin = "Saudari, ";
} else {
JOptionPane.showMessageDialog(null, "Masukan Inputan Dengan Cowok atau Cewek saja");
jenisKelamin();
}
} }
String[] angka = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"};
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 ", " 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;
}
//untuk Outputnya
public static void outTerbilang() {
sc = JOptionPane.showInputDialog("Masukan Bilangan yang akan disebut : ");
JOptionPane.showMessageDialog(null, new MenuDariJOption().terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
}
public static void hasilPecahan() {
int desimal;
String str = JOptionPane.showInputDialog("Masukan bilangan anda : ");
desimal = Integer.parseInt(str);
int satu, dua, tiga, empat, lima, enam, tujuh, delapan, sembilan, sepuluh, sebelas, duabelas, tigabelas;
//
satu = desimal / 100000;
desimal %= 100000;
dua = desimal / 50000;
desimal %= 50000;
tiga = desimal / 20000;
desimal %= 20000;
empat = desimal / 10000;
desimal %= 10000;
lima = desimal / 5000;
desimal %= 5000;
enam = desimal / 2000;
desimal %= 2000;
tujuh = desimal / 1000;
desimal %= 1000;
delapan = desimal / 500;
desimal %= 500;
sembilan = desimal / 200;
desimal %= 200;
sepuluh = desimal / 100;
desimal %= 100;
sebelas = desimal / 50;
desimal %= 50;
duabelas = desimal / 10;
desimal %= 10;
tigabelas = desimal / 1;
desimal %= 1;
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);
}
public static void kembaliMenu() {
inpNama();
jenisKelamin();
}
public static void menuJOption() {
inpNama();
jenisKelamin();
String[] pilihan = {"biner", "hexa", "oktal", "terbilang", "pecahan", "kembali", "exit"};
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, "Laptop Anda Bermasalah!"
+ response);
break;
}
}
}
public static void main(String[] args) {
menuJOption();
}
}
Setelah anda lengkapi kodingan seperti yang diatas, maka hasilnya akan seperti ini.
proses input nama |
proses optional jenis kelamin |
proses validasi |
proses validasi jika kita salah menginputkan jenis kelamin |
proses pemilihan bilangan yang akan dikonversikan |
hasil dari proses konversi |
Sekian ilmu yang dapat saya bagikan pada kalian semua. Semoga ilmu ini dapat bermanfaat kedepanya..
Yosafat Kresna
6701142082
PIS 14-05
http://siskaks.staff.telkomuniversity.ac.id/2016/05/02/teknologi-web-assessment-3
Semoga bermanfaat and keep sharing the good thing