LOGO STRUKTUR DATA Notasi Numerik LOGO 1 Infix
- Slides: 18
LOGO STRUKTUR DATA
Notasi Numerik LOGO 1. Infix operator diantara dua operand 2. Prefix operator sebelum kedua operand 3. Postfix operator setelah kedua operand Tim Struktur Data Program Studi Teknik Informatika
Polish Notation LOGO v Disebut juga Notasi Prefix (Jan Lukasiewicz) v Contoh: Infix A+B–C (A+B)*(C-D) Tim Struktur Data Prefix +AB -+ABC *+AB-CD Program Studi Teknik Informatika
Notasi Postfix (Suffix) LOGO v Disebut juga Notasi Polish Terbalik (Reverse Polish Notation/RPN) v Contoh: Infix A+B–C (A+B)*(C-D) Tim Struktur Data Postfix AB+CAB+CD-* Program Studi Teknik Informatika
Infix Menjadi Postfix LOGO Dimisalkan Q adalah ekspresi matematika yang ditulis dalam notasi infix dan P adalah penampung ekspresi matematika dalam notasi postfix, maka algoritmanya adalah : a. Push tanda “(“ ke dalam stack dan tambahkan tanda “)” di sentinel di Q. b. Pindai Q dari kiri ke kanan, kemudian ulangi langkah c s/d f untuk setiap elemen Q sampai stack kosong. c. Jika yang dipindai adalah operand, maka tambahkan ke P d. Jika yang dipindai adalah “(“ maka push ke stack e. Jika yang dipindai adalah “)” maka pop isi stack sampai ditemukan tanda “(“, kemudian tambahkan ke P sedangkan tanda “(“ tidak disertakan ke P. f. 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
Contoh 1 LOGO E=A+B Q: A + B ) P : AB+ No Simbol Stack Ekspresi P ( 1. 2. 3. 4. Tim Struktur Data A + B ) ( (+ (+ A A AB AB+ Program Studi Teknik Informatika
Contoh 2 LOGO E = A + (B – C) / D Q : A + (B – C) / D ) P : ABC-D/+ No Simbol Stack Ekspresi P ( 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. A + ( B C ) / D ) Tim Struktur Data ( (+ (+( (+((+((+ (+/ A AB AB ABCABCABC-D/+ Program Studi Teknik Informatika
Latihan LOGO 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 Tim Struktur Data 3 4 5 6 7 8 9 1 0 11 1 2 1 3 1 4 1 5 1 6 17 18 1 9 20 Program Studi Teknik Informatika
Latihan (lanjutan) No. Simbol Stack LOGO Ekspresi P ( 1 A ( A 2 + (+ A 3 ( (+( A 4 B (+( AB 5 * (+(* AB 6 C (+(* ABC 7 - (+(- ABC* 8 ( (+(-( ABC* 9 D (+(-( ABC*D 10 / (+(-(/ ABC*D Tim Struktur Data Program Studi Teknik Informatika
Contoh No. Simbol LOGO Stack Ekspresi P 11 E (+(-(/ ABC*DE 12 ^ (+(-(/^ ABC*DE 13 F (+(-(/^ ABC*DEF 14 ) (+(- ABC*DEF^/ 15 * (+(-* ABC*DEF^/ 16 G (+(-* ABC*DEF^/G 17 ) (+ ABC*DEF^/G*- 18 * (+* ABC*DEF^/G*- 19 H (+* ABC*DEF^/G*-H 20 ) ABC*DEF^/G*-H*+ Jadi P : ABC*DEF^/G*-H*+ Tim Struktur Data Program Studi Teknik Informatika
Cara Manual Infix Postfix LOGO Menggunakan tanda “[ ]” dengan format : [operand 1 operand 2 operator], dgn memperhatikan tingkatan operator Contoh: a. Q = A + B – C = [AB+] – C P = AB+Cb. Q = A + (B – C) / D = A + [BC-] / D = A + [BC-D/] P = ABC-D/+ Tim Struktur Data Program Studi Teknik Informatika
Latihan Infix a. E = A + BD – F GH Postfix LOGO K b. E = A + BDH – F G-K Lakukan dengan menggunakan Algoritma dan cara Manual Tim Struktur Data Program Studi Teknik Informatika
Menghitung Pada Notasi Postfix LOGO a. Tambahkan tanda “)” pada sentinel di P b. Pindai P dari kiri ke kanan, ulangi langkah c dan d untuk setiap elemen P sampai ditemukan sentinel. c. Jika yang dipindai adalah operand, maka push ke stack. d. Jika yang dipindai adalah operator (sebut opr 1), maka Ø Pop dari stack, simpan dalam variabel Var 1. Ø Pop lagi dari stack, simpan dalam variabel Var 2. Ø Hitung dengan format var 2 opr 1 var 1, 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
Contoh LOGO P : ABC-D/+ P : 2, 6, 3, -, 1, /, + , ) No 1. 2. 3. 4. 5. 6. 7. 8. Simbol 2 6 3 1 / + ) Tim Struktur Data Stack 2 2, 6, 3 2, 3, 1 2, 3 5 Mis. A=2, B=6, C=3, D=1 Value = 5 Keterangan Var 1=3, Var 2=6, Hitung= Var 2 Opr 1 Var 1 = 6 = 3 Var 1=1, Var 2=3, Hitung= Var 2 Opr 1 Var 1 = 3 / = Var 2 3 Opr 1 Var 1=3, Var 2=2, Hitung= Var 1 = 2 + = 5 3 1 3 Program Studi Teknik Informatika
Cara Manual Menghitung LOGO Menggunakan tanda “[ ]” dgn cara cari operator pertama dari kiri, lalu hitung dengan dua operand di sebelah kirinya, dengan format : [operand 1 operator operand 2] 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
TUGAS LOGO {Kelompok (maks 5)} Buat program untuk mengubah infix menjadi postfix, serta menghitungnya dalam keadaan postfix, Dikumpulkan : 1. Source Code 2. Tampilan Eksekusi 3. Persiapan Presentasi (slide) Tim Struktur Data Program Studi Teknik Informatika
TUGAS LOGO Contoh Eksekusi Program : Rumus : 5+7*2^(2^3)+4*2 [input] Hasil : 1805 [output] Tim Struktur Data Program Studi Teknik Informatika
LOGO STRUKTUR DATA (STACK) C l i c k t o e d i t c o m p a n y s l o g a n .
- Notasi infix dari pohon tersebut adalah
- Numerical notation
- Diketahui sebuah graph tak terarah memiliki 4 vertex
- Contoh notasi vektor
- Contoh notasi algoritma deskriptif
- Notasi yang menyerupai notasi bahasa
- Skala kategorik adalah
- Logo notasi
- Infix to postfix converter
- Postfix to infix conversion
- Polish notation and reverse polish notation
- Infix to postfix expressions
- Algorithm for infix to postfix conversion
- Stata data editor
- Cafeteria stack
- Inflectional infix
- Circumfixes examples
- Infix prefix postfix
- Data structure coding