Advertisement
arsel

LIFO

Mar 29th, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. program Kelompok5_Stack;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils;
  7.  
  8. const max = 5;
  9.  
  10. type tumpukan=array[1..10] of char;
  11.  
  12.  
  13. type tumpuk=record
  14. nilai : tumpukan;
  15. depan : integer;
  16. belakang : integer;
  17. isi : 0..max;
  18. end;
  19.  
  20. var
  21. antrian : tumpuk ;
  22.  
  23. procedure PUSH(var antrian : tumpuk; x : char);
  24. begin
  25. if antrian.isi=max then
  26. write(' Antrian Penuh ')
  27. else
  28. Begin
  29. if antrian.Belakang=max then
  30. antrian.Belakang:=max
  31. else
  32. antrian.Belakang:= antrian.Isi+1;
  33. antrian.nilai[antrian.Belakang]:=x;
  34. antrian.Isi:=antrian.Isi+1;
  35. end;
  36. end;
  37.  
  38. procedure POP(var antrian : tumpuk; var x : char);
  39. begin
  40. if antrian.isi=0 then
  41. write('Antrian Kosong')
  42. else
  43. begin
  44. antrian.Belakang:= antrian.Isi;
  45. x:=antrian.nilai[antrian.Belakang];
  46. antrian.nilai[antrian.Belakang]:=' ';
  47. antrian.isi:=antrian.isi-1;
  48. end;
  49. end;
  50.  
  51.  
  52. var i,pilih : integer;
  53. x : char ;
  54. begin
  55.  
  56. repeat
  57. writeln;
  58. writeln('1. PUSH');
  59. writeln('2. POP');
  60. writeln('0. Keluar');
  61. writeln('Masukan pilihan Menu Anda : ');
  62.  
  63. readln(pilih);
  64. if pilih<>0 then
  65. case pilih of
  66. 1: begin
  67. write('Nilai yang dimasukan : ');readln(x);
  68. PUSH(antrian,x);
  69. for i := 1 to max do
  70.  
  71. write(antrian.nilai[i],' ');
  72. writeln;
  73. end;
  74. 2: begin
  75. x:=' ';
  76. pop(antrian,x);
  77. writeln('Data Keluaran = ',x );
  78. for i:=1 to max do
  79. write(antrian.nilai[i],' ');
  80. writeln;
  81. end;
  82.  
  83. end;
  84. until pilih=0;
  85. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement