-à Kumpulan data dimana data masuk dan keluar pada ujung yang berbeda.
-à Konsep utama FIFO ( Fisrt In First Out ).
Contoh:
Data nomor 1 datang/masuk dan keluar duluan.
Algoritma:
- Input/tambah data
- Jika ada input maka no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian.
- 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.
- 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;
Nama Array-----à Barang
Nama Record---à Coba
Nama Variabel--à Antri
Contoh Deklarasi dari gambar diatas:
Type
Coba = record
Data :string;
Top : byte;
End;
Barang = ARRAY [1..4] of coba;
Var Antri:barang;
- 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;
Contoh:
Program antrian_1;
Uses wincrt;
Type
Data= array [1..3] of string;
Var
D: data;
I, antri: integer;
Temp: string;
Begin
Antri:=0;
{untuk input}
For I:=1 to 3 do
Begin
Writeln(’masukkan nama ke’,’ ’,i);
Readln(d[i]);
Antri:=antri+1;
End;
{untuk Output}
For I:=1 to 3 do
Begin
Temp:=d[i];
Antri:=antri-1;
End;
{lihat output di var temp setelah pengambilan }
Writeln(’hasil var temp=’,temp);
Readln;
End.
Label: QUEUE ( ANTRIAN )
Das,,,Krim Komentar ug y.....hehehehe