5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

dokumen-dokumen yang mirip
4. STACK / TUMPUKAN TEORI PENUNJANG

BAB IV QUEUE ATAU ANTREAN

QUEUE. Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan (FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR).

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar.

Lab. Teknik Informatika Struktur Data 1

STRUKTUR DATA Terttiaavini, S.Kom.,M.Kom PROGRAM STUDI SISTEM INFORMASI

Array. Array mempunyai dimensi : 1. Array Dimensi Satu (Vektor) 2. Array Dimensi Banyak. - Dimensi Dua (Matriks/Tabel) - Dimensi Tiga (Kubik).

PERTEMUAN KE-6. Pertemuan 6

Univ. Indo Global Mandiri STRUKTUR DATA

QUEUE / ANTREAN. Pertemuan 7 Yani sugiyani, M.Kom

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

BAB III QUEUE (ANTRIAN)

STRUKTUR DATA Pertemuan 6

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

Algoritma Dan Struktur Data II. Queue

S T A C K ( T U M P U K A N )

Struktur Data. Queue (Antrian)

BAB 2 LANDASAN TEORI

Double linked list. Gambar 1. Double linket list dengan empat simpul Deklarasi Double Linked List di dalam Pascal :

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Stack.

BAB 3 STACK (TUMPUKAN)

6. TREE / BINARY TREE

QUEUE (ANTRIAN) Struktur Data - Queue

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

Bab 4 Pointer dan Struktur Data Dinamik 16 BAB IV POINTER DAN STRUKTUR DATA DINAMIK TUJUAN PRAKTIKUM TEORI PENUNJANG

LOGO STRUKTUR DATA QUEUE

MODUL PRAKTIKUM STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

Pertemuan VI ANTRIAN (Queue)

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

M Queue Berprioritas. Amin Arifiyani. Struktur Data M

ANTRIAN ( QUEUE ) NAMA KELOMPOK : 1.EKA PRIHANTORO 2.FATKHUL ELEKTRIK PSH 3.RIZKY GUMILANG CR

Struktur Data Array. Rijal Fadilah S.Si

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

BAB II STACK Atau TUMPUKAN

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

1. Traversing Untuk algoritma traversing sama seperti pada single Link List

BAB II STACK (TUMPUKAN)

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

BAB IX LINKED LIST (SENARAI BERANTAI)

BAB IV Antrian(Queue)

Materi 9 : QUEUE (ANTREAN) Dosen:

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

1. Kompetensi Mengenal dan memahami struktur data Stack (tumpukan) dan Queue (antrian).

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

ALGORITMA & PEMROGRAMAN

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

Materi 8 : STACK (TUMPUKAN) Dosen:

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

STACK/TUMPUKAN. R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

Pertemuan 7. REVIEW dan QUIS

Pointer. Pengertian. Struktur Data Pascal

BAB IX LINKED LIST (SENARAI BERANTAI)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

TIF 4201 Algoritma Dan Struktur Data

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Algoritma dan Struktur Data STACK

LAPORAN PRAKTIKUM RESMI QUEUE

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)

Gambar 1. Single Linked List

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

Linked List dan Implementasinya dalam Bahasa Java

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

STRUKTUR DATA. Literatur

PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahka

Stack. Gambar 1.1 Stack

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)

KERUGIAN DAN KEUNTUNGAN LINKED LIST

Praktikum Stuktur Data [MODUL]

Algoritma dan Struktur Data. Queue

KONSEP POINTER DAN LINKED LIST

Struktur Data. Pertemuan 2

Algoritma Dan Struktur Data II

STACK (TUMPUKAN) & QUEUE (ANTRIAN) Altien Jonathan Rindengan, S.Si., M.Kom.

Algoritma Dan Struktur Data II

ALGORITMA DAN STRUKTUR DATA

Algoritma Pemrograman & Struktur Data

A. TUJUAN PEMBELAJARAN

