Bisa dilihat Dari Ilustrasi gambar tersebut dalam dunianyata Untuk memasukin Sebuah Loket Tentu anda harus mengantrai. Jadi Jika Seseorang mendapatkan Antraian no 1 maka secara otomatis seseorang tersebutlah yang boleh masuk terlebih dahulu bukan no antraian no 2 ataupun 4. Itulah yang disebut Konsep FIFO. Selain itu ada beberapa Contoh – Contoh penerapan Konsep Queue ( Antraian ) dalam dunia nyata seperti berikut :
1. Penjualan karcis kereta, bioskop
2. Penjadualan pencetakan (spooling system)
3. Penjadualan pemakaian CPU
4. Penyimpan barang di Apotek
Dalam Struktur Data Konsep Queue ada prosesnya yaitu seperti terdapat satu buah pintu masuk di suatu ujung dan satu biah pintu keluar diujung satunya. Maka dalam hal itu memerlukan 2 variabel yaitu Head dan Tail seperti gambar berikut :
Jika dimodelkan Ilustrasi Proses Konsep Queue Dalam Struktur Data maka digambarkan seperti berikut :
Jadi Dari 3 Gambar Proses diatas merupakan Proses Queue pada Saat Kosong , Pemberian 1 Elemn dan Juga 4 Elemen. Dari Gambar diatas juga terlihat Head -1 pada Saat Kosong dan pada Saat pengisian 1 elemen. Maka Nilai Head menjadi 0. Kemudian jika diisi elemen Lain maka Nilai Tailnya yang terupdate.
Adapun operasi – Operasi Queue dalam Struktur Data yaitu :
1. Create()
2. IsEmpty()
3. IsFull()
4. Enqueue ( tambah )
5. Dequeue ( ambil )
6. Clear()
7. Tampil()
1. Create()
Pada Operasi ini berguna untuk menciptakan dan mengisilaisasi Queue daan juga perlu diatur nilai Head dan Tail menjadi -1. Berikut Deklarasi Queue dalam bahasa C++:
ISEmpty()
Operasi IsEmpty dalam Konsep Queue di Struktur data untuk memeriksa apakah Antrain Kosong Atau tidak yang dimana cara memeriksanya dengan mengecek nilai Tail. Jika Tail = -1 maka dianggap Kosong / Empty. Jadi Sistem Tidak perlu memeriksa Head karena head adalah tanda untuk kepala antraian ( elemen pertama dalam antraian ) yang tidak akan berubah – ubah. Pada Queue dalam Struktur Data pergerakan nilai Tail terjadi dengan adanya penambahan antrian kebelakangnya. Jika Digambarkan IsEmpty dan Algoritmanya dalam bahasa C++ seperti berikut :
IsFull()
IsFull merupakan Operasi Queue dalam Struktur Data untuk mengecek apakah antrian sudah penuh atau belum. Proses pengecekan IsFull yaitu dengan cara mengecek nilai Tail. Apabila Tail >= MAX-1 ( karena MAX -1 adalah batas elemen array pada C ) dianggap sudah penuh. Berikut Gambaran IsFull dan Algoritma dalam Bahasa C++
Enqueue
Enqueue merupakan Proses Queue dalam Struktur data untuk menambahkan elemen ke dalam antrian, penambahan elemen selalu ditambahkan di elemen paling belakang
Dalam proses Penambahan elemen selalu menggerakkan / mengupdate variabel Tail dengan cara Increment Counter Tail Terlebih dahulu.
Berikut Gambaran Enqueue dan Algoritma dalam Bahasa C++
Dqueue()
Dequeue merupakan Proses Queue dalam Struktur Data yang berfungsi untuk menghapus elemen terdepan / pertama ( head ) dari antrian. Yang dimana dengan cara menggese semua elemen antrian kedepan dan mengurangi Tail dengan 1. Biasanya pergerseran dilakukan dengan menggunakan looping. Berikut Gambaran Dequeue() dan Algoritma Dequeue() dalam bahasa C++
Clear()
Operasi Clear() dalam Struktur Data berguna untuk menghapus elemen – elemen antrian dengan cara membuat Tail dan Head = -1. Penghapusan elemen – elemen antrian sebenarnya tidak menghapus arranya namu hanya mengeset Index pengaksesannya ke nilai -1 sehingga elemen – elemen antrian tidak lagi terbaca. Berikut Gambaran Konsep Queue dan Algoritma dalam Bahasa C++ seperti berikut :
Tampil()
Operasi Tampil() dalam Struktur Data berguna untuk menampilkan nilai – nilai elemen antrian. Dan Proses Ini menggunakan Looping dari Head sampai Tail. Berikut Algoritma Operasi Tampil dalam Bahasa C++ seperti berikut :
Dan Untuk Full Source Code Konsep Queue dalam Bahasa C++ seperti berikut :
Demikian Mengenai Pengenalan Konsep Queue dalam Struktur data Semoga bermanfaat
Referensi :
- Antony Pranata, Pemrograman Borland C++, Andi Offset, Yogyakarta
- Moh. Sjukani, Algoritma dan Struktur data dengan C, C++, dan Java, Mitra Wacana Media , 2005
- Walter Savitch , Problem Solving With C++: The Object of Programming, forth edition, Addison Wesley
- Lamhot Sitorus & David J.M. Sembiring, Konsep dan Implementasi Struktur Data dengan C++, Andi Offset, Yogyakarta
- Online Reading, www://cplusplus.com
Share dan Klik Salah Salah satu Iklan untuk Mensupport Website Ini :