Anda di halaman 1dari 21

ANTRIAN

QUEUE
PRISKILA PARIMANAM
190141005
ANTRIAN (QUEUE)

PENGERTIAN
suatu kumpulan data yang mana
penambahan data / elemen hanya dapat
dilakukan pada sisi belakang sedangkan
penghapusan / pengeluaran elemen
dilakukan pada sisi depan
ANTRIAN (QUEUE)

PRINSIP
prinsip yg digunakan
dalam antrian adalah FIFO
( First In First Out )
Dalam antrian tidak semuanya dilakukan secara
FIFO murni

contoh yang relevan dalam bidang komputer


adalah Time-sharing Computer System, dimana
ada sejumlah penakai ( user ) yg menggunakan
sistem tsb secara serempak.
Karena sistem ini biasanya menggunakan
processor, dan sebuah memory utama. Jika
processor sedang dipakai oleh seorang user,
maka user yang lain harus antri sampai
gilirannya.
Antrian ini tidak akan dilayani secara FIFO murni
tetapi biasanya didasarkan pada suatu prioritas
tertentu.

Antrian yang memasukkan unsur prioritas


dinamakan dengan ANTRIAN PRIORITAS
( PRIORITY QUEUE )
Implementasi Antrian dengan menggunakan
Array
Hapus / keluarkan 1 elemen dari antrian

Deklarasi Antrian dengan Menggunakan ARRAY :

CONST Maks_elemen = 6 ;
TYPE antrian = array [1 .. Maks_elemen] of char ;
VAR Q : Antrian ;
Depan, belakang : byte ;
x : char ; → dimana x adalah elemen yg akan dimasukkan ke dalam antrian
Keadaan awal suatu antrian
melakukan operasi pada antrian
dapat dilakukan dengan beberapa
cara :
Cara-1
C. Q[Belakang]:=x;
Q[2]:= ‘B’
Tambahkan 4 elemen baru (x)= ‘B’ , ‘C’ , ‘D’ , ‘E’ , ‘F’
Masukkan elemen ‘C’ → Belakang:=3 , depan:=1
Masukkan elemen ‘D’ → Belakang:=4 , depan:=1
Masukkan elemen ‘E’ → Belakang:=5 , depan:=1
Masukkan elemen ‘F’ → Belakang:=6 , depan:=1

ANTRIAN PENUH JIKA  BELAKANG = MAKS_ELEMEN

Jumlah elemen yg ada dalam antrian = Belakang – Depan + 1


2. Operasi penghapusan elemen dari
antrian
Rumus yg digunakan :
Hapus/keluarkan lg utk 2 elemen berikutnya dr antrian
yaitu keluarkan elemen ‘B’ → Depan = 2+1=3 , Belakang = 3
‘C’ → Depan = 3+1=4 , Belakang = 3

Belakang = 3 , Depan=3C

Antrian kosong = Depan > Belakang


Kelemahan cara 1 :
elemen baru tdk bisa ditambahkan lagi,
karena nilai belakang = maks_elemen
(antrian penuh) walaupun masih ada tempat / lokasi antrian yg
kosong.
Cara-2
Array yg bergeser
operasi penambahan & penghapusan
elemen pd antrian
Kelemahan cara 2 :

Untuk data yang banyak maka harus banyak


terjadi proses pergeseran atau untuk jumlah
elemen yg besar akan memerlukan waktu yg
lama untuk melakukan pergeseran elemen.

ex : 1000 elemen → menjadi 999 pergeseran


THANK YOU 

Anda mungkin juga menyukai