Pendahuluan. CSG3D3 Teori Komputasi

dokumen-dokumen yang mirip
RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER (RPS)

Grammar dan Tingkat Bahasa

Non-Deterministic Finite Automata

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

Deterministic Finite Automata

UNIVERSITAS GADJAH MADA FMIPA/DIKE/ILMU KOMPUTER Gedung SIC Lantai 1, Sekip, Bulaksumur, 55281, Yogyakarta

Minimum DFA. CSG3D3 Teori Komputasi

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

FTIK / PRODI TEKNIK INFORMATIKA

Operasi FA dan Regular Expression

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

PENGANTAR OTOMATA DAN KOMPILASI

Teori Bahasa & Otomata

LEMBAR PENGESAHAN PROSEDUR PELAKSANAAN KULIAH

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

TEORI BAHASA DAN OTOMATA PENGANTAR

BAHASA BEBAS KONTEKS UNTUK KOMPLEMEN DARI STRING BERULANG CONTEXT FREE LANGUAGE FOR COMPLEMENT OF REPEATED STRING

Teori Bahasa & Otomata

Ulang Kaji Konsep Matematika

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

RENCANA PEMBELAJARAN SEMESTER

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) Mata Kuliah Teori Bahasa Dan Otomata IF1402

Kode MK/ Nama MK. Cakupan 8/29/2014. Himpunan. Relasi dan fungsi Kombinatorial. Teori graf. Pohon (Tree) dan pewarnaan graf. Matematika Diskrit

PENDAHULUAN. 1. Himpunan

Teori Bahasa Formal dan Automata

Teori Matematika Terkait dengan TBO

HAND OUT ANALISIS REAL 1 (MT403) KOSIM RUKMANA

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

Lecture Notes Teori Bahasa dan Automata

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Himpunan, Dan Fungsi. Ira Prasetyaningrum,M.T

SATUAN ACARA PERKULIAHAN (SAP)

Materi Kuliah Matematika Komputasi FUNGSI

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

PENGANTAR MATEMATIKA DISKRIT DAN HIMPUNAN PERTEMUAN I

TEKNIK KOMPILASI Konsep & Notasi Bahasa

RENCANA PEMBELAJARAN SEMESTER (Kelas Teori)

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

PENDEKATAN TEORI AUTOMATA UNTUK MENYELESAIKAN APLIKASI-APLIKASI DI BIDANG ILMU KECERDASAN BUATAN

FUNGSI KOMPOSISI DAN FUNGSI INVERS

TEORI BAHASA DAN AUTOMATA

BAB I TEORI BAHASA DAN AUTOMATA

TEKNIK KOMPILASI Bahasa Regular

BAB 1 OPERASI PADA HIMPUNAN BAHAN AJAR STRUKTUR ALJABAR, BY FADLI

Teori Bahasa Formal dan Automata

Pengenalan Konsep Bahasa dan

BAB 3 FUNGSI. f : x y

Himpunan. Nur Hasanah, M.Cs

Mendeskripsikan Himpunan

Aturan Penilaian & Grade Penilaian. Deskripsi. Matematika Diskrit 9/7/2011

Matematika

BAB 1. PENDAHULUAN. Bab ini akan membahas sekilas mengenai konsep-konsep yang berkaitan dengan himpunan dan fungsi.

Modul ke: Penyajian Himpunan. operasi-operasi dasar himpunan. Sediyanto, ST. MM. 01Fakultas FASILKOM. Program Studi Teknik Informatika

1 P E N D A H U L U A N

FINITE STATE MACHINE / AUTOMATA

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

Teori Bahasa Formal dan Automata

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

HIMPUNAN Adri Priadana ilkomadri.com

Teori Bahasa Formal dan Automata

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

I. Aljabar Himpunan Handout Analisis Riil I (PAM 351)

Logika Matematika Modul ke: Himpunan

Bahan kuliah IF2120 Matematika Diskrit. Himpunan. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB 1

Himpunan (set) Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Himpunan. Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Pendahuluan Perkuliahan Matematika Diskret

Himpunan. by Ira Prasetyaningrum. Page 1

RENCANA PEMBELAJARAN SEMESTER (RPS)

TEORI BAHASA DAN AUTOMATA

Bahan kuliah IF2120 Matematika Diskrit. Himpunan. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB 1

Lecture Notes Teori Bahasa dan Automata

