Hai temen-temen, ini
shely udah upload tugas java yang konverter banyaknya minta ampuuun -_-
Ini nih scripnya
yang bejibun ..... :3
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package konverterShely;
import javax.swing.JOptionPane;
/**
*
* @author Selli
*/
public class
konverterShely {
private static String name;
private static String des;
private static String gender;
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 sc;
public static void keBiner(int n) {
if (n > 1) {
keBiner(n / 2);
}
System.out.print(n % 2);
binerHasil.append(n % 2);
// binerHasil.append("\033");
}
public static void keHexa(int n) {//int n : parameter
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, "Bilangan Desimalnya harus diisi dong !!");
inputDesJOption();
}
} catch (NullPointerException npa) {
JOptionPane.showMessageDialog(null, "Waah.... Harus diisi yaa !!");
inputDesJOption();
}
}
public static void outHasilBiner() {
inputDesJOption();
try {//untuk melakukan penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n Bilangan desimal : " + des + " jika dijadikan Biner hasilnya : ");
keBiner(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Biner hasilnya : " + binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
// reset object binerHasil
binerHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... bukan angka !!"
+ "\nMasukkan angka saja !!");
outHasilBiner();
}
}
public static void outHasilHexa() {
inputDesJOption();
try {//untuk melakukan penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n Bilangan desimal : " + des + " jika dijadikan Hexa hasilnya : ");
keHexa(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Hexa hasilnya : " + hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
hexaHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... bukan angka !!"
+ "\nMasukkan angka saja !!");
outHasilHexa();
}
}
public static void outHasilOktal() {
inputDesJOption();
try {//untuk melakukan penanganan kesalahan
validDes = Integer.parseInt(des);
System.out.print("\n Bilangan desimal : " + des + " jika dijadikan Oktal hasilnya : ");
keOktal(validDes);
System.out.println("\n");
JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Oktal hasilnya : " + oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
oktalHasil = new StringBuilder();
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(null, "'" + des + "'"
+ " .... bukan angka !!"
+ "\nMasukkan angka saja !!");
outHasilOktal();
}
}
//menampilkan input dialog nama
public static void inpNama() {
name = JOptionPane.showInputDialog("Masukkan nama Anda : ");
try {
if (name.isEmpty()) {
JOptionPane.showMessageDialog(null, "Nama nggak boleh kosong woy !!");
inpNama();
}
} catch (NullPointerException npe) {
JOptionPane.showMessageDialog(null, "lhohh, main pergi gitu aja -_- !!");
inpNama();
}
}
//menampilkan input dialog jenis Kelamin (gender)
public static void jenisKelamin() {
gender = JOptionPane.showInputDialog("Masukkan Jenis Kelamin Anda (cowok/cewek) : ");
try {
if (gender.isEmpty()) {
JOptionPane.showMessageDialog(null, "Harus diisi lho yaa .... Jenis Kelamin!!");
jenisKelamin();
}
} catch (NullPointerException npt) {
JOptionPane.showMessageDialog(null, "jangan kabur, isi dulu apa jenis kelaminmu ??");
jenisKelamin();
}
if ("cowok".equals(gender)) {
kelamin = "Saudara, ";
} else {
if ("cewek".equals(gender)) {
kelamin = "Saudari, ";
} else {
JOptionPane.showMessageDialog(null, "Hanya bisa diisi cowok dan cewek doang woy !!");
jenisKelamin();
}
}
}
//Terbilang
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 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 outTerbilang() {
sc = JOptionPane.showInputDialog("Masukan Bilangan yang akan disebut : ");
try {
if (sc.isEmpty()) {
JOptionPane.showMessageDialog(null, "Waah.. mana bilangannya ?? Isi dulu yaa.. !!");
outTerbilang();
} else {
JOptionPane.showMessageDialog(null, new
konverterShely ().terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
}
} catch (NullPointerException not) {
JOptionPane.showMessageDialog(null, "eiits, ga boleh keluar dulu, harus diisi dulu nih.. !!");
outTerbilang();
} catch (NumberFormatException nae) {
JOptionPane.showMessageDialog(null, "Hey '" + sc + "'"
+ " .... bukan angka !!"
+ "\nMasukkan angka aja ya ??");
outTerbilang();
}
}
public static void hasilPecahan() {
int desimal;
String str = JOptionPane.showInputDialog("Masukkan bilangan yang akan dipecah : ");
try {
if (str.isEmpty()) {
JOptionPane.showMessageDialog(null, "Kok kosong sih?? Isi dulu ya.. !!");
hasilPecahan();
} else {
desimal = Integer.parseInt(str);
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;
JOptionPane.showMessageDialog(null, "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, "PECAHAN", JOptionPane.INFORMATION_MESSAGE);
}
} catch (NullPointerException not) {
JOptionPane.showMessageDialog(null, "Eitss mau kemana ?? Isi dulu bilangannya.. !!");
hasilPecahan();
} catch (NumberFormatException nae) {
JOptionPane.showMessageDialog(null, "Hey '" + str + "'"
+ " .... bukan angka !!"
+ "\nMasukkan angka saja !!");
hasilPecahan();
}
}
public static void kembaliMenu() {
inpNama();
jenisKelamin();
}
public static void menuJOption() {
inpNama();
jenisKelamin();
String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "KEMBALI", "KELUAR"};
while (true) {
int response = JOptionPane.showOptionDialog(
null, "Selamat Datang " + kelamin + name + " !!"
+ "\nPilih 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:
kembaliMenu();
break;
case 6:
case -1:
System.exit(0);
default:
JOptionPane.showMessageDialog(null, "response salah"
+ response);
break;
}
}
}
public static void main(String[] args) {
// TODO code application logic here
menuJOption();
}
}
Kalo
yang ini hasil running nya friend :3 buanyakkk banget deh printscreennya
Sampek
bingung sendiri jadinya hehe
1. running pertama muncul kayak gini nih
3. running pertama muncul kayak gini nih
4. kalau nama sudah di input dan di click ok muncul kayak gini
5. kalau input jenis kelaminnya salah --> bukan cewek/cowok
6. kalau jenis kelamin nggak di isi dan di click cancel
7. kalau jenis kelamin di OK dengam keadaan kosong
8. kalau jenis kelamin udah di isi dengan benar, muncul kayak gini
9. kalau gambar 9 di click biner/hexa/oktal muncul gini
10. menginputkan no. 33 pada bilangan desimal
11. Hasil biner
12. Hasil hexa
13. Hasil oktal
maka muncul gambar di bawah ini.
19. terbilang kalo langsung di OK
20. jika di inputkan nomor seperti dibawah ini
21. hasilnya jadi seperti ini
maka muncul gambar di bawah ini.
26. Kalau gambar ini di klik kembali
maka muncul gambar ini
dan kalau di klik keluar berarti selesai~
yap, inilah temen2 konverter yang buanyaaaak banget, dan printscreen nya yang buanyaaaakkk pula -_-, tapi semoga bermanfaat ya :D
Tidak ada komentar:
Posting Komentar