SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
III. Circular Linked List
Circular Linked List adalah suatu linked list yang tidak memiliki nilai
nil/NULL untuk medan sambungannya. Perhatikan Gambar 3.1 dan Gambar
3.2.
Gambar 3.1. Circular Single Linked List
Gambar 3.2. Circular Double Linked List
Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List.
III.1 Circular Single Linked List
Operasi-operasi yang ada pada Circular Single Linked List hamper sama seperti pada
Single Linked List yang telah dibahas sebelumnya.
Operasi-operasinya sebagai berikut:
1. Penciptaan
Penciptaan adalah memberikan nilai nil terhadap variabel pointer awal dan
variabel pointer akhir.
Awal
Akhir
2. Penyisipan
2.a Penyisipan di depan/awal
Operasi ini berguna untuk menambahkan satu simpul baru di posisi pertama.
Langkah pertama untuk penambahan data adalah pembuatan simpul baru dan
mengisinya dengan data pada field info-nya. Pointer yang menunjuk ke simpul
tersebut dipanggil dengan nama baru. Kondisi ketika akan menyisipkan simpul
baru:
- List kosong {Awal=nil}
Kondisi sebelum disisipkan
Awal
Akhir
Kondisi setelah operasi penyisipan
Operasi penyisipan pertama kali ketika linked list masih kosong adalah
dengan mengisikan alamat pointer baru ke pointer awal dan pointer
akhir. Dan medan sambungan kanan(next) menunjuk ke simpul itu sendiri,
seperti gambar di bawah ini:
- List tidak kosong {Awal ≠ Nil}
Keadaan list mula-mula:
Simpul yang akan disisipkan:
6Baru
Maka keadaan list setelah penyisipan di depan sebagai berikut:
31 2
Awal Akhir
6
Baru
1
Awal
Baru
Akhir
2.b. Penyisipan di tengah
Proses penyisipan di tengah sama seperti pada single linked list (lihat
modul sebelumnya), karena tidak mengubah struktur circularnya
- List Kosong {Awal = Nil} (Sama dengan penyisipan di depan)
- List tidak kosong {Awal ≠ Nil}
Mula-mula keadaan list sebagai berikut:
Akan menyisipkan angka 4 setelah angka 1
Keadaan list setelah penyisipan di tengah sebagai berikut:
2.c Penyisipan di akhir
- List kosong {Awal = Nil} (Sama dengan penyisipan di depan)
- List tidak kosong (Awal ≠ Nil}
Mula-mula keadaan list sebagai berikut:
Simpul yang akan disisipkan:
6Baru
Maka keadaan list setelah penyisipan di depan sebagai berikut:
31 2
Awal Akhir
6
Baru
3. Penghapusan
Pada dasarnya proses penghapusan di circular sama seperti pada linear linked list.
Ada 3 kondisi yang perlu diperhatikan yaitu kondisi linked list masih kosong,
kondisi linked list hanya memiliki satu data, dan kondisi linked list yang memiliki
lebih dari satu data (satu elemen)
Kondisi linked list kosong (Pada kondisi ini proses penghapusan tidak bisa
dilakukan, dan kondisi ini disimpan di luar dari prosedur ini)
Awal
Akhir
3.a. Penghapusan di depan
Penghapusan data di awal adalah proses menghapus simpul pertama (yang
ditunjuk oleh variabel pointer Awal), sehingga variabel pointer Awal akan
berpindah ke simpul berikutnya, dan medan sambungan kanan (next) dari
simpul yang ditunjuk oleh poiter akhir akan menunjuk ke simpul pertama
yang baru (yang ditunjuk oleh pointer awal).
• Kondisi linked list memiliki hanya satu data{Satu simpul}
Ketika circular linked list hanya memiliki satu simpul, lalu ada proses
penghapusan maka list akan kosong, dengan tahapan yang sama seperti
di single linked list yang linear.
• Kondisi linked list memiliki lebih dari satu data {satu simpul}
Keadaan mula-mula circular single linked list sebagai berikut:
Jika simpul pertama (yang ditunjuk oleh pointer awal) dihapus, maka
circular single linked list menjadi seperti gambar di bawah ini:
3.b. Penghapusan di tengah
Proses penghapusan di tengah sama dengan single linked list (lihat modul
sebelumnya), karena tidak mengubah struktur dari list, tapi kalau simpul
yang akan dihapus ketemu di akhir, maka akan memanggil modul (prosedur)
hapus di akhir/belakang.
3.c. Penghapusan di belakang/akhir
Penghapusan data di akhir adalah proses menghapus simpul terakhir (yang
ditunjuk oleh variabel pointer Akhir), sehingga variabel pointer Akhir akan
berpindah ke simpul sebelumnyanya, dan medan sambungan kanan (next)
dari simpul yang ditunjuk oleh pointer Akhir yang baru akan menunjuk ke
simpul pertama (yang ditunjuk pointer awal).
• Kondisi linked list memiliki hanya satu data (satu simpul)
Sama seperti proses penghapusan di depan/awal.
• Kondisi linked list memiliki lebih dari satu data (satu simpul)
Keadaan mula-mula circular single linked list sebagai berikut:
Jika simpul terakhir (yang ditunjuk oleh pointer akhir) dihapus, maka
circular single linked list menjadi seperti gambar di bawah ini:
III.2. Circular Double Linked List
Operasi-operasi yang ada pada Circular Double Linked List hampir sama seperti pada
Double Linked List yang telah dibahas sebelumnya.
Operasi-operasinya sebagai berikut:
1. Penciptaan
Penciptaan adalah memberikan nilai nil terhadap variabel pointer awal dan
variabel pointer akhir.
Awal
Akhir
2. Penyisipan
2.a Penyisipan di depan/awal
Operasi ini berguna untuk menambahkan satu simpul baru di posisi pertama.
Langkah pertama untuk penambahan data adalah pembuatan simpul baru dan
mengisinya dengan data pada field info-nya. Pointer yang menunjuk ke simpul
tersebut dipanggil dengan nama baru.
Ada 2 kondisi yang harus diperhatikan dalam penambahan data di awal yaitu :
a. Ketika linked list masih kosong
Kalau kondisi linked list masih kosong, maka simpul baru akan menjadi
simpul awal dan sekaligus simpul akhir dari circular double linked list.
Perhatikan gambar di bawah ini :
Kondisi sebelum disisipkan
Awal
Akhir
Kondisi setelah operasi penyisipan
Operasi penyisipan pertama kali ketika linked list masih kosong adalah
dengan mengisikan alamat pointer baru ke pointer awal dan pointer
akhir. Dan memberikan nilai nil pada medan sambungan kiri (prev) dan
medan sambungan kanan(next). Lihat gambar di bawah ini:
AwalAkhir
2
Baru
b. Ketika linked list tidak kosong
Misalnya mula-mula keadaan list sebagai berikut:
• Misalkan akan menyisipkan data 2
Setelah simpul yang ada data 2 disisipkan di depan/awal, maka
circular double linked list sebagai berikut:
2.b. Penyisipan di tengah
Proses penyisipan di tengah sama seperti pada double linked list (lihat
modul sebelumnya), karena tidak mengubah struktur circularnya.
Untuk proses tersebut ada 2 hal yang harus diperhatikan yaitu :
• Kondisi linked list masih kosong prosesnya sama seperti penyisipan di
depan/awal.
• Kondisi linked list sudah mempunyai data (tidak kosong)
Mula-mula keadaan linked list sebagai berikut:
Misalnya akan menyisipkan data 4 sebelum data 9 (untuk menyisipkan
data setelahnya lihat kembali pada single linked list)
Maka bentuk circular double linked list setelah mengalami penyisipan di
tengah seperti gambar berikut:
4
2.c. Penyisipan di belakang/akhir
Operasi ini berguna untuk menambahkan elemen baru di posisi akhir.
Langkah pertama untuk penambahan data adalah pembuatan elemen baru dan
pengisian nilai infonya. Pointer yang menunjuk ke data tersebut dipanggil
dengan nama baru.
Misalkan akan menyisipkan data 9 di akhir.
9
Baru
Ada 2 kondisi yang harus diperhatikan dalam penambahan data di akhir yaitu :
• Kondisi linked list masih kosong prosesnya sama seperti penyisipan di
depan/awal.
• Ketika linked list sudah mempunyai data
Mula-mula list sebagai berikut:
Setelah data (simpul) baru disisipkan di akhir, maka gambar dari circular
double linked list sebagai berikut:
3. Penghapusan
a. Penghapusan di awal
Operasi ini berguna untuk menghapus data pada posisi pertama. Ada 3
keadaan yang mungkin terjadi ketika akan melakukan proses hapus yaitu :
• Kondisi linked list masih kosong
Jika kondisi ini terjadi, maka proses penghapusan data tidak bisa
dilakukan karena linked list masih kosong.
• Kondisi linked list hanya memiliki 1 data/simpul
Langkah yang perlu dilakukan ketika ingin melakukan proses
penghapusan linked list yang memiliki hanya 1 data adalah dengan cara
menempatkan dahulu satu pointer bantuan (phapus), kemudian medan
data dari simpul yang akan dihapus disimpan ke dalam sebuah variabel
(elemen), kemudian pointer awal dan akhir diberi harga nil dan simpul
langsung dihapus.
Untuk lebih jelas perhatikan urutan penghapusannya di bawah ini :
- Kondisi list sebelum dihapus
- Kondisi list setelah ada proses penghapusan menjadi:
menjadi
Awal
Akhir
• Kondisi linked list memiliki lebih dari satu data atau satu simpul
Untuk operasi penghapusan data di posisi pertama pada circular double
linked list yang mempunyai data lebih dari satu buah adalah :
Misalkan keadaan list mula-mula:
Setelah terjadi penghapusan di awal/depan, maka keadaan list menjadi:
b. Penghapusan di tengah
Proses penghapusan di tengah sama dengan single linked list (lihat modul
sebelumnya), karena tidak mengubah struktur dari list, tapi kalau simpul yang
akan dihapus ketemu di akhir, maka akan memanggil modul (prosedur) hapus
di akhir/belakang.
c. Penghapusan di akhir
Penghapusan data di akhir adalah proses menghapus simpul terakhir (yang
ditunjuk oleh variabel pointer Akhir), sehingga variabel pointer Akhir akan
berpindah ke simpul sebelumnyanya, dan medan sambungan kanan (next) dari
simpul yang ditunjuk oleh pointer Akhir yang baru akan menunjuk ke simpul
pertama (yang ditunjuk oleh pointer awal), dan medan sambungan kiri (prev)
dari simpul yang ditunjuk oleh pointer awal menunjuk ke simpul terakhir
(yang ditunjuk oleh pointer akhir).
Ada 3 keadaan yang mungkin terjadi ketika akan melakukan proses hapus
yaitu :
i. Kondisi linked list hanya memiliki satu data atau satu simpul
Penghapusan di akhir prosesnya sama seperti penghapusan di depan
ii. Kondisi linked list memiliki lebih dari satu data atau lebih dari 1
simpul
Misalkan mula-mula keadaan list sebagai berikut:
Setelah proses penghapusan di akhir, maka keadaan circular double linked
list menjadi:
4. Penelusuran/traversal
Prosesnya secara umum sama seperti penelusuran pada single liked list atau
double linked list (lihat modul sebelumnya).
5. Pencarian /Seaching
Prosesnya secara umum sama seperti penelusuran pada single liked list atau
double linked list (lihat modul sebelumnya).
6. Pengurutan/sorting
Prosesnya secara umum sama seperti penelusuran pada single liked list atau
double linked list (lihat modul sebelumnya).
7. Penghancuran/destroy
Proses penghancuran bisa dengan cara memanggil modul/subrutin
penghapusan di awal atau penghapusan di akhir secara terus menerus sampai
list kosong, atau dengan cara:
phapus awal
While (awal ≠ nil) do
If (awal = akhir)
Then
awal nil
akhir nil
Else
awal awal↑.next
awal↑.prev akhir
akhir↑.next awal
EndIf
dealloc(phapus)
phapus awal
EndWhile

