4 QUEUE (ANTREAN) BAB Definisi Queue (antrean)

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

Dr. Anto Satriyo Nugroho, M.Eng
Pertemuan 5 Struktur Data
bentuknya, yang dapat berubah pada saat runtime.
PERTEMUAN KE-7 Kamis, 14 Oktober QUEUE (Antrian) Queue (Antrian) adalah suatu bentuk khusus dari List Linier dengan operasi penyisipan (insertion)
List, Stack & Queue (1) Dr. Anto Satriyo Nugroho, M.Eng
Kuliah Ke-4 Antrian / Queue (Bab 4)
STRUKTUR DATA PERTEMUAN 6
QUEUE.
Sekolah Tinggi Manajemen Informatika dan Komputer
Queue.
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
QUEUE (antrian).
STACK.
Queue.
Antrian (Queue) Membentuk Antrian 5 4 Depan Belakang.
PERTEMUAN KE-5 Kamis, 7 Oktober Pemetaan Trianguler Array ABCDE FGHI JKL MN O A B C D E F G H I J K L M N O T(1,1)  S(1)T(2,1)  S(N+1) T(1,2)
Queue.
QUEUE (ANTRIAN).
Queue.
QUEUE / ANTRIAN Queue / antrian adalah sebuah bentuk list dengan operasi penyisipan hanya dapat dilakukan pada satu sisi yang disebut belakang (REAR) dan.
Struktur Data List Linear : Linked List (Double Linkedlist)
Dasar Struktur Data.
Mempelajari tipe data queue dan bagaimana menggunakan fungsi insert, remove, is_empty dan is_full. Mempelajari bagaimana mengimplementasikan queue dengan.
Linear Data Structures (Queue)
Linear Data Structures (Stack)
Circular Queue.
BAB I TIPE DATA.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer
STRUKTUR DATA Queue atau Antrian.
BAB 3 STACK (TUMPUKAN).
STACK.
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
Queue By Serdiwansyah N. A. 1. Queue Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain.
Program Studi Teknik Informatika
QUEUE Denny Agustiawan,M.pd
Program Studi Teknik Informatika
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
STACK Denny Agustiawan,M.pd
STRUKTUR DATA – Pertemuan 6
Struktur Organisasi Data 2
Queue.
STRUKTUR DATA QUEUE (Antrian)
QUEUE (ANTRIAN ) Disusun Oleh : Kelompok 2 Siti Hajar ( )
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
1 PENDAHULUAN BAB PENGANTAR STRUKTUR DATA
QUEUE Pertemuan ke-6 T 0026.
MATAKULIAH : STRUKTUR DATA
Program Studi Teknik Informatika
UJIAN TERDIRI ATAS 50 SOAL
Circular QUEUE 6.3 & 7.3 NESTED LOOP.
STACK / TUMPUKAN Struktur Data.
Queue(Antrian).
STACK & QUEUE Struktur Data.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Pertemuan 6 Queue dengan Array
Algoritma dan Struktur Data
STRUKTUR DATA LINKED LIST
DEQUE Deque (Deck atau Dequeue) adalah suatu list linier atau linier list, yang penambahan dan penghapusan elemennya dapat dilakukan pada kedua sisi ujung.
STRUKTUR DATA QUEUE.
Pertemuan – 7 Antrian / Queue (Bab 4).
BAB 3 STACK (TUMPUKAN).
Queue Algoritma dan Struktur Data.
QUEUE (Antrian).
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Transcript presentasi:

4 QUEUE (ANTREAN) BAB Definisi Queue (antrean) Queue (antrean) adalah suatu bentuk khusus dari list linier (daftar linier), dengan operasi penyisispan (insertion) hanya diperbolehkan pada salah satu sisi yaitu sisi belakang yang disebut Rear dan operasi penghapusan (deletion) hanya diperbolehkan padasis depan yang disebut Front dari list. Kita menggunakan notasi Noel (q) untuk menyatakan jumlah elemen di dalam antrean (q). Noel mempunyai harga integer. Operasi pemasukan disebut insertion dan operasi penghapusan disebut remove Queue mempunyai sifat FIFO (First In First Out).

Antrean Q = [ Q1, Q2, … , Qt ] Kita notasikan bagian depan dari antrean Q sebagai Front(q) dan bagian belakang sebagai Rear(q) sehingga untuk antrean Q = [ Q1, Q2, … , Qt ] adalah : Front(q) = Q1 Rear(q) = Qt Noel(q) = t Sebagai contoh untuk memperjelas kerjanya antrean, kita perhatikan sederetan operasi berikut ini, kita mulai dengan antrean hampa Q. Antrean hanpa Q = [ ] dapat disajikan pada gambar berikut Front(q) = tidak terdefinisi Rear(q) = tidak terdefinisi Noel(q) = 0

Lalu kita insert elemen A, diperoleh Q = [ A ] Front(q) = A Rear(q) = A Noel(q) = 1 Lalu kita insert kembali elemen B, diperoleh Q = [ A B ] A B Rear(q) = B Noel(q) = 2 Dan kita remove (hapus) sebuah elemen dari Q maka diperoleh Q = [ B ]

B Front(q) = B Rear(q) = B Noel(q) = 1 Demikian seterusnya kita dapat melakukan serangkaian Insert dan delete (remove) yang lainnya. Suatu underflow dapat terjadi, apabila kita melakukan penghapusan pada antrean hampa. Antrean dikatakan beroperasi dalam cara First In First Out. disebut demikian karena elemen pertama yang masuk merupakan elemen yang pertama keluar. Dalam kejadian sehari-hari dapat kita lihat pada orang yang menunggu pada antrean suatu bank, orang pertama yang berada di dalam barisan tersebut akan merupakan orang pertama yang akan mendapat pelayanan.

