4. Undecidabality(Bagian1)

Ukuran: px
Mulai penontonan dengan halaman:

Download "4. Undecidabality(Bagian1)"

Transkripsi

1 IF5110 Teori Komputasi 4. Undecidabality(Bagian1) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1

2 MaknaUndecidabality Persoalan keputusan(decision problem): persoalan yang jawabannya hanya salah satu dari dua: ya (yes) atau tidak (no), atau ekivalen dengan1 atau0 (trueataufalse). Contoh: Diberikan masukan sebuah bilangan bulat n. Apakah n bilangan prima? Jawabanya: ya(jika n prima) atau tidak(jika n bukan prima) Persoalankeputusan(problem) yang tidakdapatdiselesaikan(solved) olehkomputerdisebutundecidable. undecidable tidak dapat diputuskan jawabannya ya atau tidak. Sebaliknya persoalan keputusan disebuat decidable jika terdapat algoritma yang apabila diberikan instansiasi(instance) persoalan tersebut maka akan memberikan jawaban ya atau tidak. 2

3 Contoh: diberikanprogram Hello World yang diperkenalkanolehbrian Cernighanberikutini. main() { printf( Hello, world!\n ); } Tetapiinibukansatu-satunyaprogram Hello World. Adabanyakprogram lain yang jugamencetak Hello world! seperti di bawah ini: 3

4 main() { int X; scanf( %d, &X); while (X!= 1) { if (X % 2 == 0) /* X genap */ X = X / 2 else X = 3*X + 1; } if (X == 1) printf( Hello, world!\n ); } Apakah program mencetak Hello, world! untuk semua nilai X? 4

5 -Program menerima input n - Lalu mencari solusi integer dari persamaanx n + y n = z n. - Jika ditemukan, maka cetak Hello, world! -Jika tidak pernah menemukan x, y, danzyang memenuhi, iaakan terus looping dan tidak pernah mencetak Hello, world! - Untuk n = 2, solusinyaadayaitux= 3, y= 4, danz= 5. - Jadiuntukn= 2 program mencetak Hello, world! - Tetapiuntukn> 2 program tidakpernahmenemukan x, y, dan z yang memenuhi, sehingga gagal mencetak Hello, world! 5

6 Apakah ketiga program Hello world di atas selalu mencetak string Hello, world! untuksetiapinputyang diberikan? PersoalanHello-world (Hello-world-problem): Diberikansebuahprogram PbesertamasukanI (jikaada). Tentukanapakahprogram Pmencetakstring Hello, world! sebagai luarannya? decision problem Jawaban: ya, jika P mencetak Hello, world! tidak, jikaptidakmencetak Hello, world! Akan dibuktikan bahwa tidak ada algoritma untuk memecahkan persoalan Hello-world. 6

7 Hello-world Tester Untuk membuktikan bahwa tidak ada algoritma untuk memecahkan persoalan Hello-world, kita mengasumsikan terdapatprogram HsebagaiHello-world tester. Hello-world tester memeriksa apakah program P beserta data masukan I mencetak string Hello, world!. Misalkan program tester tersebut adalah H. Program H menerima masukan berupa P dan I, dan memberikan luaran berupa string ya atau tidak. P I H ya tidak Gambar 1. Program hipotetik H sebagai Hello-world tester 7

8 JikasebuahpersoalanmemilikialgoritmapenyelesaiansepertiH, maka algoritma tersebut selalu dengan tepat memberikan jawaban ya atau tidak apapun instansiasi persoalan yang diberikan. Jika demikianmakakitakatakanpersoalantersebutdecidable. Sebaliknyadisebutundecidable. Akan dibuktikan bahwa H untuk persoalan Hello-world tidak pernah ada, yaitupersoalanhello-world adalahundecidable. PembuktianbahwaHtidakadadilakukandengancara kontradiksi, yaitumengasumsikanpersoalanhello-worldadalahdecidable. Kontradiksi dilakukan dengan membuat modifikasi pada H. Modifikasi itu mudah dilakukan, karena jika H ditulis dalam Bahasa C maka modifikasinyahanyadenganmengubahstatementdidalamprogram H. 8

9 Asumsikan bahwa H ada. Sekarang, modifikasihmenjadih 1 yang memilikiperilaku sepertih, tetapih 1 tidakmencetakstring tidak sebagai luarannya, melainkanmencetak Hello, world!. P ya I H 1 Hello, world! Gambar2.H 1 berlakusepertih, tetapih 1 mencetak Hello, world! ketika Hmencetak tidak 9

10 Selanjutnya, modifikasih 1 menjadih 2. -H 2 hanyamenerimasatumasukanyaitu P. -H 2 memilikiperilakusepertih 1 tetapibaikprogram dandata masukannyakeduanyasamadenganp. Dengankatalain, H 2 (P) = H 1 (P, P) ya P H 2 Hello, world! Gambar3.H 2 berlakusepertih 1, tetapi masukannyaadalahp sebagaip sekaligus I 10

11 UntukmemodifikasiH 1 menjadih 2, caranyaadalahsebagai berikut: 1. H 2 mula-mulamembacaseluruhkodeprogram Pdan menyimpannyadidalamlarik(array) A. 2. H 2 kemudianmensimulasikanh 1, tetapiketikah 1 akan membaca input dari P(yaitu I), maka langkahnya diganti dengan membaca string yang sebelumnya disimpan di dalamlarika. PerhatikanGambar3, bahwah 2, biladiberikanprogram P sebagai masukannya, akan menghasilkan luaran ya jika P mencetak Hello, world! bila masukannya adalah string dirinya sendiri. Selainitu, H 2 akanmencetak Hello, world jikap(yang menerimamasukandirinyasendiri) tidak mencetak Hello, world! sebagailuarannya. 11

12 AkanditunjukkanbahwaH 2 tidakada, akibatnyah 1 tidakada, dankesimpulannyah jugatidakada. Kunci pembuktiannya adalah dengan membayangkan apa yang dilakukanh 2 jikamasukanyang diberikanadalahdirinya sendiri(gambar 4). Dengankatalain, apayang dilakukanolehh 2 (H 2 )? ya H 2 H 2 Hello, world! Gambar4. Apa yang dilakukanh 2 bilamenerimamasukanadalahdirinyasendiri? 12

