check this script! (script tutorial by As'ari Setya)
package praktek1;
import java.awt.HeadlessException;
import javax.swing.JOptionPane;
public class menu_dari_joption {
private static String name;
private static int g;
private static int y;
private static String des;
private static String a;
private static String b;
static String gender;
private static int validDes;
static StringBuilder X= new StringBuilder();
static StringBuilder Y= new StringBuilder();
static StringBuilder Z= new StringBuilder();
public static void pecahan(){
int desimal;
String str=JOptionPane.showInputDialog("Masukkan jumlah uang");
desimal=Integer.parseInt(str);
int j100rbu, j50rbu, j20rbu, j10rbu, j5rbu, j2rbu, j1rbu, j5rtus, j2rtus, j1rtus, j50, j10, j1;
j100rbu=desimal/100000;
desimal%=100000;
j50rbu=desimal/50000;
desimal%=50000;
j20rbu=desimal/20000;
desimal%=20000;
j10rbu=desimal/10000;
desimal%=10000;
j5rbu=desimal/5000;
desimal%=5000;
j2rbu=desimal/2000;
desimal%=2000;
j1rbu=desimal/1000;
desimal%=1000;
j5rtus=desimal/500;
desimal%=500;
j2rtus=desimal/200;
desimal%=200;
j1rtus=desimal/100;
desimal%=100;
j50=desimal/50;
desimal%=50;
j10=desimal/10;
desimal%=10;
j1=desimal/1;
desimal%=1;
JOptionPane.showMessageDialog(null,"Jumlah uang seratus ribu = "+j100rbu+
'\n'+"Jumlah uang lima puluh ribu = "+j50rbu+
'\n'+"Jumlah uang dua puluh ribu = "+j20rbu+
'\n'+"Jumlah uang sepuluh ribu = "+j10rbu+
'\n'+"Jumlah uang lima ribu = "+j5rbu+
'\n'+"Jumlah uang dua ribu = "+j2rbu+
'\n'+"Jumlah uang seribu = "+j1rbu+
'\n'+"Jumlah uang lima ratus = "+j5rtus+
'\n'+"Jumlah uang dua ratus = "+j2rtus+
'\n'+"Jumlah uang seratus = "+j1rtus+
'\n'+"Jumlah uang lima puluh = "+j50+
'\n'+"Jumlah uang lima puluh = "+j10+
'\n'+"Jumlah uang lima puluh = "+j1
);
}
public String konversi (int angka){
String [] bilangan ={"","satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan","sepuluh","sebelas"};
String temp=" ";
if (angka<12 p="p">temp = "" + bilangan[angka];
}
else if(angka<20 p="p">temp = konversi(angka-10) + " belas";
}
else if(angka<100 p="p">temp = konversi(angka/10) + " puluh" + konversi(angka%10);
}
else if(angka<200 p="p">temp = "seratus" + konversi(angka-100);
}
else if(angka<1000 p="p">temp = konversi(angka/100) + "ratus" + konversi(angka%100);
}
else if(angka<2000 p="p">temp = "seribu"+ konversi(angka-1000);
}
else if(angka<1000000 p="p">temp = konversi(angka/1000) + " ribu" + konversi (angka%1000);
}
return temp;
}
public String pecahan (int angka){
String [] bilangan ={"","satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan","sepuluh","sebelas"};
String temp=" ";
if (angka<12 p="p">temp = "" + bilangan[angka];
}
else if(angka<20 p="p">temp = konversi(angka-10) + " belas";
}
else if(angka<100 p="p">temp = konversi(angka/10) + " puluh" + konversi(angka%10);
}
else if(angka<200 p="p">temp = "seratus" + konversi(angka-100);
}
else if(angka<1000 p="p">temp = konversi(angka/100) + "ratus" + konversi(angka%100);
}
else if(angka<2000 p="p">temp = "seribu"+ konversi(angka-1000);
}
else if(angka<1000000 p="p">temp = konversi(angka/1000) + " ribu" + konversi (angka%1000);
}
return temp;
}
public static void Biner(int y){
if(y>0){
Biner(y/2);
}
System.out.print(y%2);
X.append(y%2);
}
public static void Octal(int g){
char[] daftaroctal={'0','1','2','3','4','5','6','7'
,'8','9','A','B','C','D','E','F'};
int sisa =g% 8;
if(g>0){
Octal((g-sisa)/8);
System.out.print(daftaroctal[g % 8]);
}Y.append(daftaroctal[g % 8]);
}
public static void Hexa(int n){
char[] daftarHexa={'0','1','2','3','4','5','6','7'
,'8','9','A','B','C','D','E','F'};
int sisaBagi = n%16;
if(n>0){
Hexa((n - sisaBagi)/16);
System.out.print(daftarHexa[n%16]);
}Z.append(daftarHexa[n%16]);
}
public static void inputDesJOption (){
des=JOptionPane.showInputDialog("masukkan " + "Bil.Desimalnya = ") ;
try{
if(des.isEmpty()){
JOptionPane.showMessageDialog(null, " tidak boleh kosong!!");
inpNama();
}
}catch(NullPointerException nperror){
JOptionPane.showMessageDialog(null,
" diisi dulu donk!!");
inpNama();
}
}
public static void eksepsiInpBiner (){
inputDesJOption ();
try{
validDes=Integer.parseInt(des);
System.out.print("\n Desimal dari "+des+", Binernya adalah = ");
Biner(validDes);
System.out.println();
JOptionPane.showMessageDialog(null,"hasil perubahan dari desimal"+ des+ " adalah : "+X);
X.delete(0,validDes);
}catch
(NumberFormatException error){
JOptionPane.showMessageDialog(null, des+" bukan angka !! " + "\nMasukkan angka saja !!");
eksepsiInpBiner();
} }
public static void eksepsiInpOctal (){
inputDesJOption ();
try{
validDes=Integer.parseInt(des);
System.out.print("\n Desimal dari "+des+", octalnya adaalah = ");
Octal(validDes);
System.out.println();
JOptionPane.showMessageDialog(null,"hasil perubahan dari desimal"+ des+ " adalah : "+Y);
Y.delete(0,validDes);
}catch
(NumberFormatException error){
JOptionPane.showMessageDialog(null, des+" bukan angka !! " + "\nMasukkan angka saja !!");
eksepsiInpOctal();
}
}
public static void eksepsiInpHexa (){
inputDesJOption ();
try{
validDes=Integer.parseInt(des);
System.out.print("\n Desimal dari "+des+", hexanya adalah = ");
Hexa(validDes);
System.out.println();
JOptionPane.showMessageDialog(null,"hasil perubahan dari desimal"+ des+ " adalah : "+Z);
Z.delete(0,validDes);
}catch
(NumberFormatException error){
JOptionPane.showMessageDialog(null, des+" bukan angka !! " + "\nMasukkan angka saja !!");
eksepsiInpHexa();
}
}
public static void outHasilBiner (){
eksepsiInpBiner();
}
public static void outHasilOctal (){
eksepsiInpOctal();
}
public static void outHasilHexa (){
eksepsiInpHexa();
}
public static void inpNama () {
name=JOptionPane.showInputDialog("Masukkan " + "Nama Anda : ");
try{
if(name.isEmpty()){
JOptionPane.showMessageDialog(null, "Nama Anda tidak boleh kosong!!");
inpNama();
}
}catch(NullPointerException nperror){
System.exit(0);
}
}
public static void inpGender(){
gender=JOptionPane.showInputDialog("Masukkan" + "Gender Anda : " + " agan / aganwati only");
a="agan";
b="aganwati";
try{
if(gender.equals(a)) {
JOptionPane.showMessageDialog(null,"selamat datang " + a +" "+ name);
}else if(gender.equals(b)){
JOptionPane.showMessageDialog(null,"selamat datang " + b +" "+ name);}
else {
JOptionPane.showMessageDialog(null,"hanya boleh agan atau aganwati ");
inpGender();}
if (gender.isEmpty()){ JOptionPane.showMessageDialog(null,
"Harap diisi dulu Gan!!");
inpGender();}
}catch(NullPointerException nperror){System.exit(0);}
}
public static void huruf() {
try {
menu_dari_joption num = new menu_dari_joption();
int konvert = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Nilai"));
if (konvert < 0 || konvert >999999) {
JOptionPane.showMessageDialog(null,"Angka di luar range!!!","WARNING",JOptionPane.ERROR_MESSAGE);
}
else {
JOptionPane.showMessageDialog(null, num.konversi(konvert),"RESULT",JOptionPane.INFORMATION_MESSAGE);
}
}
catch( HeadlessException | NumberFormatException e){
JOptionPane.showMessageDialog(null,"ERROR","WARNING",JOptionPane.ERROR_MESSAGE);
}
}
public static void menuJOption(){
//..Text untuk tombol.
inpNama();
inpGender();
String[] pilihan = {"BINER","OCTAL","HEXA","PECAHAN","TERBILANG","<
//..."Infinite" loop, selseai jika System.exit(0)
while (true){
int response = JOptionPane.showOptionDialog(
null // Tengah Window).
, "Welcome "+gender+" "+name+" !! " + "\nPilih Konversi Bilangan dibawah ini?"// Pesan
, "Konversi Bilangan"
, JOptionPane.YES_NO_OPTION
, JOptionPane.PLAIN_MESSAGE
, null
, pilihan
, null
);
switch (response){
case 0:
outHasilBiner();break;
case 1:
outHasilOctal();break;
case 2:
outHasilHexa();break;
case 3:
pecahan();break;
case 4:
huruf();break;
case 5:
System.exit(0);break;
case 6:
inpNama();
inpGender();
break;
case 7:
;break;
case -1:
System.exit(0);
default:
JOptionPane.showMessageDialog(null, "Salah Gan! "+ response);break;
}
}
}
public static void main(String [] args){
menuJOption();
}
}
nb:nama package tidak perlu digunakan.
Sekarang tentang hasil outputnya :D check this out!
Tampilan Awal Program. jika yang ditekan tomblo cancel,langsung akan keluar dari program |
Tampilan jika nama tidak diisi |
Tampilan Untuk Memasukkan gender |
Tampilan apabila kosong atau tidak ditulis agan/aganwati |
Tampilan ketika sukses memasukkan nama dan gender |
Tampilan untuk memilih menu konversi |
Tampilan Input desimal pada pilihan biner,hexa,&oktal. |
Tampilan jika angka desimal tidak dimasukkan pada pilihan biner,hexa,&oktal |
Hasil konversi yang muncul |
Hasil konversi yang muncul |
Hasil konversi yang muncul |
Tampilan pada pilihan pecahan |
tampilan outputan pilihan pecahan |
Tampilan inputan terbilang |
outputan pilihan terbilang
sekian postingan dari saya,jika ada salah coding silahkan di coment saja :)
|