SlideShare a Scribd company logo
1 of 52
Senarai 
berantai 
linked list 
Pertemuan keempat 
Struktur data 
st3telkom.ac.id 
by : tenia wahyuningrum
Senarai berantai 
Dalam pemakaian sehari-hari istilah 
senarai berantai (list) adalah 
kumpulan linier 
sejumlah data.
Daftar 
belanja 
Ada yang 
dihapus 
jika barang 
telah dibeli 
atau 
ditambah 
kan barang 
baru yang akan 
dibeli.
Keunggulan : 
kemudahan dan efektifitas kerja 
yang lebih baik dalam hal 
menambah, mengurangi, serta 
mencari suatu elemen/node yang 
terdapat dalam senarai.
“Elemen-elemen yang terdapat pada 
sebuah senarai berantai tersimpan 
dalam blok memori terpisah”
“Penambahan, 
pengurangan, ataupun 
penggantian node 
dapat dilakukan 
dengan 
mengubah 
elemen rujukan atas 
tiap-tiap node yang 
terkait”
“Kerugiannya, sebuah senarai 
berantai tidak memungkinkan 
pengaksesan elemen secara 
acak”
Jenis-jenis 
senarai berantai
Senarai Tunggal 
Bila struktur data sebuah node hanya memiliki satu tautan 
atas node berikutnya dalam sebuah senarai, maka senarai 
tersebut dinamakan sebagai senarai tunggal.
Senarai Ganda 
Berbeda halnya dengan senarai tunggal, pada 
senarai ganda, struktur data atas tiap-tiap node 
memiliki rujukan pada node sebelum dan 
berikutnya. Sebagian algoritma membutuhkan 
taut ganda, contohnya sorting dan reverse 
traversing.
Pada dua jenis senarai sebelumnya, node terakhir 
dalam senarai tersebut merujuk pada null yang artinya 
akhir dari sebuah senarai, begitu pula null sebagai 
rujukan node sebelumnya pada node pertama bila 
senarai yang dimaksudkan adalah senarai ganda. Pada 
senarai sirkular, informasi rujukan pada node terakhir 
akan merujuk pada node pertama, dan rujukan pada 
node pertama akan merujuk pada node terakhir bila 
yang digunakan sebagai dasar implementasi adalah 
senarai ganda.
info 
9 
next 
node 
Menunjuk ke 
node lain
Contoh senarai berantai dengan 6 simpul : 
Awal 
A B C D E F 
Medan penyambung dari simpul kedua 
Medan informasi dari simpul kedua
2 
INFO SAMBUNGAN 
C 5 
A 6 
D 10 
B 1 
F 0 
E 8 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
Awal 
Habis
Representasi Simpul (Node) 
typedef struct node *list; 
struct node { 
int datalist; 
struct node *next; 
}; 
Membuat tipe data baru (tipe data 
bentukan)
dilanjutkan dengan deklarasi dari pointer ke 
struktur di atas sebagai berikut: 
struct node *head; 
atau 
list head
Mengalokasikan node 
int allocate_node(int data, list *new) 
{ 
new = (list) malloc (sizeof(node)); 
if(new==NULL) 
return 0; 
new->datalist = data; 
new->next=NULL; 
return 1; 
} 
/* Perintah “malloc” merupakah perintah “memory allocation”. Perintah ini berfungsi mengalokasikan suatu alamat pada 
memory pada sebuah variabel*/
Untuk inisialisasi list setelah alokasi untuk 
node pertama maka ditambahkan statement 
sebagai berikut: 
head = new
Ilustrasi fungsi allocate_node
Untuk inisialisasi list setelah alokasi untuk node 
pertama ilustrasinya adalah sebagai berikut
operasi 
senarai berantai
insert 
Fungsi insert pada linked list meliputi : 
- insert sebagai node awal (head) dari linked list 
- insert setelah node tertentu 
- insert sebelum node tertentu 
- insert sebagai node akhir (tail) dari linked list
Insert sebagai node awal (head) dari 
linked list 
void insertashead(list insert) 
{ 
insert->next=head; 
head = insert; 
}
ilustrasi dari fungsi diatas adalah 
sebagai berikut:
Insert setelah node tertentu 
void insertafternode(int x, list 
insert) 
{ 
list after; 
after = head; 
do 
after = after->next; 
while (after->datalist != x); 
insert->next = after->next; 
after->next = insert; 
}
Langkah-langkah untuk proses di atas adalah 
sebagai berikut: 
1. Pointer next dari elemen baru menunjuk 
elemen setelah elemen tertentu 
2. Pointer next elemen sebelumnya menunjuk 
ke elemen baru
Insert sebelum node tertentu 
void insertbeforenode(int x, list insert) 
{ 
list before, prevbefore; 
if (head->datalist = x) 
insertashead(insert) 
else 
{ 
before = head; 
do 
prevbefore = before; 
before = before->next; 
while (before->datalist != x); 
insert->next = before; 
prevbefore->next = insert; 
} }
Langkah-langkah untuk proses di atas adalah 
sebagai berikut: 
1. Telusuri list sampai elemen tertentu, catat 
juga elemen sebelumnya 
2. Lakukan penyisipan sebelum elemen tertentu 
tersebut
Insert di akhir (tail) dari linked list 
void insertastail(list insert) 
{ 
list tail; 
tail = head; 
do 
tail = tail->next; 
while (tail->next != NULL); 
tail->next = insert; 
tail = tail->next; 
}
Langkah-langkah untuk proses di atas adalah 
sebagai berikut: 
1. Telusuri list sampai elemen terakhir (tail- 
>next=NULL) 
2. Lakukan pentisipan setelah elemen terakhir
Delete 
Fungsi delete pada linked list meliputi : 
- delete sebagai simpul pertama(head) dari 
linked list 
- delete setelah simpul tertentu 
- delete simpul terakhir
delete sebagai simpul pertama 
(head) dari linked list
Langkah-langkah untuk proses di atas adalah 
sebagai berikut: 
1. Pointer first diarahkan pada data ke-2 
2. Pointer p diarahkan pada data ke-1 
3. Bebaskan pointer p (secara otomatis data ke- 
1 terhapus)
delete setelah simpul tertentu
Langkah-langkah untuk proses di atas adalah 
sebagai berikut: 
1. Arahkan pointer first s/d data yang ditunjuk 
2. Pointer p diarahkan pada first->next 
3. Arahkan pointer first->next pada p->next 
4. Bebaskan pointer p (secara otomatis data 
setelah simpul tertentu terhapus)
delete simpul terakhir
Langkah-langkah untuk proses di atas adalah 
sebagai berikut: 
1. Telusuri simpul s/d first->next = NULL 
2. Arahkan pointer p ke first 
3. Bebaskan pointer p->next (Simpul Terakhir) 
4. Arahkan p->next ke NULL
Latihan 
soal
Tuliskan 
Outputnya!
Tuliskan 
Outputnya!
selesai 
oktober-2014

