Ekspresi Reguler TINJAUAN PUSTAKA

11 , Comma koma Digunakan untuk memisahkan variabel pada saat proses deklarasi. Juga dapat digunakan pada saat menggunakan statemen for . . Period titik Digunakan untuk memisahkan nama paket, subpaket, dan kelas. Juga digunakan untuk memisahkan datamethod dari sebuah referensi objek.

2.2 Ekspresi Reguler

Menurut Aho, dkk 1994, ekspresi reguler atau yang biasa dikenal dengan regex merupakan sebuah ekspresi yang menjadi notasi penjelasan mengenai suatu bahasa. Regex dapat mendefinisikan secara tepat bahasa yang sama dan berperan sebagai bahasa input untuk banyak sistem yang memproses untaian string, seperti perintah search pada UNIX yaitu grep atau perintah-perintah sejenis untuk menemukan untai yang dilihat seseorang pada web browser atau sistem pemformatan teks. Seperti yang dijelaskan oleh Aho, dkk 1994, terdapat tiga operator pada regex. Ketiga operasi tersebut adalah 1. Gabungan union dua bahasa L dan M disimbolkan dengan L M, yaitu himpunan untaian string yang berada baik pada L atau M atau pada keduanya. Sebagai contoh, jika L = {001, 10, 111} dan M = { ∈, 001}, maka L M = {∈, 10,001, 111} 2. Rentengan concantenation bahasa L dan M disimbolkan dengan L.M adalah himpunan untaian string yang dapat dibentuk dengan mengambil sembarang untai pada L dan merentengnya dengan sembarang untai pada M. Sebagai contoh, jika L = {001, 10, 111} dan M = { ∈, 001}, maka L.M atau disingkat LM saja, adalah {001, 10, 111, 001001, 10001, 111001}. Tiga untai pertama pada LM adalah untai-untai pada L direnteng dengan ∈. Karena ∈ merupakan 12 identitas rentengan, untai yang dihasilkan sama dengan untai pada L. Akan tetapi, tiga untai yang terakhir pada LM dibentuk dengan mengambil setiap untai pada L dan merentengnya dengan untai dengan untai kedua pada M yaitu 001. Sebagai contoh, 10 dari L direnteng dengan 001 dari M akan menghasilkan 10001 pada LM. 3. Tutupan closure bahasa L dilambangkan dengan L dan mewakili himpunan yang untaianya dapat dibentuk dengan mengambil sembarang nomor untai dari L, mungkin dengan pengulangan untai yang sama mungkin dipilih lebih dari satu kali dan merenteng semuanya. Contohnya, jika L = {0, 1}, maka L adalah seluruh untai angka-angka yang terdiri dari 0 dan 1 sedemikian hingga angka- angka selalu berpasangan misalnya 011, 11110 dan ∈, tetapi tidak pernah 01011 atau 101. Lebih formal lagi, L adalah gabungan tak berhingga ⋃ � � �≥ , dimana L = { ∈}, L 1 = L dan L i dengan i 1 adalah LL…L rentengan salinan L sebanyak i. Pada sistem operasi UNIX, terdapat aturan baku yang disebut standar IEEE POSIX Basic Regular Expression atau BRE, seperti yang dijelaskan oleh Ken 1968. Pada sintaks BRE, hampir semua karakter diberlakukan secara harfiah. Tabel 2.7 dibawah merupakan daftar Metacharacter dan deskripsinya. Tabel 2.6. Daftar Metacharacter Metacharacter Deskripsi . Sesuai dengan satu karakter apa saja. Dalam kurung siku, karakter titik sesuai dengan titik secara harfiah. Misal, a.c cocok pada “abc”,dll. Tapi [ a.c] hanya cocok pada “a”, “.”, atau “c”. [] Ekspresi kurung siku. Sesuai dengan satu karakter yang ada dalam kurung. Misal, [abc] sesuai “a”, “b”, “c”. [a-z] menspesifikasikan sebuah range yang sesuai dengan huruf kecil dari “a” sampai “z”. Format ini dapat dicampur, 13 misalkan [abcx- z] sesuai dengan “a”, “b”, “c”, “x”, “y”, “z”. Karakter diberlakukan secara harfiah jika berada diawal atau diakhir tanda kurung siku, atau jika diawali dengan karakter escape seperti: [abc-], [-abc], atau [a\-bc]. [] Sesuai dengan satu karakter apa saja yang tidak ada dalam kurung. Sesuai dengan awal string. Pada toolline-based, notasi ini sesuai dengan awal baris di mana saja. Sesuai dengan akhir string. Pada toolline-based, notasi ini sesuai dengan akhir baris di mana saja. BRE: \ \ ERE: Mendefinisikan subexpression yang dapat dipanggil kemudian. \n Sesuai dengan subexpression ke-n dimana n bernilai 1 sampai 9. Sesuai dengan elemen sebelumnya sebanyak 0 atau beberapa kali. BRE: \{m,n\} ERE: {m,n} Sesuai dengan elemen sebelumnya minimal sebanyak m kali namun tidak lebih dari n kali. ERE :? Sesuai dengan elemen sebelumnya sebanyak 0 atau 1 kali. ERE: + Sesuai dengan elemen sebelumnya minimal sebanyak 1 kali. ERE: | Operator alternasi yang sesuai dengan expression sebelumnya atau sesudahnya. 14

2.3 Abstract Syntax Tree AST