LOGO STRUKTUR DATA Implementasi Stack LOGO Salah satu

  • Slides: 17
Download presentation
LOGO STRUKTUR DATA

LOGO STRUKTUR DATA

Implementasi Stack LOGO Salah satu proses yang menggunakan mekanisme stack adalah proses yang ada

Implementasi Stack LOGO Salah satu proses yang menggunakan mekanisme stack adalah proses yang ada pada ALU, dimana setiap perhitungan menggunakan notasi numerik. Notasi numerik ada beberapa jenis, yaitu: 1. Infix 2. Prefix 3. Postfix operator diantara dua operand operator sebelum kedua operand operator setelah kedua operand Notasi Infix adalah notasi yang dikenal oleh manusia, sedang notasi prefix dan postfix adalah notasi yang dikenal oleh mesin bahasa pemrograman. Tim Struktur Data Program Studi Teknik Informatika

Polish Notation LOGO v Disebut juga Notasi Prefix (Jan Lukasiewicz) v Contoh: Infix A+B–C

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

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

Algoritma Postfix(1) LOGO Sebagian besar mesin bahasa pemrograman tingkat tinggi yang ada sekarang (compiler)

Algoritma Postfix(1) LOGO Sebagian besar mesin bahasa pemrograman tingkat tinggi yang ada sekarang (compiler) menggunakan notasi Postfix. Algoritma untuk mengubah notasi infix menjadi notasi postfix seperti yang tertulis di buku Data Structure (Seymour Lipschuctz; Schaum’s Outline Series) hal. 171 algoritma 6. 4, yaitu: Dimisalkan Q adalah ekspresi matematika yang ditulis dalam notasi infix dan P adalah penampung ekspresi matematika dalam notasi postfix, maka algoritmanya adalah : 1. Push tanda “(“ ke dalam stack dan tambahkan tanda “)” di sentinel di Q. 2. Pindai Q dari kiri ke kanan, kemudian ulangi langkah c s/d f untuk setiap elemen Q sampai stack kosong. Tim Struktur Data Program Studi Teknik Informatika

Algoritma Postfix(2) LOGO 3. Jika yang dipindai adalah operand, maka tambahkan ke P 4.

Algoritma Postfix(2) LOGO 3. Jika yang dipindai adalah operand, maka tambahkan ke P 4. Jika yang dipindai adalah “(“ maka push ke stack 5. Jika yang dipindai adalah “)” maka pop isi stack sampai ditemukan tanda “(“, kemudian tambahkan ke P sedangkan tanda “(“ tidak disertakan ke P. 6. Jika yang dipindai adalah operator, maka : a) Selama 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. b) 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

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 :

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

Cara Manual Infix Postfix LOGO Menggunakan tanda “[ ]” dengan format : [operand 1

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

Algoritma Menghitung Postfix(1) LOGO Setelah diubah dari infix menjadi postfix, maka mesin Bahasa pemrograman

Algoritma Menghitung Postfix(1) LOGO Setelah diubah dari infix menjadi postfix, maka mesin Bahasa pemrograman menghitungnya algoritma akan menggunakan seperti tertulis di menghitung. stack kembali, buku Data Proses dengan Structure (Seymour Lipschuctz; Schaum’s Outline Series) hal. 170 algoritma 6. 3, yaitu: 1. Tambahkan tanda “)” pada sentinel di P 2. Pindai P dari kiri ke kanan, ulangi langkah c dan d untuk setiap elemen P sampai ditemukan sentinel. 3. Jika yang dipindai adalah operand, maka push ke stack. Tim Struktur Data Program Studi Teknik Informatika

Algoritma Menghitung Postfix(2) LOGO 4. Jika yang dipindai adalah operator (sebut opr 1), maka

Algoritma Menghitung Postfix(2) LOGO 4. 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. 5. 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, /, +,

Contoh LOGO P : ABC-D/+ P : 2, 6, 3, -, 1, /, +, ) No Simbol Stack 1. 2. 3. 4. 2 6 3 - 2 2, 6, 3 2, 3 5. 1 2, 3, 1 6. / 2, 3 7. + 5 8. ) Tim Struktur Data 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 = 3 Var 1=1, Var 2=3, Hitung= Var 2 = 3 Var 1=3, Var 2=2, Hitung= Var 2 = 5 Opr 1 Var 1 / 1 Opr 1 Var 1 + 3 Program Studi Teknik Informatika

Cara Manual Menghitung LOGO Menggunakan tanda “[ ]” dgn cara cari operator pertama dari

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, /, + : : : Tim Struktur Data 2, [6 -3], 1, /, + 2, 3, 1, /, + 2, [3/1], + 2, 3, + [2+3] 5 Program Studi Teknik Informatika

Latihan(1) LOGO a. E = (x 2 + 4 xy - 1)3 x –

Latihan(1) LOGO a. E = (x 2 + 4 xy - 1)3 x – 5 y + 2 b. E = 3 A + BD 2 - F GH K Ubahlah menjadi postfix dengan menggunakan Algoritma (sesuai algoritma 6. 4, gunakan tabel) dan cara Manual. Catatan: Jika kesulitan menjawab soal latihan, silahkan baca dan pelajari teori dari buku Data Structures (Seymour Lipschuctz; Schaum’s Outline Series) mulai dari halaman 168. Tim Struktur Data Program Studi Teknik Informatika

Latihan(2) LOGO c. Diketahui ada ekspresi postfix (P) sebagai berikut: 1. P : a,

Latihan(2) LOGO c. Diketahui ada ekspresi postfix (P) sebagai berikut: 1. P : a, b, +, d, k, -, *, k, x, -, y, ^, + (a = 3, b = 5, d = 6, k = 4, x = 1, y = 2) 2. P : a, b, +, d, ^, f, k, -, d, *, +, x, (a = 3, b = 1, d = 2, f = 7, k = 4, x = 5) Kemudian hitung dengan cara menggunakan algoritma (sesuai algoritma 6. 3, gunakan tabel) dan cara manual Tim Struktur Data Program Studi Teknik Informatika

Ketentuan LOGO 1. Kirimkan jawaban melalui email paling lambat hari Selasa 16 Juni 2020

Ketentuan LOGO 1. Kirimkan jawaban melalui email paling lambat hari Selasa 16 Juni 2020 pukul 13: 00 WIB 2. Jawaban ditulis tangan (jangan lupa beri identitas yaitu Kelas, NIM dan Nama), lalu difoto dengan nama file Kelas_NIM_NP (contoh: IF 6_10111234_NP) dan nama subyek email sama dengan nama file Tim Struktur Data Program Studi Teknik Informatika

LOGO STRUKTUR DATA (STACK) C l i c k t o e d i

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 .