Más contenido relacionado

La actualidad más candente

Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Circular linked list
Circular linked listCircular linked list
Circular linked listLaxer Pratama
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLShofura Kamal
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutanPertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutanEndang Retnoningsih
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Nabil Muhammad Firdaus
 
IMK - Strategi Banyak Window
IMK - Strategi Banyak WindowIMK - Strategi Banyak Window
IMK - Strategi Banyak Windownadiapreviani
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
PPT Matematika Diskrit - POHON
PPT Matematika Diskrit - POHONPPT Matematika Diskrit - POHON
PPT Matematika Diskrit - POHONUlfa Nur Afifah
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queueRhe Dwi Yuni
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanFahrul Razi
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuanahmad haidaroh
 

La actualidad más candente (20)

Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Soal uas struktur data
Soal uas struktur dataSoal uas struktur data
Soal uas struktur data
 
Circular linked list
Circular linked listCircular linked list
Circular linked list
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutanPertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
queue antrian
queue antrianqueue antrian
queue antrian
 
Graf pohon (bagian ke 6)
Graf pohon (bagian ke 6)Graf pohon (bagian ke 6)
Graf pohon (bagian ke 6)
 
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
 
pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
Pertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTreePertemuan 9 Tree dan BinaryTree
Pertemuan 9 Tree dan BinaryTree
 
