TI, 20.02.2022 16:45, fajar109087
Jawaban
Jawaban yang benar diberikan: jerryanaaurellia14
jawaban:
Queue merupakan salah satu implementasi dari Linked List. Queue merupakan kumpulan-kumpulan data yang menggunakan konsep FIFO (First In First Out), yaitu data yang paling pertama dimasukan ke dalam queue merupakan data yang pertama kali keluar dari queue.
Penjelasan:
Berikut operasi yang digunakan di dalam Queue:
Push(x): Menambahkan data x ke dalam queue.
Pop(): Menghapus data paling depan dari dalam
Peek() atau Top(): Melihat data paling depan dari stack.
Jawaban yang benar diberikan: Pencarian
klik 3 titik yg ada di pojok kanan atas pada tugas yang ingin di hapus lalu klik hapus
Jawaban yang benar diberikan: Pencarian
Pertanyaan Lain: TI
TI, 23.10.2015 15:06, dfarrel23
Sambungan internet apa melalui saluran yang efektif?
Jawaban: 1
TI, 06.04.2018 15:15, Princess4379
Apa nama lain dari subcriber? tolong jawab xd
Jawaban: 2
TI, 04.10.2016 16:48, Ibnuhafiz
Jelaskan dari mana asal kata komputer dan definisinya
Jawaban: 1
Pertanyaan:
PPKn, 25.11.2020 02:30
Di sebelah timur taman kota terdapat?...
apa pengertian materi simulasi digital?
Uraikan dengan Pengolahan Interupsi Bersarang jika suatu sistem memiliki perangkat I/O yakni printer, disk, dan saluran komunikasi dengan prioritas ma … sing-masing perangkatI/O yaitu 1, 3, dan 2
Buatlah contoh program php menghitung nilai yang menghasilkan data output lebih dari 1 tanpa menggunakan database tetapi menggunakan array?
Maaf ada yang bisa bantu? Terimakasih
Terangkan dengan lengkap tahapan siklus indirect dibawah ini T1 : MAR ⇦ (IR (Adress)) T2 : MBR⇦ Memori T3 : IR (Adress) ⇦ (MBR (Adress))
Virus yang menginfeksiboot record dan menyebar saat sistem diboot adalah
Utilitas pada sistem operasi yang digunakan untuk memeriksa konektivitas komputer pada jaringan adalah
Untuk pemrograman diinginkan titik nol berada di titik start pisau tidak berubah, maka fungsi g yang kita gunakan adalah
Uap air yang terkumpul di atmosfer akan mengalami .......... sehingga berubah menjadi titik-titik air.
Tujuan membuat garis lurus vertical,horizontal,dan diagonal diatas kertas adalah
Karakteristik yang membedakan queue (antrian) dari stack adalah cara menyimpan dan mengambil data dengan struktur first in first out (FIFO). Hal ini berarti elemen pertama yang ditempatkan pada queue adalah yang pertama dipindahkan. Contoh yang paling populer untuk membayangkan sebuah queue adalah antrian pada kasir sebuah bank. Ketika seorang pelanggan datang, akan menuju ke belakang dari antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju. Pada saat menempatkan elemen pada ujung (tail) dari queue disebut dengan enqueue, pada saat memindahkan elemen dari kepala (head) sebuah queue disebut dengan dequeue.
1. Elemen antrian yaitu item-item data yang terdapat di elemen antrian
2. Front (elemen terdepan dari antrian)
3. Rear (elemen terakhir dari antrian)
4. Jumlah elemen pada antrian (Count)
Keterangan :
F = Front (depan)
R = Rear (belakang)
F menunjuk pengantri paling depan, yaitu pengantri yang siap dilayani.
R menunjuk pengantri paling belakang, yaitu pengantri yang paling terakhir masuk.
PROSES DALAM ANTRIAN LURUS
Prinsip / Konsep Proses :
FIFO (First In First Out)
FIFS (First In First Serve)
Proses :
AWAL (Inisialisasi)
INSERT (Sisip, Masuk, Simpan, Tulis)
DELETE (Hapus, Keluar, Ambil/Dilayani, Baca)
RESET (Kembali ke AWAL)
Kondisi Antrian Lurus
Kondisi Antrian | Ciri | |
a. b. c. d. e. | KOSONG PENUH BISA DIISI ADA ISINYA PERLU DIRESET | F = R + 1 dimana saja R = n – 1 R < n – 1 F < R + 1 F = R + 1 dan R = n - 1 |
ALGORITMA INSERT
• Periksa apakah Antrian BISA DIISI
if ( R < n – 1)
{
R = R + 1;
Q[R] = x;
}
else
cout<<“Antrian Penuh”;
ALGORITMA DELETE
• Periksa apakah Antrian ADA ISINYA
if ( F < R + 1)
{
x = Q[F];
F = F + 1;
if ((F=R+1) && (R=n-1))
{ F = 0;
R = -1; }
}
else
cout<<“Antrian Kosong”;
b. Double Ended Queue (Dequeue)
Ilustrasi Deque (Antrian dengan Ujung Ganda)
Keterangan :
L = Left (kiri)
R = Right (kanan)
L menunjuk pengantri yg terakhir masuk di sebelah kiri dan siap dilayani.
R menunjuk pengantri yg terakhir masuk di sebelah kanan dan siap dilayani.
Proses dalam Deque
Prinsip / Konsep Proses :
bukan FIFO, bukan juga LIFO, tergantung kesempatan yang ada.
Proses :
AWAL (Inisialisasi)
INSERT (Sisip, Masuk, Simpan, Tulis)
DELETE (Hapus, Keluar, Ambil/Dilayani, Baca)
Algoritma Lengkap INSERT KIRI
• Periksa apakah Deque BISA DIISI DARI KIRI
void INSERT_KIRI()
{ if ( L > 0)
{
L = L - 1;
Q[L] = x;
}
else
cout<<“Antrian Kiri Penuh”;
Algoritma Lengkap INSERT KANAN
• Periksa apakah Deque BISA DIISI DARI KANAN
void INSERT_KANAN()
{ if ( R < n - 1)
{
R = R + 1;
Q[R] = x;
}
else
cout<<“Antrian Kanan Penuh”;
}
Algoritma Lengkap DELETE KIRI
• Periksa apakah Deque ADA ISINYA
void DELETE_KIRI()
{ if (L < R + 1)
{
x = Q[L];
L = L + 1;
}
else
cout<<“Antrian Kosong”;
}
Algoritma Lengkap DELETE KANAN
Periksa apakah Deque ADA ISINYA
void DELETE_KANAN()
{ if (L < R + 1)
{
x = Q[R];
R = R - 1;
}
else
cout<<“Antrian Kosong”;
}
Contoh Program QUEUE pada bahasa C++ :
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define max 50
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;
else
return 0;
}
int IsFull()
{
if(antrian.tail==max-1)
return 1;
else
return 0;
}
void Enqueue(int data)
{
if(IsEmpty()==1)
{
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<"Data: "<<antrian.data[antrian.tail]<<" Masuk ke Antrian!!!";
}
else if(IsFull()==0)
{
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<"Data: "<<antrian.data[antrian.tail]<<" Masuk ke Antrian!!!";
}
else if(IsFull()==1)
{
cout<<"Ruangan Penuh !!"<<endl;
cout<<data<<"Silahkan tunggu !!!";
}
}
void Dequeue()
{
int i;
int e = antrian.data[antrian.head];
if(antrian.tail==-1)
{
cout<<"Data kosong, Tidak ada antrian!"<<endl;
}
else
{
for(i=antrian.head;i<antrian.tail-1;i++)
{
antrian.data[i]=antrian.data[i+1];
}
antrian.tail--;
cout<<"Data yang keluar lebih dulu = "<<e<<endl;
}
}
void clear()
{
antrian.head=antrian.tail=-1;
cout<<"Akhirnyaaa, Ruangan sepi :) "<<endl;
cout<<"Data Clear";
}
void tampil()
{
if(IsEmpty()==0)
{
cout<<"Data Dalam Antrian"<<endl;
cout<<"==================";
cout<<endl;
for(int i=antrian.head;i<=antrian.tail;i++)
{
cout<<"| " <<antrian.data[i]<<" |";
}
}
else
{
cout<<"Data kosong, tidak ada antrian!";
}
}
void main()
{
int pil;
int data;
create();
do
{
clrscr();
cout<<"Implementasi Antrian dengan Struct"<<endl;
cout<<"==================================";
cout<<endl;
cout<<"1. Enqueue"<<endl;
cout<<"2. Dqueue "<<endl;
cout<<"3. Print "<<endl;
cout<<"4. Clear "<<endl;
cout<<"5. Exit "<<endl;
cout<<"Masukkan pilihan anda : ";
cin>>pil;
switch(pil)
{
case 1:
{
cout<<endl;
cout<<"Data = ";
cin>>data;
Enqueue(data);
break;
}
case 2:
{
cout<<endl;
Dequeue();
break;
}
case 3:
{
cout<<endl;
tampil();
break;
}
case 4:
{
cout<<endl;
clear();
break;
}
}
getch();
}
while(pil!=5);
}
Tampilan setelah progam dijalankan!!
DAFTAR PUSTAKA
- Anonim. 2014. Queue antrian di Struktur Data. Diakses tanggal 05 Juni 2015 pada //masiyak.com/queue-antrian-di-struktur-data/
- Syaviri, Ananda Putri. 2014. Laporan ASD 5 Queue. Diakses tanggal 05 Juni 2015 pada //www.academia.edu/6668456/LAPORAN_ASD_5_QUEUE