Pengertian dan Konsep Linked List

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;
    }



Screenshoot Program



untuk mendapatkan source code programnya bisa PM ane atau komen disini, jika banyak permintaan ane kasih..

11 Comments

  1. Bermanfaat juga :-) *nice post ...mampir blog gua juga yaa www.blog-berbagi-pengetahuan.blogspot.com #SalamBloggerMania

    ReplyDelete
  2. makasih infonya bermanfaat

    ReplyDelete
  3. mksh gan, lg ada tugas struktur data ni, izin copy

    ReplyDelete
  4. Mantap bnget gan, ilmu nya, izin copas....

    ReplyDelete
  5. thanks bro makasih
    by cakdarwis.blogspot.com

    ReplyDelete
  6. maslinked list ini nanti nya kapan kita gunakan , kalo untuk pennjelasan mas tentang dasar linked list sudah mantap

    ReplyDelete