NOTASI INFIX, PREFIX, POSTFIX

NOTASI INFIX, PREFIX, POSTFIX

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 membutuhkan informasi ekstra :

Rule menngenai operator precendence

Assosiatives dan tanda kurung ( )

Notasi Postfix

Dikenal juga dengan “Reverse Polish Notation” contoh : x y +

Operator ditulis setelah operand. Contoh lain : A B C + * D /

Operator selalu terurut dari kiri ke kanan, dan kurang tidak dapat dipergunakan untuk mengubah urutan operasi.

Contoh : pada notasi di atas, tanda + dikerjakan terlebih dahulu sebelum *.

Jika bertemu operator, maka operasi aritmetik akan sesegera mungkin dikerjakan. Contoh Jika ditemukan +, maka B dan C akan segera dijumlahkan.

Setelah itu A akan dikalikan dengan hasil B + C, dan hasil keseluruhan akan dibagi dengan D.

Notasi Prefix

Dikenal juga dengan “ Polish Notation” contoh : + x y

Opeartor dituliskan sebelum operand. Pada contoh sebelumnya, jika dituliskan dalam prefix adalah : / * A + B C D

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 ke kanan, namun prefix menggunakan nilai pada bagian kanan. Jika nilai operand melibatkan komputasi, maka akan mengubah urutan operator.

Contoh lain :

INFIX POSTFIX PREFIX NOTE
A * B + C / D A B * C D / + + * A B / C D Kalikan A dan B. Bagi C dg 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

Contoh Penulisan :

Sumber : Julius Jonathan di 01.24

About Anugrah Bintang

SMK Telkom Snadhy Putra Purwokerto (Rekayasa Perangkat Lunak) STT Telkom Purwokerto (S1 Teknik Informatika)

Post Navigation

 

Leave a Reply

Your email address will not be published. Required fields are marked *