Pages

Senin, 24 September 2012

Java (Membuat Sign Up , Sign In , Sign Out)

Yuhu...............
Kali ini aku mau nge post lagi nih tentang java, kali ini membuat program membuat judul yang di atas...
SELAMAT MENCOBA :D
____________________________________________________________________________


Pertama buatlah java class dan beri nama terserah kamu, tapi kalo kepunyakan aku ku beri nama "InputArray2"... Codingannya di bawah ini...



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package JavaApplication6;
import javax.swing.JOptionPane;
/**
 *
 * @author defryan24
 */
public class InputArray2 {
     static int total=0;
    static int max_user = 3; //setting jumlah maximal user
    public static String up_nama[]=new String[max_user];
    public static String up_pass[]=new String[max_user];
    public static String up_gender[]=new String[max_user];
    public static String up_sapaan[]=new String[max_user];
    public static String nama;
    public static String sapaan;
    public static void daftar(){
        if(total>=up_nama.length){
            String[] pilihan = {"Sign In"};
            int respons = JOptionPane.showOptionDialog(null
                ,"Maaf pendaftaran penuh\nSilakan anda :"
                ,"Pendaftaran Penuh!"
                ,JOptionPane.YES_NO_CANCEL_OPTION
                ,JOptionPane.QUESTION_MESSAGE
                ,null
                ,pilihan
                ,null
                );
            if(respons==0){
                masuk();
            }
        }
        else{
            inputnama();
            inputJK();
            inputpass();
            total++;
        }
        menu_utama();
    }
    public static void masuk(){
        String in_user;
        String cek_in_user = null;
        String cek_in_pass;
        int j;
        int posisi;
        if(total==0){
            String[] pilihan = {"Sign UP"};
            int respons = JOptionPane.showOptionDialog(null
                ,"Maaf Belum ada user yang terdaftar,\n anda harus SIGN UP dahulu :"
                ,"USER KOSONG !"
                ,JOptionPane.YES_NO_CANCEL_OPTION
                ,JOptionPane.QUESTION_MESSAGE
                ,null
                ,pilihan
                ,null
                );
            if(respons==0){
                daftar();
            }
        }
        else{
        in_user = login_nama();
        for(j=0;j<up_nama.length;j++){
            if(up_nama[j]==null){
                up_nama[j]="";
            }
            cek_in_user=up_nama[j];
            if(cek_in_user.equals(in_user)){
                posisi=j;
                nama = in_user;
                cek_pass(posisi);
                break;
                }
            else if(j==up_nama.length-1){
                String[] pilihan = {"Sign Up","Sign In"};
                int respons = JOptionPane.showOptionDialog(null
                    ,"Maaf "+nama+" belum terdaftar, silakan Sign Up atau Sign In dengan user lain:"
                    ,"Belum terdaftar !"
                    ,JOptionPane.YES_NO_CANCEL_OPTION
                    ,JOptionPane.QUESTION_MESSAGE
                    ,null
                    ,pilihan
                    ,null
                    );
                if(respons==0){
                    daftar();
                }
                else if(respons == 1){
                    login_nama();
                }
            }
            }
            }
        }
    public static void cek_pass(int posisi){
        String in_pass;
        in_pass=login_pass();
                if(up_pass[posisi].equals(in_pass)){
                    sapaan=up_sapaan[posisi];
                    JOptionPane.showMessageDialog(null, "SELAMAT DATANG "+sapaan+" "+nama,"WELCOME",JOptionPane.INFORMATION_MESSAGE);
                    Konverter.menu_1();
                    }
                else{
                    cek_pass(posisi);
                }
    }
    public static void konfirm_exit(String menu) {
        int konfirmasi ;
        konfirmasi = JOptionPane.showConfirmDialog(null, "Anda yakin mau keluar ?","Exit Confirmation", JOptionPane.YES_NO_OPTION);
        switch(konfirmasi){
            case -1:
            case 0 : System.exit(0);
                break;
            case 1 :
                if("menu_1".equals(menu)){
                    menu_utama();
                }
            break;
        }
    }
    public static void menu_utama(){
        String option[]={"Sign UP","Sign IN","EXIT"};
        int respons = JOptionPane.showOptionDialog(null,
                        "SILAKAN PILIH MENU :",
                        "MAIN MENU",
                        JOptionPane.YES_NO_CANCEL_OPTION,
                        JOptionPane.INFORMATION_MESSAGE,
                        null ,
                        option ,
                        null);
        switch(respons){
            case 0:daftar();
                break;
            case 1:masuk();
                break;
            case 2:
            case -1:
                konfirm_exit("menu_1");
        }
    }
    public static void main (String[] args){
        menu_utama();
    }
    public static String login_nama() {
        String input = JOptionPane.showInputDialog(null, "Inputkan nama anda \n(hanya huruf & _)", "Sign In", JOptionPane.INFORMATION_MESSAGE);
        try{
            if(input.isEmpty()||input.equals(" ")){
                JOptionPane.showMessageDialog(null,"Nama tidak boleh kosong","Error!", JOptionPane.ERROR_MESSAGE);
                login_nama();
            }
            else if(!input.matches("([a-zA-Z_]{1,})")){
                JOptionPane.showMessageDialog(null,"Tidak boleh didahului angka","Notice!", JOptionPane.INFORMATION_MESSAGE);
                login_nama();
            }
        }
        catch(NullPointerException f){
            JOptionPane.showMessageDialog(null,"Jangan di Cancel","Error!", JOptionPane.ERROR_MESSAGE);
            login_nama();
        }
        return input;
    }
    private static String login_pass() {
        String input = JOptionPane.showInputDialog(null, "Inputkan password", "Sign In", JOptionPane.INFORMATION_MESSAGE);
        try{
            if(input.isEmpty()||input.equals(" ")){
                JOptionPane.showMessageDialog(null,"Password tidak boleh kosong","Error!", JOptionPane.ERROR_MESSAGE);
                login_pass();
            }
        }
        catch(NullPointerException f){
            JOptionPane.showMessageDialog(null,"Jangan di Cancel","Error!", JOptionPane.ERROR_MESSAGE);
            login_pass();
        }
        return input;
    }
    public static void inputnama() {
        String input = JOptionPane.showInputDialog(null, "Inputkan nama anda (hanya huruf & _)", "SIGN UP", JOptionPane.PLAIN_MESSAGE);
        try{
            if(input.isEmpty()||input.equals(" ")){
                JOptionPane.showMessageDialog(null,"Nama tidak boleh kosong","Error!", JOptionPane.ERROR_MESSAGE);
                inputnama();
            }
            else if(!input.matches("([a-zA-Z_]{1,})")){
                JOptionPane.showMessageDialog(null,"Tidak boleh didahului angka","Notice!", JOptionPane.INFORMATION_MESSAGE);
                inputnama();
            }
            else{
                up_nama[total]=input;
            }
        }
        catch(NullPointerException f){
            JOptionPane.showMessageDialog(null,"Jangan di Cancel","Error!", JOptionPane.ERROR_MESSAGE);
            inputnama();
        }
    }
    private static void inputpass() {
        String input = JOptionPane.showInputDialog(null, "Inputkan password", "SIGN UP Input password!", JOptionPane.PLAIN_MESSAGE);
        try{
            if(input.isEmpty()||input.equals(" ")){
                JOptionPane.showMessageDialog(null,"Password tidak boleh kosong","Error!", JOptionPane.ERROR_MESSAGE);
                inputpass();
            }
            else{
                up_pass[total]=input;
            }
        }
        catch(NullPointerException f){
            JOptionPane.showMessageDialog(null,"Jangan di Cancel","Error!", JOptionPane.ERROR_MESSAGE);
            inputpass();
        }
    }
    private static void inputJK() {
        String[] pilihan = {"Laki-laki","Perempuan"};
            int respons = JOptionPane.showOptionDialog(null
                ,"Jenis Kelamin anda?"
                ,"Pilih Jenis Kelamin"
                ,JOptionPane.YES_NO_CANCEL_OPTION
                ,JOptionPane.QUESTION_MESSAGE
                ,null
                ,pilihan
                ,null
                );
            switch(respons){
                case 0 : up_gender[total]="Laki-laki";
                        up_sapaan[total]="BRO";
                    break;
                case 1 : up_gender[total]="Perempuan";
                        up_sapaan[total]="SIS";
                    break;
                case -1:
                    JOptionPane.showMessageDialog(null, "Pilih jenis kelamin dulu","Jenis Kelamin!",JOptionPane.ERROR_MESSAGE);
                    inputJK();
                    break;
            }
    }  
}