IMK - Strategi Banyak Window
IMK - Strategi Banyak WindowIMK - Strategi Banyak Window
IMK - Strategi Banyak Window
 
Bab 4 aljabar boolean
Bab 4 aljabar booleanBab 4 aljabar boolean
Bab 4 aljabar boolean
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
PPT Matematika Diskrit - POHON
PPT Matematika Diskrit - POHONPPT Matematika Diskrit - POHON
PPT Matematika Diskrit - POHON
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi Boolean
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
 

Similar a circular linked list

Similar a circular linked list (20)

MAKALAH DOUBLE LINKED LIST BAHASA C.docx
MAKALAH DOUBLE LINKED LIST BAHASA C.docxMAKALAH DOUBLE LINKED LIST BAHASA C.docx
MAKALAH DOUBLE LINKED LIST BAHASA C.docx
 
Double linked list
Double linked listDouble linked list
Double linked list
 
Linked List
Linked ListLinked List
Linked List
 
Linked list
Linked listLinked list
Linked list
 
Linked list
Linked listLinked list
Linked list
 
PPT STRUKTUR DATA(1).pptx
PPT STRUKTUR DATA(1).pptxPPT STRUKTUR DATA(1).pptx
PPT STRUKTUR DATA(1).pptx
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
 
Linked list
Linked listLinked list
Linked list
 
