Tugas Pertemuan 5 - Membuat Auction

Nama     : Triana Velia Hutabalian 

NRP       : 5025231190

Kelas     : PBO G


Tugas ini tentang pembuatan dan proses menjalankan kode auction(lelang barang) pada aplikasi BlueJ.

Kode : Github


Penjelasan kode :

1. Person Class

  • Person mewakili orang yang berpartisipasi dalam pelelangan.
  • Atribut:
    • name: Variabel untuk menyimpan nama orang tersebut.
  • Konstruktor:
    • Person(String name): Ketika sebuah objek Person dibuat, kita harus memberikan sebuah nama, yang kemudian disimpan di variabel name.
  • Metode:
    • getName(): Metode ini mengembalikan nama orang tersebut. Jadi, jika ingin mengetahui siapa yang melakukan bid, bisa memanggil metode ini untuk mendapatkan nama.

    2. Bid Class

  • Bid mewakili sebuah tawaran (penawaran harga) yang dilakukan dalam pelelangan.
  • Atribut:
    • bidder: Variabel ini menyimpan informasi tentang orang (Person) yang membuat tawaran (bid).
    • amount: Menyimpan jumlah uang yang ditawarkan.
  • Konstruktor:
    • Bid(Person bidder, double amount): Ketika sebuah objek Bid dibuat, kita harus menentukan siapa orang yang melakukan bid (bidder), dan jumlah uang (amount) yang mereka tawarkan.
  • Metode:
    • getBidder(): Mengembalikan objek Person yang melakukan bid.
    • getAmount(): Mengembalikan jumlah bid (uang) yang ditawarkan.

    3. Lot Class
  • Lot mewakili item yang dilelang.
  • Atribut:
    • lotNumber: Nomor identifikasi untuk lot (item).
    • description: Deskripsi lot, misalnya “Antique Vase”.
    • highestBid: Menyimpan bid tertinggi saat ini untuk lot tersebut. Pada awalnya, ini di-set ke null karena belum ada bid yang dibuat.
  • Konstruktor:
    • Lot(int lotNumber, String description): Konstruktor ini menerima nomor lot dan deskripsinya, dan menginisialisasi highestBid ke null.
  • Metode:
    • getLotNumber(): Mengembalikan nomor lot.
    • getDescription(): Mengembalikan deskripsi lot.
    • bidFor(Bid bid): Metode ini menerima bid baru. Jika bid tersebut lebih tinggi dari bid tertinggi yang ada, maka bid baru akan menjadi bid tertinggi, dan metode mengembalikan true. Jika tidak, metode mengembalikan false.
    • getHighestBid(): Mengembalikan bid tertinggi saat ini, atau null jika belum ada bid.

    4. Auction Class
  • Auction mengelola semua lot yang ada dalam pelelangan.
  • Atribut:
    • lots: Daftar yang berisi semua lot yang dilelang. Ini menggunakan struktur data ArrayList untuk menyimpan objek Lot.
  • Konstruktor:
    • Auction(): Konstruktor ini menginisialisasi list kosong untuk menyimpan lot yang akan dimasukkan ke dalam pelelangan.
  • Metode:
    • enterLot(int lotNumber, String description): Metode ini digunakan untuk memasukkan lot baru ke dalam pelelangan. Ia membuat objek Lot baru dan menambahkannya ke list lots.
    • showLots(): Menampilkan semua lot yang ada, bersama dengan bid tertinggi (jika ada) untuk setiap lot. Jika belum ada bid, maka akan ditampilkan pesan bahwa belum ada bid yang masuk.
    • makeABid(int lotNumber, Person bidder, double bidAmount): Metode ini digunakan untuk memasukkan bid pada sebuah lot. Jika bid lebih tinggi dari bid sebelumnya, bid akan diterima, dan pesan sukses akan ditampilkan. Jika tidak, akan ditampilkan pesan bahwa bid terlalu rendah.
    • findLot(int lotNumber): Mencari dan mengembalikan lot yang memiliki lotNumber tertentu. Jika tidak ditemukan, mengembalikan null.

    5. Main Class
  • Main berfungsi sebagai pengujian untuk programnya. Di sini saya membuat objek auction, menambahkan beberapa lot ke dalamnya, dan melakukan bid menggunakan Alice dan Bob.
  • Setelah bid dilakukan, program menampilkan lot dengan bid tertinggi, atau pesan jika belum ada bid yang masuk.   


  • Hasil setelah dirun :


    Diagramnya :










    Have a nice day☻

    Komentar

    Postingan populer dari blog ini

    Pertemuan 4&5 PPB (B) - 25/03/2026

    Pertemuan 2 PPB (B) - 04/03/2026

    Pertemuan 7 - 08/04/2026