Himpunan (set) Himpunan (set) adalah kumpulan objekobjek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

BAB I H I M P U N A N

Teori Bahasa Formal dan Automata

HIMPUNAN Adri Priadana ilkomadri.com

RENCANA PEMBELAJARAN SEMESTER (Kelas Teori)

MATEMATIKA DASAR PENDIDIKAN BIOLOGI UPI 0LEH: UPI 0716

Mendeskripsikan Himpunan

Himpunan (set) Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Wahyu Hidayat, S.Pd., M.Pd.

Matematika Komputasional. Himpunan. Oleh: M. Ali Fauzi PTIIK - UB

KOMPUTASI PEMROGRAMAN

HIMPUNAN MATEMATIKA. Program Studi Agroteknologi Universitas Gunadarma

TEORI BAHASA & AUTOMATA

Pengantar Matematika. Diskrit. Bahan Kuliah IF2091 Struktur Diksrit RINALDI MUNIR INSTITUT TEKNOLOGI BANDUNG

DAN FIRRAR UTDIRARTATMO

RENCANA PEMBELAJARAN SEMESTER (RPS)

Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

RELASI DAN FUNGSI. Nur Hasanah, M.Cs

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

Definisi. Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan disebut elemen, unsur, atau anggota.

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

TEORI BAHASA DAN AUTOMATA

Transkripsi:

CSG3D3 Teori Komputasi Pendahuluan Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing, and Multimedia

Pertemuan 1 Perkenalan

Dosen Pengampu dan Kelas Nama : Mahmud Dwi Sulistiyo Kode : MDS NIP : 13881141-1 Ruangan : Lecture Room (E105) E-mail : mahmuddwis@gmail.com, mahmuddwis@telkomuniversity.ac.id Kelas : IF-37-GAB Wakil Kelas : Geriska Kontak : geriska.isabelle@gmail.com

Identitas Mata Kuliah Nama Mata Kuliah Kode Mata Kuliah : Teori Komputasi : CSG3D3 SKS : 3 Jenis : MK Wajib Jam pelaksanaan : Tatap muka di kelas = 3 jam per minggu Tutorial / responsi = 1 jam per minggu Semester / Tingkat Pre-requisite : 5 (lima) / 3 (tiga) : Teori Himpunan, Matematika Diskrit Co-requisite : - Bidang Kajian : Algorithm

Buku Referensi Brookshear, Glen J., Theory of Computation : Formal Language, Automata and Complexity, The Benjamin/Cummings Publishing Company, 1989 Revesz, Gyorgy E., Introduction to Formal Languages, McGraw Hill Book Company, 1985 Hopcroft, Jhon E., and Jeffery D. Ullman, Introduction to Automata Theory, Language, and Computation Linz Peter, An Introduction to Formal Languages and Automata 5th Edition, Jones & Bartlett Publishers, ISBN: 144961552X, 9781449615529, 2011 Utdirartatmo, Firrar, Teknik Kompilasi, J&J Learning Yogyakarta, ISBN: 979-9398- 11-8, 2001 Hariyanto, Bambang, Teori Bahasa, Otomata dan Komputasi serta Terapannya Sipser, M, Introduction to the Theory of Computation, Cengage Learning, 2012

Bahan Kajian [1] Sebelum UTS (minggu 1 s.d. 7) Pendahuluan; Teori Himpunan Grammar dan Tingkat Bahasa; Regular Grammar Finite Automata (FA); Diagram dan Tabel Transisi Deterministic Finite Automata (DFA) Non-Deterministic Finite Automata (NDFA) NDFA dengan ε-move Minimum DFA Operasi FA dan Regular Expression; FA vs. RG Mesin Mealy dan Moore [pengayaan]

Bahan Kajian [2] Setelah UTS (minggu 8 s.d. 14) Pushdown Automata (PDA) Context Free Grammar (CFG) PDA vs CFG Chomsky Normal Form (CNF) Deterministic PDA dan LL Parser Pumping Lemma [pengayaan] Turing Machine Combining Turing Machines Basic Building Block

Komponen Penilaian Tugas Harian dan Kuis : 15% Tugas Besar : 20% Ujian Tengah Semester : 35% Ujian Akhir Semester : 30%

Penentuan Indeks Nilai [1] Penilaian Acuan Kriteria (PAK) A : Nilai Akhir > 80 AB : 70 < Nilai Akhir <= 80 B : 65 < Nilai Akhir <= 70 BC : 60 < Nilai Akhir <= 65 C : 50 < Nilai Akhir <= 60 D : 40 < Nilai Akhir <= 50 E : Nilai Akhir <= 40

Penentuan Indeks Nilai [2] Penilaian Acuan Normal (PAN) A : Nilai Akhir > µ + 1.2 σ AB : µ + σ <= Nilai Akhir < µ + 1.5 σ B : µ <= Nilai Akhir < µ + σ BC : µ - σ <= Nilai Akhir < µ C : µ - 1.5 σ <= Nilai Akhir < µ - σ D : µ - 2 σ <= Nilai Akhir < µ - 1.5 σ E : Nilai Akhir < µ - 2 σ µ : rataan nilai-nilai mahasiswa kelas dengan Nilai Akhir > 40 σ : simpangan baku nilai-nilai kelas dengan Nilai Akhir > 40

Tugas Besar Tugas besar dibagi menjadi 2 tahap: Tahap 1: Membuat Lexical Analyzer untuk studi kasus tertentu Menyangkut materi Regular Grammar dan Finite Automata Deskripsi dan detail tugas besar tahap 1 menyusul Ditargetkan selesai sebelum UTS Tahap 2: Membuat Parser, merupakan kelanjutan dari tahap 1 Menyangkut materi Context Free Grammar dan Pushdown Automata Deskripsi dan detail tugas besar tahap 2 menyusul Ditargetkan selesai sebelum UAS

Saran Baca text book atau buku-buku referensi sebelum dan/atau setelah perkuliahan Hadir di setiap perkuliahan dan aktif berdiskusi Kerjakan setiap tugas yang diberikan secepatnya Jika ada pertanyaan, diskusikanlah dengan dosen ataupun teman (di kelas, di ruangan, atau melalui email) Communication & Feedback Kirim feedback via email di akhir UTS dan UAS Feedback berguna memperbaiki perkuliahan The success of this course is not how much I teach, but how much you learn

Aturan Tambahan MDS Segala bentuk komunikasi formal kita dilakukan melalui email. Segala bentuk tindakan plagiarisme, seperti mencontek dan menggunakan karya orang lain, mendapatkan sanksi maksimal nilai E untuk semua MK yang diambil di semester ini. Masuk perkuliahan di kelas harus mengenakan seragam/pakaian yang sesuai aturan institusi, jika tidak dilaksanakan akan mendapatkan sanksi (misal tidak boleh ikut kuliah). Aturan keterlambatan: Dosen: maksimal 30 menit dari jadwal semula JIKA tidak ada kabar Mahasiswa: bebas, tidak ada batasan keterlambatan Hal-hal yang membuat pengurangan pada penilaian mahasiswa: Terpergok merokok di lingkungan kampus Terlibat kegiatan-kegiatan yang dapat merusak moral pelajar, seperti ikut dugem, tawuran, dan kegiatan sejenisnya

Pertemuan 1 Motivation

Motivation Theory of computation teaches you about the elementary ways in which a computer can be made to think. What is a computer? What can a computer do?

What can a computer do?

What s the benefit? Dalam bidang Natural Language Processing: pembuatan Finite State machines (Finite State Automata) State machines juga digunakan dalam bidang matematika seperti Number theory Regular expressions dapat digambarkan menggunakan Nondeterministic Finite Automata Beragam algorithma dapat dinyatakan dalam bentuk finite state machine. Contoh: topological sort. Setiap tahapan topological sort mewakili satu state automata.

People are so overwhelmed by the wonders of the technology but they fail to wonder about the theory underlying it.

Stil Unsure? Sipser (2012) Theory is good for you because studying it expands your mind. Computer technology changes quickly. Specific technical knowledge, though useful today, becomes outdated in just a few years. Consider, instead, the abilities: to think, to express yourself clearly and precisely, to solve problems, and to know when you have not solved a problem. These abilities have lasting values. Theory trains you in these areas.

Pertemuan 1 Pengantar Teori Komputasi

Tiga Area Teori Komputasi Referensi: Sipser, M. (2012). Introduction to the Theory of Computation. Cengage Learning. Apa kemampuan dasar dan keterbatasan komputer?

Complexity Apa yang membedakan suatu masalah sulit sedangkan yang lainnya mudah dalam hal komputasi? Riset tentang complexity > 40 tahun. Achievement? Klasifikasi masalah berdasarkan kesulitan komputasinya. Mudah sorting problem Sulit scheduling problem Salah satu penerapan : cryptography

