Matakuliah
Tahun
Versi
: T0534/Struktur Data
: 2005
: September 2005
Pertemuan 06
Aplikasi STACK
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• mendemonstrasikan TDA Stack (TIK-05).
• menerapkan STACK pada program aplikasi
komputer (TIK-05).
2
Outline Materi
• Notasi Aritmatika
– Infix
– Prefix
– Postfix/Suffix
• Algoritma
– Infix
– Prefix
– Postfix/Suffix
• Konversi Notasi
• Evaluasi Notasi
3
Notasi Aritmatika
Tiga Notasi aritmatika :
1. Infix =kedua operand berada di antara operatornya, contoh :
AxB+C
(A + B) x C – D
2. Prefix=operator berada di depan kedua operandnya, contoh :
xABC
xABCD
3. Postfix/Suffix=operator berada di belakang kedua operandnya, contoh :
ABxC+
AB + C x D
4
INFIX
• Algoritma Evaluasi :
1. Scan dari kiri ke kanan sampai ketemu dg kurung
tutup yg paling awal.
2. Scan kembali dari posisi tadi ke kiri sampai ketemu
dg kurung buka yg pertama ditemukan.
3. Lakukan operasi yg berada dalam tanda kurung.
4. Ganti ekspresi di dalam kurung tersebut dg hasil
operasi.
5. Ulangi langkah 1 sampai selesai
• Kekurangan :
Lama dan tidak effisien
5
PREFIX
• Algoritma Evaluasi
1. Scan dari kanan ke kiri sampai ketemu dg operator.
2. Ambil 2 operand yg berada langsung di sebelah kanan operator
tersebut.
3. Ganti ekspresi dg hasil operasi.
4. Scan lagi hasil operasi tadi ke kiri.
• Algoritma Evaluasi dg STACK
1. Scan PREFIX dari kanan ke kiri.
2. Bila ketemu operand, PUSH(operand).
3. Bila ketemu operator, POP dua kali yaitu POP(X), POP(Y).
4. PUSH( X operator Y ).
5. Ulangi 2 s.d. 4 hingga seluruh simbol PREFIX terbaca
• Keuntungannya dibandingkan dg INFIX :
–
Tidak perlu memakai tanda kurung utk menyatakan prioritas
pengerjaan.
–
Lebih cepat dan efisien, krn tidak perlu selalu scan dari depan (paling
kiri).
6
POSTFIX (SUFFIX)
• Algoritma Evaluasi
1. Scan dari kiri ke kanan sampai ketemu dengan operator.
2. Ambil 2 operand yang berada langsung di sebelah kiri operator
tersebut.
3. Ganti ekspresi dengan hasil operasi.
4. Scan lagi hasil operasi tadi ke kanan.
• Algoritma Evaluasi dg STACK
1. Scan SUFFIX dari kiri ke kanan.
2. Bila ketemu operand, PUSH(operand).
3. Bila ketemu operator, POP dua kali yaitu POP(X), POP(Y).
4. PUSH( Y operator X ).
5. Ulangi 2 s.d. 4 hingga seluruh simbol SUFFIX terbaca
• Keuntungannya dibandingkan dg INFIX : sama dg keuntungan PREFIX.
7
Skema Evaluasi Infix
Notasi INFIX
Konversi (INFIX ke SUFFIX)
Notasi SUFFIX
Evaluasi (SUFFIX)
Hasil Evaluasi
Skema Evaluasi INFIX
8
Konversi Notasi Secara Manual
KONVERSI dari INFIX
Infix
Prefix
Postfix
AxB+C
[ x A B ] + C`
+[xAB]C
+xABC
[ABx]+C
[ABx] C+
ABx C+
(AxB)xC–D
[+A B]xC–D
[ x[+ A B ] C ] – D
–[ x[+ A B ] C ] D
–x+A BCD
[AB+]xC–D
[[ A B + ] C x ] – D
[[[ A B + ] C x ] D ] –
AB+CxD–
9
Konversi menggunakan STACK
•
Algoritma :
1. CREATE STACK
2. Kosongkan POSTFIX
3. Tambahkansimbol ‘)’ ke ujung INFIX
4. PUSH( ‘(‘ )
5. Selama (Not EMPTY STACK ) {
Baca Simbol dari INFIX
Seleksi ( Simbol )
Operand : Tambahkan Simbol ke ujung POSTFIX
Operator : Selama ( PRCD( STACK[TOP], Simbol) )
POP( X )
Tambahkan X ke ujung POSTFIX
Akhir Selama
PUSH ( Simbol )
‘(‘
: PUSH( Simbol )
‘)‘
: Selama (STACK[TOP] != ‘(‘ )
POP( X )
Tambahkan X ke ujung POSTFIX
Akhir Selama
POP ( X )
// Buang Simbol ‘(‘
Akhir Seleksi
Akhir Selama
6. Selesai
10
Selesai
11
© Copyright 2026 Paperzz