Anda di halaman 1dari 19

Queue

Materi
 Pengenalan Struktur Data
 Queue
 Implementasi Queue Menggunakan Array
 Operasi Queue
 Push (Enqueue)
 Pop (Dequeue)
 Is Empty
 Is Full
Struktur Data
 struktur data adalah cara penyimpanan, penyusunan dan
pengaturan data di dalam media penyimpanan komputer
sehingga data tersebut dapat digunakan secara efisien
 Beberapa algoritma dalam struktur data:
 Queue
 Stack
 Linked List :
 Single Linked List
 Double Linked List
 Circular Linked List
 Double Circular Linked List
 Tree
Queue
 Merupakan pola struktur data yang susunannya seperti
antrian.
 Data disusun berurutan mulai data yang masuk pertama
(FRONT) hingga data yang masuk terakhir (REAR)
 Ketika diambil suatu data, maka data yang masuk pertama
kali yang akan terambil
 Dan data yang terakhir masuk ke dalam antrian yang akan
terakhir terambil
Queue
 Disebut juga FIFO (First In First Out)
 Data yang pertama masuk, maka akan pertama kali keluar
 Sebaliknya, data yang terakhir masuk, maka juga akan paling
akhir keluar
Ilustrasi Queue
 Baris antrian menuju teller di bank

$ $

Front
Rear
 Ketika ada antrian baru, maka posisinya akan berada di paling
belakang

$ $

Front
Rear
 Ketika antrian terlayani, maka yang ada di paling depan yang
akan terlayani:

$ $

Front
Rear
Operasi dalam Queue
 Push (Enqueue): merupakan operasi memasukkan data baru
ke dalam queue
 Pop (Dequeue): merupakan operasi mengambil atau
mengeluarkan data dari dalam queue
 Is Empty : merupakan operasi pengecekan apakah queue
dalam keadaan kosong
 Is Full ; merupakan operasi pengecekan apakah queue dalam
keadaan full
Implementasi Queue dengan Array
 Queue bisa diimplementasikan menggunakan Array
 Misal dibuat Array dengan ukuran 5

[0] [1] [2] [3] [4]

4 8 6

Sebuah Array dg tipe


data int untuk
membuat queue
dengan isi data berupa
bilangan int
Implementasi Queue dengan Array
 Data 4 (FRONT) masuk pertama kali ke dalam queue,
kemudian diikuti dengan 8 dan 6 (REAR)

[0] [1] [2] [3] [4]

4 8 6
Implementasi Queue dengan Array
 Untuk memudahkan implementasi, dalam suatu
queue perlu disimpan banyak data yang adalam 3 size
queue, indeks elemen array yang berposisi sebagai
FRONT, dan indeks elemen array yang berposisi 0 first
sebagai REAR

2 last

[0] [1] [2] [3] [4]

4 8 6
Operasi Dequeue
 Ketika ada operasi pengambilan data dari queue
(dequeue/pop), maka size berkurang satu 2 size
 Demikian juga dengan first juga akan berubah
 Tetapi last tidak berubah 1 first

2 last

[0] [1] [2] [3] [4]

4 8 6
Operasi Enqueue
 Ketika ada data baru masuk ke dalam queue, nilai
size akan bertambah satu. 3 size
 Nilai last akan berubah
 Tetapi nilai first tetap 1 first

3 last

[0] [1] [2] [3] [4]

8 6 2
Jika Berada di Akhir Index Array
 Terdapat perilaku khusus, jika data sudah ada di
AKHIR Array
3 size
 Misal, jika akan dilakukan operasi Enqueue,
sedangkan data terakhir queue (last) berada di
index terakhir dari Array 2 first

4 last

[0] [1] [2] [3] [4]

2 6 1
Jika Berada di Akhir Index Array
 Data baru yang akan masuk ke dalam queue, akan
ditaruh di indeks pertama dari array, jika data
dalam indeks tersebut kosong atau tidak ada datanya
 Jika ternyata indeks pertama array tersebut ada 4 size
datanya, maka ini berarti queue FULL
2 first

0 last

[0] [1] [2] [3] [4]

4 2 6 1
Kondisi Empty
 Jika size = 0

0 size

first

last

[0] [1] [2] [3] [4]


Kondisi Full
 Jika size = panjang array

5 size

2 first

1 last

[0] [1] [2] [3] [4]

4 10 2 6 1
Kelebihan n Kekurangan Queue
menggunakan Array
 Simpel untuk diimplementasikan
 Kapasitas queue yang statis, maksudnya ukuran queue – nya
tetap.
 Jika dibuat queue untuk 5 data, maka maksimal queue
tersebut hanya bisa digunakan untuk menyimpan 5 data saja.
Tidak bisa lebih

Anda mungkin juga menyukai