Tugas Pertemuan 5 ~ Membuat Auction

Nama : Alif Nurrohman 

NRP : 5025231057

Kelas : PBO 

Membuat Auction Sistem

Source Code : https://github.com/alifnurrohmans/TugasAuction

Penjelasan : 

1. Class Lot



Public class Lot  mewakili Auction Lot, termasuk detail seperti nomor, deskripsi, dan tawaran tertinggi (Bid) yang diajukan. Metode khusus public lot atau disebut konstruktor memiliki value seperti detail nomor, deskripsi, dan bid tertinggi. Setiap metode akan return sesuai dengan value di constructor

Public boolean bidFor(Bid bid) Metode ini mengelola proses penawaran dengan memastikan hanya penawaran yang valid yang diterima. Metode ini memperbarui penawaran tertinggi jika sesuai (return true) dan memberikan respons boolean yang menunjukkan keberhasilan atau kegagalan.highestBid == null; Ini akan mengecek apakah bid sudah ada atua belum. If true, bid apapun akan diterima. 

Bid.getValue() > highestBid.getValue(); Jika bid sudah tersedia, maka akan ceck apakah bid yang baru lebih besar dari bid tertinggi saat ini. Public String tostring() Metode ini membangun representasi string yang jelas dan informatif dari lot, sehingga memudahkan untuk memahami statusnya saat ini, termasuk apakah ada penawaran yang diajukan.

2. Class Person

Public class Person akan membuat method yang akan digunakan di Auction. Kelas ini menyediakan konstruktor untuk membuat objek Person dan metode pengambil untuk mengakses nama tersebut. this.name = name; Baris ini menetapkan nilai parameter konstruktor name ke variabel instan name. Kata kunci this membedakan antara variabel instan dan parameter name. Kita menggunakan this untuk menghilankan keambiguitas name juga.

3. Bid

Public class Bid memiliki prinsip yang sama seperti public class person. Pada kelas ini Bid akan mempunyai dua parameter. private Person bidder Variabel ini menyimpan referensi ke objek Person, yang mewakili individu yang mengajukan penawaran.

4. Auction

Public class Auction mengelola proses lelang dengan menangani lot dan tawaran. Kelas ini menyediakan metode untuk memasukkan lot, menampilkannya, dan memproses tawaran. Struktur ini memastikan bahwa setiap lot memiliki nomor unik, dan tawaran dievaluasi dengan benar terhadap tawaran yang ada. Kelas ini merangkum fungsionalitas inti yang dibutuhkan untuk mensimulasikan sistem lelang sederhana di Java.private ArrayList<Lot> lots Variabel ini menyimpan daftar objek Lot, yang mewakili semua lot yang tersedia dalam lelang. private int nextLotNumber: Bilangan integer ini menetaptkan tract ke variable lot number berikutnya, mulai dari 1. 

Public void enterLot(String description); Metode ini memungkinkan lot baru dimasukkan ke dalam lelang. Metode ini membuat objek Lot baru dengan nomor lot berikutnya yang tersedia dan deskripsi yang diberikan, lalu menambahkannya ke daftar lot. Setelah menambahkan, metode ini menambah nextLotNumber untuk mempersiapkan lot berikutnya.

Linefor (Lot lot : lots) adalah contoh loop foreach (juga dikenal sebagai loop for yang disempurnakan) di Java. Digunakan untuk mengulang elemen dalam koleksi, seperti ArrayList.



Public void makeABid(int lotNumber, Person bidder, long value); Metode ini memproses tawaran untuk lot tertentu. Pertama-tama, metode ini mengambil lot menggunakan getLot(lotNumber). Jika lot tersebut ada, metode ini membuat objek Bid baru dengan bidder dan nilai. Kemudian, metode ini memanggil metode bidFor pada Lot untuk mencoba mengajukan tawaran. Jika berhasil, metode ini mengonfirmasi tawaran; jika tidak, metode ini menampilkan tawaran tertinggi saat ini.



public Lot getLot(int lotNumber); Metode ini mengambil objek Lot berdasarkan nomornya.
Metode ini memeriksa apakah lotNumber valid (dalam rentang yang ada). Jika valid, metode ini mengambil objek Lot yang sesuai dari daftar lot. Metode ini mencakup pemeriksaan untuk memastikan lot yang diambil cocok dengan nomor lot yang diminta. Jika nomornya tidak valid atau tidak ada, metode ini mengembalikan null dan mencetak pesan kesalahan.

Cara Menjalankan : 
1). Compile semua program mulai dari Person, Bid, Lot hingga Auction
2). Klik kanan pada TestAuction dan pilih void main(String[] args)
3). Klik Ok tanpa inputan




Diagram : 













Komentar

Postingan populer dari blog ini

Evaluasi Tengah Semester

Tugas 14 - Pemrogramman GUI

Tugas 15 Final Project