Anda di halaman 1dari 14

RESUME TEORI KOMPUTASI

SANGERENG DEWA RAJA


H13116302

PROGRAM STUDI ILMU KOMPUTER


JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS HASANUDDIN
MAKASSAR
2019
TEORI KOMPUTASI

A. PENGANTAR

Teori komputasi adalah cabang ilmu komputer teoritis. Teori koputasi berkaitan
dengan studi bagaimana persoalan (problem) dapat diselesaikan pada sebuah model
dengan menggunakan algoritma. Model tersebut dinamakan modul komputasi. Salah satu
bagian dari teori komputasi ialah teori otomata(automata theory). Teori otomata mengacu
pada defenisi dan sifat- sifat model komputasi.

Berikut ini adalah beberapa pengertian dasar istilah yang sering digunakan dalam
teori komputasi

 Simbol adalah sebuah entitas abstrak (seperti halnya pengertian titik dalam geometri).
Sebuah huruf atau sebuah angka adalah contoh simbol.
 String adalah deretan terbatas (finite) simbol-simbol. Sebagai contoh, jika a, b, dan c
adalah tiga buah simbol maka abcb adalah sebuah string yang dibangun dari ketiga
simbol tersebut.
 Jika u adalah sebuah string maka panjang string dinyatakan sebagai |u| dan
didefinisikan sebagai cacahan (banyaknya) simbol yang menyusun string tersebut.
Sebagai contoh, jika u = abcb maka |u|= 4.
 String hampa adalah sebuah string dengan nol buah simbol. String hampa dinyatakan
dengan simbol ε (atau ^) sehingga |ε|= 0. String hampa dapat dipandang sebagai
simbol hampa karena keduanya tersusun dari nol buah simbol.
 Alfabet adalah hinpunan hingga (finite set) simbol-simbol

B. SEJARAH OTOMATA
Seorang ilmuwan, David Hilbert dalam teori sistem logika matematika atau formal
telah mencoba menciptakan algoritma umum untuk pembuktian (seluruh) persoalan
matematika secara otomatis, yaitu mampu menentukan salah benarnya sembarang prosisi
matematika.. Tahun 1931, KurtGdel mempublikasikan teori ketidaklengkapan dimana
membuktikan prosedur/algoritma yang dikehendaki David Hilbert tersebut tidak akan
pernah ada. KurtGdel membangun rumus di kalkulus predikat yang diterapkan pada
bilangan bulat yang memiliki pernyataan-pernyataan definisi yang tidak dapat dibuktikan
maupun dibantah di dalam sistem logika yang mungkin dibangun manusia.
Sekitar tahun 1950-an, Noam Chomsky menciptakan model matematika sebagai
sarana untuk mendeskripsikan bahasa. Noam Chomsky mengemukakan perangkat format
disebut grammar untuk memodelkan properti-properti bahasa. Tata bahasa (grammer) bisa
didefinisikan secara, formal sebagai kumpulan dari himpunan-himpunan variabel, symbol-
simbol, terminal, simbol awal, yang dibatasi oleh aturan-aturan produksi

C. OTOMATA (AUTOMATA)
Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept) dan
membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. Otomata merupakan
mesin yang sekuensial (otomatis), yang menerima input dan mengeluarkan output,
keduanya dalam bentuk diskrit. Adapun sifat – sifat Otomata sebagai berikut :
1. Kelakuan mesin bergantung pada rangkaian masukan yang diterima mesin tersebut.
2. Setiap saat, mesin dapat berada pada satu status tertentu dan dapat berpindah ke status
baru karena adanya perubahan input.
3. Rangkaian input(diskrit) pada mesin otomata dapat dianggap sebagai bahasa yang harus
“dikenali” oleh sebuah otomata. Setelah pembacaan input selesai, mesin otomata
kemudian membuat “keputusan”.

Berikut ini adalah beberapa jenis – jenis otomata.

1. Finite State Automata(FSA)/ Finite State Machine(FSM)


