Anda di halaman 1dari 17

TURING

MACHINE
MESIN TURING

Kelompok 5
Teknik Informatika A
Sopian Hariadi
01
Anggota Moderator

Kelompok 5 Vira Rahmawati


Notulen 02

Saipul Bahri
Pembaca Materi 1 03

Tania A Pusparini
Pembaca Materi 2 04

Zainul Kutbi Zain


Penerang Materi 05
Welcome!!
Perhatikan Agar Mengerti
Diharapkan jangan membuat forum dalam forum
Kelompok 5 Agenda
Mesin Turing Style
Landasan Teori
Mesin turing adalah suatu model yang sangat sederhana dari komputer. Konsep
mesin turing pertama kali di kenalkan oleh Alan Turing pada tahun 1936 dalam pa -
pernya yang berjudul “On Computable Numbers, with an Application to the Entschei-
dungsproblem”. Konsep mesin turing inilah yang menjadi dasar dari teori modern kom-
putabilitas. Mesin turing dapat digunakan untuk menyelesaikan beberapa permasalahan
matematis yang sederhana. Contohnya perhitungan pada bilangan bulat, menyalin simbol,
menghitung suatu fungsi bilangan bulat dan lain lain.
Mesin turing adalah suatu alat komputasi ideal yang memiliki head terdiri baca dan
tulis (biasa disebut Finite State Control) dan sebuah tape/pita yang akan dilaluinya. Pita
dibagi menjadi beberapa sel atau kotak yang memiliki panjang tak terhingga .dimana
batas kiri tetap dan batas kanan tidak terbatas. Sel pada pita dapat di baca maupun di tulis
sedangkan pita yang tidak berisi simbol masukan akan berisi simbol kosong atau blank
(B). Sebuah mesin turing adalah merupakan model matematis sederhana untuk komputer.
Meskipun sederhana, mesin turing dapat menggambarkan perilaku komputer general- pur -
pose.
Kelompok 5 Tuple Agenda Style
Mesin Turing terdiri dari 7 buah tuple yang dimana M = (Q, Σ, Γ, δ ,q0,B, F)
• M = Mesin Turing
• Q = Himpunan berhingga state dari finite control state (q0, q1,…atau p0, p1,...)
• Σ = Himpunan semua simbol-simbol masukan
• Γ = Himpunan simbol-simbol yang muncul di pita, Γ selalu menjadi subset dari Σ
• Q0 = State awal, anggota dari Q
• B = Simbol kosong, anggota dari Γ
• F = Himpunan status akhir
• Δ = Fungsi transisi dari state, misalnya δ(q, x) = (p, Y,D) yang dimana :
• q adalah state dalam sel pita yang dilalui
• x adalah simbol pada pita yang dilalui
• p adalah state selanjutnya anggota q
• Y adalah simbol masukkan yang akan menggantikannnilai dari simbol sel pita
• D adalah arah pergerakkan dari head ke kiri atau ke kanan (L/R)
Kelompok 5 Agenda
Permasalahan Style
PALIDIROME
Palindrome adalah suatu kata, kalimat, angka, atau karakter yang jika dibaca dari depan dan
dari belakang hasilnya sama, contoh : nevereven, todderasesareddot, kasur rusak ,
1010110101, 9019109 dan sebagainya. Sedangkan dalam bilangan untuk membuat suatu
palindrome adalah sangat sederhana yaitu kita jumlahkan bilangan palindrome satu dengan
kebalikan palindrome lain dan dijumlahkan terus menerus sampai terbentuk bilangan palin-
drome. Misalnya 94 + 49 = 143, 143 + 341 = 484
Kelompok 5 Agenda
Desain Mesin TuringStyle
Desain Satu Pita Algoritma yang dibuat adalah :
Design mesin turing satu pita untuk palin- • Inisialisi yaitu tempatkan head pada
drome biner Pada bagian ini akan di de- pita di bagian ujung kiri pada bilangan
sign sebuah mesin turing satu pita yang biner pertama, terima jika pita terdiri
mana akan menerima masukkan bilangan dari simbol kosong
biner palindrome 1101011. • Periksa bilangan biner pertama, sim-
Mesin turing pengenal bahasa Lpal = {X pan ganti dengan simbol kosong
∈ (0,1)*}, dimana Lpal adalah palindrome • Gerakkan head ke kanan sampai
dapat ditulis sebagai ketemu simbol kosong periksa bilan-
berikut M = (Q, Σ, Γ, δ ,q0,B, F) dimana : gan biner yang terakhir jika sama
Γ = (0,1,B), dengan bilangan biner pertama hapus,
Σ = (0,1), ganti dengan simbol kosong dan ke-
Q0 = i, mudian ke langkah a.
F = u, • Jika tidak sama berhenti masukan
B = Simbol blank tidak diterima
Q = (i, p0, p1, r0, r1, t, u).
Kelompok 5 Fungsi - Agenda
Fungsi Style
Fungsi State Fungsi Transisi
i = State inisial (awal) δ(i, B) = (u,B,R) terima jika pita terdiri dari simbol blank
p0 = Mencari simbol 0 pada RS (ba- δ(i, 0) = (p0,B,R) hapus simbol 0 pada LS, cari 0 pada RS
gian kanan paling akhir dari input) δ(i, 1) = (p1,B,R) hapus simbol 0 pada LS, cari 1 pada RS
p1 = Mencari simbol 1 pada RS δ(p0, 0) = (p0,0,R)
r0 = Menemukan RS, periksa apakah δ(p0, 1) = (p0,1,R) gerak ke kanan sampai ketemu RS
0 δ(p1, 0) = (p1,0,R) gerak ke kanan sampai ketemu RS
r1 = Menemukan RS, periksa apakah δ(p1, 1) = (p1,1,R)
1 δ(p0, B) = (r0,B,L) ketemu RS
t = Kembali ke LS (bagian kiri paling δ(p1, B) = (r1,B,L) ketemu RS
ujung dari input) δ(r0, 0) = (t ,B,L) periksa RS = 0, Hapus simbol 0
u = State akhir (diterima) δ(r1, 1) = (t ,B,L) periksa RS = 1, Hapus simbol 1
δ(r0, B) = (u,B,R) terima jika pita terdiri dari simbol bl
δ(r1, B) = (u,B,R) terima jika pita terdiri dari simbol bl
δ(t, 0) = (t,0,L) gerak ke kiri sampai ketemu LS
δ(t, 1) = (t,1,L) gerak ke kiri sampai ketemu LS
δ(t, B) = (i,B,R) ketemu LS, kembali ke state i
Contoh Permasalahan
PALIDIROME
Rangkaian deskripsi untuk bilangan biner palindrome
dengan Mesin Turing satu pita 1101011BB…
i1101011BB Bp1101011BB B1p101011BB
  0 1 B B10p11011BB B101p1011BB B1010p111BB
