Coding Queue Array Dalam Java

31 views

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 ialah wacana Queue yang konsepnya hampir ibarat mirip stack .

Apa itu Queue ???
Dalam bahasa indonesia queue ialah 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 alasannya ialah ingin tahu ada apa . Ternyata ada pembagian buah gratis di depan , karenanya 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 penerima yang paling ujung keluar dari antrian , posisi yang paling depan di ganti oleh penerima yang di belakangnya . Setelah agak usang mengantri usang karenanya oso pun mendapat buah dan memakanya dengan lahap .
Dari dongeng si oso kita mendapat citra apa itu antrian . Konsep yang di pakai antrian ialah 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 wacana 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 bab depan ialah data yang pertama kali dimasukan dan bab belakang ialah yang terakhir di masukan . Kalo di stack yang di keluarkan yang bab belakang dahulu sedangkan kalo di queue yang di keluarkan ialah yang bab depan . Untuk itu kita memerlukan variabel down sebagai penunjuk perpindahan.
Bagian terpenting selanjutnya ialah 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 wacana queue dengan array di java . Masih banyak logika yang sanggup di gunakan untuk menciptakan queue , semangat berguru . Untuk coding di atas silahkan di download dibawah ini .


Sumber http://tutorialjava-mudah.blogspot.com/

Author: 
    author
    No related post!