Coding Queue Array Dalam Java

Coding Queue Array Dalam Java


Masih ingatkan kawan-kawan dengan postingan saya yang berjudul Coding Stack Array Dalam Bahasa Java . Disitu kita telah belajar bagaimana membuat sebuah stack dengan array . Kita juga telah membahas apa itu konsep LIFO (Last In First Out). Nah kali ini pembahasan kita adalah tentang Queue yang konsepnya hampir mirip seperti stack .

Apa itu Queue ???

Dalam bahasa indonesia queue adalah antrian . Ngomongin soal antrian si oso ada cerita ni hari ini .

Ceritanya si oso sedang jalan-jalan ni di pasar . Dari jauh dia lihat ada antrian panjang , dia pun mendekat karena ingin tahu ada apa . Ternyata ada pembagian buah gratis di depan , akhirnya 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 akhirnya oso pun mendapat buah dan memakanya dengan lahap .

Dari cerita si oso kita mendapatkan gambaran apa itu antrian . Konsep yang di pakai antrian adalah FIFO atau Firt In First Out , jadi yang pertama masuk maka dia akan menjadi yang pertama keluar . Konsep ini kebalikan dari konsep LIFO ada stack . 

Bagaimana kita membuat Queue di java???

Sama seperti kita membuat stack, saya juga masih akan membuat queue dengan menggunakan array . Tentunya kawan-kawan harus paham dulu tentang array , yang belum paham baca dulu ya cara menggunakan array

Buat array dan beberapa variabel yang di perlukan seperti 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 prosedur enqueue untuk codinnya sama persis seperti 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 seperti di stack . 

Yang berbeda hanya fungsi dequeue , yaitu seperti 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 bagian depan adalah data yang pertama kali dimasukan dan bagian belakang adalah yang terakhir di masukan . Kalo di stack yang di keluarkan yang bagian belakang dahulu sedangkan kalo di queue yang di keluarkan adalah yang bagian depan . Untuk itu kita memerlukan variabel down sebagai penunjuk perpindahan.

Bagian terpenting selanjutnya adalah 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 hasilnya seperti ini .

Coding Queue Array Dalam Java


Itu dulu pembahasan tentang queue dengan array di java . Masih banyak logika yang dapat di gunakan untuk membuat queue , semangat belajar . Untuk coding di atas silahkan di download dibawah ini .



Related Posts:

1 Response to "Coding Queue Array Dalam Java"

Terima kasih suah membaca blog saya, silahkan tinggalkan kometar