Senin, 24 September 2012

Membuat Menu Sign Up , Sign In , Sign Out dengan Java

Disini kita akan coba membuat menu Sign In , Sign Up serta Sign Out dengan Java , menu yang kita buat ini sama dengan membuat sebuah akun user pada sebuah program . Dalam pembuatan program ini masih belum terhubung dengan database jadi pada saat data user disimpan , datanya akan hilang .

Ini langkah-langkahnya :

1.Buat Packages Baru "Praktek1.Login" lalu buat New Java Class "MainMethod.java"
 
 package Praktek1.Login;
 import Praktek1.Login.Data;

/**
 *
 * @author dery
 */
public class MainMethod {
    public static void main(String[] args) {
        Data data = new Data(); 
        data.mainMenu();
    }
}

2.Buat New Java Class lagi dengan nama "Data.java" --> untuk menu sign in , sign up , sign out




package Praktek1.Login;
import javax.swing.JOptionPane;
import java.util.*;
/**
 *
 * @author acer
 */
public class Data {
    public int countSignIn;
    public int nameLength;
    public int genderLength;
    public int passLength;
    public ArrayList name = new ArrayList();
    public ArrayList gender = new ArrayList();
    public ArrayList password = new ArrayList();

    public void mainMenu() {
        String[] menu = {"Sign Up", "Sign In", "Sign Out"};
        int pilihan = JOptionPane.showOptionDialog(null,
                "Selamat Datang ^^",
                "Main menu",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.PLAIN_MESSAGE,
                null, menu, null);
        switch (pilihan) {
            case 0:
                signUp();
                break;
            case 1:
                signIn();
                break;
            case 2:
                System.exit(0);
                break;
            default:
                JOptionPane.showMessageDialog(null, "Maaf jika ingin keluar mohon Sign Out terlebih dahulu");
                mainMenu();
                break;
        }
    }

    public void signUp() {
        Object nameSuit[] = name.toArray();
        Object passSuit[] = password.toArray();
        String nama = Nama();
        int i;
        for (i = 0; i < name.size(); i++) {
            if (nameSuit[i].equals(nama)) {
                JOptionPane.showMessageDialog(null, "Maaf User Name yang anda masukkan sudah terdaftar");
                signUp();
            }
        }
        if (i == name.size()) {
            name.add(nama);
        }
        gender.add(Gender());
        int a = 0;
        while (a < 2) {
            String pass = Password();
            if (!pass.matches(".{2,}")) {
                JOptionPane.showMessageDialog(null, "Maaf password minimal 2 karakter");
            } else if (pass.matches(".{2,}")) {
                password.add(pass);
                mainMenu();
            } else if (a == 2) {
                a = 0;
            }
        }
    }

    public String Nama() {
        String nama = JOptionPane.showInputDialog("Silahkan masukkan nama anda : ");
        try {
            if (nama.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Maaf nama tidak boleh kosong");
                Nama();
            } else if (!nama.matches("[a-z A-Z]+")) {
                JOptionPane.showMessageDialog(null, "Maaf masukkan huruf saja");
                Nama();
            }
        } catch (NullPointerException npe) {
            JOptionPane.showMessageDialog(null, "Masukkan nama anda terlebih dahulu");
            Nama();
        }
        return nama;
    }

    public String Gender() {
        String gender = "";
        String[] opGender = {"Boys", "Girl"};
        int pilihan = JOptionPane.showOptionDialog(null,
                "Silahkan pilih jenis kelamin anda",
                "Gender",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.PLAIN_MESSAGE,
                null, opGender, null);
        switch (pilihan) {
            case 0:
                gender = "Abang";
                break;
            case 1:
                gender = "Neng";
                break;
            default:
                JOptionPane.showMessageDialog(null, "Pilih jenis kelamin anda terlenih dahulu");
                Gender();
                break;
        }
        return gender;
    }

    public String Password() {
        String password = JOptionPane.showInputDialog("Silahkan masukkan passoword anda");
        try {
            if (password.isEmpty()) {
                JOptionPane.showMessageDialog(null, "password tidak boleh kosong");
                Password();
            }
        } catch (NullPointerException npe) {
            JOptionPane.showMessageDialog(null, "Maaf masukkan password anda terlebih dahulu");
            Password();
        }
        return password;
    }

    public void signIn() {
        Object nameSuit[] = name.toArray();
        Object passSuit[] = password.toArray();
        Object genderSuit[] = gender.toArray();
        String nama = Nama();
        String password = Password();
        String kesalahan = "";
        String betul = "";
        int i;
        for (i = 0; i < name.size(); i++) {
            if (nameSuit[i].equals(nama) && passSuit[i].equals(password)) {
                JOptionPane.showMessageDialog(null,
                        " Selamat datang " + genderSuit[i] + " " + nameSuit[i] + "");
                menuJOption();
            } else if (!nameSuit[i].equals(nama) && !passSuit[i].equals(password)) {
                kesalahan = "nama dan password";
                betul = "ada";
            } else {
                if (!passSuit[i].equals(password)) {
                    kesalahan = "password";
                    betul = "cocok dengan nama";
                }
                if (!nameSuit[i].equals(nama)) {
                    kesalahan = "nama";
                    betul = "cocok dengan password";
                }
            }
        }
        if (i == name.size()) {
            JOptionPane.showMessageDialog(null, "Maaf password tidak cocok" + betul + "\ncoba lagi");
            mainMenu();
        }
    }

