STACK
(TUMPUKKAN)
A.
Definisi
Stack (Tumpukan)
Stack
(tumpukan) diartikan sebagai kumpulan elemen-elemen data yang disimpan dalam satu lajur
linier. Kumpulan elemen-elemen data
hanya boleh pada satu lokasi saja yaitu pada posisi ATAS (TOP) tumpukan. Elemen-elemen
dalam tumpukan dapat bertipe data integer, real, record dalam bentuk
sederhana dan terstruktur. Tumpukan disebut juga dengan “push down stack” yaitu
penambahan elemen baru (PUSH) dan penghapusan elemen dari tumpukan (POP). Pada tumpukan
ini menggunakan prinsip LIFO (Last In
First Out), masuk terakhir keluar pertama.
B.
Contoh
Program
1. Program
membalikkan kata
C.
Inisialisasi
stack
a. Pada mulanya
isi top dengan -1, karena array dalam bahasa C dimulai dari 0,
yang berarti bahwa data stack adalah KOSONG!
b.
Top adalah suatu variabel penanda
dalam Stack yang menunjukkan elemen teratas data Stack sekarang. Top
Of Stack akan selalu bergerak hingga mencapai MAX of STACK yang
menyebabkan stack PENUH!
D.
Fungsi
IsFull
a. Untuk
memeriksa apakah stack sudah penuh?
b.
Dengan cara memeriksa top of stack, jika
sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih
kecil dari MAX_STACK-1) maka belum full
c. Program stack
E.
Fungsi IsEmpty
a. Untuk
memeriksa apakah data Stack masih kosong?
b.
Dengan cara memeriksa top of stack, jika
masih -1 maka berarti data Stack masih kosong!
c. Program isempty
F.
Fungsi Push
a.
Untuk memasukkan elemen ke data Stack. Data yang
diinputkan selalu menjadi elemen teratas Stack (yang ditunjuk
oleh ToS)
b.
Jika data belum penuh,
a)
Tambah satu (increment) nilai top of stack lebih
dahulu setiap kali ada penambahan ke dalam array data Stack.
b)
Isikan data baru ke stack berdasarkan indeks top of
stack yang telah di-increment sebelumnya.
c.
Jika tidak, outputkan “Penuh”
G.
Fungsi Pop
a.
Untuk mengambil data Stack yang terletak paling atas
(data yang ditunjuk oleh TOS).
b.
Tampilkan terlebih dahulu nilai elemen teratas stack
dengan mengakses indeksnya sesuai dengan top of stacknya, baru dilakukan
di-decrement nilai top of stacknya sehingga jumlah elemen stack berkurang.
H.
Fungsi Print
a.
Untuk menampilkan semua elemen-elemen data Stack
b.
Dengan cara me-loop semua nilai array secara terbalik,
karena kita harus mengakses dari indeks array tertinggi terlebih dahulu baru ke
indeks yang lebih kecil!
Adapun contoh program sederhananya
sebagai berikut :
Referensi :
https://sisfo.itp.ac.id/bahanajar/BahanAjar/Anisya/Modul%203%20-%20Tumpukan.pdf diakses pada tanggal 04 maret 2019 pukul 17.03 wita
Tidak ada komentar:
Posting Komentar