SlideShare a Scribd company logo
1 of 11
Download to read offline
Operasi Dasar Singly linked List
(Primitive List)
Akmal, S.Si, MT
Mata Kuliah : Struktur Data
Searching (Pencarian)
 Algoritma yang digunakan adalah linear search. Pencarian dilakukan ketika diberikan
sebuah list berikut kunci pencariannya. Pencarian dimulai dari elemen pertama dan
dilakukan sampai data yang dicari ditemukan ATAU data dalam list sudah habis
diperiksa. Atau sebaliknya dikatakan bahwa pencarian dilakukan selama data yang
dicari belum ditemukan DAN data dalam list yang akan diperiksa masih ada
{Hukum de Morgan : (A or B)’ = A’ and B’}.
Setelah proses pencarian selesai dilakukan maka akan dihasilkan status ditemukan
atau tidak ditemukannya elemen yang dicari beserta alamat dari elemen yang dicari
tersebut. (NULL jika tidak ditemukan).
A B C D
First
pCari
1
Fungsi searching dengan cara linear search
void linearSearch(List First,int key, int& found, pointer& pCari){
found=0; // belum ditemukan
pCari=First; // pencarian mulai dari elemen pertama
while (found==0 && pCari!=NULL) {
if (pCari->info==key)
found=1;
else
pCari=pCari->next;
}
}
Misalkan dalam list First akan dicari elemen dengan kunci = C
kunci=’C’
linearSearch(First, kunci, ketemu, pCari);
if (ketemu) {
cout<<”Ditemukan dgn informasinya : “<< pCari->info;
}
else {
cout<<”Tidak Ditemukan “ << endl;
}
Insert After (Penyisipan Sesudah Elemen)
 Penyisipan pada Insert After adalah proses penyisipan sebuah elemen yang baru
sesudah suatu elemen tertentu. Alamat elemen dimana elemen akan disisipkan
sudah diketahui terlebih dahulu. Untuk mengetahui dan mendapatkan alamat elemen
tertentu bisa menggunakan fungsi pencarian linear search.
Langkah-langkah penyisipan :
Temukan suatu elemen dimana elemen yang baru akan disisipkan sesudah elemen
tersebut.
Jika ditemukan, maka ada 2 kasus yang mungkin terjadi yaitu
Elemen yang dicari berada di belakang sehingga akan terjadi penyisipan di belakang (insert
Last )
A B C D
First
pCari pBaru
1. pCari -> next = pBaru
1
Insert After (Penyisipan Sesudah Elemen)
 Elemen yang dicari berada di tengah sehingga elemen yang baru
akan berada diantara 2 buah elemen
Sambungkan antara elemen yang baru dengan elemen sesudah pCari
(pBaru->next = pCari->next)
Sambungkan antara elemen yang ditunjuk oleh pCari dengan elemen yang
baru (pCari->next = pBaru)
A B D
C
First
pCari
pBaru
12 1. pBaru ->next=pCari ->next
2. pCari ->next = pBaru
Fungsi Insert After
void insertAfter(List& First,pointer pCari,pointer pBaru){
//I.S : List tidak mungkin kosong, pCari sudah
// diketahui, pBaru sudah terdefinisi
//F.S : pBaru disisipkan sesudah pCari
if (pCari->next==NULL) // elemen terakhir
pCari->next=pBaru;
else { // bukan terakhir
pBaru->next=pCari->next;
pCari->next=pBaru;
}
}
Pemanggilan fungsi insertAfter
cout<<"Masukkan kunci pencarian : "; cin>>key; //B
linearSearch(Ma08,key,ketemu,pCari);
if (ketemu){
cout<<" Ditemukan yang dicari "<<endl;
createElement(p); //C
insertAfter(Ma08,pCari,p); // Sisipkan C sesudah B
traversal(Ma08); //A B C D
}
else {
cout<<" Tidak Ditemukan yang dicari "<<endl;
}
Delete After (Penghapusan Sesudah Elemen)
Penghapusan pada Delete After adalah proses penghapusan sebuah elemen sesudah
suatu elemen tertentu. Alamat elemen dimana elemen sebelumnya berada sudah
diketahui terlebih dahulu. Untuk mengetahui dan mendapatkan alamat elemen
tertentu bisa menggunakan fungsi pencarian linear search.
Langkah-langkah penghapusan :
 Temukan suatu elemen yang akan dihapus elemen yang sesudah elemen tersebut.
 Jika ditemukan, maka ada 3 kasus yang mungkin terjadi yaitu
