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..

SHARE THIS

Author:

Previous Post
Next Post
October 2, 2014 at 10:32 PM

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

Reply
avatar
Anonymous
October 26, 2014 at 7:29 PM

makasih infonya bermanfaat

Reply
avatar
December 16, 2014 at 11:53 AM

mksh gan, lg ada tugas struktur data ni, izin copy

Reply
avatar
April 20, 2015 at 8:40 AM

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

Reply
avatar
April 20, 2015 at 8:07 PM

Gan source code programnya mana?

Reply
avatar
June 15, 2015 at 6:03 AM

thanks bro makasih
by cakdarwis.blogspot.com

Reply
avatar
December 7, 2015 at 8:08 AM

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

Reply
avatar
January 18, 2016 at 7:17 AM

biasanya kita gunakan dalam database

Reply
avatar