• Tidak ada hasil yang ditemukan

PENGANTAR OTOMATA DAN KOMPILASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGANTAR OTOMATA DAN KOMPILASI"

Copied!
16
0
0

Teks penuh

(1)

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 ILMU KOMPUTER

STMIK HIMSYA SEMARANG

2012 - 2013

(2)

MATERI PERTEMUAN

Pengantar Otomata & Kompilasi

Pendahuluan

Organisasi Materi

Referensi

Evaluasi

Tugas Mingguan I

(3)

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

(4)

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

.

(5)

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

Sistem Logika Formal

Sistem Tata Bahasa

Finite Automata

Proof Methods

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)

(6)

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

(7)

PENDAHULUAN

(4)

Model Komputasi Awal :

CPU

Memori

Model Komputasi Sekarang :

Memori Sementara

Memori Keluaran

CPU

Memori Program

(8)

PENDAHULUAN

(5)

Bagaimana proses komputasi untuk :

(9)

PENDAHULUAN

(6)

1)

Memori Sementara

3)

Memori Sementara

z = 3 + 3 = 6

f(x) = z + 3 = 9

Memori Keluaran

CPU

Memori Masukan

Memori Masukan

Memori Program

hitung x + x

hitung 2x + x

Memori Keluaran

CPU

Memori Program

hitung x + x

hitung 2x + x

misal, x = 3

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

f(x) = 9

CPU

misal, x = 3

Memori Program

Memori Program

hitung x + x

hitung 2x + x

hitung x + x

hitung 2x + x

(10)

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!

(11)

Minggu ke Topik Bahasan Materi Bahasan

1 Pengantar Otomata dan Kompilasi

• Sekilas ttg Otomata & Pengantar Kompilasi

• Organisasi Materi

• Referensi Perkuliahan

• Bobot Evaluasi

• Pendahuluan

• Template Penulisan Tugas

• Penugasan I

2 Teori Bahasa & Operasi Matematis

• Terminologi Bahasa

• Operasi pada Bahasa

• Metode Pendefinisian Bahasa

• Konsep Dasar Grammar

• Derivasi & Parse Tree

• Klasifikasi Grammar

• Penugasan II

3 Responsi #1 Pembahasan Tugas I dan II

4 Regular Expression & Finite Automata

• Regular Expression

• Finite Automata

• Finite State Diagram

• Deterministic Finite Automata

• Transition Graph

• Automata with Output

• Penugasan III 5 Kleene’s Theorem •

Apa Itu Teorema Kleene ?

• Metode Pembuktian

• Penugasan IV

6 Responsi #2 Pembahasan Tugas III & IV

7 Non Deterministic Finite Automata (NDFA)

• Pengertian Non Determinism

• Non Deterministic Finite Automaton (NDFA)

• Konversi NDFA ke DFA

• Konversi RE ke NDFA

• Penugasan V 8 Masalah Regularitas

• Bahasa Regular

• Observasi pada DFA

• Bahasa Non Regular

• Pembahasan Tugas V & Diskusi Kasus-kasus Regularitas 9 UJIAN TENGAH SEMESTER (UTS)

(12)

Minggu ke Topik Bahasan Materi Bahasan

10 Grammar & Normalisasinya

• Context-Free Language

• Right-Most & Left-Most Derivation

• Ambiguitas

• Transformasi Grammar

• Chomsky Normal Form

• Algoritma CYK

• Greibach Normal Form

• Penugasan VI 11 Pushdown Automata (PDA) & Turing Machine (TM)

• Komponen PDA

• Membentuk PDA dari CFG

• Komponen Mesin Turing dan Mesin Post

• Penugasan VII

12 Responsi #3 Pembahasan Tugas VI & VII

13 Compiling Phases Overview & Lexical Analysis

• Apa Itu Compiler ?

• Language Processing System

• Compiling Phases

• Compiling Process Overview

• Lexical Analyzer

• Lexical Errors and Handling

• Metode Input Buffering

• Studi Kasus : Lex

14 Syntax Analysis : General & Top Down Approach

• The Role of Parsing

• General Parsing Methods

• Syntax Errors and Handling

• Brute-Force Approach

• Recursive-Descent Parsing

• Top-Down Parsing with Limited Backup

• Studi Kasus : LL(1) Grammar 15 Syntax Analysis :

Bottom-Up Approach

• Polish Expression

• Shift-Reduce Parsing

• Operator Precedence Parsing

• Studi Kasus : LR Grammar dan YACC 16 Symbol Table & Semantic Analysis

• Cara Kerja Tabel Simbol

• Implementasi Tabel Simbol

• Kalkulus Lambda

• Semantic Errors and Handling

• Studi Kasus : Kompilator Sederhana 17 UJIAN AKHIR SEMESTER (UAS)

(13)

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

(14)

EVALUASI

Tugas Kelompok

UTS

UAS

:

40%

(kolektif)

:

30%

(individu)

: 30% (individu)

(15)

Tugas Mingguan I

Buat kelompok, kerjakan & kumpulkan tugas I tentang

ilustrasi kerja model komputasi

untuk perhitungan

fungsi :

1. f(x) = x

3

+ X

2

+ 4x + 5

2. g(x) = x

2

– 6x + 9

3. h(x) = (2x + 4) (3y + 6)

Ketik di kertas A4, Font Arial 11 pt, Spasi 1.5 pt

(16)

TEMPLATE PENULISAN TUGAS

1.

2.

3.

4.

5.

6.

7.

Nama Mata Kuliah

Tugas Ke …

Tanggal Penugasan

Tanggal Pengumpulan

Topik Tugas

Nama Anggota Kelompok & NRP

Uraian/Jawaban Tugas

Referensi

Dokumen terkait

Bila terbukti TB maka pengobatan dimulai dari awal dengan paduan obat yang lebih kuat dan jangka waktu. pengobatan yang

Dari hasil regresi diketahui bahwa besarnya nilai thitung variabel reformasi administrasi perpajakan sebesar 2,962 sedangkan besarnya nilai ttabel dengan tingkat keyakinan 99% atau

Dilakukan bila sudah transfusi berulang dan hasil skirining orang tua sesuai dengan pembawa sifat thalassemia atau hasil pemeriksaan esensial tidak esensial tidak khas (umumnya

() : “ Bagaimana perasaan bapak setelah kita bercakap-cakap cara yang ketiga untuk mencegah suara-suara? Bagus sekali! &oba sebutkan / cara yang telah kita latih untuk

Didalam hal ini penyusunan pos retribusi daerah terutama retribusi pelayanan pasar sudahkah sesuai dengan SAP dan Permendagri No 13 Tahun 2006 yang berlaku dengan

Dari hasil uji numerik yang dilakukan, terlihat jika Escript dapat menyelesaikan persamaan Poisson untuk menghitung nilai apparent resistivity (ρ a ) dari suatu

Metode penelitian ini adalah R and D (Research and Development) dengan mengacu pada model Borg dan Gall yang disederhanakan. Hasil Kelayakan e -book