Share

Tampilkan postingan dengan label JAVA. Tampilkan semua postingan
Tampilkan postingan dengan label JAVA. Tampilkan semua postingan

Senin, 17 September 2012

Konverter Bilangan, Terbilang & Pecahan full JOptionPane [FINAL]


Salam salam buat semua kawan-kawan, hehehe :D Setelah semingguan puasa posting (hehehe.. soalnya posting terakhir [JAVA] Konverter Bilangan full Scanner udah semingguan yang lalu postingnya) kali ini SyarifMoklet mau posting lagi :D Sekarang postingnya juga konverter bilangan, tapi disini kita ada bonusnya yaitu menu terbilang untuk membaca bilangan, dan pecahan rupiah untuk memecah uang dalam rupiah serta ada juga pecahan dalam bilangan desimal (satuan,puluhan,ratusan,dst.).
Oke, dari pada bosen baca-baca, lihat dulu screenshot nya aja ya :D

  1. Ini screenshot Dialog awalnya, yaitu inputan nama
  2. Jika dialog diclose atau dicancel
  3. Jika dikosongi
  4. Jika inputan nama didahului angka (contoh: 45SYARIF)
  5. Jika inputan benar, akan muncul dialog Pilih Jenis Kelamin, ini digunakan untuk penentuan sapaan (agan/sist/bapak/ibu)
  6. Jika dicancel atau diclose
  7. Jika sudah memilih jenis kelamin, maka dibawa inputan umur (untuk penentuan sapaan, jika dibawah 30 : agan/sist, jika diatas 30 Bapak/Ibu)
  8. Jika dicancel
  9. Jika dikosongi
  10. Jika inputan mengandung huruf
  11. Jika inputan >50, muncul pesan error
  12. Jika inputan benar, akan ditampilkan menu utama
  13. Tampilan menu konversi bilangan desimal
  14. Tampilan inputan desimal
  15. Jika dicancel atau inputan mengandung huruf
  16. Hasil konversi
  17. Berikut tampilan menu Membilang & Pecahan
  18. Hasil terbilang
  19. Hasil pecahan rupiah
  20. Hasil pecahan desimal

Sekarang ane share codingnya, buat file Konversi_Bilangan_JenisKelamin_Scanner_Full.java di package Praktik1; berikut codingnya...

  ******KONVERSI BILANGAN JOptionPane and Terbilang,pecahan Bilangan and Uang******
  * SEMUA Inputan dan Output menggunakan JOptionPane
  * Terbilang untuk membaca bilangan (maksimal 1 milyar)
  * Pecahan Bilangan desimal adalah >> satuan, puluhan, ratusan, ribuan, dst.
  * Pecahan unang menurut pecahan uang di Indonesia, digunakan pecahan terbesar dahulu
  */
  package Praktik1;
