Minggu, 14 Oktober 2018

ETS PBO - SISTEM PARKIR ELEKTRONIK

Sistem Parkir Elektronik


Nama : Atika Rizki Nurakhmah
NRP   : 05111740000015
Kelas  : PBO A

HALLO LAGI GOOD PEOPLE!!
                 Di minggu ke-8 perkuliahan ini adalah minggu ETS. Oleh karena itu, yang saya pos ini adalah tugas ETS Pemrograman Berorientasi Objek (PBO) saya. Kali ini saya diminta untuk membuat Sistem Parkir Elektronik. Sistem parkir elektronik ini adalah sistem yang tujuannya untuk mempermudah penataan kendaraan yang parkir di suatu tempat. Selain itu, sistem ini juga digunakan untuk mencegah kebocoran pendapatan. Kebocoran pendapatan selama ini sering menyusahkan Pemkot Surabaya dalam pelaksanaan tanggung jawab. Sistem parkir ini menggunakan e-money dalam bentuk kartu. Cara kerjanya sangat sederhana. Pengguna tinggal memilih jenis kendaraan (apakah itu motor atau mobil). Setelah itu pengguna diminta memasukkan nomor plat kendaraan. Kemudian ada opsi untuk durasi parkir (jika tarif yang berlaku progresif). Setelah itu pengguna diminta untuk scan kartu e-money. Lalu mesin akan menyetak 2 buah tiket. Satu tiket untuk diletakkan di kendaraan, tiket yang lain dibawa oleh pengguna. Saat hendak meninggalkan parkiran karena selesai parkir (pulang), pengguna harus menunjukkan kedua tiket kepada juru parkir untuk dicek. Apabila kedua tiket sama, maka pengguna dipersilahkan untuk pergi. Jukir kemudian merobek kedua tiket dan dibuang ke tempat sampah. Diharapkan dengan adanya sistem parkir elektronik ini, Pemkot Surabaya berharap tidak ada lagi kebocoran pendapatan dan akuntabilitas Pemkot Surabaya akan semakin baik.

Nah, tugas saya adalah membuat implementasi sederhana dari sistem parkir elektronik ini.
Saya membuat 2 class, yaitu :

1. Class Main, dalam kelas ini berisi display sistem yang nantinya akan mengarah ke class lain yang berisi operasi (method) dalam sistem parkir elektronik.
2. Class Parkir_elektronik, dalam kelas ini terdapat method-method yang berhubungan dengan sistem parkir elektronik.

Berikut adalah Source code nya :
1. Class Main

 /**  
  * Class Main berisi display sistem  
  *  
  * @author (Atika Rizki Nurakhmah/05111740000015)  
  * @version (etsPBO/20181015)  
  */  
 import java.util.Scanner;  
 public class Main  
 {  
   public static void main (String args[])  
   {  
     Scanner scan = new Scanner(System.in);  
     Parkir_elektronik parkir=new Parkir_elektronik();  
     int pilih, durasi, park;  
     String nopol, id;  
     System.out.println("SELAMAT DATANG DI SISTEM PARKIR ELEKTRONIK");  
     System.out.println("===========================================");  
     System.out.println("1. MOTOR");  
     System.out.println("Tarif parkir = Rp. 2.000,00 ");  
     System.out.println("2. MOBIL");  
     System.out.println("Tarif parkir = Rp. 5.000,00 ");  
     System.out.println("Silahkan pilih jenis kendaraan : ");  
     pilih=scan.nextInt();  
     System.out.println("Masukkan nomor plat kendaraan: ");  
     nopol=scan.next();  
     System.out.println("Masukkan ID kartu: ");  
     id = scan.next();  
     switch(pilih)  
     {  
       case 1:  
       parkir.parkirMotor();  
       parkir.printTiket(pilih,nopol,id);  
       parkir.printTiket(pilih,nopol,id);  
       break;  
       case 2:  
       parkir.parkirMobil();  
       parkir.printTiket(pilih,nopol,id);  
       parkir.printTiket(pilih,nopol,id);  
       break;  
   }  
     System.out.println("Simpan satu tiket pada kendaraan Anda dan bawa satu tiket lainnya.");  
     parkir.getBalance();  
     System.out.println("Jangan Lupa menunjukkan tiket parkir kepada juru parkir saat akan meninggalkan parkiran.");  
     System.out.println("Terima Kasih");  
   }  
 }  

