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
Cara mendefenisikan Stack dengan Array
of Struct yaitu:
1. Definisikan Stack dengan menggunakan
struct
2. Definisikan konstanta MAX_STACK untuk
menyimpan maksimum isi stack
3. Buatlah variabel array data sebagai
implementasi stack
4. Deklarasikan operasi-operasi/function di
atas dan buat implemetasinya.
contoh :
//Deklarasi MAX_STACK
#define MAX_STACK 10
//Deklarasi STACK dengan struct dan array
data
typedef struct STACK{
int top;
char data[10][10];
};
//Deklarasi/buat variabel dari struct
STACK tumpuk;
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.
Tidak ada komentar:
Posting Komentar