Anda di halaman 1dari 8

MODUL PRAKTIKUM

PERTEMUAN 5
IMPLEMENTASI QUEUE DI BAHASA C

STRUKTUR DATA DAN ALGORITMA

PENYUSUN

Tim Dosen Struktur Data dan Algoritma


Program Studi Sistem Informasi Program Sarjana
UPN VETERAN JAKARTA
PRAKTIKUM 5
QUEUE

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.

B. OPERASI PADA ANTRIAN (QUEUE)


1. Operasi Add

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

2. Operasi Delete (Del)

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

Kemudian elemen paling depan dikeluarkan dari queue.

last first

keluar

C. QUEUE REPRESENTASI STATIS

Queue representasi statis diimplementasikan dengan menggunakan array. Sebuah array


memiliki tempat yang dialokasikan di awal. Sehingga elemen yang dimasukan terbatas pada
tempat yang ada pada array. Karena menggunakan array maka queue representasi statis ini
memungkinkan terjadinya kondisi queue penuh. Ilustrasi queue dengan representasi statis adalah
sebagai berikut:

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

2. Mendeklarasikan queue menggunakan array

3. Mendeklarasikan prosedur createEmpty yang membuat sebuah queue kosong

4. Mendeklarasikan fungsi isEmpty yang mengembalikan nilai true jika queue kosong
5. Mendeklarasikan fungsi isFull yang mengembalikan nilai true jika queue penuh

6. Mendeklarasikan prosedur add yang memasukan elemen ke dalam queue

7. Mendeklarasikan prosedur del yang mengeluarkan elemen keluar queue


8. Mendeklarasikan prosedur printQueue yang menampilkan isi queue ke layer

9. Mendeklarasikan algoritma program utama yang menggunakan operasi queue.


TUGAS 1

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

Anda mungkin juga menyukai