TUGAS 3 PEMROGRAMAN BERORIENTASI OBJEK
MEMBUAT TICKET MACHINE SEDERHANA
Nama : Atika Rizki Nurakhmah
NRP : 05111740000015
Kelas : PBO - A
Tugas kali ini, saya diminta untuk membuat program Mesin Tiket Otomatis versi sederhananya.
Saya menggunakan 2 Class.
- Class TicketMachine
Dalam class ini terdapat beberapa method. Di awal terdapat deklarasi variable, beserta nilainya. Berikut method yang saya gunakan:- public int getPrice()
Digunakan untuk menyimpan dan menampilkan harga tiket yang diinputkan user. - public void insertMoney(int amount)
Digunakan untuk mendapatkan jumlah uang yang dimasukkan user. - public int getBalance()
Digunakan untuk menyimpan dan menampilakan jumlah uang yang sudah dimasukkan user. - public void printTicket()
Digunakan untuk mencetak tiket. - public int refundBalance()
Digunakan untuk menghitung, menyimpan, dan menampilkan uang kembalian user.
- public int getPrice()
- Class Main
Dalam Class ini terdapat opsi-opsi yang dapat dipilih user.
Berikut adalah Source Code nya:
- Class TicketMachine
/** * Write a description of class TicketMachine here. * * @author (Atika Rizki Nurakhmah / 05111740000015) * @version (01.01/tugas3/2018) */ public class TicketMachine { // The price of a ticket from this machine. private int price; // The amount of money entered by a customer so far. private int balance; // The total amount of money collected by this machine. private int total; // The amount of refund private int refund; /** * Create a machine that issues tickets of the given price. * Note that the price must be greater than zero, and there * are no checks to ensure this. */ public TicketMachine(int cost) { price = cost; balance = 0; total = 0; refund =0; } /** * Return the price of a ticket. */ public int getPrice() { return price; } /** * Return the amount of money already inserted for the * next ticket. */ public int getBalance() { return balance; } /** * Receive an amount of money in cents from a customer. */ public void insertMoney(int amount) { //System.out.println("Masukkan jumlah uang Anda"); if(amount>0){ balance = balance + amount; } else{ System.out.println("Masukkan Uang ke Mesin"); } } /** * Print a ticket. * Update the total collected and * reduce the balance to zero. */ public void printTicket() { System.out.println("Uang anda Rp. "+balance+",-"); if(balance>=price){ total = total + balance; refund=refundBalance(); if (refund==0){ System.out.println("Uang anda pas. Tidak ada kembalian."); } else{ System.out.println("Kembalian Anda Rp. "+refund+",-"); } balance =0; System.out.println(); System.out.println("#############################"); System.out.println("****** The BlueJ Train ******"); System.out.println("* Tanggal : 17 September 2018"); System.out.println("* 1 Ticket *****"); System.out.println("* Rp." + price + ",- ****"); System.out.println("#############################"); System.out.println(); System.out.println("Terima Kasih, Semoga Perjalanan Anda Menyenangkan!"); System.out.println(); System.exit(0); } else { System.out.println("Silahkan Masukan Rp."+(price-balance)+",-"); } } public int refundBalance() { int amountToRefund; amountToRefund = balance-price; balance = 0; return amountToRefund; } }
2. Class Main
/**
* Write a description of class Main here.
*
* @author (Atika Rizki Nurakhmah / 05111740000015)
* @version (01/tugas3/2018)
*/
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner scan= new Scanner(System.in);
int cost,menu;
System.out.println("SELAMAT DATANG DI THE BLUEJ TRAIN");
System.out.println("Masukkan harga tiket yang akan anda beli \n");
cost=scan.nextInt();
TicketMachine ticket=new TicketMachine(cost);
while(true){
System.out.println();
System.out.println("Silahkan pilih opsi (Program akan berhenti ketika Anda berhasil mencetak tiket)");
System.out.println("1. Cetak Harga");
System.out.println("2. Masukkan Uang");
System.out.println("3. Jumlah Uang yang Sudah Dimasukkan");
System.out.println("4. Cetak Tiket");
menu=scan.nextInt();
switch(menu)
{
case 1:
cost=ticket.getPrice();
System.out.println("Harga Tiket yang Anda beli Rp. "+cost+",-");
break;
case 2:
System.out.println("Masukkan jumlah uang Anda");
int money=scan.nextInt();
ticket.insertMoney(money);
break;
case 3:
System.out.println("Anda telah memasukkan uang sejumlah Rp."+ticket.getBalance()+",00");
break;
case 4:
ticket.printTicket();
break;
}
}
}
}
Berikut tampilan hasilnya
Setelah dimasukkan jumlah uangnya, nilai balance dan refundnya berubah
Jika Source Code dicompile dan dijalankan, hasilnya menjadi :
Jika uang yang dimasukkan user kurang, tampilannya seperti ini
Nah, demikian tugas pbo ketiga saya. Saya pamit undur diri, sampai bertemu di tugas selanjutnya. Sekian dan Terima kasih :)))))))
Tidak ada komentar:
Posting Komentar