Linked List. Bandung 2013

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

STRUKTUR DATA Pertemuan 1 s.d 8

MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Deskripsi: Senarai, Traversal

KONSEP POINTER DAN LINKED LIST

BAB 1 PENGANTAR KE STRUKTUR DATA

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

QUEUE. Struktur data ini banyak dipakai dalam informatika misalnya untuk merepresentasi: antrian job dalam sistem operasi antrian dalam dunia nyata.

Algoritma dan Struktur Data

DIKTAT KULIAH STRUKTUR DATA. Disusun oleh: Sri Primaini A.

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based

Transkripsi:

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM 1. Praktikan mengenal salah satu lagi tipe khusus dari link list yaitu queue/ antrian beserta seluruh operasi yang ada padanya. 2. Praktikan diharapkan dapat menerapkan teori mengenai single link list di dalam pembuatan program queue. 3. Praktikan dapat menjelaskan jenis-jenis queue. TEORI PENUNJANG 5.1. Pengertian Queue (Antrian) Queue / Antrian adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada satu ujung (disebut dengan sisi belakang atau rear) dan penghapusan atau pengambilan elemen dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Antrian menggunakan prinsip Pertama Masuk Pertama Keluar First In First Out (FIFO). Dengan kata lain urutan masuk sama dengan urutan keluar. Antrian banyak dijumpai dalam kehidupan sehari-hari. Mobil-mobil yang mengantri digerbang tol untuk membeli karcis tol; orang-orang yang mengantri di loket untuk membeli karcis film juga membentuk antrian. Pada antrian kita tidak menentukan batasan seberapa banyak antrian itu akan berakhir tapi jika kita menggunakan array untuk mengimplementasikan queue/ tumpukan kita harus membatasi jumlah antrian yang dapat masuk. Ini dikarenakan array memiliki batasan (upperbound) yang menjadi penghambat jika kita menggunakan antrian. Oleh sebab itu kita akan mengimplementasikan antrian ini dengan menggunakan link list. 1

Dengan menggunakan link list tepatnya Single Link List maka elemen dapat dimasukkan secara tidak terbatas. Kita menggunakan Header Single Link List yang seperti Stack pada posisi Header dapat kita pergunakan untuk menyimpan informasi mengenai banyaknya elemen dalam Queue. 5.2. Notasi Pada Queue Notasi yang dapat digunakan didalam Queue Q adalah : 1. FRONT(Q) menunjukkan posisi terdepan dari suatu antrian. Contoh jika kita mempunyai antrian Q = [A,B,C,D,E] maka FRONT(Q) = A. 2. REAR(Q) menunjukkan posisi terakhir dari suatu antrian. Contoh jika kita mempunyai antrian Q = [A,B,C,D,E] maka REAR(Q) = E. 3. NOEL(Q) menunjukkan jumlah elemen di dalam Antrean Q. Contoh jika kita mempunyai antrian Q = [A,B,C,D,E] maka NOEL(Q) = 5. 5.3. Deklarasi Queue Dalam Link List Pendeklarasian Queue di dalam link list sama seperti kita mendeklarasikan link list. Menggunakan pointer sebagai variabel yang menunjuk ke elemen antrian selanjutnya. Deklarasi Queue menggunakan Linked List di dalam Pascal : Type Var Queue = ^Simpul Simpul = Record Info : Char; Next : Queue; End; Head, Tail Max : Queue; : Byte; Link list yang kita gunakan ialah jenis Header Single Link List. Kita menggunakan jenis link list ini karena pada bagian header dapat kita manfaatkan untuk menyimpan informasi mengenai banyaknya elemen dalam Antrian (NOEL(Q)). 2