More Related Content

What's hot

Pertemuan 3 Praktikum Database
Pertemuan 3 Praktikum DatabasePertemuan 3 Praktikum Database
Pertemuan 3 Praktikum Databasedurohman
 
Bab 6 singly_linked_list
Bab 6 singly_linked_listBab 6 singly_linked_list
Bab 6 singly_linked_listarii_manroe
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circularHitesh Wagle
 
Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackKuliahKita
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data StructuresNoval C. Kesuma
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked listFahuda E
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)Kelinci Coklat
 
Materi linked list dan bubble sort
Materi linked list dan bubble sortMateri linked list dan bubble sort
Materi linked list dan bubble sortYunan Helmi Nasution
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)Kelinci Coklat
 

What's hot (20)

Linked list
Linked listLinked list
Linked list
 
Tistrukdat7
Tistrukdat7Tistrukdat7
Tistrukdat7
 
Double linked list
Double linked listDouble linked list
Double linked list
 
Pertemuan 3 Praktikum Database
Pertemuan 3 Praktikum DatabasePertemuan 3 Praktikum Database
Pertemuan 3 Praktikum Database
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
 
Bab 6 singly_linked_list
Bab 6 singly_linked_listBab 6 singly_linked_list
Bab 6 singly_linked_list
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circular
 
Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - Stack
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Pertemuan 3 ok
Pertemuan 3 okPertemuan 3 ok
Pertemuan 3 ok
 
