Rabu, 09 Februari 2011
uses wincrt;
const max = 20;
type elemen = array[1..max] of char;
typequeue = record
isi : elemen;
depan,blk : integer;
end;
label ulang;
var
queue,q : typequeue;
d,jawab : char;
pil : integer;
selesai : boolean;
procedure buatQ(var q : typequeue);
begin
q.depan := max;
q.blk := max;
end;
function qkosong(q:typequeue):boolean;
begin
qkosong:= (q.depan = q.blk);
end;
function Qpenuh(q:typequeue):boolean;
var
next : integer;
begin
if q.blk = max then next:=1
else
next := q.blk + 1;
qpenuh := (next=q.depan);
end;
procedure Enqueue(var q:typequeue; e:char);
begin
if not(qpenuh(q)) then
begin
if q.blk = max then q.blk :=1
else q.blk := q.blk+1;
q.isi[q.blk]:= e;
end;
end;
procedure Dequeue(var q:typequeue; var ed:char);
begin
if not(qkosong(q)) then
begin
if q.depan = max then q.depan :=1
else q.depan := q.depan+1;
ed := q.isi[q.depan];
end;
end;
procedure tampil(q: typequeue);
var i,awal : integer;
begin
CLRSCR;
writeln('---------------');
writeln('Antrian Ke Data');
if q.depan = max then awal :=1
else awal := q.depan +1;
for i:=awal to q.blk do
writeln(i:3,' ':5,q.isi[i],' ');
writeln('---------------');
end;
procedure menu;
begin
clrscr;
writeln(' MENU');
writeln;
writeln;
writeln('(1) Tambah Data');
writeln('(2) Ambil Data');
writeln('(3) Tampil Data');
writeln('(0) Exit');
writeln;
end;
begin
ulang:
buatQ(q);
repeat
menu;
write('Masukkan pilihan (0-3) : '); readln(pil);
CLRSCR;
case pil of
1 : begin
if Qpenuh(q)= false then
begin
write('Masukkan Nomor ke dalam antrian : ');
readln(d);
Enqueue(q,d);
TAMPIL(Q);
end else
writeln('Antrian sudah penuh silahkan ambil keluarkan pada posisi paling depan');
end;
2 : begin
if qkosong(q)= false then
begin
Dequeue(q,d);
tampil(q);
end
else writeln('Antrian dalam kondisi kosong');
end;
3 : tampil(q);
0 : selesai := true;
end;
writeln;
write('Enter untuk kembali');
readln;
until selesai;
clrscr;
writeln;
write('Anda akan mencoba lagi [Y/T] : '); readln(jawab);
if upcase(jawab) = 'Y' then goto ulang;
clrscr;
writeln(' END');
end.
About Me
Labels
- ansi (3)
- artikel (11)
- C++ (3)
- desain (1)
- Environment (1)
- Health (6)
- hot news (8)
- hotnews (1)
- imk (9)
- interfacing (1)
- komputer (1)
- linux (12)
- Motor-motor Listrik (1)
- organisasi komputer (1)
- penulisan ilmiah (1)
- persija (3)
- program pascal (8)
- resep masakan (12)
- teknik lingkungan (7)
- TIPS (4)
- tugas (1)
- UML (1)
Archives
-
▼
2011
(93)
-
▼
Februari
(49)
- Prosedur Sweeping Windows BAJAKAN
- Pembajakan Account Facebook dan Cara Mencegahnya
- Bagi yang Account Facebook di Crack
- program antrian tiket
- Membuat Recent Comment Di Blog
- Pengertian Jaringan Komputer
- INSTALASI UBUNTU 10.04 LUCID LYNX
- Siapa Calon Pengganti Hosni Mubarak?
- Resmi, Husni Mubarok Mundur
- RESEP – LUMPIA SEMARANG
- cara instal ubuntu di usb Flasdiks
- Cara instal dan membuka file rar di Ubuntu 10.04
- Resep Soto Aceh
- Resep Bakso Bakar
- Resep Bakso Kepiting Goreng
- Resep Daging Masak Taoge
- Resep Ayam Kukus Bumbu Kuning
- Resep Jus Anti Kolesterol
- Resep Jus Anggur Cola
- Resep Cake Cokelat Keju
- Resep Puding Karamel
- RESEP PUDING BUAH
- RESEP PUDING COKLAT
- program perkalian matrik
- program stack
- program antrian
- BAB IV GAYA DIALOG
- BAB III PEMODELAN SISTEM PENGOLAHAN MANUSIA
- BAB II ASPEK MANUSIA DALAM PEMROGRAMAN INTERAKTIF
- BAB II ASPEK MANUSIA DALAM PEMROGRAMAN INTERAKTIF
- Strategi Pengembangan Antarmuka
- Interaksi Manusia Komputer dalam Daur Hidup Pengem...
- Alat Bantu IMK
- Lingkup Bahasan IMK
- BaB 1 Pengertian IMK
- Program Mencari Luas Kerucut C++
- Program Mencari Luas Lingkaran & Volume Bola C++
- Program Bilangan Fibonaci C++
- parse
- Bagian 2
- Bagian 1
- ANALISIS DAN PERANCANGAN SISTEM HOTEL
- program cari_suku_fibonacci
- Program Konversi_Bilangan
- Program ganjil_genap
- Materi 1 Penulisan Ilmiah
- Daftar REPO Lokal Ubuntu 10.10 Maverik
- desain wearpack informatics engineering 09
- setting internet kartu 3 dimodem Huawei E220 Ubunt...
-
▼
Februari
(49)
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar