Anda di halaman 1dari 6

QUEUE (ANTREAN)

Queue : suatu bentuk khusus dari list linier dengan operasi penyisipan (Insertion) hanya pada salah satu sisi (Rear) dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi lainnya (Front) dari list. Front(Q) = bagian belakang dari anteran Q Rear(Q) = bagian depan dari antrean Q Noel(Q) = jumlah elemen di dalam antrean (berharga integer) Antrean beroperasi secara FIFO (Frist In Frist Out), yang pertama masuk yang pertama ke uar. Operasi !asar pa!a antrean : "# $REATE(Q) Operator untuk membentuk dan menunjukkan suatu antrean hampa %# I&E'(T)(Q) Operator yang menentukan apakah antrean Q hampa atau tidak. Operand dari operator IS !"#$ adalah antrean. %asilnya merupakan data bertipe &oolean *# IN&ERT(E,Q) Operator yang menyisipkan elemen menjadi lebih panjang. +# RE'O,E(Q) Operator yang menghapus elemen bagian depan dari antrean Q dan antrean menjadi lebih pendek A goritma QIN&ERT
Mata Kuliah Struktur Data, SNY Hal 1

ke dalam antrean Q

lemen Q ditempatkan pada bagian belakang antrean dan antrean

QINS R#(Q' ' ( N( FRON#( )*#*) +. ,*pakah antrean penuh.ika FRON# = + dan R *R = N( atau jika FRON# = R *R /+( maka 0rite 1 O2 RF3O0( return. 4. .ika FRON# = N'33( maka 1 FRON# 1= + R *R 1= + dalam hal ini jika R *R = N( maka R *R 1= + dalam hal lain R *R 1 = R *R /+ 5. Q' ' (R *R) 1= )*#* (masukkan elemen baru) 6. Return A goritma Q-E.ETE Q) 3 # (Q' ' ( N( FRON#( R *R( )*#*) +. ,*pakah *ntrean kosong.ika FRON# 1= N'33( maka0rite 1 'N) RF3O0( return 4. )*#* 1= Q' ' (FRON#) 5. (FRON# mendapat nilai baru) .ika FRON# = R *R( maka FRON# 1= N'33 R *R 1= N'33 dalam hal lain jika FRON# 1= N( maka FRON# 1=+ dalam hal lain FRON# 1 = FRON# /+ 6. Return -EQUE

Mata Kuliah Struktur Data, SNY Hal 2

-e/ue : 3inier list yang penambahan dan penghapusannya dapat dilakukan pada kedua sisi ujung list( tetapi tidak dapat dilakukan di tengah7tengah. $ara penya0ian !e/ue di dalam komputer antaranya dengan penempatan di dalam sebuah Array &irku ar atau Array (utar -e/ue. (a!a -e/ue !igunakan % pointer yaitu : +. Right 1 menunjukkan sisi kanan )e8ue. 4. 3e9t 1 menunjukkan sisi kiri )e8ue. lemen )e8ue selalu diasumsikan berurut dari kiri ke kanan. &erarti elemen )e8ue(+) berada setelah elemen )e8ue(N) dari array *(+..N) 1on!isi .EFT 2 NU.. 1 menunjukkan bah:a suatu )e8ue adalah hampa A!a % mo!e 3ariasi -e/ue : "# -e/ue input terbatas# "emasukkan de8ue hanya boleh pada salah satu satu ujung dari list( tetapi penghapusan boleh pada dua sisi. %# -e/ue output terbatas# "emasukkan de8ue boleh di dua sisi( tetapi penghapusan hanya boleh di salah satu ujung dari list. Ter0a!i komp ikasi pa!a !e/ue, 0ika : +. O;er9lo: 1 pemasukkan suatu elemen ke dalam de8ue yang sudah penuh. 4. 'nder9lo: 1 penghapusan elemen pada de8ue yang hampa.

Mata Kuliah Struktur Data, SNY Hal 3

ANTREAN 4ER(RIORITA& Antrean 4erprioritas : %impunan elemen( yang setiap elemennya telah diberikan sebuah prioritas dan urutan proses penghapusan elemen ber!asarkan aturan berikut : +. lemen yang prioritasnya lebih tinggi lebih dulu diproses. 4. )ua elemen yang prioritasnya sama( diproses sesuai urutan mereka se:aktu dimasukkan ke dalam prioritas de8ue. $ara penyimpanan Antrean (rioritas !a am memori : "# (enya0ian One 5ay .ist 1etentuannya : a. Setiap simbil dari list akan berisi 5 buah data atau 9ield 1 7 Field In9ormasi (INFO). 7 Nomor "rioritas ("RN). 7 Nomor 3ink (3ink). b. Simpul < mendahului simpul $ di dalam list 1 7 &ila < mempunyai prioritas yang lebih tinggi daripada $ 7 &ila < dan $ mempunyai prioritas yang sama( tetapi < dimasukkan lebih dahulu dari $ ke dalam 8ueue. 'rutan pada One 0ay 3ist berkorespondensi dengan urutan *ntrean &erprioritas. "RN terendah mendapat akan mendapat prioritas tertinggi. Si9at utama dari penyajian One 0ay 3ist dari antrean berprioritas adalah elemen dalam antrean yang seharusnya diproses pertama kali selalu mun=ul pada bagian permulaan One 0ay 3ist.

Mata Kuliah Struktur Data, SNY Hal 4

A goritma " : *lgoritma menghapus dan memproses elemen pertama dalam sebuah antrean berpriotas yang mun=ul dalam memori sebagai One 0ay 3ist. +. "asang Item 1= INFO(S#*R#) 3angkah ini dimasuksudkan untuk menyimpan data dalam simpul pertama. 4. %apus simpul pertama dari list. 5. "roses I# !. 6. <I# A goritma % : *lgoritma yang menambahkan sebuah I# ! dengan "RN N pada suatu antrean 3ist. +. #elusuri One 0ay 3ist sampai ditemukan suatu simpul < yang "RN7nya melebihi N Sisipkan I# ! didepan simpul < 4. .ika tidak ditemukan simpul sema=am itu( sisipkan I# ! sebagai elemen diakhir list >esulitan 1 ketika menelusuri list( kita harus tetap memperhatikan alamat simpul yang mendahului simpul yang sedang diakses. %# (enya0ian Array !ari Antrean 4erprioritas !enggunakan suatu antrean terpisah untuk setiap tingkat prioritas. Setiap antrean akan mun=ul dalam *rray Sirkularnya sendiri dan harus mempunyai sepasang penunjuk sendiri( FRON# dan R *R )isimpan bersama7sama dalam array dua dimensi. berpriotitas yang disimpan dalam memori One 0ay

Mata Kuliah Struktur Data, SNY Hal 5

A goritma * *lgorima menghapus dan memproses elemen pertama dalam sebuah antrean berprioritas yang disajikan oleh suatu *rray )ua )imensi Queue. +. ?ari antrean tidak hampa yang pertama. ?ari > terke=il( sedemikian sehingga FRON#(>) @ 4. %apus dan proses elemen dari baris > Queue. 5. Ait A goritma + *lgoritma menambah sebuah I# ! dengan "RN ! pada suatu antrean berprioritas yang disajikan oleh sebuah *rray )ua )imensi Queue. +. Sisipkan I# ! sebagai elemen belakang dari baris ! 8ueue. 4. Ait

Mata Kuliah Struktur Data, SNY Hal 6

Anda mungkin juga menyukai