Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teori-Bahasa-dan-Otomata

Presentasi serupa


Presentasi berjudul: "Teori-Bahasa-dan-Otomata"— Transcript presentasi:

1 Teori-Bahasa-dan-Otomata
Lecture #2 Konsep Grammar & Hirarki Chomsky

2 Outline Konsep Dasar Aturan Produksi Grammar & Chomsky

3 TERMINOLOGI BAHASA Manfaat bahasa adalah sebagai media komunikasi yang menggunakan sekumpulan simbol dan dikombinasikan menurut aturan sintaksis tertentu (grammar). Sementara Semantik bahasa mendefinisikan bagaimana sebuah kalimat dapat diinterpretasikan/diartikan secara benar (sesuai dengan grammar-nya). Terminologi penting di dalam memahami teori bahasa adalah pemahaman terhadap alphabet dan string.

4 TERMINOLOGI BAHASA (cont …)
Bahasa = { Kalimat } Kalimat = { Kata atau String } Kata atau String = { Karakter } Karakter = { Alphabet  Digit  Symbol } Bahasa = { { {Alphabet  Digit  Symbol } } }

5 Konsep Dasar Tata bahasa (grammar)  dibatasi oleh aturan-aturan produksi Aturan produksi adalah pusat dari tata bahasa yang menspesifikasikan bagaimana suatu tata bahasa melakukan transformasi suatu string ke bentuk lainnya

6 Konsep Dasar (Cont …) Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Lambang: α ⇒ β Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya.

7 Konsep Dasar (Cont …) Sebuah produksi dilambangkan sebagai   , artinya : dalam sebuah derivasi dapat dilakukan penggantian simbol  dengan simbol . Simbol  dalam produksi berbentuk    disebut ruas kiri produksi sedangkan simbol  disebut ruas kanan produksi. Pengertian terminal berasal dari kata terminate (berakhir), maksudnya derivasi berakhir jika sentensial yang dihasilkan adalah sebuah kalimat (yang tersusun atas simbol-simbol terminal itu). Pengertian non terminal berasal dari kata not terminate (belum/tidak berakhir), maksudnya derivasi belum/tidak berakhir jika sentensial yang dihasilkan mengandung simbol non terminal.

8 Konsep Dasar (Cont …) Simbol Terminal
huruf kecil awal alfabet  : a, b, c simbol operator  +, −, dan × simbol tanda baca  (, ), dan ; string yang tercetak tebal  if, then, else. Simbol NonTerminal huruf besar awal alfabet  : A, B, C Huruf S sebagai simbol awal String tercetak miring  expr dan stmt

9 Aturan Produksi Contoh : T menghasilkan a T → a E menghasilkan T atau
Semua aturan produksi dinyatakan dalam bentuk “ α  β “ (bisa dibaca α menghasilkan β, atau dibaca α menurunkan β) Contoh : T → a T menghasilkan a E menghasilkan T atau E menghasilkan T + E E → T │ T + E

10 Metode Pendefinisian Bahasa (Cont …)
Metode untuk mendefinisikan bahasa secara berhingga (untuk bahasa yang tidak berhingga) adalah melalui : Grammar kita dapat membangun sebuah kalimat dengan sintaksis yang benar sesuai dengan kaidah yang telah ditetapkan pada serangkaian aturan yang disebut production(s) Recognizer atau Finite Automata diberikan sebuah input string, maka recognizer akan melakukan penelusuran karakter per karakter untuk mengetahui apakah input string tersebut merupakan anggota suatu bahasa tertentu atau tidak

11 Metode Pendefinisian Bahasa (Cont …)
Namun dalam kenyataannya, kedua metode tersebut sebenarnya teraplikasi untuk tujuan yang berbeda : Grammar lebih berfungsi sebagai pembangkit string dan sentence. Recognizer atau Finite Automata sesuai namanya, recognizer lebih berfungsi sebagai pengenal string atau sentence.

