Lompat ke isi

Teori otomata: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
RPras (bicara | kontrib)
 
(31 revisi perantara oleh 21 pengguna tidak ditampilkan)
Baris 1: Baris 1:
{{rapikan|topik=teknologi informasi}}
{{kembangkan|25 Mei 2007}}
''Teori Otomata'' adalah teori mengenai mesin-mesin abstrak, dan berkaitan erat dengan teori [[bahasa formal]].
'''Teori Otomata''' adalah teori mengenai mesin-mesin abstrak, dan berkaitan erat dengan teori [[bahasa formal]].
ada beberapa hal yang berkaitan dengan Otomata, yaitu Grammar.
Grammar adalah bentuk abstrak yang dapat diterima (accept) untuk membangkitkan suatu kalimat otomata berdasarkan suatu aturan tertentu.


== Konsep Dasar ==
==Otomata Berhingga==


• Anggota alfabet dinamakan simbol terminal.
==Definisi Matematis==

• Kalimat adalah deretan hingga simbol-simbol terminal.

• Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga kalimat.

• Simbol-simbol berikut adalah simbol terminal:

* huruf kecil, misalnya: a, b, c
* simbol operator, misalnya: +, , dan *
* simbol tanda baca, misalnya: (, ), dan ;
* simbol tanda baca, misalnya: (, ), dan ;<ref>double</ref>
* string yang tercetak tebal, misalnya: '''if''', '''then''', dan '''else'''.


• Simbol-simbol berikut adalah simbol non terminal /Variabel:
* huruf besar, misalnya: A, B, C
* huruf S sebagai simbol awal
* string yang tercetak miring, misalnya: ''expr''

• Huruf yunani melambangkan string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya, misalnya: α,β, dan ε

• Sebuah produksi dilambangkan sebagai α --> β, artinya: dalam sebuah derivasi dapat dilakukan penggantian simbol α dengan simbol β.

• Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Sebuah derivasi dilambangkan sebagai: α ==> β.

• Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya.

• Kalimat adalah string yang tersusun atas simbol-simbol terminal. Kalimat adalah merupakan sentensial, sebaliknya belum tentu..
Grammar:

Grammar G didefinisikan sebagai pasangan 4 tuple: V<sub>t</sub>, V<sub>n</sub>, S, dan P, dan dituliskan sebagai G(V<sub>t</sub>, V<sub>n</sub>, S, P), dimana:

V<sub>t</sub> : himpunan simbol-simbol terminal (alfabet) = kamus
V<sub>n</sub> : himpunan simbol-simbol non terminal
S <s>C</s> V : simbol awal (atau simbol start)
P : himpunan produksi

Contoh:

1. G1: VT = {I, want, need, You}, V = {S,A,B,C},
P = {S --> ABC, A--> I, B--> want | need, C--> You}

S --> ABC
--> IwantYou

L(G1)={IwantYou,IneedYou}

2. . G2: VT = {a}, V = {S}, P = {S  aS | a}

S --> aS
--> aaS
--> aaa L(G2) ={an --> n ≥ 1}

L(G2)={a, aa, aaa, aaaa,…}

== Definisi Formal ==
Otomata adalah sebuah 5-tupel <math>\langle Q, \Sigma, \delta, q_0, F\rangle</math>:
Otomata adalah sebuah 5-tupel <math>\langle Q, \Sigma, \delta, q_0, F\rangle</math>:
* <math>Q</math> adalah himpunan berhingga dari ''state'',
* <math>Q</math> adalah himpunan berhingga dari ''state'',
Baris 12: Baris 70:
* <math>F \subset Q</math> adalah ''state'' akhir
* <math>F \subset Q</math> adalah ''state'' akhir


==Jenis-jenis Otomata Berhingga==
== Jenis-jenis Otomata ==


