A. Kelompok 1
Pembahasan : FSA ( finite state automata ).
a. Pengertian dari FSA
• ∑ = {a, b}, maka contoh words yang dapat dibentuknya yaitu “aab”,
“abab”, “a”, “bbbbbb”, dan lain- lain.
δ a b
qo qo q1
q1 q1 q2
q2 q1 q2
Perhatkan pada tabel diatas, dapat kita simpulkan bahwa DFA sesuai
dengan pengertian yang di berikan, “dari suatu state terdapat tepat satu
state berikutnya untuk setiap simbol masukan yang diterima”.
Bisa kita ibaratkan DFA adalah sebuah aturan yang harus kita
penuhi, seperti sebuah aturan yang harus ditaati, sama halnya dengan
computer yang mengikuti semua perintah yang di berikan kepadanya, jika
tidak mengikuti aturan maka komputer tidak jalan seperti yang kita lihat
saat ini.
Dalam pembahasan sebelumnya kita telah membahas apa itu DFA dan N-DFA
yang mana kedua bagian tersebut termasuk dalam FSA (finite state automata).
Dalam pembahasan kedua ini, membahasa bagaimana peubahan dari N-DFA ke
DFA. Jika kita ibaratkan seperti, sebuah model yang tidak mengikuti aturan, mebuat
ke model yang mengikuti sebuah aturan.
Atau seperti model perancangan yang kita buat untuk sebuah komputer,
otomatis yang kita buat adalah NFA, setelah itu untuk memasukkan kedalam sebuah
aturan sebuah perangkat harus di buat dalam sebuah model DFA.
Untuk merubah itu semua, kita harus mengikuti tahapan dibawah ini :
a. Tahapan pengubahan NFA ke DFA
Sebuah mesin NFA dapat dibuat atau dimuatkan kedalam DFA yang ekuivalen
(bersesuaian). Ang di maksud denagan ekuivalen disini adalah bisa menerima
bahasa yang sama.
1. Buatlah kumpulan state sebagai subset dari state awal - ∅ .
NFA
2. Telusuri state dari state yang terbentuk.
3. Tentukan state awal.
4. Tentukan state akhir.
5. Reduksi state yang tidak digunakan.
Kumpulan state sebagai subset awal: {}, q0, q1, q2, {q0, q1}, {q0, q2}, {q1, q2},
{q0, q1, q2}
Tabel transisi
State p r
Ø Ø Ø
Q0 {q1,q2} Ø
Q1 Ø {q2}
Q2 {q1} {q1}
{q0,q1} {q1,q2} {q2}
{q0,q2} {q1,q2} {q1}
{q1,q2} {q1} {q1,q2
}
{q0,q1,q2 {q1,q2} {q1,q2
} }
State awal: q0
State akhir: q1, {q1, q2} (yang ada terdapat q1). Untuk membuat state pada DFA
dapat di tentukan dari mereduksi tabel transisi diatas.
Dari tabel transisi diatas dapat kita bentuk sebuah state DFA yang ekuivalen dengan NFA
di atas.
DFA
Dari gambar mesin DFA diatas dibentuk dari NFA.
C. Kelompok 3
Pembahasan : NFA dengan ε −move
Dari model state diatas dapat kita peroleh sebuah mesin NFA tampa ε −move ,
tentu saja untuk membuat ke NFA tampa ε −move tadak sederhana, perlu
melakukan beberapa tahapan yang harus di lewati seperti dengan cara sebagai
berikut :
1. Buatlah tabel transisi dari NFA dengan ε −move semula
δ a b
qo Ø Ø
q1 q2 q3
q2 Ø Ø
q3 Ø Ø
2. Tentukan ε −closure untuk setiap state-state
ε_cl(qo) = {qoq1}
ε_cl(q1) = {q,}
ε_cl(q2) = {q2}
ε_cl(q3) = {q3}
3. Kemudian, carilah setiap fungsi transisi hasil perubahan dari NFA
ε −move ke NFA tamapa ε −move (kita sebut saja dengan δ' )
dimana δ ' didapat dengan rumus :
δ ' (state,input) = ε −closure ( δ ( ε −closure (state),input))
4. Berdasarkan hasil no. 3, kita dapat membuat tabel transisi diagram transisi
dari NFA tampa ε_move yang ekuivaen dengan NFA dengan ε_move
tersebut.
δ' a b
qo q2 q3
q1 q2 q3
q2 Ø Ø
q3 Ø Ø
Akhirnya kita tentuka himpunan state akhir untuk NFA tampa ε_move ini.
Himpunan state akhit semula (q3). Karena tidak ada state lain yang
ε_closure memuat q3 maa himpnan state akhir sekarang tetap q3.
Dapat kita lihat NFA tampa ε_move-nya sebagai berikut :
Union
L (M’) = L(M1) + L(M2)
Konkatenasi
L(M’’) = L(M1) L(M2)
Dari dua operasi tersebut, kita dapat menggabungkan dua mesin fsa, misalkan
L(M1) adalah bahasa yang diterima di M1 dan L(M2) adalah bahasa yang
diterima di M2, maka kita dapat membuat M yang menerima bahasa L(M)
dengan langkah sbb :
Pada pembahasna kali ini kita akan membahas tentang ER tentang penerapan ER,
Notasi ER, Hubungan ER dengan FSA. Kita akan membahas satu persatu dari setiap
bagian ER.
NFA ε_move
Untuk setiap ER ada Non-deterministik Finite Automata dengan transisi
ε (NFA ε-move) yang ekuivalen. Sementara dari bahasa yang diterima oleh DFA
ada satu ekspresi ER hanya kita bisa membuat suatu Non-deterministik Finite
Automata, ε-move dari suatu ER. Contoh yang bisa dilihat pada gambar dibawah
ini, yang perlu di perhatikan di sini, state akhir akan menandakan apakah suatu
input di terima atau tidak.
seperti, membuat mesin DFA yang menerima bahasa yang berupa semua
string yang berakhiran dengan ‘00’. Diketahui ∑ = (0,1).
Langkah pertama, membuat ekpresi reguler:
(0+1)*00
Bisa juga di tulis sebagai (01)*00 , karena simbol ‘+’ bisa menggantikan
‘’. Dari ekpresi reguler tersebut, lebih mudah membuat NON-DFA-nya ebih
dulu, dari pada langsung ke DFA . mesin NFA-nya dapat di lihar pada gambar
dibawah ini :
Mesin NFA
δ 0 1
q0 {q0,q1 } {q0}
q1 {q2} -
q2 - -
Akhirnya buat DFA pada gambar dibawah yang ekiuvalen dengan Non-
DFA tersebut. Hal ini bisa cek dengan untai/ string yang harus bisa di terima oleh
mesin, seperti 00, 100, 000, 0100, 0000, 1100.
Mesin DFA.
Dapat kita simpulkan dari pembahasan diatas bahawa sebuah ER dapat di bentuk
kedalam NFA dan NFA dapat dirubah kembali ke DFA dan DFA dapat di rumah
ke ER kemabali seperti gambar hubungan ER dengan ER diatas.
E. Kelompok 5
Pembahasan : Aturan Produks untuk FSA
Dalam pembahasan ini kita kan membhasa tentang aturan produksi ER,
mengkonstruksi aturan suatu FSA, dan FSA untuk suatu tata bahasa ER.
Misalnya kita tentukan simbol awal adalah S kita identikan S dengan state awal
q0. Dari q0 mendapat input a menuju q1. Bisa kita tuliskan aturan produksi :
SaE
Di sini kita gunakan sebagai E dan bukan A karena menyatakan bagian yang
belum
terbangkitkan mulai dari state q1.
Dari q1 mendapat transisi – є (tanpa menerima input) ke q2 dan q3 . Bisa kita
tuliskan :
E→A
E→B
(Di sini kita identikkan q2 sebagai A dan q3 sebagai B)
Dari q2 jika mendapat input a menuju ke state q2 itu sendiri dan jika mendapat
input b
menuju ke state q4 yang merupakan state akhir dan tidak menuju ke state yang
lainnya
sehingga dapat dituliskan menjadi :
A → aA
A→b
Dari q3 jika mendapat input b menuju ke state q3 itu sendiri dan jika mendapat
input b
juga menuju ke state q4 yang merupakan state akhir dan tidak menuju ke state
yang
lainnya sehingga dapat dituliskan menjadi :
B → bB
B→b
Kumpulan aturan produksi yang kita peroleh bisa kita tuliskan sebagai berikut.
S → aE
E →A| B
A → aA | b
B → bB | b
Secara formal tata bahasa yang diperoleh dari otomata adalah sebagai berikut.
V = {S, E, A, B}
T = {a, b}
P = { S → aE, E → A | B, A → aA | b, B → bB | b }
S=S
Contoh lain, akan dibuat diagram transisi untuk tata bahasa regular :
S → abA | B | baB | є
A → bS | b
B → aS
Jawab :
Contoh lain, akan dibuat diagram transisi untuk tata bahasa regular :
S → aS | bB | b
B → cC
C → aS
F. Kelompok 6
Pembahasan : FSA dengan output
dalam pembahasan kalini kita akan membahasn tentang Mesin Moore, Mesin Mealy,
dan Ekuivalensi mesin moore dan mesin mealy.
Keterbatasan dari finite state automata adalah diterima atau ditolak. Otomata tersebut
biasa disebut sebagai accepter (finite state accepter). Kita bisa membangun sebuah
finite state automata yang memiliki keputusan beberapa keluaran/output.
a. Mesin Moore
Mesin Moore memiliki 6(enam) Tupple, Mo = (Q,S,d,S,D,l), dimana :
Q = Himpunan state
S = Himpunan symbol input
d = Fungsi Transisi
S = State awal, S Î Q
D = Himpunan symbol output / karakter
l = Fungsi output untuk setiap state
Kita lihat contoh penerapan dari Mesin Moore. Misal kita ingin memperoleh sisa
pembagian(modulus) suatu bilangan dengan 3. Di mana input dinyatakan dalam biner.
Q = {q0,q1,q2}
Σ = {0,1} (input dalam biner)
Δ = {0,1,2}
(untuk output-nya pada kasus mod dengan 3, maka sisanya kemungkinan
adalah 0,1,2).
S = q0
λ (q0) = 0
λ (q1) = 1
λ (q2) = 2
1. 5 mod 3 = ?
Input 5 dalam biner 101
Bila kita masukkan 101 ke dalam mesin, urutan state yang dicapai:
q0,q1,q2,q2
perhatikan state terakhir yang dicapai adalah q2, λ(q2) = 2, maka 5 mod 3 = 2
2. 10 mod 3 = ?
Input 10 dalam biner 1010
Bila kita masukkan 1010 ke dalam mesin, urutan state yang di capai:
q0,q1,q2,q2,q1
λ (q1) = 1, maka 10 mod 3 = 1.
b. Mesin Mealy
Bila ouput pada mesin Moore berasosiasi dengan state, maka ouput pada mesin Mealy
akan berasosiasi dengan transisi. Mesin Mealy sendiri dedefinisikan dalam 6 tupel, M
= (Q, Σ, δ, S, Δ, λ), dimana:
Q = Himpunan state
Σ = Himpunan Simbol input
d = Fungsi Transisi
S = State Awal, S ∈ Q
Δ = Himpunan Output
λ = Fungsi Output untuk setiap transisi
Mesin diatas akan mengeluarkan output apakah menerima(Y) atau menolak (T), suatu
masukan, di mana mesin akan mengeluarkan ouput ‘Y’ bila menerima untai yang
memilki akhiran 2 simbol berturutan yang sama, atau secara formal dalam ekspresi
regular:
(0+1)*(00+11)
Contoh input yang diterima: 01011, 01100, 1010100, 10110100, 00, 11, 100, 000, 111.
Konfigurasi dari mesin Mealy tersebut adalah sebagai berikut:
Q = {q0,q1,q2}
Σ = {0,1}
Δ = {Y, T}
S = q0
λ (q0, 0) = T
λ (q0, 1) = T
λ (q1, 0) = Y
λ (q1, 1) = T
λ (q2, 0) = T
λ (q2, 1) = Y
λ (q0, Y) = Y
λ (q0, T) = T
λ (q1, Y) = Y
λ (q1, T) = T
λ (q2, Y) = Y
λ (q2, T) = T