Anda di halaman 1dari 90

Asistensi Kuis 1

Sifat Closure Bahasa


Sifat Closure Bahasa
● Diberikan sebuah bahasa L dan operasi/fungsi pada bahasa tersebut
● Operasi/fungsi memiliki masukan string pada L dan keluaran berupa sebuah
string
● Yang ditanyakan adalah apakah string keluaran juga merupakan string pada
L?
● Jika iya, maka L tertutup di bawah operasi/fungsi yang dimaksud
● Contoh operasi/fungsi:
○ reverse(w),
○ concat(s, t), dan
○ longest_common_prefix(p, q, r)
Sifat Closure Bahasa (HW01 Bagian 4 nomor 7)

L = {a, aa, ab, aaa, aab, aba, abb, aaaa, aaab, …}

● concat(a, ab) = aab


● concat(aaabba, aba) = aaabbaaba
● concat(a, a) = aa
● concat(aa, aaaaaaa) = aaaaaaaaa
Sifat Closure Bahasa (HW01 Bagian 4 nomor 7)

Jawab: Closure

Ambil sembarang string s, t dari L. Misalkan s = au dan t = av. Lalu s dan t


dikonkatenasi, sehingga hasilnya adalah

st = auav = aw, di mana w = uav

Terlihat bahwa st juga memiliki prefiks a. Jadi bahasa tersebut tertutup di bawah
operasi konkatenasi.
Sifat Closure Bahasa (HW01 Bagian 4 nomor 8)

L = {a, aa, ba, aaa, aba, baa, bba, aaaa, aaba, abaa, abba, baaa, …}

● (aa)R = aa
● (aba)R = aba
● (aaba)R = abaa
● (bbbaaaaba)R = abaaaabbb
Sifat Closure Bahasa (HW01 Bagian 4 nomor 8)

Jawab: Tidak closure

Counterexample bisa dilihat pada contoh terakhir slide sebelumnya, yaitu


w = bbbaaaaba (∈ L), sedangkan wR = abaaaabbb (∉ L.)

Namun secara umum, counterexample-nya berbentuk w = bua dengan u adalah


sembarang string.
Sifat Closure Bahasa (HW01 Bagian 4 nomor 9)

L = {ε, b, aa, bb, aab, aba, baa, bbb, aaaa, …, aaabaabba, …}

Note: multiplikasi di sini maksudnya replikasi

● (ε)9 = ε
● (aab)2 = aabaab
● (bbababbbaa)0 = ε
● (bbb)1 = bbb
Sifat Closure Bahasa (HW01 Bagian 4 nomor 9)

Jawab: Closure.
Dari definisi L, #a(w) = 2k, dengan k merupakan bilangan bulat non-negatif.
Untuk sembarang n yang merupakan bilangan bulat non-negatif dan w pada suatu
bahasa L, berlaku #a(wn) = n ⋅ #a(w).
Jadi, untuk sembarang string w pada L, #a(wn) = n ⋅ #a(w) = n ⋅ 2k = 2kn = 2m,
dengan m = kn.
Karena #a(wn) juga merupakan bilangan genap, maka bahasa tersebut tertutup di
bawah operasi multiplikasi berapa saja.
Sifat Closure Bahasa (HW01 Bagian 4 nomor 10, triplikasi)

L = {a, ab, ba, aaa, abb, bab, bba, aaab, aaba, …, bababaaba, …}

● (a)3 = aaa
● (bab)3 = babbabbab
● (aaba)3 = aabaaabaaaba
● (bababaaba)3 = bababaababababaababababaaba
Sifat Closure Bahasa (HW01 Bagian 4 nomor 10, triplikasi)

Jawab: Closure.

Dari definisi L, #a(w) = 2k + 1, dengan k merupakan bilangan bulat non-negatif.

Dari sifat replikasi yang dijelaskan sebelumnya, maka #a(w3) = 3 ⋅ #a(w).

