Pengertian tumpukan
Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan
data yang seolah‑olah ada data yang diletakkan diatas data lain. Satu hal yang
perlu kita ingat adalah bahwa kita bisa menambah (menyisipkan) data, dan
mengambil (menghapus) data lewat ujung yang sama, yang disebut dengan ujung
tumpukan (top of stack).
Penyajian tumpukan
Tumpukan bisa disajikan dengan menggunakan data yang bertipe
larik (array), dengan nomor larik terkecil diletakkan paling bawah dan nomor
terbesar diletakkan pada paling atas.
Namun dalam praktikum ini data yang digunakan bertipe record
yang terdiri dari satu atau beberapa medan
yang bertipe larik untuk menyimpan elemen tumpukan dan satu medan yang bertipe integer untuk mencatat
ujung atas tumpukan.
Contoh deklarasi tumpukan berikut ini terdiri dari dua medan, medan pertama bertipe larik dan medan kedua bertipe
integer;
const maxelemen = 255;
type tumpukan = record
Isi : array il..maxelenienj of integer;
atas : 0..maxelemen;
end;
var
T : tumpukan;
Operasi pada
tumpukan:
1. Operasi Push
Operasi push adalah proses meletakkan suatu
elemen pada tumpukan paling atas.
Operasi push dapat
diimplementasikan sebagai berikut:
procedure push (var T :
tumpukan; X: integer);
begin
if
T.Atas = maxelemen then
writeln('Tumpukan sudah penuh')
else
begin
T.atas := T.atas + 1;
T.isi[T.atas] := X;
end;
end;
Untuk
memanggil prosedur diatas dengan
Push(T,X);
2. Operasi Pop:
Operasi Pop adalah suatu proses menghapus
elemen data paling atas dari suatu tumpukan. Operasi Pop dapat diimplementasikan
sebagai berikut:
Procedure pop (var T : tumpukan);
begin
If
T.atas = 0 then
writeln('Tumpukan sudah kosong')
else
T.atas:= T.atas ‑ 1; end;
Prosedur
diatas dapat dipanggil dengan:
Pop (T);