Posted by : Unknown Selasa, 10 November 2015


Pengertian Single LinkList dalam Struktur Data
          Linked List saling terhubung dengan bantuan variabel pointer Masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri dari beberapa field.
           Single : artinya field pointer-nya hanya satu buah saja dan satu arah serta pada akhir node, pointernya menunjuk NULL.
Linked List : artinya node-node tersebut saling terhubung satu sama lain. Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya, dan juga memiliki field yang berisi data. Node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti pada saat pembacaan isi linked list.
Jenis Single LinkList

·         ·Single linked list dengan HEAD


·         ·Single linked list dengan HEAD dan TAIL

Deklarasi Single LinkList
Model struktur dari linked list tersebut dalam Java adalah sebagai berikut:
public class Node {
private int data; /* integer data diisikan dalam node */
Node nextNode; /* node selanjutnya dalam list */
Node(){
this.data=0;
this.nextNode=null;
}

·         Pembuatan Single Linked List
Keyword new gunanya untuk mempersiapkan sebuah node baru berserta alokasi memorinya, kemudian node tersebut diisi data dan pointer nextnya ditunjuk ke NULL.
public void buatNode (int dt) {
        Node nodebaru = new Node();
        nodebaru.data = dt;
        nodebaru.next = pointer;
        pointer = nodebaru;
    }

·         Penambahan data dari depan
Pada prinsipnya adalah mengkaitkan node baru dengan head, kemudian head akan menunju pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan.
public boolean sisip (int dt1, int dt2) {
        Node n = pointer;
        while ((n!=null) && (n.data!= dt2))
            n = n.next;
        if (n==null) return  false;
        Node nn = new Node ();
        nn.data=dt1;
        nn.next=n.next;
        n.next=nn;
        return true;
    }

·         Menghapus data dari depan
Function di atas akan menghapus data terdepan (pertama) yang ditunjuk oleh head pada linked list, Penghapusan node tidak boleh dilakukan jika keadaan node sedang ditunjuk oleh pointer. Sebelum data terdepan dihapus, head harus ditunjukkan ke node sesudahnya terlebih dahulu agar list tidak putus, sehingga node setelah head lama akan menjadi head baru (data terdepan yang baru). Jika head masih NULL maka berarti data masih kosong!
public int hapusDiDepan () {
        Node hapus = pointer;
        pointer = pointer.next;
        return hapus.data;
    }
  

S

Screenshoot Program


link6

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Welcome to My Blog

- Copyright © PENGENALAN ILMU KOMPUTER -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -