SlideShare a Scribd company logo
1 of 41
Teknik Informatika
2014
Ir. Ahmad Haidaroh, M.Kom.
Definisi
• Mesin abstrak berupa
sistem model
matematika dengan
masukan dan keluaran
diskrit yang dapat
mengenali bahasa
paling sederhana
(bahasa reguler) dan
dapat
diimplementasikan
secara nyata.
Jenis FSA
• Deterministik (DFSA/DFA)
pada setiap input, hanya ada satu keadaan
(state) tujuan dari keadaan saat ini.
• Nondeterministik (NFSA/NFA)
pada setiap input terdapat lebih dari satu
keadaan tujuan dari keadaan saat ini.
D-FSA/DFA
1. Himpunan keadaan (Q).
2. Himpunan simbol input ()
3. Fungsi transisi (), memuat satu keadaan asal
dan satu simbol input dan satu keadaan tujuan.
4. Keadaan awal (q0)merupakan salah satu dari
Q.
5. Himpunan keadaan final atau yang diterima,
dinotasikan dengan F (FQ)
5-TUPLE D-FSA
DFSA A, terdiri atas 5 tuple, yaitu:
A = (Q, , , q0, F)
1. Himpunan keadaan (Q).
2. Himpunan simbol input ()
3. Fungsi transisi (), memuat satu keadaan asal dan satu simbol
input dan satu keadaan tujuan.
4. Keadaan awal (q0)merupakan salah satu dari Q.
5. Himpunan keadaan final atau yang diterima, dinotasikan dengan
F (FQ)
Notasi Lain DFSA
1. Diagram Transisi / State Diagram
• Tiap keadaan merupakan simpul
• Tiap keadaan q  Q dan tiap simbol a  , dituliskan
sebagai (q,a) = p. Artinya, diagram transisi memiliki
panah dari q ke p, yang berlabel a.
• Keadaan awal (q0) ditandai dengan adanya panah
tanpa sumber.
• Simpul yang menjadi keadaan final ditandai dengan
lingkaran bergaris tepi ganda
Notasi Lain DFSA
2. Tabel Transisi
• Representasi daftar dari suatu fungsi
• Baris menunjukkan keadaan dan kolom
menunjukkan input.
• Isi dari baris menunjukkan keadaan q dan isi dari
kolom input a menunjukkan keadaan (q,a)
Contoh:
DFSA yang dapat menerima string berakhiran 01
A = ({q0, q1, q2}, {0,1}, , q0, {q2})
dengan fungsi transisi  diberikan dalam bentuk
tabel:  0 1
 q0 q1 q0
q1 q1 q2
* q2 q2 q1
q0 q1
1
q2
0
0 1
0
0
1
State Diagram
A = (Q, , , q0, F)
Contoh DFSA :
M = (Q, , , s, F), dimana :
Q = {q0, q1},
 = {a,b},
S = q0,
F = {q0}
Tabel Transisi
q  (q, )
q0 a q0
q0 b q1
q1 a q1
q1 b q0
Tabel Transisi
 a b
q0 q0 q1
q1 q1 q0
atau
q0 q1
a
b
a
b
Diagram State
Jika M diberi input aabba, dengan state awal (q0, aabba),
maka :
(q0,aabba) ├M (q0,abba)
├M (q0,bba)
├M (q1,ba)
├M (q0,a)
├M (q0,e)
Karena (q0,aabba) ├*M (q0,e), jadi aabba diterima oleh M
Contoh: DFSA yang dapat menerima semua
string berakhiran 01
q0 q1
0,1
q2
0 1
Contoh : diberikan input pada mesin DFSA 010111, lakukan tracer :
(q0,010111) ├M (q0,10111)
├M (q0,0111)
├M (q0,111)
├M (q0,11)
├M (q0,1)
├M (q0,e)
Karena berhenti bukan di q2, maka 010111 tidak diterima oleh mesin DFSA
Contoh : diberikan input pada mesin DFSA 11101, lakukan tracer :
(q0,11101) ├M (q0,1101)
├M (q0,101)
├M (q0,01)
├M (q1,1)
├M (q2,e)
Karena berhenti di q2, maka 11101 diterima oleh mesin DFSA
Tabel Transisi
 0 1
q0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
DFA nya
Q = {q0 , q1 , q2 , q3 }
 = {0,1}
