STACK ( TUMPUKAN )
Stack ( Tumpukan ) dapat diartikan sbg :
Suatu kumpulan data yang seolah-olah ada data yg diletakkan diatas data yg lain, yg bisa menyisipkan ( menambah ) data serta mengambil ( menghapus data ).
Operasi yg dpt dilakukan dalam stack :
1. Menyisipkan / menambahkan data pd ujung atas stack
-> push
2. Menghapus / mengeluarkan data dr ujung atas stack
-> pop
Prinsip kerja stack adalah LIFO ( Last In First Out )
Penyajian awal Stack :
Dalam Pascal dikenal type data terstruktur yg disebut ARRAY (LARIK). Dapat digunakan u menyajikan sebuah tumpukan. Tapi penyajian dg mengg. ARRAY adalah kurang tepat karena banyaknya elemen dalam array adalah statis.
Sedangkan dalam tumpukan, banyaknya elemen dapat bervariasi ( dinamis ).
Meskipun demikian, ARRAY dapat digunakan u menyajikan sebuah tumpukan dg anggapan bahwa banyaknya elemen max dari tumpukan tsb tidak akan melebihi batas max banyaknya elemen dalam array.
Pada saat ukuran tumpukan = ukuran array, jika ditambahkan data baru akan menyebabkan “OVERFLOW”.
Dengan demikian perlu adanya data tambahan u mencatat posisi ujung atas tumpukan.
Dengan kebutuhan ini, penyajian tumpukan dapat dilakukan dengan menggunakan type data terstruktur yang lain yaitu RECORD ( Rekaman ) yg terdiri dari 2 field :
- Field 1 -> Digunakan u menyimpan elemen tumpukan yg bertype array
- Field 2 -> Digunakan u mencatat posisi atas ujung tumpukan.
Deklarasi STACK secara umum :
const MaxElemen =255;
type Tumpukan = record
Isi : array[1..MaxElemen] of string;
atas : 0..MaxElemen
end;
var T : Tumpukan;
Untuk file lengkapnya download disini
0 komentar:
Posting Komentar