By : Lisda Juliana Pangaribuan Pertemuan I By : Lisda Juliana Pangaribuan
Konsep Bahasa Dan Otomata Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah (text processor). Bahasa adalah himpunan string dari simbol-simbol untuk suatu alpabhet atau rangkaian simbol yang memiliki makna. Simbol adalah sebuah entitas abstrak yang tidak didefenisikan secara formal(seperti halnya pengertian titik dalam geometri). contoh: Sebuah huruf atau sebuah angka String adalah deretan terbatas (finite) dari simbol-simbol. Contoh, jika a, b, dan c adalah tiga buah simbol maka abc adalah sebuah string yang dibangun dari ketiga simbol tersebut.
Panjang string adalah jumlah simbol yang membentuk string. Contoh : string ‘saya’ panjangnya 4 Jika w adalah sebuah string maka panjang string dinyatakan sebagai w dan didefinisikan sebagai cacahan (banyaknya) simbol yang menyusun string tersebut. contoh, jika w = abcb maka w= 4. String hampa ( kosong )adalah sebuah string dengan nol buah simbol. String hampa dinyatakan dengan simbol (atau ^) sehingga = 0. String hampa dapat dipandang sebagai simbol hampa karena keduanya tersusun dari nol buah simbol. Alfabet adalah hinpunan hingga (finite set) simbol-simbol
Bahasa formal adalah kumpulan kalimat Bahasa formal adalah kumpulan kalimat. Semua kalimat dalam sebuah bahasa dibangkitkan oleh sebuah tata bahasa (grammar) yang sama. Bahasa Formal adalah : Suatu kalimat dibentuk dengan menerapkan serangkaian aturan produksi pada sebuah simbol ‘akar’. Proses penerapan aturan produksi dapat digambarkan sebagai suatu diagram pohon.
Otomata Adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu, dimana bahasa yang harus dikenali adalah input. Mesin otomata dapat membuat keputusan apakah input tsb diterima atau ditolak . Contoh : a d a ada = diterima i u adu = diterima adi = ditolak q0 q1 q2 q3 q5 q4
Hirarki chomsky Tata bahasa ( grammer ) adalah himpunan variabel ( non terminal ), simbol terminal, simbol awal yang dibatasi oleh aturan produksi. Variabel ( Non terminal ) adalah : simbol yang masih bisa di turunkan Simbol-simbol berikut adalah simbol non terminal /Variabel : huruf besar, misalnya : A, B, C huruf S sebagai simbol awal string yang tercetak miring, misalnya : expr
Simbol terminal adalah : simbol yang sudah tidak bisa diturunkan lagi. Simbol-simbol berikut adalah simbol terminal : huruf kecil, misalnya : a, b, c, 0, 1, .. simbol operator, misalnya : +, , dan simbol tanda baca, misalnya : (, ), dan ; string yang tercetak tebal, misalnya : if, then, dan else. Huruf yunani melambangkan string yang tersusun atas simbol- simbol terminal atau simbol-simbol non terminal atau campuran keduanya, misalnya : , , dan .
Contoh : 1. T a ( T menghasilkan a ) Aturan Produksi : pusat tata bahasa yang menspesifikasikan bagaimana suatu tata bahasa melakukan transformasi suatu string ke bentuk lain dan melalui aturan produksi di defenisikan suatu bahasa yang berhubungan dengan tatabahasa tersebut. Contoh : 1. T a ( T menghasilkan a ) E T | T + E artinya E menghasilkan T atau E menghasilkan T + E Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya. Kalimat adalah string yang tersusun atas simbol-simbol terminal. Kalimat adalah merupakan sentensial, sebaliknya belum tentu..
Grammar G didefinisikan sebagai pasangan 4 tuple : VT , V , S, dan P, dan dituliskan sebagai G(VT , V , S, P), dimana : VT : himpunan simbol-simbol terminal (alfabet) kamus V : himpunan simbol-simbol non terminal SV : simbol awal (atau simbol start) P : himpunan produksi Contoh : 1. G1 : VT = {I, Love, Miss, You}, V = {S,A,B,C}, P = {S ABC, A I, B Love | Miss, C You} S ABC IloveYou Maka : L(G1)={IloveYou, IMissYou}
2. . G2 : VT = {a}, V = {S}, P = {S aSa} aaS aaa L(G2) ={an n ≥ 1} Maka L(G2)={a, aa, aaa, aaaa,…}
Penggolongan bahasa sesuai mesin pengenal bahasa (otomata ) menurut Noam Chomsky Bahasa Mesin Automata Aturan Produksi
Keterangan menyatakan simbol – simbol yang berada di ruas kiri aturan produksi menyatakan simbol – simbol yang berada di ruas kanan aturan produksi Simbol-simbol terdiri dari simbol terminal dan non terminal/variabel (masih bisa diturunkan lagi) Simbol terminal biasanya dinyatakan dengan huruf kecil, sementara non terminal dengan huruf besar
Aturan Produksi Tipe O / Unrestricted: Tidak Ada batasan pada aturan produksi Abc De Tipe 1 / Context sensitive: Panjang string ruas kiri harus lebih kecil atau sama dengan ruas kanan Ab DeF CD eF Tipe 2 / Context free grammar: Ruas kiri haruslah tepat satu simbol variable B CDeFg D BcDe Tipe 3 / Regular: Ruas kanan hanya memiliki maksimal 1 simbol non terminal dan diletakkan paling kanan sendiri A e A efg A efgH C D
Aturan produksi yang tidak legal Simbol E tidak boleh berada pada ruas kiri misal E Abd Aturan produksi yang ruas kirinya hanya memuat simbol terminal saja misal : a bd atau ab bd
Hirarki chomsky Unrestristed Contex Sensitive Contex Free Regular
Tugas Teori himpunan Fungsi dan relasi Graph dan tree