13 1) JikaH 2 (H 2 ) = ya makaapabilah 2 diberikanh 2 sebagaidata masukannya maka ia tidak mencetak Hello, world!. Namun, H 2 (H 2 ) = H 1 (H 2,H 2 ) = H(H 2,H 2 ), danhmencetak ya jikadan hanyajikamasukanpertamanya, yaituh 2 (yang menerimamasukan kedua sebagai data), mencetak Hello, world!. Jadi, H 2 (H 2 ) = ya mengimplikasikanh 2 (H 2 ) = Hello, world! 2) Tetapi, jikah 2 (H 2 ) = Hello, world!, makah 1 (H 2,H 2 ) = Hello, world! danh(h 2,H 2 ) = tidak. (maksudnya, Hmencetak tidak jikadan hanyajikamasukanpertamanya, yaituh 2(yang menerimamasukan kedua sebagai data), tidak mencetak Hello, word! (berarti mencetak ya ) Jadi, H 2 (H 2 ) = Hello, world! mengimplikasikanh 2 (H 2 ) = ya Keduasituasiiniparadoks, sehinggadisimpulkanh 2 tidakada, akibatnyah 1 tidakada, dankesimpulannya Hjugatidakada. Dengan kata lain, tidak ada algoritma untuk menentukan apakah program P dengan masukan I mencetak Hello, world! sebagai luarannya. Persoalan Hello-world adalah undecidable. 13

14 Bahasavs. Persoalan Ingatlah kembali bahwa bahasa adalah himpunan string Bahasa(padaalfabetA) adalahhimpunanbagiandaria *. Sebuah instans persoalan(problem) dapat diekspresikan sebagai himpunan string <input,output>. Misalnya, persoalan penjumlahan(a+b) ekivalen dengan himpunan string yang berbentuk{a1b11a+b}. Integer a dan b dinyatakan sebagai0 a dan0 b, sedangkana+bdinyatakansebagai0 a+b Contoh: { , } Penjelasan: artinya apakah = 5? Jawaban untuk persoalan ini adalah YA atau TIDAK Himpunan string-string tersebut membentuk bahasa pada alfabet biner Jadi, setiap persoalan berkoresponden dengan bahasa. 14

15 Contoh lain: persoalan hello-world(yang dibahas pada bagian awal kuliah) dapat direpresentasikan sebagai string yang terdiri dari kode program hello-world (dalam Bahasa C) diikuti dengan satu atau lebih masukan(jika ada). Himpunan string tersebut membentuk bahasa pada alfabet yang tediri dari karakter-karakter ASCII. {main(){printf( Hello, world!\n );}## Hello,world!} Instanspersoalandiatasdibaca: apakahkode-kodeprogram C tersebut memberikan luaran Hello,world! sebagai luaran pertamanya? Jawaban untuk persoalan ini adalah YA atau TIDAK. 15

16 DuaTipeMesinTuring Terdapat dua tipe Mesin Turing (MT) didasarkan pada apakah ia berhenti atau tidak setelah diberikan input string: 1. MesinTuring yang selaluberhentiuntuksetiapinputstring yang diberikan, tanpa memperhatikan apakah ia menerima (accept) atau tidak menerima string tersebut. Persoalan yang diselesaikan oleh mesin Turing tipe ini disebut decidable problems. Dengan kata lain, sebuah persoalan disebut dedicable jika mesinturing dapatmemecahkan(solveataudecide) ) persoalan tersebut Mesin Turing dalam hal dapat disebut sebagai sebuah algoritma. Bahasa yang diterima oleh mesin Turing tipe ini disebut bahasa rekursif(recursive language) 16

17 Mesin Turing tipe ini memberikan jawaban YA (accept) atau TIDAK (reject) untuksetiapinstanspersoalan. Instans persoalan Mesin Turing YA TIDAK if jawaban persoalan adalah YA maka berhenti pada status ya if jawaban persoalan adalah TIDAK makaberhentipadastatus TIDAK 17

18 Status YA Status TIDAK Status YA dan status TIDAK adalah status berhenti(final state) 18

19 Contoh decidable problem: Apakah jawaban persoalan di bawah ini, YA atau TIDAK? Apakah mesin M memiliki tiga status? Apakah string w adalah bilangan biner? Apakah sebuah DFA M menerima sembarang masukan string? 19

20 2. Mesin Turing yang hanya berhenti jika ia menerima string yang diberikan(dinyatakan oleh status akhir). Jika mesin tidak menerima, maka ia tidak akan berhenti(infinite loop) Jadi, kita tidak pernah yakin apakah string tersebut diterimaatauditolak. Bahasa yang diterima oleh mesin Turing tipe ini disebut bahasa yang dapat dienumerasi secara rekursif (recursively enumerable language) Mesin Turing tipe ini sering diacu sebagai prosedur 20

21 Recursive Languages vs. Recursively Enumerable (RE) Languages Sebuahbahasaformal disebutbahasarekursif(recursive lanauage) jika terdapat mesin Turing yang selalu berhenti untuksetiapinput stringyang diberikan. Sembarang mesin Turing M untuk bahasa rekursif akan terlihatsepertiini: 21

22 Sebuahbahasaformal disebutbahasarecursively enumerable (RE) jika terdapat mesin Turing yang hanya berhenti jika jika menerima(accept) input stringyang diberikan. Sembarang mesin Turing M untuk bahasa RE akan terlihat sepertiini: 22

23 Istilah rekursif sinonimdengandecidable. Di dalam pemrograman atau matematika, sebuah fungsi rekursif akan pasti berhenti. Jadi, sebuah persoalan disebut rekursif jika kita dapat membuat fungsi rekursif untuk memecahkannya, dan fungsi rekursif tersebut selaluberhenti. Istilah recursively enumerable memiliki makna yang serupa dengan di atas. Sebuah fungsi yang dapat mendaftarkan semua stringdarisebuahbahasadisebutfungsiyang mengenumerasi bahasatersebut. Bahasa yang anggota-anggotanya didaftarkan dalam suatu urutan tertentusamadenganbahasayang diterimaolehmesinturing, meskipunmesinturing mungkinakan infinite loop padainput string yang tidakiaterima. 23

24 DefinisiFormal Definisi. Misalkan adalahalfabetdanl * adalah sebuah bahasa. Kita katakan bahasa L adalah rekursif jika L = L(M) untuk mesin Turing M sedemikian sehingga untuk setiap w * berlaku kondisi berikut: 1.Jikaw L, makakomputasimesinturing Mterhadap input string wberhentipadastatus diterima(accept status). 2.Jikaw L, makakomputasimesinturing Mterhadap input string wberhentipadastatus ditolak(reject status). Keterangan: L = L(M) artinya bahasa yang diterima oleh mesin Turing M 24

25 Mesin Turing M yang bertipe ini dapat dianggap sebagai sebuah algoritma. Algoritma adalah urutan langkah-langkah yang terdefinisi dengan baik dan selalu berhenti dan menghasilkan jawaban. Oleh karena sebuah persoalan berkoresponden dengan sebuah bahasa, maka persoalan L disebut decidable jika ia adalah bahasa rekursif. Dengan kata lain, sebuah bahasa disebut dicidable jika terdapat algoritma yang: (i) berhenti pada setiap input string w, dan (ii) menyimpulkanapakahw Latauw L. Bahasayang tidakdecidabledisebutundecidablelanguage. Untukbahasaundecidabletidakterdapatalgoritmayang memenuhi(i) dan(ii). 25

26 HubunganAntaraBahasaRekursif, RE, dannon-re Keteangan: L d = Bahasadiagonalisasi(akandijelaskankemudian) L u = BahasaUniversal (akandijelaskankemudian) 26

27 Recursively Enumerable (RE) Hirarkhi bahasa formal menurut Chomsky: Non-RE Languages Regular (DFA) Contextfree (PDA) 27 Context sensitive Recursive

28 Recursive, RE, Undecidable languages 28

29 KaidahTentangKomplemen MisalkanLadalahsebuahbahasapadaalfabet{0, 1} dan L adalahkomplemennya. Kaidah 1: Jika L rekursif, maka L juga rekursif 29

30 Kaidah2: JikaLdan L adalahre, makaladalahrekursif. MenurutKiadah1, L jugarekursif. MisalkanL 1 = L(M 1 ) danl 2 = L = L(M 2 ) 30

31 UndecidableProblems Beberapa persoalan tergolong undecidable, yang berarti tidak terdapat mesin Turing yang dapat menyelesaikan instans persoalan tersebut. Contoh: Hello-world problem Halting problem Membership Problem 31

32 Membership Problem Membership problem: DiberikanmesinTuring Mdanstring w. ApakahMmenerimaw? Dengan kata lain, apakah w termasuk ke dalambahasayang dikenaliolehm, atauw L(M)? 32

33 Untuk membuktikan bahwa membership problem adalah undecidable, maka dilakukan pembuktian dengan kontradiksi sebagai berikut: Misalkan terdapat mesin Turing H untuk memecahkan membership problem. M YA M menerima w w H TIDAK M menolak w 33

34 Misalkan L adalah bahasa recursively enumerable dan misalkanm adalahmesinturing yang menerimal. Kita akanbuktikanbahwaljugaadalahbahasarekursif. Kita gambarkan mesin Turing yang menerima L dan berhenti pada sembarang masukan apapun yang diberikan: M H YA terima w w M menerima w? TIDAK tolak w 34

35 Oleh karena itu L adalah bahasa rekursif KarenaLadalahbahasayang dipilihsembarang, maka setiap bahasa recursively enumerable juga adalahbahasarekursif. Tetapi, terdapatbahasarecursively enumerable yang bukanbahasarekursif. Kontradiksi! 35

36 Halting Problem Halting problem adalahpersoalanrecursively enumerableyang juga undecidable. Halting Problem: Diberikansebuahprogram Pdanmasukannya, I. TentukanapakahPakanberhentipadainput I? Mengingat mesin Turing dapat dipandang sebagai sebuah program danpita sebagaidata masukan, makadeskripsihalting Problem di atas ekivalen dengan Halting Problem pada mesin Turing, sepertiyang sudahdipelajarisebelumnya: Halting Problem: Diberikan mesin Turing M dan string masukan w. Tentukanapakah M akanberhentipadainput w? 36

37 37

38 Akan dibuktikan bahwa Halting Problem adalah undecidable. Untukmembuktikannya, asumsikanbahwahalting Problem adalahdecidable, yaituterdapatmesinturing universal Hyang mensimulasikan perilaku mesin Turing M. Hmenerimainput berupaperilakumdandata w. Hmemberikan jawaban 1 jikamberhentisetelahmengolahw, atau 0 jikam tidak berhenti setelah mengolah w. M w H 1 0 M berhenti setelah mengolah w M tidak berhenti setelah mengolah w 38

39 Konstruksi H w M Akankah M berhenti setelah mengolah w? Perilaku M w H H menuliskan: 1 jika M berhenti setelah membaca w 0 jika tidak 39

40 MisalkanmesinHdimodifikasimenjadimesinH 1 sedemikian sehinggah 1 memilikiperilakusepertih, namunbedanya: H 1 mengalamiinfinite loop jikamberhentisetelah mengolah w H 1 berhentijikamtidakberhenti(mengalamiinfinite loop) setelah mengolah w Perilaku M w H 1 mengalamiinfinite loop jikam berhenti setelah mengolah w H 1 H 1 berhentijikamtidakberhenti (mengalami infinite loop) setelah mengolah w 40

41 Selanjutnya, mesinh 1 dimodifikasilagimenjadimesinh 2. MesinH 2 membacahanyadeskripsiperilakum, lalumenirukanperilakuh 1. PerilakuH 2 dapatdigambarkansebagaiberikut: Jikadiberikan deskripsi perilaku mesin M, maka: - H 2 mengalamiinfinite loop jikam berhenti setelahmengolah deskripsi perilaku M sendiri. - H 2 berhentijikam tidakberhenti(mengalamiinfinite loop) setelah mengolah deskripsi perilaku M sendiri. H 2 menyalinperilakum copy H 2 menirukanperilakuh 1 perilaku input Perilaku M Perilaku M Perilaku M H 2 mengalamiinfinite loop jikam berhenti setelah mengolah M H 2 H 2 H 2 berhentijikamtidak berhenti setelah mengolah M 41

42 AkanditunjukkanbahwaH 2 tidakada, akibatnyah 1 tidakada, dan kesimpulannya H juga tidak ada. Cara pembuktiannyaadalahdenganmengamatiapayang terjadipadah 2 jikamasukanyang diberikanadalahperilaku dirinya sendiri. perilakuh 2 H 2 H 2 H 2 H 2 42

43 PerilakuH 2 : Mengalamiinfinite loop jika H 2 berhentisetelahmengolahh 2. Berhentijika H 2 tidakberhenti (mengalamiinfinite loop) setelah mengolahh 2. H 2 h 2 H 2 H 2 H 2 Pada keadaan yang digambarkan oleh Gambar di atas, dapat ditunjukkansifat-sifatberikut: - H 2 mengalamiinfinite loop jikah 2 berhentisetelahmengolah perilakunya sendiri, dan - H 2 berhenti jikah 2 tidakberhenti(mengalamiinfinite loop) setelah mengolah perilakunya sendiri KONTRADIKSI!!! 43

44 Dari keduasifatdiatasterlihatadanyahalyang bertentangan: H 2 mengalamiinfinite loop jikadanhanyajikah 2 berhenti. Hal ini tidak mungkin terjadi atau kontradiksi, sehingga akibatnya dapat disimpulkan: H 2 tidakada==> H 1 tidakada==> Htidakada Dengankatalain, mesinturing untukmenyelesaikanhalting Problem tidak mungkin ada! Dengan kata lain, Halting Problem adalah undecidable. 44

4. Undecidabality(Bagian2)

4. Undecidabality(Bagian2) IF5110 Teori Komputasi 4. Undecidabality(Bagian2) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 MengenumerasiString Biner String biner dapat dipandang sebagai integer. Jikawadalahstring

Lebih terperinci

3. MesinTuring (Bagian3)

3. MesinTuring (Bagian3) IF5110 Teori Komputasi 3. MesinTuring (Bagian3) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Credit Title Semua bahan pada power point ini bersumberkan dari: Hans Dulimarta, Catatan

Lebih terperinci

4. Undecidabality(Bagian3)

4. Undecidabality(Bagian3) IF5110 Teori Komputasi 4. Undecidabality(Bagian3) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Reduksi Sebuahpersoalandapatdireduksimenjadipersoalanlain namun menghasilkan jawaban

Lebih terperinci

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB IF5110 Teori Komputasi Teori Kompleksitas (Bagian 1) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Sebuah persoalan dikatakan Solvable, jika terdapat mesin Turing yang dapat menyelesaikannya.

Lebih terperinci

2. MesinTuring (Bagian2)

2. MesinTuring (Bagian2) IF5110 Teori Komputasi 2. MesinTuring (Bagian2) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 PerananMesinTuring Bahasa yang diterima oleh mesin Turing dinamakan recursively enumerable

Lebih terperinci

Teori Kompleksitas (Bagian 2)

Teori Kompleksitas (Bagian 2) IF5110 Teori Komputasi Teori Kompleksitas (Bagian 2) Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Travelling Salesperson Problem Persoalan optimasi. Termasuk ke dalam kelas persoalan

Lebih terperinci

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE TM T r untuk suatu bahasa rekursif akan menjawab (recognize) atau setelah memproses string masukan. T r Dalam pembahasan sebelumnya kita mendapatkan

Lebih terperinci

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN

Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN Versi : Revisi : Tanggal Revisi : Tanggal : SATUAN ACARA PERKULIAHAN Fakultas/ Jurusan/ Program Studi : Teknologi Industri/ Teknik Informatika/ Teknik Informatika Kode Matakuliah : 52302031 Nama Matakuliah

Lebih terperinci

Induksi Matematik. Bahan Kuliah IF2120 Matematika Diskrit. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB

Induksi Matematik. Bahan Kuliah IF2120 Matematika Diskrit. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB Induksi Matematik Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir Program Studi Teknik Informatika STEI - ITB 1 Metode pembuktian untuk proposisi yang berkaitan dengan bilangan bulat adalah

Lebih terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, Percabangan, dan Studi Kasus Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan

Lebih terperinci

2. Review TeoriBahasaFormal danotomata

2. Review TeoriBahasaFormal danotomata IF5110 Teori Komputasi 2. Review TeoriBahasaFormal danotomata Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 Terminologi Alfabet: himpunan terbatas simbol-simbol Contoh: alfabetlatin,

Lebih terperinci

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2 Algoritma dan Pemrograman Pertemuan Ke-7 Statement Pengendalian 2 Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional

Lebih terperinci

Induksi Matematik Program Studi Teknik Informatika STEI - ITB

Induksi Matematik Program Studi Teknik Informatika STEI - ITB Induksi Matematik Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir Program Studi Teknik Informatika STEI - ITB 1 Metode pembuktian untuk proposisi yang berkaitan dengan bilangan bulat adalah

Lebih terperinci

Bab 3. Decision 1 (Pengambilan Keputusan)

Bab 3. Decision 1 (Pengambilan Keputusan) Bab 3. Decision 1 (Pengambilan Keputusan) Konsep Pemrograman Politeknik Elektronika Negeri Surabaya Overview Kondisi & Operator Kondisi Operator Relasi Operator Logika Prioritas Operator Relasi & Logika

Lebih terperinci

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013 Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013 KONTRAK KULIAH 1. Presensi 15 menit diawal perkuliahan dan dilakukan sendiri (tidak Boleh Titip Presensi), setelahnya sistem akan ditutup 2.

Lebih terperinci

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

DASAR PEMROGRAMAN. Institut Teknologi Sumatera DASAR PEMROGRAMAN REVIEW STRUKTUR DASAR, PERCABANGAN, DAN PERULANGAN Institut Teknologi Sumatera TUJUAN KULIAH Mengenalkan konsep dasar pemrograman: dekomposisi problem, modularisasi, rekurens; skill/praktek

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL I TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami pengertian dan kedudukan Teori Bahasa dan Otomata (TBO) pada ilmu komputer Definisi dan Pengertian Teori Bahasa dan Otomata Teori bahasa dan

Lebih terperinci

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) Kode / Nama Mata Kuliah : A11. 54401/ Teori dan Bahasa Otomata Revisi 2 Satuan Kredit Semester : 3 SKS Tgl revisi : Februari 2014 Jml Jam kuliah dalam

