Anda di halaman 1dari 74

Teori Bahasa

& Otomata
Fitri Nuraeni, S.Kom, M.Kom
S1 Teknik Informatika
Institut Teknologi Garut
2022
• Mahasiswa mampu menguraikan ekuivalensi Non-
Deterministic Finite Automata dengan transisi
kosong ke bentuk NFA dan DFA (L6: C4)
• NFA dengan transisi kosong (𝜀 − 𝑁𝐹𝐴)

Agenda • Ekuivalensi 𝜀 − 𝑁𝐹𝐴 ke NFA & DFA

10/30/2023 2
Kilas Balik

• Non-Deterministic Finite State


Automata (NFA)
• Ekuivalensi NFA ke DFA

10/30/2023 3
Contoh • Bahasa L didefinisikan dengan:
• V = {M, N}
• T = {a, b}
• S=M
• P={
• M → aM | bN
• N → bN | aM
}
Semua Aturan produksi memenuhi
aturan Tata Bahasa Reguler, sehingga
Bahasa L termasuk Bahasa Reguler
dan dapat menggunakan Otomata
jenis Finite State Automata (FSA)

10/30/2023 4
Jenis-jenis FSA

• FSA memiliki 2 jenis automata yang


berbeda, yaitu:
• Deterministic Finite State
Automata (DFA)
• Non-Deterministic Finite State
Automata (NFA)

10/30/2023 5
Deterministic Non-Deterministic
Finite State Finite State
Automata (DFA) Automata (NFA)

Setiap state State boleh


menerima menerima
semua simbol simbol input
input atau tidak

Setiap transisi Transisi dapat


Jenis- menuju tepat
satu state
menuju lebih
dari 1 state
jenis FSA tujuan tujuan

10/30/2023 6
Deterministic Finite State
Automata (DFA)

Dari suatu state ada tepat satu state


berikutnya untuk setiap simbol
masukan yang diterima.
𝜹 0 1
→∗ 𝑆0 𝑆0 𝑆1
𝑆1 𝑆2 𝑆0
𝑆2 𝑆1 𝑆2

10/30/2023 7
Cara Pembacaan String NFA

• Output dari NFA:


• DITERIMA: jika terdapat satu atau lebih jalur pembacaan string yang berakhir di
state akhir
• Ditolak: jika semua jalur pembacaan string tidak ada yang berakhir di state akhir

• Apakah string ‘00110’ diterima NFA dibawah?


0,1 0,1 State
Akhir?
0 1
S P R 0 0 1 1 0
S S S S S S X
P X

P R R R √

P X
10/30/2023 8
Ekuivalensi
• Pada Bahasa regular, kita dapat membuat sebuah DFA yang
ekuivalen dari bentuk NFA
• Bentuk NFA dapat dengan mudah dibuat
• Bentuk DFA dapat cepat membaca string
• Ekuivalen disini berarti kedua FSA tersebut dapat menerima
Bahasa yang sama.

10/30/2023 9
Proses
Ekuivalensi
NFA ke
DFA

10/30/2023 10
Non-Deterministic
Finite Automata (NFA)
dengan transisi kosong
𝜀 − 𝑁𝐹𝐴

10/30/2023 11
String Kosong (𝜺)
• String adalah deret simbol yang diambil dari alfabet (∑)
• String kosong (𝜀) adalah keadaan dimana tidak ada
kemunculan simbol dari anggota alfabet.
• Contoh FSA yang menerima 𝜀:
FSA disamping menerima Bahasa A, dimana
1
𝐴 = 𝑤 𝑤 𝑡𝑒𝑟𝑑𝑖𝑟𝑖 𝑑𝑎𝑟𝑖 1, 𝑤 ≥ 0, 𝑤 ∈ Σ}
S

Maka, w = {𝜀,1, 11, 111, 1111, …, (1)*}


10/30/2023 12
Transisi Kosong (𝜺-move)
• Transisi kosong (𝜀-move) adalah perpindahan spontan, tanpa
menerima simbol input.
• NFA diperbolehkan menerima transisi kosong, sebagai
perluasan dari bentuk NFA, disebut 𝜀-NFA

10/30/2023 13
Contoh 𝜀-NFA
A
𝜀
B
𝜀
C
• 𝜀-NFA disamping:
• Dari A tanpa membaca input
a
b
𝜀 dapat berpindah ke B
• Dari B tanpa membaca input
b
D E dapat berpindah ke C
• Dari E tanpa membaca input
dapat berpindah ke B

