Adsenses

Minggu, 09 September 2012

Konversi Bilangan in Java

Kalok yang ini adalah tugas java, sebenernya sih konsepnya sama seperti PHP yang aku post barusan, yaitu konversi bilangan, tapi ini dalam bahasa java sob, langsung aja deh ini coding nya, maaf ya nggak ada screenshot nya, udah ngantuk soalnya.


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

import java.util.Scanner;

/**
 *
 * @author Run
 */
public class Konversi {
    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){ //fungsi menu pemilihan
        System.out.println("\033");//clear screen /saya sendiri ga' paham :D
        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("GOOD BYE 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("Ma'af anda belum mengisi nama, isi lagi ya :D\n");
            inpNama();
        }
        else{
            inpJK();
        }
}
//END method input nama

//START method for 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 = "agan"   ;break;
            case 2 : jk = "sist" ; break;
            default :
                System.out.println("Lho anda salah input ya ??? apa anda waria :P\n input lagi ya...\n");
                inpJK();
        }
}
//END method for input jenis kelamin

//START Main METHOD UTAMA UNTUK MENJALANKAN PROGRAM
    public static void main(String FIRAYZ[]){
        inpNama();
        do{
            //pemanggilan method/fungsi menu
            menU(inpMenu());
        }
        while(true);
    }
//END Main METHOD UTAMA UNTUK MENJALANKAN PROGRAM
}

source : http://syarifmoklet45.blogspot.com/2012/09/java-konverter-bilangan-full-scanner.html

Tidak ada komentar:

Posting Komentar