80 likes | 225 Views
PERTEMUAN KE-6 Senin, 11 Oktober 2010. STRUKTUR DATA. Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Palangka Raya. Mengubah Infix Postfix. Ekspresi dibaca per karakter dari kiri ke kanan. Algoritma: Jika dibaca tanda “(“ maka PUSH ke stack
E N D
PERTEMUAN KE-6 Senin, 11 Oktober 2010 STRUKTUR DATA Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Palangka Raya
Mengubah Infix Postfix Ekspresi dibaca per karakter dari kiri ke kanan. Algoritma: • Jika dibaca tanda “(“ maka PUSH ke stack • Jika dibaca tanda “)” maka POP semua elemen dari stack sampai ditemukan tanda “(“ • Semua elemen yang di-POP ditulis kembali, kecuali tanda “(“ • Jika simbol adalah operan maka operan tersebut langsung di-output. • Jika dibaca simbol operator maka periksa apakah elemen TOP merupakan operator yang levelnya sama atau lebih tinggi, jika ya, POP dan output-kan operator dari stack. Lanjutkan proses ini sampai TOP adalah “(“ atau operator dengan level lebih rendah. Jika hal ini terjadi, operator yang diamati di PUSH
START Input E N Len(E) i = 1 to N cc E[i] Y cc = “(“ PUSH (cc) N Y cc = “)“ A N cc in [“0”..”9”] or cc in [“A”..”Z”] Y Output (cc) N cc in [“+”,”-”,”*”,”/”,”^”] Y B D N i >= N C N Y
A B cc POP TOP(S) Higher or Equal cc Y cc POP cc = “(“ Y D N Output cc N PUSH (cc) Output cc D C N ISEMPTY(S) ERROR Y END
Ubahlah ekspresi berikut menjadi notasi postfix ((A+B)*C/D+E^F)/G
Infix Postfix • Cara lain mengubah notasi infix menjadi postfix adalah dengan menggunakan struktur pohon. A + B A + B * C A * (B + C) + + * A B * + A A B B C C
Infix Postfix • Y = ((A+B)*C/D+E^F)/G = / Y + G / ^ * D E F + C A B
email Kirim email berisi NAMA dan NIM ke roysart.alfons@gmail.com Paling lambat hari Rabu, 13 Oktober 2010