Hai Programmer....."Ilmu akan menghidupkan jiwa."
Kali ini saya akan menjelaskan mengenai Collection dan membuat suatu program java mengenai sistem lelang. Collection adalah suatu objek yang bisa digunakan untuk menyimpan sekumpulan objek. Classclass Collection diletakkan dalam package java.util dan mempunyai dua interface utama yaitu Collection dan Map. Collection terbagi menjadi 3 kelompok yaitu Set, List dan Map.
- Set
Koleksi yang tidak boleh ada duplikasi nilai, dengan kata lain semua value dari class collection yang mengimplementasikan interface Set tidak boleh ada duplikasi nilai di dalamnya. Urutan maupun letak dari anggota tidaklah penting, hanya keberadaan anggota saja yang penting.
List digunakan untuk menyimpan sekumpulan objek berdasarkan urutan masuk (ordered) dan menerima duplikat.
3. Map
Adalah untuk menyimpan objek pada Map, perlu sepasang objek, yaitu key yang bersifat unik dan nilai yang disimpan
Java Collection memiliki berbagai macam interfaces yaitu Set, List, Queue, Deque dan untuk classnya ada ArrayList, LinkedList, HashSet, LinkedHashSet, dan masih banyak lagi.Berikut adalah contoh nya:
ArrayList
/**
* @author (Ricky Supriyanto)
*/
import java.util.*;
public class ArrayListContoh
{
public static void main(String[] args){
//TODO Auto-generated method stub
//membuat arrayList
ArrayList <String> al= new ArrayList <String> ();
//menambah objek ke arrayList
al.add("Ahmad");
al.add("Budi");
al.add("Ahmad");
al.add("Dora");
//menampilkan isi arrayList
Iterator itr=al.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
ArrayListFor
/**
* @author (Ricky Supriyanto)
*/
import java.util.ArrayList;
public class ArrayListFor
{
public static void main(String[] args){
//TODO Auto-generated method stub
//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);
}
}
}
ArrayListClass
/**
* @author (Ricky Supriyanto)
*/
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()+" ");
}
}
}
ArrayListClass tersbut memerlukan suatu class mahasiswa
/**
* @author (Ricky Supriyanto)
*/
public class Mahasiswa
{
private String NRP, Nama;
private int Tugas, ETS, EAS;
public Mahasiswa (String nrp, String nama, int tugas, int ets, int eas)
{
NRP = nrp;
Nama = nama;
Tugas = tugas;
ETS = ets;
EAS = eas;
}
public String getNim()
{
return NRP;
}
public String getNama()
{
return Nama;
}
public int getTugas()
{
return Tugas;
}
public int getUts()
{
return ETS;
}
public int getUas()
{
return EAS;
}
}
ArrayListGabung
/**
* @author (Ricky Supriyanto)
*/
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListGabung
{
public static void main(String [] args){
//TODO Auto-generated method stub
//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());
}
}
}
ArrayListRemoveAll
/**
* @author (Ricky Supriyanto)
*/
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListRemoveAll
{
public static void main(String[] args){
//TDODO auto-generated method stub
//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");
ArrayList<String> al2 = new ArrayList<String>();
al.add("Endo");
al.add("Dora");
al.removeAll (al2);
//menampilkan isi arraylist
Iterator itr = al.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
ArrayListRetailAll
/**
* @author (Ricky Supriyanto)
*/
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListRetain
{
public static void main(String[] args){
//TODO auto-generated
//membuat arraylist
ArrayList<String> al = new ArrayList<String>();
//menambahkan objek ke array list
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());
}
}
}
LinkedList
/**
* @author (Ricky Supriyanto)
*/
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());
}
}
}
HashSet
/**
* @author (Ricky Supriyanto)
*/
import java.util.*;
public 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());
}
}
}
LinkedHashSet
/**
* @author (Ricky Supriyanto)
*/
import java.util.*;
public 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 ("Dani");
al.add ("Eka");
Iterator <String> itr = al.iterator ();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
HashMap
/**
* @author (Ricky Supriyanto)
*/
import java.util.*;
public 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());
}
}
}
HashTable
/**
* @author (Ricky Supriyanto)
*/
import java.util.*;
public 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(100,"Badu");
for(Map.Entry m:hm.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
}
}
Adapula contoh Program Java Sistem Lelang yang terbagi menjadi 5 class yaitu auction,auctiontest,bid,person dan Lot.
Auction
/**
* @author (Ricky Supriyanto)
*/
import java.util.ArrayList;
public class Auction
{
//Daftar Lot dalam lelang ini
private ArrayList<Lot> lots;
//Nomor yang akan diberikan ke lot berikutnya yang dimasukkan
private int nextLotNumber;
/**
* Buat lelang baru
*/
public Auction()
{
lots = new ArrayList<Lot>();
nextLotNumber = 1;
}
/**
* Masukkan lot baru ke dalam lelang
* @param description Deskripsi lot
*/
public void enterLot(String description)
{
lots.add(new Lot(nextLotNumber, description));
nextLotNumber++;
}
/**
* Tunjukkan daftar lengkap lot dalam lelang ini
*/
public void showLots()
{
for(Lot lot : lots)
{
System.out.println(lot.toString());
}
}
/**
* Buat tawaran yang banyak
* Sebuah pesan dicetak menunjukkan apakah tawaran tersebut
* penerus atau tidak
* @param lotNumber Lot yang ditawar.
* @param penawar Orang yang menawar lot.
* @ nilai parameter Nilai tawaran.
*/
public void makeABid(int lotNumber, Person bidder, long value)
{
Lot selectedLot = getLot(lotNumber);
if (selectedLot != null)
{
boolean succesful = selectedLot.bidFor(new Bid(bidder, value));
if (succesful)
{
System.out.println("The bid for lot number " + lotNumber + " was succesful.");
}
else
{
//Report which bid is higher
Bid highestBid = selectedLot.getHighestBid();
System.out.println("Lot number: " + lotNumber + " already has a bid of: " + highestBid.getValue());
}
}
}
/ **
* Kembalikan lot dengan nomor yang diberikan. Kembalikan nol
* jika banyak dengan nomor ini tidak ada.
* @param lotNumber Jumlah lot yang akan dikembalikan.
* /
public Lot getLot(int lotNumber)
{
if((lotNumber >= 1) && (lotNumber < nextLotNumber))
{
//Jumlahnya tampaknya masuk akal
Lot selectedLot = lots.get(lotNumber-1);
//Sertakan uji kepercayaan diri untuk memastikan kami memiliki lot yang tepat
if (selectedLot.getNumber() != lotNumber)
{
System.out.println("Internal error: Lot number " + selectedLot.getNumber() + " was returned instead of " + lotNumber);
selectedLot = null;
}
return selectedLot;
}
else
{
System.out.println("Lot number: " + lotNumber + " does not exist.");
return null;
}
}
/**
* Tutup lelang. Cetak status akhir setiap lot
*/
public void close()
{
System.out.println("Closing auction.");
for (Lot lot : lots)
{
System.out.println(lot.getNumber() + ": " + lot.getDescription());
if (lot.getHighestBid() == null)
{
System.out.println (" (No bids) ");
}
else
{
Bid highestBid = lot.getHighestBid();
System.out.println(" sold to " + highestBid.getBidder().getName() + " for " + highestBid.getValue());
}
}
}
}
Bid
/**
* @author (Ricky Supriyanto)
*/
public class Bid
{
// Orang yang menawar
private final Person bidder;
// Nilai tawaran. Ini bisa jadi jumlah yang besar
// tipe panjang telah digunakan
private final long value;
/ **
* Buat tawaran
* @param penawar Siapa yang menawar untuk lot
* @ nilai parameter Nilai tawaran
* /
public Bid(Person bidder, long value)
{
this.bidder = bidder;
this.value = value;
}
/**
* @return The bidder.
*/
public Person getBidder()
{
return bidder;
}
/**
* @return The value of the bid.
*/
public long getValue()
{
return value;
}
}
Person
/**
* @author (Ricky Supriyanto)
*/
public class Person
{
// Nama orang ini.
private final String name;
public Person (String name)
{
this.name = name;
}
/**
* @return The person's name.
*/
public String getName()
{
return name;
}
}
Lot
/**
* @author (Ricky Supriyanto)
*/
public class Lot
{
// Nomor pengenal unik.
private final int number;
// Penjelasan tentang lot
private String description;
// Tawaran tertinggi saat ini untuk lot ini.
private Bid highestBid;
/ **
* Bangun Lot, atur nomor dan deskripsinya.
* @param number Jumlah lot.
* @param description Deskripsi lot ini.
* /
public Lot (int number, String description)
{
this.number = number;
this.description = description;
this.highestBid = null;
}
/ **
* Mencoba menawar lot ini.
* Tawaran yang berhasil harus memiliki nilai yang lebih tinggi daripada tawaran yang ada.
* Tawaran @param Tawaran baru
* @kembalikan true jika berhasil. false jika tidak
* /
public boolean bidFor(Bid bid)
{
if (highestBid==null)
{
// Tidak ada tawaran sebelumnya
highestBid=bid;
return true;
}
else if (bid.getValue() > highestBid.getValue())
{
// Tawaran lebih baik dari yang sebelumnya.
highestBid = bid;
return true;
}
else
{
// Biidnya tidak lebih baik
return false;
}
}
/ **
* @return Representasi string dari detail lot ini.
* /
public String toString()
{
String details = number + ": " + description;
if (highestBid != null)
{
details += " Bid: " + highestBid.getValue();
}
else
{
details += " (No bid))";
}
return details;
}
/ **
* @return Nomor lot.
* /
public int getNumber()
{
return number;
}
/ **
* @return Deskripsi lot.
* /
public String getDescription()
{
return description;
}
/ **
* @return Tawaran tertinggi untuk lot ini.
* Ini bisa menjadi nol jika tidak ada tawaran saat ini.
* /
public Bid getHighestBid()
{
return highestBid;
}
}
AuctionTest
/**
* @author (Ricky Supriyanto)
*/
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class AuctionTest
{
private Auction auction1;
/ **
* Konstruktor default untuk kelas uji AuctionTest
* /
public AuctionTest()
{
}
/ **
* Menyiapkan perlengkapan uji.
*
* Dipanggil sebelum setiap metode kasus uji.
* /
@Before
public void setUp()
{
auction1 = new Auction();
}
/**
* Tears down the test fixture
*
* Called after every test case method.
*/
@After
public void tearDown()
{
}
@Test
public void coba()
{
//Buat banyak Lot
auction1.enterLot("Buku Fisika Dasar 1");
auction1.enterLot("Buku Sistem Digital");
auction1.enterLot("Emas 24 karat 1kg");
//Show the entered lots
auction1.showLots();
//Buat bidder
Person person1 = new Person("Bambang Ruwanto");
//Buat bid
auction1.makeABid(2, person1, 5000);
//Tampilkan lots to check bid
auction1.showLots();
//Close auctions
auction1.close();
}
}
Komentar
Posting Komentar