Stack Pada Java
Stack Pada Java
Pada artikel kali ini saya ingin sedikit berbagi mengenai Java, tepatnya pada materi stack. Apa itu stack ??? berikut penjelasan sedikit tentang Stack secara bahasa, Stack berarti tumpukan. Kumpulan elemen-elemen data yang disimpan dalam satu lajur linier Struktur yang juga disebut : Last In First Out (LIFO)
Ada 3 macam proses pada stack:
1. AWAL (Inisialisai)
2. PUSH ( masuk, insert, tulis)
3. POP (hapus, keluar, ambil)
# INISIALISASI Proses inisialisasi merupakan proses awal yang dilakukan untuk menyimpan indeks penunjuk stack. Roses ini dilakukan dengan intruksi :
top = -1;
# PUSH Proses push adalah proses memasukkan data baru ke stack indeks selanjutnya. Algoritma dasar proses PUSH adalah : top = top + 1; array[top] = variable_tampung; # POP Proses pop adalah proses mengeluarkan / mengambil data dari stack dengan indeks yang disimpan pada variable top. Algoritma dasar proses POP adalah : variable_tampung = array[top]; top = top – 1;
“Top “ merupakan pintu untuk keluar masuknya elemen – elemen stack. A, B, dan C merupakan suatu koleksi. Dari ilustrasi dapat digambarkan bahwa C merupakan elemen yang terakhir memasuki stack namun pertama keluar dari stack. Begitu sebaliknya dengan A. A merupakan elemen pertama yang memasuki tumpukan namun terakhir saat keluar dari tumpukan.
Contoh proses “top” ; if (Top > -1)
{
X = S[Top];
Top=Top - 1;
}else
System.Out.Println(“Stack Kosong”); ==========================================================
Langsung saja tanpa panjang lebar berikut ini penerapan sederhana melalui koding java.
public class SortingNew{
private int terakhir; //yang menentukan batas elemen stack maksimum
private int[] wadah; // untuk menyimpan stack
private int top; //indeks array
public void total(int s) //menentukan ukuran kapasitas stack
{
terakhir = s;// batas elemen stack sama dengan total stack yang di pushkan
wadah = new int[terakhir];//penyimpanan stack
top = -1;// top berada di -1
}
public void push(int data) {//implemenasi push berupa integer
if (top >= terakhir - 1) {
System.out.println("Karena Stack Udah Penuh. " + data + " Udah Gak Bisa Masuk");
// suatu kondisi jika top lebih dari batas maksimum elemen stack
//maka data yang di pushkan tidak bisa masuk ke stack
} else {
top++;
wadah[top] = data;
System.out.println(data + " Bisa Masuk ke Stack");
//sebaliknya data yang di pushkan sesuai penyimpanan
//maka data bisa masuk ke stack
}
}
public int pop() {//implementasi pop
int temp;
if (top >= 0) {
temp = wadah[top];
System.out.println(temp + " Keluar dari Stack");
top--;
return (temp);
//suatu kondisi pop akan dimulai dari urutan ke 0
//maka push di urutan 1 dan ke 2 akan dikeluarkan dari stack
} else {
System.out.println("");
return (-1);
}
}
public void view() {
System.out.print("Isi Stack: ");
for (int i = 0; i <= top; i++) {
System.out.print(wadah[i] + " ");
//untuk menampilkan isi stack ketika sudah di push atau di pop
}
System.out.println();
}
public static void main(String[] args) {//method utama dari class stack_array
SortingNew stack = new SortingNew();
stack.total(5);
stack.push(500);
stack.push(400);
stack.push(300);
stack.push(200);
stack.push(100);
stack.view();
stack.push(600);
stack.pop();
stack.pop();
stack.view();
stack.pop();
stack.pop();
stack.view();
}
}
Output :
0 comments:
Post a Comment