Jadi, untuk sembarang string w pada L, #a(w3) = 3 ⋅ #a(w) = 3(2k + 1) = 6k + 3 =


2(3k + 1) + 1 = 2m + 1, dengan m = 3k + 1.

Karena #a(w3) juga merupakan bilangan ganjil, maka bahasa tersebut tertutup di
bawah operasi triplikasi.
Sifat Closure Bahasa (HW01 Bagian 4 nomor 10, reversi)

L = {a, ab, ba, aaa, abb, bab, bba, aaab, aaba, …, bababaaba, …}

● (a)R = a
● (bab)R = bab
● (aaba)R = abaa
● (bababaaba)R = abaababab
Sifat Closure Bahasa (HW01 Bagian 4 nomor 10, reversi)

Jawab: Closure.

Jelas

Diserahkan kepada pembaca sebagai latihan

Operasi reversi tidak mengubah jumlah kemunculan suatu simbol pada suatu
string, yakni #a(wR) = #a(w).

Jadi #a(wR) juga merupakan bilangan ganjil, sehingga bahasa tersebut tertutup di
bawah operasi reversi.
Sifat Closure Bahasa (Buku acuan halaman 37)

Bahasa yang sama dengan HW01 Bagian 4 nomor 8, yakni


L = {a, aa, ba, aaa, aba, baa, bba, aaaa, aaba, abaa, abba, baaa, …}

● odds(a) = a
● odds(bba) = ba
● odds(aababaabba) = abbab
● odds(bbbbbaaa) = bbba
Sifat Closure Bahasa (Buku acuan halaman 37)

Jawab: Tidak closure

Counterexample dapat dilihat pada slide sebelumnya, yaitu w = aababaabba (∈


L), namun odds(w) = abbab (∉ L)

Secara umum, counterexample-nya merupakan sebuah string dengan


karakter/simbol pada posisi ganjil terakhir adalah b.
NDFSM -> DFSM
NDFSM -> DFSM (HW01 Bagian 4 nomor 13)
eps dari state-state NDFSM

eps dari start state


tips: pakai state table aja
state-state dari DFSM hasil
accepting state dari DFSM hasil
NDFSM -> DFSM (HW01 Bagian 4 nomor 13)

1. eps semua state


● eps(A) = {A, B}
● eps(B) = {B}
● eps(C) = {C, E, F}
● eps(D) = {D}
● eps(E) = {E, F}
● eps(F) = {F}

2. Eps start state


● eps(s) = eps(A) = {A, B}
NDFSM -> DFSM (HW01 Bagian 4 nomor 13)

3. tentukan transisi

trial dulu gan


NDFSM -> DFSM (HW01 Bagian 4 nomor 13)

3. tentukan transisi
NDFSM -> DFSM (HW01 Bagian 4 nomor 13)

4. 5. A’
NDFSM -> DFSM (HW01 Bagian 4 nomor 13)

insert gambar
Untuk Gambar FSM, Jangan Lupa…
● Garis atau segitiga untuk start state
● Accepting state lingkarannya dua
● Untuk nama state, usahakan sesuai abjad (biar yang ngecek lebih mudah dan
terhindar dari salah liat :D) ⇒ misalkan: {C, E, F}, jangan {E, C, F}
Minimisasi DFSM
Minimisasi DFSM (HW02 Bagian B No.2)
Kelompokkan state-state menjadi dua:
accepting dan non-accepting

Classes = {[A,B,C,D,E,F,J], [G,H,K]}


Minimisasi DFSM (HW03 Bagian B No.10)
Classes = {[A,B,C,D,E,F], [J], [G,H,K]} Classes = {[A,B,C,D], [E,F], [J], [G,H,K]}

Dalam partisi [A,B,C,D,E,F] ada yang


Dalam partisi [A,B,C,D] ada yang berbeda
berbeda behavior yaitu A,B,C,D dengan E,F
behavior yaitu A,B dengan C,D sehingga
sehingga dipecah partisinya menjadi
dipecah partisinya menjadi [A,B] dan [C,D]
[A,B,C,D] dan [E,F]
Minimisasi DFSM (HW03 [2022] Bagian B No.10)

