Convert Infix Notation to Postfix Notation
Algoritma :
1. program membaca input yang kita masukkan. jika inputan pertama berupa simbol "(" maka simbol tersebut akan di PUSH ke dalam stack
2. jika bertemu dengan simbol ")" maka program akan mem-POP seluruh elemen yang berada dalam stack menjadi output sampai bertemu dengan simbol "(" yang kita input pertama tadi. dengan catatan simbol "(" dan ")" tidak akan menjadi output.
3. jika inputan yang terbaca berupa simbol OPERAND, maka OPERAND tersebut langsung di POP menjadi output.
4. jika inputan merupakan simbol OPERATOR maka :
- kita perhatikan dahulu level dari OPERATOR yang diinputkan, jika TOP stack berisi OPERATOR dengan level lebih tinggi atau sama dengan OPERATOR yang diinputkan, maka TOP stack tersebut akan di POP menjadi output. Proses seperti ini akan terus berlanjut dan akan berakhir jika bertemu dengan OPERATOR dengan level lebih rendah atau jika bertemu dengan simbol “(“.
- jika OPERATOR yang diinputkan memiliki level lebih tinggi dibanding dengan OPERATOR yang ada di dalam stack, maka OPERATOR tersebut ikut kita PUSH ke dalam stack.
*keterangan :
-CREATE = operasi pembuatan stack.
-PUSH = operasi memasukkan/menambah elemen ke dalam stack.
-POP = operasi penghapusan elemen dari stack.
-ISEMPTY =operasi stack yang memastikan stack kosong atau tidak, dan output datanyanya bertipe boolean.
-OPERAND = operand di sini merupakan simbol berupa abjad/alfabet (contoh : a,b,c,d,…,z).
-OPERATOR = merupakan simbol aritmatika (contoh: ^, *, /, +, -”(“, “)” ).
Sebagai catatan, program converter infix ke postfix ini menggunakan bahasa pemrograman python. Bagi yang mau mendownload program + source code + algoritma dipersilahkan
http://www.mediafire.com/download.php?nzodrdqphrhjvi7
wow ajarin stack dong kaka :O
ReplyDelete