/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package praktek1;
import java.util.Scanner;
import javax.swing.JOptionPane;
/**
*
* @author Indri
*/
public class ScannerBaru {
static String name;
static String jk;
static String lp;
static int bilDes;
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);
}
//END method konversi
//START function input menu
public static int inpMenu(){
System.out.println("====================================="
+ "\n\nSelamat Datang "+jk+" "+ name);
System.out.println("Silahkan memilih menu Konversi Bilangan"
+ "\n1. Biner \n2. Heksa \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;
}
public static void inputDes(){
System.out.print("Masukkan Bilangan Desimal= ");
Scanner inputan = new Scanner(System.in);
bilDes=inputan.nextInt();
}
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("Good BYE yaa :D");
System.exit(0);break;
default:System.out.println("Maaf Pilih Angka 1-6 Saja..!!");
}
System.out.println("\033");
}
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);
}
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("Maaf data anda belum lengkap\n");
inpNama();
}
else{
inpJK();
}
}
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();
}
}
public static void main(String bilangan[]){
inpNama();
do{
//pemanggilan method/fungsi menu
menU(inpMenu());
}
while(true);
}
}
Dan berikut ini hasil yang akan ditampilkan :
Inputan data
Konversi Bilangan Ke Biner
Konversi Bilangan Ke Heksa
Konversi Bilangan Ke Oktal
Konversi Bilangan Ke Terbilang
Konversi Bilangan Ke Pecahan
Semoga Bermanfaat :)
Tidak ada komentar:
Posting Komentar