Stack Pada Java
Stack adalah salah satu struktur data yang memiliki sistem kerja
Last In First Out (LIFO), 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. Sebuah stack hanya dapat ditambahkan dan
dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa
disebut Top Of Stack.
Fungsi dalam Stack:
·
Fungsi init: fungsi yang digunakan untuk inisialisasi atau
membuat stack baru yang masih kosong.
·
Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
·
Fungsi empty: digunakan untuk mengetahui stack kosong atau
tidak.
·
Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap
kosong apabila puncak stack berada pada posisi -1.
·
Fungsi push: digunakan untuk menambahkan data ke dalam stack.
Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan
perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi
nilai top. Jika dalam Linked List menggunakan method addLast
·
Fungsi pop: digunakan untuk mengeluarkan data teratas stack
dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus
data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List
menggunakan method removeLast
IMPLEMENTASI PADA
PROGRAM
Tumpukan.java
public class Tumpukan {
public int
ukuran;
public long
[] tumpukan;
public int
top;
public Tumpukan(int
s){
ukuran = s;
tumpukan = new long
[ukuran];
top = -1;
}
public void push(long j){
tumpukan[++top] = j;
}
public long pop(){
return tumpukan[top--];
}
public long peek(){
return tumpukan[top];
}
public boolean isEmpty(){
return (top == ukuran-1);
}
public boolean isFull(){
return(top == ukuran-1);
}
public void baca(){
int
i=top;
while (i>0){
System.out.print(tumpukan[i]);
System.out.print("
");
i--;
}
System.out.println(" ");
}
}
|
Program Pemanggil:aplistack.java
public class aplistack{
public static void
main (String [] args){
Tumpukan
tumpukan=new Tumpukan(10);
tumpukan.push(56);
tumpukan.baca();
tumpukan.push(45);
tumpukan.baca();
tumpukan.push(67);
tumpukan.baca();
long nilai1=tumpukan.pop();
System.out.println("nilai1
= "+nilai1);
System.out.println("
");
tumpukan.push(83);
tumpukan.baca();
tumpukan.push(27);
tumpukan.baca();
long nilai2 = tumpukan.pop();
System.out.print("nilai2
= "+nilai2);
System.out.println("
");
long nilai3 = tumpukan.pop();
System.out.println("nilai3
= "+nilai3);
System.out.println("
");
tumpukan.baca();
}
}
|
siplah min, sangat membantu
BalasHapusSolder uap