Dasar Analisis Algoritma Queue Atau Antrean (Makalah)
Malam Sobat Cappluse, hari ini dihari yang sama tanpa seorang kekasih (kok baperan ya wkwkwk), admin mau share materi kuliah Pendidikan Teknik Informatika maupun Teknik Informatika dan sejenisnya, yaitu materi kuliah Dasar Analisis Algoritma. Sebelumnya juga admin pernah share mengenai materi ini namun dalam sub materi mengenai Heap Sort. Hari ini admin akan share sub materi mengenai QUEUE atau ANTREAN. Untuk lebih jelasnya sobat bisa lihat pada makalah dibawah ini.
DESAIN ANALISIS ALGORITMA
"QUEUE"
Oleh : Kelompok 3
Ni Luh Putu Moni Lestari (1615051005)
Dewa Ketut Satriawan Suditresna Jaya (1615051046)
Nyoman Juli Budiartawan (1615051033)
Ni Luh Dinda Ajeng Wahyuni (1615051021)
Ricky Darmawan (1615051011)
Kelas: 3B
JURUSAN PENDIDIKAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN KEJURUAN
UNIVERSITAS PENDIDIKAN GANESHA
SINGARAJA
2017
KATA PENGANTAR
Puji dan Syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, alasannya yaitu atas berkat limpahan rahmat dan karunia-Nya, kami sanggup menyusun makalah ini sempurna pada waktunya. Topik yang secara umum kami bahas dalam makalah ini yaitu queue.
Makalah ini dibentuk dengan aneka macam observasi dan dukungan dari aneka macam pihak untuk membantu menuntaskan tantangan dan kendala selama mengerjakan makalah ini. Oleh alasannya yaitu itu, kami mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Yth. Bapak I Made Dendi Maysanjaya, S.Pd., M.Eng selaku dosen mata kuliah Desain dan Analisis Algoritma, dan
2. Teman-teman sejawat yang telah membantu kami dalam menuntaskan Makalah perihal teori dan model pengembangan kurikulum.
Kami menyadari bahwa masih banyak kekurangan yang fundamental pada makalah ini. Namun, besar impian kami supaya makalah ini sanggup dipahami dan memberi kebermanfaatan bagi siapapun yang membacanya Sebelumnya kami mohon maaf apabila terdapat kesalahan maupun hal - hal yang kurang berkenan dari makalah ini dan kami memohon kritik dan saran yang membangun demi perbaikan di masa depan.
Singaraja, 1 Desember 2017
(Penulis)
DAFTAR ISI
HALAMAN JUDUL i
KATA PENGANTAR ii
DAFTAR ISI iii
BAB I PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Tujuan Penulisan 2
1.4 Manfaat 2
1.3 Metode Penulisan 2
BAB II PEMBAHASAN
2.1 Pengertian Queue 4
2.2 Karakteristik Queue 5
2.3 Representasi dari Queue 5
2.4 Queue Dalam Program 11
2.5 Penerapan Queue 13
2.6 Antrean Berprioritas 15
2.7 Kekurangan dan Kelebihan Queue 16
BAB III PENUTUP
3.1 Kesimpulan 17
DAFTAR PUSTAKA
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam terminology pemrogaman berorientasi objek, pada umumnya kita mengenal suatu struktur data bentukan pengguna yang disebut sebagai ADT (Abstrak Data Type), yang merupakan pengganti struktur data primitive yang telah terdefinisi dalam Bahasa pemrograman tertentu (misalnya int,String, dan sebagainya). Dalam potongan ini kita akan mempelajari beberapa ADT Statis (ADT yang memakai lokasi memory secara tetap) ADT yang kita pelajari potongan ini yaitu QUEUE atau ANTREAN.
Antrean dalam ilmu komputer bermakna sama dengan antrean pada kehidupan nyata. Ada antrean konsumen di sebuah bank atau di supermarket, dan ada pula antrean kendaraan di pintu masuk tol. Sama halnya dengan komputer sanggup mengirimkan seruan cetak lebih cepat daripada kemampuan printer dalam mencetak, antrean dokumen sering kali terjadi pada sebuah printer. Aturan umum dalam memproses elemen – elemen sebuah antrean yaitu bahwa elemen terdepan antrean dilayani lebih dulu dan elemen yang paling belakang akan dilayani setelah elemen – elemen lain di depannya diproses. Jadi, antrean yaitu sebuah struktur data FIFO (First In, First Out). Antrean mempunyai banyak aplikasi dalam ilmu komputer. Kapan pun sebuah sistem dimodelkan memakai prinsip FIFO, antrean niscaya digunakan.
Queue merupakan masalah khusus ordered list. Dengan karakteristik terbatas itu maka kita sanggup melaksanakan meningkatkan secara optimal representasi ADT Queue untuk memperoleh kerja paling optimal. Namun sebagai mahasiswa bidang komputer, tentu kita harus bisa mengkomputerkan apapun dari dunia nyata. Untuk itu kita perlu memahami perihal struktur data queue, operasi – operasi pada struktur data queue, dan bagaimanakah kita bisa mengimplementasikan operasi – operasi struktur data queue tersebut kedalam bahasa pemograman, disini kita bahas bahasa pemograman C.
1.2 Rumusan Masalah
Rumusan duduk kasus menurut latar belakang yang dipaparkan diatas yaitu sebagai berikut:
1. Apa definisi queue?
2. Bagaiman karakteristik dan representasi stuktur data queue?
3. Bagaimana mengimplementasikan struktur data queue dalam bahasa C?
4. Apa saja pola aplikasinya dalam kehidupan sehari-hari?
5. Apa itu antrean berprioritas?
6. Apa saja kelebihan dan kekurangan queue?
1.3 Tujuan
Tujuan pembuatan laporan ini adalah agar mahasiswa memahami perihal struktur data queue, dan mengerti bagaimana cara mengimplemetasikan dalam bahasa pemograman. Dansebagai syarat pemenuhan kiprah dalam mata kuliah Desain dan Analisis Algoritma, sekaligus bisa memperlihatkan pendidikan dasar bagi penulis supaya lebih banyak tahu perihal queue.
1.4 Manfaat
Penulisan makalah ini diharapkan sanggup memperlihatkan manfaat kepada semua pihak, khususnya kepada mahasiswa untuk menambah pengetahuan dan wawasan. Adapaun manfaat penulisan makalah ini yaitu sebagai berikut :
1. Dapat memahami pengertian struktur data queue
2. Dapat memahami cara pengoperasian struktur data queue
3. Dapat mengimplementasikan struktur data queue ke dalam bahasa C
4. Dapat mengetahui aplikasi struktur data queue dalam kehidupan sehari – hari.
5. Dapat mengetahui kekurangan dan kelebihan queue
1.5 Metode Penulisan
Metode penulisan yang kami pakai dalam menyusun makalah ini adalah:
1. Metode pustaka
Kami memakai metode pustaka alasannya yaitu penyusunan makalah ini dilakukan dengan mempelajari dan mengumpulkan data yang yang bersumber dari pustaka buku, jurnal ilmiah, dan informasi di internet. Data dikumpulkan dari aneka macam literatur ,lalu disusun, dianalisis dan dijelaskan kemudian disimpulkan.
BAB II
PEMBAHASAN
Queue jika diartikan secara harfiah, queue berarti antrean, Queue merupakan suatu struktur data linear. Konsepnya hampir sama dengan Stack, perbedaannya yaitu operasi penambahan dan abolisi pada ujung yang bebeda. Pada Stack atau tumpukan memakai prinsip “Masuk terakhir keluar pertama”atau LIFO (Last In First Out), Maka pada Queue atau antrean prinsip yang digunakan yaitu “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out). Data-data di dalam antrean sanggup bertipe integer, real, record dalam bentuk sederhana atau terstruktur.
Queue (antrean) yaitu salah satu list linier dari struktur data yang beroperasi dengan cara First In First Out (FIFO) yaitu elemen pertama yang masuk merupakan elemen yang pertama keluar. Contohnya, ialah dalam sebuah antrean pembelian tiket bagi yang pertama masuk maka beliau pulalah yang pertama keluar/selesai. Untuk penyisipan (INSERT) hanya sanggup dilakukan pada satu sisi yaitu sisi belakang (REAR), sedangkan untuk abolisi (REMOVE) pada sisi depan (FRONT) dari list.
Queue/antrean adalah ordered list dengan penyisipan di satu ujung, sedang abolisi di ujung lain. Ujung penyisipan biasa disebut rear/tail, sedang ujung penghapusa disebut front/head. Fenomena yang muncul yaitu elemen yang lebih dulu disisipkan akan juga lebih dulu diambil. Queue merupakan masalah khusus ordered list. Dengan karakteristik terbatas itu maka kita sanggup melaksanakan meningkatkan secara optimal representasi ADT Queue untuk memperoleh kerja paling optimal.
Misalnya Queue Q= (a1,a2,a3…,an), maka:
1. Elemen a1 yaitu elemen paling depan
2. Elemen ai yaitu diatas elemen ai-1, di mana 1<i<n.
3. Elemen an yaitu elemen paling belakang.
Head (Front) menunjuk ke awal antrean Q (elemen terdepan), sedangkan tail (rear)menunjuk selesai antrean Q (elemen paling belakang). Disiplin FIFO pada Queue berimplikasi kalau elemen A, B, C, D, E dimasukkan ke Queue, maka penghapusan/ pengambilan elemen akan terjadi dengan urutan A, B, C, D, E.
Sebagai gambaran, cara kerja queue dapat disamakan pada sebuah antrean di suatu loket dimana berlaku prinsip ‘Siapa yang duluan antre beliau yang akan pertama kali dilayani‘, sehingga sanggup dikatakan prinsip kerja queue sama dengan prinsip sebuah antrean.
Karakteristik penting antrean sebagai berikut:
1. Elemen antrean yaitu item-item data yang terdapat di elemen antrean.
2. Head/Front (elemen terdepan dari antrean).
3. Tail/Tear (elemen terakhir dari antrean).
4. Jumlah elemen pada antrean (count).
Ada beberapa kondisi yang bisa kita temukan dalam queue. Kondisi antrean yang menjadi perhatian adalah:
1. Penuh
Bila elemen di antrean mencapai kapasitas maksimum antrean. Pada kondisi ini, mustahil dilakukan penambahan ke antrean. Penambahan elemen menyebabkan kondisi kesalahan Overflow.
2. Kosong
Bila tidak ada elemen di antrean. Pada kondisi ini, mustahil dilakukan pengambilan elemen dari antrean. Pengambilan elemen menyebabkan kondisi kesalahan Underflow.
1. Queue dengan memakai Array Statis
Di bawah ini diperlihatkan suatu queue yang akan menempati N elemen array memori, serta cara pengurangan (delete) dan penambahan (added) elemen pada queue tersebut.
|








