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 :
a. (A*(B^C))-D
=A*^BC-D
=*A^BC-D
=-*A^BCD
b. ((A*B)^C)-D
=*AB^C-D
=^*ABC-D
=-^*ABCD
c. A*((B^C)-D)
=A*^BC-D
=*A^BC-D
=*A-^BCD
2.. 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 :
a. (A*(B^C))-D
=A*BC^-D
=ABC^*-D
=ABC^*D-
b. ((A*B)^C)-D
=AB*^C-D
=AB*C^-D
=AB*C^D-
c. A*((B^C)-D)
=A*BC^-D
=A*BC^D-
NOTASI TREE
A. - B. - C. *
/ \ / \ / \
D * D ^ A -
/ \ / \ / \
A ^ C * D ^
/ \ / \ / \
C B A B C D
0 komentar:
Posting Komentar