BAB II
STACK (TUMPUKAN)
STACK (Tumpukan) adalah bentuk khusus dari list linier.
Pada stack, penghapusan serta penyisipan elemennya
hanya dapat dilakukan pada satu posisi akhir dari list.
Posisi ini disebut puncak atau TOP dari stack.
Elemen stack S pada posisi ini dinyatakan dengan
TOP(S).
Karena aturan penyisipan dan penghapusan semacam
itu, maka TOP adalah satu-satunya alamat tempat terjadi
operasi.
Elemen yang ditambahkan paling akhir akan menjadi
elemen yang pertama akan dihapus.
Dikatakan bahwa elemen Stack akan tersusun secara
LIFO (Last In First Out).
22 February 2017 < Narwen, M.Si > 1
Matematika FMIPA Catatan Kuliah
Universitas Andalas Struktur Data
Single Stack
Single stack adalah stack yang terdiri dari satu collection.
1. Single stack dengan array satu dimensi.
Ada tiga proses pada stack,
a. Proses AWAL (Inisialisasi)
Proses menyiapkan indeks penunjuk stack pertama kali.
TOP = 0;
Ilustrasi:
0 1 2 3 4 5 6 7 8 9 10 n=10
S[ ]
TOP 0 0
TOP X
Pada saat ini,
Array(stack) belum ada isinya
Variabel X juga belum ada isinya
Variabel TOP bernilai 0 dan operasi yang bisa dilakukan PUSH
22 February 2017 < Narwen, M.Si > 4
Matematika FMIPA Catatan Kuliah
Universitas Andalas Struktur Data
Atau ditulis,
Atau ditulis,
Contoh
Susun program untuk menyiapkan array satu dimensi yang akan
digunakan sebagai stack S sebanyak 10 elemen. Kemudian lakukan
proses simpan data ke stack (PUSH) dan proses mengeluarkan isi stack
(POP) dengan proses sebagai berikut:
1. Input data dari keyboard. Bila data diinput 999, maka proses selesai.
2. Bila data yang diinput bernilai >= 60, periksa kondisi stack. Bila
stack masih bisa diisi maka PUSH data tersebut ke dalam stack dan
kembali ke langkah 1. Tapi bila stack sudah penuh, maka data tidak
jadi disimpan dan cetak pesan “Stack Penuh” dan proses selesai.
3. Bila data yang diinput bernilai < 60, periksa kondisi stack. Bila stack
ada isinya maka POP data tersebut dari stack, kemudian cetak ke
layar dan kembali ke langkah 1. Tapi bila stack sudah kosong, maka
cetak pesan “Stack Kosong” dan proses selesai.