Coding Queue Array Dalam Java
Masih ingatkan kawan-kawan dengan postingan saya yang berjudul Coding Stack Array Dalam Bahasa Java . Disitu kita telah mencar ilmu bagaimana membuat sebuah stack dengan array . Kita juga telah membahas apa itu konsep LIFO (Last In First Out). Nah kali ini pembahasan kita yakni perihal Queue yang konsepnya hampir menyerupai seakan-akan stack .
Apa itu Queue ???
Dalam bahasa indonesia queue yakni antrian . Ngomongin soal antrian si oso ada cerita ni hari ini .
Ceritanya si oso sedang jalan-jalan ni di pasar . Dari jauh ia lihat ada antrian panjang , ia pun mendekat alasannya yakni ingin tahu ada apa . Ternyata ada pembagian buah gratis di depan , karenanya si oso pun ikut tertarik untuk ikut masuk antrian walaupun antrianya lumayan banyak . Sedikit demi sedikit antrian pun berjalan , si oso melihat di ujung antrian paling depan . Setelah peserta yang paling ujung keluar dari antrian , posisi yang paling depan di ganti oleh peserta yang di belakangnya . Setelah agak lama mengantri lama karenanya oso pun menerima buah dan memakanya dengan lahap .
Dari cerita si oso kita menerima gambaran apa itu antrian . Konsep yang di pakai antrian yakni FIFO atau Firt In First Out , jadi yang pertama masuk maka ia akan menjadi yang pertama keluar . Konsep ini kebalikan dari konsep LIFO ada stack .
Bagaimana kita membuat Queue di java???
Sama menyerupai kita membuat stack, saya juga masih akan membuat queue dengan menggunakan array . Tentunya kawan-kawan harus paham dulu perihal array , yang belum paham baca dulu ya cara menggunakan array.
Buat array dan beberapa variabel yang di perlukan menyerupai di bawah .
int ar[] = new int [10]; int top = -1; int down = 0;
Ingat di dalam stack dulu ada prosedur untuk push (memasukan data) dan pop(menggeluarkan data) kalo di queue namanya agak beda yaitu enqueue (memasukan data) dan dequeue (mengeluarkan data) .
Kita buat dulu mekanisme enqueue untuk codinnya sama persis menyerupai push di stack cuma namanya saja yang di rubah .
public void enqueue(int angka){ if(!isFull()){ top++; // TOP DI NAIKAN ar[top] = angka; // ANGKA DI ISIKAN System.out.println("Angka " + angka + " berhasil di enqueue"); }else{ System.out.println("Antrian penuh"); } }
Oh ya hampir saja kelupaan , untuk fungsi isFull dan isEmpty sama juga menyerupai di stack .
Yang berbeda hanya fungsi dequeue , yaitu menyerupai ini .
public void dequeue(){ if(!isEmpty()){ int indexDown = down; down++; // DOWN DI NAIKAN System.out.println("Antrian indek " + indexDown + " berhasil di dequeue"); }else{ System.out.println("Antrian kosong"); } }
Kita sepakati dahulu bahwa potongan depan yakni data yang pertama kali dimasukan dan potongan belakang yakni yang terakhir di masukan . Kalo di stack yang di keluarkan yang potongan belakang dahulu sedangkan kalo di queue yang di keluarkan yakni yang potongan depan . Untuk itu kita memerlukan variabel down sebagai penunjuk perpindahan.
Bagian terpenting selanjutnya yakni menampilkan data . Caranya dengan looping for dengan awal variabel down dan batas top .
public void view(){ if(!isEmpty()){ System.out.print("Isi Antrian sekarang : "); for (int i = down; i <= top; i++) { System.out.print( ar[i] + " "); } System.out.println(""); }else{ System.out.println("Antrian kosong"); } }
Lalu buat mainnya .
public static void main(String [] suroso){ KelasAntrian ka = new KelasAntrian(); ka.enqueue(3); ka.view(); ka.enqueue(6); ka.enqueue(7); ka.view(); ka.dequeue(); ka.view(); ka.dequeue(); ka.view(); }
Jika coding di atas di run maka akhirnya menyerupai ini .
Itu dulu pembahasan perihal queue dengan array di java . Masih banyak logika yang mampu di gunakan untuk membuat queue , semangat mencar ilmu . Untuk coding di atas silahkan di download dibawah ini .
Sumber http://tutorialjava-mudah.blogspot.com/