a. Elemen yang dicari (pCari) berada di belakang sehingga tidak ada yang akan dihapus sesudah
pCari tersebut.
b. pCari menunjuk elemen sebelum yang terakhir maka akan dilakukan penghapusan di
belakang (delete Last)
 pHapus = pCari->next
 pCari->next = NULL
c. pCari berada pada selain a dan b atau yang akan dihapus berada diantara 2 buah elemen.
1. pHapus adalah elemen sesudah pCari
 pHapus = pCari->next
2. lepaskan kaitan antara yang ditunjuk oleh pCari dengan yang akan dihapus dengan cara
menyambungkan pCari ke yang sesudah pHapus
 pCari->next = pHapus->next
3. putuskan kaitan antara yang ditunjuk oleh pHapus dengan elemen sesudahnya
 pHapus->next = NULL
Delete After
 Antara kasus b dan kasus c bisa digabungkan dengan hanya
menjadikannya mengikuti kasus no c saja.
A B C D
First
pCari
pHapus
2
1
3
1. pHapus = pCari->next
2. pCari->next = pHapus->next
3. pHapus->next = NULL
Fungsi Delete After
//I.S : List tidak mungkin kosong
//F.S : pHapus adalah elemen sesudah pCari
void deleteAfter(List& First,pointer pCari,pointer& pHapus){
if (pCari->next==NULL){
pHapus = NULL;
cout<<”Tidak ada yang dihapus “<<endl;
}
else {
pHapus = pCari->next;
pCari->next = pHapus->next; // NULL jika pHapus
// di belakang
pHapus->next = NULL;
}
}
Latihan dan Tugas
1. Buatlah fungsi untuk melakukan penghapusan elemen
yang dicari (DeletePCari). Dilakukan pencarian
menggunakan Searching dan jika ditemukan maka elemen
tersebut akan dihapus dari list berkait. Analisis semua
kasus yang mungkin terjadi. Tambahkan pointer bantuan
untuk membantu proses pemutusan elemen.
2. Buatlah program lengkap semua primitive list dengan
pengelolaan menggunakan suatu menu. Kasus list yang
ditangani adalah list pegawai dengan atribut NIP, nama,
alamat, gol, dan gaji

More Related Content

What's hot

MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)Kelinci Coklat
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15doudomblogspot
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman TerstrukturKelinci Coklat
 
Trigger Database
Trigger DatabaseTrigger Database
Trigger DatabasePutra Andry
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortKuliahKita
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAdam Mukharil Bachtiar
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 

What's hot (20)

MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
8. Multi List (Struktur Data)
8. Multi List (Struktur Data)8. Multi List (Struktur Data)
8. Multi List (Struktur Data)
 
Linked List
Linked ListLinked List
Linked List
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 
Trigger Database
Trigger DatabaseTrigger Database
Trigger Database
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection Sort
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
Contoh soal uts struktur data
Contoh soal uts struktur dataContoh soal uts struktur data
Contoh soal uts struktur data
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
Algoritma Matriks
Algoritma MatriksAlgoritma Matriks
Algoritma Matriks
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Linked List
Linked ListLinked List
Linked List
 
Contoh knn
Contoh knnContoh knn
Contoh knn
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
 

More from Kelinci Coklat

