Assalamualaikum , kali ini saya akan membagikan tentang konversi
bilangan menggunakan scanner, berikut ini kodingnya :
package praktek1;
import java.util.Scanner;
import javax.swing.JOptionPane;
/**
*
* @author lia
*/
public class 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
}
Tampilan awal :
Misal memilih menu no 4 , maka akan muncul seprti di bawah ini :
semoga bermanfaat :D
0 komentar:
Posting Komentar