Senin, 30 April 2018

Linked List (Senarai Berantai)

Pengertian Linked List
Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian Linked list juga merupakan suatu cara untuk menyimpan data dengan struktur sehingga dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data yangdiperlukan. Struktur ini lebih dinamis karena banyaknya elemen dengan mudah ditambah atau dikurangi, berbeda dengan array yang ukurannya tetap. berikut gambaran kecil mengenai linked list.
Jenis Linked List
       1. Linked List Circular

Double Linked List 

       Pengertian secara umumnya DLLC itu Linked list yang menggunakan pointer, dimana setiap node memiliki 3 field, yaitu:
1 field pointer yang menunjuk pointer berikutnya "next",
1 field menunjuk pointer sebelumnya " prev ", 
1 field yang berisi data untuk node tersebut .

Double Linked List Circular pointer next dan prev nya menunjuk kedirinya sendiri secara circular. Bentuk Node DLLC

  • Single Linked List    
             Single Linked List Circular (SLLC) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya
  

         2. Linked List Non Circular

Double Linked List Non Circular (DLLNC)

             adalah Double Linked List yang memiliki 2 buah pointer yaitu pointernext dan prev.

Pointer next menunjuk pada node setelahnya dan pointer prev menunjuk pada node sebelumnya.

Pengertian: 

Double : artinya field pointer-nya dua buah dan dua arah, ke node sebelum dan sesudahnya.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Non Circular : artinya pointer prev dan next-nya akan menunjuk pada NULL. 

Single Linked List Non Circular (SLLNC)
             Adalah Linked List yang pointer nya selalu mengarah ke Node yang menampung *next bernilai NULL, jadi arahnya tidak menunjuk pointer didepannya sehingga tidak dapat kembali ke pointer - pointer sebelumnya. SLLNC ini juga memiliki 2 bagian, ada Tambah dan ada Hapus, masing - masing bagian ini juga masih meliputi 3 fungsi lain yaitu Belakang, Tengah, dan depan. untuk Contoh Tambah & Hapus 

Operasi pada Linked List
  Insert = Istilah  Insert berarti menambahkan  sebuah  simpul baru ke dalam  suatu linked  list.
  Konstruktor = Fungsi ini membuat sebuah  linked  list yang baru dan masih kosong. 
  IsEmpty = Fungsi ini menentukan apakah  linked list kosong atau  tidak.
  Find First = Fungsi ini mencari elemen pert ama dari linked  list 
  Find Next = Fungsi ini mencari elemen  sesudah elemen yang ditunjuk now. 
  Retrieve = Fungsi  ini  mengambil  elemen  yang  ditunjuk  oleh  now.
                       Elemen  tersebut  lalu dikembalikan oleh fungsi. 
  Update = Fungsi ini mengubah elemen yang ditunjuk oleh  now dengan  isi dari  sesuatu. 
           Delete Now = Fungsi  ini  menghapus  elemen  yang  ditunj uk  oleh  now.  J ika  yang  dihapus  adalah elemen pertama dari  linked  list (head), head akan berpindah ke elemen berikut.
Contoh Program Algoritma pada Linked List

#include
#include
struct dataMahasiswa {
char nim[11];
char nama[31];
float ipk;
} mahasiswa;
struct dataMahasiswa mhsTheologi;
void main()
{
strcpy( mahasiswa.nim, “0244500016” );
strcpy( mahasiswa.nama, “Chotimatul” );
mahasiswa.ipk = 3.123;
mhsTheologi = mahasiswa;
printf(“Cetak isi struct mahasiswa”);
printf(“\nNim mahasiswa : %s”,mahasiswa.nim);
printf(“\nNama mahasiswa : %s”,mahasiswa.nama);
printf(“\nIPK mahasiswa : %f”,mahasiswa.ipk);
}

Sumber:
-http://soalparna.blogspot.co.id/2014/10/pengertian-macam-macam-dan-     penggunaan.html
 -http://temanbukuku.blogspot.co.id/2016/01/operasi-operasi-dasar-single-dan-double.html
- http://bagusnugraha.blogspot.co.id/2009/06/linked-list.html