Tugas Membuat Auction System Terdapat 4 kelas untuk membuat Auction System ini, 4 kelas itu adalah Auction, Person, bid dan lot. Berikut ini adalah gambar dari classnya
Berikut ini adalah source codenya : 1. Auction
 /**    
 * Kodingan Auction    
 *    
 * @author (M Thalut Nadhil Q)    
 * @version (TGO 6 Tanggal 8 Oktober 2018)    
 */   
 import java.util.ArrayList;  
 import java.util.Iterator;    
 public class Auction  // Suatu Metode yang bertujuan untuk ngelist barang dalam suatu auction  
 {    
   private ArrayList<Lot> lots;    
   private int nextLotNumber;     
   public Auction()  //Sebuah metode yang bertujuan untuk membuat auction baru  
   {    
     lots = new ArrayList<Lot>();    
     nextLotNumber = 1;  //Dimulai dari angka 1  
   }    
   public void enterLot(String description)    
   {    
     //Suatu metode yang bertujuan untuk menambahkan suatu barang yang baru dalam aution itu  
     lots.add(new Lot(nextLotNumber, description));    
     nextLotNumber++;    
   }    
   public void showLots()    
   {    
     //Sebuah method yang bertujuan untuk menampilkan seluruh barang yang dilelang dalam auction  
     for(Lot lot : lots)  
     {System.out.println(lot.toString());}    
   }    
   public void bidFor(int lotNumber, Person bidder, long value)    
   {    
     Lot selectedLot = getLot(lotNumber);    
     if(selectedLot != null)  
     {boolean successful = selectedLot.bidFor(new Bid(bidder,value));    
      if (successful)   
      {System.out.println("Bid untuk Nomor Lot " + lotNumber +" Telah berhasil.");}    
      else   
      {     
        //Jika bid gagal, maka akan memberitahukan bid sekarang   
        Bid highestBid = selectedLot.getHighestBid();    
        System.out.println("Nomor Lot: " + lotNumber + " Nilai bid sudah mencapai: " + highestBid.getValue());    
      }    
     }    
   }    
   public void close()    
   {    
     System.out.println("Pelelangan telah selesai.");    
     for(Lot lot : lots)   
     {    
       System.out.println(lot.getNumber() + ": " +lot.getDescription());    
       Bid bid = lot.getHighestBid();    
       if (bid==null)  
       {System.out.println("(Belum ada tawaran.)");  }    
       else   
       {System.out.println( "Terjual Kepada " + bid.getBidder().getName() + " Senilai "+ bid.getValue()); }    
     }    
   }    
   public Lot getLot(int lotNumber)    
   {    
     if((lotNumber >= 1) && (lotNumber < nextLotNumber))   
     {     
       Lot selectedLot = lots.get(lotNumber - 1);    
       if(selectedLot.getNumber() != lotNumber)   
       {    
         System.out.println("Internal error: Nomor Lot " + selectedLot.getNumber() + " Dikembalikkan kepada " + lotNumber);   
         selectedLot = null;    
       }    
       return selectedLot;    
     }    
     else   
     {    
       System.out.println("Nomor Lot: " + lotNumber + " Tidak Tersedia.");    
       return null;    
     }    
   }    
   }   
2. Person
 /**    
 * Kodingan Person   
 *    
 * @author (M Thalut Nadhil Q)    
 * @version (TGO 6 Tanggal 8 Oktober 2018)    
 */   
 public class Person    
 {     
   private final String name;  //sebuah variabel string yang bertujuan untuk meyimpan nama orang    
   public Person(String name)  //sebuah metode untuk membuat nama orang yang baru  
   {this.name = name;}    
   public String getName()  //untuk mengembalikkan nama orang yang baru saja dibua  
   {return name;}    
 }    
3. Bid
 /**    
 * Kodingan Bid   
 *    
 * @author (M Thalut Nadhil Q)    
 * @version (TGO 6 Tanggal 8 Oktober 2018)    
 */   
 public class Bid    
 {     
   private final Person bidder;  //Bertujuan untuk menyimpan nama penawarnya  
   private final long value;   //Bertujuan untuk menyimpan harga tawaran   
   public Bid(Person bidder, long value) //Sebuah Method yang bertujuan untuk membuat penawar baru dengan menyertai nama dan jumlah tawarannya   
   {    
     this.bidder = bidder;    
     this.value = value;    
   }    
   public Person getBidder()  //bertujuan untuk mengambalikkan nama penawarannya  
   {return bidder;}    
   public long getValue()  //bertujuan untuk mengambalikkan harga tawarannya  
   {return value;}    
 }  
4. Lot
 /**    
 * Kodingan Lot  
 *    
 * @author (M Thalut Nadhil Q)    
 * @version (TGO 6 Tanggal 8 Oktober 2018)    
 */   
 public class Lot    
 {     
   private final int number;   // Sebuah variabel yang bertujuan untuk menyimpan nomor barang   
   private String description;  // Sebuah variabel yang bertujuan untuk menyimpan deskripsi barang   
   private Bid highestBid;  // Sebuah variabel yang bertujuan untuk menyimpan nilai tawaran tertinggi  
   public Lot(int number, String description)  //Sebuah metode yang bertujuan untuk membuat lot baru beserta nama dan deskripsinya  
   {    
     this.number = number;    
     this.description = description;    
   }   
   public boolean bidFor(Bid bid)  //Sebuah metode yang bertujuan untuk mengecek apakah tawaran ini lebih besar dari tawaran yang lebih tinggi  
   {    
     if((highestBid == null)||(bid.getValue() > highestBid.getValue()))    
     {    
       highestBid = bid;    
       return true;    
     }    
     else  
     { return false;}    
   }    
   public String toString()  //metode untuk mengembalikkan detail lot  
   {    
     String details = number + ": " + description;    
     if(highestBid!=null)   
     {details+= " Bid: " +highestBid.getValue();}    
     else   
     {details += " (Belum ada bid)";}    
     return details;    
   }    
   public int getNumber()  //metode untuk mengembalikkan nomor lot  
   {return number;}    
   public String getDescription()  //metode untuk mengembalikkan deskripsi dari lot  
   {return description;}    
   public Bid getHighestBid()  //metode untuk mengembalikkan nilai dari tawaran tertinggi   
   {return highestBid;}    
  }    
Berikut ini adalah cara menjalankannya
1. Pertama-tama buatlah Auction dengan nama auction1
2. Setelah itu kita membuat person
3. Lalu Namai barang yang akan dilelang
4. Setelah itu kita cek showlotnya
5. Setelah itu kita masukkan bidnya
Maka hasil Outputnya adalah
6. Kita ulangi lagi nomor 5
Maka hasil Outputnya adalah
7. Lalu kita tutup Pelelangannya dan hasil outputnya adalah

Komentar

Postingan populer dari blog ini

UTS PBKK A

Tugas 2 PBKK