Diskrit
DAFTAR ISI
BAB 1. PENDAHULUAN ..................................................................................................1
A. DEFINISI .................................................................................................................................. 1
B. HUBUNGAN MATEMATIKA DISKRIT DENGAN MATAKULIAH LAIN............................................. 1
C. MATERI YANG DIBAHAS........................................................................................................... 1
D. PENERAPAN / APLIKASI MATEMATIKA DISKRIT ........................................................................ 2
A. DEFINISI
Benda dikatakan diskrit jika ia terdiri dari sejumlah berhingga elemen yang berbeda atau
elemen-elemen yang tidak bersambungan. Himpunan bilangan bulat (integer) dipandang
sebagai objek diskrit. Kita dapat memahami diskrit dengan membandingkan lawan katanya
yaitu kontinyu atau menerus (continuous). Himpunan bilangan riil (real) dipandang sebagai
objek yang kontinyu. Di dalam matematika kita mengenal fungsi diskrit dan fungsi kontinyu.
Fungsi diskrit digambarkan sebagai kumpulan titik-titik, sedangkan fungsi kontinyu
digambarkan sebagai kurva.
Matematika diskrit adalah cabang matematika yang mengkaji objek-objek diskrit. Matematika
diskrit berkembang sangat pesat dalam decade terakhir ini. Salah satu alasan yang
menyebabkan perkembangan pesat ini adalah karena computer digital bekerja secara diskrit.
Informasi yang disimpan dan dimanipulasi oleh computer adalah dalam bentuk diskrit.
Matematika diskrit merupakan ilmu paling dasar di dalam pendidikan informatika atau ilmu
computer. Pada dasarnya informatika adalah kumpulan disiplin ilmu dan teknisk yang mengolah
dan memanipulasi objek diskrit. Matematika diskrit memberikan landasan matematis unutk
kuliah-kuliah lain di informatika. Mahasiswa yang mengambil kuliah seperti algoritma, struktur
data, basis data, otomata dan teori bahasa formal, jaringan computer, keamanan computer,
system operasi, teknik kompilasi dan sebagainya akan mengealami kesulitan jika tidak
mempunyai landasan matematis dari matematika diskrit. Hal ini tidak mengherankan karena
kebanyakan kuliah tersebut sering mengacu kepada konsep-konsep di dalam matematika
diskrit. Karena itulah kuliah matematika diskrit diberikan pada tahun pertama perkuliahan
informatika atau ilmu computer.
1. Logika
2. Teori Himpunan
1
3. Matriks
5. Induksi Matematik
6. Algortima
11. Kombinatorial
Beberapa materi akan dipelajari lebih mendalam, seperti materi algoritma dipelajari secara lebih
mendalam pada kuliah Algoritma dan Pemrograman, teori peluang diskrit pada kuliah
Probabilitas dan Statistik, Pemodelan komputasi pada kuliah Otomata dan Teori Bahasa Formal,
fungsi pembangkit dimasukkan ke dalam kuliah Model dan SImulasi, sedangkan barisan dan
deret biasanya dimasukkan ke dalam kuliah kalkulus.
1. Berapa banyak kemungkinan jumlah password yang dapat dibuat dari 8 karakter?
2. Berapa banyak string biner yang panjangnya 8 bit yang mempunyai bit 1 sejumlah ganjil?
4. “Makanan murah tidak enak”, “Makanan enak tidak murah”. Apakah kedua pernyataan
tersebut menyetakan hal yang sama?
2
Bab 2
Dasar-dasar Logika
A. KALIMAT DEKLARATIF
Kalimat Deklaratif (Proposisi) adalah kalimat yang bernilai benar atau salah, tetapi tidak
keduanya.
2+2=4
B. PENGHUBUNG KALIMAT
Sering kali beberapa kalimat perlu digabungkan menjadi satu kalimat yang lebih panjang.
Misalnya kalimat : ` 4 adalah bilangan gena dan 3 adalah bilangan ganjil ` merupakan
gabungan dari 2 buah kalimat : ` 4 adalah bilangan genap ` dan kalimat ` 3 adalah bilangan
ganjil ` didalam logika dikenal 5 buah penghubung :
Dalam matematika digunakan huruf – huruf kecil seperti p, q, r, ... untuk menyatakan sub
kalimat dan simbol – simbol penghubung untuk menyatakan penghubung kalimat.
Misalkan :
3
Maka kalimat : 1 4 adalah bilangan genap dan 3 adalah bilangan ganjil ` dapat dinyatakan
dengan simbol p ^ q
Jika p dan q merupakan kalimat – kalimat, maka tabel kebenaran penghubung tampak pada
tabel ( T = True/benar , F = False/salah ). Perhatikan bahwa secara umum, jika ada n variabel
( p, q, ...), maka tabel kebenaran memuat 2n baris.
B B S B B B B
B S S S B S S
S B B S B B S
S S B S S B B
Contoh :
Anggaplah negasi dari kaya adalah miskin dan negasi dari bersuka cita adalah sedih
Penyelesaian :
a Kata penghubung tetapi mempunyai arti yang sama dengan kata penghubung `dan`,
sehingga simbolisnya adalah ~ k ^ s
bkv~s
c Kalimat tersebut berarti bahwa Monde tidak kaya dan sekaligus Monde tidak bersuka cita.
Bentuk simbolisnya ~ k ^ ~ s
d ~ k v (k ^ ~ s)
4
TAUTOLOGI DAN KONTRADIKSI
Dalam argumentasi matematika kadang-kadang kita perlu mengganti sebuah pernyataan
dengan pernyataan lain yang mempunyai nilai kebenaran yang sama.
Dua pernyataan yang selalu mempunyai nilai kebenaran yang sama disebut ekivalen secara
logis. Kita menggunakan notasi p ≡ q
B B S S B B B B
B S S B S B B S
S B B S B S S B
S S B B B B B B
Ekivalensi logis ini bisa juga ditulis sebagai implikasi dua arah dengan notasi p↔q. Implikasi dua
arah, p↔q, ini dibaca p jika dan hanya jika q atau p adalah syarat perlu dan cukup untuk q.
Pernyataan terakhir menunjukkan bahwa p↔ q ekivalen dengan pq dan qp
p q pq
B B B
B S S
S B S
S S B
Perhatikan bahwa implikasi dua arah p↔q bernilai nenar hanya jika p dan q memiliki nilai
kebenaran yang sama, yaitu kedua-duanya benar atau kedua-duanya salah. Selanjutnya,
tautologi adalah pernyataan yang selalu benar apapun kombinasi nilai kebenaran pernyataan-
pernyataan yang ada di dalamnya. Sebaliknya pernyataan yang selalu salah disebut kontradiksi
dan pernyataan yang bukan tautologi ataupun kontradiksi disebut kontingensi. Kita akan
menggunakan notasi T untuk tautologi dan F untuk kontradiksi. Defnisi ekivalensi dan implikasi
dua arah menyarankan bahwa p dan q ekivalen jika p↔q merupakan tautologi.
5
Perhatikan tabel kebenaran berikut
B B B B B B
B S S B S S
S B B S S S
B S B B B B
Dari tabel ini terlihat bahwa (p q) ^ (qq) ekivalen dengan p⟷q dan kita dapat menulisnya
sebagai
(pq) ^ (qq) ≡ p ⟷ q
Kita dapat juga memperlihatkan bahwa ((p q) ^ (q q)) ⟷ (p ⟷q) adalah tautologi.
Misalkan
Maka
-p -q : Jika minggu depan tidak ada ujian, maka mahasiswa tidak sibuk belajar
-q -p : Jika mahasiswa tidak sibuk belajar, maka minggu depan tidak ada ujian.
B B S S B B B B
B S S B S B B S
S B B S B S S B
S S B B B B B B
6
Table di tas memperlihatkan bahwa pq memiliki nilai kebenaran yang sama dengan -q -p,
sedangkan q p mempunyai nilai kebenaran yang sama dengan -p -q. Pernyataan-
pernyataan yang mempunyai nilai kebenaran selalu sama disebut pernyataan yang ekivalen.
Jadi pernyataan "jika minggu depan ada ujian, maka mahasiswa sibuk belajar" ekivalen dengan
pernyataan "jika mahasiswa tidak sibuk belajar, maka minggu depan tidak ada ujian". Hal ini
bisa dijelaskan sebagai berikut. Jika mahasiswa tidak sibuk belajar, pasti minggu depan tidak
ada ujian sebab kalau ada mahasiswa akan sibuk belajar. Lain halnya dengan inversi dan
konversinya. Jika minggu depan tidak ada ujian belum tentu mahasiswa tidak sibuk belajar,
sebaliknya jika mahasiswa sibuk belajar belum tentu minggu depan ada ujian.
INFERENSI LOGIKA
Logika selalu berhubungan dengan pernyataan – pernyataan yang ditentukan nilai
kebenarannya. Sering kali diinginkan untuk menentukan benar tidaknya kesimpulan
berdasarkan sejumlah kalimat yang diketahui nilai kebenarannya.
P1
P2
P3
...
Pn
--------------------
q } kesimpulan
Suatu argumen dikatakan valid apabila untuk sembarang pernyataan yang disubsitusikan
kedalam hipotesa, jika semua hipotesa tersebut benar, maka kesimpulan juga benar.
Sebaliknya meskipun semua hipotesa benar tetapi ada kesimpulan yang salah, maka argumen
tersebut dikatakan invalid.
Kalau suatu argumen dan semua hipotesanya bernilai benar maka kebenaran nilai konklusi
dikatakan sebagai ` diinferensikan (diturunkan) dari kebenaran hipotesa `.
7
Untuk mengecek apakah suatu argumen merupakan kalimat yang valid, dapat dilakukan
langkah – langkah sebagai berikut :
2. Buat tabel yang merupakan nilai kebenaran untuk semua hipotesa dan kesimpulan.
3. Carilah baris kritis, yaitu baris dimana semua hipotesa bernilai benar.
Dalam baris kritis tersebut, jika semua nilai bernilai benar, maka argumen itu valid. Jika
diantara baris kritis tersebut ada baris dengan nilai kesimpulan yang salah, maka argumen itu
invalid.
Contoh
a pv(qvr) b p→(qv~r)
~r q→(p^r)
---------------- --------------------
pvq p→r
Penyelesaian :
1 B B B B B S B
2 B B S B B B B
3 B S B B B S B
4 B S S S B B B
5 S B B B B S B
6 S B S B B B B
7 S S B B B S S
8 S S S S S B S
8
Baris kritis adalah baris 2, 4, 6 (baris yang semua hipotesanya bernilai T. Pada baris – baris
tersebut kesimpulannya juga bernilai T. Maka argumen tersebut valid.
1 B B B S B B B B B
2 B B S B B S B S S
3 B S B S S B S B B
4 B S S B B S B B S
5 S B B S B S B S B
6 S B S B B S B S B
7 S S B S S S B B B
8 S S S B B S B B B
Baris kritis adalah baris 1, 4, 7, dan 8. Pada baris ke 4 (baris kritis) nilai konklusinya adalah F,
maka argumen tersebut invalid.
Metode Inferensi yaitu teknik untuk menurunkan kesimpulan berdasarkan hipotesa yang ada,
tanpa harus menggunakan tabel kebenaran.
--------
~q
--------
~p
9
3 Penambahan Disjangtif p q
------- -------
pvq pvq
p q
~p ~q
------- -------
q p
q→r
--------
p→r
7 Dilema pvq
p→r
q→r
---------
8 Kojungsi p
-------
p^q
Contoh :
Pada suatu hari, anda hendak pergi ke kampus dan baru sadar bahwa anda tidak memakai
kacamata. Setelah mengingat-ingat, ada beberapa fakta yang anda pastikan kebenarannya :
10
a. Jika kacamata ada di meja dapur, maka aku pasti sudah melihatnya ketika sarapan pagi
c. Jika aku membaca koran di ruang tamu, maka pastilah kacamata kuletakkan di meja tamu
e. Jika aku membaca buku di ranjang, maka kacamata kuletakkan di meja samping ranjang
f. Jika aku membaca korang di dapur, maka kacamataku ada di meja dapur
Penyelesaian :
Untuk memudahkan pemahaman dan penggunaan hukum – hukum inferensi, maka kalimat –
kalimat tersebut lebih dahulu dinyatakan dalam simbol – simbol logika misalnya :
Dengan simbol – simbol tersebut maka fakta – fakta di atas dapat di tulis sebagai berikut :
p→q
rvs
r→t
~q
u→w
s→p
11
~q fakta (d)
--------
2 s → p fakta (f)
~p kesimpulan dari 1
---------
~s kesimpulan 2
---------
4 r → t fakta (c)
r kesimpulan 3
---------
Perhatikan bahwa untuk mencapai kesimpulan akhir, tidak semua fakta dipergunakan. Dalam
contoh fakta (e) tidak digunakan. Hal ini tidak menjadi masalah selama penurunan dilakukan
dengan menggunakan metode inferensi yang benar.
12
Bab 3
Aljabar Boole
Aljabar boolean merupakan aljabar yang berhubungan dengan variabel-variabel biner dan
operasi-operasi logik. Variabel-variabel diperlihatkan dengan huruf-huruf alfabet, dan tiga
operasi dasar dengan AND, OR dan NOT (komplemen). Fungsi boolean terdiri dari variabel-
variabel biner yang menunjukkan fungsi, suatu tanda sama dengan, dan suatu ekspresi aljabar
yang dibentuk dengan menggunakan variabel-variabel biner, konstanta-konstanta 0 dan 1,
simbol-simbol operasi logik, dan tanda kurung.
Suatu fungsi boolean bisa dinyatakan dalam tabel kebenaran. Suatu tabel kebenaran untuk
fungsi boolean merupakan daftar semua kombinasi angka-angka biner 0 dan 1 yang diberikan
ke variabel-variabel biner dan daftar yang memperlihatkan nilai fungsi untuk masing-masing
kombinasi biner.
Aljabar boolean mempunyai 2 fungsi berbeda yang saling berhubungan. Dalam arti luas, aljabar
boolean berarti suatu jenis simbol-simbol yang ditemukan oleh George Boole untuk
memanipulasi nilai-nilai kebenaran logika secara aljabar. Dalam hal ini aljabar boolean cocok
untuk diaplikasikan dalam komputer. Disisi lain, aljabar boolean juga merupakan suatu struktur
aljabar yang operasi-operasinya memenuhi aturan tertentu.
1. STRUKTUR ALJABAR
Secara umum, aljabar Boolean, didefinisikan sebagai suatu himpunan dengan operasi “⋀”, “ ∨”,
dan “-“ (atau ‘) serta elemen 0 dan 1 yang memenuhi sifat-sifat berikut:
Hukum Komutatif
xvy=yvx
x^y=y^x
Hukum Asosiatif
(x v y) v z = x v (y v z)
(x ^ y) ^ z = x ^ (y ^ z)
Hukum Distributif
x v (y ^ z)= (x v y) ^ (x v z)
x ^(y v z) = (x ^ y) v (x ^ z)
13
Hukum Identitas
xv0=x
x^1=x
x v x’ = 1
x ^ x’ = 0
Teorema
Hukum Idempoten
xvx= x
x^x=x
Hukum Ikatan
Xv1=1
X^0=0
Hukum Absorbsi
(x ^y) v x = x
(x v y) ^ x =x
Hukum De Morgan
(x v y)’ = x’ ^ y’
(x ^ y)’ = x’ v y’
Bukti
14
=x Hukum Identitas
= (x v x) v x’ Hukum Asosiatif
= x v x’ Hukum Idempoten
=1 Hukum Negasi
(x ^ y) v x = (x ^ y) v (x ^ 1) Hukum Identitas
= x ^ (y v 1) Hukum Distributif
=x Hukum Identitas
2. FUNGSI BOOLEN
Misal B = (B, v, ^, -, 0, 1) adalah aljabar Boole.
Operasi Not, And (dan), Or (atau) dalam logika dapat dipandang sebagai fungsi Boolean dari
{0,1}2 {0,1}
0
Not (x) =
1
0
And (x,y) =
1
15
0
Or (x,y) =
1
3. EKSPRESI BOOLEN
Ekspresi boole dalam n buah variable x1, x2,…,xn didefinisikan secara rekursif sebagai berikut:
3. Jika E1 dan E2 adalah ekspresi Boole, maka E1 ^ E2, E1 v E2, E1’ adalah ekspresi Boole
juga.
RANKAIAN LOGIKA
Selain sebagai suatu struktur aljabar, aljabar boole juga sangat tepat untuk diaplikasikan dalam
rangkaian listrik. Analogi antara struktur aljabar dan rangkaian listrik dapat dilihat dalam table
berikut:
Saklar Terbuka 0
Saklar Tertutup 1
16
dalam pembuatan rangkaian, para ahli sepakat untuk menganggap rangkaian-rangkaian
sebagai kotak hitam. Isi kotak hitam adalah implementasi rangkaian secara rinci. Isi kotak
tersebut sering diabaikan dan perhatian lebih ditujukan pada relasi yang ada antara signal
masukan/keluaran.
Rangkaian yang rumit dapat disusun dari unit-unit kecil yang disebut gerbang (gates). Suatu
gerbang tertentu bersesuaian dengan suatu fungsi boole sederhana. Ada beberapa gerbang
dasar yang banyak dipakai.
X X’
0 1
1 0
Operasi ini akan menghasilkan logika 1, jika kedua variabel tersebut berlogika 1
A B A.B
A A.B 0 0 0
0 1 0
1 0 0
B 1 1 1
17
Operasi logika OR
Operasi ini akan menghasilkan logika 0, jika kedua variabel tersebut berlogika 0.
A A+B A B A+B
0 0 0
0 1 1
B 1 0 1
1 1 1
Operasi ini merupakan operasi OR dan NOT, keluarannya merupakan keluaran operasi OR yang
di inverter.
A A+B ( A + B )’ A B ( A + B)’
0 0 1
0 1 0
B 1 0 0
1 1 0
Atau
A ( A + B )’
18
Operasi logika NAND
Operasi logika ini merupakan gabungan operasi AND dan NOT, Keluarannya merupakan
keluaran gerbang AND yang di inverter.
A A.B ( A . B )’ A B ( A . B)’
0 0 1
0 1 1
B 1 0 1
1 1 0
Atau
A ( A . B )’
akan menghasilkan keluaran ‘1’ jika jumlah masukan yang bernilai ‘1’ berjumlah ganjil.
A Y A B A+B
0 0 0
0 1 1
B 1 0 1
1 1 0
19
Operasi logika EXNOR
Operasi ini akan menghasilkan keluaran ‘1’ jika jumlah masukan yang bernilai ‘1’ berjumlah
genap atau tidak ada sama sekali.
A Y A B A+B
0 0 1
0 1 0
B 1 0 0
1 1 1
DALIL BOOLEAN ,
0.0=0
1+1=1
0+0=0
1.1= 1
1.0=0.1=0
1+0=0+1=0
20
Bab 4
Metode Pembuktian
Ada banyak cara untuk membuktikan teorema, dan kadang-kadang suatu teorema dapat
dibuktikan dengan beberapa cara berbda. Akan tetapi, secara umum ada 2 jenis metoda
pembuktian, yaitu metode pembuktian langsung dan metode pembuktian tak langsung.
Tuliskan mana yang diketahui (hipotesis) dan mana yang akan dibuktikan. Menggunakan
hal- hal yang akan dibuktikan dalam salah satu langkah pembuktian merupakan
kesalahan fatal. Hal yang akan dibuktikan merupakan sesuatu yang belum dipastikan
kebenarannya sehingga tidak boleh dipakai. Oleh karena itu, pemisahan yang baik antara
hal-hal yang diketahui dari teorema dengan hal-hal yang harus dibuktikan akan menolong
kita sehingga kita tidak melakukan kesalahan tersebut.
Kata “bukti” tersebut digunakan sebagai pemisah antara teorema dan pembuktian yang
dilakukan.
a. Tulislah variable dan tipenya yang akan digunakan. Itu berguna untuk selalu
mengingat tipe variable yang dipakai dalam langkah-langkah pembuktian
selanjutnya.
Contoh:
Penulisan itu mirip dengan deklarasi variable dalam pembuatan program dengan
bahasa Pascal.
21
b. Apabila di tengah-tengah pembuktian ada sifat suatu variable yang akan
digunakan, tuliskanlah sifat tersebut dengan lengkap dan jelas.
Contoh:
a. …
b. M+n =ab + ac
c. …
“Misalkan k=r+s
Contoh:
Buktikan bahwa untuk semua bilangan genap n antara 4 dan 30, n dapat dinyatakan sebagai
jumlahan 2 bilangan prima.
Penyelesaian
22
Terlihat bahwa semua bialnagn genap n (4 ≤n ≤30) dapat dinyatakan sebagai jumlahan 2
bilangan prima.
Langkah-langkah yang dilakukan dalam pembuktian dengan kontradiksi adalah sebagai berikut:
Contoh
Bukti
Misalkan negasi dari pernyataan tersebut benar. Jadi, diandaikan ada bilangan bulat yang
terbesar (sebutlah N).
Oleh karena N terbesar, maka N ≥ n untuk semua bilangan bulat n. ambillah M = N + 1. Oleh
karena N adalah bilangan bulat, maka M juga bilangan bulat. Di samping itu, jelaslah bahwa N
< M (karena M=N+1). Didapatkan:
23
E. METODE PEMBUKTIAN DENGAN KONTRAPOSISI
Suatu pernyataan akan selalu ekuivalen (memiliki nilai kebenaran yang sama) dengan
kontraposisinya. Dengan demikian, pembuktian kebenaran suatu pernyataan dapat pula
dilakukan dengan membuktikan kebenaran kontraposisinya.
Contoh
Bukti
n adalah pernyataan n ≥ 37
maka dalam symbol, kalimat di atas dapat dinyatakan sebagai p (q v r).
Bukti
Ambil 2 bilangan bulat m dan n dengan sifat m < 37 dan n < 37. m < 37 berarti m ≤ 36 dan n
< 37 berarti n ≤ 36, sehingga
m + n ≤ 36 + 36
m + n ≤ 72
m + n < 73
Terbukti bahwa jika m < 37 dan n < 37, maka (m+n) < 73.
24
F. MEMILIH METODE PEMBUKTIAN
Adanya banyak cara untuk membuktikan suatu pernyataan memunculkan suatu pernyataan,
“Metode manakah yang paling tepat/mudah dipakai untuk membuktikan suatu pernyataan?”
jawab yang tepat atas pernyataan tersebut sangatlah sukar karena masing-masing metode
memiliki ciri-ciri, kemampuan, keindahan, dan kekhususan tersendiri. Ada kalanya suatu
pernyataan dapat dibuktikan dengan beberapa metode yang berbeda dengan sama baiknya.
Akan tetapi, kadang-kadang itu hanya dapat diselesaikan dengan suatu metode tertentu saja.
25
Bab 5
Induksi Matematika
A. PRINSIP INDUKSI MATEMATIKA
Induksi Matematika merupakan suatu teknik yang dikembangkan untuk membuktikan
pernyataan.
Induksi Matematika digunakan untuk mengecek hasil proses yang terjadi secara berulang
sesuai dengan pola tertentu.
positif
Contoh 1 :
Buktikan bahwa :
1 + 2 + 3 + … + n = ½ n(n+1)
26
Jawab :
1 = ½ 1 . (1+1) 1 = 1
Jawab :
Kesimpulan : 1 + 2 + 3 + …+ n = ½ n (n +1)
Contoh 2 :
Buktikan bahwa :
1 + 3 + 5 + … + n = (2n - 1) = n2
Jawab :
1 = 12 1 = 1
27
Induksi : misalkan untuk n = k asumsikan 1 + 3 + 5 + …+ (2k – 1) = k2
1 + 3 + 5 + …+ (2 (k + 1) – 1) = (k + 1)2
1 + 3 + 5 + …+ (2k + 1) = (k + 1)2
k 2 + (2K + 1) = (k + 1)2
k 2 + 2K + 1 = k 2 + 2K + 1
Kesimpulan : 1 + 3 + 5 + … + n = (2n - 1) = n2
Contoh 3 :
Buktikan bahwa :
N 3 + 2n adalah kelipatan 3
Jawab :
1 = 13 + 2(1) 1 = 3 , kelipatan 3
(k 3 + 3k 2 + 3 k+1) + 2k + 2
(k 3 + 2k) + (3k 2 + 3k + 3)
28
(k 3 + 2k) + 3 (k 2 + k + 1)
Induksi
3x + 3 (k 2 + k + 1)
3 (x + k 2 + k + 1)
While S
[Perintah-perintah dalam tubuh loop. Semua perintah tidak boleh melompat keluar
kalang]
End While
Loop WHILE akan dieksekusi terus menerus selama syarat kondisi S bernilai benar. Sekali
kondisi S bernilai salah, eksekusi pada kalang dihentikan.
Suatu loop dikatakan benar terhadap konsisi sebelum dan setelah loop bila dan hanya bila
setiap variable-variabel memenuhi kondisi sebelum loop dan loop dieksekusi sehingga variable-
variabel tersebut memenuhi kondisi setelah loop. Kebenaran loop dapat dibuktikan dengan
teorema loop invariant sebagai berikut.
Misalnya diberikan loop WHILE dengan syarat kondisi S, kondisi sebelum dan sesudah loop.
Misalkan pula diberikan predikat I(n) yang disebut loop invariant.
Apabila keempat syarat berikut benar, maka loop benar terhadap kondisi sebelum dan
sesudahnya.
1. Basis
Kondisi sebelum loop berarti bahwa I(0) benar sebelum iterasi pertama dalam loop.
2. Induksi
29
Jika syarat kondisi S dan loop invariant I(k) benar untuk suatu bilangan k ≥ 0 sebelum
iterasi loop, maka I(K+1) juga benar setelah iterasi loop.
3. Kondisi Penghentian
Setelah sejumlah iterasi loop yang berhingga, maka syarat kondisi S menjadi salah.
Jika untuk suatu bilangan bulat tak negative N, syarat kondisi S salah dan I(N) benar,
maka harga variable akan sama dengan yang ditentukan dalam kondisi akhir loop.
Contoh
Suatu program yang dibuat untuk menghitung m.x menurut definisi di atas adalah:
x := bilangan riil
i :=0
Kali :=0
While (I m)
Kali := kali + x
i := i + i
End While
Kali := m* x
30
Bab 6
Himpunan
A. DASAR TEORI HIMPUNAN
Definisi Himpunan
Himpunan digunakan untuk mengelompokkan sejumlah objek. Objek yang terdapat dalam
himpunan disebut elemen, unsur atau anggota. Biasanya notasi himpunan ditulis dengan huruf
besar seperti A, B, C, … dan elemen dengan huruf kecil.
B. MENYATAKAN HIMPUNAN
Contoh :
Nyatakan dengan notasi himpunan dengan menuliskan tiap-tiap anggotanya dan sifat-sifatnya
himpunan berikut ini :
B adalah himpunan mata kuliah yang anggotanya adalah : kalkulus, logika matematika,
matematika diskrit, statistika, fisika
E adalah himpunan bilangan riil lebih kecil dari 5 dan lebih besar dari 10
Jawab :
A = {2, 3, 4, 5}
31
A = {x | 1 < x < 6, x Asli}
B adalah himpunan mata kuliah yang anggotanya adalah : kalkulus, logika matematika,
matematika diskrit, statistika, fisika
B tidak bisa dituliskan sifat-sifatnya, karena tidak ada sifat yang sama di antara
anggota-anggotanya
C = {x | x > 5, x Riil}
D = {2, 4, 6, 8, 10}
E adalah himpunan bilangan riil lebih kecil dari 5 dan lebih besar dari 10
32
C. DIAGRAM VENN
Penyajian himpunan dengan diagram Venn ditemukan oleh seorang ahli matematika Inggris
bernama John Venn tahun 1881. Himpunan semesta digambarkan dengan segiempat dan
himpunan lainnya dengan lingkaran di dalam segiempat tersebut.
Contoh :
Jawab :
Diagram Venn :
S
A B
0
1 3
9
5 7
4
2 6 8
Diagram Venn :
S
A B
0 1 2 4
3 7
6
5 8 9
33
S = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, A = {0, 1, 2, 3, 5, 6, 7} dan B = {0, 1, 3, 7}
Diagram Venn :
S A
B
2 4
0 1
3 7 5 8
6
9
Himpunan A dikatakan himpunan bagian dari himpunan B jika dan hanya jika
setiap anggota A merupakan anggota B.
Notasi A B ((x) x A x B)
Contoh :
BA
Diagram Venn :
S A
B
2 4
0 1
3 7 5 8
6
9
2. Kesamaan Himpunan
Himpunan A dikatakan sama dengan himpunan B jika dan hanya jika setiap anggota A
adalah anggota B dan setiap anggota B adalah anggota A.
Contoh :
34
S = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
A = {x | x (x 1)(x 3) = 0, x Riil}
B = {0, 1, 2, 3, 5, 6, 7}
A = {0, 1, 3}
AB
Gabungan (union) dari himpunan A dan B adalah himpunan yang setiap anggotanya merupakan
anggota himpunan A atau himpunan B.
Notasi : A B = {x | x A x B}
Contoh :
Diagram Venn :
S A B
1 3 0
7 9
5
4 6
2 8
A B = {0, 1, 3, 5, 7, 9}
2. Irisan
Irisan (intersection) dari himpunan A dan B adalah himpunan yang setiap anggotanya
merupakan anggota dari himpunan A dan anggota himpunan B.
Notasi : A B = {x | x A x B}
35
Contoh :
Diagram Venn :
S A B
1 3 0
7 9
5
4 6
2 8
A B = {3, 7}
3. Komplemen
Notasi : Ac = {x | x S x A}
atau A = {x | x S x A}
Contoh :
Diagram Venn :
S
AC
0 A
2 1 3
5 7
4 9
6
8
AC = {0, 2, 4, 6, 8, 9}
4. Selisih
Selisih himpunan A dan B adalah himpunan yang anggotanya merupakan anggota himpunan A
dan bukan anggota himpunan B. Selisih himpunan A dan B adalah komplemen himpunan B
terhadap himpunan A.
36
Notasi : A – B = {x | x A x B}
atau A – B = A B
Contoh :
Diagram Venn :
S A B
3 0
1
7 9
2
4 6
5 8
A – B = {1, 2}
5. Beda Setangkup
Beda Setangkup (symetric difference) dari himpunan A dan B adalah himpunan yang
anggotanya ada pada himpunan A atau B, tetapi tidak pada keduanya.
Notasi : A B = (A B) – (A B)
atau : A B = (A – B) (B – A)
Contoh :
Diagram Venn :
S A B
3 0
1
7 9
2
4 6
5 8
A B = {1, 2, 8, 9}
37
G. PEMBUKTIAN-PEMBUKTIAN HIMPUNAN
Sifat-sifat Operasi pada Himpunan
1. Hukum Identitas
a. A = A
b. AS=A
c. A = A
2. Hukum Null
a. A =
b. AS=S
c. AA=
3. Hukum Komplemen
a. A Ac = S
b. A Ac =
4. Hukum Idempoten
a. AA=A
b. AA=A
5. Hukum Involusi
(Ac)c = A
6. Hukum Penyerapan
a. A (A B) = S
b. A (A B) = A
7. Hukum Komutatif
a. AB=BA
b. AB=BA
38
c. AB=BA
8. Hukum Asosiatif
a. A (B C) = (A B) C
b. A (B C) = (A B) C
c. A (B C) = (A B) C
9. Hukum Distributif
a. A (B C) = (A B) (A C)
b. A (B C) = (A B) (A C)
a. (A B) c = A c B c
b. (A B) c = A c B c
Kalimat himpunan adalah pernyataan yang menggunakan notasi himpunan, kalimat himpunan
dapat berupa kesamaan himpunan, dan untuk membuktikan kebenaran pada kesamaan
himpunan dapat digunakan beberapa cara untuk memperoleh kesimpulan benar. Salah satunya
“pembuktian dengan sifar operasi pada himpunan”.
Contoh :
Buktikan :
(A B) (A B) = A
A (B – A) = A B
(A – B) – C = (A – C) – 3
A (A B) = A B
A ( A B) = A B
A ( A B) = A B
39
Bukti :
(A B) (A B ) = A (B B ) (hukum distributif)
=A (hukum identitas)
= (A B) (A A) (hukum distributif)
= (A B) S (hukum komplemen)
= (A C) B (hukum assosiatif)
A ( A B ) = A ( A B ) (hukum De Morgan)
= (A A ) (A B ) (hukum distributif)
= S (A B) (hukum komplemen)
A ( A B) = (A A ) (A B) (hukum distributif)
= S (A B) (hukum komplemen)
A ( A B) = (A A ) (A B) (hukum distributif)
= (A B) (hukum komplemen)
40
H. HIMPUNAN KUASA
Himpunan kuasa (power set) dari himpunan A adalah himpunan yang anggotanya merupakan
semua himpunan bagian dari A, termasuk himpunan semesta dan himpunan kosong.
Notasi : p(A)
Contoh :
A = {1, 2, 3}
p(A) = {{ }, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
41
Bab 7
Kombinatorika
A. DASAR PERHITUNGAN
Dalam kehidupan sehari-hari, kita sering dihadapkan dengan masalah perhitungan. Sebagai
contoh, sebuah Warung Tegal menyediakan menu yang terdiri dari 4 jenis makanan, yaitu Nasi
Rawon (R), Nasi Soto (S), Nasi Pecel (P) dan Bakso (B) serta 3 jenis minuman, yaitu Es Jeruk
(J), Es Teh (T) dan
Es Degan (D).
Masalahnya, berapa banyak macam hidangan yang berbeda jika dipilih dari satu jenis makanan
dan satu jenis minuman? Masalah di atas merupakan salah satu contoh masalah diskrit yang
biasa dipecahkan dengan cara mendata semua kemungkinan hidangan yang berbeda yang
terdiri dari satu jenis makanan dan satu jenis minuman, yaitu: RJ,RT,RD, SJ, ST, SD, PJ, PT,
PD,BJ,BT,BD
Sehingga terdapat 12 macam hidangan yang berbeda. Total jenis hidangan tersebut bisa
diperoleh dengan cara mengalikan banyaknya jenis makanan dengan banyaknya jenis
minuman. Teknik perhitungan yang demikian disebut dengan Prinsip Perkalian. Selain prinsip
perkalian, terdapat teknik perhitungan lain yang bisa digunakan untuk memecahkan masalah-
masalah diskrit, yaitu Prinsip Penambahan.
B. ATURAN PEMNJUMLAHAN
Definisi
n1 + n2 + … + nt
Contoh
Berapa banyak untai 4 bit yang diawali dengan digit 10 dan 11?
Untuk menyusun untai 4 bit yang diawali dengan 10 ada dua langkah. Langkah pertama adalah
memilih digit ketiga yang bisa dilakukan dalam 2 cara (memilih 0 atau 1) dan langkah kedua
adalah memilih digit yang keempat yang juga bisa dilakukan dalam 2 cara. Sehingga
banyaknya untai 4 bit yang diawali dengan digit 10 adalah 2x2 = 4. Dengan cara yang sama
42
dapat diperoleh banyaknya untai 4 bit yang diawali dengan digit 11, yaitu ada 4 untai. Jadi
banyaknya untai 4 bit yang diawali dengan digit 10 dan 11 adalah 4 + 4 = 8
C. ATURAN PERKALIAN
Definisi
Jika terdapat aktivitas yang terdiri dari t langkah berurutan, dimana langkah 1 bisa dilakukan
dalam n1 cara, langkah 2 bisa dilakukan dalam n2 cara, dan seterusnya sampai langkah ke-t
yang bisa dilakukan dalam nt cara, maka banyaknya aktivtas yang berbeda adalah n1.n2…nt
Contoh
Gunakan prinsip perkalian untuk menghitung masalah banyaknya macam hidangan yang terdiri
satu jenis makanan dan satu jenis minuman diatas.
Masalah perhitungan banyaknya macam hidangan yang terdiri satu jenis makanan dan satu
jenis minuman diatas merupakan aktivitas yang terdiri dari 2 langkah, dimana langkah pertama
adalah memilih makanan yang bias dilakukan dalam 4 cara, dan langkah kedua adalah memilih
minuman yang bisa dilakukan dalam 3 cara, sehingga banyaknya macam hidangan adalah 4x3
= 12.
Contoh
Suatu kartu bridge lengkap diambil satu per satu dengan pengembalian. Berapa banyak cara
yang mungkin untuk mengambil 10 kartu sedemikian hingga kartu ke-10 adalah perulangan
dari kartu yang telah diambil sebelumnya?
Penyelesaian
Soal di atas akan diselesaikan dengan cara menghitung, komplemennya, yaitu mengambil 10
kartu sedemikian sehingga kartu ke-10 bukanlah kartu yang pernah diambil sebelumnya.
Kartu ke-1 hingga kartu ke-9 haruslah berbeda dengan kartu ke-10 tersebut. Jadi, ada (52-1)9
= 519 cara untuk mendepatkan ke-9 kartu pertama. Dengan demikian, ada (519) (52) cara
untuk mengambil 10 kartu sedemikian hingga kertu ke-10 berbeda dengan kartu-kartu ke 1
hingga ke-9.
Padahal jika tidak ada syarat apapun untuk mengambil ke-10 kartu, maka ada 5210 cara.
43
Jadi, banyak cara untuk mengambil 10 kartu sedemikian hingga kartu ke-10 adalah perulangan
dari kartu yang telah diambil sebelumnya adalah 5210 – (519)(52) cara.
E. KORESPONDENSI SATU-SATU
Suatu teknik lain untuk menghitung dilakukan dengan cara mengganti masalah yang sedang
diselesaikan dengan masalah lain yang diketahui memiliki jumlah objek yang sama. Tentu saja
masalah pengganti tersebut haruslah lebih sederhana dan mudah dihitung.
Contoh
Suatu pertandingan bola basket dengan sistem gugur diikuti oleh 101 regu. Dalam sistem
tersebut, regu yang kalah akan langsung gugur dan regu yang menang akan maju ke babak
berikutnya. Jika jumlah regu dalam suatu babak tertentu ganjil, maka ada 1 regu yang
mendapatkan bye (menang tanpa bertanding). Berapa banyak keseluruhan pertandingan yang
harus dilakukan untuk mendapatkan satu regu yang menjadi juara?
Penyelesaian
Soal di atas akan diselesaikan dengan cara langsung dan dengan korespondensi satu-satu.
Babak I diikuti 101 regu sehingga harus dilakukan 50 kali pertandingan (1 regu
mendapatkan bye). Pemenang akan masuk ke babak II.
Babak II diikuti oleh 51 regu (50 regu pemenang dan 1 regu yang mendapatkan bye)
sehingga jumlah pertandingan yang harus dilakukan adalah 25 kali (1 regu
mendapatkan bye).
Babak III dikiuti oleh 26 regu sehingga jumlah pertandingan yang harus dilakukan
adalah 13 kali.
Babak VII (final)diikuti oleh 2 regu dan dilakukan 1 kali pertandingan untuk
mendapatkan regu yang menjadi juara. Jadi jumlah total pertandingan yang harus
dilakukan adalah 50+25+13+6+3+2+1=100 kali.
Jika diperhatikan dalam setiap babak, jumlah pertandingan yang harus dilakukan selalu
sama dengan jumlah regu yang kalah. (Babak I ada 50 regu yang kalah, babak II ada
25 regu, dst). Ada 101 regu yang mengikuti pertandingan dan hanya 1 regu yang
44
menjadi juara. Oleh karena digunakan sistem gugur, berarti ada (100-1)=100 regu
yang kalah. Untuk itu, jumlah pertandingan yang harus dilakukan adalah 100 kali.
Contoh
Misalkan S = {1, 2, 3}. Susunan 3 1 2 adalah sebuah permutasi dari S. Susunan 32 adalah
sebuah permutasi-2 (2-permutation) dari S.
Banyak permutasi-r dari himpunan dengan n obyek berbeda dinyatakan sebagai P(n,r) dimana
Jika r = n , maka
= n . (n - 1) . (n - 2) . (n - 3) . ... . 1
=n!
atau ditulis Pn = n !
Contoh
P(8,3) = 8. 7. 6 = 336
8.7.6.5.4.3.2.1 8!
= =
5.4.3.2.1 (8 3) !
n!
P(n,r) =
(n r) !
Sebuah kombinasi-r elemen-elemen dari sebuah himpunan adalah pemilihan tak berurutan
(tanpa memperhatikan urutan) r elemen dari himpunan tersebut.
Contoh
45
Banyaknya kombinasi-r (r-combinations) dari sebuah himpunan dengan n obyek
r n
berbeda dinyatakan sebagai C(n,r) atau C atau .
n r
r n!
Rumus umum : C
n r ! (n r ) !
n n!
Jika r = n, maka C 1
n n ! (n n) !
G. FAKTORIAL
Misalkan n adalah bilangan bulat positif. Besaran n faktorial (simbol n!) didefinisikan sebagai
hasil kali semua bilangan bulat antara 1 hingga n. Untuk n = 0, nol faktorial didefinisikan=1.
0! = 1.
Contoh
Penyelesaian
0! = 1
1! = 1
2! = 1.2 =2
3! = 1.2.3 =6
4! = 1.2.3.4 = 24
5! = 1.2.3.4.5 = 120
Terlihat bahwa pertumbuhan faktorial sangat cepat. Komputer yang memiliki pertumbuhan
algoritma dalam skala faktorial sangatlah tidak logis untuk dijalankan.
46
! . ...( )( )
Sehingga = =
( )! . ...( )( )
H. KOMBINASI
Misalkan r merupakan unsur bilangan bulat tak negatif. Yang dimaksud dengan kombinasi r dari
suatu himpunan B yang terdiri dari n anggota (objek) yang berbeda adalah jumlah himpunan
bagian dari B yang memiliki anggota r buah objek. Interpretasi yang lain tentang kombinasi
adalah menyusun (memilih) objek sejumlah r dari n buah objek yang ada.
Contoh :
Misalkan A = {p, q, r }, tentukan semua himpunan bagian dari A yang memiliki kardinalitas dua.
Jawab :
Himpunan bagian tersebut antara lain : {p, q}, {p, r}, dan {q, r}.
Pada himpunan, urutan unsur pada himpunan tidak diperhatikan. Dengan demikian, kombinasi
2 dari himpunan A (penyusunan dua huruf tanpa memperhatikan urutan) adalah 3, yaitu pq, pr,
dan qr. Ini berbeda, pada saat kita mendefinisikan permutasi (urutan diperhatikan),
penyusunan tersebut dapat dilakukan dengan enam buah cara, yaitu pq, pr, qr, qp, rp,dan rq.
I. PERMUTASI
Suatu permutasi merupakan susunan yang mungkin dibuat dengan memperhatikan urutan.
Dengan kata lain, permutasi merupakan bentuk khusus aplikasi prinsip perkalian. Misalkan
diberikan suatu himpunan A dengan jumlah anggota adalah n, maka susunan terurut yang
terdiri dari r buah anggota dinamakan permutasi-r dari A, ditulis P(n, r). Agar lebih jelas dalam
perhitungannya, perhatikan penjelasan berikut ini :
Jika r > n, jelas bahwa P(n, r) = 0, karena tak mungkin menyusun r anggota dari A
yang hanya terdiri dari n buah anggota dimana n < r.
Jika r ≤ n,
Dari n anggota A maka urutan pertama yang dipilih dari n objek adalah dengan n cara.
Urutan kedua dipilih dari n – 1 objek, adalah dengan n – 1 cara, karena satu anggota
telah terpilih. Urutan ketiga dipilih dari n – 2 objek, adalah dengan n – 2 cara, karena dua
anggota telah terpilih. Hal ini dilakukan terus menerus sehingga urutan terakhir dipilih
dari n – r + 1 objek yang tersisa. Menurut kaidah perkalian, pemilihan objek dalam susunan r
buah objek dari n buah objek dapat dilakukan dengan :
47
n(n – 1) (n – 2) … (n – r + 1) cara
Dengan demikian, permutasi r objek dari n buah objek adalah jumlah kemungkinan urutan r
buah objek yang dipilih dari n buah objek, dengan r ≤ n, pada setiap kemungkinan penyusunan
r buah objek tidak ada urutan objek yang sama, yaitu :
P(n, r) = n(n – 1) (n – 2) … (n – r + 1)
!
=( )!
Contoh:
Misalkan S = {p, q, r}. Berapa cara yang mungkin dalam penyusunan dua huruf pada S
sehingga tidak ada urutan yang sama ?
Jawab :
!
(3,2) = ( )!
. .
=
=6
Dengan menggunakan definisi permutasi, penyusunan tersebut dapat dilakukan dengan enam
buah cara.
Contoh 2.5.
1. A = { 3.a, 2.b, 5.c } adalah sebuah himpunan dari 3 elemen berbeda dengan
pengulangan hingga.
2. B = { ~.3, ~.5, ~.7, ~.9 } adalah sebuah himpunan dari empat elemen berbeda
dengan pengulangan tak hingga.
48
3. C = { ~.p, 10.q, 3.r, ~.s } adalah sebuah himpunan dari empat elemen berbeda
dengan pengulangan.
k r 1 (k r 1) !
r r ! (k 1) !
Contoh
1 5 1 (1 5 1) ! 5!
1
5 5 ! (1 1) ! 5 ! (0) !
Kedua, bacalah dengan teliti permasalahannya. Carilah kata-kata kuncinya. Kata kunci
penggunaan kombinasi adalah pemilihan objek-objek yang tidak diperhatikan urutannya,
sedangkan kata kunci untuk permutasi adalah pengaturan objek-objek yang urutannya
diperhatikan.
L. KOEFISIEN BINOMIAL
Misalkan n merupakan bilangan bulat positif, dengan teorema binomial, perpangkatan
n
berbentuk (x + y) dapat dijabarkan dalam bentuk segitiga Pascal berikut ini :
0
(x + y) = 1 1
1
(x + y) = x + y 1 1
2 2 2
(x + y) = x + 2xy + y 1 2 1
3 3 2 2 3
(x + y) = x + 3x y + 3xy + y 1 3 3 1
49
4 4 3 2 2 3 4
(x + y) = x + 4x y + 6x y + 4xy + y 1 4 6 4 1
5 5 4 3 2 2 3 4 5
(x + y) = x + 5x y + 10x y + 10x y + 5xy + y 1 5 10 10 5
1
n n n-1 1 n-k k n
(x + y) = C (n, 0) x + C (n, 1) x y + … + C (n, k) x y + … + C (n, n) y
n-k k
Bilangan C (n, k) merupakan koefisien untuk x y dinamakan koefisien binomial.
Contoh :
3
Jabarkan (2x + y) .
Jawab :
Misalkan a = 2x dan b = y,
3 3 2 1 1 2 3
(a + b) = C (3, 0) a + C (3, 1) a b + C (3, 2) a b + C (3, 3) b
3 2 2 3
= 1 (2x) + 3 (2x) (y) + 3 (2x) (y) + 1 (y)
3 2 2 3
= 8 x + 12x y + 6x y – y
1. Sifat simetri : =
N. SEGITIGA PASCAL
Segitiga pascal merupakan salah satu persamaan yang sangat penting dam kombinatorika.
Segita pascal memberikan jalan untuk menghitung kombinasi suatu suku berdasarkan
kombinasi suku-suku yang lebih rendah. Jika harga diketahui untuk semua r, maka harga
dapat dihitung untuk semua r (0 <r ≤ n).
+1
= +
−1
50
Binomial
Sebelum kita membahas tentang Teorema Binomial, akan diperkenalkan dulu tentang Koefisien
Binomial. Koefisien Binomial disusun berdasarkan definisi kombinatorik. Hasil susunan dari
kombinatorik yang bersesuaian dalam tingkat orde tertentu dalam koefisien binomial akan
menyusun segitiga Pascal. Selanjutnya konsep segitiga Pascal tersebut dipakai untuk
menyelesaikan kasus yang lebih kompleks.
Teorema Binomial
Misalkan x dan y adalah bilangan-bilangan riil dan n adalah bilangan bulat tak negative, maka
( + ) = = + y+ + ⋯+ xy +
0 1 2 −1
Teorema Multinomial
Multinomial merupakan perluasan dari Binomial. Multinomial adalah jumlahan t buah suku
berbda, yaitu x1+ x2+…+ xt. Binomial adalah kasus khusus dari multinomial, yaitu untuk t=2.
Teorema multinomial adalah rumus penjabaran (x1+ x2+…+ xt)n. secara formal, teorema
multinomial adalah sebagai berikut:
Misalkan x1+ x2+…+ xt adalah bilangan-bilangan riil dan n adalah bilangan bulat positif.
Dengan demikian,
!
(x1 + x2 + ⋯ + xt) = …
1! 2! … !
Generalisasi dari hal tersebut bagi gabungan dari sejumlah himpunan dinamakan
prinsip inklusi-eksklusi.
51
Contoh
Jawab :
= 25 + 13 – 8
= 30.
Contoh
Berapa banyak bilangan bulat positif yang tidak melampaui 1000 yang habis dibagi oleh
7 atau 11 ?
Jawab :
Misalkan P himpunan bilangan bulat positif tidak melampaui 1000 yang habis dibagi 7 dan Q
himpunan bilangan bulat positif tidak melampaui 1000 yang habis dibagi 11. Dengan demikian
P Q adalah himpunan bilangan bulat positif tidak melampaui 1000 yang habis dibagi 7 atau
habis dibagi 11, dan P Q himpunan bilangan bulat positif tidak melampaui 1000 yang
habis dibagi 7 dan habis dibagi 11.
1000
P = 142
7
1000
Q = 90
11
1000 1000
P Q = 12
kpk (7,11) 77
Jadi, terdapat 220 bilangan bulat positif tidak melampaui 1000 yang habis dibagi 7 atau
habis dibagi 11. Ilustrasi dari penghitungan tesebut dapat dilihat pada diagram di bawah ini.
52
P Q
PQ
Contoh
1. For i = 1 to n Do
Statement-statement dalam loop. Tidak ada perintah di dalamnya yang
menyebabkan eksekusi melompat keluar loop.
{End For – i}
2. For i = 1 to n Do
For j = 1 to n Do
Statement-statement dalam loop. Tidak ada perintah di
dalamnya yang menyebabkan eksekusi melompat keluar loop.
{End For – j}
{End For – i}
53
Bab 8
Teori Graf
A. PENGERTIAN GRAF
Kelahiran Teori Graf
Teori Graf mulai dikenal pada saat seorang matematikawan bangsa Swiss, bernama Leonhard
Euler, berhasil mengungkapkan Misteri Jembatan Konigsberg pada tahun 1736. Di Kota
Konigsberg (sekarang bernama Kalilingrad, di Uni Soviet) mengalir sebuah sungai bernama
sungai Pregel. Di tengah sungai tersebut terdapat dua buah pulau. Dari kedua pulau tersebut
terdapat jembatan yang menghubungi ke tepian sungai dan diantara kedua pulau. Jumlah
jembatan tersebut adalah 7 buah seperti gambar berikut :
Sungai Pregel
di Kalilingrad (Uni Soviet)
C
D
Konon kabarnya, penduduk kota Konigsberg sering berjalan-jalan ke tempat tersebut pada hari-
hari libur. Kemudian muncul suatu keinginan untuk dapat menikmati daerah tersebut dengan
melalui ketujuh jambatan tepat satu kali, yakni bermula dari satu tempat (A, B, C atau D) dan
kembali ke tempat semula. Mereka berusaha untuk memperoleh rute yang sesuai dengan
keinginan tersebut, dengan selalu mencoba menjalaninya. Setelah mencoba berkali-kali dan
karena sudah cukup lama tidak diperoleh rutenya, akhirnya penduduk tersebut mengirim surat
kepada Euler. Euler dapat memecahkan masalah tersebut, yakni bahwa perjalanan / rute yang
diinginkan (yakni berawal dari suatu tempat, melalui ketujuh jembatan tepat satu kali, dan
kembali ke tempat semula) tidak mungkin dicapai.
54
Secara singkat, dalam tulisannya, Euler menyajikan keadaan jembatan Konigsberg tersebut
seperti gambar berikut :
C D
Dalam masalah di atas, daratan (tepian A dan B, serta pulau C dan D) disajikan sebagai titik
dan jembatan disajikan sebagai ruas garis. Euler mengemukakan teoremanya yang mengatakan
bahwa perjalanan yang diinginkan di atas (yang kemudian dikenal sebagai perjalanan Euler)
akan ada apabila graf terhubung dan banyaknya garis yang datang pada setiap titik (derajat
simpul) adalah genap.
Secara umum, langkah-langkah yang perlu dilalui dalam penyelesaian suatu masalah dengan
bantuan komputer adalah sebagai berikut :
2. Himp. E, yang merupakan pasangan tak terurut dari simpul-simpul, disebut ruas
Contoh :
G ( V, E )
V = { A, B, C, D }
E = { ( A, B ), ( B, C ), ( C, D ), ( D, A ), ( B, D ) }
55
Secara Geometri :
A e2
B
e1 e3
e5
D C
e4
Tidak ada ketentuan khusus dalam penyajian graf secara geometri, seperti dimana dan
bagaimana menyajikan simpul dan ruas. Berikut contoh penyajian Graf yang sama, tetapi
disajikan berbeda.
A
A
D B D BA D B
C C
C
Beberapa istilah lain dalam graf :
Berdampingan
Order
banyaknya simpul
Size
banyaknya ruas
56
Self-loop (loop) / Gelung
e2w12
e3 A
A
e4
e1
e5
A A
Multigraf
e6
Sebuah graf dikatakan multigraf bila graf tersebut mengandung ruas sejajar atau gelung.
Sedangkan graf yang tidak mengandung ruas sejajar atau gelung dikenal sebagai graf
sederhana, atau yang disebut graf. Adapun contoh multigraf adalah sebagai berikut.
Subgraf
57
Contoh :
G:
A e2
B
e1 e3
e5
D C
e4
G’ :
G’ :
e2
A B A B
e1 e1 e5
e5
D
D G’ spanning subgrapf dari G
G’ subgraf dari G
Graf berlabel
Graf berlabel/ berbobot adalah graf yang setiap ruasnya mempunyai nilai/bobot berupa
bilangan non negatif.
Contoh :
B 3 D 12 F
3 8
2 2 6
A 3 H
2
4 19
13 3
C E G
Isomorfisma
f : V V * suatu fungsi satu-satu dan pada, sedemikian sehingga (u,v) adalah ruas dari G
jika dan hanya jika (f (u),f(v)) adalah ruas dari G *
58
Maka f disebut fungsi yang isomorfisma dan G & G * adalah graf-graf yang isomorfis
Contoh :
Graf yang berbentuk huruf A & R, X & K, F & T, dan V & Z, di bawah ini adalah isomorfis.
Homomorfis
Jika G* dan G** diperoleh dari G dengan membagi beberapa ruas dari G oleh penambahan
beberapa simpul pada ruas tersebut, maka kedua graf G* dan G** disebut homomorfis
Contoh :
G G* G**
59
C. PEWARNAAN
Pewarnaan graf adalah pemberian warna terhadap simpul-simpul graf dimana 2 buah simpul
yang berdampingan tidak boleh mempunyai warna yang sama.
Bilangan kromatis dari G = K(G) adalah jumlah minimum warna yang dibutuhkan.
Algoritma yang dapat digunakan untuk mendapatkan bilangan kromatis dari sebuah graf adalah
Algoritma Welch-Powell.
2. Warnai.
Contoh :
B
C
A
D
F
E
G H
Langkah 1 :
Langkah 2 :
mewarnai :
warna Merah : E, A
warna Putih : C, D, H
warna Biru : G, B, F
60
Sehingga bilangan kromatis graf di atas adalah 3.
Teorema :
1. G berwarna 2
2. G adalah bipartisi
Teorema :
Pewarnaan Region
Pewarnaan region dapat dilakukan (seperti pemberian warna pada wilayah-wilayah di peta)
dengan cara membuat dual dari map tersebut. Gambarkan sebuah simpul baru pada masing-
masing region suatu map M, kemudian buat sebuah ruas yang menghubungkan simpul pada 2
buah region yang berdampingan bila terdapat ruas sebagai batas / persekutuan kedua region
tersebut. Buatlah tanpa adanya ruas baru yang berpotongan, maka akan terbentuk suatu map
M*, yang disebut dual dari map M.
Dibuktikan oleh Apple & Haken (1976) – 2000 Graf, jutaan kasus.
61
Sebagai contoh :
1 2
7
11
8 12 9
11 5 9
4 3 1 = Kantor
8
Untuk menyelesaikan masalah di atas dapat dipakai Algoritma Tetangga Terdekat (yakni
menggunakan Metode Greedy)
Yang diharapkan pola lampu lalu lintas dengan jumlah fase minimal.
62
Sebagai contoh :
C D
B E
A B F B
A C B C D C F C
A E B E D E F E
63
Untuk menyelesaikan masalah di atas dapat dipakai Algoritma Pewarnaan Graf (juga dikenal
sebagai Graph Coloring, yakni menggunakan Metode Greedy)
64
Bab 9
Relasi
A. RELASI HIMPUNAN
Definisi: Suatu relasi pada himpunan A adalah relasi dari A ke A.
Dengan kata lain, relasi pada A adalah himpunan bagian dari perkalian kartesian A dengan
dirinya sendiri, yakni A×A.
Contoh:
Tinjau himpunan A = {1, 2, 3, 4}. Pasangan berurut manakah yang ada dalam relasi R = {(a,
b) | a < b}?
Jawab:
R = {(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)}. Relasi ini dapat digambarkan dengan diagram
berikut.
R 1 2 3 4
1 1
2 2 1 X X X
3 3 2 X X
4 4 3 X
Berapa banyak relasi berbeda yang bisa didefinisikan pada suatu himpunan A dengan n-buah
anggota ? Relasi pada himpunan A adalah himpunan bagian dari A×A. Ada berapa banyakkah
2
anggota A×A ? Ada n anggota dari A×A, jadi seberapa banyak himpunan bagian (=relasi pada
A) yang dimiliki A×A ?
Banyaknya himpunan bagian yang dapat dibentuk dari suatu himpunan dengan m buah
m
anggota adalah 2 . Maka, ada 2n2 himpunan bagian yang bisa dibentuk dari A×A. Jadi kita bisa
mendefinisikan 2n2 buah relasi berbeda pada A.
65
B. OPERASI-OPERASI PADA RELASI
Karena relasi biner merupakan himpunan pasangan terurut, maka operasi himpunan seperti
irisan, gabungan, selisih, dan beda setangkup antara dua relasi atau lebih juga berlaku.
Jika R1 dan R2 masing-masing adalah relasi dari himpuna A ke himpunan B, maka R1 R2, R1
R2, R1 – R2, dan R1 R2 juga adalah relasi dari A ke B.
R1 R2 = {(a, a)}
R1 R2 = {(a, a), (b, b), (c, c), (a, b), (a, c), (a, d)}
R1 R2 = {(b, b), (c, c), (a, b), (a, c), (a, d)}
Jika relasi R1 dan R2 masing-masing dinyatakan dengan matriks MR1 dan MR2, maka matriks
yang menyatakan gabungan dan irisan dari kedua relasi tersebut adalah
2. Komposisi Relasi
Misalkan R adalah relasi dari himpunan A ke himpunan B, dan S adalah relasi dari himpunan B
ke himpunan C. Komposisi R dan S, dinotasikan dengan S R, adalah relasi dari A ke C yang
didefinisikan oleh
S R = {(a, c) a A, c C,
Contoh.
Misalkan
R = {(1, 2), (1, 6), (2, 4), (3, 4), (3, 6), (3, 8)}
66
S = {(2, u), (4, s), (4, t), (6, t), (8, u)}
S R = {(1, u), (1, t), (2, s), (2, t), (3, s), (3, t), (3, u) }
Komposisi relasi R dan S lebih jelas jika diperagakan dengan diagram panah:
2
1
4 s
2 t
6
3 8 u
Jika relasi R1 dan R2 masing-masing dinyatakan dengan matriks MR1 dan MR2, maka matriks
yang menyatakan komposisi dari kedua relasi tersebut adalah
yang dalam hal ini operator “.” sama seperti pada perkalian matriks biasa, tetapi dengan
mengganti tanda kali dengan “” dan tanda tambah dengan “”.
Digraf dapat digambarkan dengan anak panah. Misalnya, untuk V={a, b, c, d}, dan
E = { (a, b), (a, d), (b, b), (b, d), (c,a), (c, b), (d, b)}, maka digraph dapat
digambarkan sebagai berikut.
sebagai loop.
67
Jelas bahwa relasi R pada himpunan A dapat direpresentasikan dengan digraf,
dimana A himpunan titik simpulnya dan semua pasangan (a, b)∈R sebagai garis-
hubung-nya. Sebaliknya, sebarang digraf dengan simpul V dan sisi E dapat
dinyatakan dengan relasi pada V yang mengandung semua pasangan didalam E.
Korespondensi satu-ke-satu antara relasi dengan digraf berarti bahwa semua
pernyataan mengenai relasi juga berlaku untuk digraf, dan demikian pula
sebaliknya. Selanjutnya kita akan meninjau klosur (closure) dari sebuah relasi.
1, ( , )∈
=
0, ( , )∈
Untuk membuat matriks ini, pertama-tama kita harus menyebutkan anggota A dan B dalam
urutan yang tertentu.
Contoh: Tentukan representasi relasi R ={(2, 1), (3, 1), (3, 2)} sebagai matriks Boolean!
0 0
Jawab: Matriks M adalah MR = 1 0
R
1 1
D. JENIS-JENIS RELASI
1. Refleksif (reflexive)
Relasi R pada himpunan A tidak refleksif jika ada a A sedemikian sehingga (a, a) R.
Contoh.
Misalkan A = {1, 2, 3, 4}, dan relasi R di bawah ini didefinisikan pada himpunan A, maka
a. Relasi R = {(1, 1), (1, 3), (2, 1), (2, 2), (3, 3), (4, 2), (4, 3), (4, 4) } bersifat refleksif
karena terdapat elemen relasi yang berbentuk (a, a), yaitu (1, 1), (2, 2), (3, 3), dan (4, 4).
b. Relasi R = {(1, 1), (2, 2), (2, 3), (4, 2), (4, 3), (4, 4) } tidak bersifat refleksif karena (3, 3)
R.
2. Menghantar (transitive)
Relasi R pada himpunan A disebut menghantar jika (a, b) R dan (b, c) R, maka (a, c)
R, untuk a, b, c A.
Contoh.
68
Misalkan A = {1, 2, 3, 4}, dan relasi R di bawah ini didefinisikan pada
himpunan A, maka
a. R = {(2, 1), (3, 1), (3, 2), (4, 1), (4, 2), (4, 3) } bersifat menghantar. Lihat tabel berikut:
Pasangan berbentuk
b. R = {(1, 1), (2, 3), (2, 4), (4, 2) } tidak manghantar karena
c. (2, 4) dan (4, 2) R, tetapi (2, 2) R, begitu juga (4, 2) dan (2, 3) R, tetapi (4, 3)
R.
d. Relasi R = {(1, 1), (2, 2), (3, 3), (4, 4) } jelas menghantar
e. Relasi R = {(1, 2), (3, 4)} menghantar karena tidak ada (a, b) R dan (b, c) R
sedemikian sehingga (a, c) R.
f. Relasi yang hanya berisi satu elemen seperti R = {(4, 5)} selalu menghantar.
Relasi R pada himpunan A disebut setangkup jika untuk semua a, b A, jika (a, b) R,
maka (b, a) R.
Relasi R pada himpunan A tidak setangkup jika (a, b) R sedemikian sehingga (b, a) R.
Relasi R pada himpunan A tidak tolak-setangkup jika ada elemen berbeda a dan b
sedemikian sehingga (a, b) R dan (b, a) R.
69
Perhatikanlah bahwa istilah setangkup dan tolak-setangkup tidaklah berlawanan, karena
suatu relasi dapat memiliki kedua sifat itu sekaligus. Namun, relasi tidak dapat memiliki
kedua sifat tersebut sekaligus jika ia mengandung beberapa pasangan terurut berbentuk
(a, b) yang mana a b.
Contoh.
Misalkan A = {1, 2, 3, 4}, dan relasi R di bawah ini didefinisikan pada himpunan A, maka
1. Relasi R = {(1, 1), (1, 2), (2, 1), (2, 2), (2, 4), (4, 2), (4, 4) } bersifat setangkup karena
jika (a, b) R maka (b, a) juga R. Di sini (1, 2) dan (2, 1) R, begitu juga (2, 4) dan
(4, 2) R.
2. Relasi R = {(1, 1), (2, 3), (2, 4), (4, 2) } tidak setangkup karena (2, 3) R, tetapi (3, 2)
R.
3. Relasi R = {(1, 1), (2, 2), (3, 3) } tolak-setangkup karena 1 = 1 dan (1, 1) R, 2 = 2 dan
(2, 2) R, dan 3 = 3 dan (3, 3) R. Perhatikan bahwa R juga setangkup.
4. Relasi R = {(1, 1), (1, 2), (2, 2), (2, 3) } tolak-setangkup karena (1, 1) R dan 1 = 1 dan,
(2, 2) R dan 2 = 2 dan. Perhatikan bahwa R tidak setangkup.
5. Relasi R = {(1, 1), (2, 4), (3, 3), (4, 2) } tidak tolak-setangkup karena 2 4 tetapi (2, 4)
dan (4, 2) anggota R. Relasi R pada (a) dan (b) di atas juga tidak tolak-setangkup.
6. Relasi R = {(1, 2), (2, 3), (1, 3) } setangkup dan juga tolak-setangkup, dan R = {(1, 1),
(1, 2), (2, 2), (3, 3)} tidak setangkup tetapi tolak-setangkup.
7. Relasi R = {(1, 1), (2, 2), (2, 3), (3, 2), (4, 2), (4, 4)} tidak setangkup maupun tidak tolak-
setangkup. R tidak setangkup karena (4, 2) R tetapi (2, 4) R. R tidak tolak-setangkup
karena (2, 3) R dan (3, 2) R tetap 2 3.
E. RELASI EKUIVALEN
Relasi setara (equivalence relations) dipakai untuk merelasikan objek-objek yang memiliki
keserupaan.
Definisi. Suatu relasi pada himpunan A disebut relasi yang setara jika relasi tersebut bersifat
refleksif, simetrik dan transitif.
Dua elemen yang direlasikan dengan relasi setara R disebut sebagai elemen-elemen yang
setara (equivalent). Akbiat definisi diatas, maka
Karena R transitif, jika a setara dengan b dan b setara dengan c, maka a setara dengan c.
70
Jelas bahwa ketiga sifat ini perlu untuk definisi kesetaraan.
F. TUTUPAN (CLOSURE)
Misalkan relasi R1 A X B dan R2 B X C
Komposisi R1 dan R2 (symbol R1 . R2) adalah relasi { (x,y) | (x,y) R1 dan (y,z) R2}
Definisi. Suatu relasi pada himpunan A disebut relasi yang setara jika relasi tersebut bersifat
refleksif, simetrik dan transitif.
Dua elemen yang direlasikan dengan relasi setara R disebut sebagai elemen-elemen yang
setara (equivalent). Akbiat definisi diatas, maka
Karena R transitif, jika a setara dengan b dan b setara dengan c, maka a setara dengan c.
Dalam hal ini himpunan S bersama dengan pengurutan parsial R-nya disebut sebagai himpunan
yang terurut parsial (partially ordered set) atau poset, dan dituliskan sebagai (S, R).
Contoh:
Tinjau relasi “lebih dari atau sama dengan” dinyatakan sebagai “≥” (didefinisikan sebagai {(a,
b) | a ≥ b}). Apakah relasi “≥“ suatu pengurutan parsial pada Z?
Jawab:
H. LATTICE
71
Konsep elemen maksimal, minimal, terbesar, dan terkecil dapat diperluas ke himpunan-
himpunan bagian poset.
Misalkan a, b adalah 2 elemen anggota poset (A, ≤). Elemen c A disebut batas atas dari a
dan b bila dan hanya bila a ≤ c dan b ≤ c.
Elemen c A disebut batas-batas atas terkecil (Least Upper Bound = LUB) dari a dan b bila
dan hanya bila:
Secara analog, elemen c A disebut batas bawah dari a dan b bila dan hanya bila c ≤ a dan c
≤ b.
Elemen c A disebut batas bawah terbesar (Greatest Lower Bound = GLB) dari a dan b bila
dan hanya bila:
Dalam suatu poset, LUB tidaklah selalu ada. Akan tetapi, jika LUB ada, LUB tersebut tunggal.
Hal yang sama juga berlaku pada GLB.
Relasi yang merepresentasikan database disebut juga sebagai tabel, karena seringkali
ditampilkan sebagai tabel.
72
Domain dari relasi n-ary disebut sebagai kunci primer (primary key) jika n-tupel ditentukan
secara unik berdasarkan harganya pada domain ini. Ini berarti tidak ada dua rekord yang
mempunyai nilai sama dari kunci primer yang sama. Pada Contoh, “Nama Mahasiswa” atau
“Nomor Induk” dapat dijadikan kunci primer, karena tidak ada dua mahasiswa yang memiliki
field ini dengan harga sama. Pada database yang sebenarnya, hanya Nomor Induk yang
merupakan kunci primer karena nama dua orang mahasiswa bisa sama.
Dalam basisdata, kunci primer harus selalu unik meskipun rekord baru ditambahkan. Oleh
karena itu, kita harus memakai kunci primer yang diperluas, yang mengandung semua n-tupel
yang bisa dimasukkan kedalam database. Kombinasi dari domain dapat juga dipakai untuk
mengidentifikasi n-tupel secara unik pada relasi n-ary. Jika nilai sekumpulan domain dipakai
untuk menentukan n-tupel dalam relasi, perkalian Kartesian dari domain ini disebut sebagai
kunci komposit.
Berbagai jenis operasi pada relasi n-ary dapat dipakai untuk membentuk relasi baru, yang
penting untuk penyajian data kepada pengguna.
73
Bab 10
Fungsi
A. FUNGSI YANG DIDEFINISIKAN PADA 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.
f:AB
A disebut daerah asal (domain) dari f dan B disebut daerah hasil (codomain) dari f.
Kita menuliskan f(a) = b jika elemen a di dalam A dihubungkan dengan elemen b di dalam
B.
Jika f(a) = b, maka b dinamakan bayangan (image) dari a dan a dinamakan pra-
bayangan (pre-image) dari b.
Himpunan yang berisi semua nilai pemetaan f disebut jelajah (range) dari f. Perhatikan
bahwa jelajah dari f adalah himpunan bagian (mungkin proper subset) dari B.
A B
a b
74
1. Tiap elemen di dalam himpunan A harus digunakan oleh prosedur atau kaidah yang
mendefinisikan f.
2. Frasa “dihubungkan dengan tepat satu elemen di dalam B” berarti bahwa jika (a, b) f
dan (a, c) f, maka b = c.
3. Kata-kata
a. Contoh: “f adalah fungsi yang memetakan jumlah bit 1 di dalam suatu string biner”.
B. FUNGSI IDENTITAS
Bila A adalah sembarang himpunan, maka fungsi f pada A disebut sebagai fungsi identitas jika
dan hanya jika f memasangkan setiap anggota A dengan dirinya sendiri. Secara matematis
dirumuskan sebagai f (x) = x.
C. FUNGSI KONSTAN
Suatu fungsi f dari himpunan A ke himpunan B dikatakan sebagai fungsi konstan bila dan hanya
bila hanya satu anggota B yang menjadi pasangan setiap anggota A.
75
D. FUNGSI LANTAI (FLOOR FUNCTION)
Fungsi Floor dan Ceiling
Misalkan x adalah bilangan riil, berarti x berada di antara dua bilangan bulat.
x menyatakan nilai bilangan bulat terbesar yang lebih kecil atau sama dengan x
x menyatakan bilangan bulat terkecil yang lebih besar atau sama dengan x
Dengan kata lain, fungsi floor membulatkan x ke bawah, sedangkan fungsi ceiling membulatkan
x ke atas.
3.5 = 3 3.5 = 4
0.5 = 0 0.5 = 1
4.8 = 4 4.8 = 5
– 0.5 = – 1 – 0.5 = 0
–3.5 = – 4 –3.5 = – 3
76
Fungsi jarak Hamming didefinisikan sebagai:
F. FUNGSI POLINOMIAL
Fungsi Polinomial derajat n adalah fungsi yang berbentuk
G. FUNGSI EKSPONENSIAL
1 ,n 0
n
a a a a , n 0
n
1
a n
an
H. FUNGSI LOGARITMA
Fungsi logaritmik berbentuk
y a log x x = ay
77
I. KESAMAAN FUNGSI
Misalkan f dan g adalah fungsi-fungsi dari X dan Y. fungsi f sama dengan g (dituli f=g) bila dan
hanya bila f(x) = g(x) x X
Suatu fungsi f dari himpunan A ke himpunan B dikatakan sebagai fungsi satu-satu (one-one
function) bila dan hanya bila f (a) = f (a)’ maka a = a’. Dengan kata lain, fungsi f adalah fungsi
satu-satu bila setiap anggota himpunan A memiliki bayangan yang berbeda.
120
100
80
f(x)
60
40
20
0
1 2 3 4 5 6 7 8 9 10
x
Suatu fungsi f dari himpunan A ke himpunan B dikatakan sebagai fungsi pada (onto function)
bila dan hanya bila range f sama dengan B, atau f (A) = B.
78
Fungsi Bijektif / Korespondensi Satu-satu
Suatu fungsi f dari himpunan A ke himpunan B dikatakan sebagai korespondensi satu-satu bila
dan hanya bila f merupakan fungsi pada sekaligus fungsi satu-satu.
K. INVERS FUNGSI
Misalkan f adalah suatu fungsi dari A ke dalam B, dan b B. Invers dari f yang dinyatakan
dengan f -1(b) terdiri dari anggota-anggota A yang dipasangkan ke B oleh f (yaitu anggota A
yang mempunyai bayangan b). Secara matematis, hal ini dinyatakan sebagai berikut:
contoh:
79
2. Fungsi Invers
Dapat saja terjadi invers suatu fungsi bukanlah merupakan suatu fungsi. Contoh di atas adalah
buktinya. Invers sebuah fungsi merupakan fungsi invers bila fungsi tersebut merupakan
korespondensi satu-satu.
Merpati Kandang
n=6 m=4
m1
m2 k1
m3 k2
m4 k3
m5 k4
m6
Dalam konteks fungsi yang dominan dan kodominannya berhingga, prinsip kadang merpati
dapat dinyatakan sebagai berikut:
80
Misalkan X adalah himpunan dengan n anggota (|X| = n) dan Y adalah himpunan dengan m
anggota (|Y| = m) dengan n >m.
Untuk itu, fungsi f : X Y tidak mungkin injektif karena pasti ada paling sedikit 2 elemen
dalam X yang memiliki kawan sama di Y.
Oleh karena kesederhanaannya, prinsip kandang merpati digunakan dalam banyak aplikasi.
M. KOMPOSISI FUNGSI
Misalkan g adalah fungsi dari himpunan A ke himpunan B, dan f adalah fungsi dari himpunan B
ke himpunan C. Komposisi f dan g, dinotasikan dengan f g, adalah fungsi dari A ke C yang
didefinisikan oleh
(f g)(a) = f(g(a))
Contoh.
Diberikan fungsi
function abs(x:integer):integer;
begin
if x < 0 then
abs:=-x
else
abs:=x;
end;
81
Bab 11
Analisis Algoritma
A. PENDAHULUAN
Komputer pada dasarnya adalah mesin yang tidak bisa apa-apa. Kita harus memberikan
perintah untuk dapat berbicara (berkomunikasi) dengan komputer, dengan cara memberikan
serangkaian instruksi kepada komputer agar komputer dapat memecahkan masalah. Langkah-
langkah yang kita lakukan dalam memberikan instruksi untuk memecahkan masalah kita kita
namakan pemrograman komputer. Untuk menyusun sebuah program yang besar dan kompleks,
pemrogram membutuhkan tahapan penyusunan yang sistematis dan terpadu, yaitu:
1. Definisi Masalah
2. Analisis Kebutuhan
3. Penyusunan Algoritma
4. Pengkodean/Pemrograman
6. Pemeliharaan
7. Dokumentasi
B. NOTASI "O"
Tugas yang dilakukan oleh computer untuk menyelesaikan masalah biasanya berupa tugas
yang serupa, tetapi dilakukan berulang-ulang (iterasi). Banyaknya perulangan yang harus
dilakukan oleh computer menetukan lama waktu proses (running time). Sering kali jumlah
perulangan yang harus dilakukan dipengaruhi oleh jumlah data yang harus diproses.
Seperti kata pepatah banyak jalan menuju Roma, seringkali didapati beberapa algoritma yang
berbeda untuk menyelesaikan suatu masalah tertentu dalam computer. Sebagai contoh,
pengurutan sejumlah data (sorting). Lama pengurutan dipengaruhi oleh banyaknya data yang
diurutkan (di samping factor-faktor lain). Meskipun demikian, ada metode pengurutan yang
memproses lebih cepat dibandingkan metode-metode lain meskipun jumlah datanya sama. Jika
jumlah data (biasanya disimbolkan dengan n) sedikit, perbedaan tersebut tidaklah menjadi soal.
Akan tetapi, untuk n yang besar, perbedaaan itu akan terasa karena perbedaan tersebut dada
dalam skala jam, bahkan hari.
82
Perbedaan waktu proses sebagau fungsi jumlah data yang diporses sangat erat hubungannya
dengan laju pertumbuhan algoritma yang bersangkutan. Laju pertumbuhan menunjukkan factor
kelipatan waktu proses seiring dengan kenaikan jumlah data. Jika jumlah data dilipat-duakan,
berapa factor perubahan lama waktu proses yang dibutuhkan?
Dalam computer, laju pertumbuhan dinyatakan dalam notasi O (dibaca notasi big-oh/O besar).
Notasi O memberikan cara untuk menyatakan laju pertumbuhan algoritma secara
global/aproksimasi dan tidak memperhatikan perbedaan factor konstanta serta perbedaan-
perbedaan lain yang tidak begitu berpengaruh.
C. EFISIENSI ALGORITMA
Analisis yang paling sering dilakuakn pada suatu algoritma dalah waktu proses. Menentukan
waktu proses secara tepat (yang dinyatakan dengan satuan waktu seperti detik, menit, dan
lain-lain) merupakan pekerjaan yang sangat sulit karena waktu proses secara eksak sangat
tergantung pada implementasi algoritma dan perangkat keras yang dipakai.
Analisis yang diinginkan untuk menyatakan efisiensi algoritma haruslah dibuat seumum
mungkin sehingga bias dipakai apda semua algoritma, terlepas dari implementasi (jua compiler
yang dipakai) maupun perangkat keras yang digunakan. Akibatnya, analisis tidak akan
dilakuakn dalam konteks waktu proses secara eksak. Kompleksitas algoritma cukup dinyatakan
dalam order waktu proses (Big Oh) sebagai fungsi jumlah data masukan yang diberikan. Dalam
analisis tersebut kita memfokuskan diri pada operasi aktif, yang merupakan pusat algoritma,
yaitu bagian algoritma yang dieksekusi paling sering.
Bagian-bagian lain seperti pemasukan data, penugasan, dan lain-lain dapat diabaikan karena
bagian-bagian tersebut tidak dieksekusi sesering operasi aktif. Jumlah eksekusi operasi aktif
itulah aygn selanjutnya dihitung.
83
Bab 12
Struktur Aljabar
A. SISTEM ALJABAR
Sebuah sistem dimana terdapat sebuah himpunan dan satu atau lebih dari satu operasi n-ary,
yang didefinisikan pada himpunan tersebut, dinamakan sistem aljabar. Selanjutnya, sebuah
sistem aljabar akan dinyatakan dengan (S,f1 ,f2 ,f3 ,...,fn) dimana S sebuah himpunan tidak
kosong dan f1 , f2 , ...., fn operasi-operasi yang didefinisikan pada S. Sebagai contoh, (Z,+)
adalah sebuah sistem aljabar yang dibentuk oleh himpunan bilangan bulat Z dan operasi
penjumlahan biasa ; (Z,+,x) adalah sebuah sistem aljabar yang dibentuk oleh himpunan
bilangan bulat dan dua buah operasi biner.
Contoh.
Monoid
Contoh.
84
Group
4. Setiap anggota S memiliki invers untuk operasi dan invers tersebut merupakan
anggota S juga.
Contoh.
C. JENIS-JENIS GRUP
Di samping memenuhi syarat-syarat untuk menjadi suatu grup, system-sistem aljabar tersebut
sering kali masih memiliki sifat-sifat lain yang spesifik. Berdasarkan sifat-sifat yang spesifik
itulah dikenal beberapa jenis grup.
1. Grup Komutatif
Misalkan (A, ) adalah suatu grup. Operasi dikatakan komutatif alabila untuk setiap
a,b A, berlakulah sifat a b = b a.
Misalkan (A, ) adalah suatu system aljabar. (A, ) disebut Grup Komulatif (grup
Abelian) jika memenuhi sifat-sifat:
2. bersifat Komutatif
Secara analog, Semigrup Komutatif (Semigrup Abelian) dan Monoid Komutatif (Monoid Abelian)
didefinisikan sebagai Semigrup dan Monoid yang bersifat Komutatif.
2. Grup Permutasi
Suatu fungsi injektif (one-to-one) dari himpunan S ke himpunan S disebut Permutasi himpunan
S. Misalkan S={a,b,c,d} dan fungsinya memetakan a ke b, b ke d, c ke c, dan d ke a.
permutasinya biasanya dituliskan sebagai .
Baris yang atas merupakan daerah adal (domain) dan baris yang bawah merupakan kawannya.
85
Jika himpunan S terdiri dari n elemen, maka ada n! buah permutasi yang mungkin. Caranya
dalah dengan membuat semua permutasi yang mungkin pada daerah kawan (dengan urutan
domain tetap). Sebagai contoh, semua permutasi yang mungkin dari a,b,c adalah abc, acb, bac,
cab, dan cba, sehingga ada 6 permutasi himpunan S, masing-masing:
1= 2= 3=
4= 5= 6=
3. Grup Siklik
Misalkan (G,) sebuah group dengan elemen identitas e G. Jika a G, maka subgroup siklik
yang dibangun oleh a adalah himpunan
-2 -1 0 1 2
gp(a) = { ... , a , a , a , a , a , ... }
n
= { a n Z }.
0 m n m+n
Dimana a = e. Dalam hal ini berlaku pula hukum eksponen, a a = a untuk m,nZ.
4 2 6 1 1 2
Sebagai contoh, a a = a , a a = a .
n 0 0
Untuk n Z+ , a dapat dicari dengan mengingat bahwa a = e dan hukum eksponen a
1 -1 -1
= a a . Berdasarkan kedua hal tersebut, maka a adalah invers dari a untuk operasi dan
-2 -3
a , a dan seterusnya dapat dicari.
Order dari subgroup siklik gp(a) = { an n Z } adalah integer positif m terkecil sedemikian
m
hingga a = e.
Contoh.
Perhatikan group (Z4, ) dari contoh 1.12. di atas. Elemen identitas pada group tersebut adalah
n
0. Subgroup siklik yang dibangun oleh 2 Z4 adalah gp(2) = { 2 n Z } = {0, 2}. Order dari
gp(2) tersebut adalah 2.
(A, ) disebut grup berhingga jika A merupakan himpunan yang berhingga. Banyaknya anggota
A sering disebut order grup (A, ).
86
(A, ) disebut grup tak berhingga jika A merupakan himpunan yang tak berhingga.
D. SUBGRUP
Misalkan (G,) sebuah group dan H G. Jika (H,) membentuk group, maka (H,)
merupakan subgroup dari group (G,).
Contoh.
Koset
Teorema Lagrange
Ring
Sebuah sistem aljabar (S,+,) adalah sebuah ring jika sifat-sifat berikut dipenuhi :
Contoh.
87
Field
Sebuah sistem aljabar (S,+,) adalah sebuah field jika sifat-sifat berikut dipenuhi :
Contoh.
1. Tertutup (a,b A) a b A
2. Asosiatif (a,b,c A) (a b) c = a (b c)
5. Komutatif (a,b A) a b = b a
1. Tertutup (a,b A) a b A
2. Asosiatif (a,b,c A) (a b) c = a (b c)
5. Komutatif (a,b A) a b = b a
(a,b,c A) a (b c) = (a b) (a c)
88