0% menganggap dokumen ini bermanfaat (0 suara)
167 tayangan26 halaman

7 - Queue

Queue (antrian) adalah struktur data yang mengimplementasikan prinsip FIFO (first in first out) dimana data baru dimasukkan ke belakang antrian dan data diambil dari bagian depan. Queue dapat diimplementasikan menggunakan array maupun linked list dengan menggunakan pointer untuk menyimpan posisi elemen paling depan dan belakang. Operasi dasar queue meliputi enqueue untuk menambah data dan dequeue untuk menghapus data dari bagian depan antrian.

Diunggah oleh

Akame 1138
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
167 tayangan26 halaman

7 - Queue

Queue (antrian) adalah struktur data yang mengimplementasikan prinsip FIFO (first in first out) dimana data baru dimasukkan ke belakang antrian dan data diambil dari bagian depan. Queue dapat diimplementasikan menggunakan array maupun linked list dengan menggunakan pointer untuk menyimpan posisi elemen paling depan dan belakang. Operasi dasar queue meliputi enqueue untuk menambah data dan dequeue untuk menghapus data dari bagian depan antrian.

Diunggah oleh

Akame 1138
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 26

Sesi 7 – Queue (Antrian)

IK201 – Struktur Data


Akhmad Rezki Purnajaya, SKom., Mkom.
Hari ini…
Bahasan Terakhir:
Stack (Tumpukan)

Diskusi hari ini:


Queue (Antrian)
 Pengertian Queue
 Operasi Dasar Queue
 Implementasi Queue dengan Array Linear
 Queue menggunakan Array
 Queue menggunakan Linked List

2
Pengertian Queue (Antrian)
• Queue disebut juga antrian dimana data masuk di satu sisi
dan keluar di sisi yang lain.
• Karena itu, queue bersifat FIFO (First In First Out).
Antrian (Queue) merupakan suatu kumpulan data yang
penambahan elemennya (masuk antrian) hanya bisa
dilakukan pada suatu ujung (disebut dengan sisi
belakang/rear) atau disebut juga enqueue yaitu apabila
seseorang masuk ke dalam sebuah antrian.
Jika seseorang keluar dari antrian/penghapusan
(pengambilan elemen) dilakukan lewat ujung yang lain
(disebut dengan sisi depan/front) atau disebut juga
dequeue yaitu apabila seseorang keluar dari antrian.
3
Pengertian Queue (Antrian)
Jadi, dalam antrian menggunakan prinsip
“masuk pertama keluar pertama” atau disebut
juga dengan prinsip FIFO (first in first out).
Dengan kata lain, urutan keluar akan sama
dengan urutan masuknya.
Contoh: antrian mobil saat membeli karcis di
pintu jalan tol, antrian di bioskop dan
sebagainya

4
Operasi Dasar pada Queue
QUEUE merupakan struktur data dinamis, ketika program
dijalankan, jumlah elemennya dapat berubah secara dinamis sesuai
keperluan. Berikut ini operasi-operasi standar pada queue:
A. Inisialisasi, merupakan prosedur untuk membuat queue pada
kondisi awal, yaitu queue yang masih kosong (belum mempunyai
elemen).
B. InQueue, Insert Queue merupakan prosedur untuk memasukkan
sebuah elemen baru pada queue. Jumlah elemen Queue akan
bertambah satu dan elemen tersebut merupakan elemen
belakang.
C. DeQueue, Delete Queue merupakan prosedur untuk
menghapus/mengambil sebuah elemen dari queue. Elemen yang
diambil adalah elemen depan dan jumlah elemen queue akan
berkurang satu.
5
Operasi Dasar pada Queue
Hal lain yang perlu diperhatikan dalam suatu struktur dinamis
adalah jumlah elemen struktur data tersebut. Operasi-operasi
yang berhubungan dengan jumlah elemen suatu queue adalah:
A. Size, yaitu operasi untuk mendapatkan banyaknya elemen queue.
B. Empty, yaitu prosedur untuk mengetahui apakah queue dalam
keadaan kosong atau tidak. Dengan status ini maka dapat dicegah
dilakukannya operasi Dequeue dari suatu queue yang kosong.
C. Full, merupakan prosedur untuk mengetahui apakah queue penuh
atau tidak. Prosedur ini hanya berlaku untuk queue yang
jumlahnya terbatas.