____________________________________________________________________________

Sek, sek, sek, belum selesai sampai di sini kawan...
Buat satu java class lagi bernamakan terserah kamu kalo punyaku ku beri nama "Konverter", la file konverter ini nantinya yang akan di panggil melalui file "inputarray2" di atas. Berikut ini coding dari file konverter...
____________________________________________________________________________

package JavaApplication6;

import javax.swing.JOptionPane;

/**
 *
 * @author defryan24
 */

public class Konverter {
    private static String nama=InputArray2.nama;
    private static String sapaan=InputArray2.sapaan;
    private static String age;
    private static String jenis_kl;
    public static int gender;
    private static int des;
    private static int validDes;
    private static StringBuilder hasil;
    public static void main(String ftm[]){
        menu_1();
    }
    public static void menu_1() {
       int konv_bilang;
       String options[] = {"Konversi Bilangan","Membilang & Pecahan","Sign Out!"};
       konv_bilang = JOptionPane.showOptionDialog(null, 
               "Selamat datang "+sapaan+" "+nama+"!!!\nPilih menu berikut", 
               "Main Menu", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE,
               null, options, null);
       switch(konv_bilang){
           case 0 : menu_konversi();
               break;
           case 1 : menu_bilangan();
               break;
           case 2 :InputArray2.menu_utama();
               break;
           case -1 : konfirm_exit("menu_1");
               break;
       }
    }
    
