Auction System
Auction system merupakan suatu sistem pelelangan, dimana akan ada barang yang dilelang dan juga penawar yang menawar barang tersebut. Seperti pelelangan pada umumnya, akan terjadi proses tawar-menawar, dimana para penawar akan menawar barang dengan harga yang berbeda-beda, dan nantinya barang akan terjual pada penawar yang menawar dengan harga tertinggi.
1. Auction
Berisi sistem pelelangan (auction system).
- /**
- * Write a description of class Auction here.
- *
- * @author Sabrina Lydia S
- * @version 26/10/20
- */
- import java.util.ArrayList;
- public class Auction
- {
- private ArrayList<Lot> lots;
- private int nextLotNumber;
- public Auction()
- {
- lots = new ArrayList<Lot>();
- nextLotNumber = 1;
- }
- public void enterLot(String description)
- {
- lots.add(new Lot(nextLotNumber, description));
- nextLotNumber++;
- }
- public void showLots()
- {
- for(Lot lot : lots)
- {
- System.out.println(lot.toString());
- }
- }
- public void makeABid(int lotNumber, Person bidder, long value)
- {
- Lot selectedLot = getLot(lotNumber);
- if (selectedLot != null)
- {
- boolean succesful = selectedLot.bidFor(new Bid(bidder, value));
- if (succesful)
- {
- System.out.println("The bid for lot number " + lotNumber + " was succesful.");
- }
- else
- {
- Bid highestBid = selectedLot.getHighestBid();
- System.out.println("Lot number: " + lotNumber + " already has a bid of: " + highestBid.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: Lot number " + selectedLot.getNumber() + " was returned instead of " + lotNumber);
- selectedLot = null;
- }
- return selectedLot;
- }
- else
- {
- System.out.println("Lot number: " + lotNumber + " does not exist.");
- return null;
- }
- }
- public void close()
- {
- System.out.println("Closing auction.");
- for (Lot lot : lots)
- {
- System.out.println(lot.getNumber() + ": " + lot.getDescription());
- if (lot.getHighestBid() == null)
- {
- System.out.println (" (No bids) ");
- }
- else
- {
- Bid highestBid = lot.getHighestBid();
- System.out.println(" sold to " + highestBid.getBidder().getName() + " for " + highestBid.getValue());
- }
- }
- }
- }
2. Bid
Berisikian tawaran-tawaran dari penawar (class person).
- /**
- * Write a description of class Bid here.
- *
- * @author Sabrina Lydia S
- * @version 26/10/20
- */
- public class Bid
- {
- private final Person bidder;
- private final long value;
- public Bid(Person bidder, long value)
- {
- this.bidder = bidder;
- this.value = value;
- }
- public Person getBidder()
- {
- return bidder;
- }
- public long getValue()
- {
- return value;
- }
- }
3. Lot
Berisikan item yang dilelang.
- /**
- * Write a description of class Lot here.
- *
- * @author Sabrina Lydia S
- * @version 26/10/20
- */
- public class Lot
- {
- private final int number;
- private String description;
- private Bid highestBid;
- public Lot (int number, String description)
- {
- this.number = number;
- this.description = description;
- this.highestBid = null;
- }
- public boolean bidFor(Bid bid)
- {
- if (highestBid==null)
- {
- highestBid = bid;
- return true;
- }
- else if (bid.getValue() > highestBid.getValue())
- {
- highestBid = bid;
- return true;
- }
- else
- {
- return false;
- }
- }
- public String toString()
- {
- String details = number + ": " + description;
- if (highestBid != null)
- {
- details += " Bid: " + highestBid.getValue();
- }
- else
- {
- details += " (No Bid)";
- }
- return details;
- }
- public int getNumber()
- {
- return number;
- }
- public String getDescription()
- {
- return description;
- }
- public Bid getHighestBid()
- {
- return highestBid;
- }
- }
4. Person
Berisikan orang yang menawar barang.
- /**
- * Write a description of class Person here.
- *
- * @author Sabrina Lydia S
- * @version 26/10/20
- */
- public class Person
- {
- private final String name;
- public Person (String name)
- {
- this.name = name;
- }
- public String getName()
- {
- return name;
- }
- }
Langkah-Langkah Menjalankan Program Auction System
1. Membuat objek dengan cara klik kanan pada class Auction lalu memilih new Auction(), di sini saya memberi nama lelang_barang.
2. Memasukan barang yang akan dilelang dengan klik kanan pada object lelang_barang, lalu memilih enterLot, di sini saya memasukan Lukisan , Jam antik.
3. Untuk melihat barang beserta nomor barang tersebut, klik kanan pada object lelang_barang, lalu pilih showLots().
4. Untuk memasukkan para penawar barang, terlebih dahulu harus membuat objek dengan cara klik kanan pada class Person lalu memilih new Person(), lalu memasukkan nama penawar.
5. Melakukan penawaran barang dengan klik kanan pada object lelang_barang, lalu memilih makeABit, lalu memasukkan nomor barang yang ingin dilelang, nama object dari class person sesuai dengan orang yang melelang, beserta harga yang ditawarkan.
6. Jika pelelangan telah selesai, tutup pelelangan dengan cara klik kanan pada object lelang_barang, lalu pilih close(). Maka akan ditampilkan para pemenang lelang dari masing-masing barang.
Komentar
Posting Komentar