Uploaded by dodyerlangga04

PPTX DODY ERLANGGA 1857201002013

advertisement
QUEUE/
ANTRIAN
PERBEDAAN
QUEUE DAN
STACK
• STACK ADALAH SEBUAH TEMPAT UNTUK STRUKTUR
DATA YANG MEMUNGKINKAN MELAKUKAN PUSH
DAN POP
• QUEUE ADALAH SEBUAH TEMPAT DALAM
STRUKTUR DATA YANG MEMUNGKINKAN UNTUK
MELAKUKAN ENQUEUE DAN DEQUEUE
QUEUE
• Sebuah daftar urutan/antrian yang jika selesai antrian
yang paling pertama maka akan dihapus dan
dilanjutkan lagi dengan yang ada dibelakangnya.
• First In-First Out(FIFO)
– Elemen berada
Dalam Urutan tetapi tidak
Memiliki Indeks. Elemen
hanya bisa ditambahkan
diakhir queue.
dan hanya bisa
dihapus Di
depan queue.
QUEUE
• Operasi dasar queue
– Add ( enqueue ) : menambahkan entri di belakang
– Remove ( dequeue ) : menghapus entri di depan
– Peek : Mengambil atau menampilkan data yang ada
didepan tetapi hanya mengintip atau sekedar melihat
– Pool : Sama halnya dengan peek tetapi bisa menghapus
data
QUEUE
• Operasi lain Queue
– Create : Untuk menciptakan dan menginisialisasi Queue
– Dengan cara membuat Head dan Tail = -1
QUEUE
• Operasi lain Queue
– IsEmpty : Untuk memeriksa apakah Antrian sudah penuh
atau belum
– Pergerakan pada Antrian terjadi dengan penambahan
Tail
QUEUE
• Operasi lain Queue
– 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.
QUEUE
• Operasi lain Queue
– Clear : Untuk menghapus elemen-elemen Antrian
dengan cara membuat Tail dan Head = -1
QUEUE
• Operasi lain Queue
– Tampil : Untuk menampilkan nilai-nilai elemen Antrian
– Menggunakan looping dari head ke tail
PENERAPAN QUEUE
• DALAM KEHIDUPAN SEHARI-HARI :
• Mengantri
• Pembayaran administrasi pada suatu universitas
• DALAM SEBUAH ILMU KOMPUTER
• Threads
• Penjadwalan CPU : contohnya RR (Round Robin)
QUEUE DALAM ILMU
KOMPUTER
•
•
Sistem Operasi
•
Antrian dalam mencetak sebuah dokumen pada printer
•
Antrian menjalankan proses program aplikasi
• Antrian pengiriman paket-paket data dalam sebuah jaringan
Programing
•
Permodelan garis pelanggan atau klien pada sebuah program
•
•
Menyimpan perhitungan antrian yang dilakukan secara berurutan pada
program
Contoh di dunia nyata
•
Orang-orang menunggu untuk menaiki escalator
•
Kendaraan yang mengantri di pengisian bahan bakar
QUEUE LINEAR 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 2 variabel: Head dan Tail
QUEUE CIRCULAR ARRAY
•
Salah satu variasi array adalah array melingkar (circular array), artinya array dapat
diakses mulai dari sembarang indeks (indeks awal) kearah indeks terakhir
(maksimum array), lalu memutar ke indeks pertama hingga kembali ke indeks awal.
•
Circular array adalah array yang dibuat seakan-akan merupakan sebuah lingkaran
dengan titik awal dan titik akhir saling bersebelahan jika array tersebut masih
kosong.
•
Jumlah data yang dapat ditampung oleh array ini adalah besarnya ukuran array
dikurangi 1.
•
Misalnya besar array adalah 8, maka jumlah data yang dapat ditampung adalah 7.
QUEUE DENGAN ARRAY
• Bersifat FIFO (First In First Out)
• Elemen yang pertama masuk ke antrian akan keluar pertama
kalinya
• DEQUEUE adalah mengeluarkan satu elemen dari suatu
Antrian
• Antrian dapat dibuat dengan menggunakan: Liniear Array dan
Circular Array
FIRST IN FIRST OUT
rear
A
front
B
A
rear
front
C
B
A
rear
front
D
C
B
A
rear
front
D
C
B
rear
front
OPERASI QUEUE
• Sebuah queue dapat diartikan seperti orang-orang yang
sedang menunggu antrian setor tunai ke teller bank. Queue
mempunyai depan dan belakang (front dan rear)/(head dan
tail).
Rear
Front
OPERASI QUEUE
• Sekarang ada lagi masuk orang mengantri ke teller melalui
belakang (rear). Ini biasa disebut operasi enqueue.
OPERASI QUEUE
• Ketika orang antrian terdepan meninggalkan posisinya atau
dalam kasus ini telah menuju ke teller dan diisi oleh antrian
berikutnya maka biasanya dipanggil dengan operasi dequeue.
JADI
SEPERTI
APA
QUEUE
ITU ?
• Menambahkan data dibelakang
• Menghapus data yang ada didepan
Adding
Adding
Deleting
Deleting
C B A
rear
rear
front
front
Download