amikom.ac.id

for more information, submit this

battleofsurabaya.com

For information of battle of surabaya the movie

Join With Us

For more information " pmb amikom Jogja "

Senin, 10 September 2012

Menu Dari JOption


Hay kawan , ayok bermain lagi dengan NetBeans .  Ayok klik kanan di praktek1 , lalu klik java class dan beri nama menudariJOption :))


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package praktek1;
import javax.swing.JOptionPane;
/**
 *
 * @author paradise
 */
public class JOptionmenu {
    private static String name;
    private static String des;
    private static String gender;
    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);
        }
        binerHasil.append(n%2);
    }
    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);
            hexaHasil.append(daftarHexa[n%16]);
        }
    }
    public static void keOktal(int n){
        char[] daftarOktal={'0','1','2','3','4','5','6','7'};
        if(n>0){
            keOktal(n/8);
            oktalHasil.append(daftarOktal[n%8]);
        }
    }

        public static void inputDesJOption(){
        des=JOptionPane.showInputDialog("Masukkan Bilangan Desimal : ");
        try{
            if(des.isEmpty()){
                JOptionPane.showMessageDialog(null, "Anda harus mengisi bilangan desimalnya");
                inputDesJOption();
            }
        }
        catch(NullPointerException npa){
            JOptionPane.showMessageDialog(null, "Wajib diisi !");
            inputDesJOption();
        }
    }

    public static void outHasilBiner(){
        inputDesJOption();
        try{//untuk melakukan penanganan kesalahan
            validDes=Integer.parseInt(des);
            keBiner(validDes);
            JOptionPane.showMessageDialog(null, "\nDesimal dari "+des+ ", Binernya adalah = "+binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
        }
        catch(NumberFormatException nfe){
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outHasilBiner();
        }
    }
    public static void outHasilHexa(){
        inputDesJOption();
        try{//untuk melakukan penanganan kesalahan
            validDes=Integer.parseInt(des);
            keHexa(validDes);
            JOptionPane.showMessageDialog(null, "\nDesimal dari "+des+ ", Hexanya adalah = "+hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
        }
        catch(NumberFormatException nfe){
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outHasilHexa();
        }
    }
    public static void outHasilOktal(){
        inputDesJOption();
        try{//untuk melakukan penanganan kesalahan
            validDes=Integer.parseInt(des);
            keOktal(validDes);
            JOptionPane.showMessageDialog(null, "\nDesimal dari "+des+ ", Oktanya adalah = "+oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
        }
        catch(NumberFormatException nfe){
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outHasilOktal();
        }
    }
    //
    //menampilkan input dialog nama
    public static void inpNama(){
        name=JOptionPane.showInputDialog("Masukkan Nama Anda : ");
        try{
            if(name.isEmpty()){
                JOptionPane.showMessageDialog(null, "Nama tidak boleh kosong !");
                inpNama();
            }
        }
        catch(NullPointerException npe){
            JOptionPane.showMessageDialog(null, "Wajib diisi nama anda !");
            inpNama();
        }
    }
    //menampilkan input dialog jenis Kelamin (gender)
    public static void jenisKelamin(){
  // menampilkan pilihan gender
  Object[] options = { "Girl", "Boy" };
  int choice = JOptionPane.showOptionDialog(null,
      "Jenis kelamin anda ?",
      "Jenis Kelamin?",
      JOptionPane.YES_NO_OPTION,
      JOptionPane.PLAIN_MESSAGE,
      null,
      options,
      options[0]);
  try{
            if (choice == JOptionPane.YES_OPTION)
  {
    gender="mbak, ";
    menuJOption1();
  }
  else if(choice == JOptionPane.NO_OPTION)
  {
      gender="mas, ";
      menuJOption1();
  }
        }
        catch(NullPointerException npe){
            JOptionPane.showMessageDialog(null, "Harap diisi dulu !");
            inpNama();
        }
}
    //terbilang
    //Terbilang
    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 outTerbilang(){
    sc = JOptionPane.showInputDialog("Masukan Bilangan : ");
    JOptionPane.showMessageDialog(null, new JOptionmenu().terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
    }
    //pecahan
    public static void hasilPecahan(){
        int desimal;
       
        String str=JOptionPane.showInputDialog("Masukkan Bilangan : ");
        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);
    }
    //kembali ke inputan nama dan gender
    public static void kembaliMenu(){
        inpNama();
        jenisKelamin();
    }

   public static void menuJOption(){
       inpNama();
       jenisKelamin();
        String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "KEMBALI", "KELUAR"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                      
                             , "Selamat Datang "+gender+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, "response salah"
                                                    + response); break;
            }
        }
    }
   public static void menuJOption1(){
        String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "KEMBALI", "KELUAR"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                      
                             , "Selamat Datang "+gender+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, "response salah"
                                                    + response); break;
            }
        }
    }
    public static void main(String[] args){
        menuJOption();
    }

}
 DAN INI HASILNYA :)
 

1.      HASIL  AWAL , MASUKKAN NAMA  ANDA
2.      APABILA KAMU TIDAK MENGISI NAMA , ATAU ANDA MENGKLIK CANCEL MAKA OUTPUTNYA SEPERTI BERIKUT
3.      SETELAH MEMASUKKAN NAMA ANDA , MAKA KLIKLAH “OK” , DAN AKAN MENUJU HALAMAN SELANJUTNYA YAITU HALAMAN JENIS KELAMIN
4.      APABILA CEWEK , MAKA OUTPUTNYA
 
5.      APABILA COWOK , MAKA OUTPUTNYA
6.      PILIH KONVERSI YANG ANDA INGINKAN , MAKA AKAN KELUAR HASIL SEBAGAI BERIKUT . ISI KOTAK TERSEBUT SESUAI ANGKA YANG ANDA INGINKAN .
 
7.      APABILA ANDA MENGKLIK CANCEL ATAU SILANG , MAKA OUTPUTNYA
 
8. APABILA YANG ANDA MASUKKAN BUKAN ANGKA
 
9.      APABILA ANDA MEMILIH KONVERSI BINER DAN ANGKA DESIMALNYA ADALAH 100
 
10.      APABILA ANDA MEMILIH KONVERSI HEXA DAN ANGKA DESIMALNYA ADALAH 100
 
11.  APABILA ANDA MEMILIH KONVERSI OKTAL  DAN ANGKA DESIMALNYA ADALAH 100
 

12. APABILA ANDA MENGKLIK "TERBILANG" , MASUKKAN ANGKA YANG ANDA INGINKAN , LALU KLIK OK UNTUK KE TAHAP SELANJUTNYA



 13. HASILNYA DARI TERBILANG " 98367 "

14. HASIL DARI ANDA MENGKLIK "PECAHAN" DENGAN NOMINAL "98367"
15.   BUTTON “ KEMBALI“ DIGUNAKAN UNTUK KEMBALI KE MENU AWAL
16.  BUTTON “ KELUAR “ DIGUNAKAN UNTUK KELUAR DARI PROGRAM

Terimakasih dan Selamat Mencoba :)










0 komentar:

Posting Komentar