Implementasi Queue

Tugas Pertemuan ke-7

Di bawah ini adalah dokumentasi code-code yang mengimplementasikan Queue dengan Array dan Linkedin List. Terdapat pula penjelasan singkat mengenai code yang sudah dituliskan.

1. PROGRAM IMPLEMENTASI QUEUE (ANTREAN) DENGAN ARRAY

Program ini mengimplementasikan struktur data Queue menggunakan prinsip FIFO (First In First Out). Data dikelola melalui operasi enqueue dan dequeue yang memanipulasi posisi index front dan rear.


Output:

Elemen 10 masuk ke queue
Elemen 20 masuk ke queue
Elemen 30 masuk ke queue
Isi Queue: 10 20 30
Elemen 10 keluar dari queue
Isi Queue: 20 30

Program ini mendemonstrasikan bagaimana elemen disimpan dalam antrean dengan batasan kapasitas MAX 5. Fungsi enqueue() menyisipkan data melalui posisi belakang (rear), sedangkan dequeue() menghapus data dari posisi depan (front) — orang yang pertama datang adalah yang pertama dilayani. Operasi display() digunakan untuk mencetak seluruh isi antrean dari index front hingga rear. Jika antrean penuh dan dilakukan enqueue, sistem akan menampilkan pesan Queue Overflow, dan jika kosong saat dilakukan dequeue akan muncul pesan Queue Underflow.

Link Github Repository

2. PROGRAM IMPLEMENTASI QUEUE (ANTREAN) DENGAN LINKED LIST

Berbeda dengan array, implementasi Queue dengan Linked List bersifat dinamis. Data dikelola menggunakan alokasi memori saat runtime, di mana elemen baru (node) ditambahkan melalui pointer rear dan dihapus melalui pointer front tanpa batasan ukuran tetap (selama memori tersedia).


Output:

Elemen 5 masuk ke queue
Elemen 15 masuk ke queue
Elemen 25 masuk ke queue
Isi Queue: 5 15 25
Elemen 5 keluar dari queue
Isi Queue: 15 25

Program ini menggunakan struct Node untuk menyimpan data dan pointer next yang menghubungkan antar elemen. Operasi enqueue() menciptakan node baru dan menyambungkannya ke akhir antrean, sementara dequeue() menghapus node terdepan dan membebaskan memorinya menggunakan perintah delete. Karena berbasis Linked List, program ini tidak akan mengalami Overflow kecuali memori sistem benar-benar habis, namun tetap menangani kondisi Underflow jika mencoba menghapus elemen dari antrean kosong.

Link Github Repository

Comments

Popular posts from this blog

Documentation C++ Programming

Aplikasi Penggunaan Stack