Tugas 1 String dan Bahasa (Jawaban) Revisi 19.02 Kuliah Teori Bahasa dan Automata 2018-2019 Fakultas Ilmu Komputer Universitas Indonesia
Karena adanya beberapa kesalahan (minor maupun major) dalam Contoh Jawaban sebelumnya, berikut ini adalah setelah kesalahan diperbaiki.
L1 = {w  {a, b}* : #a(w) kelipatan 3 (termasuk 0) dan #b(w) tidak habis dibagi 3}.
L2 = {anbm : m  2n  3m, dan n, m  0}.
L3 = {aibjck: (i + k + 2) = j}.
L4 = {ambncpdq: (m + q) = (n + p)}.
L5 = {w ∈ {0, 1}∗ : w tidak mengandung 1001 dan |w| > 2}.
L6 = {w {0, 1}* : setiap 00 dalam w segera diikuti oleh 111}.
L7 = {w  {a, b}* : w berisi substring abb dalam jumlah ganjil}.
L8 didefinisikan secara rekursif dengan rule-rule berikut.
(a)   L8 ; (b) Untuk setiap w  L8, maka wa, bw, dan abw  L8; (c) tidak ada yang lain (selain yang dibentuk kedua rule tsb.) dari L8.
L9 didefinisikan secara rekursif dengan rule-rule berikut.
(a)   L9 ; (b) Untuk setiap w  L9, maka awb, dan awbb  L9; (c) tidak ada yang lain (selain yang dibentuk kedua rule tsb.) dari L9.
Bagian A. Jawablah Pertanyaan-pertanyaan berikut dengan singkat.
1. Tuliskan 10 string pertama (secara proper-order) dari L1. b,bb, aaab,aaba, abaa, baaa, bbbb, aaabb, aabab, aabba
2. Tuliskan 10 string pertama (secara proper-order) dari L4.
, ac, ad, bc, bd, aacc, aacd, aadc, aadd, abcc
, ab, ac, bd, cd, aabb, aabc, aacc, abbd, abcd
3. Tuliskan 10 string pertama (secara proper-order) dari L6.
, 0, 1, 01, 10, 11, 010, 011, 101, 110
4. Tuliskan 10 string pertama secara proper-order dari L1  L2.
a3b2, a3b4,a3b5,a6b4,a6b5,a6b7,a6b8,a9b7,a6b10,a6b11 (Note: dikoreksi karena kesalahan urutan)
5. Tuliskan 10 string pertama secara proper-order dari L2  L7.
a3b2, a3b4, a3b5, a6b2, a3b7, a6b4, a9b2, a6b5, a3b8, a6b7 a1b2, a2b2, a3b2, a2b3, a3b3, a2b4, a4b3, a3b4, a4b4, a3b5
6. Tuliskan 10 string pertama secara proper-order dari L8.
, a, b, aa, ab, ba, bb, aaa, aba, abb
7. Spesifikasikan L8 dengan pattern dan properties seperti L1 sd L7.
L8= {w  {a, b}* : w =  atau w = va atau w = bv atau w = abv, dengan v L8} (properti yang rekursif)
8. Spesifikasikan L9 dengan pattern dan properties seperti L1 sd L7. L9= {anbm : 0  n  m  2n }
Bagian B. Jawablah Ya atau Tidak, lalu tuliskan secara singkat alasan jawaban anda tsb.
9. Apakah L2 tertutup terhadap operasi konkatenasi?
Tidak. Counter example: w=ab  L2, konkatenasi w dengan w = abab  L2.
10. Apakah L3 tertutup terhadap operasi konkatenasi?
Tidak. w = ab4c  L3, konkatenasi w dengan w = ab4cab4c  L3.
11. Apakah L5 tertutup terhadap operasi reversi?
Ya. Untuk setiap w ∈ L5 maka w tidak mengandung 1001 dan |w| > 2, berarti juga wR tidak mengandung (1001)R = 1001 dan |wR|> 2.
12. Apakah L5 tertutup terhadap operasi prefiks?
Tidak. Counter example: w = 111 ∈ L5, dengan |w| > 2 . String  adalah prefiks dari 111, dan   L5. Karena || = 0.
13. Apakah L7 tertutup terhadap operasi triplikasi w3 (atau replikasi dengan = 3)?
Ya. Dalam setiap w  L7 terdapat kemunculan abb dalam jumlah ganjil, misalnya dalam jumlah 2n+1. String www berisi kemunculan abb dalam jumlah (2n+1)3 = 6n+3, yang juga bilangan ganjil, sehingga www L7 pula.
14. Periksalah apakah benar untuk setiap L  {0, 1}* ,jika L2  L, maka juga L*  L.
Tidak. Counter example: L = {1}+ = {1, 11, 111, …} dan L2 = {11, 1111, 111111,…}
sehingga L2  L. Sementara L* berisikan  yang tidak ada dalam L, sehingga sebaliknya, L  L*.
15. Periksalah apakah benar untuk setiap L  {0, 1}* ,jika L2  L, maka juga L+  L.
Tidak. Counter example: L = {1, 11, 1111, 11111111, …} = {1k : k bilangan 2n, n  0} dan L2 = {11, 1111, 11111111, …} sehingga L2  L. Sementara dalam L+ terdapat contohnya string 111 yang tidak ada dalam L.
Ya. Jika L2  L, berimplikasi setiap x L maka juga x2L. Selanjutnya dari x, x2L, maka x3 L2, dan juga x3 L. Dan seterusnya,x, x2, x3, x4….  L. Karena juga setiap xk
 Lk, dan L1  L2  32  … = L+ maka juga L+  L.
16. Periksalah untuk sembarang bahasa L, apakah selalu L*L* sama dengan L*?
Ya. Menurut definisi, untuk setiap L, L* = L0  L1  L2  … . Akibatnya L*L*= (L0  L1
 L2  …)(L0  L1 L2  …) = L0 (L0  L1 L2  …)  L1 (L0  L1 L2  …) L2 (L0  L1 L2  …)  … = (L0  L1 L2  …)  (L1  L2 L3  …)  (L2  L3 L4  …)  … = L0  L1 L2  … = L*.
17. Periksalah untuk sembarang bahasa LA dan LB, diketahui LB LA, apakah selalu LA*LB*
sama dengan LA*?
Ya. Karena LB LA, jelas bahwa LA*LB*  LA*LA* . Dari jawaban pertanyaan no (16) dimana LA*LA* = LA*,makaLA*LB*  LA*. Di lain pihak, jelas bahwa LA*  LA* LB* karena LB* berisikan . Dari keduanya maka LA*LB* = LA*.
18. Periksalah untuk sembarang bahasa LA dan LB, diketahui LB  LA*, apakah (LA  LB)*
= LA*?
Ya. LB  LA*, maka juga LA  LB  LA*. Selanjutnya (LA  LB)* = (LA*)* = LA*.
19. Periksalah untuk sembarang bahasa LA dan LB, apakah selalu LA*LB* sama dengan (LALB)*?
Tidak. Counter example LA= {0}, LB = {1}, LA*LB* = {0}*{1}* = {0n1m : n, m  0}, sementara (LALB)* = ({0}{1})* = {(01)n : n  0}.
20. Periksalah untuk sembarang bahasa LA dan LB, apakah selalu LA*(LBLA*)* sama dengan (LA*LB)*LA*?
Ya. LA*(LBLA*)* = LA*  LA*(LBLA*)  LA*(LBLA*)(LBLA*)  LA*(LBLA*)(LBLA*)(LBLA*) … = LA*  LA*LBLA*  LA*LBLA*LBLA*  LA*LBLA*LBLA*LBLA* … =
LA*  (LA*LB)LA*  (LA*LB)(LA*LB)LA*  (LA*LB)(LA*LB)(LA*LB)LA* … = (LA*LB)*LA*