B10101p11BB B101011p1BB B10101r11BB
i (p0,B,R) (p1,B,R) (u,B,R)
B1010t1BBB B101t01BBB B10t101BBB
B1t0101BBB Bt10101BBB tB10101BBB
p0 (p0,0,R) (p0,1,R) (r0,B,L)
Bi10101BBB BBp10101BBB BB0p1101BBB
BB01p101BBB BB010p11BBB BB0101p1BBB
p1 (p1,0,R) (p1,1,R) (r1,B,L)
BB010r11BBB BB01t0BBBB BB0t10BBBB
BBt010BBBB BtB010BBBB BBi010BBBB
r0 (t ,B,L)   (u,B,R)
BBBp010BBBB BBB1p00BBBB BBB10p0BBBB
r1   (t ,B,L) (u,B,R) BBB1r00BBBB BBBt1BBBBB BBtB1BBBBB

t (t,0,L) (t,1,L) (i,B,R) BBBi1BBBBB BBBBp1BBBBB BBBr1BBBBBB


BBBBuBBBBB Diterima
Kelompok 5 Agenda
Desain Mesin TuringStyle
Desain Tiga Pita
Design sebuah mesin turing tiga pita Pergerakkan head L,R,S = left, right,
yang mana akan menerima masukkan bi- stay
langan biner palindrome 1101011. Dimana pita satu akan menjadi ma-
Mesin turing tiga pita pengenal bahasa sukkan dari bilangan biner, pita 2
palindrome: akan memeriksa apakah masukkan
adalah palindrome sedangkan pita 3
• Lpal = {X ∈ (0,1)* : PAL (X) = 1} akan memberikan hasil jika bernilai 1
• 3 pita M = (Q, Γ, δ) dimana : maka masukkan adalah bilangan
• Γ = (0,1, ►, ■), palindrome atau jika bernilai 0 maka ma-
• ► = simbol awal sukkan bukan palindrome Algoritma yang
• ■ = simbol blank dibuat adalah :
• Q = (qstart, qcopy,qleft, qtest, • Masukkan bilangan ke pita input
qhalt), X ∈ (0,1)* • Salin semua bilangan dari pita input
• PAL(X) = 1, jika X adalah palin- ke pita work
drome • Gerakkan head dari pita input ke po-
• Pita 1 = pita input sisi simbol awal
• Pita 2 = pita work • Pada setiap gerakkan, geser head
• Pita 3 = pita output dari pita input ke kanan, head
pada pita work ke kiri dan kemu-
dian periksa simbol yang sama
qstart = head pada semua pita pada simbol awal
qcopy = salin nilai dari pita input ke pita work
• Inisial awal, posisi tiap head pada se-
Q Input work output Q' (L,R,S )
mua pita adalah simbol awal ►.
• Head dari pita input bergerak ke kanan tape tape tape
dan berganti state menjadi qcopy, head
pada pita work gerak ke kanan , head qstart ► ► ► qcopy (R,R,S)
pita output tidak bergerak tetap pada
posisi semula (stay). qcopy 1 1 - qcopy (R,R,S)
• Nilai dari pita input akan disalin ke pita
work lalu kedua head pita bergerak qcopy 0 0 - qcopy (R,R,S)
kekanan sampai head pita input berada
pada simbol ■, pita output tetap tidak qcopy ■ - - qleft (S,S,S)
bergerak.
• Jika head pada pita input ketemu simbol
■ maka head pita work berhenti dan
state berganti menjadi qleft, perger-
akkan head tidak ada disetiap pita.
Input tape ► 1 1 0 1 0 1 1 ■ ■

