Langsung ke konten utama

Tugas PBO Music Organizer dan Auction Program


1. Music Player
Berikut adalah source code untuk music player.

Class MusicOrganizer
 import java.util.Scanner;  
 /**  
  * Write a description of class MusicOrganizer here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 public class MusicOrganizer  
 {  
   public static void MusicOrganizer(){  
     Music music = new Music();  
     Scanner scan = new Scanner(System.in);  
     int c;  
     while(true){  
       c = scan.nextInt();  
       switch(c){  
         case 1:  
         scan.nextLine();  
         String lagu = scan.nextLine();  
         music.tambah(lagu);  
         break;  
         case 2:  
         music.daftar();  
         break;  
         case 3:  
         int nomor = scan.nextInt();  
         music.mulai(nomor);  
         break;  
         case 4:  
         nomor = scan.nextInt();  
         music.stop(nomor);  
         break;  
         case 5:  
         nomor = scan.nextInt();  
         music.hapus(nomor);  
         break;  
       }  
     }  
   }  
 }  

Class Music
 import java.util.ArrayList;  
 /**  
  * Write a description of class Music here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 public class Music {    
   private ArrayList<String> playlist;  
   private Player play;  
   private int now,state;  
   public Music() {   
     playlist = new ArrayList<String>();   
     play = new Player();  
     now = -1;  
     state = 0;  
   }  
   public int jumlah() {   
     return playlist.size();   
   }  
   public void daftar() {   
     if(playlist.size()>0) {   
       for(int i=0;i<playlist.size();i++){  
         String filename = playlist.get(i);   
         System.out.println((i+1)+". "+filename);   
       }  
     }   
     else System.out.println("Tidak ada");  
   }  
   public void hapus(int index) {   
     if(index-1 >= 0 && index-1 < playlist.size()) {   
       playlist.remove(index);   
     }   
   }  
   public void tambah(String lagu) {   
     playlist.add(lagu);   
   }  
   public void mulai(int index){  
     now = index-1;  
     if(playlist.size()>0){  
       play.start(playlist.get(now));  
       state=1;  
     }  
     else System.out.println("Belum ada lagu");  
   }  
   public void stop(int index){  
     if(now == index-1 && state == 1){  
       play.stop(playlist.get(now));  
       state=0;  
     }  
     else System.out.println("Lagu belum berputar");  
   }  
 }  

Class Player
 /**  
  * Write a description of class Player here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 public class Player  
 {  
   private int index;  
   public void start(String lagu){  
     System.out.println("Playing: "+lagu);  
   }  
   public void stop(String lagu){  
     System.out.println(lagu+" has stopped ");  
   }  
 }  

Hasil


2. Auction Program
Berikut adalah source code untuk auction program.

Class Auction
 import java.util.ArrayList;    
 /**  
  * Write a description of class Auction here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 public class Auction    
 {  
   private ArrayList<Lot> barang; //daftar barang yang dilelang   
   private int nextBarang; //untuk pengkodean barang   
   public Auction() //inisiasi pelelangan baru   
   {  
     barang = new ArrayList<>();  
     nextBarang = 1;    
   }    
   public void masukkanBarang(String nama) //memasukkan barang ke daftar barang yang dilelang   
   {    
     barang.add(new Lot(nextBarang, nama));    
     nextBarang++;    
   }    
   public void tampilkanBarang() //menampilkan seluruh barang yang dilelang   
   {  
     for(Lot lot : barang) {  
       System.out.println(lot.toString());  
     }  
   }    
   public void buatPenawaran(int kode, Person penawar, long harga)    
   {    
     Lot selectedLot = getBarang(kode);    
     if(selectedLot != null) { //hanya bisa jika kode barang telah terdaftar   
       Bid bid = new Bid(penawar, harga);  
       boolean successful = selectedLot.bidFor(bid);  
       if(successful) {  
         System.out.println("Tawaran untuk nomor barang" + kode + " telah sukses.");  
       }  
       else {    
         Bid maksTawaran = selectedLot.getTertinggi(); //hanya bisa menawar dengan harga yang lebih tinggi daripada penawar sebelumnya   
         System.out.println("Nomor barang: " + kode +    
         " sudah memiliki tawaran: " +    
         maksTawaran.getHarga());    
       }    
     }    
   }    
   public Lot getBarang(int kode)    
   {    
     if((kode >= 1) && (kode < nextBarang)) {  
       Lot selectedLot = barang.get(kode - 1);    
       if(selectedLot.getKode() != kode) {    
         System.out.println("Eror internal: nomor lot " +    
         selectedLot.getKode() +    
         " telah diganti " +    
         kode);    
         // Don't return an invalid lot.    
         selectedLot = null;    
       }    
       return selectedLot;    
     }    
     else {    
       System.out.println("Nomor barang: " + kode +    
       " tidak tersedia.");    
       return null;    
     }    
   }  
   public void hentikan()  
   {    
     System.out.println("Pelelangan telah dihentikan.");    
     for(Lot lot : barang)    
     {    
       System.out.println(lot.getKode() + ": " +lot.getNama());    
       Bid bid = lot.getTertinggi();    
       if (bid==null)    
       {    
         System.out.println("Tidak ada tawaran untuk barang ini");    
       }    
       else    
       {    
         System.out.println("Barang ini telah dijual kepada " +    
         bid.getNama().getNama() + " dengan harga :\t"    
         + bid.getHarga());    
       }    
     }    
   }    
  }  

Class Bid
 /**  
  * Write a description of class Bid here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 public class Bid    
 {  
   private final Person penawar;    
   private final long harga;    
   public Bid(Person penawar, long harga)    
   {    
     this.penawar = penawar;    
     this.harga = harga;    
   }    
   public Person getNama()    
   {    
     return penawar;    
   }    
   public long getHarga()    
   {    
     return harga;    
   }    
 }  

Class Person
 /**  
  * Write a description of class Person here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 public class Person    
 {  
   private final String Nama;    
   public Person(String Nama)    
   {    
     this.Nama = Nama;    
   }    
   public String getNama()    
   {    
     return Nama;    
   }  
 }   

Class Lot
 /**  
  * Write a description of class Lot here.  
  *  
  * @author (your name)  
  * @version (a version number or a date)  
  */  
 public class Lot    
 {    
   private final int kodeBarang;    
   private String namaBarang;    
   private Bid maksTawaran;    
   public Lot(int kodeBarang, String namaBarang)    
   {    
     this.kodeBarang = kodeBarang;    
     this.namaBarang = namaBarang;    
     this.maksTawaran = null;    
   }    
   public boolean bidFor(Bid tawaran)    
   {    
     if(maksTawaran == null) {    
       maksTawaran = tawaran; //jika tidak ada tawaran sebelumnya   
       return true;    
     }    
     else if(tawaran.getHarga() > maksTawaran.getHarga()) {    
       maksTawaran = tawaran; //jika tawaran lebih tinggi daripada tawaran sebelumnya   
       return true;    
     }    
     else {    
       return false; //jika tawaran tidak lebih tinggi daripada tawaran sebelumnya   
     }    
   }    
   public String toString()    
   {    
     String details = kodeBarang + ": " + namaBarang;    
     if(maksTawaran != null) {    
       details += " Tawaran: " +    
       maksTawaran.getHarga();    
     }    
     else {    
       details += " (Tidak ada tawaran)";    
     }    
     return details;    
   }    
   public int getKode()    
   {    
     return kodeBarang;    
   }    
   public String getNama()    
   {    
     return namaBarang;    
   }    
   public Bid getTertinggi()    
   {    
     return maksTawaran;    
   }    
 }  