Tistrukdat6
Tistrukdat6Tistrukdat6
Tistrukdat6
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Tistrukdat8 2
Tistrukdat8 2Tistrukdat8 2
Tistrukdat8 2
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 
Sql (4)
Sql (4)Sql (4)
Sql (4)
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
 
Materi linked list dan bubble sort
Materi linked list dan bubble sortMateri linked list dan bubble sort
Materi linked list dan bubble sort
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)
 
Sd bab 8a (senarai)
Sd bab 8a (senarai)Sd bab 8a (senarai)
Sd bab 8a (senarai)
 

Similar to Linked list

Similar to Linked list (19)

Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_sore
 
SINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptxSINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptx
 
Linked List
Linked ListLinked List
Linked List
 
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
 
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)
 
Pertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhsPertemuan 4 revisijan2013-mhs
Pertemuan 4 revisijan2013-mhs
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
teori Struktur data full
teori Struktur data fullteori Struktur data full
teori Struktur data full
 
Persentasi linked list
Persentasi linked listPersentasi linked list
Persentasi linked list
 
Persentasi linked list
Persentasi linked listPersentasi linked list
Persentasi linked list
 
MAKALAH LINKED LIST DALAM BAHASA C.docx
MAKALAH LINKED LIST DALAM BAHASA C.docxMAKALAH LINKED LIST DALAM BAHASA C.docx
MAKALAH LINKED LIST DALAM BAHASA C.docx
 
11
1111
11
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Pert.5 linked list
Pert.5 linked listPert.5 linked list
Pert.5 linked list
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
Linked List
Linked ListLinked List
Linked List
 
Linkedlist
LinkedlistLinkedlist
Linkedlist
 

More from Tenia Wahyuningrum (20)

Measuring User Experience
Measuring User ExperienceMeasuring User Experience
Measuring User Experience
 
Populasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCIPopulasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCI
 
10th heuristic evaluation
10th heuristic evaluation10th heuristic evaluation
10th heuristic evaluation
 
Good vs bad design
Good vs bad designGood vs bad design
Good vs bad design
 
Media sosial untuk pembelajaran
Media sosial untuk pembelajaranMedia sosial untuk pembelajaran
Media sosial untuk pembelajaran
 
4th human factors (2)
4th human factors (2)4th human factors (2)
4th human factors (2)
 
Human factors
Human factorsHuman factors
Human factors
 
Historical Context of HCI
Historical Context of HCIHistorical Context of HCI
Historical Context of HCI
 
Trends in Human Computer Interaction
Trends in Human Computer InteractionTrends in Human Computer Interaction
Trends in Human Computer Interaction
 
Good data, for better life
Good data, for better lifeGood data, for better life
Good data, for better life
 
Teori pnp
Teori pnpTeori pnp
Teori pnp
 
Plagiarisme
PlagiarismePlagiarisme
Plagiarisme
 
Struktur data & computer trends 2015 2016
Struktur data & computer trends 2015 2016Struktur data & computer trends 2015 2016
Struktur data & computer trends 2015 2016
 
Pengujian hipotesis
Pengujian hipotesisPengujian hipotesis
Pengujian hipotesis
 
Research method
Research methodResearch method
Research method
 
Basic research
Basic researchBasic research
Basic research
 
Pengenalan android
Pengenalan androidPengenalan android
Pengenalan android
 
Mobile programming pendahuluan
Mobile programming pendahuluanMobile programming pendahuluan
Mobile programming pendahuluan
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Public speaking
Public speakingPublic speaking
Public speaking
 