Computability Sampai pertengahan abad ke-20, ahli matematika seperti Kurt Godel, Alan Turing, dan Alonzo Church menemukan fakta bahwa beberapa masalah dasar tertentu tidak dapat dipecahkan oleh komputer. Contoh: bagaimana komputer dapat menentukan apakah suatu pernyataan matematika adalah true atau false. Salah satu konsekuensinya, pengembangan ide tentang model teoritis komputer yang membantu konstruksi komputer seperti yang kita gunakan sekarang. Dalam complexity theory, tujuannya adalah mengklasifikasikan permasalahan sebagai masalah yang mudah (easy) atau sulit (hard). Dalam computability theory, klasifikasi permasalahan berdasarkan pada dapat dipecahkan (solvable) atau tidaknya suatu permasalahan tersebut. Beberapa konsep dalam computability digunakan dalam complexity theory.

Automata Automata theory berkaitan dengan definisi dan properti dari model-model matematika komputasi. Model pertama disebut finite automaton, yang dapat digunakan dalam text processing, compilers, dan hardware design. Adapun model lainnya disebut context-free grammar, yang digunakan dalam bahasa pemrograman dan artificial intelligence. Teori computability dan complexity memerlukan definisi yang tepat mengenai komputer.

Pertemuan 1 Teori Himpunan

Set/Himpunan [1] Set/Himpunan: sekumpulan objek/elemen/member Contoh: A = {0,1}; B = {a, b, c} Infinite set: himpunan dengan jumlah anggota yang tak terbatas Contoh: N = natural numbers = {1,2,3, } Z = integers = {,-2,-1,0,1,2, } Empty set (himpunan kosong) dinotasikan dengan atau {}

Set/Himpunan [2] Union dari himpunan A dan B dinotasikan dengan A B adalah kumpulan dari semua elemen yang ada di A atau di B Intersection dari himpunan A dan B dinotasikan dengan A B adalah kumpulan elemen yang menjadi anggota A dan juga B sekaligus Complement A dinotasikan Ā adalah semua objek yang berada di dalam pembicaraan yang bukan menjadi anggota himpunan A

Set/Himpunan [3] Kita menggunakan tanda minus ( ) untuk menyatakan subtraction Sebagai contoh, {a, b, c} {a, c} = {b} {a, b} {d, e} = {a, b} A B juga bisa kita sebut sebagai komplemen B relatif terhadap A Lihat bahwa A - Ā adalah A

Set/Himpunan [4] A adalah subset dari B dinotasikan dengan A B, terjadi jika semua elemen A menjadi anggota himpunan B A adalah proper subset dari B jika A B dan B A {} Semua proper subset adalah subset, tetapi tidak semua subset adalah proper subset Empty set (himpunan kosong) merupakan subset dari himpunan manapun A adalah equal B jika dan hanya jika berlaku hubungan A B dan B A

Set/Himpunan [5] Power set dari A adalah himpunan semua subsets dari A Notasi power set dari A p(a) Misal, A = {0,1} Power set dari A = p(a) = {, {0}, {1}, {0,1}} Kardinalitas dari sebuah himpunan adalah jumlah elemen/anggota dari sebuah himpunan tersebut. Notasi kardinalitas dari himpunan A A Kardinalitas dari power set himpunan A Dihitung dengan cara: p(a) = 2 A Contoh: jika A = {0,1} p(a) = 2 2 = 4

Sequence dan Tuple [1] Suatu sequence dari objek adalah daftar dari objek dalam urutan tertentu. Contoh: (7, 21, 57); (4, 1) Tuple adalah sequence dengan jumlah anggota terbatas Contoh: k-tuple 3-tuple (7, 21, 57) 2-tuple (7, 21) pair

Sequence dan Tuple [2] Cartesian product atau cross product dari A dan B, dinotasikan dengan A x B, adalah semua pair terurut dalam (a, b), di mana a Є A dan b Є B Contoh: A = {1,2} and B = {a,b,c} A x B = {(1,a),(1,b),(1,c),(2,a),(2,b),(2,c)} B x A =? Apakah A x B = B x A???

Fungsi dan Relasi [1] Sebuah fungsi akan menerima input dan selalu menghasilkan sebuah nilai output. Komponen fungsi: Domain: daerah asal himpunan input yang diperbolehkan untuk suatu fungsi Kodomain: daerah kawan himpunan yang merupakan kemungkinan output sebuah fungsi Range: daerah hasil himpunan output hasil dari suatu fungsi Fungsi disebut juga dengan pemetaan/mapping, di mana sebuah fungsi akan memetakan domain ke kodomain, dengan hasilnya adalah range. f : A B artinya f adalah fungsi dengan domain A, kodomain B, sehingga f(a) merupakan range dari fungsi f. Contohnya, abs : Z Z

Fungsi dan Relasi [2] Diberikan fungsi f : A B Fungsi f disebut fungsi pada atau surjektif atau onto jika dan hanya jika untuk sembarang b B terdapat paling tidak satu a dalam domain A sehingga berlaku f(a) = b. Dengan kata lain, pada suatu fungsi surjektif, kodomain sama dengan range-nya (f(a) = B). Setiap anggota himpunan A mempunyai 1 kawan di B.

Fungsi dan Relasi [3] Diberikan fungsi f : A B Fungsi f disebut fungsi satu-satu atau injektif atau into jika dan hanya jika untuk sembarang a 1 dan a 2 A dengan a 1 a 2 berlaku f(a 1 ) f(a 2 ). Dengan kata lain, bila a 1 = a 2 maka f(a 1 ) = f(a 2 ). Setiap anggota himpunan A memiliki 1 kawan di B yang tunggal (hanya punya 1 pasangan dari A).

Fungsi dan Relasi [4] Diberikan fungsi f : A B Fungsi f disebut fungsi bijektif atau korespondensi 1-1 jika dan hanya jika untuk sembarang b B terdapat tepat satu a A sehingga f(a) = b, dan tidak ada anggota A yang tidak terpetakan dalam B. Dengan kata lain, fungsi bijektif adalah fungsi injektif dan sekaligus merupakan surjektif. Setiap anggota himpunan B mempunyai tepat satu kawan di A.

Graph [1] Sebuah graph adalah sekumpulan point/node dengan garisgaris yang menghubungkan antar node tersebut. 1 2 4 3 Definisi G = (V,E), V: kumpulan node, E: kumpulan garis G = ({1,2,3,4}, {(1,2),(1,4),(1,3),(2,4),(3,4)})

Graph [2] G dan G 1 2 4 3 Derajat dari node: derajat dari suatu node dihitung dari jumlah busur yang terhubung dengan node itu. Contohnya, derajat node 1 adalah 3. Subgraph: G = ({1,2,4}, {(1,2), (1,4), (2,4)}) Jalur/Path: rangkaian node yang terhubung oleh busur. Contohnya, (2,4,3) Sirkuit/Circle: jalur dengan start dan end node sama. Contohnya, (1,2,4,1)

Graph [3] 1 2 3 4 Tree: graph terhubung dengan tidak ada circle/sirkuit Tree terdiri dari Root (akar), dan leave (daun)

Graph [4] 1 2 4 3 Graph Berarah: graph yang dihubungkan dengan busur berarah (bukan sekedar garis)

Pertemuan 1 Latihan

Latihan 1 Jika kita memiliki himpunan A = {1, 2, z}, maka powerset dari A adalah... Sedangkan powerset dari B = {} adalah... Berapa kardinalitas dari kedua powerset itu?

Latihan 2 Jika kita memiliki himpunan X = {x : x Є N (natural) dan x adalah bilangan ganjil}, Y = {y : y Є N (natural) dan y adalah bilangan prima}, serta Z = {z : z Є N (natural), dan z adalah bilangan kelipatan 3}, maka notasikan/deskripsikan hasil himpunan dari operasi berikut. a. X Y adalah : b. Y Z adalah : c. (Y Z) X adalah : d. X Y adalah :

Latihan 3 Jika A dan B adalah himpunan dari semesta S, maka manakah pernyataan berikut yang selalu benar? a. A union B akan menghasilkan S b. B intersection A akan menghasilkan suatu himpunan dengan kardinalitas selalu lebih besar dari 1 c. A complement adalah semua anggota S yang tidak menjadi anggota A d. S A adalah B e. Tidak ada jawaban yang benar

Latihan 4 Termasuk fungsi apakah di bawah ini?

Tugas Membaca Reverensi : Buku 1 Theory of Computation Chapter 0 : Introduction (review & next lecture) Chapter 1.1 : Finite Automata (next lecture)