Anda di halaman 1dari 35

Teori Bahasa dan Otomata

Pertemuan 1
Apa Teori Bahasa dan Otomata?
• Teori Bahasa dan Otomata (TBO) merupakan
komponen ilmu komputer yang membahas model
dan gagasan mendasar mengenai komputasi.
• TBO = teori komputasi  mengajarkan cara-cara
dasar sehingga sebuah komputer ‘dapat’ berpikir.
Area Teori Komputasi
Teori Complexity dan Computability
• Sampai pertengahan abad ke-20, ahli matematika seperti Kurt Godel, Alan
Turing, dan Alonzo Church menemukan fakta bahwa beberapa masalah
dasar tertentu tidak dapat dipecahkan oleh komputer.
• Contoh: bagaimana komputer dapat menentukan apakah suatu
pernyataan matematika adalah true atau false.
• Salah satu konsekuensinya, pengembangan ide tentang model teoritis
komputer yang membantu konstruksi komputer seperti yang kita gunakan
sekarang.
• Dalam complexity theory, tujuannya adalah mengklasifikasikan
permasalahan sebagai masalah yang mudah (easy) atau sulit (hard).
• Dalam computability theory, klasifikasi permasalahan berdasarkan pada
dapat dipecahkan (solvable) atau tidaknya suatu permasalahan tersebut.
• Beberapa konsep dalam computability digunakan dalam complexity
theory.
Teori Otomata
• Automata theory : Study of abstract computing
devices, or “machines” . Berkaitan dengan definisi dan
properti dari model-model matematika komputasi.
• Automaton = an abstract computing device
• Model pertama disebut finite automaton, yang dapat
digunakan dalam text processing, compilers, dan
hardware design.
• Adapun model lainnya disebut context-free grammar,
yang digunakan dalam bahasa pemrograman dan
artificial intelligence.
KONSEP UTAMA TBO
Konsep Bahasa dan Otomata
• Simbol : suatu entitas abstrak yang tidak kita definisikan secara
formal. Contoh : huruf & digit
• Alphabet : himpunan simbol berhingga dinyatakan sebagai  (sigma).
– Contoh : Biner  = {0,1}
huruf kecil  = {a,b,c,..z}
alphanumeric  = {a-z, A-Z,0-9}
• String (kata/untai) : suatu deretan berhingga dari simbol-simbol.
Contoh ‘a’, ‘k’ , ‘t’ adalah simbol dan ‘kata’, ‘katak’ adalah suatu string.
– Panjang string : jumlah simbol yang membentuk string tersebut. contoh
‘kata’ panjangnya 4, |w| = 4
“katak’ panjangnya 5, |w| = 5
– String kosong = Ɛ (epsilon), panjangnya |Ɛ| = 0.
Konsep Bahasa dan Otomata Cont..
• Bahasa : himpunan string-string dari simbol – simbol
untuk suatu alphabet.
– Bahasa Kosong = Ø
• Tata Bahasa (Grammar) : kumpulan dari himpunan-
himpunan variabel, simbol-simbol terminal, simbol
awal, yang dibatasi oleh aturan-aturan produksi.
Hirarki Chomsky
• Klasifikasi tata bahasa (grammar) :

Regular Unrestricted/Phase
(FSA : DFA Bebas Konteks Context Sensitive Structure/Natural
& NDFA) (PDA) (LBA) Language
Mesin Turing

• Pada hiraki ini terdapat Batasan Aturan Produksi.


Otomata
• Otomata merupakan suatu sistem yang terdiri atas
sejumlah berhingga state, dimana state menyatakan
infomasi mengenai input yang lalu (memori).
Contoh Mesin Otomata Sederhana
• Kondisi string input mesin :
- ada : diterima; - adu : diterima; - add : ditolak

Mesin memiliki 6 state : {q0 , q1 , q2 , q3 , q4 , q5 }


q0 = state awal
{q3 , q4} = state akhir
{a,d,u} = himpunan simbol
TEORI HIMPUNAN
Set/Himpunan
• Set/Himpunan: sekumpulan objek/elemen/member
– Contoh: A = {0,1}; B = {a, b, c}
• Infinite set: himpunan dengan jumlah anggota yang
tak terbatas
– Contoh:
• N = natural numbers = {1,2,3,…}
• Z = integers = {…,-2,-1,0,1,2,…}
• Empty set (himpunan kosong) dinotasikan dengan
 atau {}
