SlideShare a Scribd company logo
1 of 13
Download to read offline
Senarai 
Algoritma dan 
Struktur Data 
Georgius Rinaldo 
dodo@kuliahkita.com
Definisi 
Senarai (List) adalah sebuah penyimpanan yang mirip 
dengan larik dengan ukuran yang dapat berubah-ubah 
atau fleksibel sesuai dengan jumlah data. 
Senarai = larik yang ukurannya dapat berubah (array list)
Struktur Senarai 
Pada sebuah penampung atau simpul (node) dari sebuah 
senarai, terdapat informasi: 
● nilai 
● informasi simpul berikutnya 
next pada gambar merupakan pointer atau penunjuk yang 
menghubungkan antar simpul. Apabila simpul merupakan 
elemen terakhir, maka nilai next adalah null
Cara Menambah ke Senarai 
Konsep penambahan elemen pada senarai adalah: 
1. alokasikan tempat untuk simpul baru 
2. salin item yang akan disimpan 
3. buat head dari senarai yang menunjuk ke arah simpul 
yang baru 
Walaupun tak terbatas seperti larik, tetapi item yang 
ditambahkan terbatas pada memory yang tersedia.
TDA Senarai 
{InfoType dan address adalah tipe yang telah didefinisikan} 
type ElmtList : < Info : InfoType, 
Next : address > 
type List : <First: address> {First adalah element pertama di list} 
{Deklarasi nama untuk variabel kerja} 
P: address {address untuk traversal}
Penjelasan TDA Senarai 
Dapat dilihat bahwa pada TDA senarai merupakan 
kumpulan dari alamat simpul yang saling berhubungan. 
Struktur data senarai dimulai dengan first yang menunjuk 
ke alamat dari sebuah simpul. Simpul akan menunjuk 
simpul lainnya yang akhirnya akan membentuk senarai 
atau list.
Penjelasan TDA Senarai - 2 
Simpul sendiri terdiri dari info dan next. 
Info adalah nilai yang disimpan pada sebuah simpul. 
Sedangkan next merupakan tempat menyimpan alamat 
dari simpul berikutnya. Karena simpul selalu memiliki next, 
maka simpul akan terus bersambung dan membentuk list. 
Jika sebuah simpul merupakan simpul terakhir, maka next 
akan berisi null.
Contoh Pendefinisian List C++ 
#include <iostream> 
using namespace std; 
#define info(P) (P)->info 
#define next(P) (P)->next 
#define First(L) ((L).First) 
typedef int Infotype; // definisikan bahwa Infotype adalah alias dari 
tipe integer 
typedef struct tElmtList *address; 
typedef struct tElmtList { 
Infotype info; // informasi bertipe infotype yang telah didefinisi 
address next; // alamat yang menunjuk ke simpul berikutnya 
} ElmtList; // ini adalah struktur sebuah simpul 
typedef struct { 
address First; 
} List; // tipe List berisi alamat pada simpul pertama
Contoh Pendefinisian List C++ 
... 
/* Pembuatan simpul */ 
ElmtList buatSimpul(Infotype x) { 
ElmtList elem; // definisikan ElmtList sebagai simpul 
elem.info = x; // isi informasi pada simpul 
elem.next = NULL; // alamat next simpul baru adalah NULL 
return elem; 
} 
...
Contoh Pendefinisian List C++ 
... 
/* Mengalokasikan sebuah simpul pada senarai */ 
void alokasi(List *L, ElmtList node) { 
// apabila senarai kosong, maka langsung alokasikan 
if (L->First == NULL) { 
L->First = &node; 
} else { 
// apabila senarai sudah ada isinya 
address el = L->First; 
// cari mana alamat simpul senarai yang kosong untuk dialokasikan 
while(el->next != NULL) { 
el = el->next; 
} 
// isi senarai dengan simpul yang dibuat 
el->next = &node; 
} 
} 
...
Contoh Pendefinisian List C++ 
... 
/* Pencarian pada senarai */ 
bool pencarian (List *L, Infotype x) { 
// inisialisasi simpul awal 
address el = L->First; 
// iterasi pencarian sampai pada simpul yang tidak memiliki informasi 
while(el->info != NULL) { 
// apabila cocok, kembalikan true 
if (el->info == x){ 
return true; 
} 
// jika tidak cocok, ke simpul berikutnya 
el = el->next; 
} 
return false; // kembalkan false ketika semua telah ditelusuri dan tidak ada 
} 
...
Contoh Pendefinisian List C++ 
... 
int main() { 
List L; // definisikan senarai 
ElmtList elem1,elem2,elem3; // definisikan simpul yang akan diisi 
elem1 = buatSimpul(10); // buat simpul 
elem2 = buatSimpul(20); 
elem3 = buatSimpul(30); 
alokasi(&L, elem1); // alokasikan simpul-simpul 
alokasi(&L, elem2); 
alokasi(&L, elem3); 
cout << L.First->info << endl; // coba cetak elemen pertama 
cout << L.First->next->info << endl; // coba cetak elemen kedua 
bool dapatkah = pencarian(&L,30); // cari apakah elemen ada pada senarai? 
cout << dapatkah; 
return 0; 
}
Contoh: Pemakaian List 
// Contoh List pada library C++ 
using namespace std; 
list<int> deretbilangan; // definisi list dari integer

