PERTEMUAN 2 - · PDF fileBAHASA MESIN OTOMATA BATASAN ATURAN ... Mesin Turing Tidak ada...
Transcript of PERTEMUAN 2 - · PDF fileBAHASA MESIN OTOMATA BATASAN ATURAN ... Mesin Turing Tidak ada...
Otomata (Automata)
Otomata adalah mesin abstrak yang dapatmengenali (recognize), menerima (accept), ataumembangkitkan (generate) sebuah kalimat dalambahasa tertentu.
Beberapa Pengertian Dasar
Simbol adalah sebuah entitas abstrak (seperti halnyapengertian titik dalam geometri). Sebuah huruf atau sebuahangka adalah contoh simbol.
String adalah deretan terbatas (finite) simbol-simbol. Sebagaicontoh, jika a, b, dan c adalah tiga buah simbol maka abcbadalah sebuah string yang dibangun dari ketiga simboltersebut.
Jika w adalah sebuah string maka panjang string dinyatakansebagai w dan didefinisikan sebagai cacahan (banyaknya)simbol yang menyusun string tersebut. Sebagai contoh, jika w= abcb maka w= 4.
String hampa (empty string) adalah sebuah string dengan nolbuah simbol. String hampa dinyatakan dengan simbol (atau^) sehingga = 0. String hampa dapat dipandang sebagaisimbol hampa karena keduanya tersusun dari nol buah simbol.
Alfabet adalah himpunan hingga (finite set) simbol-simbol
Operasi Dasar String [1]
Diberikan dua string : x = abc, dan y = 123
Prefik string w adalah string yang dihasilkan daristring w dengan menghilangkan nol atau lebihsimbol-simbol paling belakang dari string wtersebut.
Contoh : abc, ab, a, dan adalah semua Prefix(x)
ProperPrefix string w adalah string yang dihasilkandari string w dengan menghilangkan satu atau lebihsimbol-simbol paling belakang dari string wtersebut.
Contoh : ab, a, dan adalah semua ProperPrefix(x)
Operasi Dasar String [2]
Postfix (atau Sufix) string w adalah string yangdihasilkan dari string w dengan menghilangkan nolatau lebih simbol-simbol paling depan dari string wtersebut.
Contoh : abc, bc, c, dan adalah semua Postfix(x)
ProperPostfix (atau PoperSufix) string w adalahstring yang dihasilkan dari string w denganmenghilangkan satu atau lebih simbol-simbol palingdepan dari string w tersebut.
Contoh : bc, c, dan adalah semua ProperPostfix(x)
Operasi Dasar String [3]
Head string w adalah simbol paling depan dari stringw.
Contoh : a adalah Head(x)
Tail string w adalah string yang dihasilkan dari stringw dengan menghilangkan simbol paling depan daristring w tersebut.
Contoh : bc adalah Tail(x)
Operasi Dasar String [4]
Substring string w adalah string yang dihasilkan daristring w dengan menghilangkan nol atau lebih simbol-simbol paling depan dan/atau simbol-simbol palingbelakang dari string w tersebut.
Contoh : abc, ab, bc, a, b, c, dan adalah semuaSubstring(x)
ProperSubstring string w adalah string yang dihasilkandari string w dengan menghilangkan satu atau lebihsimbol-simbol paling depan dan/atau simbol-simbolpaling belakang dari string w tersebut.
Contoh : ab, bc, a, b, c, dan adalah semuaSubstring(x)
Operasi Dasar String [5]
Subsequence string w adalah string yang dihasilkandari string w dengan menghilangkan nol atau lebihsimbol-simbol dari string w tersebut.
Contoh : abc, ab, bc, ac, a, b, c, dan adalahsemua Subsequence(x)
ProperSubsequence string w adalah string yangdihasilkan dari string w dengan menghilangkan satuatau lebih simbol-simbol dari string w tersebut.
Contoh : ab, bc, ac, a, b, c, dan adalah semuaSubsequence(x)
Operasi Dasar String [6]
Concatenation adalah penyambungan dua buahstring. Operator concatenation adalah concate atautanpa lambang apapun.
Contoh : concate(xy) = xy = abc123
Alternation adalah pilihan satu di antara dua buahstring. Operator alternation adalah alternate atau
Contoh : alternate(xy) = xy = abc atau 123
Kleene Closure : x* = xxxxxx… = xx x …
Positive Closure : x + = xxxxxx… = xx x …
Sifat Operasi [1]
Tidak selalu berlaku : x = Prefix(x)Postfix(x)
Selalu berlaku : x = Head(x)Tail(x)
Tidak selalu berlaku : Prefix(x) = Postfix(x) atauPrefix(x) Postfix(x)
Selalu berlaku : ProperPrefix(x) ProperPostfix(x)
Selalu berlaku : Head(x) Tail(x)
Setiap Prefix(x), ProperPrefix(x), Postfix(x),ProperPostfix(x), Head(x), dan Tail(x) adalahSubstring(x), tetapi tidak sebaliknya
Setiap Substring(x) adalah Subsequence(x), tetapitidak sebaliknya
Sifat Operasi [2]
Dua sifat aljabar concatenation :
Operasi concatenation bersifat asosiatif : x(yz) = (xy)z
Elemen identitas operasi concatenation adalah : x = x = x
Tiga sifat aljabar alternation :
Operasi alternation bersifat komutatif : xy = yx
Operasi alternation bersifat asosiatif :
x(yz) = (xy)z
Elemen identitas operasi alternation adalah dirinyasendiri : xx = x
Sifat Operasi [3]
Sifat distributif concatenation terhadap alternation : x (yz) = xyxz
Beberapa kesamaan :
Kesamaan ke-1 : (x*)* = x*
Kesamaan ke-2 : x = x = x*
Kesamaan ke-3 : (xy)* = xyxxyyxyyx… = semua string yang merupakan concatenation dari nol atau lebih x, y, atau keduanya.
Pada tahun 1959, Noam Chomsky seorang ahli filsafat Rusia
melakukan penggolongan bahasa menjadi 4(empat yang dikenaldengan “hirarki Chomsky”
BAHASA MESIN OTOMATA BATASAN ATURAN PRODUKSI
Regular/Tipe 3 Finite State Automata(FSA) meliputi:
Deterministic Finite Automata(DFA) dan Non Deterministic Finite Automata(NFA)
α adalah sebuah simbolvariabel
β maksimal memiliki sebuahsimbol variabel yang adaterletak diposisi paling kanan
Bebas Konteks / Context Free / Tipe 2
Push Down Automata(PDA)
α berupa sebuah simbolvariabel
Context Sensitive / Tipe 1
Linier Bound Automata| α | ≤ | β |
Unrestricted / Phase Structure / Natural Language / Tipe 0
Mesin Turing Tidak ada batasan
Regular/Tipe 3 :
A e A efgH
Bebas Konteks / Context Free / Tipe 2 :
A AduH A BeCak
Context Sensitive / Tipe 1 :
Ab DeF CD eF
Unrestricted / Phase Structure / Natural Language / Tipe 0 :Contoh yang tidak diterima bahasa (invalid):
AbuNawas bakar a bd atau ab bd atau aA bd
Nama Abu
Contoh Bahasa
Regular
Bebas konteks
Context sensitive
Unrestricted
Hubungan Keterkaitan Bahasa Pada
Hirarki Chomsky
Tentukan aturan produksi berikut:
1. A aSa
2. B Ad
3. A aSS
4. Ad dB
5. abcDef ghijkl
6. abC DE
7. ABCDEFG h
8. A ABCDEF
9. bA CDEFGh
10. AB cde
Latihan
GRAMMAR DAN BAHASA
Konsep Dasar [1]
Anggota alfabet dinamakan simbol terminal.
Kalimat adalah deretan hingga simbol-simbolterminal.
Bahasa adalah himpunan kalimat-kalimat. Anggotabahasa bisa tak hingga kalimat.
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, danelse.
GRAMMAR DAN BAHASA
Konsep Dasar [2]
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
Huruf yunani melambangkan string yang tersusunatas simbol-simbol terminal atau simbol-simbol nonterminal atau campuran keduanya, misalnya : , ,dan .
GRAMMAR DAN BAHASA
Konsep Dasar [3]
Sebuah produksi dilambangkan sebagai , artinya:dalam sebuah derivasi dapat dilakukan penggantiansimbol dengan simbol .
Derivasi adalah proses pembentukan sebuah kalimat atausentensial. Sebuah derivasi dilambangkan sebagai : .
Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal ataucampuran keduanya.
Kalimat adalah string yang tersusun atas simbol-simbolterminal. Kalimat adalah merupakan sentensial,sebaliknya belum tentu..
Grammar
Grammar G didefinisikan sebagai pasangan 4 tuple :V , V , S, dan P, dan dituliskan sebagai G(V , V , S, P),dimana :
V : 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 ABCS IloveYou
L(G1)={IloveYou, IMissYou}
2. G2 : VT = {a}, V = {S}, P = {S aSa}S aSS aaSS aaaL(G2) ={an n ≥ 1}
L(G2)={a, aa, aaa, aaaa,…}