Classes = {[A,B], [C,D], [E,F], [J], [G,H,K]}

Tidak ada lagi state yang perlu dipisah


NDFSM -> regex
NDFSM -> Regex (HW04 [2021] Bagian C nomor M3)
NDFSM -> Regex (HW04 [2021] Bagian C nomor M3)

Prekondisi

NOTE:
Untuk memudahkan, digunakan + sebagai ∪
Lambda pada JFlap adalah epsilon
Heuristik
Pilih A sebagai status rip. Yang terdampak
2 transisi

● p = S’ dan q = B, dengan
α = ∅; β1 = ε; β2 = a+b; β3 = b. Jadi
α’ = ∅ + ε(a+b)*b = (a+b)*b
● p = S’ dan q = F, dengan
α = ∅; β1 = ε; β2 = a+b; β3 = ε. Jadi
α’ = ∅ + ε(a+b)*ε = (a+b)*
Heuristik
Pilih B sebagai status rip. Yang terdampak
2 transisi

● p = S’ dan q = C, dengan
α = ∅; β1 = (a+b)*b; β2 = ∅; β3 = b. Jadi
α’ = ∅ + (a+b)*b∅*b = (a+b)*bεb = (a+b)*bb
● p = D dan q = C, dengan
α = ∅; β1 = b; β2 = ∅; β3 = b. Jadi
α’ = ∅ + b∅*b = bεb = bb
Heuristik
Pilih D sebagai status rip. Yang terdampak
1 transisi

● p = C dan q = C, dengan
α = ∅; β1 = a; β2 = ∅; β3 = bb. Jadi
α’ = ∅ + a∅*bb = aεbb = abb
Heuristik
Pilih C sebagai status rip. Yang terdampak
1 transisi

● p = S’ dan q = E, dengan
α = ∅; β1 = (a+b)*bb; β2 = abb; β3 = b. Jadi
α’ = ∅ + (a+b)*bb(abb)*b = (a+b)*bb(abb)*b
Heuristik
Pilih F sebagai status rip. Yang terdampak
2 transisi

● p = S’ dan q = G, dengan
α = ∅; β1 = (a+b)*; β2 = ∅; β3 = a. Jadi
α’ = ∅ + (a+b)*∅*a = (a+b)*εa = (a+b)*a
● p = G dan q = G, dengan
α = ∅; β1 = b; β2 = ∅; β3 = a. Jadi
α’ = ∅ + b∅*a = bεa = ba
Heuristik
Pilih H sebagai status rip. Yang terdampak
2 transisi

● p = G dan q = E, dengan
α = ∅; β1 = a; β2 = ∅; β3 = ε. Jadi
α’ = ∅ + a∅*ε = aε = a
● p = G dan q = G, dengan
α = ∅; β1 = a; β2 = ∅; β3 = b. Jadi
α’ = ∅ + a∅*b = aεb = ab
Heuristik
Pilih G sebagai status rip. Yang terdampak
1 transisi

● p = S’ dan q = E, dengan
α = (a+b)*bb(abb)*b; β1 = (a+b)*a; β2 = ab+ba; β3 = a. Jadi
α’ = (a+b)*bb(abb)*b + (a+b)*a(ab+ba)*a
Heuristik

Karena tidak ada lagi yang bisa di-rip, maka ekspresi regulernya adalah

(a+b)*bb(abb)*b + (a+b)*a(ab+ba)*a
NDFSM -> Regex (HW04 [2021] Bagian C nomor M3)

Prekondisi

NOTE:
Untuk memudahkan, digunakan + sebagai ∪
Lambda pada JFlap adalah epsilon
Tabel trial dulu gan

1. Prekondisi -> Tabel awal


