OOP:
CoffeeMachine
Dosen:SirojulMunir
Nama
NIK
:WatikAdidaya
:0110212042
}
Tentukan public void untuk menentukan saldo setelah penarikan uang kembalian :
}
Buat fungsi cetak untuk transaksi uang masukan dan uang kembalian :
public void cetak() {
if (this.uang_kembalian != 0) {
System.out.println("Uang Anda: " + this.uang_masukan);
System.out.println("Kembalian Anda: " + this.uang_kembalian);
}
Buat fungsi cetak untuk mecetak saldo, volume dan jumlah gelas awal
System.out.println("Saldo: " + this.saldo);
System.out.println("Volume: " + this.volume + " ml");
System.out.println("Gelas: " + this.jumlah_gelas);
}
}
Buat file UseCoffeeMachine.java
Buat public class UseCoffeeMachine
Lalu buat main nya, dengan menginisialisasi objek CoffeeMachine dan menentukan jumlah
volume sebanyak 10000ml, jumlah gelas sebanyak 50, dan jumlah saldo 100000. Lalu cetak :
CoffeeMachine cm = new CoffeeMachine(10000, 50, 100000);
System.out.println("=== COFFEE MACHINE ===");
cm.cetak();
Lalu setharga pergelas seharga 2000 :
cm.setHarga(2000); // set harga per-gelas
Cetak transaksi jika uang masukkan 5000 dan 3000 :
cm.transaksi(5000);
System.out.println("\n>> Enjoy the coffee!! <<\n");
System.out.println("----------------------");
System.out.println("Transaksi 1");
System.out.println("----------------------");
cm.cetak();
System.out.println("");
cm.transaksi(3000);
System.out.println("----------------------");
System.out.println("Transaksi 2");
System.out.println("----------------------");
cm.cetak();
}
}
Komentar :
Terdapat kesulitan dalam menentukan deposit dan uang kembalian nya.
Kode program CoffeeMachine.java :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package coffeemachine;
/**
*
* @author watik
*/
public class CoffeeMachine {
private int volume;
private int jumlah_gelas;
private double saldo;
private static final int volume_segelas = 200;
private double harga_segelas;
private double uang_kembalian;
private double uang_masukan;
public CoffeeMachine() {
}
public CoffeeMachine(int volume, int jumlah_gelas, double saldo) {
this.volume = volume;
this.jumlah_gelas = jumlah_gelas;
this.saldo = saldo;
}
public void isiUlang(int vol) {
this.volume = this.volume + vol;
}
public void setHarga(double hrg) {
this.harga_segelas = hrg;
}
public double kembalian(double uang) {
uang = uang - this.harga_segelas;
return uang;
}
public void deposit(double uang) {
this.saldo = this.saldo + uang;
}
public void withdraw(double uang) {
this.saldo = this.saldo - uang;
}
public void transaksi(double uang_masukan) {
//this.setHarga(2000);
this.volume = this.volume - volume_segelas;
this.jumlah_gelas = this.jumlah_gelas - 1;
this.uang_masukan = uang_masukan;
this.deposit(uang_masukan);
if (uang_masukan > this.harga_segelas) {
this.uang_kembalian = uang_masukan - this.harga_segelas;
this.withdraw(this.uang_kembalian);
}
}
public void cetak() {
if (this.uang_kembalian != 0) {
System.out.println("Uang Anda: " + this.uang_masukan);
System.out.println("Kembalian Anda: " + this.uang_kembalian);
}
System.out.println("Saldo: " + this.saldo);
System.out.println("Volume: " + this.volume + " ml");
System.out.println("Gelas: " + this.jumlah_gelas);
}
}