Senin, 02 Maret 2020

Pointer
Pada materi single linked list dan double linked list hal yang sangat penting adalah pointer. Definsi pointer adalah suatu variabel yang berisi suatu alamat lokasi tertentu.Fungsi pointer adalah sebagai penunjuk alamat lokasi variabel lain. Berikut adalah potongan source code untuk penggunaan pointer sederhana.


1.Single Linked List
Linked list adalah suatu koneksi linear dari data, atau yang lebih umum dikenal sebagai nodes. Dimana setiap node menunjuk node yang lainnya melalui sebuah pointer. Pada umumnya sebuah rangkaian single linked list maupun double linked list diawali dengan head dan diakhiri dengan node yang mengarah ke pointer NULL.

Representasi single linked list dapat dilihat pada gambar di bawah ini : 


Pada gambar diatas angka 10 adalah sebagai Head, sesusai dengan definisi head yaitu elemen yang berada pada posisi pertama dalam linked list. Sedangkan 30 adalah sebagai Tail yaitu elemen yang berada pada posisi terakhir.

Operasi-Operasi di Single Linked List

1.Insert 
Fungsi ini adalah menambahkan sebuah simpul yang baru ke dalam sebuah linked list
2.Konstrukor 
Fungsi ini membuat linked list yang baru dan tidak berisi apapun(kosong)
3.isEmpty
Fungsi ini adalah untuk mengecek isi dari linked list, apakah kosong atau tidak.
4.FindFirst
Fungsi ini digunakan untuk mencari elemen pertama dalam sebuah linked list
5.FindNext
Fungsi ini digunakan untuk mencari elemen yang ditunjuk oleh pointer
6.Retrive
Fungsinya digunakan untuk mengamnil elemen yang ditunjuk, dan dikembalikan ke dalam function
7.Update 
Fungsinya mengubah elemen yang ada di dalam linked list atau bisa saja kita sebut mereplace
8.Delete Now
Fungsinya adalah untuk menghapus elemen yang terdapat dalam linked list.

Circular Single Linked List
Circular single linked list adalah single linked list yang pointer nextnya menunjuk pada dirinya sendiri, jikalau di single linked list di elemen terakhir(tail) akan ada pointer next yang menunjuk NULL, tapi jika circular single linked list jikalau sudah di elemen terakhir, dia akan kembali ke dirinya sendiri sehingga berputar,oleh sebab itu disebut circular

Representasi circular single linked list dapat dilihat pada gambar di bawah ini : 



2.Double Linked List
Berbeda dengan single linked list dan circular single linked list yang hanya memiliki 1 pointer saja sedangkan double linked list adalah salah satu contoh implementasi linked list dan single linked list, berdasarkan namanya yaitu double, artinya di linked list ini mempunyai 2 penunjuk yaitu kiri dan kanan. Pada umumnya kanan adalah sebagai next dan penunjuk kiri sebagai prev. 

Representasi sebuah double linked list dapat dilihat pada gambar di bawah ini : 
Operasi-Operasi di Double Linked List

1.Insert Tail 
Fungsinya adalah  menambahkan sebuah simpul baru di belakang(bagian kanan) dalam sebuah linked list
2.Insert Head
Fungsinya adalah menambahkan sebuah simpul baru di depan(bagian kiri) dalam sebuah linked list
3.Delete Tail
Fungsinya adalah menghapus simpul dari yang paling belakang(kanan), berkebalikan dengan fungsi Insert tail
4.Delete Head
Fungsinya adalah menghapus simpul dari yang paling depan(kiri), yang berkebalikan dengan fungsi insert head

Circular Double Linked List
Circular double linked list memiliki 3 field yaitu :
1.Pointer berikutnya(next)
2.Pointer sebelumnya(prev)
3.Berisi data untuk node
Double Linked List Circular pointer next dan prev nya menunjuk ke dirinya sendiri secara circular.

Representasi sebuah circular double linked list dapat dilihat pada gambar di bawah ini :  



Tidak ada komentar:

Posting Komentar