Selasa, 30 Maret 2010

Penerapan 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
Stack pada Java :
// Demonstrasi Stack class.
import java.util.*;
class StackDemo {
static void showpush(Stack st, int a) {
st.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println("stack: " + st);
}
static void showpop(Stack st) {
System.out.print("pop -> ");
Integer a = (Integer) st.pop();
System.out.println(a);
System.out.println("stack: " + st);
}
public static void main(String args[]) {
Stack st = new Stack();
System.out.println("stack: " + st);
showpush(st, 42);
showpush(st, 66);
showpush(st, 99);
showpop(st);
showpop(st);
showpop(st);
try {
showpop(st);
} catch (EmptyStackException e) {
System.out.println("empty stack");
}
}
}

sumber:http://osum.sun.com/profiles/blogs/contoh-stack-dalam-java-push

1 komentar:

  1. nice info gan :)

    kalo bisa dikasih logika persyntaxnya sob, jadi orang awam seperti saya bisa memahami dengan jelas :)

    sebelumnya makasih yah^^

    BalasHapus