12 GRAMMAR Definisi konseptual :
Grammar adalah sebuah sistem matematis yang digunakan untuk mendefinisikan bahasa. Definisi Formal Grammar G didefinisikan sebagai pasangan 4 tuple : VN, VT, S, dan Q, dan dituliskan sebagai G(VN, VT, S, Q), dimana : VT : himpunan simbol-simbol terminal (atau himpunan token -token, atau alfabet) VN : himpunan simbol-simbol non terminal S  VN : simbol awal (atau simbol start Q : himpunan produksi

13 GRAMMAR (Cont ….) Contoh : Sub-himpunan nonterminal : VN = {I, L, D}
Sub-himpunan terminal : VT = {a, b, c, …, z, 0, 1, 2, …, 9} Sub-himpunan start symbol : S = I Sub-himpunan poduction : = {I  L, I  IL, I  ID, L  a, L  b, …, L  z, D  0, D  1, D  2, …, D  9}

14 GRAMMAR (Cont ….) Contoh :
Sebuah grammar G = (VN, VT, S, ) untuk pembentukan bilangan bulat positif. VN = {ANGKA, DIGIT_AWAL, DIGIT_LAIN} VT = {0, 1, 2, …, 9} S = ANGKA = {ANGKA  DIGIT_AWAL, DIGIT_AWAL  DIGIT_AWAL DIGIT_LAIN, DIGIT_AWAL  1, DIGIT_AWAL  2, …, DIGIT_AWAL  9, DIGIT_LAIN  0, DIGIT_LAIN  1, …, DIGIT_LAIN  9} Atau himpunan production di atas dapat pula diekspresikan dalam bentuk : ANGKA  DIGIT_AWAL DIGIT_AWAL  DIGIT_AWAL DIGIT_LAIN | 1 | 2 | … | 9 DIGIT_LAIN  0 | 1 | 2 | … | 9

15 GRAMMAR & Chomsky Berdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya (  ), Noam Chomsky mengklasifikasikan 4 tipe grammar : Grammar tipe ke-0 : Unrestricted Grammar (UG), Ciri : ,   (VTVN)*, > 0 Grammar tipe ke-1 : Context Sensitive Grammar (CSG), Ciri : ,   (VTVN)*, 0 <    Grammar tipe ke-2 : Context Free Grammar (CFG), Ciri :   V,   (VTVN)* Grammar tipe ke-3 : Regular Grammar (RG), Ciri :   V,   {VT, VTVN} atau   V,   {VT, VNVT}, Ciri-ciri RG sering dituliskan sebagai :   V,   {a, bC} atau   V,   {a, Bc}

16 GRAMMAR & Chomsky (Cont ….)
Grammar Klas 0 : Unrestricted Grammar Aturan-aturan sintaktik (productions) yang digunakan untuk membentuk kalimat tidak mempunyai batasan yang jelas. Contoh : G = ({S, A, B, C, D}, {a, b}, S, ), dengan  adalah : S  CD Aa  aA C  e C  aCA | bCB Ab  bA D  e AD  aD Ba  aB BD  bD Bb  bB Bahasa yang didefinisikan grammar di atas adalah : L(G) = { ww | w  {a, b}}

17 GRAMMAR & Chomsky (Cont ….)
Grammar Klas 1 : Context-Sensitive Grammar Grammar dengan production berbentuk   , dimana ||  || Contoh : G = ({S, A, B, C, D}, {a, b}, S, ), dengan  adalah : S  aSBC | aBC bB  bb bC  bc CB  BC cC  cc Misal diberi input string a2b2c2, maka proses derivasi akan tampak seperti berikut : S  aSBC  aabCBC  aabBCC  aabbCC  aabbcC  aabbcc

18 GRAMMAR & Chomsky (Cont ….)
Grammar Klas 2 : Context-Free Grammar (CFG) Grammar dengan production yang berbentuk   , dimana ||  || dengan   Vn dan || = 1. Dengan demikian, production-production pada klas grammar ini hanya memiliki satu non-terminal di sisi kiri setiap productionnya. Bahasa yang didefinisikan oleh CFG ini disebut Context-Free Language. CFG merupakan satu-satunya klas grammar yang telah memiliki algoritma parsing yang optimal. Sehingga hampir semua bahasa pemrograman menggunakan CFG untuk mendefinifikan aturan-aturan sintaktik bahasanya. Contoh : Bahasa = { an b an | n  1 } didefinisikan melalui grammar berikut : S  aCa C  aCa | b Derivasi untuk input string a3 b a3 adalah sebagai berikut : S  aCa  aaCaa  aaaCaaa  aaabaaa

19 GRAMMAR & Chomsky (Cont ….)
Grammar Klas 3 : Regular Grammar Grammar dengan production yang berbentuk   , dimana ||  || dengan   Vn dan || = 1. Sedangkan  mempunyai bentuk aB atau a (a  VT dan B  VN). Bahasa yang didefinisikan oleh Regular Grammar ini disebut Regular Language. Bahasa pemrograman yang menggunakan aturan sintaktik bahasa regular ini antara lain adalah javascript, perl, dll. Contoh : Bahasa = { an b am | n  1 } didefinisikan melalui grammar berikut : S  aS | aB C  aC | a B  bC Derivasi untuk input string a3 b a2 adalah sebagai berikut : S  aS  aaS  aaaB  aaabC  aaabaC  aaabaa

20 GRAMMAR & Chomsky (Cont ….)
Si Kucing Kecil Menendang Bola Besar

21 GRAMMAR & Chomsky (Cont ….)
Pohon sintaks dapat dituliskan dalam bentuk sebuah produksi : <Kalimat>  <Subjek><Predikat> <Subjek>  <Kata Sandang><Kata Benda><Kata Keadaan> <Predikat>  <Kata Kerja><Objek> <Objek>  <Kata Benda><Kata Keadaan> <Kata Sandang>  Si <Kata Benda>  Kucing | Bola <Kata Keadaan>  Kecil | Besar <Kata Kerja>  Menendang Untai terminal dapat dibentuk dengan melakukan sederetan produksi menggunakan produksi yang ada. Proses ini disebut dengan Derivasi.

22 GRAMMAR & Chomsky (Cont ….)
Derivasi untuk untai di atas adalah : <Kalimat>  <Subjek><Predikat>  <Kata Sandang><Kata Benda><Kata Keadaan><Predikat>  <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja> <Objek>  <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja> <Kata Benda><Kata Keadaan>  Si Kucing Kecil Menendang Bola Besar Untai lain yang bisa terbentuk : Si Bola Kecil Menendang Kucing Besar Si Kucing Besar Menendang Bola Kecil, dll.

23 Tentukan apakah produksi-produksi berikut memenuhi aturan grammer Reguler :
A  b B  bdB B  C B  bC B  Ad B  bcdef A  aSa A  aSS Ad  dB

24 Tentukan apakah produksi-produksi berikut memenuhi aturan grammer Bebas Konteks :
A  aSa B  Ace B  ab B  bcdef B  bcdefG B  aSS A  BCDEF A  AAAA Ad  dB

25 Tentukan apakah produksi-produksi berikut memenuhi aturan grammer Konteks Sensitive :
A  bcdefG B  aSa B  aSS B  BCDEF Ad  dB ad  b abC  DE abcDef  ghijkl AB  cde AAA  BBB

26 Tentukan apakah produksi-produksi berikut memenuhi aturan grammer Unrestricted :
ad  b abC  DE AB  cde ABCDEFG  h bA  CDEFG


Download ppt "Teori-Bahasa-dan-Otomata"

Presentasi serupa


Iklan oleh Google