Pada akhir semester, mahasiswa mahasiswa mampu untuk memahami konsep dan menerapkan aplikasi teknik kompilasi dari mulai analisis leksikal sampai dengan code generation dalam perkembangan ilmu pengetahuan dan teknologi. Mengenal kompiler, analisis leksikal, analisis sintaktik, syntax directed translation, intermediate code generation, code optimization, code generation.
Pada akhir semester, mahasiswa mahasiswa mampu untuk memahami konsep dan menerapkan aplikasi teknik kompilasi dari mulai analisis leksikal sampai dengan code generation dalam perkembangan ilmu pengetahuan dan teknologi. Mengenal kompiler, analisis leksikal, analisis sintaktik, syntax directed translation, intermediate code generation, code optimization, code generation.
Pendampingan Individu 2 Modul 1 PGP 10 Kab. Sukabumi Jawa BaratEldi Mardiansyah
Di dalamnya mencakup Presentasi tentang Pendampingan Individu 2 Pendidikan Guru Penggerak Aangkatan ke 10 Kab. Sukabumi Jawa Barat tahun 2024 yang bertemakan Visi dan Prakarsa Perubahan pada SMP Negeri 4 Ciemas. Penulis adalah seorang Calon Guru Penggerak bernama Eldi Mardiansyah, seorang guru bahasa Inggris kelahiran Bogor.
3. Regular Expression (RE)
•RE adalah bahasa (language) atau bahkan mirip bahasa pemograman mini untuk mendeskripsikan dan memparsing string atau teks
•RE merupakan otasi (pattern notation) yang dapat digunakan untuk mengolah teks (describe and parse text)
•RE sering digunakan untuk “search and replace”
4. Asal Gagasan RE
•RE sering disebut REGEX
•Ada banyak varian RE. Hal ini disebabkan oleh dukungan metakarakter dan artinya
•Karakter di dunia ini luar biasa banyak, maka RE harus memperhatikan karakter encoding-nya
5. Asal Gagasan RE
•RE ditemukan pada tahun 1940-an awal oleh dua neurophysiologist, Warren McCullock dan Walter Pitts pada saat membuat model neuron (syaraf)
•Kemudian model tersebut dibuat aljabarnya oleh seorang matematika Stephen Kleene dan diberi nama “regular expression”
•Tahun 1968 muncul buku “Regular Expression Search Algorithm” dari IBM
6.
7. •Seorang programmer harus membuat sebuah tool yang dapat mengecek kata-kata yang dobel seperti “kemarin-kemarin”.
•Tugas programmer adalah membuat program yang :
1.Menerima banyak file untuk diperiksa, melaporkan setiap baris yang memiliki kata yang dobel, di- highlight dan nama file akan muncul pada setiap file yang dilaporkan.
8. 2.Mampu memeriksa pada seluruh baris, bahkan untuk kata yang ada diakhir baris dan kata yang sama berikutnya ditemukan pada awal baris.
3.Mampu mencari kata yang dobel secara incase- sensitive, seperti “lagilagi” dan walaupun dipisahkan oleh banyak white-space karakter sekalipun
4.Mampu mencari kata dobel yang ada di teks HTML atau memiliki karakter tag. Seperti <B>very</B>
9. •Nah.....dengan RE kita dapat meng-highlight kata yang ulang, membuang setiap baris yang tidak ada kata ulangnya, dan kita bisa membuat setiap baris menampilkan nama filenya.
10. Himpunan Regular
• Bahasa disebut bahasa regular jika himpunan
string di bahasa itu adalah himpunan regular
• Kelas bahasa adalah sekumpulan bahasa yaitu
himpunan dari himpunan-himpunan string
• Contoh :
Menjelaskan bahasa :
(a bc)*
a,bc* ,a,bc,aa,abc,bca,...
11. Defenisi 1
• Jika VT adalah alfabet berhingga, definisi himpunan regular pada VT secara
rekursif sbb:
1. (himpunan kosong) adalah himpunan regular pada VT
2. 휀 adalah himpunan regular pada VT
3. {a} adalah himpunan regular pada VT
4. Jika P dan Q adalah himpunan regular pada VT, maka begitu juga :
a. P ∪ Q
b. P.Q
c. P*
5. Tidak ada yang lain selain itu yg merupakan himpunan regular
, , a
12. Kelebihan Regex
•Sangat ampuh untuk mengelola dan mencocokan file teks atau string
•Sangat ringkas,karena sintaks RE sangat sederhana untuk melakukan hal yg besar
•RE cepat, karena menghindari kita melakukan pemeriksaan manual dan RE cepat dalam mencocokan pola-polanya
•Misal untuk mencari suatu string “saya” didlm file dgn 10000 baris dan akan di replace menjadi “dia” dll
13. Defenisi 2
•RE pada VT dan himpunan regular yg dilambang kannya didefenisikan sbb :
1.∅ adalah RE yg menunjukan himpunan regular ∅
2.휀 adalah RE yg menunjukan himpunan regular 휀
3.a pada VN adalah RE, menunjukan himpunan regular {a}
4.Jika p dan q adalah RE yg menunjukkan himpunan regular P dan Q, maka :
14. a. (p + q) adalah RE yg menunjukkan P ∪ Q
b. (pq) adalah RE yg menunjukkan P.Q
c. (p)* adalah RE yg menunjukkan P*
5. Tdk ada yg lain selain itu merupakan RE
Bahasa pada alfabet V adalah Regular Language jika terdapat suatu RE pada V yg berkorespondesi dgn bahasa itu
15. •p+ menunjukkan pp*
•Tanda kurung dihilangkan bila tdk muncul ambiguitas
•Urutan prioritas adalah :
1. Kleene Closure, * ,
2. Penyambungan (konkatenasi) , o ,
3. Gabungan, + ,
Maka 0 + 10* adalah (0 + (1 (0*)))
16. Notasi Ekspresi Regular
•Notasi Ekspresi Regular yang sering dipakai adalah sebagai berikut.
1. * yaitu karakter asterisk, yang berarti bisa tidak muncul, bisa juga muncul lebih dari satu kali.
2. + yaitu minimal muncul satu kali
3. + atau ∪ berarti union
4. . (Titik) berarti konkatenasi, biasanya titik bisa dihilangkan. Misalnya : ab bermakna sama seperti a.b
17. Contoh :
•01 menunjukkan { 0 1 }
•0* menunjukkan { 0 }*
•(0 + 1)* menunjukkan {0 , 1}*
•(0 + 1)*011 menunjukkan himpunan semua string dari 0 dan 1 yg diakhiri 0 1 1
•(a+b)(a+b+0+1)* menunjukkan himpunan semua string elemen dari { 0, 1, a, b } yg dimulai dengan a dan b
•1*10 menunjukkan himpunan string yg diakhiri dgn 10 yg didahului dgn sembarang sekuen 1
•(00+11)*((01+10)(00+11)*(01+11)*)* menunjukkan himpunan semua string dari 0 dan 1 yg berisi sejumlah genap 0 dan sejumlah genap 1
18. Latihan :
String yg dpt dibangkitkan adalah :
•ab* cc
•010*
•a*d
•a+d
•a* ∪ b* (ingat ∪ berarti atau)
•a ∪ b
•01* + 0
19. Jawab :
•abcc, abbcc, abbbcc, abbbbcc, acc (b bisa tidak muncul atau muncul sejumlah berhingga kali).
•01, 010, 0100, 01000 (jumlah 0 diujung bisa tidak muncul, bisa muncul berhingga kali)
•d, ad, aad, aaad