Memahami Konsep Single Linked List dalam Pemrograman C++
Single Linked List adalah salah satu struktur data yang fundamental dalam ilmu komputer dan pemrograman. Struktur data ini sering digunakan karena fleksibilitasnya dalam pengelolaan memori dan kemampuannya untuk menyimpan koleksi data yang dinamis. Dalam blog ini, kita akan membahas dasar-dasar single linked list, cara menambah elemen di depan dan belakang, menghapus elemen dari depan dan belakang, serta menambah dan menghapus elemen dari tengah.
1. Pengertian Single Linked List
Apa itu Single Linked List?
Single Linked List adalah struktur data linear yang terdiri dari serangkaian elemen yang disebut node. Setiap node berisi dua komponen:
- Data: Nilai atau informasi yang disimpan dalam node.
- Pointer: Penunjuk atau referensi ke node berikutnya dalam daftar.
Berikut adalah representasi dasar dari single linked list:
- Terdapat variabel `num` bertipe integer dan variabel `data` bertipe string.
- Terdapat variabel next bertipe pointer dari struct Node.
Mengapa Menggunakan Single Linked List?
Linked list menawarkan beberapa kelebihan dibandingkan dengan array:
- Ukuran Dinamis: Tidak perlu menentukan ukuran di awal.
- Mudah dalam Penyisipan dan Penghapusan: Elemen dapat dengan mudah ditambahkan atau dihapus tanpa perlu menggeser elemen lainnya.
2. Deklarasi
Deklarasi dilakukan setelah penulisan struct dari Node.
head : adalah kepala / elemen pertama dari elemen linked list.
tail : adalah ekor / elemen terakhir dari elemen linked list.
current : digunakan pada fungsi seperti display, count, dan untuk transversing.
newNode : digunakan pada fungsi membuat node baru.
del : digunakan untuk membuat duplikat elemen yang akan dihapus.
before : digunakan pada fungsi delete.
3. Membuat Elemen Single Linked List
Hal pertama yang dilakukan setelah pendeklarasian dan penulisan struct linked list adalah membuat elemen dengan menggunakan method create.
4. Menambah Elemen di Depan
Setelah membuat node baru dengan menggunakan method create, kita anggap sturct linked list sudah terdapat elemen minimal 1. Setelah itu jika ingin menambah elemen dari depan atau sebelum head, kita bisa menggunakan method addFirst dibawah ini.
5. Menambah Elemen di Tengah
Selain menambah elemen di depan, kita juga bisa menambah elemen di tengah linkedlist.
Kita bisa menggunakan method addMid dibawah ini.
6. Menambah Elemen di Belakang
Selain menambah elemen di depan dan di tengah, kita juga bisa menambah elemen di belakang atau setelah tail. Jadi elemen yang kita tambahkan akan otomatis menjadi elemen terakhir pada linkedlist. Kita bisa menggunakan method addLast dibawah ini.
7. Menghapus Elemen di Depan
Untuk menghapus elemen depan, kita bisa menggunakan method deleteFirst dibawah ini.
8. Menghapus Elemen di Tengah
Untuk menghapus elemen di tengah, kita bisa menggunakan method deleteMiddle dibawah ini.
9. Menghapus Elemen di Akhir
Untuk menghapus elemen di akhir, kita bisa menggunakan method deleteLast dibawah ini.
10. Mengubah Isi Elemen
Untuk mengubah isi elemen, sama seperti add dan delete. Terdapat 3 metode yaitu changeFirst, changeMid, dan changeLast. Berikut ketiga metode change.
11. Display
Untuk menampilkan isi elemen linkedlist, kita bisa menggunakan tramsversing seperti berikut.
12. Count
Untuk menghitung berapa banyak elemen yang ada pada linkedlist, kita bisa menggunakan method count dibawah ini.
13. Main Program
Untuk menjalankan program, pada bagian main, kita bisa isi seperti berikut ini, sehingga outputnya menjadi seperti berikut.
Demikian program single linked list dasar, semoga dapat mmebantu teman-teman yang sedang ingin mempelajari struktur data ini.