Modul 02 Otomata

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1dari 5

MODUL PERKULIAHAN

Teori Bahasa
Otomata
Finite Automata

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

02
Teknik Program 190641006 -  Sukenda, S.Kom., M.T.
Studi Informatika [e] Teori  Ari Purno Wahyu Wibowo,
Bahasa & S.Kom., M.Kom.
Otomata

Abstract Kompetensi
Pada teknik Automata mahasiswa Mahasiswa memahami pengertian dan
diajarkan untuk memahi dan mengerti kedudukan Teori Bahasa dan Otomata
pengguna variable dan komponen (TBO) pada ilmu komputer, mampu
pemograman lainnya serta menjelaskan sebuah kebutuhan
menurunkannya pada bahasa dengan mendeskripsikan cara kerja
pemograman atau dengan kata lain sistem tersebut dalam bentuk simbol
mampu membuat sebuah rekayasa dan contoh produk tepat guna serta
program berbasiskan matematika. dapat mendefinisikan langkah-
Kemampuan lain yang diperlukan langkah algoritmik dalam pemrosesan
adalah mahasiswa bisa tata bahasa.
mendiskripsikan kebutuhan sistem
dalam membuat sebuah program atau
produk serta mampu membuat sebua
dokumentasi hasil rekayasa sistem.
Finite Automata

Finite automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran
diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler) dan dapat diimplementasikan
secara nyata dimana sistem dapat berada di salah satu dari sejumlah berhingga konfigurasi internal
disebut state.
Beberapa contoh sistem dengan state berhingga antara lain pada mesin minuman otomatis atau vending
machine, pengatur lampu lalu lintas dan lexical analyser. Suatu finite automata terdiri dari beberapa
bagian. Finite automata mempunyai sekumpulan state dan aturan-aturan untuk berpindah dari state
yang satu ke state yang lain, tergantung dari simbol nya. Finite automata mempunyai state awal,
sekumpulan state dan state akhir. Finite automata merupakan kumpulan dari lima elemen atau dalam
bahasa matematis dapat disebut sebagai 5-tuple. Definisi formal dari finite automata dikatakan
bahwa finite automata merupakan list dari 5 komponen : kumpulan state, input, aturan perpindahan,
state awal, dan state akhir.
Dalam DFA sering digunakan istilah fungsi transisi untuk mendefinisikan aturan perpindahan,
biasanya dinotasikan dengan δ. Jika finite automata memiliki sebuah panah dari suatu state x ke suatu
state y,dan memiliki label dengan simbol input 0, ini berarti bahwa, jika automata berada pada state x
ketika automata tersebut membaca 0, maka automata tersebut dapat berpindah ke state y dapat
diindikasikan hal yang sama dengan fungsi transisi dengan mengatakan bahwa δ(x, 0) = y.

Definisi 2.1.1 Sebuah finite automata terdiri dari lima komponen (Q, Σ, δ, q0, F ), di mana :

1. Q adalah himpunan set berhingga yang disebut dengan himpunan states.

2. Σ adalah himpunan berhingga alfabet dari simbol .

3. δ : Q × Σ adalah fungsi transisi, merupakan fungsi yang mengambil states dan


alfabet input sebagai argumen dan menghasilkan sebuah state. Fungsi transisi sering
dilambangkan dengan δ.
4. q0 □ Q adalah states awal.

5. F ⊆ Q adalah himpunan states akhir.

Definisi 2.1.2 Hopcroft et al. (2007) Suatu finite automata M = (Q,Σ,δ,q0,F) akan
menerima sebuah string w jika kumpulan states r0r1 · · · rn dalam Q memenuhi tiga
kondisi :
‘20 Teknik Automata Biro Akademik dan Pembelajaran
2 Sukenda | Ari Purno Wahyu W http://www.widyatama.ac.id
1. r0 = q0.
2. δ(ri, wi+1) = ri+1 untuk i = 0, · · · , n – 1.
3. rn □ F.

dengan w = w1w2...wn adalah string masing-masing wi adalah anggota alphabet Σ.