S = q0
F = { q0}
Contoh : diberikan string 011 dan 1010,
buktikan bahwa string tersebut diterima
atau ditolak !
(q0,011) = (q2,11) = (q3,1) = q2 Ditolak
(q0,1010) = (q1,010)
= (q3,10)
=(q2,0)
= (q0,e) DiterimaState Diagram
Perluasan Fungsi Transisi untuk String
• DFSA mendefinisikan bahasa sebagai
himpunan semua string yang hasilnya dalam
bentuk urutan transisi keadaan dari keadaan
awal sampai keadaan final (yang diterima)
Perluasan Fungsi Transisi untuk String (lanj.)
• Fungsi Transisi Diperluas
• Mendeskripsikan yang terjadi ketika suatu keadaan
dimulai dan sembarang urutan input diikuti.
• Jika  adalah fungsi transisi, maka fungsi transisi
diperluas dinotasikan dengan 𝛿
• Fungsi transisi diperluas merupakan fungsi saat
keadaan q untuk masukan berupa string w, dan
menghasilkan keadaan p (keadaan yang dicapai
otomaton ketika memulai di keadaan q dan memproses
urutan input w)
Definisi Formal dari Fungsi Transisi Diperluas
•
Definisi Formal dari Fungsi Transisi Diperluas
Induksi: Misal w adalah string yang berbentuk xa;
yakni a merupakan simbol terakhir dari w, dan x
merupakan string selain simbol terakhir.
Maka: 𝛿(q,w) = ( 𝛿(q,x), a)
• Untuk memproses 𝛿(q,w), pertama proses dahulu 𝛿(q,x),
hasilnya adalah keadaan yang otomaton tempati setelah
memproses semua simbol selain simbol terakhir dari w.
• Misal, keadaan ini adalah p, yakni 𝛿(q,x) = p
• Maka 𝛿(q,w) adalah yang kita peroleh dengan melakukan
transisi dari keadaan p dengan input a (simbol terakhir dari
w)
Contoh
Desain suatu DFSA yang dapat menerima bahasa:
L = {w | w memiliki jumlah 0 ganjil dan jumlah 1 ganjil}
Bahasa dari DFSA
Bahasa dari DFSA A = (Q, , , q0, F), dinotasikan
dengan L(A), didefinisikan sebagai
L(A) = {w | 𝛿(q0,w) berakhir di F}
Bahasa dari A merupakan himpunan semua string
w yang memiliki keadaan awal q0 dan berakhir di
keadaan final (yang diterima)
Jika L adalah L(A) dari suatu DFSA, maka L
adalah bahasa reguler
Nondeterministik Finite State Automata
(NFSA)
• Suatu NFSA memiliki kelebihan yakni berada di
beberapa keadaan pada saat yang sama.
• Kelebihan ini sering diekspresikan sebagai
kemampuan untuk “menebak” sesuatu mengenai
inputnya.
• Tiap NFSA menerima suatu bahasa yang juga
dapat diterima oleh suatu DFSA.
• NFSA lebih sederhana daripada DFSA.
NFSA (lanj.)
• NFSA dapat selalu diubah ke DFSA, namun
menghasilkan jumlah keadaan baru yang
jumlahnya eksponensial (kasus yang jarang
terjadi)
• Perbedaan antara DFSA dan NFSA adalah jenis
fungsi transisinya ()
• Pada NFSA,  merupakan fungsi yang memuat satu
keadaan, dan simbol input (seperti fungsi transisi
DFSA), namun menghasilkan himpunan nol atau lebih
dari satu keadaan (daripada menghasilkan tepat satu
keadaan, seperti yang harus dilakukan DFSA)
Contoh: NFSA yang dapat menerima semua
string berakhiran 01
q0 q1
0,1
q2
0 1
Definisi Formal NFSA
5-tuple NFSA dituliskan sebagai
A = (Q, , , q0, F)
• Q adalah himpunan terbatas atas keadaan
•  adalah himpunan terbatas atas simbol input
• q0  Q adalah keadaan awal
• F (F  Q) adalah himpunan keadaan final (yang
diterima)
•  (fungsi transisi) adalah fungsi yang mengandung
satu keadaan dari Q dan simbol input dalam  untuk
menuju ke beberapa keadaan dalam Q.
Definisi Formal NFSA (lanj.)
Satu-satunya perbedaan antara NFSA dan DFSA
adalah banyaknya hasil yang diperoleh dari 
Contoh: NFSA yang dapat menerima semua
string berakhiran 01
A = ({q0, q1, q2}, {0,1}, , q0, {q2})
Dengan fungsi transisi () diberikan dalam bentuk
tabel:
0 1
 q0 {q0,, q1} {q0}
