DISUSUN OLEH :
Muhammad Sulhanuddin (221011402188)
Muhammad Rifqi (221011400439)
M. Syauqi Alfayyadh (221011402221)
KATA PENGANTAR..............................................................................4
BAB I.........................................................................................................5
PENDAHULUAN.....................................................................................5
1.1. Latar Belakang................................................................................5
1.2. Rumusan Masalah...........................................................................5
1.3. Tujuan.............................................................................................6
1.4. Manfaat...........................................................................................6
BAB II.......................................................................................................7
PEMBAHASAN.......................................................................................7
2.1 Pengertian Teori Otomata............................................................7
2.2 Konsep Dasar:..............................................................................7
2.3 Definisi DFA................................................................................8
BAB III....................................................................................................38
PENUTUP...............................................................................................38
.1 Kesimpulan...................................................................................38
3.1 Saran..............................................................................................39
DAFTAR PUSTAKA.............................................................................39
2
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT yang telah mamberikan kami
kemudahan dan kelancaran untuk menyelesaikan makalah mata kuliah Bahasa Indonesia dengan
judul “otomata dan perkembangannya hingga mencapai Deterministic Finite State Automata
(DFA)” dapat selesai dengan waktu yang telah kami rencanakan.
Selamat datang dalam pengantar singkat tentang teori otomata, sebuah bidang dalam ilmu
komputer yang berfokus pada studi tentang mesin abstrak yang dapat melakukan komputasi. Teori
otomata dan bahasa formal memiliki peran yang penting dalam pengembangan sistem otomatis
dan analisis bahasa, serta memiliki aplikasi luas dalam berbagai bidang seperti pemrosesan bahasa
alami, kompilasi, dan verifikasi perangkat lunak. Kita akan memulai perjalanan kita dengan
memahami konsep dasar otomata, yang merupakan model matematis untuk komputasi. Salah satu
jenis otomata yang paling sederhana adalah Finite Automata (FA), yang merupakan subjek utama
pembahasan dalam topik ini. FA terdiri dari himpunan keadaan, alfabet input, fungsi transisi,
keadaan awal, dan himpunan keadaan akhir. Dalam konteks FA, kita akan menjelajahi dua jenis
otomata utama: Nondeterministic Finite Automata (NFA) dan Deterministic Finite Automata
(DFA). NFA memungkinkan transisi tidak deterministik, sedangkan DFA memiliki aturan transisi
yang deterministik untuk setiap simbol input pada setiap keadaan. Khususnya, kita akan fokus
pada DFA, yang merupakan model otomata yang sangat sederhana tetapi sangat kuat. DFA
memiliki banyak aplikasi dalam pengenalan pola, analisis sintaksis sederhana, dan pemodelan
sistem yang memiliki perilaku reguler. Memahami DFA adalah langkah penting dalam
mempelajari teori otomata secara lebih mendalam. Dengan demikian, mari kita mulai menjelajahi
dunia yang menarik dan beragam dari teori otomata dan bahasa formal, dengan harapan
mendapatkan pemahaman yang lebih baik tentang dasar-dasar komputasi dan bahasa.
Penulis
3
BAB I
PENDAHULUAN
1.1. Latar Belakang
Pada awalnya, dalam pengembangan ilmu komputer, terdapat kebutuhan untuk
memodelkan mesin abstrak yang dapat melakukan komputasi sesuai dengan aturan
tertentu. Inilah awal mula dari apa yang kemudian dikenal sebagai teori otomata. Teori
otomata adalah cabang penting dalam ilmu komputer yang mempelajari model matematis
dari sistem komputasi.
Salah satu konsep paling mendasar dalam teori otomata adalah Finite Automata (FA).
FA adalah model sederhana yang terdiri dari himpunan keadaan, alfabet input, fungsi
transisi, keadaan awal, dan himpunan keadaan akhir. Dengan FA, kita dapat mengenali
bahasa-bahasa yang dapat didefinisikan secara formal.
Dalam pengembangan FA, terdapat dua jenis otomata utama yang menjadi fokus
utama, yaitu Nondeterministic Finite Automata (NFA) dan Deterministic Finite Automata
(DFA). Pada tahap awal, kedua jenis otomata ini dikembangkan untuk mengenali bahasa-
bahasa reguler, yaitu bahasa yang dapat diterima oleh ekspresi reguler.
Perkembangan teori otomata mencapai puncaknya dengan DFA. DFA merupakan jenis
otomata yang paling sederhana dan kuat. Setiap transisi dalam DFA adalah deterministik,
artinya hanya ada satu transisi yang mungkin untuk setiap simbol input pada setiap
keadaan. Karena sifatnya yang deterministik, DFA sangat cocok untuk mewakili dan
mengenali bahasa-bahasa reguler dengan cara yang efisien.
DFA memiliki banyak aplikasi dalam pemrosesan bahasa alami, kompilasi,
pengenalan pola, dan berbagai bidang lainnya dalam ilmu komputer. Pemahaman yang
baik tentang DFA adalah langkah penting dalam mempelajari teori otomata dan bahasa
formal secara lebih mendalam.
Dengan demikian, pemahaman tentang perkembangan otomata hingga mencapai DFA
memberikan dasar yang kokoh dalam memahami konsep-konsep yang lebih kompleks
dalam teori otomata dan bahasa formal
1.2. Rumusan Masalah
4
3. Apa perbedaan utama antara Nondeterministic Finite Automata (NFA) dan
Deterministic Finite Automata (DFA)?
4. Bagaimana DFA digunakan dalam pengenalan bahasa dan pengenalan pola?
5. Apa kegunaan dan aplikasi praktis dari DFA dalam komputasi modern dan
pengembangan sistem otomatis?
6. Bagaimana algoritma konversi dari NFA ke DFA bekerja, dan mengapa konversi
ini penting dalam analisis otomata?
7. Apa tantangan utama dalam merancang DFA yang efisien dan memiliki kinerja
optimal?
8. Bagaimana DFA digunakan dalam konteks pengenalan sintaksis dan analisis
bahasa?
1.3. Tujuan
1.4. Manfaat
Manfaat dari otomata hingga deterministik atau deterministic finite state (DFA) ini
adalah dapat Memahami otomata dan DFA membantu kita memahami dasar-dasar
komputasi. Konsep-konsep ini merupakan fondasi yang penting dalam pengembangan
dan analisis algoritma, serta pemahaman tentang kinerja mesin komputer.
5
BAB II
PEMBAHASAN
2.1 Pengertian Teori Otomata
Teori otomata adalah cabang dalam ilmu komputer dan matematika yang
mempelajari model matematis dari komputasi. Hal ini melibatkan studi tentang berbagai
jenis mesin abstrak, yang dikenal sebagai otomata, dan bahasa-bahasa yang dapat
diterima atau dihasilkan oleh otomata tersebut.
Dalam konteks ini, otomata adalah model matematis yang merepresentasikan
komputer atau mesin komputasi lainnya. Mereka beroperasi dengan membaca urutan input
dari alfabet tertentu dan bergerak dari satu keadaan ke keadaan lainnya berdasarkan aturan
atau fungsi transisi yang ditentukan.
Tujuan utama teori otomata adalah untuk memahami batasan dan kemampuan
komputasi, serta mengklasifikasikan bahasa-bahasa yang dapat atau tidak dapat diterima
oleh mesin komputasi tertentu. Ini membantu dalam mengidentifikasi masalah yang dapat
diselesaikan secara efisien oleh komputer dan dalam merancang algoritma yang efektif.
Konsep-konsep utama dalam teori otomata meliputi otomata, bahasa formal,
determinisme, dan komputasi. Otomata dapat dibagi menjadi beberapa jenis, termasuk
deterministic finite automata (DFA), nondeterministic finite automata (NFA), pushdown
automata (PDA), dan mesin Turing. Setiap jenis otomata memiliki kekuatan komputasi
yang berbeda-beda.
Teori otomata memiliki banyak aplikasi dalam ilmu komputer, seperti dalam
pemrosesan bahasa alami, kompilasi, pengenalan pola, dan kriptografi. Pemahaman yang
baik tentang teori otomata sangat penting bagi para ahli komputer dalam mengembangkan
solusi yang efisien untuk berbagai masalah komputasi.
6
bergerak dari satu keadaan ke keadaan lainnya sesuai dengan input yang diterima
dan aturan transisi.
b. Bahasa Formal
Bahasa formal adalah kumpulan string dari alfabet tertentu. Bahasa-bahasa formal
adalah objek utama dalam teori otomata. Otomata dapat menerima atau
menghasilkan bahasa-bahasa formal tertentu. Bahasa formal sering
direpresentasikan sebagai himpunan string di atas alfabet tertentu.
c. Determinisme
Konsep determinisme mengacu pada sifat suatu otomata di mana pada setiap
langkah dari komputasinya, ada hanya satu aksi yang mungkin. Misalnya, pada
deterministic finite automata (DFA), setiap kombinasi dari state dan input memiliki
tepat satu transisi yang ditentukan.
d. Komputasi
Komputasi adalah proses di mana otomata membaca urutan input dan berpindah
dari satu keadaan ke keadaan lainnya berdasarkan aturan atau fungsi transisi yang
ditentukan. Proses ini dapat berakhir dengan otomata menerima atau menolak
urutan input tertentu.
a) ( , a) = ,
b) ( , b) = ,
c) ( , a) = ,
d) ( , b) = ,
e) ( , a) = , dan
f) ( , b) =
8
suatu input “b”, maka state akan berpindah posisi ke state
Fungsi transisi ini dapat disajikan dalam bentuk diagram sebagai berikut ini :
Jika ada string masukan bbab, proses string ini seperti berikut :
9
Atau jika dengan menggunakan diagram transisi untuk setiap string dapat
Pada saat memproses string yang di input ke suatu mesin DFA, string akan dibaca satu per
satu simbol abjad dan setiap setelah membaca satu simbol pada simbol selanjutnya akan
semua simbol selesai dibaca hingga menghasilkan suatu posisi state tertentu. Kemudian posisi
state inilah yang akan membantu mesin mengenali string yang diinputkan tersebut.
Berdasarkan contoh di atas, setelah seluruh string bbab telah diproses, Mesin
berada di state , yang merupakan state yang penerima2. Oleh karena itu, string bbab
diterima oleh mesin ini. Kemudian jika sekarang terdapat masukan string abababa.
Setelah membaca string ini dari kiri ke kanan (dimulai pada sebagai state awal),
Mesin ini akan berada di state . Karena bukan state penerima atau state akhir,
dapat dikatakan bahwa mesin menolak berlanjut dari posisi state proses sebelumnya
dan seterusnya hingga string abababa.
Dapat dilihat bahwa mesin ini menerima setiap rangkaian abjad {a,b} hanya
dengan kondisi string yang berakhir dengan b. Pada kenyataannya, Mesin mampu
menerima string dengan kondisi :
10
Setiap rangkaian abjad selain kombinasi seperti pernyataan di atas
akan di reject atau ditolak oleh mesin ini.
1. Sebuah Diagram Transisi, yakni graph seperti yang sudah dilihat pada
gambar 4.1
Sebuah
11
2. daftar tabel transisi , yang implikasi nya akan memberi tahu mengenai
himpunan dari state – state dan alfabet masukan
Diagram Transisi
Dapat dilihat dari gambar 4.3 bahwa ada dua (2) simpul sebagai state yakni
state dan state . Ada sebuah panah Start yang menuju dan state penerima nya
adalah yang direpresentasikan dengan lingkaran ganda. Selain state adalah satu
12
busur yang dikenali dengan a dan satu busur lainnya yang dikenali b3
Tabel transisi
Contoh berikut ini tabel transisi hasil dari diagram transisi pada gambar 4.2.
a b
Dapat dilihat pada tabel transisi di tabel 4.1, menyesuaikan pada fungsi transisi
yang ada dari diagram transisi pada gambar 4.3. State awal (start) ditandai dengan
adanya panah (→) dan state penerima ditandai dengan tanda bintang (*) . Cara
membaca tabel transisi melalui baca baris ke kolom4 seperti berikut ini :
13
Contoh :
Jawab :
Hal yang perlu dilakukan adalah menentukan suatu baris diisi state Q yakni
{ , , } dan kolom diisi himpunan input masukan {0,1}, dengan start adalah
dan state penerima F adalah . Maka bentuk dari tabel transisi sebagai berikut :
0 1
Sebaliknya, Kita juga dapat menggambar diagram transisi dari suatu tabel
transisi.
a b
Dengan
S =q0
F = {q1}
a b
Dengan
S = q0
F = {q 0 , q 2 }
15
Automata yang dapat menerimanya. Perbedaannya hanyalah jumlah state yang
dimiliki otomata - otomata yang saling ekuivalen tersebut. Tentu saja, dengan alasan
kepraktisan, memilih otomata dengan jumlah state yang lebih sedikit.
Sasaran nya adalah mengurangi jumlah state dari suatu Finite State
Automata, dengan tidak mengurangi kemampuannya semula untuk menerima suatu
bahasa.
Ada dua buah istilah baru yang perlu kita ketahui yaitu :
16
BAB III
PENUTUP
3.1. Kesimpulan
17
membantu dalam memastikan kebenaran dan efektivitas
otomata dalam mengenali bahasa-bahasa tertentu.
3.2. Saran
DAFTAR PUSTAKA
Hopcroft, John. E., etc. 2001. Second edition. Introduction to
Automata Theory, Languages, and Computation. US
America : Pearson
18