Pengertian Stack atau Tumpukan adalah suatu
stuktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In
First Out), Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama
yang dikeluarkan dari stack. Stack (Tumpukan) adalah list linier yang
dikenali elemen puncaknya (TOP) dan Aturan penyisipan dan penghapusan elemennya
tertentu. Penyisipan selalu dilakukan “di atas“ TOP dan Penghapusan
selalu dilakukan pada TOP.
STACK ATAU TUMPUKAN PADA MATAKULIAH STRUKTUR DATA
Stack karena aturan penyisipan
dan penghapusan semacam itu, TOP adalah satu-satunya alamat tempat terjadi
operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan
dihapus.Dikatakan bahwa elemen Stack akan tersusun secara LIFO (Last In First
Out).
karena kita menumpuk Compo di
posisi terakhir, maka Compo akan menjadi elemen teratas dalam tumpukan.
Sebaliknya, karena kita menumpuk
Televisi pada saat pertama kali, maka elemen Televisi menjadi elemen terbawah
dari tumpukan. Dan jika kita mengambil elemen dari tumpukan, maka secara
otomatis akan terambil elemen teratas, yaitu Compo juga.
OPERASI-OPERASI/FUNGSI STACK
- Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
- Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
- Clear : digunakan untuk mengosongkan stack
- IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
- IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
INISIALISASI STACK
Pada mulanya isi top dengan -1,
karena array dalam C dimulai dari 0, yang berarti stack adalah KOSONG.!
Top adalah suatu variabel penanda
dalam STACK yang menunjukkan elemen teratas Stack sekarang. Top Of Stack akan
selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack PENUH!
Ilustrasi stack pada saat inisialisasi
Fungsi IsFull
Untuk memeriksa apakah stack
sudah penuh?
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
Ilustrasi
tolong dong berikan penjelasan pada setiap step yang ada di contoh program stack yang anda buat
BalasHapus