    public static void konfirm_exit(String menu) {
        int konfirmasi ;
        konfirmasi = JOptionPane.showConfirmDialog(null, sapaan+" "+nama+", Anda yakin mau keluar ?","Exit Confirmation", JOptionPane.YES_NO_OPTION);
        switch(konfirmasi){
            case -1:
            case 0 : System.exit(0);
                break;
            case 1 : 
                if("menu_1".equals(menu)){
                    menu_1();
                }
                else if("menu_konversi".equals(menu)){
                    menu_konversi();
                }
                else if("menu_bilangan".equals(menu)){
                    menu_bilangan();
                }
            break;
        }
    }
    
    public static void menu_konversi() {
        String option[] = {"BINER","HEXA","OKTAL","<<BACK>>","CLOSE>>"};
        int respons = JOptionPane.showOptionDialog(null
                    ,"Konversi dari Desimal ke ?"
                    ,"Pilih Konversi"
                    ,JOptionPane.YES_NO_CANCEL_OPTION
                    ,JOptionPane.QUESTION_MESSAGE
                    ,null 
                    ,option 
                    ,null
                    );
        switch(respons){
            case 0 : konv("Biner");
                break;
            case 1 : konv("Heksa");
                break;
            case 2 : konv("Oktal");
                break;
            case 3 : menu_1();
                break;
            case 4 :
            case -1 : konfirm_exit("menu_konversi");
                break;
        }
    }
    private static void tampilkonv(int des, String ke) {
        hasil= new StringBuilder();
        if(ke.equals("Biner")){
            Biner(des);
        }
        else if(ke.equals("Oktal")){
            Oktal(des);
        }
        else if(ke.equals("Heksa")){
            Heksa(des);
        }
        System.out.println("\n\nBilangan desimal : "+des+" "+ke+"nya Adalah: "+hasil);
        JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" "+ke+"nya Adalah: "+hasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
        menu_konversi();
    }
    private static void InpBil(String fungsi) {
        String apa = null;
        if("Biner".equals(fungsi)||"Heksa".equals(fungsi)||"Oktal".equals(fungsi)){
            apa = "dikonversikan ke "+fungsi;
        }
        else if("bilang".equals(fungsi)){
            apa = "di"+fungsi+"kan/dibaca (maksimal satu milyard)";
        }
        else if("desimal".equals(fungsi)||"rupiah".equals(fungsi)){
            apa = "dipecah dalam "+fungsi+" (maksimal satu milyard)";
        }
        String bildes = JOptionPane.showInputDialog(null, "Inputkan bilangan desimal \n untuk "+apa, "Input desimal", JOptionPane.INFORMATION_MESSAGE);
        try{
            validDes=Integer.parseInt(bildes);
            if(validDes>1000000000){
                JOptionPane.showMessageDialog(null, "Nilai terlalu besar, maksimal satu milyard !", "Error!", JOptionPane.ERROR_MESSAGE);
                InpBil(fungsi);
            }
            }
        catch(NumberFormatException ft){
            JOptionPane.showMessageDialog(null, "Inputkan angka !", "Error!", JOptionPane.ERROR_MESSAGE);
            InpBil(fungsi);
        }
    }
    private static void konv(String konv) {
        if(konv.equals("Biner")){
            InpBil("Biner");
            des = validDes;
            tampilkonv(des,"Biner");
        }
        else if (konv.equals("Heksa")){
            InpBil("Heksa");
            des = validDes;
            tampilkonv(des,"Heksa");
        }
        else if (konv.equals("Oktal")){
            InpBil("Oktal");
            des = validDes;
            tampilkonv(des,"Oktal");
        }
    }
    private static void Biner(int n) {
        String biner = null;
        if(n>1){
            Biner(n/2);
        }
        hasil.append(n%2);
    }
    private static void Heksa(int n) {
        char [] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B','C',
            'D','E','F'};
        if (n>1){
            Heksa (n/16);
            }
            hasil.append(daftarHexa[n%16]);
    }
    private static void Oktal(int n) {
        if(n>1){
        Oktal(n/8);
        }
        hasil.append(n%8);
    }
    private static void menu_bilangan() {
        String option[] = {"TERBILANG","PECAHAN RUPIAH","PECAHAN DESIMAL","<<BACK>>","CLOSE>>"};
        int respons = JOptionPane.showOptionDialog(null
                    ,"Pilih :"
                    ,"Pilih Menu Membilang atau Pecahan"
                    ,JOptionPane.YES_NO_CANCEL_OPTION
                    ,JOptionPane.QUESTION_MESSAGE
                    ,null 
                    ,option 
                    ,null
                    );
        switch(respons){
            case 0 : bil_pec("bilang");
                break;
            case 1 : bil_pec("rupiah");
                break;
            case 2 : bil_pec("desimal");
                break;
            case 3 : menu_1();
                break;
            case 4 :
            case -1 : konfirm_exit("menu_bilangan");
                break;
        }
    }
    private static void bil_pec(String bilang) {
        if(bilang.equals("bilang")){
            InpBil("bilang");
            des = validDes;
            tampilbil(des,"bilang");
        }
        else if(bilang.equals("rupiah")){
            InpBil("rupiah");
            des = validDes;
            tampilbil(des,"rupiah");
        }
        else if(bilang.equals("desimal")){
            InpBil("desimal");
            des = validDes;
            tampilbil(des,"desimal");
        }
    }
    private static void tampilbil(int des, String bilang) {
        hasil= new StringBuilder();
        String apase = "Bilangan";
        String diapakan = " dipecah menjadi";
        String petik=" ";
        String apa="Pecahan";
        if(bilang.equals("bilang")){
            Bilang(des);
            diapakan = " dibaca";
            petik="'";
            apa = "Terbilang";
        }
        else if(bilang.equals("rupiah")){
            Pecah_rupiah(des);
            apase="Uang Rp.";
            apa+=" rupiah";
        }
        else if(bilang.equals("desimal")){
            Pecah_desimal(des);
            apa+=" desimal";
        }
        System.out.println("\n"+apase+" "+des+diapakan+" : \n\n"+petik+hasil+petik);
        JOptionPane.showMessageDialog(null,apase+" "+des+diapakan+" : \n"+petik+hasil+petik,"Hasil "+apa,JOptionPane.INFORMATION_MESSAGE);
        menu_bilangan();
        
    }
    public static void Bilang(int des) {
        int f = 0;
        String angka[] = {""," Se"," Dua "," Tiga "," Empat "," Lima "," Enam "," Tujuh "," Delapan "," Sembilan "};
        String angka_2[] = {""," Satu "," Dua "," Tiga "," Empat "," Lima "," Enam "," Tujuh "," Delapan "," Sembilan "};
        //String satuan[] = {""," puluh "," belas "," ratus "," ribu "," belas ribu "};
            if(des>=1000000000){
                hasil.append(angka_2[des/1000000000]);
                hasil.append("milyar ");
                des%=1000000000;
            }
            if(des>=100000000){
                hasil.append(angka[des/100000000]);
                if(des%100000000>1000000){
                    hasil.append("ratus ");
                }
                else{
                    hasil.append("ratus juta ");
                }
                des%=100000000;
            }
            if(des>=10000000){
                int bantuan=des/1000000;
                if(bantuan<20&&bantuan>10){
                    hasil.append(angka[bantuan%=10]);
                    hasil.append("belas juta ");
                    des=(des%10000000)-(bantuan%=10)*1000000;
                }
                else{
                    hasil.append(angka[des/10000000]);
                    if(des%10000000>=1000000){
                        hasil.append("puluh ");
                    }
                    else{
                        hasil.append("puluh juta ");
                    }
                    des%=10000000;
                }
            }
            if(des>=1000000){
                hasil.append(angka_2[des/1000000]);
                hasil.append("juta ");
                des%=1000000;
            }
            if(des>=100000){
                hasil.append(angka[des/100000]);
                if(des%100000>1000){
                    hasil.append("ratus ");
                }
                else{
                    hasil.append("ratus ribu ");
                }
                des%=100000;
            }
            if(des>=10000){
                f++;
                int bantuan=des/1000;
                if(bantuan<20&&bantuan>10){
                    hasil.append(angka[bantuan%=10]);
                    hasil.append("belas ribu ");
                    des=(des%10000)-(bantuan%=10)*1000;
                }
                else{
                    hasil.append(angka[des/10000]);
                    if(des%10000>=1000){
                        hasil.append("puluh ");
                    }
                    else{
                        hasil.append("puluh ribu ");
                    }
                    des%=10000;
                }
            }
            if(des>=1000){
                if(f==1){
                    hasil.append(angka_2[des/1000]);
                }
                else{
                    hasil.append(angka[des/1000]);
                }
                hasil.append("ribu ");
                des%=1000;
            }
            if(des>=100){
                hasil.append(angka[des/100]);
                hasil.append("ratus ");
                des%=100;
            }
            if(des>=10){
                if(des<20&&des>10){
                    hasil.append(angka[des%=10]);
                    hasil.append("belas ");
                    des=0;
                }
                else{
                    hasil.append(angka[des/10]);
                    hasil.append("puluh ");
                    des%=10;
                }
            }
                hasil.append(angka_2[des]);
    }
    public static void Pecah_rupiah(int des) {
        int A,B,C,D,E,F,G,H,I,J,K ;
        
        A=des/100000;
        des%=100000;
        
        B=des/50000;
        des%=50000;
        
        C=des/20000;
        des%=20000;
        
        D=des/10000;
        des%=10000;
        
        E=des/5000;
        des%=5000;
        
        F=des/2000;
        des%=2000;
        
        G=des/1000;
        des%=1000;
        
        H=des/500;
        des%=500;
        
        I=des/100;
        des%=100;
        
        J=des/50;
        des%=50;
        
        K=des;
        
        hasil.append(
                "Banyaknya seratus ribuan      = "+A
                +"\n Banyaknya lima puluh ribuan = "+B
                +"\n Banyaknya dua puluh ribuan  = "+C
                +"\n Banyaknya sepuluh ribuan     = "+D
                +"\n Banyaknya lima ribuan            = "+E
                +"\n Banyaknya dua ribuan             = "+F
                +"\n Banyaknya seribuan                = "+G
                +"\n Banyaknya lima ratusan         = "+H
                +"\n Banyaknya seratusan              = "+I
                +"\n Banyaknya lima puluhan         = "+J
                +"\n sisa                                              = "+K
                +"\n\n *) pecahan menurut pecahan rupiah\n   Digunakan pecahan terbesar dahulu");                   
    }
    public static void Pecah_desimal(int des) {
        int A,B,C,D,E,F,G,H,I,J,K,L,M ;
        
        A=des/1000000000;
        des%=1000000000;
        
        B=des/100000000;
        des%=100000000;
        
        C=des/10000000;
        des%=10000000;
        
        D=des/1000000;
        des%=1000000;
        
        E=des/100000;
        des%=100000;
        
        F=des/10000;
        des%=10000;
        
        G=des/1000;
        des%=1000;
        
        H=des/100;
        des%=100;
        
        I=des/10;
        des%=10;
        
        J=des;
        
        
        hasil.append(
                "Nilai milyaran        = "+A
                +"\n Nilai ratusan juta  = "+B
                +"\n Nilai puluhan juta  = "+C
                +"\n Nilai jutaan             = "+D
                +"\n Nilai ratusan ribu  = "+E
                +"\n Nilai puluhan ribu  = "+F
                +"\n Nilai ribuan             = "+G
                +"\n Nilai ratusan          = "+H
                +"\n Nilai puluhan          = "+I
                +"\n Nilai satuan            = "+J
                
                +"\n\n *) pecahan menurut bilangan desimal");                   
    }
    }



