Coding Queue Array Dalam Java
Masih ingatkan kawan-kawan dengan postingan aku yang berjudul Coding Stack Array Dalam Bahasa Java . Disitu kita telah berguru bagaimana menciptakan sebuah stack dengan array . Kita juga telah membahas apa itu konsep LIFO (Last In First Out). Nah kali ini pembahasan kita yakni ihwal Queue yang konsepnya hampir ibarat mirip stack .
Apa itu Queue ???
Dalam bahasa indonesia queue yakni antrian . Ngomongin soal antrian si oso ada dongeng ni hari ini .
Ceritanya si oso sedang jalan-jalan ni di pasar . Dari jauh ia lihat ada antrian panjang , ia pun mendekat sebab ingin tahu ada apa . Ternyata ada pembagian buah gratis di depan , alhasil si oso pun ikut tertarik untuk ikut masuk antrian walaupun antrianya tidak mengecewakan banyak . Sedikit demi sedikit antrian pun berjalan , si oso melihat di ujung antrian paling depan . Setelah akseptor yang paling ujung keluar dari antrian , posisi yang paling depan di ganti oleh akseptor yang di belakangnya . Setelah agak usang mengantri usang alhasil oso pun mendapat buah dan memakanya dengan lahap .
Dari dongeng si oso kita mendapat citra 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 menciptakan Queue di java???
Sama ibarat kita menciptakan stack, aku juga masih akan menciptakan queue dengan memakai array . Tentunya kawan-kawan harus paham dulu ihwal array , yang belum paham baca dulu ya cara memakai array.
Buat array dan beberapa variabel yang di perlukan ibarat 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 ibarat 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 ibarat di stack .
Yang berbeda hanya fungsi dequeue , yaitu ibarat 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 penggalan depan yakni data yang pertama kali dimasukan dan penggalan belakang yakni yang terakhir di masukan . Kalo di stack yang di keluarkan yang penggalan belakang dahulu sedangkan kalo di queue yang di keluarkan yakni yang penggalan 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 kini : "); 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 hasilnya ibarat ini .
Itu dulu pembahasan ihwal queue dengan array di java . Masih banyak budi yang sanggup di gunakan untuk menciptakan queue , semangat berguru . Untuk coding di atas silahkan di download dibawah ini .
0 Response to "Coding Queue Array Dalam Java"
Post a Comment