Bab 7 integrasi numerik
Bab 7 integrasi numerikBab 7 integrasi numerik
Bab 7 integrasi numerikKelinci Coklat
 
Bab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutanBab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutanKelinci Coklat
 
Bab 4 sistem persamaan linear
Bab 4 sistem persamaan linearBab 4 sistem persamaan linear
Bab 4 sistem persamaan linearKelinci Coklat
 
Bab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linearBab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linearKelinci Coklat
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galatKelinci Coklat
 
Bab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasaBab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasaKelinci Coklat
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)Kelinci Coklat
 
Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)Kelinci Coklat
 
Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Kelinci Coklat
 
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)Kelinci Coklat
 
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)Kelinci Coklat
 
Anuitas di Muka dan Ditunda (Matematika Keuangan)
Anuitas di Muka dan Ditunda (Matematika Keuangan)Anuitas di Muka dan Ditunda (Matematika Keuangan)
Anuitas di Muka dan Ditunda (Matematika Keuangan)Kelinci Coklat
 
Amortisasi dan Penyusutan (Matematika Keuangan)
Amortisasi dan Penyusutan (Matematika Keuangan)Amortisasi dan Penyusutan (Matematika Keuangan)
Amortisasi dan Penyusutan (Matematika Keuangan)Kelinci Coklat
 
Obligasi (Matematika Keuangan)
Obligasi (Matematika Keuangan)Obligasi (Matematika Keuangan)
Obligasi (Matematika Keuangan)Kelinci Coklat
 
Saham, Yield, dan Return (Matematika Keuangan)
Saham, Yield, dan Return (Matematika Keuangan)Saham, Yield, dan Return (Matematika Keuangan)
Saham, Yield, dan Return (Matematika Keuangan)Kelinci Coklat
 
Perdagangan Margin (Matematika Keuangan)
Perdagangan Margin (Matematika Keuangan)Perdagangan Margin (Matematika Keuangan)
Perdagangan Margin (Matematika Keuangan)Kelinci Coklat
 

More from Kelinci Coklat (20)

Bab 7 integrasi numerik
Bab 7 integrasi numerikBab 7 integrasi numerik
Bab 7 integrasi numerik
 
Bab 6 turunan numerik
Bab 6 turunan numerikBab 6 turunan numerik
Bab 6 turunan numerik
 
Bab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutanBab 5 interpolasi newton lanjutan
Bab 5 interpolasi newton lanjutan
 
Bab 5 interpolasi
Bab 5 interpolasiBab 5 interpolasi
Bab 5 interpolasi
 
Bab 4 sistem persamaan linear
Bab 4 sistem persamaan linearBab 4 sistem persamaan linear
Bab 4 sistem persamaan linear
 
Bab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linearBab 3 penyelesaian persamaan tak linear
Bab 3 penyelesaian persamaan tak linear
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galat
 
Bab 1 pendahuluan
Bab 1 pendahuluanBab 1 pendahuluan
Bab 1 pendahuluan
 
Bab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasaBab 8 persamaan differensial-biasa
Bab 8 persamaan differensial-biasa
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
 
Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)Anuitas Biasa (Matematika Keuangan)
Anuitas Biasa (Matematika Keuangan)
 
Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)Bunga Majemuk (Matematika Keuangan)
Bunga Majemuk (Matematika Keuangan)
 
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
Bunga Sederhana dan Tingkat Diskon (Matematika Keuangan)
 
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)Anuitas Tumbuh dan Variabel (Matematika Keuangan)
Anuitas Tumbuh dan Variabel (Matematika Keuangan)
 
Anuitas di Muka dan Ditunda (Matematika Keuangan)
Anuitas di Muka dan Ditunda (Matematika Keuangan)Anuitas di Muka dan Ditunda (Matematika Keuangan)
Anuitas di Muka dan Ditunda (Matematika Keuangan)
 
Amortisasi dan Penyusutan (Matematika Keuangan)
Amortisasi dan Penyusutan (Matematika Keuangan)Amortisasi dan Penyusutan (Matematika Keuangan)
Amortisasi dan Penyusutan (Matematika Keuangan)
 
Obligasi (Matematika Keuangan)
Obligasi (Matematika Keuangan)Obligasi (Matematika Keuangan)
Obligasi (Matematika Keuangan)
 
Saham, Yield, dan Return (Matematika Keuangan)
Saham, Yield, dan Return (Matematika Keuangan)Saham, Yield, dan Return (Matematika Keuangan)
Saham, Yield, dan Return (Matematika Keuangan)
 
Perdagangan Margin (Matematika Keuangan)
Perdagangan Margin (Matematika Keuangan)Perdagangan Margin (Matematika Keuangan)
Perdagangan Margin (Matematika Keuangan)
 
Integral Garis
Integral GarisIntegral Garis
Integral Garis
 

Recently uploaded

Ppt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada AnakPpt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada Anakbekamalayniasinta
 
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
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxErikaPuspita10
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau tripletMelianaJayasaputra
 
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 Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
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
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
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
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
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
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 

Recently uploaded (20)

Ppt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada AnakPpt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada Anak
 
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
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet
 
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 Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
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
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).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
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
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...
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 

