1 / 11

Pertemuan 06 Aplikasi STACK

Pertemuan 06 Aplikasi STACK. Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : mendemonstrasikan TDA Stack (TIK-05). m enerapkan STACK pada program aplikasi komputer (TIK-05).

luyu
Download Presentation

Pertemuan 06 Aplikasi STACK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pertemuan 06Aplikasi STACK Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005

  2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • mendemonstrasikan TDA Stack (TIK-05). • menerapkan STACK pada program aplikasi komputer (TIK-05).

  3. Outline Materi • Notasi Aritmatika • Infix • Prefix • Postfix/Suffix • Algoritma • Infix • Prefix • Postfix/Suffix • Konversi Notasi • Evaluasi Notasi

  4. Notasi Aritmatika Tiga Notasi aritmatika : • Infix =kedua operand berada di antara operatornya, contoh : A x B + C (A + B) x C – D • Prefix=operator berada di depan kedua operandnya, contoh : x A B C x A B C D • Postfix/Suffix=operator berada di belakang kedua operandnya, contoh : A B x C + AB + C x D 

  5. INFIX • Algoritma Evaluasi : • Scan dari kiri ke kanan sampai ketemu dg kurung tutup yg paling awal. • Scan kembali dari posisi tadi ke kiri sampai ketemu dg kurung buka yg pertama ditemukan. • Lakukan operasi yg berada dalam tanda kurung. • Ganti ekspresi di dalam kurung tersebut dg hasil operasi. • Ulangi langkah 1 sampai selesai • Kekurangan : Lama dan tidak effisien

  6. Algoritma Evaluasi Scan dari kanan ke kiri sampai ketemu dg operator. Ambil 2 operand yg berada langsung di sebelah kanan operator tersebut. Ganti ekspresi dg hasil operasi. Scan lagi hasil operasi tadi ke kiri. Algoritma Evaluasi dg STACK Scan PREFIX dari kanan ke kiri. Bila ketemu operand, PUSH(operand). Bila ketemu operator, POP dua kali yaitu POP(X), POP(Y). PUSH( X operator Y ). Ulangi 2 s.d. 4 hingga seluruh simbol PREFIX terbaca Keuntungannya dibandingkan dg INFIX : Tidak perlu memakai tanda kurung utk menyatakan prioritas pengerjaan. Lebih cepat dan efisien, krn tidak perlu selalu scan dari depan (paling kiri). PREFIX

  7. Algoritma Evaluasi Scan dari kiri ke kanan sampai ketemu dengan operator. Ambil 2 operand yang berada langsung di sebelah kiri operator tersebut. Ganti ekspresi dengan hasil operasi. Scan lagi hasil operasi tadi ke kanan. Algoritma Evaluasi dg STACK Scan SUFFIX dari kiri ke kanan. Bila ketemu operand, PUSH(operand). Bila ketemu operator, POP dua kali yaitu POP(X), POP(Y). PUSH( Y operator X ). Ulangi 2 s.d. 4 hingga seluruh simbol SUFFIX terbaca Keuntungannya dibandingkan dg INFIX : sama dg keuntungan PREFIX. POSTFIX (SUFFIX)

  8. Skema Evaluasi Infix Skema Evaluasi INFIX Notasi INFIX Konversi (INFIX ke SUFFIX) Notasi SUFFIX Evaluasi (SUFFIX) Hasil Evaluasi

  9. Konversi Notasi Secara Manual KONVERSI dari INFIX

  10. Konversi menggunakan STACK • Algoritma : • CREATE STACK • Kosongkan POSTFIX • Tambahkansimbol ‘)’ ke ujung INFIX • PUSH( ‘(‘ ) • Selama (Not EMPTY STACK ) { Baca Simbol dari INFIX Seleksi ( Simbol ) Operand : Tambahkan Simbol ke ujung POSTFIX Operator : Selama ( PRCD( STACK[TOP], Simbol) ) POP( X ) Tambahkan X ke ujung POSTFIX Akhir Selama PUSH ( Simbol ) ‘(‘ : PUSH( Simbol ) ‘)‘ : Selama (STACK[TOP] != ‘(‘ ) POP( X ) Tambahkan X ke ujung POSTFIX Akhir Selama POP ( X ) // Buang Simbol ‘(‘ Akhir Seleksi Akhir Selama • Selesai

  11. Selesai

More Related