Pengertian Queue dan Tipe Data Queue

pengertian queue

Istilah “queue” pertama kali dikemukanan pada tahun 1945 oleh seorang ilmuan matematikan dan juga ahli komputer yang bernama John von Neumann, Ia merupakan salah satu pionir dalam bidang komputer. Queue digunakan untuk menggambarkan struktur data yang memiliki aturan antrian (queue), di mana item yang ditambahkan pertama akan diambil pertama pula.

Apa Itu Queue?

Queue sering disebut juga sistem data antri yang merupakan sebuah struktur data yang berfungsi sebagai antrian, artinya elemen-elemen yang ditambahkan ke dalam Queue akan ditambahkan pada ujung belakang (rear) dan elemen yang diambil dari Queue akan diambil dari ujung depan (head). Ini disebut juga FIFO (first-in, first-out) karena elemen yang pertama kali masuk ke dalam Queue akan menjadi yang pertama kali keluar.

Struktur data queue telah lama digunakan dalam bidang komputer, dan merupakan salah satu struktur data dasar yang sering digunakan dalam pemrograman. Ia banyak digunakan dalam sistem operasi untuk mengelola proses yang sedang menunggu untuk dijalankan, serta dalam aplikasi lainnya untuk mengelola data yang harus diproses secara bergantian.

Contoh nyata penggunaan Queue adalah dalam sistem antrian pada bank atau kantor pos dan tempat pelayanan umum lainnya, di mana orang yang datang pertama akan menjadi yang pertama dilayani. Queue juga dapat digunakan dalam sistem penjadwalan prosesor atau sistem operasi, di mana proses yang ditambahkan pertama akan menjadi yang pertama diproses.

Tipe Data Queue

Ada 2 jenis data Queue secara mendasar yaitu:

  1. Queue statis
    Queue statis adalah Queue yang ukurannya sudah ditentukan pada saat dibuat. Jadi, jika sudah penuh, tidak bisa menambah elemen lagi ke dalam Queue.
  2. Queue dinamis
    Queue dinamis adalah Queue yang ukurannya tidak ditentukan pada saat dibuat dan dapat diubah sesuai kebutuhan. Jika Queue sudah penuh, Queue dinamis dapat menambah ukurannya secara otomatis untuk menampung elemen yang ditambahkan.

Dari kedua jenis Queue di atas dapat dibedakan lagi menjadi Queue biasa (regular queue) dan Queue prioritas (priority queue), tergantung pada cara elemen ditambahkan dan diambil dari Queue. Queue biasa mengikuti prinsip FIFO (first-in, first-out), sedangkan Queue prioritas mengikuti prinsip yang berbeda dimana elemen yang memiliki prioritas lebih tinggi akan keluar lebih dulu.

Penerapam Queue dibeberapa Bahasa Pemrograman

Untuk menggunakan Queue (antrian) dalam sebuah program, pertama perlu memutuskan bagaimana Anda ingin mengimplementasikannya. Untuk menggunakan queue (antrian) dalam sebuah program, pertama-tama Anda perlu memutuskan bagaimana Anda ingin mengimplementasikannya.

Ada beberapa pilihan yang dapat Anda pertimbangkan:

1). Menggunakan struktur data queue yang sudah tersedia di bahasa pemrograman yang Anda gunakan. Misalnya, jika Anda menggunakan seperti Python, Anda dapat menggunakan module queue yang sudah tersedia di dalam standard library. Contohnya

import queue

# Buat sebuah queue dengan kapasitas maksimum 5
q = queue.Queue(maxsize=5)

# Tambahkan beberapa item ke queue
q.put(1)
q.put(2)
q.put(3)

# Cek item paling depan di queue
print(q.get())  # Output: 1

# Cek item paling depan di queue lagi
print(q.get())  # Output: 2

2). Membuat struktur data queue sendiri dengan menggunakan tipe data array atau linked list contoh dengan mengikuti pseudocode berikut ini.

class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return not self.items

    def enqueue(self, item):
        self.items.append(item)

    def dequeue(self):
        return self.items.pop(0)

Demikian penjesan singkat mengenai pengertian Queue dan contoh sederhana penerapannya dalam bahasa pemrograman yang biasa dipakai.