Sabtu, 13 Maret 2010

Antrian/Queue

Pengertian Antrian

•Antrianadalahsekumpulandata yang manapenambahanelemenhanyabisadilakukanpadasuatuujungdisebutdengansisibelakang(rear), danpenghapusan(pengambilanelemen) dilakukanlewatujunglain (disebutdengansisidepanataufront).
•Padatumpukanmenggunakanprinsip“Masukterakhirkeluarpertama”atauLIFO (Last In First Out), Makapadaantrianprinsipyang digunakanadalah“MasukPertamaKeluarPertama”atauFIFO (First In First Out)

•Antrianbanyakkitajumpaidalamkehidupansehari-hari, ex: antrianMobil diloketTol, AntrianmahasiswaMendaftar, dll.
•Contohlain dalambidangkomputeradalahpemakaiansistemkomputerberbagiwaktu(time-sharing computer system) dimanaadasejumlahpemakaiyang akanmenggunakansistemtersebutsecaraserempak.


ImplementasiAntrianDenganlarik

•DalamAntrianadaduaoperasidasar, yaitumenambahelemenbaruyang akankitatempatkandibagianbelakangantriandanmenghapuselemenyang terletakdibagiandepanantrian.
•Operasipenambahanelemenbaruselalubisakitalakukankarenatidakadapembatasanbanyaknyaelemendarisuatuantrian. Tetapiuntukmenghapuselemen, makakitaharusmelihatapakahantriandalamkeadaankosongatautidak.


DeklarasiAntrian
Const Max_Elemen= 100;
Type Antri= Array[1..Max_Elemen] of integer;
VarAntrian: Antri;
Depan,
Belakang: integer;


Procedure PenambahanElemenBaruPadaSebuahAntrian
•Procedure TAMBAH (VarQ : Antrian; X : char);
Begin
If Belakang:= max_Elementhen Belakang:= 1
Else Belakang:= Belakang+ 1;
If Depan= Belakangthen
writeln(‘AntrianSudahPenuh’)
else Q(Belakang) := X
end;


FungsiuntukMengecekkeadaanAntrian
•Untukmenghapuselemen, terlebihdahulukitaharusmelihatapakahantriandalamkeadaankosongatautidak, berikutfungsiuntukmengecekkeadaanantrian:
•Function Kosong(Q: Antri) ; boolean;
Begin
Kosong:= (Depan= belakang);
end;


FungsiUntukMenghapusElemen
•Function Hapus(VarQ : Antri) : char;Beginif Kososng(Q) thenwriteln(‘AntrianKososng….’)elsebeginHapus:= Q[Depan];if Depan:= Max_ElementhenDepan:= 1elseDepan:= Depan+ 1;end;end;

Tidak ada komentar:

Posting Komentar