Pertemuan 1 Konsep dalam Teori Otomata dan Pembuktian Formal

Slides:



Advertisements
Presentasi serupa
Review Materi Widodo.com
Advertisements

Pertemuan 4 Finite Automata
Bilqis1 Pertemuan bilqis2 Himpunan bilqis3 Definisi: himpunan (set) adalah kumpulan obyek-obyek tidak urut (unordered) Obyek dalam himpunan disebut.
TEORI BAHASA DAN OTOMATA
Pertemuan 14 Pengantar ke Mesin Turing
Pertemuan 6 Ekspresi dan Bahasa Regular
Session 10 Context-free grammar
Teori Bahasa dan Automata
Pertemuan 12 Bentuk Normal untuk Grammar Bebas Konteks
Pertemuan 9 Sifat-sifat Bahasa Regular
Oleh: BAGUS ADHI KUSUMA, ST
Pertemuan 1 Teori Bahasa dan Automata
BAB II HIMPUNAN.
Session 11 Parse Tree, Application of Parse Tree, and Ambiguity
Session 12 Pushdown Automata
Pertemuan 2 Konsep dalam Teori Otomata dan Pembuktian Formal
TEORI BAHASA DAN OTOMATA
KONSEP DASAR TEORI BAHASA DAN OTOMATA
Session 5 Finite Automata
BAB II FINITE STATE AUTOMATA.
Teori Bahasa & OTOMATA.
Pertemuan 3 Finite Automata
Session 7 Regular Expression and Language
BAB II FINITE STATE AUTOMATA.
KONSEP dan NOTASI BAHASA
Bahasa Pemrograman Tingkat Tinggi
Pertemuan 3 BAHASA REGULAR
Lexical Analyzer (Scanner)
Theory of Computation 2. Math Fundamental 1: Set, Sequence, Function
Agenda Deskripsi perkuliahan Matematika Diskrit Topik Minggu 1:
PENDAHULUAN.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
PENDAHULUAN.
Teori Matematika terhadap materi teori bahasa dan automata
Pertemuan 3 FINITE AUTOMATA
Teori Bahasa & OTOMATA.
Teori Bahasa dan Automata
OPERATOR DAN FUNGSI MATEMATIK. Operator  Assignment operator Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda.
2. Mesin Turing (Bagian 2) IF5110 Teori Komputasi Oleh: Rinaldi Munir
Pengantar Teknik Kompilasi
2. Mesin Turing (Bagian 1) IF5110 Teori Komputasi Oleh: Rinaldi Munir
TEORI BAHASA DAN AUTOMATA
Teori-Bahasa-dan-Otomata
Kelompok 6 Turing Machine
Diagram dan Tabel Transisi
Teori Bahasa Otomata D. Sinaga, M.Kom.
FINITE STATE AUTOMATA (FSA)
Firrar Utdirartatmo:Teori Bahasa dan Otomata JJ Learning Yogyakarta,
TEORI GRAF DAN OTOMATA Pendahuluan Bagus Adhi Kusuma, S.T., M.Eng.
Teori Bahasa & Otomata (Automata)
4. Undecidabality (Bagian 3)
2. Review Teori Bahasa Formal dan Otomata
Teori-Bahasa-dan-Otomata
PENDAHULUAN.
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
BAGUS ADHI KUSUMA, S.T., M.Eng.
2. Mesin Turing (Bagian 1) IF5110 Teori Komputasi Oleh: Rinaldi Munir
Modul Matematika Diskrit Pertemuan ke-4
BAB II FINITE STATE AUTOMATA.
Mesin Turing.
PENGERTIAN HIMPUNAN Himpunan merupakan kumpulan objek-objek (benda). Objek-objek yang dimaksud di sini adalah elemen atau anggota himpunan tersebut CARA.
Pertemuan3.
PENGERTIAN HIMPUNAN Himpunan merupakan kumpulan objek-objek (benda). Objek-objek yang dimaksud di sini adalah elemen atau anggota himpunan tersebut CARA.
2. Mesin Turing (Bagian 2) IF5110 Teori Komputasi Oleh: Rinaldi Munir
PENGERTIAN HIMPUNAN Himpunan merupakan kumpulan objek-objek (benda). Objek-objek yang dimaksud di sini adalah elemen atau anggota himpunan tersebut CARA.
Pushdown Automata (PDA)
PENGERTIAN HIMPUNAN Himpunan merupakan kumpulan objek-objek (benda). Objek-objek yang dimaksud di sini adalah elemen atau anggota himpunan tersebut CARA.
Firrar Utdirartatmo:Teori Bahasa dan Otomata JJ Learning Yogyakarta,
MESIN TURING. TEST KOMPETENSI Ni nomor berapakah mobil ini parkir?
Transcript presentasi:

Pertemuan 1 Konsep dalam Teori Otomata dan Pembuktian Formal Teori Bahasa dan Otomata (KOM208) SKS: 3(3-0)