Rear : 4
1 2 3 4 5 6 7 ..... N
REMOVE(Q)
|








Rear : 4
1 2 3 4 5 6 7 ..... N
INSERT(INSERT(E),F)
|








Rear : 6
1 2 3 4 5 6 7 ..... N
REMOVE(Q)
|








Rear : 6
1 2 3 4 5 6 7 ..... N
Dapat dilihat bahwa setiap terjadi abolisi elemen pada queue nilai (index) dari Front bertambah satu (1) ; sanggup ditulis FRONT := FRONT+1
Begitu pula bila terjadi penambahan elemen pada queue nilai (index) Rear bertambah satu (1) sanggup ditulis REAR := REAR + 1
Akan terjadi ketidakefisienan bila penambahan elemen sudah pada posisi index N (Rear = N) maka tidak sanggup lagi dilakukan penambahan elemen, sedangkan dilokasi memori yang lain (nilai di bawah N) masih terdapat memori array yang kosong.
Dengan memakai array, maka overflow sanggup terjadi kalau antrean telah penuh , sementara masih ingin menambah elemen ke dalam antrina. Dengan mengabaikan adanya overflow, maka penambahan elemen gres yang dinyatakan oleh var x sanggup diimplementasikan dengan statemen :
belakang := belakang + 1;
antrean [belakang] := x;
Operasi abolisi bias diimplementasikan dengan ;
x := antrean [depan];
depan := depan + 1;
Pada gambar (a) posisi depan = 1 dan belakang = 0. Pada gambar (b) keadaan setelah penambahan empat buah elemen dimana posisi depan = 1 dan belakang = 4. Pada gambar (c) keadaan setelah abolisi dua buah elemen dimana posisi depan = 3 dan belakang = 4. Pada gambar (d) keadaan setelah penambahan dua buah elemen diamana posisi depan = 3 dan belakang = 5.
Jika akan ditambah elemen baru, maka nilai belakang harus ditambah satu menjadi 6. Sedangkan larik antrean tersebut hanya terdiri dari 6 elemen sehingga tidak bias ditambah lagi meskipun tolong-menolong larik tersebut masih kosong di dua tempat. Oleh alasannya yaitu itu dilakukan dengan metoda penggeseran dimana kalau ada elemen yang dihapus, maka semua elemen lain digeser sehingga antrean selalu dimulai dari depan = 1.
x := antrean [1];
for i := 1 to belakang-1 do begin
antrean [ i] := antrean [i +1];
end;
Pada gambar (a) posisi depan = 1 dan belakang = 0. Pada gambar (b) keadaan setelah penambahan empat buah elemen dimana posisi depan = 1 dan belakang = 4. Pada gambar (c) keadaan setelah abolisi dua buah elemen dimana posisi depan = 1 dan belakang = 2. Pada gambar (d) keadaan setelah penambahan dua buah elemen dimana posisi depan = 1 dan belakang = 4. Cara penggeseran elemen tidak efisien untuk larik berukuran besar. Oleh alasannya yaitu itu dilakukan dengan larik yang menyimpan elemen antrean sebagai larik memutar (circular).
1. Circular Queue
Anggap Queue ini mempunyai ukuran m elemen. Karena sisip elemen di lakukan pada satu sisi dan hapus elemen dilakukan pada sisi yang lain, maka Q(m) disatukan dengan Q(1) {adjacent}.
Pada gambar di bawah, elemen-elemen queue menduduki kawasan Q(f) hingga dengan Q(r) dimana pointer Front menunjuk ke Q(f) dan pointer REAR menunjuk ke Q(r). Kondisi overflow terjadi kalau (r+1) mod m = f dan kondisi underflow terjadi jika r = f = 0
| | | | | | | | |
Q(1) | Q(2) | ...... | Q(f) | Q(f+1) | ...... | Q(r) | ...... | Q(m) |
Ket. Gambar diarsir yaitu kawasan kedudukan elemen-elemen queue dari
Q(f) hingga Q(r)
Contoh :
Suatu queue akan menempati lokasi sebanyak 5 array memori, dengan urutan operasi sebagai berikut :





