Pendahuluan Untai Pohon Derivasi Pertemuan kesatu Pohon SINTAKS

  • Slides: 11
Download presentation
Pendahuluan, Untai & Pohon Derivasi Pertemuan kesatu

Pendahuluan, Untai & Pohon Derivasi Pertemuan kesatu

Pohon SINTAKS Secara formal, bahasa yang kita gunakan disusun berdasarkan suatu aturan tertentu yang

Pohon SINTAKS Secara formal, bahasa yang kita gunakan disusun berdasarkan suatu aturan tertentu yang disebut sintaks. Sebagai contoh, kita ambil suatu kalimat dalam bahasa Indosesia : KUCING KECIL MENENDANG BOLA BESAR Kalimat diatas disusun berdasarkan suatu sintaks yang baku dalam bahasa Indonesia, sehingga dapat kita uraikan membentuk suatu struktur pohon yang disebut pohon sintaks, seperti berikut ini :

KALIMAT SUBJEK KT-BENDA KUCING PREDIKAT KT-KEADAAN KECIL KT-KERJA MENENDANG OBJEK KT-BENDA KT-KEADAAN BOLA BESAR

KALIMAT SUBJEK KT-BENDA KUCING PREDIKAT KT-KEADAAN KECIL KT-KERJA MENENDANG OBJEK KT-BENDA KT-KEADAAN BOLA BESAR

Susunan kalimat diatas benar menurut bahasa Indonesia, tetapi belum tentu benar menurut bahasa Inggris

Susunan kalimat diatas benar menurut bahasa Indonesia, tetapi belum tentu benar menurut bahasa Inggris atau bahasa lainnya karena setiap bahasa memiliki sintaks atau tata bahasanya sendiri. Studi tentang bahasa yang menitikberatkan pembahasan pada sintaks banyak dikembangkan oleh para ahli, diantaranya Noam Chomsky, John Backus dan Peter Naur. Secara formal, <KALIMAT>, <SUBJEK>, <PREDIKAT>, <KT-BENDA>, <KT-KERJA>, <KT-KEADAAN> disebut kelas sintas atau variabel atau nonterminal, disini digunakan tanda <> untuk membedakannya dengan pengertian sehari-hari. Sedangkan KUCING, KECIL, MENENDANG, BOLA dan BESAR disebut terminal atau token. Setiap variabel harus dapat diuraikan lagi sedangkan token tidak. Dalam pohon sintaks, variabel terlihat sebagai simpul bukan daun (dalam kotak oval) dan token sebagai simpul daun (kotak persegi panjang).

Himpunan Produksi Cara penyajian lain subpohon sintaks adalah dengan himpunan produksi, untuk contoh diatas

Himpunan Produksi Cara penyajian lain subpohon sintaks adalah dengan himpunan produksi, untuk contoh diatas dapat kita tulis sbb: <KALIMAT> → <SUBJEK><PREDIKAT> <SUBJEK> → <KT-BENDA><KT-KEADAAN> <PREDIKAT> → <KT-KERJA><OBJEK> → <KT-KERJA><KT-KEADAAN> <KT-BENDA> → KUCING │ BOLA <KT-KEADAAN> → KECIL │ BESAR <KT-KERJA> → MENENDANG

Derivasi Adalah suatu proses yang dilakukan untuk membentuk untai terminal dengan menggunakan sederetan produksi

Derivasi Adalah suatu proses yang dilakukan untuk membentuk untai terminal dengan menggunakan sederetan produksi yang sudah ditentukan simbol awal (simbol start) diantara simbol nonterminal yang ada. Sebagai contoh, kalimat diatas didapat dari derivasi berikut: <KALIMAT>→ <SUBJEK><PREDIKAT> → <KT-BENDA><KTKEADAAN><PREDIKAT> → <KT-BENDA><KT-KEADAAN> <KT-KERJA><OBJEK> → <KT-BENDA><KT-KEADAAN> <KT-KERJA><KT-BENDA><KT-KEADAAN> → KUCING KECIL MENENDANG BOLA BESAR

Contoh lain kita bisa menghasilkan operand yang valid dalam bahasa pemrograman dengan himpunan produksi

Contoh lain kita bisa menghasilkan operand yang valid dalam bahasa pemrograman dengan himpunan produksi berikut ini : <OPERAND> <ID> <LETTER> <LIST> <DIGIT> <INTEGER> <SIGN> <DIT> → <ID> │<INTEGER> → <LETTER><LIST> →x│y│z → <LETTER><LIST>│<DIGIT><LIST>│^ → 0 │1│2│3│4│5│6│7│8│9 → <SIGN><DIGIT><DIT> → + │→ <DIGIT><DIT> │ ^

Operand z 3 dihasilkan dari derivasi : <OPERAND> → <ID> → <LETTER><LIST> → z<DIGIT><LIST>

Operand z 3 dihasilkan dari derivasi : <OPERAND> → <ID> → <LETTER><LIST> → z<DIGIT><LIST> → z 3^ atau z 3

Dalam pembahasan secara umum, tanda <> tidak dipergunakan lagi, sehingga untuk menyatakan simbol nonterminal

Dalam pembahasan secara umum, tanda <> tidak dipergunakan lagi, sehingga untuk menyatakan simbol nonterminal digunakan huruf besar (A, B, C, …. Z) dan untuk simbol terminal atau token digunakan huruf kecil (a, b, c, … z) dan angka (0, 1, 2, …. 9). Jadi himpunan produksi operand dapat diganti dengan : S→A│B A → CD C→x│y│z D → CD│ED│^ E → 0 │1│2│3│4│5│6│7│8│9 B → FEG F → + │G → FG │ ^

Untai Alfabet / abjad : adalah himpunan hingga yang tidak kosong (hampa) dari simbol.

Untai Alfabet / abjad : adalah himpunan hingga yang tidak kosong (hampa) dari simbol. Huruf / karakter / token : symbol yang menjadi anggota dari alphabet Mis : V = {a, b, c, …. . z} dapat dikatakan alphabet V terdiri dari huruf atau karakter atau token : a, b, c, …. . z Sebuah untai atas alfabet V adalah barisan karakter yang didapat dari penggabungan (concatenation) terhadap nol atau lebih karakter dalam alphabet V. Contoh : Bila V = {a, b, c} maka dapat dibentuk untai a, aab, abc, acba, dan sebagainya

Notasi-notasi dari untai 1. Vn : himpunan yang berisi untai yang terdiri dari n

Notasi-notasi dari untai 1. Vn : himpunan yang berisi untai yang terdiri dari n karakter V mis : V 2 = { aa, ab, bc, cc …. } V 3 = { aba, abc, cba, …. } 2. V+ : penutup atau closure dari V, yaitu gabungan dari semua untai dengan panjang minimal satu karakter yang dapat dibentuk alphabet V V+ = V U V 2 U V 3 U …. . 3. V* : Penutup kleene atau Kleene’s star dari V, yaitu semua untai yang dapat dibentuk alphabet V termasuk untai hampa V* = V+ U {^}