Operasi Set/Himpunan [1]
• Union dari himpunan A dan B dinotasikan dengan A
 B adalah kumpulan/gabungan dari semua elemen
yang ada di A atau di B
– Contoh : A = {1,2,3}
B = {2,4}
P = AB
Maka P = {1,2,3,4}
• Operasi  dapat dianalogikan sebagai penjumlahan,
dengan notasi berikut :
AB, dengan A v B, atau A + B
Operasi Set/Himpunan [2]
• Intersection dari himpunan A dan B dinotasikan dengan A 
B adalah kumpulan elemen yang menjadi anggota A dan juga
B sekaligus
– Contoh : A = {1,2,3}
B = {2,4}
C = {10,11}
P = AB
Maka P = {2}
– Untuk A C = 

Operasi  dapat dianalogikan sebagai perkalian dengan notasi berikut:


A B, dengan A ^B, atau A.B
Operasi Set/Himpunan [3]
• Complement A dinotasikan Ā adalah semua objek
yang berada di dalam pembicaraan yang bukan
menjadi anggota himpunan A
– Contoh : A = {1,2,3}
B = {2,4}
C = {10,11}
Maka A – B = {1,3}
B–C=
Operasi Set/Himpunan [4]
• A adalah subset dari B dinotasikan dengan A  B, terjadi jika semua
elemen A menjadi anggota himpunan B

• Power set dari A adalah himpunan semua subsets dari A


– Notasi power set dari A  p(A)
– Misal, A = {0,1}
– Power set dari A = p(A) = {, {0}, {1}, {0,1}}

• Kardinalitas dari sebuah himpunan adalah jumlah elemen/anggota dari


sebuah himpunan tersebut.
– Notasi kardinalitas dari himpunan A  |A|

• Kardinalitas dari power set himpunan A


– Dihitung dengan cara: |p(A)| = 2|A|
– Contoh: jika A = {0,1}  |p(A)| = 22 = 4
Fungsi dan Relasi [1]
• Sebuah fungsi akan menerima input dan selalu menghasilkan sebuah
nilai output.
• Komponen fungsi:
– Domain: daerah asal  himpunan input yang diperbolehkan untuk suatu
fungsi
– Kodomain: daerah kawan  himpunan yang merupakan kemungkinan
output sebuah fungsi
– Range: daerah hasil  himpunan output hasil dari suatu fungsi
• Fungsi disebut juga dengan pemetaan/mapping, di mana sebuah fungsi
akan memetakan domain ke kodomain, dengan hasilnya adalah range.
• f : A  B artinya f adalah fungsi dengan domain A, kodomain B,
sehingga f(A) merupakan range dari fungsi f.
Contohnya, abs : Z  Z
Fungsi dan Relasi [2]
• Diberikan fungsi f : A  B
• Fungsi f disebut fungsi pada atau surjektif atau onto jika dan
hanya jika untuk sembarang b ∈ B terdapat paling tidak satu a
dalam domain A sehingga berlaku f(a) = b. Dengan kata lain,
pada suatu fungsi surjektif, kodomain sama dengan range-nya
(f(A) = B).
• Setiap anggota himpunan A mempunyai 1 kawan di B.
Fungsi dan Relasi [3]
• Diberikan fungsi f : A  B
• Fungsi f disebut fungsi satu-satu atau injektif atau into jika
dan hanya jika untuk sembarang a1 dan a2 ∈ A dengan a1 ≠
a2 berlaku f(a1) ≠ f(a2). Dengan kata lain, bila a1 = a2 maka
f(a1) = f(a2).
• Setiap anggota himpunan A memiliki 1 kawan di B yang
tunggal (hanya punya 1 pasangan dari A).
Fungsi dan Relasi [4]
• Diberikan fungsi f : A  B
• Fungsi f disebut fungsi bijektif atau korespondensi 1-1 jika
dan hanya jika untuk sembarang b ∈ B terdapat tepat satu a
∈ A sehingga f(a) = b, dan tidak ada anggota A yang tidak
terpetakan dalam B. Dengan kata lain, fungsi bijektif adalah
fungsi injektif dan sekaligus merupakan surjektif.
• Setiap anggota himpunan B mempunyai tepat satu kawan di
A.
Graph [1]
• Sebuah graph adalah sekumpulan point/node
dengan garis-garis yang menghubungkan antar node
tersebut.

