1 / 39

Konsep sentral teori otomata

Konsep sentral teori otomata. Teknik Informatika STTA 2013 Yenni Astuti , S.T., M.Eng. Sebelumnya. Kegunaan Teori. FSA , tata bahasa formal: desain/ konstruksi perangkat lunak. Mesin Turing , membantu pemahaman yang diinginkan dari perangkat lunak.

iokina
Download Presentation

Konsep sentral teori otomata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Konsepsentralteoriotomata TeknikInformatika STTA 2013 YenniAstuti, S.T., M.Eng.

  2. Sebelumnya . . .

  3. Kegunaan Teori • FSA, tata bahasa formal: desain/ konstruksi perangkat lunak. • Mesin Turing, membantu pemahaman yang diinginkan dari perangkat lunak. • Penyelesaian masalah? Atau menggunakan pendekatan . . .

  4. Kegunaan Teori Otomata • Untuk mendesain dan mengecek perilaku rangkaian digital. 0 OFF ON 1

  5. Kegunaan Teori Otomata (lanj.) • Sebagai penganalisa leksikon kompiler, yakni komponen kompiler yang mengubah teks input menjadi unit logik. F I 0 1 2

  6. Kegunaan Teori Otomata (lanj.) • Untuk memeriksa teks yang sangat besar, seperti halaman web, untuk menemukan kemunculan kata-kata, frase-frase, dan pola lain.

  7. Kegunaan Teori Otomata (lanj.) • Untuk memvalidasi sistem yang memiliki keadaan terbatas, seperti protokol komunikasi untuk pergantian data yang aman.

  8. Konsep Sentral Teori Otomata

  9. Alfabet • Himpunan simbol. • terbatas • tidak kosong • Lambang:  • Contoh: • Alfabet biner:  = {0, 1} • Alfabet huruf kecil:  = {a, b, …, z}

  10. String • String (bisa berupa kata) adalah alfabet dengan urutan terbatas. • Contoh: 01101 dan 111 merupakan string dari alfabet biner  = {0, 1} • String kosong: string dengan kemunculan simbol sama dengan nol • Dinotasikan dengan  dan dapat muncul dari sembarang alfabet.

  11. Panjang String • Panjang string: jumlah simbol dalam string Contoh: 01101 memiliki panjang 5 • String 01101 hanya terdiri dari dua simbol (0 dan 1) dengan panjang 5. Notasi panjang string dari : || Contoh: |011| = 3 and || = 0

  12. Pangkat Alfabet Jika  adalah alfabet, string dengan panjang tertentu dari alfabet tersebut dapat dinyatakan dalam bentuk notasi perpangkatan.

  13. Pangkat Alfabet (lanj.) k: himpunan string dengan panjang k, yang elemennya merupakan anggota .

  14. Pangkat Alfabet (lanj.) Contoh: • 0:{}. Tanpa memperdulikan anggota ,  merupakan satu-satunya string dengan panjang 0.

  15. Pangkat Alfabet (lanj.) Jika = {0, 1}, maka • 2= {00, 01, 10, 11} • 1= {0, 1} • 3= {000, 001, 010, 011, 100, 101, 110, 111}

  16. Pangkat Alfabet (lanj.) Jika  = {0, 1}, maka •  merupakan alfabet • simbol 0 dan simbol 1 merupakan anggotanya. • 1 merupakan himpunan string; • masing-masing anggotanya merupakan string (dengan panjang masing-masing 1)

  17. Pangkat Bintang Kleen • * : himpunan semua string dari alfabet . • {0, 1} = {, 0, 1, 00, 01, 10, 11, 000, … } • * = 0  1  2  …

  18. Pangkat Bintang Kleen (lanj.) • Lambang * disebut dengan bintang Kleene diambil dari nama seorang ahli matematika dan logika bernama Stephen Cole Kleene. • + = 1 2  . . . Sehingga: • * = +  {}

  19. Konkatenasi Didefinisikan suatu operasi biner, dinamakan konkatenasi (gabungan), dalam * , sbb: • Jika a1a2a3…an dan b1b2…bm berada dalam *, maka a1a2a3...an.b1b2…bm = a1a2a3…anb1b2…bm

  20. Konkatenasi (lanj.) • Sehingga, string yang satu dapat digabungkan dengan string lainnya: • Jika x dan y merupakan dua buah string, maka x.y diartikan sebagai gabungan dari x dan y, hasilnya, string yang baru terbentuk dengan menulis x diikuti dengan menuliskan y.

  21. Konkatenasi (lanj.) Contoh: • x = 01101 dan y = 110 Maka xy = 01101110 dan yx = 11001101

  22. Konkatenasi (lanj.) Contoh: • Untuk sembarang string w, persamaan w = w =w • Sehingga,  merupakan identitas untuk operasi konkatenasi (ketika digabungkan dengan sembarang string akan dihasilkan string itu sendiri)

  23. Konkatenasi (lanj.) Contoh: • Jika S dan T merupakan himpunan bagian dari *, maka S.T = {s.t | s S, tT}

  24. Bahasa • Jika  adalah alfabet, dan L  *, maka L adalah bahasa dari . • Bahasa: Himpunan string yang berasal dari *. • dapat bersifat tak-terbatas.

  25. Bahasa (lanj.) • Bahasa dari  tidak perlu string dari semua simbol . • Sehingga, bahasa dari  juga merupakan bahasa dari sembarang alfabet yang merupakan superhimpunan dari .

  26. Bahasa (lanj.) • Contoh: • Pemrograman bahasa C. Program yang benar merupakan himpunan bagian dari string yang mungkin yang dapat dibentuk dari alfabet bahasa tersebut (himpunan bagian karakter ASCII) • Bahasa Inggris atau Bahasa Perancis.

  27. Contoh Bahasa yang Lain (lanj.) • Bahasa semua string yang mengandung n buah 0 yang diikuti oleh n buah 1 (n ≥ 0): {, 01, 0011, 000111, …}

  28. Contoh Bahasa yang Lain (lanj.) • Himpunan string yang terdiri dari 0 dan 1 dengan jumlah masing-masing yang sama: {, 01, 10, 0011, 0101, 1001, …}

  29. Contoh Bahasa yang Lain (lanj.) • * merupakan bahasa dari sembarang alfabet . • , bahasa kosong, merupakan bahasa dari sembarang alfabet.

  30. Contoh Bahasa yang Lain • {}, bahasa yang hanya terdiri dari string kosong, • merupakan bahasa dari sembarang alfabet. Catatan:  ≠ {} karena  tidak memiliki string sedangkan {} memiliki satu string.

  31. Contoh Bahasa yang Lain • {w | w terdiri dari jumlah angka 0 yang sama dengan jumlah angka 1} • {0n1n | n ≥ 1} • {0i1j | 0 ≤ i ≤ j}

  32. Operator Bahasa: Union • Union dari dua bahasa L dan M, dinotasikan dengan L M, merupakan himpunan string yang ada di L, M, atau keduanya. • Contoh: Jika L = {001, 10, 111} dan M = {, 001} maka L M = {, 001, 10, 111}

  33. Operator Bahasa: Konkatenasi • Konkatenasi dari bahasa L dan M, dinotasikan dengan L.M atau LM, merupakan himpunan string yang dibentuk dengan mengambil sembarang string dalam L dan menyambungkannya dengan sembarang string dalam M. • Contoh: Jika L = {001, 10, 111} dan M = {, 001} maka L.M = {001, 10, 111, 001001, 10001, 111001}

  34. Operator Bahasa: Klosur • KlosurdaribahasaLdinotasikandenganL* danmerepresentasikanhimpunan string yang dapatdibuatdenganmengambilsembarang string dariL • dapat jugamengandungperulangan (misal string yang samadapat diulang lebihdarisekali) danmenggabungkansemuanya. • Contoh: • JikaL = {0,1} makaL* adalahsemua string 0 dan 1 • JikaL = {0,11} makaL* terdiridari string 0 dan 1 denganangka 1 munculdua kali, misal 011, 11110, dan. Namunbukan 01011 atau 101.

  35. Operator Bahasa: Klosur (lanj.) • Formalnya, L* adalah union tak-hinggaUi ≥ LidenganL0 = {), L1 = L, danuntuk i > 1 kitamemilikiLi = LL…L (gabungandari i buahL)

  36. EkspresiReguler

  37. EkspresiRegulerdanBahasa Kita definisikanekspresireguler. Basis: Basis terdiriatastigabagian: • Konstanta dan  merupakanekspresireguler, menotasikanbahasa {} dan . Sehingga L() = {} dan L() =  • Jika a adalahsuatusimbol, makaamerupakanekspresireguler. Ekspresiinimenotasikanbahasa {a}, misalnyaL(a) = {a}. Catatan: font tebaldigunakanuntukmenotasikanekspresi yang berkaitandengansimbol. • Suatuvariabel, biasanyaditulisdenganhurufbesardan miring, sepertiL, merupakansuatuvariabel yang merepresentasikansembarangbahasa.

  38. EkspresiRegulerdanBahasa Induksi: terdapatempatbagianpadalangkahinduktif, satuuntuktiaptiga operator dansatuuntukmengenalkantandakurung. • Jika E dan F adalahekspresireguler, maka E + F merupakanekspresi yang menotasikangabungan L(E) dan L(F). Sehingga L(E+F) = L(E)L(F) • Jika E dan F adalahekspresireguler, maka EF merupakaneksperireguler yang menotasikankonkatenasidari L(E) dan L(F). Sehingga, L(EF) = L(E)L(F) • Jika E merupakanekspresireguler, maka E* merupakanekspresireguler yang menotasikanklosurdari L(E). Sehingga L(E*)=(L(E))* • Jika E merupakanekpresireguler, maka € merupakanekspresireguler yang menotasikan E yang sama. Secara formal, L((E))=(L(E))

  39. ContohPenggunaanEkspresiReguler • Pendefinisianpenganalisaleksikal (kompiler) • Digunakan di sistemoperasiseperi UNIX (Unix-style): [A-Z] [a-z] * [ ] [A-Z] [A-Z] Merepresentasikan kata-kata hurufbesardiikutidenganspasidanduahurufbesar. Ekspresiinimerepresentasikanpoladalamteks yang dapatberupasuatukotadansuatunegara, misalnya Ithaca NY. Polainigagaluntuknamakota yang terdiridarilebihsatu kata seperti Palo Alto CA

More Related