• Tidak ada hasil yang ditemukan

BAB I PENDAHULUAN. 1.1 Latar Belakang

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB I PENDAHULUAN. 1.1 Latar Belakang"

Copied!
10
0
0

Teks penuh

(1)

BAB I PENDAHULUAN

1.1 Latar Belakang

Mempelajari setiap aspek yang berkaitan dengan logika merupakan hal yang sangat penting untuk bisa memahami ilmu komputer terutama dalam membangun sebuah program. Bahasa-bahasa program yang ada merupakan salah satu hal yang harus dipelajari dengan teliti mengingat bahasa komputer sangat kritis dalam penggunaannya dalam membuat sebuah program.

Teori Bahasa dan Automata merupakan salah satu mata kuliah yang sangat penting dipelajari dalam tahapan memahami dan menguasai komputerisasi dan pemrograman. Dimana dalam salah satu sub pokok pembahasannya terdapat materi Ekspresi Reguler. Hal inilah yang melatar belakangi penulis untuk membuat makalah dengan judul Ekspresi Reguler pada Automata. Dengan makalah ini, diharapkan penulis dan pembaca dapat lebih memahami tentang teori bahasa dan automata.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan diatas, maka penulis membuat rumusan masalah yakni “apa yang dimaksud dengan Ekspresi Reguler”.

Rumusan ini yang akan menjadi pokok pembahasan dan pengembangan materi dalam makalah ini.

1.3 Batasan Masalah

Untuk menghindari pembahasan diluar pokok masalah atau rumusan masalah yang telah ada, maka ditetapkan batasan masalah sebagai lingkup pembahasan dalam makalah ini yakni

a. Penerapan ekspresi reguler

b. Definisi dan notasi dasar pada ekspresi reguler c. Bahasa Reguler

d. Hubungan antara FSA dan Ekspresi Reguler

Adapun istilah-istilah yang dipaparkan dalam makalah diluar dari materi pokok adalah sebatas membantu penjelasan dalam materi.

(2)

1.4 Tujuan dan Manfaat

Tujuan dari penulisan makalah ini adalah untuk lebih memahami materi ekspresi reguler sebagai sub pokok bahasan dan kaitannya dengan Teori bahasa dan Automata. Adapun tujuan lain dari penulisan makalah ini adalah sebagai salah satu tugas untuk lulus dari mata kuliah Teori Bahasa dan Automata.

Dengan penulisan makalah ini, diharapkan mahasiswa baik penulis maupun pembaca dapat lebih memahami tentang Ekspresi Reguler dan penerapannya dalam ilmu bahasa dan komputerisasi.

(3)

BAB II PEMBAHASAN

2.1 Penerapan Ekspresi Regular

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state automata bisa dinyatakan secara sederhana dengan ekspresi regular (regular expression).

• Ekspresi regular selanjutnya kita sebut sebagai ER, memungkinkan menspesifikasikan atau mendefinisikan bahasa-bahasa.

Ekspresi regular memberikan suatu pola (pattern) atau template untuk untai/string dari suatu bahasa.

Untai yang menyusun suatu bahasa regular akan cocok (match) dengan pola bahasa itu.

Banyak masalah pada perancangan perangkat lunak yang bisa disederhanakan dalam dengan melakukan pengubahan notasi ekspresi regular ke dalam implementasi computer dari finite state automata yang bersangkutan.

Penerapan ekspresi regular yaitu Digunakan untuk memerinci unit-unit leksikal sebuah bahasa pemrograman (token). misalnya : pencarian (searching) untai karakter (string) pada suatu file, biasanya fasilitas ini ada pada text editor.

Dalam kasus itu dilakukan penerapan finite state automata pada untai-untai yang terdapat dalam file tersebut.

Contoh penerapan yang lain adalah pembatasan data masukan yang diperkenankan, misalnya suatu field masukan hanya menerima input bilangan (0..9). Bisa kita lihat otomatanya pada gambar 1.

Gambar 1. FSA menerima bilangan integer tak bertanda

(4)

Bila dalam bahasa Indonesia bisa dikatakan bahwa otomata pada gambar menerima masukan symbol input antara 0 sampai 9 sedang ekspresi regularnya dinyatakan sebagai berikut:

(digit)digit)*

dengan digit adalah 0..9

