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

dokumen-dokumen yang mirip
QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

Algoritma dan Struktur Data. Ramos Somya

# NINE Queue dengan Array

LAPORAN PRAKTIKUM RESMI QUEUE

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

Algoritma Dan Struktur Data II. Queue

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

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Implementasi Queue menggunakan Array. Imam Fahrur Rozi

Algoritma dan Struktur Data. Ramos Somya

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

Struktur Data Array. Rijal Fadilah S.Si

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

Praktikum Algoritma dan Struktur Data

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

DIKTAT PRAKTIKUM ALGORITMA DAN STRUKTUR DATA

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

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

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

Algoritma Pemrograman & Struktur Data

Algoritma Dan Struktur Data II

MODUL PEMROGRAMAN 2. Queue (Antrian)

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

LAPORAN PRAKTIKUM IV. Oleh:

ARNA FARIZA YULIANA SETIOWATI

Materi 9 : QUEUE (ANTREAN) Dosen:

Pertemuan 7. REVIEW dan QUIS

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

BAB VIII QUEUE (ANTRIAN)

BAB III QUEUE (ANTRIAN)

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

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

BAB IV Antrian(Queue)

STRUKTUR DATA (2) Single Linked List

MODUL IV STACK A. TUJUAN

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

Modul Praktikum Algoritma dan Struktur Data

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

BAB III. Stack. ( Tumpukan )

Algoritma dan Struktur Data. Queue

KONSEP POINTER DAN LINKED LIST

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

A. TUJUAN PEMBELAJARAN

05. Double Linked List

KONSEP POINTER DAN LINKED LIST

Struct Lanjutan: Studi Kasus

Praktikum 5. Antrian (Queue)

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

KUM 5 IMPLEMENTASI QUEUE

S TA C K Sunu Wibirama

Struktur Data II. Single Linked List - Non circular

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

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

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

MODUL 6 SINGLE & DOUBLE LINKED LIST

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

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

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

# EIGHT ADT (Abstract Data Type) dan Stack Array

STRUKTUR DATA Pertemuan 1 s.d 8

Stack. Gambar 1.1 Stack

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

KONSEP POINTER DAN LINKED LIST

BAB 2 SORTING (PENGURUTAN)

QUEUE Antrian 1. DEFINISI

Algoritma dan Struktur Data STACK

Array Dimensi Satu. Pendahuluan. Slamet Kurniawan, S.Kom

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

LAPORAN PRAKTIKUM IV. Oleh :

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

Algoritma dan Struktur Data. Linked List

P R E T R EM N 5 STRUKTUR LOOPING

SATUAN ACARA PENGAJARAN

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

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

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

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

STRUKTUR DATA single linked list non circular

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

Array VS Linked List

Modul Praktikum Algoritma dan Struktur Data

QUEUE (ANTRIAN) Depan=1 Belakang=

MI, KA-D3, SIA, SIB. ADI, S.Kom.

Array dan Matriks. IF2121 / Algoritma dan Struktur Data Sem / /7/2017 IF2121/sem /2018 1

Materi 8 : STACK (TUMPUKAN) Dosen:

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Algoritma Dan Struktur Data II

Pengenalan Array. Array Satu Dimensi

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

BAB III METODE PENELITIAN. transmisi data streaming menggunakan Zigbee wireless network dengan

Struktur Data dan Algoritma

MODUL PRAKTIKUM STRUKTUR DATA

04. Single Linked List

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

Transkripsi:

QUEUE (ANTREAN) Struktur Data Antrean (Queue) adalah suatu bentuk khusus dari List Linier dengan operasi pemasukan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi Belakang / ekor (Tail) dan operasi penghapusan hanya diperbolehkan pada sisi lainnya yang disebut sisi Depan / kepala (Head) dari LinkedList. Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu Deklarasi Queue Eri Mardiani 1

OPERASI QUEUE CREATE Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1 ISEMPTY Untuk memeriksa apakah queue kosong ISFULL Untuk memeriksa apakah queue sudah penuh ENQUEUE Untuk menambahkan item pada posisi paling belakang DEQUEUE Untuk menghapus item dari posisi paling depan CLEAR Untuk mengosongkan queue Fungsi Create Digunakan untuk membentuk dan menunjukan awal terbentuknya suatu Antrean / Queue Void Create() antrian.head = antrian.tail = -1 Fungsi IsEmpty Untuk memeriksa apakah Antrian penuh atau kosong Dengan cara memeriksa nilai Tail, jika Tail = -1 maka antrian kosong (empty) Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian kebelakang, yaitu menggunakan nilai Tail Eri Mardiani 2

