Kelompok 4
-
Upload
wita-kizz-wisymaru -
Category
Documents
-
view
135 -
download
2
Transcript of Kelompok 4
STACK (TUMPUKAN)
Pengertian Stack
Stack adalah kumpulan data yang dapat
diletakkan data lain di atasnya.
Perlu diingat bahwa kita hanya bisa
menambah dan menghapus elemennya dari
ujung atas saja. Proses seperti ini disebut juga
Last In First Out ( LIFO ). .
Operasi Pada Stack
Inisialisasi
Yaitu membuat stack dalam keadaan kosong.
Push
Yaitu Proses memasukkan elemen baru pada stack
Pop
Yaitu mengambil elemen dari stack.
Size
Yaitu operasi menetahui jumlah elemen stack.
Empty
Yaitu untuk mengetahui stack kosong atau tidak.
Full
Yaitu mengetahui status stack
Listning Program STACKUses crt;
const
max = 10;
var
top,i : byte;
pil,tem,E : char;
stack : array [1..max] of char;
procedure pushanim;
begin
for i :=1 to 18 do
begin
gotoxy(23+i,7); write(tem);
{Delay(30);}
gotoxy(23,7); clreol;
end;
for i:=1 to 14-top do
begin
{delay(30);}
gotoxy(41,6+i); write(' ');
gotoxy(41,7+i); write(tem);
end;
end;
procedure popanim(tem:char);begin
for i:=1 to 14-top dobegin
{delay(30);}gotoxy(41,22-i-top); write(' ');gotoxy(41,21-i-top); write(tem);
end;for i:=1 to 19 do
begingotoxy(40+i,7); write(tem);
{delay(30);}gotoxy(16,7); clreol;
end;end;
procedure push(e:char);begin
inc(top);stack[top] :=e;pushanim;
end;
procedure pop(e:char);begin
if top<> 0 thenbegin
E:=stack[top];popanim(e);dec(top);
end elsebegin
gotoxy(1,7); write('stack telah kosong');readkey;
gotoxy(1,7); clreol;end;
end;begin
clrscr;writeln('ANIMASI STACK');writeln('1. PUSH (MASUKKAN DATA)');writeln('2. POP (MENGHAPUS)‘);writeln('3. QUIT (KELUAR)');writeln('Pilihan anda[1/2/3] = ');gotoxy(49,6);write('\');gotoxy(49,8);write('/');gotoxy(37,10);write('\ /');for i:=1 to 11 do
begin
gotoxy(38,10+i);if i=11 then write('|_____|')else write('| |');
end;top := 0;repeat
gotoxy(23,5);clreol;pil := readkey;write(pil);if pil ='1' then
beginif top<> max then
begingotoxy(1,7);write('Masukkan satu Huruf = ');tem := readkey;write(tem);push(tem);gotoxy(1,7);clreol;
end elsebegin
gotoxy(1,7);write('Stack sudah penuh');readkey;gotoxy(1,7);clreol;
end;end else
if pil='2' then pop(tem);until pil='3';end.
Listing Program
Hasil Program Stack
OUTPUT