2. 1.Jenis queue yang digunakan pada stack
a. EnQueue : berfungsi memasukkan data kedalam antrian.
b. DeqQueue : berfungsi mengeluarkan data terdepan dari antrian.
c. Clear : Menghapus seluruh Antrian
d. IsEmpty : memeriksa apakah antrian kosong
e. IsFull : memeriksa apakah antrian penuh.
2.3 mamfaat stack
a.Pengolahan struktur yang "nested" (berisi salinan dirinya sendiri di dalam dirinya),
misalnya pengolahan ekspresi aljabar, himpunan dari himpunan.
b.Implementasi algoritma parsing, evaluasi dan backtracking.
c.Digunakan OS untuk memungkinkan pemanggilan prosedur secara nested.
3.Operasi Pada Stack
a) Create(Stack)
b) IsEmpty(Stack)
c) Push(Stack, Elemen)
d) Pop(Stack)
e) Clear
3. 4.Contoh pendeklarasian Stack
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;
4. 5.Contoh Program pada Stack
Program pop_push;
uses wincrt
;const elemen =255; {batas maximum karakter}t
ype S255 = string [elemen];
tumpukan = record
isi : s255; atas : 0..elemen;
end;
Var
T : tumpukan;
W : char;
kalimat : s255;
i,j : integer;
procedure awalan (var T : tumpukan);
Begin
T.Atas := 0;
end;
procedure push (var T : tumpukan; X : char);
Begin
T. Atas := T.Atas+1; T.Isi[T.Atas] := X;
end;
5. function pop (var T : tumpukan): char;
Begin
pop := T.Isi[T.Atas];
T.atas := T.atas-1;
end;
begin {program utama}
clrscr; {melakukan proses push}
writeln('Masukkan Kalimat : ');
read(kalimat);
writeln;
for i := 1 to length (kalimat) do
push (T, kalimat [i]);
write('Elemen yang di-push : ', kalimat);
writeln;
readln;
{melakukan proses pop}
for i := 1 to length (kalimat) do
push (t, kalimat [i]);
writeln;
6. writeln('Hasil akhir push dibaca dengan pop : ');
{menampilkan hasil proses pop}
for j := 1 to length (kalimat) do
Begin
w := pop (T);
write(w);
end;
Readln;
end.