Anda di halaman 1dari 33

CSH2B3 / TEORI BAHASA DAN

AUTOMATA
1. Pengantar Teori Bahasa

Intelligent, Computing, and Multimedia

1 9/1/2018
Perkenalan Kuliah
Nama Mata Kuliah: Teori Bahasa dan Automata
SKS: 3
Kode MK: CSH2B3

2 9/1/2018
Silabus:
– CLO 1: Finite Automata dan Regular Grammar
– CLO 2: Context Free Grammar
– CLO 3: Mesin Turing dan NP Problem

Evaluasi dan Penilaian:


– UTS
– UAS
– Tugas Besar
– Kuis dan Tugas

3 9/1/2018
Pengertian
Teori Komputasi: bidang yang membahas tentang
model komputasi dan problem yang bisa
diselesaikan oleh sebuah model komputasi serta
mengukur seberapa efisien model komputasi yang
dibangun
Teori komputasi terbagi menjadi tiga bidang sub-
bahasan:
– Automata dan Bahasa
– Komputabilitas
– Kompleksitas

4 9/1/2018
Automata dan Bahasa
Automata adalah abstraksi dari sebuah mesin
yang dibangun untuk menyelesaikan problem
tertentu.
Bahasa atau Bahasa Formal dalam definisi Teori
Komputasi adalah himpunan kalimat yang dapat
dibangun dari sebuah Grammar (tata Bahasa)

5 9/1/2018
Konsep Sentral Teori Bahasa
Beberapa istilah penting yang ada di dalam teori
bahasa:
– Alphabet : Himpunan simbol
– String : list simbol dari alphabet
– Language : himpunan string dari alphabet yang sama
Alphabet
Alphabet : finite set dan non-empty set dari simbol. Di
perkuliahan kita, akan digunakan Σ untuk menyatakan
alphabet.

Contoh :
– Σ = {0, 1}, merupakan alphabet biner
– Σ = {a, b, c, .., z}, merupakan alphabet dari lower case
– Semua himpunan ASCII adalah alphabet dari karakter ASCII
String [1]
String / word : finite sequence symbols yang diambil dari
alphabet. Contoh : 01101 merupakan string yang dibangun
dari alphabet Σ = {0, 1}.

Empty string : string dengan kemunculan symbol adalah


nol. Empty string dinotasikan dengan ε atau λ.

Panjang String : panjang dari string w dinotasikan dengan


|w| adalah jumlah kemunculan symbol dalam suatu string.
Contoh : |10010| = 5 dan |λ| = 0.
String [2]
Power of an Alphabet
Jika Σ adalah suatu alphabet, maka kita dapat
mengekspresikan sekumpulan string dengan panjang
tertentu dari alphabet dengan cara Σk
Contoh : jika Σ = {0, 1}, maka
– Σ0 = {λ}
– Σ3 = {000, 001, 010, 011, 100,101, 110, 111}
– Σ* akan kita sebut sebagai himpunan string yang dapat dibangun
oleh alphabet
– {0, 1}* = {λ, 0, 1, 00, 01, 10, 11, 000, …}
– Σ * = Σ0 U Σ1 U Σ2 U Σ3 U …
Language / Bahasa [1]
Language : himpunan string yang dipilih dari Σ* .

Jika Σ adalah alphabet, dan L  Σ* , maka L adalah language


yang bisa di hasilkan oleh himpunan alphabet Σ.

Contoh :
– Kata-kata bahasa Indonesia adalah himpunan string dari
alphabet yang semuanya terdiri atas huruf.
– Di bahasa C atau pemrograman lain, program yang legal adalah
subset dari semua kemungkinan string yang dibangun dari
alphabet di bahasa pemrograman itu.
Language / Bahasa [2]
Contoh lain : jika kita punya Σ = {0, 1}, maka
definisikan bahasa dari himpunan string berikut :
– X = {λ, 01, 0011, 000111, …}
– Y = {λ, 01, 10, 0011, 0101, 1001, …}
– Z = {10, 11, 101, 111, 1011, …}
Bahasa sebagai Alat Komunikasi

Aku Cinta
Padamu….
Apa yang terjadi???

Hmmmm…
Aku Juga...
Kisah Lain

Gila Lo yah!!!
Point Diskusi
Apa yang diucapkan oleh Pembicara???

Bagaimana Pendengar dapat memahami maksud


pembicara?

Sebenarnya….
– Pembicara menggenerate kata-kata (grammer)
– Pendengar mengenali kata-kata (recognizer)
– Pendengar memahami maksud kata-kata (semantik)
Komponen Grammar [1]
Suatu Grammar / tata bahasa dapat didefinikan ke dalam
bentuk formal :
G = (VN, VT, S, F)
Di mana VN (variabel non terminal) adalah himpunan simbol
yang masih bisa diturunkan.
– VN biasanya dituliskan dalam huruf kapital.
– Contoh ‘A’, ‘B’, ‘C’, ‘S’

VT (variabel terminal) adalah himpunan simbol yang sudah


tidak bisa diturunkan lagi.
– VT biasanya dituliskan dalam hurul kecil, dan bisa berupa angka
atau simbol lain.
– Contoh ‘a’, ‘b’, ‘c’, ‘1’, ‘0’, ‘+’, ‘-’
Komponen Grammer [2]
S (starting symbol) adalah variabel non terminal yang
digunakan sebagai awal penurunan produksi.

F (aturan produksi) adalah aturan yang menspesifikasikan