Sekian dan Terima Kasih.

Komentar

Postingan populer dari blog ini

Analisa Sistem Informasi Traveloka

Tugas 1 Ahmad Syauqi 05111740000093 APSI - C Pada kesempatan kali ini saya akan membahas tentang bagaimana Sistem Informasi pada sebuah platform yang pastinya sudah tidak asing lagi di telinga kita semua, yaitu Traveloka. 1. Sejarah Singkat Traveloka Awalnya Traveloka  adalah perusahaan yang menyediakan layanan pemesanan  tiket pesawat  dan  hotel  secara daring dengan fokus perjalanan domestik di  Indonesia, namun seiring dengan berjalannya waktu, kini Traveloka juga menyediakan layanan pemesanan tiker kereta api, bus, rental mobil, rekreasi, dan masih banyak lainnya.  Traveloka memiliki basis operasional di  Jakarta . Traveloka didirikan pada tahun  2012   oleh   Ferry Unardi , Derianto Kusuma, dan Albert Zhang. Ide ini muncul disaat Ferry Unardi sering mengalami kesulitan dalam pemesanan pesawat, terutama disaat dia ingin pulang ke   Padang , Indonesia, dari Amerika Serikat. Pada awal konsepnya Travelo...

Foxes and Rabbit

Dalam program ini terdapat 9 Class, yaitu: 1. Simulator 2. Field 3. Randomizer 4. SimulatorView 5. Counter 6. FieldStats 7. Location 8. Rabbit 9. Fox Berikut adalah tampilan hubungan tiap class di BlueJ. Berikut adalah source code tiap classnya. 1. Simulator import java.util.Random; import java.util.List; import java.util.ArrayList; import java.util.Iterator; import java.awt.Color; /** * A simple predator-prey simulator, based on a rectangular field * containing rabbits and foxes. * * @author David J. Barnes and Michael Kolling * @version 2008.03.30 */ public class Simulator { // Constants representing configuration information for the simulation. // The default width for the grid. private static final int DEFAULT_WIDTH = 50; // The default depth of the grid. private static final int DEFAULT_DEPTH = 50; // The probability that a fox will be created in an...

REKAYASA KEBUTUHAN : Blackberry Messenger - Pembahasan Software yang Gagal

Ahmad Syauqi (05111740000093) Fandy Kuncoro Adianto (05111740000118) Tentunya sebagian besar dari kita sudah kenal atau pernah menggunakan aplikasi BlackBerry Messenger atau yang biasa kita singkat dengan BBM. BBM merupakan aplikasi chatting yang sempat booming pada beberapa tahun yang lalu. Konon katanya aplikasi ini merupakan aplikasi chatting pertama yang dapat mengirim foto dan video. Awalnya BBM hanya dapat digunakan pada smartphone bermerk BlackBerry saja, namun seiring dengan berjalannya waktu, BBM dapat kita install di smartphone dengan OS Android. Masa jaya BBM kini telah terlewati. Banyak aplikasi chatting lain bermunculan dan mengalahkan popularitas dari BBM. Kini pihak BBM resmi mengumumkan untuk menghentikan layanannya pada 31 Mei 2020. Selanjutnya kita akan membahas kelemahan yang ada pada aplikasi BBM ini. Kelemahan Aplikasi Tidak menyingkronkan kontak secara otomatis. Berbeda dengan aplikasi serupa seperti WhatsApp & Line yang bisa langsung menying...