q1  {q2}
* q2  
q0 q1
0,1
q2
0 1
Lebih dari 1 State
Tidak ada state
tujuan
Fungsi Transisi Diperluas
Basis: 𝜹(q,) = {q}
Tanpa mendapat simbol input, kita tetap berada di keadaan semula.
Induksi:
• Misalkan w adalah string dalam bentuk xa; dengan a merupakan
symbol terakhir dari w dan x suatu string yang ada dalam w selain
symbol terakhir.
• Misalkan 𝛿(q,x) = {p1, p2, …, pk}
• Bila
𝒊=𝟏
𝒌
𝜹 𝒑𝒊, 𝒂 = {𝒓 𝟏, 𝒓 𝟐, … , 𝒓𝒎}
• Maka: 𝛿(q,w) = {r1, r2, …, rm}
• Kita kerjakan 𝛿 (q,w) dengan mengerjakan 𝛿 (q,x) kemudian ikut
itransisi dari keadaan yang dihasilkan ke keadaan yang berlabel a.
Contoh: NFSA yang dapat menerima semua
string berakhiran 01
Untuk w = 00101
1. 𝛿(q0,) = {q0}
2. 𝛿(q0,0) = {q0,0} = {q0, q1}
3. 𝛿(q0,00) = {q0,0}  {q1,0} = {q0, q1}   = {q0, q1}
4. 𝛿(q0,001) = {q0,1}  {q1,1} = {q0}  {q2} = {q0, q2}
5. 𝛿(q0,0010) = {q0,0}  {q2,0} = {q0, q1}   = {q0, q1}
6. 𝛿(q0,00101) = {q0,1}  {q1,1} = {q0}  {q2} = {q0, q2}
q0 q1
0,1
q2
0 1
Bahasa NFSA
Bahasa suatu NFSA A = (Q, , , q0, F) dinotasikan
dengan L(A) yang didefinisikan sebagai
L(A) = {w | 𝜹(q0,w)  F   }
Bahasa dari A merupakan himpunan string w *
sehingga 𝛿(q0,w) mengandung setidaknya satu
keadaan yang diterima.
Meskipun w dapat menuju suatu keadaan yang tidak
diterima atau tidak menuju kesuatu keadaan
manapun, tidak menghalangi w untuk diterima oleh
NFSA.
Ekivalensi DFSA dan NFSA
• Setiap bahasa yang dapat dideskripsikan oleh
NFSA, dapat dideskripsikan pula oleh suatu
DFSA.
• Pada prakteknya, DFSA memiliki jumlah keadaan
yang sama dengan NFSA, meskipun transisinya
lebih banyak.
• Pada kasus tertentu, DFSA dapat memiliki 2n
keadaan (untuk NFSA dengan n keadaan)
Bukti: DFSA dapat melakukan semua
yang dilakukan NFSA
Pembuktian melibatkan konstruksi yang disebut
konstruksi himpunan bagian karena melibatkan
pembuatan semua himpunan bagian dari
himpunan dari keadaan–keadaan NFSA.
Dari NFSA ke DFSA
• dimiliki NFSA N = (QN, , N, q0, FN)
• Tujuannya untuk membuat DFSA D = (QD, , D,
{q0}, FD) sehingga L(D) = L(N)
Konstruksi Himpunan Bagian
• Input alfabetnya sama
• Himpunan keadaan awal di D merupakan himpunan yang
memuat keadaan awal dari N.
• QD merupakan himpunan dari himpunan bagian dari QN, yakni
QD merupakan himpunan pangkat dari QN. Jika QN memiliki n
keadaan, QD memiliki 2n keadaan. Tidak semua keadaan dapat
diakses dari keadaan awal.
• Fd merupakan himpunan dari himpunan bagian S dari QN
sehingga S  FN  . Sehingga FD merupakan semua
himpunan dari keadaan N yang memuat setidaknya satu
keadaan yang diterima dari keadaan N.
• Untuk tiap himpunan S  QN dan untuk tiap simbol input a 
D(S,a) = 𝑝∈𝑆 𝛿 𝑁(𝑝, 𝑎)
• Untuk menghitung D(S,a), dilihat semua keadaan p dalam S,
perhatikan perubahan keadaan N dari p ketika diberikan input
a, dan ambil gabungan dari keseluruhan keadaan tersebut.
Contoh
QN = {q0, q1, q2}, maka QD = {, {q0}, {q1}, {q2}, {q0,
q1}, {q0,q2}, {q1,q2},{q0,q1,q2}} sehingga QD memiliki
8 keadaan (tiap keadaan berkaitan dengan
himpunan bagian dari QN)
q0 q1
0,1
q2
0 1
Contoh (lanj.)
0 1
  
 {q0} {q0, q1} {q0}
{q1}  {q2}
* {q2}  
{q0, q1} {q0, q1} {q0, q2}
* {q0, q2} {q0, q1} {q0}
* {q1, q2}  {q2}
* {q0,q1,q2} {q0, q1} {q0, q2}
q0 q1
0,1
q2
0 1
Contoh: dengan nama baru
• Catatan: keadaan D berkaitan dengan himpunan
bagian dari keadaan N, namun kita dapat
notasikan keadaan D menggunakan A – F.
0 1
A A A
 B E B
C A D
* D A A
E E F
* F E B
* G A D
* H E F
0 1
  
 {q0} {q0, q1} {q0}
{q1}  {q2}
* {q2}  
{q0, q1} {q0, q1} {q0, q2}
* {q0, q2} {q0, q1} {q0}
* {q1, q2}  {q2}
* {q0,q1,q2} {q0, q1} {q0, q2}
Transformasikan
NFSA berikut
menjadi DFSA.
Langkah ke–1
Membuat state DFSA
Himpunan state yang
baru :
Q’ = {, {1}, {2}, {3},
{1,2}, {1,3}, {2,3},
{1,2,3}}
Tadinya Himpunan
State yg lama : {1,2,3}
Langkah ke–2
Membuat Initial State DFSA
Initial state yang baru
untuk start :
q0’= {1,3}
Langkah ke – 3.
Membuat Final State DFSA
Final state yang baru :
F’= {{1}, {1,2}, {1,3},
{1,2,3}}
Semua yg dimulai
dari 1.
Langkah ke–4
Membuat Diagram Transisi DFSA
 = a b
  
