Section Artikel
Struktur data queue merupakan sebuah struktur data linier dengan prinsip operasi yang mewajibkan elemen data masuk pertama untuk keluar lebih dulu. Prinsip ini juga sering dikenal dengan sebutan FIFO atau First In First Out.
Struktur data queue sangat berbeda dengan struktur data stack yang melakukan penyimpanan data secara bertumpung dengan satu ujung terbuka untuk operasi data. Data pada struktur data queue disusun secara horizontal dan terbuka di kedua ujungnya, dimana ujung pertama untuk menghapus data dan ujung lainnya untuk menyisipkan data.
Walaupun demikian, struktur data queue memiliki kesamaan dengan struktur data stack. Persamaan tersebut terletak pada impelementasi keduanya pada struktur data linked list atau array.
Untuk mempermudah penggambaran struktur data queue, anda dapat mengilustrasikannya pada barisan orang yang membeli tiket di bioskop. Orang yang baru datang akan masuk dalam barisan di paling belakang, sedangkan orang yang berdiri di depan akan mendapatkan tiket terlebih dahulu.
Struktur data queue dapat anda implementasikan pada bahasa pemrograman apapun, misalnya C, C++, Java, Python atau C#, dengan spesifikasi yang hampir sama. Struktur data inipun umum digunakan untuk mengelola thread dalam multithreading dan menerapkan sistem antrian prioritas di program komputer.
Simple queue merupakan struktur data queue paling dasar, dimana penambahan item dilakukan pada simpul belakang (rear/tail) dan penghapusan terjadi pada simpul depan (front/head).
Circular queue adalah struktru data queue yang membuat simpul terakhir terhubung ke simpul pertama. Jenis queue ini juga disebut sebagai ring buffer karena kedua ujungnya saling terhubung. Penyisipan akan terjadi di akhir antrian dan penghapusan tetap terjadi di depan antrian.
Priority queue merupakan struktur data queue dengan prioritas tertentu pada setiap simpulnya. Simpul dengan prioritas terbesar akan menjadi yang pertama untuk dihapus dari antrian.
Penyisipan tetap akan dilakukan sesuai dengan urutan kedatangan. Jenis queue ini sering digunakan pada algoritma jalur terpendek Dijkstra, algoritma prim, dan teknik kompresi data, misalnya kode Huffman.
Double Ended Queue merupakan jenis struktur data queue yang melakukan operasi penyisipan dan penghapusan pada kedua ujungnyam baik ujung depan maupun ujung belakang.
Secara umum, struktur data queue memiliki 2 operasi utama, yaitu enqueue dan dequeue. Namun, ada beberapa struktur data abstrak lainnya yang dapat terjadi pada operasi tersebut, diantaranya adalah :
Beberapa fungsi umum dari struktur data queue adalah sebagai berikut, yaitu :
Beberapa karakteristik dari struktur data queue adalah :
Beberapa kelebihan dari struktur data queue yang bisa anda rasakan adalah :
Walaupun memiliki banyak kelebihan, struktur data queue juga memiliki beberapa kekurangan, diantaranya adalah :
Struktur data queue dapat anda lihat terapannya pada kehidupan sehari-hari, misalnya saat melakukan pembelian tiket kereta api, tiket bioskop, tiket kapal laut, pembayaran listrik, pembayaran air, dan sebagainya. Misalnya saja dalam pembelian tiket di bioskop, dimana :