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:

  1. 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.
  2. 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.
  3. 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.
  4. Person:



    • Mewakili peserta lelang. Setiap peserta memiliki nama.
  5. TestAuction:

    • Kelas ini berfungsi sebagai contoh pengujian. Di dalamnya, lelang dijalankan dengan beberapa lot dan penawaran dari beberapa peserta.

Cara Menggunakannya:

  1. Inisialisasi Auction: Membuat objek Auction yang berfungsi untuk menyimpan dan mengelola lot yang akan dilelang:


    Auction auction = new Auction();
  2. Menambahkan Lot ke Lelang: Menambahkan barang-barang yang akan dilelang, seperti berikut:

    java

    auction.enterLot("Antique Vase"); auction.enterLot("Vintage Car"); auction.enterLot("Rare Painting");
  3. Menampilkan Daftar Lot: Melihat daftar lot yang ada dan status penawaran mereka:

    auction.showLots();
  4. 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 1
  5. Menampilkan 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

Postingan populer dari blog ini

Church-Turing Thesis dan kaitannya dengan Bahasa pemrograman

Tugas Data Peserta

Tugas Pertemuan 8