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
Posting Komentar