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 MPPL: Studi Kasus CV Jasa Pembasmian Hama Rayap

Source Soal:  https://fajarbaskoro.blogspot.com/2019/05/mppl-kelas-e-evaluasi-akhir-semester.html Soal: 1. Buatlah gambaran sistem aplikasi yang diselesaikan beserta fiturnya 2. Sebutkan dan jelaskan Siklus hidup Manajemen Proyek 3. Apa fungsi manajemen proyek di dalam pengembangan aplikasi. Sebutkan 4. Buatlah WBS untuk menyelesaikan proyek tersebut dan susunlah jadwal yang diperlukan jika jangka waktu yang disediakan 3 bulan 5. Buatlah anggaran biaya proyek dan sistem pengontrolannya dengan Kurva S jika disediakan dana Rp. 300.000.000,- 1. Ada dua hak akses, yaitu sebagai Karyawan dan Manager Hak Akses sebagai Manajer: Mengolah data kontrak kerja dengan pelanggan (CRUD) Melakukan penjadwalan pengerjaan pesanan Mengolah data karyawan (CRUD) Memilih dan mendelegasikan karyawan pada jadwal kontrak kerja Mencatat biaya pengeluaran dan pemasukan perusahaan Membuat dan mencetak laporan keuangan perusahaan Mengolah masa kerja karyawan outsourcing Hak Akse

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

MPPL: Manajemen Biaya

Biaya tersedia disini:  http://lpse.kkp.go.id/eproc/lelang/view/2958218 Work Breakdown System: Cost Planning: Cost Estimation: Cost Budgeting: Cost Controlling: