Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Anggota kelompok :
Ajeng Kartika Irma Hidayati Septianingrum Vita Dwi Arianti Yudha Nur Reza
What is Queue ??
B.
C. D. E.
Kegunaan Queue
Karakteristik Queue Queue Implementation Pendefinisian Queue
F.
G. H. I.
J.
K. L. M. N.
A. What is Queue ??
Queue / Antrian adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada satu ujung dan penghapusan atau pengambilan elemen dilakukan lewat ujung lain.
Queue menggunakan prinsip Pertama Masuk Pertama Keluar First In First Out (FIFO). Dengan kata lain urutan masuk sama dengan urutan keluar. Contoh yang paling populer
untuk membayangkan sebuah queue adalah antrian pada kasir sebuah bank.
Ketika
seorang pelanggan datang, akan menuju ke belakang dari antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju. Pada saat menempatkan elemen pada ujung (tail) dari queue disebut dengan enqueue, pada saat memindahkan elemen
Lihat Gambar 5.1 berikut ini yang memperlihatkan sebuah queue serta proses enqueue dan dequeue.
B. Kegunaan Queue
Meski Queue sangat sederhana, namun Queue merupakan kakas dasar penyelesaian masalah-masalah besar. Penggunaan Queue yang utama adalah untuk simulasi fenomena antrian di dunia nyata, serta fenomena antrian di pengolahan data. Algoritma Queue juga digunakan dalam sistem operasi untuk mengontrol urutan proses operasi sistem.
C. Karakteristik Queue
1. Elemen antrian yaitu item-item data yang terdapat di elemen antrian 2. Front (elemen terdepan dari antrian) 3. Rear (elemen terakhir dari antrian)
1. Penuh
Bila elemen pada antrian mencapai kapasitas maksimum antrian. Pada kondisi ini, tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen menyebabkan kondisi kesalahan Overflow.
2. Kosong Bila tidak ada elemen pada antrian. Pada kondisi ini, tidak mngkin dilakukan pengambilan elemen dari antrian. Pengambilan elemen menyebabkan kondisi kesalahan Overflow.
D. Queue Implementation
1. 2.
Implementasi Queue dengan Linear Array Implementasi Queue dengan Circular Array
Linear array adalah suatu array yang dibuat seakan-akan merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar. Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya Sehingga membutuhkan variabel misalnya Head dan Tail
E. Pendefinisian Queue
#define MAX 8 typedef struct{ int data[MAX]; int head; int tail; } Queue; Queue antrian;
2. Is Empty()
Untuk memeriksa apakah Antrian sudah penuh atau belum 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
3. 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 sudah penuh
4. Enqueue(data) 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
5. Dequeue() Digunakan untuk menghapus elemen terdepan/pertama dari Antrian Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian kedepan. Penggeseran dilakukan dengan menggunakan looping
6. Clear() Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1 Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen elemen Antrian tidak lagi terbaca
7. Tampil() Untuk menampilkan nilai-nilai elemen Antrian Menggunakan looping dari head s/d tail
H. Deklarasi
1.
AWAL (Inisialisasi)
Dapat
dilihat
bahwa
setiap
terjadi
penghapusan elemen pada queue nilai (index) dari Front bertambah satu (1) ; dapat ditulis FRONT = FRONT+1. Begitu
K. Jenis-jenis Antrian
Selain antrian yang telah kita bahas di atas, masih ada dua tipe antrian lagi yang penggunaannya juga banyak di dalam kehidupan sehari hari atau dalam dunia komputer itu sendiri, diantaranya adalah :
1. 2.
1. DEQUE
DEQUE adalah antrian dimana elemennya bisa masuk dan keluar lewat kedua ujungnya (berbeda dengan queue yang hany bisa masuk lewat ujung belakang dan keluar lewat ujung depan). Biasanya DEQUE disajikan dengan menggunakan Double link list yang memiliki dua buah pointer yang menunjuk ke posisi sebelumnya dan sesudahnya ( posisi kiri dan kanannya ). Gambar 6.1 menunjukkan struktur umum dari sebuah DEQUE.
ujung list.
b. Deque output terbatas : merupakan kebalikan dari deque input terbatas yaitu suatu deque yang membatasi penghapusan elemen hanya pada satu ujung dari list, sementara pemasukkan elemen boleh dilakukan pada kedua ujung list.
2. ANTRIAN BERPRIORITAS
Antrian berprioritas adalah suatu queue yang setiap elemennya telah diberikan sebuah
prioritas, dan urutan proses penghapusan elemen adalah berdasarkan aturan berikut :
a. Elemen yang prioritasnya lebih tinggi, diproses elemen yang prioritas lebih rendah. b. Dua elemen dengan prioritas yang sama, diproses sesuai dengan urutan mereka sewaktu dimasukkan ke dalam priority queue. Salah satu contoh antrian berprioritas ini adalah sistem berbagi waktu (time sharing system), dimana program yang mempunyai prioritas tinggi akan dikerjakan lebih dahulu dan lebih dahulu dibandingkan dengan
M. Soal
1. Jelaskan apa yang dimaksud dengan: a. Queue/Tumpukan b. DEQUE c. Antrian berprioritas. 2. Jelaskan istilah-istilah pada queue berikut ini: a. Create b. Insert c. Remove d. Front e. Rear
f. IsEmpty