aLLLooooowwwww..............................

mM..........wELcome in my bL0g aLL.........!!!

seLamAt mMbca bLog Quw iiiaaaahhh......


n jGn LuPa Tuuuwwhhh......biz dibAca kAsiiii cOmment juggaa......

xiiiiEEeeepppPP........ ^_^

Selasa, 26 Mei 2009

STACK ( Tumpukan )

Adalah tumpulan data yang seolah-olah ada data di atas data lain.
-à Suatu metode untuk Input dan hapus di dalam memori komputer.

Konsep utama dalam STACK adalah LIFO ( Last In First Out ).Algoritma:
Input/tambah data
Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1 demi 1 sampai maksimal tumpukan.

Pengambilan data
· Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp. Dan posisi tumpukannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.



Deklarasi STACK

Type
Const
Max = 5;
Nama record = Record
Data : type data;
Top : byte;
End;
Nama_array = ARRAY [1..max] of Nama record;
Var
STACK : nama Array;Nama Array-----à Barang
Nama Record---à Coba
Nama Variabel--à Stack

Contoh Deklarasi dari gambar diatas:

Type
Coba = record
Data :string;
Top : byte;
End;
Barang = ARRAY [1..4] of coba;
Var
Stack:barang;

Operasi pada STACK
· CREATE
Membuat stack baru yang masih kosong.

Procedure create;
Begin
Stack.top:=0;
End;

· FULL
Untuk memeriksa apakah stack sudah penuh atau belum.

Fuction full:bolean;
Begin
Stack.top:=max;
End;

· PUSH
Menambah sebuah elemen ( data ) kedalam stack
Syarat: tidak bisa dilakukan jika stack sudah penuh.

Procedure push ( input:string );
Begin
If not full then
Begin
Stack.top:=stack.top;
Stack.data:=input;
End;
End;

· EMPTY
Fuction empty: bolean;
Begin
Empty:=false;
If top:=0 then empty:=true;
End;

· POP
Mengambil elemen teratas dari stack.
Syarat: Stack tidak boleh kosong.

Procedure Pop ( elemen:string );
Begin
If not empty then
Begin
Elemen:=stack.data;
Stack.top:=top – 1;
End;
End;

0 Comments:

Post a Comment