Saturday, March 8, 2014

Program Queue (antrian) di pascal

Banyak bahasa pemroagraman yang di tawarkan di era sekarang , ada php , java, android dan pascal serta masih banyak yang lainya. Namun ketika kita kuliah masih ada universitas atau perguruan tinggai yang masih menggunakan pemrograman Pascal. dan itu wajib untuk di tempuh. Untuk membantu kalian dalam membuat program dalam bentuk pemograman pascal, saya di sini akan memberikan sebuah progam yang pernah saya buat untuk menyelesaiikan sebuah tugas di kampus saya. Ini adalah progam mengenai Programn Quee atau Program antrian  di pemograman pascal.

Program Queue (antrian) di Pemograman pascal

berikut ini source code pogram Queue ,program antrian pada pemrograman pascal:

uses crt;
const max=25;
type queue=record
jenis:array [1..max] of string;
plat:array [1..max] of real;
depan, belakang:0..max;
end;
var produk : queue;
tempjenis : string;
tempplat : real;
pil :1..4;
tanya : char;

function penuh (s:queue) : boolean;
begin
if s.belakang=max then penuh := true
else penuh := false;
end;
function kosong (s:queue):boolean;
begin
if s.belakang=0 then kosong:=true
else kosong:=false;
end;
procedure push (var s:queue; tempjenis:string; tempplat:real);
begin
if penuh(s) then writeln ('maaf, antrian sudah penuh.hapus beberapa data kemudian ulangi lagi')
else begin
s.belakang:=s.belakang+1;
s.jenis[s.belakang]:=tempjenis;
s.plat[s.belakang]:=tempplat;
writeln('jumlah data antrian sekarang ',s.belakang,' buah');
end;
end;
{procedure pop}
procedure pop (var s:queue);
var i:byte;
begin
if kosong(S) then writeln('antrian kosong')
else begin
for i:=1 to s.belakang-1 do
begin
s.jenis [i]:=s.jenis[i+1];
s.plat [i]:=s.plat[i+1];
end;
s.belakang:=s.belakang-1;
writeln('data yang ada di antrian sekarang ada',s.belakang,' buah');
end;
end;
{procedure cetak}
procedure cetak (s:queue);
var i:byte;
begin
if kosong (s) then writeln('tidak ada data')
else begin
writeln('+==================================+');
writeln('| No |      Tujuan     |    harga  |');
writeln('+---- ----------------- -----------+');
for i:=1 to s.belakang do
writeln('|',i:3,' |',s.jenis[i]:16,' | ':2,s.plat[i]:9:2,' |':2);
writeln('+==================================+');
end;
end;
begin
repeat
clrscr;
writeln('  PROGRAM QUEUE TIKET KERETA API');
writeln('==================================');
writeln;
writeln('1. Masukkan Antrian Tiket');
writeln('2. Lihat  Data Antrian');
writeln('3. Ambil Data Antrian');
writeln('4. Exit');
writeln;
writeln('PILIHAN [1/2/3/4]');
writeln;
write('masukan pilihan anda : ');readln(pil);
writeln;
case pil of
1:begin
repeat
writeln ('Masukkan Data Transaksi');
write ('Tujuan   : ');readln(tempjenis);
write ('Harga    : Rp. ');readln(tempplat);
push (produk,tempjenis,tempplat);
writeln;
write('Tambah Data Lagi? [Y/N] =>  ');readln(tanya);
until upcase (tanya)<>'Y';
end;
2: begin
cetak (produk);
write('press enter to continue ');readkey;
end; 3: begin
repeat
writeln('mengambil antrain data');
pop(produk);
cetak(produk);
writeln;
write ('mau ambil data lagi ? (Y/N)');readln(tanya);
until upcase(tanya)<>'Y';
end;
end;
until pil=4;
end.
Source code diatas adalah source code program Queue di pemrograman pascal.Demikian artikel mengenai program Queue di pemrograman pascal. semoga dapat bermanfaaat. Jangan lupa baca juga artikel mengenai program quick sort di pemrograman pascal.