TIK, Subtopik dan Waktu Penyajian Tinjauan Instruksional Khusus: Mahasiswa mengetahui gambaran umum teori otomata dan akan dapat menjelaskan metode-metode pembuktian formal. Subtopik: Pengantar Finite Automata Representasi struktural Pembuktian Deduktif Pembuktian menggunakan teori himpunan, kontrapositif, kontradiksi dan counterexample. Pembuktian Induktif Alfabet, string dan bahasa Waktu penyajian: 2 x 150 menit

Pendahuluan Teori otomata adalah studi tentang peralatan atau “mesin” komputasi abstrak, yang dapat didefinisikan secara matematis. Tujuan utama adalah mendefinisikan: apa yang bisa dilakukan oleh komputer dan apa yang tidak bagaimana komputasi dilakukan Tipe paling sederhana dari mesin abstrak adalah finite automaton atau finite state machine. Prinsip yang mendasari mesin ini adalah sistem pada setiap saat dalam salah satu dari sejumlah state berhingga dan bergerak diantara state-state tersebut dalam merespon sinyal input individual.

Kenapa perlu TBO? Memberikan fondasi teori komputasi: Decidability/Computability What can a computer do at all? Tractability/Complexity What can a computer do efficiently? Konsep bahasa secara formal: Syntax Grammar Parsing

Manfaat/Aplikasi Teknik Parsing/Compiler Regular expression (regex) e.g., Searching/Information retrieval Pengenalan Bahasa Alami Simulasi komputasi (dengan automata)

Mathematical Background Set theory Relations and functions Recursive definitions Strings and languages Proofs 6

Sets Group of objects represented as a unit May contain any type of object: numbers, symbols, other sets,… Set membership:  Non-membership:  Subset:  Proper subset Empty set:  Infinite set contains infinitely many elements E.g., set of integers {…-2, -1, 0, 1, 2,…} 7

Sets Determine the union (), intersection (), difference (-), complement, and power set P(X) = 2X of any given sets.  Prove the equality of sets X and Y: show every element of X is an element of Y and vice versa (i.e., show that X  Y and Y  X to show X = Y.)  If X is a set, the notations |X| and card(X) both refer to the number of elements in X. 8

Cartesian Product and Relations Cartesian product builds a set consisting of ordered pairs of elements from two or more existing sets. X  Y = {[x, y] | x  X and y  Y} A binary relation on sets X and Y is a subset of X  Y. An n-ary relation on sets X1, X2, ..., Xn is a subset of X1  X2 ...  Xn   9

Functions A function from a set X to a set Y is a mapping of elements of X to elements of Y such that each element of X maps to exactly one element of Y. f : X  Y X is the domain of f. The range of f : X  Y is the set {y  Y | y = f (x) for some x  X}. A total function f from X to Y is a binary relation on X  Y such that For each x  X there is a y  Y such that [x, y]  f. If [x, y]  f and [x, z]  f, then y = z. 10

Total Functions f : X  Y is one-to-one if each element of X maps to a distinct element in the range. f : X  Y is onto if the range is the entire set Y. 11

Finite Automata (FA) merupakan model yang berguna untuk macam-macam perangkat keras dan perangkat lunak, diantaranya: Perangkat lunak untuk merancang dan menguji perilaku rangkaian digital. Lexical analyzer dari sebuah kompilator yang membagi teks input ke dalam unit-unit logik, seperti identifier, keyword dan pungtuasi. lexical analysis is the process of converting a sequence of characters into a sequence of tokens Lexical analyzer : A program or function that performs lexical analysis Perangkat lunak untuk men-scan teks berukuran besar, seperti koleksi web page, untuk menemukan adanya kata, frasa atau pola yang lain. Perangkat lunak untuk verifikasi sistem yang memiliki sejumlah berhingga state yang berbeda, seperti protokol-protokol komunikasi atau protokol untuk keamanan pertukaran data.

Contoh 1 Model FA Sederhana Model switch on/off mengingat apakah switch berada dalam state “on” atau state “off”. Model memungkinkan user untuk menekan tombol yang memiliki pengaruh berbeda tergantung pada keadaan switch: Jika switch berada dalam state “off” maka setelah tombol ditekan state berubah menjadi “on”. Jika switch berada dalam state “on” maka setelah tombol ditekan state berubah menjadi “off”.

Komponen dalam FA State dinyatakan oleh lingkaran, dalam Contoh 1 state diberi nama “on” dan “off”. Arc diantara state diberi label “input “ yang menyatakan pengaruh eksternal pada sistem. Dalam Contoh 1 kedua arc diberi label ‘push” yang menyatakan user menekan tombol tertentu. Start state atau initial state merupakan state dimana sistem berada dalam keadaan awal. Dalam Contoh 1 start state adalah off. Selanjutnya, start state ditunjukan oleh kata start dan panah menuju start state tersebut. Final atau accepting state. Dalam Contoh 1 state on dinyatakan sebagai final state. Selanjutnya, final State dinyatakan dalam lingkaran ganda.

Contoh 2 Model FA Sederhana FA untuk mengenali kata “then” dapat dinyatakan sebagai bagian dari lexical analyzer. Input dinyatakan oleh huruf. Start state merupakan string kosong Setiap state memiliki transisi pada huruf selanjutnya dari kata then ke state yang menyatakan prefix selanjutnya yang lebih besar. State “then” adalah accepting state.

Grammar Grammar seringkali digunakan dalam perancangan perangkat lunak yang memproses data dengan struktur rekursif. Grammar digunakan dalam salah satu komponen kompilator yaitu parser yang bekerja dengan struktur rekursif dari bahasa pemograman seperti operasi aritmatika, dan kondisional. Sebagai contoh aturan gramatikal E  E + E menyatakan bahwa ekspresi dapat dibentuk dari dua ekspresi yang dihubungkan dengan tanda +.

[A – Z][a – z]*[ ] [A – Z] [A – Z] Ekspresi regular (1) Ekspresi regular menyatakan struktur dari data, khususnya string teks. Contoh: [A – Z][a – z]*[ ] [A – Z] [A – Z] menyatakan kata-kata yang diawali huruf kapital yang diikuti oleh spasi dan 2 huruf kapital. Ekspresi tersebut mengenali/menerima kata-kata, diantaranya Ithaca NY, It NY, I NY Ekspresi tersebut tidak menerima kata-kata berikut ITHACA NY, Ithaca, ithaca NY, Ithaca ny, Ithaca23 NY, Ithaca 1Y, Palo Alto CA

([A – Z][a – z]*[ ])*[ ] [A – Z] [A – Z] Ekspresi Regular (2) Perhatikan ekspresi berikut ([A – Z][a – z]*[ ])*[ ] [A – Z] [A – Z] Ekspresi tersebut menerima kata-kata, diantaranya Palo Alto CA, Ithaca NY, I Thaca NY, Palo A CA Ekspresi tersebut tidak menerima kata-kata: Palo Alto, palo Alto CA, Palo AltoCA

Ekspresi Regular (3) Dalam kedua ekspresi yang diberikan, [A – Z] menyatakan range karakter dari huruf kapital “A” ke “Z” [ ] menyatakan karakter blank simbol * menyatakan “sejumlah” ekspresi yang mendahului Tanda kurung digunakan untuk mengelompokkan komponen-komponen dari ekspresi. Tanda kurung tidak menyatakan karakter dalam teks.

Pembuktian Deduktif (1) Pembuktian deduktif terdiri dari serangkaian pernyataan yang memiliki kebenaran. Pembuktian tersebut berawal dari pernyataan awal yang dinamakan hipotesis (H) menuju penyataan kesimpulan (C). Setiap langkah dalam pembuktian merupakan Prinsip logika yang diterima Fakta yang diberikan Pernyataan sebelumnya dalam pembuktian deduktif Kombinasi dari ketiga bentuk tersebut.

Pembuktian Deduktif (1) Hipotesa dapat bernilai benar atau salah, khususnya tergantung pada nilai parameternya. Biasanya hipotesa terdiri dari beberapa pernyataan yang independen yang dihubungkan oleh operator logika AND. Teorema yang dibuktikan dari hipotesa H untuk kesimpulan C ditulis dalam pernyataan IF H THEN C. Contoh 3: pernyataan berikut dapat dibuktikan benar: Jika x  4 maka 2x  x2

Contoh 4 Buktikan bahwa teorema berikut benar Jika x adalah penjumlahan dari kuadrat dari empat integer positif, maka 2x  x2 Bukti: Langkah Pernyataan Justifikasi 1 x = a2 + b2 + c2 + d2 Diberikan 2 a 1, b 1, c 1, d 1 3 a2 1, b2 1, c2 1, d2 1 (2) dan sifat aritmatika 4 x  4 (1), (3) dan sifat aritmatika 5 2x  x2 Pernyataan dalam Contoh 1.3

Pembuktian Deduktif (2) Dalam pembuktian pada Contoh 3 dan 4, digunakan aturan logika modus ponens, yaitu jika diketahui H benar dan diketahui kita simpulkan bahwa C benar “IF H benar THEN C benar” Bentuk “IF H THEN C” dalam teorema sering kali dinyatakan dalam bentuk lain seperti H implies C, H only IF C, C IF H Notasi lain untuk “IF H THEN C” adalah H  C.

Pembuktian Deduktif (3) Bentuk lain yang sering dijumpai adalah “A IF and only IF B”. Bentuk lain dari pernyataan ini adalah “A IFF B” A ekuivalen dengan B Bentuk “A IFF B” terdiri dari dua pernyataan IF: “IF A then B” and “IF B then A”. Untuk membuktikan pernyataan tersebut benar, kita harus membuktikan 2 pernyataan berikut: “IF B then A” dan “IF A then B”

Daftar Pustaka John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. 2001. Introduction to Automata Theory, Languange, and Computation. Edisi ke-2. Addison-Wesley.