Stack adalah struktur data yang menyimpan data secara teratur dengan sistem LIFO (Last In First Out), di mana elemen terakhir yang dimasukkan akan menjadi elemen pertama yang diambil. Stack dapat digunakan untuk menambahkan atau mengambil elemen hanya pada satu sisi yang disebut top.
2. DEFINITION
Stack adalah tumpukan data dimana terdapat data dalam satu elemen
yang sama.
Suatu metode untuk input dan hapus di dalam memori komputer
Konsep dalam stack yaitu LIFO (Last In First Out).
Contoh :
5. Sepatu
4. Kacamata
3. Sepeda
2. Jam
1. Baju
3. Understanding
Stack (tumpukan) dapat diartikan sebagai list (urutan) dimana
Penambahan dan pengambilan elemen hanya dilakukan pada satu sisi
yang disebut top (puncak) dari stack.
Arti lain dari Stack adalah salah satu konsep struktur data yang memiliki
sistem kerja yang terakhir masuk adalah yang pertama keluar (LIFO = Last
In First Out ).
4. Stack Ilustration
5 Sepatu (12)
4 Kacamata (5)
3 Sepeda (20)
2 Jam (15)
1 Baju (4)
Masuk
Keluar
Catatan : Yang terakhir masuk ke dalam tumpukan, itu
yang yang pertama keluar seperti pada urutan ke 5.
5. Algorithm
Input / Tambah Data
Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1
demi 1 sampai maksimal tumpukan.
Pengambilan Data
Jika ada pengambilan data maka data dipindahkan di variabel lain. Dan
posisi tumpukannya yang semula maksimal akan berkurang 1 demi 1
sampai posisi 0 kembali.
6. Operation on The Stack
Operasi Push
Operasi Pop
Operasi IsFull
Operasi IsEmpty
7. Operation Push
Operasi Push, yaitu operasi menambahkan elemen baru pada sebuah
stack.
Aturan-aturan dalam operasi Push :
kondisi awal ada sebuah stack yang telah memiliki beberapa elemen
dengan elemen teratas disebut “TOP”.
Buat sebuah elemen baru
elemen baru dimasukkan ke dalam stack
penunjuk awal TOP diubah ke elemen yang baru ditambahkan
9. Operation Pop
Operasi Pop, yaitu operasi mengambil sebuah elemen dari sebuah
stack.
Aturan-aturan dalam operasi Pop sbb:
Kondisi awal ada sebuah stack yang telah memiliki beberapa elemen
dengan elemen teratas disebut “TOP”
Penunjuk awal TOP diubah menunjuk elemen yang ada di bawahnya
(TOP)
Elemen teratas diambil dari stack
11. Operation IsFuLL
Operasi IsFull, yaitu operasi yang memeriksa apakah stack sudah
penuh atau tidak.
Dengan cara, memeriksa top of stack, jika sudah sama dengan
MAX_STACK-1 maka full, jika belum (masih lebih kecil 1) maka belum full.
13. Operation IsEmpty
Operasi IsEmpty, yaitu operasi yang memeriksa apakah stack masih
kosong atau tidak. Dengan cara memeriksa top of stack, jika masih -1
maka berarti stack masih kosong.