Kelompok 2
FIFO
First In First Out
Queue
• Antrian pada struktur data
• Menggunakan prinsip FIFO
Operasi Penting Queue
• Add
• Delete
Digunakan untuk …
• Sistem operasi yang memerlukan manajemen sumber daya
dan penjadwalan.
• Contohnya time-sharing computer-system  ada sejumlah
pemakai yang menggunakan sistem tersebut secara serempak.
“add priority”
Di dalam sebuah antrian, antrian tidak lagi menerapkan konsep
antrian murni, namun menjadi antrian berprioritas.
Operasi dasar Queue
Create
IsEmpty
IsFull
DeQueue
Clear
Tampil
EnQueue
Create
• Untuk menciptakan dan menginisialisasi Queue.
• Dengan cara membuat Head dan Tail = -1
IsEmpty
• 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.
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.
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.
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.
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.
Tampil
• Untuk menampilkan nilai-nilai elemen Antrian.
• Menggunakan looping dari head s/d tail.
Queue Linear
• Linear array adalah suatu array yang dibuat seakan-akan
merupakan suatu garis lurus dengan satu pintu masuk dan satu
pintu keluar.
Operasinya …
IsFull
EnQueue DeQueue
Clear
IsEmpty
IsEmpty
• Fungsi IsEmpty berguna untuk mengecek apakah queue masih
kosong atau sudah berisi data.
• Hal ini dilakukan dengan mengecek apakah tail bernilai -1 atau
tidak. Nilai -1 menandakan bahwa queue masih kosong.
IsFull
• Fungsi IsFull berguna untuk mengecek apakah queue sudah
penuh atau masih bias menampung data dengan cara
mengecek apakah nilai tail sudah sama dengan jumlah
maksimal queue. Jika nilai keduanya sama, berarti queue
sudah penuh.
EnQueue
• Fungsi EnQueue berguna untuk memasukkan sebuah elemen
dalam queue.
DeQueue
• Fungsi DeQueue berguna untuk mengambil sebuah elemen
dari queue.
• Operasi ini sering disebut juga serve. Hal ini dilakukan dengan
cara memindahkan sejauh satu langkah ke posisi di depannya
sehingga otomatis elemen yang paling depan akan tertimpa
dengan elemen yang terletak di belakangnya.
Clear
• Fungsi Clear berguna untuk menghapus semua lemen dalam
queue dengan jalan mengeluarkan semua elemen tersebut
satu per satu hingga queue kosong dengan memanfaatkan
fungsi DEQueue.
Queue Circular
• Circular array adalah suatu array yang dibuat seakan-akan
merupakan sebuah lingkaran dengan titik awal (head) dan titik
akhir (tail) saling bersebelahan jika array tersebut masih
kosong.
Operasinya …
IsEmpty
IsFull
EnQueue DeQueue
IsEmpty
• Fungsi IsEmpty berguna untuk mengecek apakah Queue masih
kosong atau sudah berisi. Hal ini dilakukan dengan mengecek
apakah tail masih terletak bersebelahan dengan head dan tail
lebih besar dari head atau tidak. Jika benar, maka queue masih
kosong.
IsFull
• Fungsi IsFull berguna untuk mengecek apakah queue sudah
penuh atau masih bias menampung data dengan cara
mengecek apakah tempat yang masih kosong tinggal satu atau
tidak (untuk membedakan dengan empty dimana semua
tempat kosong). Jika benar berarti queue penuh.
EnQueue
• Fungsi EnQueue berguna untuk memasukkan sebuah elemen
ke dalam queue tail dan head mula-mula bernilai nol (0).
DeQueue
• DeQueue berguna untuk mengambil sebuah elemen dari
queue. Hal ini dilakukan dengan cara memindahkan posisi
head satu langkah ke belakang.
Copyright © 2017 Kelompok 2 ALL RIGHT RESERVED
Designed by Pedomane for Mas Gado. Powered by Kelompok 2