1  2
2 2,3 2,3
3 1 
1,2 2,3 2,3
1,3 1 2
2,3 1,2,3 2,3
1,2,3 1,2,3 2,3
2
1
3

ab
a, b
a, b
a b
  
1  2
2 2,3 2,3
3 1,3 
1,2 2,3 2,3
1,3 1,3 2
2,3 1,2,3 2,3
1,2,3 1,2,3 2,3
Langkah ke–5
Penghapusan State tak-perlu
Langkah ke–5
Penghapusan state tak-perlu
Hapus state yg tidak bisa dicapai dari state awal (1,3)
Langkah ke–5
Penghapusan state tak-perlu
Langkah ke–5
Penghapusan state tak-perlu
Hasil akhir lintasan
a

More Related Content

What's hot

Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanSherly Uda
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linierIzhan Nassuha
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapCheria Asyifa
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuanahmad haidaroh
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanCliquerz Javaneze
 
Pengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLABPengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLABSimesterious TheMaster
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan PembuktianFahrul Usman
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskritsaid zulhelmi
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianFahrul Usman
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaBuhori Muslim
 
Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )Kelinci Coklat
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksimuhamadaulia3
 

What's hot (20)

Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)Slide minggu 6 (citra digital)
Slide minggu 6 (citra digital)
 
2. galat
2. galat2. galat
2. galat
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
 
Pengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLABPengolahan Citra Digital Dengan Menggunakan MATLAB
Pengolahan Citra Digital Dengan Menggunakan MATLAB
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan Pembuktian
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
 
Pohon(tree) matematika diskrit
Pohon(tree) matematika diskritPohon(tree) matematika diskrit
Pohon(tree) matematika diskrit
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )Ruang Vektor ( Aljabar Linear Elementer )
Ruang Vektor ( Aljabar Linear Elementer )
 
Bilangan kompleks
Bilangan kompleksBilangan kompleks
Bilangan kompleks
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
 

Similar to Materi 3 Finite State Automata

REGULAR LANGUAGES
REGULAR LANGUAGESREGULAR LANGUAGES
REGULAR LANGUAGESDhan junkie
 
Teori bahasa dan automata2
Teori bahasa dan automata2Teori bahasa dan automata2
Teori bahasa dan automata2Nurdin Al-Azies
 
Ekivalensi NFA - DFA(4).ppt
Ekivalensi NFA - DFA(4).pptEkivalensi NFA - DFA(4).ppt
Ekivalensi NFA - DFA(4).pptssuser4ee77f
 
Teori bahasa otomata pertemuan 5
Teori bahasa otomata pertemuan 5Teori bahasa otomata pertemuan 5
Teori bahasa otomata pertemuan 5nhiyabelle
 
#6 NFA ke DFA dan NFA e-move kls B1.pdf
#6 NFA ke DFA dan NFA e-move kls B1.pdf#6 NFA ke DFA dan NFA e-move kls B1.pdf
#6 NFA ke DFA dan NFA e-move kls B1.pdfAdelBn1
 
Push Down Automata (PDA)
Push Down Automata (PDA)Push Down Automata (PDA)
Push Down Automata (PDA)dhea zafarina
 
Teori bahasa otomata pertemuan 4
Teori bahasa otomata pertemuan 4Teori bahasa otomata pertemuan 4
Teori bahasa otomata pertemuan 4nhiyabelle
 
Teori bahas automata
Teori bahas automataTeori bahas automata
Teori bahas automataRenol Doang
 
Teori bahas automata
Teori bahas automataTeori bahas automata
Teori bahas automataRenol Doang
 

Similar to Materi 3 Finite State Automata (15)

Finite state automata
Finite state automataFinite state automata
Finite state automata
 
REGULAR LANGUAGES
REGULAR LANGUAGESREGULAR LANGUAGES
REGULAR LANGUAGES
 
Teori bahasa dan automata2
Teori bahasa dan automata2Teori bahasa dan automata2
Teori bahasa dan automata2
 
SLIDE KE-4 DFA
SLIDE KE-4 DFASLIDE KE-4 DFA
SLIDE KE-4 DFA
 
Ekivalensi NFA - DFA(4).ppt
Ekivalensi NFA - DFA(4).pptEkivalensi NFA - DFA(4).ppt
Ekivalensi NFA - DFA(4).ppt
 
Teori bahasa otomata pertemuan 5
Teori bahasa otomata pertemuan 5Teori bahasa otomata pertemuan 5
Teori bahasa otomata pertemuan 5
 
Modul tba
Modul tbaModul tba
Modul tba
 
Tbo.ppt
Tbo.pptTbo.ppt
Tbo.ppt
 
#6 NFA ke DFA dan NFA e-move kls B1.pdf
#6 NFA ke DFA dan NFA e-move kls B1.pdf#6 NFA ke DFA dan NFA e-move kls B1.pdf
#6 NFA ke DFA dan NFA e-move kls B1.pdf
 
