8868 - SD4-STACK (Tumpukan)
8868 - SD4-STACK (Tumpukan)
Pertemuan 4
6 Maks. Stack
5
4 D
S =
3 C
TOP
TOP(S) = D
2 B
1 A NOEL(S) = 4
1. CREATE(S)
Adalah operator yang menyebabkan Stack S
menjadi suatu stack hampa. Jadi
NOEL(CREATE(S)) adalah 0 dan
TOP(CREATE(S)) adalah tak terdefinisi.
2. ISEMPTY(S)
Adalah operator yang berfungsi untuk memeriksa
apakah Stack(S) hampa (kosong) atau tidak. Hasil
dari operasi ISEMPTY adalah Boolean yaitu TRUE
jika kosong dan FALSE jika isi.
3. PUSH(S,elemen)
PUSH(S,E) adalah operator yang berfungsi
menambahkan elemen E ke Stack. Elemen E akan
ditempatkan pada posisi TOP(S). Suatu error akan
terjadi jika PUSH dioperasikan pada stack yang
sudah mencapai maksimal stack.(Overflow)
4. POP(S)
Adalah operator yang berfungsi mengeluarkan atau
menghapus elemen TOP(S) dari dalam stack.
POP(S) akan mengurangi nilai NOEL(S) dengan 1.
Suatu error akan terjadi jika POP(S) dilakukan pada
stack yang hampa / kosong. (Underflow)
1. Algoritma PUSH(Stack,item)
1. IF MaxStk = Top THEN Overflow
2. Top = Top + 1
3. STACK[Top] = item
4. Exit
2. Algoritma POP(Stack)
1. IF Top = 0 THEN Underflow; Exit
2. Item = Stack[Top]
3. Top = Top – 1
4. Exit
Jelaskan hasil dari algoritma diatas, lengkapi dengan hasil output yang mungkin
muncul.
Contoh :
Infix (4 – 3) * (12 / 3)
Prefix *, - ,4, 3, /, 12, 3
Postfix 4, 3, -, 12, 3, /, *
Contoh Soal :
1. Tentukan hasil dari : 12, 7, 3, -, /, 2, 1, 5, +, *, +
2. 5+3^2–8/4+3+6
3. 3, 1, + 2, ^, 7, 4, -, 2, *, +, 5, -
4. (A * (( B + D) / E)) - (F * (G + (H / K)))
(A * (( B + D) / E)) - (F * (G + (H / K)))