Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR DATA IMPLEMENTASI STACK.

Presentasi serupa


Presentasi berjudul: "STRUKTUR DATA IMPLEMENTASI STACK."— Transcript presentasi:

1 STRUKTUR DATA IMPLEMENTASI STACK

2 Notasi Numerik Infix operator diantara dua operand Prefix
operator sebelum kedua operand Postfix operator setelah kedua operand Tim Struktur Data Program Studi Teknik Informatika

3 Polish Notation Disebut juga Notasi Prefix (Jan Lukasiewicz) Contoh:
Infix Prefix A+B A+B–C (A+B)*(C-D) +AB -+ABC *+AB-CD Tim Struktur Data Program Studi Teknik Informatika

4 Notasi Postfix (Suffix)
Disebut juga Notasi Polish Terbalik (Reverse Polish Notation/RPN) Contoh: Infix Postfix A+B A+B–C (A+B)*(C-D) AB+ AB+C- AB+CD-* Tim Struktur Data Program Studi Teknik Informatika

5 Infix Menjadi Postfix Dimisalkan Q adalah ekspresi matematika yang ditulis dalam notasi infix dan P adalah penampung ekspresi matematika dalam notasi postfix, maka algoritmanya adalah : Push tanda “(“ ke dalam stack dan tambahkan tanda “)” di sentinel di Q. Pindai Q dari kiri ke kanan, kemudian ulangi langkah c s/d f untuk setiap elemen Q sampai stack kosong. Jika yang dipindai adalah operand, maka tambahkan ke P Jika yang dipindai adalah “(“ maka push ke stack Jika yang dipindai adalah “)” maka pop isi stack sampai ditemukan tanda “(“, kemudian tambahkan ke P sedangkan tanda “(“ tidak disertakan ke P. Jika yang dipindai adalah operator, maka : Ulangi langkah ini, selama Jika elemen paling atas dari stack adalah operator yang mempunyai tingkatan sama atau lebih tinggi dari operator yang dipindai, maka pop operator tersebut dan tambahkan ke P. Push operator tersebut ke stack. Tim Struktur Data Program Studi Teknik Informatika

6 Contoh 1 E = A + B Q : P : A + B ) AB+ ( 1. A ( A 2. + ( + A 3. B ( +
No Simbol Stack Ekspresi P ( 1. A ( A 2. + ( + A 3. B ( + A B 4. ) A B + Tim Struktur Data Program Studi Teknik Informatika

7 Contoh 2 E = A + (B – C) / D Q : P : A + (B – C) / D ) ABC-D/+ No
Simbol Stack Ekspresi P ( 1. A ( A (+ A 3. ( (+( A 4. B (+( AB (+(- AB 6. C (+(- ABC 7. ) (+ ABC- 8. / (+/ ABC- 9. D (+/ ABC-D 10. ) ABC-D/+ Tim Struktur Data Program Studi Teknik Informatika

8 Latihan Di Q ada 20 simbol/elemen Q :
A + ( B * C - ( D / E ^ F ) * G ) * H Q : A + ( B * C - ( D / E ^ F ) * G ) * H Di Q ada 20 simbol/elemen Q : ) A + ( B * C - D / E ^ F ) G H 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Tim Struktur Data Program Studi Teknik Informatika

9 Latihan (lanjutan) No. Simbol Stack Ekspresi P ( 1 A 2 + (+ 3 (+( 4 B
5 * (+(* 6 C ABC 7 - (+(- ABC* 8 (+(-( 9 D ABC*D 10 / (+(-(/ Tim Struktur Data Program Studi Teknik Informatika

10 Contoh Jadi P : ABC*DEF^/G*-H*+ No. Simbol Stack Ekspresi P 11 E
(+(-(/ ABC*DE 12 ^ (+(-(/^ 13 F ABC*DEF 14 ) (+(- ABC*DEF^/ 15 * (+(-* 16 G ABC*DEF^/G 17 (+ ABC*DEF^/G*- 18 (+* 19 H ABC*DEF^/G*-H 20 ABC*DEF^/G*-H*+ Jadi P : ABC*DEF^/G*-H*+ Tim Struktur Data Program Studi Teknik Informatika

11 Cara Manual Infix Postfix
Menggunakan tanda “[ ]” dengan format : [operand1 operand2 operator], dgn memperhatikan tingkatan operator Contoh: Q = A + B – C = [AB+] – C P = AB+C- b. Q = A + (B – C) / D = A + [BC-] / D = A + [BC-D/] P = ABC-D/+ Tim Struktur Data Program Studi Teknik Informatika

12 Latihan Infix Postfix E = A + BD – F GH K b. E = A + BDH – F G - K
Lakukan dengan menggunakan Algoritma dan cara Manual Tim Struktur Data Program Studi Teknik Informatika

13 Menghitung Pada Notasi Postfix
Tambahkan tanda “)” pada sentinel di P Pindai P dari kiri ke kanan, ulangi langkah c dan d untuk setiap elemen P sampai ditemukan sentinel. Jika yang dipindai adalah operand, maka push ke stack. Jika yang dipindai adalah operator (sebut opr1), maka Pop dari stack, simpan dalam variabel Var1. Pop lagi dari stack, simpan dalam variabel Var2. Hitung dengan format var2 opr1 var1, simpan hasilnya di variabel Hitung. Push isi variabel Hitung ke dalam stack. e. Jika yang dipindai tanda “)”, maka Pop isi stack dan simpan di variabel Value. Tim Struktur Data Program Studi Teknik Informatika

14 Contoh P : P : 2,6,3,-,1,/,+ ABC-D/+ Mis. A=2,B=6,C=3,D=1 ,) Value = 5
No Simbol Stack Keterangan 2 2,6 2,6,3 2,3 Var1=3,Var2=6,Hitung= Var2 Opr1 Var1 = = 3 2,3,1 6. / 2,3 Var1=1,Var2=3,Hitung= Var2 Opr1 Var1 = / = 3 5 Var1=3,Var2=2,Hitung= Var2 Opr1 Var1 = = 5 8. ) Tim Struktur Data Program Studi Teknik Informatika

15 Cara Manual Menghitung
Menggunakan tanda “[ ]” dgn cara cari operator pertama dari kiri, lalu hitung dengan dua operand di sebelah kirinya, dengan format : [operand1 operator operand2] Contoh: P : 2,6,3,-,1,/,+ : 2,[6-3],1,/,+ : 2,3,1,/,+ : 2,[3/1],+ : 2,3,+ : [2+3] : 5 Tim Struktur Data Program Studi Teknik Informatika

16 TUGAS {Kelompok (maks 5)} Buat program untuk mengubah infix menjadi postfix, serta menghitungnya dalam keadaan postfix, Dikumpulkan : Source Code Tampilan Eksekusi Persiapan Presentasi (slide) Tim Struktur Data Program Studi Teknik Informatika

17 TUGAS Contoh Eksekusi Program : Rumus : 5+7*2^(2^3)+4*2 [input] Hasil : 1805 [output] Tim Struktur Data Program Studi Teknik Informatika

18 Click to edit company slogan .
STRUKTUR DATA (STACK) Terima Kasih! Click to edit company slogan .


Download ppt "STRUKTUR DATA IMPLEMENTASI STACK."

Presentasi serupa


Iklan oleh Google