SlideShare a Scribd company logo
1 of 41
Teknik Informatika
2014
Ir. Ahmad Haidaroh, M.Kom.
Definisi FSA
• 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
1. Deterministik (DFSA/DFA)
pada setiap input, hanya ada satu keadaan
(state) tujuan dari keadaan saat ini.
2. Nondeterministik (NFSA/NFA)
pada setiap input terdapat lebih dari satu
keadaan tujuan dari keadaan saat ini.
1. 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
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 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) Diterima
State 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
2. 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

a
b
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

Taller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapTaller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapWebsec México, S.C.
 
Rancangan 1 Gedung 1 lantai 8 Ruangan
Rancangan 1 Gedung 1 lantai 8 RuanganRancangan 1 Gedung 1 lantai 8 Ruangan
Rancangan 1 Gedung 1 lantai 8 RuanganFanny Oktaviarti
 
Finite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBOFinite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBOahmad haidaroh
 
Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone.
Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone. Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone.
Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone. Febry San
 
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockIhsan Nurhalim
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013
Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013
Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013Mas Judin
 
6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel Database6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel DatabaseSimon Patabang
 
Meeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handoutMeeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handoutSyaiful Ahdan
 
3 struktur-sistem-operasi-edit
3 struktur-sistem-operasi-edit3 struktur-sistem-operasi-edit
3 struktur-sistem-operasi-editTrabalistra Bagaz
 
DHCP server
DHCP serverDHCP server
DHCP serverMAFauzan
 
Kriptografi - Algoritma RSA
Kriptografi - Algoritma RSAKriptografi - Algoritma RSA
Kriptografi - Algoritma RSAKuliahKita
 
Algoritma dan Struktur Data - Array
Algoritma dan Struktur Data - ArrayAlgoritma dan Struktur Data - Array
Algoritma dan Struktur Data - ArrayKuliahKita
 

What's hot (20)

Taller: Exploración de redes con Nmap
Taller: Exploración de redes con NmapTaller: Exploración de redes con Nmap
Taller: Exploración de redes con Nmap
 
Rancangan 1 Gedung 1 lantai 8 Ruangan
Rancangan 1 Gedung 1 lantai 8 RuanganRancangan 1 Gedung 1 lantai 8 Ruangan
Rancangan 1 Gedung 1 lantai 8 Ruangan
 
Finite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBOFinite State Automata - Materi 3 - TBO
Finite State Automata - Materi 3 - TBO
 
Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone.
Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone. Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone.
Pengertian ICMP, ARP, DHCP, MPLS, OSPF, BGP, Backbone.
 
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code BlockLaporan Tugas Grafika Komputer bangun 2 dimensi Code Block
Laporan Tugas Grafika Komputer bangun 2 dimensi Code Block
 
DNS (Domain Name System)
DNS (Domain Name System)DNS (Domain Name System)
DNS (Domain Name System)
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Cours.langage c
Cours.langage cCours.langage c
Cours.langage c
 
9.kompresi teks
9.kompresi teks9.kompresi teks
9.kompresi teks
 
Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013
Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013
Presentasi Pengenalan Jurusan TKJ SMK Darut Taqwa pada MOS 2013
 
6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel Database6 Materi Kuliah Normalisasi Tabel Database
6 Materi Kuliah Normalisasi Tabel Database
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Meeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handoutMeeting 4 - operasi file dan struktur direktori-handout
Meeting 4 - operasi file dan struktur direktori-handout
 
3 struktur-sistem-operasi-edit
3 struktur-sistem-operasi-edit3 struktur-sistem-operasi-edit
3 struktur-sistem-operasi-edit
 
DHCP server
DHCP serverDHCP server
DHCP server
 
Ho automata
Ho automataHo automata
Ho automata
 
Kriptografi - Algoritma RSA
Kriptografi - Algoritma RSAKriptografi - Algoritma RSA
Kriptografi - Algoritma RSA
 
