Senin, 17 September 2018

PBO A- Tiket Machine

Pada Kesempatan kali ini saya diberi tugas membuat sistem mesin tiket dengan bahasa Java.

Berikkut saya lampirkan hasil compile dari kodingan saya:

Berikut saya lampirkan pula Source codenya :
1. Main

<pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"><code> import java.util.Scanner;   
 public class IntMain   
 {   
  public static void main()   
  {   
    Scanner scan= new Scanner(System.in);   
    int cost,menu=0;   
    System.out.println(&quot;Input the ticket's price&quot;);   
    cost=scan.nextInt();   
    TicketMachine ticket=new TicketMachine(cost);  
    System.out.println(&quot;\n&quot;);  
    while(menu &lt; 5)  
    {  
      System.out.println(&quot;==================================&quot;);  
      System.out.println(&quot;Classical Clarion Online Tickets Menu: &quot;);  
      System.out.println();  
      System.out.println(&quot;1. Ticket Price&quot;);   
      System.out.println(&quot;2. Your Balance&quot;);   
      System.out.println(&quot;3. Insert Money&quot;);   
      System.out.println(&quot;4. Buy and Print Ticket (Refund Included)&quot;);   
      System.out.println(&quot;5. Exit&quot;);  
      System.out.println(&quot;==================================&quot;);  
      System.out.println(&quot;Selected Menu: &quot;);  
      menu=scan.nextInt();   
      switch(menu)   
      {    
        case 1:   
        cost=ticket.getPrice();  
        System.out.println(&quot;Classical Clarion Ticket Price: &quot;);  
        System.out.println(&quot;Rp. &quot; + cost);   
        break;   
        case 2:   
        System.out.println(&quot;Your Balance: &quot;);  
        System.out.println(&quot;Rp. &quot; + ticket.getBalance());  
        break;   
        case 3:   
        System.out.println(&quot;Top up amount: &quot;);  
        int money=scan.nextInt();  
        ticket.insertMoney(money);   
        break;   
        case 4:   
        ticket.printTicket();   
        System.out.println(&quot;You successfully bought the ticket(s)! We will be waiting for you at Classical Clarion!\n&quot;);  
        break;  
      }  
    }  
  }   
  }   
</code></pre>

2. Mesin

<pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"><code>  public class TicketMachine   
  {   
  private int price;   
  private int balance;   
  private int total;   
  private int tickets;  
  private int refund;  
  public TicketMachine(int ticketCost)   
  {   
  price = ticketCost;   
  balance = 0;   
  total = 0;  
  tickets = 0;  
  refund = 0;  
  }   
  public int getPrice()   
  {   
  return price;   
  }   
  public int getBalance()   
  {   
   return balance;   
  }   
  public void insertMoney(int amount)   
  {   
   if(amount &gt; 0)  
   {  
     balance = balance + amount;  
   }  
   else  
   {  
     System.out.println(&quot;Please insert a sensible amount of money.&quot;);  
   }  
  }   
  public void printTicket()   
  {   
   if(balance &gt; 0)  
   {  
     if(balance &gt;= price)  
     {  
       tickets = purchaseTickets();  
       int i = 1;  
       while(i &lt;= tickets)  
       {  
         System.out.println(&quot;##############################&quot;);   
         System.out.println(&quot;# Classical Clarion Tickets&quot;);   
         System.out.println(&quot;# Ticket #CC&quot; + i);   
         System.out.println(&quot;# Price: Rp. &quot; + price);  
         System.out.println(&quot;#&quot;);  
         System.out.println(&quot;# Open Space Grand City @3pm&quot;);  
         System.out.println(&quot;# 25 September 2018&quot;);  
         System.out.println(&quot;##############################&quot;);   
         System.out.println();  
         i++;  
       }  
       total = total + balance;   
       refund = refundBalance();  
       if (refund == 0)  
       {  
         System.out.println(&quot;No change given.&quot;);  
       }  
       else  
       {  
         System.out.println(&quot;Amount to refund: Rp. &quot; + refund);  
       }  
       balance = 0;  
     }  
     else  
     {  
       System.out.println(&quot;Please insert Rp. &quot; + (price - balance) + &quot; more.&quot;);  
     }  
   }  
   else  
   {  
     System.out.println(&quot;Please insert a positive amount of money.&quot;);  
   }  
  }  
  public int refundBalance()  
  {  
    int amountToRefund;  
    amountToRefund = balance - price * tickets;  
    balance = 0;  
    return amountToRefund;  
  }  
  public int purchaseTickets()  
  {  
    int numberOfTickets;  
    numberOfTickets = balance / price;  
    return numberOfTickets;  
  }  
 }  
</code></pre>


Tidak ada komentar:

Posting Komentar