110 likes | 267 Views
Ungkapan Numeris. Rahmat Deddy Rianto Dako , ST, M.Eng. A + B – C (A + B) * (C – D) Jan Lukasiewicz Notasi Polish - + A B C * + A B - C D. infix. prefix. Infix - Prefix. (A + B) * (C – D) ( + A B) * ( – C D ) Mis, P = ( + A B ) Q = ( – C D) Maka P * Q
E N D
Ungkapan Numeris RahmatDeddyRiantoDako, ST, M.Eng
A + B – C (A + B) * (C – D) Jan Lukasiewicz Notasi Polish - + A B C * + A B - C D infix prefix Infix - Prefix
(A + B) * (C – D) • (+ A B) *( – C D ) • Mis, P= (+A B) • Q= ( – C D) • Maka • P* Q • *P Q • * +A B –C D Penjelasan
A + B – C (A + B) * (C – D) Reverse Polish Notation (RPN) A B + C – A B + C D – * infix Postfix/Suffix Infix – Postfix
Langkah 0 Baca ungkapan dalam notasi infix, misalnya, S; tentukan panjang ungkapan tersebut, misalnya N karakter; siapkan sebuah tumpukan kosong dan siapkan derajat masing operator, misalnya : $ = 3, • * dan / = 2, • + dan - = 1, dan • ( = 0 Algoritma INFIX_KE_POSTFIX (1)
Langkah 1 Dimulai dari I= 1 sampai N kerjakan : • R = S[I] • Test nilai R, jika R adalah : • Operand : langsung ditulis • Kurung buka : push ke dalam tumpukan • Kurung tutup : pop dan tulis semua isi tumpukan sampai ujung tumpukan = “(“. Pop juga tanda “(“ ini, tetapi tidak usah ditulis. • Operator : jika tumpukan kosong, atau derajat R lebih tinggi dibanding derajat ujung tumpukan, push operator ke dalam tumpukan. Jika tidak, pop ujung tumpukan dan tulis; kemudian ulangi perbandingan R dengan ujung tumpukan. Kemudian R dipush. (catatan, kurung buka di dalam tumpukan dianggap mempunyai derajat lebih rendah dibanding R Algoritma INFIX_KE_POSTFIX (2)
Langkah 2 Jika akhir notasi infix telah tercapai, dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya. Algoritma INFIX_KE_POSTFIX (3)
Buatlah Algoritma tersebut dalam program Pekerjaan Rumah
Queue (Antrian) Next Meeting