Tuesday, October 20, 2015

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

Recent Posts

Unordered List

Text Widget

Powered by Blogger.

Formulir Kontak

Name

Email *

Message *