PERTEMUAN 5
IMPLEMENTASI QUEUE DI BAHASA C
PENYUSUN
A. QUEUE
Queue merupakan salah satu jenis struktur data berbentuk antrian yang memiliki sistem kerja
FIFO (first in first out), dimana yang pertama masuk akan menjadi pertama keluar. Contohnya
adalah ketika kita berbelanja di mini market ataupun supermarket, ketika ingin melakukan
pembayaran maka kita akan mengantri. Pada proses tersebut, yang pertama mengantri akan
dilayani terlebih dahulu dan akan keluar dari antrian ketika proses pembayaran selesai. Proses
memasukkan dan mengeluarkan data pada queue dilakukan pada dua pintu. Pintu pertama untuk
pintu masuk data dan pintu kedua merupakan pintu keluar data. Pehatikan ilustrasi queue di bawah
ini:
last first
masuk keluar
Pada sebuah antrian elemen hanya dapat ditambahkan melalui sisi belakang queue dan elemen
hanya dapat diambil dari sisi bagian depan queue. Oleh karena itu ada dua buah penunjuk elemen
pada sebuah queue yaitu belakanh atau last sebagai penunjuk elemen paling belakang dan depan
atau first sebagai penunjuk elemen bagian depan. Sama halnya dengan stack, queue dapat
direpresentasikan secara statis dan secara dinamis.
Operasi push yaitu suatu operasi yang bertujuan untuk memasukkan elemen baru pada
sebuah queue. Sebagai kondisi awal ada sebuah queue yang telah memiliki beberapa elemen
dengan elemen paling belakang sebagai last. Dibawah ini menunjukkan kondisi awal ada
sebuah queue dan dibuat sebuah elemen baru yang akan dimasukkan ke dalam queue.
last first
Elemen
baru
Kemudian elemen baru dimasukkan ke dalam queue.
last first
Setelah elemen baru dimasukkan maka penunjuk last di ubah ke elemen baru sebagai
elemen paling belakang.
last first
Operasi del adalah suatu operasi untuk mengeluarkan sebuah elemen dari sebuah antrian.
Aturan untuk mengambil sebuah elemen dimulai dari kondisi awal sebuah queue yang telah
memiliki beberapa elemen dengan elemen paling depan sebagai first.
last first
Penunjuk first diubah ke elemen dibelakang elemen paling depan.
last first
last first
keluar
first
1
9 8 7 6 5 4 3 2 1
last
5
Tempat pada array tidak harus diisi semua seperti elemen diatas. Queue kosong ditandai
dengan diisi niali -1. Sedangkan queue yang terisi akan ditandai dengan diisi indeks dari elemen
dan datanya. Berikut merupakan implementasi Queue di Bahasa C.
1. Mendeklarasikan Struktur data nilai mata kuliah yang menjadi elemen Queue
4. Mendeklarasikan fungsi isEmpty yang mengembalikan nilai true jika queue kosong
5. Mendeklarasikan fungsi isFull yang mengembalikan nilai true jika queue penuh
Buatlah queue yang memiliki isi elemen berupa data pengunjung kafe beserta pesanan yang
harus dilayani, lalu buat program utamanya beserta prosedur dan fungsi yang dibutuhkan. Buat
simulasi ketika ada pengunjung kafe yang masuk antrian dan memesan, dan ada pengunjung kafe
yang selesai dilayani yang keluar antrian.
REFERENSI
Goodrich, M. T., Tamassia, R., & Mount, D. M. (2011). Data structures and algorithms in C++.
John Wiley & Sons.
Sukamto, Rosa Ariani. (2016). Modul Pembelajaran Struktur Data menggunakan Bahasa C,
C++, dan Java. Bandung: Modula.
https://www.tutorialspoint.com/data_structures_algorithms/dsa_queue.htm