Operasi Dasar Singly Linked List

  • 1. Operasi Dasar Singly linked List (Primitive List) Akmal, S.Si, MT Mata Kuliah : Struktur Data
  • 2. Searching (Pencarian)  Algoritma yang digunakan adalah linear search. Pencarian dilakukan ketika diberikan sebuah list berikut kunci pencariannya. Pencarian dimulai dari elemen pertama dan dilakukan sampai data yang dicari ditemukan ATAU data dalam list sudah habis diperiksa. Atau sebaliknya dikatakan bahwa pencarian dilakukan selama data yang dicari belum ditemukan DAN data dalam list yang akan diperiksa masih ada {Hukum de Morgan : (A or B)’ = A’ and B’}. Setelah proses pencarian selesai dilakukan maka akan dihasilkan status ditemukan atau tidak ditemukannya elemen yang dicari beserta alamat dari elemen yang dicari tersebut. (NULL jika tidak ditemukan). A B C D First pCari 1
  • 3. Fungsi searching dengan cara linear search void linearSearch(List First,int key, int& found, pointer& pCari){ found=0; // belum ditemukan pCari=First; // pencarian mulai dari elemen pertama while (found==0 && pCari!=NULL) { if (pCari->info==key) found=1; else pCari=pCari->next; } } Misalkan dalam list First akan dicari elemen dengan kunci = C kunci=’C’ linearSearch(First, kunci, ketemu, pCari); if (ketemu) { cout<<”Ditemukan dgn informasinya : “<< pCari->info; } else { cout<<”Tidak Ditemukan “ << endl; }
  • 4. Insert After (Penyisipan Sesudah Elemen)  Penyisipan pada Insert After adalah proses penyisipan sebuah elemen yang baru sesudah suatu elemen tertentu. Alamat elemen dimana elemen akan disisipkan sudah diketahui terlebih dahulu. Untuk mengetahui dan mendapatkan alamat elemen tertentu bisa menggunakan fungsi pencarian linear search. Langkah-langkah penyisipan : Temukan suatu elemen dimana elemen yang baru akan disisipkan sesudah elemen tersebut. Jika ditemukan, maka ada 2 kasus yang mungkin terjadi yaitu Elemen yang dicari berada di belakang sehingga akan terjadi penyisipan di belakang (insert Last ) A B C D First pCari pBaru 1. pCari -> next = pBaru 1
  • 5. Insert After (Penyisipan Sesudah Elemen)  Elemen yang dicari berada di tengah sehingga elemen yang baru akan berada diantara 2 buah elemen Sambungkan antara elemen yang baru dengan elemen sesudah pCari (pBaru->next = pCari->next) Sambungkan antara elemen yang ditunjuk oleh pCari dengan elemen yang baru (pCari->next = pBaru) A B D C First pCari pBaru 12 1. pBaru ->next=pCari ->next 2. pCari ->next = pBaru
  • 6. Fungsi Insert After void insertAfter(List& First,pointer pCari,pointer pBaru){ //I.S : List tidak mungkin kosong, pCari sudah // diketahui, pBaru sudah terdefinisi //F.S : pBaru disisipkan sesudah pCari if (pCari->next==NULL) // elemen terakhir pCari->next=pBaru; else { // bukan terakhir pBaru->next=pCari->next; pCari->next=pBaru; } }
  • 7. Pemanggilan fungsi insertAfter cout<<"Masukkan kunci pencarian : "; cin>>key; //B linearSearch(Ma08,key,ketemu,pCari); if (ketemu){ cout<<" Ditemukan yang dicari "<<endl; createElement(p); //C insertAfter(Ma08,pCari,p); // Sisipkan C sesudah B traversal(Ma08); //A B C D } else { cout<<" Tidak Ditemukan yang dicari "<<endl; }
  • 8. Delete After (Penghapusan Sesudah Elemen) Penghapusan pada Delete After adalah proses penghapusan sebuah elemen sesudah suatu elemen tertentu. Alamat elemen dimana elemen sebelumnya berada sudah diketahui terlebih dahulu. Untuk mengetahui dan mendapatkan alamat elemen tertentu bisa menggunakan fungsi pencarian linear search. Langkah-langkah penghapusan :  Temukan suatu elemen yang akan dihapus elemen yang sesudah elemen tersebut.  Jika ditemukan, maka ada 3 kasus yang mungkin terjadi yaitu a. Elemen yang dicari (pCari) berada di belakang sehingga tidak ada yang akan dihapus sesudah pCari tersebut. b. pCari menunjuk elemen sebelum yang terakhir maka akan dilakukan penghapusan di belakang (delete Last)  pHapus = pCari->next  pCari->next = NULL c. pCari berada pada selain a dan b atau yang akan dihapus berada diantara 2 buah elemen. 1. pHapus adalah elemen sesudah pCari  pHapus = pCari->next 2. lepaskan kaitan antara yang ditunjuk oleh pCari dengan yang akan dihapus dengan cara menyambungkan pCari ke yang sesudah pHapus  pCari->next = pHapus->next 3. putuskan kaitan antara yang ditunjuk oleh pHapus dengan elemen sesudahnya  pHapus->next = NULL
  • 9. Delete After  Antara kasus b dan kasus c bisa digabungkan dengan hanya menjadikannya mengikuti kasus no c saja. A B C D First pCari pHapus 2 1 3 1. pHapus = pCari->next 2. pCari->next = pHapus->next 3. pHapus->next = NULL
  • 10. Fungsi Delete After //I.S : List tidak mungkin kosong //F.S : pHapus adalah elemen sesudah pCari void deleteAfter(List& First,pointer pCari,pointer& pHapus){ if (pCari->next==NULL){ pHapus = NULL; cout<<”Tidak ada yang dihapus “<<endl; } else { pHapus = pCari->next; pCari->next = pHapus->next; // NULL jika pHapus // di belakang pHapus->next = NULL; } }
  • 11. Latihan dan Tugas 1. Buatlah fungsi untuk melakukan penghapusan elemen yang dicari (DeletePCari). Dilakukan pencarian menggunakan Searching dan jika ditemukan maka elemen tersebut akan dihapus dari list berkait. Analisis semua kasus yang mungkin terjadi. Tambahkan pointer bantuan untuk membantu proses pemutusan elemen. 2. Buatlah program lengkap semua primitive list dengan pengelolaan menggunakan suatu menu. Kasus list yang ditangani adalah list pegawai dengan atribut NIP, nama, alamat, gol, dan gaji