Minggu, 09 September 2012

Java (Konversi Bilangan Menggunakan JOptionPane)

Yuhu..............
Aku nge post lagi nih, kali ini konversi bilangan menggunakan JOptionPane.
Kalo yang ini lebih mbois, Jadi nanti saat program dijalankan maka kita harus mengisikan nama , memilih gender , dan memilih menu dimana terdapat menu Biner, Hexa, Oktal , Terbilang, Pecahan , Kembali , dan Keluar. Lah, di bawah ini codingannya. Selamat mencoba eeaa kakak!!! :D
____________________________________________________________________________

Ketikkan code berikut , letakkan dibawah packages.

package JavaApplication5;
import javax.swing.JOptionPane;

Kemudian deklarasikan variable yang akan digunakan di bawah class.

public class MenuDariJOption {
   private static String name;
    private static String des;
    private static String gender;
    private static String kelamin;
    private static int validDes;
    static StringBuilder binerHasil = new StringBuilder();
    static StringBuilder hexaHasil = new StringBuilder();
    static StringBuilder oktalHasil = new StringBuilder();
    static String sc;

Lalu ketikkan coding berikut untuk menampilkan proses konversi bilangan ke biner , hexa , dan oktal.

public static void keBiner(int n){
    if(n>1){
        keBiner(n/2);
        System.out.print(n%2);
        binerHasil.append(n%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'};
        if(n>0){
            keHexa(n/16);
            System.out.print(daftarHexa[n%16]);
        hexaHasil.append(daftarHexa[n%16]);
   
        }
    }
    public static void keOktal(int n){
    char[] daftarOktal={'0','1','2','3','4','5','6','7','8'};
        if(n>0){
            keHexa(n/8);
            System.out.print(daftarOktal[n%8]);
            oktalHasil.append(daftarOktal[n%8]);
        }
    }

Tuliskan coding berikut untuk menginputkan bilangan decimal.

public static void inputDesJOption(){
    des=JOptionPane.showInputDialog("Masukkan " + "Bil.Desimalnya = ");
    try{
        if(des.isEmpty()){
            JOptionPane.showMessageDialog(null, "Inputan angka ya! Ndak boleh kosong!!");
            inputDesJOption();//kembali input angka
        }
    }catch(NullPointerException npe){
        JOptionPane.showMessageDialog(null, "Tolong - tolong diisi angka dulu!!");
        inputDesJOption();//kembali input angka
    }
    }

Lalu tuliskan coding berikut untuk menampilkan hasil konversi bilangan.

public static void eksepsiInpBiner(){
    inputDesJOption();
    try {
        validDes=Integer.parseInt(des);
        keBiner(validDes);
        JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" Dikonversikan dalam Biner hasilnya : "+binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE );
        binerHasil = new StringBuilder();
       
    }catch(NumberFormatException nfe){
        JOptionPane.showMessageDialog(null, des+" Bukan angka!! "+ "\nMasukkan angka ae!!");
        eksepsiInpBiner();
    }
    }
    public static void eksepsiInpHexa(){
    inputDesJOption();
    try {
        validDes=Integer.parseInt(des);
        keHexa(validDes);
        JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" Dikonversikan dalam Biner hasilnya : "+hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE );
        hexaHasil = new StringBuilder();
       
    }catch(NumberFormatException nfe){
        JOptionPane.showMessageDialog(null, des+" bukan angka!! "+ "\nMasukkan angka ae!!");
        eksepsiInpHexa();
    }
    }
    public static void eksepsiInpOktal(){
    inputDesJOption();
    try {
        validDes=Integer.parseInt(des);
        keOktal(validDes);
        JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" Dikonversikan dalam Biner hasilnya : "+oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE );
        oktalHasil = new StringBuilder();
    }catch(NumberFormatException nfe){
        JOptionPane.showMessageDialog(null, des+" bukan angka!! "+ "\nMasukkan angka ae!!");
        eksepsiInpOktal();
    }
    }
   
    public static void outHasilBiner(){
    eksepsiInpBiner();
    }
     public static void outHasilHexa(){
    eksepsiInpHexa();
    }
     public static void outHasilOktal(){
    eksepsiInpOktal();
    }

