Jumat, 13 Februari 2015

Belajar Infix, Postfix, Prefix





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




 








Tidak ada komentar:

Posting Komentar