LOGO STRUKTUR DATA Implementasi Stack LOGO Salah satu
- Slides: 17
LOGO STRUKTUR DATA
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 (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
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. 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 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
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 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 Ø 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, /, +, ) 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 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 x–y)3(x-y+2) x – 5 y + 2 b. E = 3 A + BDH – F - A G–K B 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, b, d, /, d, k, -, ^, +, k, y, +, a, / (a = 2, b = 6, d = 3, k = 1, y = 3) 2. P : a, b, +, d, ^, f, k, -, d, *, -, a, / (a = 3, b = 1, d = 2, f = 7, k = 4) 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 Jumat 19 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 3_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 t c o m p a n y s l o g a n .
- Struktur data dinamis
- Implementasi css menggunakan tag merupakan implementasi
- Tahap awal menulis laporan hasil observasi adalah .
- Stack dan queue
- Contoh program stack pada python
- Stack smashing vs stack overflow
- Characteristics of assembly language
- Stack 6
- Tabel implementasi
- Subrutin adalah
- Salah satu sekuestran
- Salah satu warisan
- Salah satu tujuan dari perencanaan proyek software adalah
- Salah satu nilai terminal rvs
- Prinsip pelaksanaan pekerjaan adalah
- Peripheral output adalah..
- Pengertian citra grafis komputer
- Contoh single inheritance