Otomata Dan Kompilasi

Document Sample
Otomata Dan Kompilasi Powered By Docstoc
					                       PERTEMUAN I


     PENGANTAR
OTOMATA DAN KOMPILASI
Mahasiswa mengetahui tujuan mata kuliah, alur perkuliahan selama
 1 semester, referensi yang digunakan, bentuk & bobot evaluasi




            JURUSAN TEKNIK INFORMATIKA
           FAKULTAS TEKNOLOGI INFORMASI
       INSTITUT TEKNOLOGI SEPULUH NOPEMBER
                    2005 - 2009
MATERI PERTEMUAN

 Pengantar Otomata & Kompilasi
 Pendahuluan
 Organisasi Materi
 Referensi
 Evaluasi
 Tugas Mingguan I
 Template Penulisan Tugas


 Pertemuan I    Informatika / FTIf / ITS   2
  Apa itu Otomata dan Kompilasi ?

                    Otomata adalah MODEL.
    Model dari sistem apapun yang akan kita komputasikan.

 Tidak ada bidang apapun dalam teknologi informasi yang tidak
                terkait dengan teori ‘dahsyat’ ini.
Semua bentuk sistem, diskrit, kontinu, bahkan hybrid (gabungan
 event diskrit dan kontinu dalam satu sistem) dapat dimodelkan
                     oleh teori ‘digdaya’ ini.


 Sementara, Kompilasi adalah ilmu yang mempelajari bagaimana
   kita dapat merancang & membangun bahasa pemrograman.
 Kompilasi merupakan SALAH SATU bidang yang memanfaatkan
                       teori ‘sakti’ ini.


 Pertemuan I            Informatika / FTIf / ITS            3
PENDAHULUAN                        (1)



 Komputasi menjadi isu penting karena mempelajari bagaimana
      merancang mesin yang mampu melakukan proses-proses
    intelektual (yang mulanya hanya dapat dilakukan manusia)



 Dan benarkah batasan-batasan yang dimiliki komputer pada
  dasarnya disebabkan oleh kelemahan programmer (manusia),
  dan bukan batasan intrinsik yang dimiliki mesin/komputer ?



 Jika Ya, maka kita berharap agar batasan-batasan tersebut
     dapat terreduksi melalui pengembangan teori komputasi.



Pertemuan I            Informatika / FTIf / ITS            4
PENDAHULUAN                                 (2)

Sub bidang apapun dalam ilmu informatika pasti memiliki 2 komponen :

1. Ide/gagasan dirupakan ke dalam bentuk MODEL KOMPUTASI
       Beberapa disiplin ilmu yang diadopsi :
          Neuron Nets                       Finite Automata
           Sistem Logika Formal               Proof Methods
           Sistem Tata Bahasa                 Psycho-Linguistic:
                                              1. Apakah arti bahasa itu ?
                                              2. Bagaimana manusia mengembangkan bahasa ?
                                              3. Bagaimana manusia memahami bahasa ?
                                              4. Bagaimana manusia mengajarkan bahasa ke anak-anaknya ?
                                              5. Bagaimana cara menyatakan gagasan ?
                                              6. Bagaimana manusia membangun kalimat dari gagasan yang
                                                 ada dalam pikirannya ?


2.     Teknik rekayasa untuk mengimplementasikan model ke dalam sebuah bentuk
       sistem yang terkomputasi (programming/coding)


     Pertemuan I                  Informatika / FTIf / ITS                                   5
PENDAHULUAN                            (3)

Noam Chomsky,      membuat model matematis untuk mendeskripsikan bahasa
                    sekaligus menjawab pertanyaan ttg psycho-linguistic
                   membuat perangkat formal untuk memodelkan properti
                   bahasa (disebut Grammar) Open Question :
                                                        Perbedaan antara bahasa manusia dan bahasa
                                                        komputer adalah kita sampai sekarang belum
                                                        mengetahui bagaimana cara kita mengartikan
                                                        bahasa? (sementara kita dapat mengetahui
                                                        secara pasti cara komputer mengartikan bahasa)


McCulloch & Pitts, merancang Finite Automata untuk memodelkan neuron
                   nets

Stephen Kleene, menemukan model representasi lain dari automata melalui
                Regular Expression


Alan Turing,     menemukan model untuk mengidentifikasi apakah sebuah
                 permasalahan dapat dikomputasi   Mesin Turing
   Pertemuan I               Informatika / FTIf / ITS                                          6
PENDAHULUAN                                  (4)


Model Komputasi Awal :

                                  CPU                        Memori




Model Komputasi Sekarang :
                                        Memori Sementara




                Memori Keluaran               CPU               Memori Masukan




                                         Memori Program


  Pertemuan I                     Informatika / FTIf / ITS                       7
