Assalamualaikum warahmatullah di postingan kali ini akan membahas tentang infix, posfix, dan prefix
Didalam struktur data ada notasi yang dilakukan untuk operasi aritmatika notasi tersebut disebut infix, postfix dan prefix, sebelum mengetahui lebih dalam dari notasi tersebut kita harus tahu hal yang mendasari notasi tersebut yaitu 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
selanjutnya kita harus mengerti tingkatan/level indikator dalam notasi tersebut,
1. ^ (pangkat)
2. * (kali) atau / (bagi)
3. + (jumlah) atau – (kurang)
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
contoh source code :
codingan konversi postfix ke infix
nah itulah sedikit yang penjelesan dari postingan kali ini semoga membantu ya. terimakasih
Wassalamualaikum wr wb
Tidak ada komentar:
Posting Komentar