10/30/2023 14
𝜀-NFA hasil penggabungan 2 FSA
NFA disamping menerima Bahasa A,
• Contoh 𝜀-NFA: dimana
1 𝐴 = 𝑤 𝑤 𝑡𝑒𝑟𝑑𝑖𝑟𝑖 𝑑𝑎𝑟𝑖 1 𝑑𝑒𝑛𝑔𝑎𝑛 𝑤 ≥ 0
𝒂𝒕𝒂𝒖 𝑤 𝑚𝑒𝑚𝑢𝑎𝑡 01, 𝑤 ∈ Σ}, Σ = {0,1}
0,1 0,1 Maka, w = {𝜀,1, 11, 111, 1111, …, (1)*,
S
𝜀 01, 010,101, …, (0+1)*.01.(0+1)*}
0 1
A B C

0,1 0,1
1
0 1
S A B C

10/30/2023 15
𝜀-NFA hasil Penyambungan 2 FSA
0,1
1
0 1
S A B C

NFA(A) NFA(B)
NFA(C) = NFA(B).(NFA(A)
0,1
1
0 1 𝜀
A B C S
10/30/2023 16
Contoh 1
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

• Bagaimanakah diagram transisi untuk


NFA(C) = NFA(A)+NFA(B)?

10/30/2023 17
Contoh 1
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(C) = NFA(A)+NFA(B)
0,1

A
1
B NFA(A)

0,1
1 NFA(B)
P R 10/30/2023 18
Contoh 1
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(C) = NFA(A)+NFA(B)
0,1
Buatkan state awal & state akhir baru
1
A B
F
S
0,1
1
P R 10/30/2023 19
Contoh 1
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(C) = NFA(A)+NFA(B) sambungkan state awal baru dengan


0,1
state awal masing-masing NFA
1
A B
𝜀
F
S
0,1
𝜀
1
P R 10/30/2023 20
Contoh 1
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(C) = NFA(A)+NFA(B) sambungkan state akhir masing-masing NFA


0,1
dengan state akhir baru
1 𝜀
A B
𝜀
F
S 𝜀
0,1
𝜀
1
P R 10/30/2023 21
Contoh 1
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(C) = NFA(A)+NFA(B) rubah state akhir masing-masing NFA


0,1
menjadi state biasa
1 𝜀
A B
𝜀
F
S 𝜀
0,1
𝜀
1
P R 10/30/2023 22
Contoh 1
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(C) = NFA(A)+NFA(B) 0,1


1 𝜀
A B
𝜀
F
S 𝜀
0,1
𝜀
1
P R 10/30/2023 23
Contoh 2
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

• Bagaimanakah diagram transisi untuk


NFA(D) = NFA(A).NFA(B)?

10/30/2023 24
Contoh 2
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(D) = NFA(A).NFA(B)

NFA(A) 0,1 0,1


1
NFA(B)
1
A B P R

10/30/2023 25
Contoh 2
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(D) = NFA(A).NFA(B) Sambungkan state akhir FSA pertama


dengan state awal FSA kedua

0,1 0,1
1 𝜀 1
A B P R

10/30/2023 26
Contoh 2
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(D) = NFA(A).NFA(B)

0,1 0,1
1 𝜀 1
A B P R

10/30/2023 27
Contoh 3
• Terdapat 2 FSA seperti gambar dibawah ini:
NFA(A) NFA(B)
0,1 0,1
1 1
A B P R

NFA(D) = NFA(B).NFA(A)

0,1 0,1
1 𝜀 1
P R A B

10/30/2023 28
Diskusi Kelompok

• Diketahui 2 buah Bahasa yaitu


• Bahasa A yaitu kumpulan string yang memiliki awalan ‘00’, dari Σ = {0,1}
• Bahasa B yaitu kumpulan string yang terdiri dari simbol ‘1’, dengan panjang string
minimal 1, dari dari Σ = {0,1}

• Bagaimanakah diagram transisi 𝜀-NFA dari:


a) Bahasa C = Bahasa B disambung Bahasa A
b) Bahasa D = Bahasa A digabungkan Bahasa B

10/30/2023 29
Ekuivalensi 𝜀 − 𝑁𝐹𝐴
ke Bentuk NFA &
DFA

10/30/2023 30
𝜺-closure suatu 𝜀-NFA