Dalam suatu kompilator, ekspresi regular bisa diaplikasikan untk melakukan analisis leksikal, yaitu mengidentifikasikan unit-unit leksikal yang dikenal dalam program. Unit leksikal ini biasanya disebut dengan token. Token-token pada suatu bahsa pemrograman kebanyakan tanpa kecuali dinyatakan sebagai ekspresi regular . Misalkan suatu identifier baik huruf besar atau huruf kecil yang kemudian diikuti huruf atau digit, dengan tanpa pembatasan jumlah panjang bisa dinyatakan sebagai:

(huruf)(huruf+digit)*

Contoh otomata pada gambar 2 berguna mengenali identifier, bila huruf A..Z, a..z, dan digit berupa 0..9.

Bila dalam bahasa FORTRAN dibatasi panjang identifier maksimal 6 (enam), maka ekspresi regular untuk identifier pada FORTRAN bisa dinyatakan sebagai:

(huruf)(huruf+digit)5

Dalam implementasinya suatu finite state automata akan diterjemahkan menjadi kode dalam sebuah bahasa pemrograman.

q1

q0

q2

0,1,2,…9 0,1,…9

selain 0,1,2,…9 selain

0,1,2,…9

(5)

q1

q0

huruf atau digit huruf

Ga mbar 2. FSA mengenali identifier

2.2 Definisi Ekspresi Regular

Jika Σ merupakan himpunan simbol, maka

- ∅ , ε , dan a ∈ Σ adalah ekspresi reguler dasar

- Jika r dan t masing masing merupakan ekspresi reguler maka komposisi berikut merupakan ekspresi reguler :

Ekspresi Makna

r+t himpunan string gabungan R∪T rt operasi penyambungan string thd

himpunan

r* Kleene closure dari R

(r) R

2.3 Notasi Ekspresi Regular

Notasi dasar Ekspresi Reguler( * + + ∪ .) yaitu :

* (karakter asterisk), berarti bisa tidak muncul, bisa juga muncul berhingga kali (0- n)

+ (pada posisi superscript/diatas) berarti minimal muncul satu kali (1-n) + atau ∪ berarti union

(6)

. (titik) berarti konkatensi, biasanya titik bisa dihilangkan, misal ab bermakna seperti a.b

Contoh ekspresi regular (selanjutnya kita singkat ER):

• ER: ab*cc

contoh string yang dibangkitkan : abcc, abbcc, abbbcc, abbbbcc, acc, (b bisa tidak muncul atau muncul sejumlah berhingga kali)

• ER: 010*

contoh string yang dibangkitkan : 01, 010, 0100, 01000

(jumlah 0 diujung bisa tidak muncul, bisa muncul berhingga kali)

• ER: a*d

contoh string yang dibangkitkan : d, ad, aad, aaad

• ER: a+d

contoh string yang dibangkitkan: ad, aad, aaad (a minimal munculsekali)

• ER: a*∪b*( ‘∪’ berarti atau)

contoh string yang dibangkitkan: a, b, aa, bb, aaa, bbb, aaaa, bbbb

• ER: (a∪b)

contoh string yang dibangkitkan: a, b

• ER: (a∪b)*

contoh string yang dibangkitkan: a, b, ab, ba, abb, bba, aaaa, bbbb (untai yang memuat a atau b)

* perhatikan : notasi ‘∪’ kadang dituliskan juga sebagai ‘+’

• ER: 01*+0

contoh string yang dibangkitkan: 0, 01, 011, 0111, 01111,

(7)

(string yang berawalan dengan 0, dan selanjutnya boleh diikuti deretan 1)

• (0+1)* : himpunan seluruh string yang dapat dibentuk dari simbol ‘0’ dan ‘1’

• (0+1)*00(0+1)* : himpunan string biner yang mengandung paling sedikit satu substring ‘00’

• (0+1)*00 : himpunan string biner yang diakhiri dengan ‘00’

Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentuk menggunakan ekspressi reguler r.

2.4 Bahasa Regular

Misalkan Σ merupakan sebuah abjad. Kumpulan daribahasa regular berdasar Σ didefinisikan secara rekursif sebagai berikut :

a. ∅adalah sebuah bahasa regular b. {λ} adalah sebuah bahasa regular

