Skip to content Skip to sidebar Skip to footer

Implementasi Stack Array Dalam Java

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 for "Implementasi Stack Array Dalam Java"