Langsung ke konten utama

MATEMATIKA DISKRIT - INFIX, POSTFIX, DAN PREFIX

 



INFIX, POSTFIX, DAN PREFIX

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



No.
Infix
Postfix
Prefix
1
A + B
A B +
+ A B
2
(A + B) * C
A B + C *
* + A B C
3
A * ( B + C)
A B C + *
* A + B C

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 


A. 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 


B. Cara Stack 
Stack adalah tumpukan (jadi, memori diibaratkan dengan tumpukan) yang memiliki cara kerja, “yang pertama masuk ke kotak, maka akan terakhir kali diambil kembali” atau “first in last out”, atau sebaliknya, “yang terakhir masuk ke kotak, akan diambil yang pertama kali,” atau “last in first out.” 


C. Cara Binary Tree 
Langkah pertama untuk mengkonversi notasi infix menjadi postfix adalah dengan membuat struktur pohon binarnya. Langkah pertama untuk membuat struktur pohonnya adalah dengan menyederhanakan notasi.
Lalu, bagaimana menentukan notasi postfixnya ?. Tinggal mengikuti gerakan perjalanan atau kunjungan (traversal) secara post-order saja, yaitu rekursif dari (left-right-root) atau ulangi(kiri, kanan, tengah). 
a) Paling kiri adalah A, jadi hasil = A 
b) Setelah kiri, kita ke kanan dari A, diperoleh +. Ulangi proses lagi, yang paling kiri adalah B, jadi   hasil = A B 
c) Setelah kiri, kita ke kanan dari B, diperoleh C. Karena C merupakan ujung pohon (daun), maka jadikan hasil. Jadi, hasil = A B C 
d) Dari kanan (C) kita ke tengah, diperoleh tanda +. Karena di kiri dan kanan + sudah diproses, maka jadikan + sebagai hasil. Jadi, hasil = A B C + 
e) Kembali ke tengah dari struktur pohon A * +, kita peroleh *. Karena di kiri dan kanan lambang * sudah diproses, maka jadikan * sebagai hasil. Jadi, hasilnya: A B C + * 
f)  Kembali ke tengah struktur dari * / ^, yaitu /. Di kiri lambang / sudah diproses, maka kita ke kanan, sehingga diperoleh ^. Dari sini proses kembali diulang, kiri dari ^ adalah D yang merupakan daun dari struktur pohon itu. Jadi, hasil = A B C + * D 
g) Setelah kiri, kita ke kanan. Diperoleh E, jadi hasilnya = A B C + * D E 
h)  Setelah kanan, kita kembali ke tengah, diperoleh ^, sehingga hasilnya menjadi A B C + * D E ^ 
i) Kita kembali ke tengah sebelumnya, yaitu /. Karena di kiri dan kanan lambang / sudah diproses, maka lambang / menjadi hasil. Jadi, hasil = A B C + * D E ^ / 
j) Di kiri dan kanan lambang / sudah diproses, kita kembali ke root (akar, puncak struktur pohon binar), yaitu -. Di kiri lambang – sudah diproses semua, maka kita ke kanan, diperoleh F yang merupakan daun. Hasilnya menjadi A B C + * D E  ^ / F 
k)  Terakhir, kita kembali ke puncak (yang merupakan lambang terakhir dalam postfix), hasilnya = A B C + * D  E ^ / F – 


2. Konversi Infix ke Prefix 
Cara mengonversi infix ke prefix dapat dilakukan dengan dua cara, yaitu (a) manual, dan (b) binary tree.  


A. Cara Manual 
Dengan soal yang sama, maka cara manual mengonversi notasi infix ke prefix dimulai sama dengan cara di sub-bab 1.a. proses 1 sampai 4, hingga diperoleh:  J – F. 
1. Langkah  1: J – F dalam notasi prefix ditulis dengan  - J F 2. Langkah 
2: J adalah I / H yang notasi prefixnya adalah / I H, sehingga ketika digabung  akan menjadi - / I H F 3. Langkah 3: I adalah A * G yang notasi prefixnya adalah * A G, sehingga ketika digabung akan menjadi - / * A G H F 4. Langkah 
4: G adalah (B + C) yang notasi prefixnya adalah + B C, sehingga ketika digabung akan menjadi - / * A + B C H F 5. Langkah 
5: H adalah D ^ E yang notasi prefixnya adalah ^ D E, sehingga ketika digabung akan menjadi - / * A + B C ^ D E F 
Jadi, untuk notasi infix: A * ( B + C ) / D ^ E – F,  maka notasi postfix adalah: - / * A + B C ^ D E F 


B. Cara Binary Tree 
Caranya sama dengan cara binary tree sebelumnya. Singkatnya, setelah struktur pohonnya terbentuk, maka berikut ini traversalnya secara pre-order dengan rumus: rekursif(tengah, kiri, kanan), atau rekursif (root, left, right).


3. 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 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

Postingan populer dari blog ini

MATEMATIKA DISKRIT - POHON (TREE)

Pohon (tree)  adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. Gambar G1 dan G2 disebut pohon karena telah memenuhi syarat sesuai definisi pohon itu sendiri. Gambar G3 tidak bisa disebut pohon karena gambar tersebut mengandung sirkuit. Gambar G4 tidak bisa disebut pohon karena gambar tersebut memiliki graf yang tidak terhubung.   Hutan (forest)  adalah kumpulan pohon yang saling lepas. Bisa juga diartikan dengan graf tak terhubung yang tidak mengandung sirkuit, dalam hal ini setiap komponen di dalam graf terhubung. Sifat-sifat Pohon Misalkan G = (V,E) adalah graf tak-berarah sederhana dan jumlah simpulnya n, maka : 1.        G adalah pohon 2.        Setiap pasang simpul di dalam G terhubung dengan lintasan tunggal 3.        G terhubung dan memiliki m = n -1 buah sisi 4.        G tidak mengandung sirkuit d...

MATEMATIKA DISKRIT - PERMUTASI DAN KOMBINASI

PERMUTASI DAN KOMBINASI A. Permutasi  Permutasi adalah suatu susunan yang berbeda atau urutan yang berbeda yang dibentuk oleh sebagian atau keseluruhan objek atau unsur yang diambil dari sekelompok objek atau unsur yang tersedia.  Banyak permutasi dari k unsur yang diambil dari n unsur yang tersedia sama dengan    Susunan pada permutasi memperhatikan urutan artinya AB dengan BA dihitung berbeda.  Contoh :  a.Tentukan nilai :  4P2 = 4!/(4 - 2)! = 4!/2! = 4.3.2!/2! = 12 b. Tentukan banyaknya susunan atau permutasi tiga huruf yang diambil dari 6 huruf A , B , C , D, E, F. Jawab :  6P3 = 6!/(6 - 3)! = 6!/3! = 6.5.4.3!/3! = 120 c. Dalam suatu perlombaan balap karung yang terdiri dari 7 orang akan diambil 3 orang sebagai juara yaitu : juara I, juara II dan juara III. Tentukan kemungkinan susunan juara yang terjadi !  Jawab :                        7 x 6 x 5 =...