PENDAHULUAN                    (5)




      Bagaimana proses komputasi untuk :

               f(x) = x + x + x




 Pertemuan I        Informatika / FTIf / ITS   8
PENDAHULUAN                                                (6)


1)                                                                   3)
                                                                                          Memori Sementara
                    Memori Sementara                                                       z = 3 + 3 = 6
                                                                                          f(x) = z + 3 = 9



Memori Keluaran           CPU           Memori Masukan                                                       Memori Masukan
                                                                        Memori Keluaran         CPU
                                                                                                               misal, x = 3


                     Memori Program
                                                                                           Memori Program
                      hitung x + x
                                                                                            hitung x + x
                     hitung 2x + x
                                                                                            hitung 2x + x




2)                   Memori Sementara                                4)                   Memori Sementara
                                                                                           z = 3 + 3 = 6
                                                                                          f(x) = z + 3 = 9


                                         Memori Masukan
 Memori Keluaran           CPU                                         Memori Keluaran                       Memori Masukan
                                           misal, x = 3                                         CPU
                                                                             f(x) = 9                          misal, x = 3


                      Memori Program
                                                                                           Memori Program
                      hitung x + x
                      hitung 2x + x                                                        hitung x + x
                                                                                           hitung 2x + x

      Pertemuan I                                 Informatika / FTIf / ITS                                         9
PENDAHULUAN                                     (7)



3 model mesin komputasi yang akan kita pelajari dalam otomata :

1. Finite Automata (FA)
    berguna untuk membantu perancangan lexical analyzer, aplikasi editor teks,
    pengenalan pola, fault tolerant system, dll


2. Pushdown Automata (PDA)
    berguna untuk mengenali bahasa yang bersifat context-free grammar, kamus
    data, query, script, parsing, dll


3. Turing Machine (TM)
    mesin turing dapat digunakan untuk mengidentifikasi ketidakmungkinan penulisan
    sebuah program komputer. Jika suatu persoalan tidak dapat dimodelkan oleh
    mesin turing, maka persoalan tersebut tidak akan mungkin dapat diselesaikan
    secara komputatif oleh mesin komputasi apapun!


  Pertemuan I                   Informatika / FTIf / ITS                         10
ORGANISASI MATERI                                                                                      (1)

           Minggu ke                Topik Bahasan                                        Materi Bahasan

                                                                  •   Sekilas ttg Otomata & Pengantar Kompilasi
                                                                  •   Organisasi Materi
                                                                  •   Referensi Perkuliahan
               1           Pengantar Otomata dan Kompilasi        •   Bobot Evaluasi
                                                                  •   Pendahuluan
                                                                  •   Template Penulisan Tugas
                                                                  •   Penugasan I

                                                                  •   Terminologi Bahasa
                                                                  •   Operasi pada Bahasa
                                                                  •   Metode Pendefinisian Bahasa
               2           Teori Bahasa & Operasi Matematis       •   Konsep Dasar Grammar
                                                                  •   Derivasi & Parse Tree
                                                                  •   Klasifikasi Grammar
                                                                  •   Penugasan II

               3                     Responsi #1                  Pembahasan Tugas I dan II

                                                                  •   Regular Expression
                                                                  •   Finite Automata
                                                                  •   Finite State Diagram
               4         Regular Expression & Finite Automata     •   Deterministic Finite Automata
                                                                  •   Transition Graph
                                                                  •   Automata with Output
                                                                  •   Penugasan III

                                                                  • Apa Itu Teorema Kleene ?
               5                  Kleene’s Theorem                • Metode Pembuktian
                                                                  • Penugasan IV

               6                     Responsi #2                  Pembahasan Tugas III & IV

                                                                  •   Pengertian Non Determinism
                                                                  •   Non Deterministic Finite Automaton (NDFA)
               7       Non Deterministic Finite Automata (NDFA)   •   Konversi NDFA ke DFA
                                                                  •   Konversi RE ke NDFA
                                                                  •   Penugasan V

                                                                  •   Bahasa Regular
                                                                  •   Observasi pada DFA
               8                 Masalah Regularitas
                                                                  •   Bahasa Non Regular
                                                                  •   Pembahasan Tugas V & Diskusi Kasus-kasus Regularitas

               9                                        UJIAN TENGAH SEMESTER (UTS)

 Pertemuan I                                   Informatika / FTIf / ITS                                                      11
