Program Mesin Penjual Tiket
Kali ini, saya membuat sebuah program layaknya mesin untuk membeli tiket. Bahasa pemrograman yang saya buat adalah java, dan compiler yang saya gunakan adalah BlueJ. Berikut adalah cara kerja beserta kode dari program saya.
Input harga dan jumlah tiket yang ingin dibeli :
Perintah 1 merupakan perintah output harga yang harus dibayar, perintah 2 merupakan perintah output uang yang telah dimasukkan ke mesin.
Input uang ke mesin dan print tiket :
Perintah 3 merupakan input untuk memasukkan uang ke mesin. Perintah 4 merupakan perintah mencetak tiket, jika uang yang dimiliki memenuhi, maka tiket akan tercetak, jika tidak, maka akan keluar tulisan "Insufficent Money" atau Uang tidak mencukupi.
Menarik sisa uang dan keluar program dari mesin :
Perintah 5 merupakan perintah untuk mengambil sisa uang yang masih ada di mesin. Perintah 6 sendiri yaitu untuk keluar dari program. Jika masih terdapat sisa uang di mesin, maka program akan menanyakan apakah kita tetap ingin keluar atau melakukan perintah lain dahulu.
Begitulah cara kerja program saya, berikut pula adalah kode dari program ticket machine saya.
Class Main Ticket Machine
Semoga program kali ini bermanfaat, keep coding and be a problem solver ! :)
Input harga dan jumlah tiket yang ingin dibeli :
Perintah 1 merupakan perintah output harga yang harus dibayar, perintah 2 merupakan perintah output uang yang telah dimasukkan ke mesin.
gambar 1.1. input tiket, perintah 1, dan 2
Input uang ke mesin dan print tiket :
Perintah 3 merupakan input untuk memasukkan uang ke mesin. Perintah 4 merupakan perintah mencetak tiket, jika uang yang dimiliki memenuhi, maka tiket akan tercetak, jika tidak, maka akan keluar tulisan "Insufficent Money" atau Uang tidak mencukupi.
gambar 1.2. jika uang tidak memenuhi
gambar 1.3. jika uang memenuhi
Menarik sisa uang dan keluar program dari mesin :
Perintah 5 merupakan perintah untuk mengambil sisa uang yang masih ada di mesin. Perintah 6 sendiri yaitu untuk keluar dari program. Jika masih terdapat sisa uang di mesin, maka program akan menanyakan apakah kita tetap ingin keluar atau melakukan perintah lain dahulu.
gambar 1.4. menarik sisa uang, dan keluar program
gambar 1.5. perintah keluar jika masih ada sisa uang
Begitulah cara kerja program saya, berikut pula adalah kode dari program ticket machine saya.
Class Main Ticket Machine
/**
* Program ticket machine
* @author Ahmad Yahya Abdul Aziz
* Version Beta
*/
import java.util.Scanner;
public class Main
{
public static void Main()
{
Scanner sc = new Scanner(System.in);
int cost, menu, many, sisa;
char yes='y';
System.out.print("Input your ticket price : ");
cost = sc.nextInt();
System.out.print("Input how many ticket : ");
many = sc.nextInt();
TicketMachine tiket = new TicketMachine(cost,many);
while(true)
{
System.out.println("\nTicket Machine Application");
System.out.println("1. Get Price");
System.out.println("2. Get Balance");
System.out.println("3. Insert Money");
System.out.println("4. Print Ticket");
System.out.println("5. Take the remaining money");
System.out.println("6. Exit");
menu = sc.nextInt();
if(menu==6) {
sisa = tiket.getBalance();
if(sisa > 0) {
System.out.println("Are you sure ? You still have some money left. (y/n)");
yes = sc.next().charAt(0);
}
while(true){
if(yes=='y') {
break;
}
else if(yes=='n'){
break;
}
else {
System.out.println("Invalid Input");
break;
}
}
if(yes=='y'){
System.out.println("Thank You and Good Bye");
break;
}
if(yes=='n')continue;
}
int uang;
switch(menu)
{
case 1:
cost=tiket.getPrice();
System.out.println("Cost : "+cost+" Rupiah");
break;
case 2:
System.out.println("Balance : "+tiket.getBalance()+" Rupiah");
break;
case 3:
uang=sc.nextInt();
tiket.insertMoney(uang);
break;
case 4:
tiket.printTicket();
break;
case 5:
System.out.println("All the remaining money has been taken");
tiket.insertMoney(-tiket.getBalance());
break;
}
}
}
}
Class Ticket Machine Method /**
* Machine ticket to automated buy ticket for train / something
* @author Ahmad Yahya Abdul Aziz
*/
public class TicketMachine
{
public int balance;
private int price;
private int total;
public TicketMachine(int ticketCost,int ticketMany)
{
balance=0;
price=ticketCost;
total=ticketMany;
}
/**
* Method for Ticket Machine
* Balance, Price, Insert Money
*/
public int getBalance()
{
return balance;
}
public int getPrice()
{
return price*total;
}
public void insertMoney(int money)
{
balance = balance + money;
}
public void printTicket()
{
if(price*total<=balance){
int a = getPrice();
while(total>0){
System.out.println(".----------------------");
System.out.println("| Ticket CommuterTrain ");
System.out.println("| Price : " + price + " rupiah ");
System.out.println(";______________________");
total--;
}
//menunjukkan sisa uang
balance = balance - a;
}
else {
System.out.println("Insufficent Money");
}
}
}
Semoga program kali ini bermanfaat, keep coding and be a problem solver ! :)
Comments
Post a Comment