FSM memiliki keadaan dan transisi yang terbatas. Transisi dari satu keadaan dapat
bersifat deterministic atau non-deterministik.
FSM merupakan varian otomata hingga yang memiliki output. FSM didefenisikan
sebagai pasangan 6 tupel 𝐹(𝐾, 𝑉𝑇 , 𝑆, 𝑍, 𝑓, 𝑔) dimana :
𝐾 ∶ 𝐻𝑖𝑚𝑝𝑢𝑛𝑎𝑛 ℎ𝑖𝑛𝑔𝑔𝑎 𝑠𝑡𝑎𝑡𝑎
𝑉𝑇 ∶ 𝐻𝑖𝑚𝑝𝑢𝑛𝑎𝑛 ℎ𝑖𝑛𝑔𝑔𝑎 𝑠𝑖𝑚𝑏𝑜𝑙 / 𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑙 𝑖𝑛𝑝𝑢𝑡
𝑆 ∈ 𝐾 ∶ 𝑆𝑡𝑎𝑡𝑒 𝑎𝑤𝑎𝑙
𝑍 ∶ 𝑇𝑒𝑟𝑚𝑖𝑛𝑎𝑙 𝑜𝑢𝑡𝑝𝑢𝑡
𝑓 ∶ 𝐹𝑢𝑛𝑔𝑠𝑖 𝑖𝑛𝑝𝑢𝑡
𝑓 ∶ 𝐹𝑢𝑛𝑔𝑠𝑖 𝑜𝑢𝑡𝑝𝑢𝑡
Contoh FSA sederhana adalah model switch on/off , apakah state pada off atau on
Model memungkinkan user untuk menekan tombol yang memiliki pengaruh berbeda
tergantung pada keadaan switch.

– Jika switch berada pada state “off” dan setelah tombol ditekan maka state
berubah menjadi “on”

– Jika switch berada pada state “on” dan setelah tombol ditekan maka state
berubah menjadi “off”.

Contoh lain, untuk mengenal kata “then”

2. Push Down Automata (PDA)


PDA adalah sebuah Teknik pengujian kalimat / string menggunakan pendekatan stack.
Sebuah stack dalam pengisian datanya dengan cara LIFO (Last In First Out).
Pengambilan elemen dari stack dinyatakan dengan operasi POP, sedang memasukkan
elemen kedalah stack disebut PUSH.
PDA terdiri atas 7 buah tuple 𝑀 = (𝑄 , , , 𝑞0 , Ζ0 , , A), dimana
𝑄 ∶ 𝐻𝑖𝑚𝑝𝑢𝑛𝑎𝑛 ℎ𝑖𝑛𝑔𝑔𝑎 𝑠𝑡𝑎𝑡𝑒
 ∶ 𝐴𝑙𝑓𝑎𝑏𝑒𝑡 𝑖𝑛𝑝𝑢𝑡
 ∶ 𝐴𝑙𝑓𝑎𝑏𝑒𝑡 𝑠𝑡𝑎𝑐𝑘
𝑞0 ∈ 𝑄 ∶ 𝑆𝑡𝑎𝑡𝑒 𝑎𝑤𝑎𝑙
𝑍0 ∈  ∶ 𝑠𝑖𝑚𝑏𝑜𝑙 𝑎𝑤𝑎𝑙 𝑠𝑡𝑎𝑐𝑘
𝐴 ⊆ 𝑄 ∶ ℎ𝑖𝑚𝑝𝑢𝑛𝑎𝑛 𝑠𝑡𝑎𝑡𝑎 𝑝𝑒𝑛𝑒𝑟𝑖𝑚𝑎
Contoh: PDA dengan state , untuk mengeksekusi inputan
𝑖𝑛𝑝𝑢𝑡𝑎𝑛 ∶ 𝑎 𝑎 𝑎 𝑏 𝑏 𝑏 𝑑𝑒𝑛𝑔𝑎𝑛 𝑠𝑡𝑎𝑡𝑒 𝑎𝑤𝑎𝑙 $
 Diketahtui bahwa state pada 𝑞0 dengan nilai awal $, maka stack di push dengan
inputan awal tersebut. Kemudian, inputan 𝑎 dilakukan pengecekan dengan
benar, sehingga top operasi 𝑙𝑎𝑚𝑑𝑎 pada 𝑡𝑜𝑝 𝑠𝑡𝑎𝑐𝑘 di 𝑝𝑜𝑝 dan 𝑝𝑢𝑠ℎ 𝑎.
Sehingga 𝑡𝑜𝑝 𝑠𝑡𝑎𝑐𝑘 𝑎.

 Eksekusi

Cek inputan 𝑎 pada state

Pada gambar di atas, 𝑞1 menuju 𝑞1 operasinya 𝑙𝑎𝑚𝑑𝑎 pada 𝑡𝑜𝑝 𝑠𝑡𝑎𝑐𝑘 di 𝑝𝑜𝑝
dan di 𝑝𝑢𝑠ℎ 𝑎, maka kondisi 𝑠𝑡𝑎𝑐𝑘 berisi 𝑎 𝑎 $ .
 Eksekusi
Cek inputan 𝑎 pada state

Pada gambar di atas, 𝑞1 menuju 𝑞1 operasinya 𝑙𝑎𝑚𝑑𝑎 pada 𝑡𝑜𝑝 𝑠𝑡𝑎𝑐𝑘 di 𝑝𝑜𝑝
dan di 𝑝𝑢𝑠ℎ 𝑎, maka kondisi 𝑠𝑡𝑎𝑐𝑘 berisi 𝑎 𝑎 𝑎 $ .
 Eksekusi

Cek inputan 𝑏 pada state

Pada gambar di atas, 𝑞1 menuju 𝑞2 operasinya 𝑎 pada 𝑡𝑜𝑝 𝑠𝑡𝑎𝑐𝑘 di 𝑝𝑜𝑝 dan
di 𝑝𝑢𝑠ℎ 𝑙𝑎𝑚𝑑𝑎, maka kondisi 𝑠𝑡𝑎𝑐𝑘 berisi 𝑎 𝑎 $ .
 Eksekusi

Cek inputan 𝑏 pada state


Pada gambar di atas, 𝑞2 menuju 𝑞2 operasinya 𝑎 pada 𝑡𝑜𝑝 𝑠𝑡𝑎𝑐𝑘 di 𝑝𝑜𝑝 dan
di 𝑝𝑢𝑠ℎ 𝑙𝑎𝑚𝑑𝑎, maka kondisi 𝑠𝑡𝑎𝑐𝑘 berisi 𝑎 $ .
 Eksekusi

Cek inputan 𝑏 pada state

Pada gambar di atas, 𝑞2 menuju 𝑞2 operasinya 𝑎 pada 𝑡𝑜𝑝 𝑠𝑡𝑎𝑐𝑘 di 𝑝𝑜𝑝 dan
di 𝑝𝑢𝑠ℎ 𝑙𝑎𝑚𝑑𝑎, maka kondisi 𝑠𝑡𝑎𝑐𝑘 berisi $ atau 𝑠𝑡𝑎𝑐𝑘 𝑎𝑤𝑎𝑙
 Eksekusi pada 𝑠𝑡𝑎𝑡𝑒 𝑞2 𝑚𝑒𝑛𝑢𝑗𝑢 𝑞3
pada eksekusi 𝑞2 𝑚𝑒𝑛𝑢𝑗𝑢 𝑞3 terdapat operasi 𝑙𝑎𝑚𝑑𝑎 maka langsung
melakukan operasi $ pada 𝑠𝑡𝑎𝑐𝑘 di 𝑝𝑜𝑝 dan di 𝑝𝑢𝑠ℎ $, maka isi 𝑠𝑡𝑎𝑐𝑘 menjadi
𝑠𝑡𝑎𝑐𝑘 𝑎𝑤𝑎𝑙, $.
PDA di atas dengan 𝑖𝑛𝑝𝑢𝑡𝑎𝑛 = {𝑎 𝑎 𝑎 𝑏 𝑏 𝑏} dapat terselesaikan dan
menuju ke 𝑠𝑡𝑎𝑡𝑒 𝑎𝑘ℎ𝑖𝑟, maka inputan di terima.

3. Mesin Turing(Turing Machine).


Mesin Turing dinyatakan dalam 7 tupel 𝑀 = (𝑄 , , , , S, F, B), dimana
Q ∶ 𝐻𝑖𝑚𝑝𝑢𝑛𝑎𝑛 𝑠𝑡𝑎𝑡𝑒
 ∶ 𝐴𝑙𝑓𝑎𝑏𝑒𝑡 𝑖𝑛𝑝𝑢𝑡
 ∶ 𝐴𝑙𝑓𝑎𝑏𝑒𝑡 𝑝𝑎𝑑𝑎 𝑝𝑖𝑡𝑎
 ∶ 𝐹𝑢𝑛𝑔𝑠𝑖 𝑇𝑟𝑎𝑛𝑠𝑖𝑠𝑖
𝑆 ∶ 𝑠𝑡𝑎𝑡𝑒 𝑎𝑤𝑎𝑙
𝐹 ∶ ℎ𝑖𝑚𝑝𝑢𝑛𝑎𝑛 𝑠𝑡𝑎𝑡𝑒 𝑎𝑘ℎ𝑖𝑟
𝐵 ∶ 𝑠𝑖𝑚𝑏𝑜𝑙 𝑘𝑜𝑠𝑜𝑛𝑔
Mesin Turing adalah model komputasi teoretis yang ditemukan oleh Alan Turing
seorang ahli matematika Inggris pada tahun 1936, berfungsi sebagai model ideal untuk
melakukan perhitungan matematis. Mesin Turing merupakan model yang sangat
sederhana dari sebuah komputer, namun memiliki kemampuan komputasi lengkap.
Berikut adalah ilustrasi Mesin Turing.
Misalkan terdapat kalimat tak hingga symbol hampa
ℎ𝑒𝑎𝑑 ∶ 𝑚𝑒𝑚𝑏𝑎𝑐𝑎 𝑑𝑎𝑛 𝑚𝑒𝑛𝑢𝑙𝑖𝑠 𝑠𝑒𝑙 𝑝𝑖𝑡𝑎 𝑇𝑀, 𝑏𝑖𝑠𝑎
𝑏𝑒𝑟𝑔𝑒𝑟𝑎𝑘 𝑘𝑒 𝑘𝑖𝑟𝑖 𝑎𝑡𝑎𝑢 𝑘𝑒 𝑘𝑎𝑛𝑎𝑛.
𝐹𝑆𝐶 ∶ 𝑜𝑡𝑎𝑘 𝑘𝑎𝑛𝑎𝑛 𝑑𝑎𝑟𝑖 𝑇𝑀, 𝑑𝑖𝑖𝑚𝑝𝑙𝑒𝑚𝑒𝑛𝑡𝑎𝑠𝑖𝑘𝑎𝑛 𝑑𝑎𝑟𝑖
𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑎 𝑝𝑒𝑛𝑔𝑒𝑛𝑎𝑙𝑎𝑛 𝑘𝑎𝑙𝑖𝑚𝑎𝑡
Berikut ini adalah perbandingan dari jenis Otomata
Jenis Pita Masukan Arah Head Memori
Finite State Read Only 1arah -
Push Down Read Only 1 arah Stack
Turing Machine R/W 2 arah unbounded

D. Bahasa
Bahasa adalah kumpulan kalimat yang mengandung arti.
𝑚𝑖𝑠𝑎𝑙𝑘𝑎𝑛 ∶ 𝐴 = {𝑎, 𝑏, 𝑐}, maka berikut adalah contoh – contoh bahasa pada alfabet A:
𝐿1 = {𝑎, 𝑎𝑎𝑎, 𝑏𝑐, 𝑎𝑐, 𝑎𝑏𝑐, 𝑐𝑎𝑏}
𝐿2 = {𝑎𝑏𝑎, 𝑎𝑎𝑏𝑎𝑎}
𝐿3 = {}

1. Operasi String
Misalkan p = abc , q = 123
 Konkatenasi (Penyambungan)
Adalah penyambungan dua buah string . sehingga
𝑐𝑜𝑛𝑐𝑎𝑡𝑒(𝑝𝑞) = 𝑎𝑏𝑐123
 Bahasa Universal dari Σ
Adalah bahasa yang terdiri dari semua string berdasarkan suatu abjad Σ.
Dinotasikan Σ ∗
𝑐𝑜𝑛𝑡𝑜ℎ ∶ Σ = {1}, 𝑚𝑎𝑘𝑎 Σ ∗ = {𝜀, 1, 11, 111, 1111, … }
 Prefix
Adalah operator yang menghasilkan string dengan menghilangkan nol atau lebih
symbol – symbol paling belakang dari sebuah string.
𝐶𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑏𝑐, 𝑎𝑏, 𝑎, 𝜀, 𝑎𝑑𝑎𝑙𝑎ℎ 𝑐𝑜𝑛𝑡𝑜ℎ 𝑝𝑟𝑒𝑓𝑖𝑥(𝑝)
 ProferPrefix
