Post on 27-Apr-2019
Queue
Materi� Pengenalan Struktur Data
� Queue
� Implementasi Queue MenggunakanArray
� Operasi Queue� Push (Enqueue)� Push (Enqueue)
� Pop (Dequeue)
� Is Empty
� Is Full
Struktur Data� struktur data adalah cara penyimpanan, penyusunan dan
pengaturan data di dalam media penyimpanan komputersehingga data tersebut dapat digunakan secara efisien
� Beberapa algoritma dalam struktur data:� QueueStack� 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� Ketika diambil suatu data, maka data yang masuk pertamakali yang akan terambil
� Dan data yang terakhir masuk ke dalam antrian yang akanterakhir 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
$ $
FrontRear
� Ketika ada antrian baru, maka posisinya akan berada di paling belakang
$ $
FrontRear
� Ketika antrian terlayani, maka yang ada di paling depan yang akan terlayani:
$ $ $ $
FrontRear
Operasi dalam Queue� Push (Enqueue): merupakan operasi memasukkan data baru
ke dalam queue
� Pop (Dequeue): merupakan operasi mengambil ataumengeluarkan data dari dalam queue
� Is Empty : merupakan operasi pengecekan apakah queue � Is Empty : merupakan operasi pengecekan apakah queue dalam keadaan kosong
� Is Full ; merupakan operasi pengecekan apakah queue dalamkeadaan full
Implementasi Queue dengan Array
� Queue bisa diimplementasikan menggunakanArray
� Misal dibuat Array dengan ukuran 5
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
SebuahSebuahArray dg Array dg tipetipedata data intint untukuntukmembuatmembuat queue queue dengandengan isiisi data data berupaberupabilanganbilangan intint
4 8 6
Implementasi Queue dengan Array� Data 4 (FRONT) masuk pertama kali ke dalam queue,
kemudian diikuti dengan 8 dan 6 (REAR)
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
4 8 6
Implementasi Queue dengan Array
� Untuk memudahkan implementasi, dalam suatuqueue perlu disimpan banyak data yang adalamqueue, indeks elemen array yang berposisi sebagaiFRONT, dan indeks elemen array yang berposisisebagai REAR
sizesize3
firstfirst0sebagai REAR
lastlast2
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
4 8 6
Operasi Dequeue
� Ketika ada operasi pengambilan data dari queue (dequeue/pop), maka size berkurang satu
� Demikian juga dengan first juga akan berubah
� Tetapi last tidak berubah
sizesize2
firstfirst1
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
4 8 6
lastlast2
Operasi Enqueue
� Ketika ada data baru masuk ke dalam queue, nilaisize akan bertambah satu.
� Nilai last akan berubah
� Tetapi nilai first tetap
sizesize3
firstfirst1
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
28 6
lastlast3
Jika Berada di Akhir Index Array
� Terdapat perilaku khusus, jika data sudah ada diAKHIR Array
� Misal, jika akan dilakukan operasi Enqueue, sedangkan data terakhir queue (last) berada diindex terakhir dari Array
sizesize3
firstfirst2index terakhir dari Array
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
6 1
firstfirst2
lastlast4
2
Jika Berada di Akhir Index Array
� Data baru yang akan masuk ke dalam queue, akanditaruh di indeks pertama dari array, jika data dalam indeks tersebut kosong atau tidak ada datanya
� Jika ternyata indeks pertama array tersebut adadatanya, maka ini berarti queue FULL
sizesize4
datanya, maka ini berarti queue FULL
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
6 1
firstfirst2
lastlast0
24
Kondisi Empty� Jika size = 0
sizesize0
firstfirst
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
lastlast
Kondisi Full� Jika size = panjang array
sizesize5
firstfirst2
[ 0 ][ 0 ] [1][1] [ 2 ][ 2 ] [ 3 ][ 3 ] [ 4 ][ 4 ]
6 1
firstfirst2
lastlast1
24 10
Kelebihan n Kekurangan Queue
menggunakan Array
� Simpel untuk diimplementasikan
� Kapasitas queue yang statis, maksudnya ukuran queue – nyatetap.
� Jika dibuat queue untuk 5 data, maka maksimal queue tersebut hanya bisa digunakan untuk menyimpan 5 data saja. tersebut hanya bisa digunakan untuk menyimpan 5 data saja. Tidak bisa lebih