Bahasa Otomata 1

21

description

tbo

Transcript of Bahasa Otomata 1

Page 1: Bahasa Otomata 1
Page 2: Bahasa Otomata 1

Pengantar Otomata

Pendahuluan

Referensi

Evaluasi

2/1/2016 2

Page 3: Bahasa Otomata 1

Otomata adalah MODEL.

Model dari sistem apapun yang akan kita komputasikan.

Tidak ada bidang apapun dalam teknologi informasi yang tidak terkait dengan

teori otomata.

Semua bentuk sistem, diskrit, kontinu, bahkan hibrida (gabungan event diskrit dan

kontinu dalam satu sistem) dapat dimodelkan oleh teori otomata.

Sementara, Kompilasi adalah ilmu yang mempelajari bagaimana kita dapat

merancang & membangun bahasa pemrograman.

Kompilasi merupakan bidang yang memanfaatkan teori otomata ini.

2/1/2016 3

Page 4: Bahasa Otomata 1

Teori otomata adalah studi tentang peralatan atau “mesin” komputasi abstrak, yang dapat didefinisikan secara matematis.

Tujuan utama adalah mendefinisikan:

◦ apa yang bisa dilakukan oleh komputer dan apa yang tidak

◦ bagaimana komputasi dilakukan

Tipe paling sederhana dari mesin abstrak adalah finite automaton atau finite state machine.

Prinsip yang mendasari mesin ini adalah sistem pada setiap saat berada dalam salah satu dari sejumlah state berhingga dan bergerak antar state-state tersebut dalam merespon sinyal input individual.

2/1/2016 4

Page 5: Bahasa Otomata 1

Komputasi menjadi isu penting karena mempelajari bagaimana kita dapat merancang mesin yang mampu melakukan proses-proses intelektual (yang mulanya hanya dapat dilakukan manusia) Namun dalam merancang seringkali kita terkendala dengan berbagai macam batasan. Tetapi apakah benar jika batasan batasan (yang dimiliki komputer) pada dasarnya disebabkan oleh kelemahan programmer (manusia)? bukan batasan intrinsik yang dimiliki mesin/komputer ?! Jika Ya, maka kita berharap agar batasan-batasan tersebut dapat terreduksi melalui pengembangan teori komputasi.

2/1/2016 5

Page 6: Bahasa Otomata 1

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

2/1/2016 6

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)

Page 7: Bahasa Otomata 1

Noam Chomsky, membuat model matematis untuk mendeskripsikan bahasa

sekaligus menjawab pertanyaan tentang psycho-linguistic

membuat perangkat formal untuk memodelkan properti

bahasa (disebut Grammar)

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

2/1/2016 7

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)

Page 8: Bahasa Otomata 1

Memberikan fondasi teori komputasi: ◦ Decidability/Computability

What can a computer do at all?

◦ Tractability/Complexity

What can a computer do efficiently?

Konsep bahasa secara formal: ◦ Syntax

◦ Grammar

◦ Parsing

Page 9: Bahasa Otomata 1

Teknik Parsing/Compiler

Regular expression (regex) e.g., Searching/Information retrieval

Pengenalan Bahasa Alami

Simulasi komputasi (dengan automata)

Page 10: Bahasa Otomata 1

Set theory

Relations and functions

Recursive definitions

Strings and languages

Proofs

Page 11: Bahasa Otomata 1

Group of objects represented as a unit

May contain any type of object: numbers, symbols, other sets,… ◦ Set membership:

◦ Non-membership:

◦ Subset:

Proper subset

◦ Empty set:

◦ Infinite set contains infinitely many elements

E.g., set of integers {…-2, -1, 0, 1, 2,…}

Page 12: Bahasa Otomata 1

If X is a set, the notations |X| and card(X) both

refer to the number of elements in X.

Determine the union (), intersection (),

difference (-), complement, and power set P(X) =

2X of any given sets.

Prove the equality of sets X and Y: show every

element of X is an element of Y and vice versa

(i.e., show that X Y and Y X to show X = Y.)

Page 13: Bahasa Otomata 1

Cartesian product builds a set consisting of ordered pairs

of elements from two or more existing sets.

X Y = {[x, y] | x X and y Y}

A binary relation on sets X and Y is a subset of X Y.

An n-ary relation on sets X1, X2, ..., Xn is a subset of

X1 X2 ... Xn

Page 14: Bahasa Otomata 1

A function from a set X to a set Y is a mapping of

elements of X to elements of Y such that each

element of X maps to exactly one element of Y.

f : X Y X is the domain of f.

The range of f : X Y is the set {y Y | y = f (x) for

some x X}.

A total function f from X to Y is a binary relation

on

X Y such that i. For each x X there is a y Y such that [x, y] f.

ii. If [x, y] f and [x, z] f, then y = z.

Page 15: Bahasa Otomata 1

f : X Y is one-to-one if each element of

X maps to a distinct element in the

range.

f : X Y is onto if the range is the entire

set Y.

Page 16: Bahasa Otomata 1

Model Komputasi Awal :

2/1/2016 16

CPU Memori

CPU

Memori Sementara

Memori MasukanMemori Keluaran

Memori Program

Model Komputasi Sekarang :

Page 17: Bahasa Otomata 1

Bagaimana proses komputasi untuk :

f(x) = x + x + x

2/1/2016 17

Page 18: Bahasa Otomata 1

2/1/2016 18

CPU

Memori Sementara

Memori MasukanMemori Keluaran

Memori Program

hitung x + x

hitung 2x + x

CPU

Memori Sementara

Memori Masukan

misal, x = 3

Memori Keluaran

Memori Program

hitung x + x

hitung 2x + x

CPU

Memori Sementara

z = 3 + 3 = 6

f(x) = z + 3 = 9

Memori Masukan

misal, x = 3

Memori Keluaran

Memori Program

hitung x + x

hitung 2x + x

CPU

Memori Sementara

z = 3 + 3 = 6

f(x) = z + 3 = 9

Memori Masukan

misal, x = 3

Memori Keluaran

f(x) = 9

Memori Program

hitung x + x

hitung 2x + x

1) 3)

2) 4)

Page 19: Bahasa Otomata 1

3 model mesin komputasi yang akan kita pelajari dalam otomata :

2/1/2016 19

1. Finite Automata (FA)

(sejauh ini) telah dimanfaatkan untuk merancang lexical analyzer, aplikasi editor teks, pengenalan pola, fault tolerant system, dll

2. Pushdown Automata (PDA)

(sejauh ini) telah dimanfaatkan untuk mengenali bahasa yang berstruktur context- free grammar, kamus data, query, script, parsing, dll

3. Turing Machine (TM)

mesin turing dapat dimanfaatkan untuk mengidentifikasi ketidakmungkinan penulisan sebuah program komputer. Sejauh ini kita dapat meyakini bahwa jika suatu persoalan tidak dapat dimodelkan oleh mesin turing, maka persoalan tersebut tidak akan mungkin dapat diselesaikan secara komputatif oleh mesin komputasi apapun!

Page 20: Bahasa Otomata 1

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

Utdirartatmo, Firrar, Teori Bahasa Dan Otomata, J & J Learning, Yogyakarta, 2001

Utdirartatmo Firrar, Teknik Kompilasi, J & J Learning, Yogyakarta, 2001

2/1/2016 20

Xavier, Eugene S.P. Theory of Automata, Formal Languange and Computation, New Age International Publishing, 2005

Cohen, Daniel I.A., Introduction to Computer Theory, John Wiley & Sons, 1990

Page 21: Bahasa Otomata 1

UTS : 25%

UAS : 25%

TUGAS : 50%

2/1/2016 21