download

Learning Outcomes
• Mahasiswa dpt membandingkan berbagai
bentuk
algoritma
FA
untuk
suatu
ekspresi/Syntax
program
agar
dapat
dianalisis diterima/ditolak..
Bina Nusantara
Outline Materi:
•
•
•
•
•
•
Bina Nusantara
Algoritma Cheking
Recoqnizer
String, syntax & semantics
Operasi String
Aplikasi string
Language..
Pengertian
• Mathematical machines adalah model-model
komputasi yang ditulis secara matematis dan
merupakan dasar dari komputer modern yang
berfungsi untuk menganalisis jalannya (execute)
program serta merupakan model komputasi yang
berfungsi sebagai acceptor (recognizer) dan
transduser.
Bina Nusantara
Klasifikasi Math.Machine
• Secara umum mathematical machines dapat
diklasifikasikan dalam beberapa jenis, yaitu :
• - Finite Automata (FA)
• - Push-down Automata (PDA)
• - Turing Machine (TM)
Bina Nusantara
Algoritma Cheking
• Ilustrasi model matematis (Finite Automata) untuk parity checking:
• Untuk memahami model matematis (finite automata) diberikan satu
ilustrasi untuk parity checking, seperti berikut ini.
• Perhatikan masalah parity checking berikut :
Jika rangkaian bit-bit diatas dianggap sebagai suatu string,
bagaimana menggambarkan Finite Automata untuk memeriksa
kebenaran string tersebut ?
Bina Nusantara
Algoritma OddParity
•
•
•
•
•
•
•
•
•
•
•
•
begin
odd := false;
for I := 1 to 9 do
if frame [I] = 1 then
if odd then
odd := false
else odd := true
fi
fi;
od;
parity := odd
end.
Bina Nusantara
• Jika algoritma diatas diperhatikan maka ada dua situasi
(state) yaitu pertama, ketika jumlah bit ‘1’ genap; kedua,
ketika jumlah bit ‘1’ ganjil.
• Ketika ‘0’ dilalui maka state tidak berubah; akan tetapi
ketika dijumpai ‘1’, maka state akan berubah.
Bina Nusantara
Recognizer
• Untuk mengerti tentang finite automata, berikut ini diberikan
satu contoh finite autumata untuk menggambarkan parity
checking (Recognizer).
1
odd
even
A
1
B
Start
0
Bina Nusantara
Semantics :
• FA digambarkan dalam bentuk graph berarah (direct graph)
• Dalam FA diatas, checking dimulai dari state even (genap);
proses berakhir (dengan kebenaran) jika berakhir pada state odd
(ganjil)
• - Periksa kebenaran string-string be-rikut :
• 010100110  (salah / rejected)
• 100011110  (benar / accepted)
• 001111001  (benar / accepted)
Bina Nusantara
String :
• String adalah sesuatu deretan/sekuen dari karakterkarakter (definisi informal). Demikian juga string
digunakan untuk membangun Building block dari
bahasa pemrograman
• String dalam bahasa programming dibentuk dari
karakter-karakter ASCII atau EBCDIC (untuk mesinmesin tertentu). Dalam bahasa programming, string
dapat berupa variable-names, bilangan, reserved
words, dsb.
Bina Nusantara
String ; (2)
• String adalah sekuen terbatas dari elemen-elemen  .
• Himpunan seluruh String yang dibentuk dari ,
dinotasikan *
• Contoh :
• Bahasa Indonesia terdiri dari kata-kata. Kata-kata
dalam bahasa Indonesia adalah string-string yang
dibentuk dari alphabet {a,b,c,...,spasi,-,’}
• Contoh string : aku, kamu, mengapa, dsb
Bina Nusantara
Syntax & Semantics :
• Syntax suatu bahasa adalah aturan yang menentukan
apakah suatu string merupakan bagian dari bahasa
yang didefinisikan.
• Semantics suatu bahasa adalah aturan yang
menterjemahkan arti dari suatu string.
Bina Nusantara
Operasi string :
• Operasi string terdiri dari dua, yaitu :
•
- Concatenation dan Substring
• Concatenation dua buah string A dan B, yang
dinotasikan AB, adalah sekuen yang terdiri dari sekuen
A yang diikuti dengan sekuen B.
• Contoh :
• Misalkan string A adalah ‘protes’ dan string B adalah
‘keras’, maka string AB adalah ‘proteskeras’ dan string
BA adalah ‘kerasprotes’. Perhatikan bahwa operasi
concatenation tidak bersifat komutatif.
Bina Nusantara
Operasi string : (2)
• A dikatakan sebagai substring dari B bila seluruh sekuen
simbol-simbol di A sbgi subsekuen di B
Contoh :
‘abcd’ adalah substring dari ‘cdabcdcdxy’
‘xyab’ adalah bukan substring dari ‘cdabcdcdxy’
• Panjang string A, dinotasikan  (A), adalah jumlah simbol
pada string A. Suatu string yang panjangnya 0 disebut string
kosong
Contoh :  (‘protes’) = 6
 (‘keras’) = 5..
Bina Nusantara
FA sebagai Model Komputasi
•
•
•
•
•
•
Finite Automata merupakan model komputasi paling sederhana yang
menggambarkan bagaimana fungsi komputer dalam menjalankan
program
Ide dasar dari Finite Automata adalah bahwa komputer merupakan finite
structure dimana informasi diproses dalam bentuk string
Penggambaran FA : Finite Automata dapat digambarkan dengan
beberapa cara, yaitu :
Dengan Graph Berarah
Dengan Notasi Formal 5-tuple
Dengan Tabel State..
Bina Nusantara
Bina Nusantara