Senin, 04 Mei 2015

Konsep Queue (Antrian) pada Struktur Data

Tugas Struktur Data Minggu ke IV

Nama   : Desi Nur Elista
NPM   : 41212890
Kelas   : 3DA01



Setelah beberapa waktu yang lalu kita mempelajari stack atau tumpukan, kali ini kita akan mempelajari bentuk khusus dari linear list lainnya, yaitu queue atau antrian.

Sebelumnya saya yakin semua sudah pernah mengantri bukan ? Baik saat membayar ke kasir, atau registrasi,
Sebelum masuk ke konsep queue pada struktur data, mari kita sedikit membahas antrian di dunia nyata, karena analogi antrian pada struktur data kurang lebih sama dengan  apa yang ada di kehidupan sebenarnya.

Pada saat kita mengantri, setiap kali ada orang yang datang, otomatis orang tersebut akan berada di belakang antrian bukan? Dan siapakah orang yang pertama kali dilayani? Orang yang pertama kali datang atau orang yang berada di sisi depan antrian. Dalam antrian, ada beberapa poin penting, diantaranya  adalah siapa orang yang berada paling depan, siapa yang berada di paling belakang, serta jumlah orang yang mengantri ada berapa.

Nah, queue atau antrian pada struktur data juga sama, hanya saja orang diganti menjadi data/elemen. Maka queue adalah sekumpulan elemen yang jika ada elemen baru yang ditambahkan, maka elemen tersebut akan berada di bagian belakang antrian. Jika ada elemen yang harus dihapus atau keluar dari antrian, maka elemen yang keluar adalah elemen yang berada di sisi depan antrian. Atau konsep ini sering juga disebut dengan konsep FIFO (First In First Out)
Pada queue hanya terdapat satu pintu masuk di salah satu ujung dan satu pintu keluar diujung lainnya, maka ada pointer yang menunjuk pada first dan last.
Operasi penting dalam queue atau antrian adalah :
  1. Add yang berfungsi menambahkan sebuah elemen ke dalam antrian
  2. Delete yang berfungsi menghapus atau mengeluarkan elemen dari antrian
Sebagai contoh kita mempunyai antrian Q = [Q1, Q2, ….., Qn]
Maka Q1 adalah first, dan Qn adalah last.
Jika dilakukan prosedur add Qm maka Qm akan berada di belakang Qn
Dan jika dlakukan prosedur delete, maka Q1 akan keluar dari antrian.
Dalam bidang Ilmu Komputer, antrian atau queue banyak digunakan terutama dalam system operasi yang memerlukan manajemen sumber daya dan penjadwalan. Contohnya time-sharing computer-system dimana ada sejumlah pemakai yang akan menggunakan system tersebut secara serempak.

Didalam sebuah antrian, terdapat sebuah operasi bernama add_priority. Dalam hal ini antrian tidak lagi menerapkan konsep antrian murni, namun menjadi antrian berprioritas. Dimana terdapat prioritas tertentu pada elemen, dan elemen yang baru ditambah tidak mesti berada di akhir. Mungkin didunia nyata elemen yang masuk melalui add priority adalah orang yang masuk lewat jalur exclusive jadi beliau mendapat fasilitas agar di dahulukan atau diprioritaskan.