Minggu, 24 Juni 2018

PREFIX , INFLIX, DAN POSTFIX

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 & operator. Operand yaitu data atau nilai yang membantu dalam proses sedangkan operator yaitu 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, 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
diketahui 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 

Tidak ada komentar:

Posting Komentar

BLOCKING

Senin, 24 Juni 2019 BLOCKING Blocking adalah Penempatan sejumlah record pada suatu block. Block adalah unit data yang ditransfer. Block b...