2. Rip State A
3. Rip State B
4. Rip State D
5. Rip State C
6. Rip State F
6. Rip State H
6. Rip State G
Hasil Heuristik dan Tabel
Sifat Closure Bahasa
Reguler
Sifat Closure Bahasa Reguler
● Diberikan beberapa bahasa (bisa memiliki sifat yang berbeda) serta
operasi/fungsi
● Contoh sifat bahasa:
○ reguler,
○ non-reguler,
○ context-free
● Operasi/fungsi memiliki masukan beberapa bahasa dan keluaran berupa
sebuah bahasa
● Yang ditanyakan adalah apakah bahasa keluaran memiliki sifat tertentu?
● Namun biasanya bahasa masukan bersifat sama (misalnya reguler) dan
ditanyakan apakah bahasa keluaran juga bersifat sama
Sifat Closure Bahasa Reguler
Tertutup terhadap:
● gabungan (union),
● konkatenasi (concatenation),
● Kleene star.
Ingat teorema konversi ekspresi reguler menjadi FSM (Kleene’s theorem)
● komplemen (complement),
● irisan (intersection),
● set difference,
● reversi (reverse),
● substitusi (string substitution).
Bisa dilihat di buku (Theorem 8.4)
Sifat Closure Bahasa Reguler
Contoh bahasa non-reguler yang sering muncul:

● AnBn = {anbn | n adalah bilangan bulat non-negatif}


● AnBnCn = {anbncn | n adalah bilangan bulat non-negatif}
● L = {anbm | n > m}
● L = {ww | w ∈ {a, b}*}
● Pal = {w | w ∈ {a, b}*, w = wR}
● PalEven = {wwR | w ∈ {a, b}*}
● Bal = {w ∈ {), (}* | w membentuk string tanda kurung yang seimbang}
● L = {1p | p adalah bilangan prima}
● L = {am | m = k2 untuk k bilangan bulat non-negatif}
Sifat Closure Bahasa Reguler
Diberikan bahasa reguler L1 dan L2. Apakah (L1 ∪ L2)*L2(L1L2)* juga merupakan
bahasa reguler?
Sifat Closure Bahasa Reguler
Diberikan bahasa reguler L1 dan L2. Apakah (L1 ∪ L2)*L2(L1L2)* juga merupakan
bahasa reguler?

Jawab: Ya

● Karena L1 dan L2 reguler, berdasarkan sifat closure union pada bahasa


reguler, maka L1 ∪ L2 juga reguler
● Karena L1 ∪ L2 reguler, berdasarkan sifat closure Kleene star pada bahasa
reguler, maka (L1 ∪ L2)* juga reguler
● Karena (L1 ∪ L2)* dan L2 reguler, berdasarkan sifat closure concatenation
pada bahasa reguler, maka (L1 ∪ L2)*L2 juga reguler
Sifat Closure Bahasa Reguler
Diberikan bahasa reguler L1 dan L2. Apakah (L1 ∪ L2)*L2(L1L2)* juga merupakan
bahasa reguler?

(cont.)

● Karena L1 dan L2 reguler, berdasarkan sifat closure concatenation pada


bahasa reguler, maka L1L2 juga reguler
● Karena L1L2 reguler, berdasarkan sifat closure Kleene star pada bahasa
reguler, maka (L1L2)* juga reguler
● Karena (L1 ∪ L2)*L2 dan (L1L2)* reguler, berdasarkan sifat closure
concatenation pada bahasa reguler, maka (L1 ∪ L2)*L2(L1L2)* juga reguler
Sifat Closure Bahasa Reguler
Diberikan bahasa reguler T dan L. Apakah (TR ⊕ L)L juga merupakan bahasa
reguler? Didefinisikan AR adalah reversi dari bahasa A dan A ⊕ B = (A ∪ B) - (A ∩
B).
Sifat Closure Bahasa Reguler
Diberikan bahasa reguler T dan L. Apakah (TR ⊕ L)L juga merupakan bahasa
reguler? Didefinisikan AR adalah reversi dari bahasa A dan A ⊕ B = (A ∪ B) - (A ∩
B).
Jawab: Ya
Agar lebih mudah, kita buktikan bahwa untuk suatu bahasa reguler A dan B, A ⊕ B
juga menghasilkan bahasa reguler.
● Karena A dan B reguler, berdasarkan sifat closure union pada bahasa reguler,
maka A ∪ B juga reguler
● Karena A dan B reguler, berdasarkan sifat closure intersection pada bahasa
reguler, maka A ∩ B juga reguler
Sifat Closure Bahasa Reguler
Diberikan bahasa reguler T dan L. Apakah (TR ⊕ L)L juga merupakan bahasa
reguler? Didefinisikan AR adalah reversi dari bahasa A dan A ⊕ B = (A ∪ B) - (A ∩
B).