R = 0
1 2 3 4 5
|




R = 3
|




R = 3
|




R = 5
|




R = 5
|




R = 1
|




R = 1
|




R = 4
|




( OVERFLOW ) R = 4
|




R = 4
|




R = 5
|




R = 5
|




R = 0
|




R = 0
( UNDERFLOW )
3. Queue dengan Linked-List
Selain memakai array, queue juga sanggup dibentuk dengan linked list. Metode linked list yang digunakan yaitu double linked list. Operasi-operasi Queue dengan Double Linked List:
1. IsEmpty
Fungsi IsEmpty berkhasiat untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih memperlihatkan pada Null atau tidak. Jika benar berarti queue masih kosong.
2. IsFull
Fungsi IsFull berkhasiat untuk mengecek apakah queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.
3. EnQueue
Fungsi EnQueue berkhasiat untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).
4. DeQueue
Procedure DeQueue berkhasiat untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).
- Pseudocode
Program Queue_Menggunakan_Array(queue[max]:integer):integer
{Algoritma untuk melaksanakan enqueue, dequeue, menampilkan data queue dan menghapus queue.
Asumsi: Nilai max diinputkan oleh user}
Kamus
queue[max]:integer;
depan=0, belakang=-1, pilih, data, i:integer;
*poin:integer;
Algoritma
Output(Masukkan maksimal antrean :);
Input(max);
Input(pilih);
Switch(pilih){
Case 1: if (belakang<max-1){
Input (data);
queue[belakang+1]=data;
belakang++;
}
else{
Print(“queue penuh”);
}
Break;
Case 2:
if(belakang>=depan) {
print("Data Keluar = %d", queue[depan]);
for(i=depan;i<belakang;i++){
queue[i]=queue[i+1];
}
belakang--;
} else
{
print("Queue Kosong ");
}
Break;
Case 3:
if(belakang>=depan) {
print(" Data Antrean : ");
for(i=depan;i<=belakang;i++){ print(" %d ", queue[i]);
}
} else
{
printf("\n Queue Kosong\n");
}
Break;
Case 4:
if(belakang>=depan){
poin=&belakang;
*poin=-1;
}
else {
print("\n Antrean Kosong, Gimana Mau bubarin !!!\n");
}
Break;
Case 5:
return 0;
default:
printf("\n Maaf, pilihan anda tidak ada\n");
}
}while(pilih!=5);
End.
“Contoh kegiatan dan penjelasannya ada pada file source code beserta flowchartnya ada dalam satu folder ini”
1. Dalam kehidupan Sehari -hari
§ Pada Pembelian Tiket
Dalam kehidupan sehari-hari kita bisa dapati melalui penerapan pembelian tiket kereta api, tiket pesawat, tiket kapal laut, pembayaran tiket tol, pembayaran listrik, pembayaran air, dan lain sebagainya. Saat mengantri di loket untuk membeli tiket. Istilah yang cukup sering digunakan seseorang masuk dalam sebuah antrean yaitu enqueue. Dalam suatu antrean, yang tiba terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering digunakan bila seseorang keluar dari antrean yaitu dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus mempunyai operasi-operasi sebagai berikut :
a. EnQueue : Memasukkan data ke dalam antrean
b.DeQueue : Mengeluarkan data terdepan dari antrean
c. Clear : Menghapus seluruh antrean
d. IsEmpty : Memeriksa apakah antrean kosong
e. IsFull : Memeriksa apakah antrean penuh
Aplikasi dalam pembelian tiket kereta api :
· Enqueue : Seseorang membeli tiket melalui kawasan pembayaran tiket yang disediakan.
· Dequeue : Setelah membeli tiket, eksklusif menuju kawasan penungguan kereta, dengan sebelumnya petugas mengusut cek tiket tersebut.
· Clear : Pembeli tiket tersebut telah terhapus dari antrean alasannya yaitu sudah melewati pembayaran manajemen tersebut.
· IsEmpty : Petugas tiket Kereta melihat tidak ada lagi yang ingin membeli tiket kereta.
· IsFull : Petugas Tiket Kereta melihat masih ada pembeli tiket kereta.
2. Dalam aplikasi Komputer
§ Pada Aplikasi Download Manager IDM
Queue juga digunakan sebagai salah satu fitur dari Internet Download Manager atau yang biasa disebut dengan IDM. Fitur ini sangat membantu bagi para pecinta download. Fitur ini akan membantu pengguna untuk mendownload file yang anda pilih satu-persatu, jadi sebanyak apapun anda mendownload, tetapi akan tetap dibentuk antrean atau istilahnya queueing. Sistem yang diterapkan dalam fitur ini yaitu pada ketika download file, maka IDMakan mendownload satu per satu, hingga download file selesai maka gres akan secara otomatis mendownload file berikutnya.
§ Printer Sharing
Pada suatu jaringan terdapat beberapa aplikasi yang sanggup membantu kita untuk mempermudah pekerjaan kita untuk melaksanakan cetak hanya dengan memakai 1 printer yang sanggup digunakan oleh banyak orang yaitu dengan cara printer sharing. Aplikasi ini memakai cara kerja queue atau juga disebut dengan antrean, untuk mencetak suatu document yang hanya memakai 1 printer yang sanggup diakses oleh orang banyak, penggunaan queue diharapkan untuk mengatur sistem jaringan supaya tidak terjadi error, dengan cara siapa yang terlebih dahulu mencetak suatu dokumen, beliau akan dilayani terlebih dahulu untuk mencetak dokumen dan kalau ada seseorang yang ingin mencetak dokumen beliau akan dimasukan kedalam antirian dan menunggu untuk sanggup mencetak sebuah document.
3. Sistem Produksi
Dalam sistem produksi terdapat banyak sekali aplikasi antrean, contohnya pada mesin pengisi (filling) botol minuman otomatis di pabrik. Mesin ini digunakan supaya mempermudah pekerjaan, meminimalisir waktu, dan masih banyak lagi manfaat lainnya. Cara kerja dari mesin filling otomatis ini yaitu :
1. Beberapa botol disiapkan pada tempatnya.
2. Kemudian mesin akan mengisi air kedalam botol sesuai dengan posisinya.
3. Botol yang diletakkan paling depan akan diisi oleh mesin paling awal, setelah botol paling depan terisi gres akan berjalan ke botol yang dibelakangnya, dan seterusnya.
Prinsip queue atau antrean digunakan dalam mesin ini, alasannya yaitu FIFO (First In First Out). Kaprikornus botol yang paling awal/depan hingga pada pengisi air, maka botol itu juga yang akan pertama keluar/diisi.
Dalam antrean yang telah dibahas di atas, semua elemen yang masuk dalam antrean dianggap mempunyai prioritas yang sama, sehingga elemen yang masuk lebih dahulu akan diproses lebih dahulu. Dalam praktek, elemen-elemen yang akan masuk dalam suatu antrean ada yang dikatakan mempunyai prioritas yang lebih tinggi dibanding yang lain. Antrean yang demikian ini disebut dengan antrean berprioritas (priority queue). Dalam antrean berprioritas, setiap elemenn yang akan msuk dalam antrean sudah ditentukan lebih dahulu prioritasnya.
Dalam hal ini berlaku dua ketentuan, yaitu:
1. Elemen-elemen yang mempunyai prioritas lebih tinggi akan diproses lebih dahulu.
2. Dua elemen yang mempunyai prioritas sama akan dikerjakan sesuai dengan urutan pada ketika kedua elemen ini masuk dalam antrean.
Dengan memperhatikan kedua ketentuan di atas, akan berlaku ketentuan bahwa elemen yang mempunyai prioritas lebih tinggi akan dikerjakan lebih dahulu dibanding elemen yang mempunyai prioritas lebih rendah, meskipun elemen yang berprioritas tinggi masuknya sehabis elemen yang berprioritas rendah. Salah satu pola antrean berprioritas ini yaitu pada sistem membuatkan waktu (time-sharing system) dimana kegiatan yang mempunyai prioritas tinggi akan dikerjakan lebih dahulu dan program-program yang berprioritas sama akan membentuk antrean biasa.
Ada beberapa cara untuk mengimplementasikan antrean berprioritas. Salah satu caranya yaitu dengan memakai linked list. Jika kita memakai linked list, khususnya single linked list atau double linked list, maka ada ketentuan lain yang perlu diperhatikan, yaitu: 1. Setiap node dari linked list terdiri tiga bagian, yaitu potongan informasi, angka prioritas dan bagian-bagian penyambung ke simpul lain. 2. Simpul X mendahului (terletak di sebelah kiri) simpul Y, kalau prioritas X lebih tinggi dibanding prioritas Y atau kalau prioritas X dan Y sama, maka simpul X tiba lebih dahulu dibanding dengan Y. Biasanya dibentuk suatu perjanjian bahwa angka prioritas yang lebih kecil memperlihatkan derajad prioritas yang lebih tinggi. Sebagai contoh, kalau angka prioritas pada simpul X yaitu 1 dan pada simpul Y yaitu 2, maka dikatakan bahwa simpul X berprioritas lebih tinggi dibanding dengan simpul Y.
§ Kelebihan
Data yang pertama masuk maka akan pertama dilayani
§ Kekurangan
Data yang terakhir masuk, bila waktu pelayanan habis kemungkinan bisa tidak dilayani
BAB III
PENUTUP
3.1 Kesimpulan
Kaidah utama dalam konsep queue (antrean) yaitu FIFO (First In First Out). Artinya yang pertama kali dimasukkan atau disimpan, maka data tersebut yang pertama kali diakses atau dikeluarkan.
Queue (antrean) yaitu salah satu list linier dari struktur data yang beroperasi dengan cara First In First Out (FIFO) yaitu elemen pertama yang masuk merupakan elemen yang pertama keluar. Data-data di dalam antrean sanggup bertipe integer, real, record dalam bentuk sederhana atau terstruktur. Queue dilakukan dengan cara penyisipan di satu ujung, sedang abolisi di ujung lain. Ujung penyisipan biasa disebut rear/tail, sedang ujung penghapusa disebut front/head.
Sebuah queue dalam kegiatan setidaknya harus mengandung tiga variabel, yakni: head untuk penanda potongan depan antrean, tail unttuk penanda potongan belakang antrean, danarray data untuk menyimpan data-data yang dimasukkan ke dalam queue tersebut.
Pada queue ada operasi – operasi dasar, yaitu: prosedur create untuk menciptakan queue gres yang kosog, fungsi IsEmpty untuk mengecek queue tersebut kosong atau tidak, fungsiIsFull untuk mengecek queue tersebut penuh atau tidak, prosedur EnQueue untuk memasukkan data kedalam queue, prosedur DeQueue untuk mengeluarkan sebuah elemen pada posisi headdari queue, fungsi clear untuk menghapus elemen queue, dan prosedur tampil untuk menampilakn elemen yang ada pada queue.
DAFTAR PUSTAKA
Munir,Rinaldi. 2011. Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Edisi Revisi).Bandung: Informatika.
Gunadarma.ac.id,“Queue(Antrean)”,https://lily.staff.gunadarma.ac.id/Downloads/files/26801/bab4-queue.pdf (diakses 1 Desember 2017).
Pens.ac.id,“Antrean(Queue)”,https://entin.lecturer.pens.ac.id/...%20Algoritma/.../Data%20Structure%20-%20Bab%204.pdf (diakses 1 Desember 2017).
Unikom.ac.id,“Queue(Antrean)”,https://repository.unikom.ac.id/42259/1/pertemuan%203.pdf (diakses 1 Desember 2017).
Stimata.ac.id,“Queue(Antrean)”,https://staffsite.stimata.ac.id/assets/uploads/files/download/385cb-queue.pdf (diakses 1 Desember 2017).
Rosadi,Aqwam.”Queue”,https://aqwamrosadi.staff.gunadarma.ac.id/Downloads/files/13572/Q+U+E+U+E.doc (diakses 1 Desember 2017).
UNTUK MENGATASI DOKUMEN YANG TIDAK RAPI SOBAT BISA MENDOWNLOAD FILE MAKALAH INI DISINI