Queue.

Slides:



Advertisements
Presentasi serupa
Double Linked List.
Advertisements

Queue (Antrian).
Single linked list.
STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA (8.1) double linked list non circular
QUEUE II. IMPLEMENTASI QUEUE
QUEUE.
Mata Kuliah : Struktur Data Pertemuan : V
LINKED LIST Single Linked List.
LINKED LIST.
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
Algoritma dan Struktur Data
STACK (Tumpukan).
Pointer dalam Stack.
STACK.
Queue.
Queue.
STRUKTUR DATA (6) single linked list non circular
Queue.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Queue)
Linear Data Structures (Stack)
Circular Queue.
Struktur Data List Linear : Linked List (Single Linkedlist)
LINKED LIST.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Struktur Data (Data Structure) – IS 2313
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
STRUKTUR DATA QUEUE.
STRUKTUR DATA Queue atau Antrian.
Pertemuan : Algoritma & Struktur Data
STACK.
Queue By Serdiwansyah N. A. 1. Queue Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain.
Double linked list non circular
STRUKTUR DATA Linked List Oleh : Yuli Praptomo PHS, S.Kom.
Program Studi Teknik Informatika
Single Linked List.
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Program Studi Teknik Informatika
Defri Kurniawan QUEUE Defri Kurniawan
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Queue (Antrian).
Struktur Organisasi Data 2
Queue.
STRUKTUR DATA QUEUE (Antrian)
STACK (Tumpukan).
Program Studi Teknik Informatika
Program Studi Teknik Informatika
STRUKTUR DATA Chapt 5 : QUEUE Oleh : Yuli Praptomo PHS, S.Kom.
Struktur Data Khoiriya Latifa, M.Kom.
Program Studi Teknik Informatika
Program Studi Teknik Informatika
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
Algoritme dan Stuktur Data
STRUKTUR DATA (7) single linked list circular
Queue(Antrian).
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
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.
STRUKTUR DATA (8.2) double linked list circular
Double Linked List.
TIF 4201 Algoritma Dan Struktur Data Abstract Data Type
STRUKTUR DATA Teknik Informatika S1
Queue Algoritma dan Struktur Data.
QUEUE (Antrian).
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
SINGLE LINKED LIST (SLL)
Transcript presentasi:

Queue

Queue (Antrian) Contoh antrian : Antrian printer Antrian tiket bioskop

Pengertian Queue (antrian) adalah struktur data dimana proses pengambilan dan penambahan element dilakukan pada ujung yang berbeda. Queue mengikuti konsep FIFO. FIFO (First In First Out) : elemen yang pertama masuk akan menjadi elemen yang pertama kali keluar.

Enqueue dan Dequeue proses pengambilan element pada queue. 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 enqueue dequeue

Front dan Rear Front : pointer bantu yang digunakan untuk menunjuk element yang paling depan. Rear : pointer bantu yang digunakan untuk menunjuk element yang paling belakang. Queue Enqueue Rear Dequeue Front

Queue berguna untuk menyimpan pekerjaan yang tertunda.

Gambaran Proses Queue (Antrian)

Operasi pada Queue Deklarasi Inisialisasi Cek kosong Cek penuh Penambahan Pengambilan Pengaksesan

(1) Deklarasi Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat. Langkah yang harus dilakukan adalah : Deklarasi struct Deklarasi struktur data (menggunakan array atau linked list) Deklarasi pointer front dan rear

Deklarasi Queue dengan Linked-list Pembuatan struct Tnode struct TNode{ int data; TNode *next; }; 2. Pembuatan variabel head, tail, front dan rear bertipe TNode. TNode head,tail,front, rear;

(2) Inisialisasi Pada Linked List: Proses inisialisasi dilakukan dengan memberikan nilai awal pada variabel head, tail front dan rear dengan nilai null. void inisialisasi(){ head=tail=front=rear=NULL; }

(3) Cek Kosong Operasi yang digunakan untuk mengecek kondisi queue dalam keadaan kosong. Pada linked list : dapat menggunakan pengecekan front atau rear jika nilainya null berarti queue kosong. Operasi ini harus dapat mengembalikan nilai true jika queue kosong dan false jika sebaliknya.

Program “isEmpty” Queue (Linked List) bool isEmpty(){ return (rear==NULL); }

(6) Operasi Dequeue Dequeue adalah proses pengambilan data pada queue. Ketika dequeue terjadi, element pada queue akan berkurang, yaitu element yang pertama kali ditambahkan. Pada linked list : front akan menunjuk pada node yang ditunjuk oleh head setelah operasi remove.

(5) Operasi DEQUEUE...........(lanjutan) Langkah-langkah : Pengecekan queue dalam kondisi kosong dengan memanggil method isEmpty(). Data dari element yang diambil akan menjadi return value (nilai yang dikembalikan) Perubahan nilai pada variabel front dan rear

Program Dequeue (Linked List) int dequeue(){ if(!isEmpty()){ int tampungData=front->data; removeFirst(); front=head; return tampungData; }else{ cout<<"queue kosong"; return -1; }

Program removeFirst void removeFirst(){ TNode *hapus; if (isEmpty()==0){ if(head!=tail){ hapus = head; head = head->next; delete hapus; } else { head=tail=NULL; } cout<<"terhapus\n"; } else cout<<"Masih kosong\n";

(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 linked list : rear akan menunjuk ke node baru yang ditunjuk oleh tail.

(6) Operasi Enqueue...........(lanjutan) Langkah-langkah : Penambahan element baru pada bagian belakang queue. Perubahan posisi rear.

Program Enqueue (Linked List) void enqueue(int baru){ addLast(baru); rear=tail; front=head; }

Program addLast void addLast(int databaru){ TNode *baru,*bantu; baru = new TNode; baru->data = databaru; baru->next = NULL; if(isEmpty()){ head=baru; tail=baru; tail->next = NULL; } else { tail->next = baru; cout<<"Data masuk\n";

(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 (Linked List) int peekQueue(){ return front->data; }

Contoh Penerapan Queue mailbox dalam komunikasi antar proses simulasi dan modeling (misalnya simulasi sistem pengendali lalu lintas udara) dalam memprediksi performansi Waiting Line pada Sistem Operasi