• Definisi
– G = (V,E), V: kumpulan node, E: kumpulan garis
– G = ({1,2,3,4}, {(1,2),(1,4),(1,3),(2,4),(3,4)})
Graph [2]

G dan G’

• Derajat dari node: derajat dari suatu node dihitung dari jumlah busur
yang terhubung dengan node itu. Contohnya, derajat node 1 adalah 3.
• Subgraph: G’ = ({1,2,4}, {(1,2), (1,4), (2,4)})
• Jalur/Path: rangkaian node yang terhubung oleh busur. Contohnya,
(2,4,3)
• Sirkuit/Circle: jalur dengan start dan end node sama. Contohnya,
(1,2,4,1)
Graph [3]

• Tree: graph terhubung dengan tidak ada


circle/sirkuit
• Tree terdiri dari Root (akar), dan leaf (daun)
– Root : Simpul Tertinggi
– Leaf : Simpul yang tidak memiliki anak lagi
Graph [4]

• Graph Berarah: graph yang dihubungkan dengan


busur berarah (bukan sekedar garis)
Lebih Jauh tentang Konsep Utama TBO
• Pangkat suatu Alphabet
– k = himpunan untai-untai dengan panjang k
– Contoh diket  = {0,1}
– Maka 0 = {ε}
– 1 = {0,1}
– 2 = {00,01,10,11}
• Rentengan (Concatenation) Untai
– Misal x dan y adalah untai, maka xy melambangkan rentengan untai
x dan y sedangkan yx melambangkan rentengan untai y dan x.
– Contoh : x = 01101 dan y = 110
– Maka xy = 01101110
– yx = 11001101
Aturan Produksi Hirarky Chomsky [1]
• Grade 0 Unrestricted
– Aturan : tidak ada
– Contoh : Abc  De
• Grade 1 Context Sensitive
– Aturan : |α| ≤ | β|
– Contoh : Ab  DeF
– CD  eF
– Sε
– AeF Mn ??
Aturan Produksi Hirarky Chomsky [2]
• Grade 2 Context Free
– Aturan : ruas kiri haruslah tepat satu simbol variabel
– Contoh : B  CDeFG
– D  BcDe
– Hi  JKl ???
• Grade 3 Regular Language
– Aturan : ruas kanan maksimal memiliki sebuah simbol variabel yang
terletak di paling kanan
– Contoh : A  e
– A  efg
– A  efgH
– AB
– A  bCD ???
LATIHAN
Latihan 1
• Jika kita memiliki himpunan A = {1, 2, z}, maka
powerset dari A adalah ...

• Berapa kardinalitas dari powerset A?


Latihan 2
• Jika kita memiliki himpunan
– X = {x : x Є N (natural) dan x adalah bilangan ganjil},
– Y = {y : y Є N (natural) dan y adalah bilangan prima}, serta
– Z = {z : z Є N (natural), dan z adalah bilangan kelipatan 3},
maka notasikan/deskripsikan hasil himpunan dari operasi
berikut.
a. X  Y adalah :
b. Y  Z adalah :
c. X  Y adalah :
Latihan 3
• Termasuk fungsi apakah di bawah ini?
Latihan 4
• Aturan Produksi
• Apakah produksi-produksi berikut memenuhi aturan
bahasa reguler :
– Ab
– B  bdB
– A  aSa
– B  bscdefG
– A  aSA
• Apakah produksi-produksi memnuhi aturan context free :
– A  aSa
– B  cdefG
– Ad  dB
– dA
– A  aSS
• Apakah produksi-produksi memnuhi aturan context sensitive :
– A  aSa
– B  cdefG
– Ad  dB
– Ab  A
– Sε
TUGAS
• Buat ringkasan tentang Konsep Bahasa dan
Otomata, Teori Pembuktian, Hirarky Chomsky dan
Aturan Produksi.
• Dikumpulkan melalui email
syahronihidayat788@gmail.com maksimal tanggal 6
oktober 2016, pukul 23:59, dengan format :
– kertas A4, margin 4-4-3-3, spasi 1,5, font TNR-12, sertakan
referensi, pdf
– nama file : NIM_NAMA_TBO_KELASX_TUGAS1

Anda mungkin juga menyukai