So here it is, tugas terbaru yang telah diberikan oleh MR.HADI yaitu mengkolaborasikan ketiganya dan akan terlihat di JOptionPane-nya :D
So here's the script :/*----------------------------------------------------------->
* Created by Ari
* Method inspired by MR.HADI and alot of BLOG :P
* <----------------------------------------------------------
*/
package javapraktek;
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){
temp = "" + bilangan[angka];
}
else if(angka<20){
temp = konversi(angka-10) + " belas";
}
else if(angka<100){
temp = konversi(angka/10) + " puluh" + konversi(angka%10);
}
else if(angka<200){
temp = "seratus" + konversi(angka-100);
}
else if(angka<1000){
temp = konversi(angka/100) + "ratus" + konversi(angka%100);
}
else if(angka<2000){
temp = "seribu"+ konversi(angka-1000);
}
else if(angka<1000000){
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){
temp = "" + bilangan[angka];
}
else if(angka<20){
temp = konversi(angka-10) + " belas";
}
else if(angka<100){
temp = konversi(angka/10) + " puluh" + konversi(angka%10);
}
else if(angka<200){
temp = "seratus" + konversi(angka-100);
}
else if(angka<1000){
temp = konversi(angka/100) + "ratus" + konversi(angka%100);
}
else if(angka<2000){
temp = "seribu"+ konversi(angka-1000);
}
else if(angka<1000000){
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();//kembali input nama
}
}catch(NullPointerException nperror){
JOptionPane.showMessageDialog(null,
" diisi dulu donk!!");
inpNama();//kembali input nama
}
}
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();//kembali input nama
}
}catch(NullPointerException nperror){
JOptionPane.showMessageDialog(null,
"Harap diisi Nama dulu donk!!");
inpNama();//kembali input nama
}
}
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();}
}catch
(NullPointerException nperror){
JOptionPane.showMessageDialog(null,
"Harap diisi dulu donk!!");
inpGender();//kembali input nama
}
}
public static void huruf() {
try {
Javapraktek num = new Javapraktek();
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","<<KELUAR>>","<<KEMBALI!!>>"};
//..."Infinite" loop, selseai jika System.exit(0)
while (true){
int response = JOptionPane.showOptionDialog(
null // Tengah Window).
, "Met Datang "+gender+" "+name+" !! " + "\nPilih Konversi Bilangan dibawah ini?"// Pesan
, "Konversi Bilangan" // Judul Bar
, JOptionPane.YES_NO_OPTION // tipe pilihan
, JOptionPane.PLAIN_MESSAGE // tipe pesan
, null // tipe pesan
, pilihan // tombol next
, null // label tombol default
);
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);// keluar looping
default:
//... JIka kita disini berarti ada kesalahan
JOptionPane.showMessageDialog(null, "404 wrong response"+ response);break;
}
}
}
public static void main(String [] args){
menuJOption();
}
}
No comments:
Post a Comment