Kelompok 4

Post on 08-Jul-2015

135 views 2 download

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