TBO02-FSA.ppt
TBO02-FSA.pptTBO02-FSA.ppt
TBO02-FSA.ppt
 
Push Down Automata (PDA)
Push Down Automata (PDA)Push Down Automata (PDA)
Push Down Automata (PDA)
 
Teori bahasa otomata pertemuan 4
Teori bahasa otomata pertemuan 4Teori bahasa otomata pertemuan 4
Teori bahasa otomata pertemuan 4
 
Teori bahas automata
Teori bahas automataTeori bahas automata
Teori bahas automata
 
Teori bahas automata
Teori bahas automataTeori bahas automata
Teori bahas automata
 
chapter-6.pdf
chapter-6.pdfchapter-6.pdf
chapter-6.pdf
 

More from ahmad haidaroh

Materi 7 Context Free Grammar
Materi 7   Context Free Grammar Materi 7   Context Free Grammar
Materi 7 Context Free Grammar ahmad haidaroh
 
Materi 4 Regular Expression
Materi 4   Regular ExpressionMateri 4   Regular Expression
Materi 4 Regular Expressionahmad haidaroh
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Pertemuan 4 Aljabar Boole
Pertemuan 4   Aljabar Boole Pertemuan 4   Aljabar Boole
Pertemuan 4 Aljabar Boole ahmad haidaroh
 
Pertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan EncyptionPertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan Encyptionahmad haidaroh
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7ahmad haidaroh
 
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a   Rangkaian Aritmatik-Half n Full AdderPertemuan 3a   Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adderahmad haidaroh
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Mapahmad haidaroh
 
Pertemuan 5a gerbang kombinasi-maxtem-minterm
Pertemuan 5a   gerbang kombinasi-maxtem-mintermPertemuan 5a   gerbang kombinasi-maxtem-minterm
Pertemuan 5a gerbang kombinasi-maxtem-mintermahmad haidaroh
 
Pertemuan 5 gerbang logika dasar n bentukan
Pertemuan 5   gerbang logika dasar n bentukanPertemuan 5   gerbang logika dasar n bentukan
Pertemuan 5 gerbang logika dasar n bentukanahmad haidaroh
 
Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3ahmad haidaroh
 
Pertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem BilanganPertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem Bilanganahmad haidaroh
 

More from ahmad haidaroh (20)

Materi 7 Context Free Grammar
Materi 7   Context Free Grammar Materi 7   Context Free Grammar
Materi 7 Context Free Grammar
 
8 Rekursif
8 Rekursif8 Rekursif
8 Rekursif
 
6 ANTRIAN - QUEUE
6 ANTRIAN - QUEUE6 ANTRIAN - QUEUE
6 ANTRIAN - QUEUE
 
5 STACK
5 STACK5 STACK
5 STACK
 
4 Adt
4 Adt4 Adt
4 Adt
 
3 Linked List
3   Linked List3   Linked List
3 Linked List
 
2 Array
2 Array2 Array
2 Array
 
Materi 4 Regular Expression
Materi 4   Regular ExpressionMateri 4   Regular Expression
Materi 4 Regular Expression
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Presentasi OSPEK 2018
Presentasi OSPEK 2018Presentasi OSPEK 2018
Presentasi OSPEK 2018
 
Pertemuan 4 Dioda1
Pertemuan 4   Dioda1Pertemuan 4   Dioda1
Pertemuan 4 Dioda1
 
Pertemuan 4 Aljabar Boole
Pertemuan 4   Aljabar Boole Pertemuan 4   Aljabar Boole
Pertemuan 4 Aljabar Boole
 
Pertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan EncyptionPertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan Encyption
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7
 
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a   Rangkaian Aritmatik-Half n Full AdderPertemuan 3a   Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
 
Pertemuan 5a gerbang kombinasi-maxtem-minterm
Pertemuan 5a   gerbang kombinasi-maxtem-mintermPertemuan 5a   gerbang kombinasi-maxtem-minterm
Pertemuan 5a gerbang kombinasi-maxtem-minterm
 
Pertemuan 5 gerbang logika dasar n bentukan
Pertemuan 5   gerbang logika dasar n bentukanPertemuan 5   gerbang logika dasar n bentukan
Pertemuan 5 gerbang logika dasar n bentukan
 
Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3
 
Pertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem BilanganPertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem Bilangan
 

Recently uploaded

PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxHeruFebrianto3
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxrofikpriyanto2
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...Kanaidi ken
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasHardaminOde2
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfmaulanayazid
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
Pembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasPembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasAZakariaAmien1
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau tripletMelianaJayasaputra
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASreskosatrio1
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 

Recently uploaded (20)

PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
Pembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasPembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnas
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 

