Queue (Antrian)


🧭 1. Pengertian Queue

https://images.openai.com/static-rsc-4/AcZ2gHhwfZgzZx_69YZHYFyhUOYBFpk5fQL9cHgK7sFQ7Cxz2OJsuz4xc3rsfhd7onbMbs2hloql7dxRr3gGjO5IZwsy9qYYZAyJ4kYED5iCCf-bRcOIFeEnLhpngt2VVW-N3cj-_c-Dqd7uCfJf_Qxyk4ieBnuR71DenA7gO2FbKZ0zgGGwFNVr8o_k0CRX?purpose=fullsize
https://images.openai.com/static-rsc-4/JnXsmMP7xJup_E6byLe3Sv-cy8cQ9Orull1iPzVfOSZppopl-ksr38u0GwEcaMi7i06uhDOQ51Bmo2tXmkoOvAnab3cGlRBSqj320R41TPOJGGbjWcGJgxPLrIqgccFp1ufUWCbzCx7kng-A5hRJWOECT_GMxxJvyniMwGejYBY7AImeqA1Y6sCUusiU9h-M?purpose=fullsize
https://images.openai.com/static-rsc-4/ctxF98V0eVS6n2FpX3OTd-6Zae6AKOEUctAz4sWJ8suQxX43i1rSQLvGgha5YQE5GEEEc8RYVPgT0CNDhWsCvw9Ue4QxtUrzf12uszQ3P4Pp8rKIufvh9ForZKmYQTasX-KhytLPpz8RjejX-pfS-L8rW3NYD1QbCMNExCezmqFLS8KEQLSV2lMBcvLZnVQ4?purpose=fullsize

7

πŸ“– Definisi

Queue adalah struktur data linear yang bekerja berdasarkan prinsip FIFO (First In First Out), yaitu elemen yang pertama masuk akan menjadi elemen pertama yang keluar.


🧠 Narasi Konseptual

Bayangkan antrian di bank atau kasir:

  • Orang yang datang pertama akan dilayani lebih dulu
  • Orang yang datang terakhir berada di belakang

➑️ Inilah konsep Queue dalam sistem komputer.


🎯 2. Karakteristik Queue

πŸ“Š Tabel Karakteristik

KarakteristikPenjelasan
PrinsipFIFO (First In First Out)
AksesDua ujung: Front & Rear
StrukturLinear
Operasi utamaEnqueue, Dequeue, Peek

🧠 Narasi

Queue memiliki dua pintu:

  • Rear (belakang) β†’ tempat masuk data
  • Front (depan) β†’ tempat keluar data

βš™οΈ 3. Operasi Dasar Queue

https://images.openai.com/static-rsc-4/sGPnzC1PtassK8THsu3eZSm7xkvr9W9CNHJrkeiCtol4SD251oW5eO5PdGuwZwc05W1aNgnLI4tz0mI9xQD1MpveNvnuOdcw4k7gzXTlvxxIXKr0whVbXk78z8wdFcs5QmCCHT2AuXxBBHY4yyAKmnfYNovkNqzKk8Xs_ThIN5Rk3B6f9eRTuFykUq2yFt7d?purpose=fullsize
https://images.openai.com/static-rsc-4/zi3Q8VaOpagxsR2PCXnanTCqS5mqwdiGRYKXo-MSeJn1qIxGsLLQG2Oo3ll2NjSS2LVVfZV8qFGv9ZDtPla5ayLQDmrUr8yLFOpLIVAqOeD8TYEfueFUdGDXIYvN9HBIWnPv7SKg1VT8Jf7UpvIqY2346zcc3u1OP5lmC90uYKvOdMqtT6yr-pZ_EEFR7qJD?purpose=fullsize
https://images.openai.com/static-rsc-4/uN2kwLErAN1sc6KRezpxYDT3SpUaUchd3QjJlpDyWqOwomm3kmpBiFYTgNLCtwPhMBLoYMZx2H-GaMx-6fQxfVzYvsV8SXO4-kHBIxRv6Dwk0GfoRTNOlS34zgdocdcSmsYJZUF9kQQvrrYVQGzxrtSNZNm1lTgBp-BXZPfBauqbrGr4RJQ_BDHK5ABKSF-x?purpose=fullsize

