Pengertian, Karakteristik, dan jenis-Jenis Queue
Pengertian Queue
Queue (antrian) adalah struktur data dimana proses pengambilan dan penambahan element dilakukan pada ujung yang berbeda.
Queue mengikuti konsep FIFO.
FIFO (First In First Out) : elemen yang pertama masuk akan menjadi elemen yang pertama kali keluar.
Perbedaan Queue dan Stack
Karakteristik yang membedakan queue (antrian) dari stack adalah cara menyimpan dan mengambil data dengan struktur first in first out (FIFO).
Hal ini berarti elemen pertama yang ditempat-kan pada queue adalah yang pertama dipindahkan.
Enque: yaitu proses penambahan elemen pada queue. Elemen ditempatkan pada ujung (tail).
Deque: yaitu proses pengambilan elemen pada queue. Memindahkan elemen dari kepala (head) sebuah queue.
Karakteristik Queue
-Elemen antrian yaitu item-item data yang terdapat di elemen antrian
-Front: pointer bantu yang digunakan untuk menunjuk element yang paling depan.
-Rear: pointer bantu yang digunakan untuk menunjuk element yang paling belakang.
-Jumlah elemen pada antrian (Count)
-Status antrian
Deklarasi Queue
*Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat.
*Langkah yang harus dilakukan adalah :
-Deklarasi class
-Deklarasi struktur data (menggunakan array atau linked list)
-Deklarasi pointer front dan rear
-Deklarasi variabel size untuk menyimpan besar array.
-Deklarasi variabel jumlah untuk mengetahui banyak item yang disimpan pada queue.
Jenis-Jenis Queue
Secara umum ada 4 jenis struktur data queue, meliputi :
1.Simple Queue
Simple queue adalah struktur data queue paling dasar di mana penyisipan item dilakukan di simpul belakang (rear atau tail) dan penghapusan terjadi di simpul depan (front atau head).
2.Circular Queue
Pada circular queue, simpul terakhir terhubung ke simpul pertama. Queue jenis ini juga dikenal sebagai Ring Buffer karena semua ujungnya terhubung ke ujung yang lain. Penyisipan terjadi di akhir antrian dan penghapusan di depan antrian.
3.Priority Queue
Priority Queue adalah strruktur data queue dimana simpul akan memiliki beberapa prioritas yang telah ditentukan. Simpul dengan prioritas terbesar akan menjadi yang pertama dihapus dari antrian. Sedangkan penyisipan item terjadi sesuai urutan kedatangannya.
Aplikasi priority queue antara lain algoritma jalur terpendek Dijkstra, algoritma prim, dan teknik kompresi data seperti kode Huffman.
4.Double-Ended Queue (Dequeue)
Dalam double-ended queue (dequeue), operasi penyisipan dan penghapusan dapat terjadi di ujung depan dan belakang dari queue.
Fungsi Queue
Berikut ini adalah beberapa fungsi queue yang paling umum dalam struktur data:
1.Queue banyak digunakan untuk menangani lalu lintas (traffic) situs web.
2.Membantu untuk mempertahankan playlist yang ada pada aplikasi media player
3.Queue digunakan dalam sistem operasi untuk menangani interupsi.
4.Membantu dalam melayani permintaan pada satu sumber daya bersama, seperti printer, penjadwalan tugas CPU, dll.
5.Digunakan dalam transfer data asinkronus misal pipeline, IO file, dan socket.
Kelebihan Queue
Kelebihan queue di antarnya:
1.Data dalam jumlah besar dapat dikelola secara efisien.
2.Operasi seperti penyisipan dan penghapusan dapat dilakukan dengan mudah karena mengikuti aturan 3.masuk pertama keluar pertama.
4.Queue berguna ketika layanan tertentu digunakan oleh banyak konsumen.
5.Queue cepat untuk komunikasi antar-proses data.
6.Queue dapat digunakan dalam implementasi struktur data lainnya.
Kekurangan Queue
Kelemahan struktur data queue adalah sebagai berikut:
1.Operasi seperti penyisipan dan penghapusan elemen dari tengah cenderung banyak memakan waktu.
2.Dalam queue konvensional, elemen baru hanya dapat dimasukkan ketika elemen yang ada dihapus dari antrian.
3.Mencari elemen data pada struktur queue membutuhkan time complexity O(N).
4.Ukuran maksimum antrian harus ditentukan sebelumnya.
Komentar
Posting Komentar