Teori Himpunan Matematika Dasar untuk Teori Bahasa Otomata Teori Bahasa & Otomata Semester Ganjil 2009/2010 Himpunan adalah sekumpulan entitas tidak memiliki struktur sifatnya hanya keanggotaan Notasi keanggotaan x S x S Menspesifikasikan himpunan S = {0, 2, 4, 6, } S = {x: x 0, x genap} Operasi pada Himpunan Union ( ) Intersection ( ) Difference (-) Complementation (S ) S = { x : x U, x S } Himpunan Tanpa Elemen disebut Himpunan Kosong Notasi: Apakah hal berikut membingungkan? S = S - = S S = = U S = S Himpunan Kosong ( ) Subset ( ) & proper subset ( ) Disjoint S 1 S 2 = Himpunan finit(hingga) dan infinit(tak hingga) S ukuran himpunan finit Jumlah elemen himpunan S Notasi Powerset & Cartesian Product Powerset 2 s himpunan seluruh himpunan bagian dari S S ={a,b,c}, 2 S ={,(a),(b),(c),(a,b),(a,c),(b,c),(a,b,c)} Cartesian Product S = S 1 S 2 = {(x, y): x S 1, y S 2 } S 1 ={2, 4}, S 2 ={1, 2} S 1 S 2 = {(2, 1), (2, 2), (4, 1), (4, 2)}, 1
Definisi Fungsi Fungsi ( f )= suatu aturan yang memetakan elemen-elemen suatu himpunan (domain) ke elemen himpunan lain (range) f :S 1 S 2 Fungsi total & fungsi parsial total jika domain adalah seluruh anggota S 1 perbedaan Fungsi & Relasi Fungsi Pasangan elemen: {(x 1, y 1 ), (x 2, y 2 ), (x 3, y 3 ), } x i paling banyak muncul sekali sebagai elemen pertama pada pasangan elemen Relasi Bentuk umum dari fungsi Suatu elemen dapat dipetakan ke lebih dari satu elemen range Salah satu macam relasi Ekuivalensi x y Reflexivity x x untuk semua x Symmetry Jika x y maka y x Transitivity Jika x y dan y z maka x z Ekuivalensi definisi Graph Graph = suatu bentuk yang terdiri atas dua himpunan hingga (finite set), yaitu himpunan vertek dan himpunan edge(tepi) Vertek, V = { v 1, v 2, v 3, } Edge, E = { e 1, e 2, e 3, } Setiap edge adalah pasangan dari vertek e i =(v j, v k ) visualisasi Graph Visualisasi Graph Vertek dan edge biasanya diberi label Vertek lingkaran Edge garis dengan tanda panah di salah satu ujungnya v 1 v 2 v 3 visualisasi Graph V = { v 1, v 2, v 3 } E = {(v 1, v 3 ), (v 3, v 1 ), (v 3, v 2 ), (v 3, v 3 )} walk, path, simple path, cycle, simple cycle 2
definisi Tree visualisasi Tree Tree = suatu tipe khusus dari graph Directed graph yang tidak memiliki cycles dan memiliki suatu vertek khusus disebut root Hanya terdapat satu path dari root ke setiap vertek lain Root = vertek tanpa edge yang menuju kepadanya Daun = vertek tanpa edge yg keluar darinya daun root Level 0 kedalaman = 3 Level 3 Teknik Pembuktian induktif & kontradiktif Induktif diasumsikan benar untuk: P 1, P 2,, P n (disebut asumsi induktif) diperlihatkan benar untuk nilai awal-nya (basis) dibuktikan asumsi tsb juga benar untuk P n+1 (disebut langkah induktif) Kontradiktif Contoh Teknik Pembuktian induktif Buktikan bahwa sebuah binary tree (pohon biner) dengan ketinggian n memiliki paling banyak 2 n daun! Pembuktian: dinotasikan banyaknya daun adalah l(n), shg l(n) 2 n Basis: l(0) = 1 = 2 0 (yaitu root) Asumsi Induktif: l(i) 2 i, untuk i = 0, 1, 2,, n Langkah induktif: l(n+1) = 2 l(n) l(n+1) 2 x 2 n = 2 n+1 melakukan asumsi sebaliknya Contoh Teknik Pembuktian kontradiktif Buktikan bahwa 2 bukan bilangan rasional! Pembuktian: Diasumsikan sebaliknya, yaitu 2 adalah bilangan rasional, sehingga dapat ditulis sbb: n 2 = m 2 m 2 = n 2 Tiga Konsep Dasar Bahasa, Grammar, & Otomata terlihat bahwa n 2 genap, sehingga n = 2k 2 m 2 = 4k 2 m 2 = 2k 2 Karena m adalah genap maka hal ini kontradiksi dengan asumsi kita, sehingga m dan n tidak ada dan 2 bukan bilangan rasional 3
Bahasa Bahasa Alami: bahasa inggris, indonesia, belanda, Definisi informal: sebuah sistem yang sesuai untuk mengekspresikan suatu ide, fakta, atau konsep, termasuk didalamnya sekumpulan simbol dan aturan-aturan untuk memanipulasinya Bahasa formal? Bahasa Formal Alfabet (Σ) himpunan simbol, non-empty set String : rangkaian hingga simbol pada alfabet Contoh: Σ = {a, b}, abab dan aaabbb adalah string pada Σ Bahasa Formal Operasi pada string Concatenation Reverse Panjang string = empty string Σ* = konkatenasi simbol pada Σ sebanyak 0 atau lebih kali (disebut star closure of Σ) Σ + = Σ*-( } (disebut positif closure of Σ) Definisi Bahasa Formal Sebuah bahasa didefiniskan secara umum sebagai subset dari Σ* Suatu string w pada suatu bahasa L disebut kata atau kalimat pada L Pada teori bahasa formal kata dan kalimat tidak dibedakan L* = L 0 L 1 L 2 L + = L 1 L 2 Grammar Grammar (pada bahasa alami) Untuk menentukan apakah suatu kalimat memiliki format yang baku atau tidak Pada bahasa inggris Sebuah kalimat dapat terdiri dari sebuah noun phrase diikuti oleh sebuah predicate <sentence> <noun_phrase><predicate> <noun_phrase> <article><noun> <predicate> <verb> Contoh Grammar Misal : <article> = a dan the <noun> = boy dan dog <verb> = runs dan walks Contoh kalimat: a boy runs, the dog walks 4
Grammar Formal Sebuah grammar didefinisikan sebagai sebuah quadruple G = (V, T, S, P) dimana: V = himpunan hingga objek yang disebut variabel T = himpunan hingga objek yang disebut terminal symbol S V = spesial symbol yang dinamakan start variabel P = sebuah himpunan berhingga dari production Production Rule Production rule adalah inti dari grammar menspesifikasikan bagaimana suatu grammar mengubah suatu string manjadi string yang lain, dan mendefinisikan bahasa sesuai dengan grammar yang dipakai Format: x y dimana x (V T ) + dan y (V T )* Misal : Sebuah string w memiliki format : w uxv Production x y applicable (dapat diaplikasikan) untuk string w String baru : z uyv Dituliskan: w z Production Rule Jika: w 1 w 2 w n dikatakan w 1 menurunkan w n w 1 w n * * (tanda bintang) mengindikasikan jumlah langkah yang tak tentu (termasuk nol) untuk menurunkan w n dari w 1 + w 1 w n + (tanda plus) mengindikasikan minimal terdapat satu produksi untuk menurunkan w n dari w 1 Bahasa didefinisikan oleh Grammar Jika G = (V, T, S, P) adalah sebuah grammar. Maka himpunan: L(G) = {w T*: S w} adalah bahasa yang dihasilkan oleh G. Jika w L(G), maka deretan S w1 w2 wn w adalah penurunan untuk kalimat/kata w String: S, w 1, w 2,,w n disebut sentential forms * Contoh Diberikan grammar G = ({S},{a,b}, S, P), dengan P sbb.: S asb S Maka : S asb aasbb aabb dapat dituliskan : S * aabb Maka bahasa yang dihasilkan oleh G adalah : L(G) = {a n b n : n 0} Latihan 1. Cari grammar yang menghasilkan bahasa L(G) = {a n b n+1 : n 0}! 2. Definsikan bahasa yang dihasilkan oleh grammar dengan production berikut: S aa A bs S 5
Otomata Model Visual Otomata Model abstrak dari sebuah komputer digital Fitur utama: Membaca input berupa string simbol Dari kiri ke kanan Satu simbol pada satu waktu Mendeteksi akhir string input Menghasilkan output Memiliki control unit Mengontrol perpindahan state Dapat memiliki alat penyimpan sementara Input File Control Unit Storage Output Tipe Otomata Deterministic Finit Otomata (DFA) jika diketahui konfigurasi dari input, internal state, dan isi penyimpan sementara maka bisa diprediksi kelakuan otomata kemudian Non-deterministic Finit Otomata (NFA) terdapat beberapa kemungkinan perpindahan dari suatu state Accepter : output ya/diterima atau tidak/ditolak Transducer : output berupa string 6