Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan Struktur Data * Pohon Ekspresi * STMIK JAKARTA STI&K Disusun oleh : Aqwam Rosadi K.

Presentasi serupa


Presentasi berjudul: "Pertemuan Struktur Data * Pohon Ekspresi * STMIK JAKARTA STI&K Disusun oleh : Aqwam Rosadi K."— Transcript presentasi:

1 Pertemuan Struktur Data * Pohon Ekspresi * STMIK JAKARTA STI&K Disusun oleh : Aqwam Rosadi K

2 2 Kompetensi Mahasiswa mampu membuat dan mengimplementasikan pohon ekspresi Mahasiswa mampu mengimplementasi pembuatan ekspresi dari pohon ekspresi

3 Expression Tree - 1 Sebuah expression tree adalah sebuah binary tree dengan sifat : operand –Setiap leaf adalah sebuah operand. operators –Root dan internal nodes adalah operators. –Subtrees adalah subexpressions, dengan root adalah sebuah operator.

4 Expression Tree - 2 infixpostfixprefixDalam expression tree, 3 cara traversals akan membentuk 3 format ekspresi yang berbeda yaitu : infix, postfix, and prefix. infix expression –Inorder traversal menghasilkan infix expression postfix expression –Postorder traversal menghasilkan postfix expression prefix expression –Preorder traversal menghasilkan prefix expression

5 Contoh Expression Tree A+B  C-D  E  ((A+(B  C))-(D  E)) + A  DE -  BC

6 Contoh Expression Tree A*B+C  (A*(B+C)) A  -B+C  D  E  ((A  (-B))+((C  D)  E)) * A+ BC  A   E + - B CD

7 Infix Traversal kurung buka kurung tutupSaat mencetak infix expression tree, kita harus menambahkan kurung buka pada awal setiap ekspresi dan kurung tutup pada akhir ekspresi. subexpression –Dikarenakan root dari tree dan setiap subtree dari tree menyatakan subexpression, maka kita mencetak kurung buka saat memulai sebuah tree atau subtree dan kurung tutup saat semua anak dari tree/subtree sudah diproses.

8

9 infix Algorithm infix (val tree ) if (tree not empty) if (tree → token is an operand) print (tree → token) else print (open parenthesis) infix infix (tree → left) print (tree → token) infix infix (tree → right) print (close parenthesis) end if return end infix Infix Traversal

10 Postfix Traversal Menggunakan postorder traversal seperti pada tree. Tidak membutuhkan kurung postfix Algorithm postfix (val tree ) if (tree not empty) postfix postfix (tree → left) postfix postfix (tree → right) print (tree → token) end if return end postfix

11 Prefix Traversal Menggunakan preorder traversal seperti pada tree. Tidak membutuhkan kurung prefix Algorithm prefix (val tree ) if (tree not empty) print (tree → token) prefix prefix (tree → left) prefix prefix (tree → right) end if return end prefix

12 Infix or postfix or prefix ? Bentuk infix 3+5*4. Berapa hasilnya ? Bentuk prefix * Berapa hasilnya ? Bentuk 35+4*. Berapa hasilnya ?

13 Konversi bentuk infix, prefix, postfix Ada 6 konversi yang dapat dikerjakan : –infix -> prefix, –infix -> postfix, –prefix -> infix, –prefix -> postfix, –postfix -> prefix, –postfix -> infix. Untuk 2 yang pertama menggunakan stack, sedangkan 4 yang terakhir menggunakan Expression Trees.

14 Membuat Pohon Ekspresi dari Ekspresi Postfix Menggunakan stack untuk menyimpan operand Tree yang dibuat : – Node yang berisi nama variabel menjadi daun – Node yang berisi operator memiliki paling sedikit 2 anak yang dapat berupa operator lain atau node daun

15 Membuat Pohon Ekspresi dari Ekspresi Postfix A B C D * - + E / B B Stack A A A B C A D C B A C D * B A C D *

16 Membuat Pohon Ekspresi dari Ekspresi Postfix A B C D * - + E / Stack E - B C D - * + A B C D - * + E A B C D - * + / / E A B C D - * +

17 Membuat Pohon Ekspresi dari Ekspresi Postfix Ilustrasi Lain

18 * 9 + Token 5 push(new ExpressionTree(5,null,null)); Langkah Stack (top at right) 5 Token 3 push(new ExpressionTree(3,null,null)); Langkah Stack (top at right) 53

19 Token - op2 = pop op1 = pop push(new ExpressionTree(-,op1,op2)); Langkah Stack (top at right) 5 - 3

20 Token 4 push(new ExpressionTree(4,null,null)); Langkah Stack (top at right)

21 Token * op2 = pop op1 = pop push(new ExpressionTree(*,op1,op2)); Langkah Stack (top at right) *

22 Token 9 push(new ExpressionTree(9,null,null)); Langkah Stack (top at right) * 9

23 Token + op2 = pop op1 = pop push(new ExpressionTree(+,op1,op2)); Langkah Stack (top at right) * 9 + End of the expression has been reached, and the full expression tree is the only tree left on the stack

24 Praktikum Membuat pohon ekspresi dari ekspresi postfix Operasi traversal pada pohon ekspresi Berupa algoritma & rancangan program

25 “Watch your habits, for they become your character. Develop your character, for it becomes your destiny” (Perhatikan kebiasaanmu, karena itu akan menjadi karaktermu. Bentuklah karaktermu, karena itu akan menentukan masa depanmu)


Download ppt "Pertemuan Struktur Data * Pohon Ekspresi * STMIK JAKARTA STI&K Disusun oleh : Aqwam Rosadi K."

Presentasi serupa


Iklan oleh Google