Kemudian untuk menampilkan input dialog nama dan gender.

public static void inpNama(){
    name=JOptionPane.showInputDialog("Masukkan Nama Anda :");
    try{
        if(name.isEmpty()){
            JOptionPane.showMessageDialog(null, "Nama ndak boleh kosong!!");
            inpNama();//kembali input nama
        }
    }catch(NullPointerException npe){
        JOptionPane.showMessageDialog(null, "Harap diisi nama dulu ya!!");
        inpNama();//kembali input nama
    }
    }
    //menampilkan input dialog jenis Kelamin (gender)
    public static void jenisKelamin(){
        gender=JOptionPane.showInputDialog("Masukkan Jenis Kelamin Anda (laki-laki / Perempuan) : ");
        try{
            if(gender.isEmpty()){
                JOptionPane.showMessageDialog(null, "Harus diisi lho yaa.... Jenis Kelamin ???");
                jenisKelamin();
            }
        }
        catch(NullPointerException npt){
            JOptionPane.showMessageDialog(null, "Apa sich jenis kelamin kamu ???");
            jenisKelamin();
        }
        if ("laki-laki".equals(gender)) {
            kelamin="Saudara, ";
        }
        else{
            if("perempuan".equals(gender)){
                kelamin="Saudari, ";
            }
            else{
                JOptionPane.showMessageDialog(null, "Hanya bisa diisi laki-laki dan Perempuan saja !!");
                jenisKelamin();
            }
        }
    }

