STRUKTUR DATA Pertemuan 4
Notasi Infix,Postfix dan Prefix
1. Notasi Infix
Contoh : x + y
a) Operator ditulis diantara operand.
b) Sebagai contoh A* (B + C) / D yang biasa berarti “tambahkan B dan C terlebih dahulu, dan kalikan dengan A. Setelah itu bagi dengan D.”
c) Notasi Infix membutuhkan informasi ekstra :
· Rule mengenai operator precedence.
· Assosiativem dan tanda kurung ().
2. Notasi Postfix ”Reserve Polish Notation”
Contoh : x y +
a) Operator ditulis sebagai operand.
Contoh : ABC + * D /
b) Operator selalu terurut dari kiri ke kanan, dan kurang tidak dapat dipergunakan untuk mengubah urutan operasi.
Contoh : pada notasi diatas, tanda + dikerjakan terlebih dahulu sebelum *.
c) Jika bertemu operator, maka operasi aritmatik akan sesegera mungkin dikerjakan.
Contoh : jika ditemukan +, maka B dan C akan segera dijumlahkan.
a) Setelah itu A akan dikalikan dengan hasil B + C, dan hasil keseluruhan akan dibagikan dengan D.
3. Notasi Prefix “Polish Notation”
contoh : x + y
a) Operator dituliskan sebelum operand. Pada contoh sebelumnya, jika dituliskan dalam prefix adalah : / * A + B C D.
b) Sebagaimana Postfix, operator dievaluasi dari kiri ke kanan.
c) Operator akan mengambil dua nilai operand terdekat pada kanan operator.
d) Meski pada prefix operator dievaluasi dari kiri ke kanan,namun prefix menggunakan nilai pada bagian kanan. Jika nilai operand melibatkan komputasi, maka akan mengubah urutan operator.
(A + B) * C / (D -F)
Postfix A | B | + | C | D | F | -
Prefix 1 | - | D | F | * | C | + | A | B
Contoh :
Infix
|
Postfix
|
Prefix
|
Notes
|
A * B + C / D
|
A B * C D / +
|
+ * A B / C D
|
Dikalikan A dan B bagi dengan C dengan D, tambahkan hasilnya.
|
A * (B + C) /D
|
A B C + * D /
|
/ * A + B C D
|
Tambahkan B dan C kalikan dengan A bagi dengan D.
|
A * (B + C /D)
|
A B C D / + *
|
* A + B / C D
|
Bagi C dengan D, tambahkan B, kalikan dengan A.
|
0 komentar:
Posting Komentar