Rabu, 03 Juni 2009

QUEUE ( ANTRIAN )

-à Kumpulan data dimana data masuk dan keluar pada ujung yang berbeda.

-à Konsep utama FIFO ( Fisrt In First Out ).

Algoritma:

  1. Input/tambah data
    • Jika ada input maka no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian.
  2. Hapus/Pengambilan data

· Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp, antrian ke-dua akan maju ke antrian pertama dan seterusnya. Dan jumlah antrian yang semula maksimal akan berkurang 1 demi 1 sampai antrian 0 kembali.

  1. Deklarasi Queue

Type

Const

Max = 5;

Nama record = Record

Data : type data;

Top : byte;

End;

Nama_array = ARRAY [1..max] of Nama record;

Var

Antri : nama Array;

4. Operasi pada queue

· CREATE

Membuat antrian baru yang masih kosong.

Procedure create;

Begin

antri.top:=0;

End;

· FULL

Untuk memeriksa apakah antrian sudah penih..

Fuction full:bolean;

Begin

antri.top:=max;

End;

· PUSH

Menambah sebuah elemen ( data ) kedalam antrian.

Syarat: tidak bisa dilakukan jika antrian sudah penuh.

Procedure push ( input:string );

Begin

If not full then

Begin

antri.top:=antri.top;

antri.data:=input;

End;

End;

· EMPTY

Fuction empty: bolean;

Begin

Empty:=false;

If top:=0 then empty:=true;

End;

· POP

Mengambil 1 elemen dari sebuah antrian.

Syarat: antrian tidak boleh kosong.

Procedure Pop ( elemen:string );

Begin

If not empty then

Begin

Elemen:=antri.data;

antri.top:=top – 1;

End;

End;



Tidak ada komentar:

Posting Komentar