Program Queue dengan Pascal

BY IN Turbo Pascal Comments Off on Program Queue dengan Pascal

Queue mempunyai struktur data yang hampir sama dengan Stack. Yang membedakan adalah procedure Deque, dimana terjadi iterasi untuk pergeseran komponen2 array, karena Queue menggunakan metode FIFO (First In First Out) sedangkan Stack menggunakan metode LIFO (Last In First Out). Berikut adalah listing program Queue yang ditulis dalam bahasa Pascal

uses crt;

var
queue:array[1..10] of integer;
i,pos,pil:integer;

procedure enqueue;
var
bil:integer;
begin
clrscr;
if (pos>=10) then
begin
writeln(‘Antrean penuh’); readln();
end
else
begin
write(‘Masukkan bilangan : ‘);readln(bil);
pos:=pos+1;
queue[pos]:=bil;
end;
end;

procedure deque;
begin
clrscr;
if (pos=0) then
begin
writeln(‘Tidak ada Antrean’);readln();
end
else
begin
{restructuring queue}
pos:=pos-1;
for i:=1 to pos do
begin
queue[i]:=queue[i+1];
end;
end;
end;

procedure empty;
var
i:integer;
begin
clrscr;
if (pos=0) then
begin
writeln(‘Tidak ada Antrean’);readln();
end
else
begin
for i:=1 to pos do
begin
queue[i]:=-1;
end;
pos:=0;
end;
end;

procedure display;
var
k,l:integer;
begin
clrscr;
if (pos=0) then
begin
writeln(‘Tidak ada Antrean’);readln();
end
else
begin
l:=1;
for k:=pos downto 1 do
begin
gotoxy(k*3,1);
write(queue[l]);
l:=l+1;
end;
readln();
end;
end;

begin
clrscr;
{inisialisasi queue}
for i:=1 to 10 do
begin
queue[i]:=-1;
end;
{posisi awal queue}
pos:=0;
{pilihan menu queue}
while (pil<>5) do
begin
textbackground(blue);
textcolor(white);
clrscr;
writeln(‘MENU PILIHAN QUEUE ‘);
writeln(‘================== ‘);
writeln(‘1. ENQUEUE         ‘);
writeln(‘2. DEQUE           ‘);
writeln(‘3. Kosongkan QUEUE ‘);
writeln(‘4. Lihat QUEUE     ‘);
writeln(‘5. Selesai         ‘);
write(‘Pilihan Anda :’); readln(pil);
case pil of
1: enqueue();
2: deque();
3: empty();
4: display();
end;
end;
end.




Comments are closed.