    public void menuJOption() {
        Konversi konv = new Konversi();
        String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "KEMBALI"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                    null, "Selamat Datang !!"
                    + "\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:
                    konv.setPilih("Biner");
                    konv.outHasilBiner();
                    break;
                case 1:
                    konv.setPilih("Hexadesimal");
                    konv.outHasilHexa();
                    break;
                case 2:
                    konv.setPilih("Oktal");
                    konv.outHasilOktal();
                    break;
                case 3:
                    konv.setPilih("Terbilang");
                    konv.outTerbilang();
                    break;
                case 4:
                    konv.setPilih("Pecahan");
                    konv.hasilPecahan();
                    break;
                case 5:
                    mainMenu();
                    break;
                default:
                    JOptionPane.showMessageDialog(null, "Untuk keluar harap Sign Out");
                    break;
            }
        }
    }
}




3. Create New Java Class lagi dengan nama "Konversi.java" --> untuk menampilkan menu konversi setelah menu sign in , sign up , sign out


package Praktek1.Login;
import javax.swing.JOptionPane;
/**
 *
 * @author dery
 */
public class Konversi {
    private static String des;
    private String pilih;
    private static int validDes;
    private static long bilTerbilang;
    static String[] angka = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"};
    static StringBuilder binerHasil = new StringBuilder();
    static StringBuilder hexaHasil = new StringBuilder();
    static StringBuilder oktalHasil = new StringBuilder();

    public void setPilih(String pilih) {
        this.pilih = pilih;
    }

    public static void keBiner(int n) {
        if (n > 1) {
            keBiner(n / 2);
        }
        System.out.print(n % 2);
        binerHasil.append(n % 2);
    }

    public 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'};
        int sisaBagi = n % 16;
        if (n > 0) {
            keHexa((n - sisaBagi) / 16);
            System.out.print(daftarHexa[n % 16]);
            hexaHasil.append(daftarHexa[n % 16]);
        }
    }

    public void keOktal(int n) {
        int sisaBagi = n % 8;
        if (n > 0) {
            keOktal((n - sisaBagi) / 8);
            System.out.print(n % 8);
            oktalHasil.append(n % 8);
        }
    }

    public void inputDesJOption(String pilih) {
        des = JOptionPane.showInputDialog("Masukkan bilangan Desimalnya : ");
        try {
            if (des.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Anda harus mengisikan bilangan desimalnya terlebih dahulu");
                inputDesJOption(pilih);
            }
        } catch (NullPointerException npe) {
            JOptionPane.showMessageDialog(null, "maaf, mohon isi bilangan desimal dibawah ini");
            inputDesJOption(pilih);
        }
    }

    public void outHasilBiner() {
        inputDesJOption(pilih);
        try {
            validDes = Integer.parseInt(des);
            System.out.print("\n Bilangan Desimal "+des+" dalam Biner adalah: ");
            keBiner(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "Bilangan Desimal "+des+" dalam Biner adalah : "
                    + ""+binerHasil, "Kotak Hasil", JOptionPane.PLAIN_MESSAGE);
            binerHasil = new StringBuilder();
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan angka!"
                    + "\nMohon isikan angka saja");
            outHasilBiner();
        }
    }

    public void outHasilHexa() {
        inputDesJOption(pilih);
        try {
            validDes = Integer.parseInt(des);
            System.out.print("\n Bilangan Desimal "+des+" dalam Hexa adalah: ");
            keHexa(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "Bilangan Desimal "+des+" dalam Hexa adalah : "
                    + ""+hexaHasil, "Kotak Hasil", JOptionPane.PLAIN_MESSAGE);
            hexaHasil = new StringBuilder();
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan angka!"
                    + "\nMohon isikan angka saja");
            outHasilHexa();
        }
    }

    public void outHasilOktal() {
        inputDesJOption(pilih);
        try {
            validDes = Integer.parseInt(des);
            System.out.print("\n Bilangan Desimal "+des+" dalam Oktal adalah: ");
            keOktal(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "Bilangan Desimal "+des+" dalam Hexa adalah : "
                    + ""+oktalHasil, "Kotak Hasil", JOptionPane.PLAIN_MESSAGE);
            oktalHasil = new StringBuilder();
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan angka!"
                    + "\nMohon isikan angka saja");
            outHasilOktal();
        }
    }
    
    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 "maaf 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 void outTerbilang() {
        inputDesJOption(pilih);
        try {
            bilTerbilang = Long.parseLong(des);
            JOptionPane.showMessageDialog(null, new Konversi().terbilang(bilTerbilang), "Terbilang", JOptionPane.INFORMATION_MESSAGE);
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan angka!"
                    + "\nMohon isikan angka saja");
            outTerbilang();
        }
    }

    public void hasilPecahan() {
        inputDesJOption(pilih);
        try {
            long desimal = Long.parseLong(des);
            long 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, "Bilangan " + des + " dalam : "
                    + "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 (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan angka!"
                    + "\nMohon isikan angka saja");
            hasilPecahan();
        }
    }
}


