Coding Stack Array Dalam Bahasa Java

Coding Stack Array Dalam Bahasa Java

Stack dalam bahasa indonesia adalah tumpukan . Prinsip dari tumpukan adalah yang terakhir kali di masukan akan menjadi yang pertama kali di keluarkan . Dalam bahasa pemrograman di sebut dengan konsep LIFO singkatan dari Last In First Out

Apa yang harus di pahami sebelum masuk materi ini ????

Sebelumnya kawan-kawan harus mengerti dulu dasar-dasar dari pemrograman java agar tidak kesulitan dalam memahaminya . Ya paling tidak harus mengerti hal-hal berikut :  


Nah kalo sudah saya akan melanjutkannya lagi .

Sekilas cerita oso ...

Katanya mau belajar stack kok malah cerita sih ??? Tenang kita baca crita dulu biar nggak tegang .

si OSO memiliki banyak buku di mejanya nah dia binging mau di taruh dimana bukunya karena sudah nggak ada tempat lagi . Akhirnya setelah berfikir agak lama dia punya ide untuk memasukannay ke dalam kardus . Dia mempersiapkan kardus yang agak besar dan kemudian menaruhnya di bawah . Kemudian dia meletakan buku pertamanya , lalu di ikuti buku kedua di atasnya buku pertama dan begitu seterusnya sampai kardus penuh . 

Nah suatu hari si OSO mau baca buku yang ada di dalam kardus , dia akhirnya membuka kardus dan mengambil buku yang paling atas . Ternyata bukan buku yang di carinya , lalu dia mengambil buku lagi di bawahnya , ternyata bukan buku yang di carinya juga . Setelah menggambil satu demi satu buku dia akhirnya menemukanya .

Cerita di atas adalah sebuah ilustrasi dari stack , sekarang akan kita terapkan di dalam coding .

ayo mulai coding ....

Saya sudah membuat kelas bernama kelasStack . Kemudian sama seperti ceritanya si OSO kita harus siapkan dulu kardusnya , kita pakai array sebagai kardusnya . Kita buat array tipe data integer dengan batas 10 seperti di bawah ini .
        // PESAN MEMORI BUAT ARRAY
        int ar [] = new int[10];
Kemudian kita buat dulu fungsi untuk mengecek apakah stacknya kosong atau tidak .
    boolean isEmpty(){
        if(top == -1){
            return true;
        }
        return false;
    }
Diatas kita membuat fungsi isEmpty , fungsi ini akan mengembalikan nilai TRUE jika kosong dan FALSE jika terisi .

Buat juga fungsi isFull untuk mengecek apakah sudah penuh atau belum .
   boolean isFull(){
        if(top == ar.length){
            return true;
        }
        return false;
   }
Fungsi isFull mengembalikan nilai TRUE jika sudah penuh dan FALSE jika belum penuh .

Setelah itu kita masukkan bukunya (data). Disini saya membuat sebuah prosedur untuk memasukan datanya dan saya beri nama prosedur PUSH .
   public void push(int angka){
        if(!isFull()){
            top++; // TOP DI NAIKAN
            ar[top] = angka; // ANGKA DI ISIKAN
            System.out.println("Angka " + angka + " berhasil di push");
        }else{
            System.out.println("Stack penuh");
        }
   }
Logikanya cek dulu apakah sudah penuh , jika belum maka kita masukan data dan jika sudah penuh katakan stack sudah penuh. variabel top di atas di gunakan sebagai index , top akan di incrementkan jika mau memasukan data baru . Jadi data yang pertama di masukan akan di timpa oleh data yang kedua , begitu seterusnya .

Nah kan tu di critanya OSO mau ambil bukunya lagi . Seperti caranya si oso kita ambil dari yang paling atas . Kalo di array berarti dari indeks yang paling besar . Namun kita buat dulu variabel top  untuk bantuan indeksnya dan letakan di bawah pembuatan array.
        int ar [] = new int[10];
        int top = -1;
Baru kemudian kita buat prosedur POP.
    public void pop(){
        if(!isEmpty()){
            int indexPop = top;
            top--; // TOP DI TURUNKAN
            System.out.println("Stack indek " + indexPop  + " berhasil di pop");
        }else{
            System.out.println("Stack kosong");
        }
    }
Kita cek dulu apakah stack ada isinya atau sudah kosong , jika masih ada isinya bisa kita pop jika sudah kosong kita katakan stack kosong . Lalu decrementkan variabel top .

Untuk menampilkan isi dari stack mudah banget , kita buat prosedur view dengan coding seperti dibawah .
    public void view(){
        if(!isEmpty()){  
            System.out.print("Isi stack sekarang : ");
            for (int i = 0; i <= top; i++) {
                System.out.print( ar[i] + " ");
            }
            System.out.println("");
        }else{
            System.out.println("Stack kosong");
        }
    }
Jadi kita tampilkan isi array dari indeks 0 sampai top . Jangan lupa untuk menampilkannya kita buat juga mainnya .
    public static void main(String [] suroso){
        KelasStack ks = new KelasStack();
        
        ks.push(3);
        ks.view();
        ks.push(5);
        ks.push(6);
        ks.view();
        ks.pop();
    }
Maka jika di run hasilnya akan seperti ini .

Coding Stack Array Dalam Bahasa Java


Kekurangan dari coding di atas kita hanya memanipulasi tampilan di view , nilai yang ada di dalam array tidak kita hapus , hanya kita sembunyikan . Sebaiknya kita gunakan list bukan menggunakan array . Masih banyak logika untuk membuat stack , jadi terus belajar ya .

Baca juga Queue atau Antrian yang ada dalam java dengan konsep FIFO , kembalikan dari LIFO . Nantikan postingan berikutnya hanya ada di tutorialjava-mudah.blogspot.com untuk sedikit ilmu tentang java.

Download coding materi di bawah ini

DOWNLOAD

Related Posts:

2 Responses to "Coding Stack Array Dalam Bahasa Java"

Terima kasih suah membaca blog saya, silahkan tinggalkan kometar