Anda di halaman 1dari 7

LAPORANTUGAS2

OOP:
CoffeeMachine

Dosen:SirojulMunir
Nama
NIK

:WatikAdidaya
:0110212042

A. Deskripsi Tugas Java Coffee Machine


Tujuan dari tugas ini adalah :
1. Mengetahui bagaimana kinerja coffee machine, ketika kita memasukkan uang maka kita
mendapatkan kopi yang kita inginkan
2. Mahasiswa mampu membuat program yang membuat coffee machine ini berjalan.
Analisa Masalah :
Buatlah program untuk coffee machine.
Dengan variable : volume, jumlah_gelas,saldo,volume_gelas,harga_segelas
Method : cetak, isiUlang(vol), transaksi (), setHarga(hrg), kembalian (uang).
Konstruktor : Volume, saldo, gelas
Keluaran :
=== COFFEE MACHINE ===
Saldo: 100000.0
Volume: 10000 ml
Gelas: 50
>> Enjoy the coffee!! <<
---------------------Transaksi 1
---------------------Uang Anda: 5000.0
Kembalian Anda: 3000.0
Saldo: 102000.0
Volume: 9800 ml
Gelas: 49
---------------------Transaksi 2
---------------------Uang Anda: 3000.0
Kembalian Anda: 1000.0
Saldo: 104000.0
Volume: 9600 ml
Gelas: 48

Ide pemecahan masalah beserta Algoritma :

Pertama buatlah file bernama CoffeeMachine.Java


buat class CoffeeMachine dengan variable :
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;

Buat blank construktornya :


public CoffeeMachine() {
}

Lalu buat constructor CoffeeMachine :


public CoffeeMachine(int volume, int jumlah_gelas, double saldo) {
this.volume = volume;
this.jumlah_gelas = jumlah_gelas;
this.saldo = saldo;
}
Lalu buat public (void) untuk,isi ulang. Pada isi ulang ini, kita tentukan volume keselurahan
dalam coffee machine :
public void isiUlang(int vol) {
this.volume = this.volume + vol;
}
Buat public void untuk menset berapa harga segelas kopi nya, untuk dipanggil pada file
UseCoffeeMachine :

public void setHarga(double hrg) {


this.harga_segelas = hrg;
}
Buat return value untuk menentukan uang kembalian, jika uang dimasukan lebih besar dari
setHarga yang sudah ditentukan :
public double kembalian(double uang) {
uang = uang - this.harga_segelas;
return uang;
}
buat public void untuk menentukkan jumlah deposit dalam coffee machine untuk setiap
transaksi yang terjadi, jika terjadi pembelian maka deposit bertambah :
public void deposit(double uang) {
this.saldo = this.saldo + uang;

}
Tentukan public void untuk menentukan saldo setelah penarikan uang kembalian :

public void withdraw(double uang) {


this.saldo = this.saldo - uang;
}
Buat public void untuk transaksi :
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);
}

}
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);
}
}

Kode Program UseCoffeeMachine.java:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package coffeemachine;
/**
*
* @author watik
*/
public class UseCoffeeMachine {
public static void main(String[] args) {
// TODO code application logic here
CoffeeMachine cm = new CoffeeMachine(10000, 50, 100000);
System.out.println("=== COFFEE MACHINE ===");
cm.cetak();
cm.setHarga(2000); // set harga per-gelas
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();
}
}

Anda mungkin juga menyukai