import javax.swing.JOptionPane;
/** * f projects 2012 * @author SYARIF-FIRAYZ * AHMAD SYARIF ROSIDY MOKLET'20 * 2 RPL 4 / 01 */
public class Konversi_Bilangan_JOption_JK_TB { private static String nama; private static String 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[]){ inpNama(); } public static void inpNama() { nama = JOptionPane.showInputDialog(null,"Siapa nama anda ?","Input nama",JOptionPane.QUESTION_MESSAGE); try{ //TIDAK BOLEH DIDAHULUI ANGKA if(nama.isEmpty()){ JOptionPane.showMessageDialog(null,"Nama tidak boleh kosong","Error!", JOptionPane.ERROR_MESSAGE); inpNama(); } else if(nama.matches("^([0-9]{1,})|([0-9]{1,})+([a-zA-Z_]{1,})")){ JOptionPane.showMessageDialog(null,"Tidak boleh didahului angka","Notice!", JOptionPane.INFORMATION_MESSAGE); inpNama(); } else{ inpJK(); } /* SAMA SEKALI TANPA ANGKA for(int f=0;f<nama.length();f++){ if(Character.isDigit(nama.charAt(f))){ JOptionPane.showMessageDialog(null,"Tidak boleh mengandung angka","Notice!", JOptionPane.INFORMATION_MESSAGE); inpNama(); } } inpJK(); */ } catch(NullPointerException f){ JOptionPane.showMessageDialog(null,"Jangan di Cancel","Error!", JOptionPane.ERROR_MESSAGE); inpNama(); } } public static void inpJK() { String[] pilihan = {"Laki-laki","Perempuan"}; gender = JOptionPane.showOptionDialog(null ,"Jenis Kelamin anda?" ,"Pilih Jenis Kelamin" ,JOptionPane.YES_NO_CANCEL_OPTION ,JOptionPane.QUESTION_MESSAGE ,null ,pilihan ,null ); if(gender==-1){ JOptionPane.showMessageDialog(null, "Pilih jenis kelamin dulu","Jenis Kelamin!",JOptionPane.ERROR_MESSAGE); inpJK(); } else{ inpAge(); } } public static void inpAge(){ age = JOptionPane.showInputDialog(null, "Umum berapa anda sekarang ?", "Input umur",JOptionPane.QUESTION_MESSAGE); try{ int validAge; validAge=Integer.parseInt(age); if(validAge>50){ JOptionPane.showMessageDialog(null, "Tampaknya anda terlalu tua :D","Umur over!",JOptionPane.ERROR_MESSAGE); inpAge(); } else if(validAge>30){ switch(gender){ case 0 : sapaan="Bapak"; break; case 1 : sapaan="Ibu"; break; } menu_1(); } else{ switch(gender){ case 0 : sapaan="agan"; break; case 1 : sapaan="sist"; break; } menu_1(); } } catch(NumberFormatException ft){ try{ if(age.isEmpty()){ JOptionPane.showMessageDialog(null, "Jangan dikosongi dong,\n kami perlu tahu umur anda!", "Error!", JOptionPane.ERROR_MESSAGE); inpAge(); } else{ JOptionPane.showMessageDialog(null, "Inputkan angka !", "Error!", JOptionPane.ERROR_MESSAGE); inpAge(); } } catch(NullPointerException f){ JOptionPane.showMessageDialog(null, "Jangan dicancel dong,\n kami perlu tahu umur anda!", "Error!", JOptionPane.ERROR_MESSAGE); inpAge(); } } } public static void menu_1() { int konv_bilang; String options[] = {"Konversi Bilangan","Membilang & Pecahan","<<BACK","KELUAR>>"}; 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 : inpNama(); break; case 3 : 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>>","KELUAR>>"}; 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>>","KELUAR>>"}; 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(); }

Untuk lanjutannya (ma'af tidak dijadikan satu :D)
 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/1;

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/1;


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"); 
}
}



Ma'af untuk masalah penjelasan dan lain-lain, lain waktu aja masih sibuk :D Makasi telah berkunjung

Minggu, 09 September 2012

[JAVA] Konverter Bilangan full Scanner

Assaalamu'alaikum :D kalo teman-teman padda posting konverter yang full JOptionPane. Kali ini saya mencoba posting untuk konverter Bilangan di JAVA yang seluruh inputannya menggunakan Scanner. Sebenarnya saya sudah pernah posting JAVA : Koverter Bilangan Desimal dengan Menu Pilihan [Lengkap]  tapi disini adalah penyempurnaannya, diposting sebelumnya inputan perpaduan JOptionPane dan Scanner, disini semua pakai scanner.
Berikut adalah codingnya

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

import java.util.Scanner;

/**
 *
 * @author SYARIF-FIRAYZ
 */
public class Konversi_Bilangan_Scanner_Full {
    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
}
Simpan di class Konversi_Bilangan_Scanner_Full.java.

Screenshot hasil nya :
  • Ini tampilan awal saat program di-run

  • Saat ada kesalahan dalam pengisian nama

  • Jika pengisian nama benar

  • Jika pengisian menu jenis kelamin salah diminta mengulang

  • Jika pengisian jenis kelamin benar, akan dibawa ke menu konversi