Lalu di bawah ini untuk menampilkan terbilang dan pecahan. 

//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 yang akan disebut : ");
        try {
            if (sc.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Mana sich bilangannya ?? Isi dulu yaa.. !!");
                outTerbilang();
            } else {

                JOptionPane.showMessageDialog(null, new MenuDariJOption().terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
            }
        } catch (NullPointerException not) {
            JOptionPane.showMessageDialog(null, "Jangan keluar dulu, harus diisi dulu.. !!");
            outTerbilang();
        } catch (NumberFormatException nae) {
            JOptionPane.showMessageDialog(null, "Hey '" + sc + "'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outTerbilang();
        }
    }
         
    public static void hasilPecahan() {
        int desimal;

        String str = JOptionPane.showInputDialog("Masukkan bilangan yang akan dipecah : ");
        try {
            if (str.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Kosong nih, isi dulu ya.. !!");
                hasilPecahan();
            } else {

                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);
            }
        } catch (NullPointerException not) {
            JOptionPane.showMessageDialog(null, "Eeiittss mau kemana ?? Isi dulu bilangannya.. !!");
            hasilPecahan();
        } catch (NumberFormatException nae) {
            JOptionPane.showMessageDialog(null, "Hey '" + str + "'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            hasilPecahan();
        }
    }

Dan ini untuk proses kembali ke awal menginputkan nama.

public static void kembaliMenu(){
        inpNama();
        jenisKelamin();
    }

Selanjutnya untuk proses end atau exit.

public static void thanks(){
        JOptionPane.showMessageDialog(
                               null                      
                             , "Terima Kasih "+kelamin+name+" !"
                                + " sudah mau mampir di program konversi bilangan saya :)"
                             , "Thank you"               
                             , JOptionPane.PLAIN_MESSAGE
                             , null                             
                           );
    }

Coding untuk menampilkan pilihan menu.

public static void menuJOption(){
        inpNama();
        jenisKelamin();
        String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "KEMBALI", "KELUAR"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                      
                             , "Selamat Datang "+kelamin+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:
                    thanks();
                default:
                System.exit(0);
            }
        }
    }