6

πŸ“Œ A. Enqueue

Menambahkan elemen ke bagian belakang (rear).

πŸ“Œ B. Dequeue

Menghapus elemen dari bagian depan (front).

πŸ“Œ C. Peek

Melihat elemen di bagian depan tanpa menghapus.


πŸ“Š Tabel Operasi Queue

OperasiFungsiKompleksitas
EnqueueMenambah dataO(1)
DequeueMenghapus dataO(1)
PeekMelihat data depanO(1)

🧱 4. Representasi Queue

πŸ”Ή A. Queue Berbasis Array

https://images.openai.com/static-rsc-4/DqhqH8yGiB8f9Ak9g2U2P3qmZ9lg1eGbbsgv7kix8YmAR1uER0mjkB9nyeIuvleHwtnEfWQwYrceQ3p-4Tqu2EcbcXeJNevbwIHuKujfsTDOH_5bR_jt4KDyzwFzzOdp3iN6z7jRsBVuF1-umgw4QDgOQyOm0paP2gUvhfhPxLcXgR__3JaBjQuHAw1-WVN3?purpose=fullsize
https://images.openai.com/static-rsc-4/sGPnzC1PtassK8THsu3eZSm7xkvr9W9CNHJrkeiCtol4SD251oW5eO5PdGuwZwc05W1aNgnLI4tz0mI9xQD1MpveNvnuOdcw4k7gzXTlvxxIXKr0whVbXk78z8wdFcs5QmCCHT2AuXxBBHY4yyAKmnfYNovkNqzKk8Xs_ThIN5Rk3B6f9eRTuFykUq2yFt7d?purpose=fullsize
https://images.openai.com/static-rsc-4/bwjqM4Mvul7KuXBcWaMN9vH-QPQjhbCKWKCbEesgs5vmhkrWyBEs-vxhtBe0s0eICE7iFLOIuQlrlAioLi8L6kYB-i_t9resCcoYdy3vrBqkRJRuYXaXKmQvFbH52uE2R3F_RAsmbnoZ03sISwEaXn7Yx_5hVKw2Qk4hw7C9q2SwKiZMAjsZRvZ8PEpf42fa?purpose=fullsize

6

  • Menggunakan array statis
  • Memiliki keterbatasan ukuran
  • Bisa terjadi masalah ruang kosong

πŸ”Ή B. Queue Berbasis Linked List

https://images.openai.com/static-rsc-4/bzAdcYraJT5wH5M1Y-_yCv31CaDhwUJq5EToMGh3GOiyekbqnHEkp648MLhIq1ezL50n4tLwfehk-TqvcIWTB9i6XhBqiIOrx8MLxsYP03FhZAOHZznrnvzK2Uxa15VlJhuaa8vrOfFYGV2r1OTqruXNCAPzXmEqeXodKm4H8eRe0DiqLrcgISiEczBI1mWk?purpose=fullsize
https://images.openai.com/static-rsc-4/pzuKcP7NcTmVhKYyNkoSjzXgxJkITDFloaEvthA-f8Tz0XC5TWRptwoIlea-v-OI91sAy_E9tZS5aWy2W3y4ng6s8VFPXwd-TRzgB3TFhZnW7efi5RUwweJtCSgG413zzhNzB-3PRigpDedzcX4ZUbmEDTnof0yQ0jdp5f4EwnNy4yuB1nHNTxsu5zydYZKc?purpose=fullsize
https://images.openai.com/static-rsc-4/ctxF98V0eVS6n2FpX3OTd-6Zae6AKOEUctAz4sWJ8suQxX43i1rSQLvGgha5YQE5GEEEc8RYVPgT0CNDhWsCvw9Ue4QxtUrzf12uszQ3P4Pp8rKIufvh9ForZKmYQTasX-KhytLPpz8RjejX-pfS-L8rW3NYD1QbCMNExCezmqFLS8KEQLSV2lMBcvLZnVQ4?purpose=fullsize

