LOGO STRUKTUR DATA QUEUE

dokumen-dokumen yang mirip
QUEUE (ANTRIAN) Struktur Data - Queue

ALGORITMA & PEMROGRAMAN

Linked List. Bandung 2013

BAB III QUEUE (ANTRIAN)

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

Algoritma Dan Struktur Data II. Queue

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

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

BAB IX LINKED LIST (SENARAI BERANTAI)

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Lab. Teknik Informatika Struktur Data 1

Algoritma Dan Struktur Data II

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

Gambar 3.1. Circular Single Linked List. Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List.

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

QUEUE (ANTRIAN) Depan=1 Belakang=

M Queue Berprioritas. Amin Arifiyani. Struktur Data M

ARNA FARIZA YULIANA SETIOWATI

Struktur Data. Queue (Antrian)

BAB IX LINKED LIST (SENARAI BERANTAI)

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

05. Double Linked List

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

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

Jadi satu simpul di double linked list adalah sebagai berikut : Info. Kiri. Kanan

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

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

LAPORAN PRAKTIKUM RESMI QUEUE

BAB 1 PENGANTAR KE STRUKTUR DATA

BAB IV Antrian(Queue)

KUM 5 IMPLEMENTASI QUEUE

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

Struktur Data Array. Rijal Fadilah S.Si

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

PERTEMUAN KE-6. Pertemuan 6

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

BAB II STACK Atau TUMPUKAN

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

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

Algoritma dan Struktur Data. Queue

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

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

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

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

IKG2A3/ Pemrograman Terstruktur 2

1. E = a + 2b d + dh f g. Ubah ke dalam notasi postfix: a. Menggunakan Algoritma b. Secara manual c. Dari pohon biner menggunakan Stack

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

Pada kondisi ini proses penghapusan tidak bisa dilakukan Kondisi linked list memiliki hanya 1 data{satu simpul} Akhir. Akhir

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

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

LIST. Dewi Sartika, M.Kom

Queue. Implementasi Queue dengan Array

Pertemuan VI ANTRIAN (Queue)

TIF 4201 Algoritma Dan Struktur Data

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

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

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

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

Pertemuan 7. REVIEW dan QUIS

LATIHAN UTS Tim Pengajar KU1071 Sem

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

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

Pointer. Pengertian. Struktur Data Pascal

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

KERUGIAN DAN KEUNTUNGAN LINKED LIST

BAB 3 ANALISIS DAN PERANCANGAN SISTEM. komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasikan

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

Bagian I. Studi Kasus [82] Tanda tangan:

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

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

BAB 2 LANDASAN TEORI

(3) BAHAN KAJIAN (materi ajar)

SINGLE LINKED LIST (NON CIRCULAR)

KONSEP POINTER DAN LINKED LIST

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

KONSEP POINTER DAN LINKED LIST

Struktur Data dan Algoritma

Algoritma dan Struktur Data

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

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube

Kode MK/ Pemrograman Terstruktur 2

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

PERTEMUAN 8 MATRIX. Introduction Definition How is matrix stored in memory Declaration Processing

BAB 3 STACK (TUMPUKAN)

Algoritma dan Pemrograman Searching/Pencarian

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

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

STRUKTUR DATA Pertemuan 6

PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI)

Single Linked List (1)

BAB II STACK (TUMPUKAN)

Transkripsi:

STRUKTUR DATA QUEUE

Queue (antrian) adalah barisan elemen yang apabila elemen ditambah, maka penambahannya berada pada posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di elemen paling depan (front). FIFO (First In First Out) Tim Struktur Data Program Studi Teknik

Operasi Dasar Enqueue : proses penambahan atau memasukkan satu elemen di belakang Dequeue : proses pengambilan atau mengeluarkan satu elemen di posisi depan

Representasi Queue (Array Statis) 1. deklarasi: const maksqueue=... type typequeue= array[1..maksqueue] of typedata varqueue : typequeue front, rear: integer

Representasi Queue (Array Statis) 2. Penciptaan (create queue) proses pemberian nilai 0 untuk variabel penunjuk depan (front) dan variabel penunjuk belakang (rear) dari queue. front 0 rear 0

Representasi Queue (Array Statis) 3. Fungsi kosong digunakan untuk memeriksa apakah keadaan queue tidak memiliki elemen. Fungsi kosong didapatkan dengan memeriksa penunjuk rear dari queue. Jika penunjuk rear bernilai nol (0), maka berarti queue kosong dan jika tidak nol, maka berarti queue mempunyai elemen.

Representasi Queue (Array Statis)

Representasi Queue (Array Statis) 4. Fungsi penuh digunakan untuk memeriksa apakah suatu queue telah penuh atau belum. Fungsi ini diperlukan ketika proses enqueue. Fungsi ini akan bernilai benar (true) jika penunjuk rear sama dengan nilai maksimum queue, jika tidak sama berarti queue belum penuh.

Representasi Queue (Array Statis)

Representasi Queue (Array Statis) 5. Proses Enqueue (memeriksa queue kosong/ tidak dan queue penuh/ tidak) Proses untuk penambahan di posisi rear Penambahan dilakukan jika kondisi queue tidak penuh Jika keadaaan masih kosong, maka posisi front dan rear bernilai 1, tetapi jika sudah memiliki elemen maka nilai rear harus bertambah 1 Kemudian data baru disimpan di queue pada posisi rear

Representasi Queue (Array Statis) Procedure Enqueue (I/O front,rear: integer, input elemen: tipedata) {I.S: penunjuk front dan rear serta data yang akan dimasukkan ke queue sudah terdefinisi} {F.S: menghasilkan queue yang sudah bertambah satu data} Kamus: Algoritma: if (kosong(rear)) then front 1 rear 1 else if (not penuh(rear)) then rear rear+1 endif endif queue(rear) elemen Endprocedure

Representasi Queue (Array Statis) 5. Proses Dequeue Proses pengambilan satu elemen dari queue Elemen yang diambil selalu dari elemen pertama Setelah elemen pertama diambil, maka akan terjadi proses pergeseran elemen data setelah elemen data yang diambil (dari posisi ke-2 sampai posisi paling belakang

Representasi Queue (Array Statis) Procedure Dequeue (I/O front,rear: integer, output elemen: tipedata) {I.S: penunjuk front dan rear sudah terdefinisi} {F.S: menghasilkan queue yang sudah berkurang satu data} Kamus: i : integer Algoritma: if (not kosong(rear)) then elemen queue(front) for i 1 to (rear-1) do queue(i) queue(i+1) endfor rear rear-1 endif Endprocedure

Queue (Single Linked List) Proses penyimpanan elemen queue pada single linked list menggunakan penyisipan di belakang dan penghapusan di depan.

Queue (Single Linked List) 1. deklarasi type NamaPointer = Simpul Simpul = Record info : tipedata next : NamaPointer endrecord front, rear: NamaPointer

Queue (Single Linked List) 2. Penciptaan Proses inisialisasi queue yang disimpan dalam bentuk linked list adalah memberikan nilai nil ke pointer front dan rear yang menandakan bahwa queue masih kosong. Front nil Rear nil

Queue (Single Linked List) 3. Fungsi Kosong Fungsi ini untuk memeriksa apakah queue dalam keadaan kosong. Fungsi ini berguna ketika proses dequeue, maka harus diperiksa apakah memiliki data atau tidak. Fungsi ini akan bernilai benar jika Front atau Rear bernilai nil.

Queue (Single Linked List)

Queue (Single Linked List) 4. Enqueue Proses enqueue dalam linked list adalah menambahkan elemen baru ke posisi belakang. Setelah itu, pointer penunjuk Rear harus berpindah ke posisi baru tersebut. Proses ini seperti penyisipan di belakang/ akhir pada single linked list

Enqueue (Single Linked List) Procedure Enqueue (I/O front,rear: NamaPointer, input elemen: tipedata) {I.S: penunjuk front dan rear serta data yang akan dimasukkan ke queue sudah terdefinisi} {F.S: menghasilkan queue yang sudah bertambah satu data} Kamus: baru: NamaPointer Algoritma: alloc(baru) baru.info elemen if (kosong(front)) then front baru else rear.next baru endif rear baru baru.next nil Endprocedure

Queue (Single Linked List) 5. Dequeue Proses dequeue dalam linked list adalah mengambil data yang ditunjuk pointer Front. Pointer Front harus berpindah ke elemen antrian berikutnya. Proses ini dilakukan hanya jika linked list tidak kosong. Proses ini seperti penghapusan di depan/ awal pada single linked list

Dequeue (Single Linked List) Procedure Dequeue (I/O front,rear: NamaPointer, output elemen: tipedata) {I.S: penunjuk front dan rear sudah terdefinisi} {F.S: menghasilkan queue yang sudah berkurang satu data} Kamus: phapus : NamaPointer Algoritma: if (not kosong(front)) then phapus Front elemen Front.info if (Front=Rear) then Front nil Rear nil else Front Front.next endif dealloc (phapus) endif Endprocedure

Queue (Circular Array) Jika menggunakan array, maka ketika ada proses pengambilan data (dequeue) terjadi proses pergeseran data. Pergeseran data membutuhkan waktu yang lama jika data yang tersimpan banyak. Solusi agar proses pergeseran dihilangkan adalah dengan menggunakan circular array.

Aturan Queue Circular Array Proses penambahan elemen yaitu nilai belakang (Rear) ditambah 1 Rear = Rear+1 Proses penghapusan dilakukan dengan cara nilai depan (Front) ditambah 1 Front = Front +1 Jika Front=MaksQueue dan ada elemen yang akan dihapus, maka nilai Front=1 Jika Rear=MaksQueue dan front tidak 1, maka jika ada elemen yang akan ditambahkan, nilai Rear=1 Jika hanya tinggal satu elemen di queue (Front=Rear), maka Front dan Rear diisi 0 (queue kosong)

Contoh Queue Circular Array No Operasi Status 1. Inisialisasi Front=0 Rear=0 2. Enqueue A, B, C Front=1 Rear=3 3. Dequeue 4. Enqueue D, E 5. Dequeue 2 kali 6. Enqueue F 7. Enqueue G, H 8. Dequeue 9. Dequeue 10. Dequeue 2 kali 11. Dequeue Queue 1 2 3 4 5

Latihan Diketahui maksimum circular queue = 6 Kondisi awal Front=3, Rear=6 Queue:,, Cici, Lala, Eli, Jono a) Tambahkan nama Rachel b) Hapuskan satu data c) Tambahkan nama Mimin d) Hapuskan dua data e) Tambahkan nama Caca f) Hapuskan satu data g) Hapuskan tiga data

Latihan Diketahui maksimum circular queue = 6 Kondisi awal Front=2, Rear=5 Queue:, London, Berlin, Rome, Paris, a) Tambahkan kota Athens b) Haspuskan dua kota c) Tambahkan kota Madrid d) Tambahkan kota Moscow e) Tiga kota dihapus f) Tambahkan kota Oslo

STRUKTUR DATA (QUEUE) C l i c k to e d i t c o m p a n y s l o g a n.