More Related Content

What's hot

Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerKuliahKita
 
Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021Saprudin Eskom
 
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
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyastephan EL'wiin Shaarawy
 
Kisi kisi uas struktur data
Kisi kisi uas struktur dataKisi kisi uas struktur data
Kisi kisi uas struktur dataDwi Mardianti
 
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021Saprudin Eskom
 
Pengenalan pola sederhana dg perceptron
Pengenalan pola sederhana dg perceptronPengenalan pola sederhana dg perceptron
Pengenalan pola sederhana dg perceptronArief Fatchul Huda
 
Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2Rosyid Ridlo
 
Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)eka pandu cynthia
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortKuliahKita
 
Makalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDMMakalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDMElma Fiana
 
Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)Adam Mukharil Bachtiar
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queueMuhammad Najib
 
Pertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon BinerPertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon BinerEndang Retnoningsih
 

What's hot (20)

Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Arsitektur basis data
Arsitektur basis dataArsitektur basis data
Arsitektur basis data
 
Algoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon BinerAlgoritma dan Struktur Data - Pohon Biner
Algoritma dan Struktur Data - Pohon Biner
 
Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xi rpl tahun 2021
 
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
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
 
Kisi kisi uas struktur data
Kisi kisi uas struktur dataKisi kisi uas struktur data
Kisi kisi uas struktur data
 
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
Soal uts/ pts semester genap mapel pbo kelas xii rpl tahun 2021
 
Himpunan matematika diskrit
Himpunan matematika diskritHimpunan matematika diskrit
Himpunan matematika diskrit
 
Contoh soal uts perancangan basis data
Contoh soal uts perancangan basis dataContoh soal uts perancangan basis data
Contoh soal uts perancangan basis data
 
Pengenalan pola sederhana dg perceptron
Pengenalan pola sederhana dg perceptronPengenalan pola sederhana dg perceptron
Pengenalan pola sederhana dg perceptron
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)Materi : Struktur Data (1 Pengantar)
Materi : Struktur Data (1 Pengantar)
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection Sort
 
Makalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDMMakalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDM
 
Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)
 
Chapter 4 stack and queue
Chapter 4   stack and queueChapter 4   stack and queue
Chapter 4 stack and queue
 
Pertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon BinerPertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon Biner
 

Similar to Algoritma dan Struktur Data - List

MAKALAH LINKED LIST DALAM BAHASA C.docx
MAKALAH LINKED LIST DALAM BAHASA C.docxMAKALAH LINKED LIST DALAM BAHASA C.docx
MAKALAH LINKED LIST DALAM BAHASA C.docxDikicandra6
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_soretio_arkarna
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerGeorgius Rinaldo
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur DataFajar Sany
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAndiNurkholis1
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Setia Juli Irzal Ismail
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_listWandi Parlente
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data StructuresNoval C. Kesuma
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3azmi007
 

Similar to Algoritma dan Struktur Data - List (20)

MAKALAH LINKED LIST DALAM BAHASA C.docx
MAKALAH LINKED LIST DALAM BAHASA C.docxMAKALAH LINKED LIST DALAM BAHASA C.docx
MAKALAH LINKED LIST DALAM BAHASA C.docx
 
Linkedlist
LinkedlistLinkedlist
Linkedlist
 
Modul 2
Modul 2Modul 2
Modul 2
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_sore
 
teori Struktur data full
teori Struktur data fullteori Struktur data full
teori Struktur data full
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon biner
 
Modul 3 strukdat
Modul 3 strukdatModul 3 strukdat
Modul 3 strukdat
 
Linked list
Linked listLinked list
Linked list
 
Linked list
Linked listLinked list
Linked list
 
Sd bab 8a (senarai)
Sd bab 8a (senarai)Sd bab 8a (senarai)
Sd bab 8a (senarai)
 
3 stack2
3 stack23 stack2
3 stack2
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur Data
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Stack with linked list(algodat)
Stack with linked list(algodat)Stack with linked list(algodat)
Stack with linked list(algodat)
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
 

More from KuliahKita

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuKuliahKita
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiKuliahKita
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorKuliahKita
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipKuliahKita
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionKuliahKita
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabKuliahKita
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuKuliahKita
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbKuliahKita
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarKuliahKita
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridKuliahKita
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutKuliahKita
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanKuliahKita
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)KuliahKita
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)KuliahKita
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)KuliahKita
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligenceKuliahKita
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03KuliahKita
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02KuliahKita
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01KuliahKita
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementKuliahKita
 

More from KuliahKita (20)

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup Menu
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup Konfirmasi
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding Door
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card Flip
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordion
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tab
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side Menu
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 Breadcrumb
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasar
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox Grid
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layout
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 Pendahuluan
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due Dilligence
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow Statement
 

