Laman

Rabu, 12 September 2012

Konversi bilangan dengan menu JOptionPane

kali ini saya akan share salah satu penggunaan JOptionPane, yaitu konversi bilangan. nantinya akan ada 7 pilihan dari menu JOptionPane, yaitu Biner, Hexa, Oktal, Terbilang, Pecahan, Kembali, dan Keluar yang akan keluar dalam 1 message dialog, kita tinggal pilih deh....

Buka Netbeans - New Java Class - nama terserah anda, misal "MenuJOptionPane" (tanpa tanda petik lho..)

1.Import JOptionPane.







2. Buat deklarasi variabel, tepat dibawah main class.







3. Buat Method untuk menghitung konversi bilangan, yaitu biner, hexa, dan oktal














4. Buat Method untuk Fungsi Terbilang, yaitu untuk mengubah deretan angka menjadi pembilangnya, berikut codingnya :

public static String Terbilang(Long angka){
       if (angka < 12) {
            return angkaTerbilang[angka.intValue()];
        }
        if (angka >= 12 && angka <= 19) {
            return angkaTerbilang[angka.intValue() % 10] + " Belas";
        }
        if (angka >= 20 && angka <= 99) {
            return Terbilang(angka / 10) + " Puluh " + angkaTerbilang[angka.intValue() % 10];
        }
        if (angka >= 100 && angka <= 199) {
            return "Seratus " + Terbilang(angka % 100);
        }
        if (angka >= 200 && angka <= 999) {
            return Terbilang(angka / 100) + " Ratus " + Terbilang(angka % 100);
        }
        if (angka >= 1000 && angka <= 1999) {
            return "Seribu " + Terbilang(angka % 1000);
        }
        if (angka >= 2000 && angka <= 999999) {
            return Terbilang(angka / 1000) + " Ribu " + Terbilang(angka % 1000);
        }
        if (angka >= 1000000 && angka <= 999999999) {
            return Terbilang(angka / 1000000) + " Juta " + Terbilang(angka % 1000000);
        }
        if (angka >= 1000000000 && angka <= 999999999999L) {
            return Terbilang(angka / 1000000000) + " Milyar " + Terbilang(angka % 1000000000);
        }
        if (angka >= 1000000000000L && angka <= 999999999999999L) {
            return Terbilang(angka / 1000000000000L) + " Triliun " + Terbilang(angka % 1000000000000L);
        }
        if (angka >= 1000000000000000L && angka <= 999999999999999999L) {
            return Terbilang(angka / 1000000000000000L) + " Quadrilyun " + Terbilang(angka % 1000000000000000L);
        }
        return "Maaf, Bilangan terlalu besar...";    
    }


5. Buat Method untuk Fungsi Pecahan, yaitu mengubah deretan angka menjadi pecahan - pecahan maksutnya ribuannya berapa, ratusannya berapa, puluhannya berapa, dan seterusnya, tapi menurut besarnya mata uang indonesia, berikut codingnya :


public static void Pecahan(){
        int uang;
        int seratusribu, limapuluhribu, duapuluhribu, sepuluhribu,limaribu, duaribu, seribu,
                limaratus, duaratus, seratus, limapuluh, sepuluh, satu;
        
        inputDesJOption();
        uang=Integer.parseInt(des);
                
        
        seratusribu=uang/100000;
        uang%=100000;
        
        limapuluhribu=uang/50000;
        uang%=50000;
        
        duapuluhribu=uang/20000;
        uang%=20000; 
        
        sepuluhribu=uang/10000;
        uang%=10000;
        
        limaribu=uang/5000;
        uang%=5000;
        
        duaribu=uang/2000;
        uang%=2000;
        
        seribu=uang/1000;
        uang%=1000;
        
        limaratus=uang/500;
        uang%=500;
        
        duaratus=uang/200;
        uang%=200;
        
        seratus=uang/100;
        uang%=100;
        
        limapuluh=uang/50;
        uang%=50;
        
        sepuluh=uang/10;
        uang%=10;
        
        satu=uang/1;
        uang%=1;
        
            JOptionPane.showMessageDialog(null,
                        "Seratus Ribuan = "+seratusribu
                    +"\n Lima Puluh Ribuan = "+limapuluhribu
                    +"\n Dua Puluh Ribuan = "+duapuluhribu
                    +"\n Sepuluh Ribuan = "+sepuluhribu
                    +"\n Lima Ribuan = "+limaribu
                    +"\n Dua Ribuan = "+duaribu
                    +"\n Seribuan = "+seribu
                    +"\n Lima Ratusan = "+limaratus
                    +"\n Dua Ratusan = "+duaratus
                    +"\n Seratusan = "+seratus
                    +"\n Lima Puluhan = "+limapuluh
                    +"\n Lima Satuan = "+sepuluh
                    +"\n Satuan = "+satu
                    , "PECAHAN", JOptionPane.INFORMATION_MESSAGE);
    }



6. Buat Method untuk memproses saat user menginputkan bilangan desimal







6. Buat Method untuk eksepsi, yaitu untuk mengatur pesan yang keluar jika user menginputkan sesuatu yang keluar dari aturan inputan itu dan untuk user yang melewati proses tersebut, user akan diberi pesan.

















7. Buat Method untuk Menu kembali, ingat bukan untuk Menu pilihan kembali, karena menu pilihan kembali akan diatur di method MenuJOption.


8. Buat Method OutHasil yang berguna untuk memanggil Method - method sebelumnya yang berhubungan untuk menampilkan hasil.






















9. Buat Method inputNama yang berguna untuk proses penginputan nama, beserta eksepsinya.


10. Buat Method menuJOption, yang berguna untuk mengatur menu message box yang kita klik - klik nanti, beserta tombol - tombolnya, berikut codingnya :


public static void menuJOption(){
        inpNama();
        jenisKelamin();
        String[] pilihan = {"BINER","HEXA","OKTAL","TERBILANG","PECAHAN",
            ">>KEMBALI<<","<< KELUAR >>"}; //.... Text untuk tombol.
    //.... "Infinite" loop, selesai jika System.exit(0)
        while (true) {
         int response = JOptionPane.showOptionDialog(null //Tengah window.
         , "Selamat Datang "+ gender + name + "!!" + "\n Pilih Salah Satu Konversi Bilangan dibawah ini!" //Pesan
         , "Konversi Bilangan" // Judul
         , 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 (response){
                case 0:
                    outHasilBiner();
                    break;
                case 1:
                    outHasilHexa();
                    break;
                case 2:
                    outHasilOktal();
                    break;
                case 3:
                    outHasilTerbilang();
                    break;
                case 4 :
                    Pecahan();
                    break;
                case 5 :
                    Kembali();
                    break;
                case 6 :
                case -1:
                     System.exit(0);
    //..... antara tombol (3) dan close box (-1) ditangani disini....
                    System.exit(0); // keluar looping, tapi.....
                default:
            //... Jika kita disini ada kesalahan
                JOptionPane.showMessageDialog(null,
                "response salah "+ response);break;
            }
        }
    }

11. Buat Main Methodnya, ini adalah method terpenting, isinya sedikit, tapi jika tidak ada method ini sama saja seperti manusia tidak mempunyai arwah, meskipun organnya lengkap.










SCREENSHOT :
















Ma'af bila Screenshotnya tidak urut, karena saya menguploadnya secara sama - sama....
See you next time.... bye - bye .....






Tidak ada komentar:

Posting Komentar