Materi 3 Finite State Automata

  • 2. Definisi • Mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata.
  • 3. Jenis FSA • Deterministik (DFSA/DFA) pada setiap input, hanya ada satu keadaan (state) tujuan dari keadaan saat ini. • Nondeterministik (NFSA/NFA) pada setiap input terdapat lebih dari satu keadaan tujuan dari keadaan saat ini.
  • 4. D-FSA/DFA 1. Himpunan keadaan (Q). 2. Himpunan simbol input () 3. Fungsi transisi (), memuat satu keadaan asal dan satu simbol input dan satu keadaan tujuan. 4. Keadaan awal (q0)merupakan salah satu dari Q. 5. Himpunan keadaan final atau yang diterima, dinotasikan dengan F (FQ)
  • 5. 5-TUPLE D-FSA DFSA A, terdiri atas 5 tuple, yaitu: A = (Q, , , q0, F) 1. Himpunan keadaan (Q). 2. Himpunan simbol input () 3. Fungsi transisi (), memuat satu keadaan asal dan satu simbol input dan satu keadaan tujuan. 4. Keadaan awal (q0)merupakan salah satu dari Q. 5. Himpunan keadaan final atau yang diterima, dinotasikan dengan F (FQ)
  • 6. Notasi Lain DFSA 1. Diagram Transisi / State Diagram • Tiap keadaan merupakan simpul • Tiap keadaan q  Q dan tiap simbol a  , dituliskan sebagai (q,a) = p. Artinya, diagram transisi memiliki panah dari q ke p, yang berlabel a. • Keadaan awal (q0) ditandai dengan adanya panah tanpa sumber. • Simpul yang menjadi keadaan final ditandai dengan lingkaran bergaris tepi ganda
  • 7. Notasi Lain DFSA 2. Tabel Transisi • Representasi daftar dari suatu fungsi • Baris menunjukkan keadaan dan kolom menunjukkan input. • Isi dari baris menunjukkan keadaan q dan isi dari kolom input a menunjukkan keadaan (q,a)
  • 8. Contoh: DFSA yang dapat menerima string berakhiran 01 A = ({q0, q1, q2}, {0,1}, , q0, {q2}) dengan fungsi transisi  diberikan dalam bentuk tabel:  0 1  q0 q1 q0 q1 q1 q2 * q2 q2 q1 q0 q1 1 q2 0 0 1 0 0 1 State Diagram A = (Q, , , q0, F)
  • 9. Contoh DFSA : M = (Q, , , s, F), dimana : Q = {q0, q1},  = {a,b}, S = q0, F = {q0} Tabel Transisi q  (q, ) q0 a q0 q0 b q1 q1 a q1 q1 b q0 Tabel Transisi  a b q0 q0 q1 q1 q1 q0 atau q0 q1 a b a b Diagram State Jika M diberi input aabba, dengan state awal (q0, aabba), maka : (q0,aabba) ├M (q0,abba) ├M (q0,bba) ├M (q1,ba) ├M (q0,a) ├M (q0,e) Karena (q0,aabba) ├*M (q0,e), jadi aabba diterima oleh M
  • 10. Contoh: DFSA yang dapat menerima semua string berakhiran 01 q0 q1 0,1 q2 0 1 Contoh : diberikan input pada mesin DFSA 010111, lakukan tracer : (q0,010111) ├M (q0,10111) ├M (q0,0111) ├M (q0,111) ├M (q0,11) ├M (q0,1) ├M (q0,e) Karena berhenti bukan di q2, maka 010111 tidak diterima oleh mesin DFSA Contoh : diberikan input pada mesin DFSA 11101, lakukan tracer : (q0,11101) ├M (q0,1101) ├M (q0,101) ├M (q0,01) ├M (q1,1) ├M (q2,e) Karena berhenti di q2, maka 11101 diterima oleh mesin DFSA
  • 11. Tabel Transisi  0 1 q0 q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 DFA nya Q = {q0 , q1 , q2 , q3 }  = {0,1} S = q0 F = { q0} Contoh : diberikan string 011 dan 1010, buktikan bahwa string tersebut diterima atau ditolak ! (q0,011) = (q2,11) = (q3,1) = q2 Ditolak (q0,1010) = (q1,010) = (q3,10) =(q2,0) = (q0,e) DiterimaState Diagram
  • 12. Perluasan Fungsi Transisi untuk String • DFSA mendefinisikan bahasa sebagai himpunan semua string yang hasilnya dalam bentuk urutan transisi keadaan dari keadaan awal sampai keadaan final (yang diterima)
  • 13. Perluasan Fungsi Transisi untuk String (lanj.) • Fungsi Transisi Diperluas • Mendeskripsikan yang terjadi ketika suatu keadaan dimulai dan sembarang urutan input diikuti. • Jika  adalah fungsi transisi, maka fungsi transisi diperluas dinotasikan dengan 𝛿 • Fungsi transisi diperluas merupakan fungsi saat keadaan q untuk masukan berupa string w, dan menghasilkan keadaan p (keadaan yang dicapai otomaton ketika memulai di keadaan q dan memproses urutan input w)
  • 14. Definisi Formal dari Fungsi Transisi Diperluas •
  • 15. Definisi Formal dari Fungsi Transisi Diperluas Induksi: Misal w adalah string yang berbentuk xa; yakni a merupakan simbol terakhir dari w, dan x merupakan string selain simbol terakhir. Maka: 𝛿(q,w) = ( 𝛿(q,x), a) • Untuk memproses 𝛿(q,w), pertama proses dahulu 𝛿(q,x), hasilnya adalah keadaan yang otomaton tempati setelah memproses semua simbol selain simbol terakhir dari w. • Misal, keadaan ini adalah p, yakni 𝛿(q,x) = p • Maka 𝛿(q,w) adalah yang kita peroleh dengan melakukan transisi dari keadaan p dengan input a (simbol terakhir dari w)
  • 16. Contoh Desain suatu DFSA yang dapat menerima bahasa: L = {w | w memiliki jumlah 0 ganjil dan jumlah 1 ganjil}
  • 17. Bahasa dari DFSA Bahasa dari DFSA A = (Q, , , q0, F), dinotasikan dengan L(A), didefinisikan sebagai L(A) = {w | 𝛿(q0,w) berakhir di F} Bahasa dari A merupakan himpunan semua string w yang memiliki keadaan awal q0 dan berakhir di keadaan final (yang diterima) Jika L adalah L(A) dari suatu DFSA, maka L adalah bahasa reguler
  • 18. Nondeterministik Finite State Automata (NFSA) • Suatu NFSA memiliki kelebihan yakni berada di beberapa keadaan pada saat yang sama. • Kelebihan ini sering diekspresikan sebagai kemampuan untuk “menebak” sesuatu mengenai inputnya. • Tiap NFSA menerima suatu bahasa yang juga dapat diterima oleh suatu DFSA. • NFSA lebih sederhana daripada DFSA.
  • 19. NFSA (lanj.) • NFSA dapat selalu diubah ke DFSA, namun menghasilkan jumlah keadaan baru yang jumlahnya eksponensial (kasus yang jarang terjadi) • Perbedaan antara DFSA dan NFSA adalah jenis fungsi transisinya () • Pada NFSA,  merupakan fungsi yang memuat satu keadaan, dan simbol input (seperti fungsi transisi DFSA), namun menghasilkan himpunan nol atau lebih dari satu keadaan (daripada menghasilkan tepat satu keadaan, seperti yang harus dilakukan DFSA)
  • 20. Contoh: NFSA yang dapat menerima semua string berakhiran 01 q0 q1 0,1 q2 0 1
  • 21. Definisi Formal NFSA 5-tuple NFSA dituliskan sebagai A = (Q, , , q0, F) • Q adalah himpunan terbatas atas keadaan •  adalah himpunan terbatas atas simbol input • q0  Q adalah keadaan awal • F (F  Q) adalah himpunan keadaan final (yang diterima) •  (fungsi transisi) adalah fungsi yang mengandung satu keadaan dari Q dan simbol input dalam  untuk menuju ke beberapa keadaan dalam Q.
  • 22. Definisi Formal NFSA (lanj.) Satu-satunya perbedaan antara NFSA dan DFSA adalah banyaknya hasil yang diperoleh dari 
  • 23. Contoh: NFSA yang dapat menerima semua string berakhiran 01 A = ({q0, q1, q2}, {0,1}, , q0, {q2}) Dengan fungsi transisi () diberikan dalam bentuk tabel: 0 1  q0 {q0,, q1} {q0} q1  {q2} * q2   q0 q1 0,1 q2 0 1 Lebih dari 1 State Tidak ada state tujuan
  • 24. Fungsi Transisi Diperluas Basis: 𝜹(q,) = {q} Tanpa mendapat simbol input, kita tetap berada di keadaan semula. Induksi: • Misalkan w adalah string dalam bentuk xa; dengan a merupakan symbol terakhir dari w dan x suatu string yang ada dalam w selain symbol terakhir. • Misalkan 𝛿(q,x) = {p1, p2, …, pk} • Bila 𝒊=𝟏 𝒌 𝜹 𝒑𝒊, 𝒂 = {𝒓 𝟏, 𝒓 𝟐, … , 𝒓𝒎} • Maka: 𝛿(q,w) = {r1, r2, …, rm} • Kita kerjakan 𝛿 (q,w) dengan mengerjakan 𝛿 (q,x) kemudian ikut itransisi dari keadaan yang dihasilkan ke keadaan yang berlabel a.
  • 25. Contoh: NFSA yang dapat menerima semua string berakhiran 01 Untuk w = 00101 1. 𝛿(q0,) = {q0} 2. 𝛿(q0,0) = {q0,0} = {q0, q1} 3. 𝛿(q0,00) = {q0,0}  {q1,0} = {q0, q1}   = {q0, q1} 4. 𝛿(q0,001) = {q0,1}  {q1,1} = {q0}  {q2} = {q0, q2} 5. 𝛿(q0,0010) = {q0,0}  {q2,0} = {q0, q1}   = {q0, q1} 6. 𝛿(q0,00101) = {q0,1}  {q1,1} = {q0}  {q2} = {q0, q2} q0 q1 0,1 q2 0 1
  • 26. Bahasa NFSA Bahasa suatu NFSA A = (Q, , , q0, F) dinotasikan dengan L(A) yang didefinisikan sebagai L(A) = {w | 𝜹(q0,w)  F   } Bahasa dari A merupakan himpunan string w * sehingga 𝛿(q0,w) mengandung setidaknya satu keadaan yang diterima. Meskipun w dapat menuju suatu keadaan yang tidak diterima atau tidak menuju kesuatu keadaan manapun, tidak menghalangi w untuk diterima oleh NFSA.
  • 27. Ekivalensi DFSA dan NFSA • Setiap bahasa yang dapat dideskripsikan oleh NFSA, dapat dideskripsikan pula oleh suatu DFSA. • Pada prakteknya, DFSA memiliki jumlah keadaan yang sama dengan NFSA, meskipun transisinya lebih banyak. • Pada kasus tertentu, DFSA dapat memiliki 2n keadaan (untuk NFSA dengan n keadaan)
  • 28. Bukti: DFSA dapat melakukan semua yang dilakukan NFSA Pembuktian melibatkan konstruksi yang disebut konstruksi himpunan bagian karena melibatkan pembuatan semua himpunan bagian dari himpunan dari keadaan–keadaan NFSA. Dari NFSA ke DFSA • dimiliki NFSA N = (QN, , N, q0, FN) • Tujuannya untuk membuat DFSA D = (QD, , D, {q0}, FD) sehingga L(D) = L(N)
  • 29. Konstruksi Himpunan Bagian • Input alfabetnya sama • Himpunan keadaan awal di D merupakan himpunan yang memuat keadaan awal dari N. • QD merupakan himpunan dari himpunan bagian dari QN, yakni QD merupakan himpunan pangkat dari QN. Jika QN memiliki n keadaan, QD memiliki 2n keadaan. Tidak semua keadaan dapat diakses dari keadaan awal. • Fd merupakan himpunan dari himpunan bagian S dari QN sehingga S  FN  . Sehingga FD merupakan semua himpunan dari keadaan N yang memuat setidaknya satu keadaan yang diterima dari keadaan N. • Untuk tiap himpunan S  QN dan untuk tiap simbol input a  D(S,a) = 𝑝∈𝑆 𝛿 𝑁(𝑝, 𝑎) • Untuk menghitung D(S,a), dilihat semua keadaan p dalam S, perhatikan perubahan keadaan N dari p ketika diberikan input a, dan ambil gabungan dari keseluruhan keadaan tersebut.
  • 30. Contoh QN = {q0, q1, q2}, maka QD = {, {q0}, {q1}, {q2}, {q0, q1}, {q0,q2}, {q1,q2},{q0,q1,q2}} sehingga QD memiliki 8 keadaan (tiap keadaan berkaitan dengan himpunan bagian dari QN) q0 q1 0,1 q2 0 1
  • 31. Contoh (lanj.) 0 1     {q0} {q0, q1} {q0} {q1}  {q2} * {q2}   {q0, q1} {q0, q1} {q0, q2} * {q0, q2} {q0, q1} {q0} * {q1, q2}  {q2} * {q0,q1,q2} {q0, q1} {q0, q2} q0 q1 0,1 q2 0 1
  • 32. Contoh: dengan nama baru • Catatan: keadaan D berkaitan dengan himpunan bagian dari keadaan N, namun kita dapat notasikan keadaan D menggunakan A – F. 0 1 A A A  B E B C A D * D A A E E F * F E B * G A D * H E F 0 1     {q0} {q0, q1} {q0} {q1}  {q2} * {q2}   {q0, q1} {q0, q1} {q0, q2} * {q0, q2} {q0, q1} {q0} * {q1, q2}  {q2} * {q0,q1,q2} {q0, q1} {q0, q2}
  • 34. Langkah ke–1 Membuat state DFSA Himpunan state yang baru : Q’ = {, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}} Tadinya Himpunan State yg lama : {1,2,3}
  • 35. Langkah ke–2 Membuat Initial State DFSA Initial state yang baru untuk start : q0’= {1,3}
  • 36. Langkah ke – 3. Membuat Final State DFSA Final state yang baru : F’= {{1}, {1,2}, {1,3}, {1,2,3}} Semua yg dimulai dari 1.
  • 37. Langkah ke–4 Membuat Diagram Transisi DFSA  = a b    1  2 2 2,3 2,3 3 1  1,2 2,3 2,3 1,3 1 2 2,3 1,2,3 2,3 1,2,3 1,2,3 2,3 2 1 3  ab a, b a, b
  • 38. a b    1  2 2 2,3 2,3 3 1,3  1,2 2,3 2,3 1,3 1,3 2 2,3 1,2,3 2,3 1,2,3 1,2,3 2,3 Langkah ke–5 Penghapusan State tak-perlu
  • 39. Langkah ke–5 Penghapusan state tak-perlu Hapus state yg tidak bisa dicapai dari state awal (1,3)
  • 41. Langkah ke–5 Penghapusan state tak-perlu Hasil akhir lintasan a