Work tape ► ■ ■ ■ ■ ■ ■ ■ ■ ■

Output tape ► ■ ■ ■ ■ ■ ■ ■ ■ ■

State qstart

Input tape ► 1 1 0 1 0 1 1 ■ ■
Input tape ► 1 1 0 1 0 1 1 ■ ■
Work tape ► 1 ■ ■ ■ ■ ■ ■ ■ ■

Work tape ► 1 1 0 1 0 1 1 ■ ■
Output tape ► ■ ■ ■ ■ ■ ■ ■ ■ ■

State qcopy
Output tape ► ■ ■ ■ ■ ■ ■ ■ ■ ■

State qleft
qleft = gerakkan head pita input ke kiri sampai ketemu simbol awal

• Head pada pita input akan bergerak


Q Input work output Q' (L,R,S )
terus ke arah kiri sampai ketemu simbol
tape tape tape
►. Head pita work dan pita output tetap
pada posisi
• Jika head pita input sudah berada pada qleft 0 - - qleft (L,S,S )
simbol ► maka state berubah menjadi
qtest qleft 1 - - qleft (L,S,S )

qleft ► - - qleft (S,S,S )

Input tape ► 1 1 0 1 0 1 1 ■ ■

Work tape ► 1 1 0 1 0 1 1 ■ ■

Output tape ► ■ ■ ■ ■ ■ ■ ■ ■ ■

State qtest
• Gerakkan head pita input ke kanan ke-
Q Input work output Q' (L,R,S )
mudian bandingkan nilai dari pita input tape tape tape
dengan pita work
• Jika nilai pita input sama dengan pita qtest ► - - qtest (R,S,S)
work maka head pita input akan berg- qtest 1 - 0 qhalt (S,S,S)
erak terus ke arah kanan dan head
qtest 1 0 - qtest (R,L,S)
pada pita work akan bergerak ke kiri
• Jika nilai pita input tidak sama dengan qtest 0 1 0 qhalt (S,S,S)
pita work maka berhenti, status berubah qtest 0 1 - qtest (R,L,S)
ke state qhalt dan head pada pita output
qtest ■ 0 1 qhalt (S,S,S)
bergerak ke kanan dan member nilai 0
yang berarti input tidak diterima (bukan
palindrome)
• Jika head pita input sudah berada pada
simbol ■.dan head pita work pada sim-
bol ►, maka head pada pita output
akan bergerak ke kanan dan memberi
nilai 1 yang berarti input diterima (palin-
drome).
Input tape ► 1 1 0 1 0 1 1 ■ ■

Work tape ► 1 1 0 1 0 1 1 ■ ■

Output tape ► ■ ■ ■ ■ ■ ■ ■ ■ ■

State qtest

Input tape ► 1 1 0 1 0 1 1 ■ ■
Input tape ► 1 1 0 1 0 1 1 ■ ■
Work tape ► 1 1 0 1 0 1 1 ■ ■

Work tape ► 1 1 0 1 0 1 1 ■ ■
Output tape ► ■ ■ ■ ■ ■ ■ ■ ■ ■

State qtest
Output tape ► 1 ■ ■ ■ ■ ■ ■ ■ ■

State qhalf : Accepted


Sesi Tanya Jawab!!!

Silahkan
Tanyakan Apa

? ? ? ?
yang belum di
mengerti!!!
Thank you
Semoga di Mengerti

Anda mungkin juga menyukai