Anda di halaman 1dari 7

T0026 Struktur Data

07 / 01 - 07

APLIKASI STACK
Evaluasi Infix Notasi Infix
Notasi Infix, adalah suatu cara penulisan ekspresi aritmatik, sebagai contoh: 12 + 5 x 10. Evalusi Infix adalah mendapatkan nilai dari ekspresi tersebut, hasil evaluasi (perhitungan) dari contoh ekspresi diatas adalah 62. Membuat algoritma untuk evaluasi dari ekspresi Infix sangat sulit karena adanya precedence, yaitu operator mana yang harus didahulukan evaluasinya. Urutan yang telah dipelajari sejak bangku sekolah dasar
BINA NUSANTARA
Edisi : 1 Revisi : 0

T0026 Struktur Data

07 / 02 - 07

adalah: pangkat, kali, bagi, tambah dan kurang. Belum lagi adanya tanda kurung yang dapat merubah precedence dan mempersulit algoritma. Algoritma evaluasi Infix dapat dengan mudah dibuat bila notasi Infix diubah terlebih dahulu ke notasi lain yaitu notasi Prefix dan Postfix. Notasi Infix : Notasi Prefix: Notasi Postfix:
A+B +AB AB+ AxB+C +xABC ABxC+

BINA NUSANTARA
Edisi : 1 Revisi : 0

T0026 Struktur Data

07 / 03 - 07

Konversi Infix ke Postfix


Dilakukan secara manual:
Infix
AxB+C

Prefix
[x A B] + C + [x A B] C +xABC [+AB]xC-D [x[+AB]C]-D -[x[+AB]C]D -x+ABCD

Postfix
[A B x] + C [A B x] C + ABxC+ [AB+]xC-D [[AB+]Cx]-D [[AB+]Cx]DAB+CxD-

(A+B)xC-D

Apabila ekspresi sudah berada dalam notasi Postfix, maka membuat algoritma Evaluasi Postfix akan menjadi sangat mudah, yaitu dengan menggunakan Stack.

BINA NUSANTARA
Edisi : 1 Revisi : 0

T0026 Struktur Data

07 / 04 - 07

Algoritma Evaluasi Postfix (Suffix)


1. Scan string Postfix dari kiri ke kanan. 2. Bila ketemu (operand). operand, Push

3. Bila ketemu operator, Pop dua kali yaitu Pop(X) dan Pop(Y). 4. Z = Y operator X. 5. Push(Z). 6. Ulangi 2 s/d 5 hingga seluruh simbol didalam string terbaca.

BINA NUSANTARA
Edisi : 1 Revisi : 0

T0026 Struktur Data

07 / 05 - 07

Contoh: 1. Notasi Infix : 5 x 12 - 8 Notasi Postfix : 5 12 x 8 Ada 5 simbol yang harus dibaca.
Simbol 5 12 x Isi Stack 5 5 12 5 60 60 8 60 52 Keterangan Push(5) Push(12) Pop(A); A = 12 Pop(B); B = 5 Push(B x A) Push(8) Pop(A); A = 8 Pop(B); B = 60 Push(B A) Selesai, hasil evaluasi: 52

8 -

BINA NUSANTARA
Edisi : 1 Revisi : 0

T0026 Struktur Data

07 / 06 - 07

2. Notasi Infix : ( 13 + 7 ) x 3 + 11 Notasi Postfix : 13 7 + 3 x 11 + Ada 7 simbol yang harus dibaca.


Simbol Isi Stack 13 13 7 13 7 + 13 20 20 3 20 60 60 11 60 71 Keterangan Push(13) Push(7) Pop(A); A = 7 Pop(B); B = 13 Push(B x A) Push(8) Pop(A); A = 3 Pop(B); B = 20 Push(B x A) Push(11) Pop(A); A = 11 Pop(B); B = 60 Push(B x A) Selesai, hasil evaluasi: 71

3 x

11 +

BINA NUSANTARA
Edisi : 1 Revisi : 0

T0026 Struktur Data

07 / 07 - 07

Latihan
1. Lakukan konversi secara manual dari notasi Infix dibawah ini ke notasi Prefix dan Postfix. a. A + B x C + D / E b. A x (R + (C D)) x (E F) + T c. (B x B 4 x A x C) / (2 x A) 2. Evaluasi ekspresi Postfix dari soal no. 1.a dan 1.b diatas dengan menggunakan algoritma Evaluasi Postfix. a. A = 13, B = 9, C = 3, D = 48 dan E = 8. b. A = 7, R = 34, C = 73, D = 59, E = 16, F = 5 dan T = 28.

BINA NUSANTARA
Edisi : 1 Revisi : 0

Anda mungkin juga menyukai