Anda di halaman 1dari 10

RESUME REGULAR EXPRESSION

DAN CONTOH SOAL YANG BERHUBUNGAN DENGAN

REGULAR EXPRESSION

Di Susun Oleh :

Nama : Amirull Azmi

NIM : D1041181009

Mata Kuliah : OTOMATA

Kelas : A Reg A

Dosen Pengampu : Haried Novriando, S.Kom, M.Eng

FAKULTAS TEKNIK

UNIVERSITAS TANJUNGPURA

PONTIANAK
APA ITU REGULER EXPRESSION ?

Regular expressions adalah template untuk data berdasarkan pola tertentu. Regular


Expression biasanya disebut Regex / Regexp, yaitu deretan karakter spesial yang
mendefinisikan sebuah pola dalam pencarian teks. Bisa dibilang Regex itu
seperti wildcard tapi lebih pintar.

Setiap bahasa pemrograman menggunakan Regex Engine yang berbeda. Engine di java tidak
sama seperti PHP, beda juga dengan javascript. Karena beda Engine belum tentu ekspresi
Regek yang yang disupport oleh satu bahasa juga disupport oleh bahasa lain. Walaupun
demikian sintaks Regex tetap sama dimanapun.

Kenapa Menggunakan Regex? Karena Regex menyederhanakan pencarian teks. Memang


untuk pencarian sederhana kita bisa menggunakan fungsi string dan array, tetapi untuk
pencarian yang lebih rumit jauh lebuh enak menggunakan Regex.

TIPE - TIPE REGULAR EXPRESSION

Regular Expression terdiri dari 2 tipe yaitu :

 Literal Character
 Metacharacter

Metacharacter adalah tipe yang membuat Regular Expression unggul dibanding solusi lain.

Metacharacter pada Regex antara lain :

^….$Tanda awal dan akhir dar sebuah


baris
{……} Untuk mendifinisikan range
[…..] Untuk mendefinisikan character
class
(…..) Untuk mendefinisikan group
* Untuk menyatakan perulangan
minimal 0 kali sampai tak terhingga
+ Untuk menyatakan perulangan
minimal satu kali sampai tak
terhingga
? Untuk menyatakan perulangan satu
kali atau tidak sama sekali
| Operator logika untuk OR
\ Menjadikan karakter setelahnya
tidak lagi dianggap sebagai
metcharacter dan hanya akan
dianggap sebagai karakter biasa
\t Mereperesentasikan karakter tab
\n Mereperesentasikan karakter
newline
\r Mereperesentasikan carriage-return
character
\f Mereperesentasikan form-feed
character
\a Mereperesentasikan karakter bel
\e Mereperesentasikan karakter escape

Disamping itu terdapat juga Kelas Karakter yang dapat digunakan untuk mencari kesesuaian
atau kecocokan karakter pada pola yang telah ditentukan.

[abc] Hanya a atau b atau c

[^abc] Semua karater selain a , b dan c

[a-zA-Z] Salah satu karaketer dari a sampai z


atau dari A sampai Z
[a-d[m-p]] Salah satu karakter dari hasil
gabungan antara a samapi d dan m
sampai p, (union [a-dm-p])

[az&&[def]] Salah satu karakter dari hasil irisan a


sampai z dan def (intersection =
[def])
[az&&[^bc]] Salah satu karakter dari a sampai z
selain b dan c (substraction= [ad-z])

Pada Regex terdapat juga Kelas karakter yang sudah didefinisikan diantaranya adalah sbb:

. Mewakili semua karakter kecuali line


terminator
\d Merepresentasikan sebuah angka = [0-9]

\D Merepresentasikan selain angka [^0-9]

\s Merepresentasikan karakter whitespace [


\t\n\f\r\x0B]
\S Merepresentasikan selain karakter whitespace
[^\s]
\w Merepresentasikan sebuah huruf atau angka
[a-zA-Z0-9]
\W Merepresentasikan selain huruf atau angka
[^\w]

Akibat Logis dari Regular Expression berdasarkan Aturan Aturan dalam Teori
Himpunan

1. a ∪ b = b ∪ a

2. a ∪ Ø = Ø ∪ a

3. a ∪ a = a

4. (a ∪ b) ∪ c = a ∪(b ∪ c)

5. aɛ = ɛa = a

6. aØ = Øa = Ø

7. (ab)c=a(bc)

8. a(b ∪ c)=ab ∪ ac = dan (a ∪ b)c = ac ∪ bc

9. a* = a** = a*a* = (ɛ ∪ a)*=a*(a ∪ ɛ) = (a ∪ ɛ)a* = ɛ ∪ aa*

10. aa*= a*a


Sifat Bahasa Regular

 Tertutup terhadap operasi himpunan sederhana Jika L1 dan L2 adalah bahasa reguler,
maka L1 U L2 L1 ∩ L2, L1L2, ~ (L1) dan L1* adalah bahasa reguler juga
 Tertutup terhadap homomorphic image Jika L1 adalah bahasa reguler, maka
homomorphic image h(L1) adalah bahasa reguler juga. Dimisalkan ∑ dan ᴦ adalah
alfabet, maka fungsi homomorphic dinyatakan denganh : ∑ → ᴦ jika w = a1 a2 ... an
maka h(w) = h(a1) h(a2 ) ... h(an) Jika L adalah bahasa pada ∑ maka homomorphic
image bahasa L adalah h(L)= { h(w) | w ϵ L}

CONTOH :

 Dimisalkan ∑ = {a,b} dan ᴦ = {a,b,c} dan didefinisikan h(a) = ab dan h(b) =bbc
homomorphic image bahasa L = {aa,aba } adalah h(L)= { abab, abbbcab}
 Dimisalkan ∑= {a,b} dan ᴦ = {b,c,d} dan didefinisikan h(a) = dbcc dan h(b) =bdc
 homomorphic image bahasa L(r) yang dibentuk dari ekspresi reguler r = (a+b*)(aa)*
adalah h(L(r)) yang dibentuk dengan ekspresi reguler r = (dbcc + (bdc)*) (dbccdbcc)*

Automata dari Ekspresi Regular

Basis pembentukan automata dari ekspresi reguler:

 Bagian yang menangani ekspresi {ε} dengan himpunan bahasa {ε}.


 Bagianyang menangani ekspresi{} dengan himpunan bahasa{}
 Bagianyang menangani ekspresi a dengan himpunan bahasa L(a)

Hubungan RE dan NFA


Ekuivalen NFA dengan Ekspresi Regular
Contoh : Regular Expression Metacharacter.

Anggap kita memiliki sebuah file bernama country.txt dimana kolom pertama merupakan


nama negara, kolom kedua jumlah populasi, dan kolom ketiga merupakan benua tempat
negara tersebut berada (ditulis dalam bentuk csv).

Anchor Metacharacters

Kelompok "Metacharacter" yang akan kita bahas adalah ^ dan $. ^ dan $ akan


mencocokkan bagian awal dan bagian akhir dari suatu pola (pattern) dan disebut
dengan anchor metacharacters.
Untuk mencari tahu nama seluruh negara dengan huruf pertama I, kita akan menggunakan:

atau untuk mencari negara yang berada di sebuah benua yang diakhiri dengan huruf e, kita
akan tuliskan:

Metacharacter selanjutnya adalah dot alias titik (.) yang akan mencocokkan satu karakter
untuk setiap titik. Misalnya, kita ingin mencari negara yang terdiri dari 5 karakter, maka kita
akan tuliskan :
Bagaimaan untuk mencari negara yang terdiri dari 5 karakter namun hanya mereka yang
dimulai dengan huruf I atau J?

[...] dinamakan a character set atau character class. Di dalam sebuah character set, hanya


satu regular expression hanya akan mencocokkan salah satu karakter.Tanda ^ di dalam
sebuah character set akan membalikkan hasilnya.

CONTOH SOAL 1:
Tentukan NFA untuk Ekspresi reguler r = 0(1|23)*
Jawab :
CONTOH SOAL 2 :

Sumber :

https://www.codepolitan.com/mengenal-regular-expressions-5a15003d9410a

https://masputih.com/2015/11/belajar-regular-expression

https://www.pythonindo.com/regular-expression/

https://febryanharipurwanto.wordpress.com/2009/03/24/regular-expressions-ekspresi-reguler/

https://docplayer.info/39754635-Operasi-fa-dan-regular-expression.html

Anda mungkin juga menyukai