Pengertian Stack
Stack adalah salah satu struktur data yang ada pada bahasa pemrograman java yang memiliki karakteristik LIFO (Last in First out) yaitu data yang dimasukkan terakhir akan dieksekusi/dilayani pertama.
Analogi stack sebagai berikut
saya memiliki 4 buah buku (1.matematika, 2. bahasa inggris, 3. bahasa indonesia, 4. agama) yang akan saya tumpuk dirak buku sesuai urutan nomornya.
jadwal pelajaran untuk besok adalah agama maka saya akan mengambil buku agama untuk dibawa keesokan harinya.
Ilustrasi Stack/Tumpukan
![]() |
| Tumpukan buku |
Method-Method Pada Stack
1. Inisialisasi
Berfungsi untuk pengidentifikasian awal ukuran stack/tumpukan
2. Empty
Berfungsi untuk memeriksa apakah elemen stack/tumpukan kosong atau tidak
3. Insert/push
Berfungsi untuk menginput data pada stack/tumpukan
4. Pick/Pop
Berfungsi untuk mengambil data pada stack/tumpukan
5. Find
Berfungsi untuk mencari suatu data pada stack/tumpukan
6. Display
Berfungsi untuk menampilkan data pada stack/tumpukan
Contoh implementasi stack
/*
Satriadilars.blogspot.com
*/
package belajar_Stack;
public class Stack {
public static int ukuran, top;
public static int []stack;
static void inisialisasi (int i){
ukuran =i;
stack =new int [ukuran];
top=0;
}
static boolean isempty(){
return top<=0;
}
static boolean isfull(){
return top>=ukuran;
}
static void insert (int i){
if (isfull()){
System.out.println("Maaf, Tumpukan penuh");
}else {
System.out.println("Nilai "+i+" masuk tumpukan");
stack[top++]=i;
}
}
static void pick(){
if (isempty()){
System.out.println("Maaf, tumpukan kosong");
}else {
top--;
System.out.println("Nilai "+stack[top]+" Keluar tumpukan");
}
}
static void display (){
int i=top-1;
while (i>=0){
System.out.println("Nilai Stack ke : "+(i+1)+" : "+stack[i]);
i--;
}
}
static void find (int i){
boolean hasil=false;
int temp=0;
while (temp<top){
if (i==stack[temp]){
hasil=true;
break;
}temp++;
}
if (hasil)
System.out.println("Nilai ditemukan pada tumpukan ke : ");
else
System.out.println("Nilai tidak ditemukan");
}
public static void main(String[] args) {
Stack a=new Stack();
inisialisasi(5);
a.pick();
a.insert(1);
a.insert(2);
a.insert(3);
a.insert(4);
a.display();
a.pick();
a.find(3);
a.display();
}
}


0 Komentar
no berkata kasar