Recently uploaded

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptxAnnisaNurHasanah27
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfssuser40d8e3
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 

Recently uploaded (9)

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdf
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 

Algoritma dan Struktur Data - List

  • 1. Senarai Algoritma dan Struktur Data Georgius Rinaldo dodo@kuliahkita.com
  • 2. Definisi Senarai (List) adalah sebuah penyimpanan yang mirip dengan larik dengan ukuran yang dapat berubah-ubah atau fleksibel sesuai dengan jumlah data. Senarai = larik yang ukurannya dapat berubah (array list)
  • 3. Struktur Senarai Pada sebuah penampung atau simpul (node) dari sebuah senarai, terdapat informasi: ● nilai ● informasi simpul berikutnya next pada gambar merupakan pointer atau penunjuk yang menghubungkan antar simpul. Apabila simpul merupakan elemen terakhir, maka nilai next adalah null
  • 4. Cara Menambah ke Senarai Konsep penambahan elemen pada senarai adalah: 1. alokasikan tempat untuk simpul baru 2. salin item yang akan disimpan 3. buat head dari senarai yang menunjuk ke arah simpul yang baru Walaupun tak terbatas seperti larik, tetapi item yang ditambahkan terbatas pada memory yang tersedia.
  • 5. TDA Senarai {InfoType dan address adalah tipe yang telah didefinisikan} type ElmtList : < Info : InfoType, Next : address > type List : <First: address> {First adalah element pertama di list} {Deklarasi nama untuk variabel kerja} P: address {address untuk traversal}
  • 6. Penjelasan TDA Senarai Dapat dilihat bahwa pada TDA senarai merupakan kumpulan dari alamat simpul yang saling berhubungan. Struktur data senarai dimulai dengan first yang menunjuk ke alamat dari sebuah simpul. Simpul akan menunjuk simpul lainnya yang akhirnya akan membentuk senarai atau list.
  • 7. Penjelasan TDA Senarai - 2 Simpul sendiri terdiri dari info dan next. Info adalah nilai yang disimpan pada sebuah simpul. Sedangkan next merupakan tempat menyimpan alamat dari simpul berikutnya. Karena simpul selalu memiliki next, maka simpul akan terus bersambung dan membentuk list. Jika sebuah simpul merupakan simpul terakhir, maka next akan berisi null.
  • 8. Contoh Pendefinisian List C++ #include <iostream> using namespace std; #define info(P) (P)->info #define next(P) (P)->next #define First(L) ((L).First) typedef int Infotype; // definisikan bahwa Infotype adalah alias dari tipe integer typedef struct tElmtList *address; typedef struct tElmtList { Infotype info; // informasi bertipe infotype yang telah didefinisi address next; // alamat yang menunjuk ke simpul berikutnya } ElmtList; // ini adalah struktur sebuah simpul typedef struct { address First; } List; // tipe List berisi alamat pada simpul pertama
  • 9. Contoh Pendefinisian List C++ ... /* Pembuatan simpul */ ElmtList buatSimpul(Infotype x) { ElmtList elem; // definisikan ElmtList sebagai simpul elem.info = x; // isi informasi pada simpul elem.next = NULL; // alamat next simpul baru adalah NULL return elem; } ...
  • 10. Contoh Pendefinisian List C++ ... /* Mengalokasikan sebuah simpul pada senarai */ void alokasi(List *L, ElmtList node) { // apabila senarai kosong, maka langsung alokasikan if (L->First == NULL) { L->First = &node; } else { // apabila senarai sudah ada isinya address el = L->First; // cari mana alamat simpul senarai yang kosong untuk dialokasikan while(el->next != NULL) { el = el->next; } // isi senarai dengan simpul yang dibuat el->next = &node; } } ...
  • 11. Contoh Pendefinisian List C++ ... /* Pencarian pada senarai */ bool pencarian (List *L, Infotype x) { // inisialisasi simpul awal address el = L->First; // iterasi pencarian sampai pada simpul yang tidak memiliki informasi while(el->info != NULL) { // apabila cocok, kembalikan true if (el->info == x){ return true; } // jika tidak cocok, ke simpul berikutnya el = el->next; } return false; // kembalkan false ketika semua telah ditelusuri dan tidak ada } ...
  • 12. Contoh Pendefinisian List C++ ... int main() { List L; // definisikan senarai ElmtList elem1,elem2,elem3; // definisikan simpul yang akan diisi elem1 = buatSimpul(10); // buat simpul elem2 = buatSimpul(20); elem3 = buatSimpul(30); alokasi(&L, elem1); // alokasikan simpul-simpul alokasi(&L, elem2); alokasi(&L, elem3); cout << L.First->info << endl; // coba cetak elemen pertama cout << L.First->next->info << endl; // coba cetak elemen kedua bool dapatkah = pencarian(&L,30); // cari apakah elemen ada pada senarai? cout << dapatkah; return 0; }
  • 13. Contoh: Pemakaian List // Contoh List pada library C++ using namespace std; list<int> deretbilangan; // definisi list dari integer