Professional Documents
Culture Documents
Deden
Deden
Deden
PROCEDURE PUSH (VAR S:POINTER;X:INTEGER); VAR ISI:POINTER; BEGIN IF (ISI<>NIL) THEN BEGIN NEW(ISI); ISI^.TOP:=X; ISI^.NEXT:=S; S:=ISI; END ELSE WRITELN('STACK PENUH'); END; FUNCTION POP(VAR S:POINTER):INTEGER; VAR T:POINTER; BEGIN
IF (S<>NIL) THEN BEGIN T:=S; POP:=S^.TOP; S:=S^.NEXT; DISPOSE(T); END; END; Procedure Display(s:POINTER); Begin while s<> nil do begin write(s^.TOP:5); s:=s^.next; end; writeln; End;
BEGIN J:='Y'; REPEAT WRITELN('MASUKAN DATA [PUSH] DATA : ');READLN(TOP); PUSH(I,TOP); WRITELN('MASUKAN DATA LAGI [Y/T]');READLN(J); UNTIL(J='T'); IF J = 'T' THEN CLRSCR; BEGIN WRITELN('DATA YANG TELAH ANDA MASUKAN :'); WRITELN('============================='); DISPLAY(I); WRITELN('============================='); WRITELN;
REPEAT WRITELN('APAKAH ANDA INGIN MENGHAPUS ? : ');READLN(J); IF J='Y' THEN POP(I); DISPLAY(I); UNTIL (I=NIL); IF I=NIL THEN WRITELN('DATA HABIS'); END; END.