QUEUE DAN STACK

QUEUE
Queue biasa disebut antrian pada struktur data. Queue adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung yang disebut sisi belakang (rear), dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain. Pada tumpukan menggunakan prinsip “masuk terakhir keluar pertama” atau “Last In First Out”(LIFO), maka pada antrian prinsip yang digunakan adalah prinsip “masuk pertama keluar pertama” atau “First In First Out” (FIFO). Seperti  halnya  stack,  queue  juga  dapat  direpresentasikan  sebagai  array  (static queue) maupun linked list (dynamic queue).

Operasi-operasi Queue :

a. Create

Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1

b. IsEmpty
Untuk memeriksa apakah Antrian sudah penuh atau belum.
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah.
Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail.

c. IsFull
Untuk mengecek apakah Antrian sudah penuh atau belum
Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh.

d. Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang. Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu

e. Dequeue
Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 penggeseran dilakukan dengan menggunakan looping.

f. Clear
Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1 penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca.

g. Tampil
Untuk menampilkan nilai-nilai elemen Antrian menggunakan looping dari head s/d tail


Stack merupakan struktur data dimana semua penyisipan dan penghapusan entri dibuat pada salah satu ujung yang disebut TOP(puncak)tumpukan. Menggunakan prinsip kerja LIPO.
Operasi Dasar pada Stack diantaranya :
1. Inisialisasi (Create Stack) : Untuk menginisialisasi tumpukan, menyiapkan tempat yang nantinya digunakan untuk menyimpan tumpukan.
2. Cek Kosong (Isempty)
3. Cek Penuh
4. Tambah stack (PUSH)
5. Ambil dari tumpukan (POP)

0 komentar:

Post a Comment