6
Implementasi Queue dengan
Array Linear
Karena antrian merupakan suatu kumpulan data, maka tipe data
yang sesuai untuk menyajikan antrian adalah menggunakan array
atau linked list (senarai berantai). Perhatikan gambar berikut ini :
Implementasi Queue dengan
Array Linear Gambar di samping menunjukkan contoh
ilustrasi antrian menggunakan array. Antrian
di atas berisi 6 elemen, yaitu A, B, C, D, E
dan F. Elemen A terletak di bagian depan
antrian dan elemen F terletak di bagian
belakang antrian. Jika ada elemen baru yang
akan masuk, maka elemen tersebut akan
diletakkan di sebelah kanan F. Dan jika ada
elemen yang akan dihapus, maka A akan
dihapus terlebih dahulu.
Elemen A terletak di bagian depan,
kemudian disusul elemen B dan elemen yang
paling akhir atau paling belakang adalah
elemen F. Misalkan ada elemen baru yang
akan masuk maka akan terletak di belakang
elemen F, sehingga elemen baru akan
menempati posisi yang paling belakang.
Implementasi Queue dengan
Array Linear
Gambar selanjutnya menunjukkan antrian di atas dengan
penambahan 2 elemen, yaitu G dan H, sehingga ilustrasi menjadi :

Gambar selanjutnya menunjukkan antrian dengan penghapusan 2


elemen, yaitu A dan B, sehingga ilustrasi menjadi :
Implementasi Queue dengan
Array Linear
Untuk memahami penggunaan antrian dalam array, kita
membutuhkan deklarasi antrian, misalnya sebagai berikut:
# define MAXN 6
Typedef enum { NOT_OK, OK } Tboolean;
Typedef struct {
Titem array [MAXN];
int first;
int last;
int number_of_items;
} Tqueue
Implementasi Queue dengan
Array Linear
Dengan deklarasi sebelumnya, elemen antrian dinyatakan dalam
tipe integer yang semuanya terdapat dalam struktur. Variabel first
menunjukkan posisi elemen pertama dalam array, dan variabel last
menunjukkan posisi elemen terakhir dalam array.
Algoritma dari penggalan program di atas adalah :
1. Tentukan elemen yang akan dimasukkan ke dalam antrian
(dalam hal ini adalah 6 elemen).
2. Deklarasikan struktur untuk menampung elemen pada
antrian.
3. Selesai.
Implementasi Queue dengan
Array Linear
Untuk menambah elemen baru dan mengambil elemen dari
antrian dalam antrian, diperlukan deklarasi berikut ini :
Implementasi Queue dengan
Array Linear
Contoh Queue
Menggunakan
Array
Contoh Queue
Menggunakan
Array
Contoh Queue Menggunakan Array

Array
Contoh Queue dengan Linked List
Untuk memanipulasi sebuah antrian bisa digunakan dua buah
variabel yang menyimpan posisi elemen paling depan dan elemen
paling belakang.
Apabila antrian diimplementasikan menggunakan linked list
maka cukup 2 pointer yang bisa dipakai yaitu elemen paling depan
(kepala) dan elemen paling belakang (ekor).
Untuk mengimplementasikan queue (antrian) dengan
menggunakan pointer, perhatikan algoritma berikut ini :
Contoh Queue dengan Linked List
1. Tentukan struktur untuk menampung node yang akan
dimasukkan pada antrian. Deklarasi struktur pada penggalan
program berikut ini :
Contoh Queue dengan Linked List
2. Deklarasikan penambahan elemen baru pada antrian, dimana
letaknya adalah paling belakang. Deklarasi penambahan elemen
baru tersebut dapat dilihat pada penggalan program berikut ini :
Contoh Queue dengan Linked List
3. Lakukan pengecekan terhadap antrian, apakah antrian dalam
kondisi kosong atau tidak. Kalau kondisi antrian kosong, maka
elemen bisa dihapus. Penggalan program berikut ini akan
menunjukkan kondisi tersebut:
Contoh Queue dan Stack dengan
Linked List

https://drive.google.com/file/d/1u9FGLyB68eEBpbPGhoaXSxRpWX
mVnfET/view?usp=sharing
Quiz
Jelaskan secara rinci proses antrian (queue) dari figure 4.1, 4.2, 4.3,
4.4, 4.5, 4.7, 4.8, dan 4.9 !
Quiz
Quiz
Soal
 Tambahkanlah function untuk mencari suatu elemen
dalam queue & stack
 Tambahkan function untuk mengedit suatu elemen dalam
queue & stack
 Carilah nilai total, rata-rata, terbesar dan terkecil dari
elemen-elemen queue dalam function tersendiri
Materi Selanjutnya:
Pertemuan 8: UTS

Anda mungkin juga menyukai