Kelompok 2 Alstruk
Kelompok 2 Alstruk
Kelompok II
Anggota Kelompok II
Aldina Nurul Z Ketua Agy Andhika Hady
Jobdesk Jobdesk
Penanggung Jawab Soal Pembaca Materi
• Masing-masing data dalam Linked List disebut dengan node (node) yang
menempati alokasi memori secara dinamis dan biasanya berupa struct yang
terdiri dari beberapa field.
Biasanya digunakan untuk membuat file system, adjacency list, dan hash table
node pertama dari linked list disebut sebagai head atau node kepala.
Apabila linked list berisi elemen kosong, maka nilai pointer dari head
menunjuk ke NULL. Begitu juga untuk pointer berikutnya dari node terakhir
atau node ekor akan menunjuk ke NULL.
Ukuran elemen dari linked list dapat bertambah secara dinamis dan mudah
untuk menyisipkan dan menghapus elemen karena tidak seperti array, kita
hanya perlu mengubah pointer elemen sebelumnya dan elemen berikutnya
untuk menyisipkan atau menghapus elemen.
Kelebihaan &
Kekurangan
Kelebihan Linked List
Struktur data Dinamis Tidak Boros Memori
Linked list adalah himpunan dinamis Dalam linked list, pemanfaatan memori yang efisien
sehingga dapat bertambah dan menyusut saat dapat dicapai karena ukuran linked list bertambah atau
runtime dengan mengalokasikan dan berkurang pada runtime sehingga tidak ada
membatalkan alokasi memori. pemborosan memori
DATA
None
NEXT
Data : Bagian ini akan menyimpan nilai data yang akan disimpan dalam node.
Next : Bagian ini akan menunjukkan ke node berikutnya dalam linked list.
INSERT FIRST
Insert First adalah operasi untuk menyisipkan sebuah node baru di awal Linked List,
sehingga node baru tersebut menjadi head dari Linked List.
Langkah utama :
Membuat node baru dengan data yang diinginkan. Mengatur pointer node baru untuk
menunjuk ke node yang saat ini menjadi head, dan kemudian menjadikan node baru
sebagai head baru.
Keadaan Awal
*P
* New Node
03
HEAD 8 99 9 100 10 101 11 TAIL
2. Mengaturpointer node baru untuk menunjukkan ke node yang berada setelah node yang
dituju dan mengatur node sebelumnya untuk menunjukkan ke node baru.
Keadaan Awal
03
* New Node
Maka, sekarang node dengan data 5 telah berhasil dimasukkan lalu next pada
node berdata 5 menjadi next pada node berdata 10.
INSERT LAST
Insert Last adalah operasi untuk menyisipkan sebuah node baru di akhir Linked List,
sehingga node baru tersebut menjadi node terakhir atau Last. Proses ini melibatkan dua
langkah utama :
2.Mengaitkan node terakhir saat ini dengan node baru dengan menggunakan pointer
Keadaan Awal
*P
03
Jika Pointer sudah berada pada Node yang dituju seperti di atas pointer sudah berada pada node
yang memiliki data 11, maka baru kita masukan Node baru yang sudah di buat seperti berikut :
* New Node
HEAD 8 100 10 101 11 102 12 TAIL
MENGAKSES DATA
Untuk mengakses Data Linked List harus menggunakan bantuan dari sebuah Pointer(*p).
Pointer ini berfungsi untuk mengecek data dari sebuah Node dengan metode Squensial
Contoh :
Untuk mengakses Node terakhir yang berisi data 12 maka kita harus
menggunakan bantuan sebuah pointer *p.
*P
Pointer *p akan mulai mencari data dari Node pertama (Head). Jika Node pertama
bukan data yang di cari, maka pointer *p akan terus bergerak dan berhenti ketika
Data yang di cari ditemukan.
*P
Pointer *p akan mulai mencari data dari Node pertama (Head). Jika Node pertama
bukan data yang di cari, maka pointer *p akan terus bergerak dan berhenti ketika
Data yang di cari ditemukan.
*P
Pointer *p akan mulai mencari data dari Node pertama (Head). Jika Node pertama
bukan data yang di cari, maka pointer *p akan terus bergerak dan berhenti ketika
Data yang di cari ditemukan.
*P
Pointer *p akan mulai mencari data dari Node pertama (Head). Jika Node pertama
bukan data yang di cari, maka pointer *p akan terus bergerak dan berhenti ketika
Data yang di cari ditemukan.
*P
Pointer *p akan mulai mencari data dari Node pertama (Head). Jika Node pertama
bukan data yang di cari, maka pointer *p akan terus bergerak dan berhenti ketika
Data yang di cari ditemukan.
*P
Jika poninter *p telah menemukan Data yang kita cari maka Data tersebut
akan di Tampilkan.
DELETE FIRST
Delete First adalah operasi untuk menghapus node pertama dari Linked List.
Kondisi Awal :
HEAD
*P
Kondisi Akhir :
Kita gunakan pointer *p untuk mencari Node yang memiliki data 9 dengan
metode Squensial
*P
Jika pointer *p sudah barada di node 9, letakan pointer *Temp berada setelah pointer *p
yaitu Node yang berisi data 10
*Temp
*P
Kemudian next dari *p akan diganti menunjuk ke satu Node setelah *Temp. Maka alamat
pada Node *p akan berubah dan di isi oleh alamat dari Node 11
*Temp
*P
Jika sudah di sambungkan dari Node *p ke Node yang berisi data 11, kemudian hapus Node
yang di tunjuk oleh pointer *Temp.
*Temp
*P
Mercury
HEAD 8 99 9 101 11 TAIL
*P
Kondisi Akhir :
Kondisi Awal :
Pertama kita buat pointer *Temp untuk menghapus sebuah Node. Kemudian pointer *Temp ini
letakan di Node terakhir.
*Temp
*P
TAIL
Kemudian setelah TAIL nya berpindah maka kita putus dan Node yang di tunjuk oleh
pointer *Temp kita delete.
*Temp
HEAD 8 99 9 100 10 11
TAIL
Kondisi Akhir :