5.4. Operasi Dasar Pada Queue Ada 4 operasi dasar yang dapat dilakukan pada struktur data antrian, yaitu: 1. CREATE(Q) CREATE(Q) adalah suatu operator yang digunakan untuk membentuk dan menunjukkan suatu antrian hampa. Contoh : NOEL(CREATE(Q)) = 0 FRONT(CREATE(Q)) = Tidak Terdefinisi REAR(CREATE(Q)) = Tidak Terdefinisi Berikut ini merupakan procedure CREATE simpul pada Pascal : Procedure CREATE(Var Head, Tail : Queue); New(Head); Head^.Info := 0; Head^.Next := Head; Tail := Head; End; 2. ISEMPTY(Q) ISEMPTY(Q) adalah operator yang menentukan apakah antrian Q hampa atau tidak. ISEMPTY(Q) di terapkan di dalam pascal menjadi sebuah function yang bertipe boolean sehingga hasil dari function ini akan bernilai True jika antrian dalam keadaan kosong / hampa (NOEL(Q) = 0) dan akan bernilai False jika antrian dalam keadaan terisi / tidak kosong (NOEL(Q) > 0). Contoh : ISEMPTY(CREATE(Q)) = True Berikut ini merupakan procedure ISEMPTY simpul pada Pascal : Function ISEMPTY(Head : Queue); ISEMPTY := (Head^.Next = Head); 3

End; 3. INSERT(E,Q) INSERT(E,Q) adalah operator yang digunakan untuk memasukkan elemen E pada antrian Q di posisi depan dari antrian. Hasil dari operator ini adalah antrian yang lebih panjang. Berikut ini merupakan procedure INSERT simpul pada Pascal : Procedure INSERT(Elemen : Byte; Var Head, Tail : Queue); Var Temp : Queue; New(Temp); Temp^.Info := Elemen; Temp^.Next := Head; Tail := Temp; Inc(Head^.Info); End; 4. REMOVE(Q) REMOVE(Q) adalah operator yang menghapus elemen bagian depan dari antrian Q. Hasilnya merupakan antrian yang lebih pendek. Pada setiap operasi ini, harga dari NOEL(Q) berkurang satu, dan elemen kedua dari Q menjadi elemen terdepan. Jika NOEL(Q) = 0, maka REMOVE(Q) memberikan suatu kondisi erroe, yakni suatau UNDERFLOW. Contoh : REMOVE(CREATE(Q)) = UNDERFLOW. Berikut ini merupakan procedure REMOVE simpul pada Pascal : Procedure REMOVE(Var Head : Queue); Var Temp : Queue; If Not (ISEMPTY(Head)) Then Temp := Head^.Next; Head^.Next := Temp^.Next; 4

End; Dispose(Temp); Dec(Head^.Info); End; Untuk memahami pengertian antrian sekaligus penerapan operator-operator queue dan notasi-notasinya perhatikan ilustrasi berikut : CREATE(Q) = Membuat Antrian Baru FRONT(Q) = Tidak Terdefinisi REAR(Q) = Tidak Terdefinisi NOEL(Q) = 0 ISEMPTY(Q) = Apakah Antrian dalam keadaan kosong? TRUE FRONT(Q) = Tidak Terdefinisi REAR(Q) = Tidak Terdefinisi NOEL(Q) = 0 REMOVE(Q) = Mengeluarkan elemen terdepan dari dalam antrian. UNDERFLOW!!! FRONT(Q) = Tidak Terdefinisi REAR(Q) = Tidak Terdefinisi NOEL(Q) = 0 INSERT(1,Q) = Memasukkan elemen 1 kedalam antrian. 1 FRONT(Q) = 1 REAR(Q) = 1 NOEL(Q) = 1 INSERT(2,Q) = Memasukkan elemen 2 kedalam antrian. 1 2 FRONT(Q) = 1 REAR(Q) = 2 NOEL(Q) = 2 INSERT(3,Q) = Memasukkan elemen 3 kedalam antrian. 1 2 3 FRONT(Q) = 1 REAR(Q) = 3 NOEL(Q) = 3 REMOVE(Q) = Mengeluarkan elemen terdepan dari dalam antrian. 2 3 FRONT(Q) = 2 REAR(Q) = 3 NOEL(Q) = 2 INSERT(4,Q) = Memasukkan elemen 3 kedalam antrian. 2 3 4 FRONT(Q) = 2 REAR(Q) = 4 NOEL(Q) = 3 5

