• Tidak ada hasil yang ditemukan

Think Different Materi ASD 2014 pertemuan_14

N/A
N/A
Protected

Academic year: 2017

Membagikan "Think Different Materi ASD 2014 pertemuan_14"

Copied!
27
0
0

Teks penuh

(1)
(2)

Queue (Antrian)

• Contoh antrian :

Antrian printer

(3)

Pengertian

Queue (antrian) adalah struktur data

dimana proses pengambilan dan

penambahan element dilakukan pada

ujung yang berbeda.

Queue mengikuti konsep FIFO.

(4)

Enqueue dan Dequeue

1. Enqueue

proses penambahan element pada queue. 2. Dequeue

proses pengambilan element pada queue.

Penambahan dilakukan pada bagian belakang.

Sedangkan pengambilan dilakukan pada bagian depan (element yang pertama masuk).

Queue

(5)

Front dan Rear

Front : pointer bantu yang digunakan

untuk menunjuk element yang paling

depan.

(6)
(7)
(8)

Operasi pada Queue

1. Deklarasi

2. Inisialisasi

3. Cek kosong

4. Cek penuh

(9)

(1) Deklarasi

Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat.

Langkah yang harus dilakukan adalah :

Deklarasi class

Deklarasi struktur data (menggunakan array atau

linked list)

Deklarasi pointer front dan rear

Deklarasi variabel size untuk menyimpan besar

array.

Deklarasi variabel jumlah untuk mengetahui

(10)

Deklarasi Queue dengan Array

1. Pembuatan class contoh :

2. Pembuatan variabel front dan rear:

int front, rear;

3. Pembuatan variabel size :

int array_size;

(mendeklarasikan variabel bernama array_size dengan tipe integer)

4. Pembuatan variabel Array :

int antrian[];(deklarasi variabel array bernama antrian)

5. Pembuatan variabel jumlah:

(11)
(12)

(2) Inisialisasi

Merupakan proses pemberian nilai awal.

Pada Array :

1. Pembentukan obyek array beserta ukurannya.

antrian= new int[10];

(pembentukan obyek array yang memiliki 10 element, dan alamat obyek akan disimpan pada variabel bernama antrian)

2. Pemberian nilai awal pada variabel front=0 dan belakang=-1.

(13)
(14)

(3) Cek Kosong

Operasi yang digunakan untuk mengecek kondisi queue dalam keadaan kosong.

Pada array : menggunakan pengecekan

pada variabel jumlah_item. Jika nilainya = 0 berarti queue dalam kondisi kosong.

Operasi ini harus dapat mengembalikan nilai true jika queu kosong dan false jika

(15)
(16)

(4) Cek Penuh

Operasi yang hanya dapat diterapkan pada queue yang menggunakan array.

Operasi ini digunakan untuk mengecek kondisi queue dalam keadaan penuh.

Caranya : melihat nilai pada variabel jumlah item. Jika nilainya = size-1 (dimana size

adalah ukuran array) maka dapat

diindikasikan queue dalam kondisi penuh.

Operasi ini harus dapat mengembalikan nilai true jika queue penuh dan false jika

(17)
(18)

(5) Operasi Dequeue

Dequeue adalah proses pengambilan data pada queue.

Ketika dequeue terjadi, element pada queue akan berkurang, yaitu element yang pertama kali ditambahkan.

(19)

(5) Operasi POP...

(lanjutan)

Langkah-langkah :

1. Pengecekan queue dalam kondisi kosong dengan memanggil method isEmpty().

2. Data dari element yang diambil akan menjadi return value (nilai yang

dikembalikan)

(20)
(21)

(6) Operasi Enqueue

Enqueue adalah proses penambahan element pada queue.

Ketika enqueue terjadi, element pada queue akan bertambah 1.

Posisi pointer rear akan bergeser menunjuk pada element baru yang ditambahkan.

(22)

(6) Operasi Enqueue...

(lanjutan)

Langkah-langkah :

1. Penambahan element baru pada bagian belakang queue.

2. Perubahan posisi rear.

Khusus untuk array, terlebih dahulu harus dicek kondisi queue penuh dengan

(23)
(24)
(25)

(7) Operasi peek

Peek pada queue adalah proses

pengaksesan element yang ditunjuk

oleh front (yaitu element yang pertama

kali ditambahkan).

Operasi ini berbeda dengan enqueue

karena tidak disertai dengan

(26)
(27)

Contoh Penerapan Queue

mailbox

dalam komunikasi antar

proses

simulasi dan modeling (misalnya

Referensi

Dokumen terkait

Umumnya dipakai untuk menyimpan object data yang terstruktur, misal: data mahasiswa, karyawan, buku, barang, dsb... Array

Dengan memperhatikan persoalan di atas, sebenarnya simulasi ini selain berisi antrian juga berisi tumpukan, yakni pada saat sebuah mobil yang berada di 37 tengah akan

Bagaimana cara mengakses data yang alamatnya disimpan oleh variabel pointer?. Apa

Jika antrian di salah satu teller jumlahnya lebih banyak dari teller yang lain, maka akan di lakukan jockeying yaitu orang paling belakang pindah antrian (dari Teller yang

Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar. Jika data sama,

termasuk operasi yang dapat dilakukan pada data

menggunakan pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya (next), 1 field menunjuk pointer sebelumnya (prev), serta sebuah

node yang didelete memiliki 1 anak berwarna merah maka ganti warna anak tersebut menjadi hitam. • Jika proses delete tersebut