Tugas 5 Auction System
Nama : Muhammad Shafa Narariya
NRP : 5025231016
Kelas : PBO
Membuat Auction Sistem
Source Code : https://github.com/ItsPong/Tugas-Auction.git
Penjelasan :
Proyek ini adalah simulasi sederhana dari sistem lelang. Terdapat beberapa kelas yang bekerja sama untuk mengelola daftar lot (barang yang dilelang), penawaran (bid), dan peserta lelang (person). Berikut adalah penjelasan tiap kelas:
Auction:
- Ini adalah kelas utama yang mengelola lelang.
- Menyimpan daftar lot (
ArrayList<Lot>) dan mengelola penomoran lot berikutnya (nextLotNumber). - Fungsi utama:
enterLot(String description): Menambahkan lot baru ke daftar lelang.showLots(): Menampilkan semua lot beserta penawaran tertinggi mereka (jika ada).makeABid(int lotNumber, Person bidder, long value): Membuat penawaran untuk lot tertentu. Jika penawaran lebih tinggi dari penawaran tertinggi sebelumnya, penawaran akan berhasil. Jika tidak, penawaran akan gagal.getLot(int lotNumber): Mendapatkan objek lot berdasarkan nomor lot.
Lot:
- Mewakili barang yang dilelang, menyimpan nomor lot, deskripsi, dan penawaran tertinggi (jika ada).
- Fungsi utama:
bidFor(Bid bid): Mencoba memasukkan penawaran baru. Jika nilai penawaran lebih tinggi dari penawaran tertinggi yang ada, penawaran diterima.getHighestBid(): Mendapatkan penawaran tertinggi saat ini.toString(): Menampilkan deskripsi lot dan status penawarannya.
Bid:
- Mewakili penawaran yang dilakukan oleh peserta lelang. Setiap penawaran terdiri dari peserta (
Person) dan nilai (value). - Fungsi utama:
getBidder(): Mendapatkan objek peserta yang melakukan penawaran.getValue(): Mendapatkan nilai penawaran.
Person:
- Mewakili peserta lelang. Setiap peserta memiliki nama.
TestAuction:
- Kelas ini berfungsi sebagai contoh pengujian. Di dalamnya, lelang dijalankan dengan beberapa lot dan penawaran dari beberapa peserta.
Cara Menggunakannya:
Inisialisasi Auction: Membuat objek
Auctionyang berfungsi untuk menyimpan dan mengelola lot yang akan dilelang:Auction auction = new Auction();Menambahkan Lot ke Lelang: Menambahkan barang-barang yang akan dilelang, seperti berikut:
javaauction.enterLot("Antique Vase"); auction.enterLot("Vintage Car"); auction.enterLot("Rare Painting");Menampilkan Daftar Lot: Melihat daftar lot yang ada dan status penawaran mereka:
auction.showLots();Membuat Penawaran: Membuat peserta (person) dan melakukan penawaran pada lot tertentu:
Person person1 = new Person("Alice"); Person person2 = new Person("Bob"); auction.makeABid(1, person1, 100); // Alice menawar 100 untuk lot 1 auction.makeABid(1, person2, 120); // Bob menawar 120 untuk lot 1Menampilkan Daftar Lot yang Diperbarui: Setelah melakukan penawaran, Anda dapat menampilkan kembali daftar lot dan melihat penawaran tertinggi:
auction.showLots();
Contoh Output:
Setelah menjalankan kode di TestAuction.main, berikut adalah contoh output yang dihasilkan:
Komentar
Posting Komentar