Analisa Algoritma : Linear Data Model (Queue)


Stack dan Queue adalah contoh dari ADT. Stack dan Queue vs Array, array merupakan penyimpanan data terstruktur saat stack dan queue digunakan oleh programmer sebagai alat. Stack (tumpukan) merupakan wadah yang mengijinkan untuk mendorong dan menarik data sedangkan Queue (antrian) merupakan wadah yang mengijinkan untuk mengantri dan membatalkan antrian. Tidak ada penjelasan lebih  detail tetapi, dalam array data dapat diakses selama akses struktur data tidak diijinkan dan sifat mereka lebih abstrak daripada array biasa.

Pengertian Queue
Queue atau antrian merupakan sebuah struktur data di mana itemnya tersusun sedemikian rupa sehingga itemnya hanya dapat disisipkan di satu ujung dan dihapus di ujung lainnya.
Contoh:
  • Antrian di kasir supermarket

Queue
  • Bersifat FIFO (First In First Out)
  • Elemen yang pertama masuk ke antrian akan keluar pertama kalinya
  • Dequeue adalah menguarkan satu elemen dari suatu antrian
  • Terdapat satu buah pintu masuk di ujung dan satu buah pintu keluar di ujung satunya
  • Sehingga membutuhkan variabel kepala dan ekor

Operasi dalam Queue
  • Create()
Untuk menciptakan dan menginisialisasi Queue dengan cara membuat head dan tail adalah atau sama dengan -1
  • Clear()
Untuk menghapus elemen-elemen antrian dengan cara membuat tail dan head = -1, penghapusan elemen-elemen antrian sebenarnya tidak menghapus arraynya tetapi hanya dengan mengeset indeks pengaksesannya
  • isEmpty()
Operasi ini digunakan untuk memeriksa apakah antrian masih kosong atau tidak dengan cara memeriksa nilai tail, jika tail = -1 maka antrian kosong, jika tidak maka antrian tidak kosong. Kita tidak memeriksa head, karena head adalah tanda untuk kepala dari antrian (elemen pertama yang masuk ke dalam antrian) yang tidak akan berubah-ubah pergerakannya pada antrian hingga elemen tersebut dikeluarkan. Pergerakan pada antrian terjadi dengan penambahan elemen antrian di belakang antrian, yaitu pada nilai tail
  • isFull()
Operasi ini digunakan untuk mengecek apakah antrian sudah penuh atau belum, dengan cara mengecek nilai tail, jika nilai tail >= max-1, itu berarti antrian sudah penuh
  • Enqueue(data)
Operasi ini digunakan untuk menambahkan data ke dalam antrian, penambahan elemen pada enqueue akan terjadi pada akan terjadi pada elemen di paling belakang atau selalu ditambahkan di elemen paling belakang. Penambahan elemen selalu menggerakkan variabel tail dengan cara increment counter tail
  • Dequeue()
Operasi ini digunakan untuk menghapus elemen terdepan atau elemen pertama dari antrian, dengan cara mengurangi counter tail dan menggeser semua elemen antrian ke depan. Penggeseran dilakukan dengan cara menggunakan looping

Belum ada Komentar untuk "Analisa Algoritma : Linear Data Model (Queue)"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel