Anda di halaman 1dari 15

Kelompok 7

Teori Bahasa dan Automata

Disusun Oleh :
Ahmad Kholil (191011401908)
Putri Nabiilah (191011401882)
Sendy Arif Febrianto (191011401884)
Kelas : 05TPLP011
Teknik Informatika
Universitas Pamulang
MESIN TURING
Mesin Turing adalah model komputasi teoretis yang ditemukan oleh Alan Turing, berfungsi sebagai model ideal
untuk melakukan perhitungan matematis. Walaupun model ideal ini diperkenalkan sebelum komputer nyata
dibangun, model ini tetap diterima kalangan ilmu komputer sebagai model komputer yang sesuai untuk
menentukan apakah suatu fungsi dapat selesaikan oleh komputer atau tidak (menentukan computable function).
Mesin Turing terkenal dengan ungkapan " Apapun yang bisa dilakukan oleh Mesin Turing pasti bisa dilakukan
oleh komputer.“

Gambar mesin turing Alan Turing


DEFINISI MESIN TURING

Mesin turing didefinisikan sebagai 7 tuple

M={ Q, Ʃ, Г, S, F, Δ, ᵹ}

Q: himpunan hingga state,


Ʃ: alfabet input,
Г: simbol pada pita (meliputi pula blank)
S: state awal, S ϵ Q
Δ: simbol kosong (blank) (bukan bagian dari S )
ᵹ: fungsi transisi
F: state akhir, F ϵ Q
FUNGSI TRANSISI MESIN TURING
ᵹ : Q x Г  Q x Г x {L, R}

Arah gerak head


Simbol yang ada
Pada sel

Simbol yang Contoh : ᵹ ( , a) = ( , d, R)


mengganti Arah gerak head
simbol sebelumnya Simbol pengganti
Next state
Simbol saat ini
State awal
Transisi pada mesin turing

contoh input string terhadap suatu mesin turing :

Pada gambar tersebut dapat diartikan sebagai berikut :


⬥ Berpindah dari state q2 ke state q3
⬥ Pada tape simbol akan terjadi perubahan dari abjad “a” menjadi abjad “b” (a  b)
⬥ Tape head bergeser ke kanan satu kali karena ditunjukkan kondisi R = Right (..,..,R)
Catatan :
⬥ Sebuah mesin turing akan menerima suatu untai string jika berhenti pada kondisi HALT
⬥ Untai ditolak jika kondisi :
- Pada saat petunjuk (tape head) berada pada left most, mendapat perintah untuk berpindah ke kiri
- Proses terhenti karena simbol yang diamati bukan salah satu dari simbol yang berdefinisi
Proses input untai string ke mesin turing
Agar dapat memahami apa saja yang perlu dilakukan dalam proses input string, perhatikan contoh berikut :

Definisi dari mesin turing tersebut adalah


Q ={1, 2, 3, 4}
Ʃ = {a,b}
Г = {a,A,b,B}
S = {1}
F = halt {4}
Dapat diperoleh transisi nya seperti :
ᵹ (1,a) = (2, A, R) ᵹ (2,a) = (2, A, R)
ᵹ (2,b) = (3, a, L) ᵹ (3,b) = (4, B, R)
Proses jika mesin turing tersebut diberi
input untai string aab
 Dimulai dari state awal 1, yakni ᵹ (1,a) = (2, A, R), artinya akan berpindah ke state 2 dan tape akan digantikan
dari aab menjadi Aab dengan arah tape head ke kanan (R adalah right)
 Hasil dari proses pertama tape head menunjuk pada posisi state 2, maka untuk proses kedua untuk input string
a adalah ᵹ (2,a) = (2, A, R). Artinya kedudukan state tetap pada state 2, tape akan digantikan dari Aab menjadi
AAb dengan arah tape head ke kanan
 Untuk proses ketiga akan kita input string b, terhadap state 2 (karena hasil dari proses kedua menunjuk state 2)
dengan transisi ᵹ (2,b) = = (3, a, L). Artinya kedudukan state tetap pada state 3, tape akan digantikan dari AAb
AAa menjadi dengan arah tape head ke kiri (L = left)
 Untuk proses selanjutnya, dikarenakan tape head ke arah kiri, hasil menunjukkan bahwa tape akan berisi AAa
dengan posisi pada state 3 dengan arah left. Maka pada posisi ini string aab tidak dikenali oleh mesin turing
tersebut. Seperti pada gambar
MESIN MOORE
Mesin Moore adalah otomasi fase berhingga (finite state automaton) di mana keluarannya
ditentukan hanya oleh fase saat itu (dan tidak terpengaruh oleh bagian masukan/input).
Diagram fase (state diagram) dari mesin Moore memiliki sinyal keluaran untuk masing-masing
fase. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transisi.
Nama Moore diambil dari "Edward F. Moore" seorang ilmuwan komputer dan perintis mesin-
fase (state-machine) yang menulis karangan "Gedanken-experiments on Sequential Machines".
DEFINISI MESIN MOORE
definisi dari suatu mesin moore dengan 6 (enam) tupel,

M= (Q, S, d, S, D, l)

Q = Himpunan state
Ʃ = Himpunan simbol input
ᵹ = fungsi transisi
S = state awal
Δ = Himpunan output
λ = fungsi output untuk setiap state

Catatan : state akhir atau state penerima yang terdapat dalam DFA ataupun NFA tidak ada, karena
keputusan dimunculkan sebagai output
TRANSISI PADA MESIN MOORE

Pada contoh berikut ini akan menerapkan mesin moore untuk menghasilkan suatu nilai sisa hasil bagi
(modulus) dari suatu bilang dengan 3. Proses akan berlangsung dengan menyatakan input string dalam
bentuk biner sebelumnya.
Dengan keterangan sebagai berikut :
Q={,,}
Ʃ = {0, 1} (input dalam biner)
S=
Δ = {0, 1, 2} (output pada contoh modulus bilangan
dengan 3 maka kemungkinan sisanya adalah 0, 1, 2)
λ( ) = 0,
λ ) = 1,
λ( ) = 2
TRANSISI FORMAL PADA GAMBAR TERSEBUT
ᵹ ( , 1) = { , 1}
ᵹ ( , 0) = { , 2}
ᵹ ( , 1) = { , 0}
ᵹ ( , 0) = { , 1}
ᵹ ( , 1) = { , 2}

ᵹ( , 0) = { , 0}
Output
Next State
Input String
Kedudukan State
Proses input untai string ke mesin moore
Setelah melihat transisi pada contoh gambar sebelumnya, maka kita dapat melakukan proses
input string ke mesin moore dengan melalui langkah – langkah detail sebagai berikut :
Misalkan kita ingin mengetahui hasil modulus 3 dari beberapa bilang berikut ini

(selanjutnya kita sebut modulus dengan mod 1 ) : 2 mod 3 = ?


Pembahasan :
• Sebelum memasukan input 2 ke dalam mesin moore, maka langkah pertama adalah
melakukan konversi bilangan 2 ke bilangan biner, yakni
2 2 2 010 = 2 = 2
Adalah nilai yang dimiliki 1
Konversi Biner untuk bilangan desimal 2
• Masukan 010 ke dalam mesin moore modulus bilangan 3
• Dan akan didapatkan output 2, artinya adalah 2 mod 3 = 2
TERIMAKASIH

Anda mungkin juga menyukai