Pages

Menu Dari JOption

1. buat new java class
2. beri nama MenuDariJOption
3. ketik atau copy coding dibawah ini


package Praktek1;
import javax.swing.JOptionPane;
public class MenuDariJOption {
    private static String name;
    private static String des;
    private static int validDes;
    private static String sc;
    private static String JenisKelamin;
    private static String gender;
    private static String P;
    static StringBuilder B = new StringBuilder();
    static StringBuilder H = new StringBuilder();
    static StringBuilder O = new StringBuilder();
    public static void keBiner(int n){
     if(n>1){
         keBiner(n/2);
        }
     System.out.print(n%2);
     B.append(n%2);
     }
    public static void Hexa(int n){
        char[] daftarHexa = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
            '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        if (n > 1) {
            Hexa(n / 16);
        }
        System.out.print(daftarHexa[n % 16]);
        H.append(daftarHexa[n % 16]);
    }
    public static void Octal (int n){
        char[] daftarOctal = {'0', '1', '2', '3', '4', '5', '6', '7'};
        if (n > 1) {
            Octal(n / 8);
        }
        System.out.print(daftarOctal[n % 8]);
        O.append(n%8);
    }
    public static void inputDesJOption(){
    des=JOptionPane.showInputDialog("Masukkan " + "Bil.Desimalnya = ");
    try{
        if(des.isEmpty()){
            JOptionPane.showMessageDialog(null, "Wajib Untuk Diisi !");
            inputDesJOption();
        }
        }catch(NullPointerException err){
            JOptionPane.showMessageDialog (null, "Ngisi Dulu donk !");
            inputDesJOption();
        }
    }
    public static void eksepsiInpBiner(){
    inputDesJOption();
    try {
        validDes=Integer.parseInt(des);
        System.out.print("\nDesimal dari "+des+", Binernya adalah = ");
        keBiner(validDes);
        System.out.println();
    }catch(NumberFormatException err){
        JOptionPane.showMessageDialog(null, des +" bukan angka!! " + "\nMasukkan angka saja!!");
       eksepsiInpBiner();
        }
    }
    public static void eksepsiInpHexa(){
    inputDesJOption();
    try {
        validDes=Integer.parseInt(des);
        System.out.print("\nDesimal dari "+des+", Hexanya adalah = ");
        Hexa(validDes);
        System.out.println();
    }catch(NumberFormatException err){
        JOptionPane.showMessageDialog(null, des +" bukan angka!! " + "\nMasukkan angka saja!!");
       eksepsiInpHexa();
    }
    }
    public static void eksepsiInpOctal(){
    inputDesJOption();
    try {
        validDes=Integer.parseInt(des);
        System.out.print("\nDesimal dari "+des+", Octalnya adalah = ");
        Octal(validDes);
        System.out.println();
    }catch(NumberFormatException err){
        JOptionPane.showMessageDialog(null, des +" bukan angka!! " + "\nMasukkan angka saja!!");
    }
    }
    public static void outHasilBiner(){
            eksepsiInpBiner();
    }
    public static void outHasilHexa(){
        eksepsiInpHexa();
    }
    public static void outHasilOctal(){
        eksepsiInpOctal();
    }
    public static void inpNama(){
        name=JOptionPane.showInputDialog("Masukkan "+"Nama Anda :");
    try{
    if(name.isEmpty()){
        JOptionPane.showMessageDialog(null, "Nama tidak boleh kosong!!");
        inpNama();//kembali input nama
    }
    }catch(NullPointerException npe){
        JOptionPane.showMessageDialog(null, "Harap diisi Nama dulu donk!!");
        inpNama();//kembali INput nama
        }
    }
    public static void GENDER (){
        JenisKelamin=JOptionPane.showInputDialog("Masukkan Jenis Kelamin (L/P) : ");
        try{
            if(JenisKelamin.isEmpty()){
                JOptionPane.showMessageDialog(null, "Wajib di isi!");
                GENDER();
            }
        }
        catch(NullPointerException err){
            JOptionPane.showMessageDialog(null, "Mohon Diisi dulu!!");
            GENDER();
        }
        if (JenisKelamin.equalsIgnoreCase("L")) {
            gender="Mas, ";}

        else{
            if(JenisKelamin.equalsIgnoreCase("P")){
                gender="Mbak, ";
            }
            else{
                JOptionPane.showMessageDialog(null, "Maaf, inputan salah."
                        + " Hanya dapat diisi dengan (L/P) !!");
                GENDER();
            }
        }
    }
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;
    }
    public static void Terbilang(){
    sc = JOptionPane.showInputDialog("Masukkan Nilai : ");
    JOptionPane.showMessageDialog(null, new MenuDariJOption().terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
    }
   
    public static void pecahan(){
        int desimal;
       
        String str=JOptionPane.showInputDialog("Masukkan Nilai");
        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 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 response = JOptionPane.showOptionDialog(
                    null       // Tengah window.
                    , "Wellcome "+gender+" "+name+" !! "+"\nPilih Konversi Bilangan Dibawah ini?" //Pesan
                        , "Konversi Bilangan" // Judul Bar
                 , JOptionPane.YES_NO_OPTION // tipe pilihan
                 , JOptionPane.PLAIN_MESSAGE // tipe pesan
                 , null                     // Icon (none)
                 , pilihan                  // tombol text.
                 , null         // label tombol default
                 );
   //menngunakan swicth untuk mengecek tombol yang ditekan.
            switch (response) {
                case 0:
                    outHasilBiner();
                    break;
                case 1:
                    outHasilHexa();
                    break;
                case 2:
                    outHasilOctal();
                    break;
                case 3:
                    Terbilang();
                    break;
                case 4:
                    pecahan();
                    break;
                case 5:
                    inpNama();
                    GENDER();
                    break;
                case 6:
                    System.exit(0);
                    break;
                case -1:
   //...antara tombol (3) dan close box(-1) ditangani disini.
                    System.exit(0); // keluar looping
                default:
         //...Jika kita disini ada kesalahan,
                    JOptionPane.showMessageDialog(null, "response salah"+ response);break;
            }
        }
    }
    public static void main(String[] args){
    menuJOption();
    }
}

Jika anda sudah benar mengetikkan coding tersebut, maka hasilnya akan seperti ini :
1. untuk inputan nama :


2. untuk inputan Jenis Kelamin :


3. tampilan jika pada inputan jenis kelamin kosong, kemudian ditekan "OK"


4. tampilan jika pada inputan jenis kelamin kosong, kemudian ditekan "Cancel" atau [X]


5. untuk tampilan menu JOption :

6. untuk tampilan input bilangan desimal :

5. untuk tampilan hasil biner :
                                     

6. untuk tampilan hasil hexa :

7. untuk tampilan hasil oktal :

8. untuk tampilan inputan terbilang :

9. untuk hasil terbilang :

10. untuk tampilan inputan pecahan :


11. untuk hasil pecahan :

12. dan jika ditekan "<<KEMBALI>>", maka akan dikembalikan pada saat anda mengimputkan nama.

Semoga Bermanfaat :)









{ 0 komentar... Skip ke Kotak Komentar }

Tambahkan Komentar Anda

 
Time to Learn © 2012 | Template By Jasriman Sukri