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.

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

Popular posts from this blog

Visualisasi Java - Membuat Rumah

Notion