Queue Operasi pada Queue 1 2 3 4



![Program Deklarasi Queue (Array) int front=0; int rear=-1; int jumlah_item=0; int array_size=10; char antrian[10]; Program Deklarasi Queue (Array) int front=0; int rear=-1; int jumlah_item=0; int array_size=10; char antrian[10];](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-4.jpg)






![Program Dequeue (Array) int dequeue(){ if(!is. Empty()){ int temp=antrian[front]; for(int i=0; i<jumlah_item-1; i++) antrian[i]=antrian[i+1]; Program Dequeue (Array) int dequeue(){ if(!is. Empty()){ int temp=antrian[front]; for(int i=0; i<jumlah_item-1; i++) antrian[i]=antrian[i+1];](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-11.jpg)


![Program Enqueue (Array) void enqueue(int data){ if(is. Full()){ cout<<"queue penuh"; } jumlah_item++; antrian[++rear]=data; } Program Enqueue (Array) void enqueue(int data){ if(is. Full()){ cout<<"queue penuh"; } jumlah_item++; antrian[++rear]=data; }](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-14.jpg)

![Program Peek (Array) int peek(){ return antrian[front]; } Program Peek (Array) int peek(){ return antrian[front]; }](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-16.jpg)




- Slides: 20

Queue

Operasi pada Queue 1. 2. 3. 4. 5. 6. Deklarasi dan inisialisasi Cek kosong Cek penuh Penambahan Pengambilan Pengaksesan

(1) Deklarasi dan inisialisasi • Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat. • Langkah yang harus dilakukan adalah : – 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 banyak item yang disimpan pada queue.
![Program Deklarasi Queue Array int front0 int rear1 int jumlahitem0 int arraysize10 char antrian10 Program Deklarasi Queue (Array) int front=0; int rear=-1; int jumlah_item=0; int array_size=10; char antrian[10];](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-4.jpg)
Program Deklarasi Queue (Array) int front=0; int rear=-1; int jumlah_item=0; int array_size=10; char antrian[10];

(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 sebaliknya.

Program “is. Empty” Queue (Array) bool is. Empty(){ return jumlah_item==0; }

(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 (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 sebaliknya.

Program “is. Full” (Array) bool is. Full(){ return (jumlah_item==array_size); }

(5) Operasi Dequeue • Dequeue adalah proses pengambilan data pada queue. • Ketika dequeue terjadi, element pada queue akan berkurang, yaitu element yang pertama kali ditambahkan. • Pada Array : akan terjadi pergeseran data dari belakang ke depan. Rear berkurang 1.

(5) Operasi POP. . . (lanjutan) • Langkah-langkah : 1. Pengecekan queue dalam kondisi kosong dengan memanggil method is. Empty(). 2. Data dari element yang diambil akan menjadi return value (nilai yang dikembalikan) 3. Perubahan nilai pada variabel front dan rear
![Program Dequeue Array int dequeue ifis Empty int tempantrianfront forint i0 ijumlahitem1 i antrianiantriani1 Program Dequeue (Array) int dequeue(){ if(!is. Empty()){ int temp=antrian[front]; for(int i=0; i<jumlah_item-1; i++) antrian[i]=antrian[i+1];](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-11.jpg)
Program Dequeue (Array) int dequeue(){ if(!is. Empty()){ int temp=antrian[front]; for(int i=0; i<jumlah_item-1; i++) antrian[i]=antrian[i+1]; rear--; jumlah_item--; return temp; } else{ cout<<"queue kosong"; return rear; } }

(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. – Pada array : rear akan di-increment.

(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 memanggil method is. Full(). Jika nilai yang dikembalikan true maka bisa ditampilkan pesan kesalahan
![Program Enqueue Array void enqueueint data ifis Full coutqueue penuh jumlahitem antrianreardata Program Enqueue (Array) void enqueue(int data){ if(is. Full()){ cout<<"queue penuh"; } jumlah_item++; antrian[++rear]=data; }](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-14.jpg)
Program Enqueue (Array) void enqueue(int data){ if(is. Full()){ cout<<"queue penuh"; } jumlah_item++; antrian[++rear]=data; }

(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 penghapusan data yang ada hanya pengaksesan (pengembalian data saja).
![Program Peek Array int peek return antrianfront Program Peek (Array) int peek(){ return antrian[front]; }](https://slidetodoc.com/presentation_image/36dee2b2504e23e94e6047d4dc3b5cfc/image-16.jpg)
Program Peek (Array) int peek(){ return antrian[front]; }

PRIORITY QUEUE dengan ONE-WAY LIST Representasi antrian berprioritas antara lain dilakukan dengan one-way list, sbb: a. Setiap simpul memiliki 2 field, yaitu: INF (informasi)dan. PRN (nomor prioritas) b. Simpul X mendahului simpul Y dalam list : - jika prioritas X lebih tinggi daripada prioritas Y - jika prioritas keduanya sama, tetapi X lebih dulu masuk ke dalam antrian.

PRIORITY QUEUE with One-Way List INFO PRN 1 AAA 2 2 BBB 4 3 CCC 4 4 DDD 1 5 EEE 2 6 FFF 5 7 GGG 4 8 HHH 2 Urutan kedatangan STAR T 4 9 10 11 12

PRIORITY QUEUE with One-Way List START DDD 1 HHH AAA 2 2 BBB EEE 2 4 CCC GGG 4 4 FFF 5 X

Tugas • Buatlah simulasi antrian teller di bank. Apabila bank mempunyai 2 teller yang bertugas melayani nasabah. Setiap ada nasabah baru masuk akan mengambil nomer antrian yang disesuaikan antrian paling pendek antara teller 1 atau teller 2. apabila jumlah antrian sama maka akan mengantri di teller 1. Kalau misalnya nasabah mempunyai priority card maka nasabah tersebut harus didahulukan.
Operasi pada queue
Operasi dasar pada queue
Struct queue in c
Fungsi sistem file
Input restricted deque example
Suatu kumpulan dari nilai dan operasi-operasi disebut
Belanja terakru
Konsep, penjadwalan, dan operasi di process sistem operasi
Manajemen proses pada sistem operasi
Logical memory
Operasi pada vektor
Hitung wr.wb
Operasi aritmatika pada pengolahan citra
Contoh soal round robin
Sifat vektor tegak lurus
Graf
Pecahan ke biner
Geometri
Pengaturan proses pada sistem operasi
Arsitektur firewall pada sistem operasi linux adalah
Contoh penjadwalan jangka pendek pada sistem operasi