Ini Tampilannya :






Proses setelah itu sama dengan postingan konversi sebelumnya :)
oke selamat mencoba !!





Continue lendo

Jumat, 07 September 2012

Konversi Bilangan Menggunakan JOPtionPane

Ya ketemu lagi disini , kali ini saya akan membahas lagi yang namanya konversi bilangan di JAVA , tapi yang ini berbeda .
Nanti saat program dijalankan maka kita harus mengisikan nama , memilih gender , dan memilih menu dimana terdapat 7 menu yaitu Biner, Hexa, Oktal , Terbilang, Pecahan , Kembali , dan keluar

Berikut langkah-langkahnya :


1. Buat NetBeans , New Java Class , beri nama menuDariJOPtion.java
2. kemudian ketikkan code berikut , letakkan dibawah packages :

package Praktek1;
import javax.swing.JOptionPane;

3.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;

4. Kemudian 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]);
        }
    }

5. kemudian 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 tidak boleh kosong!!");
            inputDesJOption();//kembali input angka
        }
    }catch(NullPointerException npe){
        JOptionPane.showMessageDialog(null, "Harap diisi Angka dulu donk!!");
        inputDesJOption();//kembali input angka
    }
    }

6. dan 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 saja!!");
        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 saja!!");
        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 saja!!");
        eksepsiInpOktal();
    }
    }
    
    public static void outHasilBiner(){
    eksepsiInpBiner();
    }
     public static void outHasilHexa(){
    eksepsiInpHexa();
    }
     public static void outHasilOktal(){
    eksepsiInpOktal();
    }

7.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 tidak boleh kosong!!");
            inpNama();//kembali input nama
        }
    }catch(NullPointerException npe){
        JOptionPane.showMessageDialog(null, "Harap diisi Nama dulu donk!!");
        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 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();
            }
        }
    }

8.dan 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, "Waa.. mana 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, "Kok kosong ?? 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, "Eitss mau kemana ?? Isi dulu bilangannya.. !!");
            hasilPecahan();
        } catch (NumberFormatException nae) {
            JOptionPane.showMessageDialog(null, "Hey '" + str + "'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            hasilPecahan();
        }
    }

9.dan ini untuk proses kembali ke awal menginputkan nama :
public static void kembaliMenu(){
        inpNama();
        jenisKelamin();
    }

10.dan ini 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                              
                           ); 
    }

11. 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);
            }
        }
    }

12. ini untuk menampilkan hasil dari coding keseluruhan :
public static void main (String[] args){
    menuJOption();
    }
}


Coding ini sebagian saya ambil dari referensi internet beserta hasil sharing dengan teman , apabila anda ingin mencoba tapi pada saat dicoba masih ada kesalahan , dimohon untuk saling share mana yang salah dan perbaikannya seperti apa , oke sekian dulu terimakasih :)

dan dalam program ini , tampilan untuk menampilkan proses konversi ada yang menggunkanan message dialog dan satunya di console , tunggu perkembangan selanjutnya saja :)


ini dia tampilan testing programnya :

ini tampilan awal ketika program dijalankan , kita harus menginputkan nama terlebih dahulu

ini tampilan apabila kita tidak menginputkan nama tapi langsung di klik ok

ini tampilan apabila kita tidak menginputkan nama tapi langsung di klik cancel



baru setelah kita menginputkan nama , maka akan muncul input dialog untuk menginputkan jenis kelamin

ini kotak dialog yang muncul akibat kita langsung mengklik ok tanpa harus menginputkan jenis kelamin terlebih dahulu
ini kotak dialog yang muncul akibat kita langsung mengklik cancel tanpa harus menginputkan jenis kelamin terlebih dahulu


ini kotak dialog yang muncul akibat kita menginputkan jenis kelamin yang bukan laki-laki/perempuan



ini pilihan menu setelah kita menginputkan nama


 ini input dialog untuk memasukkan bilangan desimal yang kita inginkan untuk dikonversikan
ini kotak dialog yang tampil ketika kita mengklik ok namun belum menginputkan bilangan desimal


ini bila kita menginputkan selain angka

ini jika kita mencancel sebelum kita menginputkan angka


 ini hasil konversi ke biner
  ini hasil konversi ke hexa
 ini hasil konversi ke otal


ini merupakan proses menampilkan inputan yang terbilang


ini merupakan proses menampilkan inputan menjadi pecahan


dan apabila kita mengklik menu kembali maka kita akan kembali dimana muncul tampilan input dialog nama

 dan ini kotak dialog yang tampil pada saat kita memilih menu keluar


Continue lendo
 

Deryan E.M. Copyright © 2011 | Template design by O Pregador | Powered by Blogger Templates