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.
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.
- 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;
}
} - 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