Stack atau tumpukan adalah suatu struktur yang penting dalam pemrograman.
- Bersifat LIFO ( Last In First Out ).
- Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.
- Ujung list disebut top.
Kehidupan sehari-hari: tumpukan piring kotor :
- Piring kotor terakhir diletakkan diposisi paling atas tumpukan.
- Piring paling atas yang pertama kali dicuci.
- Pertama, kita akan meletakkan TV
- Setelah TV kita akan meletakkan VCD
- Maka akan tersusun VCD kemudian TV
- Kemudian diatas VCD akan kita letakkan Compo
- Maka akan tersusun tumpukan TV, VCD dan Compo
Operasi-operasi/fungsi Stack
Stack Exception
- Eksekusi suatu operasi stack mungkin mengakibatkan suatu kondisi error condition yang disebut exception.
- Dalam Stack ADT, operasi pop dan top tidak dapat dilakukan jika stack nya kosong.
- Upaya mengeksekusi pop dan top pada stack yang kosong akan mengakibatkan adanya EmptyStackException.
• Definisikan MAX_STACK untuk maksimum isi stack
• Definisikan stack menggunakan struct
• Buatlah variabel array data sebagai implementasi stack secara nyata.
• Deklarasikan operasi-operasi / function di atas dan buat implementasinya.
Keterbatasan
- Ukuran maksimum stack harus didefenisi diawal dan tidak bisa diubah.
- Jika ukuran terlalu kecil, dapat mengakibatan
- terjadinya stack overflow.Upaya melakukan operasi push sebuah elemen ke stack yang penuh dapat mengakibatkan terjadinya exception.