Linked List
Linked ListLinked List
Linked List
 
Modul 3 strukdat
Modul 3 strukdatModul 3 strukdat
Modul 3 strukdat
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
 
Modul 2
Modul 2Modul 2
Modul 2
 
POWER POINT STRUKTUR DATA AMIK BSI PURWOKERTO
POWER POINT STRUKTUR DATA AMIK  BSI PURWOKERTOPOWER POINT STRUKTUR DATA AMIK  BSI PURWOKERTO
POWER POINT STRUKTUR DATA AMIK BSI PURWOKERTO
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docxMAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Ni luh dewi pradnyawati
Ni luh dewi pradnyawatiNi luh dewi pradnyawati
Ni luh dewi pradnyawati
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Persentasi linked list
Persentasi linked listPersentasi linked list
Persentasi linked list
 

Más de Materi Kuliah Online

Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakMateri Kuliah Online
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Materi Kuliah Online
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDMateri Kuliah Online
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiMateri Kuliah Online
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaMateri Kuliah Online
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesMateri Kuliah Online
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananMateri Kuliah Online
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangMateri Kuliah Online
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorMateri Kuliah Online
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyMateri Kuliah Online
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponMateri Kuliah Online
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessMateri Kuliah Online
 

Más de Materi Kuliah Online (20)

Sekilas tentang HaKI
Sekilas tentang HaKISekilas tentang HaKI
Sekilas tentang HaKI
 
Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat Lunak
 
Pemodelan Basis Data Lainnya
Pemodelan Basis Data LainnyaPemodelan Basis Data Lainnya
Pemodelan Basis Data Lainnya
 
Arsitektur Sistem Basis Data
Arsitektur Sistem Basis DataArsitektur Sistem Basis Data
Arsitektur Sistem Basis Data
 
Access control-systems
Access control-systemsAccess control-systems
Access control-systems
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFID
 
Remote control alarm sepeda motor
Remote control alarm sepeda motorRemote control alarm sepeda motor
Remote control alarm sepeda motor
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi Terdistribusi
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di Indonesia
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication Approaches
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah Gelombang
 
