
Pengertian Stack
Stack adalah struktur data yang digunakan untuk menyimpan sekumpulan variabel linier (urut). Stack dapat diilustrasikan sebagai tumpukan data urut yang menganut sifat LIFO (last in first out). Artinya, data yang terakhir masuk adalah yang data yang akan keluar terlebih dahulu.
Dari gambar ilustrasi di atas, bola merah adalah bola yang pertama masuk ke dalam wadah, disusul dengan bola kuning, kemudian bola biru. untuk mendapatkan bola kuning kembali maka kamu harus mengeluarkan bola biru terlebih dahulu lalu bola kuning, dan yg terakhir adalah bola merah. begitulah cara kerja last in first out (LIFO).
Dasar-Dasar Stack
- Stack adalah tumpukan / daftar variabel data yang urut dari tipe data yang sama
- Stack memiliki struktur last in first out (LIFO) yang artinya adalah “data yang terakhir masuk, merupakan data yang pertama keluar”
- Fungsi push() digunakan untuk menambahkan variabel data baru ke dalam stack.
- Fungsi pop() digunakan untuk menghapus sebuah variabel data dari stack.
- Penyisipan dan penghapusan variabel data hanya diperbolehkan di satu ujung stack bagian atas yang disebut top.
- Fungsi isFull() digunakan untuk mengecek, apakah stack sudah terisi penuh.
- Fungsi isEmpty() digunakan untuk memeriksa apakah stack dalam keadaan kosong.
- Fungsi peek() atau top() digunakan untuk mengetahui variabel data paling atas pada sebuah stack.
- Kondisi stack dinyatakan sebagai overflow ketika variabel data terurut dalam sebuah stack benar benar penuh dan underflow ketika kondisi stack benar benar kosong
Implementasi Stack pada Algoritma
- Array
Array adalah salah satu implementasi dari stack yang paling sederhana dan menawarkan akses acak ke pengguna berdasarkan indeks. Bahasa pemrograman yang dapat digunakan untuk merancang array sebagai bentuk implementasi dari stack adalah java, C, C++, Python, dan C#. - Linked List
Dengan Linked List, operasi push pada stack bisa diganti dengan metode addAtFront dan operasi pop bisa diganti dengan fungsi delete yang menghapus node depan dari linked list. Kelebihan implementasi stack menggunakan linked list adalah variabel data stack dapat bertambah dan berkurang sesuai dengan kebutuhan saat runtime. Linked list biasa digunakan dengan Java, Python, C, C++ dan C#.
Credit
- "Stack" from geeksforgeeks posts Stack Data Structure
Categories: Technology
0 Comments
Leave a comment