FIFO (First In First Out)

  • 1.
  • 2.
    Queue • Antrian padastruktur data • Menggunakan prinsip FIFO
  • 3.
  • 4.
    Digunakan untuk … •Sistem operasi yang memerlukan manajemen sumber daya dan penjadwalan. • Contohnya time-sharing computer-system  ada sejumlah pemakai yang menggunakan sistem tersebut secara serempak.
  • 5.
    “add priority” Di dalamsebuah antrian, antrian tidak lagi menerapkan konsep antrian murni, namun menjadi antrian berprioritas.
  • 6.
  • 7.
    Create • Untuk menciptakandan menginisialisasi Queue. • Dengan cara membuat Head dan Tail = -1
  • 8.
    IsEmpty • Untuk memeriksaapakah 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.
  • 9.
    IsFull • Untuk mengecekapakah 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.
  • 10.
    EnQueue • Untuk menambahkanelemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang. • Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu.
  • 11.
    DeQueue • Digunakan untukmenghapus elemen terdepan/pertama (head) dari Antrian. • Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1. • Penggeseran dilakukan dengan menggunakan looping.
  • 12.
    Clear • Untuk menghapuselemen-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.
  • 13.
    Tampil • Untuk menampilkannilai-nilai elemen Antrian. • Menggunakan looping dari head s/d tail.
  • 14.
    Queue Linear • Lineararray adalah suatu array yang dibuat seakan-akan merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar.
  • 15.
  • 16.
    IsEmpty • Fungsi IsEmptyberguna untuk mengecek apakah queue masih kosong atau sudah berisi data. • Hal ini dilakukan dengan mengecek apakah tail bernilai -1 atau tidak. Nilai -1 menandakan bahwa queue masih kosong.
  • 17.
    IsFull • Fungsi IsFullberguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah nilai tail sudah sama dengan jumlah maksimal queue. Jika nilai keduanya sama, berarti queue sudah penuh.
  • 18.
    EnQueue • Fungsi EnQueueberguna untuk memasukkan sebuah elemen dalam queue.
  • 19.
    DeQueue • Fungsi DeQueueberguna untuk mengambil sebuah elemen dari queue. • Operasi ini sering disebut juga serve. Hal ini dilakukan dengan cara memindahkan sejauh satu langkah ke posisi di depannya sehingga otomatis elemen yang paling depan akan tertimpa dengan elemen yang terletak di belakangnya.
  • 20.
    Clear • Fungsi Clearberguna untuk menghapus semua lemen dalam queue dengan jalan mengeluarkan semua elemen tersebut satu per satu hingga queue kosong dengan memanfaatkan fungsi DEQueue.
  • 21.
    Queue Circular • Circulararray adalah suatu array yang dibuat seakan-akan merupakan sebuah lingkaran dengan titik awal (head) dan titik akhir (tail) saling bersebelahan jika array tersebut masih kosong.
  • 22.
  • 23.
    IsEmpty • Fungsi IsEmptyberguna untuk mengecek apakah Queue masih kosong atau sudah berisi. Hal ini dilakukan dengan mengecek apakah tail masih terletak bersebelahan dengan head dan tail lebih besar dari head atau tidak. Jika benar, maka queue masih kosong.
  • 24.
    IsFull • Fungsi IsFullberguna untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah tempat yang masih kosong tinggal satu atau tidak (untuk membedakan dengan empty dimana semua tempat kosong). Jika benar berarti queue penuh.
  • 25.
    EnQueue • Fungsi EnQueueberguna untuk memasukkan sebuah elemen ke dalam queue tail dan head mula-mula bernilai nol (0).
  • 26.
    DeQueue • DeQueue bergunauntuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara memindahkan posisi head satu langkah ke belakang.
  • 27.
    Copyright © 2017Kelompok 2 ALL RIGHT RESERVED Designed by Pedomane for Mas Gado. Powered by Kelompok 2