ISEMPTY(Q) = Apakah Antrian dalam keadaan kosong? Untuk operasi-operasi selanjutnya FALSE menggunakan REAR(Q) prinsip = Tidak yang Terdefinisi sama seperti ilustrasi diatas ini. FRONT(Q) = Tidak Terdefinisi NOEL(Q) = 0 5.5. Jenis-jenis Antrian Selain antrian yang telah kita bahas diatas, masih ada dua tipe antrian lagi yang penggunaannya juga banyak di dalam kehidupan sehari hari atau dalam dunia komputer itu sendiri, diantaranya adalah : 1. DEQUE DEQUE adalah antrian dimana elemennya bisa masuk dan keluar lewat kedua ujungnya (berbeda dengan queue yang hany bisa masuk lewat ujung belakang dan keluar lewat ujung depan). Biasanya DEQUE disajikan dengan menggunakan Double link list yang memiliki dua buah pointer yang menunjuk ke posisi sebelumnya dan sesudahnya. Gambar 5.1 menunjukkan struktur umum dari sebuah DEQUE. FRONT(Q) REAR(Q) Keluar Masuk Masuk Keluar Gambar 5.1 Struktur Umum DEQUE DEQUE juga mempunyai dua jenis variasi yaitu : a. Deque input terbatas : suatu deque yang membatasi pemasukkan elemen hanya pada satu ujung dari list, sementara penghapusan elemen boleh dilakukan pada kedua ujung list. b. Deque output terbatas : merupakan kebalikan dari deque input terbatas yaitu suatu deque yang membatasi penghapusan elemen 6

hanya pada satu ujung dari list, sementara pemasukkan elemen boleh dilakukan pada kedua ujung list. 2. ANTRIAN BERPRIORITAS Antrian berprioritas adalah suatu queue yang setiap elemennya telah diberikan sebuah prioritas, dan urutan proses penghapusan elemen adalah berdasarkan aturan berikut : a. Elemen yang prioritasnya lebih tinggi, diproses lebih dahulu dibandingkan dengan elemen yang prioritas lebih rendah. b. Dua elemen dengan prioritas yang sama, diproses sesuai dengan urutan mereka sewaktu dimasukkan ke dalam priority queue. Salah satu contoh antrian berprioritas ini adalah sistem berbagi waktu (time sharing system), dimana program yang mempunyai prioritas tinggi akan dikerjakan lebih dahulu dan program-program yang berprioritas sama akan membentuk antrian yang biasa. LAPORAN PENDAHULUAN 1. Jelaskan apa yang dimaksud dengan: a. Queue/Tumpukan b. DEQUE c. Antrian berprioritas. 2. Jelaskan istilah-istilah pada queue berikut ini: a. Create b. Insert c. Remove d. Front e. Rear f. IsEmpty 7

g. Noel 3. Berikan contoh soal mengenai operasi queue Create, Insert, Remove dan IsEmpty seperti pada ilustrasi queue diatas. MATERI PRAKTIKUM 1. Praktikan mengetahui tentang Queue, Operasi pada Queue. 2. Pemberian program-program sederhana Queue, diusahakan menggunakan menu pulldown. (praktikan membawa materi praktikum ke dua). 3. Nilai K (Keterampilan) didapat jika praktikan melengkapi program tentang operasi pada Queue. LAPORAN AKHIR 1. Buatlah Algoritma dari program sebelumnya terutama mengenai ditambah dengan ringkasan tentang operasi Queue. 2. Buat program parkir mobil dengan menggunakan teori antrian yang telah diajarkan menggunakan single link list. 8