MATEMATIKA DISKRIT 1 Logika & Pembuktian LOGIKA Logika = studi tentang correct reasoning Penggunaan Logika Pada Matematika: Untuk membuktikan teorema Pada computer science: Untuk membuktikan bahwa suatu program bekerja sesuai dengan apa yang semestinya dikerjakan PROPORSI Proposisi : Adalah sebuah pernyataan/kalimat yang bernilai Benar (True) atau Salah(False) tetapi tidak kedua-duanya. Contoh: Jakarta adalah ibukota negara Republik Indonesia Depok adalah ibukota propinsi Jawa Barat 1+1=2 2+2=3 Contoh: (1) Jam berapa sekarang? (2) Baca buku ini perlahan-lahan (3) Saya ingin menjadi orang yang bijaksana (4) x + 2 = 3 (5) x + y = z Pernyataan (1),(2) dan (3) bukan proposisi Pernyataan (4) dan (5) disebut kalimat terbuka dan akan menjadi benar/salah jika variabel x,y,z diberi nilai (angka) Negasi (¬) Negasi dari proposisi p dinyatakan dengan ¬ p dan dibaca “ bukan p” atau “tidak benar p” Contoh : p = Sekarang hari senin ¬p = Sekarang bukan hari senin ¬p = tidak benar sekarang hari senin Tabel Kebenaran/ truth table : Menggambarkan hubungan antara nilai kebenaran dari proposisi TABEL KEBENARAN UNTUK NEGASI DARI PROPOSISI P T F PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN -P F T 2015 MATEMATIKA DISKRIT 2 Konjungsi/Conjunction () Mis. p dan q adalah proposisi maka proposisi “p dan q” dinyatakan dengan p q adalah Benar/True ketika p dan q kedua-duanya Benar/True selainnya p q bernilai Salah/False Contoh : p = Sekarang hari senin (T) q = Saya sedang mengajar Matematika Diskrit (T) p q = Sekarang hari senin dan saya sedang mengajar Matematika Diskrit (T) TABEL KEBENARAN UNTUK KONJUNGSI DUA PROPOSISI P T T F F q T F T F pq T F F F Disjungsi/Disjunction () Misalkan p dan q adalah proposisi maka proposisi “p atau q” dinyatakan dengan p q adalah Salah/False ketika p dan q kedua-duanya Salah/False selainnya p q bernilai Benar/True Contoh : p = Sekarang hari jum’at (F) q = Saya sedang mengajar Jaringan Komputer (F) p q = Sekarang hari jum’at atau saya sedang mengajar Jaringan Komputer (F) TABEL KEBENARAN UNTUK DISJUNGSI DUA PROPOSISI p Q pq T T T T F T F T T F F F Exclucive or/XOR ( atau ) Mis p dan q adalah proposisi maka exclusive or dari proposisi p dan q dinyatakan dengan p q adalah benar ketika salah satu dari p dan q benar selain itu p q bernilai salah Contoh: “Pemenang lomba mendapat hadiah berupa TV atau uang" PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 3 TABEL KEBENARAN UNTUK EXCLUSIVE OR DUA PROPOSISI P T T F F pq F T T F q T F T F Kalimat majemuk Mis. p, q, r adalah kalimat sederhana Dapat dibentuk kalimat majemuk seperti: (pq)^r p(q^r) (~p)(~q) (pq)^(~r) Dan lain lain. Contoh: tabel kebenaran dari (pq)^r P T T T T F F F F q T T F F T T F F r T F T F T F T F (p q) ^ r T F T F T F F F Proposisi Bersyarat/Implikasi Proposisi bersyarat “Jika p maka q” Simbol: p q Dikatakan juga sebagai Implikasi/Implication Contoh: p = "Amir seorang dokter“ q = “Fatimah seorang perawat" p q = “Jika Amir seorang dokter maka Fatimah seorang perawat" Implikasi/Implication () Misal p dan q adalah proposisi maka implikasi “p q” adalah proposisi yang salah ketika p benar dan q salah, selain itu p q akan bernilai benar PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT p sering disebut sebagai antecedent atau hipotesis/premis q sering disebut sebagai consequent atau konklusi 4 TABEL KEBENARAN UNTUK IMPLIKASI p q P T T F F q T F T F pq T F T T Cara menyatakan p q : Jika p maka q p berarti q Jika p,q p hanya jika q p syarat cukup untuk q q jika p q syarat perlu untuk p Kondisi perlu dan cukup Sebuah kondisi perlu/necessary condition dinyatakan oleh konklusi. Sebuah kondisi cukup/sufficient condition dinyatakan oleh hipotesis. Contoh: “Jika sekarang hari senin maka saya mengajar Matematika Diskrit" Kondisi perlu: “Saya mengajar Matematika Diskrit” Kondisi cukup: “Sekarang hari senin” Logika Ekuivalen Dua proposisi dikatakan logika ekuivalen (logically equivalent) jika tebel kebenarannya identik. Contoh: p q ~p q pq T T T T T F F F F T T T F F T T ~p q dengan logika ekuivalen p q CONFERSI Converse dari p q adalah q p PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT P T T F F 5 q T F T F pq T F T T q p T T F T Dua proposisi ini tidak logika ekuivalen Kontrapositif Kontrapositif dari proposisi p q adalah ~q ~p. P q pq ~q ~p T T T T T F F F F T T T F F T T p q dan ~q ~p logika ekuivalen . Implikasi Berganda/ biimplikasi Implikasi berganda “p jika dan hanya jika q” dinyatakan dengan simbol p q p q adalah proposisi yang benar ketika p dan q memiliki nilai yang sama, selain itu p q akan bernilai salah P q p q (p q) ^ (q p) T T T T T F F F F T F F F F T T p q logika ekuivalen dengan(p q)^(q p) Tautologi Sebuah proposisi adalah tautologi jika tabel kebenarannya hanya berisi nilai benar untuk setiap kasus Contoh: p p v q P q ppvq T T T PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT T F F 6 F T F T T T Kontradiksi Sebuah proposisi adalah Kontradiksi jika tabel kebenarannya hanya berisi nilai salah untuk setiap kasus Contoh: p ^ ~p P T F p ^ (~p) F F Hukum Aljabar Proposisi 1. Hukum Identitas : 1. p F p 2. p T p 2. Hukum Negasi: 1. p ~p T 2. p ~p F 3. Hukum Null/dominasi 1. p T T 2. p F F 4. Hukum idempoten 1. p p p 2. p p p 5. Hukum Involusi : ~ (~ p) p 6. Hukum Komutatif : 1. p q q p 2. p q q p 7. Hukum Distributif 1. p (q r) (p q) (p r) 2. p (q r) (p q) (p r) 8. Hukum Penyerapan 1. p (q r) p 2. p (q r) p PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 7 9.Hukum Asosiatif 1. p (q r) (p q) r 2. p (q r) (p q) r 10.Hukum De Morgan’s : 1. ~ (p q) ~p ~q 2. ~ (p q) ~p ~q Propositional Equivalence Langkah penting dalam argumen matematika adalah mengganti sebuah pernyataan dengan nilai kebenaran yang sama Dilakukan dengan memanfaatkan Hukum Aljabar Proposisi. Langkah penting dalam argumen matematika adalah mengganti sebuah pernyataan dengan nilai kebenaran yang sama Dilakukan dengan memanfaatkan Hukum Aljabar Proposisi. Contoh Kasus Sederhanakanlah proposisi berikut ! ~(p~q) ! Jawab : ~(p~q) ~p ~(~q) : De Morgan’s ~p q : Involusi Jadi ~(p~q) ~p q PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 8 Logika & Pembuktian Predikat dan Quantifier Pernyataan yang melibatkan variabel seringkali ditemukan : Contoh : x > 3, x = y + 5, x+y=z Pernyataan “x lebih besar 3” mempunyai 2 bagian Variabel x sebagai subjek Lebih besar 3 sebagai predikat Sehingga “x lebih besar 3” dapat dinyatakan sebagai P(x), dimana P adalah “lebih besar 3” dan x adalah variabel P(x) disebut Fungsi proporsional P pada x x adalah anggota dari himpunan D D dikatakan domain of discourse dari P(x) adalah himpunan dimana x berasal Contoh, x adalah anggota dari himpunan bilangan riil Contoh : Misal Q(x,y) menyatakan “x = y + 5” maka Q(1,2) menyatakan “1 = 2 + 5” adalah pernyataan yang salah Misal R(x,y,z) menyatakan “x +y = z” maka R(1,2,3) menyatakan “1 + 2 = 3” adalah pernyataan yang benar Quantifier Ketika semua variabel pada fungsi proporsional diberi nilai maka pernyataan hasil akan mempunyai nilai kebenaran Cara lain menyatakan fungsi proporsional kedalam proposisi adalah dengan quantification Ada dua quantification yaitu : Universal quantification Existensial Quantification Universal quantification Universal quantification dari P(x) adalah proposisi “P(x) benar untuk semua nilai x pada universe discourse (D)” Notasi : x P(x) menyatakan “untuk semua x, P(x) proposisi” atau “untuk setiap x, P(x) proposisi” Pernyataan x P(x) adalah PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 9 Benar jika P(x) benar untuk setiap x D Salah jika P(x) tidak benar untuk beberapa x D Contoh : Setiap mahasiswa didalam kelas belajar logika matematika Solusi : P(x) = x belajar Logika Matematika x P(x) Contoh Lainnya : Proposisi : x N, x+5 > 1 bernilai benar , karena himpunan kebenarannya = N. Proposisi : x N, x+2 > 8 bernilai salah , karena himpunan kebenarannya = {7, 8, 9, … } N. Existensial Quantification Existensial Quantification dari P(x) adalah proposisi “Ada sebuah elemen x dalam universe discourse sedemikian sehingga P(x) proposisi Notasi : xP(x) menyatakan “Ada x sedemikian sehingga P(x) proposisi”, “ada paling sedikit satu x sedemikian sehingga P(x) proposisi” atau “Untuk beberapa P(x)” Contoh : 1. Proposisi : x N , x+2 < 5 , bernilai Benar karena terdapat himpunan kebenaran yaitu {1,2}. 2. Proposisi : x N , x+4 < 2 , bernilai Salah, karena tidak ada elemen bilangan asli yang merupakan anggota himpunan kebenaran atau himpunan kebenaran = {}. Counter example Suatu universal statement x P(x) adalah salah jika x D sedemikian sehingga P(x) bernilai salah. Nilai x yang membuat P(x) salah disebut sebuah counter example untuk statement x P(x). Contoh : P(x) = “setiap x adalah bilangan prima“, x bilangan integer, bernilai Salah karena : Jika x = 4 (integer) dan 4 bukan bilangan prima, maka 4 adalah counterexample untuk P(x). Generalisasi hukum De Morgan’s jika P(x) fungsi proposional, maka setiap pasang proposisi dalam a) dan b) dibawah mempunyai nilai kebenaran yang sama: a) ~(x P(x)) dan x (~P(x)) PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT “tidak benar bahwa untuk setiap x, P(x)" equivalen dengan “Ada sebuah x mana P(x) tidak benar" b) ~(x P(x)) dan x(~P(x)) “Tidak benar bahwa ada x untuk mana P(x) benar" equivalen dengan “Untuk semua x, P(x) tidak benar" 10 Pembuktian Dua pertanyaan penting dalam studi matematika adalah: Kapan sebuah argumen matematika dikatakan benar? Metode apa yang dapat digunakan untuk membangun argumen matematika? Sebuah argumen yang menyatakan tentang kebenaran sebuah teorema dikatakan sebagai bukti (proof) Valid Argument Argumen adalah barisan proposisi yang ditulis sebagai p1, p2 pn / Alasan Deduktif: sebuah proses pencapaian konklusi q dari proposisi-proposisi p1, p2, …, pn Proposisi p1, p2, …, pn dikatakan sebagai premis atau hipotesis Proposisi q dikatakan sebagai konklusi Sebuah argumen dikatakan valid jika semua hipotesis benar maka konklusi juga benar, sebaliknya dikatakan invalid (fallacy) Rules of inference (1) 1. Law of detachment or modus ponens 2. Modus tollens 3. Rule of Addition 4. Rule of simplification 5. Rule of conjunction 6. Rule of hypothetical syllogism 7. Rule of disjunctive syllogism Contoh Mis: p = n habis dibagi 3 q = n2 habis dibagi 9 : “Jika n habis dibagi 3 maka n2 habis dibagi 9” adalah pernyataan yang benar Jika n habis dibagi 3 ( p benar) maka n2 habis dibagi 9 (q) adalah pernyataan yang benar (modus ponens) Pembuktian Induksi Matematika Digunakan untuk membuktikan universal statements n A S(n) dengan A N dan N adalah himpunan biangan integer positif atau himpunan bilangan asli. S(n) adalah fungsi propositional PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 11 Tahap Induksi Matematika Basis step : Tunjukkan bahwa S(1) benar. Inductive step : Asumsikan S(k) benar. Akan dibuktikan S(k) S(k+1). Conclusion : S(n) adalah benar untuk setiap n bil. integer positif. Bahasa Matematika Himpunan Himpunan adalah konsep paling mendasar dari semua cabang matematika Secara intuitif, himpunan adalah sebuah kumpulan atau klas dari objek. Objek yang berada dalam himpunan disebut elemen atau anggota himpunan Notasi Himpunan PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 12 Himpunan biasanya dinyatakan dalam huruf besar, misalnya A, B, C, X, Y, … Sedangkan anggota himpunan dinyatakan dalam huruf kecil, misalnya a, b, c, x, y, … Himpunan ditulis dalam bentuk { }, misalnya A = {1, 3, 7, 10} Sering juga ditulis dalam bentuk set builder Misalnya B = {x | x adalah bilangan genap} C = { x | x = 2k + 1, 0 < k < 3} Jika x adalah anggota himpunan A, maka: Ditulis sebagai: x A Sebaliknya: Ditulis sebagai: x A Contoh: A = {x | x adalah bilangan ganjil} berarti : 1 A, 5 A tapi 6 A Himpunan Hingga dan Tak Hingga Himpunan Hingga: Himpunan yang anggotanya berhingga atau jumlah anggotanya dapat dihitung Contoh: A = {1, 2, 3, 4} B = {x | x adalah integer, 1 < x < 4} M adalah himpunan hari dalam satu minggu Himpunan Tak hingga: Adalah himpunan yang anggotanya tak berhingga Contoh: N = {x | x adalah bilangan genap} Z = {integer} = {…, -3, -2, -1, 0, 1, 2, 3,…} S = {x| x bilangan riil dan 1 < x < 4} = [0, 4] Kesamaan Himpunan Himpunan A dan B dikatakan sama (A = B) jika kedua himpunan mempunyai anggota yang sama Contoh: A = {1, 2, 3, 4} B = {3, 4, 2, 1} C = himpunan bilangan asli yang kurang dari 5 Himpunan Kosong / Empty PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 13 Himpunan Kosong ( atau { } ) adalah himpunan yang tidak memiliki anggota Sering juga dikatakan sebagai null set atau void set Contoh: A={} B = himpunan manusia yang berusia lebih dari 200 tahun saat ini C = { x | x2 = 4, x bilangan ganjil } Kardinalitas Kardinalitas dari himpunan A (notasinya |A|) adalah banyaknya elemen pada A. Contoh: Jika A = {1, 2, 3} maka |A| = 3 Jika B = {x | x bilangan asli dan 1< x< 9} maka |B| = 9 Kardinalitas Takhingga Countable (misal: bil. Asli, bil. bulat) Uncountable (misal: bilangan riil) Sub Himpunan / Himpunan Bagian Jika semua anggota himpunan A adalah anggota himpunan B maka A dikatakan sebagai himpunan bagian dari B ditulis : AB Proper subset: A dikatakan proper subset dari B jika A B dan A B A B proper subset Contoh: A = {1, 3, 5} , B = {5, 4, 3, 2, 1} , C = {1, 2, 5} maka diperoleh : A B, C B, dan A C Definisi: Himpunan A dikatakan sama dengan himpunan B (A = B) jika dan hanya jika A B dan B A Note: A B proper subset A B himpunan bagian/subset Himpunan Universal Himpunan dimana semua anggotanya kemungkinan akan menjadi objek. sering disebut Universe of Discourse Contoh: Dalam studi populasi, maka himpunan universalnya adalah semua manusia yang hidup di bumi X bilangan riil, bilangan riil disini adalah himpunan universal U = { semua bilangan asli } PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT U = { x | x adalah bilangan asli dan 1< x<10 } 14 Himpunan dari Himpunan (family set) Adalah himpunan yang anggotanya himpunan pula. Notasinya : A, B, Contoh: A = {2, {3, 5}, 4, {1, 3}} Himpunan Kuasa / Power Set Himpunan kuasa dari X adalah himpunan dari semua himpunan bagian dari X, notasinya P(X) atau 2X P(X) = { A | A X } Contoh: A = {1, 2, 3} P(A) = 2A = {, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, A} Jika |X| = n, maka |P(X)| = 2n. Latihan -1 Bila diketahui P = {3, {2,3}, {1}, 4} maka pernyataan yang benar yaitu : (a). 1 P (b). {1} P (c). 3 P (d). {1} P (e). {4} P Latihan -2 Bila diketahui X = {1, 2, 3, 4} dan Y = { a | a bilangan integer dan 0 < a < 5 } maka akan berlaku hubungan sebagai berikut : (a). X Y (b). Y X (c). X = Y Operasi Dasar Himpunan Diketahui dua himpunan A dan B, maka Gabungan ( ) dari A dan B didefinisikan sebagai himpunan A B = { x | x A atau x B} Irisan ( ) : dari A dan B didefinisikan sebagi himpunan A B = { x | x A dan x B} PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 15 Himpunan Disjoin Himpunan A dan B dikatakan disjoin jika tidak ada satupun anggota A yang menjadi anggota B demikian juga sebaliknya AB= Contoh: A = {1, 2, 3} B = {5, 6, 7} A B = A disjoin dengan B Operasi Dasar Himpunan -2 Selisih ( – ) A terhadap B didefinisikan sebagai: A – B = { x | x A and x B} Komplemen dari A dalam himpunan universal U adalah: Ac = U – A A - B disebut juga komplemen relatif B dalam A Operasi Dasar Himpunan -3 Selisih simetris (Symmetric difference) A terhadap B didefinisikan sebagai: A Δ B = (A B) - (A B) Operasi Dasar Himpunan -4 Contoh : Diketahui A = {1, 3, 5} B = {4,5,6} dan U = {1,2,3,4,5,6} maka : A B = {1, 3, 4, 5, 6} A B ={5} A – B = {1, 3} B – A = {4, 6} Ac = {2, 4, 6) A Δ B = {1, 3, 4, 6} Diagram Venn – Euler PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 16 Diagram Venn adalah bentuk gambar dari himpunan Gabungan, irisan, selisih, selisih simetris dan komplemen dapat diidentifikasi dalam diagram venn BA A Diagram Garis B Menggambarkan hubungan antara himpunan dengan cara bila A B maka B digambarkan lebih tinggi dari A dan dihubungkan dengan garis. Bentuknya : Contoh Diagram garis X = {a}, Y = {a, b}, Z = {a, b, c}, W = {a, b, d} tentukanlah diagram garis ! Z W Y X Hukum Aljabar Himpunan -1 Misalkan U himpunan semesta dan A, B, C sub himpunan dari U maka akan berlaku: Hukum Asosiatif : (A B) C = A (B C) (A B) C = A (B C) Hukum Komutatif : AB=BA AB=BA Hukum Distributif : A(BC) = (AB)(AC) A(BC) = (AB)(AC) Hukum Aljabar Himpunan -2 Hukum Identitas : AU=A A = A Hukum Komplemen : PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 17 AAc = U AAc = Hukum Idempoten : AA = A AA = A Hukum Keterbatasan : AU = U A = Hukum Aljabar Himpunan -3 Hukum Absorpsi : A(AB) = A Hukum Involusi : Hukum 0/1 : c = U A(AB) = A (Ac)c = A Uc = Hukum De Morgan’s : (AB)c = Ac Bc (AB)c = Ac Bc Latihan 3 Buatlah diagram Ven dan diagram garis dari : A = {1,2,3,4,5,6,7,8,9} B = {2,4,6,8} C = {1,3,5,7,9} D = {3,4,5} E = {3,5} Latihan 4 Diketahui himp. semesta U = {1,2, …, 10}, A = {1,4,7,10}, B = {1,2,3,4,5}, dan C = {2,4,6,8}. Tentukanlah elemen dari : 1. A (B C) 2. Bc (C – A) 3. (A B)c C 4. (B Δ C) (A C) Barisan PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT Barisan adalah daftar bilangan yang terurut dinyatakan dengan: sn , merupakan fungsi dari n = 1, 2, 3,... 18 Jika S adalah barisan {sn| n = 1, 2, 3,…}, s1 menyatakan elemen pertama, s2 sebagai elemen kedua, … sn sebagai elemen ke-n {n} disebut himpunan indeks dari barisan. Biasanya bilangan asli atau sub himpunannya. Contoh : 1. S = {sn} adalah barisan yang diefinisikan dengan: sn = 1/n , untuk n = 1, 2, 3,… beberapa elemen pertamanya : 1, ½, 1/3, ¼, 1/5, 1/6, … 2. S = {sn} barisan yang didefinisikan sebagai sn = n2 + 1, untuk n = 1,2,3,… beberapa elemen pertama : 2, 5, 10, 17, 26, 37, 50,… Suatu barisan S = {sn} dikatakan increasing (menaik) jika sn < sn+1 decreasing (menurun) jika sn > sn+1, untuk setiap n = 1, 2, 3,… Contoh : Sn = 4 – 2n, n = 1, 2, 3,… decreasing : 2, 0, -2, -4, -6,… Sn = 2n -1, n = 1, 2, 3,… increasing : 1, 3, 5, 7, 9, … Sub Barisan Sebuah subbarisan dari sebuah barisan s = {sn} adalah barisan t = {tn} yang terdiri dari elemen tertentu di s dengan urutan sesuai yang ada pada s Contoh: s = {sn = n | n = 1, 2, 3,…} 1, 2, 3, 4, 5, 6, 7, 8,… t = {tn = 2n | n = 1, 2, 3,…} 2, 4, 6, 8, 10, 12, 14, 16,… t adalah subbarisan dari s Notasi Sigma ( )/Sumasi Jika {an} barisan, maka jumlah nya : m ak = a1 + a2 + … + am k=1 disebut juga “notasi sigma - ” PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 19 Notasi Pi () Jika {an} barisan , maka perkalian m an = a1a2…am n=1 Disebut juga dengan notasi pi - String X himpunan yang tidak kosong. Suatu string atas X adalah barisan hingga elemenelemen dari X. Contoh: jika X = {a, b, c} maka = bbaccc adalah string atas X Notasi: bbaccc = b2ac3 Pajang string adalah banyaknya elemen-elemen dari dan dinotasikan ||. Misalkan = b2ac3 maka || = 6. String hampa adalah string tanpa elemen, yang dinotasikan sebagai: (lambda) Panjang string hampa adalah nol Misal: X* = {semua strings atas X termasuk } Maka: X+ = X* - {}, himpunan dari semua string yang tidak hampa Concatenation dari dua string dan adalah operasi pada string yang yang menuliskan string diikuti dengan string sehingga menghasilkan string baru Contoh : = bbaccc dan = caaba, maka = bbaccccaaba = b2ac4a2ba Sehinga || = | | + || PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 20 Bahasa Matematika Sistem bilangan Binary digits : 0 dan 1, disebut bits. Topik bahasan sistem bilangan : binary, hexadecimal and octal. Ingat kembali sistem bilangan desimal. Contoh : 45,238 = 8 satuan 8x1 = 8 3 puluhan 3 x 10 = 30 2 ratusan 2 x 100 = 200 5 ribuan 5 x 1000 = 5000 4 puluhan ribu 4 x 10000 = 40000 Konversi Biner ke Desimal Bilangan 1111011 akan ekivalen dengan 1 one 1 x20 = 1 two 1x21 = 2 0 four 0x22 = 0 1 eight 1x23 = 8 1 sixteen 1x24 = 16 1 thirty-two 1x25 = 32 1 sixty-four 1x26 = 64 123 basis 10 1 Konversi desimal ke Biner Bilangan 7310 akan ekivalen ke 73 = 2 x 36 + sisa 1 36 = 2 x 18 + sisa 0 18 = 2 x 9 + sisa 0 9 = 2 x 4 + sisa 1 4 = 2 x 2 + sisa 0 2 = 2 x 1 + sisa 0 1 = 2 x 0 + sisa 1 7310 = 10010012 (hasilnya ditulis dari sisanya mulai dari yang terakhir sampai yang pertama) Tabel penjumlahan biner + 0 1 0 1 0 1 1 10 PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 21 Penjumlahan Bilangan Biner Contoh : 1001012 + 1100112 = ? Jawab : 1 1 1 carry ones 1001012 1100112 10110002 Sistem Bilangan Hexadecimal Decimal system 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 A D B C E F Hexadecimal system Konversi Heksa ke Desimal Bilangan 3A0B16 akan ekivalen ke : 11 x 160 = 11 0 x 161 = 0 10 x 162 = 2560 3 x 163 = 12288 1485910 Konversi Desimal ke Heksa Bilangan 234510 maka 2345 = 146x16 + sisa 9 146 = 9x16 + sisa 2 9 = 0 x 16 + sisa 9 234510 akan ekivalen dengan 92916 Penjumlahan Heksa Desimal Jumlahkan 23A16 + 8F16 ! 23A16 + 8F16 2C916 PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 22 Konversi Heksa ke Desimal Heksa Desimal Biner , atau Satu digit heksa konversikan menjadi 4 digit biner Contoh : 2A16 = ( ? )2 Konversi Biner ke heksa Biner Desimal Heksa , atau Satu 4 digit biner konversikan menjadi 1 digit heksa (kelompokan dari kanan) Contoh : 1101010102 = ( ? )16 ORDERED PAIRS/PASANGAN TERURUT Ordered pairs/pasangan terurut terdiri dari dua elemen a dan b dengan a disebut elemen pertama dan b elemen kedua Notasi : (a,b) Dua pasangan terurut (a,b) dan (c,d) dikatakan sama jika a = c dan b = d Produk Cartesian Mis A dan B adalah himpunan, maka produk cartesian A x B didefinisikan sebagai: A x B = {(a,b) | a A, b B} Contoh 1 : A = { a, b } B = { 1,2,3 } A x B = {(a,1),(a,2),(a,3),(b,1),(b,2),(b,3)} Fungsi Proporsinal Fungsi Proporsional: Didefinisikan sebagai produk cartesian A x B dan dinyatakan sebagai P(x,y) P(x,y) sering juga dikatan sebagai kalimat terbuka Contoh 2 : P(x,y) = “x lebih kecil dari y” P(x,y) = “x dibagi y” Relasi Sebuah Relasi R terdiri dari: Sebuah himpunan A Sebuah himpunan B Dan sebuah kalimat terbuka P(x,y) yang bernilai benar atau salah untuk setiap (a,b) A x B PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT Maka dikatakan R adalah Relasi dari A ke B dan ditulis: R = (A,B,P(x,y)) Jika P(a,b) benar ditulis a R b Jika P(a,b) salah ditulis a R b 23 Defenisi Relasi Definisi: Sebuah Relasi dari A ke B adalah subset dari A x B Contoh 3 : A = (1,2,3} B = {a,b} R = {(1,a),(1,b),(3,a)} relasi Domain dan Range Misalkan relasi R dari X ke Y, domain dari R adalah himpunan Dom(R) = { xX | (x, y) R utk beberapa yY} range dari R adalah himpunan Rng(R) = { yY | (x, y) R utk beberapa x X} Contoh: Jika X = {1, 2, 3} dan Y = {a, b} R = {(1,a), (1,b), (2,b)} Maka: Dom(R)= {1, 2}, Rng(R) = (a, b} Contoh Relasi Mis X = {1, 2, 3} dan Y = {a, b, c, d}. Def R = {(1,a), (1,d), (2,a), (2,b), (2,c)} Relasi dapat disajikan dalam gambar sbb: Relasi Inverse Definisi: Sebuah Relasi dari A ke B memiliki Inverse R-1 dari B ke A dinyatakan sebagai: R-1 = {(b,a) | (a,b) R} Contoh 4 : PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT W = {a,b,c} R = {(a,b),(a,c),(c,c),(c,b)} relasi R-1 = {(b,a),(c,a),(c,c),(b,c)} relasi invers 24 Relasi invers Contoh: jika R = {(1,a), (1,d), (2,a), (2,b), (2,c)} maka R -1= {(a,1), (d,1), (a,2), (b,2), (c,2)} Relasi komposisi Definisi: Jika R1 relasi dari X Y dan R2 relasi dari Y Z maka komposisi dari R1 dan R2 yang dinotasikan R1 R2 merupakan relasi dari X Z dengan R1 R2 = { (x,z) | ada y Y , (x,y) R1 dan (y,z) R2 } Contoh 5 : R1 = {(1,2), (1,6), (2,4), (3,4), (3,6), (3,8)} R2 = {(2,u), (4,s), (4,t), (6,t), (8,u)} R1 R2 = {(1,u),(1,t),(2,s),(2,t),(3,s),(3,t),(3,u)} Sifat Relasi Refleksif: R = (A,A,P(x,y)) adalah relasi di A, maka R disebut relasi refleksif jika: a A maka (a,a) R Simetrik: R relasi di A maka R dikatakan Simetrik: jika (a,b) R maka (b,a) R Transitif: Sebuah Relasi R di A dikatakan Transitif Jika (a,b) R dan (b,c) R maka (a,c) R Anti Simetrik: Relasi R di A dikatakan anti Simetrik Jika (a,b) R dan (b,a) R maka a = b Contoh 6 : A = {1,2,3,4} R = {(x,y) | x habis membagi y, x & y A } Maka sifat dari R tersebut adalah : PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT R refleksif R tidak simetrik R transitif R anti simetrik 25 Contoh 7 : S = {1,2,3} R = {(1,1), (1,2), (1,3), (2,1), (2,3)} Maka sifat relasinya adalah ? Tidak refleksif Tidak simetrik Tidak transitif Tidak anti semetrik Relasi Ekivalen Relasi Ekivalen: Sebuah relasi R di A dikatakan Ekivalen jika: R adalah Refleksif ,Simetrik, dan transitif. Contoh 8 : S = {1,2,3} dan R : S S R1 ={(1,1),(1,2),(1,3),(2,1),(2,2), (3,1), (3,3)} R relasi tidak ekivalen R2 ={(1,1),(1,2),(1,3),(2,1),(2,2), (3,3)} ? Kelas Ekivalen Jika R relasi ekivalen pada A maka kelas ekivalen a didefinisikan sebagai [a] = { b | (a,b) R } a A Himpunan dari semua kelas ekivalen dari A terhadap relasi R disebut kuosien A pada R, dengan notasi A/R. A/R = { [a] | a A } Contoh 9 : S = {1,2,3} dan R : S S R1 ={(1,1),(1,2),(1,3),(2,1),(2,2), (3,1), (3,3)} Maka kelas ekivalen dari R adalah ? Relasi Partial Order Diketahui R adalah relasi pada A, maka R adalah relasi partial order jika R memiliki sifat refleksif, anti simetrik, dan transitif. Misalkan x,yA Jika (x,y) atau (y,x) R, maka x dan y comparable Jika (x,y) R dan (y,x) R, maka x dan y incomparable Jika setiap pasang elemen pada A comparable, maka R adalah total order pada A Contoh 10 : PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT A= {1,2,3,4,5,6} R:AA R = { (x,y) | x habis membagi y} Apakah R relasi Partial order? 26 Partisi Suatu partisi S dari A adalah himpunan family {A1, A2,…, An} yang merupakan subsets dari A, sehingga A1A2A3…An = A Aj Ak = j, k, dengan j k, 1 < j, k < n. Contoh 11 : JIka A = {bil. bulat}, E = {bil bulat genap} dan O = {bil bulat ganjil}, maka S = {E, O} adalah partisi dari X. Poset Sebuah Partial order dalam himpunan A adalah Relasi R di A dimana: R refleksif R anti simetrik R transitif DPL Jika R relasi di A yang merupakan partial order maka (a,b) R dinyatakan sebagai: a b dibaca “a mendahului b” Definisi: Sebuah himpunan bersama dengan relasi partial order R tertentu di A dikatakan sebagai partially ordered set Beberapa tambahan notasi: a < b berarti a b dan a b dibaca “a tegas mendahului b” b a berarti a b dibaca “b mendominasi a” b > a berarti a < b dan a b dibaca “b tegas mendominasi a” Dua elemen a dan b dalam Poset dikatakan not comparable jika a b dan b a Totally Ordered set Sebuah total order dalam A adalah partial order di A dengan tambahan sifat a < b, a=b, atau a> b untuk a dan b anggota A Sebuah himpunan A bersama dengan total order yang spesifik di A dikatakan totally ordered set First And Last Elements First Element: a A dikatakan first element dari A jika x A berlaku a x PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT Last Element: b A dikatakan Last element dari A jika x A berlaku x b 27 Maximal and Minimal Elements Maximal Element: a A dikatakan maximal element dari A jika a x berarti a = x Minimal Element: b A dikatakan minimal element dari A jika x b berarti b = x Upper and Lower Bound Lower Bound Mis B subset dari Poset A, sebuah elemen m di A dikatakan lower bound dari B jika x B, m x Jika sebuah lower bound dari B mendominasi setiap lower bound yang lain maka disebut greatest lower bound (g.l.b.) atau infimum dari B inf(B) Upper Bound Mis B subset dari Poset A, sebuah elemen M di A dikatakan upper bound dari B jika x B, x M Jika sebuah upper bound dari B didahului oleh setiap upper bound yang lain maka disebut least upper bound (l.u.b.) atau supremum dari B sup(B) Similar Set Sebuah ordered set A adalah similar dengan ordered set B (A = B) jia terdapat fungsi f: A B yang satu-satu dan onto dengan sifat: a, a’ A maka a < a’ Jika dan hanya jika f(a) < f(a’) Fungsi f dikatakan similarity mapping dari A pada B PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 28 Bahasa Matematika Penyajian Relasi Dalam matriks Misal X, Y himpunan dan R relasi XY Penulisan matriks A = (aij) dari relasi R dengan aturan : Baris A = semua element dari X Kolom A = semua element dari Y Elemen ai,j = 0 jika (xi , yj ) R dengan xi X dan yj Y Element ai,j = 1 jika (xi , yj ) R dengan xi X dan yj Y Matriks dan Relasi Contoh: misal X = {1, 2, 3}, Y = {a, b, c, d} R = {(1,a), (1,d), (2,a), (2,b), (2,c)} maka matriks A dari relasi R adalah A= a b c d 1 1 0 0 1 2 1 1 1ccc 0 3 0 0 0 0 Jika R adalah relasi dari sebuah himpunan X ke dirinya sendiri dan A adalah matriks dari R maka A adalah matriks bujur sangkar. Contoh: Misal X = {a, b, c, d} and R = {(a,a), (b,b), (c,c), (d,d), (b,c), (c,b)}. maka A= a b c d a 1 0 0 0 b 0 c1 1 0 PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT c 0 1 1 0 d 0 0 0 1 29 Misal A adalah matriks buju sangkar sebuah relasi R dari X ke dirinya sendiri. Misal A2 = perkalian matriks AA. R adalah refleksif semua bagian aii pada diagonal utama matriks A adalah 1. R adalah simetrik aij = aji untuk semua i dan j, Yaitu R adalah relasi simetrik pada X jika A adalah matriks simetrik R adalah transitif ketika cij pada C = A2 tidak nol dan maka aij pada A juga tidak nol Contoh: Misal X = {a, b, c, d} and R = {(a,a), (b,b), (c,c), (d,d), (b,c), (c,b)}. maka 1 0 A 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 2 A 0 0 0 0 0 2 2 0 2 2 0 0 0 1 ketika cij pada C = A2 tidak nol dan maka aij pada A juga tidak nol, maka R dikatakan transitif Contoh: Misal X = {a, b, c, d} and R = {(a,a), (b,b), (c,c), (d,d), (a,c), (c,b)}. maka As 1 0 1 0 0 1 0 0 = 0 1 1 0 0 0 0 1 1 1 1 0 1 0 A2 = 0 0 0 0 0 0 2 1 0 1 c12 = 1 pada C = A2 akan tetapi a12 =0 pada A, berarti R tidak transitif Database Rasional Suatu relasi biner R adalah suatu relasi yang menghubungkan dua himpunan. Suatu relasi n-ary R adalah relasi yang menghubungkan n himpunan (X1, X2,…, Xn) atau dpl. , R X1 x X2 x…x Xn. Berarti , anggota dari R adalah n-tuples (x1, x2,…, xn) dengan xk Xk, 1 < k < n. Contoh Diketahui suatu relasi Mahasiswa (npm, nama, alamat, kota, jkel). Npm Nama Alamat PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN Kota Jkel 2015 MATEMATIKA DISKRIT 30 126 Kurnia Margonda Depok P 130 Andi Tigaraksa Tangerang P 135 Dewi Mekarsari Depok W 141 Shofi Jati asih Bekasi W Tabel yang menyatakan relasi mahasiswa diatas dapat ditulis sebagai himpunan: {(126, Kurnia, Margonda, Depok, P), (130, Andi, Tigaraksa, Tanggerang, P), ( 135, Dewi, Mekarsari, Depok, W), (141, Shofi, Jatiasih, Bekasi, W)} Yang merupakan relasi R dengan 4-tuple Database Database adalah kumpulan dari record-record yang memuat informasi. Database management systems (DBMS) adalah suatu program untuk mengakses dan mengolah informasi yang tersimpan dalam database. Model database rasional Kolom dari relasi n-ary disebut attributes Suatu attribute disebut key jika tidak ada dua entries yang bernilai sama. Misal NPM, Kode Matakuliah, No. KTP Query adalah permintaan informasi pada database Operator Operator Select : memilih n-tuples dari relasi sesuai kondisi pada attribut-nya. Operator Project : memilih dua atau lebih kolom dan menghapus duplikatnya. Operator Join : mengolah dua relasi. Contoh Kasus Diketahui suatu relasi Mahasiswa (npm, nama, alamat, kota, jkel). Npm Nama Alamat Kota Jkel 126 Kurnia Margonda Depok P 130 Andi Tigaraksa Tangerang P 135 Dewi Mekarsari Depok W 141 Shofi Jati asih Bekasi W PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 31 Dan relasi krs (npm, kmk, nmk, sks). Npm Kmk Nmk sks 126 203 Matematika Diskrit 3 130 211 Akuntansi lanjut 2 135 205 Dasar akuntansi 3 141 203 Matematika Diskrit 3 Select : mahasiswa [kota=Depok] kota=“Depok” (mahasiswa) Akan menampilkan tuple: (126, Kurnia, Margonda, Depok, P) ( 135, Dewi, Mekarsari, Depok, W) Project : mahasiswa [Nama, Kota] Nama, Kota (mahasiswa) Akan menampilkan tuple: (Kurnia, Depok), (Andi, Tanggerang), (Dewi, Depok), (Shofi, Bekasi) Join : mahasiswa x krs [kmk=203, Nama ] Nama (kmk=“203” (mahasiswa x krs) ) Akan Menampilkan: (203, Kurnia), (203, Shofi) Fungsi Suatu fungsi f dari X ke Y (f : X Y) adalah suatu relasi dari X ke Y sedemikian sehingga untuk setiap anggota X dikaitkan dengan satu dan hanya satu anggota Y. Contoh : X = {a, b, c, d}, Y = {1, 2, 3, 4, 5} f(a) = f(b) = 3, f(c) = 5, f(d) = 1. PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 32 Domain dan Range Domain dari fungsi f adalah X Codomain nya adalah Y Range dari fungsi f = { y | y = f(x), x X} Range codomain Operator Modulus x bilangan bulat non negatif dan y bilangan bulat positif r = x mod y adalah sisa hasil bagi x dengan y yang merupakan bilangan bulat positif Contoh : 1 = 13 mod 3 6 = 234 mod 19 4 = 2002 mod 111 mod disebut operator modulus Fungsi satu-satu (one-one) Suatu fungsi f : X Y disebut fungsi satu-satu bila x1 , x2 X dan x1 x2 maka f(x1) f(x2) Contoh : 1. f(x) = 2x fungsi satu-satu 2. f(x) = x2 bukan fungsi satu-satu karena untuk setiap x bilangan riil berlaku f(x) = f(-x). Fungsi Pada (onto) Suatu fungsi f : X Y disebut pada/onto untuk setiap y Y terdapat paling sedikit satu elemen x X dengan f(x) = y. dpl. Rng(f) = Y. Contoh : 1. f(x) = 2x fungsi pada 2. f(x) = x2 bukan fungsi pada PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 33 Untuk X dan Y himpunan bilangan riil, akan tetapi, jika Y dibatasi pada Rng(f) = R +, himpunan bilangan riil positif, maka f(x) pada. Fungsi Bijektif Suatu fungsi f : X Y disebut bijektif f satu-satu dan pada. Contoh : Fungsi linier f(x) = ax + b adalah fungsi bijektif, untuk X dan Y bil. riil. Fungsi f(x) = x3 adalah bijektif untuk X dan Y bilangan riil. Fungsi f(x) = x2 bukan fungsi bijektif, untuk X dan Y bilangan riil. Fungsi Invers Jika fungsi f : X Y atau y = f(x), maka f invers atau invers dari f ditulis sebagai f – 1 adalah himpunan {x | x X dan y = f(x)}. f inverse atau f -1 tidak selalu berupa fungsi. Contoh : f(x) = x2, maka f inversnya atau f -1(x) = ± x dan bukan fungsi. Jika f merupakan fungsi bijektif maka f invers atau f -1 merupakan fungsi atau fungsi invers. Contoh Fungsi Invers 1. f(x) = x + 5 maka fungsi inversnya adalah : f-1(x) = x – 5 untuk setiap x bilangan riil 2. f(x) = x3 maka f inversnya adalah : f-1(x) = 3. f(x) = x2 + 4x - 1, maka f inversnya ? Diberikan dua fungsi g : X Y & f : Y Z, fungsi kompoisisi f ◦ g didefinisikan sebagai f ◦ g (x) = f(g(x)) x X. Contoh: g(x) = x2 -1, dan f(x) = 3x + 5. maka f ◦ g(x) = f(g(x)) = f(x2 -1) = 3(x2 –1) + 5 = 3 x2 + 2 Bersifat asosiatif f ◦ (g ◦h) = (f ◦ g) ◦ h, Tidak komutatif secara umum : f ◦ g g ◦ f. Beberapa fungsi Diskrit Fungsi DIV: hasil bagi integer PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 5 DIV 3 = 1 16 DIV 5 = 3 Fungsi Floor x: nilai integer terbesar yang x 1,5 = 1 -2,3 = -3 Fungsi ceiling x : nilai integer terkecil yang x 9,1 = 10 -11,3 = -11 PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 34 2015 MATEMATIKA DISKRIT 35 ALGORITMA Pendahuluan ALGORITMA adalah suatu kumpulan langkah-langkah yang hingga dan teurut yang memiliki karakteristik: Presisi: Setiap langkah dinyatakan secara tepat Unik: hasil dari setiap tahap memiliki definisi yang unik. Terbatas : algoritma akan berhenti setelah sejumlah langkah yang hingga. Karakteristik Lain dari Algoritma Input : membutuhkan output Output : menghasilkan output Berlaku umum : dapat diterapkan untuk himpunan input yang bervariasi (dinamis) Penyajian Algoritma Algoritma disajikan dalam bentuk diagram alur (flowchart) atau pseudocode (bahasa semu). Pseudocode : pemberian instruksi dalam bahasa umum yang mirip dengan bahasa pemrograman (misal C++ atau Pascal). Procedure If-then, action If-then-else Begin Do Contoh -1 Algoritma Sederhana Algoritma mencari bilangan terbesar dari tiga bilangan a, b, c: Assignment operator () s k : “copy nilai k ke s” 1. Input a, b, c 2. x a 3. If b > x then x b 4. If c > x then x c 5. Output x Contoh -2 Algoritma Sederhana PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT Algoritma menentukan akar dari suatu bilangan bulat positif yang hasilnya bilangan bulat. 1. Input y 2. q 0 3. p q * q 4. if p = y then output q “akarnya, stop. 5. q q + 1 6. kembali ke langkah - 3 lebih tepat disebut Semi Algoritma 36 Contoh -3 Algoritma Sederhana Perbaikan dari jawaban contoh 2 1. Input y 2. q 0 3. p q * q 4. if p = y then output q “akarnya”, end. 5. if p > y then output “tidak punya akar”, end. 6. q q + 1 7. kembali ke langkah - 3 Algoritma Eugledian Faktor: Diberikan bilangan integer n, dikatakan bahwa k adalah faktor (divisor) dari n, dinotasikan : k|n, jika k adalah bilangan integer positif dan n = kq dengn q bilangan integer. Sedangkan q disebut quotient. Faktor persekutuan (common divisor) dari dua bilaAngan integer m dan n adalah bilangan integer positif k sehingga berlaku k|m dan k|n. Diberikan dua bilangan integer m dan n, gcd(m,n) atau greatest common divisor dari m dan n adalah k > 1 dan k merupakan faktor yang terbesar dari semua faktor persekutuan dari m dan n. Algoritma Euclidean merupakan algoritma untuk mencari gcd(m, n). Teorema 1: jika a bilangan integer nonnegatif, b bilangan integer positif, dan r = a mod b, maka gcd(a,b) = gcd(b,r). Contoh : jika a = 120, b = 80, maka r = 40 = 120 mod 80. Sehingga berlaku, gcd(120,80) = gcd(80,40) 1. input m , n 2. r m mod n 3. while r 0 do begin 4. mn 5. nr 6. r m mod n endwhile 7. output n Contoh kasus : PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT m=5 n=2 Kita telusuri (trace) : m n r while output 5 2 1 T 2 1 0 F 1 37 Algoritma Rekursif procedure recursive adalah prosedure yang memanggil dirinya sendiri. Contoh : diberikan bilangan integer positif n, faktorial dari n didefinisikan sebagai perkalian dari n dengan semua bilangan yang < n dan > 0. Notasinya : n! = n(n-1)(n-2)…3.2.1 n! = n(n-1)! = n(n-1)(n-2)!, dst. Algoritma rekursif adalah algoritma yang mengandung prosedur rekursif. Komponen algoritma Rekursif : 1. Basis : suatu keadaan yang menyebabkan proses pemanggilan harus berhenti. 1. Rekurens : suatu fungsi/prosedur yang akan memanggil dirinya sendiri, dengan perubahan parameter dan akan menuju ke basis. Contoh kasus : mencari faktorial dari n. Algoritmanya : 1. fak(n) 2. IF n = 1 THEN 3. fak 1 ELSE 4. fak n * fak(n-1) ENDIF Barisan Fibonacci Leonardo Fibonacci (Pisa, Italy, ca. 1170-1250) Barisan Fibonacci f1, f2,… didefinisikan secara rekursif sebagai : f1 = 1 f2 = 2 fn = fn-1 + fn-2 for n > 3 Beberapa suku pertama barisannya : 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597,… Algoritma Barisan Fobonacci 1. fib(n) 2. if n 3 then 3. fib fib(n-1) + fib(n-2) else 4. if n = 1 then fib 1 else 5. fib 2 PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT endif endif 38 Contoh kasus : n = 4 1. fib(4) 3 fib(3) fib(2) fib(2) + fib(1) 2 2 1 Kompleksitas Algoritma Kompleksitas/Complexity: banyaknya waktu tempuh dan atau kebutuhan memori (space) dalam menjalankan suatu algoritma. Kompleksitas tergantung pada banyak faktor : jenis data, jenis komputer, bahasa pemrograman, dll. Jenis Komlpeksitas Best-case time = waktu minimum yang dibutuhkan dalam menjalankan algoritma dengan input n data. Worst-case time = waktu maksimum yang dibutuhkan dalam menjalankan algoritma dengan input n data. Average-case time = waktu rata-rata yang dibutuhkan dalam menjalankan algoritma dengan input n data. average time needed PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015 MATEMATIKA DISKRIT 39 Ukuran dari Algoritma Misal f and g fungsi dengan domain Z+ = {1, 2, 3,…} f(n) = O(g(n)): f(n) adalah at most g(n) (disebut juga sebagai NOTASI BIG Oh untuk f) Jika terdapat sebuah konstanta positif C1 sedemikian sehingga berlaku |f(n)| < C1|g(n)| untuk semua n yang berhingga f(n) = (g(n)): f(n) adalah at least g(n) (disebut juga sebagai NOTASI OMEGA untuk f) Jika terdapat sebuah konstanta positif C2 sedemikian sehingga berlaku |f(n)| > C2|g(n)| untuk semua n yang berhingga f(n) = (g(n)): f(n) is or order g(n) if it is O(g(n)) and (g(n)).(disebut juga sebagai NOTASI THETA untuk f) Contoh 60n2 + 5n + 1 ≤ 60n2 + 5n2 + n2 = 66n2, Ambil C1 = 66, maka diperoleh: 60n2 + 5n + 1 = 0 (n2 ) Karena: 60n2 + 5n + 1 ≥ 60n2 , n≥1 n≥ Ambil C2 = 60, maka diperoleh: 60n2 + 5n + 1 = Ω (n2) Karena 60n2 + 5n + 1 = 0 (n2) dan 602 + 5n + 1= Ω (n2) Maka 60n2 + 5n + 1 = Ω (n2) PRODI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN 2015