Pengenalan Linked List
Linked list adalah salah satu struktur data yang penting dalam pemrograman. Struktur data ini terdiri dari simpul-simpul yang saling terhubung satu sama lain melalui pointer. Setiap simpul dalam linked list menyimpan data dan pointer yang menunjuk ke simpul berikutnya.
Linked list sangat berguna dalam situasi di mana kita perlu memanipulasi data secara dinamis, seperti ketika kita tidak tahu berapa banyak data yang akan kita simpan atau ketika kita seringkali perlu memasukkan atau menghapus data.
Contoh Program Linked List dalam Pascal
Berikut adalah contoh program dalam bahasa Pascal untuk mengimplementasikan linked list:
program LinkedListExample;typeNodePtr = ^Node;Node = recorddata: integer;next: NodePtr;end;varhead, current, newNode: NodePtr;procedure InsertNode(data: integer);beginnew(newNode);newNode^.data := data;newNode^.next := nil;if head = nil thenbeginhead := newNode;current := newNode;endelsebegincurrent^.next := newNode;current := newNode;end;end;procedure DisplayList;begincurrent := head;while current nil dobeginwriteln(current^.data);current := current^.next;end;end;beginhead := nil;InsertNode(10);InsertNode(20);InsertNode(30);DisplayList;end.
Pada contoh program di atas, kita menggunakan tipe data Node
yang terdiri dari dua bagian, yaitu data
yang menyimpan nilai data, dan next
yang merupakan pointer ke simpul berikutnya.
Program ini memiliki dua prosedur utama, yaitu InsertNode
untuk memasukkan simpul baru ke dalam linked list, dan DisplayList
untuk menampilkan isi linked list.
Pada prosedur InsertNode
, kita membuat simpul baru dengan menggunakan fungsi new
. Kemudian, kita memeriksa apakah linked list masih kosong atau tidak. Jika linked list masih kosong, maka simpul baru menjadi head
dan juga current
. Jika tidak, simpul baru ditambahkan setelah current
dan current
digeser ke simpul baru tersebut.
Pada prosedur DisplayList
, kita menampilkan data dari setiap simpul dalam linked list dengan menggunakan perulangan while
. Kita mulai dari head
dan terus menggerakkan current
ke simpul berikutnya sampai mencapai akhir linked list (yaitu saat current
menjadi nil
).
Kesimpulan
Linked list adalah struktur data yang berguna dalam pemrograman, terutama ketika kita perlu memanipulasi data secara dinamis. Dalam bahasa Pascal, kita dapat mengimplementasikan linked list dengan menggunakan tipe data pointer. Contoh program yang telah diberikan di atas dapat digunakan sebagai referensi untuk mengimplementasikan linked list dalam Pascal.