Langsung ke konten utama

Tugas 3 PBO: Ticket Machine dan Remot TV

Apa itu Ticket Machine? Ya, tiket machine adalah salah satu tempat dimana mesin tersebut adalah melayani pembelian tiket. Contohnya seperti mesin ini:


Yap, di foto itu adalah contoh dari bentuk mesin tiket yang umum berada di Indonesia. Untuk kali ini, case yang dipakai adalah sama seperti yang ada difoto itu, yaitu adalah mesin tiket Kereta Api. Namun, kali ini tentunya sederhana saja (tidak seribet yang ada di stasiun-stasiun pada umumnya)

Untuk kodingannya kurang lebih seperti ini, dengan menggunakan bahasa Java

Main:
 import java.util.Scanner;   
  public class IntMain   
  {   
  public static void main(String args[])   
  {   
  Scanner scan= new Scanner(System.in);   
  int cost,namaka,menu;  
  System.out.println("Masukkan harga tiket \n");  
  cost=scan.nextInt();  
  System.out.println("Masukkan nama kereta \n");  
  TicketMachine ticket=new TicketMachine(cost);System.out.println("1. Dapatkan Harga");   
  System.out.println("2. Dapatkan Kembalian");   
  System.out.println("3. Ambil Uang");   
  System.out.println("4. Print Tiket");   
  menu=scan.nextInt();   
  switch(menu)   
  {   
   case 1:   
   cost=ticket.getPrice();   
   System.out.println(cost);   
   break;   
   case 2:   
   ticket.getBalance();   
   break;   
   case 3:   
   int money=scan.nextInt();   
   ticket.insertMoney(money);   
   break;   
   case 4:   
   ticket.printTicket();   
   break;   
  }   
  }   
  }  

class TicketMachine:
 public class TicketMachine  
 {  
   private int price;  
   private int balance;  
   private int total;  
   public TicketMachine(int ticketCost)  
   {  
     price = ticketCost;  
     balance = 0;  
     total = 0;  
   }  
   public int getPrice()  
   {  
     return price;  
   }  
   public int getBalance()  
   {  
     return balance;  
   }  
   public void insertMoney(int amount)  
   {  
     balance = balance + amount;  
   }  
   public void printTicket()  
   {  
     System.out.println("##################");  
     System.out.println("# Kereta Api SP<BLABLABLA>, Mastah Adalah Prioritas Kami");  
     System.out.println("# Tiket Anda");  
     System.out.println("# " + price + " rupiah.");  
     System.out.println("##################");  
     System.out.println();  
     total = total + balance;  
     balance = 0;  
   }  
 }  

Output:

Lumayan simpel kan? Untuk penerapan yang kurang lebih sama, sekarang kita beralih ke cara kerja Remot TV. Ini dia kodingannya (masih sama pakai bahasa Java):

Main:
 import java.util.Scanner;   
  public class Main   
  {   
   public static void main(String args[])   
   {   
    Scanner scan = new Scanner(System.in);   
    int menu, channel, volume, channellist;   
    menu=0;   
    channel=0;   
    volume=0;  
    channellist=0;  
    System.out.println("ASTOR TV");   
    remote remote = new remote();   
 while(menu!=21)   
    {   
     System.out.println("CHANNEL LIST:");  
     System.out.println("0. ITS TV");   
     System.out.println("1. MTV Vivat");   
     System.out.println("2. DIYMedia");   
     System.out.println("3. K4TV");   
     System.out.println("4. Glebel TV");   
     System.out.println("5. India TV");   
     System.out.println("6. Bintang Olahraga");   
     System.out.println("7. FilmMaks");   
     System.out.println("8. Geografi Nasional");   
     System.out.println("9. Rubah TV");  
     System.out.println("10. Bintang Dunia");  
     System.out.println("---------------------");  
     System.out.println("1. Get Channel");   
     System.out.println("2. Get Volume");   
     System.out.println("3. Set Channel");   
     System.out.println("4. Set Volume");   
     System.out.println("5. Next Channel");   
     System.out.println("6. Previous Channel");   
     System.out.println("7. Up Volume");   
     System.out.println("8. Down Volume");   
     System.out.println("9. Turn Off");   
     menu=scan.nextInt();   
     switch(menu)   
     {   
      case 1:   
      channel=remote.getChannel();   
      System.out.println("Anda berada di channel "+channel);   
      break;   
      case 2:   
      volume=remote.getVolume();   
      System.out.println("Volume: "+volume);   
      break;   
      case 3:   
      System.out.println("Masukkan channel yang anda tuju");   
      channel=scan.nextInt();   
      remote.setChannel(channel);  
      if (channel>10)  
      {  
        System.out.println("Maaf, tidak ada channel ini");  
      }  
      break;   
      case 4:   
      System.out.println("Masukkan volume yang anda inginkan");   
      volume=scan.nextInt();   
      remote.setVolume(volume);   
      break;   
      case 5:   
      remote.nextChannel();   
      break;   
      case 6:   
      remote.preChannel();   
      break;   
      case 7:   
      remote.upVolume();   
      break;   
      case 8:   
      remote.downVolume();   
      break;   
      case 9:   
      System.out.println("Bye-Bye");  
      System.exit(1);  
      break;   
     }   
    }   
   }   
  }   