• 𝜀-closure adalah himpunan state-state yang dapat dicapai dari suatu state
tanpa membaca input.
• 𝜀-closure(Q) = himpunan state-state yang dapat dicapai dari state Q tanpa
membaca input.

𝜀 𝜀
A B C 𝜀-closure(A) = {A, B, C}
𝜀-closure(B) = {B, C}
b
a 𝜀 𝜀-closure(C) = {C}
𝜀-closure(D) = {D}
b
D E 𝜀-closure(E) = {B, C, E}

10/30/2023 31
Tentukan 𝜺-closure NFA berikut!

𝜀 a
S P Q

𝜀 b 𝜀

R T

10/30/2023 32
Tentukan 𝜺-closure NFA berikut!

𝜀 a
• 𝜀-closure(S) = {S, P, R}
S P Q
• 𝜀-closure(P) = {P, R}
𝜀 b 𝜀
• 𝜀-closure(Q) = {Q, T}
R T • 𝜀-closure(R) = {R}
• 𝜀-closure(T) = {T}

10/30/2023 33
Tentukan 𝜺-closure NFA berikut!

𝜀 a
• 𝜀-closure(S) = {S, P, R}
S P Q
• 𝜀-closure(P) = {P, R}
𝜀 b 𝜀
• 𝜀-closure(Q) = {Q, T}
R T • 𝜀-closure(R) = {R}
• 𝜀-closure(T) = {T}

Perhatikan: state yang tidak memiliki transisi kosong (𝜀), maka


𝜀-closure-nya adalah state itu sendiri
10/30/2023 34
Ekuivalensi 𝜺-NFA ke NFA

1. Buat tabel transisi untuk 𝜀-NFA semula


2. Tentukan 𝜀-closure untu setiap state
3. Carilah fungsi transisi hasil perubahan (𝛿’) dari 𝜀-NFA ke NFA, dengan
rumus 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
4. Berdasarkan hasil no. 3, buatkan tabel transisi dan diagram transisi dari
NFA hasil ekuivalensi
5. Tentukan state-state akhir NFA, yaitu state-state akhir semula ditambah
dengan state-state yang 𝜀-closurenya menuju ke salah satu dari state akhir.

10/30/2023 35
Contoh 4
• Buatkan NFA untuk 𝜀-NFA dibawah ini!

𝜀 a
S P Q

𝜀 b

b
R T

10/30/2023 36
Contoh 4
• Buat tabel transisi untuk 𝜀-NFA semula

𝜀 a 𝚺
S P Q Q
a B

b →S ∅ ∅
𝜀
P Q ∅
b Q ∅ T
R T
R ∅ T
*T ∅ ∅

10/30/2023 37
Contoh 4
• Tentukan 𝜀-closure untu setiap state

𝜀 a • 𝜀-closure(S) = {S, P, R}
S P Q
• 𝜀-closure(P) = {P, R}
b
𝜀 • 𝜀-closure(Q) = {Q}
b • 𝜀-closure(R) = {R}
R T
• 𝜀-closure(T) = {T}

10/30/2023 38
Contoh 4
• Tentukan 𝜀-closure untu setiap statCarilah fungsi transisi hasil
perubahan (𝛿’) dari 𝜀-NFA ke NFA, dengan rumus 𝛿 ′ =
𝜺_closure(𝛿(𝜺_closure(state), input))
Q
𝚺 • 𝜀-closure(S) = {S, P, R}
a B
→S ∅ ∅ • 𝜀-closure(P) = {P, R}
P Q ∅ • 𝜀-closure(Q) = {Q}
Q ∅ T
• 𝜀-closure(R) = {R}
R ∅ T
*T ∅ ∅ • 𝜀-closure(T) = {T}
10/30/2023 39
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 40
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S =𝜀-closure(𝛿(𝜀-closure(S),a))
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 41
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S =𝜀-closure(𝛿({𝑆, 𝑃, 𝑅}a))
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 42
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
=𝜀-closure(𝛿(S,a); 𝛿(P,a);
Q ∅ T • 𝜀-closure(R) = {R} →S
𝛿(R,a))
R ∅ T
• 𝜀-closure(T) = {T} P
*T ∅ ∅
Q
R
*T

