Simple Ticket Machine

Ticket machine adalah sebuah mesin yang berfungsi layaknya ATM, untuk melayani penjualan tiket kereta api. Ticket machine dapat mengatur harga tiket, uang kembalian, dan mencetak receipt tiket. Didalamnya tentu terdapat program yang mampu mengatur proses-proses tersebut.
Berikut adalah source code vending ticket machine dalam bahasa Java menggunakan BlueJ.

1. Class Ticket Machine

public class TicketMachine 
 {   
  private int harga;   
  private int saldo;   
  private int total; 
  private int kembalian; 

  public TicketMachine(int biaya) 
  { 
  harga = biaya; 
  saldo = 0; 
  total = 0; 
  kembalian = 0; 
  } 
  public int getharga() 
  { 
  return harga; 
  } 
  public int getsaldo() 
  { 
   return saldo; 
  } 
  public void masukkanUang(int jumlah) 
  { 
    if(jumlah > 0){ saldo = saldo + jumlah;    }
   else {  System.out.println("Masukkan uang ke dalam mesin!"); 
 } 
}
  public void cetakTiket() 
  { 
    System.out.println("Uang anda sebesar Rp. "+saldo+",-"); 
     if(saldo >= harga){ 
   total = total + saldo; 
   kembalian=kembaliansaldo(); 
   if (kembalian == 0) { System.out.println("Uang anda pas. Tidak ada kembalian.");   
    }
    else{ 
       System.out.println("Kembalian Anda sebesar Rp. "+kembalian+",-"); 
     } 
     saldo =0;
   System.out.println();   
   System.out.println("#############################"); 
   System.out.println("****** Kereta Api BlueJ ******"); 
   System.out.println("* Tanggal : 2 Oktober 2019"); 
   System.out.println("* 1 Ticket       *****"); 
   System.out.println("* Rp." + harga + ",-       ****"); 
   System.out.println("#############################"); 
   System.out.println(); 
   System.out.println("Terima Kasih, semoga perjalanan Anda menyenangkan bersama kami!"); 
   System.out.println(); 
   System.exit(0); 
   } 
   else { 
     System.out.println("Silakan masukan Rp."+(harga-saldo)+",-"); 
 } 
 } 
 public int kembaliansaldo() { 
   int jumlahkembalian; 
   jumlahkembalian = saldo-harga; 
   saldo = 0; 
   return jumlahkembalian; 
 } 
 } 

2. Class Main

import java.util.Scanner;
public class Main
{
  public static void main(String args[]) 
  { 
  Scanner scan= new Scanner(System.in); 
  int biaya, menu;   
  System.out.println("Masukkan harga tiket yang akan anda beli:\n"); 
  biaya = scan.nextInt(); 
  TicketMachine tiket = new TicketMachine(biaya); 
 
  while(true)
  { 
  System.out.println(); 
  System.out.println("Silahkan pilih opsi di bawah ini"); 
  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: 
   biaya=tiket.getharga(); 
   System.out.println("Harga tiket yang Anda beli sebesar Rp. "+biaya+",-"); 
   break; 
 
   case 2: 
   System.out.println("Masukkan jumlah uang Anda"); 
   int uang=scan.nextInt(); 
   tiket.masukkanUang(uang); 
   break; 
 
   case 3: 
   System.out.println("Anda telah memasukkan uang sebesar Rp."+tiket.getsaldo()+",00"); 
   break;
 
   case 4: 
   tiket.cetakTiket(); 
   break; 
  } 
  } 
  } 
 }

3. Tampilan Hasil

- Masukkan jumlah uang


Maka saldo akan berubah


Hasil Compile


Komentar

Postingan populer dari blog ini

[Guess Lecture] Fit For The Future: A Sharing of Experience

Sensing City Toronto (Quayside)

Java Time Practice