QUEUE Dalam Bahasa C#

Pengertian Queue

A B C D E

QUEUE (Antrian) adalah list linier yang dikenali elemen pertama (HEAD) dan elemen terakhirnya (TAIL), aturan penyisipan dan penghapusan elemennya didefinisikan sebegai berikut :

  • Penyisipan selalu dilakukan setelah elemen terakhir
  • Penghapusan selalu dilakukan pada elemen pertama
  • Satu elemen dengan yang lain dapat diakses melalui informasi NEXT

Struktur data ini banyak dipakai dalam informatika, misalnya untuk merepresentasi:

  • Antrian job yang harus ditangani oleh sistem operasi
  • Antrian dalam dunia nyata

Secara lojik, sebuah QUEUE dapat digambarkan sebagai list linier yang setiap elemennya adalah

Type ElmtQ : < Info : InfoType, Next : address>

InfoType adalah sebuah type terdefinisi yang menentukan informasi yang disimpan pada setiap elemen queue, dan address adalah “alamat” dari elemen. Alamat elemen pertama (HEAD) dan elemen terakhir (TAIL) dicatat.

Jika Q adalah Queue dan P adalah address, penulisan untuk Queue adalah : Head(Q),Tail(Q),Info(HEAD(Q)),Info(TAIL(Q))

Queue (antrian) hampir mirip dengan stack, tapi data yang masuk pertama kali akan keluar pertama kali dari Queue.

FIFO (First In First Out)

A B C D E

Queue dapat disajikan baik dengan Array maupun dengan struct. Pada Array, stack ataupun queue yang disajikan bersifat statis. Ini disebabkan karena jumlah maksimal data pada array sudah ditentukan sejak awal.

lKeterangan :

FRONT = HEAD

REAR = TAIL

Fitur dasar Queue

Seperti Stack, Queue juga daftar memerintahkan elemen tipe data yang sama.Antrian FIFO (First Out Pertama) struktur. Setelah elemen baru dimasukkan ke dalam Antrian, semua elemen dimasukkan sebelum elemen baru dalam antrian harus dihilangkan, untuk menghilangkan unsur baru. Mengintip () fungsi sering digunakan untuk mengembalikan nilai elemen pertama tanpa dequeuing itu.

Operasi pada Queue

Dalam penyajiannya queue, ada 2 proses yang terjadi, yaitu menambahkan elemen (Enqueue) dan mengurangi elemen (Dequeue). Pada proses Enqueue, perlu adanya pengecekan data yang di-enqueue melebihi jumlah maksimal array atau tidak.

Selain operasi dasar di atas, ada pula operasi-operasi lain yang dapat dilakukan terhadap sebuah queue yaitu :

  1. Operasi pemeriksaan queue kosong (fungsi kosong)
  2. Operasi pemeriksaan queue penuh (fungsi penuh).
  3. Operasi inisialisasi queue (fungsi inisialisasi)

Implementasi Antrian dengan Array

Dalam Queue ada menambah elemen baru yang ditempatkan di bagian belakang antrian dan menghapus elemen yang terletak di bagian depan antrian. Operasi penambahan elemen baru dilakukan karena tidak ada pembatasan banyaknya elemen dari suatu antrian. Untuk menghapus elemen, harus dilihat apakah antrian dalam keadaan kosong atau tidak. Karena tidak mungkin menghapus elemen dari suatu antrian yang sudah kosong.

Contoh deklarasi antrian :

#define MaXQUEUE 100;
Typedef int ItemType;
Typedef struct {
Int Count;
Int Front;
Int Rear;
ItemType Item[MAXQUEUE];
} Queue;

Front menunjukkan item yang paling depan, yaitu elemen yang akan dihapus jika dilakukan operasi penghapusan. Setelah melakukan penghapusan, lalu melakukan increment pada indeks Front, sehingga indeks menunjuk pada posisi berikutnya. Jika indeks ini jatuh pada angka tertinggi, yaitu angka paling maksimum dari array (N), maka harus melakukan setting ulang ke 0.

Array Item[0:N-1] berisi N item yang merupakan isi dari antrian. Berada pada posisi 0:N-1 dimana pada posisi ini dapat diindikasikan dua pengenalm yaitu Front dan Rear. Count menunjukkan posisi dimana setelahnya dapat dimasukkan item berikutnya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s