UNTUK
ILMU KOMPUTER
Sets
Logic
Function
Number
Graph
Dosen Pengampu:
Maxrizal, S.Pd.Si., M.Sc.
1
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Alllah SWT, Tuhan pencipta sekalian alam, yang
telah memberikan rahmat dan hidayah-Nya. Diktat kuliah ini disusun atas dasar kebutuhan
pengajaran untuk mahasiswa agar dapat menjadi acuan dan motivasi dalam belajar matematika
komputasi lanjutan. Diktat ini merupakan saduran atau ringkasan materi yang diambil dari Buku
Kenneth H. Rosen dan Modul kuliah Rinaldi Munir.
Adapun kritik dan saran yang membangun sangat diharapkan untuk perbaikan diktat ini ke
arah yang lebih baik.
Tim Penulis
2
DAFTAR ISI
3
BAB I
Matematika Diskrit dan Logika
A. Matematika Diskrit dan Perannya
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Matematika diskrit adalah cabang matematika yang mengkaji objek-objek diskrit. Suatu benda
dikatakan diskrit jika:
a. Terdiri dari sejumlah berhingga elemen yang berbeda, atau
b. Elemen-elemennya tidak bersambungan (unconnected).
Pada prinsipnya, komputer digital bekerja secara diskrit. Informasi yang disimpan dan dimanipulasi
oleh komputer adalah dalam bentuk diskrit sehingga matematika diskrit merupakan ilmu dasar
dalam ilmu komputer. Matematika diskrit memberikan landasan matematis untuk kuliah-kuliah lain
di informatika seperti algoritma, struktur data, basis data, otomata dan teori bahasa formal, jaringan
komputer, keamanan komputer, sistem operasi, teknik kompilasi, dsb. Karena sangat penting dan
krusial, matematika diskrit sering dikatakan matematika-nya orang informatika. Beberapa materi
yang akan dibahas dalam matematika diskrit, yaitu:
a. Logika (logic)
b. Teori Himpunan (set)
c. Relasi dan Fungsi (relation and function)
d. Induksi Matematik (mathematical induction)
e. Teori Bilangan Bulat (integers)
f. Kombinatorial (combinatorics)
g. Teori Graf (graph – included tree)
h. Kompleksitas Algoritma (algorithm complexity)
4
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
B. Peran Logika
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Logika merupakan dasar dari semua penalaran (reasoning). Penalaran didasarkan pada hubungan
antara pernyataan (statements).
C. Proposisi
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Pernyataan atau kalimat deklaratif yang bernilai benar (true) atau salah (false), tetapi tidak
keduanya disebut proposisi. Berikut ini beberapa contoh proposisi, yaitu:
1. “ 12 10 “merupakan proposisi bernilai salah.
2. “Sekarang tahun 2015 dan 9 1 “merupakan proposisi bernilai salah.
5
3. “Jangan memakai HP saat kelas sedang berlangsung” bukan merupakan proposisi.
4. “ y 2 5 “ bukan merupakan proposisi.
Suatu proposisi dilambangkan dengan huruf kecil yaitu p, q, r, .
D. Operator Logika
Jika diberikan proposisi p dan q maka berlaku:
1. Ingkaran : tidak p
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Dinotasikan : p q,
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
6
3. Disjungsi (disjunction): p atau q
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Dinotasikan : p q
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Dinotasikan : p q .
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
7
Dinotasikan : p q
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
6. XOR
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Dinotasikan : p q .
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Latihan:
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
8
E. Operasi Bit dan Logika
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Contoh:
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
9
Exercises
Soal 1
Soal 2
Soal 3
Soal 4
10
Soal 5
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
a. Translating English Sentences
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
b. Boolean Search
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
11
Contoh kasus:
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
c. Logic Circuits
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
G. Ekuivalensi logis
Kedua ekspresi logika disebut ekuivalensi logis jika memiliki nilai kebenaran yang sama pada tiap
baris tabel kebenaran.Selanjutnya, ekuivalensi logis disimbolkan dengan “ ”.
Contoh:
1. p q q p ,
2. p q q p .
12
p q r p q r
p q r p q p r
4 Hukum Distributif
p q r p q p r
p p p
5 Hukum Idempoten p p p
pS p
p B B
6 Hukum Identitas
pS S
pB p
p p B
7 HukumNegasi
p p S
p q p q
8 Hukum DeMorgan
p q p q
9 Hukum Kontrapositif p q q p
10 Hukum Implikasi p q p q
11 HukumBiimplikasi p q p q q p
p p q p
12 Hukum Absorsi
p p q p
Contoh:
Buktikan sifat ekuivalensi logis dengan menggunakan hukum logika pada ekspresi
p q p q p .
Jawab:
p q p q p q q (Hukum Distributif)
pB (Hukum Negasi)
p≡ p (Hukum Identitas)
Jadi, terbukti p q p q p .
Exercise
Soal 1
13
Soal 2
Soal 3
Soal 4 - 10
14
H. Penarikan Kesimpulan Dengan Aturan Inferensi
e. Simplikatif
pq pq
atau
p q
f. Konjungsi
p
q
pq
Contoh:
Diberikan beberapa premis berikut ini:
P1 : p q .
P2 : q r .
P2 : r
C : p .
Apakah penarikan kesimpulan dari premis-premis di atas valid?
Jawab:
15
Langkah ke- Ekspresi Alasan
1 pq Premis 1
2 qr Premis 2
3 r Premis 3
4 pr Langkah 1,2; Silogisme hipotetikal
5 p Langkah 3,4; Modus tollens
Perhatikan bahwa pada langkah 5 telah menunjukkan kesimpulan yang diketahui. Dengan
demikian, argumen yang diselidiki valid.
Contoh:
Diberikan beberapa premis berikut ini:
P1 : Anda pintar membuat program atau merakit hardware komputer.
P2 : Anda tidak pintar membuat program atau mengelola anti virus.
C : Anda pintar membuat program atau mengelola anti virus.
Apakah penarikan kesimpulan dari premis-premis di atas valid?
Jawab:
Sebelumya untuk memudahkan penalaran, premis-premis dan kesimpulan di atas kita ubah ke
dalam simbol, sehingga diperoleh:
P1 : p q .
P2 : p r .
C: qr.
Berikut langkah pembuktian:
Langkah ke- Ekspresi Alasan
1 pq Premis 1
2 p r Premis 2
3 q p Langkah 1; Hukum Komutatif
4 q p Langkah 3; Hukum Implikasi
5 pr Langkah 2; Hukum Implikasi
6 q r Langkah 4,5; Silogisme Hipotetikal
7 qr Langkah 6; Hukum Implikasi
Perhatikan bahwa langkah 7 menunjukkan kesimpulan yang diberikan. Jadi, penarikan kesimpulan
dari argumen di atas valid.
16
Exercises
Soal 1
Soal 2
Soal 3
Soal 4
17
Soal 5
18
BAB II
Himpunan dan fungsi
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
A. Pengertian Himpunan
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Contoh 1:
Contoh 2:
Contoh 3:
19
Kesamaan dua himpunan
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
B. Jenis-Jenis Himpunan
a. Himpunan kosong (null sets)
Himpunan kosong adalah himpunan yang tidak memiliki anggota. Notasi untuk himpunan kosong
adalah atau .
Contoh:
1. A x x adalah manusia berkaki empat
2.
B x x 2 4 dan x ganjil
Jelas bahwa A , karena tidak ada manusia normal yang berkaki empat. Sedangkan B
, karena tidak ada angka ganjil yang memenuhi persamaan itu. Nilai x yang mungkin hanyalah
2 atau 2 .
Sumber: Kenneth H. Rosen (Discrete Mathematics and Its Applications 7th Edition)
Contoh:
1. merupakan himpunan bagian dari setiap himpunan.
20
2. Misalkan A 2,3 dan B 1,2,3,4 maka jelas A B .
Perhatikan bahwa A B dibaca A subset B atau bisa juga dinyatakan sebagai B super set
dari A .
Jika himpunan A memiliki n anggota maka banyak himpunan bagian dari A adalah 2n .
Misalkan A 1, 2,3 maka himpunan bagiannya adalah , 1 , 2 , 3 , 1, 2 , 1,3
, 2,3 dan 1, 2,3 .
Contoh:
1. Diberikan A 1, 2 , maka banyak himpunan bagian dari A adalah 22 4 yaitu
, 1 , 2 , 1, 2 .
Jadi 2 , 1 , 2 , 1, 2 .
A
21
Contoh:
1. Himpunan bilangan asli.
2. Himpunan bilangan bulat.
C. Diagram Venn
Pada diagram Venn, daerah persegi untuk menggambarkan himpunan semesta dan daerah
lingkaran untuk menggambarkan himpunan di dalamnya.
22
Contoh:
D. Cartesian Product
23
Contoh:
Exercises
Soal 1
Soal 2
Soal 3
Soal 4
Soal 5
24
Beberapa operasi yang dikenakan pada himpunan:
a. Irisan
A B x x A dan x B
b. Gabungan
A B x x A atau x B
c. Penjumlahan
A B x x A , x B , x A B
d. Selisih
A B x x A dan x B
25
e. Komplemen
Ac x x A dan x S
Contoh:
1. Diketahui S 1, 2, ,10 , A 2,3 dan B 2, 4,6,8,10 maka diperoleh
a. A B 2
b. A B 2,3, 4,6,8,10
c. A B 3, 4,6,8,10
d. A B 3
26
e. B A 4,6,8,10
f. Ac 1, 4,5,6,7,8,9,10
g. Bc 1,3,5,7,9
2. Perhatikan diagram Venn berikut ini!
27
G. Computer Represntation of Sets
28
Contoh:
Contoh:
Exercises:
Soal 1
Soal 2
Soal 3
29
Soal 4
Soal 5
H. Pengertian Fungsi
Definisi fungsi
30
I. Operasi Pada Fungsi
Contoh:
31
K. Invers Function and Compositions of Functions
32
Contoh:
33
L. Fungsi Floor dan Ceiling
Contoh:
Contoh:
Exercises
Soal 1
Soal 2
Soal 3
34
Soal 4
Soal 5
M. Barisan Bilangan
Contoh:
35
Contoh:
Contoh:
N. Reccurence Relation
36
Contoh:
Contoh:
Contoh:
Contoh:
37
O. Summations
Contoh:
38
Contoh:
Contoh:
Exercises
Soal 1
Soal 2
Soal 3
39
Soal 4
Soal 5
Soal 6
40
BAB III
INDUKSI & REKURSI
A. Induksi Matematika
41
Prinsip Dasar Induksi Matematis
Perhatikan bahwa langkah 1 dinamakan basis induksi, sedangkan langkah 2 dinamakan langkah
induksi. Langkah induksi berisi asumsi (andaian) yang menyatakan bahwa p(n) benar. Asumsi
tersebut dinamakan hipotesis induksi. Bila kita sudah menunjukkan kedua langkah tersebut benar
maka kita sudah membuktikan bahwa p(n) benar untuk semua bilangan bulat positif n.
42
Contoh:
Gunakan induksi matematik untuk membuktikan bahwa jumlah n buah bilangan ganjil positif
pertama adalah n2.
Jawab:
a. Basis induksi:
Untuk n = 1, jumlah satu buah bilangan ganjil positif pertama adalah 12 = 1. Ini benar
karena jumlah satu buah bilangan ganjil positif pertama adalah 1.
b. Langkah induksi:
Andaikan p(n) benar, yaitu pernyataan
1 + 3 + 5 + … + (2n – 1) = n2
adalah benar (hipotesis induksi)
[catatlah bahwa bilangan ganjil positif ke-n adalah (2n – 1)].
Kita harus memperlihatkan bahwa p(n +1) juga benar, yaitu
1 + 3 + 5 + … + (2n – 1) + (2n + 1) = (n + 1)2
juga benar. Hal ini dapat kita tunjukkan sebagai berikut:
1 + 3 + 5 + … + (2n – 1) + (2n + 1) = [1 + 3 + 5 + … + (2n – 1)] + (2n + 1)
= n2 + (2n + 1)
= n2 + 2n + 1
= (n + 1)2
Karena langkah basis dan langkah induksi keduanya telah diperlihatkan benar, maka
jumlah n buah bilangan ganjil positif pertama adalah n2 .
Contoh:
Buktikan jumlah n bilangan bulat positif yang pertama adalah 1 n n 1 yaitu;
2
1
p n :1 2 3 n n n 1
2
Jawab:
a. Basis induksi:
Untuk n = 1, maka 1 1 11 1 sehingga p 1 benar.
2
b. Langkah induksi:
Andaikan p(n) benar, yaitu pernyataan
1
1 2 3 n n n 1
2
adalah benar (hipotesis induksi)
Kita harus memperlihatkan bahwa p(n +1) juga benar, yaitu
1
1 2 3 n n 1 n 1 n 2
2
juga benar. Hal ini dapat kita tunjukkan sebagai berikut:
1 2 3 n n 1 n n 1 n 1
1
2
1
n n 1 2 n 1
2
1
n 1 n 2
2
43
Karena langkah basis dan langkah induksi keduanya telah diperlihatkan benar, maka
jumlah n bilangan bulat positif yang pertama adalah 1 n n 1 .
2
Contoh:
Untuk semua bilangan bulat tidak-negatif n, buktikan dengan induksi matematik bahwa 20 + 21 +
22 + … + 2n = 2n+1 - 1
Jawab:
a. Basis induksi.
Untuk n = 0 (bilangan bulat tidak negatif pertama), kita peroleh: 20 = 20+1 – 1.
Ini jelas benar, sebab 20 = 1 = 20+1 – 1
= 21 – 1
=2–1
=1
b. Langkah induksi.
Andaikan bahwa p(n) benar, yaitu
20 + 21 + 22 + … + 2n = 2n+1 - 1
adalah benar (hipotesis induksi). Kita harus menunjukkan bahwa p(n +1) juga benar, yaitu
20 + 21 + 22 + … + 2n + 2n+1 = 2(n+1) + 1 - 1
juga benar. Ini kita tunjukkan sebagai berikut:
20 + 21 + 22 + … + 2n + 2n+1 = (20 + 21 + 22 + … + 2n) + 2n+1
= (2n+1 – 1) + 2n+1 (hipotesis induksi)
= (2n+1 + 2n+1) – 1
= (2 . 2n+1) – 1
= 2n+2 - 1
= 2(n+1) + 1 – 1
Karena langkah 1 dan 2 keduanya telah diperlihatkan benar, maka untuk semua bilangan
bulat tidak-negatif n, terbukti bahwa 20 + 21 + 22 + … + 2n = 2n+1 – 1
Exercises
Soal 1
Soal 2
Soal 3
44
Soal 4
Soal 5
B. Rekursif
45
46
Example 1
Exercises
Soal 1
Soal 2
Soal 3
47
Soal 4
48
BAB IV
Teori bilangan
A. Bilangan Bulat
Contoh:
4 | 12 karena 12:4 = 3 (bilangan bulat) atau 12 = 4 3. Tetapi 4 | 13 karena 13:4 = 3.25 (bukan
bilangan bulat).
B. Teorema Euclidan
Misalkan m dan n bilangan bulat, n > 0. Jika m dibagi dengan n maka terdapat bilangan bulat
unik q (quotient) dan r (remainder), sedemikian sehingga berlaku
m = nq + r
dengan 0 r < n.
49
Contoh:
a. 1987:97 = 20, sisa 47. Jadi dapat dinyatakan 1987 = 97 20 + 47
b. –22/3 = –8, sisa 2. Jadi dapat dinyatakan –22 = 3(–8) + 2
Perhatikan bahwa –22 = 3(–7) – 1 salah, karena r = –1 (syarat 0 r < n) .
C. Bilangan Prima
(Teorema 1)
Misalkan a dan b bilangan bulat tidak nol. Faktor persekutuan terbesar (FPB – greatest common
divisor atau gcd) dari a dan b adalah bilangan bulat terbesar d sedemikian hingga d | a dan d | b.
Dalam hal ini kita nyatakan bahwa FPB (a, b) = d.
Contoh:
Faktor pembagi 45: 1, 3, 5, 9, 15, 45;
Faktor pembagi 36: 1, 2, 3, 4, 9, 12, 18, 36;
Faktor pembagi bersama 45 dan 36: 1, 3, 9
Jadi, FPB(45, 36) = 9.
(Teorema 2)
Misalkan m dan n bilangan bulat, dengan syarat n > 0 sedemikian sehingga
m = nq + r ,0r<n
maka FPB(m, n) = FPB(n, r)
Contoh:
Diberikan m = 60, n = 18,
60 = 18 3 + 12
50
maka PBB(60, 18) = PBB(18, 12) = 6
Definisi LCM
Contoh:
E. Algoritma Euclidean
Algoritma Euclidean digunakan untuk mencari FPB dari dua buah bilangan bulat. Penemu
algoritma Euclides, seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam
buku, Element.
Misalkan m dan n adalah bilangan bulat tak negatif dengan m n. Misalkan r0 = m dan r1 = n.
Lakukan secara berturut-turut pembagian untuk memperoleh
r0 = r1q1 + r2 0 r2 r1,
r1 = r2q2 + r3 0 r3 r2,
51
rn– 2 = rn–1 qn–1 + rn 0 rn rn–1,
rn–1 = rnqn + 0
Menurut Teorema 2,
PBB(m, n) = PBB(r0, r1) = PBB(r1, r2) = … = PBB(rn– 2, rn– 1) = PBB(rn– 1, rn) = PBB(rn, 0) = rn
Jadi, PBB dari m dan n adalah sisa terakhir yang tidak nol dari runtunan pembagian tersebut.
Diberikan dua buah bilangan bulat tak-negatif m dan n (m n). Algoritma Euclidean berikut mencari
pembagi bersama terbesar dari m dan n.
Contoh:
Diberikan m = 80, n = 12 dan dipenuhi syarat m n.
80 6. 12 8
12 1. 8 4
8 2. 4 0
Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB(80, 12) = 4.
F. Kombinasi Linear
FPB (a,b) dapat dinyatakan sebagai kombinasi linear (linear combination) a dan b dengan dengan
koefisien-koefisennya.
Contoh:
FPB(80, 12) = 4 , dapat dinyatakan sebagai 4 = (-1) 80 + 7 12.
(Teorema 3)
Misalkan a dan b bilangan bulat positif, maka terdapat bilangan bulat m dan n sedemikian sehingga
PBB(a, b) = ma + nb.
Contoh:
Nyatakan FPB(21, 45) sebagai kombinasi lanjar dari 21 dan 45.
Jawab:
45 = 2 (21) + 3
21 = 7 (3) + 0
Sisa pembagian terakhir sebelum 0 adalah 3, maka FPB(45, 21) = 3. Substitusi dengan
persamaan–persamaan di atas menghasilkan:
52
3 = 45 – 2 (21)
yang merupakan kombinasi linear dari 45 dan 21.
Contoh:
Nyatakan FPB(312, 70) sebagai kombinasi lanjar 312 dan 70.
Jawab:
Terapkan algoritma Euclidean untuk memperoleh PBB(312, 70):
312 = 4 70 + 32 (1)
70 = 2 32 + 6 (2)
32 = 5 6 + 2 (3)
6=32+0 (4)
Sisa pembagian terakhir sebelum 0 adalah 2, maka PBB(312, 70) = 2
Susun pembagian nomor (3) dan (2) masing-masing menjadi
2 = 32 – 5 6 (5)
6 = 70 – 2 32 (6)
Suubsitusikan (6) ke dalam (5) menjadi
2 = 32 – 5(70 – 232) = 132 – 570 + 1032 = 11 32 – 5 70 (7)
Susun pembagian nomor (1) menjadi
32 = 312 – 4 70 (8)
Subsitusikan (8) ke dalam (7) menjadi
2 = 11 32 – 5 70 = 11 (312 – 4 70) – 5 70 = 11 . 312 – 49 70
Jadi, PBB(312, 70) = 2 = 11 312 – 49 70
G. Relatif Prima
Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB(a, b) = 1.
Contoh:
20 dan 3 relatif prima sebab PBB(20, 3) = 1.
Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga
ma + nb = 1
Contoh:
Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) =1, atau dapat ditulis
2 . 20 + (–13) . 3 = 1 (m = 2, n = –13)
Tetapi 20 dan 5 tidak relatif prima karena PBB(20, 5) = 5 1 sehingga 20 dan 5 tidak dapat
dinyatakan dalam m . 20 + n . 5 = 1.
Exercises
Soal 1
53
Soal 2
Soal 3
Soal 4
Soal 5
H. Aritmatika Modulo
Misalkan a dan m bilangan bulat (m > 0). Operasi a mod m (dibaca “a modulo m”) memberikan
sisa jika a dibagi dengan m.
Notasi a mod m = r sedemikian sehingga
a = mq + r, dengan 0 r < m.
m disebut modulus atau modulo, dan hasil aritmetika modulo m terletak di dalam himpunan {0, 1,
2, …, m – 1}.
Contoh:
Beberapa hasil operasi dengan operator modulo:
a. 23 mod 5 = 3 (23 = 5 4 + 3)
b. 27 mod 3 = 0 (27 = 3 9 + 0)
I. Kongruen
54
Contoh:
a. 17 2 (mod 3) karena 3 habis membagi 17 – 2 = 15.
b. –7 15 (mod 11) karena 11 habis membagi –7 – 15 = –22
c. –7 / 15 (mod 3) karena 3 tidak habis membagi –7 – 15 = –22.
Contoh:
a. 17 2 (mod 3) 17 = 2 + 5 3
b. –7 15 (mod 11) –7 = 15 + (–2)11
Contoh:
a. 23 mod 5 = 3 23 3 (mod 5)
b. 27 mod 3 = 0 27 0 (mod 3)
(Teorema 4)
Misalkan m adalah bilangan bulat positif.
a. Jika a b (mod m) dan c adalah sembarang bilangan bulat maka
(i) (a + c) (b + c) (mod m)
(ii) ac bc (mod m)
(iii) ap bp (mod m) , p bilangan bulat tak-negatif
b. Jika a b (mod m) dan c d (mod m), maka
(i) (a + c) (b + d) (mod m)
(ii) ac bd (mod m)
Contoh:
Misalkan 17 2 (mod 3) dan 10 4 (mod 3), maka menurut Teorema 4,
17 + 5 = 2 + 5 (mod 3) 22 = 7 (mod 3)
17 . 5 = 5 2 (mod 3) 85 = 10 (mod 3)
17 + 10 = 2 + 4 (mod 3) 27 = 6 (mod 3)
17 . 10 = 2 4 (mod 3) 170 = 8 (mod 3)
Teorema 4 tidak memasukkan operasi pembagian pada aritmetika modulo karena jika kedua ruas
dibagi dengan bilangan bulat, maka kekongruenan tidak selalu dipenuhi.
Contoh:
a. 10 4 (mod 3) dapat dibagi dengan 2 , karena 10/2 = 5 dan 4/2 = 2, dan 5 2 (mod 3)
b. 14 8 (mod 6) tidak dapat dibagi dengan 2, karena 14/2 = 7 dan 8/2 = 4, tetapi
7 / 4 (mod 6).
J. Kekongruenan Linear
55
dengan m > 0, a dan b sembarang bilangan bulat, dan x adalah peubah bilangan bulat.
Solusi dari ax = b + km berbentuk x b km .
a
(Cobakan untuk k = 0, 1, 2, … dan k = –1, –2, … yang menghasilkan x sebagai bilangan bulat)
Contoh:
Tentukan solusi dari 4x 3 (mod 9) .
Jawab:
Solusi untuk 4x 3 (mod 9) adalah x 3 k 9 .
4
k = 0 x = (3 + 0 9)/4 = 3/4 (bukan solusi)
k = 1 x = (3 + 1 9)/4 = 3
k = 2 x = (3 + 2 9)/4 = 21/4 (bukan solusi)
k = 3, k = 4 tidak menghasilkan solusi
k = 5 x = (3 + 5 9)/4 = 12
…
k = –1 x = (3 – 1 9)/4 = –6/4 (bukan solusi)
k = –2 x = (3 – 2 9)/4 = –15/4 (bukan solusi)
k = –3 x = (3 – 3 9)/4 = –6
…
k = –6 x = (3 – 6 9)/4 = –15
…
Nilai-nilai x yang memenuhi: 3, 12, … dan –6, –15, …
Pada abad pertama, seorang matematikawan China yang bernama Sun Tse mengajukan
pertanyaan sebagai berikut:
“Tentukan sebuah bilangan bulat yang bila dibagi dengan 5 menyisakan 3, bila dibagi 7
menyisakan 5, dan bila dibagi 11 menyisakan 7.”
Contoh:
Tentukan solusi dari pertanyaan Sun Tse di atas.
Jawab:
x 3 (mod 5) x = 3 + 5k1 (i)
Subsitusikan (i) ke dalam kongruen kedua menjadi:
56
3 + 5k1 5 (mod 7) k1 6 (mod 7), atau k1 = 6 + 7k2 (ii)
Subsitusikan (ii) ke dalam (i):
x = 3 + 5k1 = 3 + 5(6 + 7k2) = 33 + 35k2 (iii)
Subsitusikan (iii) ke dalam kongruen ketiga menjadi:
33 + 35k2 7 (mod 11) k2 9 (mod 11) atau k2 = 9 + 11k3.
Subsitusikan k2 ini ke dalam (iii) menghasilkan:
x = 33 + 35(9 + 11k3) = 348 + 385k3 atau x 348 (mod 385).
Ini adalah solusinya.
348 adalah bilangan bulat positif terkecil yang merupakan solusi sistem kekongruenan di atas.
Perhatikan bahwa 348 mod 5 = 3, 348 mod 7 = 5, dan 348 mod 11 = 7. Catatlah bahwa 385 = 5
7 11.
Solusi unik ini mudah dibuktikan sebagai berikut. Solusi tersebut dalam modulo:
m = m1 m2 m3 = 5 7 11 = 5 77 = 11 35.
Karena
77 . 3 1 (mod 5),
55 6 1 (mod 7),
35 6 1 (mod 11),
maka solusi unik dari sistem kongruen tersebut adalah
x 3 77 3 + 5 55 6 + 7 35 6 (mod 385)
3813 (mod 385)
348 (mod 385)
Exercise
Soal1
Soal 2
Soal 3
57
Soal 4
Soal 5
58
BAB V
APLIKASI Teori bilangan
A. Fungsi Hash
Contoh 1
Diambil m = 11 mempunyai sel-sel memori yang diberi indeks 0 sampai 10. Akan disimpan data
record yang masing-masing mempunyai kunci 15, 558, 32, 132, 102, dan 5.
h(15) = 15 mod 11 = 4
h(558) = 558 mod 11 = 8
h(32) = 32 mod 11 = 10
h(132) = 132 mod 11 = 0
h(102) = 102 mod 11 = 3
h(5) = 5 mod 11 = 5
132 102 15 5 558 32
0 1 2 3 4 5 6 7 8 9 10
59
Beberapa istilah pada fungsi hash yaitu;
a. Kolisi (collision) terjadi jika fungsi hash menghasilkan nilai h yang sama untuk k yang
berbeda.
b. Jika terjadi kolisi, cek elemen berikutnya yang kosong.
c. Fungsi hash juga digunakan untuk me-locate elemen yang dicari.
Contoh 2
60
C. Universal Product Codes (UPCs)
61
D. ISBN
Kode ISBN terdiri dari 10 karakter, biasanya dikelompokkan dengan spasi atau garis, misalnya
0–3015–4561–9.
ISBN terdiri atas empat bagian kode:
a. kode yang mengidentifikasikan bahasa,
b. kode penerbit,
c. kode unik untuk buku tersebut,
d. karakter uji (angka atau huruf X (=10)).
ix
i 1
i 0 mod11
9
Contoh:
Diberikan ISBN 0–3015–4561-X
0 : kode kelompok negara berbahasa Inggris,
3015 : kode penerbit .
4561 : kode unik buku yang diterbitkan
8 : karakter uji.
Karakter uji ini didapatkan sebagai berikut:
1 0 + 2 3 + 3 0 + 4 1 + 5 5 + 6 4 +7 5 + 8 6 + 9 1 = 151
Jadi, karakter ujinya adalah 151 mod 11 = 8.
Perhatikan bahwa untuk kode ISBN ini,
10 9
62
Exercises
Soal 1
Soal 2
Soal 3
Soal 4
63
Soal 5
Soal 6
Soal 7
E. Kriptografi
Kriptografi (cryptography) berasal dari Bahasa Yunani yang artinya “secret writing”. Ilmu kriptografi
adalah ilmu dan seni untuk menjaga keamanan pesan.
64
Data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain: plainteks
(plaintext). Pesan dapat berupa: teks, gambar, audio, video. Pesan ada yang dikirim atau
disimpan di dalam media penyimpanan.
b. Cipherteks (ciphertext)
Pesan yang telah disandikan sehingga tidak memiliki makna lagi. Tujuannya agar pesan
tidak dapat dimengerti maknanya oleh pihak lain. Cipherteks harus dapat diubah kembali
ke plainteks semula
Contoh:
Plainteks: culik anak itu jam 11 siang
Cipherteks: t^$gfUi89rewoFpfdWqL:p[uTcxZ
F. Aplikasi Kriptografi
65
Bebepara contoh enkripsi pada dokumen
Plainteks (plain.txt):
Cipherteks (cipher.txt):
Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/•p}âpx;
épêp/|t}t|äzp}/qp}êpz/étzp{x/zt•xâx
}vêp}v/|tüp}vzpz/|t}äyä/{päâ=/\tütz
ppsp{pw/p}pz<p}pz/zt•xâx}v/êp}
v/qpüä|t}tâpé/spüx/sp{p|/•péxü=/]
p{äüx|ttüzp/|t}vpâpzp}/qpwåp/{päâ
/psp{pwât|•pâ/ztwxsä•p}/|tützp=
66
Plainteks (lena.bmp):
Cipherteks (lena2.bmp):
Plainteks (siswa.dbf):
NIM Nama Tinggi Berat
000001 Elin Jamilah 160 50
000002 Fariz RM 157 49
000003 Taufik Hidayat 176 65
000004 Siti Nurhaliza 172 67
000005 Oma Irama 171 60
000006 Aziz Burhan 181 54
000007 Santi Nursanti 167 59
67
000008 Cut Yanti 169 61
000009 Ina Sabarina 171 62
Cipherteks (siswa2.dbf):
NIM Nama Tinggi Berat
000001 tüp}vzpz/|t}äyä/{äâ |äzp} épêp
000002 |t}tâpé/spüx/sp péxü= ztwxsä•
000003 ât|•pâ/ztwxsä•p}/| }/|tü spüx/
000004 épêp/|t}t|äzp}/qpêpz qp}êpz wxsä
000005 étzp{x/zt•xâx}vêp} päâ/psp étzp{
000006 spüx/sp{p|/•péxü=/] xâx}v ttüzp/|
000007 Ztâxzp/épêp/qtüypp}< äzp} }äyä/{
000008 qpwåp/{päâ/psp{pw Ztwxs xâx}v
000009 }t|äzp}/qp}êpz/ép{ qp}êp äzp}/qp
C. Notasi Matematis
Misalkan C = chiperteks
P = plainteks
Fungsi enkripsi E memetakan P ke C,
E(P) = C
Fungsi dekripsi D memetakan C ke P,
D(C) = P
Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi menjadi
EK(P) = C
DK(C) = P
dan kedua fungsi ini memenuhi DK(EK(P)) = P.
K K
Jika kunci enkripsi sama dengan kunci dekripsi, maka sistem kriptografinya disebut sistem simetri
atau sistem konvensional. Algoritma kriptografinya disebut algoritma simetri atau algoritma
konvensional . Contoh algoritma simetri yaitu DES (Data Encyption Standard) dan Rijndael.
68
Jika kunci enkripsi tidak sama dengan kunci dekripsi, maka sistem kriptografinya disebut sistem
nirsimetri (asymmetric system). Nama lainnya sistem kriptografi kunci-publik, karena kunci
enkripsi bersifat publik (public key) sedangkan kunci dekripsi bersifat rahasia (private key).
Pengirim pesan menggunakan kunci publik si penerima pesan untuk mengenkripsi pesan.
Penerima pesan mendekripsi pesan dengan kunci privatnya sendiri. Contoh algoritma kriptografi
kunci publik adalah RSA.
D. Caesar Cipher
69
Tiap huruf alfabet digeser 3 huruf ke kanan
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Contoh:
Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX
Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
E. Algoritma RSA
Ditemukan oleh tiga peneliti dari MIT (Massachussets Institute of Technology), yaitu Ron Rivest,
Adi Shamir, dan Len Adleman, pada tahun 1976. Termasuk algoritma kriptografi nirsimetri.
70
Setiap pengguna mempunya sepasang kunci:
1. Kunci publik: untuk enkripsi
2. Kunci privat: untuk dekripsi
Kunci publik tidak rahasia (diketahui semua orang), kunci privat rahasia (hanya diketahui pemilik
kunci saja).
Enkripsi
1. Nyatakan pesan menjadi blok-blok plainteks: p1, p2, p3, … (harus dipenuhi persyaratan
bahwa nilai pi harus terletak dalam himpunan nilai 0, 1, 2, …, n – 1 untuk menjamin hasil
perhitungan tidak berada di luar himpunan)
2. Hitung blok cipherteks ci untuk blok plainteks pi dengan persamaan
ci = pie mod n
yang dalam hal ini, e adalah kunci publik.
Dekripsi
Proses dekripsi dilakukan dengan menggunakan persamaan
pi = cid mod n,
yang dalam hal ini, d adalah kunci privat.
Contoh:
Misalkan a = 47 dan b = 71 (keduanya prima), maka dapat dihitung
n = a b = 3337
m = (a – 1)(b – 1) = 3220.
Pilih kunci publik e = 79 (yang relatif prima dengan 3220 karena pembagi bersama terbesarnya
adalah 1).
Nilai e dan n dapat dipublikasikan ke umum.
Selanjutnya akan dihitung kunci dekripsi d dengan kekongruenan:
e d 1 (mod m)
Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci
dekripsi.
Misalkan plainteks P = HARI INI atau dalam desimal ASCII: 7265827332737873
Pecah P menjadi blok yang lebih kecil (misal 3 digit):
p1 = 726 p4 = 273
p2 = 582 p5 = 787
p3 = 733 p6 = 003
Enkripsi setiap blok:
c1 = 72679 mod 3337 = 215
c2 = 58279 mod 3337 = 776
dst untuk sisa blok lainnya
71
Keluaran: chiperteks C = 215 776 1743 933 1731 158.
Dekripsi (menggunakan kunci privat d = 1019)
p1 = 2151019 mod 3337 = 726
p2 =7761019 mod 3337 = 582
dst untuk sisi blok lainnya
Keluaran: plainteks P = 7265827332737873 yang dalam ASCII karakternya adalah HARI INI.
a. Kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non
prima menjadi faktor primanya, yang dalam hal ini n = a b.
b. Sekali n berhasil difaktorkan menjadi a dan b, maka m = (a – 1)(b – 1) dapat dihitung.
Selanjutnya, karena kunci enkripsi e diumumkan (tidak rahasia), maka kunci dekripsi d
dapat dihitung dari persamaan e d 1 (mod m). Ini berarti proses dekripsi dapat
dilakukan oleh orang yang tidak berhak.
c. Penemu algoritma RSA menyarankan nilai a dan b panjangnya lebih dari 100 digit. Dengan
demikian hasil kali n = a b akan berukuran lebih dari 200 digit.
d. Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit
membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma
pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang
dipakai mempunyai kecepatan 1 milidetik).
Exercises
Soal 1
Soal 2
72
Soal 3
Soal 4
Soal 5
73
BAB VI
Prinsip dasar menghitung
Example:
74
Example:
Example:
Example:
75
Contoh:
Bit biner hanya 0 dan 1. Berapa banyak string biner yang dapat dibentuk jika:
(a) panjang string 5 bit
(b) panjang string 8 bit (= 1 byte)
Jawab:
(a) 2 2 2 2 2 = 25 = 32 buah
(b) 28 = 256 buah
Contoh:
Berapa banyak bilangan ganjil antara 1000 dan 9999 (termasuk 1000 dan 9999 itu sendiri) yang
(a) semua angkanya berbeda
(b) boleh ada angka yang berulang.
Jawab:
a. posisi satuan : 5 kemungkinan angka (1, 3, 5, 7, 9)
posisi ribuan : 8 kemungkinan angka
posisi ratusan : 8 kemungkinan angka
posisi puluhan : 7 kemungkinan angka
Banyak bilangan ganjil seluruhnya = (5)(8)(8)(7) = 2240 buah.
b. posisi satuan: 5 kemungkinan angka (yaitu 1, 3, 5, 7 dan 9);
posisi ribuan: 9 kemungkinan angka (1 sampai 9)
posisi ratusan: 10 kemungkinan angka (0 sampai 9)
posisi puluhan: 10 kemungkinan angka (0 sampai 9)
Banyak bilangan ganjil seluruhnya = (5)(9)(10)(10) = 4500
Contoh:
Sandi-lewat (password) sistem komputer panjangnya 6 sampai 8 karakter. Tiap karakter boleh
berupa huruf atau angka; huruf besar dan huruf kecil tidak dibedakan. Berapa banyak sandi-lewat
yang dapat dibuat?
Penyelesaian:
Jumlah karakter password = 26 (A-Z) + 10 (0-9) = 36 karakter.
Jumlah kemungkinan sandi-lewat dengan panjang 6 karakter:
(36)(36)(36)(36)(36)(36) = 366 = 2.176.782.336
76
Exercises
Soal 1
Soal 2
Soal 3
Soal 4
Soal 5
C. Permutasi
77
Example
Bola:
m b p
Kotak:
1 2 3
Berapa jumlah urutan berbeda yang mungkin dibuat dari penempatan bola ke dalam kotak-kotak
tersebut?
Jumlah kemungkinan urutan berbeda dari penempatan bola ke dalam kotak adalah (3)(2)(1) = 3!
= 6.
Secara umum, permutasi adalah jumlah urutan berbeda dari pengaturan objek-objek. Permutasi
merupakan bentuk khusus aplikasi kaidah perkalian.
78
Contoh:
Berapa banyak “kata” yang terbentuk dari kata “HAPUS”?
Jawab:
Cara 1: (5)(4)(3)(2)(1) = 120 buah kata
Cara 2: P(5, 5) = 5! = 120 buah kata
Contoh:
Berapa banyak cara mengurutkan nama 25 orang mahasiswa?
Jawab:
P(25, 25) = 25!
Ada enam buah bola yang berbeda warnanya dan 3 buah kotak. Masing-masing kotak hanya
boleh diisi 1 buah bola. Berapa jumlah urutan berbeda yang mungkin dibuat dari penempatan bola
ke dalam kotak-kotak tersebut?
Bola:
m b p h k j
Kotak:
1 2 3
Jawab:
Kotak 1 dapat diisi oleh salah satu dari 6 bola (ada 6 pilihan);
Kotak 2 dapat diisi oleh salah satu dari 5 bola (ada 5 pilihan);
Kotak 3 dapat diisi oleh salah satu dari 4 bola (ada 4 pilihan).
Jumlah urutan berbeda dari penempatan bola = (6)(5)(4) = 120
Konsep:
Ada n buah bola yang berbeda warnanya dan r buah kotak (r n), maka
a. kotak ke-1 dapat diisi oleh salah satu dari n bola (ada n pilihan) ;
b. kotak ke-2 dapat diisi oleh salah satu dari (n – 1) bola (ada n – 1 pilihan);
c. kotak ke-3 dapat diisi oleh salah satu dari (n – 2) bola (ada n – 2) pilihan;
…
d. kotak ke-r dapat diisi oleh salah satu dari (n – (r – 1) bola (ada n – r + 1 pilihan)
Jumlah urutan berbeda dari penempatan bola adalah: n(n – 1)(n – 2)…(n – (r – 1)).
DEFINISI
79
Secara umum, permutasi r dari n elemen adalah jumlah kemungkinan urutan r buah elemen yang
dipilih dari n buah elemen, dengan r n, yang dalam hal ini, pada setiap kemungkinan urutan tidak
ada elemen yang sama.
n!
P(n, r ) n(n 1)(n 2)...(n (r 1))
(n r )!
Contoh:
Berapakah jumlah kemungkinan membentuk 3 angka dari 5 angka berikut: 1, 2, 3, 4 , 5, jika:
(a) tidak boleh ada pengulangan angka, dan
(b) boleh ada pengulangan angka.
Jawab:
a. Dengan kaidah perkalian: (5)(4)(3) = 120 buah
Dengan rumus permutasi P(5, 3) = 5!/(5 – 3)! = 120
b. Tidak dapat diselesaikan dengan rumus permutasi.
Dengan kiadah perkalian: (5)(5)(5) = 53 = 125.
Contoh:
Kode buku di sebuah perpustakaan panjangnya 7 karakter, terdiri dari 4 huruf berbeda dan diikuti
dengan 3 angka yang berbeda pula?
Jawab:
P(26, 4) P(10,3) = 258.336.000
Example
Example
E. Kombinasi
Bentuk khusus dari permutasi adalah kombinasi. Jika pada permutasi urutan kemunculan
diperhitungkan, maka pada kombinasi, urutan kemunculan diabaikan.
80
Contoh:
Misalkan ada 2 buah bola yang warnanya sama 3 buah kotak. Setiap kotak hanya boleh berisi
paling banyak 1 bola.
Jawab:
3!
P(3, 2) P(3, 2) 1! (3)(2)
Jumlah cara memasukkan bola ke dalam kotak 3 .
2 2! 2! 2
Contoh:
Bila sekarang jumlah bola 3 dan jumlah kotak 10, maka jumlah cara memasukkan bola ke dalam
kotak adalah
10!
P(10,3) 7! (10)(9)(8)
3! 3! 3!
karena ada 3! cara memasukkan bola yang warnanya sama.
Secara umum, jumlah cara memasukkan r buah bola yang berwarna sama ke dalam n buah kotak
adalah
n(n 1)(n 2)...(n (r 1)) n! n
C n, r atau .
r! r !(n r )! r
Misalkan: ada n buah bola yang tidak seluruhnya berbeda warna (jadi, ada beberapa bola yang
warnanya sama - indistinguishable).
n1 bola diantaranya berwarna 1,
n2 bola diantaranya berwarna 2,
nk bola diantaranya berwarna k,
dan n1 + n2 + … + nk = n.
Berapa jumlah cara pengaturan n buah bola ke dalam kotak-kotak tersebut (tiap kotak maks. 1
buah bola)?
Jika n buah bola itu kita anggap berbeda semuanya, maka jumlah cara pengaturan n buah bola
ke dalam n buah kotak adalah:
P(n, n) = n!.
Dari pengaturan n buah bola itu,
ada n1! cara memasukkan bola berwarna 1
ada n2! cara memasukkan bola berwarna 2
81
ada nk! cara memasukkan bola berwarna k
Permutasi n buah bola yang mana n1 diantaranya berwarna 1, n2 bola berwarna 2, …, nk bola
berwarna k adalah:
P(n, n) n!
P(n; n1 , n2 ,..., nk )
n1 !n2 !...nk ! n1 !n2 !...nk !
Konsep:
n!
P(n; n1 , n2 ,..., nk ) C (n; n1 , n2 ,..., nk )
n1 !n2 !...nk !
Contoh:
Berapa banyak “kata” yang dapat dibentuk dengan menggunakan huruf-huruf dari kata
MISSISSIPPI?
Jawab:
S = {M, I, S, S, I, S, S, I, P , P , I}
huruf M = 1 buah (n1)
huruf I = 4 buah (n2)
huruf S = 4 buah (n3)
huruf P = 2 buah (n4)
n = 1 + 4 + 4 + 2 = 11 buah = | S |
Contoh:
Berapa banyak cara membagikan delapan buah mangga kepada 3 orang anak, bila Billy
mendapat empat buah mangga, dan Andi serta Toni masing-masing memperoleh 2 buah
mangga.
82
Jawab:
n = 8, n1 = 4, n2 = 2, n3 = 2, dan n1 + n2 + n3 = 4 + 2 + 2 = 8
8!
Jumlah cara membagi seluruh mangga = 420 cara
(4!)(2!)(2!)
Misalkan terdapat r buah bola yang semua warnanya sama dan n buah kotak.
(i) Masing-masing kotak hanya boleh diisi paling banyak satu buah bola.
Jumlah cara memasukkan bola: C(n, r).
(ii) Masing-masing kotak boleh lebih dari satu buah bola (tidak ada pembatasan jumlah bola)
Jumlah cara memasukkan bola: C(n + r – 1, r).
dengan C(n + r – 1, r) = C(n + r –1, n – 1).
Contoh:
Pada persamaan x1 + x2 + x3 + x4 = 12, xi adalah bilangan bulat 0. Berapa jumlah kemungkinan
solusinya?
Jawab:
Analogi: 12 buah bola akan dimasukkan ke dalam 4 buah kotak (dalam hal ini, n = 4 dan r
= 12).
Bagilah keduabelas bola itu ke dalam tiap kotak. Misalnya,
Kotak 1 diisi 3 buah bola (x1 = 3)
Kotak 2 diisi 5 buah bola (x2 = 5)
Kotak 3 diisi 2 buah bola (x3 = 2)
Kotak 4 diisi 2 buah bola (x4 = 2)
x1 + x2 + x3 + x4 = 3 + 5 + 2 + 2 = 12
Ada C(4 + 12 – 1, 12) = C(15, 12) = 455 buah solusi.
Contoh:
20 buah apel dan 15 buah jeruk dibagikan kepada 5 orang anak, tiap anak boleh mendapat lebih
dari 1 buah apel atau jeruk, atau tidak sama sekali. Berapa jumlah cara pembagian yang dapat
dilakukan?
Jawab:
n = 5, r1 = 20 (apel) dan r2 = 15 (jeruk)
Membagi 20 apel kepada 5 anak: C(5 + 20 – 1, 20) cara,
Membagi 15 jeruk kepada 5 anak: C(5 + 15 – 1, 15) cara.
Jumlah cara pembagian kedua buah itu adalah
C(5 + 20 – 1, 20) C(5 + 15 – 1, 15) = C(24, 20) C(19, 15)
83
Exercises
Soal 1
Soal 2
Soal 3
Soal 4
Kursi-kursi di sebuah bioskop disusun dalam baris-baris, satu baris berisi 10 buah kursi. Berapa
banyak cara mendudukkan 6 orang penonton pada satu baris kursi:
(a) jika bioskop dalam keadaan terang
(b) jika bioskop dalam keadaan gelap
Soal 5
Ada 5 orang mahasiswa jurusan Matematika dan 7 orang mahasiswa jurusan Informatika. Berapa
banyak cara membentuk panitia yang terdiri dari 4 orang jika:
(a) tidak ada batasan jurusan
(b) semua anggota panitia harus dari jurusan Matematika
(c) semua anggota panitia harus dari jurusan Informatika
(d) semua anggota panitia harus dari jurusan yang sama
(e) 2 orang mahasiswa per jurusan harus mewakili.
Soal 6
Berapa banyak cara membentuk sebuah panitia yang beranggotakan 5 orang yang dipilih dari 7
orang pria dan 5 orang wanita, jika di dalam panitia tersebut paling sedikit beranggotakan 2 orang
wanita?
84
Soal 7
Ada 10 soal di dalam ujian akhir Matematika Diskrit. Berapa banyak cara pemberian nilai (bilangan
bulat) pada setiap soal jika jumlah nilai keseluruhan soal adalah 100 dan setiap soal mempunyai
nilai paling sedikit 5. (Khusus untuk soal ini, nyatakan jawaban akhir anda dalam C(a, b) saja, tidak
perlu dihitung nilainya)
Soal 8
Di perpustakaan Teknik Informatika terdapat 3 jenis buku: buku Algoritma dan Pemrograman, buku
Matematika Diskrit, dan buku Basisdata. Perpustakaan memiliki paling sedikit 10 buah buku untuk
masing-masing jenis. Berapa banyak cara memilih 10 buah buku?
85
BAB VII
Pengantar teori graf
A. Definisi Graf
G1 G2 G3
Gambar 2. (a) graf sederhana, (b) graf ganda, dan (c) graf semu
86
Example: Graf Sederhana
87
DEFINISI
B. Jenis-Jenis Graf
Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka graf digolongkan menjadi
dua jenis:
1. Graf sederhana (simple graph).
Graf yang tidak mengandung gelang maupun sisi-ganda dinamakan graf sederhana. G1
pada Gambar 2 adalah contoh graf sederhana
2. Graf tak-sederhana (unsimple-graph).
Graf yang mengandung sisi ganda atau gelang dinamakan graf tak-sederhana (unsimple
graph). G2 dan G3 pada Gambar 2 adalah contoh graf tak-sederhana
Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis:
1. Graf tak-berarah (undirected graph)
Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah. Tiga buah graf
pada Gambar 2 adalah graf tak-berarah.
2. Graf berarah (directed graph atau digraph)
Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Dua buah
graf pada Gambar 3 adalah graf berarah.
1 1
2 3 2 3
4 4
(a) G4 (b) G5
Gambar 3 (a) graf berarah, (b) graf-ganda berarah
B B
A C A C
F F
E D E D
(a) (b)
88
2. Isomer senyawa kimia karbon
H C H
T3
T0
T2
4. Pengujian program
read(x);
while x <> 9999 do
begin
if x < 0 then
writeln(‘Masukan tidak boleh negatif’)
else
x:=x+10;
read(x);
end;
writeln(x);
89
4
1 2
6 7
3
Keterangan: 1 : read(x) 5 : x := x + 10
2 : x <> 9999 6 : read(x)
3:x<0 7 : writeln(x)
4 : writeln(‘Masukan tidak boleh negatif’);
P P P 10
5
5
5 5
10
a b c d
10
Keterangan:
a : 0 sen dimasukkan
b : 5 sen dimasukkan
c : 10 sen dimasukkan
d : 15 sen atau lebih dimasukkan
6. Sosial Network
90
7. Call Graph
91
92
D. Terminologi Graf
1. Ketetanggaan (Adjacent)
1 1 1
e2
2 e3 5
3 e1
3 e5 3
2 e4 2 4
4
G1 G2 G3
2. Bersisian (Incidency)
Untuk sembarang sisi e = (vj, vk) dikatakan e bersisian dengan simpul vj , atau e bersisian
dengan simpul vk.
Tinjau graf G1: sisi (2, 3) bersisian dengan simpul 2 dan simpul 3,
sisi (2, 4) bersisian dengan simpul 2 dan simpul 4,
tetapi sisi (1, 2) tidak bersisian dengan simpul 4.
1 1 1
e2
2 e3 5
3 e1
3 e5 3
2 e4 2 4
4
G1 G2 G3
93
1 1 1
e2
2 e3 5
3 e1
3 e5 3
2 e4 2 4
4
G1 G2 G3
4 2
5
5. Derajat (Degree)
Derajat suatu simpul adalah jumlah sisi yang bersisian dengan simpul tersebut. Notasi:
d(v)
1 1 1
e2
2 e3 5
3 e1
3 e5 3
2 e4 2 4
4
G1 G2 G3
94
Pada graf berarah,
din(v) = derajat-masuk (in-degree)
= jumlah busur yang masuk ke simpul v
dout(v) = derajat-keluar (out-degree)
= jumlah busur yang keluar dari simpul v
1 1
2 3 2 3
4 4
d(v) = din(v) + dout(v)
G4 G5
Tinjau graf G4:
din(1) = 2; dout(1) = 1
din(2) = 2; dout(2) = 3
din(3) = 2; dout(3) = 1
din(4) = 1; dout(3) = 2
Teorema: Untuk sembarang graf G, banyaknya simpul ganjil selalu berderajat genap.
Contoh:
Diketahui graf dengan lima buah simpul. Dapatkah kita menggambar graf tersebut jika derajat
masing-masing simpul adalah:
a) 2, 3, 1, 1, 2
b) 2, 3, 3, 4, 4
Jawab:
a. Tidak dapat, karena jumlah derajat semua simpulnya ganjil (2 + 3 + 1 + 1 + 2 = 9).
b. Dapat, karena jumlah derajat semua simpulnya genap (2 + 3 + 3 + 4 + 4 = 16).
95
6. Lintasan (Path)
Lintasan yang panjangnya n dari simpul awal v0 ke simpul tujuan vn di dalam graf G ialah barisan
berselang-seling simpul-simpul dan sisi-sisi yang berbentuk v0, e1, v1, e2, v2,... , vn –1, en, vn
sedemikian sehingga e1 = (v0, v1), e2 = (v1, v2), ... , en = (vn-1, vn) adalah sisi-sisi dari graf G.
Tinjau graf G1: lintasan 1, 2, 4, 3 adalah lintasan dengan barisan sisi (1,2), (2,4), (4,3).
Panjang lintasan adalah jumlah sisi dalam lintasan tersebut. Lintasan 1, 2, 4, 3 pada G1 memiliki
panjang 3.
1 1 1
e2
2 e3 5
3 e1
3 e5 3
2 e4 2 4
4
G1 G2 G3
1 1 1
e2
2 e3 5
3 e1
3 e5 3
2 e4 2 4
4
G1 G2 G3
8. Terhubung (Connected)
Dua buah simpul v1 dan simpul v2 disebut terhubung jika terdapat lintasan dari v1 ke v2. Graf G
disebut graf terhubung (connected graph) jika untuk setiap pasang simpul vi dan vj dalam
himpunan V terdapat lintasan dari vi ke vj.
Jika tidak, maka G disebut graf tak-terhubung (disconnected graph).
96
Contoh graf tak-terhubung:
2
5
1 4
6
3 8 7
a. Graf berarah G dikatakan terhubung jika graf tidak berarahnya terhubung (graf tidak
berarah dari G diperoleh dengan menghilangkan arahnya).
b. Dua simpul, u dan v, pada graf berarah G disebut terhubung kuat (strongly connected)
jika terdapat lintasan berarah dari u ke v dan juga lintasan berarah dari v ke u.
c. Jika u dan v tidak terhubung kuat tetapi terhubung pada graf tidak berarahnya, maka u dan
v dikatakan terhubung lemah (weakly coonected).
d. Graf berarah G disebut graf terhubung kuat (strongly connected graph) apabila untuk
setiap pasang simpul sembarang u dan v di G, terhubung kuat. Kalau tidak, G disebut graf
terhubung lemah.
1
2 3
3 4
i. Cut-Set
Cut-set dari graf terhubung G adalah himpunan sisi yang bila dibuang dari G menyebabkan G
tidak terhubung. Jadi, cut-set selalu menghasilkan dua buah komponen.
Pada graf di bawah, {(1,2), (1,5), (3,5), (3,4)} adalah cut-set. Terdapat banyak cut-set pada
sebuah graf terhubung.
Himpunan {(1,2), (2,5)} juga adalah cut-set, {(1,3), (1,5), (1,2)} adalah cut-set, {(2,6)} juga cut-set,
tetapi {(1,2), (2,5), (4,5)} bukan cut-set sebab himpunan bagiannya, {(1,2), (2,5)} adalah cut-set.
1 2 1 2
5 6 5 6
3 4 3 4
(a) (b)
97
11. Graf Berbobot (Weighted Graph)
Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot).
10 12
8
e b
15 9
11
d 14 c
E. Graf Khusus
1. Graf Lengkap (Complete Graph)
Graf lengkap ialah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul
lainnya. Graf lengkap dengan n buah simpul dilambangkan dengan Kn.
Jumlah sisi pada graf lengkap yang terdiri dari n buah simpul adalah n(n – 1)/2.
K1 K2 K3 K4 K5 K6
2. Graf Lingkaran
Graf lingkaran adalah graf sederhana yang setiap simpulnya berderajat dua. Graf lingkaran
dengan n simpul dilambangkan dengan Cn.
98
3. Graf Roda
Graf yang setiap simpulnya mempunyai derajat yang sama disebut graf teratur. Apabila derajat
setiap simpul adalah r, maka graf tersebut disebut sebagai graf teratur derajat r. Jumlah sisi pada
graf teratur adalah nr/2.
Contoh:
Berapa jumlah maksimum dan jumlah minimum simpul pada graf sederhana yang mempunyai 16
buah sisi dan tiap simpul berderajat sama dan tiap simpul berderajat ≥ 4 ?
Jawab:
Tiap simpul berderajat sama ----> graf teratur.
Jumlah sisi pada graf teratur berderajat r adalah e = nr/2. Jadi, n = 2e/r = (2)(16)/r = 32/r.
Untuk r = 4, jumlah simpul yang dapat dibuat adalah maksimum, yaitu n = 32/4 = 8.
Untuk r yang lain (r > 4 dan r merupakan pembagi bilangan bulat dari 32):
r = 8 -> n = 32/8 = 4 -> tidak mungkin membuat graf sederhana.
r = 16 -> n = 32/16 = 2 -> tidak mungkin membuat graf sederhana.
Jadi, jumlah simpul yang dapat dibuat adalah 8 buah (maksimum dan minimum).
Graf G yang himpunan simpulnya dapat dipisah menjadi dua himpunan bagian V1 dan V2,
sedemikian sehingga setiap sisi pada G menghubungkan sebuah simpul di V1 ke sebuah simpul di
V2 disebut graf bipartit dan dinyatakan sebagai G(V1, V2).
99
V1 V2
Graf G di bawah ini adalah graf bipartit, karena simpul-simpunya dapat dibagi menjadi V1 = {a, b,
d} dan V2 = {c, e, f, g}
a b
g c
f
e d
G
graf persoalan utilitas (K3,3), topologi bintang
H1 H2 H3
W G E
F. Representasi Graf
Contoh:
1 1 1
2 5 2 3
3
3
2 4 4
4
1 2 3 4 1 2 3 4 5 1 2 3 4
100
1 0 1 1 0 0
1 0 1 1 0 2 1 0 1 0 0 1 0 1 0 0
2 1 0 1 1 2 1 0 1 1
3 1 1 0 1 0
3 1 1 0 1 3 1 0 0 0
4 0 0 1 0 0
4 0 1 1 0 4 0 1 1 0
5 0 0 0 0 0
(a) (b) (c)
n
dout (vi) = jumlah nilai pada baris i = a
j 1
ij
10 12
8
e b
15 9
11
d 14 c
a b c d e
a 12 10
b 12 9 11 8
c 9 14
d 11 14 15
e 10 8 15
101
e1
1 2
e2
e4 e3
3
e5
4
e1 e2 e3 e4 e5
1 1 1 0 1 0
2 1 1 1 0 0
3 0 0 1 1 1
4 0 0 0 0 1
1 1 1
2 5
3 2 3
3
2 4 4
4
G. Graf Isomorfik
Diketahui matriks ketetanggaan (adjacency matrices) dari sebuah graf tidak berarah. Gambarkan
dua buah graf yang yang bersesuaian dengan matriks tersebut.
0 1 0 0 1
1 0 1 1 1
0 1 1 1 0
0 1 1 0 1
1 1 0 1 0
102
Jawab:
2
1 2 3
1
3
5 4
5 4
Dua buah graf yang sama (hanya penggambaran secara geometri berbeda) isomorfik!
Dua buah graf yang sama tetapi secara geometri berbeda disebut graf yang saling isomorfik.
Dua buah graf, G1 dan G2 dikatakan isomorfik jika terdapat korespondensi satu-satu antara simpul-
simpul keduanya dan antara sisi-sisi keduaya sedemikian sehingga hubungan kebersisian tetap
terjaga.
Dengan kata lain, misalkan sisi e bersisian dengan simpul u dan v di G1, maka sisi e’ yang
berkoresponden di G2 harus bersisian dengan simpul u’ dan v’ yang di G2.
Dua buah graf yang isomorfik adalah graf yang sama, kecuali penamaan simpul dan sisinya saja
yang berbeda. Ini benar karena sebuah graf dapat digambarkan dalam banyak cara.
3 d c v w
1 2 a b x y
a v w
e
c
b d
x y
(a) G1 (b) G2
Gambar Graf (a) dan graf (b) isomorfik [DEO74]
103
H. Graf Planar dan Graf Bidang
Graf yang dapat digambarkan pada bidang datar dengan sisi-sisi tidak saling memotong
(bersilangan) disebut graf planar,
jika tidak, maka ia disebut graf tak-planar.
K4 adalah graf planar:
Graf planar yang digambarkan dengan sisi-sisi yang tidak saling berpotongan disebut graf bidang
(plane graph).
H1 H2 H3 H1 H2 H3
W G E W G E
104
(a) (b)
(a) Graf persoalan utilitas (K3,3), (b) graf persoalan utilitas bukan graf planar.
Contoh:
Gambarkan graf (kiri) di bawah ini sehingga tidak ada sisi-sisi yang berpotongan (menjadi graf
bidang). (Solusi: graf kanan)
Sisi-sisi pada graf bidang membagi bidang datar menjadi beberapa wilayah (region) atau muka
(face).
Graf bidang pada gambar di bawah ini terdiri atas 6 wilayah (termasuk wilayah terluar):
R2 R3 R4
R6
R5
R1
Hubungan antara jumlah simpul (n), jumlah sisi (e), dan jumlah wilayah (f) pada graf bidang:
n–e+f=2 (Rumus Euler)
R2 R3 R4
R6
R5
R1
Lintasan Euler ialah lintasan yang melalui masing-masing sisi di dalam graf tepat satu kali.
Sirkuit Euler ialah sirkuit yang melewati masing-masing sisi tepat satu kali..
105
Graf yang mempunyai sirkuit Euler disebut graf Euler (Eulerian graph). Graf yang mempunyai
lintasan Euler dinamakan juga graf semi-Euler (semi-Eulerian graph).
Contoh:
2 1 1 2 2 3
(a) (b) (c)
3 5
4 1 4
3 4 5 6 6 7
e c 4 5 c d e
Lintasan Hamilton ialah lintasan yang melalui tiap simpul di dalam graf tepat satu kali.
Sirkuit Hamilton ialah sirkuit yang melalui tiap simpul di dalam graf tepat satu kali, kecuali simpul
asal (sekaligus simpul akhir) yang dilalui dua kali.
Graf yang memiliki sirkuit Hamilton dinamakan graf Hamilton, sedangkan graf yang hanya
memiliki lintasan Hamilton disebut graf semi-Hamilton.
(a) (b) (c)
1 2 1 2 1 2
4 3 4 3 4 3
106
(c) graf yang tidak memiliki lintasan maupun sirkuit Hamilton
(a) (b)
(a) Dodecahedron Hamilton,
(b) graf yang mengandung sirkuit Hamilton
107
Exercise
Soal 1-3
108
Soal 4-6
Soal 7-9
Soal 10
Soal 11
109
Soal 12
Soal 13
110