Modul Praktikum 4B Struktur Data 2021
Modul Praktikum 4B Struktur Data 2021
LINKED LIST
Learning outcomes:
1. Mampu menjelaskan empat macam linked list yaitu linier singly-linked list,
linier doubly-linked list, circular singly-linked list, dan circular doubly-linked
list.
2. Mampu mengimplementasikan singly-linked list
3. Mampu mengimplementasikan doubly-linked list
4. Mampu mengimplementasikan Stacks pada struktur data linked list
5. Mampu mengimplementasikan Queues pada struktur data linked list
IDENTITAS PRAKTIKAN
NIM : 2101020030
Nama Lengkap : DWI RANA
Kelas/ Hari/ Jam :TI A/ KAMIS/13.50-15.30
Nomor komputer :
Nama Asisten :
Tugas Praktikum
class Link {
this.Data = Data;
class DoublyLinkedList {
last = null;
newLink.next = first;
first = newLink;
}
public void insertLast(int Data) { Method untuk menyisipkan data terakhir
first = newLink;
last = newLink;
last = null;
} else {
first.next.previous = null;
}
Memanggil variable next untuk melanjutkan ke
first = first.next; data selanjutnya
Kemudian data akan disimpan di temp
return temp;
} else {
last.previous.next = null;
}
Memanggil variable previous untuk kembali ke
last = last.previous; data sebelumnya
Kemudian data akan disimpan di temp
return temp;
public boolean insertAfter(int key, Method untuk menyisipkan elemen array yang
berada di tengah
int Data) {
current = current.next;
if (current == null) {
return false;
}
Membuat objek baru dengan nama Link dan
Link newLink = new Link(Data); memanggil method
if (current == last) {
newLink.next = null;
last = newLink;
} else {
newLink.next = current.next;
current.next.previous = newLink;
newLink.previous = current;
current.next = newLink;
return true;
}
public Link deleteKey(int key) {
if (current == null) {
return null;
}
Membuat perkondisian if else
if (current == first) {
first =
current.next;
} else {
current.previous.next =
current.next;
if (current == last) {
last = current.previous;
} else {
current.next.previous =
current.previous;
return current;
}
public void displayForward() { Method untuk menampilkan elemen dari list
pertama sampai terakhir
System.out.print("List ”
+ “(first-->last): ");
current.displayLink();
current = current.next;
System.out.println("");
+ “(last-->first): ");
current.displayLink();
current = current.previous;
System.out.println("");
} // akhir class
DoublyLinkedList theList =
new DoublyLinkedList();
theList.insertFirst(22);
theList.insertFirst(44);
theList.insertFirst(66);
theList.displayForward();
theList.insertLast(11);
theList.insertLast(33);
theList.insertLast(55);
theList.displayForward();
theList.displayBackward();
theList.deleteFirst();
theList.displayForward();
theList.deleteLast();
theList.displayForward();
theList.deleteKey(11);
theList.displayForward();
theList.insertAfter(22, 77);
theList.insertAfter(33, 88);
theList.displayForward();
8. Dari penjelasan tiap bagian yang Anda tuliskan pada nomor 7, tuliskan kesimpulan
logika yang digunakan pada tiap method: insertFirst(), insertLast(),
insertAfter(), deleteFirst(), deleteLast(), deleteKey()!
Jawab :
InsertFirst() ialah method untuk menyisipkan elemen pada baris pertama
InsertLast() ialah method untuk menyisipkan elemen pada baris terakhir
InsertAfter() ialah method untuk menyipkan elemen pada setelah node atau link
DeleteLast() ialah method untuk menghapus elemen pada baris terakhir
DeleteKey() ialah method untuk menghapus link atau node
B. PRAKTIKUM
C. KESIMPULAN
Kesimpulan yang diperoleh dari pembahasan praktikum kali ini adalah:
7. Tentang perbandingan 4 macam struktur linked list, yaitu linier singly-
linked list,linier doubly-linked list, circular singly-linked list, dan circular-
doubly linked list.
Jawab :
1. Single Linked List merupakan suatu linked list yang hanya memiliki satu varuabel pointer saja.
Dimana pointer tersebut menunjuk ke node selanjutnya.Biasanya field pada tail menunjuk ke
NULL
2. Double Linked List Merupakan suatau linked list yang memiliki dua variabel pointer yaitu
pointer yang menunjuk ke node selanjutnya dan pointer yang menunuk ke node sebelumnya.
Setiap head dan tailnya juga menunjuk ke NULL
3. Circular Linked List merupakan suatu linked list dimana tail (node terakhir) menunjuk ke
head(node pertama).Jadi tidak ada pointer yang menunjuk NULL ada 2 jenis Circular Linked
List
4.
Multi Linked List Merupakan Suatu Linked List yang Memiliki Lebih dari 2 buat variabel
pointer