Adalah operator yang menghasilkan string dengan menghilangkan satu atau lebih
symbol – symbol paling belakang dari suatu string.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑏, 𝑎, 𝑑𝑎𝑛 𝜀 𝑎𝑑𝑎𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑃𝑟𝑜𝑝𝑒𝑟𝑃𝑟𝑒𝑓𝑖𝑥(𝑝)
 Postfix
Adalah operator yang menghasilkan suatu string dengan menghilangkan nol atau
lebih symbol – symbol paling depan string tersebut.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑏𝑐, 𝑏𝑐, 𝑐 𝑑𝑎𝑛 𝜀 𝑎𝑑𝑎𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑃𝑜𝑠𝑡𝑓𝑜𝑥(𝑝)
 ProperPostfix
Adalah operator yang menghasilkan string dengan menghilangkan satu atau lebih
symbol – symbol paling depan dari suatu string.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑏𝑐, 𝑐 𝑑𝑎𝑛 𝜀 𝑎𝑑𝑎𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑃𝑟𝑜𝑝𝑒𝑟𝑃𝑜𝑠𝑡𝑓𝑖𝑥(𝑝)
 Head
Adalah operator yang menghasilkan string yang merupakan symbol paling depan
dari suatu string.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎 𝑎𝑑𝑎𝑙𝑎ℎ ℎ𝑒𝑎𝑑(𝑝)
 Tail
Adalah operator yang menghasilkan string dengan menghilangkan symbol paling
depan dari suatu string.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑏𝑐 𝑎𝑑𝑎𝑙𝑎ℎ 𝑡𝑎𝑖𝑙(𝑝)
 Substring
Adalah operator yang menghasilkan string dengan menghilangkan nol atau lebih
symbol – symbol dan/ atau symbol – symbol paling belakang dari suatu string.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑏𝑐, 𝑎𝑏, 𝑏𝑐, 𝑎, 𝑏, 𝑐 𝑑𝑎𝑛 𝜀 𝑎𝑑𝑎𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑆𝑢𝑏𝑠𝑡𝑟𝑖𝑛𝑔(𝑝)
 ProperSubstring
Adalah operator yang menghasilkan string dengan menghilangkan satu atau lebih
symbol – symbol dan/ atau symbol – symbol paling belakang dari suatu string.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑏, 𝑏𝑐, 𝑎, 𝑏, 𝑐 𝑑𝑎𝑛 𝜀 𝑎𝑑𝑎𝑙𝑎ℎ 𝑠𝑒𝑚𝑢𝑎 𝑃𝑟𝑜𝑝𝑒𝑟𝑆𝑢𝑏𝑠𝑡𝑟𝑖𝑛𝑔(𝑝)
 Subsequence
Adalah operator dengan menghilangkan nol atau lebih symbol-simbol dati string
tersebut.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑏𝑐, 𝑎𝑏, 𝑏𝑐, 𝑎𝑐, 𝑎, 𝑏, 𝑐 𝑑𝑎𝑛 𝜀 𝑎𝑑𝑎𝑙𝑎ℎ 𝑐𝑜𝑛𝑡𝑜ℎ 𝑆𝑢𝑏𝑠𝑒𝑞𝑢𝑒𝑛𝑐𝑒(𝑥)
 ProperSubsequence
Adalah operator dengan menghilangkan satu atau lebih symbol-simbol dati string
tersebut.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑏, 𝑏𝑐, 𝑎𝑐, 𝑎, 𝑏, 𝑐 𝑑𝑎𝑛 𝜀 𝑎𝑑𝑎𝑙𝑎ℎ 𝑐𝑜𝑛𝑡𝑜ℎ 𝑆𝑢𝑏𝑠𝑒𝑞𝑢𝑒𝑛𝑐𝑒(𝑥)
 Alternation
Adalah pilihan satu di antara dua buah string.
𝑐𝑜𝑛𝑡𝑜ℎ ∶ 𝑎𝑙𝑡𝑒𝑟𝑛𝑎𝑡𝑒(𝑝𝑞) = 𝑎𝑏𝑐 𝑎𝑡𝑎𝑢 123
E. NFA
Definition 1: Nondeterministic Finite Automaton memilik 5 – tuple
(𝑆, 𝐼, 𝑇, 𝐹, ∑), dimana
1. 𝑆 adalah himpunan dari state.
2. 𝐼 ⊆ 𝑆 adalah himpunan dari initial state.
3. 𝑇 adalah fungsi transisi 𝑇 ∶ 𝑆 × ∑ → 𝑃(𝑆), dimana 𝑃(𝑆) adalah power
set dari 𝑆.
4. 𝐹 adalah subset dari 𝑆 yang disebut himpunan accepting states.
5. ∑ adalah alphabet yang diberikan.

