0% menganggap dokumen ini bermanfaat (0 suara)
520 tayangan9 halaman

Modul 7 Pohon Ekspresi

Modul ini membahas tentang membuat aplikasi notasi prefix, infix, dan postfix dengan menggunakan pohon biner dari ekspresi matematika. Pembentukan pohon biner dilakukan dengan mengambil karakter per karakter dari ekspresi sambil menggunakan tumpukan untuk menempatkan operator dan operand dalam pohon. Kunjungan preorder, inorder, dan postorder pada pohon akan menghasilkan notasi prefix, infix, dan postfix. Modul ini berisi contoh kode unt

Diunggah oleh

Raja Purba
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
520 tayangan9 halaman

Modul 7 Pohon Ekspresi

Modul ini membahas tentang membuat aplikasi notasi prefix, infix, dan postfix dengan menggunakan pohon biner dari ekspresi matematika. Pembentukan pohon biner dilakukan dengan mengambil karakter per karakter dari ekspresi sambil menggunakan tumpukan untuk menempatkan operator dan operand dalam pohon. Kunjungan preorder, inorder, dan postorder pada pohon akan menghasilkan notasi prefix, infix, dan postfix. Modul ini berisi contoh kode unt

Diunggah oleh

Raja Purba
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

MODUL 7

POHON EKSPRESI

A. Tujuan

Mampu membuat aplikasi notasi prefix, infix dan postfix dengan pohon biner dari untai persamaan

B. Landasan teori

Sebuah pohon biner dapat kita susun, yang apabila dikunjungi preorder akan menghasilkan notasi
prefix, kunjungan inorder akan menghasilkan notasi infix, dan kunjungan postorder akan
menghasilkan notasi postfix. Dalam hal pembuatan pohon ini kita memerlukan bantuan tumpukan
(stack) untuk membuat pohon binernya.

Dengan menggunakan pohon biner, operator akan selalu diletakkan sebagai akar dan operand akan
selalu diletakkan sebagai daun (leaf). Dengan demikian simpul yang berisi operator selalu
mempunyai dua cabang, baik cabang kiri maupun cabang kanan. Gambar 7.1. menunjukkan contoh
pohon biner dari ungkapan yang ditulis menggunakan notasi infix.

* +

/ - E F

A B C D
Notasi Infix : ((A/B)*(C-D))^(E+F)

Gambar 7.1 pohon biner dari notasi infix


Proses pembentukan pohon biner dilakukan dengan mengambil perkarakter dari untai persamaan
yang akan dibuat pohon binernya kemudian test karakter tersebut jika karakter tersebut adalah :

 Kurung buka, ‘(‘, push karakter ini ke dalam tumpukan operator.


 Operand, push karakter ini ke dalam tumpukan operand.
 Kurung tutup, ‘)’. Pop dua elemen dari tumpukan operand (elemen pertama akan menempati
cabang kanan dan elemen kedua akan menempati cabang kiri) dan pop sebuah elemen dari
tumpukan operator (sebagai akar). Gabung elemen-elemen ini membentuk sebuah pohon dan
push kembali ke dalam tumpukan operand. Langkah ini diulangi sampai elemen teratas
tumpukan operator berisi ‘(‘. Pop juga elemen ini tetapi tidak perlu di apa-apakan.
 Operator, kerjakan langkah-langkah seperti jika karakternya kurung tutup selama tumpukan
operator tidak kosong dan valensi karakter tersebut lebih kecil atau sama. Dengan valensi
teratas tumpukan operator. Kemudian push karakter tersebut ke dalam tumpukan operator.
 Karakter lain selain operator dan operand yang sudah ditentukan, dan juga bukan kurung tutup
atau kurung buka, berarti karakter tersebut tidak sah. Proses pembentukan pohon dihentikan
dan langsung keluar dari proses tersebut.

Langkah-langkah di atas diulang sampai semua karakter dalam untai persamaan diproses. Valensi
yang digunakan untuk operator adalah valensi ‘^’ = 3, valensi ‘*’ dan ‘/’ = 2, valensi ‘+’ dan ‘-‘ = 1 dan
valensi ‘(‘ = 0.

StackTree
- stackListTree : ListTree

 StackTree () : Constructor
 push(TreeNode) : void
 pop() : TreeNode
 isEmpty : boolean
 print : void

Gambar 7.2 Diagram Kelas StackTree


C. Latihan
1. Lengkapi program di bawah ini dengan class StackTree seperti yang ditunjukkan diagram kelas di
atas.
a. Cobalah jalankan program di atas. Bila benar hasil keluaran program Infix : A + B
b. Cobalah dengan dua contoh masukan yang lain pada kelas TreeTest.java.
c. Gambar ilustrasi pohon biner hasil pembacaan ketiga notasi di atas menggunakan langkah-
langkah di landasan teori.
d. Cobalah tampilkan hasil pembacaan prefix dan postfixnya.

D. Format laporan :
1. Program (20 point)
2. Output (50 point)
3. Analisa (30 point)

Anda mungkin juga menyukai