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 :

  • Operand : Variable berupa huruf atau angka seperti A,B,C atau 1,2,3.
  • Operator : Operasi matematika seperti +, -, *,  /.
Prioritas pengerjaan berdasarkan operator :

  1. Kurung : ()
  2. Pangkat : ^
  3. Perkalian dan pembagian : * dan /
  4. Penjumlahan dan Pembagian : + dan -
Prefix
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
Postfix
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

Komentar

Posting Komentar

Postingan populer dari blog ini

Graph - Python

Macam - Macam Sorting pada Python

Linier dan Binary Search - Python