Contoh 1.1:
Alfabet = {𝑎}.

Gambar 1. contoh NFA

NFA dalam menerima input, dapat mempunya lebih dari satu busur keluar
ataupun tidak punya busur keluar .
Contoh 1.2. NFA menerima semua string {0,1} yang mengandung
mengandung 1 pada posisi ketiga dari terakhir, atau posisi
kedua dari terakhir.
Gambar 1.2 , contoh NFA

 Terdapat 2 edges yang berlabel 1 yang keluar dari state 𝑞1.


 Tidak ada edges yang keluar dari 𝑞4.
 Edge yang kelaur dari 𝑞2 yang dilabeli dengan 𝜖, in addition to 0 dan
1.
Apa yang diagram katakan ?
 Jika berhenti di state berlabel 𝜀 kita dapat lanjut ke state selajutnya.
 Setelah menerima inputan string, dan state yang di tempati saat ini
mulptile outgoing edges labeled with symbol, maka lewati saja tanpa
ragu.
 Jika tidak ada pilihan, maka berhenti.

Definition 2 : NFA menerima String jika terdapat komputaasi yang


menerima string dimana semua input string diproses dan
otomata berakhir di accepting state.
Contoh : pada gambar 2, otomata menerima inputan 𝑎𝑎, karena berakhir di
state 𝑞2 yang merupakan state akhir.

Gambar 2. contoh NFA menerima string


Definition 3 : NFA menolak string jika tidak ada komputasi pada NFA
yang menerima string, untuk komputasi yang seluruh
inputannya selesai dimasukkan dan otomata tidak sampai pada
state akhir, atau inputan belum selesai dimasukkan.
Contoh : pada gambar 3a dan 3b, inputan untuk 𝑎 ditolak karena tidak
berakhir di state akhir, ketika inputan habis.

Gambar 3.a. rejection pilihan pertama Gambar 3.b. rejection pilihan pertama

Definition 4 : diberikan Μ = (𝑆𝐼, 𝑇, 𝐹, ∑) adalah NFA. Language accepted


oleh 𝑀 dinotasikan 𝐿(𝑀),
{𝑤 |𝑜𝑡𝑜𝑚𝑎𝑡𝑎 𝑀 𝑚𝑒𝑛𝑒𝑟𝑖𝑚𝑎 𝑤 }.

𝐿(𝑀) = {𝑤1 , 𝑤2 , . . . 𝑤𝑛 }, dimana


𝛿 ∗ (𝑞0 , 𝑤𝑚 ) = {𝑞𝑖 , . . . , 𝑞𝑘 , . . . , 𝑞𝑗 }
dan terdapat setidaknya satu dari 𝑞 di atas yang merupakan ∈
𝐹.

Contoh : diberikan inputan 𝑀 = {𝑎, 𝑎}, cek apakah diterima atau tidak,
berdasarkan gambar 4.
𝐹 = {𝑞0 , 𝑞5 }
𝛿 ∗ (𝑞0 , 𝑎𝑎) = {𝑞4 , 𝑞5 }
Karena 𝑞5 merupakan salah satu dari state akhir, maka 𝑎𝑎 ∈ 𝐿(𝑀).
Gambar 4. Contoh untuk L(M)

Definition 5 : diberikan Μ = (𝑆𝐼, 𝑇, 𝐹, ∑) adalah NFA. 𝑀1 equivalent


dengan 𝑀2 jika 𝐿(𝑀1 ) = 𝐿(𝑀2 )
Contoh : 𝐿(𝑀) = {10}∗ , tinjau apakah 𝑀1 dan 𝑀2 equivalent berdasarkan
gambar 5.a dan 5.b.
Karena 𝐿(𝑀1 ) = {10}∗ dan 𝐿(𝑀2 ) = {10}∗ maka 𝑀1 dan 𝑀2 equivalent.

Gambar 5.a. Mesin 1 Gambar 5.b . Mesin 2

Anda mungkin juga menyukai