Apa Itu Queue?
Queue adalah salah satu struktur data yang digunakan dalam pemrograman untuk menyimpan sekumpulan elemen dengan prinsip “First-In-First-Out” (FIFO), artinya elemen yang pertama masuk ke dalam antrian akan menjadi elemen yang pertama pula keluar dari antrian.
Seperti antrian dalam kehidupan sehari-hari di mana orang yang pertama datang ke kasir akan dilayani terlebih dahulu, queue dalam pemrograman juga mengikuti prinsip yang serupa.
Fungsi dari Queue
Queue memiliki beberapa fungsi penting dalam pemrograman yaitu:
- Mengatur Urutan: Menjaga urutan tugas, yang pertama masuk adalah yang pertama keluar. Seperti antrian nyata.
- Penjadwalan: Membantu mengatur pekerjaan berdasarkan prioritas atau urutan, berguna saat banyak tugas.
- Buffering: Sementara menyimpan data cepat sebelum diproses lebih lanjut.
- Algoritma: Berguna dalam algoritma seperti BFS yang menjelajahi langkah demi langkah.
- Simulasi: Digunakan dalam model antrian di dunia nyata, contohnya pesawat atau antrian belanja.
- Pengelolaan Memori: Mengontrol penggunaan sumber daya seperti memori.
- Aplikasi Chat: Membantu mengatur pesan sebelum ditampilkan.
- Manajemen Proses: Mengatur proses yang akan dieksekusi oleh komputer.
- Sistem Antrian: Dipakai di bank, rumah sakit, dll., mengatur giliran pelanggan
Cara Kerja Queue
Cara kerja queue bisa diibaratkan seperti mengantri di sebuah loket pelayanan. Ketika elemen dimasukkan ke dalam antrian, ia ditempatkan di ujung belakang antrian. Elemen yang berada di depan antrian adalah yang akan dikeluarkan terlebih dahulu. Ketika sebuah elemen dikeluarkan dari antrian, elemen di belakangnya akan maju satu langkah ke depan.
Jenis – Jenis Queue
- Simple Queue
Merupakan jenis paling dasar dari antrian. Elemen-elemen ditambahkan di belakang dan dihapus dari depan antrian. Hal ini memastikan bahwa elemen yang pertama kali dimasukkan akan menjadi elemen yang pertama kali dikeluarkan. - Circular Queue
Bekerja jika elemen terakhir dalam antrian telah diisi, elemen berikutnya akan ditempatkan di awal antrian, menciptakan siklus. Hal ini memungkinkan penggunaan memori yang lebih efisien dalam beberapa kasus. - Priority
Jenis antrian yang memprioritaskan elemen berdasarkan prioritas tertentu yang terkait dengan setiap elemen. Elemen dengan prioritas lebih tinggi akan dikeluarkan lebih awal daripada elemen dengan prioritas lebih rendah. - Double-Ended Queue (Dequeue)
Double-Ended Queue, juga dikenal sebagai Dequeue, memungkinkan penambahan dan penghapusan elemen dari kedua ujung antrian, yaita di depan dan belakang. Ini memberikan fleksibilitas tambahan dalam manipulasi antrian.
Contoh Penggunaan Queue dalam Kehidupan Sehari-Hari
Queue dapat ditemukan dalam banyak aspek kehidupan sehari-hari. Misalnya, saat mengantri di kasir supermarket, atau saat menunggu giliran di loket tiket. Bahkan, dalam dunia teknologi, ketika kita mengunduh file, file tersebut mungkin akan masuk dalam antrian unduhan dan akan diunduh sesuai urutan.