Operasi dasar pada antrean Ada 4 operasi dasar yang dapat dilakukan pada struktur data antrean, yaitu : Create (antrean) Isempty (antrean) Insert (elemen, antrean) Remove (antrean) Misalnya antrean Q = [ Q1, Q2, … , Qnoel ], maka ; create(q) adalah suatu operator untuk membentuk dan menunjukkan suatu antrean hamap Q Front(create(q)) = tidak terdefinisi Rear(create(q)) = tidak terdefinisi Noel(Create(q)) = 0

Isempty (antrean) Isempty (Q) adalah operator yang menentukan apakah antrean Q1 hampa atau tidak. Operand dari operator ini merupakan antrean, sedangkan hasilnya merupakan tipe data boolean, berarti : Isempty (q) = true, jika Q hampa, maka Noel = 0 Isempty (q) = false, jika sebaliknya Insert (elemen, antrean) Insert (E, Q) adalah operator yang menginsert elemen E ke dalam antrean Q. Elemen E ditempatkan dibagian depan dari antrean. Hasil dari operasi ini adalah antrean yang lebih panjang. Remove (antrean) Remove (q) adalah operator yang menghapus elemen bagian depan dari antrean Q. Hasilnya merupakan

antrean yang lebih pendek. Jika Noel(q) = 0, maka remove (Q) memberikan suatu kondisi error, yaitu suatu underflow Penyajian dari Antrean Antrean dapat disajikan di dalam komputer dalam berbagai cara. Biasanya dengan menggunkan one way list (linier linked list) ataupun menggunakan array. Kalau tidak disebutkan lain, maka antrean kita sajikan dalam array queue, dengan dilengkapi 2 variabel petunjuk front, berisi lokasi dari elemen depan antrean dan rear berisi lokasi dari elemen belakang. Gambar berikut menunjukkan bagaimana menyajikan suatu antrean dalam sebuah array queue dengan N elemen. gambar ini juga menunjukkan bagaimana melakukan insert dan remove elemen.

Front = 1 Rear = 4 1 2 3 4 5 6 7 … N queue (b) Front = 2 Rear = 4 (c) Front = 2 Rear = 6 (d) Front = 3 AAA BBB CCC DDD BBB CCC DDD BBB CCC DDD EEE FFF CCC DDD EEE FFF

Gambar (a) menunjukkan bahwa antrean mula-mula terdiri atas elemen AAA (sebagai depan), BBB, CCC, dan DDD (sebagai belakang). Gambar (b) menujukkan keadaan setelah penghapusan elemen. Disini elemen depan yaitu AAA dihapus. Gambar (c) menggambarkan keadaan setelah penambahan berurut-urut elemen EEE dan FFF. Gambar (d) elemen BBB dihapus. Dapat kita lihat bahwa pada setiap kali penghapusan, nilai lokasi front akan bertambah 1 untuk setiap kali pemasukan elemen, nilai rear akan bertambah 1. Hal ini berakibat bahwa setelah pemasukan elemen ke - n ( berawal dari antrean hampa), maka lokasi queue (n) telah diduduki. Disini mungkin saja tidak sebanyak n elemen ada didalam antrean (karena sudah dilakukan beberapa penghapusan). Untuk Melakukan pemasukan berikutnya, yakni memasukkan Elemeni ITEM, kita dapat menggunakan lokasi elemen (1).

A B Demikian seterusnya. Dalam hal ini kita menggunkan array sirkular, yakni bahwa queue (1) datang setelah queue n di dalam array. Berdasarkan asumsi ini, maka rear adalah 1. Setara yang sama jika front = n dan kita akan melakukan penghapusan, maka sekarang front adalah 1, bukan n + 1. Gambar berikut memperlihatkan antrean yang disimpan dalam array dengan 5 lokasi memori, sebagai array sirkular Pada awal hampa queue Front = 0 Rear = 0 1 2 3 4 5 A dan Bdimasukkan Front = 1 Rear = 2 A B

A B C D E D E F D E C, D dan E dimasukkan queue Front = 1 Rear = 5 1 2 3 4 5 A, B, dan C dihapus Front = 4 F dimasukkan Rear = 1 A B C D E D E F D E

F E F G H E F G H D dihapus queue Front = 5 Rear = 1 1 2 3 4 5 1 2 3 4 5 G dan H dimasukkan Rear = 3 E dihapus Front = 1 F E F G H E F G H

Sekarang kita akan menampilkan algoritma Qinsert yang dimaksudkan untuk memasukkan data ke dalam suatu antrean. Yang mula-mula kita lakukan dalam algoritma adalah memeriksa kemungkinan terjadi overflow, yaitu dengan melihat apakah antrean tersebut terisi penuh. Algoritma kedua adalah Qdelete yang dimaksudkan untuk menghapus elemen depan dari antrean. Yang mula-mula kita lakukan adalah memeriksa kemungkina terjadi underflow, yaitu dengan melihat apakah antrean tersebut kosong.

Algoritma Qinsert : {Apakah antrean penuh} jika front =1 & rear = n, atau jika front = rear + 1, maka write : overflow, return Jika front = null maka front = 1 rear = 1 dalam hal lain jika rear = n maka rear = 1 rear := rear + 1 Queue (rear) := data (masukkan elemen baru)

Algoritma Qdelete Qdelete (Queue, n, front, rear, data) {Apakah antrean kosong} jika front := null maka write : underflow return Data = queue (front) (front mendapat nilai baru). jika front = rear, maka (antrean memuat hanya 1 elemen) front := null rear := null dalam hal lain jika front = n, maka front := 1 front := front + 1 Return