- Tampilan awal...
- Apabila di pencet cancel akan muncul...
- Jika di pencet OK tetapi nama tetap kosong akan muncul...
-Setelah itu silahkan memilih jenis kelamin...
- Apabila setelah kita memilih akan muncul seperti ini...
- Apabila memilih biner akan muncul ...
- Lalu pencet OK untuk kembali, setelah itu pilih HEXA lalu akan muncul...
- Lalu pencet OK untuk kembali, setelah itu pilih OKTAL lalu akan muncul...
- Selanjutnya apa bila anda mengklik "TERBILANG" maka hasilnya seperti berikut
- Jika anda mengklik "PECAHAN" , OK untuk kembali ke menu sebelumnya
- "KEMBALI" dugunakan untuk kembali ke menu awal
- "KELUAR" dugunakan untuk keluar dari program
DAN INI CODINGNYA . GOOD LUCK :)
package praktek1;
/**
*
* @author triftian
*/
import java.awt.HeadlessException;
import javax.swing.JOptionPane;
public class menujoption {
private static String name;
private static String des;
private static int validDes;
private static String Gender;
static StringBuilder X= new StringBuilder();
static StringBuilder Y= new StringBuilder();
static StringBuilder Z= new StringBuilder();
public static void keBiner(int y){
if(y>1){
keBiner(y/2);
}
System.out.print(y%2);
X.append(y%2);
}
public static void keHexa(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){
keHexa((n-sisabagi) /16);
System.out.print(daftarHexa[n%16]);
Y.append(daftarHexa[n%16]);
}
}
public static void Oktal(int n){
char [] daftarOktal = {'1', '2', '3', '4', '5', '6', '7',};
if(n>0){
Oktal(n/8);
}
System.out.print(daftarOktal[n%8]);
Z.append(daftarOktal[n%8]);
}
public static void inputDesJOption(){
des = JOptionPane.showInputDialog("Masukkan "
+ "Bilangan Desimalnya = ");
}
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;
}
/**
* @param args the command line arguments
*/
public static void bacabil() {
try {
praktek1.terbilang num = new praktek1.terbilang();
int konvert = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Nilai"));
if (konvert < 0 || konvert >999999) {
JOptionPane.showMessageDialog(null,"Maaf angka diluar batas ","PERINGATAN",JOptionPane.ERROR_MESSAGE);
}
else {
JOptionPane.showMessageDialog(null,"Hasil \n " + konvert + " = " + num.konversi(konvert),"RESULT",JOptionPane.INFORMATION_MESSAGE);
}
}
catch( HeadlessException | NumberFormatException e){
JOptionPane.showMessageDialog(null,"ERROR","WARNING",JOptionPane.ERROR_MESSAGE);
}
}
public static void eksepsiInpBiner(){
inputDesJOption();
try {
if(des.isEmpty()){
JOptionPane.showMessageDialog(null,
" Tidak Boleh Kosong !");
eksepsiInpBiner();
}
validDes=Integer.parseInt(des);
System.out.printf("\nDesimal dari "+des+
", Binernya adalah = ");
keBiner(validDes);
System.out.println();
JOptionPane.showMessageDialog(null, "JADI HASIL BINER DARI" +des+ "adalah"+ X);
X.delete(0, validDes);
}catch(NumberFormatException err){
JOptionPane.showMessageDialog(null, des
+" Maaf bukan angka "
+ "\nMasukkan angka saja, jangan yang lain ");
eksepsiInpBiner();
}catch(NullPointerException npe){
JOptionPane.showMessageDialog(null, "Silahkan masukkan angka terlebih dahulu");
eksepsiInpBiner();
}
}
public static void eksepsiInpHexa(){
inputDesJOption();
try {
if(des.isEmpty()){
JOptionPane.showMessageDialog(null,
" Tidak Boleh Kosong !");
eksepsiInpHexa();
}
validDes=Integer.parseInt(des);
System.out.printf("\nDesimal dari "+des+
", Hexanya adalah = ");
keHexa(validDes);
System.out.println();
JOptionPane.showMessageDialog(null, "JADI HASIL HEXA DARI " + des+ "adalah "+ Y);
Y.delete(0, validDes);
}catch(NumberFormatException err){
JOptionPane.showMessageDialog(null, des
+" Maaf bukan angka" + "\nMasukkan angka jangan yang lain");
eksepsiInpHexa();
}catch(NullPointerException npe){
JOptionPane.showMessageDialog(null, " Tolong inputkan angka lebih dulu");
eksepsiInpHexa();
}
}
public static void eksepsiInpOktal(){
inputDesJOption();
try {
if(des.isEmpty()){
JOptionPane.showMessageDialog(null,
" Tidak Boleh Kosong !");
eksepsiInpOktal();
}
validDes=Integer.parseInt(des);
System.out.printf("\nDesimal dari "+des+
", Oktalnya adalah = ");
Oktal(validDes);
System.out.println();
JOptionPane.showMessageDialog(null, "JADI HASIL OKTAL DARI" + des + "ADALAH" + Z);
Z.delete(0, validDes);
}catch(NumberFormatException err){
JOptionPane.showMessageDialog(null, des
+" bukan angka!! "
+ "\nMasukkan angka saja!!");
eksepsiInpOktal();
}catch(NullPointerException npe){
JOptionPane.showMessageDialog(null, "Tolong inputkan angka lebih dulu");
eksepsiInpOktal();
}
}
public static void outHasilBiner(){
eksepsiInpBiner();
}
public static void outHasilHexa(){
eksepsiInpHexa();
}
public static void outHasilOktal(){
eksepsiInpOktal();
}
public static void pecahan(){
int desimal;
String str=JOptionPane.showInputDialog("Masukkan nominal 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 sepuluh puluh = "+j10+
'\n'+"Jumlah uang satu puluh = "+j1 );
}
public static void inpNama(){
name=JOptionPane.showInputDialog("Inputkan nama anda...?");
try{
if(name.isEmpty()){
JOptionPane.showMessageDialog(null,
"Nama tidak boleh kosong !!");
inpNama();//kembali input nama
}
}catch(NullPointerException npe){
JOptionPane.showMessageDialog(null,
"Trima kasih atas kunjungannya ");
System.exit(0);//kembali nama
}
}
public static void Gender(){
String[] G={"Laki-laki","Perempuan"};
int j= JOptionPane.showOptionDialog(null, "Pilih Gender", "pilihan", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,G,null);
switch(j){
case 0:
Gender="Abang";
break;
case 1:
Gender="Kakak";
break;
default:
JOptionPane.showMessageDialog(null,"Harus menginputkan jenis kelamin !! ");
Gender();
}
}
public static void menuJOption(){
//...Text untuk tombol.
inpNama();
Gender();
String[] pilihan = {"BINER" , "HEXA" , "OKTAL" ,"TERBILANG" ,"PECAHAN","KEMBALI" ,
"KELUAR"};
//"Infinite" loop, selesai jika system.exit(0)
while (true){
int respone = JOptionPane.showOptionDialog
(null // Tengah Window.
, "Selamat datang "+Gender+" "+name+" !!"
+ "\nSilahkan pilih Konversi Bilangan dibawah ini?" // Pesan
,"Konversikan Bilangan" // Judul Bar
,JOptionPane.YES_NO_OPTION // tipe pilihan
,JOptionPane.PLAIN_MESSAGE // tipe pesan
,null // Icon (none)
,pilihan // tombol text.
,null // label tombol default
);
//menggunakan switch untuk mengecek tombol yang ditekan.
switch (respone){
case 0:
outHasilBiner();
break;
case 1:
outHasilHexa() ;
break;
case 2:
outHasilOktal();
break;
case 3:bacabil();
break;
case 4:
pecahan();
break;
case 5:
inpNama();
Gender();
break;
case 6:
System.exit(0);
break;
case -1:
//...antara tomnol (3) dan close box (-1) ditangani disini.
System.exit(0); //keluar looping
default:
//...jika kita disini ada kesalahan
JOptionPane.showMessageDialog(null,
"response salah "+ respone);break;
}
}
}
public static void main(String[] args){
menuJOption();}
}
SELESAI :3
Tidak ada komentar:
Posting Komentar