TULISAN : QUEUE

MATERI QUEUE

   Queue adalah salah satu list linier dari struktur data. Queue beroperasi dengan cara First In First Out (FIFO) elemen pertama masuk merupakan elemen yang pertama keluar. Untuk penyisipan (INSERT) hanya dapat dilakukan pada satu sisi yaitu sisi belakang (REAR), sedangkan untuk penghapusan (REMOVE) pada sisi depan (FRONT) dari list.
Sebagai gambaran, cara kerja queue dapat disamakan pada sebuah antrean di suatu loket dimana berlaku prinsip ‘ siapa yang duluan antre dia yang akan pertama kali dilayani ‘ , sehingga dapat dikatakan prinsip kerja queue sama dengan prinsip sebuah antrean.

Cara pengurangan (delete) dan penambahan (added) elemen pada queue tersebut:







KESIMPULAN :
   Dapat kita simpulkan, apabila kita ingin menghapus elemen suatu antian, dapat kita rumuskan menjadi front = front + 1, kenapa? karena jika kita menghapus elemennya front nya akan terus maju bertambah satu.
   Lalu untuk penambahan elemen juga dapat kita rumuskan menjadi rear = rear + 1, kenapa? karena, setiap elemen di masukkan/di insert maka rear nya akan terus bertambah satu, yang tadi nya rear nya 5 jika kita menambahkan satu elemen maka rear nya akan menjadi 6.

CIRCULAR QUEUE

Circular Queue sama seperti Queue biasanya, perbedaannya jika kita menghapus suatu elemen yang berada didepan maka pada saat kita memasukkan elemen baru kita harus menempatkannya dibelakang, tidak boleh didepan, harus mengikuti arus circular nya (lingkaran).  Bentuk nya :
Contoh :

1. Buat dahulu antrian sebanyak 5 antrian :


2.  Masukkan elemen menggunakan perintah INSERT, masukkan A,B,C:



3. Menghapus elemen menggunakan perintah REMOVE, maka otomatis akan menghapus        elemen yang berada di depan :

4. Lalu masukkan elemen baru D dan E, maka posisi elemen baru bukan didepan, melainkan    mengisi yang kosong dahulu dibelakang :

5. Setelah itu menghapus elemen (Q) dimana elemen Q itu adalah B dan C :

6. Lalu masukkan elemen F, posisi elemen F ini berada didepan karena dibelakang sudah  penuh dan karena circular maka posisi nya akan terus berputar : 
7. Lalu remove(Q) yaitu elemen D :

8. Setelah dihapus, maka masukkan elemen G, H dan K :

9. Lalu kita ingin memasukkan elemen L, akan tetapi pada antrian sudah penuh maka akan terjadi OVERFLOW dimana antrian sudah full dan tidak bisa ditambahkan lagi :

10. Hapus 2 elemen yaitu elemen E dan F :

11. Masukkan elemen L, karena sebelumnya sudah dihapus maka elemen L sudah dapat  masuk:
12. Setelah itu hapus 2 elemen lagi yaitu elemen G dan H :

13. Hapus 2 elemen lagi, yaitu elemen K dan L : 

14. Lalu ingin meghapus lagi dengan kondisi antrian sudah kosong, maka akan terjadi UNDERFLOW, dimana sudah tidak dapat dihapus lagi karena antrian sudah kosong : 


SUMBER :
materi staffsite Pak Aqwam Rosadi

Komentar

Postingan Populer