Rabu, 09 Maret 2011

pengertian tumpukkan

PENGERTIAN SERTA OPERASI STACKNYA
adalah suatu bentuk khusus dari linier list, dengan operasi penyisipan dan penghapusan dibatasi hanya pada satu sisinya, yaitu puncak stack (TOP).
Keterangan:
1.Jika ada NOEL elemen didalam stack, maka elemen ke NOEL merupakan elemen puncak (TOP).
2.Operasi stack : LIFO (Last In First Out) , yaitu : yang terakhir masuk yang pertama keluar.
Contoh stack : Tumpukan baki dalam cafetaria
Empat operasi dasar yang berlaku pada stack :
1.       CREATE(stack)
adalah operator yang menunjukkan suatu stack kosong dengan nama S.
Jadi :               NOEL(CREATE(S)) =0
2.       ISEMPTY(stack)
adalah operator yang menentukan apakah stack S kosong.
3.       PUSH(elemen, stack)
adalah operator yang menambahkan elemen E pada puncak stack S.
4.       POP(stack)
adalah operator yang menghapus sebuah elemen dari puncak stack S.
LINIER LIST
Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah.
Empty List/ null list
Adalah Suatu elemen dapat dihilangkan/dihapus dari sembarang posisi dalam linier list, dan dapat pula dimasukkan elemen baru sebagai anggota list. A dikatakan empty list / null list jika T=0.
Contoh :
1. File, dengan elemenya berupa record
2. Buku telepon
3. Stack
4. Queue
5. Linear link list
PENDEKLARASIAN STACK DALAM COBOL DAN PASCAL
Diasumsikan bahwa elemen dari S masing-masing bertipe data integer dan panjang stack.maksimum adalah 100 elemen. Kita mendeklarasikan sebuah array yang dilengkapidengan variabel TOP-PTR.
Variabel TOP-PTR ini menyatakan subscript dari elemen TOP(S) dari stack. Kita menamakan kombinasi dari array dan indikator untuk TOP tersebut dengan nama STACKSTRUCT.Dengan penyajian seperti ini, berlaku bahwa NOEL(S) = TOP-PTR,ISEMPTY(S) adalah true bila TOP-PTR = 0, dan false bila TOP-PTR lebih besar dari 0.
Didalam COBOL
01 STACK-STRUCT.
02 S PIC 9(5)
OCCURS 100 TIMES.
02 TOP-PTR PIC 9(3)

Didalam Pascal
type stackstruct;
record Stack: Array [ 1..100] of integer;
topptr : integer
end
var S : stackstruct;
OPERASI PUSH & POP
PUSH
                IF TOP-PTR < NOEL-MAX
                                THEN COMPUTE TOP-PTR = TOP-PTR + 1
                                                  MOVE EON  TO S(TOP-PTR)
                                ELSE Overflow condition
Contoh: Procedure PUSH (eon: integer);
                Begin
                                if (s.topptr < noelmax)
                                then
                                                Begin
                                                                s.topptr := s.topptr + 1;
                                                                s.stack [s.topptr] := eon;
                                                End;
                                else Overflow-condition
                End;
POP
                IF TOP-PTR > 0
                                THEN MOVE S(TOP-PTR) TO EOFF
                                                  COMPUTE TOP-PTR = TOP-PTR  -  1
                                ELSE Underflow condition
EON : elemen yang di PUSH ke dalam S.
EOFF : elemen yang di POP ke luar S.
NOEL-MAX : panjang max stack.
Contoh: Procedure POP (var eoff : integer);
                Begin
                                if (s.topptr > 0)
                                then
                                                Begin
                                                                eoff := s.stack [s.topptr];
                                                                s.topptr := s.topptr - 1;
                                                End;
                                else Underflow Condition
                End;

APLIKASI STACK
1. Penjodohan Tanda Kurung/Matching Parantheses                     
2.NOTASI POSTFIX

Tidak ada komentar:

Posting Komentar