🖥️
JTI - Modul Praktikum: Algoritma dan Struktur Data
  • 👋Selamat Datang!
  • 🔰Refreshment
    • 🔰Job Sheet 1: Objek
    • 🔰Job Sheet 2 - Array of Objects
  • 📚Dasar Struktur Data
    • 📚Job Sheet 3: Brute Force & Divide Conquer
      • 🐣Praktikum 1
      • 🐥Praktikum 2
      • 🐔Tugas Praktikum
  • 🔍Job Sheet 4: Sorting dan Searching
    • 🧮Praktikum 1: Sorting
    • 🔭Praktikum 2: Searching
    • 📚Tugas Praktikum
  • 📈Struktur Data Linier
    • 🧮Job Sheet 5: Stack
      • 👔Praktikum 1
      • ♾️Praktikum 2
      • 📲Tugas Praktikum
    • ⛓️Job Sheet 6: Queue
      • 🧬Praktikum 1
      • 💸Praktikum 2
      • 💷Tugas
    • 🔗Job Sheet 7: Single Linked List
      • 📂Praktikum 1
      • 🗂️Praktikum 2
      • 🗃️Tugas
    • ➿Job Sheet 8: Doubly Linked List
      • 📕Praktikum 1
      • 📗Praktikum 2
      • 📘Praktikum 3
      • ✍️Tugas Praktikum
  • 🎆STRUKTUR DATA NON LINEAR
    • 🌳Job Sheet 9: Tree
      • 🌴Praktikum 1
      • 🎋Praktikum 2
      • 🎄Tugas
    • 🗺️Job Sheet 10: Graf
      • 🛣️Praktikum 1
      • 🛤️Praktikum 2
      • 🏔️Tugas
    • 🌏Job Sheet 11: Hash Table
      • 🌎Praktikum 1
      • 🌍Tugas
    • 🎄Job Sheet 12: Heap
      • 🌿Praktikum 1
      • 🎋Tugas
    • ⛰️Job Sheet 13: Java Collection
      • 🌄Praktikum 1
      • 🏔️Praktikum 2
      • 🗻Praktikum 3
      • 🌏Praktikum 4
      • 🌎Praktikum 5
      • 🌋Tugas Praktikum
  • 🧑‍🏫Kontributor
Powered by GitBook
On this page
  • Deskripsi
  • Langkah Percobaan
  • Verifikasi Hasil Praktikum
  • Pertanyaan
  1. Struktur Data Linier
  2. Job Sheet 8: Doubly Linked List

Praktikum 3

PreviousPraktikum 2NextTugas Praktikum

Last updated 1 year ago

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

  • 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;
}
📈
➿
📘