Selasa, 30 Maret 2010

Penerapan Stack

stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
  • Elemen TOP (puncak) diketahui
  • penisipan dan penghapusan elemen selalu dilakukan di TOP
  • LIFO

Pemanfaatan Stack :

  • Perhitungan ekspresi aritmatika (posfix)
  • algoritma backtraking (runut balik)
  • algoritma rekursif

Operasi Stack yang biasanya :

  1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
  2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
  3. IsEmpty ()
  4. IsFull ()
  5. dan beberapas selektor yang lain
contoh Stack pada Pascal:
Begin
top:=0;
For i:=1 to maks do
Begin
Writeln(’masukkan nama ke’, ‘ ‘,i,’ ‘,’='); readln(stack[i]);
top:=top+1;
End;
writeln(’posisi tumpukan=’,top);
Writeln(’pengambilan data’);
writeln(’berapa data yang akan diambil?’);readln(n);
if n<4>
begin
For i:=1 to maks do
Begin
Elemen:=stack[top];
top:=top - 1;
End;
end;
Writeln(’data elemen sekarang=’,elemen);
writeln(’posisi tumpukan=’,top); Readln;
End.

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
sumber: Wiki.com

Tidak ada komentar:

Posting Komentar