STRUKTUR DATA LINIER
Struktur data linear adalah kumpulan komponen-komponen yang tersusun
membentuk satu garis linear. Bila komponen-komponen ditambahkan (atau
dikurangi), maka struktur-struktur tersebut berkembang (atau menyusut).
Pemakaian sturktur data yang tepat di dalam proses pemrogramanakan menghasilkan
algoritma yang lebih jelas dan tepat , sehingga menjadikan program secara
keseluruhan lebih efisien dan sederhana.
Linked List
Daftar bertaut (bahasa Inggris: linked list) atau kadang-kadang disebut
dengan senarai bertaut atau senarai berantai dalam ilmu komputer merupakan
sebuah struktur data yang digunakan untuk menyimpan sejumlah objek data
biasanya secara terurut sehingga memungkinkan penambahan, pengurangan, dan
pencarian atas elemen data yang tersimpan dalam daftar dilakukan secara lebih
efektif. Pada praktiknya sebuah struktur data memiliki elemen yang digunakan
untuk saling menyimpan rujukan antara satu dengan lainnya sehingga membentuk
sebuah daftar abstrak, tiap-tiap elemen yang terdapat pada daftar abstrak ini
seringkali disebut sebagai node. karena mekanisme rujukan yang saling terkait
inilah disebut sebagai daftar berantai.
Double linked list Circular
Double Linked List Circular adalah linked list dengan menggunakan
pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang
menunjuk pointer berikutnya (next), 1 field menunjuk pointer sebelumnya (prev),
serta sebuah field yang berisi data untuk node tersebut.
Double Linked List Circular pointer next dan prev nya menunjuk ke dirinya
sendiri secara circular.
• Double: artinya field
pointer-nya terdiri dari dua buah dan dua arah, yaitu prev dan next
• Linked List: artinya
node-node tersebut saling terhubung satu sama lain.
• Circular: artinya
pointer next dan prev-nya menunjuk ke dirinya sendiri.
b) Double linked list Non
Circular
Double linked list non circular" 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.
c) 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.
Pengertian:
Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri
sehingga berputar.
Single linked list Non Circular :
SINGLE LINKED LIST NON CIRCULAR MENGGUNAKAN HEAD
Dibutuhkan satu buah variabel pointer : head yang akan selaku menunjuk
pada node pertama
Deklarasi Pointer Penunjuk Head Single Linked List sebagai berikut :
TNode*head
Tambah data Di Depan
Penambahan data baru akan dikaitan di node paling depan, namun pada daat
pertama kali (data masih kosong), maka penambahan data dilakukan dengan cara :
node head ditunjukan ke node baru tersebut
Prinsipnya adalah mengkaitkan node baru dengan head, kemudian head akan
menunjuk pada data baru tersebut sehingga head akan tetap sekaku menjadi data
terdepan.
Menambah Node Di Belakang
Penambahan dilakukan di belakang, namin pada saat pertama kali, node
langsung ditunjuk oleh head, membutuhkan pointer bantu untuk mengetahui node
terbelakang kemudian dikaitkan dengan node baru, perlu digunakan perulangan.
Menghapus Data Di Depan
Penghapusan node tidak boleh dilakukan jika keadaan node sedang ditunjuk
oleh pointer, maka harus dilakukan penggunaan suatu pointer lain (hapus) yang
digunakan untuk menunjuk node yang akan dihapus, barulah kemusian menghapus
pointer menggunakan perintah delete. Sebelum data terdepan terhapus, terlebih
dahulu head harus menunhuk ke alamat berikutnya agar list tidak putus, jika
head masih NULL berarti data masih kosong.
Menghapus Data Di Belakang
Membutuhkan pointer bantu dan hapus. Pointer hapus digunakan untuk
menunjuk node yang akan dihapus, Pointer bantu untuk menunjuk node sebelum node
yang akan dihapus yang akan menjadi node yang terakhir. Pointer bantu digunakan
untuk menunjuk ke nilai NULL selalu bergerak sampai sebelum node yang akan
dihapus kemudian pointer hapus diletakan setelah pointer bantu. Selanjutnya
pointer hapus akan menunjuk ke NULL.
Tidak ada komentar:
Posting Komentar