Langsung ke konten utama

Tugas 4 PBO: Auction System

Apa itu auction system? Yap, system tersebut adalah kalau di bahasa kita adalah lelang. Kali ini, kita mau membahas pelelangan tanah



Langsung saja, ini dia kodingannya:

Class Bid:
 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;  
   }  
 }  
Class Person:
 public class Person  
 {  
   private final String name;  
   public Person(String name)  
   {  
     this.name = name;  
   }  
   public String getName()  
   {  
     return name;  
   }  
 }  
Class Lot:
 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;  
   }  
   public boolean bidFor(Bid bid)  
   {  
     if((highestBid == null) ||  
         (bid.getValue() > highestBid.getValue())) {  
       highestBid = bid;  
       return true;  
     }  
     else {  
       return false;  
     }  
   }  
   public String toString()  
   {  
     String details = number + ": " + description;  
     if(highestBid != null) {  
       details += "  Penawaran: " +   
             highestBid.getValue();  
     }  
     else {  
       details += "  (Tidak ada penawaran)";  
     }  
     return details;  
   }  
   public int getNumber()  
   {  
     return number;  
   }  
   public String getDescription()  
   {  
     return description;  
   }  
   public Bid getHighestBid()  
   {  
     return highestBid;  
   }  
 }  
Class Auction:
 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 bidFor(int lotNumber, Person bidder, long value)  
   {  
     Lot selectedLot = getLot(lotNumber);  
     if(selectedLot != null) {  
       boolean successful = selectedLot.bidFor(new Bid(bidder, value));  
       if(successful) {  
         System.out.println("Penawaran untuk tanah nomor " +  
                   lotNumber + " sukses.");  
       }  
       else {  
         Bid highestBid = selectedLot.getHighestBid();  
         System.out.println("Tanah nomor: " + lotNumber +  
                   " sudah ditawar dengan harga: " +  
                   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("Kesalahan internal: Tanah nomor: " +  
                   selectedLot.getNumber() +  
                   " dikembalikan dari " +  
                   lotNumber);  
         selectedLot = null;  
       }  
       return selectedLot;  
     }  
     else {  
       System.out.println("Tanah nomor: " + lotNumber +  
                 " tidak ada.");  
       return null;  
     }  
   }  
 }  

Dokumentasi pada saat berjalan:


Itu saja dari mimin, semoga bermanfaat....

Komentar

Postingan populer dari blog ini

EAS MPPL: Studi Kasus CV Jasa Pembasmian Hama Rayap

Source Soal:  https://fajarbaskoro.blogspot.com/2019/05/mppl-kelas-e-evaluasi-akhir-semester.html Soal: 1. Buatlah gambaran sistem aplikasi yang diselesaikan beserta fiturnya 2. Sebutkan dan jelaskan Siklus hidup Manajemen Proyek 3. Apa fungsi manajemen proyek di dalam pengembangan aplikasi. Sebutkan 4. Buatlah WBS untuk menyelesaikan proyek tersebut dan susunlah jadwal yang diperlukan jika jangka waktu yang disediakan 3 bulan 5. Buatlah anggaran biaya proyek dan sistem pengontrolannya dengan Kurva S jika disediakan dana Rp. 300.000.000,- 1. Ada dua hak akses, yaitu sebagai Karyawan dan Manager Hak Akses sebagai Manajer: Mengolah data kontrak kerja dengan pelanggan (CRUD) Melakukan penjadwalan pengerjaan pesanan Mengolah data karyawan (CRUD) Memilih dan mendelegasikan karyawan pada jadwal kontrak kerja Mencatat biaya pengeluaran dan pemasukan perusahaan Membuat dan mencetak laporan keuangan perusahaan Mengolah masa kerja karyawan outsourcing Hak Akse

Apa itu Sistem Analyst?

Analis sistem adalah seseorang yang bertanggung jawab atas penelitian, perencanaan, pengkoordinasian, dan merekomendasikan pemilihan perangkat lunak dan sistem yang paling sesuai dengan kebutuhan organisasi bisnis atau perusahaan. Analis sistem memegang peranan yang sangat penting dalam proses pengembangan sistem. Seorang analis sistem harus memiliki setidaknya empat keahlian: analisis, teknis, manajerial, dan interpersonal (berkomunikasi dengan orang lain). Kemampuan analisis memungkinkan seorang analis sistem untuk memahami perilaku organisasi beserta fungsi-fungsinya, pemahaman tersebut akan membantu dalam mengidentifikasi kemungkinan terbaik serta menganalisis penyelesaian permasalahan. Keahlian teknis akan membantu seorang analis sistem untuk memahami potensi dan keterbatasan dari teknologi informasi. Seorang analis sistem harus mampu untuk bekerja dengan berbagai jenis bahasa pemrograman, sistem operasi, serta perangkat keras yang digunakan. Keahlian manajerial akan membantu se

MPPL: Manajemen Biaya

Biaya tersedia disini:  http://lpse.kkp.go.id/eproc/lelang/view/2958218 Work Breakdown System: Cost Planning: Cost Estimation: Cost Budgeting: Cost Controlling: