Jelaskan fungsi - fungsi pada aplikasi linked list untuk stack

DosenIT.com

Type your search query and hit enter:

  • Homepage
  • Kuliah IT
  • Pemrograman

Pemrograman

Contoh Stack : Fungsi, Jenis dan Implementasinya

© Freepik.com

Sebelum melangkah lebih jauh, mari kita bahas bersama-sama mengenai pengertian dari stack.

Dilansir dari TechTerms, stack adalah salah satu struktur data yang digunakan untuk menyimpan sekumpulan objek ataupun variabel.

Sesuai namanya yaitu stack, tidak heran apabila objek yang terkumpul terlihat seperti tumpukan.

Nah, karakteristik stack sendiri bersifat LIFO [last in first out]. Artinya, data yang terakhir masuk merupakan data yang akan keluar terlebih dahulu.

Seperti halnya tumpukan pada umumnya, misalnya tumpukan buku, yang di atas atau yang terakhir masuk harus dikeluarkan terlebih dahulu untuk mendapatkan buku yang berada di tumpukan bawah.

Sebagai contoh, kamu mempunyai empat buku, yaitu buku matematika, fisika, biologi, dan kimia. Buku matematika kamu masukkan terlebih dahulu, lalu buku selanjutnya fisika, biologi, dan kimia.

Nah, untuk mendapatkan buku fisika, kamu harus mengeluarkan buku kimia dan biologi terlebih dahulu, karena kedua buku tersebut tergolong buku yang terakhir masuk.

Analogi di atas seperti halnya stack yang memiliki sifat LIFO. Data terakhir yang masuk harus keluar terlebih dahulu.

Seperti yang sudah disebutkan sebelumnya, konsep ini pada umumnya digunakan dalam pemrograman dan mengorganisir penyimpanan komputer.

Baca Juga:Kamu Programmer Pemula? Ketahui 3 Jenis Bahasa dalam Pemrograman Ini!

Linear Single Linked List


Linked List atau Single Linked List merupakan suatu bentuk struktur data yang berisi kumpulan data yang disebut sebagai node yang tersusun secara sekuensial, saling sambung menyambung, dinamis, dan terbatas.


Linked list sering juga disebut dengan sebagai sebutan senarai brantai. Cara untuk menghubungkan satu node dengan node lainnya maka Linked List menggunakan pointer sebagai penunjuk node selanjutnya atau bisa disebut next.


Node merupakan sebuah struct atau tipe data bentukkan yang menempati suatu lokasi memori secara dinamis yang terdiri dari beberapa field, minimal 2 buah field. Field tersebut adalah field untuk isi struct datanya sendiri dan 1 field arbitari bertipe pointer sebagai penunjuk node selanjutnya.


Ilustrasi Single Linked List :


Pada gambar di atas, data terletak pada sebuah lokasi dalam sebuah memory, tempat yang disediakan memory untuk menyimpan data disebut node ? simpul, setiap node memiliki pointer [ penunjuk ] yang menunjuk ke node berikutnya sehingga terbentuk suatu untaian yang disebut single LINKED LIST. Bila dalam single LINKED LIST pointer hanya dapat bergerak ke satu arah saja, maju / mundur, kanan / kiri, sehingga pencarian datanya juga hanya satu arah saja.


Pembuatan Single Linked List dapat menggunakan 2 metode:

  • LIFO [Last In First Out], aplikasinya : Stack [Tumpukan]
  • FIFO [First In First Out], aplikasinya : Queue [Antrean]

Pembuatan Single Linked List


1. Mendeklarasikan dan Membuat Struct Node


Penjelasan :

- Pembuatan struct bernama TNode yang berisi 2 field, yaitu pada field pertama dengan variabel data dengna tipe data integer dan field kedua yaitu next yang bertipe pointer dari TNode.

- Setelah selesai pembuatan struct, selanjutnya buat variabel head yang bertipe pointer dari TNode yang berguna untuk sebagai kepala dari linked list.


2.Pembentukan Node Baru


Untuk pembentukan atau pembuatan node baru dapat menggunakan keyword new yang berarti untuk mempersiapkan sebuah node baru beserta alokasi memorinya, yang kemudian node tersebut akan diisi data dan kemudian pointer nextnya akan ditunjuk ke NULL.

3.Menginisialisasikan dan Menggunakan Node Head


Selanjutnya yaitu :

- Dibutuhkan satu buah variabel pointer yang telah dibuat tadi yaitu : head
- head tersebut akan selalu menunjuk pada node pertama



Deklarasi Pointer penunjuk kepala Single Linked List manipulasi Linked List tidak bisa dilakukan langsung ke node yang dituju, melainkan harus menggunakan suatu pointer penunjuk terlebih dahulu ke node pertama di dalam linked list [dalam hal kasus ini adalah head]. Deklarasinya sebagai berikut :


TNode *head;


Function untuk mengetahui kosong atau tidaknya didalam Single Linked List jika pointer head tidak menunjuk pada suatu node maka kosong.


4. Penambahan Data


- Penambahan Data di Depan Single Linked List

Penambahan node baru akan dikaitkan di node paling depan, namun pada saat pertama kali atau data masing kosong bener, maka penambahan data dilakukan dengan cara head ditunjukkan ke node baru tersebut. Pada prinsipnya adalah untuk mengkaitkan node baru dengan pointer atau head, yang kemudian head tersebut akan menunjuk pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan.



Ilustrasi dari Penambahan Data di depan :


- Penghapusan Data pada Single Linked List

Berikut yaitu adalah sebuah Function untuk menghapus suatu data di Linked List terdepan atau hapus data depan di Linked List :



Function atau Fungsi diatas akan menghapus data teratas [pertama] didepan yang ditunjuk oleh head pada linked list.



Video liên quan

Bài mới nhất

Chủ Đề