π§ 1. Pengertian Queue
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
| Karakteristik | Penjelasan |
|---|---|
| Prinsip | FIFO (First In First Out) |
| Akses | Dua ujung: Front & Rear |
| Struktur | Linear |
| Operasi utama | Enqueue, Dequeue, Peek |
π§ Narasi
Queue memiliki dua pintu:
- Rear (belakang) β tempat masuk data
- Front (depan) β tempat keluar data
βοΈ 3. Operasi Dasar Queue
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
| Operasi | Fungsi | Kompleksitas |
|---|---|---|
| Enqueue | Menambah data | O(1) |
| Dequeue | Menghapus data | O(1) |
| Peek | Melihat data depan | O(1) |
π§± 4. Representasi Queue
πΉ A. Queue Berbasis Array
6
- Menggunakan array statis
- Memiliki keterbatasan ukuran
- Bisa terjadi masalah ruang kosong
πΉ B. Queue Berbasis Linked List
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
6
β οΈ 7. Kondisi Error pada Queue
π Tabel Error
| Error | Penyebab |
|---|---|
| Overflow | Queue penuh (enqueue tidak bisa) |
| Underflow | Queue kosong (dequeue tidak bisa) |
π§ Narasi
- Overflow sering terjadi pada array queue statis
- Underflow terjadi saat queue kosong tetapi dequeue dilakukan
π 8. Jenis-Jenis Queue
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
| Struktur | Prinsip | Akses |
|---|---|---|
| Stack | LIFO | Top saja |
| Queue | FIFO | Front & 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
| Bidang | Penggunaan Queue |
|---|---|
| Sistem Operasi | Penjadwalan proses |
| Printer | Print queue |
| Jaringan | Packet buffering |
| Call Center | Antrian pelanggan |
π 13. Kelebihan dan Kekurangan Queue
π Tabel
| Kelebihan | Kekurangan |
|---|---|
| FIFO adil | Akses terbatas |
| Mudah diimplementasi | Overflow pada array |
| Efisien untuk antrian | Tidak 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
- Jelaskan konsep FIFO
- Apa perbedaan queue dan stack?
- Apa itu circular queue?
π» Soal Praktikum
- Buat program queue sederhana
- Simulasikan antrian pelanggan
- 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