import javax.swing.*;
import java.text.*;
public class RinciUang {
static int uang = 0;
static int uangasli = 0;
static int seratus = 0;
static int limaratus = 0;
static int seribu = 0;
static int limaribu = 0;
static int sepuluhribu = 0;
static int duapuluhribu = 0;
static int limapuluhribu = 0;
static int seratusribu = 0;
static String tampil = “”;
public static void main(String[] didi) {
int ulanglagi = 0;
while (ulanglagi != 1){
try {
String a = JOptionPane.showInputDialog(“.: Masukkan Jumlah Uang ?”);
uang = Integer.parseInt(a);
uangasli = Integer.parseInt(a);
if(uang < 100){
JOptionPane.showMessageDialog(null, “Maaf, jumlah nominal uang harus diatas 99 Rupiah.”,
“.: Ada Kesalahan”, JOptionPane.WARNING_MESSAGE);
int res = JOptionPane.showConfirmDialog(null, “Apakan anda ingin ngulang lagi ?”,
“.: Ngulang”, JOptionPane.OK_CANCEL_OPTION);
if(res == JOptionPane.OK_OPTION){
reset();
ulanglagi = 0;
} else {
JOptionPane.showMessageDialog(null, “Terima Kasih…”,
“.: Keluar”, JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
else {
int ulang = 0;
while(ulang != 1){
if(uang >= 100000){
seratusribu = uang / 100000;
uang = uang % 100000;
}
else if (uang >= 50000 && uang < 100000){
limapuluhribu = uang / 50000;
uang = uang % 50000;
}
else if (uang >= 20000 && uang < 50000){
duapuluhribu = uang / 20000;
uang = uang % 20000;
}
else if (uang >= 10000 && uang < 20000){
sepuluhribu = uang / 10000;
uang = uang % 10000;
}
else if (uang >= 5000 && uang < 10000){
limaribu = uang / 5000;
uang = uang % 5000;
}
else if (uang >= 1000 && uang < 5000){
seribu = uang / 1000;
uang = uang % 1000;
}
else if (uang >=500 && uang < 1000){
limaratus = uang / 500;
uang = uang % 500;
}
else if (uang >= 100 && uang < 500){
seratus = uang / 100;
uang = uang % 100;
}
else {
pisahNol(uangasli);
JOptionPane.showMessageDialog(null, ” Jumlah Uang : “+uangasli+
“\n Rupiah : “+tampil+
“\n ———> Rincian : “+
“\n—————————————”+
“\n – Rp. 100 : “+seratus+” Lembar.”+
“\n – Rp. 500 : “+limaratus+” Lembar.”+
“\n – Rp. 1.000 : “+seribu+” Lembar.”+
“\n – Rp. 5.000 : “+limaribu+” Lembar.”+
“\n – Rp. 10.000 : “+sepuluhribu+” Lembar.”+
“\n – Rp. 20.000 : “+duapuluhribu+” Lembar.”+
“\n – Rp. 50.000 : “+limapuluhribu+” Lembar.”+
“\n – Rp. 100.000 : “+seratusribu+” Lembar.”+
“\n\n - Sisa : “+uang+” Rupiah.”,
“.: Result”, JOptionPane.INFORMATION_MESSAGE);
int res = JOptionPane.showConfirmDialog(null, “Apakan anda ingin ngulang lagi ?”,
“.: Ngulang”, JOptionPane.OK_CANCEL_OPTION);
if(res == JOptionPane.OK_OPTION){
reset();
ulang = 1;
} else {
JOptionPane.showMessageDialog(null, “Terima Kasih…”,
“.: Keluar”, JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
}
}
}
catch (Exception e){
JOptionPane.showMessageDialog(null, “Maaf, Ada kesalahan pada inputan anda !”,
“.: Ada Kesalahan”, JOptionPane.ERROR_MESSAGE);
int res = JOptionPane.showConfirmDialog(null, “Apakan anda ingin ngulang lagi ?”,
“.: Ngulang”, JOptionPane.OK_CANCEL_OPTION);
if(res == JOptionPane.OK_OPTION){
reset();
ulanglagi = 0;
} else {
JOptionPane.showMessageDialog(null, “Terima Kasih…”,
“.: Keluar”, JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
}
}
public static void reset() {
uangasli = 0;
seratus = 0;
limaratus = 0;
seribu = 0;
limaribu = 0;
sepuluhribu = 0;
duapuluhribu = 0;
limapuluhribu = 0;
seratusribu = 0;
tampil = “”;
}
public static void pisahNol(int var) {
NumberFormat numfor = NumberFormat.getInstance();
String nilai = numfor.format(var);
tampil = nilai;
}
}





