F. STRUKTUR DATA : LINKED LIST

  •  PENGERTIAN

Linked List adalah suatu cara untuk menyimpan data dengan struktur sehingga programmer/pengguna dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data kapan saja saat diperlukan.





Linked List dikenal dengan sebutan senarai berantai, yaitu struktur data yang terdiri dari urutan record data dimana setiap record eiliki field yang menyimpan alamat atau referensi dari record selanjutnya. Elemen data yang dihubungkan dengan link pada linked list disebut dengan Node. 

  • JENIS  JENIS 

Linked list adalah struktur data penting dalam pemrograman yang digunakan untuk menyimpan dan mengatur data secara dinamis. Berikut adalah jenis jenis pada linked list:
    1. Single Linked List
Single linked list adalah linked list unidirectional. Jadi, kita hanya dapat melintasinya dalam satu arah, yaitu dari simpul kepala ke simpul ekor.


    2. Double Linked List
Double linked list adalah linked list bidirectional. Jadi, kita bisa melintasinya secara dua arah. simpul double linked list berisi satu pointer tambahan yang disebut previous pointer yang menunjuk ke simpul sebelumnya.


    3. Circular Linked List 
Circular linked list adalah linked list unidirectional. Kita hanya dapat melintasinya dalam satu arah. Circular linked list ini berbentuk berupa lingkaran karena simpul terakhir pada jenis ini mengarah kembali ke simpul pertama.

    
    4. Circular Double Linked List
Circular double linked list ini yaitu gabungan antara double linked list dan circular linked list. Linked list ini memiliki pointer tambahan yang disebut previous pointer seperti yang ada pada double linked list, dan memiliki kemiripan juga dengan circular linked list yaitu simpul terakhirnya menunjuk pada simpul kepala. Jenis linked list ini adalah bidirectional, sehingga dapat di lintasi dua arah.



  • FUNGSI 

    - Digunakan untuk melakukan operasi aritmatika pada bilangan long integer.
    - Dipakai untuk representasi matriks rongga.
    - Menyimpan dan mengelola data dalm urutan tertentu.
    - Digunakan dalam alokasi file yang ditautkan.
    - Memudahkan penambahan dan penghaousan data secara dinamis tanpa menggeser data yang lain. 

  • KELEBIHAN

Penggunaan linked list memiliki beberapa kelebihan yaitu:
    1. Struktur data dinamis: Linked list adalah himpunan dinamis sehingga dapat bertambah dan menyusut saat runtime dengan mengalokasikan dan membatalkan alokasi memori. Jadi kita tidak perlu memberikan ukuran awal dari linked list.

    2. Penggunaan memori yang efisien: Dalam linked list, pemanfaatan memori yang efisien dapat dicapai karena ukuran linked list bertambah atau berkurang pada runtime sehingga tidak ada pemborosan memori dan tidak perlu mengalokasikan memori sebelumnya.

    3. Implementasi mudah: Struktur data linier seperti stack dan queue seringkali mudah diimplementasikan menggunakan linked list.

    4. Operasi penyisipan dan penghapusan: Operasi penyisipan dan penghapusan cukup mudah dalam linked list. Kita tidak perlu menggeser elemen setelah operasi penyisipan atau penghapusan elemen, hanya alamat yang ada di pointer berikutnya saja yang perlu diperbarui.


  • KETERBATASAN 

Selain mempunyai kelebihan, penggunaan linked list juga mempunyai keterbatasan, yaitu:


    1. Penggunaan Memori Lebih Banyak: Linked list memerlukan lebih banyak memori dibandingkan dengan array. Ini disebabkan oleh perlunya penyimpanan tambahan untuk pointer yang mengarah ke elemen berikutnya serta alokasi memori untuk elemen-elemen itu sendiri.

    2. Traversal Lambat: Proses traversal dalam linked list memakan lebih banyak waktu dibandingkan dengan array. Linked list tidak memungkinkan akses langsung ke elemen berdasarkan indeks seperti yang bisa dilakukan pada array. Untuk mengakses simpul ke-N dalam linked list, Anda harus melintasi semua simpul sebelumnya.

    3. Reverse Traversing: Dalam single linked list, reverse traversing tidak memungkinkan. Namun, dalam double linked list, hal ini dapat dilakukan dengan memiliki pointer ke simpul sebelumnya, yang mengakibatkan pemborosan memori tambahan.

    4. Akses Acak: Akses acak tidak dapat dilakukan dalam linked list karena alokasi memori dinamisnya.

Komentar

Postingan Populer