SlideShare a Scribd company logo
1 of 14
Multi List
Akmal, S.Si, MT
Erick Paulus, M.Kom
Mata Kuliah : Struktur Data
Tujuan
 Mahasiswa dapat : merancang model
struktur multi list dan menyusun relasi
antar sub list dengan memanfaatkan
semua algoritma yang sudah diberikan
dalam operasi dasar list berkait dengan
benar
Pokok Bahasan
 Pengertian Multi List
 Pengelolaan multi List
 Konsep Relasi
Pengertian Multi List
 MultiList adalah suatu struktur yang terdiri dari
beberapa buah list berkait yang saling berkaitan
(berelasi).
 Setiap struktur list berkait berbeda
karakteristiknya dengan list berkait yang lain.
 Misalkan akan dibuat sebuah multi list yang akan
mengelola sejumlah pegawai dan anak-anak
yang dimiliki oleh pegawai bersangkutan.
 Dalam hal ini pegawai akan disusun dalam
sebuah list berkait singly dan anak pun akan
disusun dalam list berkait singly pula.
Multi List Pegawai dan Anak
-------------------------------------------------------------------------------------
No NIP Nama Pegawai ... Nama Anak ....
-------------------------------------------------------------------------------------
1. A001 W A
B
2. A002 X C
D
E
3 . A003 Y -
4 A004 Z H
---------------------------------------------------------------------------------------
W
(Pegawai) X Y Z
A
B
C
D
E
H
First
FirstAnak
(nama Anak)
next
next
anak
Y tidak memiliki anak
Deklarasi dari struktur data multi list pegawai
struct Anak {
char infoAnak;
Anak* nextAnak;
};
struct Pegawai {
char infoPeg;
Anak* FirstAnak;
Pegawai* next;
};
typedef Pegawai* pointerPeg;
typedef Anak* pointerAnak;
typedef pointerPeg ListPeg;
Operasi Multi List
 Dengan menggunakan primitif-primitif yang sudah diketahui
sebelumnya, maka dalam hal ini bisa dipilih yang bersesuaian
untuk menyelesaikan permasalahan yang berkaitan dengan
multilist.
 Proses yang bisa dilakukan antara lain penambahan data pegawai
(misal dengan Insert First) dan penghapusan data pegawai (misal
dengan Delete First).
 Begitupun untuk penambahan data Anak bisa dilakukan dengan
Insert First dan penghapusan dengan Delete First. Penambahan
atau penghapusan dilakukan setelah mengetahui elemen orangtua
dari anak dengan menggunakan searching pegawai terlebih
dahulu.
Beberapa fungsi dasar yang bisa dibuat :
 void createListPeg(ListPeg& First);
 void createElementPeg(pointerPeg& pBaru);
 void createElementAnak(pointerAnak& pBaru);
 void traversalPeg(ListPeg First);
 void linearSearch(ListPeg First,char key,int& status,
pointerPeg& pCari);
 void insertFirstPeg(ListPeg& First, pointerPeg pBaru);
 void deleteFirstPeg(ListPeg& First, pointerPeg& pHapus);
 void insertFirstAnak(ListPeg& First, char key,pointerAnak
pBaru);
 void deleteFirstAnak(ListPeg& First, char key,pointerAnak&
pHapus);
 void traversalOrtuAnak(ListPeg First);
Insert First Anak / Penambahan Baru Elemen Anak di depan
 Untuk melakukan Insert Anak dilakukan dengan fungsi
sebagai berikut:
 Dilakukan pencarian terhadap elemen orang tua terlebih
dahulu
 Jika ditemukan maka kemudian baru dilakukan
penyisipan di depan pada FirstAnak. dengan 2 kasus
yang ditangani yaitu list anak masih kosong dan list
anak sudah ada isi.
 Jika tidak ditemukan maka penyisipan tidak dilakukan
