📘Praktikum 3
Deskripsi
Pada praktikum 3 ini dilakukan uji coba untuk mengambil data pada linked list dalam 3 kondisi, yaitu mengambil data paling awal, paling akhir dan data pada indeks tertentu dalam linked list. Method mengambil data dinamakan dengan get
. Ada 3 method get yang dibuat pada praktikum ini sesuai dengan diagram class DoublyLinkedList.

Langkah Percobaan
Buatlah method
getFirst()
di dalam classDoublyLinkedList
untuk mendapatkan data pada awal linked lists.
public int getFirst() throws Exception {
if (isEmpty()) {
throw new Exception("Linked List kosong");
}
return head.data;
}
Selanjutnya, buatlah method
getLast()
untuk mendapat data pada akhir linked lists.
public int getLast() throws Exception {
if (isEmpty()) {
throw new Exception("Linked List kosong");
}
Node tmp = head;
while (tmp.next != null) {
tmp = tmp.next;
}
return tmp.data;
}
Method
get(int index)
dibuat untuk mendapatkan data pada indeks tertentu.
public int get(int index) throws Exception {
if (isEmpty() || index >= size) {
throw new Exception("Nilai indeks di luar batas.");
}
Node tmp = head;
for (int i = 0; i < index; i++) {
tmp = tmp.next;
}
return tmp.data;
}
Pada main class tambahkan potongan program berikut dan amati hasilnya!
dll.print();
System.out.println("Size : " + dll.size());
System.out.println("==========================");
dll.addFirst(3);
dll.addLast(4);
dll.addFirst(7);
dll.print();
System.out.println("Size : " + dll.size());
System.out.println("==========================");
dll.add(40,1);
dll.print();
System.out.println("Size : " + dll.size());
System.out.println("==========================");
System.out.println("Data awal pada Linked Lists adalah : " + dll.getFirst());
System.out.println("Data akhir pada Linked Lists adalah : " + dll.getLast());
System.out.println("Data indeks ke-1 pada Linked Lists adalah : " + dll.get(1));
Verifikasi Hasil Praktikum
Hasilnya akan seperti berikut,

Pertanyaan
Jelaskan method
size()
pada classDoublyLinkedList
!Jelaskan cara mengatur indeks pada doubly linked lists supaya dapat dimulai dari indeks ke-1!
Jelaskan perbedaan karakteristik fungsi
Add
pada doubly linked list dan single linked list!Jelaskan perbedaan logika dari kedua kode program di bawah ini!
Kode 1
public boolean isEmpty() {
if(size==0) {
return true;
} else {
return false;
}
}
Kode 2
public boolean isEmpty() {
return head == null;
}
Last updated