Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Data Stack Oleh Lutfi Budi Ilmawan

Presentasi serupa


Presentasi berjudul: "Struktur Data Stack Oleh Lutfi Budi Ilmawan"— Transcript presentasi:

1 Struktur Data Stack Oleh Lutfi Budi Ilmawan
Universitas Muslim Indonesia Oleh Lutfi Budi Ilmawan

2 Stack / Tumpukan Merupakan list di mana penambahan dan pengambilan elemen hanya dilakukan pada satu sisi yang disebut top (puncak) dari stack. Menggunakan aturan LIFO (Last In First Out), yaitu elemen yang terakhir masuk akan pertama kali diambil atau dilayani. Top adalah posisi teratas dari elemen pada stack. Salah satu analogi yang dapat dikemukakan di sini adalah tumpukan piring atau barang lain. Pada saat kita hendak menumpuk piring-piring tersebut tentulah yang kita lakukan adalah meletakkan piring pertama pada tempatnya, selanjutnya meletakkan piring kedua di atas piring pertama dan demikian seterusnya. Pada saat kita hendak mengambil satu piring dari tumpukan tersebut, tentu yang diambil adalah piring teratas (yang terakhir kali ditaruh), bukan yang terbawah (yang pertama kali diletakkan).

3 Operasi Dasar Operasi utama:
Push : proses penambahan elemen baru pada stack Pop : proses pengambilan elemen pada stack Operasi penunjang: CreateStack : membuat stack baru EmptyStack : proses pengecekan pada sebuah stack bahwa stack tersebut telah terisi atau tidak FullStack : proses pengecekan pada sebuah stack bahwa stack tersebut telah mencapai kapasitasnya DestroyStack : mengosongkan isi dari stack

4 Contoh Stack S dengan kapasitas n = 5 Top = 0

5 Contoh Push(S, a) Top = 1 a

6 Contoh Push(S, b) Top = 2 b a

7 Contoh Push(S, c) Top = 3 c b a

8 Contoh Pop(S, x) Top = 2 x = c b a

9 Contoh Push(S, d) Top = 3 d b a

10 Contoh Push(S, e) Top = 4 e d b a

11 Contoh Pop(S, x) Top = 3 x = e d b a

12 Contoh Pop(S, x) Top = 2 x = d b a

13 CreateStack(Stack) Function Initialize Stack to an empty state
Input None Preconditions None Output Stack Postconditions Stack is empty

14 DestroyStack(Stack) Function Removes all elements on stack, leaving the stack empty Input Stack Preconditions Stack has been created Output Stack Postconditions Stack is empty

15 EmptyStack(Stack) Function Test whether Stack is empty Input Stack
Preconditions Stack has been created Output True or False Postconditions Stack is empty

16 FullStack(Stack) Function Test whether Stack is full Input Stack
Preconditions Stack has been created Output True or False Postconditions Stack is full

17 Push(Stack,NewElement)
Function Add new element to the top of Stack Input Stack, NewElement Preconditions Stack has been created and it is not full Output Stack Postconditions Stack = original Stack with new element added on top

18 Pop(Stack,PoppedElement)
Function Removes top element from Stack and returns it in PoppedElement Input Stack Preconditions Stack has been created and it is not empty Output Stack, PoppedElement Postconditions Stack = original Stack with top element removed PoppedElement = top element of original stack

19 Implementasi Deklarasi: Const MaxStack = 100; Type StackType = Record
Elements : array [1..MaxStack] of char; Top : byte; end; Var stack : StackType;

20 Implementasi CraeteStack dan DestroyStack:
Procedure CreateStack(var Stack:StackType); Begin Stack.Top := 0; End; Pass by value dan pass by reference

21 Implementasi EmptyStack: Function EmptyStack(Stack:StackType):Boolean;
Begin EmptyStack := (Stack.Top = 0); End;

22 Implementasi FullStack: Function FullStack(Stack:StackType):Boolean;
Begin FullStack := (Stack.Top = MaxStack); End;

23 Implementasi Push: Procedure Push( var Stack:StackType; NewElement:char); Begin Stack.Top := Stack.Top + 1; Stack.Elements[Stack.Top] := NewElement End;

24 Implementasi Pop: Procedure Pop(var Stack:StackType;var PoppedElement:char); Begin PoppedElement := Stack.Element[Top]; Stack.Top := Stack.Top - 1; End;


Download ppt "Struktur Data Stack Oleh Lutfi Budi Ilmawan"

Presentasi serupa


Iklan oleh Google