Lebih terperinci

BAB V Tujuan 5.1 Rekursi Dasar

BAB V Tujuan 5.1 Rekursi Dasar BAB V Rekursi Tujuan 1. Memahami rekursi sebagai konsep yang dapat digunakan untuk merumuskan solusi sederhana dalam sebuah permasalahan yang sulit untuk diselesaikan secara iteratif dengan menggunakan

Lebih terperinci

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan Overview Pertemuan : I Dosen Pembina : Danang Junaedi Deskripsi Tujuan Instruksional Kaitan Materi Penilaian Grade Referensi Jurusan Teknik Informatika Universitas Widyatama Deskripsi Mata kuliah ini mempelajari

Lebih terperinci

MODUL 1: PENGANTAR TEORI BAHASA

MODUL 1: PENGANTAR TEORI BAHASA MODUL 1: PENGANTAR TEORI BAHASA Pengantar Automata dan Bahasa Teori Pendukung Konsep Bahasa Slide 1 dari 38 PENGANTAR AUTOMATA DAN BAHASA Obyektif membahas model-model komputasi sebagai mesin abstraks

Lebih terperinci

Aplikasi Simulator Mesin Turing Pita Tunggal

Aplikasi Simulator Mesin Turing Pita Tunggal Aplikasi Simulator Mesin Turing Pita Tunggal Nuludin Saepudin / NIM 23515063 Program Magister Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