void insertFirstAnak(ListPeg& First, char key,
pointerAnak pBaru){
// I.S List First mungkin kosong dan pBaru sudah terdefinisi
// F.S Elemen anak bertambah satu elemen di depan
pointerPeg pOrtu;
int ketemu;
cout<<"Insert First Anak"<<endl;
// linearSearch(First,key,ketemu,pOrtu);
pOrtu=First;
ketemu=0;
while (pOrtu !=NULL && ketemu==0) { //!ketemu
if (pOrtu->infoPeg==key)
ketemu=1;
else
pOrtu=pOrtu->next;
}
//----------------------------------------------
if (ketemu){ // (ketemu==1)
cout<<"Ditemukan"<<endl;
if (pOrtu->FirstAnak==NULL){
pOrtu->FirstAnak=pBaru;
}
else {
pBaru->nextAnak=pOrtu->FirstAnak;
pOrtu->FirstAnak=pBaru;
}
}
else{
cout<<"Tidak ditemukan"<<endl;
}
}
Delete First Anak / Penghapusan Elemen Anak di depan
 Untuk melakukan Delete Anak dilakukan dengan fungsi
sebagai berikut:
 Dilakukan pencarian terhadap orang tua terlebih dahulu
 Jika ditemukan maka kemudian baru dilakukan
penghapusan di depan pada FirstAnak. dengan 3 kasus
yang ditangani yaitu list anak masih kosong, list anak
dengan isi 1 elemen dan list anak dengan isi lebih dari
satu elemen. Jika tidak ditemukan maka penghapusan
tidak dilakukan
void deleteFirstAnak(ListPeg& First, char key,
pointerAnak& pHapus){
// I.S List First mungkin kosong
// F.S. List anak berkurang didepan, yg dihapus dikembalikan
pointerPeg pOrtu;
int ketemu;
cout<<"Delete First Anak"<<endl;
pOrtu=First;
ketemu=0;
while (pOrtu !=NULL && ketemu==0) {
if (pOrtu->infoPeg==key)
ketemu=1;
else
pOrtu=pOrtu->next;
}
if (ketemu) {
if (pOrtu->FirstAnak==NULL){ // kosong
pHapus=NULL;
cout<<"List kosong, tidak ada hapus"<<endl;
}
else if (pOrtu->FirstAnak->nextAnak==NULL){
//isi 1 elemen
pHapus=pOrtu->FirstAnak;
pOrtu->FirstAnak=NULL;
}
else { // isi > 1 elemen
pHapus=pOrtu->FirstAnak;
pOrtu->FirstAnak=pOrtu->FirstAnak->nextAnak;
pHapus->nextAnak=NULL;
}
}
else{
cout<<"Tidak ditemukan"<<endl;
}
}
Traversal Seluruh Pegawai dan Anak
 akan dilakukan proses untuk menampilkan daftar semua pegawai
berikut data anak-anak yang dimiliki.
void traversalOrtuAnak(ListPeg First){
pointerPeg pBantuPeg;
pointerAnak pBantuAnak;
cout<<"Traversal Pegawai"<<endl;
pBantuPeg=First;
while (pBantuPeg!=NULL){ //loop ortu
cout<<pBantuPeg->infoPeg <<endl;
pBantuAnak=pBantuPeg->FirstAnak;
while (pBantuAnak!=NULL) { //loop anak
cout<<" "<<pBantuAnak->infoAnak <<endl;
pBantuAnak=pBantuAnak->nextAnak;
}
pBantuPeg=pBantuPeg->next;
}
}
Latihan dan Tugas
 Buatlah struktur data / kamus data serta prosedur untuk menampilkan data divisi
karyawan dan daftar karyawan pada divisi tsb berbentuk multi list
 Bentuk tampilan yang diinginkan adalah sbb :
Daftar Divisi dan Karyawan PT KomputerKu Tbk
No. Nama Divisi NIP Karyawan Nama karyawan
1
2
3
HRD
Produksi
Pemasaran
H001
H002
P001
P002
P003
S001
Budi
Cica
Santi
Heri
Lili
Lala

More Related Content

What's hot

Implementasi queue
Implementasi queueImplementasi queue
Implementasi queueRhe Dwi Yuni
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi GraphZaldy Eka Putra
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur DataFajar Sany
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan DataSimon Patabang
 
Penjelasan listing program
Penjelasan listing programPenjelasan listing program
Penjelasan listing programPenyiar Unpab
 
Matematika himpunan
Matematika himpunanMatematika himpunan
Matematika himpunandattebayo90
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur DataMade Aditya
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan PembuktianFahrul Usman
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Operator logika dan proposisi majemuk
Operator logika dan proposisi majemukOperator logika dan proposisi majemuk
Operator logika dan proposisi majemukDantik Puspita
 

What's hot (20)