Algoritma dan Struktur Data - Array
Algoritma dan Struktur Data - ArrayAlgoritma dan Struktur Data - Array
Algoritma dan Struktur Data - Array
 
Bab 12-kode-huffman
Bab 12-kode-huffmanBab 12-kode-huffman
Bab 12-kode-huffman
 
Virtual Memory
Virtual MemoryVirtual Memory
Virtual Memory
 

Similar to Materi 3 Finite State Automata

FiniteAutomata (1).ppt
FiniteAutomata (1).pptFiniteAutomata (1).ppt
FiniteAutomata (1).pptssuser47f7f2
 
FiniteAutomata.ppt
FiniteAutomata.pptFiniteAutomata.ppt
FiniteAutomata.pptRohitPaul71
 
Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1Abhimanyu Mishra
 
0227 regularlanguages
 0227 regularlanguages 0227 regularlanguages
0227 regularlanguagesissbp
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsRushabh2428
 
Deterministic finite automata
Deterministic finite automata Deterministic finite automata
Deterministic finite automata Muhammad Love Kian
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Srimatre K
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examplesankitamakin
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examplesankitamakin
 
Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Akila Krishnamoorthy
 
Theory of automata
Theory of automataTheory of automata
Theory of automataArslan905905
 
Nondeterministic Finite Automata
Nondeterministic Finite Automata Nondeterministic Finite Automata
Nondeterministic Finite Automata parmeet834
 
Automata theory introduction
Automata theory introductionAutomata theory introduction
Automata theory introductionNAMRATA BORKAR
 
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxFiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxamara jyothi
 

Similar to Materi 3 Finite State Automata (20)

FiniteAutomata (1).ppt
FiniteAutomata (1).pptFiniteAutomata (1).ppt
FiniteAutomata (1).ppt
 
FiniteAutomata.ppt
FiniteAutomata.pptFiniteAutomata.ppt
FiniteAutomata.ppt
 
Dfa
DfaDfa
Dfa
 
Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1
 
Automata
AutomataAutomata
Automata
 
0227 regularlanguages
 0227 regularlanguages 0227 regularlanguages
0227 regularlanguages
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and Problems
 
Finite automata
Finite automataFinite automata
Finite automata
 
Pda
PdaPda
Pda
 
Deterministic finite automata
Deterministic finite automata Deterministic finite automata
Deterministic finite automata
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examples
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examples
 
Fsa
FsaFsa
Fsa
 
Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)
 
Theory of automata
Theory of automataTheory of automata
Theory of automata
 
PDA (1) (1).pptx
PDA (1) (1).pptxPDA (1) (1).pptx
PDA (1) (1).pptx
 
Nondeterministic Finite Automata
Nondeterministic Finite Automata Nondeterministic Finite Automata
Nondeterministic Finite Automata
 
Automata theory introduction
Automata theory introductionAutomata theory introduction
Automata theory introduction
 
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptxFiniteAutomata_anim.pptx
FiniteAutomata_anim.pptx
 

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
 
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
 
Pertemuan 2 - Sistem Bilangan - Ahmad
Pertemuan 2 - Sistem Bilangan - AhmadPertemuan 2 - Sistem Bilangan - Ahmad
Pertemuan 2 - Sistem Bilangan - Ahmadahmad 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
 
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
 
Pertemuan 2 - Sistem Bilangan - Ahmad
Pertemuan 2 - Sistem Bilangan - AhmadPertemuan 2 - Sistem Bilangan - Ahmad
Pertemuan 2 - Sistem Bilangan - Ahmad
 

Recently uploaded

History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

Materi 3 Finite State Automata

  • 2. Definisi FSA • 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 1. Deterministik (DFSA/DFA) pada setiap input, hanya ada satu keadaan (state) tujuan dari keadaan saat ini. 2. Nondeterministik (NFSA/NFA) pada setiap input terdapat lebih dari satu keadaan tujuan dari keadaan saat ini.
  • 4. 1. 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 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 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) Diterima State 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. 2. 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  a b 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