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.
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.
Comments
Post a Comment