TUGAS 3 - AUCTION SYSTEM DAN GROUPING OBJECT JAVA COLLECTION
A. Auction System
![]() |
1. Class Auction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Write a description of class Auction here. | |
* | |
* @author (Nadia Tiara Febriana) | |
* @version (25-10-2020) | |
*/ | |
import java.util.ArrayList; | |
public class Auction | |
{ | |
//lots=barang | |
private ArrayList<Lot> lots; //daftar barang yang dilelang | |
private int nomorlots; //untuk pengkodean barang | |
public Auction() //inisiasi pelelangan baru | |
{ | |
//list barang | |
lots = new ArrayList<Lot>(); | |
//barang di mulai dari no 1 | |
nomorlots = 1; | |
} | |
//memasukkan barang ke daftar barang yang dilelang | |
public void masukkanBarang(String nama) | |
{ | |
lots.add(new Lot(nomorlots, nama)); | |
nomorlots++; | |
} | |
//menampilkan seluruh barang yang dilelang | |
public void tampilkanBarang() | |
{ | |
for(Lot lot : lots) | |
{ | |
System.out.println(lot.toString()); | |
} | |
} | |
public void buatPenawaran(int kode, Person penawar, long harga) | |
{ | |
Lot selectedLot = getBarang(kode); | |
if(selectedLot != null) { //hanya bisa jika kode barang telah terdaftar | |
Bid bid = new Bid(penawar, harga); | |
boolean successful = selectedLot.bidFor(bid); | |
if(successful) { | |
System.out.println("Tawaran untuk nomor barang" + kode + " telah sukses."); | |
} | |
else { | |
//hanya bisa menawar dengan harga yang lebih tinggi daripada penawar sebelumnya | |
Bid maksTawaran = selectedLot.getTertinggi(); | |
System.out.println("Nomor barang : " + kode + | |
" sudah memiliki tawaran: " + | |
maksTawaran.getHarga()); | |
} | |
} | |
} | |
public Lot getBarang(int kode) | |
{ | |
if((kode >= 1) && (kode < nomorlots)) { | |
Lot selectedLot = lots.get(kode - 1); | |
if(selectedLot.getKode() != kode) { | |
System.out.println("Error internal: nomor lot " + | |
selectedLot.getKode() + | |
"telah diganti " + | |
kode); | |
// Don't return an invalid lot. | |
selectedLot = null; | |
} | |
return selectedLot; | |
} | |
else { | |
System.out.println("Nomor barang: " + kode + | |
" tidak tersedia."); | |
return null; | |
} | |
} | |
public void hentikan() | |
{ | |
System.out.println("Pelelangan telah dihentikan."); | |
for(Lot lot : lots) | |
{ | |
System.out.println(lot.getKode() + ": " +lot.getNama()); | |
Bid bid = lot.getTertinggi(); | |
if (bid==null) | |
{ | |
System.out.println("Tidak ada tawaran untuk barang ini"); | |
} | |
else | |
{ | |
System.out.println("Barang ini telah terjual kepada " + | |
bid.getNama().getNama() + " dengan harga : \t" | |
+ bid.getHarga()); | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Write a description of class Bid here. | |
* | |
* @author (Nadia Tiara Febriana) | |
* @version (25-10-2020) | |
*/ | |
public class Bid | |
{ | |
private final Person penawar; | |
private final long harga; | |
public Bid(Person penawar, long harga) | |
{ | |
this.penawar = penawar; | |
this.harga = harga; | |
} | |
public Person getNama() | |
{ | |
return penawar; | |
} | |
public long getHarga() | |
{ | |
return harga; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Write a description of class Lot here. | |
* | |
* @author (Nadia Tiara Febriana) | |
* @version (25-10-2020) | |
*/ | |
public class Lot | |
{ | |
private final int kodeLots; | |
private String namaLots; | |
private Bid maksTawaran; | |
public Lot(int kodeLots, String namaLots) | |
{ | |
this.kodeLots = kodeLots; | |
this.namaLots = namaLots; | |
this.maksTawaran = null; | |
} | |
public boolean bidFor(Bid tawaran) | |
{ | |
if(maksTawaran == null) { | |
//ketika tak ada tawaran sebelumnya | |
maksTawaran = tawaran; | |
return true; | |
} | |
else if(tawaran.getHarga() > maksTawaran.getHarga()) { | |
//ketika tawaran lebih tinggi daripada tawaran sebelumnya | |
maksTawaran = tawaran; | |
return true; | |
} | |
else { | |
//ketika tawaran tak lebih tinggi daripada tawaran sebelumnya | |
return false; | |
} | |
} | |
public String toString() | |
{ | |
String details = kodeLots + " : " + namaLots; | |
if(maksTawaran != null) { | |
details += " Tawaran : " + | |
maksTawaran.getHarga(); | |
} | |
else { | |
details += " (Tidak ada tawaran)"; | |
} | |
return details; | |
} | |
public int getKode() | |
{ | |
return kodeLots; | |
} | |
public String getNama() | |
{ | |
return namaLots; | |
} | |
public Bid getTertinggi() | |
{ | |
return maksTawaran; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Write a description of class Person here. | |
* | |
* @author (Nadia Tiara Febriana) | |
* @version (25-10-2020) | |
*/ | |
public class Person | |
{ | |
private final String Nama; | |
public Person(String Nama) | |
{ | |
this.Nama = Nama; | |
} | |
public String getNama() | |
{ | |
return Nama; | |
} | |
} |
B.Grouping Project Java Collection
1. ArrayList dengan While
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
public class ArrayListContoh | |
{ | |
public static void main (String [] args) | |
{ | |
//membuat array list | |
ArrayList<String> al=new ArrayList<String>(); | |
//menambahkan objek ke arraylist | |
al.add("Ahmad"); | |
al.add("Budi"); | |
al.add("Cecep"); | |
al.add("Dora"); | |
//menampilkan isi arraylist | |
Iterator itr=al.iterator(); | |
{ | |
while(itr.hasNext()) | |
{ | |
System.out.println(itr.next()); | |
} | |
} | |
} | |
} |
Berikut hasil outputnya:
2. ArrayList dengan For
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
public class ArrayListFor | |
{ | |
public static void main (String[] args) | |
{ | |
//membuat arraylist | |
ArrayList<String> al=new ArrayList<String>(); | |
//menambahkan objek ke arraylist | |
al.add("Ahmad"); | |
al.add("Budi"); | |
al.add("Cecep"); | |
al.add("Dora"); | |
//menampilkan isi arraylist | |
for(String obj:al) | |
{ | |
System.out.println(obj); | |
} | |
} | |
} |
3. ArrayList Class
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Mahasiswa | |
{ | |
private String nim ; | |
private String nama; | |
private int uts; | |
private int uas; | |
private int tugas; | |
public Mahasiswa (String NIM,String Nama, int Tugas, int UTS, int UAS) | |
{ | |
NIM = nim; | |
Nama = nama; | |
Tugas = tugas; | |
UTS = uts; | |
UAS = uas; | |
} | |
public String getNim() | |
{ | |
return nim; | |
} | |
public String getNama() | |
{ | |
return nama ; | |
} | |
public int getTugas() | |
{ | |
return tugas; | |
} | |
public int getUts() | |
{ | |
return uts; | |
} | |
public int getUas() | |
{ | |
return uas; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
public class ArrayListClass | |
{ | |
public static void main(String[] args) | |
{ | |
//data | |
Mahasiswa mhs1 = new Mahasiswa ("K121", "Adam Kamil", 67, 69, 91); | |
Mahasiswa mhs2 = new Mahasiswa ("K122", "Budi Ridho", 57, 89, 93); | |
Mahasiswa mhs3 = new Mahasiswa ("K123", "Cecep Mansyur", 77, 79, 80); | |
Mahasiswa mhs4 = new Mahasiswa ("K124", "Dadang Habibie", 67, 79, 60); | |
Mahasiswa mhs5 = new Mahasiswa ("K125", "Evi Julita", 89, 79, 95); | |
//membuat arraylist | |
ArrayList<Mahasiswa> al=new ArrayList<Mahasiswa>(); | |
//menambahkan objek ke arraylist | |
al.add(mhs1); | |
al.add(mhs2); | |
al.add(mhs3); | |
al.add(mhs4); | |
al.add(mhs5); | |
//menampilkan isi arraylist | |
Iterator itr=al.iterator(); | |
{ | |
while(itr.hasNext()) | |
{ | |
Mahasiswa tampungMhs = (Mahasiswa)itr.next(); | |
System.out.print(tampungMhs.getNim()+" "); | |
System.out.print(tampungMhs.getNama()+" "); | |
System.out.print(tampungMhs.getTugas()+" "); | |
System.out.print(tampungMhs.getUts()+" "); | |
System.out.println(tampungMhs.getUas()+" "); | |
} | |
} | |
} | |
} |
4. ArrayList addAll
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
import java.util.Iterator; | |
public class ArrayListGabung | |
{ | |
public static void main(String[] args) | |
{ | |
//membuat arraylist | |
ArrayList<String> al=new ArrayList<String>(); | |
//menambahkan objek ke arraylist | |
al.add("Ahmad"); | |
al.add("Budi"); | |
al.add("Cecep"); | |
al.add("Dora"); | |
ArrayList<String> al2 = new ArrayList<String>(); | |
al2.add("Endo"); | |
al2.add("Fany"); | |
al.addAll(al2); | |
//menampilkan isi arrayList | |
Iterator itr=al.iterator(); | |
while(itr.hasNext()) { | |
System.out.println(itr.next()); | |
} | |
} | |
} | |
Berikut hasil outputnya:
5. ArrayList RemoveAll
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
import java.util.Iterator; | |
public class ArrayListRemoveAll | |
{ | |
public static void main(String[] args) | |
{ | |
//membuat arraylist | |
ArrayList<String> al=new ArrayList<String>(); | |
//menambahkan objek ke arraylist | |
al.add("Ahmad"); | |
al.add("Budi"); | |
al.add("Cecep"); | |
al.add("Dora"); | |
ArrayList<String> al2 = new ArrayList<String>(); | |
al2.add("Endo"); | |
al2.add("Dora"); | |
al.removeAll(al2); | |
//menampilkan isi arrayList | |
Iterator itr=al.iterator(); | |
while(itr.hasNext()){ | |
System.out.println(itr.next()); | |
} | |
} | |
} |
6. ArrayList RetainAll
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
import java.util.Iterator; | |
public class ArrayListRetain | |
{ | |
public static void main(String[] args) | |
{ | |
//membuat arraylist | |
ArrayList<String> al=new ArrayList<String>(); | |
//menambahkan objek ke arraylist | |
al.add("Ahmad"); | |
al.add("Budi"); | |
al.add("Cecep"); | |
al.add("Dora"); | |
ArrayList<String> al2 = new ArrayList<String>(); | |
al2.add("Endo"); | |
al2.add("Dora"); | |
al.retainAll(al2); | |
//menampilkan isi arrayList | |
Iterator itr=al.iterator(); | |
while(itr.hasNext()) { | |
System.out.println(itr.next()); | |
} | |
} | |
} |
7. Linked List
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
public class LinkedListContoh | |
{ | |
public static void main(String args[]) | |
{ | |
LinkedList<String> al=new LinkedList<String>(); | |
al.add("Zaza"); | |
al.add("Yadi"); | |
al.add("Mutiara"); | |
al.add("Santoso"); | |
Iterator<String> itr=al.iterator(); | |
while(itr.hasNext()) { | |
System.out.println(itr.next()); | |
} | |
} | |
} |
8. Hash Set
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
class HashSetContoh | |
{ | |
public static void main(String args[]) | |
{ | |
HashSet<String> al=new HashSet<String>(); | |
al.add("Anto"); | |
al.add("Budi"); | |
al.add("Cecep"); | |
al.add("Dani"); | |
al.add("Eka"); | |
Iterator<String> itr=al.iterator(); | |
while(itr.hasNext()) { | |
System.out.println(itr.next()); | |
} | |
} | |
} |
9. Linked Hash Set
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.LinkedHashSet; | |
import java.util.Iterator; | |
class LinkedHashSetContoh | |
{ | |
public static void main(String args[]) | |
{ | |
LinkedHashSet<String> al=new LinkedHashSet<String>(); | |
al.add("Anto"); | |
al.add("Budi"); | |
al.add("Cecep"); | |
al.add("Dudi"); | |
al.add("Eka"); | |
Iterator<String> itr=al.iterator(); | |
while(itr.hasNext()) { | |
System.out.println(itr.next()); | |
} | |
} | |
} |
10. Hash Map
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
class HashMapContoh | |
{ | |
public static void main(String args[]) | |
{ | |
HashMap<Integer,String> hm=new HashMap<Integer,String>(); | |
hm.put(100,"Kano"); | |
hm.put(101,"Laila"); | |
hm.put(102,"Badu"); | |
hm.put(null, "Johan"); | |
for(Map.Entry m:hm.entrySet()) { | |
System.out.println(m.getKey()+" "+m.getValue()); | |
} | |
} | |
} |
11. Hash Table
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
class HashTableContoh | |
{ public static void main(String args[]) | |
{ Hashtable<Integer,String> hm=new Hashtable<Integer,String>(); | |
hm.put(100,"Andri"); | |
hm.put(102,"Roni"); | |
hm.put(101,"Fahrul"); | |
hm.put(103,"Badu"); | |
for(Map.Entry m:hm.entrySet()){ | |
System.out.println(m.getKey()+" "+m.getValue()); | |
} | |
} | |
} |
Komentar
Posting Komentar