Praktikum 6. Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C

Praktikum 6. Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C Praktikum 6 Rekursi POKOK BAHASAN: Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C TUJUAN BELAJAR: Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan

Lebih terperinci

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif Algoritma dan Pemrograman Lanjut Pertemuan Ke-5 Rekursif Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional Veteran Yogyakarta

Lebih terperinci

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata Arfinda Ilmania /13515137 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Tipe Data dan Variabel

Tipe Data dan Variabel Tipe Data dan Variabel L/O/G/O Agus Priyanto Introduction Sejarah C Bahasa C merupakan bahasa pemrograman yang di ciptakan oleh Dennis Ricthie yang berasal dari perkembangan bahasa BCPL (Basic Combined

Lebih terperinci

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN 2 MATERI UTS ALGORITMA & FLOWCHART DASAR PEMROGRAMAN DALAM C PENGAMBILAN KEPUTUSAN PERULANGAN FUNGSI 3 Contoh :Algoritma Mencari akar bulat positif dari bilangan

Lebih terperinci

IF-UTAMA 1. Definisi. Grammar. Definisi

IF-UTAMA 1. Definisi. Grammar. Definisi Definisi Grammar Bahasa adalah himpunan kata-kata atau kalimat yang telah disepakati, contoh : {makan, tidur, bermain, belajar} Bahasa Indonesia {shit, sheet, damn, kiss, smell} Bahasa Inggris {konichiwa,

Lebih terperinci

Review Teori P dan NP

Review Teori P dan NP IF5110 Teori Komputasi Review Teori P dan NP Oleh: Rinaldi Munir Program Studi Magister Informatika STEI-ITB 1 2 Pendahuluan Kebutuhan waktu algoritma yang mangkus bervariasi, mulai dari O(1), O(log log

Lebih terperinci

Grammar dan Tingkat Bahasa

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

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL VIII TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami ekspresi reguler dan dapat menerapkannya dalam berbagai penyelesaian persoalan. Materi : Hubungan antara DFA, NFA, dan ekspresi regular

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN PRAKTIKUM 9 Looping : For A TUJUAN PEMBELAJARAN 1 Menjelaskan proses pengulangan menggunakan pernyataan for 2 Menjelaskan tentang variasi pernyataan for 3 Menjelaskan tentang pernyataan for dengan menentukan

Lebih terperinci

Kuliah III - Dasar Pemrograman

Kuliah III - Dasar Pemrograman 17 September 2013 Kuliah III - Dasar Pemrograman Struktur program dalam bahasa C Kompilasi Variabel Statement : Deklarasi & Assignment statement, Inisialisasi Masukan dan Keluaran Contoh 1. assign.c /*

Lebih terperinci

FTIK / PRODI TEKNIK INFORMATIKA

FTIK / PRODI TEKNIK INFORMATIKA Halaman : 1dari 12 LEMBAR PENGESAHAN DIBUAT OLEH MENYETUJUI Tim SOP dan JUKNIS Prodi IF Mira Kania Sabariah, S.T., M.T Ka Prodi TeknikInformatika Halaman : 2dari 12 DAFTAR ISI Lembar Pengesahan... 1 Daftar

Lebih terperinci

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran SILABUS MATAKULIAH Revisi : 2 Tanggal Berlaku : Maret 2014 A. Identitas 1. Nama Matakuliah : A11. 54401/ Teori dan Bahasa Otomata 2. Program Studi : Teknik Informatika-S1 3. Fakultas : Ilmu Komputer 4.

Lebih terperinci

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek Irwan Kurniawan 135 06 090 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl Ganesha 10, Bandung e-mail: if16090@students.if.itb.ac.id

Lebih terperinci

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Ahmad Ayyub Mustofa Jurusan Teknik Informatika ITB, Bandung 40132, email: rekka_zan@students.itb.ac.id Abstraksi Bahasa pemrograman

Lebih terperinci

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

Pengantar Matematika. Diskrit. Bahan Kuliah IF2120 Matematika Diksrit RINALDI MUNIR INSTITUT TEKNOLOGI BANDUNG PROGRAM STUDI TEKNIK INFORMATIKA Sekolah Teknik Elrektro dan Informatika INSTITUT TEKNOLOGI BANDUNG Pengantar Matematika Bahan Kuliah IF2120 Matematika Diksrit Diskrit RINALDI MUNIR Lab Ilmu dan Rekayasa

Lebih terperinci

1, 2, 3

1, 2, 3 Penerapan Algoritma Depth First Search (DFS) Dinamis Untuk Menentukan Apakah Sebuah String Diterima Oleh Bahasa Reguler yang Didefinisikan Nondeterministic Finite Automata (NFA) Muhammad Ihsan, Ilden Abi

Lebih terperinci

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011 Algoritma dan Pemrograman WHILE while (kondisi) statement; FALSE kondisi? TRUE statement Pernyataan (statements) di dalam struktur WHILE akan diproses minimum NOL kali. Mengapa? WHILE Perhatikan potongan

Lebih terperinci

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

Pengantar Matematika. Diskrit. Bahan Kuliah IF2091 Struktur Diksrit RINALDI MUNIR INSTITUT TEKNOLOGI BANDUNG PROGRAM STUDI TEKNIK INFORMATIKA Sekolah Teknik Elrektro dan Informatika INSTITUT TEKNOLOGI BANDUNG Pengantar Matematika Bahan Kuliah IF2091 Struktur Diksrit Diskrit RINALDI MUNIR Lab Ilmu dan Rekayasa

Lebih terperinci

Pemanfaatan Himpunan Dalam Seleksi Citra Digital

Pemanfaatan Himpunan Dalam Seleksi Citra Digital Pemanfaatan Himpunan Dalam Seleksi Citra Digital Edwin Zaniar Putra - 13507066 Program Studi Teknik Informatika, STEI, ITB, Bandung, email: edwin@zaniar.web.id Abstrak Dalam makalah ini dibahas tentang

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : ALGORITMA DAN PEMROGRAMAN A Kode Mata Kuliah : DK - 24301 Jurusan / Jenjang : S1 SISTEM KOMPUTER Tujuan

Lebih terperinci

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T. Teknik Informatika

Mesin Turing. Pertemuan Ke-14. Sri Handayaningsih, S.T., M.T.   Teknik Informatika Mesin Turing Pertemuan Ke-14 Sri Handayaningsih, S.T., M.T. Email : ning_s12@yahoo.com Teknik Informatika 1 TIU & TIK Memahami konsep : 1. Definisi Mesin Turing 2. Contoh aplikasi Mesin Turing 3. Mesin

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment PROSEDUR Overview Prosedur Konsep Prosedur Prosedur Tanpa Input/Output Prosedur dengan

Lebih terperinci

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE Mohammad Dimas (13507059) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jalan Ganesha

Lebih terperinci

Kombinatorial. Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir. Program Studi Teknik Informatika ITB

Kombinatorial. Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir. Program Studi Teknik Informatika ITB Kombinatorial Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir Program Studi Teknik Informatika ITB 1 Pendahuluan Sebuah kata-sandi (password) panjangnya 6 sampai 8 karakter. Karakter boleh berupa

Lebih terperinci

Praktikum Dasar Pemrograman

Praktikum Dasar Pemrograman Praktikum Dasar Pemrograman Minggu : 04 sesi 3 Topik : 1. For 2. Break 3. Continue Aktifitas : coding Waktu pengerjaan : 110 menit Setoran PrakDaspro_04_3_DY_NIM.rar, yang terdiri dari file: 1. simple_for_dy_nim.c

Lebih terperinci

Pengenalan Bahasa C. Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom

Pengenalan Bahasa C. Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom Pengenalan Bahasa C Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom Algoritma & Bahasa C Algoritma Program luaspersegi Kamus sisi : integer Luas : integer Algoritma output( Masukkan

Lebih terperinci

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus)

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus) Kondisional/Pencabangan/Pemilihan Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus) Konsep Pencabangan/Pemilihan Konsep pencabangan/pemilihan

Lebih terperinci

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom Algoritma & Pemrograman #1 Antonius Rachmat C, S.Kom Jenis Proses Algoritma Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria

Lebih terperinci

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

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam hierarki kelas-kelas bahasa menurut Chomsky, kelas bahasa yang paling sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan tepat

Lebih terperinci

DAY 11 OPERASI STRING LAPORAN RESMI. Day 11 Operasi String. Dini Yuniasri D4 Teknik Informatika B

DAY 11 OPERASI STRING LAPORAN RESMI. Day 11 Operasi String. Dini Yuniasri D4 Teknik Informatika B LAPORAN RESMI Day 11 Operasi String Dini Yuniasri 2110151054 1 D4 Teknik Informatika B PERCOBAAN 1 (CONTOH PENGGABUNGAN STRING) Untuk menggabung string, ada beberapa cara yang dapat digunakan user. Mulanya,

Lebih terperinci

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

Pendahuluan [6] FINITE STATE AUTOMATA. Hubungan RE & FSA [5] Finite State Diagram [6] 4/27/2011 IF-UTAMA 1 FINITE STATE AUTOMATA Pertemuan 9 & 10 Dosen Pembina : Danang Junaedi 1 Pendahuluan [6] Bahasa formal dapat dipandang sebagai entitas abstrak, yaitu sekumpulan string yang berisi simbol-simbol alphabet

Lebih terperinci

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM) Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM) Motivasi Dalam kehidupan sehari-hari selalu diperlukan pemilihan dari beberapa alternatif Contoh : Terdapat beberapa alternatif untuk memilih sabun mandi

Lebih terperinci

anggota alfabet dinamakan simbol terminal atau token.

anggota alfabet dinamakan simbol terminal atau token. GRAMMAR DAN BAHASA MATERI MINGGU KE-2 TATA BAHASA Dalam pembicaraan tata bahasa, anggota alfabet dinamakan simbol terminal atau token. Kalimat adalah deretan hingga simbo-lsimbol terminal. Bahasa adalah

Lebih terperinci

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C 1. Pendahuluan Lingkungan Turbo C++ 4.5 Turbo C++ 4.5 adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C++ 4.5. 1 2 3 4 1 : Menu Utama

Lebih terperinci

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : 1 Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Memahami struktur kendali pengulangan (looping) dan memanfaatkannya dalam pembuatan aplikasi program komputer dengan bahasa pemrograman java.

Lebih terperinci

Chapter 1 KONSEP DASAR C

Chapter 1 KONSEP DASAR C Chapter 1 KONSEP DASAR C Sejarah Dan Standar C Akar dari bahasa C adalah BCPL (dikembangkan oleh Martin Richard tahun 1967). Kemudian Tahun 1970, Ken Thompson mengembangkan bahasa tersebut yang di kenal

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Teori Bahasa dan Automa Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Micro processing dan Memory, Memory Addressing; Register, Struktur Program,

Lebih terperinci

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurnal Matematika Vol.6 No., November 26 [ 63-7 ] EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurusan Matematika, UNISBA, Jalan Tamansari No, Bandung,46, Indonesia dsuhaedi@eudoramail.com

Lebih terperinci

Algoritma Pendukung Kriptografi

Algoritma Pendukung Kriptografi Bahan Kuliah ke-20 IF5054 Kriptografi Algoritma Pendukung Kriptografi Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 20. Algoritma Pendukung Kriptografi

Lebih terperinci

Kombinatorial. Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir. Program Studi Teknik Informatika ITB

Kombinatorial. Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir. Program Studi Teknik Informatika ITB Kombinatorial Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir Program Studi Teknik Informatika ITB 1 Pendahuluan Sebuah kata-sandi (password) panjangnya 6 sampai 8 karakter. Karakter boleh berupa

Lebih terperinci

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom Syntax, Semantic & Grammar Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom Definisi Bahasa pemrograman merupakan notasi formal Mempunyai 2 komponen utama Syntax dan Semantic Syntax: Kumpulan

Lebih terperinci

PERTEMUAN 7 REVIEW (QUIZ)

PERTEMUAN 7 REVIEW (QUIZ) PERTEMUAN 7 REVIEW (QUIZ) 1. Langkah pertama yang harus dilakukan dalam menyusun suatu program a. Membuat Hipotesa b. Membuat Masalah c. Membuat Algoritma d. Membuat Program e. Menyalakan Komputer 2. Sebuah

Lebih terperinci

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

Bahan kuliah IF2120 Matematika Diskrit. Himpunan. Oleh: Rinaldi Munir. Program Studi Teknik Informatika STEI - ITB 1 Bahan kuliah IF2120 Matematika Diskrit Himpunan Oleh: Rinaldi Munir Program Studi Teknik Informatika STEI - ITB 1 Definisi Himpunan (set) adalah kumpulan objek-objek yang berbeda. Objek di dalam himpunan

Lebih terperinci

Diagram Alur (Flowchart)

Diagram Alur (Flowchart) Diagram Alur (Flowchart) Diagram Alur (Flowchart) Flowchart adalah suatu diagram yang menggambarkan susunan logika suatu program. Simbol-simbol yang digunakan adalah sebagai berikut : Proses/Prosessing

Lebih terperinci

Algoritma dan Pemrograman

Algoritma dan Pemrograman Algoritma dan Pemrograman bagian 2 2009 Modul ini menjelaskan tentang bahasa C dan apa saja yang dibutuhkan bila kita akan menulis suatu program dengan bahasa C. Editor yang dipakai adalah Turbo C++ 4.5.

Lebih terperinci

Materi Kuliah Matematika Komputasi FUNGSI

Materi Kuliah Matematika Komputasi FUNGSI Materi Kuliah Matematika Komputasi FUNGSI Misalkan A dan B himpunan. FUNGSI Relasi biner f dari A ke B merupakan suatu fungsi jika setiap elemen di dalam A dihubungkan dengan tepat satu elemen di dalam

Lebih terperinci

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date] [Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date] H a l a m a n 1 DAFTAR ISI DAFTAR ISI... 1 1. TIPE DATA DALAM BORLAND DELPHI7... 2 1.1.

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP)

SATUAN ACARA PERKULIAHAN (SAP) SATUAN ACARA PERKULIAHAN (SAP) Nama Mata Kuliah : Pemrograman C++ Kode Mata Kuliah : MI 016 Bobot Kredit : 3/1 SKS Semester Penempatan : II Kedudukan Mata Kuliah : Mata Kuliah Keahlian Berkarya Mata Kuliah

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP)

SATUAN ACARA PERKULIAHAN (SAP) SATUAN ACARA PERKULIAHAN (SAP) Pertemuan / Minggu Nama Mata Kuliah : Teori Bahasa dan Automata Kode Mata Kuliah : TI 04 Bobot Kredit : 3 SKS Semester Penempatan : III Kedudukan Mata Kuliah : Mata Kuliah

Lebih terperinci

Pengantar Algoritma & Flow Chart

Pengantar Algoritma & Flow Chart PRAKTIKUM 1 Pengantar Algoritma & Flow Chart A. TUJUAN PEMBELAJARAN 1. Mampu memahami suatu masalah dan mampu mencari solusi pemecahannya dan mampu menuangkan langkah-langkah pemecahan masalah tersebut

Lebih terperinci

Soal hari Jumat (16/10) Latihan 10 MS

Soal hari Jumat (16/10) Latihan 10 MS hari Jumat (16/10) Latihan 10 MS count, sum, i adalah variabel tunggal bertipe data integer i 1 count 0 sum 0 while (i < 30) do sum sum + i count count + 1 i i + i 1. Berapakah final state variabel sum?

Lebih terperinci

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata Teori Bahasa Formal dan Automata Pertemuan 3 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA MENDESAIN DFA Jika di definisikan = {0, 1}, bangunlah sebuah DFA yang

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level bahasa pemrograman: 1. Bahasa tingkat rendah 2. Bahasa

Lebih terperinci

PENYELEKSIAN KONDISI dengan IF

PENYELEKSIAN KONDISI dengan IF 5 PENYELEKSIAN KONDISI dengan IF Bagian ini akan membahas : Pendahuluan Penyeleksian Kondisi dengan Satu Kasus Penyeleksian Kondisi dengan Dua Kasus Penyeleksian Kondisi dengan Tiga Kasus atau lebih Diagram

Lebih terperinci

Pertemuan2 Percabangan & Perulangan pada Python

Pertemuan2 Percabangan & Perulangan pada Python Pertemuan2 Percabangan & Perulangan pada Python Objektif: 1. Mahasiswa mengetahui percabangan dan perulangan pada Python. 2. Mahasiswa mengetahui bentuk umum dari percabangan dan perulangan pada Python.

Lebih terperinci

TEORI BAHASA DAN OTOMATA PENGANTAR

TEORI BAHASA DAN OTOMATA PENGANTAR TEORI BAHASA DAN OTOMATA PENGANTAR PERKULIAHAN Jumlah pertemuan minimal 13 kali dan maksimal 15 kali sudah termasuk dengan ujian tengah semester (UTS) PENILAIAN ABSEN 10% (Minimal kehadiran 80% dari jumlah

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA

SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA 1 SATUAN ACARA PERKULIAHAN (SAP) TEORI BAHASA DAN OTOMATA (IK ) Oleh: Heri Sutarno JURUSAN PENDIDIKAN ILMU KOMPUTER FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA

Lebih terperinci

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari Evan 1) 1) Program Studi Teknik Informatika ITB, Bandung, email: evangozali@yahoo.com Abstract Makalah ini membahas aplikasi graf dalam

Lebih terperinci

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while Algoritme dan Pemrograman Kuliah #4 Struktur kontrol perulangan: while, do while, for Struktur Kontrol Perulangan (Loop) Program akan mengulang satu atau lebih pernyataan berdasarkan kondisi tertentu.

Lebih terperinci

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata Teori Bahasa Formal dan Automata Pertemuan 5 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA REVIEW Apa perbedaan antara NFA dan ϵ-nfa? Apa yang dimaksud dengan

Lebih terperinci

Fungsi. Jika f adalah fungsi dari A ke B kita menuliskan f : A B yang artinya f memetakan A ke B.

Fungsi. Jika f adalah fungsi dari A ke B kita menuliskan f : A B yang artinya f memetakan A ke B. Pertemuan 6 Fungsi Fungsi Misalkan A dan B himpunan. Relasi biner f dari A ke B merupakan suatu fungsi jika setiap elemen di dalam A dihubungkan dengan tepat satu elemen di dalam B. Jika f adalah fungsi

Lebih terperinci

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

Pengantar Matematika. Diskrit. Bahan Kuliah IF2120 Matematika Diksrit RINALDI MUNIR INSTITUT TEKNOLOGI BANDUNG PROGRAM STUDI TEKNIK INFORMATIKA Sekolah Teknik Elrektro dan Informatika INSTITUT TEKNOLOGI BANDUNG Pengantar Matematika Bahan Kuliah IF2120 Matematika Diksrit Diskrit RINALDI MUNIR Lab Ilmu dan Rekayasa

Lebih terperinci

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan terdiri dari satu atau lebih pernyataan Tiap pernyataan dikerjakan secara berurutan sesuai urutannya Urutan instruksi menentukan

Lebih terperinci

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018 MODUL 4 Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar Semester Genap 2017/2018 MODUL 4 PERULANGAN (LOOPING) A. Tujuan Setelah mempelajari bab ini diharapkan mahasiswa akan mampu : Mengenal

Lebih terperinci

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1) Tata Bahasa Kelas Tata Bahasa Risnawaty 2350376 Jurusan Teknik Informatika Institut Teknologi Bandung Page 1 Konsep Bahasa (1) String(kata) adalah suatu deretan berhingga dari simbol-simbol. Panjang string

Lebih terperinci

Rekursif/ Iterasi/ Pengulangan

Rekursif/ Iterasi/ Pengulangan Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi Penyaji : Rekursif : Zulkarnaen NS 1 Rekursif/ Iterasi/ Pengulangan Instruksi perulangan digunakan untuk menjalankan satu atau beberapa insturksi

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK-045325 / 3 SKS Mingu Pokok Bahasan 1. 1. Pendahuluan menjelaskan konsep dasar bahasa dan teori tentang string 1.1.

Lebih terperinci

Lecture Notes Teori Bahasa dan Automata

Lecture Notes Teori Bahasa dan Automata Pumping Lemma RL (edisi 2) 1/5 Lecture Notes Teori Bahasa dan Automata Pumping Lemma Untuk Regular Language Thompson Susabda Ngoen Revisi 1 Hopcroft mengatakan regular language dapat dideskripsikan dengan

Lebih terperinci

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu:

PENDAHULUAN. Terdapat tiga topik utama di teori otomata yaitu: PENDAHULUAN Pengertian Komputer mengikuti sejumlah prosedur sistematis, atau algoritme, yang dapat diaplikasikan untuk serangkaian input (string) yang menyatakan integer dan menghasilkan jawaban setelah

Lebih terperinci

Algoritma Pemrograman I

Algoritma Pemrograman I Algoritma Pemrograman I Struktur Dasar Algoritma Notasi Algoritmik 1 Pernyataan Setiap langkah dalam algoritma dinyatakan dalam sebuah pernyataan (statement) Sebuah pernyataan berisi aksi (action) Contoh:

Lebih terperinci

2.4. Struktur Branching

2.4. Struktur Branching 2.4. Struktur Branching Branching atau percabangan adalah diagram yang alurnya ada/banyak terjadi alih kontrol berupa percabangan dan terjadi apabila kita dihadapkan pada kondisi dengan dua pilihan yaitu

Lebih terperinci

BAHASA PEMROGRAMAN C LANGUAGE

BAHASA PEMROGRAMAN C LANGUAGE BAHASA PEMROGRAMAN C LANGUAGE JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST MATERI KULIAH : REVIEW KONSEP PEMROGRAMAN STRING POINTER STRUKTUR DAN DAFTAR BERANTAI

Lebih terperinci

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION 5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION Rekursif Ada kalanya kita mengalami kesulitan untuk mendefinisikan suatu obyek secara eksplisit. Mungkin lebih mudah untuk mendefinisikan obyek tersebut

Lebih terperinci

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO BAHASA FORMAL AUTOMATA FIRDAUS SOLIHIN FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MATERI PENGANTAR AUTOMATA REGULAR EXSPRESSION (RE) FINITE AUTOMATA (FA) TRANSITION GRAPH (TG) THEOREMA KLEENE CONTEXT FREE GRAMMAR

Lebih terperinci

09/09/2013 ILKOM IPB 1. Algoritme dan Pemrograman. Contoh penerapan. Kiat Sukses. Program Komputer. Kenapa belajar algoritme dan pemrograman?

09/09/2013 ILKOM IPB 1. Algoritme dan Pemrograman. Contoh penerapan. Kiat Sukses. Program Komputer. Kenapa belajar algoritme dan pemrograman? dan Pemrograman Kuliah # Kontrak Perkuliahan Pendahuluan Pembuatan algoritme Kenapa belajar algoritme dan pemrograman? Profesi di banyak bidang (tidak hanya bidang komputer) melibatkan: Pengolahan data

Lebih terperinci

Algoritme dan Pemrograman

Algoritme dan Pemrograman Algoritme dan Pemrograman Kuliah #6-7 Fungsi Fungsi Contoh fungsi y = f(x) = x 2 + 5 Nilai yang mungkin untuk variabel x disebut daerah fungsi (domain) (df), dan untuk variabel y atau f(x) disebut wilayah

Lebih terperinci