Matematika Diskret1
Sugi Guritman
Prapto Tri Supriyo
Departemen Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor BOGOR 2004
1 Diktat
Kuliah - Hibah Pengajaran SP4
Contents 1 Prinsip Dasar Mencacah 1.1 Aturan Jumlah dan Kali . . . . 1.2 Permutasi . . . . . . . . . . . . 1.3 Kombinasi . . . . . . . . . . . . 1.4 Kombinasi dengan pengulangan
. . . .
. . . .
. . . .
2 Sifat Dasar Intejer 2.1 Prinsip Induksi Matematik . . . . . . 2.2 De…nisi Rekursif . . . . . . . . . . . . 2.3 Algoritma Pembagian . . . . . . . . . 2.3.1 Representasi Basis . . . . . . 2.3.2 Representasi Bilangan Negatif 2.4 Algoritme Euclid . . . . . . . . . . . 2.5 Aritmatik Intejer Modulo n . . . . .
. . . .
. . . . . . .
. . . .
. . . . . . .
. . . .
. . . . . . .
. . . .
. . . . . . .
. . . .
. . . . . . .
. . . .
. . . . . . .
. . . .
. . . . . . .
. . . .
. . . . . . .
3 Relasi dan Fungsi 3.1 Produk Cartesian dan Relasi . . . . . . . . . . . . . 3.2 Fungsi . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua 3.4 Komposisi Fungsi dan Fungsi Invers . . . . . . . . . 3.5 Relasi Ekuivalensi . . . . . . . . . . . . . . . . . . .
. . . .
. . . . . . .
. . . . .
. . . .
. . . . . . .
. . . . .
. . . .
. . . . . . .
. . . . .
. . . .
. . . . . . .
. . . . .
. . . .
. . . . . . .
. . . . .
. . . .
1 1 4 7 17
. . . . . . .
25 25 32 39 42 46 49 57
. . . . .
61 61 64 71 81 89
4 Tiga Topik Pilihan 94 4.1 Kompleksitas Komputasi . . . . . . . . . . . . . . . . . . . . . 94 4.1.1 Dominasi Fungsi . . . . . . . . . . . . . . . . . . . . . 95 4.1.2 Analisis Algoritme . . . . . . . . . . . . . . . . . . . . 98
i
CONTENTS
ii
4.1.3 Algoritme Pelacaan Linear . . . . . . . . 4.2 Bahasa: Mesin Status Berhingga . . . . . . . . 4.2.1 Bahasa: Teori Himpunan String . . . . . 4.2.2 Mesin Status Berhingga . . . . . . . . . 4.3 Relasi Rekurensi . . . . . . . . . . . . . . . . . 4.3.1 Relasi Rekurensi Linear Order Pertama . 4.3.2 Relasi Rekurensi Linear Homogen Order gan Koe…sien Konstan . . . . . . . . . . 4.3.3 Relasi Rekurensi Tak-homogen . . . . . 5 Pengantar Teori Graf 5.1 Konsep Dasar Graf . . . . . . . . . . . . . . . 5.1.1 Subgraf, Komplemen, dan Isomor…sma 5.1.2 Derajat Verteks . . . . . . . . . . . . . 5.2 Mengenal Beberapa Graf Khusus . . . . . . . 5.2.1 Graf Euler . . . . . . . . . . . . . . . . 5.2.2 Graf Planar . . . . . . . . . . . . . . . 5.2.3 Graf Hamilton . . . . . . . . . . . . . . 5.3 Tree . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kedua den. . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . .
104 107 107 112 113 113
. 116 . 120 122 . 122 . 131 . 139 . 142 . 142 . 143 . 145 . 145
Chapter 1 Prinsip Dasar Mencacah Enumerasi atau pencacahan merupakan bahasan awal dari matematika diskret yang digunakan sebagai alat dasar untuk mempelajari materi-materi lainnya yang umumnya bersifat kombinatorik. Disamping itu ia juga mempunyai aplikasi di banyak area seperti: teori peluang, statistika, teori graf, teori koding, kriptogra… dan analisis algoritme. Materi1 pembahasannya akan ditekankan pada: Aturan Jumlah dan Kali, Permutasi, Kombinasi, dan Kombinasi dengan Pengulangan.
1.1
Aturan Jumlah dan Kali
De…nisi 1.1 (Aturan Jumlah) Jika tugas jenis pertama dapat dilakukan dengan m cara, tugas jenis kedua dapat dilakukan dengan n cara, dan kedua jenis tugas itu tidak dapat dilakukan secara simultan, maka banyaknya cara untuk menyelesaikan tugas-tugas tersebut adalah m + n cara. Contoh 1.1 Di dalam suatu laboratorium komputer ada 4 printer (merk) jenis laserjet dan 6 printer jenis deskjet. Jika seorang praktikan diperbolehkan menggunakan kedua jenis printer tersebut, maka ada 4 + 6 = 10 printer yang bisa dipilih untuk dipakai. 1
Beberapa bahasan disampaikan hanya sebagai review karena telah diberikan pada matakuliah Matematika Dasar (MAT 212).
1
1.1 Aturan Jumlah dan Kali
2
Contoh 1.2 Aturan jumlah dapat diperluas untuk lebih dari dua tugas. Misalnya, seorang instruktur laboratorium komputer memiliki 4 jenis buku bahasa pemrograman: 5 buku (judul) tentang C++, 4 buku tentang FORTRAN, 3 buku tentang Java, dan 5 buku tentang Pascal: Jika seorang praktikan dianjurkan untuk meminjam satu buku bahasa pemrograman dari sang instruktur, maka ada 5 + 4 + 3 + 5 = 17 buku yang bisa dia pinjam. De…nisi 1.2 (Aturan Kali) Jika suatu prosedur dapat dipecah menjadi dua tahap, dan jika tahap pertama menghasilkan m keluaran yang mungkin dan masing-masing keluaran dilanjutkan ke tahap kedua dengan n keluaran yang mungkin, maka prosedur tersebut akan menghasilkan mn keluaran yang mungkin. Contoh 1.3 Pada Contoh 1.2, jika seorang praktikan diwajibkan menguasai keempat jenis bahasa pemrograman yang masing-masing diberi waktu satu bulan untuk mempelajarinya, maka ada 5 4 3 5 = 120 cara belajar yang mungkin. Dengan aturan kali, de…nisi berikut dengan mudah dapat dipahami. De…nisi 1.3 Jika dalam suatu kotak berisi n obyek (benda) yang berbeda, maka banyaknya cara memilih (mengambil) r obyek dari kotak itu dengan urutan diperhatikan dan pengulangan (pengembalian) dibolehkan adalah nr Ungkapan dari de…nisi di atas bisa diganti dengan: “banyaknya cara menempatkan n obyek yang berbeda ke dalam r posisi yang berbeda pula dengan pengulangan dibolehkan adalah nr cara”. Contoh 1.4 Untuk penyimpanan data, suatu memori utama komputer memuat sejumlah besar sirkuit, masing-masing mampu menyimpan suatu bit (0 atau 1). Sirkuit simpanan ini disusun berdasarkan satuan-satuan yang disebut dengan sel. Untuk mengidenti…kasi sel di dalam memori utama, masingmasing diberikan satu dan hanya satu nama yang disebut dengan adres. Pada beberapa jenis mesin komputer, adres direpresentasikan sebagai daftar terurut terdiri atas 8 bit yang secara kolektif disebut dengan byte. Dengan aturan kali, maka ada 28 adres yang bisa digunakan untuk mengidenti…kasi sel dimana informasi akan disimpan. Aturan jumlah dan kali merupakan pengertian dasar untuk memahami bahasan-bahasan selanjutnya yang berkenaan dengan kombinatorika.
1.1 Aturan Jumlah dan Kali
3
Soal 1.1.1 Seorang turis asing akan melakukan perjalanan dari Jakarta ke Bandung menggunakan mobil. Pemandu Wisata menjelaskan bahwa ada 2 alternatif yang bisa dipilih, yaitu lewat Purwakarta atau Cianjur. Jika memilih jalur Cianjur, ada 2 alternatif yang bisa dipilih, yaitu lewat Jonggol atau Bogor. Jika memilih jalur Bogor, ada 3 alternatif yang bisa dipilih, yaitu lewat Parung, Cibinong, atau Tol, kemudian dari Bogor dilanjutkan dengan 2 alternatif, yaitu lewat Puncak atau Sukabumi. Ada berapa cara perjalanan yang bisa ditempuh turis tersebut dari Jakarta ke Bandung, apabila: 1. tanpa batasan apapun. 2. Turis tidak memilih jalur Purwakarta karena tujuannya melancong. 3. Turis ingin mengujungi Kebun Raya Bogor. 4. Turis tidak memilih jalur Puncak karena sering terjadi kemacetan. Soal 1.1.2 Aminah mempunyai 20 buku yang berberda akan ditempakan di 3 rak berbeda. Tentukan banyaknya cara penempatan jika: 1. tidak ada batasan apapun. 2. tidak ada rak yang kosong. Soal 1.1.3 Syarat penulisan plat nomor mobil untuk wilayah Bogor dan sekitarnya adalah: a. dijit petama harus huruf F, b. dijit terakhir harus dipilih dari huruf A, B, D, atau E; c. dijit kedua harus angka yang bukan 0; d. dijit sisanya harus angka (bebas), dan maksimum ada 3 dijit. Dengan menggunakan aturan jumlah dan kali, tentukan banyaknya nomor mobil yang tersedia di wilayah Bogor dan sekitarnya.
1.2 Permutasi
1.2
4
Permutasi
Diberikan suatu himpunan yang beranggota n obyek, sembarang susunan linear (mendatar) dari obyek-obyek tersebut disebut permutasi. Permutasi berukuran r dari n obyek bisa diartikan sebagai menempatkan n obyek yang berbeda ke dalam r posisi yang berbeda pula dengan cara pengulangan tidak dibolehkan. Jika n obyek dinotasikan dengan a1 ; a2 ; :::; an ; dan r adalah intejer positif dengan 1 r n; maka banyaknya permutasi berukuran r dari n obyek, dinotasikan P (n; r); adalah n pos-1
(n 1) pos-2
(n 2) pos-3
:::
(n r + 1) pos-r
=
n! (n r)!
Jelas bahwa P (n; n) = n! dan P (n; 1) = n: Berikut ini adalah pende…nisian permutasi dengan ungkapan yang lain. De…nisi 1.4 Permutasi berukuran r dari n obyek dapat diartikan sebagai seleksi (pengambilan) sebanyak r dari kumpulan yang beranggota n obyek dengan urutan diperhatikan dan pengulangan (pengembalian) tidak dibolehkan. Contoh 1.5 Di dalam suatu kelas yang terdiri 10 mahasiswa, dipilih 5 dan disuruh berjajar dalam suatu baris untuk difoto. Tentukan banyaknya susunan yang mungkin. Jawab. Banyaknya susunan yang mungkin adalah langsung mengikuti kaidah banyaknya permutasi, yaitu P (10; 5) = 10 9 8 7 6: z Contoh 1.6 Susunan huruf (kata) akan dibentuk dengan mengambil hurufhuruf yang ada di dalam kata KOMPUTER. Tentukan banyaknya kata (susunan huruf tidak harus mempunyai arti) yang bisa dibentuk: 1. jika yang diambil semua huruf. 2. jika yang diambil hanya 5 huruf. 3. jika kata terdiri atas 12 huruf dengan syarat pengulangan huruf dibolehkan. Jawab. Banyaknya kata yang bisa dibentuk: 1. jika yang diambil semua huruf adalah P (8; 8) = 8!:
1.2 Permutasi
5
2. jika yang diambil hanya 5 huruf adalah P (8; 5) =
8! : (8 5)!
3. jika kata terdiri atas 12 huruf dengan syarat pengulangan huruf dibolehkan adalah 812 : z Teorema 1.1 Diberikan n obyek, n1 diantaranya berjenis sama (tidak dapat dibedakan) dan disebut jenis pertama; n2 berjenis kedua; :::; dan nr berjenis ke r dengan n1 + n2 + ::: + nr = n; maka banyaknya susunan berukuran n dari n obyek tersebut adalah n1 !
n! n2 ! :::
nr !
:
Bukti. Misalkan K adalah banyaknya semua susunan yang dimaksud oleh teorema. Ambil sembarang satu susunan diantara K susunan tersebut, jika semua anggota dari susunan ini dianggap berbeda, maka satu susunan tersebut akan menghasilkan n1 ! n2 ! ::: nr ! susunan yang berbeda. Dengan demikian, K(n1 ! n2 ! ::: nr !) = n! atau K=
n1 !
n! n2 ! :::
nr !
: z
Contoh 1.7 Tentukan banyaknya kata yang mungkin dibentuk dengan mengambil semua huruf di dalam kata MATEMATIKA. Jawab. Berdasarkan Teorema 1.1, banyaknya kata yang mungkin dibentuk dengan mengambil semua huruf di dalam kata MATEMATIKA (2M; 3A; 10! 2T; 1E; 1I; dan 1K) adalah (2!)(3!)(2!)(1!)(1!)(1!) : z Contoh 1.8 Buktikan bahwa jika n dan k adalah intejer positif dengan n = 2k; maka 2n!k adalah intejer. Bukti. 2 n = 2k diartikan sebagai kumpulan n obyek yang mempunyai k jenis dengan masing-masing jenis beranggota 2 obyek yang sama. Banyaknya n! n! n! permutasi berukuran n dari n obyek tersebut adalah (2!) k = 2k : Jadi 2k adalah intejer. z 2
Ini merupakan suatu contoh pembuktian dengan pendekatan kombinatorika.
1.2 Permutasi
6
Contoh 1.9 Jika 6 orang didudukkan mengelilingi meja melingkar, maka banyaknya susunan melingkar yang mungkin adalah 5
4
3
2
1 = 5!
Secara umum, jelaskan bahwa banyaknya susunan melingkar berukuran n adalah n! = (n 1)!: n Jawab. Setiap satu susunan melingkar menghasilkan n susunan linear (mendatar). Jika banyaknya semua susunan melingkar adalan K; maka nK = n! , n! = (n 1)!: K= n z Contoh 1.10 5 pasang suami-istri didudukkan mengelilingi meja melingkar. Jika duduknya disyaratkan selang-seling laki-laki dan perempuan, tentukan banyaknya susunan yang mungkin. Jawab. Format susunan melingkar dapat dipandang sebagai format susunan linear dengan membuat satu posisi tetap yang bebas dari pemilihan obyek, sedangkan posisi-posisi lainnya mengikuti pola susunan linear. Dalam kasus di contoh ini, ambil satu posisi tetap untuk satu orang dari 5 pasang suami istri tersebut. Selanjutnya, 9 posisi lainnya mengikuti pola susunan linear selang-seling, sehingga diperoleh rumusan 5
4
4
3
3
2
2
1
1 = (5!)(4!): z
Soal 1.2.1 Daftarkan semua permutasi untuk huruf x; y; z; w: Soal 1.2.2 Tentukan jumlah permutasi untuk 7 huruf a; b; c; d; x; y; z. Kemudian, tentukan jumlah permutasi yang diawali huruf d: Tentukan jumlah permutasi yang diawali huruf d dan diakhiri huruf x atau z: Soal 1.2.3 Ada berapa cara huruf a; d; c; d; x; x; x; x; x dapat disusun sehingga tidak ada huruf x yang bersebelahan.
1.3 Kombinasi
7
Soal 1.2.4 Dalam bahasa pemrograman “Celebes”, identi…er dituliskan dengan satu huruf yang diikuti oleh 7 simbol yang berupa huruf atau angka. (Diasumsikan komputer tidak mampu membedakan huruf besar dan kecil, jadi jumlah huruf ada 26). Seperti layaknya bahasa pemrogrman yang lain, Celebes mempunyai “keyword” yang tidak bisa digunakan sebagai identi…er. Jika ada 36 keyword di dalam Celebes, ada berapa identi…er bisa dituliskan? Soal 1.2.5 Ada berapa susunan dari huruf-huruf di dalam kata SOCIOLOGICAL? Kemudian, ada berapa susunan agar A dan G bersebelahan? Ada berapa susunan agar semua vokal bersebelahan? Soal 1.2.6 Ada berapa intejer positif n yang bisa dibentuk dengan menggunakan angka 3; 4; 4; 5; 5; 6; dan 7 sehingga n 5000000: Soal 1.2.7 Tunjukkan bahwa untuk setiap intejer n; r maka n+1 P (n; r): P (n + 1; r) = n+1 r
0; jika n + 1 > r;
Soal 1.2.8 Tentukan nilai n sehingga: 1. P (n; 2) = 90: 2. P (n; 3) = 3P (n; 2): 3. 2P (n; 2) + 50 = P (2n; 2): Soal 1.2.9 Ada berapa cara jika 7 orang duduk mengelilingi meja bundar? Kemudian, jika 2 orang ingin duduk bersebelahan, ada berapa susunan yang mungkin?
1.3
Kombinasi
De…nisi 1.5 Kombinasi berukuran r dari n obyek dapat diartikan sebagai seleksi (pengambilan) berukuran r dari kumpulan beranggota n obyek dengan urutan tidak diperhatikan dan pengulangan (pengembalian) tidak dibolehkan. Kombinasi berukuran r dari n obyek bisa juga diungkapkan sebagai menempatkan r obyek yang identik (sama) ke dalam n posisi yang
1.3 Kombinasi
8
berbeda. Banyaknya kombinasi berukuran r dari n obyek, dinotasikan dengan C(n; r) atau nr dan dibaca ”n memilih r”, adalah C(n; r) =
n! P (n; r) = : (n r)!r! r!
Rumus ini dijelaskan dengan argumen berikut. Setiap satu kombinasi berukuran r dari n obyek akan menentukan r! permutasi berukuran r dari n obyek, sehingga untuk C(n; r) kombinasi akan menghasikan C(n; r)
(r!) = P (n; r)
Dengan mudah dimengerti bahwa, untuk sembarang intejer positif n, n 0
= 1,
n 1
Selanjutnya, dide…nisikan bahwa
= n, dan n r
n n
= 1:
= 0 jika:
n tak-positif dengan r semua intejer, atau n positif dengan r negatif atau r > n. Contoh 1.11 Dalam ujian tengah semester Matematika Diskret diberikan 12 soal. Tentukan banyaknya cara mengerjakan soal jika: 1. seorang mahasiswa di wajibkan hanya mengerjakan 8 soal. 2. mahasiswa yang bersangkutan diwajibkan memilih 3 soal dari 5 nomor soal pertama dan memilih 5 soal dari 7 nomor soal terakhir. 3. dari 8 soal yang dikerjakan mahasiswa tersebut, dipilih sedikitnya 3 soal dari 5 nomor soal pertama dan sisanya diambil dari 7 nomor soal terakhir. Jawab. Perhatikan jawaban-jawaban berikut ini. 1. Banyaknya cara mengerjakan 8 soal dari 12 soal adalah
12 8
=
12! : 4!8!
2. Banyaknya cara mengerjakan 3 soal dari 5 soal pertama adalah dan banyaknya cara mengerjakan 5 soal dari 7 soal terakhir adalah Secara keseluruhan proses mengikuti aturan kali, sehingga ada 53 cara mengerjakan soal.
5 ; 3 7 : 5 7 5
1.3 Kombinasi
9
3. Mengerjakan sedikitnya 3 soal dari 5 nomor soal pertama dan sisanya diambil dari 7 nomor soal terakhir mempunyai tiga alternatif pengerjaan: (a) 3 soal dari 5 nomor soal pertama dan 5 soal dari 7 nomor soal 7 terakhir, berarti ada 53 cara pengerjaan. 5 (b) 4 soal dari 5 nomor soal pertama dan 4 soal dari 7 nomor soal 7 terakhir, berarti ada 54 cara pengerjaan. 4 (c) 5 soal dari 5 nomor soal pertama dan 3 soal dari 7 nomor soal 7 terakhir, berarti ada 55 cara pengerjaan. 3 Selanjutnya, secara keseluruhan mengikuti aturan jumlah, berarti ada 5 3
7 5 + 5 4
7 5 + 4 5
7 3
cara pengerjaan soal. z Contoh 1.12 Banyaknya susunan huruf di dalam kata ANTABRANTA adalah 10! 4!2!2!1!1! : 37 800 Jika disyaratkan tidak ada dua huruf A yang berdampingan, buktikan bahwa banyaknya susunan huruf menjadi 7 4
6! 2!2!1!1!
Bukti. Pertama, dipandang bahwa huruf A tidak ada, maka banyaknya susunan huruf tanpa A adalah 6! : 2!2!1!1! Kemudian setiap satu susunan huruf tanpa A tersebut disisipkan 4 huruf A dengan gambaran sebagai berikut N "
T "
T "
R "
N "
B "
"
;
1.3 Kombinasi
10
maka banyaknya cara penyisipan mempunyai arti sama dengan banyaknya kombinasi berukuran 4 dari 7 obyek, yaitu 7 : 4 Akhirnya dengan aturan kali kita dapatkan jawaban yang dimaksud di atas. z Contoh 1.13 Di dalam Teori Pengkodean atau Teori Bahasa Komputer, kita mengenal istilah kata(word) atau string yang dide…nisikan sebagai susunan simbol (alfabet). Banyaknya simbol dalam string disebut panjang string, misalnya diberikan simbol 0, 1, dan 2, maka 02, 22, 12, dan 10 adalah empat contoh string yang panjangnya 2. Secara umum, jika intejer positif n adalah panjang string, maka banyaknya semua string yang mungkin adalah 3n ; dimana 3 adalah banyaknya simbol. Misalkan x = x1 x2 :::xn adalah salah satu dari string tersebut, bobot dari x, dengan notasi wt(x); dide…nisikan sebagai wt(x) := x1 + x2 + ::: + xn : Ambil contoh: wt(22) = 4; wt(10) = 1; dan wt(102) = 3: Dengan pede…nisian ini, maka banyaknya semua string yang panjangnya 10 adalah 310 : Buktikan bahwa banyaknya string yang panjangnya 10 dan berbobot genap adalah 210 +
10 8 10 6 10 4 10 2 2 + 2 + 2 + 2 +1 2 4 6 8
5 X 10 10 = 2 2i i=0
2i
Bukti. Dari de…nisi jelas bahwa suatu string yang panjangnya 10 dan berbobot genap jika dan hanya jika banyaknya simbol 1 dalam string tersebut juga genap. Dengan demikian banyaknya simbol 1 dalam string yang mungkin adalah 0; 2; 4; ..., 10: Misalkan banyaknya simbol 1 dalam string adalah j; maka banyaknya string yang mungkin adalah 10 10 2 j
j
1.3 Kombinasi
11
Bilangan ini diperoleh dari menempatkan simbol 1 sebanyak j ke dalam 10 posisi simbol dalam string: simbol: : posisi: 1 2 3 5 6 7 8 9 10 Banyaknya penempatan yang mungkin adalah 10 : Selanjutnya, setiap satu j penempatan tersebut, (10 j) posisi simbol sisanya ditempati simbol 0 atau 2 (urutan diperhatikan dan pengulangan dibolehkan), sehingga banyaknya penempatan yang mungkin adalah 210 j : Kemudian penerapan aturan kali menghasilkan 10 210 j . Akhirnya, untuk semua nilai j yang mungkin diterj apkan aturan jumlah, sehingga diperoleh 210 +
10 8 10 6 10 4 10 2 2 + 2 + 2 + 2 + 1: 2 4 6 8 z
Teorema 1.2 (Teorema Binomial) Jika x dan y adalah variabel dan n adalah intejer positif, maka n X n i n i (x + y) = xy : i i=0 n
(1.1)
Bukti. (x + y)n dapat ditulis sebagai perkalian dengan n faktor (x + y): (x + y)(x + y)(x + y)
(x + y):
Ekspansi dari perkalian tersebut menghasilkan jumlahan dengan suku-suku bertipe xi y n i untuk i = 0; 1; 2; :::; n: Banyaknya suku xi y n i dalam ekspansi tersebut merupakan koe…sien dari xi y n i ; yaitu ni . Bilangan ini diperoleh dari banyaknya cara memilih i faktor dari n faktor. z Akibat 1.1 Untuk setiap intejer positif n 1.
n P
i=0
2.
n P
i=0
n i
1;
= 2n :
( 1)i
n i
= 0:
Bukti. Substitusikan pada Persamaan 1.1 untuk:
1.3 Kombinasi
12
1. x = 1 dan y = 1; 2. x =
1 dan y = 1; z
Contoh 1.14 Himpunan kuasa (power set) dari suatu himpunan A; dinotasikan dengan P(A); adalah koleksi (himpunan) semua subhimpunan dari A: Jika jAj = n; dengan n intejer positif, jelaskan bahwa banyaknya subhimpunan berkardinal k; dengan 0 k n; adalah nk ; dan jP(A)j =
n X n k k=0
= 2n :
Jawab. Menentukan banyaknya subhimpunan berkardinal k dari suatu himpunan berkardinal n mempunyai arti sama dengan menentukan banyaknya pemilihan berukuran k dari n obyek dengan syarat pengulangan tidak dibolehkan dan urutan tidak diperhatikan. Dengan demikian, banyaknya subhimpunan berkardinal k; dengan 0 k n; adalah nk : Selanjutnya, berdasarkan Akibat 1.1 No. 1, maka n X n jP(A)j = k k=0
= 2n : z
Contoh 1.15 Tentukan koe…sien dari x5 y 2 di dalam ekspansi (2x
3y)7 :
Jawab. Berdasarkan Teorema Binomial, (2x
3y)7 = [(2x) + ( 3y)]7 7 X 7 = (2x)i ( 3y)7 i i=0 =
7 X i=0
[
i
7 (2)i ( 3)7 i ]xi y 7 i
i
Dengan demikian koe…sien dari x5 y 2 adalah (yaitu untuk i = 5) 7 (25 )( 3)2 : 5 z
1.3 Kombinasi
13
Teorema 1.3 Untuk sembarang intejer n; r dengan n n+1 r
=
r
1;
n n + r r 1
Bukti. Walaupun teorema ini bisa dibuktikan secara aljabar, yaitu dengan menggunakan de…nisi nr = r!(nn! r)! ; namun disini pembuktian akan dilakukan secara kombinatorik. Misalkan A = fx; a1 ; a2 ; :::; an g; banyaknya subhimpunan berkardinal r dari A adalah n+1 : Setiap subhimr punan tersebut hanya ada dua kemungkinan: memuat x atau tidak memuat x: Banyaknya subhimpunan yang memuat x adalah r n 1 , sedangkan yang tidak memuat x adalah nr : Dengan aturan jumlah, kita dapatkan rumusan yang dimaksud. z Teorema 1.4 (Teorema Multinomial) Untuk intejer positif n dan t; koe…sien dari xn1 1 xn2 2 xn3 3 :::xnt t dalam ekspansi (x1 + x2 + ::: + xt )n adalah n! n1 !n2 !:::nt ! dan dinotasikan dengan n : n1 ; n2 ; :::; nt nt n3 n Bukti. Banyaknya suku x1n1 xn2 2 x3 :::xt dalam ekspansi (x1 +x2 +:::+xt ) adalah banyaknya cara memilih secara berurutan n1 faktor, n2 faktor,:::, dan nt faktor dari n faktor (x1 + x2 + ::: + xt ); yaitu
n n1
n
n1 n2
n
n1 n3
n2
:::
n
(n1 + n2 + :::nt 1 ) = nt nt
=
n! ; n1 !n2 !:::nt ! nt n3 dan merupakan koe…sien dari suku xn1 1 xn2 2 x3 :::xt dalam ekspansi (x1 + x2 + ::: + xn )n . z
1.3 Kombinasi
14
Contoh 1.16 Tentukan koe…sien dari a2 b3 c2 d5 dalam ekspansi (a + 2b
3c + 2d + 5)16 :
Jawab. Karena (a + 2b
3c + 2d + 5)16 = [(a) + (2b) + ( 3c) + (2d) + (5)]16 ;
dan berdasarkan Teorema Multinomial, maka 16! (2!)(3!)(2!)(5!)(4!) adalah koe…sien dari (a)2 (2b)3 ( 3c)2 (2d)5 (5)4 : Dengan demikian, 16! (1)2 (2)3 ( 3)2 (2)5 (5)4 (2!)(3!)(2!)(5!)(4!) z
adalah koe…sien dari a2 b3 c2 d5 :
Soal 1.3.1 Hitunglah 62 ; dan periksalah jawabannya dengan mendaftarkan semua pemilihan berukuran 2 yang bisa dibuat dari huruf a; b; c; x; y; dan z: Soal 1.3.2 Jika n adalah intejer positif dan n > 1; buktikan bahwa n 1 merupakan bentuk kuadratik. 2
n 2
+
Soal 1.3.3 Suatu panitia terdiri dari 12 orang yang dipilih dari 10 pria dan 10 wanita. Tentukan banyaknya cara pemilihan, jika: 1. tidak ada batasan apapun. 2. ada 6 pria dan 6 wanita. 3. jumlah wanita harus genap. 4. jumlah wanita harus lebih besar dari pria. 5. ada sedikitnya 8 pria. Soal 1.3.4 Tentukan banyaknya byte yang memuat banyaknya simbol “1” sedikitnya 5: Soal 1.3.5 Tentukan banyaknya cara jika 12 buku yang berbeda didistribusikan ke 4 anak sehingga:
1.3 Kombinasi
15
1. masing-masing anak mendapatkan 3 buku. 2. dua anak yang tertua masing-masing mendapat 4 buku, sedangkan dua yang termuda masing-masing mendapatkan 2 buku. Soal 1.3.6 Tentukan banyaknya huruf di dalam kata MISSISSIPPI sehingga tidak ada huruf S yang bersebelahan. Soal 1.3.7 Dari Contoh 1.13, tentukan banyaknya string dengan panjangnya 10 yang: 1. memuat 4 simbol “0”, 3 simbol “1”, dan 3 simbol “2”. 2. memuat sedikitnya 8 simbol “1”. 3. berbobot 4: Soal 1.3.8 Misalkan string dengan panjang 10 dibentuk dari afabet 0; 1; 2; dan 3: 1. Tentukan banyaknya string yang berbobot 3: 2. Tentukan banyaknya string yang berbobot genap. Soal 1.3.9 Tentukan koe…sien dari x9 y 3 di dalam ekspansi: 1. (x + y)12 : 2. (x + 2y)12 : 3y)12 :
3. (2x
Soal 1.3.10 Tentukan koe…sien dari: 1. xyz 2 di dalam (w + x + y + z)4 : 2. xyz 2 di dalam (2x 3. xyz
2
di dalam (x
y
z)4 :
2y + 3z 1 )4 :
4. w2 x2 yz 2 di dalam (2w
x + 3y
2z)8 :
1.3 Kombinasi
16
Soal 1.3.11 Tentukan jumlah semua koe…sien di dalam ekspansi: 1. (x + y)10 : 2. (x + y + z)10 : 3. (w + x + y + z)5 : 4. (2s
3t + 5u + 6v
11w + 3x + 2y)10 :
Soal 1.3.12 Untuk sembarang intejer positif n; tentukan: 1.
n P
i=0
2.
n P
i=0
1 : i!(n 1)! ( 1)i : i!(n 1)!
Soal 1.3.13 Tunjukkan bahwa untuk sembarang intejer positif m dan n berlaku m+n m+n n = (m + 1) : m m+1 Soal 1.3.14 Misalkan n adalah intejer positif, evaluasi (sederhanakan) jumlahan n n n n n +2 + 22 + + 2k + + 2n : 0 1 2 k n Soal 1.3.15 Untuk x suatu bilangan nyata dan n intejer positif, tunjukkan bahwa: 1. 1 = (1 + x)n 2. 2n = (2 + x)n
n 1 n 1
x1 (1 + x)n x1 (2 + x)n
1
+
1
+
n 2 n 2
x2 (1 + x)n x2 (2 + x)n
Soal 1.3.16 Tentukan x jika 50 X 50 i 8 = x100 : i i=0
2 2
+ ( 1)n
n n
xn :
+ ( 1)n
n n
xn :
1.4 Kombinasi dengan pengulangan
1.4
17
Kombinasi dengan pengulangan
De…nisi 1.6 Kombinasi dengan pengulangan berukuran r dari n obyek adalah seleksi (pengambilan) berukuran r dari kumpulan beranggota n obyek dengan urutan tidak diperhatikan dan pengulangan (pengembalian) dibolehkan. Teorema 1.5 Banyaknya kombinasi dengan pengulangan berukuran r dari n obyek adalah (n + r 1)! = r!(n 1)!
n+r r
1
=
n+r 1 n 1
(1.2)
Untuk memperoleh dari mana bilangan dalam teorema tersebut diperoleh, berikut ini diberikan contoh sebagai ilustrasi untuk menuju ke suatu generalisasi. Contoh 1.17 Untuk memenuhi syarat kelulusan, 7 orang mahasiwa Departemen Matematika IPB yang terancam DO (drop out) diwajibkan mengambil 1 mata kuliah pilihan yang dipilih dari 4 mata kuliah pilihan yang ditawarkan: Kriptologi, Teori Pengkodean, Matematika Finansial, dan Optimisasi Kombinatorial. Ada berapa cara pemilihan 4 mata kuliah oleh ketujuh mahasiswa yang bersangkutan? Jawab. Misalkan K, T, M, dan O menyatakan Kriptologi, Teori Pengkodean, Matematika Finansial, dan Optimisasi Kombinatorial. Sebagai gambaran, suatu contoh cara pemilihan yang mungkin adalah K dipilih oleh 2 mahasiswa, T oleh 2 mahasiswa, M oleh 2 mahasiswa, dan O oleh 1 mahasiswa, kemudian dinotasikan dengan K,K,T,T,M,M,O dan ditulis sebagai xxjxxjxxjx. Agar lebih jelas beberapa cara pemilihan yang mungkin lainnya diberikan dalam tabel berikut ini. Cara pemilihan yang mungkin Ditulis sebagai K,K,K,K,T,M,O xxxxjxjxjx K,K,K,K,O,O,O xxxxjjjxxx T,T,M,M,M,M,O jxxjxxxxjx K,T,T,T,T,T,T xjxxxxxxjj O,O,O,O,O,O,O jjjxxxxxxx K,K,K,T,M,O,O xxxjxjxjxx M,M,M,M,M,M,M jjxxxxxxxj Beberapa contoh dalam tabel di atas mengarahkan kita pada suatu kesimpulan bahwa masalah menentukan jumlah semua cara pemilihan yang mungkin
1.4 Kombinasi dengan pengulangan
18
dapat dibawa ke masalah mencari banyaknya permutasi berukuran 10 dengan 2 jenis, yaitu 7 obyek berjenis ”x ”dan tiga obyek berjenis ”j ”. Dengan demikian ada 10! 10 = 3!7! 7 cara ketujuh mahasiswa tersebut memilih 4 mata kuliah yang ditawarkan. z Bentuk umum dari Contoh 1.17 adalah banyaknya kombinasi dengan pengulangan berukuran r dari n obyek yaitu Persamaan 1.2. Contoh 1.18 Ada berapa cara apabila 13 kelereng yang identik didistribusikan ke dalam 5 lubang yang berbeda? Jawab. Dengan argumen yang sama dengan jawaban Contoh 1.17 diperoleh jawaban 17 17! = : 13 4!13! z Contoh 1.19 Tentukan banyaknya semua penyelesaian intejer dari persamaan x1 + x2 + x3 + x4 + x5 + x6 = 20; dimana xi
0 untuk setiap 1
i
6:
Jawab. Dengan argumen yang sama dengan jawaban Contoh 1.17 diperoleh jawaban 25! 25 = : 5!20! 20 z Catatan 1.1 Dari ketiga contoh terakhir di atas, kita sampai pada kesimpulan bahwa ketiga pernyataan berikut adalah ekuivalen: 1. Banyaknya pemilihan berukuran r dari koleksi beranggota n obyek dengan urutan tidak diperhatikan dan pengulang dibolehkan. 2. Banyaknya solusi intejer dari persamaan x1 + x2 + ::: + xn = r; dimana xi
0 untuk setiap 1
i
n:
1.4 Kombinasi dengan pengulangan
19
3. Banyaknya cara pendistribusian apabila r obyek yang identik didistribusikan ke dalam n wadah yang berbeda. Contoh 1.20 Ada berapa cara apabila kita ingin memberikan 7 apel dan 6 jeruk kepada 4 orang anak apabila masing-masing anak sedikitnya menerima 1 apel? Jawab. Tetapkan dulu bahwa masing-masing anak telah menerima 1 apel, sehingga ada 4+33 1 cara pendistribusian 3 apel sisanya. Setiap cara ini kemudian diikuti dengan pendistribusian 6 jeruk yaitu 4+66 1 . Dengan aturan kali diperoleh jawab 1
6 3
9 : 6 z
Contoh 1.21 Tentukan banyaknya solusi intejer dari persamaan x1 + x2 + x3 + x4 + x5 + x6 < 200; dimana xi
0 dengan 1
i
(1.3)
6: Jelaskan problem komputasinya!
Jawab. 3 Misalkan x1 + x2 + x3 + x4 + x5 + x6 = k;
(1.4)
maka banyaknya solusi yang dimaksud adalah semua solusi Persamaan 1.4, untuk 0 k 199: Dengan aturan jumlah diperoleh jawaban 199 X 6+k k k=0
1
:
Jawaban ini kalau dicari nilainya cukup melelahkan; apalagi kalau ruas kanan Pertidaksamaan 1.3 jauh lebih besar dari 200; katakanlah 2000: Berikut ini diberikan penyelesaian dengan pendekatan identitas kombinatorial. Mencari banyaknya solusi intejer dari Pertidaksamaan 1.3 setara dengan mencari banyaknya semua solusi persamaan x1 + x2 + x3 + x4 + x5 + x6 + x7 = 200; 3
Ini merupakan suatu contoh solusi yang berhubungan dengan analisis komputasi.
1.4 Kombinasi dengan pengulangan
20
dimana xi 0 untuk setiap 1 i 6 dan x7 > 0: Problem ini juga setara dengan problem mencari jumlah solusi intejer untuk y1 + y2 + y3 + y4 + y5 + y6 + y7 = 199; dimana xi = yi untuk setiap 1 i 6 dan y7 = x7 1 (sekarang yi untuk setiap 1 i 7): Dengan demikian solusinya adalah 199 + 7 199
1
205 205 = 199 6 205 204 203 202 201 = 1 2 3 4 5 6 = 68:937:810:984:000:
0
=
200
z Contoh 1.22 Setiap intejer positif m dapat dinyatakan sebagai jumlahan intejer-intejer positif lainnya yang tidak lebih dari m dengan urutan diperhatikan. Jumlahan yang demikian disebut komposisi dari m: Misalnya, semua komposisi dari 4 ada 8; yaitu: 4; 3 + 1; 1 + 3; 2 + 2; 2 + 1 + 1; 1 + 2 + 1; 1 + 1 + 2; dan 1 + 1 + 1 + 1: Secara umum, berapa banyaknya komposisi dari m? Jawab. Problem menentukan banyaknya semua komposisi dari m setara dengan problem menentukan banyaknya solusi intejer dari persamaan: x1 + x2 + ::: + xk = m; dimana xi 1 untuk setiap 1 i k; dan k adalah intejer dengan 1 k m: Dengan mengambil yi = xi 1 untuk setiap 1 i k; kemudian persamaan itu ditransformasikan menjadi y1 + y2 + ::: + yk = m
k;
dimana yi 0 untuk setiap 1 i k dan 1 intejer dari persamaan terakhir ini adalah
k
m X k + (m m k=1
k) k
1
=
m X k + (m k k=1
m X m = k k=1
=
m: Banyaknya solusi
m X1
i=0 m 1
= 2
1 1
m
1 i
k) 1
1
1.4 Kombinasi dengan pengulangan
21
z Contoh 1.23 Perhatikan segmen program berikut, dimana i; j; dan k adalah peubah-peubah intejer. for i := 1 to 20 do for j := 1 to i do for k := 1 to j do print (i j + k) Berapa kali perintah print dieksekusi? Jawab. Sebagai gambaran, beberapa contoh pilihan i; j; dan k (dalam urutan: i pertama, j kedua, dan k ketiga) adalah: (1; 1; 1); (2; 1; 1); (2; 2; 1); (3; 2; 1); (17; 12; 5); (16; 16; 2); dan (13; 6; 6): Catatan bahwa (1; 2; 1) dan (1; 1; 2) tidak mungkin; demikian juga (17; 5; 12); (12; 17; 5); (12; 5; 17); (5; 12; 17); dan (5; 17; 12): Gambaran ini membawa kita pada suatu kesimpulan bahwa banyaknya kali perintah print dieksekusi setara dengan pemilihan berukuran 3 dari kumpulan obyek f1; 2; :::; 20g dengan pengurutan tidak diperhatikan dan pengulangan dibolehkan, yaitu 20 + 3 3
1
:
Jawaban ini juga dapat diperoleh dengan cara lain, misalnya menggunakan diagram pohon. z Contoh 1.24 Perhatikan segmen program berikut, dimana i; j; n dan CO U N T ER adalah peubah-peubah intejer dengan COU N T ER di berikan nilai awal 0: COU N T ER := 0 for i := 1 to n do for j := 1 to i do COU N T ER := COU N T ER + 1 Pertanyaannya, berapa nilai COU N T ER setelah segmen tersebut dieksekusi? Jawab. Nilai COU N T ER tersebut setara dengan banyaknya pemilihan nilai-nilai i dan j yang mungkin, yaitu n+2 2
1
=
n(n + 1) : 2
Nilai yang sama juga diperoleh apabila kita pakai diagram pohon.
z
1.4 Kombinasi dengan pengulangan
22
Ringkasan Ringkasan bahasan dalam bab ini adalah membandingkan pengertian pemilihan berukuran r dari kumpulan beranggota n obyek, yang diberikan dalam tabel berikut.
Ulangan (YA) Ulangan (TIDAK)
Urutan (YA)
Urutan (TIDAK)
nr P (n; r) =
(n+r 1)! r!(n 1)! n! (n r)!
C(n; r) =
n! r!(n r)!
Soal 1.4.1 Tentukan ada berapa cara pendistribusian 10 koin kepada 5 orang anak jika: 1. tidak ada batasan apapun, 2. setiap anak sedikitnya mendapatkan 1 koin, dan 3. anak yang tertua sedikitnya mendapatkan 2 koin. Soal 1.4.2 Tentukan banyaknya semua solusi intejer dari persamaan x1 + x2 + x3 + x4 = 32; apabila: 1. xi
0; 1
i
4;
2. xi > 0; 1
i
4;
3. x1 ; x2 4. xi 5. xi
5;
8; 1 2; 1
x3 ; x4 i
7;
4; i
4; dan
6. x1 ; x2 ; x3 > 0; 0 < x4
25:
Soal 1.4.3 Dua intejer berdijit-n (awalan 0 dibolehkan) disebut ekuivalen jika yang satu merupakan permutasi dari yang lain. Ilustrasi: 12033; 20331; dan 01332 adalah contoh tiga intejer berdijit-5 yang saling ekuivalen. 1. Tentukan banyaknya semua intejer berdijit-5 yang saling tidak ekuivalen.
1.4 Kombinasi dengan pengulangan
23
2. Jika dijit 1; 3; dan 7 harus muncul paling banyak satu kali, tentukan banyaknya semua intejer berdijit-5 yang saling tidak ekuivalen. Soal 1.4.4 Tentukan jumlah solusi intejer dari persamaan x1 + x2 + x3 + x4 + x5 < 500; jika: 1. xi 2. xi
0; 1 2; 1
i
5: i
5:
Soal 1.4.5 Perhatikan segmen program berikut, dimana i; j; k dan m adalah peubah-peubah intejer. for i := 1 to 20 do for j := 1 to i do for k := 1 to j do for m := 1 to k do print (i j) + (k m) Berapa kali perintah print dieksekusi? Soal 1.4.6 Perhatikan segmen program berikut, dimana i; j; k dan CO U N T ER adalah peubah-peubah intejer dengan COU N T ER di berikan nilai awal 10: COU N T ER := 10 for i := 1 to 15 do for j := 1 to 15 do for k := 1 to 15 do COU N T ER := COU N T ER + 1 Pertanyaannya, berapa nilai COU N T ER setelah segmen tersebut dieksekusi? Soal 1.4.7 Perhatikan segmen program berikut, dimana i; j; k; IN CREAM EN T dan SU M adalah peubah-peubah intejer. IN CREAM EN T := 0 SU M := 0 for i := 1 to 10 do for j := 1 to i do for k := 1 to j do IN CREAM EN T := IN CREAM EN T + 1 SU M := SU M + IN CREAM EN T Pertanyaannya, berapa nilai SU M setelah segmen tersebut dieksekusi?
1.4 Kombinasi dengan pengulangan
24
Soal 1.4.8 Tulislah program komputer (atau, bangunlah suatu algoritme) yang outputnya semua solusi intejer dari: 1. x1 + x2 + x3 = 10;
0
xi ;
2. x1 + x2 + x3 + x4 = 4;
2
1 xi ;
i
3: 1
i
4:
Chapter 2 Sifat Dasar Intejer Di dalam bab ini, pembicaraan banyak terkait dengan sifat-sifat dasar intejer (bilangan bulat). Materinya ditekankan pada bahasan tentang: induksi matematik, de…nisi rekursif, dan algoritme pembagian.
2.1
Prinsip Induksi Matematik
Topik bahasan intejer tidak terlepas dari notasi himpunan bilangan. Beberapa notasi himpunan bilangan yang umum dipakai diantaranya: Z menotasikan himpunan semua bilangan bulat yang anggotanya disebut intejer, Z+ menotasikan himpunan semua intejer positif, N menotasikan himpunan semua intejer tak-negatif, R menotasikan himpunan semua bilangan nyata, dan Q menotasikan himpunan semua bilangan rasional. Secara sama, penotasian R+ dan Q+ adalah untuk himpunan bilangan nyata dan rasional positif. Pada setiap himpunan bilangan di atas dapat dikenai relasi urutan: " = "; " < ", atau " > ". Artinya untuk setiap dua bilangan a dan b; satu dan hanya satu berlaku: "a = b"; "a < b"; atau "a > b": Sifat dasar intejer yang melandasi induksi matematik dinyatakan pada prinsip berikut ini. Prinsip Pengurutan Baik (well-ordering principle): Setiap subhimpunan tak-kosong dari Z+ mempunyai unsur terkecil. Teorema 2.1 (Prinsip induksi matematik) Misalkan S(n) menotasikan suatu pernyataan matematik terbuka yang melibatkan peubah intejer positif n: Jika: 25
2.1 Prinsip Induksi Matematik
26
(a) S(1) benar, dan (b) untuk sembarang pilihan k 2 Z+ ; berlaku: S(k) ) S(k + 1); kesimpulannya: S(n) benar untuk semua n 2 Z+ : Bukti. Misalkan S(n) adalah suatu pernyataan terbuka yang memenuhi syarat (a) dan (b), dan misalkan F = ft 2 Z+ S(t) salahg: Akan dibuktikan bahwa F = ?: Andaikan F 6= ?; berdasarkan prinsip pengurutan baik, maka F mempunyai unsur terkecil s: Karena S(1) benar, maka jelas bahwa s > 1; dan akibatnya s 1 2 Z+ : Karena s terkecil, maka (s 1) 2 = F; ini berarti S(s 1) benar. Dari fakta ini dan berdasarkan syarat (b), maka S(s) harus benar, suatu kontradiksi bahwa s 2 F yang berarti S(s) salah. Pengandaian harus diingkar dan kita simpulkan bahwa F = ?: z Prinsip induksi matematik disebut juga prinsip induksi berhingga. Di dalam teorema di atas, syarat (a) disebut langkah basis dan syarat (b) disebut langkah induktif. Catatan bahwa pada langkah basis S(n) benar tidak harus dimulai untuk n = 1; tetapi secara umum bisa digantikan untuk n = n0 dimana n0 adalah suatu intejer berhingga dan bisa bernilai negatif. Jika demikian halnya, kesimpulan akhir menjadi S(n) benar untuk semua nilai n n0 ; n 2 Z: Contoh 2.1 Buktikan bahwa 8n 2 Z+ ; berlaku: 1. 1 + 2 + 3 + ::: + n =
n P
i=
i=1
2.
n P
i2 =
(n)(n+1)(2n+1) : 6
i3 =
(n2 )(n+1)2 : 4
i=1
3.
n P
i=1
4. 1 + 4 + 7 + ::: + (3n
2) =
(n)(n+1) : 2
n P
(3i
2) =
i=1
5. 6.
1 1:2 n P
i=1
+
1 2:3
+
2i+1 i2 (i+1)2
1 3:4
=
+ ::: +
n(n+2) : (n+1)2
1 n(n+1)
=
n P
i=1
1 i(i+1)
=
(n)(3n 1) : 2
n : n+1
2.1 Prinsip Induksi Matematik
27
Disini yang akan dibuktikan hanya contoh nomor 1, pembuktian 5 nomor yang lainnya disisakan sebagai latihan. n P i = (n)(n+1) Bukti. Misalkan S (n): : 2 i=1
(1) Langkah Basis ! S (1):
1 P
i=1
i=
(1)(1+1) 2
,1=
(2) Langkah Induktif ! Diasumsikan S (k):
2 2
k P
adalah benar.
i =
i=1
(k)(k+1) 2
benar
untuk suatu k 2 Z+ : Akan dibuktikan bahwa S (k + 1) juga benar, ini berarti harus dibuktikan bahwa k+1 X
(k + 1)(k + 2) : 2
i=
i=1
Berdasarkan asumsi diketahui
k P
i=
i=1 k X
i + (k + 1) =
i=1
k+1 X
i=1 k+1 X
(k)(k+1) ; 2
maka
(k)(k + 1) + (k + 1) , 2
i =
(k)(k + 1) + 2 (k + 1) , 2
i =
(k + 1)(k + 2) : 2
i=1
z Contoh 2.2 Buktikan bahwa 8n 2 Z+ berlaku: 1. Jika n
3; maka 2n
2. 12 + 22 + ::: + (n 3. Jika n
2n + 1:
1)2 <
n3 : 3
10; maka 2n > n3
Disini yang akan dibuktikan hanya contoh nomor 1, pembuktian 2 nomor lainnya disisakan sebagai latihan. Bukti. Misalkan S (n): 2n 2n + 1 dengan n 3: (1) Langkah Basis ! S (3): 23 2:3 + 1 , 8 7 benar.
2.1 Prinsip Induksi Matematik
28
(2) Langkah Induktif ! Diasumsikan S (k): 2k 2k + 1 benar untuk suatu k 2 Z+ dan k 3: Akan dibuktikan bahwa S (k + 1) juga benar, ini berarti harus dibuktikan 2k+1 Berdasarkan asumsi diketahui 2k 2k :2 2k+1 2k+1 2k+1 Karena k
3; maka 2k 2k+1
2(k + 1) + 1: 2k + 1; maka
(2k + 1):2 , (2k + 1) + (2k + 1) , (2k + 2) + 2k , 2(k + 1) + 2k: 1: Jadi 2(k + 1) + 2k
2(k + 1) + 1: z
Perhatikan dua prosedur pseudocode berikut ini. PROSEDUR 1 procedure SumOfSquares1 (n: positive integer) begin sum := 0 for i := 1 to n do sum := sum + i2 end PROSEDUR 2 procedure SumOfSquares1 (n: positive integer) begin sum := n (n + 1) (2 n + 1) =6 end Terlihat bahwa kedua prosedur di atas sama-sama menghitung jumlah kuadrat intejer positif dari 1 sampai dengan n. Karena Prosedur 1 menggunakan perintah loop for, maka total operasinya melibatkan n adisi dan n multiplikasi (ini belum termasuk n 1 adisi untuk penambahan variabel counter i): Sedangkan Prosedur 2 hanya melibatkan 2 adisi, 3 multiplikasi, 1 divisi; dan yang lebih penting lagi jumlah operasinya tidak tergantung pada nilai n: Akibatnya, Prosedur 2 jauh lebih e…sien dibandingkan Prosedur 1. Hal ini memperlihatkan salah satu pentingnya prinsip induksi matematik dalam masalah komputasi. Lebih jauh lagi kita perhatikan beberapa contoh berikut ini.
2.1 Prinsip Induksi Matematik
29
Contoh 2.3 Kita amati jumlah intejer positif ganjil berurutan berikut. 1) 1 = 1 (= 12 ) 2) 1 + 3 = 4 (= 22 ) 3) 1 + 3 + 5 = 9 (= 32 ) 4) 1 + 3 + 5 + 7 = 16 (= 42 ) Dari 4 intejer positif pertama ini, kita dapatkan pola untuk membuat suatu konjektur (suatu proposisi yang belum diketahui benar dan salahnya) yang berbunyi: Jumlah n intejer positif ganjil pertama yang berurutan adalah n2 ; dengan kata lain, 8n 2 Z+ ; S (n) :
n X
(2i
1) = n2 :
i=1
Selanjutnya, buktikan kebenaran konjektur itu dengan prinsip induksi matematik. Bukti. Dari tabel di atas, telah diketahui benar untuk S(1); S (2) ; S(3); Pk dan S(4): Misalkan diketahui S(k) : i=1 (2i 1) = k 2 benar untuk suatu intejer k > 4; maka S(k + 1) : k+1 X
(2i
1) =
i=1
k X
(2i
1) + [2(k + 1)
i=1 2
= k + [2(k + 1) = k 2 + 2k + 1 = (k + 1)2 :
1]
1]
z Contoh 2.4 Diantara banyak barisan bilangan yang cukup menarik di dalam matematika diskret dan kombinatorika adalah barisan bilangan harmonik: H1 ; H2 ; H3 ; :::, dimana H1 = 1 1 2 1 1 = 1+ + 2 3 .. .
H2 = 1 + H3
dan secara umum Hn = 1 + 12 + 31 + ::: + n1 untuk setiap n 2 Z+ : Dengan prinsip induksi matematik, buktikan bahwa jumlah n bilangan harmonik pertama
2.1 Prinsip Induksi Matematik
30
dapat dirumuskan dengan n X
+
8n 2 Z ;
Hi = (n + 1)Hn
n:
i=1
Bukti. Untuk n = 1; 1 X
1,
Hi = (1 + 1)H1
i=1
H1 = 2:H1 1 , 1 = 2:1 1 , 1 = 1; benar.
P Misalkan ki=1 Hi = (k + 1)Hk asumsi ini, maka k+1 X
Hi =
i=1
k X
k benar untuk suatu intejer k > 1: Dari
Hi + Hk+1
i=1
= = = =
[(k + 1)Hk k] + Hk+1 ((k + 1)Hk+1 1) k + Hk+1 [(k + 1) + 1]Hk+1 1 k [(k + 1) + 1]Hk+1 (k + 1): z
Teorema 2.2 (Bentuk Alternatif - Prinsip Induksi Berhingga) Misalkan S(n) menotasikan suatu pernyataan matematik terbuka yang melibatkan satu atau lebih variabel intejer positif n; dan misalkan n0 ; n1 2 Z+ dengan n0 n1 : Jika: (a) S(n0 ); S(n0 + 1); S(n0 + 2); :::; S(n1 (b) untuk sembarang pilihan k 2 Z+ ; k
1); S(n1 ) benar, dan n1 ; berlaku:
Jika S(n0 ); S(n0 + 1); :::; S(n1 ); :::; S(k) benar, maka S(k + 1)benar kesimpulannya S(n) benar untuk semua n
n0 :
Sebagaimana pada prinsip induksi matematik sebelumnya, kondisi (a) disebut Langkah Basis dan kondisi (b) disebut Langkah Induktif.
2.1 Prinsip Induksi Matematik
31
Contoh 2.5 Kita perhatikan barisan intejer a0 ; a1 ; a2 ; :::; dimana a0 = 1; a1 = 2; a2 = 3; dan an = an 1 + an 2 + an 3; 8n 2 Z; Buktikan bahwa 8n 2 N; an
n
3:
3n :
Bukti. Misalkan S 0 (n): an 3n ; 8n 2 N: Langkah Basis: Kita amati bahwa S 0 (0) ; S 0 (1) ; dan S 0 (2) benar: (1) a0 = 1 = 30 30 ; (2) a1 = 2 3 = 31 ; dan (3) a2 = 3 9 = 32 : Langkah Induktif: Andaikan S 0 (0) ; S 0 (1) ; S 0 (2) ; :::; S 0 (k) benar untuk suatu k 2 N; dan k 2: Ini berarti k + 1 pernyataan berikut adalah benar a0 30 a1 31 a2 32 .. . ak
3k
Berdasarkan asumsi tersebut, maka ak+1 = ak + ak 1 + ak 2 3k + 3k 1 + 3k 2 3k + 3k + 3k = 3k+1 : z Soal 2.1.1 Perhatikan empat persamaan berikut: 1 2+3+4 5+6+7+8+9 10 + 11 + 12 + 13 + 14 + 15 + 16
= = = =
1 1+8 8 + 27 27 + 64
(1) (2) (3) (4)
Buatlah konjektur rumus umum dari keempat persamaan di atas, dan buktikan kebenaran konjektur yang anda buat. Soal 2.1.2
2.2 De…nisi Rekursif
32
1. Untuk n = 3; misalkan X3 = f1; 2; 3g: Perhatikan jumlahan s3 =
1 1 1 1 1 1 1 + + + + + + = 1 2 3 1:2 1:3 2:3 1:2:3
X
6=A X3
1 ; PA
dimana PA adalah produk dari semua anggota subhimpunan tak-kosong A dari X3 : Evaluasi (tentukan nilai) jumlahan tersebut. 2. Ulangi perhitungan Soal 1: untuk s2 (dimana n = 2 dan X2 = f1; 2g) dan s4 (dimana n = 4 dan X2 = f1; 2; 3; 4g) 3. Buatlah konjektur hasil umum yang digeneralisasi dari Soal 1: dan Soal 2:, kemudian buktikan kebenaran konjektur yang anda buat. Soal 2.1.3 Untuk n 2 Z+ ; misalkan Hn adalah bilangan harmonik ke-n: 1. Untuk semua n 2 N; buktikan bahwa (1 + n2 )
H2 :
2. Untuk semua n 2 N; buktikan bahwa n X j=1
2.2
jHj =
(n + 1)n 2
Hn+1
(n + 1)n 4
:
De…nisi Rekursif
Untuk memahami de…nisi rekursif, terlebih dahulu perhatikan barisan intejer genap tak-negatif: 0; 2; 4; 6; 8; .... Barisan itu bisa kita tuliskan dengan: bn = 2n; 8n 2 N: Suku ke berapapun dari barisan itu bisa kita peroleh secara langsung, misalnya: suku ke-125 adalah b125 = 250: Barisan yang demikian kita sebut dengan barisan dengan rumus eksplisit. Sebagai badingannya, sekarang kita perhatikan barisan pada Contoh 2.5, untuk mendapatkan suku ke-k, yaitu ak ; kita tidak mempunyai rumus eksplisit, sebagai gantinya dibutuhkan nilai tiga suku sebelumnya, yaitu ak 1 ; ak 2 ; dan ak 3 , sehingga ak = ak 1 + ak 2 + ak 3 : Kemudian nilai ketiga suku itu, masing-masing juga membutuhkan nilai tiga suku sebelumnya lagi. Demikian seterusnya, pada akhirnya semua nilai ak ; untuk k 3; bergantung pada nilai awal suku: a0 = 1; a1 = 2; dan a2 = 3: Barisan yang demikian disebut barisan dengan rumus rekusif. Rumus rekursif secara lengkap disebut juga dengan de…nisi rekursif yang terdiri dari basis rekursi dan proses rekursi. Basis rekursi yaitu pende…nisian awal (pemberian nilai awal), pada
2.2 De…nisi Rekursif
33
contoh tersebut: a0 = 1; a1 = 2; dan a2 = 3: Proses rekursi memberikan nilai suku berikutnya secara rekursif didasarkan pada nilai basis rekursi, pada contoh tersebut ak = ak 1 + ak 2 + ak 3 : De…nisi rekursif merupakan suatu jawaban ketika untuk menentukan rumus eksplisit suatu barisan sangat rumit atau bahkan mustahil. Hal ini terjadi tidak hanya pada barisan bilangan, tetapi juga paling sering terjadi pada beberapa konsep matematika yang lain, seperti: operasi himpunan, proposisi dalam logika, relasi, fungsi, bahasa mesin, dll. Contoh 2.6 Misalkan p1 ; p2 ; p3 ; ..., pn adalah n proposisi. Untuk menentukan nilai kebenaran p1 ^ p2 ^ p3 ^ ::: ^ pn ; dimana n 2; diperlukan konsep rekursif atas dasar hukum asosiatif konjungsi. Basis Rekursi: p1 ^ p2 : Proses Rekursi: Untuk n 2; p1 ^ p2 ^ p3 ^ ::: ^ pn
1
^ pn , (p1 ^ p2 ^ p3 ^ ::: ^ pn 1 ) ^ pn
De…nisi rekursif berdasarkan hukum asosiatif pada contoh tersebut bisa diperumum melalui ilustrasi berikut ini. Ambil untuk kasus n = 4; maka p1 ^ p2 ^ p3 ^ p4 , , , , ,
(p1 ^ p2 ^ p3 ) ^ p4 [(p1 ^ p2 ) ^ p3 ] ^ p4 (p1 ^ p2 ) ^ (p3 ^ p4 ) p1 ^ [p2 ^ (p3 ^ p4 )] p1 ^ (p2 ^ p3 ^ p4 ):
Dari fakta ini dapat diambil suatu kesimpulan bahwa berdasarkan sifat asosiatif tanda kurung bisa diletakkan secara bebas. Hasil ini dimantabkan secara lebih umum pada penyataan di dalam contoh berikut ini. Contoh 2.7 Misalkan n 2 Z+ dengan n 3; dan misalkan r 2 Z+ dengan 1 r < n: Maka, untuk sembarang proposisi p1 ; p2 ; :::; pr ; pr+1; ...; pn berlaku (p1 ^ p2 ^ ::: ^ pr ) ^ (pr+1 ^ ::: ^ pn ) , p1 ^ p2 ^ ::: ^ pr ^ pr+1 ^ ::: ^ pn : Bukti. Akan dibuktikan dengan induksi matematik. Sebagai basis induksi, untuk n = 3; kebenaran jelas diterima mengikuti hukum asosiatif
2.2 De…nisi Rekursif
34
dasar. Sekarang diasumsikan benar untuk n = k dan untuk setiap 1 ini berarti berlaku
r < k;
(p1 ^ p2 ^ ::: ^ pr ) ^ (pr+1 ^ ::: ^ pk ) , p1 ^ p2 ^ ::: ^ pr ^ pr+1 ^ ::: ^ pk : Berdasarkan asumsi ini harus dibuktikan benar untuk n = k + 1 dan untuk setiap 1 r < k + 1: Dalam hal ini perhatikan dua kasus berikut ini. 1. Jika r = k; berdasarkan de…nisi rekursif jelas berlaku (p1 ^ p2 ^ p3 ^ ::: ^ pk ) ^ pk+1 , p1 ^ p2 ^ p3 ^ ::: ^ pk ^ pk+1 : 2. Jika 1
r < k; maka
, , , ,
(p1 ^ p2 ^ ::: ^ pr ) ^ (pr+1 ^ ::: ^ pk ^ pk+1 ) (p1 ^ p2 ^ ::: ^ pr ) ^ [(pr+1 ^ ::: ^ pk ) ^ pk+1 ] [(p1 ^ p2 ^ ::: ^ pr ) ^ (pr+1 ^ ::: ^ pk )] ^ pk+1 (p1 ^ p2 ^ ::: ^ pr ^ pr+1 ^ ::: ^ pk ) ^ pk+1 p1 ^ p2 ^ ::: ^ pr ^ pr+1 ^ ::: ^ pk ^ pk+1 : z
Contoh 2.8 Contoh 2.4 memenuhi pola pende…nisian rekursif: Basis Rekursi: H1 = 1: 1 : Proses Rekursi: Untuk n 1; Hn+1 = Hn + n+1 Contoh 2.9 Menghitung n! untuk n 0 mengikuti pola pende…nisian rekursif: Basis Rekursi: 0! = 1: Proses Rekursi: Untuk n 0; (n + 1)! = (n + 1) (n!): Contoh 2.10 Pende…nisian rekursif bilangan Fibonacci. Basis Rekursi: F0 = 0; :F1 = 1 Proses Rekursi: Untuk n 2 Z+ dan n 2; Fn = Fn
1
+ Fn
2
Suatu pende…nisian secara rekursif yang melibatkan dua intejer sekaligus diberikan pada dua contoh berikut ini.
2.2 De…nisi Rekursif
35
Contoh 2.11 Pada Bab 1 telah diperkenalkan koe…sien binomial nr untuk n; r 2 N dengan 0 r n: Berikut ini diberikan pede…nisian secara rekursif, n+1 r
=
n n + ; r r 1
untuk 0
r
n;
dengan basis rekursi: 0 0 n r n r
= 1; = 0;
untuk r > n; dan
= 0;
untuk r < 0:
Berdasarkan de…nisi rekursif ini, penentuan nilai nr ; dimana 0 0 k n dapat dinyatakan dalam tabel segitiga Pascal: n k 0 1 2 3 4
n
4 dan
1 1 1 1
1 2
3
1
4
1 3
6
1 4
1
Contoh 2.12 Untuk m 2 Z+ dan k 2 N; bilangan Euler am;k dide…nisikan secara rekursif dengan am;k = (m
k) am
1;k 1
+ (k + 1) am
1;k ;
untuk 0
k
m;
dengan basis rekursi: a0;0 = 1; am;k = 0; am;k = 0;
untuk k m; dan untuk k < 0:
Berdasarkan de…nisi rekursif ini, penentuan nilai am;k ; dimana 1 dan 0 k m 1 dapat dinyatakan dalam tabel berikut. Jml. Brs. (m = 1) 1 1 = 1! (m = 2) 1 1 2 = 2! (m = 3) 1 4 1 6 = 3! (m = 4) 1 11 11 1 24 = 4! (m = 5) 1 26 66 26 1 120 = 5!
m
5
2.2 De…nisi Rekursif
36
Dari tabel ini didapat suatu pola bahwa jumlah baris P ke-m adalah m!: 1 + Secara umum, buktikan bahwa untuk suatu m 2 Z ; berlaku m k=0 am;k = m!: Bukti. Berdasarkan de…nisi rekursif diperoleh
m X
m X
am+1;k =
k=0
k)am;k
1
+ (k + 1)am;k ] =
[(m + 1)am; 1 + am;0 ] + [mam;0 + 2am;1 ] + [(m 1)am;1 + 3am;2 ] + ::: + [3am;m 3 + (m 1)am;m 2 ] +[2am;m 2 + mam;m 1 ] + [am;m 1 + (m + 1)am;m ]:
Karena am; m X
[(m + 1
k=0
1
= 0 dan am;m = 0; maka
am+1;k = [am;0 + mam;0 ] + [2am;1 + (m
1)am;1 ] + :::
k=0
+[(m 1)am;m 2 + 2am;m 2 ] + [mam;m 1 + am;m 1 ] = (m + 1)[am;0 + am;1 + ::: + am;m 2 + am;m 1 ] m X1 am;k = (m + 1) k=0
Dari fakta ini, dan berdasarkan induksi matematik, jika diasumsikan m X1
am;k = m!
k=0
benar untuk m 2 Z+ ; maka m X
am+1;k = (m + 1)(m!) = (m + 1)!:
k=0
z
Soal 2.2.1 Barisan intejer a1 ; a2 ; a3 ; ::: dide…nisikan secara eksplisit dengan rumus an = 5n untuk n 2 Z+ ; dapat juga secara rekursif a) a1 = 5; dan b) an+1 = an + 5; untuk n
1:
Barisan intejer b1 ; b2 ; b3 ; ::: dide…nisikan secara eksplisit dengan rumus bn = n(n + 2) untuk n 2 Z+ ; dapat juga secara rekursif
2.2 De…nisi Rekursif
37
a)’ b1 = 3; dan b)’ bn+1 = bn + 2n + 3; untuk n
1:
Buatlah de…nisi rekursif untuk setiap barisan intejer c1 ; c2 ; c3 ; ::: berikut ini, dimana untuk n 2 Z+ ; 1. cn = 7n: 2. cn = 7n : 3. cn = 3n + 7: 4. cn = 7: 5. cn = n2 : 6. cn = 2
( 1)n :
Soal 2.2.2 1. Buatlah de…nisi rekursif untuk dijungsi dari proposisi p1 ; p2 ; p3 ; :::pn+1 ; n 1: 2. Buktikan bahwa jika n; r 2 Z+ ; dengan n
3 dan 1
r < n; maka
(p1 _ p2 _ ::: _ pr ) _ (pr+1 _ pr+2 _ ::: _ pn ) , p1 _ p2 _ ::: _ pr _ pr+1 _ ::: _ pn : Soal 2.2.3 1. Bangunlah suatu de…nisi rekursif untuk adisi (jumlahan) dari n bilangan nyata x1 ; x2 ; :::; xn ; dimana n 2: 2. Berdasarkan hukum asosiatif untuk adisi bilangan nyata, buktikan bahwa jika n; r 2 Z+ ; dengan n 3 dan 1 r < n; maka (x1 + x2 + ::: + xr ) + (xr+1 + ::: + xn ) = x1 + x2 + ::: + xr + xr+1 + ::: + xn
2.2 De…nisi Rekursif
38
Soal 2.2.4 Perhatikan bahwa untuk setiap x; y 2 R; jx + yj2 = (x + y)2 = x2 + 2xy + y 2 x2 + 2 jxj jyj + y 2 = jxj2 + 2 jxj jyj + jyj2 = (jxj + jyj)2 : Akibatnya, jx + yj jxj + jyj : Sekarang, buktikan bahwa jika n 2 Z+ ; n dan x1 ; x2 ; :::; xn 2 R; maka jx1 + x2 + ::: + xn j
2;
jx1 j + jx2 j + ::: + jxn j :
Soal 2.2.5 Dide…nisikan barisan intejer a0 ; a1 ; a2 ; :::; an secara rekursif dengan a) a0 = 1; a1 = 1; a2 = 1; dan b) untuk n
3; an = an
Buktikan bahwa an+2
1
+ an 3 :
p
2
n
untuk setiap n
0:
Soal 2.2.6 Misalkan Fn adalah bilangan Fibonacci ke-n: 1. untuk n
0; buktikan bahwa
n P
Fi = Fn+2
1:
i=0
2. untuk n
1; buktikan bahwa
n P
i=1
Fi 1 2i
=1
Fn+2 : 2n
Soal 2.2.7 1. Untuk i 2 Z+ ; periksalah bahwa i2 =
i i+1 + : 2 2
2. Untuk n 2 Z+ ; buktikan bahwa n+1 n+2 + 3 3
=
n (n + 1) (2n + 1) : 6
2.3 Algoritma Pembagian
39
3. Untuk i 2 Z+ ; periksalah bahwa i3 =
i i+1 i+2 +4 + : 3 3 3
4. Untuk n 2 Z+ ; buktikan bahwa n+1 n+2 n+3 +4 + 4 4 4
2.3
=
n2 (n + 1)2 : 4
Algoritma Pembagian
Walaupun Z tidak tertutup terhadap pembagian, namun ada beberapa intejer yang dapat dibagi oleh intejer yang lain. De…nisi 2.1 Misalkan a; b 2 Z; dan b 6= 0: Kita sebut b membagi a; ditulis b j a; jika ada intejer n sehingga a = bn: Dalam hal ini b disebut juga pembagi/faktor dari a atau a disebut kelipatan dari b: Dalam hal b tidak membagi a dinotasikan dengan b - a: Sebagai ilustrasi, 7 j 42 karena 42 = 7:6; sedangkan 7 - 18 karena tidak ada n 2 Z sehingga 18 = 7n: Terkait dengan pengertian pembagian, suatu sifat yang cukup penting yang dimiliki oleh Z adalah bahwa Z tidak memuat pembagi nol, artinya (8a; b 2 Z) ab = 0 ) a = 0 _ b = 0; atau lebih mudah dimegerti kotraposisinya (8a; b 2 Z) a 6= 0 ^ b 6= 0 ) ab 6= 0; Teorema 2.3 (Sifat-sifat Dasar Pembagian) Untuk semua a; b; c 2 Z; berlaku: 1. 1 j a dan a j 0: 2. [(a j b) ^ (b j a)] ) a =
b:
3. [(a j b) ^ (b j c)] ) a j c: 4. [(a j b) ^ (a j c)] ) [(8x; y 2 Z) a j (bx + cy)] :
2.3 Algoritma Pembagian
40
5. (x = y + z) ^ ((a j x) ^ (a j y)) ) a j z: 6. (8a; b 2 Z+ ) (a j b) ) a 7. Untuk 1
i
b:
n; misalkan ci 2 Z: Jika a j ci ; maka a j c1 x1 + c2 x2 + ::: + cn xn
dimana xi 2 Z untuk setiap 1
i
n:
Bukti. Disini hanya akan dibuktikan yang No. 4, lainnya disisakan sebagai latihan. a j b dan a j c; berarti ada m; n 2 Z sehingga b = ma dan c = na: Dengan demikian untuk setiap x; y 2 Z berlaku xb = xma dan yc = yna: Akibatnya, bx + cy = xma + yna = (xm + yn)a; dan ini berarti a j (bx + cy) :
z
Contoh 2.13 Adakah x; y; z 2 Z yang memenuhi persamaan 14x + 21y 7z = 64: Jawab. Perhatikan bahwa 7 j 14; 7 j 21 dan 7 j ( 7); maka berdasarkan Teorema 2.3 (No 7), 7 j (14x + 21y 7x): Dilain pihak 7 - 64; kesimpulannya tidak ada x; y; z 2 Z yang memenuhi persamaan 14x + 21y 7x = 64: z Contoh 2.14 Misalkan a; b 2 Z sehingga 2a + 3b merupakan kelipatan dari 17: Buktikan bahwa 17 j 9a + 5b: Bukti. Perhatikan bahwa 17 j 2a + 3b ) 17 j ( 4)(2a + 3b); di lain pihak 17 j 17a + 17b: Dengan demikian 17 j [( 4)(2a + 3b) + (17a + 17b)] , 17 j (9a + 5b): z Bukti untuk teorema berikut ini dianjurkan sebagai kegiatan mandiri, dan ini telah dibahas secara lengkap matakuliah Pengantar Teori Bilangan.
2.3 Algoritma Pembagian
41
Teorema 2.4 (Algoritma Pembagian) Jika a; b 2 Z dengan b > 0; maka ada tepat satu q; r 2 Z sehingga a = qb + r;
0
r < b:
Dalam hal ini a disebut yang dibagi, b adalah yang membagi, q adalah hasil bagi, dan r adalah sisa pembagian. Selanjutnya sisa pembagian dinotasikan dengan r = a mod b dan hasil bagi dinotasikan q = a div b: Fakta bahwa misalkan a; b 2 Z; b 6= 0; maka a a div b = b c; dan b a a mod b = a b:b c; b notasi bxc mengartikan bilangan bulat terbesar yang
x:
Contoh 2.15 Berdasarkan algoritma pembagian, berikut ini diberikan beberapa ilustrasi. 1. Misalkan a = 67 dan b = 7; maka q=b
67 c = 9 dan r = 67 7
7:9 = 4:
2. Misalkan a = 48 dan b = 6; maka q=b 3. Misalkan a =
48 c = 8 dan r = 48 6
6:8 = 0:
72 dan b = 11; maka
q=b
72 c= 11
7 dan r = ( 72)
(11)( 7) = 5:
4. Misalkan a; b 2 Z+ : (a) Jika a = qb untuk suatu q 2 Z+ ; maka a = ( q)b: Dalam hal ini, a(< 0) dibagi oleh b(> 0) diperoleh hasil bagi q(< 0) dan sisanya r = 0:
2.3 Algoritma Pembagian
42
(b) Jika a = qb + r untuk suatu q 2 N dan 0 < r < b; maka a = ( q)b r = ( q)b b + b r = ( q 1)b + (b r): Dalam hal ini, a(< 0) dibagi oleh b(> 0) diperoleh hasil bagi q 1(< 0) dan sisanya b r; dimana 0 < b r < b: Untuk lebih jelasnya, proses mendapatkan q dan r dalam algoritme pembagian dirinci dengan pseudocode dalam Prosedur 3. PROSEDUR 3 procedure AlgPbg(a 2 Z, b 2 Z+ ) PROSEDUR 3 (Lanjutan) begin if a > 0 then if a = 0 then begin begin hasilbagi := q hasilbagi := 0 sisa := r sisa := 0 end end else if r = 0 then else begin begin hasilbagi := q r := abs(a) sisa := 0 q := 0 end while r b do else begin begin r := r b hasilbagi := q 1 q := q + 1 sisa := b r end Salah satu penerapan algoritma pembagian adalah digunakan untuk mengubah sistem basis bilangan, misalnya: desimal ke biner, oktal, heksadesimal, dll. Lengkapnya hal ini dinyatakan pada bagian berikut ini.
2.3.1
Representasi Basis
Intejer positif dapat direpresentasikan dalam berbagai cara, namun paling umum dipakai adalah sistem desimal atau sistem basis 10. Jadi apabila diberikan suatu intejer positif tanpa keterangan apapun, maka yang dimaksud adalah intejer tersebut memiliki representasi basis 10. Misalnya a = 1367; ini berarti a = 1:103 + 3:102 + 6:101 + 7:100 :
2.3 Algoritma Pembagian
43
Sistem lain yang cukup populer adalah sistem biner atau representasi basis 2 yang dipakai dalam kerja mesin komputasi. Misalnya a = 110101 basis 2; ini berarti a = 1:25 + 1:24 + 0:23 + 1:22 + 0:21 + 1:20 : Tabel berikut ini mengilutrasikan hubungan antara sistem representasi desimal, biner, oktal (basis 8), dan heksadesimal (basis 16) untuk intejer dari 0 sampai 15: Faktanya keempat sistem inilah yang paling sering dipakai dalam bidang terapan, khususnya ilmu komputer. Basis 10 Basis 2 Basis 8 Basis 16 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F Secara umum representasi basis dari suatu intejer dinyatakan dalam de…nisi berikut ini. De…nisi 2.2 Jika b 2 adalah suatu intejer, maka sembarang intejer positf a dapat diekspresikan secara tunggal sebagai a = an bn + an 1 bn
1
+ ::: + a1 b + a0 ;
(2.1)
dimana 0 ai < b untuk i = 0; 1; :::; n dan an 6= 0: Ruas kanan Persamaan 2.1 disebut representasi basis b dari a; dan dinotasikan dengan a = (an an 1 :::a1 a0 )b : Selanjutnya dari de…nisi di atas, intejer ai ; untuk 0 i n; disebut dijit. Khususnya, an disebut dijit berorder tinggi, dan a0 disebut dijit berorder
2.3 Algoritma Pembagian
44
rendah. Catatan bahwa jika b = 10; representasi a cukup ditulis a = an an 1 :::a1 a0 : Banyaknya dijit dari a disebut dengan presisi atau panjang dari a: Dalam de…nisi di atas terlihat bahwa presisi dari a adalah n: Jika n = 0; maka a disebut intejer presisi tunggal. Sedangkan jika n > 0; maka a disebut sebagai intejer presisi ganda. Dari De…nisi 2.2, berikut ini diberikan prosedur untuk mengubah representasi basis-b dari intejer a kebentuk standar desimal dari a: PROSEDUR 4 procedure ChangeDecimal((an an 1 :::a1 a0 )b : intejer) begin a := 0 for i := 0 to n do a := a + ai bi return(a) end Contoh 2.16 Misalkan (1110101)2 adalah representasi basis-2 dari intejer a: Tentukan intejer a: Jawab. Nilai intejer a adalah (1110101)2 = 1:26 + 1:25 + 1:24 + 0:23 + 1:22 + 0:21 + 1:20 = 64 + 32 + 16 + 0 + 4 + 0 + 1 = 117: z Dalam langkah-langkah berikut ini perhatikan bahwa algoritma pembagian melandasi sistem perubahan representasi basis. 1. Persamaan (2.1) dapat dituliskan sebagai a = (an bn
1
+ an 1 b n
2
+ ::: + a2 b + a1 )b + a0 :
Ini berarti a0 merupakan sisa dari a dibagi oleh b: Dalam hal ini hasil baginya adalah q 1 = an b n
1
+ an 1 b n
2
+ ::: + a2 b + a1
(2.2)
2.3 Algoritma Pembagian
45
2. Persamaan (2.2) dapat dituliskan sebagai q1 = (an bn
2
+ an 1 b n
3
+ ::: + a3 b + a2 )b + a1 :
Ini berarti a1 merupakan sisa dari q1 dibagi oleh b: Dalam hal ini hasil baginya adalah q 2 = an b n
2
+ an 1 b n
3
+ ::: + a3 b + a2
(2.3)
3. Persamaan (2.3) dapat dituliskan sebagai q2 = (an bn
3
+ an 1 b n
4
+ ::: + a4 b + a3 )b + a2 :
Ini berarti a2 merupakan sisa dari q2 dibagi oleh b: Dalam hal ini hasil baginya adalah q 3 = an b n
3
+ an 1 b n
4
+ ::: + a4 b + a3
4. Proses berlanjut sampai didapatkan an merupakan sisa dari qn dibagi oleh b dan hasil baginya adalah 0: Contoh 2.17 Nyatakan intejer a = 938 sebagai representasi: 1. basis 8; dan 2. basis 2: 3. basis 16: Jawab. Berdasarkan uraian di atas perhatikan proses berikut ini. Bagi 8 a = 938 8 8 q1 1. 8 = 117 8 q2 14 = 8 8 q3 1 = 8 8
Hasil Bagi q1 = 117 q2 = 14 q3 = 1 q4 = 0
Sisa a0 = 2 a1 = 5 . Jadi 938 = (1652)8 : a2 = 6 a3 = 1
Bagi 2 a = 938 2 2 q1 469 = 2 2 q2 234 = 2 2 q3 = 117 2 2 2. q24 = 58 2 q5 29 = 2 2 q6 = 14 2 2 q7 7 = 2 2 q8 = 32 2 q9 = 12 2
Hasil Bagi q1 = 469 q2 = 234 q3 = 117 q4 = 58 q5 = 29 q6 = 14 q7 = 7 q8 = 3 q9 = 1 q10 = 0
Sisa a0 = 0 a1 = 1 a2 = 0 a3 = 1 a4 = 0 . Jadi 938 = (1110101010)2 : a5 = 1 a6 = 0 a7 = 1 a8 = 1 a9 = 1
2.3 Algoritma Pembagian
Bagi 16 a = 938 16 16 q1 3. 16 = 117 16 q2 14 = 8 8 q3 = 18 8
Hasil Bagi q1 = 117 q2 = 14 q3 = 1 q4 = 0
46
Sisa a0 = 2 a1 = 5 . Jadi 938 = (1652)8 : a2 = 6 a3 = 1
z Algoritme representasi basis b dinyatakan dalam prosedur berikut dengan input intejer a 0 dan b 2: PROSEDUR 5 procedure Basis-bRepresetation(a, b : intejer positif ) begin i := 0 x := a q := b xb c ai := x q b while q > 0 do begin i := i + 1 x := q q := b xb c ai := x q b end return((an an 1 :::a1 a0 )b ) end
2.3.2
Representasi Bilangan Negatif
Intejer negatif dapat direpresentasikan dalam beberapa cara. Dua diantaranya akan dibahas dalam tulisan ini, yaitu: representasi besaran-bertanda dan representasi komplemen. Representasi Besaran-bertanda Tanda dari suatu intejer (baik positif maupun negatif) dan besarannya (nilai mutlak) direprsentasikan sebagai representasi besaran-bertanda. Intejer positif diberi suatu tanda dijit 0; sementara intejer negatif diberi suatu tanda dijit b 1: Untuk suatu representasi basis-b bedijit n (berupa barisan) terdiri dari: bn 1 1 intejer positif, bn 1 1 intejer negatif, dan 0 mempunyai dua representasi. Sebagai ilustrasi, berikut ini diberikan tabel representasi besaran bertanda untuk biner dari intejer dalam selang [ 7; 7]:
2.3 Algoritma Pembagian
47
Barisan Besaran- Barisan BesaranBertanda Besaran0111 7 1111 7 0110 6 1110 6 0101 5 1101 5 0100 4 1100 4 0011 3 1011 3 0010 2 1010 2 0001 1 1001 1 0000 0 1000 0 Representasi Komplemen Penjumlahan dan pengurangan representasi komplemen tanpa perlu memeriksa dijit tanda. Intejer tak-negatif dalam selang [0; bn 1] direpresentasikan sebagai barisan basis-b dengan panjang dijit n dan dijit order tinggi 0: Misalkan x adalah intejer positif yang direpresentasikan sebagai barisan (xn ; xn 1 ; :::; x1 ; x0 )b dimana xn = 0: Maka
x direpresentasikan sebagai barisan (xn ; xn 1 ; :::; x1 ; x0 ) + 1
dimana xi = b 1 xi dan + adalah jumlahan standar. Sebagai ilustrasi, berikut ini diberikan tabel representasi komplemen untuk biner dari intejer dalam selang [ 7; 7]: Barisan Komple- Barisan Komplemennya 2 mennya 2 0111 7 1111 1 0110 6 1110 2 0101 5 1101 3 0100 4 1100 4 0011 3 1011 5 0010 2 1010 6 0001 1 1001 7 0000 0 1000 8 Soal 2.3.1 1. Jika a; b; c 2 Z+ dan a j bc; apakah dapat disimpulkan bahwa a j b atau b j c?
2.3 Algoritma Pembagian
48
2. Untuk setiap a; b; c 2 Z; buktikan bahwa jika a - bc; maka a - b dan a - c: 3. Misalkan a; b 2 Z+ : Jika b j a dan b j (a + 2) ; buktikan bahwa b = 1 atau b = 2: 4. Jika n 2 Z+ dan n ganjil, buktikan bahwa 8 j (n2
1) :
5. Jika a; b 2 Z+ dan keduanya ganjil, buktikan bahwa 2 j (a2 + b2 ) tetapi 4 - (a2 + b2 ): 6. Jika n 2 N; buktikan bahwa 3 j (7n
4n ):
Soal 2.3.2 Tentukan hasil bagi q dan sisa r dari pembagian a oleh b yang diketahui berikut ini. 1. a = 23 dan b = 7: 2. a =
115 dan b = 12:
3. a = 0 dan b = 42: 4. a = 434 dan b = 31: Soal 2.3.3 Tuliskan intejer berbasis-10 berikut ini ke dalam basis-2, basis-4; dan basis-8: a) 137 b) 6243 c) 12:345. Soal 2.3.4 Tuliskan intejer berbasis-10 berikut ini ke dalam basis-2 dan basis16: a) 22 b) 527 c) 1234 d) 6923. Soal 2.3.5 Konversikan masing-masing dari bilangan heksadesimal berikut ini ke dalam bilangan basis-10 dan basis-2: a) A7
b) 4C2
c) 1C2B
d) A2DF E.
Soal 2.3.6 Konversikan masing-masing dari bilangan biner berikut ini ke dalam bilangan basis-10 dan basis-16: a) 11001110
b) 00110001
c) 11110000
d) 01011110.
Soal 2.3.7 Tuliskan masing-masing dari bilangan biner berikut ini ke dalam representasi komplemen dua, hasilnya mengikuti pola 8-bit. a) 15
b)
15
c) 100
d)
65
e) 127
f ) 128.
2.4 Algoritme Euclid
49
Soal 2.3.8 Jika suatu mesin menyimpan intejer dengan metode komplemen dua, berapa intejer terbesar dan terkecil yang dapat disimpan apabila menggunakan pola 8-bit. a) 4-bit
b) 8-bit
c) 16-bit
Soal 2.3.9 Dide…nisikan himpunan X
d) 32-bit
e) 2n -bit, n 2 Z+
Z+ secara rekursif sebagai berikut:
a) 3 2 X; dan b) jika a; b 2 X; maka a + b 2 X: Buktikan bahwa X = f3k k 2 Z+ g; himpunan semua intejer positif yang habis dibagi 3: Soal 2.3.10 Misalkan n 2 Z+ dengan n = rk :10k + ::: + r2 :102 + r1 :10 + r0 : Buktikan bahwa 1. 2 j n jika dan hanya jika 2 j r0 : 2. 4 j n jika dan hanya jika (r1 :10 + r0 ): 3. 8 j n jika dan hanya jika (r2 :102 + r1 :10 + r0 ): Buatlah generalisasi dari hasil tersebut.
2.4
Algoritme Euclid
Bahasan yang diberikan pada bagian ini dan pada bagian berikutnya merupakan landasan dasar dari teori bilangan. Berapa teorema dan sifat-sifat diberikan tanpa disertai bukti dengan alasan bahwa seluruh materinya akan dibahas lebih rinci di matakuliah Pengantar Teori Bilangan. De…nisi 2.3 Untuk a; b 2 Z, suatu intejer positif x dikatakan pembagi bersama dari a dan b jika x j a dan x j b: Selanjutnya, untuk a dan b tidak keduanya nol, c 2 Z+ disebut pembagi bersama terbesar dari a dan b; dinotasikan dengan c = gcd (a; b) ; jika c adalah yang terbesar diantara semua pembagi bersama dari a dan b, atau dengan kata lain c = maxfx 2 Z+ (x j a) ^ (x j b)g:
2.4 Algoritme Euclid
50
Teorema 2.5 Misalkan c = gcd (a; b) : Jika pembagi bersama d dari a dan b; maka d j c: Teorema 2.6 Untuk setiap a; b 2 Z+ ; ada tepat satu c 2 Z+ sehingga c = gcd (a; b) : Selanjutnya ada x; y 2 Z sehingga c = xa + yb (c adalah suatu kombinasi linear dari a dan b): Sifat-sifat dasar dari pembagi bersama terbersar dapat dirinci sebagai berikut. Misalnya c = gcd (a; b) ; maka: 1. c adalah intejer positif terkecil dari himpunan fxa + yb=x; y 2 Zg: 2. Jika d = sa + tb untuk suatu s; t 2 Z; maka c j d: 3. gcd (a; b) = gcd ( a; b) = gcd (a; b) = gcd ( a; b) = gcd (b; a) : 4. gcd (a; 0) = jaj dan gcd (0; 0) tak terde…nisikan. 5. c = gcd (a; b) ) gcd
a b ; c c
= 1:
Intejer a dan bdisebut prima relatif jika gcd (a; b) = 1; selanjutnya ada x; y 2 Z sehingga xa + yb = 1: Contoh 2.18 Karena gcd (42; 70) = 14; maka ada x; y 2 Z; sehingga 42x + 70y = 14 , 3x + 5y = 1:
Mudah diperiksa bahwa x = 2 dan y = untuk k 2 Z; 3(2 + 5k) + 5( 1
1 adalah solusinya. Kemudian
3k) = 1;
juga 42(2
5k) + 70( 1 + 3k) = 14:
Jadi nilai x dan y tidak tunggal. Teorema 2.7 (Algoritme Euclid) Misalkan a; b 2 Z+ ; jika dengan algoritme pembagian berlaku langkah-langkah berikut ini: Langkah ke-1 a = q1 b + r 1 0 < r1 < b Langkah ke-2 b = q2 r 1 + r 2 0 < r2 < r1 Langkah ke-3 r1 = q3 r2 + r3 0 < r3 < r2 .. .. .. . . . , Langkah ke-(i+2) ri = qi+2 ri+1 + ri+2 0 < ri+2 < ri+1 .. .. .. . . . Langkah ke-k rk Langkah ke-(k+2) rk maka rk = gcd (a; b) :
2 1
= qk r k 1 + r k = qk+1 rk :
0 < rk < rk
1
2.4 Algoritme Euclid
51
Contoh 2.19 Dengan algoritma Euclid, tentukan gcd(250; 111); kemudian tentukan x; y 2 Z sehingga gcd(250; 111) = 250x + 111y: Jawab. Perhatikan langkah-langkah berikut ini. Langkah Langkah Langkah Langkah
ke-1 ke-2 ke-3 ke-4
250 = 2(111) + 28 111 = 3 (28) + 27 28 = 1(27) + 1 27 = 27(1) + 0
0 < 28 < 111 0 < 27 < 28 0 < 1 < 27
Maka gcd(250; 111) = 1: Perhatikan bahwa langkah-langkah algotima Euclid bisa diringkas penulisannya dengan menggunakan sifat-sifat gcd berikut gcd(250; 111) = gcd(111; 28) = gcd(28; 27) = gcd(28; 27) = gcd(27; 1) = gcd(1; 0) = 1: Selanjutnya, untuk mendapatkan kombinasi linearnya kita lakukan langkah balik. Perhatikan pada Langkah ke-3: 1 = = = = =
28 1 (27) 28 1 (111 3 (28)) ( 1) (111) + (4) (28) ( 1) (111) + (4) (250 (4) 250 + ( 9) (111) :
2 (111))
Secara umum, untuk k 2 Z; 1 = (4
111k) 250 + ( 9 + 250k) 111:
z Terkait dengan implementasi, algoritme Euclid dapat dirinci dalam Prosedur 6 untuk mencari gcd (a; b) dimana a; b 2 Z+ :
2.4 Algoritme Euclid
52
PROSEDUR 6 procedure gcd(a; b: intejer positif, a begin r := a mod b d := b while r > 0 do begin c := d d := r r := c mod d end return(d) end
b)
De…nisi 2.4 Misalkan a; b 2 Z: Suatu interjer positif x disebut kelipatan bersama dari a dan b jika x adalah kelipatan dari kedua a dan b; atau dengan kata lain (a j x) ^ (b j x) Untuk a dan b semuanya tak nol, c disebut kelipatan bersama terkecil dari a dan b; dinotasikan c = lcm (a; b) ; jika c adalah yang terkecil dari semua kelipatan bersama dari a dan b; atau dengan kata lain c = minfx 2 Z+ (a j x) ^ (b j x)g: Sifat-sifat dasar dari kelipatan bersama terkecil dinyatakan sebagai berikut. 1. 8n 2 Z+ ; berlaku 2. 8a; n 2 Z+ ; berlaku
lcm(1; n) = lcm(n; 1) = n: lcm(a; na) = na:
3. Jika a; m; n 2 Z+ dengan m
n; maka
lcm(am ; an ) = an dan gcd(am ; an ) = am : Teorema 2.8 Misalnya c = lcm (a; b) : Jika y adalah kelipatan bersama dari a dan b; maka c j y:
2.4 Algoritme Euclid
53
Teorema 2.9 Untuk a; b 2 Z+ ; ab = lcm (a; b) : gcd (a; b) : Jelas bahwa, jika a dan b adalah prima relatif, maka lcm (a; b) = ab: Contoh 2.20 Tentukan lcm(168; 456): Jawab. Periksalah bahwa gcd(168; 456) = 24: Akibatnya, lcm(168; 456) =
(168)(456) = 3192: 24
z Algoritme Euclid dapat diperluas sehingga tidak hanya mengasilkan pembagi bersama terbesar dari dua intejer a dan b; tetapi juga menghasilkan intejer x dan y yang memenuhi ax + by = d; diberikan dalam Prosedur 7. PROSEDUR 7 procedure gcd(a; b: intejer positif, positif, a b) begin if b = 0 then begin d := a; x := 1; y := 0 return(d; x; y) end x2 := 1; x1 := 0; y2 := 0; y1 := 1 while b > 0 do begin q := b ab c; r := a qb; x := x2 qx1 ; y := y2 qy1 a := b; b := r; x2 := x1 ; x1 := x; y2 := y1 ; y1 := y end d := a; x := x2 ; y := y2 return(d; x; y) end Contoh 2.21 Gunakan Prosedur 7 untuk untuk menentukan gcd(a; b), x, dan y, sehingga gcd(a; b) = ax + by jika diketahui a = 4864 dan b = 3458: Jawab. Tabel berikut menunjukkan langkah-langkah Prosedur 7 dengan input a = 4864 dan b = 3458; diperoleh gcd(4864; 3458) = 38 sehingga
2.4 Algoritme Euclid
54
(4864)(32) + (3458)( 45) = 38: q
r
x
1 2 2 5 1 2
1406 646 114 76 38 0
1 2 5 27 32 91
y
a b 4864 3458 1 3458 1406 3 1406 646 7 646 114 38 114 76 45 76 38 28 38 0
x2 1 0 1 3 5 27 32
x1 0 1 2 5 27 32 91
y2 0 1 1 3 7 38 45
y1 1 1 3 7 38 45 128
z Catatan bahwa jawaban dengan tabel pada contoh di atas dapat disederhanakan sebagai berikut, demi perhitungan menggunakan pensil dan kertas. i qi+1 0 1 1 2 2 3 2 4 5 5 1 6 2 7
ri 4864 3458 1406 646 114 76 38 0
xi 1 0 1 2 5 27 32
yi 0 1 1 3 7 38 45
Perhatikan bahwa isian awal tabel ini adalah r0 = a; x0 = 1; y0 = 0; r1 = b; x1 = 0; dan y1 = 1: Isian selanjutnya dihitung: ri 1 c; untuk i 1; ri = xi 2 qi 1 :xi 1 ; untuk i = yi 2 qi 1 :yi 1 ; untuk i
qi = b xi yi
2; dan 2:
Jika rs = 0; maka proses berhenti. Dalam hal ini gcd(a; b) = rs 1 ; x = xs 1 , dan y = ys 1 : De…nisi 2.5 Intejer positif p disebut prima jika faktor dari p hanyalah 1 dan dirinya sendiri p: Intejer positif yang bukan prima disebut komposit. Dari de…nisi tersebut jelas bahwa suatu intejer positif p adalah prima jika memenuhi p = ab ) a = 1 _ b = 1:
2.4 Algoritme Euclid
55
Suatu intejer positif n adalah komposit jika (9n1 ; n2 2 Z; 1 < n1 < n; 1 < n2 < n) n = n1 n2 : Sebagai ilutrasi, barisan prima dapat ditulikan 2; 3; 5; 7; 11; 13; 17; ::: Lemma 2.1 Jika n 2 Z+ adalah komposit, maka ada prima p sehingga p j n: Bukti. Andaikan ada komposit n yang tidak mempunyai faktor prima, dan de…nisikan himpunan S yang anggotanya semua komposit ini, maka jelas bahwa S 6= ?: Berdasarkan prinsip keterurutan dengan baik, maka S memuat unsur terkecil, sebut saja s: Karena s komposit, maka 9s1 ; s2 2 Z; dengan 1 < s1 < s dan1 < s2 < s sehingga s = s1 s2 : Karena s tidak mepunyai faktor prima, maka s1 dan s2 haruslah juga tidak mempunyai faktor prima. Akibatnya, s1 ; s2 2 S; suatu kontradiksi, karena s adalah terkecil di dalam S: Kesimpulannya, S = ? atau n mempunyai faktor prima. z Lemma 2.2 Jika p prima dan p j ab; maka p j a atau p j b: Lemma 2.3 Misalkan ai 2 Z+ untuk setiap 1 p j a1 a2 :::an ; maka p j ai untuk suatu 1 i n:
i
n: Jika p prima dan
Teorema 2.10 (Teorema Dasar Aritmatika) Setiap intejer n faktorisasikan secara tunggal sebagai produk kuasa prima:
2 dapat di-
n = pe11 pe22 :::pekk ; dimana pi prima berbeda dan ei intejer positif. Ilustrasi untuk teorema di atas: 63 = 32 :7; 100 = 22 :52 ; 4864 = 28 :19; 3458 = 2:7:13:19: Contoh 2.22 Tentukan faktorisasi intejer 980220: Jawab. Perhatikan langkah-langkah berikut ini 980220 = 21 (490110) = 22 (245055) = 22 31 (81685) = 22 31 51 (16337) = 22 31 51 171 (961) = 22 31 51 171 312 : z
2.4 Algoritme Euclid
56
Contoh 2.23 Misalkan n 2 Z+ dan 10:9:8:7:6:5:4:3:2:n = 21:20:19:17:16:15:14: Tunjukkan bahwa 17 j n: Jawab. Perhatikan bahwa karena 17 membagi ruas kanan, maka 17 j 10:9:8:7:6:5:4:3:2:n: Dari fakta ini dan karena 17 - 10; 17 - 9; 17 - 8; 17 - 7; 17 - 6; 17 - 5; 17 - 4; 17 - 3; dan 17 - 2; berdasarkan Lemma 2.3 maka dapat disimpulkan bahwa 17 j n: z Soal 2.4.1 Untuk masing-masing dari pasangan a; b 2 Z+ berikut ini, tentukan gcd(a; b) dan nyatakan sebagai kombinasi linear dari a; b: a) a = 231; b = 1820 b) a = 1369; b = 2597 c) a = 2689; b = 4001. Soal 2.4.2 1. Untuk a; b 2 Z+ dan d = gcd(a; b); buktikan bahwa a b gcd( ; ) = 1 d d 2. Untuk a; b; n 2 Z+ dan d = gcd(a; b); buktikan bahwa gcd(na; nb) = n: gcd(a; b) 3. Misalkan a; b; c 2 Z+ dengan c = gcd(a; b); buktikan bahwa c2 j ab: 4. Untuk a; b; c; d 2 Z+ ; buktikan bahwa jika d = a + bc; maka gcd(b; d) = gcd(a; b): 5. Misalkan a; b; c 2 Z+ dengan gcd(a; b) = 1: Jika a j bc; buktikan bahwa a j c: Soal 2.4.3 Misalkan n 2 Z+ ;
2.5 Aritmatik Intejer Modulo n
57
1. Buktikan bahwa gcd(n; n + 2) = (1 _ 2): 2. Berapa nilai yang mungkin dari gcd(n; n+3)? Bagaimana dengan gcd(n; n+ 4)? 3. Secara umum, untuk k 2 Z+ ; berapa nilai yang mungkin dari gcd(n; n+ k)? Buktikan dengan induksi matematik. Soal 2.4.4 Tentukan nilai-nilai dari c 2 Z+ ; 10 < c < 20; sedemikian sehingga persamaan Diophantine 84x+990y = c tidak mempunyai solusi. Tentukan solusi untuk nilai-nilai c yang lainnya (nilai c dalam kasus persamaan mempunyai solusi). Soal 2.4.5 1. Jika a; b 2 Z+ dengan a = 630; gcd(a; b) = 105; dan lcm(a; b) = 242550; tentukan b: 2. Untuk setiap n 2 Z+ ; tentukan gcd(n; n + 1) dan lcm(n; n + 1):
2.5
Aritmatik Intejer Modulo n
Misalkan n adalah intejer positif. De…nisi 2.6 Jika a dan b adalah intejer, maka a disebut kongruen ke b modulo n; ditulis a b(mod n); apabila n membagi (a b): Intejer n disebut modulus dari kongruensi. Contoh 2.24 24 9(mod 5) karena 24 karena 11 17 = ( 4)(7):
9 = 3:5; dan
11
17(mod 7)
Teorema 2.11 (Sifat-sifat kongruensi) Untuk semua a; a1 ; b; b1 ; c 2 Z; maka berlaku berikut ini. 1. a
b(mod n) , a dan b mempunyai sisa yang sama apabila dibagi n:
2. Re‡eksif.: a
a(mod n):
3. Simetrik: jika a
b(mod n); maka b
4. Transitif: jika a
b(mod n) dan b
a(mod n): c(mod n); maka a
c(mod n):
2.5 Aritmatik Intejer Modulo n
5. Jika a dan ab
a1 (mod n) dan b a1 b1 (mod n):
58
b1 (mod n); maka a + b
a1 + b1 (mod n)
De…nisi 2.7 Intejer modulo n; dinotasikan Zn ; adalah himpunan (kelas ekuavalensi) intejer f0; 1; 2; :::; n 1g yang dikenai operasi: jumlah dan kali diperlakukan dalam modulo n. Untuk a; b; c 2 Zn ; a + b = c , a + b c(mod n) ab = c , ab c(mod n) Contoh 2.25 Z10 = f0; 1; 2; :::; 9g: Di dalam Z10 ; 6+7 = 3 4 8 = 2 3 9 = 3 + 1 = 4: De…nisi 2.8 Misalkan a 2 Zn ; Invers multiplikatif dari a modulo n adalah suatu intejer x 2 Zn sehingga ax 1(mod n): Faktanya tidak semua anggota Zn mempunyai invers (x belum tentu ada). Dalam hal x yang bersangkutan ada, maka a disebut invertibel dan x disebut invers dari a; dinotasikan x = a 1 : Selanjutnya, a dibagi b modulo n diartikan sebagai a kali b 1 modulo n: gcd (227; 1000) 2512 : 13 407 807 929 942 597 099 574 024 998 205 846 127 479 365 820 592 393 377 723 561 443 721 764 030 073 546 976 801 874 298 166 903 427 690 031 858 186 486 050 853 753 882 811 946 569 946 433 649 006 084 096 Teorema 2.12 Misalkan a 2 Zn ; a adalah invertible jika dan hanya jika gcd(a; n) = 1: Contoh 2.26 Di dalam Z9 ; unsur-unsur yang invertibel adalah 1; 2; 4; 5; 7; dan 8: Dalam hal ini, 7 1 = 4 karena 7:4 1 (mod 9): Catatan 2.1 Berdasarkan Teorema 2.6, gcd(a; n) = 1 jika dan hanya jika ada intejer x dan y sehingga ax + ny = 1 , ax
1=
ny , ax
1 (mod n):
2.5 Aritmatik Intejer Modulo n
59
Ini berarti x adalah invers dari a modulo n dan untuk menghitung x dapat digunakan Prosedur 7, dengan input a dan n: 327 : (263
1
mod 500
162) mod 500 = 106
De…nisi 2.9 Grup multiplikatif dari Zn adalah himpunan Zn = fa 2 Zn = gcd(a; n) = 1g Contoh: Z10 = f1; 3; 7; 9g, Z15 = f1; 2; 4; 7; 8; 11; 13; 14g, dan Z5 = f1; 2; 3; 4g: Kardinalitas dari Zn ; yaitu jZn j; disebut dengan bilangan Phi Euler dinotasikan dengan (n) ; (n) = jZn j: Teorema 2.13 (Teorema Fermat) Misalkan p adalah prima. Jika gcd(a; p) = 1; maka ap 1 1 (mod p): Khususnya, untuk sembarang intejer a; ap
a (mod p)
Teorema 2.14 (Teorema Euler) Jika a 2 Zn ; maka a
(n)
1 (mod n):
Teorema 2.15 Jika p dan q adalah dua intejer positif dengan gcd(p; q) = 1; maka (pq) = (p): (q): Khususnya, jika p dan q keduanya prima, maka (pq) = (p
1)(q
1)
Soal 2.5.1 Tanpa melakukan “perkalian yang panjang”, tunjukkan bahwa: 1. 1234567 2. 2468
90123
13579
1(mod 10): 3(mod 25):
2.5 Aritmatik Intejer Modulo n
60
Soal 2.5.2 Misalkan diberikan intejer x dan m maka ada intejer r yang memenuhi x
r(mod m);
0
2: Apabila x dibagi m,
r<m
dan sering kali disebut residu tak-negatif terkecil dari x (mod m): Tentukan residu tak-negatif terkecil dari 315 (mod 17) dan 1581 (mod 13): Soal 2.5.3 Misalkan (xn xn 1 :::x0 )10 adalah representasi basis 10 dari intejer positif x: Tunjukkan bahwa x
x0
x3 + ::: + ( 1)n xn (mod 11);
x1 + x2
dan gunakan hasil ini untuk memeriksa apakah 1213141516171819 habis dibagi 11: Soal 2.5.4 Tentukan invers dari a) 2 di dalam Z11 ; c) 7 di dalam Z16 ;
b) 7 di dalam Z15 ; d) 5 di dalam Z13 :
Soal 2.5.5 Gunakan Prosedur 7 untuk menentukan invers dari a) 37 di dalam Z120 ; c) 400 di dalam Z1923 ;
b) 123 di dalam Z550 ; d) 1115 di dalam Z2664 :
Soal 2.5.6 Gunakan teorema Fermat untuk 1. menghitung sisa apabila 347 dibagi 23: 2. membuktikan bahwa (a + b)p
ap + bp (mod p)
dimana a; b; p 2 Z dan p prima. Soal 2.5.7 Misalkan p prima, dengan memperhatikan produk semua unsur tak-nol di dalam Zp ; buktikan bahwa (p
1)!
1(mod p):
Chapter 3 Relasi dan Fungsi Konsep relasi dan fungsi adalah salah satu landasan terpenting yang digunakan untuk memahami banyak konsep lain di dalam matematika seperti: aljabar, kalkulus, teori graf, dsb. Namun demikian, sesuai dengan tema matematika diskret, bahasan relasi dan fungsi disini akan digunakan pendekatan teori himpunan yang kebanyakan melibatkan konsep kombinatorial.
3.1
Produk Cartesian dan Relasi
De…nisi 3.1 Produk Cartesian atau produk silang dari dua himpunan A dan B, notasi A B; adalah himpunan A
B = f(a; b)=a 2 A; b 2 Bg:
Setiap anggota dari A B; misalnya (a; b); disebut pasangan terurut (ordered pair), kemudian a dan b disebut komponen pertama dan kedua dari (a; b). Sembarang dua anggota dari A B; misalnya (a; b) dan (c; d); dikatakan sama (notasinya: (a; b) = (c; d)) jika dan hanya jika a = c dan b = d: Jika A dan B berhingga dengan jAj = m dan jBj = n, berdasarkan aturan kali jelas bahwa jA Bj = mn: De…nisi produk Cartesian dapat diperumum dengan melibatkan lebih dari dua himpunan. Jika n 2 Z+ ; n 3; dan A1 ; A2 ; :::; An adalah n himpunan, maka produk lipat-n dari A1 ; A2 ; :::; An ; notasinya: A1 A2 ::: An ; dide…nisikan sebagai A1
A2
:::
An := f(a1 ; a2 ; :::; an )=ai 2 Ai ; 1 61
i
ng:
3.1 Produk Cartesian dan Relasi
62
Sembarang anggota (a1 ; a2 ; :::; an ) 2 A1 A2 ::: An disebut rangkain terurut (ordered n-tuple). Kesamaan dua anggota A1 A2 ::: An dide…nisikan sebagai (a1 ; a2 ; :::; an ) = (b1 ; b2 ; :::; bn ) , ai = bi ; 1
i
n:
A A dinotasikan dengan A2 ; dan secara umum produk lipat-n dari A dinotasikan dengan An ; juga jAn j = jAjn : Contoh 3.1 Misalkan A = fa; bg dan B = f1; 2; 3g; tentukan A A2 ; B 2 ; dan A3 :
B; B
A;
Jawab. Berdasarkan de…nisinya, maka A B
B A A2 B2
= = = =
f(a; 1); (a; 2); (a; 3); (b; 1); (b; 2); (b; 3)g; f(1; a); (1; b); (2; a); (2; b); (3; a); (3; b)g; f(a; a); (a; b); (b; a); (b; b)g f(1; 1); (1; 2); (1; 3); (2; 1); (2; 2); (2; 3); (3; 1); (3; 2); (3; 3)g
A3 = f(a; a; a); (a; a; b); (a; b; a); (a; b; b); (b; a; a); (b; a; b); (b; b; a); (b; b; b)g
z Dari contoh di atas terlihat bahwa secara umum A B tidak sama dengan B A; namun aturan kali menjamin bahwa jA Bj = jB Aj : R R = R2 dikenal sebagai bidang (bilangan nyata) dari koordinat geometri atau kalkulus berdimensi dua. R+ R+ adalah interior dari kuadran pertama dari bidang yang bersangkutan. Secara sama, R3 merupakan ruang-3 Euclidean. De…nisi 3.2 Relasi dari himpunan A ke himpunan B adalah sembarang subhimpunan dari A B: Sembarang subhimpunan dari A A disebut relasi biner pada A: Dari Contoh 3.1, beberapa contoh relasi dari A ke B adalah: R1 = f(a; 1); (b; 3)g; R2 = f(a; 1); (a; 3); (b; 2); (b; 3)g; R3 = f(b; 2)g; R4 = ?; R5 = A B: Karena jA Bj = 6; berdasarkan Contoh 1.14, maka banyaknya semua subhimpunan dari A B adalah 26 : Ini berarti banyaknya semua relasi yang bisa dide…nisikan dari A ke B adalah 26 : Secara umum, fakta ini dinyatakan konklusi berikut ini.
3.1 Produk Cartesian dan Relasi
63
Konklusi 1 Untuk sembarang himpunan berhingga A dan B dengan jAj = m dan jBj = n; maka ada sebanyak 2mn relasi dari A ke B; termasuk di dalamnya relasi kosong dan A B sendiri. Secara umum, A B tidak sama dengan B A; tetapi jA Bj = jB Aj: Akibatnya, banyaknya relasi dari B ke A juga 2mn : Contoh 3.2 Misalkan A = f0; 1; 2; 3; 4g: Relasi biner R pada A dide…nisikan sebagai: xRy (dibaca: x berrelasi dengan y) jika dan hanya jika x y: Tentukan relasi R: Jawab. Berdasarkan de…nisi relasi R; maka R = f(x; y) 2 A
A x
yg; atau
R = f(0; 0); (0; 1); (0; 2); (0; 3); (0; 4); (1; 1); (1; 2); (1; 3); (1; 4); (2; 2); (2; 3); (2; 4); (3; 3); (3; 4); (4; 4)g: z
Gambarkan R dalam sistem koordinat bidang!
Contoh 3.3 Misalkan B = fx 2 Z j 0 x 10g: Jika relasi biner R pada B dide…nikan: xRy jhj y = 3x 1: Tentukan relasi R: Jawab. Berdasarkan de…nisi relasi R; maka R = f(x; y) 2 B 2 y = 3x = f(1; 2); (2; 5); (3; 8)g
1g z
Teorema 3.1 Untuk sembarang himpunan A; B; dan C; berlaku: 1. A
(B \ C) = (A
B) \ (A
C) :
2. A
(B [ C) = (A
B) [ (A
C) :
3. (A \ B)
C = (A
C) \ (B
C) :
4. (A [ B)
C = (A
C) [ (B
C) :
Soal 3.1.1 Misalkan A = f1; 2; 3; 4g; B = f2; 5g; dan C = f3; 4; 7g; tentukan A B; B A; A (B [ C); (A [ B) C; dan (A C) [ (B C):
3.2 Fungsi
64
Soal 3.1.2 Jika A = f1; 2; 3g dan B = f2; 4; 5g; 1. buatlah tiga contoh relasi tak-nol dari A ke B: 2. buatlah tiga contoh relasi biner tak-nol pada A: 3. tentukan jA
Bj :
4. tentukan banyaknya semua relasi dari A ke B: 5. tentukan banyaknya semua relasi biner pada A: 6. tentukan banyaknya relasi dari A ke B yang memuat (1; 2) dan (1; 5): 7. tentukan banyaknya relasi dari A ke B yang memuat tepat lima pasangan terurut. 8. tentukan banyaknya relasi biner pada A yang memuat sedikitnya 7 anggota.
3.2
Fungsi
De…nisi 3.3 Fungsi (pemetaan) f dari himpunan A ke himpunan B; dinotasikan f : A ! B; adalah suatu relasi dari A ke B yang setiap anggota dari A muncul hanya sekali sebagai komponen pertama dari pasangan terurut keanggotaan relasi yang bersangkutan. Dari de…nisi di atas, jika (a; b) 2 f; maka dapat ditulis b = f (a): Dalam hal ini b disebut imej dari a dibawa oleh f; sedangkan a disebut preimej dari b oleh f: Penulisan ringkas dengan menerapkan lambang logika dari de…nisi di atas dapat dinyatakan sebagai berikut. f : A ! B jhj (8a 2 A)(9!b 2 B) b = f (a); atau f : A ! B jhj (8a 2 A) [b = f (a) ^ c = f (a)] ) b = c De…nisi 3.4 Dalam hal fungsi f : A ! B; A disebut domain dan B disebut kodomain dari f: Subhimpunan dari B yang anggotanya adalah imej dari semua anggota A disebut range dari f; dinotasikan dengan f (A): Contoh 3.4 Misalkan A = f1; 2; 3g dan B = fw; x; y; zg; perhatikan bahwa f = f(1; w); (2; x); (3; x)g adalah fungsi dari A ke B; sedangkan g = f(1; w); (2; x)g dan h = f(1; w); (2; w); (2; x); (3; z)g bukan merupakan fungsi (hanya relasi) dari A ke B:
3.2 Fungsi
65
Contoh 3.5 Beberapa contoh fungsi yang muncul di bidang ilmu komputer: 1. Fungsi ‡oor, adalah fungsi f : R ! Z yang dide…nisikan sebagai f (x) = bxc dimana bxc adalah intejer terbesar yang (a) b3; 8c = 3; b3c = 3; b 3; 8c =
x: Sebagai ilustrasi:
4; b 3c =
3:
(b) b7; 1 + 8; 2c = b15; 3c = 15 = 7 + 8 = b7; 1c + b8; 2c (c) b7; 7 + 8; 4c = b16; 1c = 16 6= 7 + 8 = b7; 7c + b8; 4c
2. Fungsi ceiling, adalah fungsi f : R ! Z yang dide…nisikan sebagai f (x) = dxe dimana dxe adalah intejer terkecil yang
x: Sebagai ilustrasi:
(a) d3e = 3; d3; 001e = 4 = d4e; d 3e =
3 = d 3; 8e = d 3; 0001e.
(b) d7; 5 + 8; 6e = d16; 1e = 17 = 8 + 9 = d7; 5e + d8; 6e: (c) d7; 1 + 8; 4e = d15; 5e = 16 6= 8 + 9 = d7; 1e + d8; 4e
3. Fungsi trunc adalah fungsi trunc : R ! Z yang dide…nisikan sebagai trunc(x) = menghapus bagian pecahaan dari x: Sebagai ilustrasi: (a) trunc(2; 74) = 2 = b2; 74c; trunc(6) = 6 = b6c: (b) trunc( 2; 74) =
2 = d 2; 74e 6= b 2; 74c =
3:
Berikut ini merupakan sisi kombinatorik yang terkait dengan pende…nisian fungsi. Konklusi 2 Diberikan himpunan berhingga tak-kosong A dan B dengan jAj = m dan jBj = n: Jika A dan B dituliskan sebagai A = fa1 ; a2 ; :::; am g dan B = fb1 ; b2 ; :::; bn g; Mende…nisikan fungsi f : A ! B, berarti mende…nisikan himpunan bertipe f = f(a1 ; x1 ); (a2 ; x2 ); :::; (am ; xm )g: dimana x1 ; x2 ; :::; xm dipilih dari anggota B dengan pengulangan dibolehkan. Dengan demikian, ada sebanyak nm cara mende…nisikan fungsi dari A ke B:
3.2 Fungsi
66
Contoh 3.6 Misalkan A = f1; 2; 3g dan B = fa; bg: De…nisikan semua fungsi dari A ke B: Jawab. Semuanya ada 23 = 8 fungsi dari A ke B; yaitu: f1 f2 f3 f4 f5 f6 f7 f8
= = = = = = = =
f(1; a); (2; a); (3; a)g; f(1; a); (2; a); (3; b)g; f(1; a); (2; b); (3; a)g; f(1; a); (2; b); (3; b)g; f(1; b); (2; a); (3; a)g; f(1; b); (2; a); (3; b)g; f(1; b); (2; b); (3; a)g; dan f(1; b); (2; b); (3; b)g: z
De…nisi 3.5 Suatu fungsi f : A ! B disebut injektif (satu-satu), jika setiap anggota B muncul paling banyak satu kali sebagai bayangan dari suatu anggota A: Dari de…nisi di atas jelas bahwa untuk fungsi f : A ! B yang injektif, maka jelas jAj jBj : Dengan menggunakan konsep logika de…nisi fungsi injektif dinyatakan sebagai f : A ! B adalah injektif , (8a1 ; a2 2 A) f (a1 ) = f (a2 ) ) a1 = a2 : Contoh 3.7 Misalkan A = f1; 2; 3g dan B = fa; b; c; d; eg: Jelaskan bahwa fungsi f = f(1; c); (2; a); (3; d)g adalah injektif, sedangkan fungsi g = f(1; a); (2; a); (3; e)g tidak injektif. Jawab. Perhatikan bahwa komponen kedua dari semua anggota f muncul hanya sekali, sehingga f adalah fungsi injektif. Sekarang perhatikan fungsi g; unsur a muncul dua kali sebagai komponen kedua di dalam keanggotaan g; sehingga g tidak injektif. z Contoh 3.8 Diberikan fungsi f : R ! R dengan rumus pemadanan f (x) = 3x + 7 untuk setiap x 2 R: Buktikan bahwa f adalah fungsi injektif. Selanjutnya, diberikan pula fungsi g : R! R dengan rumus pemadaan g(x) = x4 x untuk setiap x 2 R: Jelaskan bahwa g tidak injektif.
3.2 Fungsi
67
Bukti. Ambil sembarang a; b 2 R; maka f (a) = f (b) , 3a + 7 = 3b + 7 , 3a = 3b ) a = b: Berdasarkan de…nisinya dapat disimpulkan bahwa f adalah fungsi injektif. Perhatikan bahwa g(0) = 04 0 = 0 dan g(1) = 14 1 = 0: Dengan demikian, g tidak injektif, karena g(0) = g(1) tetapi 0 6= 1: Atau dengan kata lain g tidak injektif, karena 9x; y 2 R (dalam hal ini ditunjukkan x = 0 dan y = 1) dimana g(x) = g(y) ; x = y: z Berikut ini merupakan sisi kombinatorik yang terkait dengan pende…nisian fungsi injektif. Konklusi 3 Diberikan himpunan berhingga tak-kosong A dan B; dan misalkan jAj = m dan jBj = n dengan m n: Jika A dan B dituliskan sebagai A = fa1 ; a2 ; :::; am g dan B = fb1 ; b2 ; :::; bn g; Mende…nisikan fungsi injektif f : A ! B, berarti mende…nisikan himpunan bertipe f = f(a1 ; x1 ); (a2 ; x2 ); :::; (am ; xm )g: dimana x1 ; x2 ; :::; xm dipilih dari anggota B yang tidak boleh sama (artinya pengulangan tidak dibolehkan). Dengan demikian, ada sebanyak P (n; m) = n! cara mende…nisikan fungsi injektif dari A ke B: (n m)! Contoh 3.9 Misalkan A = f1; 2g dan B = fa; b; cg: De…nisikan semua fungsi injektif dari A ke B: Jawab. Semuanya ada P (3; 2) = yaitu:
3! 1!
= 6 fungsi injektif dari A ke B;
f1 = f(1; a); (2; b)g; f2 = f(1; b); (2; a)g; f5 = f(1; a); (2; c)g; f4 = f(1; c); (2; a)g; f5 = f(1; b); (2; c)g; f6 = f(1; c); (2; b)g: z De…nisi 3.6 Misalkan f : A ! B dan A1
A; dide…nisikan
f (A1 ) = fb 2 B b = f (a); untuk a 2 A1 g: Dalam hal ini, f (A1 ) disebut imej dari A1 oleh f:
3.2 Fungsi
68
Contoh 3.10 Misalkan A = f1; 2; 3; 4; 5g dan B = fx; y; z; wg: Fungsi f dide…nisikan dengan f = f(1; w); (2; x); (3; x); (4; y); (5; y)g: Jika A1 = f1; 2g; A2 = f2; 3g; dan A3 = f2; 3; 4; 5g; tentukan f (A1 ); f (A2 ) dan f (A3 ): Jawab. Berdasarkan de…nisinya, maka f (A1 ) = fw; xg; f (A2 ) = fxg; dan f (A3 ) = fx; yg: z Teorema 3.2 Misalkan f : A ! B dengan A1 ; A2
A; maka
1. f (A1 [ A2 ) = f (A1 ) [ f (A2 ): 2. f (A1 \ A2 )
f (A1 ) \ f (A2 )
3. f (A1 \ A2 ) = f (A1 ) \ f (A2 ) apabila f injektif. Bukti. Disini hanya akan dibuktikan untuk No. 2., lainnya disisakan sebagai latihan. Ambil sembarang b 2 f (A1 \ A2 ); maka 9a 2 A1 \ A2 sehingga f (a) = b: Karena a 2 A1 \ A2 ; berarti a 2 A1 dan a 2 A2 ; akibatnya f (a) 2 f (A1 ) dan f (a) 2 f (A2 ); dan ini berarti f (a) = b 2 f (A1 ) \ f (A2 ): Kesimpulannya f (A1 \ A2 )
f (A1 ) \ f (A2 ): z
De…nisi 3.7 Misalkan f : A ! B dengan A1 A: Restriksi dari f ke A1 ; dinotasikan dengan f jA1 ; adalah fungsi f jA1 : A1 ! B dengan rumus f jA1 (a) = f (a); 8a 2 A: De…nisi 3.8 Misalkan A1 dengan rumus
A dan f : A1 ! B: Jika fungsi g : A ! B g(a) = f (a); 8a 2 A1 ;
maka g disebut ekstensi dari f ke A:
3.2 Fungsi
69
Contoh 3.11 Misalkan A = f1; 2; 3; 4; 5g dan fungsi f : A ! R dide…nisikan f = f(1; 10); (2; 13); (3; 16); (4; 19); (5; 22)g: Misalkan pula dide…nisikan fungsi g : Q ! R dengan g(q) = 3q + 7; 8q 2 Q; dan fungsi h : R ! R dengan h(r) = 3r + 7; 8r 2 R: Maka: 1. g adalah ekstensi dari f ke Q: 2. f adalah restriksi dari g ke A: 3. h adalah ekstensi dari f ke R: 4. f adalah restriksi dari h ke A: 5. h adalah ekstensi dari g ke R: 6. g adalah restriksi dari h ke Q: Soal 3.2.1 Tentukan apakah relasi-relasi berikut ini merupakan fungsi, dan jika merupakan fungsi, carilah imejnya. 1. f(x; y) x; y 2 Z; y = x2 + 7g; suatu relasi dari Z ke Z: 2. f(x; y) x; y 2 R; y 2 = xg; suatu relasi dari R ke R: 3. f(x; y) x; y 2 R; y = 3x + 1g; suatu relasi dari R ke R: 4. f(x; y) x; y 2 Q; x2 + y 2 = 1g; suatu relasi dari Q ke Q: 5. R adalah suatu relasi dari A ke B; dimana jAj = 5; jBj = 6; dan jRj = 6: Soal 3.2.2 Misalkan A = f1; 2; 3; 4g dan B = fx; y; zg: 1. Buatlah lima contoh fungsi dari A ke B: 2. Tentukan banyaknya semua fungsi dari A ke B:
3.2 Fungsi
70
3. Tentukan banyaknya fungsi injektif dari A ke B: 4. Tentukan banyaknya semua fungsi dari B ke A: 5. Tentukan banyaknya fungsi injektif dari B ke A: 6. Tentukan banyaknya fungsi f : A ! B yang memenuhi f (1) = x: 7. Tentukan banyaknya fungsi f : A ! B yang memenuhi f (1) = f (2) = x: 8. Tentukan banyaknya fungsi f : A ! B yang memenuhi f (1) = x dan f (2) = y: Soal 3.2.3 1. Jika ada 2187 fungsi f : A ! B dan jBj = 3; tentukan jAj : 2. Jika A = f1; 2; 3; 4; 5g dan ada 6720 fungsi injektif dari A ke B; tentukan jBj : Soal 3.2.4 Tentukan apakah pernyataan-pernyataan benar atau salah. Jika salah berikan contoh sanggahan. 1. bac = dae untuk semua a 2 Z: 2. bac = dae untuk semua a 2 R: 3. bac = dae 4.
1 untuk semua a 2 R r Z:
dae = b ac untuk semua a 2 R:
Soal 3.2.5 1. Tentukan semua bilangan nyata yang memenuhi d3xe = 3dxe: 2. Misalkan n 2 N+ dimana n > 1; tentukan semua x 2 R yang memenuhi dnxe = ndxe: Soal 3.2.6 Misalkan a1 ; a2 ; a3 ; ::: adalah barisan intejer yang dide…nisikan secara rekursif dengan a) a1 = 1; dan
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
71
b) Untuk semua n 2 N+ dimana n > 1; an = 2ab n2 c ; 1. tentukan an untuk semua 2 n 8: 2. buktikan bahwa an n untuk semua n 2 Z+ : Soal 3.2.7 Misalkan A = f1; 2; 3; 4; 5g; B = fw; x; y; zg; A1 = f2; 3; 5g A; dan g : A1 ! B: Tentukan banyaknya cara memperluas (ekstensi) g menjadi fungsi f : A ! B: Soal 3.2.8 Untuk n 2 Z+ , dide…nisikan Xn = f1; 2; :::; ng: Diberikan m; n 2 Z+ ; fungsi f : Zm ! Zn disebut naik monoton jika untuk setiap i; j 2 Zm berlaku 1 i < j m ) f (i) f (j): 1. Ada berapa banyak fungsi naik monoton dari X7 ke X5 : 2. Ada berapa banyak fungsi naik monoton dari X6 ke X9 : 3. Buatlah generalisasi dari jawaban Pertanyaan 1: dan 2: 4. Tentukan banyaknya fungsi naik monoton f : X10 ! X6 dimana f (4) = 4: 5. Tentukan banyaknya fungsi naik monoton f : X7 ! X12 dimana f (5) = 9: 6. Buatlah generalisasi dari jawaban Pertanyaan 4: dan 6:
3.3
Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
De…nisi 3.9 Suatu fungsi f : A ! B disebut surjektif (onto), jika f (A) = B; artinya (8y 2 B)(9x 2 A) y = f (x): Contoh 3.12 Jika A = f1; 2; 3; 4g dan B = fx; y; zg; Jelaskan bahwa f1 = f(1; z); (2; y); (3; x); (4; y)g dan f2 = f(1; x); (2; x); (3; y); (4; z)g adalah dua fungsi surjektif dari A ke B; sedangkan fungsi g = f(1; x); (2; x); (3; y); (4; y)g tidak surjektif.
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
72
Jawab. Perhatikan bahwa semua anggota B muncul sebagai komponen kedua di dalam keanggotaan f1 dan f2 , sehingga f1 dan f2 adalah fungsi surjektif. Sekarang perhatikan fungsi g; ada anggota B yaitu z yang tidak muncul sebagai komponen kedua di dalam keanggotaan g; sehingga g tidak surjektif. z Contoh 3.13 Jelaskan bahwa fungsi f : Z ! Z yang dide…nisikan dengan f (x) = 3x + 1; 8x 2 Z; dan fungsi g : R ! R yang dide…nisikan dengan g(x) = x2 ; 8x 2 Z; adalah tidak surjektif. Jawab. Ambil y = 2; maka 3x + 1 = 2 tidak mempunyai solusi di dalam Z: Ini berarti 9y 2 Z (dalam hal ini ditunjukkan y = 2) sehingga @x 2 Z yang berlaku y = f (x): Ambil y = 1; maka x2 = 1 tidak mempunyai solusi di dalam R: Ini berarti 9y 2 R (dalam hal ini ditunjukkan y = 1) sehingga @x 2 R yang berlaku y = g(x): z Contoh 3.14 Buktikan bahwa fungsi g : Q ! Q yang dide…nisikan dengan g(x) = 3x + 1; 8x 2 Q; dan fungsi h : R ! R yang dide…nisikan dengan h(x) = x3 ; 8x 2 R; adalah surjektif. Bukti. Ambil sembarang y 2 Q; maka y = 3x + 1 , x = y 3 1 dan jelas bahwa x 2 Q: Dengan demikian, (8y 2 Q)(9x = y 3 1 2 Q) sehingga berlaku g(x) = g(
y
1 3
)
y 1 = 3(( )+1 3 = y: Kesimpulannya, g adalah surjektif.
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
73
p Ambil sembarang y 2 R; maka y = x3 , x = 3 y dan jelas bahwa x 2 R: p Dengan demikian, (8y 2 R)(9x = 3 y 2 R) sehingga berlaku p h(x) = h( 3 y) p = ( 3 y)3 = y: Kesimpulannya, h adalah surjektif. z Dari de…nisi di atas jelas bahwa untuk A dan B himpunan berhingga, jika f : A ! B adalah surjektif, maka jAj jBj : Dua contoh berikut ini akan mengarah ke konklusi tentang banyaknya cara pende…nisian fungsi surjektif. Contoh 3.15 Jika A = fx; y; zg dan B = f1; 2g; jelaskan bahwa semua fungsi f : A ! B adalah surjektif kecuali f merupakan fungsi konstan. Selanjutnya, simpulkan bahwa ada 6 cara mende…nisikan fungsi surjektif dari A ke B: Kemudian, nyatakan secara umum untuk A sembarang himpunan dengan jAj = m 2; sedangkan ditetapkan B = f1; 2g; maka ada 2m
2
cara mende…nisikan fungsi surjektif dari A ke B: Jawab. Fungsi kosntan dari A ke B ada 2; yaitu f1 = f(x; 1); (y; 1); (z; 1)g dan f1 = f(x; 2); (y; 2); (z; 2)g: Jika f : A ! B tidak kontan, maka jelas bahwa semua anggota B muncul sebagai komponen kedua di dalam keanggotaan f; akibatnya f pasti surjektif. Dengan demikian, karena ada jBjjAj = 23 = 8 cara mende…nisikan semua fungsi dari A ke B; sedangkan hanya dua yang tidak surjektif, maka ada 8 2 = 6 cara mende…nisikan fungsi surjektif dari A ke B: z Contoh 3.16 Misalkan A = fx; y; z; wg dan B = f1; 2; 3g: Buktikan bahwa ada 3 4 3 4 3 4 3 2 + 1 3 2 1 cara mende…nisikan fungsi surjektif dari A ke B: Kemudian, nyatakan secara umum untuk A sembarang himpunan dengan jAj = m 3; sedangkan ditetapkan B = f1; 2; 3g; maka ada 3 m 3 3
3 m 3 m 2 + 1 2 1
cara mende…nisikan fungsi surjektif dari A ke B:
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
74
Bukti. Berdasarkan Konklusi 2, jumlah fungsi yang bisa kita de…nisikan dari A ke B adalah 34 : Berdasarkan Contoh 1.14, ada 32 = 3 subhimpunan dari B yang berkardinalitas 2; yaitu f1; 2g; f1; 3g; dan f2; 3g: Jumlah fungsi dari A ke f1; 2g adalah 24 termasuk fungsi konstan dari A ke f1g dan dari A ke f2g: Secara sama, jumlah fungsi dari A ke f1; 3g adalah 24 termasuk fungsi konstan dari A ke f1g dan dari A ke f3g: Demikian pula, jumlah fungsi dari A ke f2; 3g adalah 24 termasuk fungsi konstan dari A ke f2g dan dari A ke f3g: Dengan demikian, total jumlah fungsi dari A ke semua subhimpunan dari B yang berkardinalitas 1 atau 2 adalah 3 4 2 2
3 4 1 1
(Perhatikan bahwa fungsi konstan masing-masing terhitung 2 kali; dalam hal ini fungsi kontan ada 31 jenis, yaitu A ke f1g; A ke f2g; dan A ke f3g; dimana masing-masing berjumlah 1jAj = 14 ). Jelas bahwa jumlah tersebut merupakan jumlah semua fungsi ini bukan merupakan fungsi surjektif dari A ke B: Kesimpulannya, jumlah semua fungsi yang surjektif dari A ke B adalah 34
3 4 2 2
3 4 1 = 1
3 4 3 3
3 4 3 4 2 + 1 = 36 2 1
z Dua contoh terakhir di atas mengarah ke suatu pola (generalisasi) yang di berikan berikut ini, tanpa pembuktian. Konklusi 4 Untuk sembarang himpunan berhingga tak-kosong A dan B dengan jAj = m dan jBj = n; maka ada sebanyak n m n n +( 1)n =
n 1 X
n 2
( 1)k
k=0
=
n X k=0
( 1)k
(n
1)m +
n 1 n m 2 + ( 1)n 2 n n
k n
n
k
(n
k)m
(n
k)m
1
n n
n m 1 1
cara mende…nisikan fungsi surjektif dari A ke B:
2
(n
2)m
:::
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
75
Contoh 3.17 Misalkan A = f1; 2; 3; 4; 5; 6; 7g dan B = fw; x; y; zg: Ada berapa cara mende…nisikan fungsi surjektif dari A ke B? Jawab. Dengan menerapkan Konklusi 4, banyaknya fungsi surjektif dari A ke B adalah 4 X k=0
( 1)k
4 4
k
(4
k)7 =
4 7 4 4
4 7 4 7 3 + 2 3 2
4 7 1 1
= 8400: z
Contoh 3.18 Departemen Pertahanan mempunyai 7 proyek yang berkaitan dengan keamanan tingkat tinggi. Telah ditunjuk 4 perusahaan untuk menangani ketujuh proyek tersebut. Demi memaksimalkan tingkat keamanan, setiap proyek tidak boleh ditangani oleh lebih dari satu perusahaan. Ada berapa cara pemberian proyek agar keempat perusahaan terlibat? Jawab. Contoh ini dapat dimodelkan ke dalam Contoh 3.17 dengan memisalkan A adalah himpunan proyek dan B adalah himpunan perusahaan. Banyaknya cara pemberian proyek merupakan merupakan banyaknya cara pende…nisian fungsi surjektif dari A ke B; sehingga jawabannya adalah 8400 cara. z Contoh 3.19 7 orang yang tidak saling kenal berada di lantai dasar sebuah gedung yang secara bersamaan akan menggunakan suatu lift untuk naik ke lantai atas. Jika gedung tersebut mempunyai 4 lantai (tingkat) diatas lantai dasar, tentukan probabilitas bahwa lift harus berhenti di setiap lantai lantaran ada diantara ketujuh orang tersebut yang keluar dari lift. Jawab. Ukuran ruang contoh dari contoh soal ini adalah banyaknya cara 7 orang memilih 4 lantai (atau banyaknya cara pende…nisian fungsi dari domain berukuran 7 ke kodomain berukuran 4), yaitu 47 = 16384 cara. Sedangkan ukuran ruang kejadiannya merupakan model Contoh 3.17, yaitu 8400 cara. Dengan demikian, probabilitas bahwa lift harus berhenti di setiap 8400 = 0; 5127: z lantai adalah 16384 Contoh 3.20 Staf TU Departemen Matematika terdiri dari Kepala TU dan 3 asisten administratif. Misalkan ada 7 dokumen Departemen yang harus diproses oleh staf TU dan diharuskan tidak ada staf yang nganggur. Ada berapa cara Sekretaris Departemen menugasi staf TU apabila:
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
76
1. tidak batasan lagi? 2. Kepala TU harus mengerjakan satu dokumen yang paling penting? 3. Selain mengerjakan satu dokumen yang paling penting, Kepala TU masih dibolehkan mengerjakan dokumen yang lain? Jawab. Pertanyaan pada contoh soal ini merupakan model Contoh 3.17. Dengan demikian, 1. apabila tidak ada batasan lagi, jawabannya adalah 8400 cara. 2. Kepala TU harus mengerjakan satu dokumen yang paling penting, berarti 6 dokumen tersisa harus dikerjakan oleh 3 staf, sehingga jawabannya adalah 3 X 3 ( 1)k (3 k)6 = 540 cara. 3 k k=0 3. apabila Kepala TU masih dibolehkan mengerjakan dokumen yang lain, berarti 6 dokumen tersisa harus dikerjakan oleh 4 staf, sehingga jawabannya adalah 4 X k=0
( 1)k
4 4
k
(4
k)6 = 1560 cara.
z Contoh berikut ini akan mengarah generalisasi bilangan Stirling jenis kedua. Contoh 3.21 Jika A = fa; b; c; dg dan B = f1; 2; 3g; maka ada 36 fungsi surjektif dari A ke B: Bentuk verbal dari pernyataan ini adalah ada 36 cara mendistribusikan 4 obyek yang berbeda ke dalam 3 wadah “yang dapat dibedakan” (urutan wadah diperhatikan), dengan syarat tidak ada wadah yang kosong. Dari 36 cara tersebut, perhatikan 6 contoh berikut ini: 1) fa; bg1 fcg2 fdg3 3) fcg1 fa; bg2 fdg3 5) fdg1 fa; bg2 fcg3
2) fa; bg1 fdg2 fcg3 4) fcg1 fdg2 fa; bg3 6) fdg1 fcg2 fa; bg3
dimana, misalnya, notasi fcg2 diartikan sebagai c ada di dalam wadah kedua. Sekarang, jika wadah “tidak lagi dapat dibedakan”(urutan wadah tidak diperhatikan), maka keenam (3!) contoh tersebut dianggap identik (tidak dibedakan).
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
77
= 6 cara mendistribusikan 4 obyek yang berbeda Dengan demikian, ada 36 3! ke dalam 3 wadah “yang identik” (urutan wadah tidak diperhatikan), dengan syarat tidak ada wadah yang kosong. Konklusi 5 Untuk m n; banyaknya cara mendistribusikan m obyek yang berbeda ke dalam n wadah yang identik, dengan tidak dibolehkan ada wadah yang kosong, adalah 1 X n (n ( 1)k n! k=0 n k n
k)m :
Bilangan ini dinotasikan dengan S(m; n); dan disebut bilangan Stirling jenis kedua. Perhatikan bahwa jika jAj = m n = jBj ; maka banyaknya fungsi surjektif dari A ke B adalah n!:S(m; n): Teorema 3.3 Bilangan Stirling jenis kedua S(m; n) dapat dirumuskan secara rekursif dengan S(m; 1) = 1; S(m; m) = 1; S(m; n) = S(m 1; n 1) + n:S(m
1; n);
untuk 2
n
m
1:
Bukti. Dari Konklusi 5, jelas bahwa S(m; 1) = 1 dan S(m; m) = 1: Misalkan A = fa1 ; a2 ; ::; am g; banyaknya cara mendistribusikan anggota-anggota A ke dalam n wadah yang identik adalah S(m; n): Dari S(m; n) cara pendistribusian ini hanya ada dua kemungkinan, yaitu: 1. am berada di dalam suatu wadah sedirian, atau 2. am berada di dalam suatu wadah tidak sedirian. Pencacahan kasus yang pertama. Tempatkan am pada salah satu wadah, kemudian anggota A yang tersisa didistribusikan ke dalam wadah yang tersisa, dengan tidak ada wadah yang kosong, sehingga ada S(m 1; n 1) cara pendistribusian. Pencacahan kasus yang kedua. Distribusikan anggota A yang tersisa (tanpa am ) ke dalam ke dalam n wadah tanpa ada yang kosong, sehingga ada S(m 1; n) cara pendistribusian. Pada setiap cara ini, kemudian diikuti penempatan am pada n wadah, sehingga ada n cara penempatan. Bedasarkan Aturan Kali, secara keseluruhan n:S(m 1; n) cara pendistribusian. Akhirnya, berdasarkan Aturan Jumlah, S(m; n) = S(m
1; n
1) + n:S(m
1; n):
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
78
z Dari teorema di atas, sebagaimana bilangan binomial, kalkulasi bilangan Stirling dapat disusun berdasarkan segitiga Pascal. m 1 1 2 1 1 3 1 3 1 1 7 6 1 4 5 1 15 25 10 1 1 31 90 65 15 1 6 7 1 63 301 350 140 21 1 Dari tabel di atas, perhatikan perhitungan berikut. S(5; 3) = S(4; 2) + 3:S(4; 3) = 7 + 3:6 = 25: S(7; 5) = S(6; 4) + 5:S(6; 5) = 65 + 5:15 = 140: S(8; 4) = S(7; 3) + 4:S(7; 4) = 101 + 4:350 = 1501: Contoh 3.22 Untuk m
n;
n P
S(m; i) adalah banyaknya cara yang mungkin
i=1
untuk mendistribusikan m obyek yang berbeda ke dalam n wadah yang identik dengan ada wadah yang kosong diperbolehkan. Perhatikan dari baris ke-4 dalam tabel bilangan Stirling di atas, bahwa ada 1 + 6 + 7 = 14 cara mendistribusikan 4 obyek yang berbeda ke dalam 3 wadah yang identik, dengan ada wadah yang kosong diperbolehkan. Soal 3.3.1 Berikan suatu contoh himpunan berhingga A dan B dengan jAj ; jBj 4 dan fungsi f : A ! B sedemikian sehingga 1. f bukan fungsi injektif maupun surjektif. 2. f fungsi injektif tetapi tidak surjektif. 3. f surjektif tetapi tidak injektif. 4. f surjektif maupun injektif. Soal 3.3.2 Untuk setiap fungsi f : Z ! Z berikut ini, tentukan apakah f merupakan fungsi injektif dan apakah surjektif. Jika f bukan fungsi surjektif, tentukan imejnya. a) f (x) = x + 7 d) f (x) = x2
b) f (x) = 2x 3 e) f (x) = x2 + x
c) f (x) = x + 5 f ) f (x) = x3
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
79
Soal 3.3.3 Misalkan A = f1; 2; 3; 4g dan B = f1; 2; 3; 4; 5; 6g: 1. Ada berapa banyak fungsi dari A ke B? 2. Ada berapa banyak fungsi dari A ke B yang injektif? 3. Ada berapa banyak fungsi dari A ke B yang surjektif? 4. Ada berapa banyak fungsi dari B ke A? 5. Ada berapa banyak fungsi dari B ke A yang injektif? 6. Ada berapa banyak fungsi dari B ke A yang surjektif? Soal 3.3.4 1. Periksalah bahwa n X
( 1)k
k=0
n n
k
(n
k)m = 0
untuk n = 5 dan m = 2; 3; 4: 2. Periksalah bahwa 57 =
5 P
i=1
m i
(i!)S(7; i):
3. Berilah argumen kombinatorial untuk membuktikan bahwa n X m m = (i!)S(n; i); i i=1 n
8m; n 2 Z+ :
Soal 3.3.5 1. Misalkan A = f1; 2; 3; 4; 5; 6g dan B = fv; w; x; y; zg: Tentukan banyaknya fungsi f : A ! B dimana (a) f (A) = fv; xg; (b) jf (A)j = 2;
(c) f (A) = fw; x; yg;
(d) jf (A)j = 3;
(e) f (A) = fv; x; y; zg; dan (f) jf (A)j = 3:
3.3 Fungsi Surjektif dan Bilangan Stirling Jenis Kedua
80
2. Misalkan A dan B adalah himpunan dengan jAj = m n = jBj : + Jika k 2 Z dengan 1 k n; berapa banyaknya fungsi f : A ! B sehingga jf (A)j = k: Soal 3.3.6 Seorang instruktur laboratorium komputasi mempunyai 5 orang asisten yang diminta untuk menyelesaikan suatu program yang terdiri atas 9 modul. Ada berapa cara sang instruktur menugasi asistennya dengan syarat semua asisten mendapat tugas dan setiap modul tidak boleh dikerjakan oleh lebih dari satu asisten? Soal 3.3.7 Misalkan kita mempunyai 8 bola dengan warna yang berbeda dan 3 wadah yang diberi nomor I; II; III: 1. Ada berapa cara kita dapat mendistribusikan bola ke dalam wadah sehingga tidak ada wadah yang kosong? 2. Diketahui salah satu bola berwarna biru. Ada berapa cara kita dapat mendistribusikan bola ke dalam wadah sehingga tidak ada wadah yang kosong dan bola biru ada di wadah nomor II? 3. Jika nomor wadah kita hapus sehingga kita tidak mampu membedakannya, ada berapa cara kita dapat mendistribusikan bola ke dalam wadah sehingga tidak ada wadah yang kosong? 4. Jika nomor wadah kita hapus sehingga kita tidak mampu membedakannya, ada berapa cara kita dapat mendistribusikan bola ke dalam wadah, dengan ada wadah yang kosong diperbolehkan? Soal 3.3.8 1. Tentukan dua baris berikutnya (yaitu m = 8 dan m = 9) dalam tabel bilangan Stirling. 2. Tuliskan program komputer (atau membuat algoritme) untuk menghitung bilangan Stirling S(m; n) jika 1 m 12 dan 1 n m: Soal 3.3.9 1. Untuk m; n:r 2 Z+ dengan m nr; misalkan Sr (m; n) menotasikan banyaknya cara mendistribusikan m obyek yang berbeda ke dalam n obyek yang identik, dimana setiap wadah menerima sedikitnya r obyek. Periksalah bahwa m 1 Sr (m; n) = :Sr (m r; n 1) + n:Sr (m 1; n): r 1
3.4 Komposisi Fungsi dan Fungsi Invers
81
2. Untuk S(m; n) bilangan Stirling dengan m S(m; 2) = (m
1)!
2; buktikan bahwa
m X1 i=1
3.4
1 : i
Komposisi Fungsi dan Fungsi Invers
De…nisi 3.10 Suatu fungsi f : A ! B disebut bijektif (korespondensi satusatu), jika f injektif dan sekaligus bijektif. Contoh 3.23 Jika A = f1; 2; 3; 4g dan B = fw; x; y; zg; perhatikan bahwa f = f(1; z); (2; y); (3; w); (4; x)g adalah dua fungsi bijektif dari A ke B; sedangkan g = f(w; 3); (x; 4); (y; 2); (z; 1)g adalah dua fungsi bijektif dari B ke A: Dari de…nisi di atas jelas bahwa jika f : A ! B adalah bijektif, maka jAj = jBj: Terkait dengan konsep pencacahan, sisi kombinatorik dari de…nisi fungsi bijektif diberikan dalam konklusi berikut. Konklusi 6 Untuk sembarang himpunan berhingga tak-kosong A dan B dengan jAj = n dan jBj = n; maka ada sebanyak n! = n(n
1)(n
2):::1
cara mende…nisikan fungsi bijektif dari A ke B: De…nisi 3.11 Jika suatu fungsi f : A ! A adalah bijektif , maka f disebut permutasi pada A. Contoh 3.24 Misalkan A = f1; 2; 3; 4; 5g; suatu permutasi p : A ! A dide…nisikan sebagai: p(1) = 3;
p(2) = 5;
p(3) = 4;
p(4) = 2;
p(5) = 1:
Permutasi dapat dinyatakan dalam berbagai macam cara. Salah satu cara penulisan yang cukup sering dipakai adalah sebagai berikut: p=
1 2 3 4 5 3 5 4 2 1
;
dimana baris yang atas adalah larik (array) sebagai domain dari p; sedangkan baris yang bawah adalah larik sebagai imej dari p:
3.4 Komposisi Fungsi dan Fungsi Invers
82
De…nisi 3.12 Fungsi bijektif 1A : A ! A yang dide…nisikan dengan 1A (a) = a; 8a 2 A; disebut fungsi (permutasi) identitas pada A: De…nisi 3.13 Dua fungsi f; g : A ! B dikatakan sama, ditulis f = g; jika f (a) = g(a), 8a 2 A: Contoh 3.25 Perhatikan dua fungsi f; g : R ! Z yang dide…nisikan dengan x; jika x 2 Z bxc + 1; jika x 2 R r Z g(x) = dxe; 8x 2 R:
f (x) =
Jika x 2 Z; maka f (x) = x = dxe = g(x): Untuk x 2 R r Z; dapat ditulis x = n + r; dimana n 2 Z dan 0 < r < 1; maka f (x) = bxc + 1 = n + 1 = dxe = g(x): Kesimpulannya, walaupun f dan g mempunyai rumus yang berbeda, f = g: De…nisi 3.14 Misalkan f : A ! B dan g : B ! C; fungsi komposit dari f dan g; dinotasikan g f : A ! C; dide…nisikan dengan (g f )(a) = g(f (a)); 8a 2 A: Contoh 3.26 Misalkan A = f1; 2; 3; 4g; B = fa; b; cg, dan C = fw; x; y; ; zg dengan f : A ! B dan g : B ! C dirumuskan f = f(1; a); (2; a); (3; b); (4; c)g dan g = f(a; x); (b; y); (c; z)g: Untuk setiap a 2 A; diperoleh (g f )(1) = g(f (1)) = g(a) = x (g f )(3) = g(f (3)) = g(b) = y
(g f )(2) = g(f (2)) = g(a) = x (g f )(4) = g(f (4)) = g(c) = z;
Jadi g f = f(1; x); (2; x); (3; y); (4; z)g: Dengan mudah dapat dilihat bahwa secara umum fungsi komposit tidak komutatif. Dalam hal ini, ada pasangan fungsi f dan g sehingga g f 6= f g: Teorema 3.4 Jika fungsi f : A ! B dan g : B ! C keduanya bijektif, maka g f juga bijektif.
3.4 Komposisi Fungsi dan Fungsi Invers
83
Bukti. Asumsikan bahwa f dan g bijektif. Akan dibuktikan bahwa g f bijektif, yaitu: 1. g f injektif. Untuk sembarang x; y 2 A (g f ) (x) = (g f ) (y) ) g (f (x)) = g (f (y)) ) f (x) = f (y) ) x = y 2. g f surjektif. Ambil sembarang z 2 C: Karena g surjektif, maka 9y 2 B sehingga z = g (y) : Dari adanya y 2 B; karena f surjektif, maka 9x 2 B sehingga y = f (x) : Akibatnya, z = g (y) = g (f (x)) = (g f ) (x) : z Teorema 3.5 (Hukum Asosiatif) Jika fungsi f : A ! B, g : B ! C, dan h : C ! D; maka (h g) f = h (g f ): Bukti. Ambil sembarang x 2 A; maka [(h g) f ] (x) = (h g) (f (x)) = h (g (f (x))) = h ((g f ) (x)) = [h (g f )] (x) z De…nisi 3.15 Jika f : A ! A; dide…nisikan f 1 = f; dan 8n 2 Z+ ; f n+1 = f f n: Contoh 3.27 Misalkan A = f1; 2; 3; 4g dan f : A ! A dide…nisikan dengan f = f(1; 2); (2; 3); (3; 4); (4; 3)g; maka f2 = f f3 = f
f = f(1; 2); (2; 2); (3; 2); (4; 1)g f 2 = f f f = f(1; 2); (2; 2); (3; 2); (4; 2)g:
De…nisi 3.16 Jika R adalah relasi dari himpunan A ke B; maka konvers dari R; dinotasikan Rc ; dide…nisikan Rc := f(b; a)=(a; b) 2 Rg:
3.4 Komposisi Fungsi dan Fungsi Invers
84
Contoh 3.28 Misalkan A = f1; 2; 3g dan B = fw; x; yg; fungsi f : A ! B dirumuskan f = f(1; w); (2; x); (3; y)g; maka f c = f(w; 1); (x; 2); (y; 3)g adalah fungsi dari B ke A, dan perhatikan bahwa f c f = 1A dan f
f c = 1B :
De…nisi 3.17 Misalkan f : A ! B; maka f dikatakan invertibel apabila ada fungsi g : B ! A sedemikian sehingga g f = 1A dan f
g = 1B :
Contoh 3.29 Misalkan f; g : R ! R dirumuskan dengan 1 f (x) = 2x + 5 dan g(x) = (x 2
5);
maka 1 (g f )(x) = g(f (x)) = g(2x + 5) = ((2x + 5) 5) = x = 1R (x) 2 1 1 (f g)(x) = f (g(x)) = f ( (x 5)) = 2( (x 5)) + 5 = x = 1R (x): 2 2 Kesimpulannya, f dan g adalah dua fungsi yang saling invertibel. Teorema 3.6 Jika f : A ! B adalah invertibel dan g : B ! A memenuhi g f = 1A dan f
g = 1B ;
maka g adalah tunggal (unik). Dalam hal ini g disebut invers dari f; dinotasikan g = f 1 ; selanjutnya f
1
= f c dan (f
1
)
1
= f:
Bukti. Misalkan fungsi h : B ! A juga memenuhi h f = 1A dan f
h = 1B ;
maka h = h 1B = h (f
g) = (h f ) g = 1A g = g z
3.4 Komposisi Fungsi dan Fungsi Invers
85
Teorema 3.7 f : A ! B invertibel jika dan hanya jika f bijektif. Bukti. ()) Misalkan f invertibel, maka ada tepat satu f 1
f
f = 1A dan f
f
1
1
sehingga
= 1B :
Akan dibuktikan f bijektif, yaitu: 1. f injektif. Untuk sembarang x; y 2 A, 1
f (x) = f (y) ) f
1
(f (x)) = f
(f (y)) ) 1A (x) = 1A (y) ) x = y
2. f surjektif. Ambil sembarang y 2 B; maka ada x 2 A; yaitu x = f 1 (y) ; sehingga f (x) = f f
1
(y) = 1B (y) = y:
(() Asumsikan bahwa f bijektif, maka (8y 2 B) (9!x 2 A) sehingga y = f (x) : Akibatnya, dapat dide…nisikan fungsi g : B ! A dengan g (y) = x sehingga g (f (x)) = x , (g f ) (x) = x , 1A (x) = x dan f (g (y)) = f (x) = y , (f Jadi, g = f
1
g) (y) = y , 1B (y) = y
sehingga f invertibel.
z
Contoh 3.30 Fungsi f : R ! R yang dirumuskan dengan f (x) = x2 tidak invertibel karena f tidak bijektif. Akan tetapi fungsi g : A ! B dimana A = B = [0; +1) dan gpdirumuskan dengan g(x) = x2 adalah invertibel. Dalam hal ini, g 1 (x) = x: Teorema 3.8 Jika fungsi f : A ! B dan g : B ! C keduanya invertibel, maka g f : A ! C adalah invertibel dan (g f )
1
=f
1
g 1:
Bukti. Asumsikan f dan g invertibel, maka ada funsi f g : C ! B sehingga 1
f g
1 1
f = 1A dan f f g = 1B dan g g
1 1
= 1B : = 1C
1
: B ! A dan
3.4 Komposisi Fungsi dan Fungsi Invers
86
Berdasarkan Teorema 3.4, g f juga invertibel dengan invers (g f ) (g f )
1
1
dan
(g f ) = 1A
Di lain pihak, 1
(f
g 1 ) (g f ) = f = f 1
Jadi, (g f )
=f
1
1 1
g 1 g f = 1A
f= f
1
1B
f z
g 1:
Contoh 3.31 Untuk m; b 2 R; m 6= 0; fungsi f : R ! R dide…nisikan dengan f = f(x; y) y = mx + bg merupakan fungsi invertibel, karena jelas f bijektif. Untuk mendapatkan f 1 ; perhatikan bahwa f
Jadi, f
1
1
= f(x; y) y = mx + bgc = f(y; x) y = mx + bg 1 = f(x; y) x = my + bg = f(x; y) y = (x bg: m
: R ! R dide…nisikan dengan f
De…nisi 3.18 Jika f : A ! B dan B1 f
1
1
(x) =
1 (x m
bg:
B; maka
(B1 ) = fx 2 A f (x) 2 B1 g
disebut preimej dari B1 oleh f: Contoh 3.32 Misalkan A; B 2 Z+ dimana A = f1; 2; 3; 4; 5; 6g dan B = f6; 7; 8; 9; 10g: Jika f : A ! B dengan f = f(1; 7); (2; 7); (3; 8); (4; 6); (5; 9); (6; 9)g; maka perhatikan contoh-contoh berikut. 1. Untuk B1 = f6; 8g B; diperoleh f 1 (B1 ) = f3; 4g; karena f (3) = 8 dan f (4) = 6; dan untuk sembarang a 2 A; f (a) 2 = B1 kecuali jika 1 a = 3 atau a = 4: Dalam hal ini jf (B1 )j = 2 = jB1 j : 2. Dalam hal B2 = f7; 8g B; karena f (1) = f (2) = 7 dan f (3) = 8; maka kita dapatkan bahwa f 1 (B2 ) = f1; 2; 3g: Dalam hal ini, jf 1 (B2 )j = 3 > 2 = jB2 j : 3. Untuk B3 = f8; 9g B; maka f 1 (B3 ) = f3; 5; 6g karena f (5) = f (6) = 9 dan f (3) = 8: Dalam hal ini, jf 1 (B3 )j = 3 > 2 = jB3 j :
3.4 Komposisi Fungsi dan Fungsi Invers
87
4. Untuk B4 = f8; 9; 10g B; maka f 1 (B3 ) = f3; 5; 6g karena f (5) = f (6) = 9 dan f (3) = 8: Perhatikan bahwa jf 1 (B4 )j = jf 1 (B3 )j walaupun B4 B3 : Hal ini karena tidak ada a 2 A sehingga f (a) = 10; berarti f 1 (f10g) = ?: Teorema 3.9 Jika f : A ! B dan B1 ; B2
B; maka
1. f
1
(B1 \ B2 ) = f
1
(B1 ) \ f
1
(B2 ) ;
2. f
1
(B1 [ B2 ) = f
1
(B1 ) [ f
1
(B2 ) ; dan
3. f
1
B1 = f
1
(B1 ):
Teorema 3.10 Misalkan f : A ! B untuk A dan B himpunan berhingga dimana jAj = jBj ; maka ketiga pernyataan berikut ekuivalen: 1. f fungsi injektif, 2. f fungsi surjektif, dan 3. f fungsi invertibel. Soal 3.4.1 1. Untuk A = f1; 2; 3; 4; 5; 6; 7g; ada berapa banyak fungsi bijektif f : A ! A yang memenuhi f (1) 6= 1? 2. Jika A = fx x 2 Z+ ; 1 x ng untuk suatu n 2 Z+ ; ada berapa banyak fungsi bijektif f : A ! A yang memenuhi f (1) 6= 1? Soal 3.4.2 1. Untuk A = f 2; 7g
R dide…nisikan fungsi g; f : A ! R dengan
f (x) = 2x
4 dan
g (x) =
2x2 8 : x+2
Periksalah bahwa f = g: 2. Dari Pertanyaan 1 apakah masih tetap f = g apabila g; f : A ! B dimana B = f 7; 2g:
3.4 Komposisi Fungsi dan Fungsi Invers
88
Soal 3.4.3 Misalkan f; g; h : Z ! Z dide…nisikan dengan f (x) = x g(x) = 3x; dan 0; jika x genap h(x) = 1; jika x ganjil.
1;
Tentukan: 1. f
g; g f; g h; h g; f
(g h) ; dan (f
g) h:
2. f 2 ; f 3 ; g 2 ; g 3 ; h2 ; h3 ; dan h500 : Soal 3.4.4 Misalkan f : A ! B dan g : B ! C. Buktikan bahwa: 1. Jika g f surjektif, maka g surjektif. 2. Jika g f injektif, maka f injektif. Soal 3.4.5 Pada masing-masing fungsi f : R ! R yang dide…nisikan berikut ini, tentukan apakah f invertibel, jika ya, tentukan f 1 : 1. f = f(x; y) 2x + 3y = 7g: 2. f = f(x; y) ax + by = c; b 6= 0g: 3. f = f(x; y) y = x3 g: 4. f = f(x; y) y = x4 + xg: Soal 3.4.6 Jika A; B Z+ dengan A = f1; 2; 3; 4; 5; 6; 7g, B = f2; 4; 6; 8; 10; 12g; dan f : A ! B dimana f = f(1; 2) ; (2; 6) ; (3; 6) ; (4; 8) ; (5; 6) ; (6; 8) ; (7; 12)g; tentukan preimej B1 oleh f yang diketahui berikut ini. a) B1 = f2g b) B1 = f6g c) B1 = f6; 8g d) B1 = f6; 8; 10g e) B1 = f6; 8; 10; 12g f ) B1 = f10; 12g Soal 3.4.7 Misalkan f : R ! R dide…nisikan dengan 8 x 0 < x + 7; 2x + 5; 0 < x 3 : f (x) = : x 1; 3 x Tentukan:
3.5 Relasi Ekuivalensi
1. f
1
( 10); f
1
89
(0); f
1
(4); f
1
(6); f
1
(7); dan f
1
(8):
2. preimej oleh f dari selang a) [ 5; 1] b) [ 5; 0] c) [ 2; 4] d) [5; 10] e) [11; 17] Soal 3.4.8 Misalkan f : R ! R dide…nisikan dengan f (x) = x2 ; Untuk setiap subhimpunan B R berikut ini, carilah f 1 (B): a) B = f0; 1g b) B = f 1; 0; 1g c) B = [0; 1] d) B = [0; 1) e) B = [0; 4] f ) B = (0; 1] [ (4; 9) Soal 3.4.9 1. Misalkan A = f1; 2; 3; 4; 5g dan B = f6; 7; 8; 9; 10; 11; 12g: Ada berapa cara mende…nisikan fungsi f : A ! B sehingga f 1 (f6; 7; 8g) = f1; 2g? 2. Jika jAj = jCj = 5; ada berapa cara mende…nisikan fungsi f : A ! C sehingga f invertibel. Soal 3.4.10 Buktikan semua teorema di didalam subbab ini!
3.5
Relasi Ekuivalensi
De…nisi 3.19 Suatu relasi (biner) R pada himpunan A disebut re‡eksif apabila berlaku (x; x) 2 R; 8x 2 A: Contoh 3.33 Jika A = f1; 2; 3; 4g; jelaskan bahwa R1 = f(1; 1); (1; 4); (2; 2); (2; 1); (3; 4); (4; 4)g tidak re‡eksif, sedangkan R2 = f(x; y) 2 A
A x
yg
adalah re‡eksif. Jawab. Perhatikan bahwa, karena (3; 3) 2 = R1 sedangkan 3 2 A; maka R1 tidak re‡eksif. Karena untuk setiap x 2 A berlaku x x; maka (x; x) 2 R2 untuk setiap x 2 A; akibatnya setiap x 2 A re‡eksif. z
3.5 Relasi Ekuivalensi
90
Konklusi 7 Berdasarkan Konklusi 1, jika jAj = n; maka diperoleh bahwa 2 jA Aj = n2 dan banyaknya relasi pada A adalah 2n : Sekarang, banyaknya relasi re‡eksif pada A adalah 2 2(n n) : Bukti. Misalkan A = fa1 ; a2 ; :::; an g; relasi R pada himpunan A re‡eksif jika dan hanya jika A1 = f(ai ; ai ) ai 2 Ag R (perhatikan bahwa jA1 j = n): Keanggotaan R yang lain merupakan anggota subhimpunan dari A2 = f(ai ; aj ) ai ; aj 2 A;
ai 6= aj g;
(perhatikan bahwa jA2 j = jA Aj jA1 j = n2 n). Dengan demikian ada 2 sebanyak 2(n n) cara untuk untuk mengkonstruksi R: z De…nisi 3.20 Suatu relasi R pada himpunan A disebut simetrik apabila berlaku (x; y) 2 R ) (y; x) 2 R; 8x; y 2 A: Contoh 3.34 Misalkan A = f1; 2; 3g; maka relasi 1. R1 = f(1; 2); (2; 1); (1; 3); (3; 1)g adalah simetrik tetapi tidak re‡eksif pada A: 2. R2 = f(1; 1); (2; 2); (3; 3); (3; 2)g adalah re‡eksif tetapi tidak simetrik pada A: 3. R3 = f(1; 1); (2; 2); (3; 3)g adalah re‡eksif sekaligus simetrik pada A: 4. R4 = f(1; 1); (2; 2); (3; 3); (2; 3); (3; 2)g adalah re‡eksif sekaligus simetrik pada A: 5. R5 = f(1; 1); (2; 3); (3; 3)g adalah bukan re‡eksif maupun simetrik pada A: Konklusi 8 Jika jAj = n; maka banyaknya relasi simetrik pada A adalah 2(
n2 +n ) 2
;
dan banyaknya relasi yang re‡eksif dan sekaligus simetrik adalah 2(
n2 n ) 2
:
3.5 Relasi Ekuivalensi
91
Bukti. Misalkan A = fa1 ; a2 ; :::; an g: Perhatikan bahwa himpunan A A bisa dituliskan sebagai A A = A1 [ A2 ; dimana A1 = f(ai ; ai ) 1 A2 = f(ai ; aj ) 1
i ng dan i; j n; i 6= jg:
Dalam hal ini, A1 \ A2 = ?; jA1 j = n; dan jA2 j = jA
Aj
jA1 j = n2
n
Perhatikan pula bahwa keanggotaan A2 dapat dibuat berpasang-pasangan, yaitu (ai ; aj ) berpasangan dengan (aj ; ai ); sehingga di dalam A2 ada sebanyak n2 n pasang. 2 Untuk mengkonstruksi suatu relasi simetrik berarti mende…nisikan himpunan yang anggotanya beberapa anggota dari A1 (boleh tidak ada) dan beberapa pasang dari A2 (boleh tidak ada). Dengan demikian banyaknya cara mengkonstruksi relasi simetrik adalah 2n
2
n2 n 2
=2
n2 +n 2
:
Untuk mengkonstruksi suatu relasi simetrik dan sekaligus re‡eksif berarti mende…nisikan himpunan yang anggotanya semua anggota dari A1 dan beberapa pasang dari A2 (boleh tidak ada). Dengan demikian banyaknya cara mengkonstruksi relasi simetrik dan sekaligus re‡eksif adalah 1
2
n2 n 2
=2
n2 n 2
: z
De…nisi 3.21 Suatu relasi R pada himpunan A disebut transitif apabila berlaku (x; y) dan (y; z) 2 R ) (x; z) 2 R; 8x; y; z 2 A: Contoh 3.35 Misalkan A = f1; 2; 3; 4g; maka relasi R1 = f(1; 1); (2; 3); (3; 4); (2; 4)g adalah transitif, sedangkan R2 = f(1; 3); (3; 2)g tidak transitif karena (1; 3); (3; 2) 2 R2 sedangakan (1; 2) 2 = R2 :
3.5 Relasi Ekuivalensi
92
De…nisi 3.22 Suatu relasi R pada himpunan A disebut antisimetrik apabila berlaku (x; y) dan (y; x) 2 R ) x = y; 8x; y 2 A: Contoh 3.36 Diberikan himpunan semesta U; dan misalkan P(U ) adalah himpunan kuasa dari U: Suatu R pada P(U ) yang dide…nisikan dengan (A; B) 2 R , A B merupakan relasi antisimetrik. Selain itu, perhatikan bahwa R juga merupakan relasi re‡eksif dan transitif. Tetapi, R tidak simetrik karena A B tidak selalu berakibat B A (ambil kasus A B; maka B * A). Contoh 3.37 Misalkan A = f1; 2; 3g: Jika relasi R pada A dide…nisikan dengan R = f(1; 2); (2; 1); (2; 3)g; maka R tidak simetrik karena (3; 2) 2 = R; dan R juga bukan antisimetrik karena 1 6= 2: Jika dide…nisikan relasi R1 = f(1; 1); (2; 2)g; maka R1 adalah simetrik dan juga antisimetrik. Jika dide…nisikan relasi R2 = f(1; 1); (2; 2); (1; 2)g; maka R2 adalah antisimetrik, tetapi tidak simetrik. Sebagai latihan, buktikan konklusi berikut ini. Konklusi 9 Jika jAj = n > 0; maka ada sebanyak (2n )(3
n2 n 2
)
cara untuk mende…nisikan relasi antisimetrik pada A: De…nisi 3.23 Relasi R pada himpunan A disebut ekuivalensi jika R adalah sekaligus re‡eksif, simetrik, dan transitif. Contoh 3.38 Misalkan A = f1; 2; 3g; maka relasi: 1. R1 = f(1; 1); (2; 2); (3; 3)g; 2. R2 = f(1; 1); (2; 2); (2; 3); (3; 2); (3; 3)g; 3. R3 = f(1; 1); (1; 3); (3; 1); (2; 2); (3; 3)g; dan 4. R4 = f(1; 1); (1; 2); (1; 3); (2; 2); (2; 3); (3; 2); (3; 3); (2; 1); (3; 1)g: semuanya adalah relasi ekuivalensi. De…nisi 3.24 Diberikan himpunan indeks I = f1; 2; :::; kg: Suatu partisi P dari himpunan X adalah keluarga subhimpunan tak-kosong dari X; ditulis P = fXi i 2 Ig; yang memenuhi:
3.5 Relasi Ekuivalensi
1.
k S
93
Xi = X; dan
i=1
2. untuk setiap i 6= j; Xi \ Xj = ?: Masing-masing subhimpunan Xi disebut part dari partisi P: Berdasarkan de…nisi tersebut, untuk sembarang x 2 X; maka ada tepat satu part dari P (dengan kata lain ada tepat satu s 2 I) sehingga x 2 Xs : Contoh 3.39 Misalkan X = f1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16g: Keluarga subhimpunan fX1 ; X2 ; X3 ; X4 ; X5 g dengan X1 = f1; 5; 9g; X2 = f2; 3; 4; 6; 7g; X3 = f8g; X4 = f10; 11; 13; 14g; X5 = f12; 15; 16g merupakan suatu partisi pada X: Teorema 3.11 Misalkan S(n; k) menotasikan banyaknya partisi dari himpunan X berangota n obyek ke dalam k part merupakan bilangan stirling jenis kedua, yaitu S(n; k); untuk 1 k n: Teorema 3.12 Setiap relasi ekuivalensi R pada X menentukan suatu partisi pada X: Dalam hal demikian, untuk sembarang x 2 X; suatu part yang memuat x; yaitu Cx = fy 2 X yRxg disebut kelas ekuivalensi dari x: Konvers dari teorema di atas juga benar, yaitu: setiap partisi dari X akan menentukan suatu relasi ekuivalensi R pada X: Dalam hal ini, xRy jika dan hanya jika x dan y berada di dalam suatu part yang sama. Contoh 3.40 Misalkan X = f1; 2; 5; 6; 7; 9; 11g: Relasi R pada X dide…nisikan: xRy jika dan hanya jika (x y) habis dibagi 5: Dengan mudah dapat diperiksa bahwa R adalah relasi ekuivalensi. Selanjutnya, partisi P pada X yang ditentukan oleh R adalah P = ff1; 6; 11g; f2; 7g; f5g; f9gg:
Chapter 4 Tiga Topik Pilihan Pada bab ini dibahas tiga yang terkait dengan masalah komputasi: Kompleksitas Komputasi. Bahasa: Mesin Status Berhingga. Relasi Rekurensi.
4.1
Kompleksitas Komputasi
Apabila syarat-syarat kebenaran suatu algoritme telah dipenuhi, maka pertanyaan yang muncul adalah berapa lama algoritme tersebut mampu menyelesaikan suatu problem. Kemudian, apabila satu problem dapat diselesaikan oleh lebih dari satu algoritme, maka algoritma mana yang terbaik. Untuk menjawab bertanyaan-pertanyaan ini diperlukan suatu parameter untuk mengukur baik tidaknya suatu algoritma. Faktanya, banyak hal yang mempengaruhi lama tidaknya suatu algoritma menyelesaikan suatu problem, diantaranya: compiler, kecepatan eksekusi, atau karakteristik komputer yang digunakan. Terlepas dari ukuran-ukuran …sik ini, ada suatu ukuran matematis yang akan kita kedepankan dalam bahasan ini, yaitu fungsi kompleksitas waktu (time-complexity function). Fungsi kompleksitas waktu f (n) adalah yang mengambil nilai input intejer positif n dan mepunyai sifat f (n) akan membesar jika n membesar. Sifat inilah yang akan membawa kita pada masalah analisis algoritme yang terkait dengan masalah nilai n besar. Untuk mempelajari fungsi kompleksitas waktu diperlukan suatu pengertian atau konsep yang disebut dominasi fungsi.
94
4.1 Kompleksitas Komputasi
4.1.1
95
Dominasi Fungsi
De…nisi 4.1 Misalkan f; g : Z+ ! R: Kita katakan bahwa g mendominasi f (atau f didominasi g) jika ada konstata m 2 R+ dan konstanta k 2 Z+ sedemikian sehingga jf (n)j
m jg (n)j ;
k; 8n 2 Z+ :
dimana n
Dari de…nisi di atas terlihat bahwa pembatasan nilai fungsi f oleh kelipatan m nilai fungsi g berlaku untuk nilai n k; sedangkan untuk k < n tidak menjadi perhatian. Ini menunjukkan bahwa dominansi fungsi hanya berkaitan dengan batasan-batasan fungsi untuk nilai n besar. Apabila f didominasi oleh g; maka f dikatakan berorder (paling banyak) g dan ditulis dengan f 2 O (g) ; dimana O (g) dibaca dengan ”order g”atau ”Oh-besar dari g”. O (g) merepresentasikan himpunan semua fungsi dengan domain Z+ dan kodomain R+ yang didominansi oleh g: Contoh 4.1 Misalkan f; g : Z+ ! R+ dengan f (n) = 5n dan g (n) = n2 : Dengan mudah dapat diperiksa bahwa f (n) > g (n) untuk 1 n 4: Akan tetapi, jika 5 n; maka 5n n2 ; sehingga jf (n)j = 5n
n2 = jg (n)j ;
untuk n
5:
Akibatnya, f 2 O (g) dengan m = 1 dan k = 5: Berdasarkan De…nisi 4.1 bisa dibuktikan bahwa g 2 = O (f ) : Secara umum, fungsi linear didominasi oleh fungsi kuadrat, akan tetapi fungsi kuadrat tidak didominasi oleh fungsi linear. Contoh 4.2 Misalkan f; g : Z+ ! R+ dengan f (n) = 5n2 + 3n + 1 dan g (n) = n2 : Maka jf (n)j = 5n2 + 3n + 1 = 5n2 + 3n + 1 untuk semua n Dilain pihak
1: Kesimpulannya, f 2 O (g) dengan m = 9 dan k = 1:
jg (n)j = n2 = n2 untuk semua n
5n2 + 3n2 + n2 = 9n2 = 9 jg (n)j ;
5n2 + 3n + 1 = 5n2 + 3n + 1 = jf (n)j ;
1: Kesimpulannya, g 2 O (f ) : Jadi O (f ) = O (g) = O(n2 ):
Dengan kata lain f dan g saling mendominasi satu sama lain.
4.1 Kompleksitas Komputasi
96
Dari contoh di atas ini, secara umum bisa dibuktikan bahwa fungsi kuadrat saling mendominasi satu sama lain. Jadi, untuk sembarang fungsi kuadrat adalah anggota dari O (n2 ) : Contoh 4.3 Misalkan f; g : Z+ ! R+ dengan f (n) = 3n3 + 7n2 dan g (n) = n3 : Maka
4n + 2
jf (n)j = 3n3 + 7n2 4n + 2 3n3 + 7n2 + j 4nj + j2j 3n3 + 7n3 + 4n3 + 2n3 = 16n3 = 16 jg (n)j ; untuk semua n 1: Kesimpulannya, f 2 O (g) dengan m = 16 dan k = 1: Dilain pihak karena (7n 4) > 0 untuk semua n 1; kita dapatkan jg (n)j = n3 = n3 untuk semua n Jadi
3n3 + (7n
4) n + 2 = 3n3 + (7n
4) n + 2 = jf (n)j
1: Kesimpulannya, g 2 O (f ) dengan m = 1 dan k = 1: O (f ) = O (g) = O(n3 ):
Dengan kata lain f dan g saling mendominasi satu sama lain. Dari contoh di atas ini, secara umum bisa dibuktikan bahwa fungsi kubik saling mendominasi satu sama lain. Jadi, untuk sembarang fungsi kubik adalah anggota dari O (n3 ) : Juga bisa dibuktikan bahwa fungsi kuadrat didominasi oleh fungsi kubik, tetapi fungsi kuadrat tidak mendominasi fungsi kubik. Contoh 4.4 Misalkan f; g : Z+ ! R+ dengan f (n) = 1 + 2 + 3 + ::: + n; dan g (n) = 12 + 22 + 32 + ::: + n2 : Dengan induksi matematika bisa dibuktikan bahwa f (n) =
n (n + 1) (2n + 1) n (n + 1) ; dan g (n) = : 2 6
Jadi, f adalah fungsi kuadrat dan g adalah fungsi kubik, sehingga f 2 O n2 ; dan g 2 O n3 Dari beberapa contoh dominansi fungsi di atas, sampailah kita pada dua observasi berikut ini yang nantinya bisa di manfaatkan untuk analisis algoritme.
4.1 Kompleksitas Komputasi
97
1. Misalkan f; g; h : Z+ ! R; dimana f 2 O (g) dan g 2 O (h) ; maka bisa dibuktikan bahwa f 2 O (h) : Akan tetapi, jika h 2 = O (g) ; maka dapat kita simpulkan bahwa: ”pernyataan f 2 O (g) " mempunyai batasan lebih baik dari pada ”pernyataan f 2 O (h) ": Contonya, jika f (n) = 5, g (n) = 5n; dan h (n) = n2 untuk setiap n 2 Z+ ; maka f 2 O (g), g 2 O (h) ; dan f 2 O (h) : Karena h 2 = O (g) ; maka f 2 O (g) mempunyai batasan lebih baik dari pada f 2 O (h) : 2. Dalam tabel berikut diberikan beberapa bentuk Oh-besar yang sering muncul dalam aplikasi analisis algoritme. Urutan batasan lebih baik disusun dari atas ke bawah. Tabel Oh-Besar Bentuk Oh-besar Nama O (1) Konstan O (log2 n) Logaritmik O (n) Linear O (n log2 n) n log2 n O (n2 ) Kuadratik O (n3 ) Kubik m O (n ) ; m = 0; 1; 2; ::: Polinomial O (cn ) ; c > 1 Eksponesial O (n!) Faktorial Contoh 4.5 Misalkan f; g; h : Z+ ! R dide…sikan dengan f (n) = 57, g (n) = 5n 1; dan h (n) = 10 log2 n + 11: Maka f 2 O (1), g 2 O (n) ; dan f 2 O (log2 n) : Soal 4.1.1 Gunakan Tabel Oh-besar untuk menentukan bentuk Oh-besar fungsifungsi f : Z+ ! R berikut. (Beberapa diantaranya kemudian buktikan!) 1. f (n) = n3
5n2 + 25n
2. f (n) = 3 + sin
1 n
165: Buktikan!
: Buktikan!
3. f (n) = 5n + cos (2n
1) : Buktikan!
4. (n) = 3n5 + 5:2n : Buktikan! 5. f (n) = 5n2 + 3n log2 n + 3n 6. f (n) = 4n + (n
1)4 : Buktikan!
4.1 Kompleksitas Komputasi
98
7. f (n) = 1 + 3 + 5 + ::: + (2n
1) : Buktikan!
8. f (n) = 1 + 4 + 7 + ::: + (3n
2) : Buktikan!
9. f (n) = 7n + 5n log2 n 10. f (n) = 3n + (n
20:
2)! + 7n
11. f (n) = 5n + 100n5 + 10n 12. f (n) = 3n10
12: 10:
n2 log2 n + 3n:
13. f (n) = n3
n2 log2 n + 4n2 + 1:
14. f (n) = n!
n10 log2 n2 + 42n + 1:
4.1.2
Analisis Algoritme
Tibalah saatnya sekarang kita akan menerapkan konsep dominansi fungsi untuk mengukur berapa lama algoritme mampu menyelesaikan suatu problem, dan pada gilirannya dapat juga digunakan untuk memilih algoritme mana yang terbaik apabila ada lebih dari satu algoritme yang digunakan untuk menyelesaikan satu problem. Dalam hal ini kita de…nisikan fungsi komplesitas waktu f (n) sebagai fungsi yang mengukur banyaknya operasi dalam suatu algoritme yang mempunyai variabel input n: Yang dimaksud dengan banyaknya operasi adalah banyaknya operasi dasar (jumlah, kurang, kali, dan bagi), ditambahkan dengan assignment, dan perbandingan (ekspresi logika). Setelah kita mende…nisikan f (n) untuk suatu algoritme, kemudian dengan Tabel O-Besar kita tentukan order dari f atau bentuk Oh-besar dari f sebagai ukuran e…siensi algoritme yang bersangkutan. Contoh 4.6 Misalkan diketahui Prosedur 8. De…nisikan fungsi f (n) yang menyatakan banyaknya operasinya. Kemudian tentukan oder dari f: Jawab. Berikut ini rincian untuk menghitung jumlah operasi dalam prosedur 8: 1. Ada 4 operasi assignment sebagai statemen nilai awal untuk variabelvariabel: sld, s, b, dan i. 2. Dalam blok statemen while yang diulang sebanyak n kali terdapat 6 operasi, yaitu: 2 assignmen, 3 jumlah, dan 1 kali.
4.1 Kompleksitas Komputasi
99
3. Jumlah operasi perbandingan ada (n + 1), yaitu: (a) untuk i = 1 sampai dengan n yang menghasilkan keputusan dieksekusinya blok statemen while. (b) untuk i = n + 1 yang menghasilkan keputusan berhentinya eksekusi blok statemen while. Dengan demikian kita dapat mende…nisikan fungsi f sebagai f (n) = 4 + 6n + (n + 1) = 7n + 5;
untuk n
1 dan n 2 Z+ :
Jadi f 2 O (n) ; berarti Prosedur 8 mempunyai ukuran waktu eksekusi yang linear: z PROSEDUR 8 procedure Saldo(n : intejer positif) begin sld := 100000 s := 50000 b := 0:01 i := 1 while i < n + 1 do begin sld := sld + s + b sld i := i + 1 end return(sld) end Contoh 4.7 Misalkan diketahui Prosedur 9 dan Prosedur 10. De…nisikan fungsi f (n) untuk masing-masing prosedur itu yang menyatakan jumlah operasinya. Kemudian tentukan oder dari f: Jawab. Kita catat bahwa Prosedur 9 dan Prosedur 10 adalah samasama algoritme yang digunakan untuk menghitung jumlah n intejer positif pertama. Mereka juga menggunakan jenis statemen yang sama (berulang), yang berbeda cuma penggunaan statemen for dan while. Dengan rincian perhitungan yang sama dengan jawaban pada Contoh 4.6, maka de…nisi fungsi f (n) untuk Prosedur 9 adalah f (n) = 3n + 1:
4.1 Kompleksitas Komputasi
100
Nilai ini berasal dari: 1 assignment untuk nilai awal variabel y; n assignment untuk variabel i; dan 2 operasi pada blok statemen for yang diulang sebanyak n kali. Sedangkan de…nisi f (n) untuk Prosedur 10 adalah f (n) = 5n + 3: Nilai ini berasal dari: 2 assignment untuk nilai awal variabel y dan i; 4 operasi pada blok statemen while yang diulang sebanyak n kali, dan ada (n + 1) perbandingan pada statemen while. Jadi, Prosedur 9 dan Prosedur 10 sama-sama mempunyai ukuran waktu eksekusi yang linear: z PROSEDUR 10 procedure Sum(n 2 Z+ ) PROSEDUR 9 begin procedure Sum(n 2 Z+ ) y := 0 begin i := 1 y := 0 while (i < n) _ (i = n) do for i := 1 to n do begin y := y + i y := y + i return(y) i := i + 1 end end return(y) end Dapat kita simpulkan bahwa penggunaan statemen berulang untuk for dan while adalah sama jika ditinjau pada ukuran waktu eksekusimya untuk suatu problem yang sama. Sekarang kita perhatikan bahwa jumlah n intejer positif pertama mepunyai rumus n X i=1
i=
n (n + 1) 2
yang bisa dibuktikan dengan induksi matematik. Dengan mudah prosedur perhitungan ruas kanan persamaan di atas dapat dituliskan dalam Prosedur 11. PROSEDUR 11 procedure Sum(n : intejer) begin y := n (n + 1) =2 return(y) end Prosedur ini mempunyai fungsi komplesitas waktu f (n) = 4; sehingga f 2 O (1) : Jadi problem menghitung jumlah n intejer positif pertama yang ditulis
4.1 Kompleksitas Komputasi
101
dalam Prosedur 11 jauh lebih baik dari pada Prosedur 9 atau Prosedur 10. Contoh 4.8 Misalkan diketahui Prosedur 12 untuk menghitung an . De…nisikan fungsi f (n) yang menyatakan jumlah operasinya, kemudian tentukan order dari f (n): PROSEDUR 12 procedure Power(a : real; n : intejer positif) begin y := 1:0 for i := 1 to n do y := y a return(y) end Jawab. Dengan rincian perhitungan yang sama dengan jawaban pada contoh-contoh sebelumnya diperoleh bahwa f (n) = 3n + 1: Nilai ini berasal dari: 1 assignment untuk nilai awal variabel y; n assignment untuk variabel i; dan 2 operasi pada blok statemen for yang diulang sebanyak n kali. Jadi, f 2 O (n) ; sehingga lamanya waktu Prosedur 12 menghitung an adalah linear. z Pertanyaan yang timbul menyusul jawaban Contoh 1.17 adalah adakah algoritme yang lain untuk menghitung an yang mempunyai fungsi kompleksitas waktu lebih baik. Untuk itu perhatikan analisis perhitungan berikut. Berdasarkan de…nisi an := aa:::a | {z } n kali dan dengan sifat asosiatif perkalian diperoleh bahwa, untuk n genap: an
dan untuk n ganjil: an
:=
:=
(aa)(aa)::: (aa) = | {z } n kali 2
(aa)(aa)::: (aa) a | {z } n b 2 c kali
=
n
(a2 ) 2
bn c 2
(a2 )
a
Dengan analisa di atas, perhatikan algoritma berikut ini.
:
4.1 Kompleksitas Komputasi
102
PROSEDUR 13 procedure Power(a : real, n : intejer positif) begin y := 1:0 i := n while i > 0 do begin if i 6= 2 b 2i c then y := y a i := b 2i c if i > 0 then a := a a end return(y) end Contoh 4.9 Berdasarkan Prosedur 13, apabila diketahui sembarang bilangan a : real; tentukan langkah-langkah untuk menghitung: (a) a7 dan (b) a8 : Jawab. 1. Nilai awal: y := 1:0; i := n = 7: Karena i = 7 > 0; maka dilakukan langkah-langkah pengulangan: (a) i = 7; berarti ganjil, maka: y := y a = 1:0 a = a i := b 72 c = 3: Karena i = 3 > 0; maka a := a a = a2 dan pengulangan berlanjut. (b) i = 3; berarti i ganjil, maka: y := y a = a a2 = a3 i := b 23 c = 1: Karena i = 1 > 0; maka a := a2 a2 = a4 dan pengulangan berlanjut. (c) i = 1; berarti i ganjil, maka: y := y a = a3 a4 = a7 i := b 21 c = 0: Karena i = 0; maka proses BERHENTI. Outputnya adalah y = a7 :
4.1 Kompleksitas Komputasi
103
2. Nilai awal: y = 1:0; i = n = 8: Karena i = 8 > 0; maka dilakukan langkah-langkah pengulangan: (a) i = 8; berarti genap, maka: y := 1:0 i := b 28 c = 4: Karena i = 4 > 0; maka a := a a = a2 dan pengulangan berlanjut. (b) i = 4; berarti i genap, maka: y := 1:0 i := b 24 c = 2: Karena i = 2 > 0; maka a := a2 a2 = a4 dan pengulangan berlanjut. (c) i = 2; berarti i genap, maka hitung: y := 1:0 i := b 22 c = 1: Karena i = 1 > 0; maka: a := a4 a4 = a8 dan pengulangan berlanjut. (d) i = 1; berarti i ganjil, maka: y := y a = 1:0 a8 = a8 i := b 21 c = 0: Karena i = 0; maka proses BERHENTI. Outputnya adalah y = a8 : z Dari Contoh 4.9, bisa kita amati bahwa banyaknya proses pengulangan untuk n = 7 adalah 3 = log2 4 + 1; dan untuk n = 8 adalah 4 = log2 8 + 1: Sedangkan banyaknya perbandingan dalam proses pengulangan untuk n = 7 adalah 4; dan untuk n = 8 adalah 5: Secara umum untuk menentukan fungsi komplesitas komputasi Prosedur 13, perhatikan pola perhitungan banyaknya proses pengulangan dan perbandingan dalam tabel berikut ini. n Banyaknya ulangan Banyaknya perbandingan 2 2 = log2 2 + 1 3 = log2 2 + 2 3 2 3 4 3 = log2 4 + 1 4 = log2 4 + 2 5 3 4 6 3 4 7 3 4 8 4 = log2 8 + 1 5 = log2 8 + 2
4.1 Kompleksitas Komputasi
n 9
15 16 17 31 32 33 63 .. . 2i (2i + 1) (2i+1 .. .
104
Banyaknya ulangan Banyaknya perbandingan 4 5 5 = log2 16 + 1 6 = log2 16 + 2 5 6 6 = log2 32 + 1 7 = log2 32 + 2 6 7 .. .. . . i + 1 = log2 2i + 1 i + 2 = log2 2i + 2 1) i+1 i+2 .. .. . .
Jadi order fungsi kompleksitas komputasi Prosedur 13 adalah O (log2 n) : Hasil ini menunjukkan bahwa Prosedur 13 lebih baik dari Prosedur 12 untuk problem yang sama.
4.1.3
Algoritme Pelacaan Linear
Sebelum kita akhiri subbab ini, berikut ini diberikan algoritme untuk problem yang disebut pelacakan linear (linear search). Misalkan diberikan barisan n bilangan: a1 ; a2 ; :::; an dan suatu bilangan k yang disebut kunci. Problemnya adalah mencari k dalam barisan yang bersangkutan. Artinya, apabila k sama dengan salah satu bilangan dalam barisan, sebut saja k = ai ; maka output yang diberikan adalah nilai indeks dari ai ; yaitu i. Apabila tidak ada satupun bilangan dalam barisan yang sama dengan k; maka output yang diberikan adalah 0: Algoritme untuk problem ini diberikan dalam prosedur berikut. PROSEDUR 14 procedure LinearSearch(k : real, a1 ; a2 ; :::; an : real) begin i := 1 while ((i < n _ i = n) ^ k 6= ai ) do i := i + 1 if (i < n _ i = n) then lokasi := i else lokasi := 0 return(lokasi) end Untuk menentukan kompleksitan komputasi Prosedur 14, perhatikan statemen pengulangan while. Kita amati bahwa selesainya proses pengu-
4.1 Kompleksitas Komputasi
105
langan bisa sangat cepat, rata-rata, atau bisa jadi lebih lama. Apabila k = a1 atau k = ai untuk suatu nilai konstan i yang kecil, maka proses cepat selesai. Inilah yang disebut dengan kasus terbaik (best case). Dalam problem ini komplesitas komputasi untuk kasus terbaiknya berorder konstan O (1) : Apabila k = an atau k = ai untuk suatu nilai i yang cukup besar atau bahkan k 6= ai untuk setiap nilai i, maka proses pengulangan berlangsung lama. Inilah yang disebut dengan kasus terburuk (worst case). Dalam problem ini komplesitas komputasi untuk kasus terburuknya berorder linear O (n) : Disamping kasus terbaik dan terburuk adalah kasus rata-rata (average case). Penentuan ordernya diperlukan pengertian teori peluang yang pembahasannya diluar jangkauan diktat ini. Sebagai rangkuman subbab ini, sekali lagi kita tekankan bahwa apa yang kita pelajari dalam kompleksitas komputasi adalah berkenaan dengan nilai n yang besar. Sedangkan untuk nilai n yang kecil, bisa diselesaikan dalam kasus per kasus (case by case). Ini dapat kita perhatikan dalam ilustrasi berikut. Misalkan ada dua algoritme, yaitu A dan B; untuk menyelesaikan suatu problem yang sama. Misalkan pula f adalah fungsi kompleksitas komputasi untuk A dengan f (n) = 1000n, dan g adalah fungsi kompleksitas komputasi untuk B dengan g (n) = n2 : Jelas bahwa karena f linear dan g kuadratik, berdasarkan urutan pada Tabel O-Besar, algoritme A lebih baik dari B: Jelas pernyataan ini mengacu untuk nilai n yang besar. Namun yang menjadi pernyataan berikutnya adalah sejauh mana n dianggap ”besar”dan n dianggap ”kecil”. Untuk itu diperlukan informasi tambahan yang intinya adalah menentukan nilai k sehingga jf (n)j
m:jg (n) j;
untuk setiap n
k:
Dalam kasus kita ini, jf (n)j = 1000n
n2 = jg (n) j;
untuk setiap n
1000:
Jadi yang dimaksud dengan n ”besar” kalau n 1000; dan n dikatakan ”kecil”kalau n < 1000: Untuk n yang kecil Algoritme B lebih baik dari A: Waktu pemrosesan (Running Time) adalah waktu yang diperlukan untuk mengeksekusi suatu algoritme atau program. Sebagai ilustrasi, tabel berikut ini memberikan perkiraan waktu pemrosesan algoritme untuk beberapa order kompleksitas dan untuk nilai n : 2; 16; dan 64:. Diasumsi kecepatan eksekusi komputer adalah satu operasi diselesaikan dalam waktu 10 6 detik (10 6 = 1 mikro detik), sehingga satuan isian tabelnya adalah mikro detik.
4.1 Kompleksitas Komputasi
Problem Berukuran n 2 16 64
log2 n 1 4 6
n n log2 n 2 2 16 64 64 384
106
Order n2 2n 4 4 256 6; 5 104 4096 1; 84 1019
n! 2 2; 1 1013 > 1089
Soal 4.1.2 Buatlah analisis pada beberapa algoritme berikut: 1. Panggil Algoritme 2, dan de…nisikan fungsi f (n) untuk algoritma itu yang menyatakan jumlah operasinya. Kemudian tentukan oder dari f: 2. Panggil Algoritme 5, dan de…nisikan fungsi f (n) untuk algoritma itu yang menyatakan jumlah operasinya. Kemudian tentukan oder dari f: 3. Panggil Algoritme 6, dan de…nisikan fungsi f (n) untuk algoritma itu yang menyatakan jumlah operasinya. Kemudian tentukan oder dari f: 4. Panggil Algoritme 10, dan de…nisikan fungsi f (n) untuk algoritma itu yang menyatakan jumlah operasinya. Kemudian tentukan oder dari f: 5. Panggil Algoritme 7 dan Algoritma 8, dan de…nisikan fungsi f (n) untuk masing algoritma itu yang menyatakan jumlah operasinya. Kemudian buatlah analisis e…siensinya: 6. Pada masing-masing segmen program pseudocode berikut, f (n) menyatakan banyaknya kali statemen sum := sum + 1 dieksekusi. Tentukan f (n) dan ordernya. begin sum := 0 for i := 1 to n do (a) for j := 1 to n do sum := sum + 1 end begin sum := 0 for i := 1 to n do (b) for j := 1 to n n do sum := sum + 1 end
4.2 Bahasa: Mesin Status Berhingga
107
begin sum := 0 for i := 1 to n do (c) for j := i to n do sum := sum + 1 end begin sum := 0 i := n while i > 0 do begin (d) sum := sum + 1 i := b 2i c end end
4.2
Bahasa: Mesin Status Berhingga
Dengan menggunakan konsep himpunan dan fungsi, pada bab ini akan dibahas suatu model abstrak yang disebut dengan mesin status berhingga (…nite state machine) atau disebut juga sirkuit sekuensial (sequential circuit). Sirkuit yang dimaksud adalah satu dari dua tipe dasar kontrol sirkuit yang terdapat di dalam komputer dijitel. Sesuai dengan namanya, mesin status berhingga mempunyai sejumlah berhingga status internal dimana mesin mampu mengingat informasi tertentu ketika berada di dalam status khusus.
4.2.1
Bahasa: Teori Himpunan String
Barisan simbol, atau karakter, merupakan peranan kunci di dalam pemrosesan informasi oleh komputer. Sebagai gambaran, program komputer dapat direpresentasikan sebagai barisan karakter yang berhingga. Suatu cara aljabar diperlukan untuk menangani barisan berhingga tersebut atau menangani string. Pada bagian ini kita gunakan untuk menotasikan himpunan berhingga tak-kosong dari simbol-simbol, himpunan ini disebut alfabet. Sebagai misal, = f0; 1g atau = fa; b; c; dg: Agar tidak rancu dengan pengertian string nantinya, perlu disepakati bahwa keanggotaan tidak dibolehkan jajaran lebih dari satu simbol. Misalnya, pende…nisian = f0; 1; 2; 11; 13g atau = fa; b; c; ab; bbcg tidak diperkenankan.
4.2 Bahasa: Mesin Status Berhingga
108
Suatu string dapat dikonstruksi dari anggota-anggota melalui suatu cara yang sistematik dengan ide rekursif sebagaimana dinyatakan dalam de…nisi berikut ini. De…nisi 4.2 Jika adalah suatu alfabet dan n 2 Z+ ; dide…nisikan kuasa dari secara rekursif sebagai berikut: 1.
1
2.
n+1
; dan
=
= fxy=x 2
Contoh 4.10 Misalkan 2
g; xy menotasikan jajaran x dan y:
= f0; 1g; maka
= f00; 01; 10; 11g; = f000; 001; 010; 011; 100; 101; 110; 111g; dan = f0000; 0001; 0010; 0011; 0100; 0101; 0110; 0111; 1000; 1001; 1010; 1011; 1100; 1101; 1110; 1111g:
3 4
Misalkan
n
;y 2
= fa; b; cg; maka 2 3
= faa; ab; ac; ba; bb; bc; ca; cb; ccg; dan = faaa; aab; ::; acc; baa; bab; ::; bcc; caa; cab; ::; cccg:
Suatu anggota dari n disebut string n-simbol atau string dengan panjang n: Secara umum, jika j j = m; maka j n j = mn : De…nisi 4.3 Untuk alfabet ; dide…nisikan 0 = f g; dimana menotasikan string kosong, yaitu string yang tidak memuat simbol apapun yang diambil dari : Dari de…nisi di atas perlu dicatat bahwa: 1.
2 =
:
2. Karena
2 =
; maka f g
:
3. Karena jf gj = 1 6= 0 = j?j; maka f g = 6 ?: De…nisi 4.4 Jika 1.
+
=
1 S
n=1
n
adalah suatu alfabet, maka =
S
n2Z+
n
; dan
4.2 Bahasa: Mesin Status Berhingga
2.
=
1 S
n
109
:
n=0
Dari de…nisi di atas, jelas bahwa =
+
[
0
:
Sebagai tambahan dari istilah string, anggota-anggota dari + atau disebut juga dengan kata (word) atau kadangkala disebut dengan kalimat (sentence). Perlu juga dicatat bahwa walaupun himpunan + dan takhingga, anggota-anggotanya diacu sebagai string simbol yang berhingga. Contoh 4.11 Untuk = f0; 1g; himpunan memuat semua string dari simbol \0" dan \1" termasuk string kosong. Untuk n kecil, kita masih mampu menuliskan semua anggota dari n : Misalkan = f ; 0; 1; :::; 9; +; ; ; =; (; )g; dimana menotasikan spasi (blank). Untuk pende…nisian ini, cukup sulit menggambarkan semua anggota ; dan untuk n > 2 terlalu banyak menuliskan semua anggota dari n : Suatu contoh anggota dari adalah ekspresi aritmatik (6 + 3)=(5 (34 21)); atau suatu string tanpa makna +)(4 + )) De…nisi 4.5 Jika w1 ; w2 2
+
1=3(:
; maka bisa ditulis
w1 = x1 x2 :::xm dan w2 = y1 y2 :::yn ; dan x1 ; x2; :::; xm ; y1 ; y2; :::; yn 2 w1 = w2 jika
untuk m; n 2 Z+ ;
: String w1 dan w2 dikatakan sama, notasi
m = n; dan xi = yi untuk setiap 1
i
m:
De…nisi 4.6 Misalkan w = x1 x2 :::xn 2 + ; dimana xi 2 untuk setiap 1 i n: Panjang dari w, notasi jjwjj ; dide…nisikan sebagai nilai dari n: Untuk kasus string kosong ; maka jj jj = 0:
4.2 Bahasa: Mesin Status Berhingga
De…nisi 4.7 Jika x; y 2
+
110
dengan
x = x1 x2 :::xm dan y = y1 y2 :::yn ;
untuk m; n 2 Z+ ; dan
x1 ; x2; :::; xm ; y1 ; y2; :::; yn 2
:
Rangkaian (concatenation) dari x dan y, dinotasikan xy, dide…nisikan sebagai string xy = x1 x2 :::xm y1 y2 :::yn : Rangkaian dari x dan
adalah
x = x1 x2 :::xm = x1 x2 :::xm = x: Rangkaian dari
dan
adalah = :
Rangkaian merupakan operasi biner yang tertutup pada (juga + ), bersifat asosiatif tetapi tidak komutatif (kecuali jika j j = 1), dan karena x = x = x untuk setiap x 2 ; maka merupakan unsur identitas dari terhadap operasi rangkaian tersebut. Keterkaitan operasi rangkaian dan panjang string diantaranya dapat dilihat dalam sifat berikut ini. jjxyjj = jjxjj + jjyjj ; untuk setiap x; y 2 ; kxk = kx k; untuk setiap x 2 ; dan kzk = jjz jj = jj zjj = 1; untuk setiap z 2 : De…nisi 4.8 Untuk setiap x 2 cara rekursif sebagai
; dide…nisikan kuasa (power) dari x se-
x0 = ; x1 = x; x2 = xx; x3 = x2 x; :::; xn+1 = xn x; untuk n 2 N. Contoh 4.12 Jika
= f0; 1g dan x = 01; maka
x0 = ; x1 = 01; x2 = 0101; x3 = 010101; kx2 k = 4 = 2kxk; x3 = 6 = 3kxk; dan secara umum kxn k = nkxk; untuk n > 0: De…nisi 4.9 Jika x; y 2 dan w = xy; maka string x disebut pre…ks (pre…x) dari w; dan jika y 6= ; maka x disebut pre…ks sejati (proper pre…x) dari w: Dalam hal ini, y disebut sa…ks (su¢ x) dari w; dan jika x 6= ; maka y disebut sa…ks sejati (proper pre…x) dari w:
4.2 Bahasa: Mesin Status Berhingga
111
De…nisi 4.10 Jika x; y; z 2 dan w = xyz; maka y disebut dengan substring dari w: Apabila sedikitnya satu dari x dan z bukan ; maka y disebut substring sejati dari w: De…nisi 4.11 Diberikan alfabet ; sembarang subhimpunan dari disebut dengan bahasa (language) atas : Dalam de…nisi ini termasuk himpunan kosong ? dan disebut bahasa kosong (empty language). De…nisi 4.12 Untuk alfabet dan bahasa A; B dan B; dinotasikan AB; dide…nisikan sebagai
; rangkaian dari A
AB = fab=a 2 A; b 2 Bg: Teorema 4.1 Untuk alfabet
dan bahasa A; B; C
; maka:
1. Af g = f gA = A 2. (AB)C = A(BC) 3. A(B [ C) = AB [ AC 4. (B [ C)A = BA [ CA 5. A(B \ C)
AB \ AC
6. (B \ C)A
BA \ CA
De…nisi 4.13 Diberikan bahasa A ; kita dapat mengkonstruksi bahasabahasa yang lain dengan langkah-langkah sebagai berikut: 1. A0 = f g; A1 = A; dan untuk setiap n 2 Z+ ; An+1 = fab=a 2 A; b 2 An g: 2. A+ =
S
An ; disebut ketertutupan positif (positive closure) dari A:
n2Z+
3. A = A+ [ f g; disebut ketertutupan Kleene (Kleene closure) dari A:
4.2 Bahasa: Mesin Status Berhingga
4.2.2
112
Mesin Status Berhingga
Sebelum mende…nisikan mesin status berhingga, diberikan ilustrasi berikut. Vending machine menjual dua minuman kaleng: Cola (C) dan Fanta (F) dengan harga sama 20c/: Mesin tersebut menerima koin: Nikel (senilai 5c/), Dime (10c/), dan Kuarter (25c/), dan mampu memberikan pengembalian. Jika seseorang ingin membeli Fanta dengan menggunakan 2 Nikel dan 1 Dime, cara kerja mesin tersebut digambarkan dalam tabel berikut ini. t0
t1 t2 t3 t4 Status (1) s0 (4) s1 (5c/) (7) s2 (10c/) (10) s3 (20c/) (10) s0 Input (2) 5c/ (5) 5c/ (8) 10c/ (11) W Output (3) K(Kosong) (6) K (9) K (12) F Jika seseorang ingin membeli Cola dengan menggunakan 1 Kuarter, cara kerja mesin tersebut digambarkan dalam tabel berikut ini. t0
t1 t2 Status (1) s0 (4) s1 (20c/) (7) s0 Input (2) 25c/ (5) B Output (3) 5c/ (kembalian) (6) C Ilustrasi pada vending machine di atas merupakan gambaran yang umumnya terjadi pada cara kerja komputer dijitel atau sistem komunikasi telefon. Hal ini dapat diabstraksikan sebagai berikut: 1. Pada setiap waktu, mesin berada dalam keadaan salah satu dari sejumlah berhingga status. Status-status ini disebut dengan status internal, dinyatakan: s0; s1; s2; ...,sk : 2. Mesin siap menerima input sejumlah berhingga simbol. Himpunan simbol-simbol input yang mungkin disebut alfabet input, dinotasikan I: Dalam ilustrasi di atas, I = f5c/; 10c/; 25c/; W; Bg: 3. Output dan status berikutnya ditentukan oleh kombinasi input dan status internal. Himpunan semua simbol output yang mungkin disebut alfabet output, dinotasikan O: O = f5c/; 10c/; 15c/; 20c/; F; C; K (kosong)g:
4.3 Relasi Rekurensi
113
De…nisi 4.14 Mesin Status Berhingga adalah rangkai-5, notasi M = (S; I; O; ; $); dimana S adalah himpunan internal status untuk M ; I adalah alfabet input untuk M ; O adalah alfabet output untuk M ; : S I ! S adalah fungsi status berhingga; dan $ : S I ! O adalah fungsi output. Karena dalam mesin status berhingga, S; I; dan O adalah himpunanhimpunan berhingga, maka (s; x) dan $(s; x) untuk setiap s 2 S dan untuk semua x 2 I dapat direpresentasikan dengan tabel yang disebut Tabel Status, atau dapat direpresentasikan dengan Diagram Status. Contoh 4.13 Dide…nisikan mesin status berhingga M = (S; I; O; ; $); dimana S = fs0; s1 ; s3 g; I = O = f0; 1g; dan ; $ diberikan dalam tabel status berikut. $ 0 1 0 1 s0 s0 s1 0 0 s1 s2 s1 0 0 s2 s0 s1 0 1 Jika M diberi dinyatakan dalam Status s0 Input 1 Output 0
4.3
input string 1010; maka outputnya string 0010: Hasil ini tabel berikut. s1 s2 s1 s2 0 1 0 0 0 1 0
Relasi Rekurensi
Telah diperkenalkan dalam bahasan sebelumnya tentang de…nisi rekursif, yang pada dasarnya merumuskan suku ke-n dari suatu barisan tidak secara eksplisit melainkan nilainya bergantung pada suku-suku sebelumnya. Dengan ide hampir serupa, dalam bab ini kita akan membahas fungsi a (n) ; yang seperti biasanya lebih enak dituliskan dengan an (untuk n 2 Z+ ); dimana nilai an bergantung nilai suku-suku sebelunya sebelumnya: an 1 ; an 2 ; ..., a1 ; a0 : Relasi yang demikian disebut relasi rekurensi.
4.3.1
Relasi Rekurensi Linear Order Pertama
Untuk memahami relasi rekurensi linear order pertama, sebagai gambaran ada baiknya kita ingat kembali de…nisi progresi geometrik (deret geometri). Progresi geometrik adalah barisan tak hingga, contohnya: 5, 15, 45, 135; ...,
4.3 Relasi Rekurensi
114
dimana pembagian setiap suku (kecuali suku pertama) dengan tepat satu suku sebelumnya adalah konstan, disebut rasio bersama. Pada contoh kita rasio bersamanya adalah 3; karena 3 = 15 = 45 = 135 = :::: Jika a0 ; a1 ; a2 ; 5 15 45 =r ... adalah progresi geometrik dengan rasio bersama adalah r; maka an+1 an untuk n = 0; 1; 2; 3; :::Jika r = 3; kita dapatkan an+1 = 3an ; dengan n 0: Relasi rekurensi an+1 = 3an ; n 0 tidak mende…nisikan progresi geometrik yang tunggal, karena barisan 3; 9; 27; 81, ... juga memenuhi relasi yang bersangkutan. Jadi untuk mende…nisikan suatu progresi geometrik dari suatu relasi rekurensi diperlukan nilai satu suku dari relasi itu. Hubungan suku an+1 dengan suku sebelumnya dalam relasi rekurensi menentukan jenis relasi rekurensi yang bersangkutan. Jika nilai an+1 hanya bergantung pada nilai an (tepat satu suku sebelumnya), maka relasi yang demikian dikatakan mempunyai order pertama. Selanjutnya, jika tipe hubungannya juga linear dengan koe…sien konstan, maka disebut relasi rekurensi homogen linear order pertama dengan koe…sien kontan. Nilai a0 atau a1 yang diketahui pada suatu relasi rekurensi disebut nilai syarat batas. Ekspresi a0 = A, dimana A konstan, juga disebut sebagai syarat awal. Syarat batas menentukan ketunggalan solusi. an+1 = 3an ;
n
0;
(4.1)
a0 = 5:
Lima suku pertama menentukan pola berikut ini: a0 a1 a2 a3 a4
= = = = =
5; 3a0 3a1 3a2 3a3
= 3 (5) ; = 3 (3 (5)) = 32 (5) ; = 3 32 (5) = 33 (5) ; = 3 33 (5) = 34 (5) :
Hasil ini membawa kita pada rumusan bahwa untuk setiap n yang disebut solusi umum dari Relasi (4.1). Kesimpulan: Solusi umum dari suatu relasi rekurensi an+1 = dan ;
n
0;
d konstan, dan
adalah tunggal dan dirumuskan dengan an = Adn ;
n
0:
a0 = A
0; an = 5(3n )
4.3 Relasi Rekurensi
115
Contoh 4.14 Selesaikan relasi rekurensi an = 7an 1 ; dimana n 1 dan a2 = 98: Ini hanyalah suatu bentuk alternatif dari relasi an+1 = 7an untuk n 0 dan a2 = 98: Oleh karena itu solusi umumnya mempunyai bentuk an = a0 (7n ) : Karena a2 = 98 = a0 (72 ) ; akibatnya a0 = 2; dan an = 2 (7n ) untuk n 0 adalah solusi tunggal. Relasi rekurensi an+1 dan = 0 adalah linear karena setiap sukunya berpangkat satu. Juga di dalam relasi linear tidak ada produk seperti an an 1 ; yang bisa muncul di dalam relasi rekurensi tak-linear seperti an+1 3an an 1 = 0: Akan tetapi, adakalanya suatu relasi rekurensi tak-lineaar bisa ditransformasikan ke dalam bentuk linear dengan menggunakan substitusi aljabar. Contoh 4.15 Carilah a12 jika a2n+1 = 5a2n ; dimana an > 0 untuk n 0; dan a0 = 2: Walaupun relasi rekurensi ini tak-linear, jika dimisalkan bn = a2n ; maka diperoleh relasi yang baru bn+1 = 5bn untuk n 0; dan p nb0 = 4; adalah n linear dengan solusi bn = 4 (5 ) : Dengan demikian an = 2( 5) untuk n 0; p 12 dan a12 = 2 5 = 31250: Bentuk umum relasi rekurensi linear order pertama dengan koe…sien konstan adalah: an+1 + can = f (n) ; n 0; dimana c adalah konstan dan f adalah fungsi yang mengambil nilai intejer tak-negatif. Jika f (n) = 0 untuk setiap n 2 N; relasi ini disebut homogen. Salah satu metode mengurutkan data yang cukup populer, walaupun tidak yang paling e…sien, adalah suatu teknik yang disebut Bubble Sort. disini input adalah intejer positif n dan larik bilangan nyata x1 ; x2 ; :::; xn yang akan diurutkan dalam urutan menaik. Perhatikan algoritme Bubble Sort yang dinyatakan dalam prosedur berikut: PROSEDUR 15 procedure BubbleSort(x1 ; x2 ; :::; xn : real) begin for i := 1 to n 1 do for j := n downto i + 1 do if xj < xj 1 do begin temp := xj 1 xj 1 := xj xj := temp end end
4.3 Relasi Rekurensi
116
Untuk menghitung fungsi komplesitas waktu f (n) ketika algoritme di atas digunakan pada suatu input larik berukuran n 1; kita harus menghitung jumlah total perbandingan dalam mengurutkan n bilangan yang bersangkutan. Jika an menyatakan banyaknya perbandingan, maka kita dapatkan relasi rekurensi berikut: an = an
1
+ (n
1);
n
2;
a1 = 0:
Relasi ini adalah linear order pertama dan tak-homogen. Karena tidak ada teknik umum untuk menyelesaikannya, kita harus mencari polanya: a1 a2 a3 a4 a5
= = = = =
0 a1 + (2 a2 + (3 a3 + (4 a4 + (5
1) = 1 1) = 1 + 2 1) = 1 + 2 + 3 1) = 1 + 2 + 3 + 4:
Kita dapatkan rumus umum yang kebenarannya dapat dibuktikan dengan prinsip induksi matematik, yaitu: an = 1 + 2 + 3 + ::: + (n
1) =
n2
n 2
:
Kesimpulannya, Bubble Sort menentukan fungsi komplesitas waktu f : Z ! R dengan n2 n f (n) = an = : 2 Akibatnya, ukuran running time algoritme di atas adalah f 2 O (n2 ) : +
4.3.2
Relasi Rekurensi Linear Homogen Order Kedua dengan Koe…sien Konstan
Misalkan k 2 Z+ dan Cn (6= 0) ; Cn 1 ; :::; Cn k (6= 0) adalah bilangan-bilangan nyata. Jika an ; untuk n 0; adalah fungsi diskret, maka Cn an + Cn 1 an
1
+ ::: + Cn k an
k
= f (n) ;
n
k;
adalah relasi rekurensi linear berorder k dengan koe…sien konstan. Jika f (n) = 0 untuk setiap n 0; relasi ini disebut homogen; ingkarannya adalah tak-homogen.
4.3 Relasi Rekurensi
117
Pada bagian ini kita akan membahas relasi homogen berorder dua: Cn an + Cn 1 an
1
+ Cn 2 an
2
= 0;
n
2:
(4.2)
Pada dasarnya kita akan mencari solusi dalam bentuk an = crn ; dimana c 6= 0 dan r 6= 0: Substitusikan an = crn ke Persamaan (4.2), kita dapatkan Cn crn + Cn 1 crn
1
+ Cn 2 crn
2
(4.3)
= 0:
Karena c; r 6= 0; Persamaan (4.3) menjadi Cn r2 + Cn 1 r + Cn
2
=0
merupakan persamaan kuadrat yang disebut persamaan karakteristik. Misalkan r1 dan r2 adalah akar dari persamaan itu, maka ada tiga kemungkinan: A. r1 dan r2 adalah dua real berbeda. B. r1 dan r2 adalah dua kompleks saling konjugate. C. r1 dan r2 adalah dua real yang sama. KASUS-A (Dua Akar Real Berbeda) Contoh 4.16 Selesaikan relasi rekurensi an + an
1
6an
2
= 0;
n
2;
dan a0 =
1; a1 = 8:
(4.4)
Jawab. Misalkan an = crn ; dimana c 6= 0 dan r 6= 0; adalah solusi dari Relasi (4.4), maka diperoleh persamaan karakteristik 0 = r2 + r
6 = (r
2) (r + 3) ) r = 2; 3
adalah dua akar real berbeda, sehingga an = 2n dan an = ( 3)n merupakan dua solusi [sebagaimana juga b (2n ) dan d ( 3)n untuk sembarang konstan b; d]. Kedua solusi ini adalah bebas linear kerena yang satu bukan merupakan kelipatan yang lain. Jadi, an = c1 (2n ) + c2 ( 3)n merupakan solusi umum. Kemudian, karena a0 = 1 dan a1 = 8; dengan substitusi, kita peroleh c1 = 1 dan c2 = 2: Akhirnya, kita dapatkan jawaban an = 2n
2 ( 3)n :
4.3 Relasi Rekurensi
118
2 ( 3)100
a3 = 2100
z KASUS-B (Dua Akar Kompleks Saling Konjuget) Sebelum masuk ke pembahasan inti, kita ingat kembali Teorema DeMoivre: (cos + i sin )n = cos n + i sin n ;
n
0:
Jika z = x + iy 2 C;
z 6= 0;
dapat kita tuliskan z = r (cos + i sin ) ;
p
r=
Jika x = 0; maka untuk y > 0;
z = yi = yi sin
2
x2 + y 2 ; dan
= y cos
2
y = tan untuk x 6= 0: x
+ i sin
2
;
dan untuk y < 0; z = yi = jyj i sin
3 3 3 = jyj cos + i sin 2 2 2
:
Dalam semua kasus, z n = rn (cos n + i sin n ) Contoh 4.17 Tentukan 1 + Jawab. Misalkan z = 1 + Jadi 1+
p
10
3i
p
3i
p
10
n
0:
:
3i; maka x = 1; y =
p
3, r = 2; dan
= 3:
10 10 + i sin 3 3 4 4 = 210 cos + i sin 3 3 p ! ! 1 3 = 210 i 2 2 p = 29 1 + 3i :
= 210 cos
z
4.3 Relasi Rekurensi
119
Contoh 4.18 Selesaikan relasi rekurensi an = 2 (an 2 dan a0 = 1; a1 = 2:
1
an 2 ) ; dimana n
Jawab. Misalkan an = crn ; dimana c 6= 0 dan r 6= 0; adalah solusinya, maka persamaan karakteristiknya r2
2r + 2 = 0 ) r = 1
i
adalah dua akar kompleks saling konjuget. Akibatnya, solusi umumnya adalah an = c1 (1 + i)n + c2 (1 i)n ; dimana c1 dan c2 menyatakan sembarang konstan kompleks. Dengan DeMoivre: p p n n n n + i sin + i sin + c2 ( 2)n cos an = c1 ( 2)n cos 4 4 4 4 p n p n n n n n = c1 ( 2) cos + i sin + c2 ( 2) cos i sin 4 4 4 4 p n n n = ( 2) k1 cos + k2 sin ; 4 4 dimana k1 = c1 + c2 dan k2 = (c1 c2 ) i: p 1 = a0 = ( 2)0 (k1 cos 0 + k2 sin 0) = k1 p 2 = a1 = ( 2)1 k1 cos + k2 sin = 1 + k2 ; 4 4 sehingga k1 = 1 dan k2 = 1: Jadi, jawabannya p n n an = ( 2)n cos + sin 4 4
;
n
0:
p 200 200 ( 2)200 cos + sin 4 4 z
: 1267 650 600 228 229 401 496 703 205 376 KASUS-C (Dua Akar Real Sama) Contoh 4.19 Selesaikan relasi rekurensi an+2 = 4an+1 dan a0 = 1; a1 = 3:
4an ; dimana n
0
Jawab. Misalkan an = crn ; dimana c 6= 0 dan r 6= 0; adalah solusinya, maka persamaan karakteristiknya 0 = r2
4r + 4 = (r
2)2 ) r = 2
4.3 Relasi Rekurensi
120
adalah dua akar real sama. Berarti solusinya an = 2n . Oleh karena itu, kita harus mencari satu solusi yang lagi bebas linear, ambil saja an = f (n) 2n , dimana f (n) tidak konstan..Untuk mencari f (n), digunakan substitusi f (n + 2) 2n+2 = 4f (n + 1) 2n+1 4f (n) 2n , f (n + 2) = 2f (n + 1) f (n) :
(4.5)
Diperoleh bahwa f (n) = n memenuhi Persamaan (4.5). Jadi an = n2n adalah solusi kedua yang bebas linear dengan an = 2n : Akibatnya, kita dapatkan solusi umum an = c1 (2)n + c2 n (2)n : Untuk a0 = 1; a1 = 3; didapatkan solusi khusus 1 2
an = (2)n +
n (2)n = (2)n + n (2)n
1
;
n
0: z
Bentuk Umum: Jika Cn an + Cn 1 an
1
+ ::: + Cn k an
Cn (6= 0) ; Cn 1 ; :::; Cn
k
k
= 0; dengan
(6= 0) adalah kontanta real,
dan r adalah akar karakteristik dengan multiplisitas m; dimana 2 m k; maka bagian dari solusi umum yang melibatkan akar r mempunyai bentuk A0 rn + A1 nrn + A1 n2 rn + ::: + Am 1 nm 1 rn = A0 + A1 n + A1 n2 + ::: + Am 1 nm dimana A0 ; A1 ; A1 ; :::; Am
4.3.3
1
1
rn
adalah sembarang konstan.
Relasi Rekurensi Tak-homogen
Kita perhatikan relasi rekurensi an
an
1
= f (n);
n
1;
f (n) tidak semuanya nol untuk nilai n; maka solusinya an = a0 +
n X
f (i) :
(4.6)
i=1
Kita dapat Pn menyelesaikan Persamaan (4.6) dalam n; jika kita dapat merumuskan i=1 f (i) :
4.3 Relasi Rekurensi
121
Contoh 4.20 Selesaikan relasi rekurensi an
an
1
= 3n2 ;
n
1; dan a0 = 7:
Jawab. Disini f (n) = 3n2 ; sehingga solusi umumnya an = a0 +
n X
f (i)
i=1
= 7+
n X
3i2
i=1
= 7+
1 (n) (n + 1) (2n + 1) 2 z
Chapter 5 Pengantar Teori Graf 5.1
Konsep Dasar Graf
De…nisi 5.1 Misalkan V adalah himpunan takkosong dan berhingga, dan misalkan pula E V V . Pasangan (V; E) disebut graph berarah (directed graph – digraph) pada V , dimana V disebut himpunan verteks atau node, dan E disebut himpunan (directed) edge atau arc. Selanjutnya untuk menyatakan graph seperti ini ditulis G = (V; E). Jika E himpunan edge takberarah, G = (V; E) disebut graph takberarah. Contoh 5.1 Dide…nisikan suatu graf berarah G = (V; E) dengan V = fa; b; c; d; eg dan E = f(a; a); (a; b); (a; d); (b; c)g: Graf ini direpresenratasikan pada Gambar 5.1.
122
5.1 Konsep Dasar Graf
123
a
b
d
c
e
Gambar 5.1
Untuk sembarang edge, misalkan e = (x; y), maka e disebut insiden (incident) dengan verteks x dan y; x disebut adjacent ke y; dan y disebut adjacent dari x: Suatu verteks yang adjacent ke dirinya sendiri disebut loop. Suatu verteks yang tidak adjacent dengan verteks apapun termasuk dirinya sendiri disebut verteks terisolasi. Pada Gambar 5.1, edge (a; a) adalah loop dan verteks e adalah verteks yang terisolasi. Contoh 5.2 Dide…nisikan suatu graf takberarah G = (V; E) dengan V = fa; b; c; dg dan E = ffa; bg; fa; dg; fb; cgg Graf ini direpresenratasikan pada Gambar 5.2.
a
b
d
Gambar 5.2
c
5.1 Konsep Dasar Graf
124
Perhatikan bahwa pada pede…nisian graf takberarah edge-nya diberikan dalam bentuk himpunan, misalnya saja fa; bg: Sesuai dengan pengertian himpunan, ini berarti urutannya tidak diperhatikan, sehingga fa; bg = fb; ag: Sedangkan pada pede…nisian graf berarah, edge-nya menggunakan pasangan terurut, sehingga (a; b) 6= (b; a): Di dalam diktat ini, jika diberikan suatu graf G tanpa keterangan apapun (berarah atau takberarah), maka yang dimaksud adalah graf takberarah dan tanpa loop. De…nisi 5.2 Misalkan x dan y (tidak perlu berbeda) adalah verteks di dalam suatu graph takberarah G = (V; E). Suatu walk x y di dalam G adalah barisan berhingga (bebas loop) x = x0 ; e1 ; x2 ; e2 ; : : : ; en 1 ; xn 1 ; en ; xn = y dari verteks dan edge (selang-seling) yang diawali dan diakhiri oleh verteks. Panjang dari suatu walk, dinotasikan dengan n, adalah banyaknya edge yang terdapat di dalam walk itu. Jika n = 0; berati walk tidak memuat edge, maka walk disebut trivial. Jika x = y; walk disebut tertutup. Jika x 6= y; walk disebut terbuka. Catatan bahwa bahwa barisan pada de…nisi walk di atas, verteks dan edge boleh diulang. De…nisi 5.3 Pandang sembarang walk x G = (V; E).
y dalam suatu graph takberarah
Jika tidak ada edge yang diulang di dalam barisan x y; maka walk disebut trail x y: Trail yang tertutup (verteks awal dan akhir sama) disebut sirkuit (circuit). Catatan bahwa di dalam trail, verteks boleh berulang. Jika setiap verteks hanya muncul sekali (tidak boleh berulang) di dalam barisan x y; maka walk disebut path x y: Path yang tertutup (verteks awal dan akhir sama) disebut cycle. Pengertian pada de…nisi di atas juga berlaku untuk graph berarah. Hanya saja peristilahannya menjadi: trail berarah, sirkuit berarah, path berarah, dan cycle berarah.
5.1 Konsep Dasar Graf
125
a
b
d
c
e
Gambar 5.3
Contoh 5.3 Dari Gambar 5.3, buatlah suatu contoh: 1. walk a
c dengan panjang 5:
2. trail a
d dengan panjang 5:
3. sirkuit a
a dengan panjang 6:
4. path a
c dengan panjang 4:
5. cycle a
a dengan panjang 5:
Jawab. Berdasarkan de…nisinya, berikut ini diberikan masing-masing satu contoh untuk: 1. walk a
c dengan panjang 5 : fa; bg; fb; dg; fd; ag; fa; bg; fb; cg:
2. trail a
d dengan panjang 5 : fa; bg; fb; eg; fe; cg; fc; bg; fb; dg:
3. sirkuit a
a dengan panjang 6 : fa; bg; fb; eg; fe; cg; fc; bg; fb; dg; fd; ag:
5.1 Konsep Dasar Graf
4. path a
126
c dengan panjang 4 : fa; bg; fb; dg; fd; eg; fe; cg:
5. cycle a
a dengan panjang 5 : fa; bg; fb; dg; fd; eg; fe; cg; fc; ag: z
Teorema 5.1 Misalkan G = (V; E) adalah graph takberarah dengan a; b 2 V dan a 6= b: Jika ada trail di dalam G dari a ke b, maka ada path di dalam G dari a ke b. Bukti. Karena ada trail a terpendek, sebut saja
b di dalam G; maka dapat dipilih satu yang
fa; x1 g; fx1 ; x2 g; :::; fxn ; bg:
(5.1)
Jika trail ini tidak mempunyai path, maka ia pasti mempunyai bentuk fa; x1 g; fx1 ; x2 g; :::; fxk 1 ; xk g; fxk ; xk+1 g; fxk+1 ; xk+2 g; :::; fxm 1 ; xm g; fxm ; xm+1 g; fxm+1 ; xm+2 g; :::; fxn ; bg; dimana k < m dan xk = xm ; bisa terjadi k = 0 dan a(= x0 ) = xm ; atau, m = n + 1 dan xk = b(= xn+1 ): Ini adalah suatu kontradiksi, karena barisan fa; x1 g; fx1 ; x2 g; :::; fxk 1 ; xk g; fxm ; xm+1 g; :::; fxn ; bg merupakan trail yang lebih pendek dari trail (5.1).
z
De…nisi 5.4 Graph takberarah G disebut terhubung (connected) jika untuk setiap dua verteks yang berbeda terdapat suatu path yang menghubungkan keduanya. Jika tidak demikian G disebut takterhubung (disconnected).
5.1 Konsep Dasar Graf
127
a
e
b
d
c
f Gambar 5.4
Contoh 5.4 Gambar 5.2 dan Gambar 5.3 merupakan contoh graf terhubung. Sedangkan Gambar 5.4 merupakan contoh graf takterhubung. Gambar 5.4 merepresentasikan graf takterhubung G = (V; E); dimana V dapat dipartisikan dalam dua subhimpunan V1 = fa; b; c; dg dan V2 = fe; f g sedemikian sehingga tidak ada edge fx; yg 2 E dengan x 2 V1 dan y 2 V2 . Dalam hal ini Graf G terpartisikan menjadi 2 graf yaitu G1 = (V1 ; E1 ) dan G2 = (V2 ; E2 ), dimana E1 = ffa; bg; fa; dg; fb; cgg dan E2 = ffe; f gg: Anggota partisi dari suatu graf takterhubung disebut dengan komponen. Secara umum, suatu graf dikatakan takterhubung jika ia terpartisikan menjadi lebih dari satu komponen, sedangkan suatu graf dikatakan terhubung jika ia terdiri dari hanya satu komponen. Banyaknya komponen dari suatu graf G dinotasikan dengan K(G): Misalnya, untuk graf G pada Gambar 5.4, K(G) = 2: De…nisi 5.5 Misalkan V himpunan takkosong dan berhingga. Pasangan (V; E) menentukan multigraf G dengan himpunan verteks V dan himpunan edge E, jika untuk suatu x; y 2 V , ada dua atau lebih edge dalam E berbentuk: (x; y) untuk multigraph berarah, atau fx; yg untuk multigrapah takberarah.
5.1 Konsep Dasar Graf
128
e a
b
d
c Gambar 5.5
Gambar 5.5 merupakan contoh representasi dari suatu multigraf berarah.
b
e
a
f
g
c
d Gambar 5.6
Soal 5.1.1 Untuk suatu graf G = (V; E) yang direpresentasikan pada Gambar 5.6, tentukan: 1. contoh suatu walk b
d di dalam G yang bukan suatu trail.
2. contoh suatu trail b
d di dalam G yang bukan suatu path.
3. contoh suatu path b
d di dalam G.
4. contoh suatu walk tertutup b 5. contoh suatu sirkuit b
b di dalam G yang bukan suatu sirkuit.
b di dalam G yang bukan suatu cycle.
5.1 Konsep Dasar Graf
6. contoh suatu cycle b
129
d di dalam G.
7. banyaknya semua path b
f:
a
k
d
g
l
m j
e
f
h
i
Gambar 5.7
Soal 5.1.2 Misalkan a dan b adalah dua verteks yang berbeda di dalam suatu graf takberarah dan terhubung. Jarak dari a ke b dide…nisikan sebagai panjang path terpendek dari a ke b (jika a = b; jaraknya dide…nisikan sebagai 0). Untuk suatu graf G yang direpresentasikan pada Gambar 5.7, tentukan jarak dari verteks d ke verteks yang lain di dalam G: Soal 5.1.3 Untuk n 2; misalkan G = (V; E) adalah graf tak berarah tanpa loop dimana V adalah himpunan semua bitstring dengan panjang n; dan E = ffu; vg u; v 2 V dan u; v berbeda di tepat 2 posisig: Ilustrasi, misalkan n = 4; u = 1011; v = 0010; dan w = 1010; maka fu; vg 2 E; fu; wg 2 = E; dan fv; wg 2 = E: Tentukan K(G): Soal 5.1.4 Tujuh kota a; b; c; d; e; f; dan g dihubungkan oleh suatu sistem jalan bebas hambatan sebagai berikut: I-22 menghubungkan dari a ke c melalui b: I-33 menghubungkan dari c ke d melalui b dan dilanjutkan ke f:
5.1 Konsep Dasar Graf
130
I-44 menghubungkan dari d ke a melalui e: I-55 menghubungkan dari f ke b melalui g: I-66 menghubungkan dari g ke d: Terkait dengan sistem tersebut, jawablah 6 pertanyaan berikut ini. 1. Dengan merepresentasikan kota sebagai verteks, segmen jalan bebas hambatan sebagai edge berarah, gambarkan graf berarah yang merepresentasikan sistem di atas. 2. Daftarkan semua path dari g ke a: 3. Tentukan jumlah terkecil segmen jalan yang diharuskan tertutup agar perjalanan dari b ke d terhalang. 4. Apakah mungkin berangkat dari c dan kembali lagi ke c; dan mengunjungi semua kota yang lain masing-masing hanya sekali. 5. Jawablah Pentanyaan 4: jika tidak diharuskan kembali lagi ke c: 6. Apakah mungkin berangkat dari suatu kota melalui semua jalan masingmasing hanya sekali. (Pada pertanyaan ini dibolehkan mengunjungi suatu kota lebih dari satu kali, dan tidak diharuskan kota terakhir sama dengan kota saat berangkat.) Soal 5.1.5 Misalkan G = (V; E) adalah graf takberarah dan tanpa loop, dan misalkan pula fa; bg adalah suatu edge di dalam G: Buktikan bahwa fa; bg adalah anggota dari suatu cycle di dalam G jika dan hanya jika penghapusan fa; bg (verteks a dan b tidak ikut terhapus) tidak menghasilkan graf takterhubung. Soal 5.1.6 Berikan suatu contoh graf G yang apabila dihapus sembarang edge-nya menghasilkan graf takterhubung. Soal 5.1.7 Jawablah 2 pertanyaan berikut ini. 1. Jika G = (V; E) adalah graf takberarah dan tanpa loop, dengan jV j = v dan jEj = e; buktikan bahwa 2e
v2
v:
5.1 Konsep Dasar Graf
131
2. Nyatakan rumusan seperti Pertanyaan 1: untuk kasus graf berarah. Soal 5.1.8 Misalkan G = (V; E) adalah graf takberarah. De…nisikan suatu relasi R pada V dengan aRb jika dan hanya jika ada suatu path a b di dalam G. Buktikan bahwa R adalah relasi ekuivalensi. Terangkan bertuk partisi dari V yang disebabkan oleh R:
5.1.1
Subgraf, Komplemen, dan Isomor…sma
De…nisi 5.6 Misalkan G = (V; E) sembarang graf berarah maupun tidak. G1 = (V1 ; E1 ) disebut subgraf dari G jika ? 6= V1 V dan E1 E, dimana setiap edge dalam E1 insiden dengan verteks di dalam V1 . Dari de…nisi ini jelas bahwa G adalah subgraf dari dirinya sendiri, atau G disebut subgraf trivial dari G:
b
e
c
d
f
a
Gambar 5.8
Contoh 5.5 Misalkan Gambar 5.6 merepresentasikan graf G = (V; E), maka V = fa; b; c; d; e; f; gg dan E = ffa; bg; fa; cg; fb; cg; fb; eg; fc; dg; fd; eg; fe; f g; fe; gg; ff; ggg: Berdasarkan de…nisinya, graf G1 = (V1 ; E1 ) yang direpresentasikan pada Gambar 5.8 merupakan subgraf dari G: Dalam hal ini V1 = fa; b; c; d; e; f g V dan E1 = ffa; cg; fb; eg; fc; dg; fd; eg; fe; f g
E:
5.1 Konsep Dasar Graf
132
Perhatikan bahwa subgraf taktrivial dari graf G = (V; E) diperoleh dengan cara menghapus beberapa verteks atau edge dari G: Yang dimaksud menghapus edge, misalnya fx; yg; adalah menghilangkan fx; yg dari keanggotaan E; sedangkan verteks x dan y tidak terhapus dari keanggotaan V: Sedangkan yang dimaksud dengan menghapus verteks, misalkan a; adalah menghapus a dari keanggotaan V dan menghapus semua edge yang inseden dengan a dari keanggotaan E: Pada Contoh 5.5, subgraf G1 diperoleh dari menghapus verteks g (otomatis fe; gg dan ff; gg terhapus), edge fa; bg dan fb; cg: De…nisi 5.7 Misalkan G = (V; E) graph berarah maupun tidak. Misalkan pula G1 = (V1 ; E1 ) subgraph dari G. Jika V1 = V , maka G1 disebut subgraph spanning dari G. Dari de…nisi ini, perhatikan bahwa subgraf spanning G1 diperoleh dari hanya menghapus beberapa edge (tanpa verteks) di dalam G: Graf pada Gambar 5.9 merupakan subgraf spanning dari graf pada Gambar 5.7.
a
k
d
g
l
m j
e
f
h Gambar 5.9
i
De…nisi 5.8 Misalkan G = (V; E) adalah graf berarah atau tidak. Jika ? 6= U V , subgraf dari G yang dibangkitkan oleh U; dinotasikan hU i; adalah subgraf dengan himpunan verteks U dimana jika x; y 2 U dan (x; y) (atau fx; yg) 2 E, maka (x; y) (atau fx; yg) merupakan edge dari hU i: Subgraf G0 dari graf G = (V; E) disebut subgraf induced jika ada ? 6= U V sehingga G0 = hU i:
5.1 Konsep Dasar Graf
133
Dari de…nisi ini, perhatikan bahwa jika diberikan U V dan U 6= ?; subgraf induced hU i dari G merupakan graf yang diperoleh dari menghapus semua verteks didalam V yang bukan anggota U: Dengan demikian, subgraf induced dari G diperoleh dari hanya mengapus verteks dari G: Contoh 5.6 Diberikan graf G = (V; E) yang direpresentasikan pada Gambar 5.6. Jika U = fa; b; d; f; gg; tentukan subgraf induced G0 = hU i dari G: Jawab. Nyatakan G0 = (U; E 0 ); dan hapuslah verteks c dan e dari G; maka E 0 = ffa; bg; ff; ggg: z
G0 direpresentasikan pada Gambar 5.10
b
f
a
g
d Gambar 5.10
De…nisi 5.9 Misalkan V himpunan n verteks. Graph lengkap pada V , ditulis Kn , adalah graph takberarah bebas loop dimana untuk semua a; b 2 V , a 6= b, ada suatu edge fa; bg. Dari de…nisi ini, perhatikan bahwa jumlah edge dari Kn adalah bar 5.11 mencontohkan representasi dari K1 ; K2 ; K3 ; dan K4 :
n 2
: Gam-
5.1 Konsep Dasar Graf
K1
K2
134
K3
K4
Gambar 5.11
De…nisi 5.10 Misalkan G adalah graf takberarah bebas loop dengan n verteks. Komplemen dari G, dinotasikan G, adalah subgraph dari Kn yang memuat semua verteks dari G dan semua edge dari Kn yang tidak termuat dalam G. Jika G = Kn , maka G hanya mempunyai n verteks tetapi tidak mempunyai edge sama sekali. Graph seperti ini disebut graf null. Contoh 5.7 Misalkan G = (V; E) dengan V = fa; b; c; dg dan E = ffa; bg; fa; cg; fc; dgg: Tentukan G: Jawab. Nyatakan G = (V; E): Karena himpunan semua edge dari K4 adalah ffa; bg; fa; cg; fa; dg; fb; cg; fb; dg; fc; dgg; maka E = ffa; dg; fb; cg; fb; dgg: Gambarkan representasi dari G dan G:
z
De…nisi 5.11 Misalkan G1 = (V1 ; E1 ) dan G2 = (V2 ; E2 ) adalah dua graf takberarah. Suatu fungsi f : V1 ! V2 disebut suatu isomor…sme graf jika: 1. f bijektif. 2. untuk semua a; b 2 V1 ; fa; bg 2 E1 jhj ff (a); f (b)g 2 E2 . Jika fungsi semacam ini ada, G1 dan G2 disebut isomor…k.
5.1 Konsep Dasar Graf
135
G1
a
G2
b
t w
c
d
v
u
Gambar 5.12
Contoh 5.8 Tunjukkan bahwa graf G1 = (V1 ; E1 ) dan G2 = (V2 ; E2 ) yang direpresentasikan pada Gambar 5.12 adalah isomo…k. Jawab. Karena jV1 j = jV2 j ; maka syarat pertama dipenuhi, yaitu ada fungsi bijektif dari V1 ke V2 : Dari 4! fungsi bijektif yang bisa (mungkin) dide…nisikan dari V1 ke V2 , dipilih fungsi bijektif yang memenuhi syarat kedua. Dengan melihat struktur graf G1 dan G2 ; dipilih fungsi bijektif h : V1 ! V2 yang de…nisinya h(a) = w; h(b) = u; h(c) = v; dan h(d) = t: Perhatikan bahwa syarat kedua dipenuhi oleh h; yaitu fa; bg fa; cg fc; dg fb; dg
2 2 2 2
V1 V1 V1 V1
$ fh(a); h(b)g = fw; ug 2 V2 ; $ fh(a); h(c)g = fw; vg 2 V2 ; $ fh(c); h(d)g = fv; tg 2 V2 ; dan $ fh(b); h(d)g = fu; tg 2 V2 :
Jadi, h adalah isomor…sme dari G1 ke G2 ; sehingga G1 dan G2 isomor…k. z Syarat pertama pada De…nisi 5.11 menunjukkan bahwa jika jV1 j 6= jV2 j ; maka langsung dapat kita simpulkan bahwa G1 dan G2 tidak isomor…k (karena tidak akan ada fungsi bijektif dari V1 ke V2 ). Demikian pula untuk syarat yang kedua, apabila jE1 j 6= jE2 j ; maka dapat dipastikan bahwa G1 dan G2 tidak isomor…k (karena tidak akan mungkin ada padanan 1 1 antar edge dari G1 dan G2 ). Walaupun demikian, seandainya telah dipenuhi bahwa jV1 j = jV2 j dan jE1 j = jE2 j ; kita masih belum bisa menentukan bahwa G1 dan G2 isomor…k. Dalam hal ini kita hanya bisa mende…nisikan fungsi
5.1 Konsep Dasar Graf
136
bijektif yang belum tentu memenuhi syarat yang kedua. Perhatikan contoh berikut ini.
G1
G2
a
1
e
b
d
5
c
2
4
3
Gambar 5.13
Contoh 5.9 Jelaskan bahwa graf G1 = (V1 ; E1 ) dan G2 = (V2 ; E2 ) yang direpresentasikan pada Gambar 5.13 adalah tidak isomo…k. Jawab. Pada contoh ini dipenuhi bahwa jV1 j = jV2 j dan jE1 j = jE2 j ; sehingga jelas ada fungsi bijektif dari V1 ke V2 : Kemudian, adakah fungsi bijektif yang memenuhi syarat kedua pada de…nisi? Jika dilihat dari strutur G1 ; graf ini memuat subgraf K4 : Seandainya ada isomor…sme dari G1 ke G2 ; maka isomor…sme ini akan memetakan K4 dari dalam G1 ke K4 di dalam G2 : Akan tetapi, faktanya struktur G2 tidak mempunyai subgraf K4 : Kesimpulannya, tidak ada isomor…sme dari G1 ke G2 ; berarti G1 dan G2 tidak isomor…k. z
5.1 Konsep Dasar Graf
137
(G1)
(G2)
b
c
u
a
d
e
v
w
f x
y
z
Gambar 5.14
Soal 5.1.9 Misalkan graf G1 dan G2 direpresentasikan pada Gambar 5.14. Periksalah apakah G1 dan G2 isomor…k.
(G )
(G 1 )
a
b
(G2)
a
b
b c
c d
f g
h
d
f i
j
g
h
i
g j
d
f
h
i
j
Gambar 5.15
Soal 5.1.10 Misalkan graf G; G1 ; dan G2 direpresentasikan pada Gambar 5.15.
5.1 Konsep Dasar Graf
138
1. Terangkan (berdasarkan pengertian penghapusan) mengapa G1 merupakan subgraf induced dari G: 2. Terangkan (berdasarkan pengertian penghapusan) mengapa G2 merupakan subgraf induced dari G: 3. Tentukan banyaknya subgraf terhubung dari G yang mempunyai 4 verteks dan satu cycle. 4. Gambarkan subgraf dari G yang dibangkitkan oleh himpunan verteks U = fb; c; d; f; i; jg: 5. Misalkan edge e = fc; f g: Jika G e dimaknai menghapus edge e di dalam G; gambarkan subgraf G e: 6. Berikan suatu contoh subgraf dari G yang bukan subgraf induced. 7. Tentukan banyaknya subgraf spanning dari G: 8. Tentukan banyaknya subgraf spanning dari G yang terhubung. 9. Tentukan banyaknya subgraf spanning dari G yang mempunyai verteks a sebagai verteks terisolasi. Soal 5.1.11 Misalkan G = (V; E) adalah suatu graf takberarah. 1. Tentukan banyaknya subgraf spanning yang juga merupakan subgraf induced dari G: 2. Jika jV j 2 dan setiap subgraf induced dari G terhubung, jelaskan bagaimana struktur dari G: Soal 5.1.12 Tentukan semua graf takberarah tanpa loop yang mempunyai 4 verteks dan saling tidak isomor…k. Kemudian, ada berapa banyak diantara jawaban tersebut yang terhubung. Soal 5.1.13 Tentukan banyaknya path yang panjangnya 4 di dalam K7 : Selanjutnya, jika m; n 2 Z+ dengan m < n; tentukan banyaknya path yang panjangnya m di dalam Kn : Soal 5.1.14 Misalkan G adalah graf takberarah tanpa loop yang mempunyai v verteks dan e edge. Tentukan jumlah semua edge di dalam G:
5.1 Konsep Dasar Graf
139
Soal 5.1.15 Misalkan G1 dan G2 adalah graf takberarah tanpa loop. Buktikan bahwa G1 dan G2 isomor…k jika dan hanya jika G1 dan G2 isomor…k.
G1
G2
a
b
1 5
c
2
d
e
4
3
Gambar 5.16 Soal 5.1.16 Perluaslah De…nisi 5.11 untuk graf berarah. Kemudian, periksalah apakah graf G1 dan G2 yang direpresentasikan pada Gambar 5.15 adalah isomor…k.
5.1.2
Derajat Verteks
De…nisi 5.12 Misalkan G graf takberarah atau multigraph. Untuk setiap verteks v dari G, derajat v, dinotasikan deg(v), adalah banyaknya edge dalam G yang insiden dengan v. Suatu loop dipandang sebagai dua edge insiden untuk v. Sebagai contoh untuk graf pada Gambar 5.9, deg(a) = deg(d) = deg(e) = deg(l) = deg(m) = deg(i) = 1; deg(g) = deg(h) = 2; deg(k) = deg(f ) = 3; dan deg(j) = 0: Teorema 5.2 Jika G = (V; E) adalah graph takberarah atau multigraph, maka X deg(v) = 2 jEj : v2V
5.1 Konsep Dasar Graf
140
Bukti. Perhatikan bahwa setiap edge fa; bg di dalam G memberikan hitungan 1 pada deg(a) dan deg(b): P Akibatnya, untuk setiap edge di dalam G menyumbangkan hitungan 2 pada v2V deg(v): Dengan demikian, 2 jEj = P z v2V deg(v): Akibat 5.1 Untuk sembarang graph atau multigraph, jumlah semua verteks berderajat ganjil adalah genap.
Bukti. Jelas bahwa jumlah semua verteks berderajat genap adalah genap. Sedangkan menurut Teorema 5.2, jumlah derajat adalah semua verteks adalah genap. Akibatnya, jumlah semua verteks berderajat ganjil haruslah genap. z De…nisi 5.13 Suatu graf takberarah (atau multigraf) disebut reguler jika setiap verteksnya berderajat sama. Jika deg(v) = k untuk setiap verteks v; maka grafnya disebut reguler-k: Graf lengkap Kn merupakan graf reguler(n 1): Misalkan graf G = (V; E) adalah reguler-k; berdasarkan Teorema 5.2, maka X deg(v) = 2 jEj , k jV j = 2 jEj , v2V
jV j =
2 jEj : k
(5.2)
Contoh 5.10 Misalkan graf G = (V; E) adalah reguler-k. Jelaskan hubungan antara jumlah verteks dan edge yang mungkin, yang terkait dengan pende…nisian dan struktur G, untuk nilai 1 k 3: Jawab. Kita gunakan Persamaan (5.2) untuk menjawab pertanyaan ini. Untuk k = 1; berarti jV j = 2 jEj. Graf reguler-1 mempunyai jumlah komponen (untuk jvj > 2; graf ini verteks genap, terpartisikan menjadi jvj 2 takterhubung), dan masing-masing komponen berupa graf reguler-1 dengan 2 verteks. Untuk k = 2; berarti jV j = jEj. Graf reguler-2 mempunyai jumlah verteks dan edge yang sama. Untuk jvj = 1; graf reguler-2 mempunyai 1 loop. Untuk jvj = 2; graf reguler-2 merupakan multigraf dengan 2 edge paralel. Untuk jvj > 2, graf reguler-2 merupakan cycle dengan panjang jvj :
Untuk k = 3; berarti jV j = 2jEj . Agar graf reguler-3 terde…nisikan, nilai 3 jV j dan jEj harus intejer positif. Dengan demikian, jEj haruslah kelipatan
5.1 Konsep Dasar Graf
141
dari 3 dan jvj harus genap. Untuk jvj = 2; graf reguler-3 merupakan multigraf (dengan 3 edge paralel, atau 2 loop dan 1 edge). Untuk jvj = 4; graf reguler-3 bisa berupa K4 , atau merupakan multigraf (merupakan cycle dengan panjang 4 dan masing-masing verteks mempunyai 1 loop). Terangkan lebih jauh untuk jvj > 6 (cukup banyak kemunkinan). z Soal 5.1.17 Tentukan jV j untuk graf atau multigraf berikut. 1. G mempunyai 9 edge dan semua verteks berderajat 3: 2. G adalah reguler dengan 15 edge. 3. G mempunyai 10 edge dengan 2 verteks berderajat 4 dan verteks lainnya berderajat 3: Soal 5.1.18 Jika G = (V; E) adalah graf terhubung dengan jEj = 17 dan deg(v) 3 untuk setiap v 2 V; tentukan nilai maksimum dari jV j : Soal 5.1.19 Misalkan G = (V; E) adalah garf takberarah dan terhubung. 1. Tentukan nilai terbesar dari jV j jika jEj = 19 dan deg(v) setiap v 2 V:
4 untuk
2. Gambarkan suatu graf untuk mencontohkan masing-masing kasus dari Pertanyaan 1: Soal 5.1.20 Misalkan G = (V; E) adalah garf takberarah dan tanpa loop. 1. Jika jV j = 6 dan deg(v) = 2 untuk setiap v 2 V; ada berapa banyak graf G yang saling tidak isomo…k? 2. Jika jV j = 7 dan deg(v) = 2 untuk setiap v 2 V; ada berapa banyak graf G yang saling tidak isomo…k? 3. Jika jV j = 6 dan G merupakan graf reguler-3; ada berapa banyak graf G yang saling tidak isomo…k? 4. Jika jV j = 7 dan G merupakan graf reguler-4; ada berapa banyak graf G yang saling tidak isomo…k? 5. Dari jawaban Pertanyaan 3: dan 4:; buatlah generalisasinya.
5.2 Mengenal Beberapa Graf Khusus
5.2
142
Mengenal Beberapa Graf Khusus
Pada bagian ini akan diperkenalkan pengertian dan beberapa sifatnya tentang: graf Euler, Graf graf planar, dan graf Hamilton. Sifat-sifat diberikan dalam bentuk teorema tanpa disertai pembuktian.
5.2.1
Graf Euler
De…nisi 5.14 Misalkan G = (V; E) adalah graph atau multigrpah takberarah tanpa verteks terisolasi. G dikatakan mempunyai sirkuit Euler jika ada sirkuit dalam G yang melalui setiap edge tepat sekali. Jika ada trail terbuka dari a ke b di dalam G dan trail ini melalui setiap edge dalam G tepat sekali, maka trail ini disebut trail Euler. Graf yang mempunyai sirkuit atau trail Euler disebut graf Euler. Teorema dan akibat berikut ini digunakan untuk mendeteksi apakah suatu graf adalah Euler. Teorema 5.3 Misalkan G = (V; E) graph atau multigraph takberarah tanpa verteks terisolasi. G mempunyai sirkuit Euler jhj G terhubung dan setiap verteks di dalam G berderajat genap. Dengan teorema ini, konstruksi suatu sirkuit Euler bisa di mulai dari sembarang verteks. Akibat 5.2 Jika G = (V; E) graph atau multigraph takberarah tanpa verteks terisolasi, maka dapat dikonstruksi trail Euler dalam G jhj G terhubung dan mempunyai tepat dua verteks berderajat ganjil. Berdasarkan akibat ini, kontruksi suatu trail Euler harus dimulai dari salah satu verteks berderajat ganjil, dan pasti berakhir di verteks berderajat ganjil yang satunya lagi. Contoh 5.11 Jelaskan bahwa graf yang direpresentasikan pada Gambar 5.14 merupakan graf Euler. Jawab. Perhatikan Gambar 5.14. Karena hanya ada dua verteks yang berderajat ganjil (verteks b dan f ), maka G1 pasti memuat trail Euler, sebagai contoh: fb; ag; fa; eg; fe; bg; fb; cg; fc; eg; fe; f g; ff; cg; fc; dg; fd; f g:
5.2 Mengenal Beberapa Graf Khusus
143
Karena semua verteks berderajat genap, maka G2 memuat sirkuit Euler, sebagai misal: fv; wg; fw; yg; fy; vg; fv; xg; fx; yg; fy; zg; fz; wg; fw; ug; fu; vg: z De…nisi 5.15 Misalkan G = (V; E) adalah graph atau multigraph berarah dan v 2 V . 1. Derajat masuk (in degree) dari v adalah banyaknya edge dalam G yang insiden ke v, dan dinotasikan dengan id(v). 2. Derajat keluar (out degree) dari v adalah banyaknya edge dalam G yang insident dari v, dan dinotasikan dengan od(v): Teorema 5.4 Misalkan G = (V; E) adalah graph atau multigraph berarah tanpa verteks terisolasi. Graph G mempunyai sirkuit Euler jhj G terhubung dan id(v) = od(v) untuk semua v 2 V . Soal 5.2.1 Buatlah suatu contoh graf atau multigraf berarah dengan jumlah verteks 10 dan mempunyai sirkuit Euler.
5.2.2
Graf Planar
De…nisi 5.16 Suatu grapah atau multigraph disebut planar jika G dapat digambarkan pada bidang datar sedemikian sehingga setiap interseksi dari edge hanya terjadi pada verteks dari G.
5.2 Mengenal Beberapa Graf Khusus
144
(K4) a
(K5) b
a b
c
c
d
d
e
Gambar 5.17 Contoh 5.12 Dengan mudah dapat kita gambarkan bahwa K1 ; K2 ; dan K3 adalah graf planar. Jelaskan bahwa K4 planar, sedangkan K5 tidak planar. Jawab. Gambar 5.17 cukup menunjukkan bahwa K4 adalah planar. Usaha untuk menggambarkan bahwa K5 adalah planar hanya sampai pada 9 edge pertama, sedangkan edge yang ke-10 tidaklah mungkin digambarkan tanpa memotong edge salah satu dari 9 edge yang pertama. z De…nisi 5.17 Suatu graph G = (V; E) disebut bipartisi (bipartite) jika V = V1 \ V2 dengan V1 [ V2 = ?, dan setiap edge dari G berbentuk fa; bg dengan a 2 V1 dan b 2 V2 . Jika setiap verteks dalam V1 berkawan dengan semua verteks dalam V2 , disebut graf bipartisi lengkap. Dalam hal ini, jika jV1 j = m dan jV2 j = n, grafnya dinotasikan dengan Km;n . Contoh 5.13 Contoh utk bipartisi De…nisi 5.18 Misalkan G = (V; E) adalah graph takberarah tanpa loop, dengan E 6= ?. Subdivisi elementer dari G adalah suatu graf yang diperoleh dari penghapusan edge e = fu; wg dalam G, dan kemudian edge fu; vg dan fv; wg ditambahkan pada G e, dimana v 2 = V. Graf tak berarah tanpa loop G1 = (V1 ; E1 ) dan G2 = (V2 ; E2 ) disebut homeomor…k (homeomor…c) jika keduanya isomor…s, atau jika keduanya dapat diperoleh dari graph suatu takberarah tanpa loop yang sama, sebut saja H; melalui serangkaian subdivisi elementer.
5.3 Tree
145
Contoh 5.14 Contoh homeomor…k. Teorema 5.5 (Teorema Kuratowski) Suatu graf adalah takplanar jika dan hanya jika ia memuat suatu subgraf yang homeomor…k dengan K5 atau K3;3 : Bukti teorema ini didemonstrasikan pada contoh berikut ini. Contoh 5.15 Contoh kuratowski.
5.2.3
Graf Hamilton
De…nisi 5.19 Jika G = (V; E) graph atau multigraph dengan jV j 3, G disebut mempunyai cycle Hamilton jika ada cycle dalam G yang memuat semua verteks dalam V . Path Hamilton adalah path dalam G yang memuat semua verteks. Contoh 5.16 Contoh untuk def di atas. Teorema 5.6 Misalkan G = (V; E) adalah graph tanpa loop dengan jV j = n 2. Jika deg(x) + deg(y) n 1 untuk semua x; y 2 V dengan x 6= y, maka G mempunyai path Hamilton. Akibat 5.3 Misalkan G = (V; E) graph tanpa loop dengan jV j = n 2. n 1 untuk semua v 2 V , maka G mempunyai path Hamilton. Jika deg(v) 2 Teorema 5.7 Misalkan G = (V; E) graph tanpa loop dengan jV j = n 3. Jika deg(x) + deg(y) n untuk semua x; y yang tak adjacent, maka G mempunyai cycle Hamilton. Akibat 5.4 Misalkan G = (V; E) graph tanpa loop dengan jV j = n 3. n Jika deg(y) 2 untuk semua v 2 V , maka G mempunyai cycle Hamilton.
5.3
Tree
Contoh 5.17 Contoh Tree. Teorema 5.8 Jika T = (V; E) adalah tree yang memuat sedikitnya dua verteks, maka:
5.3 Tree
146
1. untuk setiap dua verteks, terdapat path yang menghubungkan keduanya. 2. Apabila sembarang edge dalam T dibuang, maka akan diperoleh dua komponen yang masing-masing merupakan tree. 3. jEj = jV j
1.
Bibliography [1] N. L. Biggs, “Discrete (i-Mathematics,”Revised Edition, Oxford University Press, 1989, ISBN: 0-19-853426-4. [2] R. P. Grimaldi, “Discrete and Combinatorial Mathematics,”4th Edition, North-Holland Mathematical Library, Vol. 16. Addison Wesley Longman Inc., 1999, ISBN: 0-201-30424-4. [3] A. J. Menezes, P. C. van Oorschot, and S. Vanstone, “Handbook of Applied Cryptography,”CRC Press, Inc., 1997.
147