Teori-Bahasa-dan-Otomata

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata
Teori Bahasa dan Automata
SUATU FINITE STATE AUTOMATA
Pengantar Teknik Kompilasi
TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA)
Teori Bahasa dan Otomata 2 sks
Teori Bahasa & OTOMATA.
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
TEORI BAHASA DAN OTOMATA
POHON PENURUNAN.
Syntax Analyzer (Parser) - Dasar
KONSEP dan NOTASI BAHASA
Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks
BAB V EKSPRESI REGULER 1. Penerapan Ekspresi Reguler
Komponen sebuah Kompilator
Pertemuan 3 BAHASA REGULAR
BAB V EKSPRESI REGULER 1. Penerapan Ekspresi Reguler
7. ATURAN PRODUKSI.
Yenni astuti, S.T., M.Eng Teori Bahasa Yenni astuti, S.T., M.Eng
Analisis Leksikal.
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Teori Bahasa & OTOMATA.
Pertemuan 8 CONTEXT FREE GRAMMAR (CFG)
1 Pertemuan 11 CONTEXT FREE GRAMMAR (CFG) Lanjutan.. Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2005 Versi: 1/0.
BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata CHAPTER 6
KONSEP GRAMMAR & HIRARKI CHOMSKY
Teori-Bahasa-dan-Otomata
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
2. Review Teori Bahasa Formal dan Otomata
Teori-Bahasa-dan-Otomata
KONSEP dan NOTASI BAHASA
TEORI BAHASA DAN OTOMATA
ATURAN PRODUKSI TATA BAHASA REGULER
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
Bahasa Type 2 (CONTEXT FREE GRAMMAR)
OTOMATA DAN TEORI BAHASA FORMAL
OTOMATA DAN TEORI BAHASA FORMAL
By : Lisda Juliana Pangaribuan
Pengantar Teknik Kompilasi
Teori-Bahasa-dan-Otomata
GRAMMER ATAU TATA BAHASA
Bahasa Context Free.
Teori-Bahasa-dan-Otomata
Pengantar Teknik Kompilasi
TATA BAHASA BEBAS KONTEKS
TEORI BAHASA & OPERASI MATEMATIS (1)
2. Review Teori Bahasa Formal dan Otomata
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
ALGORITMA & PEMROGRAMAN 1C
Pengantar Teknik Kompilasi
Tata Bahasa Kelas Tata Bahasa
Pengantar Teknik Kompilasi
Konsep dan Notasi Bahasa
Teori Bahasa dan Automata
Pengantar Teknik Kompilasi
OTOMATA DAN TEORI BAHASA FORMAL
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengenalan Pola secara sintaktis (PPSint)
TEORI BAHASA DAN OTOMATA. Pengenalan Teori Bahasa dan Otomata Teori bahasa dan otomata merupakan mata kuliah yang cenderung bersifat teoritis, tidak memuat.
Pengantar Teknik Kompilasi
Teori Bahasa dan Otomata (MKK0-5283)
Analisis Sintaksis By: Kustanto, S.T., M.Eng.
KONSEP dan NOTASI BAHASA
Pengantar Teknik Kompilasi
Grammar dan Bahasa Automata
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
Pengantar Teknik Kompilasi
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
Transcript presentasi:

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

Outline Konsep Dasar Aturan Produksi Grammar & Chomsky

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.

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

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

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.

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.

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

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

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

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.

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

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}

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

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}

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}}

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

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

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

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

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.

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.

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

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

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

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