JOBSHEET - 12
CIRCULAR LINKED LIST
1. KOMPETENSI
● Mahasiswa mampu memahami algoritma Circular Linked list
● Mahasiswa mampu membuat dan mendeklarasikan struktur algoritma
Circular Linked List
● Mahasiswa mampu menerapkan dan mengimplementasikan algoritma
Circular Linked List dalam beberapa study case
2. ULASAN TEORI
Tail
Langkah-langkahnya adalah
1. Node pertama adalah Head pada setiap LinkedList
2. Ketika LinkedList pertama kali dibuat, hanya memiliki Head yang kosong
(Null), penambahan node baru di awal, Head dan Tail akan menunjuk
pada node baru, pointer next node baru menunjuk pada dirinya sendiri.
3. Menambahkan node di depan ketika linked list tidak kosong, Head
menunjuk pada node baru sedang pointer next node baru menunjuk pada
node sebelumnya, dan pointer next node sebelumnya menunjuk pada
node baru.
Algoritma dan Struktur Data
Tail
Langkah-langkahnya adalah
1. Node pertama adalah Head pada setiap LinkedList
2. Ketika LinkedList pertama kali dibuat, hanya memiliki Tail yang kosong
(Null), penambahan node baru di belakang, Head dan Tail akan
menunjuk pada Node baru, pointer next node baru menunjuk pada
dirinya sendiri.
3. Menambahkan node di belakang ketika linked list tidak kosong, pointer
next node Tail menunjuk pada node baru, Tail berganti menunjuk pada
node baru sedang pointer next node baru menunjuk pada node yang
ditunjuk oleh Head (awal).
Tail
Langkah-langkahnya adalah
1. Node pertama adalah Head pada setiap LinkedList
2. Ketika LinkedList pertama kali dibuat, hanya memiliki Head dan Tail
yang kosong (Null), penambahan node baru berdasarkan indeks posisi
tidak bisa dilakukan.
3. Menambahkan node berdasarkan indeks posisi ketika linked list tidak
kosong, pointer next node pada posisi indeks-1 menunjuk pada node
baru, pointer next node baru menunjuk pada node pada posisi indeks.
4. Menghapus data
Tail
Algoritma dan Struktur Data
Tail
Tail
Langkah-langkahnya adalah
1. Ketika LinkedList kosong, menghapus node tidak bisa dilakukan.
2. Menghapus node berdasarkan indeks posisi , jika indeks menunjukkan
head (1) maka posisi head beralih pada node posisi 2, pointer next node
yang ditunjuk tail menunjuk pada node head baru, jika indeks
menghapus data menunjukkan tail, maka posisi tail beralih pada node
sebelumnya (tail-1), pointer next node tail baru menunjuk pada node
head, jika indeks bukan head atau tail, pointer next node pada posisi
indeks-1 menunjuk pada node indeks+1.
3. LANGKAH PRAKTIKUM
PRAKTIKUM 1
Pada praktikum kali ini akan dibuat class Node dan class LinkedList yang di
dalamnya terdapat operasi-operasi untuk menambahkan data dengan
beberapa cara (dari bagian depan linked list, belakang ataupun indeks
tertentu pada linked list).
1. Buat package baru dengan nama circularLinkedList
2. Buat class di dalam paket tersebut dengan nama Node
3. Selanjutnya tambahkan konstruktor default pada class Node
5. Buatlah sebuah class baru bernama linkedList pada package yang sama
dengan atribut sebagai berikut
11. Pada class tersebut buatlah objek class linkedList kemudian eksekusi
dengan program tampilan berikut
Algoritma dan Struktur Data
4. PERTANYAAN
1. Jelaskan pengertian dari circular single linked list
2. Perhatikan class Node, sebutkan atribut yang ada pada class tersebut
3. Perhatikan konstruktor pada class linkedList. Apa kegunaan inisialisasi
atribut head, tail dan size seperti gambar berikut?
5. TUGAS
1. Tambahkan method baru pada class linkedList hasil praktikum di atas
yaitu untuk menghapus data berdasarkan indeks sebagai berikut :
Algoritma dan Struktur Data