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
0 komentar:
Posting Komentar