(cont.)

● Karena A ∪ B dan A ∩ B reguler, berdasarkan sifat closure set difference


pada bahasa reguler, maka (A ∪ B) - (A ∩ B) = A ⊕ B juga reguler

Terbukti bahasa reguler tertutup di bawah operasi ⊕.

● Karena T reguler, berdasarkan sifat closure reverse pada bahasa reguler,


maka TR juga reguler
Sifat Closure Bahasa Reguler
Diberikan bahasa reguler T dan L. Apakah (TR ⊕ L)L juga merupakan bahasa
reguler? Didefinisikan AR adalah reversi dari bahasa A dan A ⊕ B = (A ∪ B) - (A ∩
B).

(cont.)

● Karena TR dan L reguler, berdasarkan sifat closure operasi ⊕ pada bahasa


reguler, maka TR ⊕ L juga reguler
● Karena (TR ⊕ L) dan L reguler, berdasarkan sifat closure concatenation pada
bahasa reguler, maka (TR ⊕ L)L juga reguler
Sifat Closure Bahasa Reguler (Buku acuan halaman 133)

Contoh:

● copyandreverse({a, b, bb, bab, babbab, bba, bbaabb}) = {bb, babbab,


bbaabb}
● copyandreverse({ε}) = {ε}
● copyandreverse({a, b, c, d, e, f, ff, gg}) = {ff}

Apakah operasi copyandreverse menghasilkan bahasa reguler untuk sembarang


bahasa reguler?
Sifat Closure Bahasa Reguler (Buku acuan halaman 133)

Jawab: Tidak closure.

Dapat dilihat dari slide sebelumnya bahwa bahasa yang dihasilkan operasi
copyandreverse merupakan subhimpunan dari bahasa PalEven (pada alfabet
tertentu).

Terlebih, counterexample-nya adalah L = {a, b}*; copyandreverse({a, b}*) =


PalEven pada alfabet {a, b}
Sifat Closure Bahasa Reguler (Buku acuan halaman 134)
Sifat Closure Bahasa Reguler (Buku acuan halaman 134)

Jawab: False

Counterexample:

● L1 = {a}* (bahasa reguler)


● L1 = {} (bahasa reguler)
● L2 = {a, b}* (bahasa reguler)
● L = {anbn | n adalah bilangan bulat non-negatif} (bahasa non-reguler)
Pumping Lemma/Theorem
Pumping Lemma/Theorem

Soal yang mirip muncul di UTS tahun lalu, dengan diberikan string yang akan
digunakan untuk pembuktian

Oleh karena itu, mari gunakan w = akbk+2


Pumping Lemma/Theorem

Soal yang mirip muncul di UTS tahun lalu, dengan diberikan string yang akan
digunakan untuk pembuktian

Oleh karena itu, mari gunakan w = akbk+2 dan w = (ab)kbb


Pumping Lemma/Theorem

Jawab: bukan merupakan bahasa reguler

w = akbk+2

Cek terlebih dahulu apakah w ∈ L.

● #a(w) = k
● #b(w) = k + 2

Terlihat bahwa w ∈ L
Pumping Lemma/Theorem

(cont. w = akbk+2)

Cek apakah |w| ≥ k.

|w| = k + (k + 2) = 2k + 2 ≥ k

Terlihat bahwa |w| ≥ k


