Parkir Elektronik

Kali ini, saya membuat sebuah program yang bekerja layaknya parkir elektronik, bahasa pemrograman yang saya gunakan adalah Java. Environtment yang saya gunakan adalah BlueJ. Berikut adalah tampilan dari BlueJ tersebut.
Tampilan BlueJ
Berikut adalah cara kerja alat parkir tersebut.
Masukkan Plat Nomor
Sebelumnya, masukkan plot nomor kendaraan pengguna parkir terlebih dahulu.
Masukkan waktu datang dan pergi
Setelah itu masukkan waktu datang dan pergi. Caranya, dengan memasukkan 2 bilangan secara terpisah, contoh datang 11.30 dan pergi 12.30, maka dimasukkan 1130 1230.
Pilih y jika uang mencukupi
Lalu akan ditampilkan biaya parkirnya, jika anda memiliki uang untuk membayar maka pilih y, maka karcis parkir akan dicetak.Jika tidak, maka pilih n, maka karcis tidak jadi dicetak.
Pilih n jika uang tidak mencukupi
Berikut pula adalah source code dari program saya.

Kelas ParkingMachine
 import java.util.*;  
 /**  
  * Write a description of class ParkingMachine here.  
  *  
  * @author Ahmad Yahya Abdul Aziz  
  * @version 1.0 15102018 
  * 05111740000128
  */  
 public class ParkingMachine  
 {  
   public int h1,h2,m1,m2;  
   /**  
    * Constructor for objects of class ParkingMachine  
    */  
   public void ParkingMachine()  
   {  
     Scanner sc = new Scanner(System.in);  
     char cek;  
     ParkingTicket tiketparkir = new ParkingTicket();  
     System.out.println("Selamat Datang, Silahkan gunakan mesin parkir");  
     System.out.println("Masukkan Plat Nomor anda");  
     String s;  
     s = sc.nextLine();  
     tiketparkir.inputNopol(s);  
     System.out.println("Masukkan waktu datang, dan pergi");  
     int wDatang;  
     wDatang = sc.nextInt();  
     int wPergi;  
     wPergi = sc.nextInt();  
     durasiParkir(wDatang,wPergi);  
     tiketparkir.durasiP(h1,m1,h2,m2);  
     tiketparkir.hitungTarif();  
     System.out.println("Biaya parkir anda adalah : "+tiketparkir.getTarif());  
     System.out.println("Bayar ? (y/n)");  
     cek = sc.next().charAt(0);  
     if(cek=='y') {printKarcis(tiketparkir.getDurasi(),  
             tiketparkir.getTarif(),  
             tiketparkir.getNopol());}  
     else {  
       System.out.println("Anda belum membayar, sehingga anda tidak bisa parkir");  
     }  
     System.out.println("\nTerimakasih telah menggunakan layanan kami");  
   }    
   /**  
    * Method untuk print karcis  
    */  
   public void printKarcis(int durasi,int tarif,String nopol)  
   {  
     System.out.println(".-------------------------------");  
     System.out.println("|Karcis Parkir");  
     System.out.println("|Plat Nomor  : "+nopol);  
     System.out.print("|Waktu Datang : "+h1+":"+m1);  
     if(m1==0) {System.out.println("0");}  
     else {System.out.println();}  
     System.out.print("|Waktu Pergi : "+h2+":"+m2);  
     if(m2==0) {System.out.println("0");}  
     else {System.out.println();}  
     System.out.println("|Durasi    : "+durasi/60+" jam "+durasi%60+" menit");  
     System.out.println("|Tarif    : "+tarif);  
     System.out.println("`-------------------------------");  
   }  
   /**  
    * Method untuk proses durasi  
    */  
   public void durasiParkir(int wDatang,int wPergi)  
   {  
     h1=wDatang/100;  
     m1=wDatang%100;  
     h2=wPergi/100;  
     m2=wPergi%100;  
   }  
 }  
Kelas ParkingTicket
 /**  
  * ParkingTicket  
  * Kelas untuk memproses tiket parkir  
  *  
  * @author AHmad Yahya Abdul Aziz  
  * @version 1.0 / 15102018  
  * 05111740000128  
  */  
 public class ParkingTicket  
 {  
   private int tarifParkir;  
   private String platNomor;  
   private int Durasi;  
   /**  
    * Constructor for objects of class ParkingTicket  
    */  
   public ParkingTicket()  
   {  
     tarifParkir = 0;  
     platNomor ="";  
     Durasi = 0;  
   }  
   /**  
    * Method input platnomor kendaraan  
    *  
    */  
   public void inputNopol(String s)  
   {  
     platNomor = s;  
   }  
   /**  
    * Method untuk menghitung durasi / lama parkir  
    */  
   public void durasiP(int h1, int m1, int h2, int m2)  
   {  
     Durasi=(h2-h1)*60;  
     Durasi=Durasi+m2-m1;  
   }  
   /**  
    * Method untuk menghitung tarif parkir  
    */  
   public void hitungTarif()  
   {  
     int t=Durasi;  
     t -=60;  
     tarifParkir +=2000;  
     while(t>0){  
       tarifParkir+=1000;  
       t-=60;  
     }  
   }  
   /**  
    * Method untuk menampilkan platnomor kendaraan  
    */  
   public String getNopol()  
   {   
     return platNomor;  
   }  
   /**  
    * Method untuk menampilkan durasi parkir  
    */  
   public int getDurasi()  
   {  
     return Durasi;  
   }  
   /**  
    * Method untuk menampilkan tarif parkir  
    */  
   public int getTarif()  
   {    
     return tarifParkir;  
   }  
 }  

Nama : Ahmad Yahya Abdul Aziz
Kelas : PBO - A
NRP : 05111740000128

Comments

Popular posts from this blog

Vision, The Michelin Visionary Tire

Program Mesin Penjual Tiket

IGSoft, aplikasi penjawab teks