SlideShare a Scribd company logo
1 of 61
Algoritma dan Struktur Data
Single Linked List – Operasi INSERT
Umi Sa’adah
Tita Karlita
Entin Martiana K
Arna Fariza
2021
Overview
Linked List Operasi Insert
PENGERTIAN
●Linked list terdiri atas elemen-
elemen individu yang masing2
dihubungkan dengan pointer
tunggal.
●Setiap elemen terdiri atas 2
bagian :
● data/informasi yang disimpan
● next, yaitu pointer yang
menyimpan alamat elemen
selanjutnya
Elemen Individu
?
data next
Dalam single linked
list, list hanya dapat
dilintasi satu arah
dari head ke tail
1000
head
Nilai 2000
1000
Nilai
2000
2000
tail
Ilustrasi
PENGERTIAN
Linked List
• Pada realitanya, posisi linked list
terpencar-pencar di memori
• Pointer dari elemen ke elemen berarti
sebagai penjamin bahwa semua
elemen dapat diakses.
Representasi Linked List
6
b
h
e
a
d
c
typedef struct simpul Node;
struct simpul {
char data;
Node *next;
};
Node *head;
•Tiap simpul terdiri atas 2 bagian :
data dan pointer next.
•Pointer head menunjuk ke simpul
pertama dr linked list
Linked List
7
b
h
e
a
d
c
typedef struct simpul Node;
struct simpul {
char data;
Node *next;
};
Node *head;
head->next->next
head->next
head->next->data
head->data
Linked List
8
b
h
e
a
d
c
p
p->data
p->next
Pointer next dari simpul
terakhir = NULL
Simpul pertama ditunjuk
oleh sebuah pointer : head
p=head-
>next;
Empty linked list
9
h
e
a
d
• Linked list yang masih
kosong ditunjukkan oleh
pointer head yang bernilai
NULL.
• Ingat, pointer head menunjuk
ke simpul pertama dalam
sebuah linked list.
• Jika list masih kosong, maka
tidak terdapat simpul pertama.
h
e
a
d
Utk singkatnya,
biasanya sel
pointernya tidak
digambar.
ALGORITMA INSERT SLL
1. Siapkan node baru yang akan disisipkan.
2. Cari posisi yang akan disisipkan.
3. Sambungkan dengan existing linked list.
Operasi Insert SLL
INSERT SLL
{
AWAL
AKHIR
AFTER
BEFORE
Insert awal
PENGERTIAN
Insert Awal adalah menambahkan data
(simpul baru) di ujung kiri dalam sebuah
linked list.
ILUSTRASI
Pointer-pointer bantuan yang digunakan dalam Insert
Awal :
1. p = digunakan untuk memesan alokasi node baru.
2. head = pointer yang akan menunjuk data pertama dalam
linked list.
1. SIAPKAN NODE BARU
YANG AKAN DISISIPKAN
P
p = (Node *)malloc(size of(Node));
p data = Nilai;
p next = NULL;
Nilai = 4
2000
? ?
2000 4
THE FIRST
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
2000
P
4
if (head==NULL)
head = p;
else
p next = head;
head = p; 2000
head
3. SAMBUNGKAN DENGAN
EXISTING LINKED LIST
2000
P
4
if (head==NULL)
head = p;
else
p next = head;
head = p; 2000
head
2000
HASIL AKHIR
2000
P
4
2000
head
2000
THE SECOND
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
2000
P
4 3000
if (head==NULL)
head = p;
else
p next = head;
head = p;
2000
3000
head
2 4000
3000
5
4000
Karena insert awal, maka node baru pasti akan
menjadi data pertama yang ditunjuk oleh head
3. SAMBUNGKAN DENGAN
EXISTING LINKED LIST
2000
P
4
2000
3000
head
2 4000
3000
5
4000
2000
if (head==NULL)
head = p;
else
p next = head;
head = p;
3000
HASIL AKHIR
2000
head
2 4000
3000
5
4000
2000
P
4
2000
3000
Insert akhir
PENGERTIAN
Insert Akhir adalah menambahkan data
(simpul baru) di ujung kanan dalam sebuah
linked list.
ILUSTRASI
Pointer-pointer bantuan yang digunakan dalam Insert Akhir :
1. p = digunakan untuk memesan alokasi node baru.
2. head = pointer yang akan menunjuk data pertama dalam
linked list.
3. tail = pointer yang digunakan untuk mencari letak simpul
terakhir dalam linked list.
1. SIAPKAN NODE BARU
YANG AKAN DISISIPKAN
P
p = (Node *)malloc(size of(Node));
p data = Nilai;
p next = NULL;
Nilai = 5
4000
? ?
4000 5
THE FIRST
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
if (head==NULL)
head = p;
else{
tail = head;
while (tail next != NULL){
tail = tail next;}
}
head
4000
P
5
4000
tail
?
3. SAMBUNGKAN DENGAN
EXISTING LINKED LIST
4000
P
5
4000
head
if (head==NULL)
head = p;
else{
tail = head;
while (tail next != NULL)
tail = tail next;
}
4000
tail
?
HASIL AKHIR
4000
P
5
4000
head
4000
THE SECOND
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
2000
head
1 3000
2000
7
3000
tail
3000
2000
if (head==NULL)
head = p;
else{
tail = head;
while (tail next != NULL){
tail = tail next;}
}
?
tail next = p;
tail = tail next;
2000
head
1 3000
2000
7
3000
tail
3. SAMBUNGKAN DENGAN
EXISTING LINKED LIST
4000
P
5
4000
4000
3000
4000
HASIL AKHIR
2000
head
7 4000
3000
5
4000
4000
P
1
2000
3000
4000
tail
Insert After
PENGERTIAN
Insert After adalah menambahkan data
(simpul baru) sesudah data yang bertindak
sebagai key.
ILUSTRASI
Pointer-pointer bantuan yang digunakan dalam Insert After :
1. p = digunakan untuk memesan alokasi node baru.
2. head = pointer yang akan menunjuk data pertama dalam linked list.
3. after = pointer yang digunakan untuk mencari key yang diinputkan
oleh user.
1. SIAPKAN NODE BARU
YANG AKAN DISISIPKAN
P
p = (Node *)malloc(size of(Node));
p data = Nilai;
p next = NULL;
Nilai = 7
3000
? ?
3000 7
THE FIRST
CASE
2. CARI POSISI YANG
AKAN DISISIPKAN
after = head;
while (after data != key){
if (after next == NULL){
puts(“Key Tidak Ada”);
}else{
after = after next;
}
}
Key = 4
1000
head
2 2000
1000
9
2000
after
1000
2000
Key Tidak Ada
?
THE SECOND
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
Key = 4
1000
head
2 2000
1000
4
2000
after
1000
2000
after = head;
while (after data != key){
if (after next == NULL){
puts(“Key Tidak Ada”);
}else{
after = after next;
}
}
?
P next = after next;
after next = P;
3. SAMBUNGKAN DENGAN
EXISTING LINKED LIST
Key = 4
1000
head
2 2000
1000
4
2000
after
2000
3000
P
7
3000
Karena tidak ada data lagi setelah after next,
maka p next tetap bernilai NULL.
3000
HASIL AKHIR
1000
head
4 3000
2000
7
3000
3000
P
2
1000
2000
Insert before
PENGERTIAN
Insert Before adalah menambahkan data
(simpul baru) sebelum data yang bertindak
sebagai key.
ILUSTRASI
Pointer-pointer bantuan yang digunakan dalam Insert Before :
1. p = digunakan untuk memesan alokasi node baru.
2. head = pointer yang akan menunjuk data pertama dalam linked list.
3. bef = singkatan dari pointer before yang digunakan untuk mencari key yang
diinputkan oleh user.
4. pbef = singkatan dari pointer previous before yang digunakan untuk penanda node
yang berada sebelum node yang ditunjuk oleh pointer bef.
1. SIAPKAN NODE BARU
YANG AKAN DISISIPKAN
P
p = (Node *)malloc(size of(Node));
p data = Nilai;
p next = NULL;
Nilai = 5
2500
? ?
2500 5
THE FIRST
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
if (head data == key){
insertawal;
}else{
bef = head;
do{
pbef = bef;
if(bef next == NULL){
puts(“Key Tidak Ada”);
}else{
bef = bef next;
}while(bef data != key);}
Key = 3
1000
head
3 2000
1000
9
2000
insertawal;
bef
pbef
? ?
HASIL AKHIR
2500
head
3 2000
1000
9
2000
2500
P
5
2500
1000
P.S Hasil akhir di dapat setelah melakukan insertawal.
THE SECOND
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
Key = 3
1000
head
6 2000
1000
9
2000
Key Tidak Ada
if (head data == key){
insertawal;
}else{
bef = head;
do{
pbef = bef;
if(bef next == NULL){
puts(“Key Tidak Ada”);
}else{
bef = bef next;
}while(bef data != key);}
bef
pbef
? ?
1000
1000
2000
2000
THE THIRD
CASE
2. CARI POSISI YANG AKAN
DISISIPKAN
Key = 3
1000
head
6 2000
1000
3
2000
bef
pbef
1000
2000
if (head data == key){
insertawal;
}else{
bef = head;
do{
pbef = bef;
if(bef next == NULL){
puts(“Key Tidak Ada”);
}else{
bef = bef next;
}while(bef data != key);}
? ?
1000
P next = bef;
pbef next = P;
3. SAMBUNGKAN DENGAN
EXISTING LINKED LIST
Key = 3
1000
head
6
1000
3
2000
2000
bef
1000
pbef
2500
P
5 2000
2500
2000
2500
HASIL AKHIR
1000
head
5 2000
2500
3
2000
2500
P
6
1000
2500
Disusun oleh:
FAHMI R
KURNIAWAN
2110161010
DEYANA
KUSUMA
WARDANI
2110161015
RIFKI DWI
ACHSANI T
2110161028
1 D4 TEKNIK INFORMATIKA A
Referensi
60
1. Brian W. Kerninghan, Dennis M. Ritchie (2012): The C Programming
Language : Ansi C Version 2 Edition, PHI Learning
2. Byron Gottfried (2010) : Programming with C, Tata McGraw - Hill
Education
3. Kochan Stephen (20040 : Programming in C, 3rd Edition, Sams
4. K. N. King (2008) : C Programming: A Modern Approach, 2nd Edition, W.
W. Norton & Company
5. Abdul Kadir (2012) : Algoritma & Pemrograman Menggunakan C & C++,
Andi Publisher, Yogyakarta
6. http://www.gdsw.at/languages/c/programming-bbrown/
7. https://www.petanikode.com/tutorial/c/
8. http://www.cprogramming.com/tutorial/c-tutorial.html
INSERT_LINKED_LIST

More Related Content

Similar to INSERT_LINKED_LIST (17)

Bab 7 double_linked_list
Bab 7 double_linked_listBab 7 double_linked_list
Bab 7 double_linked_list
 
Bab 5 linked list
Bab 5 linked listBab 5 linked list
Bab 5 linked list
 
Tistrukdat6
Tistrukdat6Tistrukdat6
Tistrukdat6
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
 
SINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptxSINGLE_LINKED_LIST.pptx
SINGLE_LINKED_LIST.pptx
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
 
11
1111
11
 
Linked list
Linked listLinked list
Linked list
 
Modul 3 strukdat
Modul 3 strukdatModul 3 strukdat
Modul 3 strukdat
 
Pert.5 linked list
Pert.5 linked listPert.5 linked list
Pert.5 linked list
 
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
 
Sd bab 8a (senarai)
Sd bab 8a (senarai)Sd bab 8a (senarai)
Sd bab 8a (senarai)
 
Materi linked list dan bubble sort
Materi linked list dan bubble sortMateri linked list dan bubble sort
Materi linked list dan bubble sort
 
Pertemuan 3.pptx
Pertemuan 3.pptxPertemuan 3.pptx
Pertemuan 3.pptx
 
Linkedlist
LinkedlistLinkedlist
Linkedlist
 
teori Struktur data full
teori Struktur data fullteori Struktur data full
teori Struktur data full
 

More from Umi Sa'adah

Bunga rampai pemikiran islam
Bunga rampai pemikiran islamBunga rampai pemikiran islam
Bunga rampai pemikiran islamUmi Sa'adah
 
Materi IBC 17 Makna Kematian
Materi IBC 17 Makna KematianMateri IBC 17 Makna Kematian
Materi IBC 17 Makna KematianUmi Sa'adah
 
Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin
Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin
Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin Umi Sa'adah
 
Materi IBC 23 Metode Penarikan Hukum Syariat
Materi IBC 23 Metode Penarikan Hukum SyariatMateri IBC 23 Metode Penarikan Hukum Syariat
Materi IBC 23 Metode Penarikan Hukum SyariatUmi Sa'adah
 
Materi IBC 21 Penilaian Standar Perbuatan Manusia
Materi IBC 21 Penilaian Standar Perbuatan ManusiaMateri IBC 21 Penilaian Standar Perbuatan Manusia
Materi IBC 21 Penilaian Standar Perbuatan ManusiaUmi Sa'adah
 
Materi IBC 12 Dosa Investasi
Materi IBC 12 Dosa InvestasiMateri IBC 12 Dosa Investasi
Materi IBC 12 Dosa InvestasiUmi Sa'adah
 
Materi IBC 24 Sunnah Rosul
Materi IBC 24 Sunnah RosulMateri IBC 24 Sunnah Rosul
Materi IBC 24 Sunnah RosulUmi Sa'adah
 
Materi IBC 25 Metode Ijtihad
Materi IBC 25 Metode IjtihadMateri IBC 25 Metode Ijtihad
Materi IBC 25 Metode IjtihadUmi Sa'adah
 
Materi IBC 19 Meraih Amalan Tertinggi
Materi IBC 19 Meraih Amalan TertinggiMateri IBC 19 Meraih Amalan Tertinggi
Materi IBC 19 Meraih Amalan TertinggiUmi Sa'adah
 
Materi IBC 22 Hukum Syariat
Materi IBC 22 Hukum SyariatMateri IBC 22 Hukum Syariat
Materi IBC 22 Hukum SyariatUmi Sa'adah
 
Materi IBC 18 Kedudukan Doa
Materi IBC 18 Kedudukan DoaMateri IBC 18 Kedudukan Doa
Materi IBC 18 Kedudukan DoaUmi Sa'adah
 
Materi IBC16 Makna Rejeki
Materi IBC16 Makna RejekiMateri IBC16 Makna Rejeki
Materi IBC16 Makna RejekiUmi Sa'adah
 
Materi IBC 20 Sandar Perbuatan
Materi IBC 20 Sandar PerbuatanMateri IBC 20 Sandar Perbuatan
Materi IBC 20 Sandar PerbuatanUmi Sa'adah
 
Materi IBC15 Makna Tawakkal
Materi IBC15 Makna TawakkalMateri IBC15 Makna Tawakkal
Materi IBC15 Makna TawakkalUmi Sa'adah
 
Materi IBC 14 Petunjuk dan Kesesatan
Materi IBC 14 Petunjuk dan KesesatanMateri IBC 14 Petunjuk dan Kesesatan
Materi IBC 14 Petunjuk dan KesesatanUmi Sa'adah
 
Materi IBC 13 Qodlo dan Qodar
Materi IBC 13 Qodlo dan QodarMateri IBC 13 Qodlo dan Qodar
Materi IBC 13 Qodlo dan QodarUmi Sa'adah
 
Materi IBC 11 Membuktikan Kebenaran Al Quran
Materi IBC 11 Membuktikan Kebenaran Al QuranMateri IBC 11 Membuktikan Kebenaran Al Quran
Materi IBC 11 Membuktikan Kebenaran Al QuranUmi Sa'adah
 
Materi IBC 10 Dari Mana Manusia Berasal
Materi IBC 10 Dari Mana Manusia BerasalMateri IBC 10 Dari Mana Manusia Berasal
Materi IBC 10 Dari Mana Manusia BerasalUmi Sa'adah
 
Materi IBC 9 Teori Berfikir Tingkat 3
Materi IBC 9 Teori Berfikir Tingkat 3Materi IBC 9 Teori Berfikir Tingkat 3
Materi IBC 9 Teori Berfikir Tingkat 3Umi Sa'adah
 
Materi ibc 8 Teori Berfikir Tingkat 2
Materi ibc 8 Teori Berfikir Tingkat 2Materi ibc 8 Teori Berfikir Tingkat 2
Materi ibc 8 Teori Berfikir Tingkat 2Umi Sa'adah
 

More from Umi Sa'adah (20)

Bunga rampai pemikiran islam
Bunga rampai pemikiran islamBunga rampai pemikiran islam
Bunga rampai pemikiran islam
 
Materi IBC 17 Makna Kematian
Materi IBC 17 Makna KematianMateri IBC 17 Makna Kematian
Materi IBC 17 Makna Kematian
 
Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin
Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin
Tanggung Jawab Intelektual Muslim dalam Mewujudkan Islam Rahmatan Lil Alamin
 
Materi IBC 23 Metode Penarikan Hukum Syariat
Materi IBC 23 Metode Penarikan Hukum SyariatMateri IBC 23 Metode Penarikan Hukum Syariat
Materi IBC 23 Metode Penarikan Hukum Syariat
 
Materi IBC 21 Penilaian Standar Perbuatan Manusia
Materi IBC 21 Penilaian Standar Perbuatan ManusiaMateri IBC 21 Penilaian Standar Perbuatan Manusia
Materi IBC 21 Penilaian Standar Perbuatan Manusia
 
Materi IBC 12 Dosa Investasi
Materi IBC 12 Dosa InvestasiMateri IBC 12 Dosa Investasi
Materi IBC 12 Dosa Investasi
 
Materi IBC 24 Sunnah Rosul
Materi IBC 24 Sunnah RosulMateri IBC 24 Sunnah Rosul
Materi IBC 24 Sunnah Rosul
 
Materi IBC 25 Metode Ijtihad
Materi IBC 25 Metode IjtihadMateri IBC 25 Metode Ijtihad
Materi IBC 25 Metode Ijtihad
 
Materi IBC 19 Meraih Amalan Tertinggi
Materi IBC 19 Meraih Amalan TertinggiMateri IBC 19 Meraih Amalan Tertinggi
Materi IBC 19 Meraih Amalan Tertinggi
 
Materi IBC 22 Hukum Syariat
Materi IBC 22 Hukum SyariatMateri IBC 22 Hukum Syariat
Materi IBC 22 Hukum Syariat
 
Materi IBC 18 Kedudukan Doa
Materi IBC 18 Kedudukan DoaMateri IBC 18 Kedudukan Doa
Materi IBC 18 Kedudukan Doa
 
Materi IBC16 Makna Rejeki
Materi IBC16 Makna RejekiMateri IBC16 Makna Rejeki
Materi IBC16 Makna Rejeki
 
Materi IBC 20 Sandar Perbuatan
Materi IBC 20 Sandar PerbuatanMateri IBC 20 Sandar Perbuatan
Materi IBC 20 Sandar Perbuatan
 
Materi IBC15 Makna Tawakkal
Materi IBC15 Makna TawakkalMateri IBC15 Makna Tawakkal
Materi IBC15 Makna Tawakkal
 
Materi IBC 14 Petunjuk dan Kesesatan
Materi IBC 14 Petunjuk dan KesesatanMateri IBC 14 Petunjuk dan Kesesatan
Materi IBC 14 Petunjuk dan Kesesatan
 
Materi IBC 13 Qodlo dan Qodar
Materi IBC 13 Qodlo dan QodarMateri IBC 13 Qodlo dan Qodar
Materi IBC 13 Qodlo dan Qodar
 
Materi IBC 11 Membuktikan Kebenaran Al Quran
Materi IBC 11 Membuktikan Kebenaran Al QuranMateri IBC 11 Membuktikan Kebenaran Al Quran
Materi IBC 11 Membuktikan Kebenaran Al Quran
 
Materi IBC 10 Dari Mana Manusia Berasal
Materi IBC 10 Dari Mana Manusia BerasalMateri IBC 10 Dari Mana Manusia Berasal
Materi IBC 10 Dari Mana Manusia Berasal
 
Materi IBC 9 Teori Berfikir Tingkat 3
Materi IBC 9 Teori Berfikir Tingkat 3Materi IBC 9 Teori Berfikir Tingkat 3
Materi IBC 9 Teori Berfikir Tingkat 3
 
Materi ibc 8 Teori Berfikir Tingkat 2
Materi ibc 8 Teori Berfikir Tingkat 2Materi ibc 8 Teori Berfikir Tingkat 2
Materi ibc 8 Teori Berfikir Tingkat 2
 

Recently uploaded

Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxrofikpriyanto2
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxRioNahak1
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...Kanaidi ken
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxmtsmampunbarub4
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasHardaminOde2
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptGirl38
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxrahmaamaw03
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSyudi_alfian
 

Recently uploaded (20)

Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptx
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..ppt
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docx
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
 

INSERT_LINKED_LIST

  • 1. Algoritma dan Struktur Data Single Linked List – Operasi INSERT Umi Sa’adah Tita Karlita Entin Martiana K Arna Fariza 2021
  • 3. PENGERTIAN ●Linked list terdiri atas elemen- elemen individu yang masing2 dihubungkan dengan pointer tunggal. ●Setiap elemen terdiri atas 2 bagian : ● data/informasi yang disimpan ● next, yaitu pointer yang menyimpan alamat elemen selanjutnya Elemen Individu ? data next
  • 4. Dalam single linked list, list hanya dapat dilintasi satu arah dari head ke tail 1000 head Nilai 2000 1000 Nilai 2000 2000 tail Ilustrasi PENGERTIAN
  • 5. Linked List • Pada realitanya, posisi linked list terpencar-pencar di memori • Pointer dari elemen ke elemen berarti sebagai penjamin bahwa semua elemen dapat diakses.
  • 6. Representasi Linked List 6 b h e a d c typedef struct simpul Node; struct simpul { char data; Node *next; }; Node *head; •Tiap simpul terdiri atas 2 bagian : data dan pointer next. •Pointer head menunjuk ke simpul pertama dr linked list
  • 7. Linked List 7 b h e a d c typedef struct simpul Node; struct simpul { char data; Node *next; }; Node *head; head->next->next head->next head->next->data head->data
  • 8. Linked List 8 b h e a d c p p->data p->next Pointer next dari simpul terakhir = NULL Simpul pertama ditunjuk oleh sebuah pointer : head p=head- >next;
  • 9. Empty linked list 9 h e a d • Linked list yang masih kosong ditunjukkan oleh pointer head yang bernilai NULL. • Ingat, pointer head menunjuk ke simpul pertama dalam sebuah linked list. • Jika list masih kosong, maka tidak terdapat simpul pertama. h e a d Utk singkatnya, biasanya sel pointernya tidak digambar.
  • 10. ALGORITMA INSERT SLL 1. Siapkan node baru yang akan disisipkan. 2. Cari posisi yang akan disisipkan. 3. Sambungkan dengan existing linked list.
  • 11. Operasi Insert SLL INSERT SLL { AWAL AKHIR AFTER BEFORE
  • 13. PENGERTIAN Insert Awal adalah menambahkan data (simpul baru) di ujung kiri dalam sebuah linked list.
  • 14. ILUSTRASI Pointer-pointer bantuan yang digunakan dalam Insert Awal : 1. p = digunakan untuk memesan alokasi node baru. 2. head = pointer yang akan menunjuk data pertama dalam linked list.
  • 15. 1. SIAPKAN NODE BARU YANG AKAN DISISIPKAN P p = (Node *)malloc(size of(Node)); p data = Nilai; p next = NULL; Nilai = 4 2000 ? ? 2000 4
  • 17. 2. CARI POSISI YANG AKAN DISISIPKAN 2000 P 4 if (head==NULL) head = p; else p next = head; head = p; 2000 head
  • 18. 3. SAMBUNGKAN DENGAN EXISTING LINKED LIST 2000 P 4 if (head==NULL) head = p; else p next = head; head = p; 2000 head 2000
  • 21. 2. CARI POSISI YANG AKAN DISISIPKAN 2000 P 4 3000 if (head==NULL) head = p; else p next = head; head = p; 2000 3000 head 2 4000 3000 5 4000 Karena insert awal, maka node baru pasti akan menjadi data pertama yang ditunjuk oleh head
  • 22. 3. SAMBUNGKAN DENGAN EXISTING LINKED LIST 2000 P 4 2000 3000 head 2 4000 3000 5 4000 2000 if (head==NULL) head = p; else p next = head; head = p; 3000
  • 25. PENGERTIAN Insert Akhir adalah menambahkan data (simpul baru) di ujung kanan dalam sebuah linked list.
  • 26. ILUSTRASI Pointer-pointer bantuan yang digunakan dalam Insert Akhir : 1. p = digunakan untuk memesan alokasi node baru. 2. head = pointer yang akan menunjuk data pertama dalam linked list. 3. tail = pointer yang digunakan untuk mencari letak simpul terakhir dalam linked list.
  • 27. 1. SIAPKAN NODE BARU YANG AKAN DISISIPKAN P p = (Node *)malloc(size of(Node)); p data = Nilai; p next = NULL; Nilai = 5 4000 ? ? 4000 5
  • 29. 2. CARI POSISI YANG AKAN DISISIPKAN if (head==NULL) head = p; else{ tail = head; while (tail next != NULL){ tail = tail next;} } head 4000 P 5 4000 tail ?
  • 30. 3. SAMBUNGKAN DENGAN EXISTING LINKED LIST 4000 P 5 4000 head if (head==NULL) head = p; else{ tail = head; while (tail next != NULL) tail = tail next; } 4000 tail ?
  • 33. 2. CARI POSISI YANG AKAN DISISIPKAN 2000 head 1 3000 2000 7 3000 tail 3000 2000 if (head==NULL) head = p; else{ tail = head; while (tail next != NULL){ tail = tail next;} } ?
  • 34. tail next = p; tail = tail next; 2000 head 1 3000 2000 7 3000 tail 3. SAMBUNGKAN DENGAN EXISTING LINKED LIST 4000 P 5 4000 4000 3000 4000
  • 37. PENGERTIAN Insert After adalah menambahkan data (simpul baru) sesudah data yang bertindak sebagai key.
  • 38. ILUSTRASI Pointer-pointer bantuan yang digunakan dalam Insert After : 1. p = digunakan untuk memesan alokasi node baru. 2. head = pointer yang akan menunjuk data pertama dalam linked list. 3. after = pointer yang digunakan untuk mencari key yang diinputkan oleh user.
  • 39. 1. SIAPKAN NODE BARU YANG AKAN DISISIPKAN P p = (Node *)malloc(size of(Node)); p data = Nilai; p next = NULL; Nilai = 7 3000 ? ? 3000 7
  • 41. 2. CARI POSISI YANG AKAN DISISIPKAN after = head; while (after data != key){ if (after next == NULL){ puts(“Key Tidak Ada”); }else{ after = after next; } } Key = 4 1000 head 2 2000 1000 9 2000 after 1000 2000 Key Tidak Ada ?
  • 43. 2. CARI POSISI YANG AKAN DISISIPKAN Key = 4 1000 head 2 2000 1000 4 2000 after 1000 2000 after = head; while (after data != key){ if (after next == NULL){ puts(“Key Tidak Ada”); }else{ after = after next; } } ?
  • 44. P next = after next; after next = P; 3. SAMBUNGKAN DENGAN EXISTING LINKED LIST Key = 4 1000 head 2 2000 1000 4 2000 after 2000 3000 P 7 3000 Karena tidak ada data lagi setelah after next, maka p next tetap bernilai NULL. 3000
  • 47. PENGERTIAN Insert Before adalah menambahkan data (simpul baru) sebelum data yang bertindak sebagai key.
  • 48. ILUSTRASI Pointer-pointer bantuan yang digunakan dalam Insert Before : 1. p = digunakan untuk memesan alokasi node baru. 2. head = pointer yang akan menunjuk data pertama dalam linked list. 3. bef = singkatan dari pointer before yang digunakan untuk mencari key yang diinputkan oleh user. 4. pbef = singkatan dari pointer previous before yang digunakan untuk penanda node yang berada sebelum node yang ditunjuk oleh pointer bef.
  • 49. 1. SIAPKAN NODE BARU YANG AKAN DISISIPKAN P p = (Node *)malloc(size of(Node)); p data = Nilai; p next = NULL; Nilai = 5 2500 ? ? 2500 5
  • 51. 2. CARI POSISI YANG AKAN DISISIPKAN if (head data == key){ insertawal; }else{ bef = head; do{ pbef = bef; if(bef next == NULL){ puts(“Key Tidak Ada”); }else{ bef = bef next; }while(bef data != key);} Key = 3 1000 head 3 2000 1000 9 2000 insertawal; bef pbef ? ?
  • 52. HASIL AKHIR 2500 head 3 2000 1000 9 2000 2500 P 5 2500 1000 P.S Hasil akhir di dapat setelah melakukan insertawal.
  • 54. 2. CARI POSISI YANG AKAN DISISIPKAN Key = 3 1000 head 6 2000 1000 9 2000 Key Tidak Ada if (head data == key){ insertawal; }else{ bef = head; do{ pbef = bef; if(bef next == NULL){ puts(“Key Tidak Ada”); }else{ bef = bef next; }while(bef data != key);} bef pbef ? ? 1000 1000 2000 2000
  • 56. 2. CARI POSISI YANG AKAN DISISIPKAN Key = 3 1000 head 6 2000 1000 3 2000 bef pbef 1000 2000 if (head data == key){ insertawal; }else{ bef = head; do{ pbef = bef; if(bef next == NULL){ puts(“Key Tidak Ada”); }else{ bef = bef next; }while(bef data != key);} ? ? 1000
  • 57. P next = bef; pbef next = P; 3. SAMBUNGKAN DENGAN EXISTING LINKED LIST Key = 3 1000 head 6 1000 3 2000 2000 bef 1000 pbef 2500 P 5 2000 2500 2000 2500
  • 59. Disusun oleh: FAHMI R KURNIAWAN 2110161010 DEYANA KUSUMA WARDANI 2110161015 RIFKI DWI ACHSANI T 2110161028 1 D4 TEKNIK INFORMATIKA A
  • 60. Referensi 60 1. Brian W. Kerninghan, Dennis M. Ritchie (2012): The C Programming Language : Ansi C Version 2 Edition, PHI Learning 2. Byron Gottfried (2010) : Programming with C, Tata McGraw - Hill Education 3. Kochan Stephen (20040 : Programming in C, 3rd Edition, Sams 4. K. N. King (2008) : C Programming: A Modern Approach, 2nd Edition, W. W. Norton & Company 5. Abdul Kadir (2012) : Algoritma & Pemrograman Menggunakan C & C++, Andi Publisher, Yogyakarta 6. http://www.gdsw.at/languages/c/programming-bbrown/ 7. https://www.petanikode.com/tutorial/c/ 8. http://www.cprogramming.com/tutorial/c-tutorial.html