Pada definisi 2.1.2 kondisi yang pertama dinyatakan bahwa suatu finite automata dimulai dari start
state. Pada kondisi yang kedua dinyatakan bahwa finite automata akan berpindah dari satu state ke
state yang lain berdasarkan fungsi transisi, dan kondisi yang ketiga menyatakan bahwa finite automata
akan menerima string apabila tersebut berakhir pada final state. Dapat dinyatakan bahwa M
mengenali bahasa A jika A = {w | M menerima w}.
Menyatakan suatu finite automata dengan menggunakan notasi 5-tuple akan sangat merepotkan.
Cara yang lebih dianjurkan dalam menuliskan finite automata, yaitu dengan menggunakan :
1. Diagram transisi (transition diagram), yaitu berupa suatu graf.
2. Tabel transisi (transition table), yaitu daftar berbentuk tabel untuk fungsi δ, yang
merupakan hubungan antara himpunan states dengan alfabet input.

Contoh Pemograman

Gambar 1.1 Vending Machine

‘20 Teknik Automata Biro Akademik dan Pembelajaran


3 Sukenda | Ari Purno Wahyu W http://www.widyatama.ac.id
Vending adalah sebuah mesin yang dipergunakan untuk menjual sebuah produk atau barang, mesin
berfungsi untuk menyusun katalog barang dengan rapih dengan menggunakan sistem tombol dan
nomer antrian atau disebut dengan metode lexical analyser (analisa berurut) sehingga saat kita
memilih jenis menu secara acak sistem akan membacanya secara tersruktur dan terurut. Pada contoh
dibawah ini akan diberikan contoh pembuatan sebuah sistem vending dengan menggunakan bahasa
pemograman C yang diturunkan dari metode lexical analyser, penggunaan bahasa C dipilih karena
memudahkan pengaturan kendali perangkat keras atau microcontroller.

#include <Servo.h>

Servo servo1; // Membuat sebuh objek dengan nama servo 1

const int flexPin = A0; // Mendiskripsikan pin pada arduino

void setup()
{

Serial.begin(9600); // seting baud rate 9600


servo1.attach(9); // kendali pada servo pin 9
}

void loop()
{
int flexPosition; // input nilai servo
int servoPosition; // Output nilai servo

flexPosition = analogRead(flexPin);
servoPosition = map(flexPosition, 600, 900, 0, 180);
servoPosition = constrain(servoPosition, 0, 180);
servo1.write(servoPosition);

Serial.print("sensor: ");
Serial.print(flexPosition);
Serial.print(" servo: ");
Serial.println(servoPosition);

delay(20); // menunggu delay pada servo selama 20 detik untuk pergantian produk
yang di pilih
}

Daftar Pustaka

‘20 Teknik Automata Biro Akademik dan Pembelajaran


4 Sukenda | Ari Purno Wahyu W http://www.widyatama.ac.id
 Gautam, K. Das. (2011). Properties of Context-free Languages. Retrieved from
http://www.iitg.ernet.in/gkd/ma513/oct/oct18/note.pdf
 Utdirartamo, F. (2005). Teori Bahasa dan Otomata. Yogyakarta: Penerbit Graha
Ilmu.
 Utdirartatmo, Firrar. 2001. Teori Bahasa Dan Otomata. J & J Learning. Yogyakarta.
Hopcroft, John E.; Motwani, Rajeev.; Ullman, Jeffrey D. 2001.
 Introduction to Automata Theory, Languages, and Computation. Addison-Wesley. Martin,
John C. 1997.
 Introduction To Languages And The Theory Of Computation. TheMcGraw-Hill Companies,
Inc. Lewis, Harry R.; Papadimitriou, Christos H. 1981.
 Elements Of The Theory Of Computation. Prentice-Hall, Inc.

‘20 Teknik Automata Biro Akademik dan Pembelajaran


5 Sukenda | Ari Purno Wahyu W http://www.widyatama.ac.id

Anda mungkin juga menyukai