Infix, Prefix, dan Postfix - Python
Dalam struktur data yang kita pelajari secara umum ada 3 notasi operasi yang dilakukan untuk suatu operasi aritmatika, yaitu Prefix, Infix dan Postfix. Namun, sebelumnya kita harus mengetahui indicator yang ada dalam notasi tersebut, notasi ini terbentuk dari Operand dan Operator. Operand adalah data atau nilai yang membantu dalam proses, sedangkan Operasi adalah fungsi yang digunakan dalam proses.
Istilah yang sering dipakai :
Prefix adalah notasi yang terbentuk atas operator dan operand, dimana operator berada di depan operand.
Postfix
Posfix adalah notasi yangterbentuk dari operand dan operator, dimana operator berada dibelakang operand.
Istilah yang sering dipakai :
- Operand : Variable berupa huruf atau angka seperti A,B,C atau 1,2,3.
- Operator : Operasi matematika seperti +, -, *, /.
- Kurung : ()
- Pangkat : ^
- Perkalian dan pembagian : * dan /
- Penjumlahan dan Pembagian : + dan -
Prefix adalah notasi yang terbentuk atas operator dan operand, dimana operator berada di depan operand.
Contoh:
Infix : A + B * C
Prefix : +A *BC.
Penjelasan:
Dari contoh diatas ada 3 operand yaitu, A,B dan C serta ada 2 operand yaitu, + dan *. Operator tertinggi adalah * kemudian +. Tanda * diapit oleh B dan C (B*C), prefixnya dengan mengabungkan operand dan memindahkan operator kedepan dari operand. Jadi fungsi B*C prefixnya adalah *BC. Sehingga hasil sementara membentuk notasi A+ *BC. Selanjutnya, mencari prefix untuk operator berikutnya (+), cara yang dilakukan sama dengan cara sebelumnya, operator + diapit oleh A dan *BC, kemudian gabungkan operand sehingga menjadi A*BC, lalu pindahkan operator kedepan operand, sehinga hasil alhirnya menjadi +A*BC.
infix to prefix
Infix
Infix adalah notasi yang terbentuk atas operator dan operand, dimana operator berada ditengah operand.
- A + B * C
- ( A + B ) * C
- A – ( B + C ) * D ^ E
Posfix adalah notasi yangterbentuk dari operand dan operator, dimana operator berada dibelakang operand.
Contoh:
Infix : A + B * C
Postfix : ABC*+.
Penjelasan:
Dari notasi diatas ada 3 operand yaitu, A, B, dan C serta 2 opertor yaitu, + dan *. Contoh diatas operator yang tertinggi adalah * kemudian +. Tanda * diapit oleh 2 operand, yaitu B dan C (B*C), pindahkan operator * kebelakang C sehingga notasi menjadi BC*, dan hasil sementara dari notasi postfix adalah A + BC*.
Selanjutnya adalah mencari postfix untuk operator berikutnya, yaitu +. Operator + diapit oleh 2 operand, yaitu A dan BC*, gabungkan operand tersebut hingga menjadi ABC*, lalu pindahkan operator + ke tempat paling belakang, sehingga hasil akhir menjadi ABC*+.
infix to postfix
Ada penjelasan dari source code nya bang biar lebih paham
BalasHapus