c. Untuk setiap a ∈Σ, {a} merupakan bahasa regular. Disebut juga bahasa singleton

d. Jika A dan B bahasa regular maka A∪B, A.B, dan A* atau B* merupakan bahasa regular.

e. Tidak ada bahasa lain berdasarkan Σ yang regular.

Contoh 1 : MisalkanΣ = {a,b}, maka berikut ini merupakan bahasa-bahasa regular berdasarkan Σ yaitu ∅ , {λ},{a},{b},{a,b},{ab},{a,ab,b},{ai | i ≥0}, {(ab)i | i

≥ 0}

Sifat Bahasa Reguler :

a. Tertutup terhadap operasi himpunan sederhana

Jika L1 dan L2 adalah bahasa reguler, maka L1∪L2, L1∩L2, L1L2, ~(L1) dan L1* adalah bahasa reguler juga

b. 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

(8)

dengan h : Σ → Γ

- 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 :

Jawab: h(L)= { abab, abbbcab}

(9)

2.5 Hubungan Ekspresi Regular dan Finite State Automata.

Untuk setiap ekspresi regular ada satu Non-deterministic Finite Automata dengan transisi ε (NFA ε-move) yang ekivalen. Sementara untuk Deterministic Finite Automata ada satu ekspresi regular dari bahasa yang diterima oleh Deterministic Finite Automata. Sederhananya kita bisa membuat suatu Non-deterministic Finite Automata ε-move dari suatu ekspresi regular. Bisa dilihat contohnya pada gambar 3,4,5. Yang perlu diperhatikan disitu, state akhir akan menandakan apakah suatu input diterima atau tidak.

q3

q

1

q2

q

0

a

ε b

Gambar 3. NFA ε-move untuk ER: ab

q2

q

0 q

1

ε a

b

Gambar 4. NFA ε-move untuk ER: a*b

q3 q2

q0

q5 q4

q1

ε

ε ε

ε b

a

(10)

Gambar 5. NFA ε-move untuk ER: a ∪ b

Kemudian dari Non-deterministic Finite Automata ε-move tersebut dapat kita ubah ke Non-deterministic Finite Automata dan selanjutnya ke Deterministic Finite Automata, atau prosesnya sebagai berikut:

NFA ε-move ⇒ NFA ⇒ DFA

Bila ekspresi regularnya cukup sederhana kita bisa saja langsung mengkonstruksi NFA-nya, tanpa melalui NFA ε-move. Misalkan saja NFA tanpa ε-move untuk ER: ab bisa dilihat pada gambar 6.

q2

q0 q

1

b a

Gambar 6. NFA untuk ER: ab

q1

q0

q2

a

b

Gambar 7. NFA untuk ER: a ∪ b Contoh-contoh lain bisa dilihat pada gambar 8 sampai 15

Referensi

Dokumen terkait

Untuk memberikan batasan dalam penulisan Laporan Akhir ini agar tidak menyimpang dari pokok permasalahan yang ada, maka ruang lingkup pembahasannya adalah

Di dalam skripsi ini, penulis bertujuan untuk meneliti tipe shieki yang berdasarkan dengan teori sehingga para pembelajar Bahasa Jepang dapat lebih memahami dan

Oleh karena itu, dalam makalah ini kami akan menguraikan salah satu dari teori konseling individual yaitu mengenai teori RET (Rational Emotive Therapy) yang dikemukakan

Persamaan penelitian Salawati (2013) dengan penelitian ini adalah pada pokok bahasan yakni sistem informasi yang sedang berjalan dengan menggunakan teori TAM,

Tujuan dari menguasai kosakata adalah untuk memahami bahasa, dan dengan memahami bahasa kita bisa menguasai keterampilan berbahasa yang penting dalam

Penulis dalam melakukan penelitian ini juga menggunakan beberapa teori yang berhubungan dengan bahasan penulis, diantaranya teori kritik seni, teori pemahaman jurnalistik,

Namun, secara umum telah terjadi kesalahan dalam pembelajaran sehingga menyebabkan kesulitan-kesulitan bagi siswa dalam suatu pokok bahasan dalam matematika

Bab ini menjelaskan tentang teori-teori yang mendasari penelitian untuk mendukung penulisan tugas akhir, teori yang di ambil dari buku yang sesuai dengan pembahasan