package praktek1;
/**
*
* @author user
*/
import praktek1.MenuDariJOption;
import javax.swing.JOptionPane;
import java.util.*;
public class data{
public ArrayList nameArray = new ArrayList();
public ArrayList genderArray = new ArrayList();
public ArrayList passArray = new ArrayList();
public int countSignIn;
public int nameLength;
public int genderLength;
public int passLength;
public void mainMenu() {
String[] menu = {"Sign Up", "Sign In"};
int pilihan = JOptionPane.showOptionDialog(null,
"Selamat Datang Di Program Ini",
"Menu",
JOptionPane.YES_NO_OPTION,
JOptionPane.PLAIN_MESSAGE,
null, menu, null);
switch (pilihan) {
case 0:
signUp();
break;
case 1:
signIn();
break;
default:
JOptionPane.showMessageDialog(null, "Tolong Sign In dulu ya");
mainMenu();
break;
}
}
public void signUp() {
Object nameSuit[] = nameArray.toArray();
Object passSuit[] = passArray.toArray();
String nama = inpNama();
int d;
for (d = 0; d < nameArray.size(); d++) {
if (nameSuit[d].equals(nama)) {
JOptionPane.showMessageDialog(null, "User sudah ada!!");
signUp();
}
}
if (d == nameArray.size()) {
nameArray.add(nama);
}
genderArray.add(inpGender());
int i = 0;
while (i < 2) {
String pass = inpPassword();
if (!pass.matches(".{6,}")) {
JOptionPane.showMessageDialog(null, "Maaf, password minimal 6 karakter");
} else if (pass.matches(".{6,}")) {
passArray.add(pass);
mainMenu();
} else if (i == 2) {
i = 0;
}
}
}
public String inpNama() {
String nama = JOptionPane.showInputDialog("Masukkan nama Anda : ");
try {
if (nama.isEmpty()) {
JOptionPane.showMessageDialog(null, "Maaf nama tidak boleh kosong");
inpNama();
} else if (!nama.matches("[a-z A-Z]+")) {
JOptionPane.showMessageDialog(null, "Maaf masukkan huruf saja");
inpNama();
}
} catch (NullPointerException npe) {
JOptionPane.showMessageDialog(null, "Maaf memasukkan nama anda terlebih dahulu");
inpNama();
}
return nama;
}
public String inpGender() {
String gender = "";
String[] opGender = {"cewek", "cowok"};
int pilihan = JOptionPane.showOptionDialog(null,
"Silahkan pilih jenis kelamin anda",
"Gender",
JOptionPane.YES_NO_OPTION,
JOptionPane.PLAIN_MESSAGE,
null, opGender, null);
switch (pilihan) {
case 0:
gender = "Sista";
break;
case 1:
gender = "Brader";
break;
default:
JOptionPane.showMessageDialog(null, "Maaf Anda harus memilih jenis kelamin Anda terlebih dahulu");
inpGender();
break;
}
return gender;
}
public String inpPassword() {
String password = JOptionPane.showInputDialog("Silahkan masukkan password Anda");
try {
if (password.isEmpty()) {
JOptionPane.showMessageDialog(null, "Maaf password tidak boleh kosong");
inpPassword();
}
} catch (NullPointerException npe) {
JOptionPane.showMessageDialog(null, "Maaf anda harus masukkan password Anda terlebih dahulu");
inpPassword();
}
return password;
}
public void signIn() {
Object nameSuit[] = nameArray.toArray();
Object passSuit[] = passArray.toArray();
Object genderSuit[] = genderArray.toArray();
String nama = inpNama();
String password = inpPassword();
String kesalahan = "";
String betul = "";
int i;
for (i = 0; i < nameArray.size(); i++) {
if (nameSuit[i].equals(nama) && passSuit[i].equals(password)) {
JOptionPane.showMessageDialog(null,
" Selamat datang " + genderSuit[i] + " " + nameSuit[i] + "");
menuJOption();
} else if (!nameSuit[i].equals(nama) && !passSuit[i].equals(password)) {
kesalahan = "nama dan password";
betul = "ada";
} else {
if (!passSuit[i].equals(password)) {
kesalahan = "password";
betul = "cocok dengan nama";
}
if (!nameSuit[i].equals(nama)) {
kesalahan = "nama";
betul = "cocok dengan password";
}
}
}
if (i == nameArray.size()) {
JOptionPane.showMessageDialog(null, "Maaf password yang anda masukkan tidak cocok"
+" atau mungkin anda belum terdaftar"+ betul + "\ncoba lagi");
mainMenu();
}
}
public void menuJOption() {
MenuDariJOption konv = new MenuDariJOption();
String[] pilihan = {"Biner", "Hexa", "Oktal", "Terbilang", "Pecahan", "Log Out", "Sign Out"};
while (true) {
int response = JOptionPane.showOptionDialog(
null, "Selamat Datang !"
+ "\nPilih Konversi Bilangan di bawah 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:
konv.setPilih("Biner");
MenuDariJOption.outHasilBiner();
break;
case 1:
konv.setPilih("Hexadesimal");
MenuDariJOption.outHasilHexa();
break;
case 2:
konv.setPilih("Oktal");
MenuDariJOption.outHasilOktal();
break;
case 3:
konv.setPilih("Terbilang");
konv.outTerbilang();
break;
case 4:
konv.setPilih("Pecahan");
konv.hasilPecahan();
break;
case 5:
mainMenu();
break;
case 6:
default:
JOptionPane.showMessageDialog(null, "Terima Kasih :)");
System.exit(0);
}
}
}
}
Rabu, 26 September 2012
Rabu, 12 September 2012
Menu Dari JOption
package Java_Praktek;
import javax.swing.JOptionPane;
public class Menu {
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);
}
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 Desimal harus diisi !!");
inputDesJOption();
}
}
catch(NullPointerException npa){
JOptionPane.showMessageDialog(null, "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 tidak boleh kosong
!!");
inpNama();
}
}
catch(NullPointerException npe){
JOptionPane.showMessageDialog(null, "Harap diisi nama dulu doonk
!!");
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, "Apa jenis kelamin kamu
???");
jenisKelamin();
}
if
("cowok".equals(gender)) {
kelamin="Saudara, ";
}
else{
if("cewek".equals(gender)){
kelamin="Saudari, ";
}
else{
JOptionPane.showMessageDialog(null, "Hanya bisa diisi cowok dan
cewek saja !!");
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, "Waa.. mana bilangannya ?? Isi
dulu yaa.. !!");
outTerbilang();
} else {
JOptionPane.showMessageDialog(null, new Menu().terbilang(new Long(sc)),
"TERBILANG", JOptionPane.INFORMATION_MESSAGE);
}
} catch
(NullPointerException not) {
JOptionPane.showMessageDialog(null, "Jangan keluar dulu, harus
diisi itunya.. !!");
outTerbilang();
} catch
(NumberFormatException nae) {
JOptionPane.showMessageDialog(null, "Hey '" + sc +
"'"
+
" .... bukan angka !!"
+
"\nMasukkan angka saja !!");
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 ?? 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){
menuJOption();
}
}
Hasilnya …….
Langganan:
Postingan (Atom)