Implementasi Stack Array Dalam Java

Table of Contents
Ilustrasi Stack Seperti Tumpukan Buku
Materi perkuliahan Struktur Data hari ini adalah stack. Apa itu stack? kalau dicari dalam kamus bahasa inggris, terjemahan stack artinya Tumpukan, namun arti tumpukan disini memang masih ada kaitannya dengan pengertian stack dalam Struktur Data.

Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), artinya yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut. Atau Dosen saya mengilustrasikan sebagai tumpukan piring, tapi intinya sama saja kan?  Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.

Berikut implementasi stack dalam pemrograman java, disini saya buat 2 class, untuk menampung code stack dan membuat main classnya. 

  1. Class stakku

    package stack;

    /**
    @author CHARIS
     */
    public class stakku {
        private int maxsize; // kapastitas maxsimum untuk stack
        private long[]arraystack; // array yang kita gunakan untuk membuat stack
        private int top;// menunjukkan top array
       
        //konstraktor seperti cetakan, objeknya kue. bisa disebut blueprintnya objek
       
        public stakku (int x){ // konstraktor objek stack
            maxsize = x;
            //menentukan kapasitas maskimum array lewat maxsize
            arraystack = new long[maxsize];
            top = -1;
        }
        //menambah data baru
        public void push(int j){
            arraystack[++top] = j ;
        }
        //mengeluarkan data
        public long pop()
        {
            //mengembalikan nilai top -1
            return arraystack[top--];
        }
       
        //mengecek sudah kosong atau penuh
        public boolean kosong()
        {
          return top == -1   ;  
        }
       
        // menentukan stack penuh
        public boolean penuh()
        {
              return top == maxsize-1; 
        
        }
     
    }
  2. Class aplikasi_stack sebagai main class

    package stack;

    /*
     * @author CHARIS
     */
    public class aplikasi_stack {
        public static void main(String[] args) {
            stakku Tumpukan = new stakku(5);
            Tumpukan.push(17);
            Tumpukan.push(25);
            Tumpukan.push(50);
            Tumpukan.push(7);
            Tumpukan.push(100);
            //Tumpukan.push(100);
            while(!Tumpukan.kosong())
            {
                long nilai = Tumpukan.pop();
                System.out.print(nilai);
                System.out.println(" ");
            }  
           
            while(Tumpukan.penuh())
            {
             long nilai1 = Tumpukan.pop();
             System.out.print(nilai1);
             System.out.println("Maaf Stack Sudah Penuh");
           
            }
            System.out.println("");
        }

    }


    Hasil ketika Run




    Posted By






2 comments

Terima kasih telah mampir di blog kami. Jika ingin menghubungi penulis, silakan kirim pesan via email di kitainformatika@gmail.com atau via WA di 087750503014. Jika mood penulis lagi baik, biasanya fast respon.
Comment Author Avatar
Anonymous
September 5, 2013 at 8:34 AM Delete
Mantap Bro....
Comment Author Avatar
April 3, 2014 at 7:01 PM Delete
Terima Kasih Gan,,, Sukses Selalu,,, !!!