LAPORAN
PRAKTIKUM
STRUKTUR DATA
MODUL 8
Oleh :
TRI
WIJAYANTO
115410126
TI /
S1
SEKOLAH
TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM
Yogyakarta
2012
MODUL 8
COLLECTION
A. Pembahasan
Pratikum
1
import
java.util.*;
//untuk mengimport class-class yang ada pada java util
public class
Example {
private List
list;
public List getList() {
return list;
}
Sedangkan pada potongan
program di atas merupakan, nama kelas dari program ini, yaitu dengan nama
kelasnya adalah kelas Example. Kelas tersebut memiliki tingkat akses private,
karena menggunakan akses private, maka data dan method dapat diakses oleh kelas
yang memilikinya saja. Dan
dengan menggunakan variabel list dari tipe data List. Public List getList(),
berarti merupakan konstruktor yang dapat diakses semua bagian atau method dalam
program ini, yiatu pada List dengan perintah getList atau mengambil daftar
List. Maka nilai list akan dikembalikan kembali.
Example() {
list = new ArrayList();
list.add(new String("Hello
world!"));
list.add(new String("Good
bye!"));
}
Dan pada potongan program di
atas, merupakan bagian isi dari program dengan nama kelas Example, yiatu list =
new ArrayList, merupakan penciptaan list dengan ArrayList, yang teridiri dari,
list yang ditambah dengan tipe data String dengan varaibel atau isi dari tipe
data tersebut adalah “Hello world!”,kemudian ditambah lagi daftarnya dengan
tipe data String pula yang menyatakan pernyataan “Good bye!”.
public void printList() {
for (Object
s:list) {
System.out.println(s);
}
}
Pada potongan program di atas
adalah sebuah method atau konstruktor dengan nama printList. Dan pada method
ini dapat diakses oleh semua method lain yang terdapat dalam program ini. Pada
method ini akan membaca dari kels Example dengan perulangan, yang menyatakan
objek s adalah list atau daftar yang ditambah dari kelas Example tersebut.
Dengan menggunakan perintah System.oyt.println(s), berfungsi untuk memanggil
atau menampilkan hasil dari perulangan for tersebut.
public static
void main(String arrgv[])
{
Example e =
new Example();
e.printList();
dari potongan program di atas,
merupakan suatu method yang mana bersifat public sehingga dapat diakses semua
method yang ada pada program ini, perintah tersebut juga merupakan perintah
method dengan memulai program dengan method main. Dalam method tersebut,
diciptakaannya object dari class example dan akan dibawa ke dalam method printList untuk dieksekusi atau ditampilkan
pada outputnya.
System.out.println("Data
Setelah diurutkan : ");
Collections.sort(e.getList());
e.printList();
}
}
Masih sambungan dari program
di atas, yiatu lanjutan program pada method void main tersebut. Namun pada
potongan program di atas merupakan pengurutan dari data atau objek e nya pada
kelas Example yang penambahan daftar dari tipe data String. Dengan menggunakan
perintah sort, yiatu mengumpulkan data e yang ada kemudian di urutkan datanya,
yiatu data atau obejk baru (e) diambil kemudian diurutkan dan kemudian hasilnya
akan dibawa kepada method printList untuk ditampilkan pada output. Karena
mengalamin sort/urutan, maka dilihat dari kedua data tersbeut yiatu data “Hello
world!” dan “Good bye!”. Yang memiliki urutan pertaman adalah “Good bye!”,
kemudian “Hello world!. Sehingga sort yang dilakukan dengan cara ascending
dalam program ini.
Praktikum 2
import java.awt.Graphics;
import
java.util.LinkedList;
import
javax.swing.JFrame;
Masih kedalam package
aplikasisd untuk program pada pratikum 2 ini. Namun pada pratikum 2 ini,
menggunakan import declarations nya adalah import java.awt.Graphics; berfungsi
untuk menampilkan grafiks dalam program java ini. Kemudian import java.util.LinkedList;
berfungsi untuk mengattur data dalam bentuk LinkedList yang ada pada program
ini. Kemudian import javax.swing.JFrame; berfungsi untuk menampilkan dan
mengatur bnetuk form atau Jframe dalam program tersebut.
public class PercobaanLinkedList extends JFrame {
public static
void main(String[] args) {
new
PercobaanLinkedList();
}
program di atas merupakan suatu
kelas dengan nama PercobaanLinkedList.
Dengan memulai program dengan method
yang void mainnya. New PercobaanLinkedList ini merupakan awal dari kelas dari
program ini, dengan bagiannya programnya seperti berikut :
LinkedList l1 = new LinkedList();
PercobaanLinkedList() {
l1.add("Test LinkedList");
l1.add("Coba lagi");
l1.add(10243);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setSize(500, 500);
this.setVisible(true);
setTitle("Test LinkedList");
}
Sambungan dari program
sebelumnya. Disini akan dilakukan penciptaan objek dari kelas LinkedList nya
yaitu dengan nama l1. Disana dari kelas PercobaanLinkedLlist akan melakukan
penambahan obek yang dilakukan dari penciptaan objcek tersebut. Seperti melakukan
penambahan data pada objek l1 yang memiliki pernyataan “Test LinkedList”,
kemuadian dilakukan lagi penambahan data dari penciptaan objek baru l1 dengan
pernyataan “Coba lagi”, kemuadian dilakukan lagi penambahan data pada objek l1
dengan pernyataan 10243.
Kemudian terdapat kata kunci
this, yang berarti menunjuk pada kostruktor atau method yang dituju dalam
program ini, yiatu this menyatakan mengatur operasi tutup dari form dekstopnya,
yaitu berupa exit_on_close, untuk keluar form atau mutup form tersebut.
Sehingga untuk membuat form tersebut dibutuhkan ukuran. Maka diperlukanlah
perintah atau pengaturan dengan menggunakan setsize, yang mana kata kunci
menunjuk pada perintah setSize untuk mengatur ukuran form dengan ukuran 500 x
500. Kemudian untuk mengatur tampilkan hasil formnya dibutuhkan perintah
setvisible yang bernilai true/benar. Dan jika menggunakan setTitle itu
merupakan pengaturan untuk judul pada form yang dibuat. Dan pada program ini
membuat form dengan judul “Test LinkedList”.
public void paint(Graphics g) {
g.drawString("Jumlah Elemen :
"+String.valueOf(l1.size()),10,50);
Potongan program di atas
merupakan method dengan nama paint dengan menggunakna bnetuk Graphics bernama g.
dan akan menampilkan kata di antara
petik dua yiatu Jumlah Elemen, dan disertai dengan isi dari tipe data string
yang akan menagmbil data dari data l1 dan memiliki nilai atau value yang
memiliki ukuran 10x50. Sehingga dari perintah dibawah ini, dapat diketahui
bahwa didalam LinkedList l1 terdapat 3 elemen.
g.drawString("Elemen ke-1 : "+l1.get(0), 10,
100);
g.drawString("Elemen ke-2 : "+l1.get(1), 10, 150);
g.drawString("Elemen ke-3 : "+l1.get(2), 10, 200);
kemudian menambahkan perintah yg sama namun dengan element yang berurutan
berbeda.
g.drawString("Method
getFirst() : "+l1.getFirst(),10,250);
g.drawString("Method getLast() : "+l1.getLast(),10,300);
Dari perintah di atas, merupakan perintah yang
akan menampilkan isi dari g yang dibawah ke dalam drawString yang kemudian akan
menampilkan kata di antara petik dua, yaituMethod getFirst yag akan disertai
dengan data l1 yang diambil dengan menggunakan perintah getFirst dari l1 dengan
ukuran 10x250, maka dari data yang ada pada l1, untuk data l1 yang ditambah
pertama adalah “Test LinkedList”, maka kan ditampilkan hasil tersebut. Kemudian
akan menampilkan pula Method getLast, yiatu akan mengambil data l1 dengan
perintah getLast dengan menggunakan ukuran 10x300, dari data l1 yang masuk
dalam LinkedList, yang masuk terakhir adalah 10243, maka data tersebut akan
ditampikan saat dilakukan pemanggilan dengan getLast.
l1.addLast("Terakhir");
g.drawString("Method getLast() : "+l1.getLast(),10,350);
Sedangkan di atas akan dilakukan penambahna objek
lagi terhadapa l1 LinkedListnya dengan menggunakan perintah addLast, hal
tersebut berarti data yang akan masuk dalam LinkedList dengan nama l1, akan
dilakukan penambah dari belkangan atau terakhir. Dari data sebelumnya yang
berada dalam posisi terakhir adalah 10243, maka saat dilakukan l1.addLast
dengan nama “Terakhir”, maka variabel data dengan nama terakhir akan
menggantikan posisi 10243 sebagai method terkahir dalam LinkedList l1 ini.
l1.remove();
g.drawString("Jumlah Elemen Sekarang : "
String.valueOf(l1.size()),10,400); }
}
Dari bentuk perintah di atas adalah suatu perintah untuk menhapus data
dalam LinkedList l1, yiatu menggunakan perintah remove, maka akan ada satu data
yang dipilih untuk dihapus. Sehingga saat dilakukan pengecekan jumlah elemen
ekarang, dapat diketahui bahwa dengan mengghunakan perintah String.valueOf
tersebut utnuk mengetahui jumlha elemen yang ada dalam LinkedList l1, yiatu
terdapat 3 elemen dan memiliki ukuran 10x400. Yang mana semulanya saat
dilakukan penambahan elemen terakhir, jumlah elemen yang ada dalam l1 adalah 4
elemen, saat dilakukan pemanggilan perintah remove, maka akan ada satu elemn
yang keluar atau terhapus dari l1, sehingga 4 – 1 = 3 elemen sekarang dalam l1.
B. Tugas
1. Apa perbedaan Vektor dan ArrayList pada
packet java.util ?
Jawab :
a. Arraylist tidak disinkronkan sementara
vector disinkronkan.
b. Arraylist tidak memiliki ukuran standar
sementara vektor memiliki ukuran standar 10.
c. Arraylist tidak mendefinisikan ukuran
kenaikan sementara vektor tidak.
2. Bagaimana perintah untuk menambah, menghapus dan menampilkan data pada
List ?
Jawab :
Untuk menambha data ke dalam
List, maka dapat dilihat pada program di atas, yaitu menggunakan suatu method
tambah, yaitu dengan nama PercobaaLinkedList, dengan menggunakan perintah yang
melakukan atau menciptakan objek yang mana data akan masuk ke dalam LinkedList
tersebut. Dan menggunakan perintah l1.add(sertakan nama data yang ingin
dimasukkan dalam data l1 ini).
Sedangkan
Sedangkan untuk menghapus data
yang ada pada List, dari program Pratikum ke-2 ini menggunakan perintah remove,
yiatu l1.remove(); maka akan ada satu data yang dipilih untuk dihapus dari
List.
Dan untuk menampilkan data
pada List, dari program di atas menggunakan perintah pemanggilan yang akan
menampikja hasilnya data yang ada pada l1. Yaitu dengan perintah
g.drawString(menyertai no index yang ingin dipanggil, dan menentukan pula
ukurannya). No index dalam l1 mrupakan nomor pemanggilan dari data pada l1,
yang dimulai dari 0 atau first dana terakhir jumlah data yang ada atau last.
C. Listing
Terlampir.