َّ الرحْ َم ِن
َّ ِــــــــــــــــم اﷲ
ِ سْ ِب
TEORI BAHASA DAN OTOMATA
(KOMPUTASI)
e-mail : darmantosoer@pelitabangsa.ac.id
3
SILABUS
1. Pendahuluan
2. Mesin Keadaan Hingga, Finite State Machine
3. Automata Hingga, Finite State Automata
4. Pengantar Bahasa Alami dan Bahasa Formal
Buku Referensi/Acuan
1. Harry R.Lewis, Cristos H.Papadimitrou, Elements of Theory of Computation,
Prentice-Hall Inc.
2. Zohar Manna, Mathematical Theory of Computation, McGraw-Hill
3. Buku-buku matematika diskret yg relevan
4
1. PENDAHULUAN
2 x (3 + 4) = 14 dengan bantuan kalkulator. Mudah !
Bagaimana dengan :
a+b=?
a x (b + c) = ?
Dapatkah digunakan kalkulator ?
Tergantung nilai a, b, c
Bila a = 2, b = 3, c = 4, hasil sama dengan di atas
Bagaimana untuk nilai a, b, c yang lain?
5
PENDAHULUAN
Urutan langkah
1. Masukan nilai a, b, c
2. Hitung (kalkulasi) X = b + c
3. Hitung Y = a x X
4. Tulis (keluarkan isi) Y
5. Jika masih diperlukan nilai a, b, c yang lain, kembali ke no.1.
Jika tidak, selesai. Itu kan algoritma ya ??
6
PENDAHULUAN
7
PENDAHULUAN
Contoh :
Kalkulasi – Komputasi
Kalkulasi
Komputasi
A : banyaknya barang yang dibeli
B : Banyaknya pembelian = Rp1000 x A
U : uang kembalian = Rp5000 – B
Hitung dulu B, kemudian hitung Rp5000 – B
8 Bedanya apa ?
PENDAHULUAN
Kalkulasi : proses melakukan perhitungan dalam .
penyelesaian masalah
Komputasi : proses menjalankan urutan langkah-langkah
. dalam penyelesaian masalah
9
PENDAHULUAN
10
PENDAHULUAN
Siapa yang melakukan perintah ? kita (manusia)
Siapa yang diperintah ? Mesin
11
PENDAHULUAN
12
PENDAHULUAN
Proses Pemikiran atau Abstraksi
Mesin abstrak
sebagai model komputasi
13
PENDAHULUAN
14
2. MESIN KEADAAN HINGGA (MKH) = FINITE STATE
. MACHINE (FSM)
15
MESIN KEADAAN HINGGA = FINITE STATE MACHINE
16
MESIN KEADAAN HINGGA = FINITE STATE MACHINE
2. menggunakan Algoritma
17
Mesin Pembuka – Penutup Pintu
Mana keadaannya ?
.
18
MESIN KEADAAN HINGGA = FINITE STATE MACHINE
.
pintu terbuka = S1
pintu tertutup = S0
0,b
19
MESIN KEADAAN HINGGA = FINITE STATE MACHINE
1,a
0,0
1, 0
pintu tertutup pintu terbuka
= S0 = S1
Tanpa perintah,
Tanpa perintah,
pintu tak menutup
pintu tak membuka
0,b
Tutup pintu - pintu menutup
20
Rancanglah tabel transisi ??
MESIN KEADAAN HINGGA = FINITE STATE MACHINE
1,a
0,0
1, 0
S0 S1
0,b
f g
keadaan 0 1 0 1
S0 S0 S1 0 a
S1 S0 S1 b 0
21
LATIHAN SOAL FINITE STATE MACHINES
qo 1 q1
0 0 0 0
1
q2 q3
1
.
22
MESIN KEADAAN HINGGA = FINITE STATE MACHINE
2. Mesin Keadaan Hingga (finite state machine)
.
S1 0, 1
1,1
1, 0
0,1
S0 S3
0,0
1,0 0,0
1,1
23
3. Rancanglah diagram transisi dari tabel transisi di bawah ini,
bila q1 merupakan final state ? .
𝞭 a b
q0 q0 q1
q1 q2 q2
q2 q2 q2
24
4. Rancanglah diagram transisi dari tabel transisi di bawah ini,
bila q2 merupakan final state ? .
𝞭 a
q0 {q1,q3}
q1 q2
q2 -
q3 -
25
5. Rancanglah tabel transisi dari diagram transisi di bawah ini ?
,
11,0
01,1 01,0
00,0 S0 S1
11,1
26
.
.
29
TERIMA KASIH ATAS PERHATIANNYA.
KERJAKAN TUGAS YANG DIBERIKAN DENGAN BAIK DAN
BENAR, MUNGKIN BISA MENJADI SOAL UTS , UAS !
26
25 June 2018
30
25 June 2018
M = (Q, ∑, 𝞭, S, F)
Keterangan
33
1. DETERMINISTIC FINITE AUTOMATA (DFA)
(AUTOMATA HINGGA DETERMINISTIK)
Ditanyakan :
a) Buatlah fungsi transisi ?
b) Rancanglah tabel transisi dari diagram transisi di atas ?
c) Bila diberikan string input : ”abb” dan ”baba” apakah diterima
atau ditolak mesin Otomata tersebut ? .
35
JAWAB :
a. Fungsi transisi :
𝞭(q0, a) = q0
𝞭(q0, b) = q1
𝞭(q1, a) = q1
𝞭(q1, b) = q2
𝞭(q2, a) = q1
𝞭(q2, b) = q2
b. Tabel Transisi :
𝞭 a b
q0 qo q1 .
q1 q1 q2
q2 q1 q2
36
JAWAB :
c. Pada mesin otomata tersebut bila diberi input string ”abb” maka :
𝞭(q0, abb) = 𝞭(q0, bb) = 𝞭(q1, b) = q2
karena q2 state termasuk final state (keadaan akhir) maka ”abb”
berada dalam L(M), artinya string input ”abb” diterima mesin otomata.
37
DETERMINISTIC FINITE AUTOMATA (DFA)
Contoh kasus -2
Diberikan DFA :
Q = {q0, q1, q2}
δ diberikan dalam tabel transisi berikut :
∑ = {a, b} δ a b
S = q0 q0 q0 q1
F = {q0, q1} q1 q0 q2
q2 q2 q2
Ditanyakan :
Telusurilah, apakah string input (instruksi = order = perintah)
kalimat-kalimat berikut diterima DFA-machines di atas : .
S = q0 q0 q0 q1
F = {q0, q1} q1 q0 q2
Jawab :
Langkah pertama adalah merancang q2 q2 q2
diagram transisi lebih dulu :
a
b a
q0 q1 q2 b
a b
39
CONTOH KASUS DETERMINISTIC FINITE AUTOMATA
Ditanyakan :
1. Telusurilah, apakah kalimat-kalimat berikut diterima DFA di atas :
abababaa, aaaabab , aaabbaba, ?
Ditanyakan : aabbaa, aaabbbaaa, aabbbaa
Jawab :
40
JAWABAN SOAL DETERMINISTIC FINITE AUTOMATA
Jawab :
41
1B. FSA SEBAGAI PENGENAL STRING
Mesin FSA tersebut jika menerima masukan sederetan simbol masukan
dari simbol-simbol yang diijinkan maka akan menuju suatu state tertentu.
Jika state akhir yang ditempuh setelah suatu FSA menerima sederetan
simbol adalah state FINAL, maka deretan simbol (string) tersebut dikatakan
DIKENALI oleh FSA, atau dengan kata lain FSA mengenali string tersebut.
Misalnya untuk suatu FSA string-string yang dikenali adalah antara lain :
0
00..0 atau 0*
10
010
010010
100*
110
111 Kumpulan seluruh string yang dikenali oleh FSA merupakan suatu
.
BAHASA yang dikenali oleh FSA tersebut. Jika dimiliki FSA M maka
bahasa yang dikenali oleh FSA di notasikan sebagai : L(M) = { x | x
semua string yang mengantar M dari S0 ke (Si F) }
42
1B. FSA SEBAGAI PENGENAL STRING
Jadi untuk mesin FSA diatas tadi :
L(M) = { 0* , 0*(10)0* , 0*(110,111)0* }
Contoh 1b. : Tentukan bahasa L(M) yg dikenali oleh Mesin M berikut ini :
0
start 0, 1 1
S0 S1 S2
1 S3
43
1B. FSA SEBAGAI PENGENAL STRING
Jawab :
Dari diagram terlihat bahwa final-state adalah S3. Pergerakan state yang
mengantar ke final-state adalah S0→S1→S2→S3 yakni string : 011 atau
string 111 yang dapat ditulis sebagai (0,1)11.
Pergerakan yang lain adalah dari S0 langsung ke S2 yaitu : S0→S2→S3
yang dilakukan melalui string : 01
Setelah berada pada final state masih ada pergerakan yang bersifat
rekursif pada S3 yaitu apabila diberikan masukan 0,00,000,… atau : 0*.
Dengan demikian jika seluruh string tersebut digabungkan akan menjadi :
(0,1)110* 010*, sehingga bahasa yang dikenali adalah :
L(M) = { (0,1)110* 010* } = { ((0,1)11 01)0* }
44
25 June 2018
TUGAS-1
1. Sebuah DFA mempunyai definisi formal sebagai berikut :
Q = {0, 1, 2, 3, 4} , Σ = {a,b} , S = { 0 }, F = {2, 4} , δ = diagram
transisi dapat dilihat pada tabel di bawah.
Ditanyakan :
a. Designlah diagram transisi ?
b. Instruksi manakah yang
dapat diterima/dilaksanakan
oleh DFA tsb ?
45
TUGAS/PR -1
Rancanglah :
a. Tuliskan definisi formalnya ?
b. Designlah transition table ?
c. Instruksi manakah yang dapat diterima/dilaksanakan oleh DFA tsb ?
.
46
TUGAS/PR -1
3. Rancanglah tabel transisi dari diagram transisi di bawah ini ?
11,0
01,1
,
01,0
00,0 S0 S1
11,1
47
TUGAS/PR -1
Ditanyakan :
a. Rancanglah Diagram State/transisi-nya ?
b. Bila diberikan string bbabba, apakah mesin tersebut bisa menerima atau menolak ?
48
TUGAS/PR -1
49
Finite State Automata (AH)
Soal No. 6 : .
a b
a
S0 S1 S2 b
a b
Rancanglah :
a. Tuliskan definisi formalnya ?
b. Designlah transition table ?
c. Bila diberikan string input aaaabab dan aaabbaba, apakah
akan diterima atau ditolak oleh mesin otomata ?
51
TUGAS/PR - 1
8. Misalkan harga pizza Rp 20.000,- dipotong jadi 8 bagian,
Bila makan sepotong, harus bayar Rp 2500,- .
52
.
53
TERIMA KASIH ATAS PERHATIANNYA.
KERJAKAN TUGAS YANG DIBERIKAN DENGAN BAIK DAN BENAR,
MUNGKIN BISA MENJADI SOAL UTS atau UAS! 53
.