2. Class Parkir_elektronik
/**  
  * Write a description of class Parkir_elektronik here.  
  *  
  * @author (Atika Rizki Nurakhmah/0511740000015)  
  * @version (etesPBO/20181015)  
  */  
 public class Parkir_elektronik  
 {  
   // instance variables - replace the example below with your own  
   private int harga1;  
   private int harga2;  
   private int saldo;  
   /**  
    * Constructor for objects of class Parkir_elektronik  
    */  
   public Parkir_elektronik()  
   {  
     harga1=2000;  
     harga2=5000;  
     saldo=50000;  
     String nopol;  
   }  
   public int getBalance()  
   {    
     System.out.println("Saldo yang anda miliki sekarang adalah : "+saldo+"");  
     return saldo;  
   }  
   public void parkirMotor()  
   {  if (saldo<harga1)  
     {  
       System.out.println("Maaf saldo yang Anda miliki tidak mencukupi.");  
       System.exit(0);  
     }  
     else{  
     saldo=saldo-harga1;  
   }  
 }  
   public void parkirMobil()  
   {if (saldo<harga2)  
     {  
       System.out.println("Maaf saldo yang Anda miliki tidak mencukupi.");  
       System.exit(0);  
     }  
     else{  
     saldo = saldo-harga2;  
   }  
 }  
   public void printTiket(int pilih,String nopol, String id)  
   {  if (pilih ==1){  
     System.out.println();     
     System.out.println("#########################################");   
     System.out.println("******* SISTEM PARKIR ELEKTRONIK ********");  
     System.out.println("*** Tanggal : 15 Oktober 2018 ***********");  
     System.out.println("*** ID : " +id+" ***");  
     System.out.println("*** Jenis Kendaraan : MOTOR    *******");   
     System.out.println("*** Nomor plat kendaraan : " +nopol+" ***");  
     System.out.println("*** Tarif (flat) : Rp. 2.000,00 ,  *****");  
     System.out.println("#########################################");   
     System.out.println();   
   }  
     else {  
     System.out.println();     
     System.out.println("#########################################");   
     System.out.println("******* SISTEM PARKIR ELEKTRONIK ********");  
     System.out.println("*** Tanggal : 15 Oktober 2018 ***********");  
     System.out.println("*** ID : " +id+" ***");  
     System.out.println("*** Jenis Kendaraan : MOBIL    *******");   
     System.out.println("*** Nomor plat kendaraan : " +nopol+" ***");  
     System.out.println("*** Tarif (flat) : Rp. 5.000,00 ,  *****");  
     System.out.println("#########################################");   
     System.out.println();    
   }  
 }  
 }  


Saya tidak menggunakan menu durasi, karena sistem yang saya buat merupakan sistem dengan tarif flat. Jadi, durasi pengguna memarkir kendaraannya tidak berpengaruh terhadap tarif parkir. Saya juga mensetting saldo awal dari kartu yaitu Rp. 50.000,00,-. Saldo ini dapat diubah lewat Class Parkir_elektronik.

HASIL :





Jika saldo yang dimiliki tidak mencukupi, maka tampilannya menjadi :
Sekian dan Terima Kasih :)




Tidak ada komentar:

Posting Komentar

EAS PBO - Membuat Image Viewer

Membuat Image Viewer (Versi update + editor)   Nama : Atika Rizki Nurakhmah Nrp    : 05111740000015 Kelas : PBO - A ...