bagaimana mentransformasi suatu string ke bentuk lainnya.
– Kita akan menuliskan aturan produksi dalam bentuk α  β.
– Contoh :
 T a (dibaca T menghasilkan a)
 E  T | T+E
– α minimal mengandung 1 variabel nonterminal
Penggolongan Tingkat / Tipe Bahasa [1]
Pada tahun 1959, Noam Chomsky menggolongkan bahasa
menjadi 4 tingkatan (dikenal dengan Hirarki Chomsky)

Unrestricted
Bahasa Konteks Sensitive
Bahasa Bebas Konteks

Bahasa Regular
Penggolongan Tingkat / Tipe Bahasa [2]

Bahasa Mesin Automata Batasan Produksi


Regular / Finite State Automata α adalah sebuah simbol
Tipe 3 (FSA) meliputi variabel
Deterministic Finite β maksimal memiliki
Automata (DFA) dan Non sebuah simbol variabel
Deterministic Finite yang bila ada terletak
Automata (NFA) paling kanan
Bebas Konteks Push Down Automata α adalah sebuah simbol
/ Context Free / (PDA) variabel
Tipe 2
Penggolongan Tingkat / Tipe Bahasa [3]

Bahasa Mesin Automata Batasan Produksi


Context Linier Bounded Automata |α| <= |β|
Sensitive
/ Tipe 1

Unrestricted / Mesin Turing Tidak ada batasan


Phase
Structure /
Natural
Language /
Tipe 0
Penggolongan Tingkat / Tipe Bahasa [4]
Bahasa manusia / natural language masuk ke dalam
grammer Tipe 0 / Unrestricted, dimana tidak ada batasan
pada aturan produksinya.
– Contoh :
Abc  De
Penggolongan Tingkat / Tipe Bahasa [5]
Pada bahasa Context Sensitive, |α| <= |β|.
– Contoh :
Ab  DeF
CD  eF
– Perhatikan S ε.
Apakah masuk ke Context Sensitive????
– Context Sensitive digunakan untuk proses analisis semantik
dalam tahapan kompilasi.
Penggolongan Tingkat / Tipe Bahasa [6]
Pada bebas konteks, (context free grammer) batasan
bertambah dengan ruas kiri harus tepat 1 simbol variabel.
– Contoh :
B CDeFg
D  BcDe
– Bahasa bebas konteks menjadi dasar dalam pembentukan suatu
parser / analisis sintaksis.
Penggolongan Tingkat / Tipe Bahasa [7]
Pada bahasa reguler, batasan ini bertambah dengan ruas
kanan maksimal memiliki sebuah simbol variabel yang
letaknya paling kanan.
– Contoh :
A e | efgC
C  cD | D
De
Penggolongan Tingkat / Tipe Bahasa [8]
Aturan produksi beriku ini tidak legal :
ε  Abd
karena ruas kiri tidak boleh berupa ε.
Aturan berikut juga tidak legal :
a  bd
ab  bd
karena ruas kiri harus memuat simbol yang bisa diturunkan.
Aturan di atas tidak legal untuk aturan produksi yang
Unrestricted sekalipun.
Studi Kasus dan Diskusi [1]
Tentukan jenis grammer dari aturan produksi berikut :
1. : a  bd

2. :
E  ( E ) | AOE | EOA | A
A 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
O*|+|-|:

3:
S  xX
X  yY
Y  xX | λ
Studi Kasus dan Diskusi [2]
4.
<sentence>  <subject> <predicate>
<subject>  <noun>
<noun>  jhon | mary
<predicate>  <intransitive verb>
<predicate>  <transitive verb> <object>
<object>  <noun>
<intransitive verb>  skates
<transitive verb> likes
Latihan [1]
Lengkapi tabel berikut :
Nama Bahasa Tipe Syarat

Unrestricted

Context Free

Context
Sensitive
Regular
Latihan [4]
Fungsi f(x) = x2 - 1 adalah fungsi
a. Injective (satu ke satu)
b. Surjective / onto (pada)
c. Bijective (satu ke satu dan pada)
d. Bukan Injective maupun Surjective
e. Salah semua
Latihan [3]
Mana dari pernyataan penggolongan bahasa
menurut chomsky berikut yang benar.
a. Bahasa Reguler lebih luas daripada bahasa Context
Free.
b. Bahasa Context Sensitive digolongkan ke tipe 2.
c. Syarat bahasa dikatakan unrestricted adalah bagian
alpha maksimum 1 variabel non-terminal
d. jika pada aturan produksi bagian alpha terdapat satu
variabel non Terminal, dan bagian betha terdapat
maksimal 1 variabel non terminal, dan letaknya paling
kanan, maka bahasa itu adalah unrestricted.
e. Tidak ada jawaban benar.
Latihan [4]
Mana dari aturan produksi berikut yang menyebabkan
bahasa menjadi tidak context free.
a. B  B01
b. B  1B
c. B 0
d. 0B  1
e. B  B0B
Latihan [5]
Diketahui tata bahasa G = ({S},{a,b}, S, P) dimana P
terdiri dari
S  aaS | Saa | b
aS  Sa

Tata bahasa tersebut membangun :


a. Bahasa Bebas Konteks
b. Bahasa Sensitif-Konteks
c. Bahasa Reguler
d. Bahasa TakTerikat
e. Tidak ada yang benar
THANK YOU
9/1/2018
33

Anda mungkin juga menyukai