Coding terakhir nih :D untuk menampilkan hasil dari coding keseluruhan.

public static void main (String[] args){
    menuJOption();
    }
}
____________________________________________________________________________

Nih hasilnya aku kasih tahu print screen nya.







 * Kalo mau tahu hasil yang lebih lengkap, coba sendiri dong... Biar lebih mbois nanti kalian...
Sekian, Terimakasih... :D




Selasa, 04 September 2012

PHP (Konversi Bilangan Menggunakan Radio Button)

Okeh teman - teman :D, ini postingan selanjutnya tentang PHP, yaitu coding untuk membuat program pengkonversian bilangan menggunakan radio button...

Sumonggo dicoba nggih, selamat mencoba :D
____________________________________________________________________________

<?php
if(isset($_POST['submit'])){
$nama=$_REQUEST['name'];
    if(isset($_POST['gender'])){
        $gender=$_REQUEST['gender'];
    }
    else{
        $gender='';
    }
$cek='';
}

else{
    $nama='';
    $gender='';
    $cek='Tolong Diisi Lengkap Ya!!!';
}
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Login Untuk Konversi</title>
            
    </head>
    <body>
      <h1 class='a'>
<?php echo $cek ?></h1>
<br>
        <form action="Konversi.php" method="post" name="from">
            <p>
<h3>
Name : <input placeholder="Nama"
required="required" type="text" name="nama" size ="30" value="<?php
echo $nama ?>"/></h3>
</p>
<p>
<h3>
Gender :
                <input type="radio" name="gender" value="L"
                               <?php ($gender=="L")? print
'checked=""' : print ''; ?>/>
                Laki
                <input type="radio" name="gender" value="P"
                       <?php ($gender=="P")? print 'checked=""' :
print ''; ?>/>
                Perempuan
            </h3>
</p>
<center><input type="submit" name="submit" value="Enter"></center>
        </form>
    </body>
</html>
____________________________________________________________________________

Eits eits eits, nih codingan di atas belum selesai, jadi coding di atas memanggil file "Konversi.PHP" teman - teman... Dan file "Konversi.PHP" codingannya ada di bawah ini, selamat mencoba ya...
____________________________________________________________________________