ORGANISASI MATERI                                                                                            (2)
  Minggu ke                    Topik Bahasan                                                        Materi Bahasan

                                                                  •   Context-Free Language
                                                                  •   Right-Most & Left-Most Derivation
                                                                  •   Ambiguitas
                                                                  •   Transformasi Grammar
     10                  Grammar & Normalisasinya
                                                                  •   Chomsky Normal Form
                                                                  •   Algoritma CYK
                                                                  •   Greibach Normal Form
                                                                  •   Penugasan VI

                                                                  •   Komponen PDA
                                                                  •   Membentuk PDA dari CFG
     11        Pushdown Automata (PDA) & Turing Machine (TM)
                                                                  •   Komponen Mesin Turing dan Mesin Post
                                                                  •   Penugasan VII

     12                         Responsi #3                       Pembahasan Tugas VI & VII

                                                                  •   Apa Itu Compiler ?
                                                                  •   Language Processing System
                                                                  •   Compiling Phases
                                                                  •   Compiling Process Overview
     13          Compiling Phases Overview & Lexical Analysis
                                                                  •   Lexical Analyzer
                                                                  •   Lexical Errors and Handling
                                                                  •   Metode Input Buffering
                                                                  •   Studi Kasus : Lex

                                                                  •   The Role of Parsing
                                                                  •   General Parsing Methods
                                                                  •   Syntax Errors and Handling
                             Syntax Analysis :
     14                                                           •   Brute-Force Approach
                        General & Top Down Approach
                                                                  •   Recursive-Descent Parsing
                                                                  •   Top-Down Parsing with Limited Backup
                                                                  •   Studi Kasus : LL(1) Grammar

                                                                  •   Polish Expression
                             Syntax Analysis :                    •   Shift-Reduce Parsing
     15
                            Bottom-Up Approach                    •   Operator Precedence Parsing
                                                                  •   Studi Kasus : LR Grammar dan YACC

                                                                  •   Cara Kerja Tabel Simbol
                                                                  •   Implementasi Tabel Simbol
     16               Symbol Table & Semantic Analysis            •   Kalkulus Lambda
                                                                  •   Semantic Errors and Handling
                                                                  •   Studi Kasus : Kompilator Sederhana

     17                                                         UJIAN AKHIR SEMESTER (UAS)

 Pertemuan I                                           Informatika / FTIf / ITS                                      12
REFERENSI
REFERENSI - UTAMA
    Aho, Alfred V., Sethi, R., Ulman, J.D., Compilers : Principles, Techniques, and
    Tools, Addison-Wesley Publ. Company, Reading Massachusetts, 1986
    Cohen, Daniel I.A., Introduction to Computer Theory, John Wiley & Sons, 1990



REFERENSI - PENDUKUNG
    Hariyanto, Bambang, Teori Bahasa, Otomata, dan Komputasi serta
    Terapannya, Informatika, Bandung, 2004
    Kelly, Dean, Otomata Dan Bahasa-Bahasa Formal : Sebuah Pengantar, PT
    Prenhallindo, Jakarta, 1999
    Tremblay, Jean P., Sorenson, Paul G., The Theory and Practice of Compiler
    Writing, McGrawHill Book Company, New York, 1982
    Utdirartatmo, Firrar, Teori Bahasa Dan Otomata, J & J Learning, Yogyakarta,
    2001
    Utdirartatmo Firrar, Teknik Kompilasi, J & J Learning, Yogyakarta, 2001


 Pertemuan I                   Informatika / FTIf / ITS                      13
EVALUASI

       Tugas Kelompok           : 40% (kolektif)

       UTS                      : 30% (individu)

       UAS                      : 30% (individu)




Pertemuan I        Informatika / FTIf / ITS        14
Tugas Mingguan I

  Buat kelompok, kerjakan & kumpulkan tugas I tentang
  ilustrasi kerja model komputasi untuk perhitungan
  fungsi :
  1. f(x) = x3 + X2 + 4x + 5
  2. g(x) = x2 – 6x + 9
  3. h(x) = (2x + 4) (3y + 6)


  Ketik di kertas A4, Font Arial 11 pt, Spasi 1.5 pt
  sorry guys, tulisan tangan bikin ‘sakit mata’ :)




 Pertemuan I                Informatika / FTIf / ITS   15
TEMPLATE PENULISAN TUGAS

   1.    Nama Mata Kuliah
   2.    Tugas Ke …
   3.    Tanggal Penugasan
   4.    Tanggal Pengumpulan
   5.    Topik Tugas
   6.    Nama Anggota Kelompok & NRP
   7.    Uraian/Jawaban Tugas



 Pertemuan I        Informatika / FTIf / ITS   16

				
DOCUMENT INFO
Shared By:
Tags:
Stats:
views:3447
posted:2/18/2010
language:Indonesian
pages:16