Calendar

Jumat, 14 Desember 2012

Program Kurs pada Bank


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