Linked List di Java

 


Apa itu Linked List?

    Linked-List merupakan salah satu struktur data yang terdiri dari node-node yang saling berhubungan.
Linked-List memiliki bentuk mirip seperti array. Perbedaan dari Linked-List dan Array bisa dilihat pada gambar di bawah.


    Dari gambar di atas, dapat dilihat bahwa setiap data array sudah memiliki alamat yang saling berikatan dan tidak dapat diubah. Berbeda dengan linked list, dimana setiap data memiliki alamatnya sendiri. Nah untuk memperoleh data selanjutnya, linked list menggunakan pointer yang menunjukkan alamat node dari data selanjutnya. Hal ini membuat linked-list memiliki bentuk lebih dinamis dari array biasa.

Kelebihan dari Linked List

    Dengan bentuknya yang lebih dinamis, linked-list dapat diberikan operasi-operasi yang tidak dapat diberikan pada array biasa. Misalnya :
  1. Menambahkan data melewati batas index,
  2. Menambahkan data dari depan,
  3. Menambahkan data di tengah-tengah,
  4. Menghapus data dari list, dan lainnya
    Sebenarnya array biasa juga bisa melakukan hal-hal diatas, tetapi akan dibutuhkan array baru untuk setiap operasinya. Hal inilah yang membuat array biasa tidak dinamis dan dinilai kurang efisien jika dilakukan operasi seperti di atas.

Linked List di Java

    Setelah mengetahui apa itu linked-list, selanjutnya akan dibahas mengenai methods yang dipakai pada linked-list dan implementasinya. Berikut merupakan source code dari implementasi linked-list.

   

    Penjelasan Methods

    Untuk implementasinya akan dibutuhkan beberapa utility, seperti :
  1. java.util.LinkedList (Utility linked list yang disediakan Java)
  2. java.util.Scanner (Utility yang digunakan untuk mendapatkan input)
  3. java.util.InputMismatchException (Utility yang diguanakn untuk mendapatkan error input)
    Method yang digunakan :
  1. userInput - untuk mendapatkan input user
  2. displayData - untuk meng-output setiap data pada linked list
  3. addNewData dan addRear - untuk menambahkan data baru
  4. addFront - untuk menambahkan data dari depan list
  5. addInside - untuk menambahkan data pada index yang dipilih
  6. searchData - untuk mencari data pada list
  7. removeData - untuk menghapus data dari index yang dipilih
  8. removeFirst - untuk menghapus data terdepan dari list
  9. removeLast - untuk menghapus data paling belakang dari list
  10. removeValue - untuk menghapus data yang dipilih

    Implementasi Linked-List

    Setelah program di run dan diberikan input, akan didapatkan output sebagai berikut.

    

Komentar

Postingan populer dari blog ini

Penjelasan Rekursif pada Tower of Hanoi

Array in Java

Evaluasi Tengah Semester