Latihan soal struktur data
Latihan soal struktur dataLatihan soal struktur data
Latihan soal struktur data
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur Data
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
Penjelasan listing program
Penjelasan listing programPenjelasan listing program
Penjelasan listing program
 
Matematika himpunan
Matematika himpunanMatematika himpunan
Matematika himpunan
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur Data
 
Pengantar database
Pengantar databasePengantar database
Pengantar database
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan Pembuktian
 
Logika dasr
Logika dasrLogika dasr
Logika dasr
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Operator logika dan proposisi majemuk
Operator logika dan proposisi majemukOperator logika dan proposisi majemuk
Operator logika dan proposisi majemuk
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 

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
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)Kelinci Coklat
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait SinglyKelinci Coklat
 
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
 
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
 
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
 

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
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
 
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)
 
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
 
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)
 

Recently uploaded

11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptxMiftahunnajahTVIBS
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptxHendryJulistiyanto
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
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
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
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
 
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
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfbibizaenab
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 

Recently uploaded (20)

11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
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
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
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 & ...
 
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...
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdfBab 6 Kreatif Mengungap Rasa dan Realitas.pdf
Bab 6 Kreatif Mengungap Rasa dan Realitas.pdf
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 

8. Multi List (Struktur Data)

  • 1. Multi List Akmal, S.Si, MT Erick Paulus, M.Kom Mata Kuliah : Struktur Data
  • 2. Tujuan  Mahasiswa dapat : merancang model struktur multi list dan menyusun relasi antar sub list dengan memanfaatkan semua algoritma yang sudah diberikan dalam operasi dasar list berkait dengan benar
  • 3. Pokok Bahasan  Pengertian Multi List  Pengelolaan multi List  Konsep Relasi
  • 4. Pengertian Multi List  MultiList adalah suatu struktur yang terdiri dari beberapa buah list berkait yang saling berkaitan (berelasi).  Setiap struktur list berkait berbeda karakteristiknya dengan list berkait yang lain.  Misalkan akan dibuat sebuah multi list yang akan mengelola sejumlah pegawai dan anak-anak yang dimiliki oleh pegawai bersangkutan.  Dalam hal ini pegawai akan disusun dalam sebuah list berkait singly dan anak pun akan disusun dalam list berkait singly pula.
  • 5. Multi List Pegawai dan Anak ------------------------------------------------------------------------------------- No NIP Nama Pegawai ... Nama Anak .... ------------------------------------------------------------------------------------- 1. A001 W A B 2. A002 X C D E 3 . A003 Y - 4 A004 Z H --------------------------------------------------------------------------------------- W (Pegawai) X Y Z A B C D E H First FirstAnak (nama Anak) next next anak Y tidak memiliki anak
  • 6. Deklarasi dari struktur data multi list pegawai struct Anak { char infoAnak; Anak* nextAnak; }; struct Pegawai { char infoPeg; Anak* FirstAnak; Pegawai* next; }; typedef Pegawai* pointerPeg; typedef Anak* pointerAnak; typedef pointerPeg ListPeg;
  • 7. Operasi Multi List  Dengan menggunakan primitif-primitif yang sudah diketahui sebelumnya, maka dalam hal ini bisa dipilih yang bersesuaian untuk menyelesaikan permasalahan yang berkaitan dengan multilist.  Proses yang bisa dilakukan antara lain penambahan data pegawai (misal dengan Insert First) dan penghapusan data pegawai (misal dengan Delete First).  Begitupun untuk penambahan data Anak bisa dilakukan dengan Insert First dan penghapusan dengan Delete First. Penambahan atau penghapusan dilakukan setelah mengetahui elemen orangtua dari anak dengan menggunakan searching pegawai terlebih dahulu.
  • 8. Beberapa fungsi dasar yang bisa dibuat :  void createListPeg(ListPeg& First);  void createElementPeg(pointerPeg& pBaru);  void createElementAnak(pointerAnak& pBaru);  void traversalPeg(ListPeg First);  void linearSearch(ListPeg First,char key,int& status, pointerPeg& pCari);  void insertFirstPeg(ListPeg& First, pointerPeg pBaru);  void deleteFirstPeg(ListPeg& First, pointerPeg& pHapus);  void insertFirstAnak(ListPeg& First, char key,pointerAnak pBaru);  void deleteFirstAnak(ListPeg& First, char key,pointerAnak& pHapus);  void traversalOrtuAnak(ListPeg First);
  • 9. Insert First Anak / Penambahan Baru Elemen Anak di depan  Untuk melakukan Insert Anak dilakukan dengan fungsi sebagai berikut:  Dilakukan pencarian terhadap elemen orang tua terlebih dahulu  Jika ditemukan maka kemudian baru dilakukan penyisipan di depan pada FirstAnak. dengan 2 kasus yang ditangani yaitu list anak masih kosong dan list anak sudah ada isi.  Jika tidak ditemukan maka penyisipan tidak dilakukan
  • 10. void insertFirstAnak(ListPeg& First, char key, pointerAnak pBaru){ // I.S List First mungkin kosong dan pBaru sudah terdefinisi // F.S Elemen anak bertambah satu elemen di depan pointerPeg pOrtu; int ketemu; cout<<"Insert First Anak"<<endl; // linearSearch(First,key,ketemu,pOrtu); pOrtu=First; ketemu=0; while (pOrtu !=NULL && ketemu==0) { //!ketemu if (pOrtu->infoPeg==key) ketemu=1; else pOrtu=pOrtu->next; } //---------------------------------------------- if (ketemu){ // (ketemu==1) cout<<"Ditemukan"<<endl; if (pOrtu->FirstAnak==NULL){ pOrtu->FirstAnak=pBaru; } else { pBaru->nextAnak=pOrtu->FirstAnak; pOrtu->FirstAnak=pBaru; } } else{ cout<<"Tidak ditemukan"<<endl; } }
  • 11. Delete First Anak / Penghapusan Elemen Anak di depan  Untuk melakukan Delete Anak dilakukan dengan fungsi sebagai berikut:  Dilakukan pencarian terhadap orang tua terlebih dahulu  Jika ditemukan maka kemudian baru dilakukan penghapusan di depan pada FirstAnak. dengan 3 kasus yang ditangani yaitu list anak masih kosong, list anak dengan isi 1 elemen dan list anak dengan isi lebih dari satu elemen. Jika tidak ditemukan maka penghapusan tidak dilakukan
  • 12. void deleteFirstAnak(ListPeg& First, char key, pointerAnak& pHapus){ // I.S List First mungkin kosong // F.S. List anak berkurang didepan, yg dihapus dikembalikan pointerPeg pOrtu; int ketemu; cout<<"Delete First Anak"<<endl; pOrtu=First; ketemu=0; while (pOrtu !=NULL && ketemu==0) { if (pOrtu->infoPeg==key) ketemu=1; else pOrtu=pOrtu->next; } if (ketemu) { if (pOrtu->FirstAnak==NULL){ // kosong pHapus=NULL; cout<<"List kosong, tidak ada hapus"<<endl; } else if (pOrtu->FirstAnak->nextAnak==NULL){ //isi 1 elemen pHapus=pOrtu->FirstAnak; pOrtu->FirstAnak=NULL; } else { // isi > 1 elemen pHapus=pOrtu->FirstAnak; pOrtu->FirstAnak=pOrtu->FirstAnak->nextAnak; pHapus->nextAnak=NULL; } } else{ cout<<"Tidak ditemukan"<<endl; } }
  • 13. Traversal Seluruh Pegawai dan Anak  akan dilakukan proses untuk menampilkan daftar semua pegawai berikut data anak-anak yang dimiliki. void traversalOrtuAnak(ListPeg First){ pointerPeg pBantuPeg; pointerAnak pBantuAnak; cout<<"Traversal Pegawai"<<endl; pBantuPeg=First; while (pBantuPeg!=NULL){ //loop ortu cout<<pBantuPeg->infoPeg <<endl; pBantuAnak=pBantuPeg->FirstAnak; while (pBantuAnak!=NULL) { //loop anak cout<<" "<<pBantuAnak->infoAnak <<endl; pBantuAnak=pBantuAnak->nextAnak; } pBantuPeg=pBantuPeg->next; } }
  • 14. Latihan dan Tugas  Buatlah struktur data / kamus data serta prosedur untuk menampilkan data divisi karyawan dan daftar karyawan pada divisi tsb berbentuk multi list  Bentuk tampilan yang diinginkan adalah sbb : Daftar Divisi dan Karyawan PT KomputerKu Tbk No. Nama Divisi NIP Karyawan Nama karyawan 1 2 3 HRD Produksi Pemasaran H001 H002 P001 P002 P003 S001 Budi Cica Santi Heri Lili Lala