10/30/2023 43
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S =𝜀-closure(∅; 𝛿(P,a); 𝛿(R,a))
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 44
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S =𝜀-closure(∅; 𝑄; 𝛿(R,a))
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 45
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S =𝜀-closure(∅; 𝑄; ∅)
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 46
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄}
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 47
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} =𝜀-closure(𝛿(𝜀-closure(S),b))
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 48
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} =𝜀-closure(𝛿({𝑆, 𝑃, 𝑅},b))
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 49
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
=𝜀-closure(𝛿(S,b); 𝛿(P,b);
Q ∅ T • 𝜀-closure(R) = {R} →S {𝑄}
𝛿(R,b))
R ∅ T
• 𝜀-closure(T) = {T} P
*T ∅ ∅
Q
R
*T

10/30/2023 50
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} =𝜀-closure(∅; ∅; 𝑇)
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 51
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} {𝑇}
Q ∅ T • 𝜀-closure(R) = {R}
P
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 52
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} {𝑇}
Q ∅ T • 𝜀-closure(R) = {R}
=𝜀-closure(𝛿(𝜀-
R ∅ T P
• 𝜀-closure(T) = {T} closure(P),a))
*T ∅ ∅
Q
R
*T

10/30/2023 53
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} {𝑇}
Q ∅ T • 𝜀-closure(R) = {R}
P {𝑄}
R ∅ T
• 𝜀-closure(T) = {T} Q
*T ∅ ∅
R
*T

10/30/2023 54
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} {𝑇}
Q ∅ T • 𝜀-closure(R) = {R}
=𝜀-closure(𝛿(𝜀-
R ∅ T P {𝑄}
• 𝜀-closure(T) = {T} closure(P),b))
*T ∅ ∅
Q
R
*T

10/30/2023 55
Contoh 4
• 𝛿 ′ = 𝜺_closure(𝛿(𝜺_closure(state), input))
𝚺 𝜹′
Q • 𝜀-closure(S) = {S, P, R}
a B 𝚺
• 𝜀-closure(P) = {P, R} Q
→S ∅ ∅
a B
P Q ∅ • 𝜀-closure(Q) = {Q}
→S {𝑄} {𝑇}
Q ∅ T • 𝜀-closure(R) = {R}
P {𝑄} {𝑇}
R ∅ T
• 𝜀-closure(T) = {T} Q {∅} {𝑇}
*T ∅ ∅
R {∅} {𝑇}
*T {∅} {∅}

10/30/2023 56
Contoh 4
• buatkan tabel transisi dan diagram transisi dari NFA hasil
ekuivalensi a
𝜹′
a
𝚺 S P Q
Q
a B
→S {𝑄} {𝑇} b b b
P {𝑄} {𝑇}
b
Q {∅} {𝑇} R T
R {∅} {𝑇}
*T {∅} {∅}

10/30/2023 57
Contoh 4
• Tentukan state-state akhir NFA, yaitu state-state akhir semula
ditambah dengan state-state yang 𝜀-closurenya menuju ke
salah satu dari state akhir. a
• 𝜀-closure(S) = {S, P, R}
a
• 𝜀-closure(P) = {P, R} S P Q
• 𝜀-closure(Q) = {Q}
b b b
• 𝜀-closure(R) = {R}
• 𝜀-closure(T) = {T} b
R T
Karena tidak ada state yg 𝜀-closure memuat
state akhir, maka state akhir tetap T
10/30/2023 58
Contoh 4
• Hasil ekuivalensi
a

𝜀 a a
S P Q S P Q

𝜀 b b b b

b b
R T R T

10/30/2023 59
Contoh 5

• Buatkan DFA yang ekuivalensi!

𝜀 a a
S P Q S P Q

𝜀 b b b b

b b
R T R T

10/30/2023 60
Contoh 5
• Buatkan DFA yang ekuivalensi!
a
𝜹′
a
S P Q 𝚺
Q
a B
b b b →S {𝑄} {𝑇}
P {𝑄} {𝑇}
b
R T Q {∅} {𝑇}
R {∅} {𝑇}
*T {∅} {∅}

10/30/2023 61
Contoh 5
• Buatkan DFA yang ekuivalensi!
a
Q
a
a
S P Q S

b b b b

b
R T T

10/30/2023 62
Contoh 5
• Buatkan DFA yang ekuivalensi!
a
Q
a a
a
S P Q S
b ∅
b b b b

b
R T T

10/30/2023 63
Contoh 5
• Buatkan DFA yang ekuivalensi!
a
Q
a a
a
S P Q S
b ∅
b b b b
a,b
b
R T T

