๐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 class- DoublyLinkedListuntuk 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 class- DoublyLinkedList!
- 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