Kelompok 4

16

Transcript of Kelompok 4

Page 1: Kelompok 4
Page 2: Kelompok 4
Page 3: Kelompok 4
Page 4: Kelompok 4
Page 5: Kelompok 4
Page 6: Kelompok 4
Page 7: 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 ). .

Page 8: Kelompok 4

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

Page 9: Kelompok 4

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;

Page 10: Kelompok 4

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;

Page 11: Kelompok 4

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

Page 12: Kelompok 4

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.

Page 13: Kelompok 4

Listing Program

Page 14: Kelompok 4

Hasil Program Stack

Page 15: Kelompok 4

OUTPUT

Page 16: Kelompok 4