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 Traveloka berfungsi sebagai mesin pencari untuk membandingkan harg

Tugas APSI - Use Case Diagram

Nama : Ahmad Syauqi NRP : 05111740000093 Use Case Diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantaranya yang memperkenalkan suatu sistem. Use case diagram tidak menjelaskan secara detil tentang penggunaan use case, tetapi hanya memberi gambaran singkat hubungan antara usecase, aktor, dan sistem. Berikut adalah contoh use case diagram dari sistem penggajian di Kanisius

UTS-PBO-B-2018 Sistem Parkir Elektronik

Pada UTS PBO B pada tanggal 15 Oktober 2018, kami ditugaskan untuk membuat program Sistem Parkir Elektronik pada soal nomor 5. Berikut adalah hasil dan source code nya. 1. Class main /** * Write a description of class Main here. * * @author (your name) * @version (a version number or a date) */ import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner scan = new Scanner(System.in); int menu=0; String nopol; int price; PrintMasuk masuk = new PrintMasuk(); System.out.println("Masukkan Nomor Polisi Kendaraan Anda"); nopol=masuk.getNopol(); price=masuk.getPrice(); while(menu!=2) { System.out.println("1. Cetak Bukti Masuk"); System.out.println("2. Cetak Resi Keluar"); menu=scan.nextInt(); switch(menu) { case 1: masuk.printMasuk(); break