PENDAHULUAN
Sebuah simbol adalah suatu entitas abstraks yang tidak didefinisikan secara formal
Contoh : huruf dan digit adalah simbol yang dipakai
Abjad (alphabet) adalah sebuah himpunan berhingga tak kosong dari simbol–simbol
Notasi : Σ
Contoh :
- Abjad terdiri dari 26 simbol :
Σ = {a,b,c,d, … z}
a Σ, artinya a adalah sebuah simbol di dalam Σ
- Σ = {1,2,3,4,5,6,7,8,9}
a∉Σ
Jika Σ1 dan Σ2 adalah abjad-abjad maka Σ1 Σ2, Σ1 – Σ2, dan Σ2 – Σ1 merupakan
himpunan tidak kosong (abjad)
Untai / string / kata adalah sebuah barisan berhingga simbol-simbol dari suatu abjad.
Contoh :
Diketahui abjad Σ={a,b} maka string yang bisa terjadi a, ab, aa, bb, aaa, bbb, aaab,
dst
String kosong adalah barisan yang kosong dari simbol-simbol, notasi = {}
Bahasa (language) adalah suatu kumpulan dari string-string, notasi = L
Contoh :
Diketahui :
∑= {1,2,3,4,…,5}
Kumpulan {1,12,123,1234,12345,112} adalah sebuah bahasa berdasarkan abjad yang
terdiri dari digit-digit itu.
Diketahui :
∑= {1}
Kumpulan {1,11,111,1111, ….} adalah sebuah bahasa
Bahasa kosong (empty language) adalah sebuah bahasa yang tidak terdiri dari string-
string. Bahasa kosong berbeda dengan bahasa yang terdiri dari string kosong.
Notasi = ∅
Jika ∑ merupakan sebuah abjad maka ∑ juga sebuah bahasa yang terdiri atas semua
string simbol tunggal.
Misal ∑ adalah sebuah abjad dan s adalah suatu string berdasarkan ∑.
Jika L adalah suatu bahasa yang terdiri dari beberapa string berdasarkan ∑ dan jika s
adalah sebuah string di dalam L maka dapat ditulis :
s L, artinya s adalah elemen dari L
Contoh :
121 {1,12,121,1212,12121}
1. ∅L = L∅= ∅
L∑* = ∑*(L) =∑*
2. Eksponensiasi (Exponentiation)
Misalkan L merupakan suatu bahasa berdasarkan abjad ∑ :
Contoh :
Jika L = {ab} berdasarkan abjad tersebut didapatkan :
o
L = {ε}
1
L = L = {ab}
2 1
L = L.L = {abab}
3 2
L = L.L = {ababab}
3. Gabungan (Union)
Misalkan L1 dan L2 adalah bahasa-bahasa berdasarkan suatu abjad ∑, maka union
dari L1 dan L2 (L1 L2) terdiri dari semua string/kata yang muncul sekurang-
kurangnya sekali dalam L1 dan L2.
L1 L2 = {s|s L1 atau s L2}
4. Irisan (Intersection)
Misalkan L1 dan L2 adalah bahasa-bahasa berdasarkan suatu abjad ∑, maka
intersection dari L1 dan L2 (L1 ∩ L2) terdiri dari string-string yang muncul baik di L1
maupun di L2 sekaligus.
L1 ∩ L2 = {s|s L1 dan s L2}
Contoh :
∑ = {0,1}
Bahasa-bahasa L1 = {ε,0,1,10,11} dan L2 = {ε,1,0110,11010}, maka
L1 L2 = {ε,0,1,10,11,0110,11010}
L1 ∩ L2 = {ε,1}
5. Sub Bahasa
Misalkan L1 dan L2 adalah bahasa-bahasa berdasarkan suatu abjad ∑ dan jika semua
string di L1 juga merupakan string di L2, maka L1 disebut sebuah sub bahasa dari L2.
Notasi L1 L2
Contoh :
Jika L1 = {a,aa,aaa} dan L2 = {a,aa,aaa,aaaa,aaaaa}, maka L1 L2
6. Equal (Sama)
Dua buah bahasa L1 dan L2 dikatakan sama jika kedua bahasa tersebut secara persis
mempunyai string-string yang sama, artinya jika sebagai himpunan-himpunan
keduanya persis sama.
Notasi : L1 = L2
Contoh :
o
L = {ε}
1
L = {a}
2 2
L = {a }={aa}
3 3
L = {a }= {aaa}
dan seterusnya ……
Jadi :
L* Ln
n0
0 1 2
= L L L ….
= {ε} {a} {aa} …
= {ε, a, aa, …}
L Ln
n 1
1 2 3
= L L L ….
= {a} {aa} {aaa} …
= {a, aa, aaa, …}
1. ε ∈ L*
2. ∅* = {1}
3. L+ L*
4. Jika ε ∈ L → L+ = L*
5. L1 L2 → L1* L2*
6. L1* ∪ L2* (L1 ∪ L2)*
7. L1* ∩ L2* = ( L1 ∩ L2 )*
Contoh: