1 / 24

Tata Bahasa Bebas Konteks ( Context-Free Grammar )

Tata Bahasa Bebas Konteks ( Context-Free Grammar ). Pertemuan ke-8 dan ke-9 Yenni Astuti , S.T., M.Eng . yenni.stta@gmail.com. Tujuan Penggunaan Context-Free Grammar (CFG). Contoh 1: Aturan Kalimat pada Bahasa Manusia <sentence>  <noun phrase> <verb phrase>

hagop
Download Presentation

Tata Bahasa Bebas Konteks ( Context-Free Grammar )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tata BahasaBebasKonteks(Context-Free Grammar) Pertemuan ke-8 dan ke-9 YenniAstuti, S.T., M.Eng. yenni.stta@gmail.com

  2. TujuanPenggunaanContext-Free Grammar (CFG) Contoh 1: Aturan Kalimat pada Bahasa Manusia <sentence>  <noun phrase> <verb phrase> <noun phrase>  <adjective> <noun phrase> <noun phrase>  <noun> Menjelaskanbahasaalamimanusia **Tanda “” dibaca: “diturunkan menjadi”

  3. Contoh 1 (lanjutan): Aturan Kalimat pada Bahasa Manusia <sentence>  <noun phrase> <verb phrase> <noun phrase>  <adjective> <noun phrase> <noun phrase>  <noun> <verb phrase>  <verb> <noun phrase> <verb phrase>  <verb> <verb>  love <noun>  boy, girl <adjective>  little, pretty **Tanda “” dibaca: “diturunkan menjadi”

  4. Nonterminal dan Terminal pada Bahasa Alami Manusia <verb>  love <noun>  boy, girl <adjective>  little, pretty • Simbol di dalam tanda < > adalahsimbol nonterminal. • “love”, “boy”, “pretty” adalahsimbol terminal.

  5. Contoh 2: Penurunan kalimat “Little boy love pretty girl” dari Aturan slide 3 <sentence>  <noun phrase> <verb phrase>  <adjective> <noun phrase> <verb phrase> little <noun> <verb phrase>  little boy <verb phrase>  little boy <verb> <noun phrase>  little boy love <noun phrase>  little boy love <adjective> <noun phrase>  little boy love pretty <noun phrase>  little boy love pretty <noun>  little boy love pretty girl

  6. Manfaat CFG pada bidang Komputer Mendeskripsikan aturan tatabahasa suatubahasapemrograman (seperti: C, Pascal, Basic)

  7. Definisi Formal CFG CFG dituliskan dalam bentuk 4 komponen (4-tupel) G = (N, , P, S) N = himpunan nonterminal.  = himpunan terminal/ alfabet P = aturanproduksi, yakni A   dengan A  N,   (N  )* S = simbolawal Ingat materi Teori Bahasa mengenai ciri CFG

  8. Penurunan String (Derivation) • Dalamsuatu grammar G, suatu string yang mengandung simbol nonterminal (1) dapat menurunkan bentuk terminal (m). • Dituliskandengan1* m. • Seluruh sentence (ingat materi Teori Bahasa) dapat membentuk suatu bahasa, yang dinotasikan dengan L(G) • L(G) = { w | w dalam *, dan S *w}

  9. CFL (Context-Free Language) • Seluruh sentence (ingat materi Teori Bahasa) dapat membentuk suatu bahasa, yang dinotasikan dengan L(G) • L(G) = { w | w dalam *, dan S *w} Bahasa dari suatu grammar (G) adalah seluruh sentence yang terdiri dari alfabet dalam G, dan diturunkan dari simbol awal S

  10. Contoh 3: Penurunan G = ({S}, {a,b}, P, S) Dengan P adalah: • S  aSb • S  ab Maka, Turunan yang dihasilkan: S  aSb  aabb S  aSb  aaSbb  aaabbb S  aSb  aaSbb  aaaSbbb aaaabbbb jumlah ‘a’ dan ‘b’ sama

  11. Contoh 3 (lanjutan): Penurunan Turunan yang dihasilkan: S  aSb  aabb S  aSb  aaSbb  aaabbb S  aSb  aaSbb  aaaSbbb  aaaabbbb Dituliskandalambentuk L(G) L(G) = {anbn | n ≥ 1} jumlah ‘a’ dan ‘b’ sama

  12. PohonPenurunan (Derivation Tree) root • Penurunandapat juga dinyatakan dalam bentuk tree/pohon. • Sebagai root adalah simbol awal (S). node node

  13. PohonPenurunan (Derivation Tree) S • Penurunan dapat juga dinyatakan dalam bentuk tree/pohon. • Sebagai root adalahsimbolawal (S). • Node dapat berupa terminal atau nonterminal. node node

  14. PohonPenurunan (Derivation Tree) S • Penurunan dapat juga dinyatakan dalam bentuk tree/pohon. • Sebagai root adalahsimbolawal (S) • Node dapat berupa terminal atau nonterminal. • Setiap nonterminal harus diturunkan hingga membentuk terminal. A a

  15. PohonPenurunan (Derivation Tree) S • Penurunan dapat juga dinyatakan dalam bentuk tree/pohon. • Sebagai root adalahsimbolawal (S) • Node dapat berupa terminal atau nonterminal. • Setiap nonterminal harus diturunkan hingga membentuk terminal. A a a

  16. Contoh 4: Latihan G = ({S, A}, {a,b}, P, S) P adalah: S  aAS S  a A  SbA A  SS A  ba Salah satu turunannya adalah aabbaa, buktikan dengan pohon penurunan!

  17. Contoh 4 (lanjutan): Latihan • Aturan Produksi: • S  aAS • S  a • A  SbA • A  SS • A  ba String aabbaa diperoleh melalui: S a A S S b A a a b a

  18. Contoh 4 (lanjutan): Latihan • Aturan Produksi: • S  aAS • S  a • A  SbA • A  SS • A  ba String aabbaa diperoleh melalui: S a A S S b A a a b a

  19. Keambiguan Proses Penurunanada 2 cara: • Dari sisikiri (left-most) : diturunkan satu-per-satu dari kiri. • Dari sisikanan (right-most) : diturunkan satu-per-satu dari kanan. diturunkan dari dua/lebih suatu string Jika proses penurunan yang sama (keduanya left-most atau keduanya right-most) Maka keambiguan akan terjadi !

  20. Contoh 5: Keambiguan CFG denganaturanproduksi: • E  E + E • E  E * E • E  (E) • E  a String a + a * a merupakan string ambigu karena string tersebut memiliki dua proses penurunan left-most. Mari kita lihat buktinya!

  21. Aturan Produksi: E  E + E E  E * E E  (E) E  a Contoh 5 (lanjutan): Keambiguan Penurunan Left-Most E E  beda  E * E E + E E a + E a E * E a a a a

  22. Aturan Produksi: E  E + E E  E * E E  (E) E  a Contoh 5 (lanjutan): Keambiguan Penurunan Left-Most E E  beda  E * E E + E E a + E a E * E a a a a *Kedua pohon tersebut berbeda, namun menghasilkan string yang sama  terbukti ambigu!

  23. Palindrome Contoh Palindrome: • OTTO • DOOM MOOD • STAR RATS • STEP ON NO PETS • WASITARATISAW (dibaca: Was it a rat I saw) jika dari kiri ke kanan yang dibaca String akan sama dengan jika dibaca dari kanan ke kiri

  24. Info Tugas: • Tugas kuliah ke-8 (khusus kelas B) : Tugas-1 • Tugas kuliah ke-9 (kelas A dan kelas B) : Tugas-2 • Jika ada permasalahan seputar tugas, silakan hubungi saya di ruangan (khususnya pada jam matakuliah Teori Bahasa & Otomata). Thanks!

More Related