Int IsEmpty() if (antrian.tail == -1) return 1; return 0; Fungsi IsFull Untuk mengecek apakah Antrian sudah penuh atau belum Dengan cara : - Mengecek nilai Tail - Jika tail = MAX-1 berarti antrian sudah penuh (MAX-1 adalah batas elemen array dalam program C++) Int IsFull() if (antrian.tail == Max-1) return 1; return 0; Eri Mardiani 3

Fungsi Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu dilakukan pada elemen paling belakang Penambahan elemen selalu menggerakan variabel Tail dengan cara menambahkan Tail terlebih dahulu Eri Mardiani 4

Fungsi Dequeue Digunakan untuk menghapus elemen terdepan (head) dari Antrian Dengan cara : menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1. Penggeseran dilakukan dengan menggunakan looping Eri Mardiani 5

Fungsi Clear Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1 Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca sehingga mengembalikan antrian seperti keadaan semula Antrian setelah di lakukan Clear 0 1 2 3 4 5 6 7 Max = 8 head = -1 tail = -1 Antrian kosong Karena tail = -1 Eri Mardiani 6

Program queque.cpp #include <stdio.h> #include <conio.h> #include <iostream.h> #define MAX 6 typedef struct int data[max]; int head; int tail; queue; queue antrian; void create() antrian.head=antrian.tail=-1; int isempty() if(antrian.tail==-1) return 1; return 0; int isfull() if(antrian.tail==max-1) return 1; return 0; void enqueue(int data) if(isempty()==1) antrian.head=antrian.tail=0; antrian.data[antrian.tail]=data; printf("%d, Sudah Masuk!",antrian.data[antrian.tail]); void tampil(); int i; if (isempty()==0) Eri Mardiani 7

for(i=antrian.head;i<=antrian.tail;i++) printf(" %d ",antrian.data[i]); printf("\n**** QUEUE IS EMPTY ****\n"); if(isfull()==0) antrian.tail++; antrian.data[antrian.tail]=data; printf("%d, Sudah Masuk!",antrian.data[antrian.tail]); if(isfull()==1) cout<<"\n\n**** QUEUE IS FULL, data TIDAK dapat masuk ****"; gotoxy(25,8);cout<<"press any key for back to MENU"; int dequeue() if (isempty()==1) cout<<"\n**** ERROR :: QUEUE IS EMPTY ****"; if(isempty()==0) int i; int e=antrian.data[antrian.head]; for(i=antrian.head;i<=antrian.tail-1;i++) antrian.data[i]=antrian.data[i+1]; antrian.tail--; cout<<"\n\ndata Yang Keluar => "<<e; gotoxy(25,8);cout<<"press any key for back to MENU"; void clear() Eri Mardiani 8

antrian.head=antrian.tail=-1; printf("\n\n**** DATA CLEAR ****"); gotoxy(25,8);cout<<"press any key for back to MENU"; void tampil() int i; if(isempty()==0) cout<<"data Yang ada Dalam QUEUE : "<<endl<<endl; for(i=antrian.head;i<=antrian.tail;i++) printf(" %d ",antrian.data[i]); printf("\n**** QUEUE IS EMPTY ****\n"); gotoxy(25,8);cout<<"press any key for back to MENU"; void main() int pil; int data; create(); do gotoxy(25,2);cout<<"========menu PILIHAN========"<<endl<<endl; gotoxy(25,4);cout<<"============================"<<endl; gotoxy(30,6);cout<<" 1. ENQUEUE "<<endl; gotoxy(30,7);cout<<" 2. DEQUEUE "<<endl; gotoxy(30,8);cout<<" 3. TAMPILAN "<<endl; gotoxy(30,9);cout<<" 4. CLEAR "<<endl; gotoxy(30,10);cout<<" 5. KELUAR "<<endl; gotoxy(25,12);cout<<"============================"<<endl; gotoxy(25,14);cout<<" Masukan Pilihan Anda => ";cin>>pil; switch(pil) case 1: printf("\n\n Masukan Data => "); scanf("%d",&data); enqueue(data); Eri Mardiani 9

break; case 2: dequeue(); break; case 3: cout<<endl; tampil(); break; case 4: clear(); break; case 5: gotoxy(25,8);cout<<"**** TERIMA KASIH ****"<<endl; break; getch(); while(pil!=5); Eri Mardiani 10