Linked List adalah salah satu struktur data yang digunakan dalam pemrograman komputer untuk menyimpan sejumlah elemen data yang terhubung satu sama lain. Setiap elemen dalam linked list disebut dengan node dan setiap node memiliki dua bagian, yaitu data dan referensi ke node berikutnya dalam linked list.
Apa itu Node dalam Linked List?
Node merupakan elemen dasar dari sebuah linked list yang menyimpan data serta referensi ke node berikutnya. Setiap node pada linked list memiliki dua bagian, yaitu field data yang menyimpan informasi data dan field next yang menyimpan referensi ke node berikutnya.
Kelebihan Linked List
- Penambahan atau penghapusan elemen lebih efisien: Dibandingkan dengan array, linked list memungkinkan penambahan atau penghapusan elemen lebih efisien karena tidak memerlukan relokasi data.
- Ukuran data fleksibel: Linked list tidak membatasi jumlah elemen yang dapat disimpan, sehingga ukuran data bisa fleksibel.
- Struktur data dinamis: Linked list dapat dengan mudah diubah saat program berjalan tanpa perlu mengalokasikan ulang memori.
Jenis-Jenis Linked List
Ada beberapa jenis linked list yang umum digunakan, di antaranya:
- Singly Linked List: Jenis linked list di mana setiap node hanya terhubung ke node berikutnya.
- Doubly Linked List: Jenis linked list di mana setiap node terhubung ke node sebelumnya dan setelahnya.
- Circular Linked List: Jenis linked list di mana node terakhir terhubung kembali ke node pertama, membentuk lingkaran.
Operasi-operasi pada Linked List
Berikut adalah beberapa operasi umum yang dapat dilakukan pada linked list:
- Traversal: Melintasi seluruh node dalam linked list untuk membaca atau menampilkan data.
- Insertion: Menambahkan node baru ke dalam linked list.
- Deletion: Menghapus node tertentu dari linked list.
- Searching: Mencari node dengan nilai tertentu dalam linked list.
Contoh Penggunaan Linked List dalam Bahasa Pemrograman
Linked list sering digunakan dalam berbagai bahasa pemrograman untuk implementasi struktur data yang membutuhkan fleksibilitas, seperti stack, queue, dan lain sebagainya. Berikut adalah contoh penggunaan linked list dalam bahasa pemrograman Python:
“`python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
return
last_node = self.head
while last_node.next:
last_node = last_node.next
last_node.next = new_node
def display(self):
current = self.head
while current:
print(current.data, end=’ ‘)
current = current.next
# Contoh penggunaan
llist = LinkedList()
llist.append(1)
llist.append(2)
llist.append(3)
llist.display()
“`
Kesimpulan
Linked List adalah struktur data yang terdiri dari node-node yang saling terhubung, di mana setiap node memiliki data dan referensi ke node berikutnya. Kelebihan linked list antara lain efisiensi dalam penambahan atau penghapusan elemen, ukuran data fleksibel, serta struktur data yang dinamis. Ada beberapa jenis linked list, seperti singly linked list, doubly linked list, dan circular linked list, yang dapat dipilih sesuai dengan kebutuhan. Operasi-operasi umum pada linked list meliputi traversal, insertion, deletion, dan searching. Linked list sering digunakan dalam berbagai bahasa pemrograman untuk implementasi struktur data tertentu.