  • Contoh penggunaan

Selasa, 28 Agustus 2012

JAVA : Koverter Bilangan Desimal dengan Menu Pilihan [Lengkap]


SyarifMoklet ~ Malam agan semua, kali ini Syarif akan berbagi Script alias coding untuk membuat konverter Bilangan desimal di Java. Di sini kita akan buat console application pada Java, yang terdapat menu untuk memilih bilangan desimal kita akan di konversi kemana ? (bisa ke biner, heksa atau octal).
Dalam program ini, terdapat fungsi Biner, Oktal, dan Heksa yang digunakan untuk mengkonversi bilangan desimal. Sedangkan fungsi tampilBiner, tampilOktal, dan tampilHeksa untuk menampilkannya.
Oke lanjut, berikut coding-nya :

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

import java.util.Scanner;
import javax.swing.JOptionPane;

/**
 *
 * @author SYARIF-FIRAYZ
 */
public class Konversi_Bilangan {
    static String name;
    static int bilDes; //int type data primitive
    //fungsi/method rekursi
    static int asli;
    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);
    }
    public static int inpBil(){ //fungsi untuk input pemilihan menu
        System.out.println("=================================="+
                "\n\nSelamat datang "+name);
        System.out.println("Silakan memilih Menu Konversi Bilanagn"+
                "\n1. Biner \n2. Hexa \n3. Oktal \n4. Exit ");
        System.out.print("Masukkan angka Menu = ");
        Scanner inputan = new Scanner(System.in);
        int pilmenu = inputan.nextInt();
        return pilmenu;
    }
    public static void inputDes() { //fungsi untuk input bil desimal
        System.out.print("Masukkan Bilangan desimal = ");
        Scanner inputan=new Scanner(System.in);
        bilDes=inputan.nextInt();
        //return bilDes;
    }
    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: System.out.println("BUBYE!!");
                System.exit(0); break;
            default:System.out.println("(Maaf. Pilih angka 1-4");
        }
        System.out.println("\033");//clear screen
    }
    public static void main(String arg[]){ //fungsi utama
        name = JOptionPane.showInputDialog("Masukkan Nama Anda ");
        do{
            //pemanggilan method/fungsi menu
            menU(inpBil());
        }
        while(true);
    }
}
Berikut adalah printscreen program saat di run :
  • Biner
     
  • Heksa
  • Octal

Jumat, 03 Agustus 2012

Bahasa Pemrograman Paling Populer versi TIOBE.com

Tiobe.comTIOBE Programming Community Index adalah ukuran kepopularitasan bahasa pemrograman, dihitung dari jumlah hasil mesin pencari untuk permintaan yang berisi nama bahasa. Indeks ini mencakup pencarian di Google , Google Blog, MSN , Yahoo! , Wikipedia dan YouTube . Indeks diperbarui sebulan sekali. Informasi yang saat ini adalah gratis tapi statistik jangka panjang selama bertahun-tahun pengamatan adalah untuk dijual. Para penulis Indeks berpikir bahwa itu mungkin berharga ketika menerima keputusan strategis.

Menurut situs, TIOBE index bukan tentang bahasa pemrograman terbaik atau bahasa yang paling banyak ditulis,  Namun situs mengklaim bahwa frekuensi pencarian mungkin mencerminkan jumlah programer, kursus dan pekerjaan di seluruh dunia. Tim Bunce, penulis DBI Perl , telah bersikap kritis terhadap indeks dan metode-metode peringkat.

TIOBE index sensitif terhadap kebijakan peringkat mesin pencari yang menjadi dasarnya. Misalnya, pada bulan April 2004 Google melakukan tindakan pembersihan untuk menghilangkan ketidakadilan dalam promosi peringkat pencarian. Akibatnya, terjadi penurunan yang sangat besar untuk bahasa seperti Java dan C + + , namun bahasa ini telah berada di peringkat tertinggi. Untuk menghindari fluktuasi tersebut, TIOBE sekarang menggunakan lebih banyak Search Engine.

 Berikut adalah 20 besar peringkat kepopuleran bahasa pemrograman menurut TIOBE.com :

Position
Jul 2012
Position
Jul 2011
Delta in PositionProgramming LanguageRatings
Jul 2012
Delta
Jul 2011
Status
1 2
C 18.331% +1.05%   A
2 1
Java 16.087% -3.16%   A
3 6
Objective-C 9.335% +4.15%   A
4 3
C++ 9.118% +0.10%   A
5 4
C# 6.668% +0.45%   A
6 7
(Visual) Basic 5.695% +0.59%   A
7 5
PHP 5.012% -1.17%   A
8 8 Python 4.000% +0.42%   A
9 9 Perl 2.053% -0.28%   A
10 12
Ruby 1.768% +0.44%   A
11 10
JavaScript 1.454% -0.79%   A
12 14
Delphi/Object Pascal 1.157% +0.27%   A
13 13 Lisp 0.997% +0.09%   A
14 15
Transact-SQL 0.954% +0.15%   A
15 25
Visual Basic .NET 0.917% +0.43%   A
16 16 Pascal 0.837% +0.17%   A
17 19
Ada 0.689% +0.14%   B
18 11
Lua 0.684% -0.89%   B
19 21
PL/SQL 0.645% +0.10%   A--
20 26
MATLAB 0.639% +0.19%   B

selengkapnya. . . 

dari : http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
          http://en.wikipedia.org/wiki/TIOBE_index
          http://translate.google.com/

Share lewat :
Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Bluehost Coupons | Modified by Syarif Moklet