Program ILUSTRASI_ANTRIAN;
uses crt;
const Max_Elemen = 10;
type Antri = array[1..Max_Elemen] of char;
Var Antrian : Antri;
Depan,
Belakang,
pilih : integer;
Elemen : char;
{ Prosedur untuk menggambar kotak antrian }
procedure KOTAK;
var I : integer;
Begin
gotoxy(20,15);
for I := 1 to Max_Elemen*4 + 1 do write('-');
gotoxy(20,16);
for I := 1 to Max_Elemen do write ('! ');
writeln('!'); gotoxy(20,17);
For I := 1 to Max_Elemen*4 + 1 do
gotoxy(8,16); write(',<---- Keluar');
gotoxy(22+Max_Elemen*4+1,16);
writeln('<-----');
end;
{Prosedur utk meletak: kan elemnen dalam kotak antrian}
procedure LETAKKAN (x : char; R : Integer);
begin
gotoxy(18+4*R,16);
write(X)
end;
{Fungsi ntuk cek keadaan Antrian}
Function Kosong(Q : Antri) : boolean;
BEGIN
Kosong := (Depan = Belakang)
End;
{Prosedur namabah antrian baru jk blm penuh}
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
{Antrian penuh}
Begin
gotoxy(40,9);
Write('ANTRIAN SUDAH PENUH');
repeat
until keypressed;
gotoxy(40,9);
write(' ',30); Belakang := Belakang - 1;
if Belakang = 0 then
Belakang := Max_Elemen
end
End;
{Prosedur hapus Elemen}
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('DAFTAR MENU PILIHAN');
Writeln('-------------------');
Writeln;
Writeln(' 1. Nambah Elemen Baru ');
Writeln(' 2. Menghapus Elemen');
Writeln(' 3. Selesai');
Writeln; Writeln;
Writeln(' Pilih salah satu');
Repeat
gotoxy(22,9); writeln(' ');
gotoxy(22,9); readln(pilih)
Until (pilih >= 1) and (Pilih <= 3);
case pilih of
{milih aktifitas}
1 : begin
{Nambah elemen ke dalam antrian}
gotoxy(40,6);
writeln('Namhah Elemen');
Writeln('-------------');
gotoxy(40,8);
write('Isikah Elemen: ');
gotoxy(40,9);
write('Isikan Elemenya : ');
Readln(Elemen);
TAMBAH(Antrian,Elemen);
end;
2 : Begin
{Hapus Elemen dari Antrian}
If not (KOSONG(Antrian)) then
begin
Elemen := Hapus(Antrian);
LETAKKAN(' ',Depan)
END
else
begin
gotoxy(30,9);
writeln('ANTRIAN KOSONG ....');
Elemen := readkey;
gotoxy (30,9); write(' ':30)
end
end
end;
until pilih = 3
end.
Silahkan dicoba ...
Semoga Berhasil
Jumat, 02 Mei 2014
Membuat Antrian dengan Pascal
02.26
No comments
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar