PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

dokumen-dokumen yang mirip
QUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

Algoritma Dan Struktur Data II. Queue

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

Pertemuan 7. REVIEW dan QUIS

Algoritma dan Struktur Data. Ramos Somya

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Implementasi Queue menggunakan Array. Imam Fahrur Rozi

Algoritma Pemrograman & Struktur Data

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

LAPORAN PRAKTIKUM RESMI QUEUE

Struktur Data Array. Rijal Fadilah S.Si

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

Algoritma Dan Struktur Data II

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

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

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

STACK dan QUEUE MODUL PRAKTIKUM STRUKTUR DATA 09 UNIVERSITAS KRISTEN DUTA WACANA. Daftar Isi: Stack dan Queue. Latihan soal. Guided.

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

MODUL PEMROGRAMAN 2. Queue (Antrian)

# NINE Queue dengan Array

Seharusnya. if (antrian.tail==max-1) return 0;

Materi 9 : QUEUE (ANTREAN) Dosen:

ARNA FARIZA YULIANA SETIOWATI

DIG1G3 Implementasi Struktur Data

LAPORAN PRAKTIKUM IV. Oleh:

MODUL IV STACK A. TUJUAN

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

Modul Praktikum Algoritma dan Struktur Data

Materi 8 : STACK (TUMPUKAN) Dosen:

Algoritma dan Struktur Data. Queue

Algoritma dan Struktur Data STACK

BAB VIII QUEUE (ANTRIAN)

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

Queue Priority Queue STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 6 : 7 Juli 2015

TIF 4201 Algoritma Dan Struktur Data

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Stack using Array. Alfa Faridh Suni, S.T., M.T. PTIK

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

STACK DAN QUEUE. Pengertian Stack Dan Queue. stack & queue. Last saved by KENKEINA Created by KENKEINA

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

KUM 5 IMPLEMENTASI QUEUE

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

BAB III QUEUE (ANTRIAN)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

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

Stack. Gambar 1.1 Stack

STRUKTUR DATA (2) Single Linked List

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS

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

BAB IV Antrian(Queue)

Praktikum Algoritma dan Struktur Data

MODUL 4. COLLECTIONS ARRAYS, QUEUE, dan STACK

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

LOGO STRUKTUR DATA QUEUE

MODUL 6 SINGLE & DOUBLE LINKED LIST

05. Double Linked List

Struktur Data dan Algoritma

Antrian (Queue) Susunan koleksi data dimana proses penambahan data (add) dilakukan dari belakang dan penghapusan data (delete) dilakukan dari depan.

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

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

STRUKTUR DATA Pertemuan 1 s.d 8

Algoritma Dan Struktur Data II

Linked List dan Implementasinya dalam Bahasa Java

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail

DIG1G3 Implementasi Struktur Data

SATUAN ACARA PENGAJARAN

QUEUE (ANTRIAN) Struktur Data - Queue

STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).

Lab. Teknik Informatika Struktur Data 1

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

LAPORAN PRAKTIKUM IV. Oleh :

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

KONSEP POINTER DAN LINKED LIST

04. Single Linked List

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

KUM 3 IMPLEMENTASI LIST

MODUL PRAKTIKUM STRUKTUR DATA

Arrays, Collections and Generics. Sisilia Thya Safitri, MT Agus Priyanto, MKom

LIST. Dewi Sartika, M.Kom

KONSEP POINTER DAN LINKED LIST

Politeknik Elektronika Negeri Surabaya

S TA C K Sunu Wibirama

MODUL PRAKTIKUM STRUKTUR DATA. Dosen Pengampu M.Bahrul Ulum, S.Kom., M.Kom. Asisten Lab Mia Kastina PROGRAM STUDI TEKNIK INFORMATIKA

SILABUS STRUKTUR DATA ( TIF-104 ) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

Tumpukan (Stack) Stack bersifat LIFO (Last In First Out) LIFO Data yang terakhir masuk ke dalam stack menjadi data yang pertama keluar dari stack

Struktur Data. Queue (Antrian)

SENARAI BERANTAI (LINK LIST)

A. TUJUAN PEMBELAJARAN

Algoritma dan Struktur Data

Gambar 1. Single Linked List

Struktur Data II. Single Linked List - Non circular

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

BAB II STACK (TUMPUKAN)

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

Transkripsi:

PRAKTIKUM STRUKTUR DATA QUEUE SULIDAR FITRI, M.Sc

QUEUE Secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehiduypan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket.

Queue merupakan kumpulan data dengan penambahan data hanya melalui satu sisi, yaitu belakang (tail) dan penghapusan data hanya melalui sisi depan (head).

Queue bersifat FIFO(First In First Out), yaitu data yang pertama masuk akan keluar terlebih dahulu dan data yang terakhir masuk akan keluar terakhir.

Beberapa Operasi Pada QUEUE IsEmpty : Mengecek apakah queue kosong atau tidak IsFull : Mengecek apakah queue sudah penuh atau belum Enqueue : Menambahkan data di queue Dequeue : Mengambil data dari queue Clear : Menghapus data dalam antrian View : melihat data dalam antrian

1. Deklarasi Awal Queue Variabel yang akan digunakan adalah data (array sebagai tempat queue), head, tail. Sama seperti Stack, Nilai dari head dan tail dimulai dari -1 yang menandakan queue kosong. Sebagai contoh kita akan membuat queue dengan data maksimal sebanyak 7 data. 1#define max 7 2 3int data[max]; 4int head=-1, tail=-1;

2. IsEmpty Berguna untuk mengecek apakah queue kosong atau tidak. Indikator bahwa queue kosong adalah nilai dari head dan tail bernilai -1. Sehingga kita tinggal buat fungsi nya sebagai berikut : 1bool IsEmpty(){ 2 if(head == -1 && tail == -1) 3 return true; 4 else 5 return false; 6}

3. IsFull Mengecek apakah queue sudah penuh atau belum. Indikator kalau queue penuh adalah nilai tail = max 1. Mengapa? Karena nilai maksimal pada array yang mempunyai index 7 pada saat diakses akan mempunyai nilai maksimal 6. Sehingga fungsi yang terbentuk seperti ini bool IsFull(){ if(tail == max-1) return true; else return false; }

4. Enqueue Enqueue digunakan untuk memasukkan data kedalam queue. Mengecek terlebih dahulu apakah queue / antrian sudah penuh atau belum. Kalau belum maka kita harus mengecek apakah head sudah berada pada nilai 0 atau belum. nilai head tidak akan lebih dari 0. Yang akan bergerak terus adalah tail, sedangkan head hanya penunjuk urutan paling depan, sehingga nilainya tidak pernah lebih dari 0. Kecuali antrian kosong, maka posisi head dan tail akan kembali menjadi -1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 } void Enqueue(){ if(isfull()) { cout<<"antrian sudah penuh, mohon tunggu beberapa saat lagi "; getch(); } else { if (IsEmpty()){ head=tail=0; cout<<"masukkan data : ";cin>>data[tail]; } else { tail++; cout<<"masukkan data : ";cin>>data[tail]; } }

5. Dequeue Digunakan untuk mengambil data yang sudah masuk di urutan pertama. Sehingga kita tinggal membaca data yang ada di posisi head. Jangan lupa kita cek dulu apakah queue kosong atau tidak. Tapi jika ada isinya, setelah data diambil, data dibelakangnya digeser ke depan. 1void Dequeue(){ 2 if(isempty()){ 3 cout<<"antrian kosong! "; 4 getch(); 5 } else { 6 cout<<"data yang diambil : "<<data[head]; 7 for(a=head;a<=tail-1;a++) 8 data[a]=data[a+1]; 9 tail--; 10 if(tail == -1) 11head = -1; 12 } 13}

6. Clear Operasi clear digunakan untuk menghapus data yang ada di dalam queue. Caranya cukup merubah nilai pada head dan tail menjadi -1. Tidak perlu diperhatikan data yang ada di dalam array. Nantinya data data tersebut juga akan ditimpa. void Clear(){ 1 head=tail=-1; 2 cout<<"antrian sudah 3 dikosongkan! ";getch(); 4 }

7. View Operasi ini digunakan untuk melihat data yang ada didalam queue. Caranya adalah dengan membaca data pada index yang terdapat diantara head sampai tail 1void View(){ 2 if(isempty()){ 3 cout<<"antrian kosong! "; 4 getch(); 5 } else { 6 for(a=head;a<=tail;a++) 7 cout<<"data pada antrian ke "<<a<<" = "<<data[a]<<endl; 8 getch(); 9 } 10}

1main(){ 2int jawab; 3do{ 4clrscr(); 5cout<<"--------- Program Queue by adeethunix ------------"<<endl; 6cout<<"1. Enqueue "<<endl; 7cout<<"2. Dequeue "<<endl; 8cout<<"3. Clear "<<endl; 9cout<<"4. View "<<endl; 10cout<<"5. Exit "<<endl; 11cout<<"Masukkan pilihan Anda : "; 12cin>>jawab; 13switch(jawab){ 14case 1: 15Enqueue();break; 16case 2: 17Dequeue();break; 18case 3: 19Clear();break; 20case 4: 21View();break; 22} 23}while (jawab!= 5); 24}

3.

4. The keyword used to place an item into a stack is remove an item from a stack is A. Push and Pop B. Input and Remove C. Enqueue and Dequeue D. IsFull and IsEmpty

5. An example of a FIFO data strucure is and An example of a LIFO data structure is A. A Queue and A Stack B. A Stack and A Queue C. A Linked list and A Queue D. A Stack and A Linked list

6. Which of the following is not a basic operation that can be performed on a queue? (a) Inserting an item at the back of the queue (b) Removing an item from the front of the queue (c) Accessing an item from the front of the queue (d) Inserting an item into the second position of the queue

7. Consider the following sequence of operations applied to an empty queue: Insert element with value 3 Insert element with value 8 Remove element Insert element with value 1 Remove element Insert element with value 7 The next element removed from this queue will have which of the following values? (a) 8 (b) 1 (c) 7 (d) 3

8. What is the similar operation in Queue and Stack operation about Pushing and Popping? (a) Input and Remove (b) Enqueue and Dequeue (c) IsFull and IsEmpty (d) Whatever

9. Consider the following program, what is the output of first element and last element? queue<int> q; for( int i = 0; i < 5; i++ ) { q.push(i); } cout << "The first element is " << q.front() << " and the last element is " << q.back() << endl; (a) 0 and 4 (b) 0 and 5 (c) 1 and 5 (d) 1 and 4

10. How to declare the beginning of Queue? When the first time is empty A. Head=-1 and Tail=-1 B. Head=0 and Tail=0 C. Head<=0 and Tail<=0 D. Head<1 and Tail<1

Source code : http://masiyak.com/queue-antrian-di-struktur-data/