6

  • Lebih fleksibel
  • Tidak memiliki batas ukuran tetap
  • Menggunakan pointer front & rear

πŸ”„ 5. Cara Kerja Queue (Step by Step)

πŸ“Œ Contoh Proses

Queue kosong β†’ enqueue 10 β†’ enqueue 20 β†’ enqueue 30

FRONT β†’ 10 β†’ 20 β†’ 30 ← REAR

πŸ“Œ Proses Dequeue

  • Dequeue β†’ 10 keluar
  • Dequeue β†’ 20 keluar

πŸ” 6. Ilustrasi Proses Queue

https://images.openai.com/static-rsc-4/JnXsmMP7xJup_E6byLe3Sv-cy8cQ9Orull1iPzVfOSZppopl-ksr38u0GwEcaMi7i06uhDOQ51Bmo2tXmkoOvAnab3cGlRBSqj320R41TPOJGGbjWcGJgxPLrIqgccFp1ufUWCbzCx7kng-A5hRJWOECT_GMxxJvyniMwGejYBY7AImeqA1Y6sCUusiU9h-M?purpose=fullsize
https://images.openai.com/static-rsc-4/zi3Q8VaOpagxsR2PCXnanTCqS5mqwdiGRYKXo-MSeJn1qIxGsLLQG2Oo3ll2NjSS2LVVfZV8qFGv9ZDtPla5ayLQDmrUr8yLFOpLIVAqOeD8TYEfueFUdGDXIYvN9HBIWnPv7SKg1VT8Jf7UpvIqY2346zcc3u1OP5lmC90uYKvOdMqtT6yr-pZ_EEFR7qJD?purpose=fullsize
https://images.openai.com/static-rsc-4/TmJmDiY7fj-1L_5KlOA3CfO1-xYUhMuLGmVsvSEaD4D1S1VBmTqInaL_MOo8VuShYKQi61iXPwp0fuDIWNC_1tQuCqkjpQud4SgwoaKjPlA9MeoYXM2KFoD6nvtGKaT_4X0FCaHkqDhyzINDj6jFhiAj80Ch1HbsrLinox-0ndtfZHqpv_52cb4oXBwOfnq6?purpose=fullsize

6


⚠️ 7. Kondisi Error pada Queue

πŸ“Š Tabel Error

ErrorPenyebab
OverflowQueue penuh (enqueue tidak bisa)
UnderflowQueue kosong (dequeue tidak bisa)

🧠 Narasi

  • Overflow sering terjadi pada array queue statis
  • Underflow terjadi saat queue kosong tetapi dequeue dilakukan

πŸ”„ 8. Jenis-Jenis Queue

https://images.openai.com/static-rsc-4/Mdc5udGXKI8FIimGQoDSHXe0JUDLzbyQB9B7aP6RMG9X0PMHeoWjhvG8wFRITyg9CVUEuGwt2cUmZ2rLMyG3idANtRV1vhvgCQOvDa30dxI2apBDvKxOBilcf_n5p5cowYkseC-0AyNtMGKlFLONvDsm6DF9Q_uiIBpngAsodjj2lotewJEKlPTiyn9q6aAh?purpose=fullsize
https://images.openai.com/static-rsc-4/YForfOibbR02iX-KjqrUVwBbe39gAYQOLOBZxlW3yGcwPPX1jFf5uU0yPT3NihSR0gLI_SXBP6syq8iUNfaa4W93YMkG8UEP5wqW-MKAH_KxT8N3RWSLpzrCn3vn9q6kyUmV7vM0e3rY9o6XLvGcx5ZfC2RyrB6V1yjVLXUDhxjEaiUCfps_WZrnO0-948UR?purpose=fullsize
https://images.openai.com/static-rsc-4/J3JbwNs2aqyOdK4ye65-Pw2E5cSzEKObQ1AafqnKYUlyrPUA8a0k0nQDz3mMMIHSN632ZArw-l87KXTWXLLFEJvfh4AhuFFFBnZ7ncvSy0qHFf-3Bz7hHLDguLwOCV04yhh35sJisVXpGO3xnpb27BwpmyLmhz7dM6KwcZiAa8sqWysuXu8PibUXsS3xtaLo?purpose=fullsize

