Pertemuan 1
Apa Teori Bahasa dan Otomata?
• Teori Bahasa dan Otomata (TBO) merupakan
komponen ilmu komputer yang membahas model
dan gagasan mendasar mengenai komputasi.
• TBO = teori komputasi mengajarkan cara-cara
dasar sehingga sebuah komputer ‘dapat’ berpikir.
Area Teori Komputasi
Teori Complexity dan Computability
• Sampai pertengahan abad ke-20, ahli matematika seperti Kurt Godel, Alan
Turing, dan Alonzo Church menemukan fakta bahwa beberapa masalah
dasar tertentu tidak dapat dipecahkan oleh komputer.
• Contoh: bagaimana komputer dapat menentukan apakah suatu
pernyataan matematika adalah true atau false.
• Salah satu konsekuensinya, pengembangan ide tentang model teoritis
komputer yang membantu konstruksi komputer seperti yang kita gunakan
sekarang.
• Dalam complexity theory, tujuannya adalah mengklasifikasikan
permasalahan sebagai masalah yang mudah (easy) atau sulit (hard).
• Dalam computability theory, klasifikasi permasalahan berdasarkan pada
dapat dipecahkan (solvable) atau tidaknya suatu permasalahan tersebut.
• Beberapa konsep dalam computability digunakan dalam complexity
theory.
Teori Otomata
• Automata theory : Study of abstract computing
devices, or “machines” . Berkaitan dengan definisi dan
properti dari model-model matematika komputasi.
• Automaton = an abstract computing device
• Model pertama disebut finite automaton, yang dapat
digunakan dalam text processing, compilers, dan
hardware design.
• Adapun model lainnya disebut context-free grammar,
yang digunakan dalam bahasa pemrograman dan
artificial intelligence.
KONSEP UTAMA TBO
Konsep Bahasa dan Otomata
• Simbol : suatu entitas abstrak yang tidak kita definisikan secara
formal. Contoh : huruf & digit
• Alphabet : himpunan simbol berhingga dinyatakan sebagai (sigma).
– Contoh : Biner = {0,1}
huruf kecil = {a,b,c,..z}
alphanumeric = {a-z, A-Z,0-9}
• String (kata/untai) : suatu deretan berhingga dari simbol-simbol.
Contoh ‘a’, ‘k’ , ‘t’ adalah simbol dan ‘kata’, ‘katak’ adalah suatu string.
– Panjang string : jumlah simbol yang membentuk string tersebut. contoh
‘kata’ panjangnya 4, |w| = 4
“katak’ panjangnya 5, |w| = 5
– String kosong = Ɛ (epsilon), panjangnya |Ɛ| = 0.
Konsep Bahasa dan Otomata Cont..
• Bahasa : himpunan string-string dari simbol – simbol
untuk suatu alphabet.
– Bahasa Kosong = Ø
• Tata Bahasa (Grammar) : kumpulan dari himpunan-
himpunan variabel, simbol-simbol terminal, simbol
awal, yang dibatasi oleh aturan-aturan produksi.
Hirarki Chomsky
• Klasifikasi tata bahasa (grammar) :
Regular Unrestricted/Phase
(FSA : DFA Bebas Konteks Context Sensitive Structure/Natural
& NDFA) (PDA) (LBA) Language
Mesin Turing
• Definisi
– G = (V,E), V: kumpulan node, E: kumpulan garis
– G = ({1,2,3,4}, {(1,2),(1,4),(1,3),(2,4),(3,4)})
Graph [2]
G dan G’
• Derajat dari node: derajat dari suatu node dihitung dari jumlah busur
yang terhubung dengan node itu. Contohnya, derajat node 1 adalah 3.
• Subgraph: G’ = ({1,2,4}, {(1,2), (1,4), (2,4)})
• Jalur/Path: rangkaian node yang terhubung oleh busur. Contohnya,
(2,4,3)
• Sirkuit/Circle: jalur dengan start dan end node sama. Contohnya,
(1,2,4,1)
Graph [3]