Dioda dan Catu Daya
Dioda dan Catu DayaDioda dan Catu Daya
Dioda dan Catu Daya
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp Integrator
 
Radio Frequency Identification
Radio Frequency IdentificationRadio Frequency Identification
Radio Frequency Identification
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
 
Interfacing Number Display
Interfacing Number DisplayInterfacing Number Display
Interfacing Number Display
 

Último

Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfNurulHikmah50658
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidupfamela161
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxRizkyPratiwi19
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajarHafidRanggasi
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...Kanaidi ken
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasarrenihartanti
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...MetalinaSimanjuntak1
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiaNILAMSARI269850
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptxSirlyPutri1
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 

Último (20)

Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ika
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesia
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 

circular linked list

  • 1. III. Circular Linked List Circular Linked List adalah suatu linked list yang tidak memiliki nilai nil/NULL untuk medan sambungannya. Perhatikan Gambar 3.1 dan Gambar 3.2. Gambar 3.1. Circular Single Linked List Gambar 3.2. Circular Double Linked List Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List. III.1 Circular Single Linked List Operasi-operasi yang ada pada Circular Single Linked List hamper sama seperti pada Single Linked List yang telah dibahas sebelumnya. Operasi-operasinya sebagai berikut: 1. Penciptaan Penciptaan adalah memberikan nilai nil terhadap variabel pointer awal dan variabel pointer akhir. Awal Akhir 2. Penyisipan 2.a Penyisipan di depan/awal Operasi ini berguna untuk menambahkan satu simpul baru di posisi pertama. Langkah pertama untuk penambahan data adalah pembuatan simpul baru dan mengisinya dengan data pada field info-nya. Pointer yang menunjuk ke simpul
  • 2. tersebut dipanggil dengan nama baru. Kondisi ketika akan menyisipkan simpul baru: - List kosong {Awal=nil} Kondisi sebelum disisipkan Awal Akhir Kondisi setelah operasi penyisipan Operasi penyisipan pertama kali ketika linked list masih kosong adalah dengan mengisikan alamat pointer baru ke pointer awal dan pointer akhir. Dan medan sambungan kanan(next) menunjuk ke simpul itu sendiri, seperti gambar di bawah ini: - List tidak kosong {Awal ≠ Nil} Keadaan list mula-mula: Simpul yang akan disisipkan: 6Baru Maka keadaan list setelah penyisipan di depan sebagai berikut: 31 2 Awal Akhir 6 Baru 1 Awal Baru Akhir
  • 3. 2.b. Penyisipan di tengah Proses penyisipan di tengah sama seperti pada single linked list (lihat modul sebelumnya), karena tidak mengubah struktur circularnya - List Kosong {Awal = Nil} (Sama dengan penyisipan di depan) - List tidak kosong {Awal ≠ Nil} Mula-mula keadaan list sebagai berikut: Akan menyisipkan angka 4 setelah angka 1 Keadaan list setelah penyisipan di tengah sebagai berikut: 2.c Penyisipan di akhir - List kosong {Awal = Nil} (Sama dengan penyisipan di depan) - List tidak kosong (Awal ≠ Nil} Mula-mula keadaan list sebagai berikut:
  • 4. Simpul yang akan disisipkan: 6Baru Maka keadaan list setelah penyisipan di depan sebagai berikut: 31 2 Awal Akhir 6 Baru 3. Penghapusan Pada dasarnya proses penghapusan di circular sama seperti pada linear linked list. Ada 3 kondisi yang perlu diperhatikan yaitu kondisi linked list masih kosong, kondisi linked list hanya memiliki satu data, dan kondisi linked list yang memiliki lebih dari satu data (satu elemen) Kondisi linked list kosong (Pada kondisi ini proses penghapusan tidak bisa dilakukan, dan kondisi ini disimpan di luar dari prosedur ini) Awal Akhir 3.a. Penghapusan di depan Penghapusan data di awal adalah proses menghapus simpul pertama (yang ditunjuk oleh variabel pointer Awal), sehingga variabel pointer Awal akan berpindah ke simpul berikutnya, dan medan sambungan kanan (next) dari simpul yang ditunjuk oleh poiter akhir akan menunjuk ke simpul pertama yang baru (yang ditunjuk oleh pointer awal). • Kondisi linked list memiliki hanya satu data{Satu simpul} Ketika circular linked list hanya memiliki satu simpul, lalu ada proses penghapusan maka list akan kosong, dengan tahapan yang sama seperti di single linked list yang linear.
  • 5. • Kondisi linked list memiliki lebih dari satu data {satu simpul} Keadaan mula-mula circular single linked list sebagai berikut: Jika simpul pertama (yang ditunjuk oleh pointer awal) dihapus, maka circular single linked list menjadi seperti gambar di bawah ini: 3.b. Penghapusan di tengah Proses penghapusan di tengah sama dengan single linked list (lihat modul sebelumnya), karena tidak mengubah struktur dari list, tapi kalau simpul yang akan dihapus ketemu di akhir, maka akan memanggil modul (prosedur) hapus di akhir/belakang. 3.c. Penghapusan di belakang/akhir Penghapusan data di akhir adalah proses menghapus simpul terakhir (yang ditunjuk oleh variabel pointer Akhir), sehingga variabel pointer Akhir akan berpindah ke simpul sebelumnyanya, dan medan sambungan kanan (next) dari simpul yang ditunjuk oleh pointer Akhir yang baru akan menunjuk ke simpul pertama (yang ditunjuk pointer awal). • Kondisi linked list memiliki hanya satu data (satu simpul) Sama seperti proses penghapusan di depan/awal.
  • 6. • Kondisi linked list memiliki lebih dari satu data (satu simpul) Keadaan mula-mula circular single linked list sebagai berikut: Jika simpul terakhir (yang ditunjuk oleh pointer akhir) dihapus, maka circular single linked list menjadi seperti gambar di bawah ini: III.2. Circular Double Linked List Operasi-operasi yang ada pada Circular Double Linked List hampir sama seperti pada Double Linked List yang telah dibahas sebelumnya. Operasi-operasinya sebagai berikut: 1. Penciptaan Penciptaan adalah memberikan nilai nil terhadap variabel pointer awal dan variabel pointer akhir. Awal Akhir 2. Penyisipan 2.a Penyisipan di depan/awal Operasi ini berguna untuk menambahkan satu simpul baru di posisi pertama. Langkah pertama untuk penambahan data adalah pembuatan simpul baru dan mengisinya dengan data pada field info-nya. Pointer yang menunjuk ke simpul tersebut dipanggil dengan nama baru.
  • 7. Ada 2 kondisi yang harus diperhatikan dalam penambahan data di awal yaitu : a. Ketika linked list masih kosong Kalau kondisi linked list masih kosong, maka simpul baru akan menjadi simpul awal dan sekaligus simpul akhir dari circular double linked list. Perhatikan gambar di bawah ini : Kondisi sebelum disisipkan Awal Akhir Kondisi setelah operasi penyisipan Operasi penyisipan pertama kali ketika linked list masih kosong adalah dengan mengisikan alamat pointer baru ke pointer awal dan pointer akhir. Dan memberikan nilai nil pada medan sambungan kiri (prev) dan medan sambungan kanan(next). Lihat gambar di bawah ini: AwalAkhir 2 Baru b. Ketika linked list tidak kosong Misalnya mula-mula keadaan list sebagai berikut: • Misalkan akan menyisipkan data 2 Setelah simpul yang ada data 2 disisipkan di depan/awal, maka circular double linked list sebagai berikut:
  • 8. 2.b. Penyisipan di tengah Proses penyisipan di tengah sama seperti pada double linked list (lihat modul sebelumnya), karena tidak mengubah struktur circularnya. Untuk proses tersebut ada 2 hal yang harus diperhatikan yaitu : • Kondisi linked list masih kosong prosesnya sama seperti penyisipan di depan/awal. • Kondisi linked list sudah mempunyai data (tidak kosong) Mula-mula keadaan linked list sebagai berikut: Misalnya akan menyisipkan data 4 sebelum data 9 (untuk menyisipkan data setelahnya lihat kembali pada single linked list) Maka bentuk circular double linked list setelah mengalami penyisipan di tengah seperti gambar berikut: 4 2.c. Penyisipan di belakang/akhir Operasi ini berguna untuk menambahkan elemen baru di posisi akhir. Langkah pertama untuk penambahan data adalah pembuatan elemen baru dan pengisian nilai infonya. Pointer yang menunjuk ke data tersebut dipanggil dengan nama baru.
  • 9. Misalkan akan menyisipkan data 9 di akhir. 9 Baru Ada 2 kondisi yang harus diperhatikan dalam penambahan data di akhir yaitu : • Kondisi linked list masih kosong prosesnya sama seperti penyisipan di depan/awal. • Ketika linked list sudah mempunyai data Mula-mula list sebagai berikut: Setelah data (simpul) baru disisipkan di akhir, maka gambar dari circular double linked list sebagai berikut: 3. Penghapusan a. Penghapusan di awal Operasi ini berguna untuk menghapus data pada posisi pertama. Ada 3 keadaan yang mungkin terjadi ketika akan melakukan proses hapus yaitu : • Kondisi linked list masih kosong Jika kondisi ini terjadi, maka proses penghapusan data tidak bisa dilakukan karena linked list masih kosong. • Kondisi linked list hanya memiliki 1 data/simpul Langkah yang perlu dilakukan ketika ingin melakukan proses penghapusan linked list yang memiliki hanya 1 data adalah dengan cara menempatkan dahulu satu pointer bantuan (phapus), kemudian medan data dari simpul yang akan dihapus disimpan ke dalam sebuah variabel (elemen), kemudian pointer awal dan akhir diberi harga nil dan simpul langsung dihapus.
  • 10. Untuk lebih jelas perhatikan urutan penghapusannya di bawah ini : - Kondisi list sebelum dihapus - Kondisi list setelah ada proses penghapusan menjadi: menjadi Awal Akhir • Kondisi linked list memiliki lebih dari satu data atau satu simpul Untuk operasi penghapusan data di posisi pertama pada circular double linked list yang mempunyai data lebih dari satu buah adalah : Misalkan keadaan list mula-mula: Setelah terjadi penghapusan di awal/depan, maka keadaan list menjadi: b. Penghapusan di tengah Proses penghapusan di tengah sama dengan single linked list (lihat modul sebelumnya), karena tidak mengubah struktur dari list, tapi kalau simpul yang akan dihapus ketemu di akhir, maka akan memanggil modul (prosedur) hapus di akhir/belakang.
  • 11. c. Penghapusan di akhir Penghapusan data di akhir adalah proses menghapus simpul terakhir (yang ditunjuk oleh variabel pointer Akhir), sehingga variabel pointer Akhir akan berpindah ke simpul sebelumnyanya, dan medan sambungan kanan (next) dari simpul yang ditunjuk oleh pointer Akhir yang baru akan menunjuk ke simpul pertama (yang ditunjuk oleh pointer awal), dan medan sambungan kiri (prev) dari simpul yang ditunjuk oleh pointer awal menunjuk ke simpul terakhir (yang ditunjuk oleh pointer akhir). Ada 3 keadaan yang mungkin terjadi ketika akan melakukan proses hapus yaitu : i. Kondisi linked list hanya memiliki satu data atau satu simpul Penghapusan di akhir prosesnya sama seperti penghapusan di depan ii. Kondisi linked list memiliki lebih dari satu data atau lebih dari 1 simpul Misalkan mula-mula keadaan list sebagai berikut: Setelah proses penghapusan di akhir, maka keadaan circular double linked list menjadi: 4. Penelusuran/traversal Prosesnya secara umum sama seperti penelusuran pada single liked list atau double linked list (lihat modul sebelumnya). 5. Pencarian /Seaching Prosesnya secara umum sama seperti penelusuran pada single liked list atau double linked list (lihat modul sebelumnya).
  • 12. 6. Pengurutan/sorting Prosesnya secara umum sama seperti penelusuran pada single liked list atau double linked list (lihat modul sebelumnya). 7. Penghancuran/destroy Proses penghancuran bisa dengan cara memanggil modul/subrutin penghapusan di awal atau penghapusan di akhir secara terus menerus sampai list kosong, atau dengan cara: phapus awal While (awal ≠ nil) do If (awal = akhir) Then awal nil akhir nil Else awal awal↑.next awal↑.prev akhir akhir↑.next awal EndIf dealloc(phapus) phapus awal EndWhile