6


πŸ”Ή A. Linear Queue

  • Sederhana
  • Masalah: ruang kosong tidak digunakan ulang

πŸ”Ή B. Circular Queue

  • Elemen terakhir terhubung kembali ke awal
  • Mengatasi masalah ruang kosong

πŸ”Ή C. Priority Queue

  • Elemen diproses berdasarkan prioritas
  • Bukan urutan masuk

πŸ”Ή D. Deque (Double Ended Queue)

  • Bisa enqueue & dequeue dari dua sisi
  • Lebih fleksibel

🧠 9. Perbedaan Queue dan Stack

πŸ“Š Tabel Perbandingan

StrukturPrinsipAkses
StackLIFOTop saja
QueueFIFOFront & Rear

🧠 Narasi

  • Stack β†’ seperti tumpukan piring
  • Queue β†’ seperti antrian orang

πŸ’» 10. Implementasi Queue (Array – C++)

#include <iostream>
using namespace std;#define SIZE 5class Queue {
int arr[SIZE];
int front, rear;public:
Queue(){
front = -1;
rear = -1;
} void enqueue(int x){
if(rear == SIZE - 1){
cout << "Overflow\n";
return;
}
if(front == -1) front = 0;
arr[++rear] = x;
} void dequeue(){
if(front == -1 || front > rear){
cout << "Underflow\n";
return;
}
front++;
} void display(){
for(int i = front; i <= rear; i++){
cout << arr[i] << " ";
}
cout << endl;
}
};

πŸ’» 11. Implementasi Queue (Linked List Concept)

struct Node {
int data;
Node* next;
};Node *front = NULL, *rear = NULL;

🧠 12. Aplikasi Queue dalam Dunia Nyata

πŸ“Œ Contoh Penggunaan

BidangPenggunaan Queue
Sistem OperasiPenjadwalan proses
PrinterPrint queue
JaringanPacket buffering
Call CenterAntrian pelanggan

πŸ“Š 13. Kelebihan dan Kekurangan Queue

πŸ“Š Tabel

KelebihanKekurangan
FIFO adilAkses terbatas
Mudah diimplementasiOverflow pada array
Efisien untuk antrianTidak fleksibel seperti linked list

πŸ§ͺ 14. Studi Kasus

πŸ“Œ Sistem Antrian Rumah Sakit

  • Pasien datang β†’ enqueue
  • Dilayani β†’ dequeue
  • Prioritas darurat β†’ priority queue

πŸ“š 15. Ringkasan Materi

  • Queue adalah struktur data FIFO
  • Operasi utama: enqueue, dequeue, peek
  • Memiliki variasi: linear, circular, priority, deque
  • Digunakan dalam sistem nyata seperti OS dan jaringan
  • Sangat penting untuk manajemen antrian data

πŸ“ 16. Latihan / Diskusi

✏️ Soal Teori

  1. Jelaskan konsep FIFO
  2. Apa perbedaan queue dan stack?
  3. Apa itu circular queue?

πŸ’» Soal Praktikum

  1. Buat program queue sederhana
  2. Simulasikan antrian pelanggan
  3. Implementasikan dequeue dan enqueue

🎯 Penutup

Queue adalah struktur data fundamental yang sangat penting dalam sistem komputer modern, terutama untuk:

  • Penjadwalan proses
  • Manajemen antrian
  • Sistem jaringan
  • Simulasi dunia nyata