Berikut adalah Konversi Bilangan menggunakan Scanner di java,,
ini adalah scriptnya,,
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Konversi_Bilangan_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("Thanks ya agan dan aganwati yang sudah mapir!!");
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("Anda Harus Mengisi Nama terlebih dahulu!! \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 = "Aganwati" ; break;
default :
System.out.println("nomer yang anda pilih tidak ada!! :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
}
Berikut adalah Hasilnya
1) Inputkan Nama anda
2) Jika anda tidak menginputkan nama maka akan muncul seperti ini
3) kemudian setelah anda menginputkan nama akan muncul seprti ini
4) Jika menginputkan tidak sesuai nomor akan muncul seperti ini
5) kemudian Inputkan Nomor contoh Nomor 1
6) kemudian inpukan nomor,misalnya nomor 1 dan isikan Bilangan desimalnya dan akan muncul seperti ini
7) kemudian coba inputkan nomer 6 akan muncul seperti ini
Minggu, 09 September 2012
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar