LATIHAN PERTEMUAN 9 - STRUKTUR DATA

LATIHAN PERTEMUAN 9 - STRUKTUR DATA



QUEUE


Queue/antrian adalah ordered list dengan penyisipan di satu ujung, sedang penghapusan di ujung lain. Ujung penyisipan biasa disebut rear/tail, sedang ujung penghapusan disebut front/head. Queue mengikuti aturan FIFO (Last In First Out)Implementasi dapat menggunakan array atau linked-list.
SOAL
Berikan gambaran/ ilustrasi dari kasus antrian berikut !
  1. Diketahui suatu antrian/queue dengan max=6
  2. Lakukan enqueue 4 elemen ke dalam antrian, dimanakah posisi Head dan Tall ?
  3. Kemudian lakukan dequeue 2 elemen dan antrian maka dimana posisi Head dan Tall ?
  4. Dari keadaan di atas, bagaimana kondisi ISFULL dan ISEMPITY nya ?
JAWABAN
1.  Diketahui suatu antrian/queue dengan max=6 !

2.  Lakukan enqueue 4 elemen ke dalam antrian, dimanakah posisi Head dan Tall ?
Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu
ditambahkan di elemen paling belakang

3.  Kemudian lakukan dequeue 2 elemen dan antrian maka dimana posisi Head dan Tall ?
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.

4.   Dari keadaan di atas, bagaimana kondisi ISFULL dan ISEMPITY nya ?
q  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.
q   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
Antrian di atas, nilai Tail = -1 maka Isempty

Antrian di atas, nilai Tail = 4 maka TIDAK dikatakan IsFull, karena untuk mengatakan IsFull pada suatu antrian nilai Tail harus >=MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh.

Komentar