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

Tugas 7 PBO: Fox & Rabbit Simulator

Class Location: public class Location { private int row; private int col; public Location(int row, int col) { this.row = row; this.col = col; } public boolean equals(Object obj) { if(obj instanceof Location) { Location other = (Location) obj; return row == other.getRow() && col == other.getCol(); } else { return false; } } public String toString() { return row + "," + col; } public int hashCode() { return (row << 16) + col; } public int getRow() { return row; } public int getCol() { return col; } } Class Field: import java.util.Collections; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Random; public class Field { private static final Random rand = Randomizer.getRandom(); priva...

Tugas 2 APSI: ERD dan DFD Sistem Ticketing Kereta Api

Tugas 2 APSI: ERD dan DFD Sistem Ticketing Kereta Api DFD Level 0 DFD Level 1 DFD Level 2 ERD

Apa itu Sistem Analyst?

Analis sistem adalah seseorang yang bertanggung jawab atas penelitian, perencanaan, pengkoordinasian, dan merekomendasikan pemilihan perangkat lunak dan sistem yang paling sesuai dengan kebutuhan organisasi bisnis atau perusahaan. Analis sistem memegang peranan yang sangat penting dalam proses pengembangan sistem. Seorang analis sistem harus memiliki setidaknya empat keahlian: analisis, teknis, manajerial, dan interpersonal (berkomunikasi dengan orang lain). Kemampuan analisis memungkinkan seorang analis sistem untuk memahami perilaku organisasi beserta fungsi-fungsinya, pemahaman tersebut akan membantu dalam mengidentifikasi kemungkinan terbaik serta menganalisis penyelesaian permasalahan. Keahlian teknis akan membantu seorang analis sistem untuk memahami potensi dan keterbatasan dari teknologi informasi. Seorang analis sistem harus mampu untuk bekerja dengan berbagai jenis bahasa pemrograman, sistem operasi, serta perangkat keras yang digunakan. Keahlian manajerial akan membantu se...