Pages

Stop Exploitasi Hutan Indonesia!

Kamis, 03 Januari 2013

Laporan Praktikum Struktur Data Modul 8


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.