1
Daftar Isi
BAB 1 ................................................................................................................................... 3
PENDAHULUAN ................................................................................................................... 3
A. Latar Belakang ......................................................................................................... 3
B. Rumusan Masalah ................................................................................................... 4
BAB 2 ................................................................................................................................... 5
ISI ......................................................................................................................................... 5
A. Sejarah Mesin Turing............................................................................................... 5
B. Pengertian Mesin Turing ......................................................................................... 7
C. Mekanisme Kinerja Mesin Turing............................................................................ 9
D. Properti Mesin Turing ........................................................................................... 16
BAB 3 ................................................................................................................................. 24
PENUTUP ........................................................................................................................... 24
A. Kesimpulan ............................................................................................................ 24
DAFTAR PUSTAKA .............................................................................................................. 25
2
BAB 1
PENDAHULUAN
A. Latar Belakang
Tata bahasa (grammar) bisa didefinisikan secara formal sebagai kumpulan
dari himpunan-himpunan variabel, simbol-simbol terminal simbol awal yang
dibatasi oleh aturan-aturan produksi. Penggolongan tingkatan bahasa berdasarkan
Hirarky Chomsky, terdiri dari empat yaitu Bahasa Reguler (Tipe 3), bahasa Bebas
Konteks (Tipe 2), Context Sensitive (Tipe 1) dan Unrestricted (Tipe 0).
Untuk setiap kelas bahasa Chomsky, terdapat sebuah mesin pengenal bahasa.
Mesin FSA (Finite State Automata) yang merupakan Mesin Pengenal Bahasa untuk
Kelas Bahasa Regular Grammar, mesin otomata Push Down Automata (PDA)
mesin untuk bahasa Bebas Konteks, mesin otomata Linier Bounded Automata yang
merupakan mesin untuk bahasa Context Sensitive, sedangkan Mesin Turing untuk
Kelas Bahasa Unrestrictid Grammar (UG).
Mesin Turing adalah suatu model yang sangat sederhana dari komputer.
Konsep mesin turing pertama kali di kenalkan oleh Alan Turing pada tahun 1936
dalam papernya yang berjudul On Computable Numbers, with an Application to
the Entscheidungsproblem, yang merupakan konsep dari algoritma dan komputasi
dengan mesin. Dalam konsep ini Mesin Turing dirancang sebagai sebuah mesin
3
yang mampu membaca rangkaian beberapa nol dan satu (binary digit) yang
menjelaskan cara penyelesaian matematis dan menyediakan jawaban yang
dibutuhkan. Mesin ini masih sebuah konsep, yang beberapa tahun kemudian
diwujudkan dalam bentuk nyata komputer seperti sekarang ini, konsep Mesin
Turing inilah yang menjadi dasar dari teori modern komputabilitas. Konsep mesin
Turing Machine ini sebenarnya adalah Stored program yaitu suatu intruksi dapat
diterjemahkan kedalam angka biner yang dapat disimpan, dibaca dan ditulis,
dimana merupakan konsep yang sangat penting untuk pembuatan komputer modern
saat ini.
B. Rumusan Masalah
Berdasarkan latar belakang diatas, maka masalah yang akan dibahas dalam
makalah ini ialah mengenai:
4
BAB 2
ISI
Mesin Turing diperkenalkan pertama kali oleh Alan Turing pada tahun 1936
dalam makalahnya yang berjudul : On Computable Numbers, with an Application
to the Entscheidungsproblem, dalam konsep algoritma dan komputasi dengan
mesin. Dalam konsep ini Turing menggambarkan sebuah mesin yang mampu
membaca rangkaian beberapa nol dan satu (binary digit) yang akan menjelaskan
5
cara penyelesaian masalah matematika, dan menyediakan jawaban yang
dibutuhkan. Mesin ini kemudian dikenal sebagai ide tentang sebuah komputer pada
masa sekarang. Mesin ini masih berupa konsep, konsep inilah yang menjadi dasar
dari teori modern komputabilitas. Pada kenyataannya, motivasi Turing didasarkan
pada konsep seorang manusia yang melakukan komputasi dengan pensil dan kertas.
Kemudian ia menyediakan sebuah model yang dapat dipergunakan untuk mengkaji
batasan-batasan proses-proses komputasi. Sehingga Alan Turing dikenal juga
secara luas sebagai bapak dari Ilmu Komputer dan teori komputasi.
Konsep Mesin Turing ini sebenarnya adalah Stored program yaitu suatu
intruksi dapat diterjemahkan kedalam angka biner yang dapat disimpan, dibaca dan
ditulis, dimana merupakan konsep yang sangat penting untuk pembuatan kompuer
modern saat ini. Namun, pada saat itu komputer fisik belum ditemukan, sehingga
konsepnya hanya sebatas imajinasi matematika saja.
Pada tahun 1947 dia menulis sebuah paper (tidak pernah diterbitkan selama
hidupnya) mengenai konsep yang sekarang dikenal dengan jaringan neural,
dimana serangkaian sistem kompleks mampu memiliki kemampuan belajar.
Kemudian pda tahun 1950 mengeluarkan paper yang berpengaruh berjudul
6
Computing Machinery and Intelligence. Dalam papernya ini Turing
mengusulkan Tes Turing sebagai sebuah metode untuk mementukan apakah
sebuah mesin memiliki Artificial Intelligence. Hingga tahun 1990-an tes ini
masih dianggap sebagai cara yang paling baik untuk menentukan intelegensia dari
sebuah mesin.
Pada tanggal 7 Juni 1954, Turing memilih untuk mengakhiri hidupnya dengan
melakukan bunuh diri dengan memakan apel yang telah dilumuri sianida
dirumahnya, Wisilow, London. (Fajar Sidik, 2014)
Mesin turing yang dapat mensimulasikan mesin Turing lainnya disebut mesin
Turing Universal (UTM) atau bisa juga disebut mesin Universal.
7
Busur transisi di beri label pasangan simbol yang dipisahkan dengan slash
Bagian pertama adalah simbol yang harus di tunjuk oleh head
Bagian kedua adalah aksi yang harus dikerjakan (write, left, or right)
Contoh:
8
C. Mekanisme Kinerja Mesin Turing
Dalam teori bahasa dan automata digunakan model state (State Machine
Model) atau biasa disebut model transisi (State Transition Model), pengembangan
teori automata difasilitasi dengan perkembangan bidang Psycho Linguistik.
Memiliki mekanisme Random Access Memory. Mesin Turing adalah suatu alat
komputasi ideal yang memiliki head terdiri baca dan tulis, otak mesin yang biasa
disebut Finite State Control dan sebuah tape atau pita yang akan dilaluinya.
Tape/Pita : Dibagi menjadi beberapa sel atau kotak yang memiliki panjang tak
terhingga, dimana batas kiri tetap dan batas kanan tidak terbatas.
Pada beberapa model rekaman, batas kiri ditandai dengan simbol
khusus. Pita yang tidak berisi simbol masukan akan berisi simbol
kosong atau blank (B). untuk komunikasi blank dinotasikan dengan
, memiliki panjang yakni 1. membedakan x y dengan x y
mealui cara xy, dengan xy.
9
Head : membaca dan menulisi sel pita, bisa bergerak ke kiri dan ke kanan.
M = Mesin Turing
Q = Himpunan berhingga state dari finite state control (q0, q1, atau p0, p1..)
10
S = state awal, anggota dari Q
Mesin dioperasikan sama seperti finite automata. Setiap saat selama mesin
Turing melakukan komputasi, mesin tersebut harus berada di dalam salah satu dari
sejumlah tertentu kondisi, yang disebut states. Komputasi sebuah mesin Turing
dimulai ketika mesin berada di dalam sebuah status khusus yang disebut status
mulai (start state) dan berhenti ketika mesin mencapai status khusus berikutnya
yang dikenal dengan sebutan status berhenti (halt state). (Fajar Sidik, 2008)
11
Dengan menginterpretasikan bahwa rangkaian simbol pada pita
merepresentasikan bilangan-bilangan biner yang dipisahkan oleh tanda-tanda
bintang, kita dapat mengetahui bahwa pita tersebut memuat nilai 5. Mesin Turing
dirancang untuk secara berkala menambahkan nilai ini dengan 1. Lebih tepatnya,
mesin ini mengasumsikan bahwa posisi mulai adalah sebuah tanda bintang yang
menandai ujung paling kanan dari rangkaian bit 0 dan 1, dan melanjutkannya
dengan mengubah pola-pola bit di sebelah kirinya sehingga pola-pola tersebut
merepresentasikan bilagan bulat berikutnya yang lebih besar.
12
RETURN 1 1 Kanan RETURN
RETURN Tidak HALT
bergerak
Mesin dimulai dengan instruksi dengan dimulai pada status START dan berisi
simbol , kemudian head bergerak ke kiri sejauh satu sel, dan memasuki status
ADD.
Kemudian diteruskan ke tabel untuk melihat apa yang harus dilakukan ketika
berada pada status ADD dengan sel terkini berisi nilai 1. Pada status ini, nilai 1 di
dalam sel terkini diganti dengan nilai 0, dan head bergerak satu sel ke kiri, dan
memasuki status CARRY. Maka, konfigurasinya berubah menjadi seperti ini:
Pada status CARRY dengan sel terkini memuat 0, kemudian diganti dengan nilai
1, menggerakan head satu sel ke kanan, dan memasuki status RETURN.
Konfigurasi mesin menjadi seperti ini:
13
Setelah situasi diatas, dilanjutnkan dengan menggantikan isi nilai 0 didalam sel
terkini dengan nilai 0 lainnya, dan menggerakan head satu sel ke kanan, dan tetap
pada status RETURN. Sebagai akibatnya, kita mendapatkan mesin yang berada di
dalam kondisi seperti ini:
Pada titik ini, kita harus menuliskan kembali tanda bintang pada sel terkini dan
memasuki status HALT. Mesin diakhiri dengan konfigurasi berikut :
14
Halt State dinotasikan dengan lingkaran ganda
Busur transisi di beri label pasangan simbol yang dipisahkan dengan slash
Bagian pertama adalah simbol yang harus di tunjuk oleh head
Bagian kedua adalah aksi yang harus dikerjakan (write, left, or right)
15
D. Properti Mesin Turing
Mesin dioperasikan sama seperti finite automata. Konfigurasi awal adalah
mesin berada pada state awal dan head pada simbol paling kiri dari input string.
Ketika fungsi Q di operasikan, diinterprestasikan sebagai berikut: input kedua
adalah simbol dari alphabet mesin. Simbol ini menggantikan simbol yang sedang
discan pada tape. Input ketiga memberikan arah dari perpindahan dari head. Jika L,
head bergerak ke kiri, jika R, head bergerak ke kanan, dan jika input terakhir adalah
H, maka head tetap pada posisi dan tidak bergerak. Jika pasangan dari state saat
dengan simbol input saat ini tidak pada domain d, disebut mesin halted. Jika mesin
berakhir pada accepting state maka string dikatakan diterima atau accepted. Jika
state bukan accepting state maka string dikatakan ditolak atau rejected.
Dibawah ini merupakah ilustrasi pada mesin Finite Automata pada pembahasan
sebelumnya.
16
Dan ini merupakan ilustrasi pada Mesin Turing
17
M Halt untuk setiap string dan selanjutnya secara eksplisit menerima (accept) atau
menolak (reject) semua calon string dalam L(M). Cara kedua adalah untuk
beberapa string mesin kemungkinan tidak halt. Jika cara pertama yang dipenuhi,
kita katakana bahwa bahasa L(M) decided oleh M.
Definisi:
Suatu bahasa L adalah recursively enumerable jika dan hanya jika ada Mesin
Turing M sedemikian hingga L = L(M).
Contoh mesin Turing berikut adalah memeriksa string dari kurung buka dan kurung
tutup (parentheses) apakah seimbang (balanced), jumlah kurung buka dengan
kurung tutup sama. Jika seimbang maka mesin akan halt dan menerima string. Jika
tidak seimbang maka mesin halt pada state yang bukan accepting.
Mesin akan mencek semua kurung buka dan melihat kurung tutup untuk
membentuk pasangan dari kurung. Setiap kali kurung tutup ditemukan, mesin akan
menghapusnya, dan kembali kebelakang untuk menemukan kurung buka, dan
menghapus kurung buka tersebut. Jika kurung buka yang cocok tidak ditemukan,
atau terlalu banyak kurung tutup ditemukan, maka mesin halt pada nonaccepting
state. Jika semua kurung dihapus, maka mesin halt pada accepting state.
Untuk memfasilitasi proses, kita kenalkan sebuah simbol ekstra pada , yang kita
sebut dirty blank. Dirty blank digunakan sama seperti sebuah blank, kecuali jika
ditemukan dirty blank pada tape memberitahukan bahwa simbol hadir pada tape
pada posisinya pad suatu waktu. Sebagai pengganti karakter yang dihapus dengan
blank, digunakan dirty blank. Kita gunakan simbol & untuk dirty blank.
Contoh:
18
Himpunan alphabet = {(,), &, #}
Intruksi d:
d(S1, ( ) = (S0, &, R) , jika simbol kurung buka, hapus, dan berbalik
arah untuk mencari yang lain
d(S2, &) = (S2, #, L) , jika ada dirty blank, hapus, lanjutkan ke kiri
Pertama : ( ( ( ( ) (
Langkah 1: ( ( ( ( ) ( / S0
Langkah 2: ( ( ( ( ) ( / S0
19
Langkah 3: ( ( ( ( ) ( / S0
Langkah 4: ( ( ( ( ) ( / S0
Langkah 5: ( ( ( ( ) ( / S0
Langkah 6: ( ( ( ( & ( / S1
Mesin halt (berhenti) pada langkah 10, dan string tidak diterima.
Kedua: ( ) ( ( ) )
Langkah 1: ( ) (( )) / S0
Langkah 2: ( ) (( )) / S0
Langkah 3: ( & (( )) / S1
Langkah 4: && (( )) / S0
Langkah 5: && (( )) / S0
Langkah 6: && (( )) / S0
Langkah 7: && (( )) / S0
20
Langkah 11: && (&&& / S1
Selanjutnya head bergerak ke kanan sampai akhir string, blank ditemukan, dan
mesin berada pada S2. Diproses menghapus dirty blank. (Swingly Purba, 2008)
Selain proses diatas, ada beberapa aksi yang bisa dilakukan oleh mesin
Turing, yaitu Write dan Move. Write dibangun dengan operasi mereplace simbol
yang ditunjuk head, dilanjutkan berpindah ke state yang lain. Move dibangun
dengan operasi bergerak ke kiri atau ke kanan dari current head, dilanjutkan
berpindah ke state yang lain.
Ada beberapa kondisi yang menyebabkan mesin turing berhenti, yaitu Halt
State dan Abnormal Termination. Halt State berarti mesin langsung berhenti atau
selamat. Abnormal Termination mesin berhenti karena error tidak bisa bergerak ke
21
arah kiri pada saat head sudah berada di left end. Selain dua sebab tersebut, ada juga
kondisi yang disebut Non Terminating Loop, suatu kondisi mesin yang tidak pernah
berhenti dikarenakan bergerak ke kanan terus menerus.
Sebagaimana graf, TM terdiri dari beberapa node dan beberapa edge. Dari
satu node mungkin terdapat satu atau lebih edge yang menuju node lainnya
atau dirinya sendiri.
Sebuah node menyatakan sebuah stata (state). Dua stata penting adalah stata
awal S (start) dan stata penerima H (halt). Sesaat sebelum proses
pengenalan sebuah kalimat, TM berada pada stata S. Jika kalimat tersebut
dikenali maka, setelah selesai membaca kalimat tersebut, TM akan akan
berhenti pada stata H.
Sebuah edge mempunyai bobot yang dinotasikan sebagai triple : (a, b, d).
a adalah karakter acuan bagi karakter dalam sel pita TM yang sedang dibaca
head. Jika yang dibaca head adalah karakter a maka a akan di-overwrite
dengan karakter b dan head akan berpindah satu sel ke arah d (kanan atau
kiri).
22
23
BAB 3
PENUTUP
A. Kesimpulan
Berdasarkan pembahasan dari design mesin Turing dapat diambil
kesimpulan, bahwa:
24
DAFTAR PUSTAKA
25