Minggu, 30 Juni 2024

Single Linked List

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:
  1. Data: Nilai atau informasi yang disimpan dalam node.
  2. 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.




Tidak ada komentar:

Posting Komentar

Tree

 Memahami Konsep Tree dalam Pemrograman C++           Tree adalah salah satu struktur data yang sangat penting dalam ilmu komputer dan pemro...