Queue pada Struktur Data atau antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisibelakang(rear), dan penghapusan(pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front).
Pada Stack atau tumpukan menggunakan prinsip“Masuk terakhir keluar pertama”atau LIFO (Last In First Out), Maka pada Queue atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out).
Queue atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex: antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll.
Contoh lain dalam bidang komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah pemakai yang akan menggunakan sistem tersebut secara serempak.
Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
- Elemen antrian
- Front (elemen terdepan antrian)
- Tail (elemen terakhir)
- Jumlah elemen pada antrian
- Status antrian
Operasi pada Queue atau antrian
1. tambah(menambah item pada belakang antrian)
2. hapus (menghapus elemen depan dari antrian)
3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
1. tambah(menambah item pada belakang antrian)
2. hapus (menghapus elemen depan dari antrian)
3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
Operasi-operasi Queue :
1. Create()
Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1
1. Create()
Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1
2.IsEmpty()
Untuk memeriksa apakah Antrian sudah penuh atau belum
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
Kita tidak memeriksa Head, karena 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.
Untuk memeriksa apakah Antrian sudah penuh atau belum
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
Kita tidak memeriksa Head, karena 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.
3.IsFull
Untuk mengecek apakah Antrian sudah penuh atau belum. Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh
Untuk mengecek apakah Antrian sudah penuh atau belum. Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh
4.Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang. Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang. Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu
5.Dequeue()
Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian
Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1
Penggeseran dilakukan dengan menggunakan looping.
Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian
Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1
Penggeseran dilakukan dengan menggunakan looping.
6.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
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
7.Tampil()
Untuk menampilkan nilai-nilai elemen Antrian
Menggunakan looping dari head s/d tail
Untuk menampilkan nilai-nilai elemen Antrian
Menggunakan looping dari head s/d tail
Referensi :
34 komentar
komentarNama : Fajar Zuhri Hadiyanto
ReplyNRP : 5025201248
Link : https://fajarzuhrihadiyanto.blogspot.com/2021/04/konversi-ekspresi-infix-ke-ekspresi.html
Nama : Anggito Anju Hartawan Manalu
ReplyNRP : 5025201216
Link : https://anggitoanju.blogspot.com/2021/04/programming-in-java-mengubah-ekspresi.html
Nama : Haniif Ahmad Jauhari
ReplyNRP : 5025201224
Link : https://haniifahmadjauhari.blogspot.com/2021/04/tugas-struktur-data-21-april-2021.html
Nama : Ryo Hilmi Ridho
ReplyNRP : 5025201192
Link https://ryohilmiridho.blogspot.com/2021/04/tugas-implementasi-infix-to-postfix.html
Nama : Nabila Zakiyah Khansa' Machrus
ReplyNRP : 5025201139
Link : https://nabilayasha.blogspot.com/2021/04/tugas-21-april-2021.html
Nama : Bagus Febrian Dali Hidayat
ReplyNRP : 5025201208
Link : https://bagusfebrian25.blogspot.com/2021/04/infix-ke-postfix-menggunakan-stack-dan.html
Nama: Abd. Wahid
ReplyNRP: 5025201039
Link: https://wahidnesia.blogspot.com/2021/04/mengubah-ekspresi-infix-menjadi-postfix.html
Nama : Muhammad Andi Akbar Ramadhan
ReplyNRP : 5025201264
Link : https://andiakbar264.blogspot.com/2021/04/implementasi-pengubahan-infix-menjadi.html
Nama : Reza Maranelo Alifiansyah
ReplyNRP : 5025201071
Link : https://rmaranelo.blogspot.com/2021/04/tugas-implementasi-infix-ke-postfix.html
Nama: Julio Geraldi Soeiono
ReplyNRP: 5025201079
Link: https://juliogeraldigg.blogspot.com/2021/04/infix-to-postfix-java.html
Nama : Cahyadi Surya Nugraha
ReplyNRP : 5025201184
Link : https://cahyadisuryanugraha.blogspot.com/2021/04/java-penggunaan-konsep-queue-dan-stack.html
Nama : Ilma Fahma Syadidah
ReplyNRP : 5025201063
Link : https://ilmafsy.blogspot.com/2021/04/tugas-mengubah-infix-ke-postfix.html
Nama : Frederick Wijayadi Susilo
ReplyNRP : 5025201111
Link : https://frederickws.blogspot.com/2021/04/konversi-operasi-bentuk-infix-ke-bentuk.html
Nama : Zidan Al Azizi
ReplyNRP : 5025201014
Link : https://zidanalazizi27.blogspot.com/2021/04/konversi-ekspresi-infix-ke-postfix.html
Nama : Sidrotul Munawaroh
ReplyNPR : 5025201047
Link : https://sidrotulmunawaroh.blogspot.com/2021/04/ubah-ekspresi-infiks-menjadi-notasi.html
Nama : Joy Posma Abednego Gultom
ReplyNRP : 5025201103
Link : https://joygoeltom.blogspot.com/2021/04/implementasi-infix-menjadi-postfix.html
Nama : Ahmad Ibnu Malik Rahman
ReplyNRP : 5025201232
Link : https://ibnumalik12.blogspot.com/2021/04/mengubah-ekspresi-infix-ke-postfix.html
Nama: Afira Rolobessy
ReplyNRP: 5025201006
LINK:https://afira03.blogspot.com/2021/04/ekspresi-infix-ke-ekspresi-postfix.html
Nama: Ferdinand Putra Gumilang Silalahi
ReplyNRP: 5025201176
Link https://gumilangsilalahi.blogspot.com/2021/04/notasi-infix-ke-postfix.html
Nama : Angela Oryza Prabowo
ReplyNRP : 50225201022
Link : https://angelaoryza.blogspot.com/2021/04/infix-to-postfix.html
Nama : Mohammad Fadhil Rasyidin Parinduri
ReplyNRP : 5025201131
Link : Infix, Postfix, and Prefix Expressions in Java
Nama : Stenly Saut Martua
ReplyNRP : 5025201095
Link : https://stenlyambarita.blogspot.com/2021/04/queue.html
Nama : Samuel Berkat Hulu
ReplyNRP : 5025201055
Link : https://samuelberkathulu.blogspot.com/2021/04/tugas-struktur-data-21-april-2021.html
Nama: Adelia Hasna Surya Putri
ReplyNRP: 5025201200
Link: https://adeliahasnasp.blogspot.com/2021/04/penugasan-5-queue.html
Nama : Mohammad Nouval Bachrezi
ReplyNRP : 5025201030
Link : https://mohammadnouvalbachrezi.blogspot.com/2021/04/28042021-mengubah-ekspresi-infix-ke.html
Nama : Afiq Akram
ReplyNRP : 5025201270
Link : https://afiqakraam.blogspot.com/2021/04/implementasi-infix-to-postfix.html
Nama : Sarah Alissa Putri
ReplyNRP : 5025201272
Link : https://sharrju.blogspot.com/2021/04/struktur-data-tugas-mengubah-infix-ke.html
Nama : Rafael Asi Kristanto Tambunan
ReplyNRP : 5025201168
Link : https://rafaelaktambunan.blogspot.com/2021/04/postfix-dan-infix.html
Nama : Daniel Hermawan
ReplyNRP : 5025201087
Link : https://danielportofolio.blogspot.com/2021/05/tugas-ngoding-di-java-5.html