Definisi
Postfix, adalah notasi yang membentuk atas operator dengan
operand, dimana operator berada dibelakang operand.
Operator adalah fungsi yang digunakan dalam proses
Operand adalah data atau nilai yang dibantu dalam
proses
Contoh
:
A +
B * C
Jadi
penyelesaiannya,
Postfix
A
A
+
+ A
B
+ AB
*
+* AB
C
+* ABC
Ilustrasi
Kode Program :
def Stack():
opStack=[]
return opStack
def push(opStack,data):
opStack.append(data)
def pop(opStack):
data = opStack.pop()
return data
def peek(opStack):
return opStack[len(opStack)-1]
def isEmpty(opStack):
return opStack == []
def size(opStack):
return len(opStack)
def infixToPostfix(infixexpr):
prec
= {}
prec["*"] = 3
prec["/"] = 3
prec["+"] = 2
prec["-"] = 2
prec["("] = 1
opStack = Stack()
postfixList = []
tokenList = infixexpr.split()
for
token in tokenList:
if token in "ABCDEFGHIJKLMNOPQRSTUVWXYZ" or token in
"0123456789":
postfixList.append(token)
elif token == '(':
opStack.push(token)
elif token == ')':
topToken = opStack.pop()
while topToken != '(':
postfixList.append(topToken)
topToken = opStack.pop()
else:
while (not opStack.isEmpty()) and \
(prec[opStack.peek()] >= prec[token]):
postfixList.append(opStack.pop())
opStack.push(token)
while not opStack.isEmpty():
postfixList.append(opStack.pop())
return " ".join(postfixList)
print(infixToPostfix(" ( A * B ) + C " ) )

mantap gan sangat membantu ,,, kasih link download juga gan :) hhh
BalasHapus