Anda di halaman 1dari 17

Struktur Data

Queue

Salhazan Nasution, S.Kom, MIT


Queue

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 2


Queue
Queue bersifat FIFO (First In First Out)
Elemen yang pertama masuk ke antrian akan keluar
pertama kalinya.
Dequeue adalah mengeluarkan satu elemen dari
suatu Antrian

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 3


Queue (2)
Terdapat satu buah pintu masuk di suatu ujung dan
satu buah pintu keluar di ujung satunya
Sehingga membutuhkan 2 variabel: Head dan Tail

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 4


Program Queue
Operasi-operasi pada Queue:
Create()
Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 5


Program Queue (2)

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 6


Program Queue (3)
IsEmpty()
Untuk memeriksa apakah Antrian kosong atau tidak
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
Kita tidak memeriksa Head, karena Head adalah tanda
untuk kepala antrian (elemen pertama dalam antrian) yang
tidak akan berubah-ubah
Pergerakan pada Antrian terjadi dengan penambahan
elemen Antrian kebelakang, yaitu menggunakan nilai Tail

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 7


Program Queue (4)

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 8


Program Queue (5)
IsFull()
Untuk mengecek apakah Antrian sudah penuh atau belum
Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena
MAX-1 adalah batas elemen array pada C) berarti Queue
sudah penuh.

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 9


Program Queue (6)
Enqueue()
Untuk menambahkan elemen ke dalam Antrian,
penambahan elemen selalu ditambahkan di
elemen paling belakang
Penambahan elemen selalu menggerakan variabel
Tail dengan cara increment counter Tail terlebih
dahulu

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 10


Program Queue (7)

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 11


Program Queue (8)
Dequeue()
Digunakan untuk menghapus elemen
terdepan/pertama (head) dari Antrian
Dengan cara menggeser semua elemen antrian
kedepan dan mengurangi Tail dgn 1
Penggeseran dilakukan dengan menggunakan
looping

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 12


Program Queue (9)

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 13


Program Queue (10)
Clear()
Untuk menghapus elemen-elemen Antrian dengan
cara membuat Tail dan Head = -1
Penghapusan elemen-elemen Antrian sebenarnya
tidak menghapus array nya, namun hanya
mengeset indeks pengaksesan-nya ke nilai -1
sehingga elemen-elemen Antrian tidak lagi
terbaca

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 14


Program Queue (11)

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 15


Program Queue (12)
Tampil()
Untuk menampilkan nilai-nilai elemen Antrian
Menggunakan looping dari head s/d tail

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 16


Any Question?
See you next time..

Struktur Data (Semester Genap 2014/2015) - www.salhazan.com 17

Anda mungkin juga menyukai