STACK (Tumpukan)
Stack
adalah suatu urutan yang elemennya dapat diambil dan ditambah hanya pada posisi
akhir(top)saja.contoh dalam kehidupan sehari-hari adalah tumpukan piring
disebuah restoran yang tumpukannya ditambah pada bagian paling atas dan jika mengambilnya
pun dari bagian paling atas pula.
Bersifat LIFO (Last In First Out). Benda yang
terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari
stack.
Macam-Macam
Stack
Stack
ada 2 operasi paling besar yang dapat dilakukan,yaitu:
1. Operasi
push yaitu operasi menambahkan elemen pada urutan terakhir(paling atas).
2. Operasi
Pop yaitu mengambil sebuah elemen data pada urutan terakhir dan menghapus
elemen tersebut dari stack
Sebagai
contoh,misalkan ada data sebagai berikut:
1 3
5 6,maka data tersebut dapat
tersimpan dalam bentuk sebagai berikut:
Contoh
lain adalah ada sekumpulan perintah stack yaitu
push(5),push(7),pop,push(3),pop.jika dijalankan,maka akan terjadi adalah:
Proses
Operasi Stack
Selain
operasi dasar stack,ada lagi operasi lain dapat terjadi dalam stack yaitu:
- Proes Deklarasi yaitu proses pendeklarasian stack.
- Proses Isempty yaitu proses pemeriksaan apakah stack dalam keadaan kosong.
- Proses Isfull yaitu proses pemeriksaan apakah stack telah penuh.
- Proses inisialisasi yaitu proses pembuangan stack kosong,biasanya dengan pemberian nilai untuk top.
- Proses clear yaitu proses pengosongan stack.
- Proses Print yaitu proses menampilkan semua elemen-elemen stack
Operasi-operasi
Stack
- Pendeklarasian stack
Proses
pembuatan struktur stack dalam memori.
Top:
yang berisi posisi data terakhir
Elemen:
yang berisi data yang ada dalam stack bagian ini lah yang berbentuk array.
Maks_elemen yaitu variabel yang menunjuk maksimal banyaknya elemen dalam stack.
Maks_elemen yaitu variabel yang menunjuk maksimal banyaknya elemen dalam stack.
2. Proses
Inisialisasi
Inisialisasi stack adalah proses pembuatan
suatu stack kosong.
Operasi yang digunakan
untuk memeriksa apakah stack dalam keadaan kosong. Operasi ini dilakukan dengan
memeriksa field top.jika top bernilai 0 atau top bernilai -1,maka berarti stack
dalam keadaan empty.
4. Operasi
IsFull
Untuk
memeriksa keadaan stack apakah sudah penuh/belum.
Langkah-langkah
untuk operasi ini:
a. Operasi
IsFull pada stack yang menggunakan array.
5. Operasi
Push
Operasi push adalah
operasi dasar dari stack yang berguna untuk menambah suatu elemen data baru
pada stack dan di simpan pada posisi top yang akan mengakibatkan posisi top
akan berubah.
Langkah-langkah
operasi ini:
v Periksa
apakah stack penuh(isfull).jika bernilai false/0 (tidak penuh)maka proses push
dilaksanakan dan jika pemeriksaan ini bernilai true/1,maka proses push
digagalkan.
v Proses
push-nya sendiri adalah dengan menambahkan field top dengan 1,kemudian elemen
pada posisi top di isi dengan elemen data baru.
6. Operasi
Pop
Operasi Pop adalah salah satu operasi paling
besar dari stack yang berguna untuk mengambil elemen terakhir(top) dan kemudian
menghapus elemen tersebut sehingga posisi top akan berpindah.
Operasi ini biasanya
dibuat dalam bentuk function yang me-return-kan nilai sesuai data yang ada di
top. Operasi Pop pada Stack yang menggunakan array adalah terlebih dahulu
memeriksa apakah stack sedang keadaan
kosong,jika tidak kosong maka data diambil pada posisi yang ditunjuk oleh
posisi top,kemudian disimpan dalam variabel baru dengan nama “data”.
7. Operasi
Print
Untuk menampilkan semua
elemen-elemen stack. Dengan cara looping semua nilai array secara terbalik,
karena kita harus mengaksesdari indeks array tertinggi terlebih dahulu baru ke
indeks yang kecil.
March 14, 2020 at 6:26 PM
Sif