<?php
error_reporting(0);
$des = $_REQUEST['des'];//deklarasi var desimal
$option = $_REQUEST['option'];//deklarasi var pilihan
//Membuat function bin untuk konversi ke biner
    function bin($bil){
      $decimal= $bil;
      $ori=$decimal;;
      while ($decimal>0){ //Looping memutuskan apakah inputan 1 atau 0 yang ditampilkan
                    if($decimal%2 == 0){ // menampbah 0
                        $binary .= 0; //$binary=0+$binary
                        $decimal /= 2; //$decimal=$decimal/2
                    }
                    else{   //menambah 1
                        $binary .= 1; //$binary=1+$binary
                        $decimal = ($decimal/2)-0.5;

                    }
                }
                $result = strrev($binary);
      return "Biner dari : $ori adalah : $result <br/>"; //fungsi ini mereturn hasil
    }
//Membuat function oct untuk konversi ke octal

    function oct($bil){
        $des= $bil;
        $ori=$des;
        $oct='';
        while($des>0){
            $hasil=$des%8;
                switch($hasil){
                    case 0: $oct.="0"; break;
                    case 1: $oct.="1"; break;
                    case 2: $oct.="2"; break;
                    case 3: $oct.="3"; break;
                    case 4: $oct.="4"; break;
                    case 5: $oct.="5"; break;
                    case 6: $oct.="6"; break;
                    case 7: $oct.="7"; break;
                    default : break;
                }
                if($des/8==0){
                    $sisa=($des%8);
                    $des=$sisa;
                }
                else{
                    $sisa=($des/8);
                    $des=$sisa%8;
                }
        }
        $result = strrev($oct);
         return "Octal dari : $ori adalah : $result <br/>"; //funngsi ini mereturn hasil
    }
//Membuat function hex untuk konversi ke hexa
    function hex($bil){
        $des= $bil;
        $ori=$des;
        $hex='';
        while($des>0){
        $hasil=$des%16;
            switch($hasil){
                case 0: $hex.="0"; break;
                case 1: $hex.="1"; break;
                case 2: $hex.="2"; break;
                case 3: $hex.="3"; break;
                case 4: $hex.="4"; break;
                case 5: $hex.="5"; break;
                case 6: $hex.="6"; break;
                case 7: $hex.="7"; break;
                case 8: $hex.="8"; break;
                case 9: $hex.="9"; break;
                case 10: $hex.="A"; break;
                case 11: $hex.="B"; break;
                case 12: $hex.="C"; break;
                case 13: $hex.="D"; break;
                case 14: $hex.="E"; break;
                case 15: $hex.="F";
                default : break;
            }
            if($des/16==0){
                $sisa=($des%16);
                $des=$sisa;
            }
            else{
                $sisa=($des/16);
                $des=$sisa%16;
            }
            }
         $result = strrev($hex);
         return "Hexa dari : $ori adalah : $result <br/>"; //funngsi ini mereturn hasil
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Converter Option for Biner by Firayz</title>
    </head>
    <body>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
                method="post" name="form1">
            <p>Inputkan bilangan desimal :
                <input type="text" name="des" value="<?php echo $des ?>" /></p>
            <p>Pilih konversi : <br/>
                <input type="radio" name="option" value="bin"
                    <?php ($option=="bin") ? print 'checked=""': print ''; ?>/>
                        Desimal to Biner<br/>
                <input type="radio" name="option" value="hex"
                    <?php ($option=="hex") ? print 'checked=""': print ''; ?>/>
                        Desimal to Hexa<br/>
                <input type="radio" name="option" value="oct"
                    <?php ($option=="oct") ? print 'checked=""': print ''; ?>/>
                        Desimal to Octal<br/>
            </p>
            <input type="submit" name="submit" value="Submit"/>
        </form>
        <?php
            if(isset($_POST['des'])){ //apakah data tersubmit?
                /*mambuat variable untuk menyimpan data yang dikirim*/
                $des = $_REQUEST['des'];
                $option = $_REQUEST['option'];
                //cek apakah data yang dikirim tidak kosong ?
                if($des=='' || $option==''){
                    echo '<h2>Maaf data Kurang Lengkap</h2>';
                }
                else{
                    //cek jenis kelamin
                    switch($option){
                        case 'bin' : echo "<h3>".bin($des)."</h3>"; break;
                        case 'hex' : echo "<h3>".hex($des)."</h3>"; break;
                        case 'oct' : echo "<h3>".oct($des)."</h3>"; break;
                        default : break;
                    }
                }
                echo "<Konversi.php>Reset</a>"; //hasil
            }
         ?>
    </body>
</html>
____________________________________________________________________________

Kalo aku udah berhasil membuat nih program, nih di bawah buktinya :P

 



 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Learn from yesterday ,

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

live for today ,

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

and hope for tomorrow...