Automata
Automata adalah mesin abstrak yang dapat mngenali (recognize), menerima (accept),
atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.Untuk memodelkan
hardware dari komputer diperkenalkan otomata. Otomata adalah fungsi-fungsi dari komputer
digital. Menerima input, mengh asilkan output, bisa memiliki penyimpanan sementara dan
mampu membuat keputusan dalam mentransformasikan input ke output.Sebuah bahasa
formal adalah suatu abstraksi terdiri dari himpunan simbol-simbol dan aturan-aturan yang
mana simbol-simbol tersebut bisa dikombinaasikan ke dalam entitas yang disebut kalimat.
B. Teori bahasa & Automata
Sebuah bahasa formal bisa dibangkitkan oleh dua atau lebih tata bahasa berbeda.
Dikatakan bahasa formal karena grammar diciptakan mendahului pembangkitan
setiapkalimatnya.
Bahasa Natural/manusia bersifat sebaliknya; grammar diciptakan untuk meresmikan kata-
kata yang hidup di masyarakat. Dalam pembicaraan selanjutnya ‘bahasa formal’ akandisebut
‘bahasa’ saja.
C. Komputasi
Komputasi merupakan penegtahuan yang sangat penting karena membahas
mengenai bagaimana cara pembuatan mesin yang mampu melakukan proses
proses intelIlmu informatika / komputer memiliki dua komponen utama, yaitu :
1.Model dan gagasan dasar mengenai komputer
2.Teknik Rekayasa untuk perancangan sistem komputer meliputi perangkat keras(hardware)
dan perangkat lunak (software).Teori bahasa otomata termasuk dalam bagian pertama dari
dua komponen utama ilmukomputer diatas. Teori bahasa otomata diterapkan pada
perancangan digit, pembuatan bahasa pemrograman dan kompilator.Model yang digunakan
pada teori otomata adalah model mesin stste (state machinemodel) atau model transisi state
(state transition model) . Terdapat tiga topik utama pada teoriotomata, yaitu :
1.Finite automata (FA) atau disebut finite state automata (FSA). FSA terbagi menjadidua
yaitu : deterministic automata (DFA) dan nondeterministic automata (NDFA).Finite automata
tidak memiliki memori sementara, contoh sistem yang meniruotomata ini adalah vending
machine.2.
Lingkaran menyatakan state. Lingkaran diberi labelsesuai dengan nama state tersebut,
Adapun pembagian lingkaran adalah Lingkaran bergaristunggal berarti state sementara dan
Lingkaran
Salah satu tempat bermain yang memiliki box karaokeadalah TIMEZONE. Terdapat banyak
mesin permainandisana yang akan dapat dimainkan apabila kita memasukkankoin dalam
jumlah tertentu yang masing-masing mesinmemerlukan jumlah koin yang berbeda untuk
dapatdimainkan.Pada makalah ini, akan dibahas penggunaan DeterministicFinite Automata
pada salah satu mesin di TIMEZONE yaitumesin karaoke.
Cara Kerja Mesin KaraokeUntuk dapat memutar lagu pada mesin karaoke
diTIMEZONE, pertama kita harus memasukkan koin sebanyak3 koin, setelah dimasukkan 3
koin maka mesin akanmemutarkan lagu yang kita pilih, akan tetapi apabila jumlahkoin yang
dimasukkan melebihi 3 koin maka sisa koin akan diakumulasi sampai berjumlah kelipatan
3.Contoh, apabila dimasukkan 5 koin maka pengguna hanyadapat memutar 1 lagu saja,
sedangkan apabila dimasukkan 9koin maka pengguna dapat memutar 3 lagu.
Finite State DiagramDari cara kerja mesin karaoke yang di bahas di atas, kitadapat membuat
Finite State Diagram dari mesin karaoke diTIMEZONE
Formal DefinitionDari Finite State Diagram di atas, maka FormalDefinition-nya adalah
((q0,q1,q2,q3),1, ,q0,q3)
1.Tentukan apakah produksi-produksi berikut memenuhi aturan tata bahasa reguler
A→B
(di terima)
B → bdB
(di terima)
B→C
(di terima)
B → bc
(di terima)
B → Ad
( di tolak karena simbol variable sebelah kanan harus berada pada posisi paling
kanan)
B → bcdef
(di tolak karena simbol pada sebelah kanan harus berupa variable)
B → bcdefg
(di tolak karena simbol pada sebelah kanan harus berupa variable)
A → asa
( di tolak karena simbol variable sebelah kanan harus berada pada posisi paling
kanan)
A → ass
(di tolak karena simbol variable sebelah kanan maksimal hanya memiliki sebuah
variable)
A→E
(di terima )
Ad → Db
(diterima)
2. Tentukan apakah aturan produksi-produksi berikut memenuhi aturan tata bahasa konteks
A → asa
(di terima)
A→Ace
(diterima)
A → Ab
(di terima)
A→E
(di terima)
B → bcdef
(di terima)
B → bcdefg
(di trima)
A → asa
(di terima)
A → ass
(di terima)
A → BCDEF
(di terima)
Ad → Db
(di tolak karena simbol pada sebelah kiri harus brupa simbol variable)
A → AAAA
(di terima)
d→A
(di tolak karena simbol pada sebelah kiri harus brupa simbol variable)
3.Tentukan apakah produksi-produksi berikut memenuhi aturan tata bahasa context sensitive
B → bcdefg
(di terima)
A → asa
(di terima)
A → ass
(di terima )
A → BCDEF
(di terima)
Ad → Db
(di terima)
A→E
(di tolak karena jumlah simbol pada sebelah kiri lebih banyak dari sebelah kanan)
AB → E
(di tolak karena jumlah simbol pada sebelah kiri lebih banyak dari sebelah kanan)
ad → b
(di tolak karena simbol sbelah kiri harus berupa variable dan simbol sebelah kiri harus
lebih kecil dari sebelah kanan)
ad → E
(di tolak karena simbol sbelah kiri harus berupa variable dan simbol sebelah kiri harus
lebih kecil dari sebelah kanan)
abc → DE
(karena simbol sebelah kiri harus lebih kecil dari sebelah kanan)
abcdef → ghijkl
(di terima)
AB → cde
(di terima)
AAA → BBB
(di terima)
4.Tentukan apakah produksi-produksi berikut memenuhi aturan tata bahasa unrestricted
A →E
(diterima)
AB → E
(diterima)
ad →b
(di tolak karena simbol sebelah kiri harus ada sebuah simbol variable)
ad →E
(di tolak karena simbol sebelah kiri harus ada sebuah simbol variable)
abc→DE
(di terima)
AB→cde
(di terima)
e→a
(di tolak karena simbol sebelah kiri harus ada sebuah simbol variable)
ABCDEFG → h
(di terima)
1.buatlah tabel transisi dari deterministik finite automata berikut
Tabel transisi
Qo Q1
s 0 1
Q0 Q2 Q1
Q1 Q3 Q0
Q2 Q0 Q3
Q3 Q1 Q2
Qz Q3
Q= {Q0,Q1,Q2}
E={A,B}
S={Q0}
F={Q0} Q1 Q1
Tabel transisi DFA;
S A B
Q0 Q1 Q2
Q1 Q2 Q0
Q2 Q2 Q2 Q2