Pumping Lemma/Theorem

(cont. w = akbk+2)

Partisi w menjadi xyz di mana |xy| ≤ k dan y ≠ ε, dengan kata lain

● xy = ap, dengan 1 ≤ p ≤ k
● y = aj, dengan 1 ≤ j ≤ p
● x = ap-j
● z = ak-pbk+2
Pumping Lemma/Theorem

(cont. w = akbk+2)
Akan ditunjukkan bahwa terdapat pemompaan y sebanyak q kali (q ≥ 0) yang
menghasilkan string di luar bahasa L.
Salah satu counterexample-nya adalah q = 0:
xyqz = xy0z = ap-j(aj)0ak-pbk+2 = ap-j+k-pbk+2 = ak-jbk+2
Agar xyqz adalah string pada L, maka nilai j haruslah 0
[#a(xyqz) = k - 0 = k, #b(xyqz) = k + 2]
Pumping Lemma/Theorem

(cont. w = akbk+2)

Namun, j tidak bisa bernilai 0, karena menyebabkan string y haruslah berupa


string kosong (ingat, pada partisi w, string y = aj). Sehingga xy0z tidak mungkin
menghasilkan string pada L.

Jadi L bukanlah merupakan bahasa reguler.


Pumping Lemma/Theorem

Jawab: bukan merupakan bahasa reguler

w = (ab)kbb

Cek terlebih dahulu apakah w ∈ L.

● #a(w) = k
● #b(w) = k + 2

Terlihat bahwa w ∈ L
Pumping Lemma/Theorem

(cont. w = (ab)kbb)

Cek apakah |w| ≥ k.

|w| = 2k + 2 ≥ k

Terlihat bahwa |w| ≥ k


Pumping Lemma/Theorem

(cont. w = (ab)kbb)
Partisi w menjadi xyz di mana |xy| ≤ k dan y ≠ ε, dengan kata lain
● xy = abab…a, apabila |xy| ganjil; abab…b, apabila |xy| genap
dengan 1 ≤ p = |xy| ≤ k
● y = a...a, apabila p ganjil dan |y| ganjil; b…a, apabila p ganjil dan |y| genap;
b…b, apabila p genap dan |y| ganjil; a…b, apabila p genap dan |y| genap
dengan 1 ≤ j = |y| ≤ p
● x = abab…b, apabila p - j genap; abab…a, apabila p - j ganjil
● z = b…bbk+2, apabila p ganjil; a…bbk+2, apabila p genap
Pumping Lemma/Theorem

(cont. w = (ab)kbb)

Akan ditunjukkan bahwa terdapat pemompaan y sebanyak q kali (q ≥ 0) yang


menghasilkan string di luar bahasa L.

● Kasus p ganjil dan j ganjil, berarti x = abab…b; y = a…a; z = b…bbk+2


Pumping Lemma/Theorem

(cont. w = akbk+2)

Namun, j tidak bisa bernilai 0, karena menyebabkan string y haruslah berupa


string kosong (ingat, kita memisalkan y = aj).

Jadi L bukanlah merupakan bahasa reguler


Pumping Lemma/Theorem (Buku acuan halaman 132)
Pumping Lemma/Theorem (Buku acuan halaman 132)

Jawab: bukan merupakan bahasa reguler

x = akbk, w = xxRx = akbkbkakakbk

Terlihat w ∈ L, dengan x = akbk


Pumping Lemma/Theorem (Buku acuan halaman 132)

(cont. w = akbkbkakakbk)

Cek apakah |w| ≥ k.

|w| = k + k + k + k + k + k = 6k ≥ k

Terlihat bahwa |w| ≥ k


Pumping Lemma/Theorem (Buku acuan halaman 132)

(cont. w = akbkbkakakbk)

Partisi w menjadi xyz di mana |xy| ≤ k dan y ≠ ε, dengan kata lain

● xy = ap, dengan 1 ≤ p ≤ k
● y = aj, dengan 1 ≤ j ≤ p
● x = ap-j
● z = ak-pbkbkakakbk
Pumping Lemma/Theorem (Buku acuan halaman 132)

(cont. w = akbkbkakakbk)

Akan ditunjukkan bahwa terdapat pemompaan y sebanyak q kali (q ≥ 0) yang


menghasilkan string di luar bahasa L.

Salah satu counterexample-nya adalah q = 0:

xyqz = xy0z = ap-j(aj)0ak-pbkbkakakbk = ap-j+k-pbkbkakakbk = ak-jbkbkakakbk

Agar xyqz adalah string pada L, maka nilai j haruslah 0

[xyqz = (akbk)(akbk)R(akbk)]
Pumping Lemma/Theorem (Buku acuan halaman 132)

(cont. w = akbkbkakakbk)

Namun, j tidak bisa bernilai 0, karena menyebabkan string y haruslah berupa


string kosong (ingat, pada partisi w, string y = aj). Sehingga xy0z tidak mungkin
menghasilkan string pada L.

Jadi L bukanlah merupakan bahasa reguler.


Pumping Lemma/Theorem
L = {am | m = k2 untuk k bilangan bulat non-negatif}
Pumping Lemma/Theorem
L = {am | m = n2 untuk n bilangan bulat non-negatif}

Jawab: Bukan bahasa reguler

Untuk sembarang k ≥ 1, ambil w = ak⋅k

● Jelas bahwa w ∈ L dengan m = k2


● |w| = k2 ≥ k
Pumping Lemma/Theorem
L = {am | m = n2 untuk n bilangan bulat non-negatif}
(cont. w = ak⋅k)
Partisi w menjadi xyz di mana |xy| ≤ k dan y ≠ ε, dengan kata lain
● xy = ap, dengan 1 ≤ p ≤ k
● y = aj, dengan 1 ≤ j ≤ p
● x = ap-j
● z = ak⋅k-p
Pumping Lemma/Theorem
L = {am | m = n2 untuk n bilangan bulat non-negatif}

(cont. w = ak⋅k)

Akan ditunjukkan bahwa terdapat pemompaan y sebanyak q kali (q ≥ 0) yang


menghasilkan string di luar bahasa L.

Salah satu counterexample-nya adalah q = 2 (biar anti-mainstream):

xyqz = xy2z = ap-j(aj)2ak⋅k-p = ap-j+2j+k⋅k-p = ak⋅k+j

Bilangan kuadrat terkecil setelah k2 adalah (k + 1)2 = k2 + 2k + 1, namun terdapat


batasan 1 ≤ j ≤ p ≤ k.
Pumping Lemma/Theorem
L = {am | m = n2 untuk n bilangan bulat non-negatif}

(cont. w = ak⋅k)

Dengan kata lain, nilai maksimum j adalah k, sedangkan untuk menghasilkan


string terkecil pada L setelah ak⋅k diperlukan j = 2k + 1. Sehingga xy2z tidak
mungkin menghasilkan string pada L.

Jadi L bukanlah merupakan bahasa reguler.


Pumping Lemma/Theorem
Contoh pemilihan string untuk pembuktian bahasa non-reguler

● AnBn = {anbn | n adalah bilangan bulat non-negatif} => akbk


● AnBnCn = {anbncn | n adalah bilangan bulat non-negatif} => akbkck
● L = {anbm | n > m} => ak+1bk
● L = {ww | w ∈ {a, b}*} => akbkakbk
● Pal = {w | w ∈ {a, b}*, w = wR} => akbkbkak
● PalEven = {wwR | w ∈ {a, b}*} => akbkbkak
● Bal = {w ∈ {), (}* | w membentuk string tanda kurung yang seimbang} => (k)k
● L = {1p | p adalah bilangan prima} => aq, dimana q adalah bilangan prima
terkecil yang lebih besar dari k + 1
● L = {am | m = k2 untuk k bilangan bulat non-negatif} => ak⋅k

Anda mungkin juga menyukai