10/30/2023 64
Contoh 5
• Buatkan DFA yang ekuivalensi!
a
Q
a a a,b
a
S P Q S
b ∅
b b b b
a,b
b
R T T

10/30/2023 65
Diskusi
Kelompok

10/30/2023 66
Diskusi Kelompok

• Diketahui 2 buah Bahasa yaitu


• Bahasa A yaitu kumpulan string yang memiliki awalan ‘00’, dari Σ = {0,1}
• Bahasa B yaitu kumpulan string yang terdiri dari simbol ‘1’, dengan panjang string
minimal 1, dari dari Σ = {0,1}

• Dari diskusi sebelumnya sudah didapatkan diagram transisi 𝜀-NFA dari:


a) Bahasa C = Bahasa B disambung Bahasa A
b) Bahasa D = Bahasa A digabungkan Bahasa B

1. Buatlah NFA yang ekuivalen untuk 𝜀-NFA(C) dan 𝜀-NFA(D) tersebut!


2. Dari hasil no 1) buatkan juga DFA yang ekuivalennya!

10/30/2023 67
Tugas 06
Ekuivalensi 𝜀-NFA ke NFA & DFA

10/30/2023 68
L6: • Carilah materi-materi dari berbagai sumber mengenai:
Ekuivalensi 1. Bagaimana proses ekuivalensi dari 𝜀-NFA ke NFA,
𝜺-NFA ke melalui sebuah contoh bahasa regular
NFA & DFA 2. Bagaimana proses ekuivalensi dari 𝜀-NFA ke DFA,
melalui sebuah contoh bahasa regular

• Susun draft laporan hasil pembelajaran pada file word/


pdf dengan format nama: L6_KELAS_NIM
• Rekam laporan hasil pembelajaran, upload ke chanel YT,
copas URL VIDEO, tambahkan ke File Laporan
• Submit file laporan (+ URL VIDEO) ke LMS

TBO 2022 - Fitri Nuraeni 10/30/2023 69


Next

UTS
Capaian per tahapan pembelajaran
(UTS)
Mahasiswa mampu Mahasiswa mampu
Mahasiswa mampu
mengetahui teori bahasa, memahami definisi
memahami konsep
jenis-jenis bahasa dan Otomata, tata bahasa
kompilator dan aturan
penerjemah bahasa chomsky & jenis
produksi bahasa (C2)
formal (C1) otomatanya (C2)

Mahasiswa mampu
Mahasiswa mampu Mahasiswa mampu
menguraikan ekuivalensi
menggunakan Bahasa membuat diagram Non-
Non-Deterministic Finite
Reguler dan Deterministic Deterministic Finite
Automata dengan transisi
Finite Automata (DFA) Automata dan DFA yang
kosong ke bentuk NFA
(C3) akuivalen (C4)
dan DFA (C4)

TBO 2022 - Fitri Nuraeni 10/30/2023 71


Kriteria penilaian

Capaian Per Tahapan Minggu Bobot Nilai


Ke-
Kehadiran Tugas & Kuis UTS UAS

Mahasiswa mampu mengetahui teori bahasa, jenis-jenis 1 0.8 1.2 - -


bahasa dan penerjemah bahasa formal
Mahasiswa mampu memahami konsep kompilator dan 2 0.7 1.3 - -
aturan produksi bahasa
Mahasiswa mampu memahami definisi Otomata, tata 3 0.7 1.3 - -
bahasa chomsky & jenis otomatanya
Mahasiswa mampu menggunakan Bahasa Reguler dan 4 0.7 1.3 5 -
Deterministic Finite Automata (DFA)
Mahasiswa mampu membuat diagram Non-Deterministic 5 0.7 1.3 10 -
Finite Automata dan DFA yang akuivalen

Mahasiswa mampu menguraikan ekuivalensi Non- 6-7 1.4 0.6 10 -


Deterministic Finite Automata dengan transisi kosong ke
bentuk NFA dan DFA
UTS 8 5 7 25 0
TBO 2022 - Fitri Nuraeni 10/30/2023 72
Nilai UTS

Kuis 4 Kuis 5 Kuis 6


5 10 10
× 𝑘𝑢𝑖𝑠 4 × 𝑘𝑢𝑖𝑠 5 × 𝑘𝑢𝑖𝑠 6
25 25 25

10/30/2023 73
Fitri Nuraeni
fitri.nuraeni@itg.ac.id

WA:
081322356516

Thank you
10/30/2023 74

Anda mungkin juga menyukai