Infix, Postfix, Prefix
Pertemuan 4
Notasi INFIX, PREFIX, POSTFIX
1.Notasi Infix
Contoh : X + Y
Operator ditulis diantara operand
Sebagai contoh A*(B+C)/D yang biasa berarti “tambahkan B dan C terlebih dahulu, dan kalikan dengan A. Setelah itu bagi dengan D”.
Notasi Infix mebutuhkan inforasi ekstra :
Rule mengenai operator precedence (dari prioritas tertinggi)
Assosiatives dan tanda kurung ()
2.Notasi Postfix
“Reserve Polish Nation” = XY+
Operator ditulis setelah operand : ABC+*D/
Operator selalu urut dari kiri ke kanan, dan kurung tidak dapat dipergunakan untuk mengubah urutan opearsi.Contoh : pada notasi di atas, tanda + dikerjakan terlebih dahulu sebelum *.
.Jika bertemu operator, maka operasi aritmetik akan segera mungkin dikerjakan. Contoh : Jika ditemukan +, maka B dan C akan segera dijumlahkan.
.Setelah itu A akan dikalikan dengan hasil B + C, dan hasilkeseluruhan akan dibagi dengan D.
3.Notasi Prefix
“Polish Notation” : + x y
Operator ditulis sebelum operand. Pada contoh sebelumnya /*A+BCD
Sebagaimana Postfix, operator dievaluasi dari kiri ke kanan.
Operator akan mengambil dua nilai operand terdekat pada kanan operator.
Meski pada prefix operator dievaluasi dari kiri kekanan, namun prefix menggunakan nilai pada bagian kanan. Jika nilai operand melibatkan komputasi, maka akan mengubah urutan operator.
Algoritma Kalkulasi Postfix (Binary)
Selama ada token pada input
-Ambil token berikutnya dari input
-Jika token adalah operand PUSH kedalam Stack
Selain itu token adalah operator
Contoh :
1. A*(B+C) / (D-E), Notasi Postfix dan prefix
ABC+*DE-/, Infix dan Prefix
Postfix
0 komentar:
Posting Komentar