Pohon Berakar (Prefix, Infix, Postfix)
POHON BERAKAR (PREFIX, INFIX DAN POSTFIX)
Para perancang sistem operasi selalu berusaha memikirkan algoritma yang tepat, efektif dan efisien guna “menjaga” data yang ada agar tidak hilang. Seperti ketika suatu data akan disimpan di suatu media penyimpanan, bagaimana menentukan alamatnya agar dapat diraih kembali, bagaimana agar keterhubungan antara satu bagian data dengan bagian data lain tidak terputus, dan sebagainya.
Oleh karena itu, perlu digunakan struktur data (prefix, infix dan postfix) agar kita bisa
membuat data agar tidak hilang ataupun berantakan. Untuk lebih jelasnya, mari kita belajar
cara membuat struktur data (prefix, infix, dan postfix) dengan benar :
membuat data agar tidak hilang ataupun berantakan. Untuk lebih jelasnya, mari kita belajar
cara membuat struktur data (prefix, infix, dan postfix) dengan benar :
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
sumber referensi : https://hendryprihandono.wordpress.com/2008/11/03/mengenal-notasi-postfix/
Komentar
Posting Komentar