adt dinamis : singly linked list & soubly linked list
DESCRIPTION
ADT Dinamis : Singly Linked List & Soubly Linked List. Konsep Dasar List (Senarai). Konsep Dasar List (Senarai). Dari konsepnya, list dapat didefinisikan sebagai urutan dinamis (dynamic ordering) dari :. L = (l 1 , l 2 , ….., l n ). Di mana l1 adalah elemen yang ke-i pada List. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/1.jpg)
ADT Dinamis : Singly Linked List & Soubly Linked List
![Page 2: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/2.jpg)
Konsep Dasar List (Senarai)
![Page 3: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/3.jpg)
3
Konsep Dasar List (Senarai)
° Dari konsepnya, list dapat didefinisikan sebagai urutan
dinamis (dynamic ordering) dari :
L = (l1, l2, ….., ln)
Di mana l1 adalah elemen yang ke-i pada List.
Penggunaan kata dinamis memberi tekanan bahwa elemen-elemen dalam List nilainya dan jumlahnya dapat berubah-ubah.
![Page 4: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/4.jpg)
4
Konsep Dasar List (Senarai)
L = (l1, l2, ….., ln)
• Elemen yang pertama pada list disebut head List
• Elemen yang terakhir dirujuk sebagai ekor (tail) List
• Jumlah elemen ditulis sebagai | L | yang juga dirujuk sebagai
panjang list
• Maka list kosong direpresentasikan sebagai (), memiliki panjang
().
• Sehingga list di atas memiliki |L| = n
• Jika semua elemen bertipa sama homogen, berbeda
heterogen
![Page 5: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/5.jpg)
5
Konsep Dasar List (Senarai)
L = ((3), (4, 2, 5), (12, 7, (8, 4), 1), 0)
• ADT List di atas memiliki 4 elemen
• Elemen 1 : bilangan bulat bernilai 3
• Elemen 2 : list dengan elemen bilangan bulat (4,2,5)
• Elemen 3 : bilangan bulat 12,7, list (8,4), dan 0
• Elemen 4 : 0
![Page 6: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/6.jpg)
6
Struktur Alokasi Memori Komputer RAM
Memori Tersisa
Heap yang bergerak naik ke memori
Memori yang ditempati data (DataSegment)
Memori yang ditempati program (CodeSegment)
Memori untuk program residen
Sistem Operasi
Free Ptr
HeapPtr
HeapOrg
Dseg
CSeg
• Heap : bagian memori
yang belum dialokasikan
atau belum digunakan oleh
sistem operasi
• Program residen : berisi
program-program residen
(program yang menetap
dalam memori misal
antivirus, driver, mouse,
dsb)Umumnya, List akan disimpan dalam bagian memori sebagai Heap
![Page 7: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/7.jpg)
7
Terapan List
° Ada berbagai terapan List, di antaranya : • Singly-Linked List
- List berkait tunggal
• Doubly-Linked List- List berkait ganda
° Beberapa fungsi dalam terapan List : • Insert() / add()• Remove()
![Page 8: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/8.jpg)
8
Singly-Linked List
![Page 9: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/9.jpg)
9
Permasalahan penerapan linked-list pada Java
° Seperti telah diketahui, ADT berbasis node menyimpan
data dalam bentuk simpul (node) pada suatu List
° Kita dapat membayangkan :
• Node adalah elemen yang memiliki satu atau lebih
pointer
• Pointer digunakan untuk menunjukkan ke elemen
lainnya
° Masalah : Java tidak mengenal terminologi pointer
![Page 10: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/10.jpg)
10
Solusi
° Karena tidak mengenal pointer perlakukan objek
sebagai pointer
° Sehingga di Java, struktur node memiliki elemen data
yang merujuk ke node lain
° 2 macam node :
• Parent node
• Child node
![Page 11: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/11.jpg)
11
Class Java untuk Struktur Data Singly-Linked List
° Untuk implementasi Singly-Linked List, setidaknya kita
perlu 2 struktur class :
• Class untuk satu child-node
- Dlm matkul ini diberi nama : onenodeoneptr
• Class untuk menghubungkan tiap child node
- Dlm matkul ini diberi nama : linkedonenodeondeptr
![Page 12: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/12.jpg)
12
Metoda pada class onenodeoneptr
° Berisi metode-metode get dan set terhadap nilai-nilai pada node
° Nilai yang ada pada node yaitu : • Data
- Metoda untuk set : setDatanode() - Metoda untuk get : getDatanode()
• 1 Pointer ke node lain- Metoda untuk set : setPointerkenodeberikut()- Metoda untuk get : getPointerkenodeberikut()
![Page 13: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/13.jpg)
13
Variabel pada onenodeoneptr
![Page 14: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/14.jpg)
14
Konstruktor onenodeoneptr
![Page 15: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/15.jpg)
15
Metoda set pada onenodeoneptr
![Page 16: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/16.jpg)
16
Metoda get pada onenodeoneptr
![Page 17: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/17.jpg)
17
Mengubah nilai data ke bentuk String pada onenodeoneptr
![Page 18: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/18.jpg)
18
Metoda pada class linkedonenodeoneptr
° Mengecek node kosong ato tidak apaKosong()
° Menentukan banyaknya node banyaknyaNode()
° Menambah node baru di awal tambahdiawal()
° Menghapus node di awal hapusdiawal()
° Menambah node di akhir tambahdiakhir()
° Menghapus node di akhir hapusdiakhir()
° Ambil nilai di node ambilNilai()
![Page 19: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/19.jpg)
19
Variable pada linkedonenodeoneptr
![Page 20: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/20.jpg)
20
Konstruktor pada linkedonenodeoneptr
![Page 21: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/21.jpg)
21
apaKosong() & banyaknyaNode()
![Page 22: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/22.jpg)
22
tambahdiawal()
![Page 23: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/23.jpg)
23
hapusdiawal()
![Page 24: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/24.jpg)
24
tambahdiakhir()
![Page 25: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/25.jpg)
25
hapusdiakhir()
![Page 26: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/26.jpg)
26
ambilNilai()
![Page 27: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/27.jpg)
27
Pengujian linkedonenodeoneptr (1)
![Page 28: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/28.jpg)
28
Pengujian linkedonenodeoneptr (1)
![Page 29: ADT Dinamis : Singly Linked List & Soubly Linked List](https://reader033.vdocuments.mx/reader033/viewer/2022061406/56814e91550346895dbc3a87/html5/thumbnails/29.jpg)
29
Doubly-Linked List
MINGGU DEPAN