Notasi Infix , Prefix , dan Postfix

Posted on
Seorang ahli matematika “Jan Lukasiewicz“ mengembangkan satu cara penulisan ungkapan numeris yang selanjutnya disebut “Notasi Polish“ atau “Notasi Prefix” yang artinya: operator ditulis sebelum kedua operand yang akan disajikan.
Dalam struktur data yang banyak dipelajari, kita ketahui adanya 3 notasi operasi yang dilakukan untuk suatu operasi aritmatika, yaitu prefix, infix, dan postfix.
Sebelum kita kupas mengenai notasi di atas, perlu dipahami terlebih dahulu indikator yang membentuk terjadinya notasi dalam struktur data. Notasi terbentuk dari operand dan operator. Operand adalah data atau nilai yang membantu dalam proses sedangkan operator adalah fungsi yang digunakan dalam proses.


Contoh :
A + B * C
2 + 3 * 5
Keterangan : A, B, C, 2, 3, 5 adalah operand
                    +, * adalah operator
Nahh… sekarang mudah-mudahan sudah dapat diketahui indikator yang membentuk suatu notasi. Selanjutnya kita harus mengetahui level/hirarkhi dari operator seperti
1. ^ (pangkat)
2. * (kali) atau / (bagi)
3. + (jumlah) atau – (kurang)
Seperti yang telah dibahas di awal, diketahui notasi pada struktur data terdiri atas 3 macam, yaitu
1. Prefix
     yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada didepan operand.
     Contoh :  A + B * C (Infix)
     maka notasi prefixnya adalah   +A*BC
    Pemecahannya :
                       A  +  B  *  C
diketahaui ada 3 operand yaitu : A, B, C, dan 2 operator yaitu : +, *. Proses dimulai  dengan melihat dari hirarkhi operator. Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh dua operand yaitu B dan C yaitu B * C , prefixnya dengan menggabungkan operand dan memindahkan operator kedepan dari operand, sehingga fungsi B * C, notasi prefixnya menjadi *BC. Sehingga hasil sementara dari notasi prefix adalah
       A + *BC
selanjutnya mencari prefix untuk operator yang berikutnya, yaitu +, cara yang dilakukan sama seperti di atas, operator +, diapit oleh 2 operand, yaitu A dan *BC, gabungkan operand, sehingga menjadi A*BC, lalu pindahkan operator kedepan operand, sehingga hasil akhir menjadi
      + A * B C
 Contoh yang lain:
1.  A + B  – C * D
        2     3    1   —–>    hirarkhi level
     A + B – *CD   —–>    1
     +AB – *CD     —–>    2
     – +AB *CD     —–>    3
2. A * B ^ C – D
       2   1    3      —–>    hirarkhi
    A * ^BC – D     —–>    1
    *A^BC – D       —–>    2
    -*A^BCD         —–>    3
3.  A + ( B – C ) * D
        3      1      2   —–> hirarkhi
     A + -BC * D      —–>  1 (karena diapit tanda paranthesis atau kurung buka/tutup,( ) )
     A + *-BCD        —–>  2
     + A *-BCD        —–>  3 
2. Infix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada diantara operand. Notasi ini hanya dikenal oleh manusia dan selalu digunakan dalam perhitungan aritmatika.
     Contoh :  A + B * C
                    ( A + B ) * C
                    A – ( B + C ) * D ^ E
3. Postfix
yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada dibelakang operand. Notasi ini hanya dikenal oleh processor dan dipahami dalam ALU. 
     Contoh :  A + B * C (Infix)
maka notasi postfixnya adalah   ABC*+
    Pemecahannya :
                       A  +  B  *  C
diketahaui ada 3 operand yaitu : A, B, C, dan 2 operator yaitu : +, *. Proses dimulai  dengan melihat dari hirarkhi operator. Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh dua operand yaitu B dan C yaitu B * C , postfixnya dengan menggabungkan operand B dan C menjadi BC lalu memindahkan operator ke belakang operand C, sehingga fungsi B * C, notasi postfixnya menjadi BC*. Sehingga hasil sementara dari notasi postfix adalah
       A + BC*
selanjutnya mencari postfix untuk operator yang berikutnya, yaitu +, cara yang dilakukan sama seperti di atas, operator +, diapit oleh 2 operand, yaitu A dan BC*, gabungkan operand tersebut, sehingga menjadi ABC*, lalu pindahkan operator + ke belakang operand ABC*, sehingga hasil akhir menjadi
      ABC*+
Contoh yang lain:
1.  A + B  – C * D
        2     3    1   —–>    hirarkhi level
     A + B – CD*   —–>    1
     AB+ – *CD     —–>    2
     AB+*CD-       —–>    3
2. A * B ^ C – D
       2   1    3      —–>    hirarkhi
    A * BC^ – D     —–>    1
    ABC^* – D       —–>    2
    ABC^*D-         —–>    3
3.  A + ( B – C ) * D
        3      1      2   —–> hirarkhi
     A + BC- * D      —–>  1 (karena diapit tanda paranthesis atau kurung buka/tutup,( ) )
     A + BC-D*        —–>  2
     A BC-D*+         —–>  3 
yahh…gitulah pembentukkan notasi yang bisa di sharing dalam pertemuan ini.
 
Contoh lain:
Notasi Infix-Prefix
Cara penulisan ungkapan yaitu dengan menggunakan notasi infix, yang artinya operator ditulis diantara 2 operator.
Seorang ahli matematika bernama Jan Lukasiewiccz mengembangkan suatu cara penulisan ungkapan numeris yang disebut prefix, yang artinya operator ditulis sebelum kedua operand yang akan disajikan.
Contoh :
Proses konversi
dari infix ke prefix :
= ( A + B ) * ( C – D )‏
= [ + A B ] * [ – C D ]
= * [ + A B ] [ – C D ]
= * + A B – C D
Notasi Infix-Postfix
Cara penulisan ungkapan yaitu dengan menggunakan notasi postfix, yang artinya operator ditulis sesudah operand.
Contoh :
Proses konversi
dari infix ke postfix :
= ( 6 – 2 ) * ( 5 + 4 )‏
= [ 6 2 – ] * [ 5 4 + ]
= [ 6 2 – ] [ 5 4 + ] *
= 6 2 – 5 4 + *
 
Jika ingin menguasai cara pembentukkan notasi ini caranya adalah dengan BANYAK LATIHAN KASUS.
1. A * ( B + C ) / ( D – E ), Notasi Postfix dan Prefix?
2. ABC+*DE-/, Notasi Infix dan Prefix?
3. 223+*32-, berapakah hasilnya

sumber referensi : kangnanto.com

Gravatar Image
Suka jalan-jalan, naik sepeda, bermain code-code asal tidak suka mengkode cinta. Hubungi email : andhika.na@gmail.com jika anda butuh website untuk personal maupun bisnis.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.