Jadi disini kita membuat sebuah program yang bisa menukarkan sesuai dengan kurs yang berlaku. SIlahkan dicoba. .
import java.util.LinkedList;
public class bank{
public static void main(String[] args){
rekening baru = new rekening(5000000,"IDR");
baru.setKurs("JPY");
System.out.println("Saldo anda : "+baru.getKurs()+" "+baru.getSaldo());
baru.menyetor(10,"USD");
System.out.println("Saldo anda : "+baru.getKurs()+" "+baru.getSaldo());
baru.menarik(50);
System.out.println("Saldo anda : "+baru.getKurs()+" "+baru.getSaldo());
}
}
class rekening{
private double saldo;
private String kurs;
private double saldoMinimum;
private mataUang tabelMataUang = new mataUang();
public rekening(){
saldo = 0;
saldoMinimum =300000;
kurs = "IDR";
}
public rekening(double saldoAwal){
saldo = saldoAwal;
saldoMinimum =300000;
kurs = "IDR";
}
public rekening(double saldoAwal, String kursAwal){
saldo = saldoAwal;
saldoMinimum = tabelMataUang.konversi(300000, "IDR", kursAwal);;
kurs = kursAwal;
}
public double getSaldo(){
return saldo;
}
public String getKurs(){
return kurs;
}
public void setKurs(String kursBaru){
saldo = tabelMataUang.konversi(saldo, kurs, kursBaru);
saldoMinimum = tabelMataUang.konversi(saldoMinimum, kurs, kursBaru);
kurs = kursBaru;
}
public double getSaldoMinimum(){
return saldoMinimum;
}
public void menyetor(double jumlah){
saldo += jumlah;
}
public void menyetor(double jumlah, String kursAwal){
saldo += tabelMataUang.konversi(jumlah, kursAwal, kurs);
}
public void menarik(double jumlah){
if((saldo-jumlah) > saldoMinimum){
saldo -= jumlah;
}else{
System.out.println("Tidak dapat menarik uang sejumlah "+jumlah+" Karena saldo anda tidak mencukupi");
}
}
public void menarik(double jumlah, String kursAwal){
if((saldo-tabelMataUang.konversi(jumlah, kursAwal, kurs)) > saldoMinimum){
saldo -= tabelMataUang.konversi(jumlah, kursAwal, kurs);
}else{
System.out.println("Tidak dapat menarik uang sejumlah "+kursAwal+" "+jumlah+" Karena saldo anda tidak mencukupi");
}
}
}
class unitKurs{
public String mataUang;
public double value;
public unitKurs(String namaMataUang, double nilai){
mataUang = namaMataUang;
value = nilai;
}
}
class mataUang{
private LinkedList<unitKurs> uang = new LinkedList<>();
public mataUang(){
uang.add(new unitKurs("IDR", 1));
uang.add(new unitKurs("USD", 9500));
uang.add(new unitKurs("JPY", 100));
uang.add(new unitKurs("GBP", 15000));
uang.add(new unitKurs("MYR", 3000));
uang.add(new unitKurs("AUD", 8000));
uang.add(new unitKurs("SGD", 7000));
}
public double konversi(double nilai, String dari, String ke){
return (nilai*cariMataUang(dari)/cariMataUang(ke));
}
public double cariMataUang(String kode){
double hasil=0;
for(int i=0;i<uang.size();i++){
if(uang.get(i).mataUang.equalsIgnoreCase(kode)){
hasil = uang.get(i).value;
break;
}
}
return hasil;
}
}
Tidak ada komentar:
Posting Komentar