1.
1.
PENGERTIAN MESIN TURING DAN PENGERTIAN MESIN TURING DAN CONTOH-CONTOH MESIN TURINGCONTOH-CONTOH MESIN TURINGMesin Turing adalah
Mesin Turing adalah model yang sangat sederhana dari model yang sangat sederhana dari komputer. komputer. Secara esensial, mesinSecara esensial, mesin Turing adalah sebuah
Turing adalah sebuah finitefinite automatonautomaton yang miliki sebuah yang miliki sebuah tapetape tunggal dengan panjang tak tunggal dengan panjang tak terhingga yang dapat membaca
terhingga yang dapat membaca dan menulis data. dan menulis data. Mesin Turing menggunakan Mesin Turing menggunakan notasi sepertinotasi seperti ID-ID pada PDA untuk menyatakan konigurasi dari komputasinya.
ID-ID pada PDA untuk menyatakan konigurasi dari komputasinya. Stack Stack pada PDA memiliki pada PDA memiliki keterbatasan akses.
keterbatasan akses. !lemen yang dapat diaks!lemen yang dapat diakses hanya elemen yes hanya elemen yang ada pada topang ada pada top stack stack . Pada. Pada Mesin Turing, memori akan berupa suatu
Mesin Turing, memori akan berupa suatu tapetape yang pada dasarnya merupakan array dari sel- yang pada dasarnya merupakan array dari sel-sel penyimpanan.
sel penyimpanan.
"isualisasi dari sebuah mesin Turing diberikan oleh gambar berikut# "isualisasi dari sebuah mesin Turing diberikan oleh gambar berikut#
Mesin terdiri dari sebuah
Mesin terdiri dari sebuah finite control finite control , yang dapat berada dalam sebuah himpunan berhingga, yang dapat berada dalam sebuah himpunan berhingga dari
dari statestate. . Terdapat Terdapat sebuahsebuah tapetape yang di yang dibagi ke dalam bagi ke dalam kotak-kotak atau sel-skotak-kotak atau sel-sel. el. Setiap selSetiap sel dapat menampung sebuah dari sej
dapat menampung sebuah dari sejumlah berhingga dari simbol. umlah berhingga dari simbol. Pada a$alnya, input yangPada a$alnya, input yang merupakan string dari simbol dengan panjang berhingga dipilih dari
merupakan string dari simbol dengan panjang berhingga dipilih dari input alphabet input alphabet , ditempatkan, ditempatkan pada
pada tapetape. Sel-sel. Sel-sel tapetape yang lain, perluasan secara yang lain, perluasan secara infiniteinfinite ke kiri dan ke kanan, pada a$alnya ke kiri dan ke kanan, pada a$alnya menampung simbol khusus yang dinamakan
menampung simbol khusus yang dinamakan blank blank .. Blank Blank bukan sebuah bukan sebuah input symbol input symbol , dan, dan mungkin terdapat simbol
mungkin terdapat simbol tapetape yang lain disamping yang lain disamping input symbol input symbol dan dan blank blank . . Terdapat Terdapat sebuahsebuah tape head
tape head yang selalu ditempatkan pada salah satu dari sel-sel yang selalu ditempatkan pada salah satu dari sel-sel tapetape. . Mesin Mesin turing turing dikatakandikatakan
men-men-scanscan sel tersebut. Pada a$alnya, sel tersebut. Pada a$alnya, tapetape head head berada pada sel paling kiri yang menampung berada pada sel paling kiri yang menampung input. Sebuah pergerakan mesin Turing adalah sebuah ungsi dari
input. Sebuah pergerakan mesin Turing adalah sebuah ungsi dari statestate dari dari finite controlfinite control dandan tape symbol
tape symbol yang di- yang di-scanscan..
Dalam satu pergerakan, mesin Turing akan# Dalam satu pergerakan, mesin Turing akan#
••
Merubah stateMerubahstate.. Next Next statestate dapat sama dengan dapat sama dengan current current statestate..••
Menulis sebuah tape symbolMenulis sebuahtape symbol dalam sel yang di-dalam sel yang di-scanscan.. TapeTape symbol ini mengganti symbol ini mengganti symbol apapun yang adasymbol apapun yang ada dalam sel tersebut. dalam sel tersebut. Secara opsional, simbol ySecara opsional, simbol yang dituliskanang dituliskan dapat sama dengan simbol yang sekarang ada dalam
dapat sama dengan simbol yang sekarang ada dalam tapetape..
••
Memindahkan tapeMemindahkantape head head ke kiri atau ke kanan. ke kiri atau ke kanan.Notasi formal Mesin Turin Notasi formal Mesin Turin
Mesin Turing dijelaskan oleh %-Mesin Turing dijelaskan oleh %-tupletuple## M & '(, S, ), d, *
M & '(, S, ), d, *++, , , ,
/omponen-komponennya adalah# /omponen-komponennya adalah#
••
(# (# 0impunan 0impunan berhingga berhingga daridari statestate dari dari finite control finite control ..••
S# himpunan berhingga dari simbol-simbol input.S# himpunan berhingga dari simbol-simbol input.••
)# 0impunan dari tape symbol )# 0impunan dari tape symbol . . S merupakan S merupakan subset dari subset dari ).). d#d# ungsi ungsi transisi. transisi. Argumen Argumen d'*, d'*, 1 1 adalah adalah sebuahsebuah statestate * dan sebuah * dan sebuah tape symbol tape symbol 1. 1. 2ilai2ilai dari d'*, 1, jika nilai tersebut dideinisikan, adalah triple 'p, 3, D, dimana#
dari d'*, 1, jika nilai tersebut dideinisikan, adalah triple 'p, 3, D, dimana#
••
p adalah next p adalahnext statestate dalam ( dalam (••
3 adalah simbol, dalam ), ditulis dalam sel yang sedang di-3 adalah simbol, dalam ), ditulis dalam sel yang sedang di-scanscan, menggantikan simbol, menggantikan simbol apapun yang ada dalam sel tersebut.apapun yang ada dalam sel tersebut.
••
D adalah arah, berupa 4 atau 5, berturut-turut menyatakanD adalah arah, berupa 4 atau 5, berturut-turut menyatakan left left atau atau right right , dan, dan menyatakan arah dimanamenyatakan arah dimana head head bergerak. bergerak. *
*++# start# start statestate, sebuah anggota dari (, dimana pada saat a$al, sebuah anggota dari (, dimana pada saat a$al finite control finite control ditemukan. ditemukan.
# simbol
# simbol blank blank . . Simbol ini ada dalam Simbol ini ada dalam ) tapi tidak dalam S, ) tapi tidak dalam S, yaitu bukan sebuah yaitu bukan sebuah simbol input.simbol input. # himpunan dari inal
# himpunan dari inal statestate, subset dari (., subset dari (.
Des!ri"si
ID digunakan untuk mengetahui apa
ID digunakan untuk mengetahui apa yang mesin Turing yang mesin Turing kerjakan. kerjakan. ID direpresentasikan olehID direpresentasikan oleh string 1
string 166117711889 19 1i-6i-6*1*1ii11i:6i:6 9 1 9 1nn, dimana#, dimana#
;
; * * adalahadalah statestate dari TM dari TM ;
; Tape head men-Tape head men-scanscan simbol ke-i dari kiri. simbol ke-i dari kiri. ;
; 11661177 91 91nn adalah bagian dari adalah bagian dari tapetape di antara di antara nonblank nonblank pada sel paling kiri dan paling pada sel paling kiri dan paling
kanan. kanan.
Pergerakan TM M & '(, S, ), d, *
Pergerakan TM M & '(, S, ), d, *++, , dinyatakan oleh notasi, , dinyatakan oleh notasi
├
├
atau atau├
├
..├
├
<<MM atau atau├
├
<<digunakan untuk menunjukkan nol, satu atau lebih pergerakan dari TM. digunakan untuk menunjukkan nol, satu atau lebih pergerakan dari TM. Anggap d'*, 1
Anggap d'*, 1ii & 'p, 3, 4, & 'p, 3, 4, yaitu pergerakan selanjutnya adalah kyaitu pergerakan selanjutnya adalah ke kiri. e kiri. MakaMaka
1
16611779 19 1i-6i-6*1*1ii11i:6i:6 9 1 9 1nn
├
├
1 16611779 19 1i-7i-7p1p1i-6i-6 31 31i:6i:6 9 1 9 1nnPergerakan ini menyatakan perubahan ke
Pergerakan ini menyatakan perubahan ke statestate p. p. TapeTape head head sekarang diposisikan di sel i-6. sekarang diposisikan di sel i-6. =ika i & n dan 3 & maka simbol yang ditulis pada 1n berhubungan dengan urutan tak =ika i & n dan 3 & maka simbol yang ditulis pada 1n berhubungan dengan urutan tak hingga dari
hingga dari blank blank --blank blank yang mengi yang mengikuti dan tidak kuti dan tidak muncul dalam muncul dalam ID selanjutnya. ID selanjutnya. DenganDengan demikian
demikian
1617 91n-6 * 1n
1617 91n-6 * 1n
├
├
16179 1n-7p 1n-6 16179 1n-7p 1n-6 Terdapat dua pengecualian#Terdapat dua pengecualian# ;
; =ika =ika i&6, i&6, maka maka M M bergerak bergerak keke blank blank ke bagi ke bagian kiri dari an kiri dari 16. 16. Dalam kasus Dalam kasus ini,ini, *1
*1661177 91 91nn
├
├
p31 p31779 19 1nn;
; =ika =ika i i & & n n dan dan 3 3 & & maka maka simbol simbol yang yang ditulis ditulis pada pada 1n 1n berhubungan berhubungan dengan dengan urutanurutan tak hingga dari
tak hingga dari blank blank --blank blank yang yang mengikuti dan tidak mengikuti dan tidak muncul dalam muncul dalam ID selanjutnya. ID selanjutnya. DenganDengan demikian
demikian 1
1661177 91 91n-6n-6 * 1 * 1nn
├
├
1 16611779 19 1n-7n-7p 1p 1n-6n-6Anggap d'*, 1i & 'p, 3
Anggap d'*, 1i & 'p, 3, 5, yaitu pergerakan sel, 5, yaitu pergerakan selanjutnya adalah ke kanan. anjutnya adalah ke kanan. MakaMaka 1
16611779 19 1i-6i-6*1*1ii11i:6i:6 9 1 9 1nn
├
├
1 16611779 19 1i-6i-6 3p1 3p1i:6i:6 9 1 9 1nnTape
Tape head head telah bergerak telah bergerak ke sel ike sel i:6. :6. Terdapat dua pengecualian#Terdapat dua pengecualian# ;
; =ika =ika i i & & n, n, maka maka sel sel ke-i:6 ke-i:6 menampung menampung sebuahsebuah blank blank , dan sel tersebut bukan bagian, dan sel tersebut bukan bagian dari ID
dari ID sebelumnya. sebelumnya. Dengan demikiDengan demikianan 1
1661177 9 1 9 1n-6n-6 *1 *1nn
├
├
1 166 1 1779 19 1n-6n-63p3p;
; =ika =ika i i & & 6 6 dan dan 3 3 & & maka maka simbol simbol yang yang ditulis ditulis pada pada 16 16 berhubungan berhubungan dengan dengan urutanurutan tak hingga dari
tak hingga dari blank blank --blank blank dan tidak dan tidak muncul dalam muncul dalam ID selanjutnya. ID selanjutnya. Dengan demikianDengan demikian *1
*1661177 91 91nn
├
├
p1 p1779 19 1nnDiaram Transisi untu! Mesin Turin Diaram Transisi untu! Mesin Turin
Diagram transisi terdiri dari sebuah himpunan dari
Diagram transisi terdiri dari sebuah himpunan dari nodenode--nodenode yang menyatakan yang menyatakan statestate--statestate dari dari Mesin Turing .sebuah arc dari
Mesin Turing .sebuah arc dari statestate * ke * ke statestate p diberi label oleh satu atau lebih item dengan p diberi label oleh satu atau lebih item dengan bentuk 1>3 D, dimana 1 dan 3 adalah
bentuk 1>3 D, dimana 1 dan 3 adalah tapetape symbol, dan D adalah arah, kiri '4 atau kanan '5. symbol, dan D adalah arah, kiri '4 atau kanan '5. ah$a bila d'*, 1 & 'p, 3, D diperoleh label 1>3 D pada arc dari * ke p. Dalam diagram arah D ah$a bila d'*, 1 & 'p, 3, D diperoleh label 1>3 D pada arc dari * ke p. Dalam diagram arah D dinyatakan dengan tanda ? untuk @
dinyatakan dengan tanda ? untuk @left left dan B untuk @ dan B untuk @right right . Start. Start statestate ditandai dengan kata ditandai dengan kata @start dan sebuah panah yang masuk ke dalam
@start dan sebuah panah yang masuk ke dalam statestate tersebut. tersebut. Final Final statestate ditandai dengan ditandai dengan putaran ganda.
putaran ganda. Contoh:
Contoh: Mesin Tu
Mesin Turing berikut ring berikut menghitungan ungsi menghitungan ungsi , yang , yang dinamakan dinamakan monus ataumonus atau proper proper substractionsubstraction.. ungsi
ungsi ini diini dideinisikan oldeinisikan oleh eh m m n & n & maC'm maC'm ; ; n, +. n, +. ah$a, m ah$a, m n & n & m ; m ; n jn jika m ika m n dan n dan + jik+ jikaa m E n.
m E n. Mesin Turing yMesin Turing yang melakukan operasi ini ang melakukan operasi ini adalahadalah M & 'F*
M & 'F*++, *, *66, 9 , *, 9 , *GGH, F+, 6H, F+, 6, H, d, *H, F+, 6H, F+, 6, H, d, *++, ,
Aturan untuk ungsi transisi d# Aturan untuk ungsi transisi d#
Diagram transisi dari mesin Turing M# Diagram transisi dari mesin Turing M#
Daftar Pustaka Daftar Pustaka
=ohn !. 0opcrot, 5ajee Mot$ani, =erey D. Jllman. 7++6.
=ohn !. 0opcrot, 5ajee Mot$ani, =erey D. Jllman. 7++6. ntroduction to !utomata Theory"ntroduction to !utomata Theory" #anguange" and Computation
#anguange" and Computation. . !disi !disi ke-7. ke-7. Addison-KesleyAddison-Kesley
CONTOH-CONTOH MESIN TURING CONTOH-CONTOH MESIN TURING
Stack 'tumpukan yang terdapat pada PDA memiliki keterbatasan kemampuan akses, yaituStack 'tumpukan yang terdapat pada PDA memiliki keterbatasan kemampuan akses, yaitu
hanya mengakses data yang terdapat pada top > puncak dari stack. hanya mengakses data yang terdapat pada top > puncak dari stack.
Jntuk melakukan akses pada bagian yang lebih rendah dari puncak stack, harusJntuk melakukan akses pada bagian yang lebih rendah dari puncak stack, harus
memindahkan bagian di atasnya 'pop, yang mana akan menyebabkan bagian tersebut memindahkan bagian di atasnya 'pop, yang mana akan menyebabkan bagian tersebut hilang.
hilang.
Pada mesin Turing, memori berupa suatu pita yang pada dasarnya berupa array 'deretanPada mesin Turing, memori berupa suatu pita yang pada dasarnya berupa array 'deretan
sel-sel penyimpanan. Setiap sel mampu menyimpan sebuah simbol tunggal. sel-sel penyimpanan. Setiap sel mampu menyimpan sebuah simbol tunggal.
Pita tersebut tidak mempunyai sel pertama dan sel terakhir. Pita dapat memuat inormasiPita tersebut tidak mempunyai sel pertama dan sel terakhir. Pita dapat memuat inormasi
dalam jumlah tak terbatas, dan dapat diakses bagian manapun dari pita dengan urutan dalam jumlah tak terbatas, dan dapat diakses bagian manapun dari pita dengan urutan bagaimanapun.
bagaimanapun.
Terdapat sebuah head yang menunjukkan posisi yang diakses pada pita. 0ead dapatTerdapat sebuah head yang menunjukkan posisi yang diakses pada pita. 0ead dapat
bergerak ke kanan atau ke kiri untuk membaca input dari pita dan sekaligus juga bisa bergerak ke kanan atau ke kiri untuk membaca input dari pita dan sekaligus juga bisa melakukan penulisan pada pita>mengubah isi pita.
melakukan penulisan pada pita>mengubah isi pita.
Mesin Turing bisa dianalogikan seperti komputer sederhana, dengan sejumlah stateMesin Turing bisa dianalogikan seperti komputer sederhana, dengan sejumlah state
sebagai memori, pita sebagai secondary storage, ungsi transisi sebagai program. sebagai memori, pita sebagai secondary storage, ungsi transisi sebagai program.
Sebuah mesin Turing secara ormal dinyatakan dalam % tupel, yaitu M & '(, L, , N, S, , bSebuah mesin Turing secara ormal dinyatakan dalam % tupel, yaitu M & '(, L, , N, S, , b
dimana # dimana #
( & himpunan state ( & himpunan state
L & himpunan simbol input L & himpunan simbol input
& simbol pada pita 'meliputi pula blank & simbol pada pita 'meliputi pula blank N & ungsi transisi
N & ungsi transisi S & state a$al, S S & state a$al, S ∈∈ ( (
& himpunan state akhir, & himpunan state akhir, ⊆⊆ ( (
b & simbol kosong 'blank
b & simbol kosong 'blank
��
��
bukan bagian dari L, b bukan bagian dari L, b∉∉LLagian dari pita yang belum ditulisi dianggap berisi simbol b 'blank agian dari pita yang belum ditulisi dianggap berisi simbol b 'blank
Oontoh #Oontoh #
Misal terdapat mesin Turing # Misal terdapat mesin Turing # ( & F*6,*7H ( & F*6,*7H L & Fa,bH L & Fa,bH & Fa,b, b & Fa,b, b & F*7H & F*7H S & F*6H S & F*6H
ungsi transisinya # Pergerakan mesin Turing # 5 & right'kanan, 4 & let 'kiri ungsi transisinya # Pergerakan mesin Turing # 5 & right'kanan, 4 & let 'kiri N '*6,a & '*6,a,5
N '*6,a & '*6,a,5
��
��
pada state *6, head menunjuk karakter aQ pada pita, menjadi state *6, pada state *6, head menunjuk karakter aQ pada pita, menjadi state *6, headhead
bergerak ke kanan bergerak ke kanan N '*6,b & '*6,a,5
N '*6,b & '*6,a,5
��
��
pada state *6, head menunjuk karakter bQ pada pita, menjadi state *6, pada state *6, head menunjuk karakter bQ pada pita, menjadi state *6, headhead
menulis karakter aQ lalu bergerak ke kanan menulis karakter aQ lalu bergerak ke kanan N '*6, b & '*7, b ,4
N '*6, b & '*7, b ,4
��
��
pada state *6, head menunjuk karakter b Q pada pita menjadi state pada state *6, head menunjuk karakter b Q pada pita menjadi state *7,*7,
head bergerak ke kiri head bergerak ke kiri
Perhatian # pada mesin Turing Perhatian # pada mesin Turing N '*,C & '*,y,)
N '*,C & '*,y,)
bila C ER y, maka head akan menulis simbol y 'menimpa C sebelum bergerak sesuai ) bila C ER y, maka head akan menulis simbol y 'menimpa C sebelum bergerak sesuai ) 'kiri > kanan
'kiri > kanan
=adi berdasarkan ungsi transisi diatas, maka mesin Turing beroperasi seperti berikut # =adi berdasarkan ungsi transisi diatas, maka mesin Turing beroperasi seperti berikut # 0ead ditunjukkan dengan
0ead ditunjukkan dengan 6.
6. MisMisal pial pita yta yang aang akan kan dibdibaca aca # ab# abbaabaaQQ a a b b b b a a a a state *6 state *6
ungsi transisi N '*6,a & '*6,a,5 menyebabkan head bergerak ke kanan ungsi transisi N '*6,a & '*6,a,5 menyebabkan head bergerak ke kanan 7. 7. a a b b b b a a a a state *6 state *6
ungsi transisi N '*6,b & '*6,a,5 menyebabkan head menulis aQ lalu bergerak ke kanan ungsi transisi N '*6,b & '*6,a,5 menyebabkan head menulis aQ lalu bergerak ke kanan 8. 8. a a a a b b a a a a state *6 state *6
ungsi transisi N '*6,b & '*6,a,5 menyebabkan head menulis aQ lalu bergerak ke kanan ungsi transisi N '*6,b & '*6,a,5 menyebabkan head menulis aQ lalu bergerak ke kanan . . a a a a a a a a a a state *6 state *6
ungsi transisi N '*6,a & '*6,a,5 menyebabkan head bergerak ke kanan ungsi transisi N '*6,a & '*6,a,5 menyebabkan head bergerak ke kanan . . a a a a a a a a a a state *6 state *6
ungsi transisi N '*6,a & '*6,a,5 menyebabkan head bergerak ke kanan ungsi transisi N '*6,a & '*6,a,5 menyebabkan head bergerak ke kanan G. G. a a a a a a a a a a b b state *6 state *6
0ead menunjuk b, karena bagian pita yang belum ditulisi dianggap berisi b 0ead menunjuk b, karena bagian pita yang belum ditulisi dianggap berisi b ungsi transisi N '*6, b & '*7, b ,4 menyebabkan head bergerak ke kiri ungsi transisi N '*6, b & '*7, b ,4 menyebabkan head bergerak ke kiri %. %. a a a a a a a a a a b b state *7 state *7
Tidak ada transisi lagi dari state *7, mesin Turing akan berhenti 'halt state Tidak ada transisi lagi dari state *7, mesin Turing akan berhenti 'halt state /arena state *7 termasuk state akhir berarti input tersebut diterima
/arena state *7 termasuk state akhir berarti input tersebut diterima
Oontoh #Oontoh #
Misal konigurasi mesin Turing # Misal konigurasi mesin Turing # ( & F*+,*6,*7,*8,*H ( & F*+,*6,*7,*8,*H L & F+,6H L & F+,6H & F+,6,1,3, b & F+,6,1,3, b & F*H & F*H S & F*+H S & F*+H
ungsi transisinya dalam bentuk tabel sebagai berikut # ungsi transisinya dalam bentuk tabel sebagai berikut # N N + + 6 6
1 1 3 3 b b *+ *+ '*6,1,5 '*6,1,5 --'*8,3,5 '*8,3,5 --*6 *6 '*6,+,5 '*6,+,5 '*7,3,4 '*7,3,4 --'*6,3,5 '*6,3,5 --*7 *7 '*7,+,4 '*7,+,4 --'*+,1,5 '*+,1,5 '*7,3,4 '*7,3,4 --*8 *8 --'*8,3,5 '*8,3,5 '*, b ,4 '*, b ,4 * *
--6. Misal pita yang akan dibaca # ++66Q 6. Misal pita yang akan dibaca # ++66Q + + + + 6 6 6 6 state *+ state *+ %. %. 1 1 + + 6 6 6 6 state *6 state *6 &. &. 1 1 + + 6 6
6 6 state *6 state *6 '. '. 1 1 + + 3 3 6 6 state *7 state *7 (. (. 1 1 + + 3 3 6 6 state *7 state *7 ). ). 1 1 + + 3 3 6 6 state *+ state *+ *. *. 1 1 1 1 3 3 6 6 state *6 state *6 +. +. 1 1 1 1 3 3 6 6 state *6 state *6 ,. ,. 1 1 1 1 3 3 3 3 state *7 state *7 1. 1. 1 1 1 1 3 3 3 3 state *7 state *7
11. 11. 1 1 1 1 3 3 3 3 state *+ state *+ 1%. 1%. 1 1 1 1 3 3 3 3 state *8 state *8 1&. 1&. 1 1 1 1 3 3 3 3 state *8 state *8 1'. 1'. 1 1 1 1 3 3 3 3 b b state * state *
Tidak ada transisi lagi dari state *, mesin Turing berhenti dan karena state * termasuk state Tidak ada transisi lagi dari state *, mesin Turing berhenti dan karena state * termasuk state akhir, maka input tersebut diterima.
akhir, maka input tersebut diterima. D!S/5IPSI S!/!TI/A PADA M!SI2
D!S/5IPSI S!/!TI/A PADA M!SI2 TJ5I2)TJ5I2)
Tahapan transisi nomor '6 sampai '6 pada contoh diatas dapat dinyatakan dalamTahapan transisi nomor '6 sampai '6 pada contoh diatas dapat dinyatakan dalam
notasi yang disebut deskripsi seketika 'instantaneous description. notasi yang disebut deskripsi seketika 'instantaneous description.
Deskripsi seketika diperlukan untuk menyatakan secara ormal konigurasi mesin TuringDeskripsi seketika diperlukan untuk menyatakan secara ormal konigurasi mesin Turing
pada suatu saat. pada suatu saat.
Perubahan dari suatu kondisi ke berikutnya dipisahkan dengan tanda U Jntuk simbolPerubahan dari suatu kondisi ke berikutnya dipisahkan dengan tanda U Jntuk simbol
head ditulis dengan garis ba$ah VQ head ditulis dengan garis ba$ah VQ
=adi tahapan no. 6 sampai 6 dapat dinyatakan sebagai berikut #=adi tahapan no. 6 sampai 6 dapat dinyatakan sebagai berikut #
'*+,++66 U '*6,1+66 '*6,1+66 '*7,1+36 '*7,1+36 '*+,1+36 '*6,1136 '*6,1136 '*+,++66 U '*6,1+66 '*6,1+66 '*7,1+36 '*7,1+36 '*+,1+36 '*6,1136 '*6,1136 '*7,1133 '*7,1133 '*+,1133 '*8,1133 '*8,1133 b '*,1133 b
'*7,1133 '*7,1133 '*+,1133 '*8,1133 '*8,1133 b '*,1133 b
Misal bila mendapat input +66 #Misal bila mendapat input +66 #
'*+,+66 '*6,166 '*7,136 '*+,136 '*8,136 '*+,+66 '*6,166 '*7,136 '*+,136 '*8,136
Tidak ada transisi '*8,6 maka mesin berhenti dan karena *8 tidak termasuk state akhir Tidak ada transisi '*8,6 maka mesin berhenti dan karena *8 tidak termasuk state akhir berarti input tersebut ditolak.
berarti input tersebut ditolak. Sumber #
%.
%.
OTOMATA #OTOMATA # AUTOMATA AUTOMATA$$Wtomata '
Wtomata ' !utomata !utomata
••
Wtomata adalah mesin abstrak yang dapat mengenali 'Wtomata adalah mesin abstrak yang dapat mengenali 'recogni$erecogni$e, menerima ', menerima 'accept accept ,, atau membangkitkan 'atau membangkitkan 'generategenerate sebuah kalimat dalam bahasa tertentu. sebuah kalimat dalam bahasa tertentu.
eberapa Pengertian Dasar # eberapa Pengertian Dasar #
••
SimSimbol bol adaadalah lah sebsebuah uah entientitas tas absabstrak 'sepertrak 'seperti ti halhalnya nya penpengergertiatiann titititikk dalam dalam geomegeometri.tri. Sebuah huru atau sebuah angka adalah contoh simbol.Sebuah huru atau sebuah angka adalah contoh simbol.
••
String adalah deretan terbatas 'String adalah deretan terbatas 'finitefinite simbol-simbol. Sebagai contoh, jika simbol-simbol. Sebagai contoh, jika aa,, bb, dan, dan cc adalahadalah titiga ga bubuah ah sisimbmbol ol mamakaka aabbccbb adaadalah lah sebsebuah uah strstring ing yayang ng dibdibangangun un dardari i ketketiga iga simsimbolbol tersebut.
tersebut.
••
=ika=ika %% adalah sebuah string maka panjang string dinyatakan sebagaiadalah sebuah string maka panjang string dinyatakan sebagai
% %
dan dideinisikan dan dideinisikan sebagai cacahan 'banyaknya simbol yang menyusun string tersebut. Sebagai contoh, jika sebagai cacahan 'banyaknya simbol yang menyusun string tersebut. Sebagai contoh, jika %% && abcbabcb maka maka
% %
& .& .••
StriString ng hamhampa pa adaadalah lah sebsebuah uah strstring ing dendengan gan nol nol buabuah h simsimbolbol. . StrString ing hamhampa pa dindinyayatakatakann dengan simboldengan simbol
εε
'atau X sehingga 'atau X sehinggaε
ε
& +. String hampa dapat dipandang sebagai simbol& +. String hampa dapat dipandang sebagai simbol hampa karena keduanya tersusun dari nol buah simbol.hampa karena keduanya tersusun dari nol buah simbol.
••
Alabet adalah hinpunan hingga 'Alabet adalah hinpunan hingga 'finite set finite set simbol-simbol simbol-simbol Wperasi Dasar StringWperasi Dasar String Diberikan dua string #
Diberikan dua string # x x & & abcabc, dan, dan y y & & &'(&'(
••
Preik stringPreik string % % adalah string yang dihasilkan dari string adalah string yang dihasilkan dari string % % dengan menghilangkan dengan menghilangkan nolnol atauatau lebih simbol-simbol paling belakang dari stringlebih simbol-simbol paling belakang dari string % % tersebut. tersebut. Oontoh #
Oontoh # abcabc,, abab,, aa, dan, dan
εε
adalah semua PreiC' adalah semua PreiC' x x ••
ProperPProperPreiC strireiC stringng %% adaadalah lah strstring ing yanyang g dihdihasiasilkalkan n dardari i strstringing % % dengan menghilangkan dengan menghilangkan satusatu atau lebih simbol-simbol paling belakang dari stringatau lebih simbol-simbol paling belakang dari string % % tersebut. tersebut. Oontoh #
Oontoh # abab,, aa, dan, dan
εε
adalah semua ProperPreiC' adalah semua ProperPreiC' x x ••
PoPoststiiC C 'a'atatau u SuSuiiCC sstrtriingng % % adadalalah ah ststriring ng yyanang g didihahasisilklkan an dadari ri ststriringng % % dengan dengan menghilangkanmenghilangkan nolnol atau lebih simbol-simbol paling depan dari stringatau lebih simbol-simbol paling depan dari string % % tersebut. tersebut. Oontoh #
••
ProperPostiC 'atau PoperSuiC stringProperPostiC 'atau PoperSuiC string % % adalah string yang dihasilkan dari string adalah string yang dihasilkan dari string % % dengan dengan menghilangkanmenghilangkan satusatu atau lebih simbol-simbol paling depan dari stringatau lebih simbol-simbol paling depan dari string % % tersebut. tersebut. Oontoh #
Oontoh # bcbc,, cc, dan, dan
εε
adalah semua ProperPostiC' adalah semua ProperPostiC' x x ••
0ead string0ead string %% adalah simbol paling depan dari stringadalah simbol paling depan dari string % % .. Oontoh #Oontoh # aa adalah 0ead' adalah 0ead' x x
••
TaTail striil stringng %% adaadalah lah strstring yang ing yang dihdihasiasilkalkan n dari strindari stringg % % dengan menghiladengan menghilangkan simbolngkan simbol paling depan dari stringpaling depan dari string %% tersebut.tersebut. Oontoh #
Oontoh # bcbc adalah Tail' adalah Tail' x x
••
SubstriSubstring stringng string % % adalah string yang dihasilk adalah string yang dihasilkan dari stringan dari string % % dengan menghil dengan menghilangkanangkan nolnol atau lebih simbol-simbol paling depan dan>atau simbol-simbol paling belakang dari string atau lebih simbol-simbol paling depan dan>atau simbol-simbol paling belakang dari string %% tersebut.tersebut. Oontoh #
Oontoh # abcabc,, abab,, bcbc,, aa,, bb,, c c, dan, dan
εε
adalah semua Substring' adalah semua Substring' x x ••
ProperSubstring stringProperSubstring string % % adalah string yang dihasilkan dari string adalah string yang dihasilkan dari string % % dengan menghilangkan dengan menghilangkan sasatutu atau lebih simbol-simbol paling depan dan>atau simbol-simbol paling belakang dariatau lebih simbol-simbol paling depan dan>atau simbol-simbol paling belakang dari string
string % % tersebut. tersebut. Oontoh #
Oontoh # abab,, bcbc,, aa,, bb,, c c, dan, dan
εε
adalah semua Substring' adalah semua Substring' x x ••
Subse*Subse*uence stringuence string % % adalah string yang dihasilk adalah string yang dihasilkan dari an dari strinstringg % % dengan menghilangkan dengan menghilangkan nolnol atau lebih simbol-simbol dari stringatau lebih simbol-simbol dari string % % tersebut. tersebut. Oontoh #
Oontoh # abcabc,, ab ab,, bcbc,, acac,, aa,, bb,, c c, dan, dan
εε
adalah semua Subse*uence' adalah semua Subse*uence' x x ••
PrPropoperSerSububsese*u*uenence ce ststriringng % % adadalalah ah ststriring ng yayang ng didihahasisilklkan an dadari ri ststriringng % % dengan dengan menghilangkanmenghilangkan satusatu atau lebih simbol-simbol dari stringatau lebih simbol-simbol dari string % % tersebut. tersebut. Oontoh #
Oontoh # abab,, bcbc,, acac,, aa,, bb,, c c, dan, dan
εε
adalah semua Subse*uence' adalah semua Subse*uence' x x ••
OonOoncatcatenaenatiotion n adaadalah lah penypenyambambungungan an dua dua buabuah h strstringing. . WpeWperatorator r conconcatecatenatnation ion adaadalahlah concateconcate atau tanpa lambang apapun.atau tanpa lambang apapun. Oontoh # concate'
Oontoh # concate' xy xy & & xy xy && abc&'(abc&'(
••
AlteAlternarnatiotion n adaadalah lah pilpilihaihan n satsatu u di di antaantara ra dua dua buabuah h strstringing. . WpeWperatorator r altealternarnatiotion n adaadalahlah alternatealternate atauatau
.. Oontoh # alternate'Oontoh # alternate' xy xy & & x x
y y && abcabc atauatau &'( &'(••
/leene Olosure #/leene Olosure # x x < &< &ε
ε
x x
xx xx
xxx xxx
9 &9 &ε
ε
x x
x x 22
x x 33
99••
Positie Olosure #Positie Olosure # x x ++ & & x x
xx xx
xxx xxx
9 &9 & x x
x x 22
x x 33
99eberapa Siat Wperasi eberapa Siat Wperasi
••
Tidak selalu berlaku #Tidak selalu berlaku # x x & PreiC' & PreiC' x x PostiC'PostiC' x x ••
Selalu berlaku #Selalu berlaku # x x & 0ead' & 0ead' x x Tail'Tail' x x ••
Tidak selalu berlaku # PreiC'Tidak selalu berlaku # PreiC' x x & PostiC' & PostiC' x x atau PreiC' atau PreiC' x x ≠≠
PostiC' PostiC' x x ••
Selalu berlaku # ProperPreiC'Selalu berlaku # ProperPreiC' x x ≠≠
ProperPostiC' ProperPostiC' x x ••
Selalu berlaku # 0ead'Selalu berlaku # 0ead' x x ≠≠
Tail' Tail' x x ••
Setiap PreiC'Setiap PreiC' x x , ProperPreiC', ProperPreiC' x x , PostiC', PostiC' x x , , ProperProperPostiCPostiC'' x x , 0ead', 0ead' x x , dan Tail', dan Tail' x x adalah adalah Substring'Substring' x x , tetapi tidak sebaliknya, tetapi tidak sebaliknya
••
Setiap Substring'Setiap Substring' x x adalah Subse*uence' adalah Subse*uence' x x , tetapi tidak sebaliknya, tetapi tidak sebaliknya••
Dua siat aljabar concatenation #Dua siat aljabar concatenation #♦
♦
Wperasi concatenation bersiat asosiati #Wperasi concatenation bersiat asosiati # x x '' y$ y$ & ' & ' xy xy $ $♦
♦
!lemen identitas operasi concatenation adalah!lemen identitas operasi concatenation adalahεε
# #εε
x x && x xεε
& & x x••
Tiga siat aljabar alternation #Tiga siat aljabar alternation #♦
♦
Wperasi alternation bersiat komutati #Wperasi alternation bersiat komutati # x x
y & y & y y
x x♦
♦
♦
!lemen identitas operasi alternation adalah dirinya sendiri #!lemen identitas operasi alternation adalah dirinya sendiri # x x
x x & & x x••
Siat distributi concatenation terhadap alternation #Siat distributi concatenation terhadap alternation # x x ' ' y y
$ $ & & xy xy
x$ x$••
eberapa kesamaan #eberapa kesamaan #♦
♦
/esamaan ke-6 # ' x /esamaan ke-6 # ' x << &<< & x x <<♦
♦
/esamaan ke-7 #/esamaan ke-7 #ε
ε
x x ++ & & x x ++ε
ε
& & x x <<♦
♦
/esamaan ke-8 # ' x /esamaan ke-8 # ' x
y y < &< &ε
ε
x x
y y
xx xx
yy yy
xy xy
yx yx
9 & semua string yang merupakan9 & semua string yang merupakan concatenation dari nol atau lebihconcatenation dari nol atau lebih x x ,, y y , atau keduanya., atau keduanya.
GRAMMAR DAN AHASA GRAMMAR DAN AHASA
/onsep Dasar /onsep Dasar
••
Anggota alabet dinamakan simbol terminal.Anggota alabet dinamakan simbol terminal.••
/alimat adalah deretan hingga simbol-simbol terminal./alimat adalah deretan hingga simbol-simbol terminal.••
ahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga kalimat.ahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga kalimat.••
Simbol-simbol berikut adalah simbolSimbol-simbol berikut adalah simbol terminalterminal##
huru kecil, misalnya # a, b, c, +, 6, ..huru kecil, misalnya # a, b, c, +, 6, ..
simbol operator, misalnya # :,simbol operator, misalnya # :,
−−
, dan, dan××
simbol simbol tanda baca, tanda baca, misalnya misalnya # '# ', , , , dan dan YY
string yang tercetak tebal, misalnya #string yang tercetak tebal, misalnya # ifif,,t/ent/en, dan, danelseelse..
••
Simbol-simbol berikut adalah simbolSimbol-simbol berikut adalah simbol non terminalnon terminal >"ariabel # >"ariabel #
huru besar, misalnya # A, , Ohuru besar, misalnya # A, , O
huru S sebagaihuru S sebagaisim0ol aalsim0ol aal
string yang tercetak miring, misalnyastring yang tercetak miring, misalnya 22expr expr
••
0uru yunani melambang0uru yunani melambangkan kan strinstring g yang tersusun atas yang tersusun atas simbosimbol-simbl-simbol ol termiterminal ataunal atau simbol-simbol non terminal atau campuran keduanya, misalnya #simbol-simbol non terminal atau campuran keduanya, misalnya #
α
α
,,ββ
, dan, danγ
γ
..••
Sebuah produksi dilambaSebuah produksi dilambangkan sebagaingkan sebagaiα
α →
→ ββ
, artinya # dalam sebuah deriasi dapat, artinya # dalam sebuah deriasi dapat dilakukan penggantian simboldilakukan penggantian simbol
α
α
dengan simbol dengan simbolββ
..••
DeriDeriasi asi adalaadalah h proseproses s pembenpembentukan sebuah tukan sebuah kalimkalimat at atau sentensialatau sentensial. . Sebuah deriasiSebuah deriasi dilambangkan sebagai #dilambangkan sebagai #
α
α ⇒
⇒ ββ
..••
Sentensial Sentensial adalaadalah h string yang string yang tersutersusun sun atas simbol-siatas simbol-simbol terminal mbol terminal atau simbol-siatau simbol-simbolmbol non terminal atau campuran keduanya.non terminal atau campuran keduanya.
••
/al/alimaimat t adaadalah lah stristring ng yanyang g terstersusuusun n atas atas simsimbolbol-sim-simbol bol terterminminal. al. /al/alimaimat t adaadalahlah merupakan sentensial, sebaliknya belum tentu..merupakan sentensial, sebaliknya belum tentu.. )rammar #
)rammar #
)rammar ) dideinisikan sebagai pasangan tuple # "
)rammar ) dideinisikan sebagai pasangan tuple # "TT , , "" N N , S, dan P, dan dituliskan, S, dan P, dan dituliskan
sebagai )'"
"
"TT # # himpunan himpunan simbol-simbol terminal simbol-simbol terminal 'alabet'alabetkamuskamus
"
" N N # himpunan simbol-simbol non terminal# himpunan simbol-simbol non terminal
S
S
∈
∈
"" N N # simbol a$al 'atau simbol start# simbol a$al 'atau simbol startP
P # # hhiimmppuunnaan n pprroodduukkssii Oontoh #
Oontoh # 6.
6. ))66 # # ""TT & F & FI3 I3 4o5e3 4o5e3 Miss3 Miss3 6ou6ouH, "H, " N N & FS,A,,OH, & FS,A,,OH,
P & FS
P & FS
→
→
AO, A AO, A→
→
II, , →
→
4o5e 7 Miss4o5e 7 Miss, O, O→
→
6ou6ouHH S S⇒
⇒
AO AO⇒
⇒
Ilo5e6ouIlo5e6ou 4#G1$89Ilo5e6ou3 IMiss6ou: 4#G1$89Ilo5e6ou3 IMiss6ou: 7. . )7. . )77 # # ""TT & FaH, " & FaH, " N N & FSH, P & FS & FSH, P & FS
→
→
aS aS
aHaHS
S
⇒
⇒
aS aS⇒
⇒
aaS aaS⇒
⇒
aaa aaa 44')')77 &Fa &Fann
n Z 6H n Z 6H4')7&Fa,
/lasiikasi Ohomsky /lasiikasi Ohomsky
erdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya '
erdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya '
α
α →
→ ββ
, 2oam, 2oam Ohomsky mengklasiikasikan tipe grammar #Ohomsky mengklasiikasikan tipe grammar # 6.
6. )ra)rammammar tipe ker tipe ke-+ # Jnre-+ # Jnrestrstricticted )raed )rammmmar 'J)ar 'J) Oiri #
Oiri #
α
α
,,ββ ∈
∈
'" '"TT
"" N N <,<,α
α
R +R +7.
7. )ramm)rammar tiar tipe kepe ke-6 # -6 # OonteCOonteCt Senst Sensitie itie )ramm)rammar 'Oar 'OS)S) Oiri #
Oiri #
α
α
,,ββ ∈
∈
'" '"TT
"" N N <, + E <, + Eα
α ≤≤ β
β
8.
8. )ra)rammammar tipe kr tipe ke-7 # Ooe-7 # OontenteCt reCt ree )rae )rammammar 'Or 'O)) Oiri #
Oiri #
α ∈
α
∈
" " N N ,,ββ ∈
∈
'" '"TT
"" N N <<.
. )ra)rammammar tipr tipe ke-e ke-8 # 5eg8 # 5egulaular )ramr )rammar 'mar '5)5) Oiri #
Oiri #
α ∈
α
∈
" " N N ,,ββ ∈
∈
F" F"TT , ", "TT "" N N H atauH atauα
α ∈
∈
" " N N ,,ββ ∈
∈
F" F"TT , ", " N N ""TT HHTipe sebuah grammar 'atau bahasa ditentukan dengan aturan sebagai berikut # Tipe sebuah grammar 'atau bahasa ditentukan dengan aturan sebagai berikut #
A lanuae is sai; to 0e t<"e-i #i 8 3 13 %3 &$ lanuae if it =an 0e s"e=ifie; 0< A lanuae is sai; to 0e t<"e-i #i 8 3 13 %3 &$ lanuae if it =an 0e s"e=ifie; 0< a t<"e-i rammar 0ut =an>t 0e s"e=ifie; an<
a t<"e-i rammar 0ut =an>t 0e s"e=ifie; an< t<"e-#i?1$ rammar.t<"e-#i?1$ rammar.
Oontoh Analisa Penentuan Type )rammar Oontoh Analisa Penentuan Type )rammar 6
6.. ))rraammmmaar r ))11 dengan P dengan P11 & FS & FS
→
→
a, a, →
→
b, b, →
→
bH. bH.5uas kiri semua produksinya terdiri dari sebuah "
5uas kiri semua produksinya terdiri dari sebuah " NN maka ) maka )11 kemungkinan tipe O) atau kemungkinan tipe O) atau
5). Selanjutnya karena semua ruas kanannya terdiri dari sebuah "
5). Selanjutnya karena semua ruas kanannya terdiri dari sebuah " TT atau string " atau string "TT "" N N
maka )
maka )11 adalah 5)'8. adalah 5)'8.
7
7.. ))rraammmmaar r ))22 dengan P dengan P 2 2 & FS & FS
→
→
a, a, →
→
b, b, →
→
bH. bH.5uas kiri semua produksinya terdiri dari sebuah "
5uas kiri semua produksinya terdiri dari sebuah " NN maka ) maka )22 kemungkinan tipe O) atau kemungkinan tipe O) atau
5). Selanjutnya karena semua ruas kanannya terdiri dari sebuah "
5). Selanjutnya karena semua ruas kanannya terdiri dari sebuah " TT atau string " atau string " N N ""TT
maka )
maka )22 adalah 5)'8. adalah 5)'8.
8
8.. ))rraammmmaar r ))33 dengan P dengan P33 & FS & FS
→
→
a, a, →
→
b, b, →
→
bH. bH.5uas kiri semua produksinya terdiri dari sebuah "
5uas kiri semua produksinya terdiri dari sebuah " NN maka ) maka )33 kemungkinan tipe O) atau kemungkinan tipe O) atau
5). Selanjutnya karena ruas kanannya mengandung string "
5). Selanjutnya karena ruas kanannya mengandung string " TT "" N N 'yaitu b dan juga string 'yaitu b dan juga string
"
" N N ""TT 'a maka ) 'a maka )33 bukan 5), dengan kata lain ) bukan 5), dengan kata lain )33 adalah O)'7. adalah O)'7.
5uas kiri semua produksinya terdiri dari sebuah "
5uas kiri semua produksinya terdiri dari sebuah " NN maka ) maka )44 kemungkinan tipe O) atau kemungkinan tipe O) atau
5). Selanjutnya karena ruas kanannya mengandung string yang panjangnya lebih dari 7 'yaitu 5). Selanjutnya karena ruas kanannya mengandung string yang panjangnya lebih dari 7 'yaitu aAb maka )
aAb maka ) 4 4 bukan 5), dengan kata lain ) bukan 5), dengan kata lain ) 44 adalah O). adalah O).
.. ))rraammmmaar r ))55 dengan P dengan P55 & FS & FS
→
→
aA, S aA, S→
→
a, aAb a, aAb→
→
aObH. aObH.5u
5uas as kikiririnynya a memengnganandudung ng ststriring ng yayang ng papanjnjanangnygnya a lelebibih h dadari ri 6 6 'y'yaitaitu u aAaAb b mamaka ka )) 5 5
kemungkinan tipe OS) atau J). Selanjutnya karena semua ruas kirinya lebih pendek atau kemungkinan tipe OS) atau J). Selanjutnya karena semua ruas kirinya lebih pendek atau sama dengan ruas kananya maka )
sama dengan ruas kananya maka )55 adalah OS). adalah OS).
G
G.. ))rraammmmaar r ))66 dengan P dengan P66 & FaS & FaS
→
→
ab, SAc ab, SAc→
→
bcH. bcH.5uas kirinya mengandung string yang panjangnya lebih dari 6 maka )
5uas kirinya mengandung string yang panjangnya lebih dari 6 maka )66 kemungkinan tipe kemungkinan tipe
OS) atau J). Selanjutnya karena terdapat ruas kirinya yang lebih panjang daripada ruas OS) atau J). Selanjutnya karena terdapat ruas kirinya yang lebih panjang daripada ruas kananya 'yaitu SAc maka )
kananya 'yaitu SAc maka )66 adalah J). adalah J).
Deriasi /alimat dan Penentuan ahasa Deriasi /alimat dan Penentuan ahasa
Tentukan bahasa dari masing-masing gramar berikut # Tentukan bahasa dari masing-masing gramar berikut # 6.
6. ))11 dengan P dengan P11 & F6. S & F6. S
→
→
aAa, 7. aAa, 7. AA→
→
aAa, aAa, 8. 8. AA→
→
bH. bH.=a$ab # =a$ab # D
Deerriiaassi i kkaalliimmaat t tteerrppeennddeek k ## DDeerriiaassi i kkaalliimmaat t uummuum m ## S S
⇒
⇒
aaAAaa ''66 SS⇒
⇒
aAa aAa '6'6⇒
⇒
aabbaa ''88⇒
⇒
aaAaa aaAaa '7'7…
…
⇒
⇒
a a n n AaAann '7'7⇒
⇒
a a n n babann '8'8 Dari pola kedua kalimat disimpulkan # 4Dari pola kedua kalimat disimpulkan # 411')')11 & F a & F ann babann
n n≥≥
6H 6H7.
7. ))22 dengan dengan
P
P 2 2 & F6. S & F6. S
→
→
aS, aS, 7. 7. SS→
→
a, a, 8. 8. →
→
bO, bO, . . OO→
→
aO, aO, . . OO→
→
aH. aH.=a$ab # =a$ab # D
Deerriiaassi i kkaalliimmaat t tteerrppeennddeek k ## DDeerriiaassi i kkaalliimmaat t uummuum m ## S
S
⇒
⇒
aa ''77 SS⇒
⇒
aS aS '6'6⇒
⇒
aabbOO ''88…
…
⇒
⇒
⇒
a a n n ''77⇒
⇒
a a n n bbOO ''88⇒
⇒
a a n n bbaaOO ''…
…
⇒
⇒
a a n n babamm--11OO ''⇒
⇒
a a n n babamm '' Dari pola kedua kalimat disimpulkan # 4Dari pola kedua kalimat disimpulkan # 4 2 2 ')') 2 2 &Fa&Fann babamm
nn≥≥
6, m6, m≥≥
6H6H8.
8. ))33 dengan dengan
P
P33 & F6. S & F6. S
→
→
aSO, aSO, 7. 7. SS→
→
abO, abO, 8. 8. bb→
→
bb, bb,. bO
. bO
→
→
bc, bc, . . OO→
→
O, O, G. G. cOcO→
→
ccH. ccH. =a$ab #=a$ab # D
Deerriiaassi i kkaalliimmaat t tteerrppeennddeek k 66## DDeerriiaassi i kkaalliimmaat t tteerrppeennddeek k 8 8 ## S
S
⇒
⇒
aabbOO ''77 SS⇒
⇒
aSO aSO '6'6⇒
⇒
a abbcc ''⇒
⇒
a aaaSSOOOO ''66 DDeerriiaassi i kkaalliimmaat t tteerrppeennddeek k 7 7 ##
⇒
⇒
a aaaaabbOOOOOO ''77 SS
⇒
⇒
aaSSOO ''66⇒
⇒
a aaaaabbOOOOOO ''⇒
⇒
a aaabbOOOO ''77⇒
⇒
a aaaaabbOOOOOO ''⇒
⇒
a aaabbOOOO '' aaaabbccO O ''⇒
⇒
a aaaaabbOOOOOO ''⇒
⇒
a aaabbbbOOOO ''88⇒
⇒
a aaaaabbbbOOOOOO ''88⇒
⇒
a aaabbbbccOO ''⇒
⇒
a aaaaabbbbbbOOOOOO ''88⇒
⇒
a aaabbbbcccc ''GG⇒
⇒
a aaaaabbbbbbccOOOO ''⇒
⇒
a aaaaabbbbbbccccOO ''GG⇒
⇒
a aaaaabbbbbbcccccc ''GG Dari pola ketiga kalimat disimpulkan # 4Dari pola ketiga kalimat disimpulkan # 433 ') ')33 & F a & F ann bbnn ccnn
n n≥≥
6H 6HMenentukan )rammar Sebuah ahasa Menentukan )rammar Sebuah ahasa
6.
6. TenTentukatukan sebn sebuah gruah gramaamar regur regular ular untuk bntuk bahaahasa 4sa 411 & F a & F ann
n n≥≥
6H 6H=a$ab # =a$ab # P
P11'4'411 & FS & FS
→
→
aS aS
aHaH7.
7. TentukaTentukan sn sebuah ebuah gramagramar bebr bebas kas konteks onteks untuk untuk bahasa bahasa ## L
L22 : himpunan bilangan bulat : himpunan bilangan bulat non negatif ganjilnon negatif ganjil
=a$ab # =a$ab #
4angkah kunci # digit terakhir bilangan harus ganjil. 4angkah kunci # digit terakhir bilangan harus ganjil.
"t&F+,6,7,..[H "t&F+,6,7,..[H "n &FS, ),=H "n &FS, ),=H P&FS
P&FS0TU=TU=Y T0TU=TU=Y T)TU=TU=Y 0)TU=TU=Y 07UUGU\Y )7UUGU\Y )+U7UUGU\Y=+U7UUGU\Y=6U8UU%U[H6U8UU%U[H
P&FS
P&FS)SU=SU=Y ))SU=SU=Y )+U7UUGU\Y=+U7UUGU\Y=6U8UU%U[H6U8UU%U[H
uat dua buah himpunan bilangan terpisah # genap ') dan ganjil '= uat dua buah himpunan bilangan terpisah # genap ') dan ganjil '= P
P 2 2 '4'422 & FS & FS
→
→
= =
)S)S
=S, )=S, )→
→
+ +
77
GG
\, =\, =→
→
6 6
88
%%
[H[H8.
8. TentukaTentukan sn sebuah ebuah gramagramar bebr bebas kas konteks onteks untuk untuk bahasa bahasa ##
A.
A. 4433 8 /im"unan semua i;entifier <an sa/ menurut 0a/asa "emroraman Pas=al 8 /im"unan semua i;entifier <an sa/ menurut 0a/asa "emroraman Pas=al
;enan 0atasan 2 ter;iri ;ari sim0ol /uruf !e=il ;an an!a3 "an@an i;entifier ;enan 0atasan 2 ter;iri ;ari sim0ol /uruf !e=il ;an an!a3 "an@an i;entifier 0ole/ le0i/ ;ari + !ara!ter
0ole/ le0i/ ;ari + !ara!ter
=a$ab # =a$ab #
4angkah kunci # karakter pertama identiier harus huru. 4angkah kunci # karakter pertama identiier harus huru.
uat dua himpunan bilangan terpisah # huru '0 dan angka 'A uat dua himpunan bilangan terpisah # huru '0 dan angka 'A S
S0TU0YT0TU0YT0TUATU0UAY 00TUATU0UAY 0aU..U]Y AaU..U]Y A+U..U[+U..U[
P
P33'4'433 & FS & FS
→
→
0 0
0T, T0T, T→
→
AT AT
0T0T
00
A,A,0
0
→
→
a a
bb
cc
9, A9, A→
→
+ +
66
77
9H9H.
. TenTentukatukan gramn gramar bebar bebas koas konteknteks untus untuk bahak bahasasa 4
4 4 4 ')')44 & Fa & Fann bbmm
n,mn,m≥≥
6, n 6, n≠≠
mH mH=a$ab # =a$ab # 4an
4angkagkah h kunkunci ci # # sulsulit it untuntuk uk menmendedeiniinisiksikan an 4444')') 4 4 secarsecara a langslangsung. ung. =alan keluarny=alan keluarnyaa
adalah dengan mengingat bah$a C
adalah dengan mengingat bah$a C
≠≠
y berarti C R y atau C E y. y berarti C R y atau C E y. 44 4 4 & 4 & 4AA
∪
∪
4 4BB, , 44AA &Fa &Fann bbmm
n n R R mm≥≥
6H, 4 6H, 4BB & Fa & Fann bbmm
66≤≤
n n E E mH.mH.P
PAA '4'4AA & FA & FA
→
→
aA aA
aO, OaO, O→
→
aOb aOb
abH, ('4abH, ('4BB & F & F→
→
b b
Db, DDb, D→
→
aDb aDb
abHabHP
.
. TentukaTentukan sn sebuah ebuah gramagramar bebr bebas kas konteks onteks untuk untuk bahasa bahasa ## 4
455 & bilangan bulat non negati genap. =ika bilangan tersebut terdiri dari dua digit atau & bilangan bulat non negati genap. =ika bilangan tersebut terdiri dari dua digit atau
lebih maka nol tidak boleh muncul sebagai digit pertama. lebih maka nol tidak boleh muncul sebagai digit pertama. =a$ab #
=a$ab #
4angkah kunci # Digit terakhir bilangan harus genap. Digit pertama tidak boleh nol. uat tiga 4angkah kunci # Digit terakhir bilangan harus genap. Digit pertama tidak boleh nol. uat tiga himpunan terpisah # bilangan genap tanpa nol '), bilangan genap dengan nol '2, serta himpunan terpisah # bilangan genap tanpa nol '), bilangan genap dengan nol '2, serta bilangan ganjil '=.
bilangan ganjil '=. P
P55'4'455 & FS & FS
→
→
2 2
)A)A
=A, A=A, A→
→
2 2
2A2A
=A, )=A, )→
→
7 7
GG
\,\,2
2
→
→
+ +
77
GG
\, =\, =→
→
6 6
88
%%
[H[H
.. MMeessiin n PPeenneennaal l aa//aassa a
Jntuk setiap kelas bahasa Ohomsky, terdapat sebuah mesin pengenal bahasa. Masing-masing Jntuk setiap kelas bahasa Ohomsky, terdapat sebuah mesin pengenal bahasa. Masing-masing mesin tersebut adalah #
mesin tersebut adalah # /
/eellaas s aahhaassaa MMeessiin n PPeennggeennaal l aahhaassaa )nrestricted *rammar
)nrestricted *rammar ''JJ)) MMeessiin n TTuurriinng g ''Turing +achineTuring +achine, TM, TM Context Sensiti,e *rammar
Context Sensiti,e *rammar 'OS)'OS) #inear Bounded !utomata#inear Bounded !utomata, 4A, 4A Context Free *ammar
Context Free *ammar ' 'OO)) PPuusshhddoo$$n n AAuuttoommaattaa, , PPDDAA -egular *rammar
-egular *rammar , , 55)) iinniitte e SSttaatte e AAuuttoommaattaa, , SSAA
INITE STATE AUTOMATA #SA$ INITE STATE AUTOMATA #SA$
••
SA dideinisikan sebagai pasangan tupel # '(, ^, N, S, .SA dideinisikan sebagai pasangan tupel # '(, ^, N, S, . ( # himpunan hingga state( # himpunan hingga state
^ # himpunan hingga simbol input 'alabet ^ # himpunan hingga simbol input 'alabet
N # ungsi transisi, menggambarkan transisi state SA akibat pembacaan simbol input. N # ungsi transisi, menggambarkan transisi state SA akibat pembacaan simbol input.
ungsi
ungsi transisi transisi ini ini biasanya biasanya diberikan diberikan dalam dalam bentuk bentuk tabel.tabel. S
S
∈
∈
( # state AKA4 ( # state AKA4
⊂
⊂
( # himpunan state A/0I5 ( # himpunan state A/0I5Oontoh # SA untuk mengecek parity ganjil Oontoh # SA untuk mengecek parity ganjil (
( &&FF))nnpp, , ))jjllHH diiadaggrraam m ttrraannssiissii ^ & F+,6H ^ & F+,6H tabel transisi tabel transisi N N ++ 66 ) )nnpp ))nnpp ))jjll
)
)jjll ))jjll ))nnpp
S & )np, & F)jlH S & )np, & F)jlH
••
Ada dua jenis SA #Ada dua jenis SA #••
Deterministic finite automataDeterministic finite automata 'DA'DA••
Non deterministik finite automataNon deterministik finite automata.'2A.'2A-- DA # transisi state SA akibat pembacaan sebuah simbol bersiat tertentu.DA # transisi state SA akibat pembacaan sebuah simbol bersiat tertentu.
δ
δ : : Q Q ∑∑ QQ
-- 2A # transisi state SA akibat pembacaan sebuah simbol bersiat tak tentu.2A # transisi state SA akibat pembacaan sebuah simbol bersiat tak tentu.
N N # # ((
××
^ ^→
→
7 7(( DA 2 DA 2 ( & F*+, *6, *7H ( & F*+, *6, *7HN diberikan dalam tabel berikut # N diberikan dalam tabel berikut #
a a b b aa * *++ **66 **77 bb a a bb
/alimat yang diterima oleh DA # a, b, aa, ab, ba, aba, bab, abab, baba /alimat yang diterima oleh DA # a, b, aa, ab, ba, aba, bab, abab, baba /alimat yang dittolak
/alimat yang dittolak oleh DA oleh DA # bb, abb, # bb, abb, abbaabba
DA ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung DA ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung substring bb.
substring bb.
Conto/ 2 Conto/ 2
Telusurilah, apakah kalimat-kalimat berikut diterima DA di atas # Telusurilah, apakah kalimat-kalimat berikut diterima DA di atas #
a0a0a0aa ;iterima a0a0a0aa ;iterima aaaa0a0 ;iterima aaaa0a0 ;iterima a aaaaa0000aa00a a ;;iittoollaa!! ^
^&& FFaa,, bbHH NN aa bb S S &&**++ **++ **++ **66 & & FF**++, , **66HH **66 *+*+ **77 * *77 **77 **77
Baa0 2 Baa0 2
ii N 'N '**++,,aabbaabbaabbaaaa
⇒
⇒
N '*+,bababaa N '*+,bababaa⇒
⇒
N '*6,ababaa N '*6,ababaa⇒
⇒
N '*+,babaaN '*+,babaa
⇒
⇒
N '*6,abaa N '*6,abaa⇒
⇒
N '*+,baa N '*+,baa⇒
⇒
N '*6,aa N '*6,aa⇒
⇒
N '*+,aN '*+,a
⇒
⇒
*+ *+Tracing berakhir di *+ 'state A/0I5
Tracing berakhir di *+ 'state A/0I5
⇒
⇒
kalimat abababaa diterima kalimat abababaa diterima iiii N 'N '**++, a, aaaaaaabbaabb⇒
⇒
N '*+,aaababN '*+,aaabab⇒
⇒
N '*+,aababN '*+,aabab⇒
⇒
N '*+,abab
N '*+,abab
⇒
⇒
N '*+,bab N '*+,bab⇒
⇒
N '*6,ab N '*6,ab⇒
⇒
N '*+,b N '*+,b⇒
⇒
*6 *6Tra=in
Tra=in 0era!/ir 0era!/ir ;i ;i 1 1 #state #state AHIR$ AHIR$ !alimat !alimat aaaa0a0a aaaa0a0a ;iterima ;iterima
iiiiii N 'N '*+*+, a, aaaaabbbbababaa
⇒
⇒
N '*+, aabbaba N '*+, aabbaba⇒
⇒
N '*+, abbaba N '*+, abbaba⇒
⇒
N '*+, bbabaN '*+, bbaba
⇒
⇒
N '*6,baba N '*6,baba⇒
⇒
N '*7,aba N '*7,aba⇒
⇒
N '*7,ba N '*7,ba⇒
⇒
N '*7,a N '*7,a⇒
⇒
*7*7Tra=in
Tra=in 0era!/ir 0era!/ir ;i ;i % % #0u!an #0u!an state state AHIR$ AHIR$ !alimat aaa00a0a !alimat aaa00a0a ;itola!;itola!
esim"ulan 2 esim"ulan 2
sebuah kalimat diterima oleh DA di atas jika tracingnya berakhir di salah satu state sebuah kalimat diterima oleh DA di atas jika tracingnya berakhir di salah satu state A/0I5.
A/0I5.
NA 2 NA 2
erikut ini sebuah contoh 2A '(, ^, N, S, . dimana # erikut ini sebuah contoh 2A '(, ^, N, S, . dimana # ( & F*
( & F*00 , *, *11, *, *22 ,*,*33, *, *44 H H N N diberikan diberikan dalam dalam tabel tabel berikut berikut ##
^
^&& FFaa,, bb,,ccHH NN aa bb cc S & * S & *00 **00 F*F*00 , *, *11HH F*F*00 , *, *22 HH F*F*00 , *, *33HH & F* & F* 44 HH **11 F*F*11, *, *44 HH F*F*11HH F*F*11HH * *22 F*F*22 HH F*F*22 , *, *44 HH F*F*22 HH * *33 F*F*33HH F*F*33HH F*F*33, *, *44 HH * *44
∅
∅
∅
∅
∅
∅
Ilustrasi gra untuk 2A adalah sebagai berikut # Ilustrasi gra untuk 2A adalah sebagai berikut #
a a, , bb, , c c aa, , bb, , cc a a * *00 **11 c c b b aa b b * *33 **22 **44 a a, , bb, , c c aa, , bb, , cc
c c
kalimat yang diterima 2A di atas # aa, bb, cc, aaa, abb, bcc, cbb kalimat yang diterima 2A di atas # aa, bb, cc, aaa, abb, bcc, cbb kalimat yang tidak diterima 2A di atas # a, b, c, ab, ba, ac, bc kalimat yang tidak diterima 2A di atas # a, b, c, ab, ba, ac, bc
Sebuah kalimat di terima 2A jika # Sebuah kalimat di terima 2A jika #
••
salah satu tracing-nya berakhir di state A/0I5, atausalah satu tracing-nya berakhir di state A/0I5, atau••
himpunan state setelah membaca string tersebut mengandung state A/0I5himpunan state setelah membaca string tersebut mengandung state A/0I5Conto/ 2 Conto/ 2
Telusurilah, apakah kalimat-kalimat berikut diterima 2A di atas # Telusurilah, apakah kalimat-kalimat berikut diterima 2A di atas #
ab, abc, aabc, aabb ab, abc, aabc, aabb =a$ab #
=a$ab # 6. N'*
6. N'*00,ab,ab
⇒
⇒
N'* N'*00 ,b,b∪
∪
N'* N'*11 ,b ,b⇒
⇒
F* F*00 , *, *22 HH∪
∪
F* F*11H & F*H & F*00 , *, *11, *, *22 HHHim"unan
Him"unan state state TIDA TIDA menan;un menan;un state state AHIR AHIR !alimat a0!alimat a0 tida diterimatida diterima 7. N'*
7. N'*00,abc,abc
⇒
⇒
N'* N'*00 ,bc,bc∪
∪
N'* N'*11 ,bc ,bc⇒
⇒
F N'* F N'*00 ,c,c∪
∪
N'* N'*22 ,cH,cH∪
∪
N'*N'*11, c, cFF *
FF *00 , *, *33HH
∪
∪
F *F *22 HHHH∪
∪
F *F *11H & F*H & F*00 , *, *11, *, *22 ,*,*33HH0impunan state TIDA/ mengandung state A/0I5
0impunan state TIDA/ mengandung state A/0I5
⇒
⇒
kalimat abc tidak diterima kalimat abctidak diterima 8. N'*8. N'*00,aabc,aabc
⇒
⇒
N'* N'*00 ,abc,abc∪
∪
N'* N'*11 ,abc ,abc⇒
⇒
F N'*F N'*00 ,bc,bc∪
∪
N'* N'*11 ,bcH ,bcH∪
∪
N '*N '*11 ,bc ,bc
⇒
⇒
FF N'*FF N'*00 , c, c∪
∪
N'* N'*22 ,cH,cH∪
∪
N'* N'*11, cH, cH∪
∪
N'* N'*11, c, c⇒
⇒
FFF *
FFF *00 , *, * 3 3 HH
∪
∪
F * F *22 HHHH∪
∪
F* F*11HHHH∪
∪
F* F*11H & F*H & F*00 , *, *11, *, *22 ,*,* 3 3 HH0impunan state TIDA/ mengandung state A/0I5
0impunan state TIDA/ mengandung state A/0I5
⇒
⇒
kalimat aabc tidak diterima kalimat aabctidak diterima . N'*. N'*00,aabb,aabb
⇒
⇒
N'* N'*00 ,abb,abb∪
∪
N'* N'*11 ,abb ,abb⇒
⇒
F N'* F N'*00 ,bb,bb∪
∪
N'* N'*11 ,bbH ,bbH∪
∪
N '* N '*11 ,bb ,bb⇒
⇒
FF N'*FF N'*00 , b, b∪
∪
N'* N'*22 ,bH,bH∪
∪
N'* N'*11, bH, bH∪
∪
N'* N'*11, b, b⇒
⇒
FFF *FFF *00 , *, * 22HH∪
∪
F * F * 2 2 , *, *44 HHHH∪
∪
F* F*11HHHH∪
∪
F* F*11H & F*H & F*00 , *, *11, *, *22 , *, *44 HH0impunan state mengandung state A/0I5