hey..kau balik lagi nampilin tugas java yang baru ..judulnya kaya yang ada diatas..liat scriptnya langsung aja yaa..:) selamat mencoba
//by : Endah Insani
package Praktek1;
import javax.swing.JOptionPane;
public class menuJoption_new {
private static String name;
private static String des;
private static String jk;
private static String kelamin;
private static int validDes;
static StringBuilder binerHasil= new StringBuilder();
static StringBuilder hexaHasil= new StringBuilder();
static StringBuilder oktalHasil= new StringBuilder();
static String vk;
public static void keBiner(int n){
if(n>1){
keBiner(n/2);
}
System.out.print(n%2);
binerHasil.append(n%2);
}
public static void keHexa(int n){
char[] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
if(n>0){
keHexa(n/16);
System.out.print(daftarHexa[n%16]);
hexaHasil.append(daftarHexa[n%16]);
}
}
public static void keOktal(int n){
char[] daftarOktal={'0','1','2','3','4','5','6','7'};
if(n>0){
keOktal(n/8);
System.out.print(daftarOktal[n%8]);
oktalHasil.append(daftarOktal[n%8]);
}
}
public static void inputDesJOption(){
des=JOptionPane.showInputDialog("Masukkan Bilangan Desimal : ");
try{
if(des.isEmpty()){
JOptionPane.showMessageDialog(null, "Jangan sampe kosong yaa...");
inputDesJOption();
}
}
catch(NullPointerException err){
JOptionPane.showMessageDialog(null, "Hayo hayo mau kemana..ojok kabur");
inputDesJOption();
}
}
public static void outHasilBiner(){
inputDesJOption();
try{
validDes=Integer.parseInt(des);
keBiner(validDes);
JOptionPane.showMessageDialog(null, "Biner bilangan tersebut adalah : "+binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
}
catch(NumberFormatException err){
JOptionPane.showMessageDialog(null, "'"+des+"'"
+ " woy itu bukan angka !!"
+ "\nMasukkan angka saja lah.!!");
outHasilBiner();
}
}
public static void outHasilHexa(){
inputDesJOption();
try{
validDes=Integer.parseInt(des);
keHexa(validDes);
JOptionPane.showMessageDialog(null, des+" Hexanya adalah: "+hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
}
catch(NumberFormatException err){
JOptionPane.showMessageDialog(null, "'"+des+"'"
+ " woy itu bukan bukan angka !!"
+ "\nMasukkan angka saja lah.!!");
outHasilHexa();
}
}
public static void outHasilOktal(){
inputDesJOption();
try{
validDes=Integer.parseInt(des);
keOktal(validDes);
JOptionPane.showMessageDialog(null, des+" Oktalnya adalah: "+oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
}
catch(NumberFormatException nfe){
JOptionPane.showMessageDialog(null, "'"+des+"'"
+ " itu bukan angka !!"
+ "\nMasukkan angka saja lah.!!");
outHasilOktal();
}
}
//nah kalo yg ini biar bisa inputin nama kita gitu.
public static void inpNama(){
name=JOptionPane.showInputDialog("siapa nama muu.? ");
try{
if(name.isEmpty()){
JOptionPane.showMessageDialog(null, "hey..mau kemana punya nama kan?");
inpNama();
}
}
catch(NullPointerException npe){
JOptionPane.showMessageDialog(null, "Eitss gak oleh kemana mana");
inpNama();
}
}
//ini rumusnya jenis kelamin. loh jenis kelamin ada rumusnya? ._.
public static void jenisKelamin(){
jk=JOptionPane.showInputDialog("Jenis Kelamin.?? ");
try{
if(jk.isEmpty()){
JOptionPane.showMessageDialog(null, "diisi dulu ta..");
jenisKelamin();
}
}
catch(NullPointerException npt){
JOptionPane.showMessageDialog(null, "jangan kabur, diisi dulu ..awas..");
jenisKelamin();
}
if ("laki-laki".equals(jk)) {
kelamin="abang cakep, ";
}
else{
if("perempuan".equals(jk)){
kelamin="nona cantik, ";
}
else{
JOptionPane.showMessageDialog(null, "Woy isinya cuman laki-laki dan perempuan ojo macem2 !!");
jenisKelamin();
}
}
}
//ini buat rumusnya terbilang. gangerti maksudnya? coba cek hasilnya aja deh ya
String[] angka={"","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh","Delapan","Sembilan","Sepuluh","Sebelas"};
private 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 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 gede";
for(int a=6;a>0;a--){
y = (int) (x/Math.pow(10, a*3));
if(y > 0){
if(y==1 && a==1) bilang += " Seribu "; else bilang += sebut(y) + satuan[a];
} x %= Math.pow(10, a*3);
}
bilang+=sebut((int)x);
return bilang;
}
public static void outTerbilang(){
vk = JOptionPane.showInputDialog("inputkan Bilangan yang akan disebut : ");
JOptionPane.showMessageDialog(null, new menuJoption_new().terbilang(new Long(vk)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
}
//ini buat pecahan. bilangan nya dipecah pecah gitu deh ya
public static void hasilPecahan(){
int desimal;
String str=JOptionPane.showInputDialog("inputkan bilangan yang akan dipecah : ");
desimal=Integer.parseInt(str);
int tu,wa,ga,pat,ma,nam,ju,pan,lan,lu;
tu=desimal/100000;
desimal%=100000;
wa=desimal/50000;
desimal%=50000;
ga=desimal/10000;
desimal%=10000;
pat=desimal/5000;
desimal%=5000;
ma=desimal/1000;
desimal%=1000;
nam=desimal/500;
desimal%=500;
ju=desimal/100;
desimal%=100;
pan=desimal/50;
desimal%=50;
lan=desimal/10;
desimal%=10;
lu=desimal/1;
desimal%=1;
JOptionPane.showMessageDialog(null,"Jumlah seratus ribuan = "+tu
+"\nJumlah lima puluh ribuan = "+wa
+"\nJumlah sepuluh ribuan = "+ga
+"\nJumlah lima ribuan = "+pat
+"\nJumlah seribuan = "+ma
+"\nJumlah lima ratusan = "+nam
+"\nJumlah seratusan = "+ju
+"\nJumlah lima puluhan = "+pan
+"\nJumlah limaan = "+lan
+"\nJumlah satuan = "+lu
, "PECAHAN", JOptionPane.INFORMATION_MESSAGE);
}
//ini biar bisa balik ke menu masukkin nama. kali aja namanya ganti
public static void kembalikeMenu(){
inpNama();
jenisKelamin();
}
//nah kalo yg ini buat menu keseluruhannya
public static void menuJOption(){
inpNama();
jenisKelamin();
String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "KEMBALI", "<<KELUAR>>"};
while (true) {
int response = JOptionPane.showOptionDialog(
null
, "WELCOME "+kelamin+name+" !!"
+ "\nPilihlah Konversi Bilangan dibawah ini?"// Pesan
, "Konversi Bilangan" // Judul di Tittlebar
, JOptionPane.YES_NO_OPTION // Tipe Option
, JOptionPane.PLAIN_MESSAGE // Tipe Pesan
, null
, pilihan
, null // Default button
);
switch(response){
case 0:
outHasilBiner();
break;
case 1:
outHasilHexa();
break;
case 2:
outHasilOktal();
break;
case 3:
outTerbilang();
break;
case 4:
hasilPecahan();
break;
case 5:
kembalikeMenu();
break;
case 6:
case -1:
System.exit(0);
default:
JOptionPane.showMessageDialog(null, "upps..response mu salah"
+ response); break;
}
}
}
//kalo disini sih cuman buat manggil aja biar tampil gitu :3
public static void main(String[] args){
menuJOption();
}
}
nah ini hasilnya :
yang pertama,,silahkan inputkan nama kamu disini :
nah,,setelah itu akan muncul perintah buat ngisi jenis kelamin :seperti
pokoknya kalian harus ngisi semuanya ..jangan sampe ada yang kosong..dan nggak bisa di cancel ataupun keluar..kalo engga....akan muncul seperti ini :
nah,,setelah itu,,kalian masukkin bilangan apa yang mau dikonversikan ..
1. Misanya desimal ke biner seperti ini :
misalkan anda menginputkan desimal ke biner angka 12 lalu hasilnya seperti :
okey..nah untuk des ke hexa ke oktal dan yang lain caranya seperti di atas..sedangkan untuk pecahan sebagai berikut :
lalu hasilnya adalaaaaah :
untuk terbilang sebagai berikut :
Misalkan kita meng inputkan angka 12000 maka hasilnya :
okey...Selamat Mencoba yaa...semoga bisa membantu.. :)
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar