2 alfabet dan string
-
Upload
rahmatdi-black -
Category
Entertainment & Humor
-
view
1.054 -
download
4
description
Transcript of 2 alfabet dan string
![Page 1: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/1.jpg)
Teori Bahasa dan Otomata PendahuluanKonsep Dasar: Alfabet, String, dan Bahasa
![Page 2: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/2.jpg)
Teori BahasaTeori bahasa membicarakan
tentang bahasa formal (formal language), terutama untuk perancangan kompilator (compiler) dan pemrosesan naskah.
Bahasa formal adalah kumpulan kalimat.
Semua kalimat dalam sebuah bahasa dibangkitkan oleh sebuah tata bahasa (grammar).
![Page 3: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/3.jpg)
Teknik Informatika UPNVY 3
Bahasa Formal
Tatabahasa Bahasa
Pembangkitan dan Pengenalan Kalimat
![Page 4: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/4.jpg)
OtomataAdalah mesin abstrak yang dapat
mengenali (recognize) atau menerima (accept) sebuah kalimat dalam bahasa tertentu.
Contoh: Mesin Jaja/vending machine, parser/compiler, dll.
![Page 5: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/5.jpg)
5
Mengapa TBO?Ekspresi reguler (RE) digunakan
pada berbagai sistem◦Cth. UNIX a.*b.◦Cth DTD mendeskripsi tag XML
dalam bentuk RE seperti pegawai (nama, alamat, anak*).
Finite automata memodelkan protokol
![Page 6: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/6.jpg)
6
Mengapa TBO? – (2)Tata bahasa bebas konteks
(Context-free grammars) digunakan untuk mendeskripsikan semua bahasa pemrograman => kompilasi◦Disamping juga bahasa
manusia/alami => pemrosesan teks, penerjemahan, dll
![Page 7: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/7.jpg)
7
Mengapa TBO? – (3)Ketika mencari solusi masalah,
kita sering mendapati batasan yang bisa dilakukan suatu software◦Undecidable– tidak bisa diselesaikan
oleh program sama sekali.◦Intractable– bisa diselesaikan
dengan program, tapi butuh waktu yang lama
![Page 8: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/8.jpg)
Konsep DasarAlfabetStringBahasa
![Page 9: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/9.jpg)
AlfabetHimpunan simbol terbatas dan
tak kosongLambang: ∑Contoh:
◦∑ = {0, 1} alfabet biner◦∑ = {a, b, c, …, z} alfabet yang
terdiri dari himpunan huruf kecil◦Himpunan simbol ASCII
![Page 10: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/10.jpg)
Alfabet (2) Alfabet yang dipakai oleh
prosesor komputer: {0, 1}Alfabet untuk merepresentasikan
bilangan basis 10: {0, 1, 2, …, 9}
Alfabet untuk menulis cerita{a, …, z, A, …, Z, ?, …}
Alfabet untuk merepresentasikan bahasa logika {,,,,…}
![Page 11: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/11.jpg)
Alfabet (3)Alfabet untuk bahasa
pemrograman, disebut juga token◦Token/alfabet untuk bahasa C:
{main, printf, …}Alfabet untuk merepresentasikan
molekul DNA: {A, C, G, T}
![Page 12: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/12.jpg)
StringString: deretan berhingga (finite)
simbol-simbol yang berasal dari suatu alfabet
Contoh:Dari alfabet biner ∑={0,1} bisa
didapat string 10011 dan 111
![Page 13: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/13.jpg)
String kosongString kosong: String dengan nol
buah simbolLambang:
![Page 14: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/14.jpg)
Panjang stringJika w adalah sebuah string maka
panjang string dinyatakan sebagai w dan didefinisikan sebagai banyaknya simbol yang menyus
Contoh◦Jika w = abcb , maka w= 4
= 0Cth.: |011| =3
![Page 15: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/15.jpg)
SubstringSubstring string w adalah string
yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol paling depan dan/atau simbol-simbol paling belakang dari string w tersebut.
Contoh : x = abc, maka substring x adalah abc, ab, bc, a, b, c, dan
![Page 16: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/16.jpg)
n
Himpunan string dari suatu alfabet yang panjangnya n
Jika = {0,1}3 = {000, 001, 010, 011,100,
101,110,111}
![Page 17: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/17.jpg)
* dan +Himpunan semua string dari
suatu alfabet dilambangkan dengan *
Cth:◦{0,1}* = {, 0, 1, 00, 01, 10, 11,
000, …}
Himpunan semua string dari suatu alfabet tanpa string kosong +
{0,1}+ = {0, 1, 00, 01, 10, 11, 000, …}
![Page 18: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/18.jpg)
Konkatenasi dua stringPenggabungan dua buah stringContoh:Jika x = 01 dan y = 110, maka
◦xy = 01110◦yx = 11001
Sifat aljabar konkatenasi :◦asosiatif : x(yz) = (xy)z◦Elemen identitas operasi konkatenasi
adalah ◦x = x = x
![Page 19: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/19.jpg)
BahasaSuatu himpunan string yang
dipilih dari * dari suatu alfabet Contoh:Jika = {0,1}
◦Bahasa dengan string yang jumlah simbol 0 sama dengan simbol 1: {, 01, 10, 0011, 0101, 1100, …}
◦Bahasa yang stringnya selalu diakhiri simbol 0: {0, 10, 110, 100, 000, 1110, …}
![Page 20: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/20.jpg)
Latihan
1. Tuliskan alfabet berikut ini:a. Himpunan simbol angka heksadesimalb. Himpunan huruf hidup/vokal kecil
2. Buatlah masing-masing 5 string dari alfabet soal nomor 1 yang panjangnya 5.
3. = {a, b, c}, carilah 3
4. = {a}, tuliskan *
5. = {O, X}, tuliskan *
![Page 21: 2 alfabet dan string](https://reader036.fdocument.pub/reader036/viewer/2022081413/547e714eb4af9f5d778b4940/html5/thumbnails/21.jpg)
Latihan6. Carilah semua substring dari “gelas” 7. Jika ={a,b,c}, tulislah minimal 5 string
yang menjadi anggota bahasa berikut ini:
a. Bahasa yang terdiri dari string palindromb. Bahasa yang terdiri dari string berawalan
dan berakhiran simbol ac. Bahasa yang memuat substring cba
8. Enumerasikan himpunan string pada bahasa berikut ini
a. a*bb. (01)+c. (ab|c)*