Ada tiga bentuk penulisan notasi
matematis di komputer, satu bentuk adalah yang umum
digunakan manusia (sebagai input di
komputer) yaitu infix, dan dua yang digunakan oleh
komputer (sebagai proses), yaitu postfix
dan infix. Berikut contoh-contohnya:
1.
A
+ B Infix
2.
A
B + Postfix
3.
+
A B Prefix
4.
(A
+ B) * C Infix
5.
A
B + C * Postfix
6.
*
+ A B C Prefix
7.
A
* ( B + C) Infix
8.
A
B C + * Postfix
9.
*
A + B C Prefix
1. Konversi Infix
ke Postfix
Untuk mengetahui bentuk postfix dari
notasi infix, ada tiga cara yang dapat dilakukan, yaitu
(1) manual, (2) stack, dan
(3) binary tree. Berikut contoh notasi infixnya:
A * ( B + C ) / D ^ E – F
Cara Manual
Caranya adalah dengan
menyederhanakan notasi menjadi dua operand (variabel) dan satu
operator, seperti A + B.
Langkah 1: tentukan (berdasarkan
derajat operasi) mana yang akan diproses terlebih dulu.
Diperoleh ( B + C ). Jika ( B + C )
dianggap G, maka notasi infix tadi menjadi:
A * G / D ^ E – F
Langkah 2: dari hasil langkah 1,
disederhanakan lagi, kali ini ((berdasarkan derajat operasi)
akan disederhanakan D ^ E. Bila D ^
E dianggap H, maka notasi infix tadi
menjadi: A * G / H – F
Langkah 3: dari hasil langkah 2,
disederhanakan lagi, kali ini ((berdasarkan derajat operasi)
akan disederhanakan A * G. Bila A*
G dianggap I, maka notasi infix tadi
menjadi: I / H – F
Langkah 4: dari hasil langkah 3,
disederhanakan lagi, kali ini ((berdasarkan derajat operasi)
akan disederhanakan I / H. Bila I /
H dianggap J, maka notasi infix tadi menjadi:
J – F
Setelah diperoleh bentuk seperti
itu, maka satu per satu kita kembalikan ke notasi semula
sambil mengubahnya menjadi notasi postfix.
Langkah 5: hasil akhir J – F,
dibentuk postfixnya, menjadi J F –
Langkah 6: J sebenarnya adalah I /
H yang jika ditulis dalam bentuk postfix menjadi I H /,
lalu kita gabung dengan hasil di
langkah 5 tadi, diperoleh: I H / F -
Langkah 7: H sebenarnya adalah D ^
E yang jika ditulis dalam bentuk postfix menjadi D E ^,
lalu kita gabung dengan hasil di
langkah 6 tadi, diperoleh: I D E ^ / F –
Langkah 8: I sebenarnya adalah A *
G yang jika ditulis dalam bentuk postfix menjadi A G *,
lalu kita gabung dengan hasil di
langkah 7 tadi, diperoleh: A G * D E ^ / F –
Langkah 9: G sebenarnya adalah B +
C yang jika ditulis dalam bentuk postfix menjadi B C +,
lalu kita gabung dengan hasil di
langkah 8 tadi, diperoleh: A B C + * D E ^ / F –
Dengan demikian, untuk notasi infix:
A * ( B + C ) / D ^ E – F maka notasi postfixnya
menjadi: A B C + * D E ^ / F –
Postfix tidak memerlukan
tanda kurung, prosesnya berjalan sebagai berikut:
2 3 5 + * 4 2 ^ / 3 –
2 8 * 4 2 ^ / 3 –
16 4 2 ^ / 3 -
16 16 / 3 -
1 3 –
-2
Sama hasilnya pada infix: 2
* ( 3 + 5 ) / 4 ^ 2 – 3 = -2
2. Konversi Prefix ke Infix
dan/atau Postfix
Konversi dari prefix ke infix
dan/atau postfix bisa dilakukan melalui bantuan manual atau
pohon binar. Contoh: notasi prefix:
- / * + A B C^ D E F, maka notasi infixnya adalah:
a. Langkah I: cari yang bentuknya:
+ A B (operator, operand, operand). Diperoleh:
- / * + A B C^ D E F
G H
b. Sederhanakan notasi tersebut
menjadi: - / * G C H F
c. Ulangi langkah I hingga menjadi
satu operator dan dua operand:
c.1. - / * G C H
I
c.2. - / I H F
J
c.3. - J F
d. Jadikan bentuk infix dan
kembalikan ke notasi semula (setiap penjabaran diberi tanda
kurung):
d.1. J – F
d.2. J = (I / H), digabung menjadi:
(I / H) – F
d.3. H = (D ^ E), digabung menjadi:
(I / (D ^ E)) – F
d.4. I = (G * C), digabung menjadi:
((G * C) / (D ^ E)) – F
d.5. G = (A + B), digabung menjadi
(((A + B) * C) / (D ^ E)) - F
Dengan cara yang sama, kita bisa
mengalihkan notasi prefix tersebut ke notasi postfixnya,
yaitu:
a. Langkah I: cari yang bentuknya:
+ A B (operator, operand, operand). Diperoleh:
- / * + A B C^ D E F
G H
b. Sederhanakan notasi tersebut
menjadi: - / * G C H F
c. Ulangi langkah I hingga menjadi
satu operator dan dua operand:
c.1. - / * G C H
I
c.2. - / I H F
J
c.3. - J F
d. Jadikan bentuk postfix dan
kembalikan ke notasi semula:
d.1. – J F pada prefix menjadi
J F - dalam postfix
d.2. J = I H / , digabung menjadi:
I H / F -
d.3. H = D E ^, digabung menjadi: I
D E ^ / F -
d.4. I = G C *, digabung menjadi: G
C * D E ^ / F -
d.5. G = A B +, digabung menjadi A
B + C * D E ^ / F –
3. Konversi Postfix ke Infix
dan/atau Prefix
Sama caranya dengan konversi dari prefix
ke infix dan/atau postfix, konversi postfix ke infix
atau prefix bisa dilakukan
melalui bantuan manual atau pohon binar. Contoh: notasi postfix:
A B + C * D E ^ / F -, maka notasi infixnya
adalah:
e. Langkah I: cari yang bentuknya:
A B + (operand, operand, operator). Diperoleh:
A B + C * D E ^
/ F -
G
H
f. Sederhanakan notasi tersebut
menjadi: G C * H / F -
g. Ulangi langkah I hingga menjadi
satu operator dan dua operand:
c.1. G C * H/ F -
I
c.2. I H / F -
J
c.3. J F -
h. Jadikan bentuk infix dan
kembalikan ke notasi semula (setiap penjabaran diberi tanda
kurung):
d.1. J F – jadi ( J – F )
d.2. J = (I / H), digabung menjadi:
(I / H) – F
d.3. H = (D ^ E), digabung menjadi:
(I / (D ^ E)) – F
d.4. I = (G * C), digabung menjadi:
((G * C) / (D ^ E)) – F
d.5. G = (A + B), digabung menjadi
(((A + B) * C) / (D ^ E)) - F
Dengan cara yang sama, kita bisa
mengalihkan notasi postfix tersebut ke notasi prefixnya,
yaitu:
e. Langkah I: cari yang bentuknya:
A B + (operand, operand, operator). Diperoleh:
A B + C * D E ^
/ F -
G H
f. Sederhanakan notasi tersebut
menjadi: G C * H / F -
g. Ulangi langkah I hingga menjadi
satu operator dan dua operand:
c.1. G C * H / F -
I
c.2. I H / F -
J
c.3. J F -
h. Jadikan bentuk prefix dan
kembalikan ke notasi semula:
d.1. J F - pada postfix menjadi
- J F dalam pretfix
d.2. J = / I H , digabung menjadi:
- / I H F -
d.3. H = ^ D E, digabung menjadi: -
/ I ^ D E F -
d.4. I = G C *, digabung menjadi: -
/ * G C ^ D E F -
d.5. G = A B +, digabung menjadi -
/ * + A B C ^ D E F -
Komentar
Posting Komentar