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 !
- Diketahui suatu antrian/queue dengan max=6
- Lakukan enqueue 4 elemen ke dalam antrian, dimanakah posisi Head dan Tall ?
- Kemudian lakukan dequeue 2 elemen dan antrian maka dimana posisi Head dan Tall ?
- 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.
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
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
Posting Komentar