class remote
 public class remote   
  {   
   private int channel;   
   private int volume;   
   public remote()   
   {   
    channel = 0;   
    volume = 0;   
   }   
   public int getChannel()   
   {   
    return channel;   
   }   
   public int getVolume()   
   {   
    return volume;   
   }   
   public void nextChannel()   
   {   
    if (channel < 10) channel = channel + 1;   
    else channel = 1;   
   }   
   public void preChannel()   
   {   
    if (channel > 1) channel = channel -1;   
    else channel = 10;   
   }   
   public void setChannel(int cha)   
   {   
    if (cha>=0 && cha<=10) channel = cha;   
   }   
   public void upVolume()   
   {   
    if (volume < 100) volume = volume +1;   
   }   
   public void downVolume()   
   {   
    if (volume > 0) volume = volume - 1;   
   }   
   public void setVolume(int vol)   
   {   
    if (vol>=0 && vol<=100) volume = vol;   
   }   
  }   

Oke, kita langsung ke testcase. Testcase pertama. Mengatur volume dari 0 ke 40. Ini dia outputnya:


Testcase kedua. Mengubah channel dari ITS TV (Channel 0) menuju Bintang Olahraga (Channel 6)


Testcase ketiga. Bagaimana jika kita menginput channel yang tidak ada dilist? Ini dia hasilnya:


Testcase keempat. Bagaimana jika kita mengecilkan volume? Bisa....


Untuk mematikan TV, bisa dipencet nomor 9. menggunakan fungsi system.exit(1)

Simpel kan? Itu aja dari mimin, kurang lebihnya mohon maaf jika ada kekurangan

Komentar

Postingan populer dari blog ini

EAS PBO: ImageEditor

Sore.... kali ini mimin mau menampilkan hasil EAS mimin. Kali ini mimin mau membuat aplikasi bernama ImageEditor. Dimana aplikasi ini dapat mengedit gambar secara sederhana. Untuk link soal:  http://fajarbaskoro.blogspot.com/2018/12/evaluasi-akhir-semester-pbo-2018.html 1. Rancangan Interface. Sederhana saja, mirip dengan yang ini: Hanya saja, untuk fungsi tambahannya ditaruh ditoolbar samping kiri dan dibawah fungsi resize (Smaller dan Larger) 2. Class diagram dari mimin: Penjelasan: ImageViewer: Bagian kelas utama untuk aplikasi editor gambar, GUI dari aplikasi, Inisialisasi semua komponen, dan untuk memulai aplikasi (atau bisa disebut juga dengan class Main) ImageFileManager: Untuk memuat dan menyimpan gambar ImagePanel: Komponen swing yang dapat menampilkan class OFImage OFImage: Kelas yang mendefinisikan gambar dalam format OF (Object First) Filter: Kelas Abstrak untuk menjalankan semua filter yang ada didalam program EdgeFilter: Membuat filter efek edge Fis

Tugas 1 APSI: System Request

System Request  Project Name: Rental Motor dan Mobil Matic “Blablabla” Project Sponsor:   Mr. X, Surabaya Business Need:   Untuk membuat penyewaan mobil yang harganya bisa terjangkau dan tentunya efektif untuk masyarakat yang ingin berpergian dengan mobil namun masyarakat tersebut tidak mau direpotkan dengan biaya perawatan mobil atau rumahnya yang tidak mendukung karena ketiadaan garasi.  Selain itu karena memang di kota tempat letak penyewaan kendaraan ini terdapat banyak wisata, dan kebanyakan orang-orang ingin menyewa mobil atau motor untuk bepergian ke wisata-wisata tersebut. Sedangkan mereka tidak memiliki kendaraan entah karena mereka berasal dari luar kota (ke kota ini untuk rekreasi dan menaiki angkutan umum) atau memang karena mereka benar-benar tidak memiliki kendaraan. Mengapa kita pilih Motor dan Mobil Matic? Dikarenakan pada saat ini lumayan sulit untuk mencari penyewaan motor matic (scooter) dan mobil yang bertransmisi otomatis namun dengan harg