Stack

Metode stack ditemukan pada tahun 1955 dan dipatenkan pada tahun 1957 oleh Friedrich L. Bauer, seorang ilmuwan komputer asal Jerman. Sebagai sebuah tipe data abstrak, stack adalah tipe data yang berisi node-node dan memiliki beberapa operasi, diantaranya adalah push dan pop. Stack sendiri dapat dikatakan array of struct.

Stack biasa dilambangkan dengan blok-blok sel memori yang bertumpuk-tumpuk. Pointer menunjukkan lokasi tumpukan paling atas dari blok-blok tersebut. Operasi pada stack ini menggunakan metode LIFO (Last In First Out). Maksudnya adalah, yang berada pada tumpukan paling atas akan dikeluarkan terlebih dahulu. Metode sebaliknya (FIFO) digunakan pada queue.

Untuk menentukan jumlah maksimum stack, maka dideklarasikan konstanta MAX_STACK (atau variabel bernama apa saja yang dapat dijadikan sebagai jumlah maksimum stack). Elemen di dalam structnya adalah array data dan variabel yang menyatakan lokasi paling atas dari stack tersebut.

clip_image002

Figure 1 ilustrasi model stack

Operasi dalam stack

Push : Menambahkan node baru di atas tumpukan stack. Jika pointer menunjukkan lokasi paling atas dari tumpukan stack, maka pointer akan diupdate sebelum item (node) baru ditambahkan. Jika menunjukkan ke lokasi kosong di atas stack, maka pointer diupdate setelah node baru ditambahkan.

Pop : Menghilangkan node paling atas dan mengupdate pointer.

Clear : Mengosongkan stack.

IsEmpty : Untuk mengecek apakah stack kosong atau tidak.

IsFull : Mengecek apakah stack penuh atau tidak.

0 comments: