Contoh Soal Queue Struktur Data Lengkap dengan Pembahasan dan Ilustrasi FIFO

Views: 2

Dalam dunia pemrograman dan ilmu komputer, pemahaman terhadap struktur data adalah fondasi utama untuk membangun aplikasi yang efisien. Salah satu struktur data linear yang paling fundamental dan sering muncul dalam ujian akademik maupun seleksi teknis perusahaan teknologi adalah Queue atau antrean.

Artikel ini akan membahas secara mendalam mengenai konsep Queue, prinsip kerja FIFO, hingga kumpulan contoh soal Queue struktur data yang dilengkapi dengan pembahasan mendetail dan ilustrasi visual untuk memudahkan pemahaman Anda.

Apa itu Queue dalam Struktur Data?

Queue adalah struktur data linear yang mengikuti prinsip operasional First-In, First-Out (FIFO). Artinya, elemen yang pertama kali dimasukkan ke dalam antrean akan menjadi elemen yang pertama kali dikeluarkan.

baca juga:Aplikasi Populer Notepad++ Dibajak Hacker China Sejak 2025

Bayangkan sebuah antrean di kasir supermarket. Orang yang datang pertama akan dilayani terlebih dahulu, dan orang yang baru datang harus menempati posisi paling belakang. Dalam terminologi struktur data, ujung tempat elemen ditambahkan disebut sebagai Rear (belakang), sedangkan ujung tempat elemen dihapus disebut sebagai Front (depan).

Operasi Dasar pada Queue

Sebelum masuk ke contoh soal, Anda harus memahami operasi-operasi standar yang ada pada Queue:

  1. Enqueue: Menambahkan elemen ke akhir antrean (Rear).
  2. Dequeue: Menghapus elemen dari awal antrean (Front).
  3. Peek/Front: Melihat elemen yang ada di posisi depan tanpa menghapusnya.
  4. IsEmpty: Memeriksa apakah antrean dalam keadaan kosong.
  5. IsFull: Memeriksa apakah antrean sudah mencapai kapasitas maksimal (pada implementasi statis).

Memahami Ilustrasi FIFO (First-In, First-Out)

Prinsip FIFO adalah inti dari Queue. Mari kita lihat ilustrasi langkah demi langkah:

  • Langkah 1: Antrean kosong.
  • Langkah 2 (Enqueue 10): Elemen 10 masuk. Front = 10, Rear = 10.
  • Langkah 3 (Enqueue 20): Elemen 20 masuk. Front = 10, Rear = 20.
  • Langkah 4 (Dequeue): Elemen 10 keluar (karena ia yang pertama masuk). Sekarang Front = 20, Rear = 20.

Kumpulan Contoh Soal Queue dan Pembahasannya

Berikut adalah variasi soal yang sering muncul, mulai dari penelusuran algoritma hingga konsep teoritis.

Soal 1: Penelusuran Operasi Dasar

Diberikan sebuah Queue kosong berkapasitas 5. Lakukan urutan operasi berikut:

  1. Enqueue(A)
  2. Enqueue(B)
  3. Enqueue(C)
  4. Dequeue
  5. Enqueue(D)
  6. Dequeue

Pertanyaan: Sebutkan elemen yang tersisa di dalam Queue dan tentukan mana yang menjadi Front dan Rear!

Pembahasan:

  • A masuk: [A] (Front: A, Rear: A)
  • B masuk: [A, B] (Front: A, Rear: B)
  • C masuk: [A, B, C] (Front: A, Rear: C)
  • Dequeue: A keluar (karena FIFO). Sisa: [B, C] (Front: B, Rear: C)
  • D masuk: [B, C, D] (Front: B, Rear: D)
  • Dequeue: B keluar. Sisa: [C, D] (Front: C, Rear: D)

Jawaban: Elemen yang tersisa adalah C dan D. Front berada pada C dan Rear berada pada D.

Soal 2: Konsep Circular Queue

Mengapa pada implementasi Queue menggunakan Array sering terjadi masalah “False Overflow” dan bagaimana Circular Queue mengatasinya?

