SlideShare a Scribd company logo
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

Linked list
Linked listLinked list
Linked list
Rista Fuji
 
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_list
arii_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 - Stack
KuliahKita
 
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 Structures
Noval C. Kesuma
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
Fahuda E
 
Sql (4)
Sql (4)Sql (4)
Sql (4)
Fariszal Nova
 
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

Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_soretio_arkarna
 
SINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptxSINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptx
legiafatah
 
Linked List
Linked ListLinked List
Linked List
Sherly Uda
 
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
Dikicandra6
 
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)
Setia Juli Irzal Ismail
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_listWandi Parlente
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
 
Persentasi linked list
Persentasi linked listPersentasi linked list
Persentasi linked list
Irsyad Casanova
 
Persentasi linked list
Persentasi linked listPersentasi linked list
Persentasi linked list
Irsyad Casanova
 
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
Dikicandra6
 
Struktur data
Struktur dataStruktur data
Struktur data
yusriren20
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
Deprilana Ego Prakasa
 
Linked List
Linked ListLinked List
Linked List
said zulhelmi
 

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

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

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

Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
AssyifaFarahDiba1
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
Pemdes Wonoyoso
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
acehirfan
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
Ekhwan2
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
BanjarMasin4
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
Pemdes Wonoyoso
 
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptxTugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
fauzandika
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
renprogarksd3
 
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptxKanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
ssuser283069
 
KTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdfKTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdf
khalisahumairahh
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
subbidtekinfo813
 
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.pptBAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
Ggproject
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
AjrunAzhiima
 

Recently uploaded (13)

Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
 
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptxTugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
 
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptxKanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
 
KTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdfKTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdf
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
 
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.pptBAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
 

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