=== Otomata Berhingga Deterministik ===
==Hubungan dengan Tata Bahasa==
Otomata berhingga deterministik ('''DFA''' - ''Deterministic Finite Automata'') adalah sebuah otomata yang fungsi transisinya adalah:
:<math>\delta: Q \times \Sigma \rightarrow Q</math>
:Contoh
:[[Berkas:DFA_Machine_Learn.jpg|jmpl|Mesin dfa]]Konfigurasi DFA disamping secara formal dinyatakan sebagai berikut Q = {q0, q1, q2, q3 } Σ = {0,1} S = q0 F = { q0} <br />Fungsi transisi, biasanya fungsi-fungsi transisi ini kita sajikan dalam sebuah tabel transisi. Tabel transisi tersebut menunjukkan state state berikutnya untuk kombinasi state state dan input. Tabel transisi dari fungsi transisi adalah


=== Otomata Berhingga Non-Deterministik ===
Otomata berhingga non-deterministik ('''NFA''' - ''Nondeterministic Finite Automata'') berbeda dengan DFA dalam hal fungsi transisinya:
:<math>\delta: Q \times \Sigma \rightarrow \mathcal{P}(Q)</math>
:

Fungsi transisi dalam NFA memetakan pasangan <math>Q</math> dan <math>\Sigma</math> kepada [[himpunan kuasa]] dari Q. Fungsi transisi yang didefinisikan seperti ini memungkinkan suatu simbol masukan untuk mengakibatkan transisi dari sebuah ''state'' ke beberapa kemungkinan ''state'' yang lain.

Contoh NFA:
[[Berkas:NFA.jpg|jmpl|string 01001]]

* String diterima NFA bila terdapat suatu urutan transisi berdasarkan input, dari state awal ke state akhir.
* harus mencoba semua kemungkinan.


=== Otomata Pushdown ===
'''Otomata Pushdown''' adalah salah satu varian otomata dengan 7-tupel <math>\langle Q, \Sigma, \Gamma, \delta, q_0, Z_0, F\rangle</math>, di mana:
* <math>Q</math> adalah himpunan berhingga dari ''state'',
* <math>\Sigma</math> adalah himpunan simbol-simbol,
* <math>q_0 \in Q</math> adalah simbol awal
* <math>F \subset Q</math> adalah ''state'' akhir
Ditambah dengan dua unsur, untuk menangani ''stack'':
* <math>\Gamma</math> adalah himpunan berhingga simbol-simbol ''stack'',
* <math>Z_0 \in \Gamma</math> adalah simbol awal ''stack'',
Dengan fungsi transisinya adalah
:<math>\delta: Q \times (\Sigma \cup \{\epsilon\}) \times \Gamma) \rightarrow Q \times \Gamma^*</math> adalah fungsi transisi

== Hubungan dengan tata bahasa ==
Setiap otomata berhingga dapat digunakan untuk mengenali bahasa tertentu.

== Referensi ==
{{reflist}}

