QUEUE Pertemuan ke-6 T 0026.

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

Dr. Anto Satriyo Nugroho, M.Eng
Pertemuan 5 Struktur Data
STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA (8.1) double linked list non circular
LINKED LIST.
Linked List Pembuatan Simpul Awal.
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
Queue.
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
Algoritma dan Struktur Data
STACK (Tumpukan).
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
QUEUE (antrian).
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
Queue.
STRUKTUR DATA (6) single linked list non circular
Single Linked List Yuliana Setiowati, S.Kom.
Queue.
LINKED LIST by Yohana N.
Algorithm and Data Structures.
Mempelajari tipe data queue dan bagaimana menggunakan fungsi insert, remove, is_empty dan is_full. Mempelajari bagaimana mengimplementasikan queue dengan.
Linear Data Structures (Queue)
Implementasi Queue Implementasi queue lebih sulit daripada stack. Pada stack, penambahan dan penghapusan data hanya dilakukan pada satu ujung saja, sehingga.
Tenia Wahyuningrum, S.Kom. MT
Circular Queue.
STRUKTUR DATA (4) array stack dan queue
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
STRUKTUR DATA QUEUE.
STRUKTUR DATA Queue atau Antrian.
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
Pertemuan 8 Stack dengan Array
Pertemuan 9 Stack dengan Linked-list
1 Pertemuan 7 Queue dengan Linked-list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Universitas Budi Luhur
Program Studi Teknik Informatika
BAB3 QUEUE 6.3 & 7.3 NESTED LOOP.
Defri Kurniawan ADT STACK Defri Kurniawan
Program Studi Teknik Informatika
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Defri Kurniawan QUEUE Defri Kurniawan
Queue (Antrian).
Struktur Organisasi Data 2
Queue.
STRUKTUR DATA QUEUE (Antrian)
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
Program Studi Teknik Informatika
Program Studi Teknik Informatika
STRUKTUR DATA Chapt 5 : QUEUE Oleh : Yuli Praptomo PHS, S.Kom.
Algoritma dan Struktur Data
Program Studi Teknik Informatika
Program Studi Teknik Informatika
STACK (Tumpukan).
Stack.
Algoritme dan Stuktur Data
Linked List 6.3 & 7.3 NESTED LOOP.
Pertemuan 6 Queue dengan Array
Algoritma dan Struktur Data
Queue (Antrian).
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
Algoritma dan Struktur Data
Pertemuan – 7 Antrian / Queue (Bab 4).
Queue Algoritma dan Struktur Data.
QUEUE (Antrian).
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

QUEUE Pertemuan ke-6 T 0026

Queue D C B A Bentuk khusus dari ordered list Data di insert di akhir list Data di delete di awal list A R F B C D

Elemen paling belakang Queue sebagai ADT Misal, queue Q terdiri dari n elemen Q = ( ao , a1 , … , ai , ai+1 , …, an-1 ) Elemen paling depan FRONT Elemen paling belakang REAR ao : elemen yang diinsert pertama kali an-1 : elemen yang diinsert terakhir

Representasi Queue Yang paling sederhana : array 1-D Disebut Sequential Queue 2 variabel indikator REAR dan FRONT #define MAX_QUEUE_SIZE 100 eltype queue[MAX_QUEUE_SIZE]; int rear = -1; int front = -1;

Aplikasi Queue dengan Array 1-D front rear Q[0] Q[1] Q[2] Q[3] Comments -1 Queue kosong J1 Masuk Job 1 1 J2 Masuk Job 2 2 J3 Masuk Job 3 Hapus Job 1 Hapus Job 2

Sequential Queue : Add Queue void addq (int *rear, eltype item) { if (*rear == MAX_QUEUE_SIZE-1) { printf (“Queue penuh\n”); return; } queue[++*rear] = item; /* indeks rear di-increment sebelum insert data baru */

Sequential Queue : Delete Queue eltype deleteq(int *front, int rear){ if (front == rear) { printf (“queue empty\n”); return; } return queue(++*front); /*indeks front di-increment sebelum passing nilai yang disimpan di queue */

Kekurangan Sequential Queue Setelah beberapa data insert dan delete dari queue, REAR dan FRONT bergerak ke kanan, hingga REAR mencapai MAX_QUEUE_SIZE-1. Jika REAR mencapai maksimum, queue akan dideteksi PENUH, meskipun beberapa lokasi di depan FRONT kosong. Solusi : elemen queue harus digeser ke depan shg FRONT=-1 dan REAR != MAX_QUEUE_SIZE-1 Tetapi perlu waktu untuk menggeser elemen satu persatu. Lebih baik gunakan circular array untuk queue

Circular Queue : Empty Empty : front = rear [0] [1] [2] [3] [4] [5]

Circular Queue : Full Full : front = (rear + 1) % MAX_QUEUE_SIZE [0] [1] [2] [3] [4] [5] J4 J5 J6 J7 J8 F R [0] [1] [2] [3] [4] [5] J1 J2 J3 J4 J5 F R Full : front = (rear + 1) % MAX_QUEUE_SIZE

Circular Queue : Insert [0] [1] [2] [3] [4] [5] J1 F R R [2] [3] J2 [1] J1 [4] [0] [5] F Insert : REAR berubah, FRONT tetap *rear = (*rear+1) % MAX_QUEUE_SIZE

Circular Queue : Delete [0] [1] [2] [3] [4] [5] J4 J5 J6 J7 J8 F R R [0] [1] [2] [3] [4] [5] J4 J5 J6 J7 J8 F Delete : FRONT berubah, REAR tetap *front = (*front+1) % MAX_QUEUE_SIZE

Circular Queue : Add Queue void addq(int front,int *rear, eltype item){ *rear = (*rear+1)%MAX_QUEUE_SIZE; if (front = *rear) { printf (“Queue full\n”); return; } queue[*rear] = item;

Circular Queue : Delete Queue eltype deleteq (int *front, int rear){ eltype item; if (*front == rear) { printf (“Queue empty\n”); return; } *front = (*front+1)%MAX_QUEUE_SIZE; return queue[*front];

Implementasi Queue dengan Single Linked-List front nama ip link nama ip link nama ip link Tono 3.8 Dewi 4.0 Ani 3.7 NULL rear Typedef struct elqueue { char name[10]; float ip; struct elqueue *link; }