Photobucket

2012-06-05

Program Antrian

 Tugas Mandiri Struktur Data, Membuat Program Antrian,
 Jurusan Teknik Informatika,


program animation_queue;

uses wincrt;

const max_elemen =10;
type antri = array [1..max_elemen] of char;

var

antrian : antri;
q : antri;
d : char;
isi : antri;
depan, belakang, pilih : integer;
elemen : char;


procedure kotak;

var

i: integer;

begin

gotoxy(20,15);

for i:= 1 to max_elemen * 4 + 1 do

write('*');

gotoxy(22,16);

for i:= 1 to max_elemen do

write('| ');


writeln('| | | | | | | | | | ');

gotoxy(20,17);

for i:= 1 to max_elemen * 4 + 1 do

write('*');

gotoxy(8,16);writeln('<***** Out');

gotoxy(22+max_elemen*4+1,16);

writeln('<***** In');

end;


procedure letakkan(x: char; r:integer);

begin

gotoxy(18+4*r,16);

write(x);

end;

function kosong(q: antri): boolean;

begin

kosong:=(depan=belakang)

end;

procedure tambah(var antrian: antri;x:char);

begin

if belakang=max_elemen then belakang:=1

else belakang:=belakang+1;

if not (kosong(antrian)) then

begin

antrian[belakang]:=x;

letakkan(x,belakang);

end

else

begin

gotoxy(40,9);

write('OVERFLOW');

repeat

{menunggu sampai ada tombol ditekan}

until keypressed;

gotoxy(40,9);

write(' ':30);

belakang:=belakang-1;

if belakang=0 then

belakang:=max_elemen

end

end;

function qkosong(q:antri):boolean;

begin

qkosong:= (depan = belakang);
end;

procedure Dequeue(var q:antri; ed:char);
begin

if not(qkosong(q)) then

begin

if depan = max_elemen then depan :=1

else depan := depan+1;
ed := isi[depan];

end;

end;
procedure tampil(q: antri);

var i,awal : integer;
begin
CLRSCR;
writeln('ANTRIAN');

if depan = max_elemen then awal :=1

else awal := depan +1;

for i:=awal to belakang do

writeln(i:3,' ':5,isi[i],' ');

READLN;
end;


function hapus(var antrian: antri):char;

begin

if depan=max_elemen then

depan:=1

else

begin

depan:=depan+1;

hapus:=antrian[depan]

end

end;

{program utama}

begin

clrscr;

kotak;

depan:=0;

belakang:=0;

repeat

for pilih:=5 to 9 do

begin

gotoxy(40,pilih);write(' ':39);

end;
              

gotoxy(1,1);
writeln ('NPM : 110210087 ');
writeln ('kode kelas : 112-IF211-M2');
writeln;

writeln('MENU ');


writeln;

writeln(' 1. Tambahkan sebuah pilihan baru ');

writeln(' 2. Menampilkan antrian    ');

writeln(' 3. SELESAI dan TUTUP');

writeln('PILIHAN ANDA:');
writeln;               
write ('*** TERIMA KASIH UNTUK MENGGUNAKAN PROGRAM INI ***');
writeln;
write (' PROGRAM DIBUAT OLEH ');
writeln;
write (' JALALUDDIN SOLIN ');
writeln;
write (' http://jlssolin.blogspot.com ');
writeln;

repeat

gotoxy(22,9);writeln(' ');

gotoxy(22,9);readln(pilih);

until (pilih>=1) and(pilih<=3);

case pilih of

1 : begin


write('MASUKKAN PILIHAN ANDA:');readln(elemen);

tambah(antrian,elemen);

end;

2 : begin

if not(kosong(antrian)) then

begin
Dequeue(q,d);
tampil(q);
end

else

begin
gotoxy (30,9);
writeln ('UNDERFLOW');
elemen:=readkey;
gotoxy (30,9);write (' ':30);
end
end
end;
until pilih=3
end.




DESA PASI                                                     BIKERS BATAM BERSATU       

APGPI ~Anak Pemulung Gelandang Pengangguran Indonesia~ 


No comments:

JLS SOLIN ©2010 Blog Designed by Jls Solin

All Images Froom JlsSolinmikemana Anakpemulung Gelandangpengagguran YangGilatidakwarastidak