Recently uploaded

Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiCristianoRonaldo185977
 
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS AcehSKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS AcehBISMIAULIA
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptAhmadSyajili
 
Metode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau SurveiMetode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau Surveikustiyantidew94
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxmariaboisala21
 
PPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxPPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxnursariheldaseptiana
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxrikosyahputra0173
 
SOP MEDIA KOMUNIKASI DAN KOORDINASI pkms
SOP MEDIA KOMUNIKASI DAN KOORDINASI pkmsSOP MEDIA KOMUNIKASI DAN KOORDINASI pkms
SOP MEDIA KOMUNIKASI DAN KOORDINASI pkmsedyardy
 
manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1YudiPradipta
 
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupanVULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupanBungaCitraNazwaAtin
 
kesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptxkesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptxAhmadSyajili
 
415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompok415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompokelmalinda2
 

Recently uploaded (12)

Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
 
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS AcehSKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
SKP GURU satuan kinerja pegawai tahun 2023 untuk PNS Aceh
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.ppt
 
Metode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau SurveiMetode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau Survei
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
 
PPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxPPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptx
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
 
SOP MEDIA KOMUNIKASI DAN KOORDINASI pkms
SOP MEDIA KOMUNIKASI DAN KOORDINASI pkmsSOP MEDIA KOMUNIKASI DAN KOORDINASI pkms
SOP MEDIA KOMUNIKASI DAN KOORDINASI pkms
 
manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1manajemen analisis data export data epidata 3.1
manajemen analisis data export data epidata 3.1
 
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupanVULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
VULKANISME.pdf vulkanisme dan pengaruh nya terhadap kehidupan
 
kesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptxkesalahan tipe 1 dan 2 pada statistik.pptx
kesalahan tipe 1 dan 2 pada statistik.pptx
 
415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompok415418921-statistika- mean media modus data tunggal dan data kelompok
415418921-statistika- mean media modus data tunggal dan data kelompok
 

Linked list

  • 1. Senarai berantai linked list Pertemuan keempat Struktur data st3telkom.ac.id by : tenia wahyuningrum
  • 2. Senarai berantai Dalam pemakaian sehari-hari istilah senarai berantai (list) adalah kumpulan linier sejumlah data.
  • 3. Daftar belanja Ada yang dihapus jika barang telah dibeli atau ditambah kan barang baru yang akan dibeli.
  • 4. Keunggulan : kemudahan dan efektifitas kerja yang lebih baik dalam hal menambah, mengurangi, serta mencari suatu elemen/node yang terdapat dalam senarai.
  • 5. “Elemen-elemen yang terdapat pada sebuah senarai berantai tersimpan dalam blok memori terpisah”
  • 6. “Penambahan, pengurangan, ataupun penggantian node dapat dilakukan dengan mengubah elemen rujukan atas tiap-tiap node yang terkait”
  • 7. “Kerugiannya, sebuah senarai berantai tidak memungkinkan pengaksesan elemen secara acak”
  • 9. Senarai Tunggal Bila struktur data sebuah node hanya memiliki satu tautan atas node berikutnya dalam sebuah senarai, maka senarai tersebut dinamakan sebagai senarai tunggal.
  • 10. Senarai Ganda Berbeda halnya dengan senarai tunggal, pada senarai ganda, struktur data atas tiap-tiap node memiliki rujukan pada node sebelum dan berikutnya. Sebagian algoritma membutuhkan taut ganda, contohnya sorting dan reverse traversing.
  • 11. Pada dua jenis senarai sebelumnya, node terakhir dalam senarai tersebut merujuk pada null yang artinya akhir dari sebuah senarai, begitu pula null sebagai rujukan node sebelumnya pada node pertama bila senarai yang dimaksudkan adalah senarai ganda. Pada senarai sirkular, informasi rujukan pada node terakhir akan merujuk pada node pertama, dan rujukan pada node pertama akan merujuk pada node terakhir bila yang digunakan sebagai dasar implementasi adalah senarai ganda.
  • 12. info 9 next node Menunjuk ke node lain
  • 13. Contoh senarai berantai dengan 6 simpul : Awal A B C D E F Medan penyambung dari simpul kedua Medan informasi dari simpul kedua
  • 14. 2 INFO SAMBUNGAN C 5 A 6 D 10 B 1 F 0 E 8 1 2 3 4 5 6 7 8 9 10 Awal Habis
  • 15.
  • 16.
  • 17. Representasi Simpul (Node) typedef struct node *list; struct node { int datalist; struct node *next; }; Membuat tipe data baru (tipe data bentukan)
  • 18. dilanjutkan dengan deklarasi dari pointer ke struktur di atas sebagai berikut: struct node *head; atau list head
  • 19. Mengalokasikan node int allocate_node(int data, list *new) { new = (list) malloc (sizeof(node)); if(new==NULL) return 0; new->datalist = data; new->next=NULL; return 1; } /* Perintah “malloc” merupakah perintah “memory allocation”. Perintah ini berfungsi mengalokasikan suatu alamat pada memory pada sebuah variabel*/
  • 20. Untuk inisialisasi list setelah alokasi untuk node pertama maka ditambahkan statement sebagai berikut: head = new
  • 22. Untuk inisialisasi list setelah alokasi untuk node pertama ilustrasinya adalah sebagai berikut
  • 24. insert Fungsi insert pada linked list meliputi : - insert sebagai node awal (head) dari linked list - insert setelah node tertentu - insert sebelum node tertentu - insert sebagai node akhir (tail) dari linked list
  • 25. Insert sebagai node awal (head) dari linked list void insertashead(list insert) { insert->next=head; head = insert; }
  • 26. ilustrasi dari fungsi diatas adalah sebagai berikut:
  • 27. Insert setelah node tertentu void insertafternode(int x, list insert) { list after; after = head; do after = after->next; while (after->datalist != x); insert->next = after->next; after->next = insert; }
  • 28.
  • 29.
  • 30. Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Pointer next dari elemen baru menunjuk elemen setelah elemen tertentu 2. Pointer next elemen sebelumnya menunjuk ke elemen baru
  • 31. Insert sebelum node tertentu void insertbeforenode(int x, list insert) { list before, prevbefore; if (head->datalist = x) insertashead(insert) else { before = head; do prevbefore = before; before = before->next; while (before->datalist != x); insert->next = before; prevbefore->next = insert; } }
  • 32.
  • 33.
  • 34. Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Telusuri list sampai elemen tertentu, catat juga elemen sebelumnya 2. Lakukan penyisipan sebelum elemen tertentu tersebut
  • 35. Insert di akhir (tail) dari linked list void insertastail(list insert) { list tail; tail = head; do tail = tail->next; while (tail->next != NULL); tail->next = insert; tail = tail->next; }
  • 36.
  • 37.
  • 38. Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Telusuri list sampai elemen terakhir (tail- >next=NULL) 2. Lakukan pentisipan setelah elemen terakhir
  • 39. Delete Fungsi delete pada linked list meliputi : - delete sebagai simpul pertama(head) dari linked list - delete setelah simpul tertentu - delete simpul terakhir
  • 40. delete sebagai simpul pertama (head) dari linked list
  • 41.
  • 42. Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Pointer first diarahkan pada data ke-2 2. Pointer p diarahkan pada data ke-1 3. Bebaskan pointer p (secara otomatis data ke- 1 terhapus)
  • 44.
  • 45. Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Arahkan pointer first s/d data yang ditunjuk 2. Pointer p diarahkan pada first->next 3. Arahkan pointer first->next pada p->next 4. Bebaskan pointer p (secara otomatis data setelah simpul tertentu terhapus)
  • 47.
  • 48. Langkah-langkah untuk proses di atas adalah sebagai berikut: 1. Telusuri simpul s/d first->next = NULL 2. Arahkan pointer p ke first 3. Bebaskan pointer p->next (Simpul Terakhir) 4. Arahkan p->next ke NULL