OTOMATA DAN TEORI BAHASA FORMAL SEMESTER PENDEK 2015/2016 OTOMATA DAN TEORI BAHASA FORMAL Betha Nurina Sari,M.Kom
PERTEMUAN 2 Hirarki Chomsky
Hirarki Chomsky (1) Grammar/ Tata bahasa bisa didefinisikan secara formal sebagai kumpulan dari himpunan-himpunan variabel, simbol-simbol terminal, simbol awal, yg dibatasi oleh aturan- aturan produksi. Pada tahun ‘59, Noam Chomsky melakukan penggolongan tingkatan bahasa menjadi empat, yang disebut dengan Hirarki Chomsky.
Batasan Aturan Produksi Hirarki Chomsky (2) Bahasa Mesin Otomata Batasan Aturan Produksi Reguler/Tipe 3 Finite State Automata (FSA) meliputi Deterministic Finite Automata (DFA), & Non-deterministic Finite Automata (NFA). α adalah sebuah simbol variabel ß maks memiliki sebuah simbol variabel yg bila ada terletak di posisi paling kanan Bebas Konteks/Context Free/ Tipe 2 Push Down Automata (PDA) α berupa sebuah simbol variabel Context Sensitive/ Tipe 1 Linier Bounded Automata |α| ≤ |ß| Unresticted/ Phase Structure/ Natural Language/ Tipe 0 Mesin Turing Tidak ada batasan
1. Regular / Tipe 3 1. Regular / Tipe 3 Pada bahasa reguler, batasannya bertambah dengan ruas kanan maks memiliki sebuah simbol variabel yang terletak di paling kanan. Artinya bisa memiliki simbol terminal saja dalam jumlah tidak dibatasi, tetapi bila terdapat simbol variabel, maka simbol variabel tersebut hanya berjumlah satu dan terletak di posisi paling kanan. Misalnya: A→e A→efg A→efgH C→D
1. Regular / Tipe 3 Aturan : Simbol pada sebelah kiri harus berupa sebuah simbol variabel (huruf besar) Simbol pada sebelah kanan maksimal hanya memiliki sebuah simbol variabel dan bila ada terletak di posisi paling kanan.
CONTOH A → b (Diterima) a → B (Ditolak, karena simbol pada sebelah kiri harus berupa sebuah simbol variabel) A → B (Diterima) A → bC (Diterima) A → Bc (Ditolak, karena simbol variabel pada sebelah kanan harus berada pada posisi paling kanan) A → bCD (Ditolak, karena simbol pada sebelah kanan maksimal hanya memiliki sebuah simbol variabel) Ab → c (Ditolak, karena simbol pada sebelah kiri harus berupa sebuah simbol variabel)
6. B → bcdef 7. Bb → bcdefg 8. A → aSa 9. A → aSS 10. A → є Tentukan apakah produksi-produksi berikut memenuhi aturan tata bahasa Regular 1. A → b 2. B → bdB 3. b → C 4. B → bC 5. B → Ad 6. B → bcdef 7. Bb → bcdefg 8. A → aSa 9. A → aSS 10. A → є
2. Bebas Konteks / Tipe 2 2. Bebas Konteks / Tipe 2 Pada bahasa bebas konteks, batasannya bertambah satu lagi dengan ruas kiri haruslah tepat satu simbol variabel/ Non terminal. Misalnya: B→CDeFg D→BcDe
Simbol pada Sebelah kiri harus berupa sebuah simbol variabel 2. Bebas Konteks / Tipe 2 Aturan : Simbol pada Sebelah kiri harus berupa sebuah simbol variabel
CONTOH A → b (Diterima) A → B (Diterima) A → bC (Diterima) A → AAA (Diterima) a → b (Ditolak, karena simbol pada sebelah kiri harus berupa sebuah simbol variabel) Ab → c (Ditolak, karena simbol pada sebelah kiri harus berupa sebuah simbol variabel) AB → c (Ditolak, karena simbol pada sebelah kiri harus berupa sebuah simbol variabel)
1. A → aSa 2. A → Ace 3. A → ab 4. A → є 5. B → bcdef 6. B → bcdefG Tentukan apakah aturan produksi-produksi berikut memenuhi aturan tata bahasa bebas konteks 1. A → aSa 2. A → Ace 3. A → ab 4. A → є 5. B → bcdef 6. B → bcdefG 7. A → aSa 8. A → Ass 9. A → AAAA 10. d → A
3. Context Sensitive/ Tipe 1 Pada bahasa Context Sensitive, panjang string pada ruas kiri ≤ panjang ruas kanan (|α| ≤ |ß|). Contoh aturan produksi yg context sensitive: Ab → DeF CD → eF |S|=1, |ɛ|=0, ada perkecualian sehingga S→ɛ dianggap memenuhi context sensitive grammar.
3. Context Sensitive/ Tipe 1 Aturan : Simbol pada Sebelah kiri harus minimal ada sebuah simbol variabel Jumlah simbol pada ruas sebelah kiri harus lebih kecil atau sama dengan jumlah simbol pada ruas kanan
CONTOH A → bc (Diterima) Ab → cd (Diterima) AB → CD (Diterima) ABC → DE (Ditolak, karena jumlah simbol pada ruas sebelah kiri lebih bayak dari jumlah simbol pada ruas kanan) Ab → cDe (Diterima) bA → cd (Diterima) a → b (Ditolak, karena simbol pada sebelah kiri harus minimal ada sebuah simbol variabel)
1. B → bcdefG 2. A → aSa 3. A → aSS 4. A → BCDEF 5. Ad → dB Tentukan apakah produksi-produksi berikut memenuhi aturan tata bahasa context sensitive. 1. B → bcdefG 2. A → aSa 3. A → aSS 4. A → BCDEF 5. Ad → dB 6. A → є 7. ad → b 8. ad → є 9. abC → DE 10. AAA → BBB
4.Unrestricted/ Natural Language/Tipe O Bahasa manusia/bahasa alami termasuk ke dalam grammar (tata bahasa) Tipe 0 / Unresticted, dimana tidak ada batasan pada aturan produksinya. Misalkan: Abc → De.
4.Unrestricted/ Natural Language/Tipe O Aturan : Simbol pada Sebelah kiri harus minimal ada sebuah simbol variabel
CONTOH Abcdef → g (Diterima) aBCdE → GHIJKL (Diterima) abcdef → GHIJKL (Ditolak, karena simbol pada sebelah kiri tidak ada sebuah simbol variabel)
1. A → є 2. AB → є 3. ad → b 4. ad → є 5. abC → DE 6. AB → cde Tentukan apakah produksi-produksi berikut memenuhi aturan tata bahasa unrestricted. 1. A → є 2. AB → є 3. ad → b 4. ad → є 5. abC → DE 6. AB → cde 7. e → a 8. ABCDE → f 9. bA → CDEFGH 10. AbA → aaba
NEXT >> FSA (Finite State Automata)