== Pranala luar ==
* [https://web.archive.org/web/20090503173000/http://www.cs.usfca.edu/~jbovet/vas.html Visual Automata Simulator], a tool for simulating, visualizing and transforming finite-state automata and Turing Machines, by Jean Bovet
* [http://www.jflap.org JFLAP]
* [http://www.brics.dk/automaton dk.brics.automaton]
* [http://www.augeas.net/libfa/index.html libfa]

{{Authority control}}
{{matematika-stub}}
{{matematika-stub}}


[[Kategori:Komputasi]]
[[Kategori:Komputasi]]
[[Kategori:Matematika Diskrit]]
[[Kategori:Matematika diskrit]]

[[en:Automata Theory]]

Revisi terkini sejak 18 Januari 2022 08.02

Teori Otomata adalah teori mengenai mesin-mesin abstrak, dan berkaitan erat dengan teori bahasa formal. ada beberapa hal yang berkaitan dengan Otomata, yaitu Grammar. Grammar adalah bentuk abstrak yang dapat diterima (accept) untuk membangkitkan suatu kalimat otomata berdasarkan suatu aturan tertentu.

Konsep Dasar[sunting | sunting sumber]

• Anggota alfabet dinamakan simbol terminal.

• Kalimat adalah deretan hingga simbol-simbol terminal.

• Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga kalimat.

• Simbol-simbol berikut adalah simbol terminal:

  • huruf kecil, misalnya: a, b, c
  • simbol operator, misalnya: +, , dan *
  • simbol tanda baca, misalnya: (, ), dan ;
  • simbol tanda baca, misalnya: (, ), dan ;[1]
  • string yang tercetak tebal, misalnya: if, then, dan else.


• Simbol-simbol berikut adalah simbol non terminal /Variabel:

  • huruf besar, misalnya: A, B, C
  • huruf S sebagai simbol awal
  • string yang tercetak miring, misalnya: expr

• Huruf yunani melambangkan string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya, misalnya: α,β, dan ε

• Sebuah produksi dilambangkan sebagai α --> β, artinya: dalam sebuah derivasi dapat dilakukan penggantian simbol α dengan simbol β.

• Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Sebuah derivasi dilambangkan sebagai: α ==> β.

• Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya.

• Kalimat adalah string yang tersusun atas simbol-simbol terminal. Kalimat adalah merupakan sentensial, sebaliknya belum tentu.. Grammar:

Grammar G didefinisikan sebagai pasangan 4 tuple: Vt, Vn, S, dan P, dan dituliskan sebagai G(Vt, Vn, S, P), dimana:

Vt : himpunan simbol-simbol terminal (alfabet) = kamus Vn : himpunan simbol-simbol non terminal S C V : simbol awal (atau simbol start) P : himpunan produksi

Contoh:

1. G1: VT = {I, want, need, You}, V = {S,A,B,C}, P = {S --> ABC, A--> I, B--> want | need, C--> You}

S --> ABC

  --> IwantYou

L(G1)={IwantYou,IneedYou}

2. . G2: VT = {a}, V = {S}, P = {S  aS | a}

S --> aS

 --> aaS
 --> aaa                    L(G2) ={an --> n ≥ 1}
            L(G2)={a, aa, aaa, aaaa,…}

Definisi Formal[sunting | sunting sumber]

Otomata adalah sebuah 5-tupel :

  • adalah himpunan berhingga dari state,
  • adalah himpunan simbol-simbol,
  • adalah fungsi transisi
  • adalah simbol awal
  • adalah state akhir

Jenis-jenis Otomata[sunting | sunting sumber]

Otomata Berhingga Deterministik[sunting | sunting sumber]

Otomata berhingga deterministik (DFA - Deterministic Finite Automata) adalah sebuah otomata yang fungsi transisinya adalah:

Contoh
Mesin dfa
Konfigurasi DFA disamping secara formal dinyatakan sebagai berikut Q = {q0, q1, q2, q3 } Σ = {0,1} S = q0 F = { q0}
Fungsi transisi, biasanya fungsi-fungsi transisi ini kita sajikan dalam sebuah tabel transisi. Tabel transisi tersebut menunjukkan state state berikutnya untuk kombinasi state state dan input. Tabel transisi dari fungsi transisi adalah

Otomata Berhingga Non-Deterministik[sunting | sunting sumber]

Otomata berhingga non-deterministik (NFA - Nondeterministic Finite Automata) berbeda dengan DFA dalam hal fungsi transisinya:

Fungsi transisi dalam NFA memetakan pasangan dan kepada himpunan kuasa dari Q. Fungsi transisi yang didefinisikan seperti ini memungkinkan suatu simbol masukan untuk mengakibatkan transisi dari sebuah state ke beberapa kemungkinan state yang lain.

Contoh NFA:

string 01001
  • String diterima NFA bila terdapat suatu urutan transisi berdasarkan input, dari state awal ke state akhir.
  • harus mencoba semua kemungkinan.


Otomata Pushdown[sunting | sunting sumber]

Otomata Pushdown adalah salah satu varian otomata dengan 7-tupel , di mana:

  • adalah himpunan berhingga dari state,
  • adalah himpunan simbol-simbol,
  • adalah simbol awal
  • adalah state akhir

Ditambah dengan dua unsur, untuk menangani stack:

  • adalah himpunan berhingga simbol-simbol stack,
  • adalah simbol awal stack,

Dengan fungsi transisinya adalah

adalah fungsi transisi

Hubungan dengan tata bahasa[sunting | sunting sumber]

Setiap otomata berhingga dapat digunakan untuk mengenali bahasa tertentu.

Referensi[sunting | sunting sumber]

  1. ^ double

Pranala luar[sunting | sunting sumber]