Senin, 04 Mei 2015

PENGANTAR STRUKTUR DATA



Queue (Antrean)
Struktur Data Antrean (Queue) adalah suatu bentuk khususdari List Linier dengan operasi penyisipan (Insertion) hanya diperbolehkan pada salah satu sisi, yang disebut sisi Belakang (Rear) dan operasi penghapusan (Deletion) hanya diperbolehkan pada sisi lainnya yang disebut sisi Depan(Front) dari List.

Prinsip Antrean : FIFO (First In First Out) atau FCFS (First Come First Serve)       “ Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu”. Jika diartikan secara harfiah, Queue berarti antrian, Queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah Enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah Dequeue.



Struktur data Queue harus memiliki operasi-operasi sebagai berikut :


EnQueue Memasukkan data ke dalam antrian Enqueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen dalam queue


 DeQueue Mengeluarkan data terdepan dari antrian
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 Menghapus seluruh antrian
Fungsi Clear berguna untuk menghapus semua elemen dalam queue dengan jalan mengeluarkan semua elemen tersebut satu per satu hingga queue kosong dengan memanfaatkan fungsi Dequeue.



 IsEmpty Memeriksa apakah antrian kosong
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 Memeriksa apakah antrian penuh
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.