Pages

Minggu, 09 September 2012

JAVA : Konversi bilangan menggunakan scanner














INI CODINGNYA :
package praktek1;
import java.util.Scanner;
import javax.swing.JOptionPane;


public class java_scanner {
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 = "mas" ;break;
case 2 : jk = "mbak" ; break;
default :
System.out.println("Lho anda salah ya ??? waria? :P\n input lagi deh...\n");
inpJK();
}
}
//END method for input jenis kelamin

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

0 komentar:

Posting Komentar