๐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 classDoublyLinkedListuntuk 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
Addpada 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