Pembahasan: Masalah “False Overflow” terjadi ketika Rear sudah mencapai indeks terakhir array, tetapi sebenarnya ada ruang kosong di bagian depan akibat operasi Dequeue. Pada Queue linear biasa, kita tidak bisa menambah elemen lagi meskipun memori tersedia.

Circular Queue mengatasi ini dengan menghubungkan ujung akhir kembali ke ujung awal. Secara matematis, posisi Rear berikutnya dihitung menggunakan rumus: Rear = (Rear + 1) % Kapasitas

Soal 3: Implementasi Queue Menggunakan Stack

Apakah mungkin membuat struktur data Queue hanya dengan menggunakan dua buah Stack? Jelaskan logikanya!

Pembahasan: Ya, sangat mungkin. Kita membutuhkan dua Stack, sebut saja StackIn dan StackOut.

  • Operasi Enqueue: Masukkan elemen langsung ke StackIn.
  • Operasi Dequeue: * Jika StackOut kosong, pindahkan semua elemen dari StackIn ke StackOut secara berurutan (ini akan membalik urutan elemen menjadi FIFO).
    • Ambil elemen teratas dari StackOut.
    • Jika StackOut tidak kosong, langsung ambil elemen teratasnya.

Soal 4: Prioritas dalam Antrean (Priority Queue)

Apa perbedaan utama antara Queue standar dengan Priority Queue?

Pembahasan: Pada Queue standar, elemen dikeluarkan murni berdasarkan waktu kedatangan (FIFO). Namun, pada Priority Queue, setiap elemen memiliki nilai prioritas. Elemen dengan prioritas tertinggi akan dikeluarkan terlebih dahulu, terlepas dari kapan ia masuk. Jika dua elemen memiliki prioritas yang sama, barulah prinsip FIFO berlaku.


Jenis-Jenis Queue yang Wajib Diketahui

Selain Queue linear biasa, terdapat beberapa variasi struktur data antrean:

  1. Simple Queue: Antrean standar FIFO.
  2. Circular Queue: Ujung akhir terhubung dengan ujung awal untuk efisiensi memori.
  3. Priority Queue: Elemen disusun berdasarkan derajat kepentingan (prioritas).
  4. Double-Ended Queue (Deque): Elemen dapat ditambah atau dihapus dari kedua ujung (Front maupun Rear).

Pentingnya Queue dalam Dunia Nyata dan Pemrograman

Struktur data Queue bukan sekadar teori akademik. Implementasinya sangat luas, antara lain:

  • Manajemen CPU Task: Sistem operasi menggunakan Queue untuk menjadwalkan proses yang harus dijalankan CPU.
  • Spooling Printer: Dokumen yang dikirim ke printer antre dalam Queue agar dicetak sesuai urutan pengiriman.
  • Traffic Web Server: Menangani permintaan (requests) masuk agar server tidak tumbang (crash) saat beban tinggi.
  • Algoritma BFS (Breadth-First Search): Digunakan dalam traversal graf untuk menemukan jalur terpendek.

baca juga:CoE Metaverse Universitas Teknokrat Indonesia, Kampus Terbaik di Lampung, Gelar PKM “AI for Metaverse Creation” di SMK Budi Karya Natar

Kesimpulan

Memahami Queue dan prinsip FIFO adalah langkah krusial bagi siapa saja yang ingin mendalami ilmu komputer. Melalui contoh soal Queue struktur data di atas, kita belajar bahwa antrean bukan hanya soal memasukkan dan mengeluarkan data, tapi juga soal efisiensi penggunaan memori (seperti pada Circular Queue) dan logika pemecahan masalah (seperti penggunaan dua Stack).

Kunci utama dalam menguasai materi ini adalah latihan visualisasi. Cobalah untuk menggambar kotak-kotak array dan gerakkan penunjuk Front serta Rear secara manual untuk setiap operasi yang dilakukan.

penulis:ilham

Views: 2
Contoh Soal Queue Struktur Data Lengkap dengan Pembahasan dan Ilustrasi FIFO

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top