Minggu, 09 September 2012

[JAVA] Konversi Bilangan Scanner

Selamat Malam , Selamat datang kembali di Blog saya . Kali ini saya akan berbicara masalah Konversi Bilangan menggunakan Scanner . Ini adalah versi Pertama . Nantinya akan saya rilis juga versi menggunakan Joption (hehehehe) . Langsung saja

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package PraktikumJava;

import java.util.Scanner;

/**
 *
 * @author Bhumyamka
 */
public class KonversiBilanganScannner {
    static String name; 
    static String jk; 
    static String lp; 
    static int bilDes;
    static int asli;
//START method konversi
    public static void Biner(int n){ //function utk konv ke biner
        if(n>1){
            Biner(n/2);
        }
        System.out.print(n%2);
    }
    public static void tampilBiner(){ //function utk tampilkan biner
        inputDes();
        System.out.print("Binernya adalah :");
                Biner(bilDes);
    }
    public static void Oktal(int n){ //function utk konv ke octal
        if(n>1){
            Oktal(n/8);
        }
        System.out.print(n%8);
    }
    public static void tampilOktal(){ //function utk tampilkan octal
        inputDes();
        System.out.print("Oktalnya adalah :");
                Oktal(bilDes);
    }
    
    public static void Heksa(int n){ //function utk konv ke heksa
        asli = n;
        if(n>1){
            Heksa(n/16);
        }
        if(!((n%16==0)&(n==asli))){ //jika heksa awal 0 tidak ditulis (misal 04 ditulis 4)
        switch(n%16){
            case 10 : System.out.print("A"); break;
            case 11 : System.out.print("B"); break;
            case 12 : System.out.print("C"); break;
            case 13 : System.out.print("D"); break;
            case 14 : System.out.print("E"); break;
            case 15 : System.out.print("F"); break;
            default : System.out.print(n%16);//System.out.print(
        }
        }
    }
    public static void tampilHeksa(){ //function utk tampilkan heksa
        inputDes();
        System.out.print("Heksanya adalah :");
                Heksa(bilDes);
    }
//END method konversi
    
//START function input menu
    public static int inpMenu(){ //fungsi untuk input pemilihan menu
        System.out.println("=================================="+
                "\n\nSelamat datang "+jk+" "+name);
        System.out.println("Silakan memilih Menu Konversi Bilangan"+
                "\n1. Biner \n2. Hexa \n3. Oktal \n4. Terbilang \n5. Pecahan  \n6. Exit ");
        System.out.print("Masukkan angka Menu = ");
        Scanner inputan = new Scanner(System.in);
        int pilmenu = inputan.nextInt();
        return pilmenu;
    }
//END function input menu
    
//START method for input desimal
    public static void inputDes() { //fungsi untuk input bil desimal
        System.out.print("Masukkan Bilangan desimal = ");
        Scanner inputan=new Scanner(System.in);
        bilDes=inputan.nextInt();
    }
//END method for input desimal
    
//START eksekusi menu
    public static void menU(int pil){ 
        System.out.println("\033");
        switch(pil){
            case 1: tampilBiner(); break;
            case 2: tampilHeksa();break;
            case 3: tampilOktal();break;
            case 4: tampilTerbilang();break;
            case 5: tampilPecahan();break;
            case 6: System.out.println("Monggo ya!!");
                System.exit(0); break;
            default:System.out.println("(Maaf. Pilih angka 1-6");
        }
        System.out.println("\033");//clear screen
    }
//END eksekusi menu
    
//START Terbilang
    static String[] angka = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"};
    private static 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 static 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 tampilTerbilang() {
        inputDes();
        System.out.print("Bacanya yaitu : "+terbilang(bilDes));
    }
//END terbilang
    
//START PECAHAN
public static void tampilPecahan() {
    inputDes();
        int desimal;

                desimal = bilDes;

                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;
             System.out.println("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);

            }
//END PECAHAN
    
//START method input nama
public static void inpNama(){
        System.out.print("Inputkan nama anda : ");
        Scanner inputNama = new Scanner(System.in);
        name = inputNama.nextLine();
        if(name.equals(""))
        {
            System.out.println("Ngisi Disek Bos\n");
            inpNama();
        }
        else{
            inpJK();
        }
}


//START method untuk input jenis kelamin
public static void inpJK(){
        System.out.print("Masukkan jenis kelamin : \n1.Laki-laki \n2.Perempuan\n menu no : ");
        Scanner inputjk = new Scanner(System.in);
        String pil = inputjk.nextLine();
        int pilmenu = Integer.parseInt(pil);
        switch(pilmenu){
            case 1 : jk = "Mas"   ;break;
            case 2 : jk = "Mbak" ; break;
            default : 
                System.out.println("Weee Ngisi Disek Bos\n ngisi Maneh\n");
                inpJK();
        }
}

    public static void main(String args[]){
        inpNama();
        do{
            
            menU(inpMenu());
        }
        while(true);
    }

}
 
 
 
nah ini sedikit penjelasannya :
1 .Pertama tama , setelah Anda mengisi nama Anda akan dihadapkan pengisian " Jenis Kelamin "
 
2. Setelah Benar , Maka akan keluar sbb : 
3.nah , sekarang Contoh Masukkan Desimal then Convert to Biner 

4. Yang terakhir Terbilang
Sekian Dulu , Setelah ini akan Dirilis Java Convert With JOption
 

0 komentar:

Poskan Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Top WordPress Themes