Selasa, 23 September 2008

Matematika Diskrit (Relasi)

1. RELASI
1.1 Pengantar
Hubungan(relationship), antara elemen himpunan dengan elemen himpunan lainnya sering dijumpai pada banyak masalah. Misalnya hubungan antara mahasiswa dengan mata kuliah yang diambil, hubungan antara bilangan genap dan bilangan yang habis dibagi 2 dan sebagainya. Di dalam bidang ilmu komputer, dapat dicontohkan hubungan antara program komputer dengan peubah yang digunakan, hubungan antara bahasa pemrograman dengan pernyataan (statement) yang sah, hubungan antara plaintext dan chipertext pada bidang kriptografi dan sebagainya (Munir,2001).
Hubungan antara elemen himpunan dengan elemen himpunan lain dinyatakan dengan struktur yang disebut relasi.

1.2 Relasi&Product Cartesian

Definisi 1.1 : untuk setiap himpunan A,B £, Perkalian kartesian (Cartesian Product) dari himpunan A dan B adalah A x B dimana {(a,b)| a A, b B}
Dapat dikatakan bahwa elemen-elemen dari AxB merupakan himpunan pasangan berurutan (order pairs). Untuk (a,b) dan (c,d) AxB maka (a,b) = (c,d) jika dan hanya jika a = c dan b = d .

Definisi 1.2 : Relasi biner R antara AxB adalah himpunan bagian dari AxB. Dinotasikan sebagai R (AxB).
Jika (a,b) R, digunakan notasi aRb yag artinya a dihubungkan dengan b oleh R, dan jika (a,b) R, maka digunakan notasi a b yang artinya a tidak dihubungkan dengan b oleh relasi R.
Himpunan A disebut daerah asal (domain) dari R dan himpunan b disebut daerah hasil (range) dari R.
Jika A,B adalah himpunan berhingga maka perkalian AxB menghasilkan himpunan pasangan terurut yang jumlah anggotanya adalah |A|.|B| .

Definisi 1.3 : Relasi pada himpunan A adalah relasi dari AxA
Dengan kata lain relasi pada himpunan A adalah himpunan bagian dari AxA
Contoh-contoh :
1. Misalkan A={Amir,Budi,Cecep} adalah himpunan nama mahasiswa dan B={INF0421,INF0422,INF0423,INF0424} adalah himpunan kode matkul di Manajemen Informatika, berapa jumlah anggota yang terbentuk dari AxB?
2. Misalkan P={2,4,8,9,15} dan Q={2,3,4}. Jika didefinisikan relasi R dari P ke Q dengan (p,q) R jika p habis dibagi q , bagaimana bentuk relasinya?
3. Tentukan x,y,z jika (2x,x+y,x-y-2z) = (4,-1,3)
4. Anggap A={1,2}. Tentukan a. A2 dan b. A3
5. Misalkan A={1,2} dan B = {a,b}. Tunjukkan apakah pernyataan dibawah ini sama dengan AxB ?
a. E=[{1,a},{1,b},{2,a},{2,b}] c. G=[(1,a),(1,b),(2,a),(b,2)]
b. F=[{a,1}{a,2}{b,1}{b,2}] d. H=[(1,a), (2,a), (1,b), (2,b)]
6. Diberikan A={1,2},B={x,y,z} dan C={3,4}. Tentukan AxBxC dan n(AxBxC)

1.3 Representasi Relasi
Selain dengan himpunan pasangan terurut, ada banyak cara untuk merepresentasikan relasi biner. Disini hanya disajikan tiga cara yang lazim yaitu, table, matriks dan graf berarah.
Representasi relasi dengan table
Jika relasi direpresentasikan dengan table, maka kolom pertama table menyatakan daerah asal, sedangkan kolom kedua menyatakan daerah hasil
Sebagai contoh :
Table 1.3
A B
Amir INF0422
Amir INF0421
Budi INF0221
Budi INF0422
Cecep INF0421

Representasi relasi dengan matriks
Misalkan R adalah relasi dari A = {a1, a2, . . .,am} dan B = {b1, b2, . . .,bn}, relasi R dapat disajikan dengan matriks M = [mij]

Yang dalam hal ini

Dengan kata lain, elemen matriks pada posisi (i,j) bernilai 1 jika ai dihubungkan dengan bj dan bernilai 0 jika ai tidak dihubungkan dengan bj.
Relasi R pada table 1.3 dapat dinyatakan dengan matriks

yang dalam hal ini, a1 = Amir, a2 = Budi, a3 = Cecep, dan b1 = INF0221

Representasi relasi dengan graf berarah







Sifat-sifat dari relasi biner





1
0
1
0

Sedangkan graf berarah dari relasi yang bersifat setangkup dicirikan oleh: jika ada busur dari a ke b, maka juga ada busur dari b ke a.

3. Menghantar (transitif)
Relasi R pada himpunan A disebut menghantar bilamana (a,b) R dan (b,a) R, maka (a,c) R, untuk a, b, c A.
Contoh 2.8.
Misalkan A = { 1, 2, 3, 4 }, dan relasi R da bawah ini didefinisikan pada himpunan A, maka
a. R = { (2,1), (3,1), (3,2), (4,1), (4,2), (4,3) }bersifat menghantar. Lihat pada table berikut :

Pasangan berbentuk
(a,b) (b,c) (a,c)
(3,2) (2,1) (3,1)
(4,2) (2,1) (4,1)
(4,3) (3,1) (4,1)
(4,3) (3,2) (4,2)

b. R = { (1,1), (2,3), (2,4), (4,2) } maka bersifatmenghantar karena (2,4) dan (4,2) R, tetapi (2,2) R, begitu juga (4,2) dan (2,3) R, tetapi (4,3) R.
c. R = { (4,5) } bersifat menghantar.
Contoh 2.9.
Relasi “habis dibagi” pada himpunan bilangan bulat positif bersifat menghantar. Misalkan bahwa a habis membagi b dan b habis membagi c. maka terdapat bilangan positif m dan n sedemikian sehingga a = mb dan b = nc. Disini a = mnc, sehingga a habis membagi c. jadi, relasi “habis membagi” bersifat menghantar.

Ditinjau dari representasi relasi, relasi yang bersifat menghantar tidak mempunyai ciri khusus pada matriks representasinya. Tetapi sifat menghantar pada graf berarah ditunjukan oleh: jika ada busur dari a ke b dan dari b ke c, maka juga terdapat busur berarah dari a ke c.

2.4 Mengkombinasikan Relasi
Karena relasi biner merupakan himpunan pasangan terurut, maka operasi himpunan seperti irisan, gabungan, selisih dan beda setangkup antara dua relasi atau lebih juga berlaku. Hasil operasi tersebut juga berupa relasi. Dengan kata lain, jika R1 dan R2 masing – masing adalah relasi dari himpunan A ke himpunan B, maka R1 R2 , R1 R2 , R1 - R2, R1 R2 juga adalah relasi dari A ke B.

Contoh 2.10.
Misalkan A = { a, b, c } dan B = { a, b, c, d }. Relasi R1 = { (a,a), (b,b), (c,c), dan relasi R2 = { (a,a), (a,b), (a,c), (a,d) } adalah relasi dari A ke B. kita dapat mengkombinasikan ke dua buah relasi tersebut untuk memperoleh

R1 R2 = { (a,a) }
R1 R2 = { (a,a), (b,b), (c,c), (a,b), (a,c), (a,d) }
R1 - R2 = { (b,b), (c,c) }
R2 – R1 = { (a,b), (a,c), (a,d) }
R1 R2 = { (b,b), (c,c), (a,b), (a,c), (a,d) }

Jika relasi R1 dan R2 masing – masing dinyatakan dengan matriks MR1 dan MR2, maka matriks yang menyatakan gabungan dan irisan dari kedua relasi tersebut adalah

MR1 R2 = MR1 R2 dan MR1 R2 = MR1 R2


Yang dalam hal ini, operator “ ” berarti “atau” dan “ ” berarti “dan”.

Contoh 2.11.
Misalkan bahwa relasi R1¬ dan R2 pada himpunan A dinyatakan oleh matriks

dan
Maka matriks yang menyatakan MR1 R2 dan MR1 R2 adalah





2.5 Komposisi Relasi
Cara lain mengkombinasikan relasi adalah mengkomposisikan dua buah relasi atau lebih. Komposisi relasi analog dengan komposisi fungsi.
Definisi 2.3.
Misalkan R adalah relasi dari himpunan A ke himpunan B, dan S adalah relasi dari himpunan B ke himpunan C. komposisi R dan S, dinotasikan dengan R o S, adalah relasi dari A ke C yang didefinisikan oleh
R o S = { (a,c)}│ a A, c C, dan untuk beberapa b B, (a,b) R dan (b,c) S }

Contoh 2.12.
Misalkan R = { (1,2), (1,6), (2,4), (3,4), (3,6), (3,8) } adalah relasi dari himpunan { 1, 2, 3 } ke himpunan { 2, 4, 6, 8 } dan S = { (2,u), (4,s), (4,t), (6,t), (8,u) } adalah relasi dari { 2, 4, 6 } ke himpunan { s, t, u }. Maka komposisi relasi R dan S adalah R o S = { (1,u), (1,t), (2,s), (2,t), (3,s), (3,t), (3,u) }
Jika relasi R1 dan R2 masing – masing dinyatakan dengan matriks MR1 dan M R2, maka matriks yang menyatakan komposisi dari kedua relasi tersebut adalah
MR1 o R2 = MR1 . MR2

Yang dalam hal ini operator “.” Sama seperti pada perkalian matriks biasa, tetapi dengan mengganti tanda kali dengan “ ” dan tanda tambah dengan “ ”.

Contoh 2.13.
Misalkan bahwa relasi R1 dan R2 pada himpunan A dinyatakan oleh metrics

dan

Maka matriks yang menyatakan R1 o R2 adalah




2.6 Relasi n-ary
Relasi biner hanya menghubungkan antara dua buah himpunan. Relasi yang lebih umum menghubungkan lebih dari dua buah himpunan. Relasi tersebut dinamakan relasi n-ary (baca: ener). Jika n = 2, maka relasinya dinamakan relasi biner (bi = 2). Relasi n-ary mempunyai terapan penting didalam basisdata.
Definisi 2.4.
Misalkan A1, A2, ….An adalah himpunan. Relasi n-ary R pada himpunan – himpunan tersebut adalah himpunan bagian dari A1 x A2 x … x An, atau dengan rotasi R A1 x, A2 x, ….x An. himpunan A1, A2, ….An disebut daerah asal relasi dan n disebut derajat.
Contoh 2.14.
Misalkan
NIM = { 13598011, 13598014, 13598015, 13598019, 13598021, 13598025 }
Nama = { Amir, Santi, Irwan, Ahmad, Cecep, Hamdan }
MatKul = { Matematika Diskrit, Algoritma, Struktur Data, Arsitektur Komputer }
Nilai = { A, B, C, D, E }
Berturut – turut adalh himpunan Nomor Induk Mahasiswa, himpunan nama – nama mahasiswa, himpunan nama – nama mata kuliah, dan himpunan nilai mata kuliah. Relasi MHS yang terdiri dari 5-tupel (NIM, Nama, MatKul, Nilai) mempresentasikan hubungan antara nomor induk mahasiswa, namanya, mata kuliah yang diakbilnya, dan nilai mata kuliah. Satu contoh relasi yang bernam MHS adalah


MHS = { 13598011, Amir, Matematika Diskrit, A },
{ 13598011, Amir, Arsitektur Komputer, B },
{ 13598014, Santi, Arsitektur Komputer, D },
{ 13598015, Irwan, Algoritma, C },
{ 13598015, Irwan, Struktur Data, C },
{ 13598015, Irwan, Arsitektur Komputer, B },
{ 13598019, Ahmad, Algoritma, E },
{ 13598021, Cecep, Algoritma, A },
{ 13598021, Cecep, Arsitektur Komputer, B },
{ 13598025, Hamdan, Matematika Diskrit, B },
{ 13598025, Hamdan, Algoritma, A, B },
{ 13598025, Hamdan, Struktur Data, C },
{ 13598025, Hamdan, Arsitektur Komputer, B }
Relasi MHS di atas juga dapat ditulis dalam bentuk table 2.4.

Table 2.4
NIM Nama MatKul Nilai
13598011
13598011
13598014
13598015
13598015
13598015
13598019
13598021
13598021
13598025
13598025
13598025
13598025 Amir
Amir
Santi
Irwan
Irwan
Irwan
Ahmad
Cecep
Cecep
Hamdan
Hamdan
Hamdan
Hamdan Matematika Diskrit
Arsitektur Komputer
Arsitektur Komputer
Algoritma
Struktur Data
Arsitektur Komputer
Algoritma
Algoritma
Arsitektur Komputer
Matematika Diskrit
Algoritma
Struktur Data
Arsitektur Komputer A
B
D
C
C
B
E
A
B
B
A
C
B

Basisdata (database) adalah kumpulan table. Salah satu model basisdata adalah model basisdata relasional (relation database). Pada basisdata relasional, satu tabel menyatakan satu relasi. Setiap kolom pada tabel disebut atribut. Daerah asal dari atribut adalah himpunan tempat semua anggota atribut tersebut berada. Setiap tabel pada basisdata diimplementasikan secara fisik sebagai sebuah file. Suatu baris data pada tabel menyatakan sebuah record, dan setiap atribut menyatakan sebuah file. Dengan kata lain, secara fisik basisdata adalah kumpulan file, sedangkan file adalah kumpulan record, setiap record terdiri atas sejumlah field.

Teori basisdata didasarkan pada konsep relasi n-ary. Pembahasan teori basisdata harus dilepas pada implementasi fisiknya.

Atribut khusus pada tabel yang mengidentifikasikan secara unik elemen relasi disebut kunci (key). Pada contoh 2.4 di atas, NIM merupakan kunci. Atribut nama bukan atribut kunci karena orang yang berbeda mungkin mempunyai nama yang sama.
Operasi yang dilakukan terhadap basisdata dilakukan dengan perintah pertanyaan yang disebut perintah query. Satu contoh query misalnya,

“tampilkan semua mahasiswa yang mengambil mata kuliah matematika diskrit”
“tampilkan daftar nilai mahasiswa dengan NIM = 13598015”
“tampilkan daftar mahasiswa yang terdiri atas NIM dan mata kuliah yang diambil”

Pada hakekatnya, query terhadap basisdata relasion dapat dinyatakan secara abstrak dengan oprasi pada relasi n-ary. Ada beberapa operasi yang dapat digunakan, diantaranya adalah seleksi, proyeksi, dan join.



Seleksi
Opreasi seleksi memilih baris tertentu dari suatu tabel yang memenuhi persyaratan tertentu.
Operasi:
Contoh 2.15.
Misalkan untuk relasi MHS kita ingin menampilkan daftar mahasiswa yang mengambil mata kuliah matematika diskrit. Operasi seleksinya adalah
MatKul = “matematika diskrit” (MHS)
Yang menghasilkan tupel.

(13598011, Amir Matematika Diskrit, A) (13598025, Hamdan, Matematika Diskrit, B).

Proyeksi
Operasi proyeksi memiliki kolom tertentu dari suatu tabel. Jika ada beberapa baris yang sama nilainya, maka hanya diambil satu kali.
Operator:

Contoh 2.16.
Operasi proyeksi
nama, MatKul, nilai (MHS)
Menghasilkan tabel 2.5. sedangkan operasi proyeksi
NIM, Nama (MHS)
Menghasilkan tabel 2.6.

Tabel 2.5.
Nama MatKul Nilai
Amir
Amir
Santi
Irwan
Irwan
Irwan
Ahmad
Cecep
Cecep
Hamdan
Hamdan
Hamdan
Hamdan Matematika Diskrit
Arsitektur Komputer
Algoritma
Algoritma
Struktur Data
Arsitektur Komputer
Algoritma
Algoritma
Arsitektur Komputer
Matematika Diskrit
Algoritma
Struktur Data
Arsitektur Komputer A
B
D
C
C
B
E
B
B
B
A
C
B


Tabel 2.6.
NIM Nama
13598011
13598014
13598015
13598019
13598021
13598025 Amir
Santi
Irwan
Ahmad
Cecep
Hamdan

Join
Operasi join menggabungkan dua buah tabel menjadi satu bila kedua tabel mempunyai atribut yang sama. Sebagai contoh, suatu tabel mengandung NIM, Nama, Jenis Kelamin, dan tabel ini mengandung NIM, Nama, MatKul, Nilai. Gabungan keduanya menghasilkan tabel baru yang mengandung atribut NIM, Nama, Jenis Kelamin, MatKul, dan Nilai.
Operator:

Contoh 2.17.
Misalkan relasi MHS 1 dinyatakan dengan tabel 2.7 dan relasi MHS 2 dinyatakan dengan tabel 2.8. opersi join
NIM, Nam MHS 1, MHS 2)
Menghasilkan tabel 2.9.

Tabel 2.7
NIM Nama JK
13598001 Hananto L
13598002 Guntur L
13598004 Heidi W
13598006 Harman L
13598007 Karim L

Tabel 2.8
NIM Nama MatKul Nilai
13598001 Hananto Algoritma A
13598001 Hananto Basisdata B
13598004 Heidi Kalkulus I B
13598006 Harman Teori Bahasa C
13598006 Harman Agama A
13598009 Junaidi Statisitik B
13598010 Farizka Otomata C

Tabel 2.9
NIM Nama JK MatKul Nilai
13598001 Hananto L Algoritma A
13598001 Hananto L Basisdata B
13598004 Heidi W Kalkulus I B
13598006 Harman L Teori Bahasa C
13598006 Harman L Agama A



2.7 Fungsi
Fungsi adalah jenis khusus dari relasi. Definisi fungsi adalah sebagai berikut:

Definisi 2.5
Misalkan A dan B himpunan. Relasi biner f dari A ke B merupakan suatu fungsi jika untuk setiap elemen a di dalam A terdapat satu elemen tunggal b di dalam B sedemikian sehingga (a,b) Є f. kita tulis f(a)=b. Jika f adalah fungsi dari A ke B, kita menuliskan f : A  B yang artinya f memetakan A ke B.

Gambar 2.3 merepresentasikan fungsi dari A ke B.

Jika f adalah fungsi dari A ke B, A disebut daerah asal (domain) dari f dan B disebut daerah hasil ( range/codomain) dari f. Jika f(a) = b, maka b dinamakan bayangan (image) dari a dan a dinamakan prabayangan (pre-image) dari b.


Gambar 2.3 fungsi f memetakan A ke B

Contoh 2.18
Relasi
f = { (1,u),(2,v),(3,w) }

dari A = {1,2,3} ke B = {u,v,w} adalah fungsi dari A ke B. Daerah asal dari f adalah A dan daerah hasil adalah B.


Contoh 2.19.
Relasi
f = { (1,u),(2,v),(3,w)}
dari A = {1,2,3,4} ke B = {u,v,w} bukan fungsi dari A ke B, karena daerah asal dari f{1,2,3} tidak sama dengan A.

Contoh 2.20.
Relasi
f = { (1,u),(2,v),(3,w) }
dari A = {1,2,3 }ke B = {u,v,w} bukan fungsi dari A ke B, karena dipetakan ke dua buah elemen B, yaitu u dan v ( ingat definisi fungsi atas ).

Contoh 2.21.
Relasi
f = {(1,u),(2,u),(3,v)}
Dari A = {1,2,3} ke B = {u,v,w}adalah fungsi dari A ke B, meskipun u merupakan bayangan dari dua elemen A.
Fungsi f dikatakan satu-ke-satu (one-to-one) atau injektif (injective) jika tidak ada dua elemen himpunan A yang memiliki bayangan sama. Dengan kata lain, jika a dan b adalah anggota himpunan A, maka f(a) ≠ f(b) bilamana a ≠ b. Gambar 2.4 mengilustrasikan fungsi satu-ke-satu.



Gambar 2.4 fungsi satu-ke-satu

Contoh 2.22.
Relasi
f = {(1,w),(2,u),(3,v)}
dari A = {1,2,3} ke B = {u,v,w,x} adalah fungsi satu-ke-satu,

Relasi
f = {(1,w),(2,u),(3,v)}
dari A = {1,2,3} ke B = {u,v,w} juga fungsi satu-ke-satu, tetapi relasi f = {(1,u),(2,u),(3,v)}

dari A ={1,2,3} ke B = {u,v,w} bukan fungsi satu-ke-satu, karena f(1) = f(2)=u.
Fungsi f dikatakan dipetakan pada (onto) atau surjektif (surjective) jika setiap elemen himpunan B merupakan bayangan dari satu atau lebih elemen himpunan A. Dengan kata lain, fungsi f adalah pada bila semua elemen B merupakan daerah hasil dari f. Fungsi f disebut fungsi pada himpunan B. Gambar 2.5 mengilustrasikan fungsi pada.

Gambar 2.5 fungsi pada

Contoh 2.23.
Relasi
f = {(1,u),(2,u),(3,v)}

dari A = {1,2,3} ke B = {u,v,w} bukan fungsi pada, karena w tidak termasuk ke dalam daerah hasil dari f.

Relasi
f = {(1,w),(2,u),(3,v)}

dari A = {1,2,3} ke B = {u,v,w}merupakan fungsi pada, karena semua elemen B termasuk ke dalam daerah hasil f.

Fungsi f dikatakan berkoreponden satu-ke-satu atau bijektif (bijection) jika ia satu-ke-satu dan juga fungsi pada.

Contoh 2.24.
Relasi
f = {(1,u),(2,w),(3,v)}

dari A = {1,2,3} ke B = {u,v,w} adalah fungsi yang berkorespoden satu-ke-satu, karena f adalah fungsi satu-ke-satu maupun fungsi pada.

Gambar 2.6 memperlihatkan perbedaan antara fungsi satu-ke-satu tetapi bukan pada, fungsi pada tetapi bukan satu-ke-satu, bukan fungsi satu-ke-satu maupun fungsi pada, dan bukan fungsi.




Gambar 2.6 Perbedaan empat tipe korespondensi

Jika f adalah fungsi berkoresponden satu-ke-satu dari A ke B, maka kita dapat menemukan balikan (invers) dan f. Balikan fungsi dilambangkan dendan f -1 . misalkan a adalah anggota himpunan A dan b adalah anggota himpunan B, maka f -1 (b) = a jika f(a) = b.

Contoh 2.25
Relasi
f = {(1,u),(2,w),(3,v)}

dari A = {1,2,3} ke B = {u,v,w} adalah fungsi yang berkoresponden satu-ke-satu. Balikan fungsi f adalah

f -1 = {(u,1),(w,2),(v,3)}

karena fungsi merupakan bentuk khusus dari relasi, kita juga dapat melakukan komposisi dari dua buah fungsi. Misalkan g adalah fungsi dari himpunan A ke himpuna B, dan f adalah fungsi dari himpunan B ke himpuna C. Komposisi f dan g, dinotasikan dengan f o g, adalah fungsi dari A ke C yang didefinisikan oleh

(f o g)(a) = f (g(a))

Contoh 2.26.
Diberikan fungsi

g = {(1,u),(2,u),(3,v)}

yang memetakan A = {1,2,3} ke B {u,v,w}, dan fungsi f = {(u,y),(v,x),(w,z)}
yang memetakan B = {u,v,w} ke C {x,y,z}. Fungsi komposisi dari A ke C adalah

f o g = {(1,y),(2,y),(3,x)}

Soal Latihan

1. A = {2,3,4} ke B = {0,1,2,3} yang dalam hal ini pasangan terurut (a,b) Є R jika dan hanya jika a > b.
2. Tuliskan anggota dari relasi R pada {1,2,3,4} yang didefinisikan oleh (x,y) Є R jika x2 ≥ y.
3. Nyatakan relasi R ={(1,2),(2,1),(3,3),(1,1),(2,2)} pada X = {1,2,3} dalam bentuk tabel, matriks, dan graf berarah.
4. Untuk tiap relasi pada {1,2,3,4} berikut, tentukan apakah ia refleksif, setangkup, tak-setangkup, dan menghantar.
a) {(2,2),(2,3),(2,4),(3,2),(3,3),(3,4)}
b) {(2,4),(4,2),}
c) {(1,1),(2,2),(3,3),(4,4)}
d) {(1,3),(1,4),(2,3),(2,4),(3,1),(3,4)}
5. Tentukan apakah relasi R pada himpunan orang bersifat refleksif, setangkup, tak-setangkup, dan / atau menghantar, yang dalam hal ini (a,b) Є R jika dan hanya jika
a) a lebih tinggi daripada b
b) a dan b lahir pada hari yang sama
c) a mempunyai nama pertama yang sama dengan b
6. Misalkan R adalah relasi {(1,2),(1,3),(2,3),(2,4),(3,1)} dan S adalah relasi {(2,1),(3,1),(3,2),(4,2),(4,2)}. Tentukan S o R dan R o S.
7. Misalkan R = {(1,2),(2,3),(3,4)} dan S = {(1,1),(1,2),(2,1),(2,2),(2,3),(3,1),(3,2),(3,4)} adalah relasi dari {1,2,3} ke {1,2,3,4}. Tentukan
a). R S
b). R S
c). R – S
d). S – R
e). R S
8. Misalkan R adalah relasi pada himpunan orang yang terdiri dari pasangan (a,b) yang dalam hal ini a adalah ayah dari b. Misalkan S adalah relasi pada himpunan orang yang terdiri dari pasangan (a,b) yang dalam hal ini a dan b adalah saudara kandung. Nyatakan R o S.
9. Nyatakan pasangan terurut dari relasi pada {1,2,3} yang berkoresponden dengan matriks berikut:
a). b).
10. Gambarkan graf berarah dari relasi yang dinyatakan oleh matriks pada soal nomor 9.
11. Misalkan bahwa relasi R dan S pada himpuna A dinyatakan oleh matriks

R = dan S =
Tentukan matriks yang menyatakan
a). R S
b). R S
c). R o S

12. jika diberikan
g = {(1,b),(2,c),(3,a)}
adalah fungsi dari A = {1,2,3} ke B = {a,b,c,d} dan
f = {(a,x),(b,x),(c,z),(d,w)}
adalah fungsi dari B ke C = {w,x,y,z}, tuliskan f o g sebagai himpunan pasangan terurut.

13. misalkan f adalah fungsi dari X = {0,1,2,3,4,5} ke X yang didefinisikan oleh
f(x) = 4x mod 6
Tuliskan f sebagai himpunan pasangan terurut. Apakah f satu-ke-satu atau pada?

Download (*.ppt)

Baca selengkapnya...

Unit Search

unit search;

interface

uses crt;
type larik = array [1..100] of integer;
var
i,n, y : byte;
x : integer;
l : larik;
found: boolean;

procedure sequential (var l : larik; x : integer; n:byte);
procedure binary (var l : larik;x: integer; n:byte);

implementation

procedure sequential (var l : larik; x : integer; n:byte);
begin
i:=1;
found := false;
while (not found) and (i<=n) do
begin
if x=l[i] then
found := true
else
i := i +1;
end;
clrscr;
if found then
writeln('Elemen yang bernilai ',x,' berada pada index ke ',i)
else
writeln('Elemen yang bernilai ',x,' tidak ada pada semua index');
writeln('===========================');
writeln(' Index ke- Nilai Data');
writeln('---------------------------');
y := 5;
for i := 1 to n do
begin
gotoxy(6,y);
writeln(i);
gotoxy(21,y);
writeln(l[i]);
inc(y);
end;
writeln('===========================');
end;


procedure binary (var l : larik; x :integer; n:byte);

var
a,iA,iAk,iT : byte;
kondisi : char;
temp : integer;
j : byte;
begin
{prosedur mengurutkan data}
{---------------------------------------}
for i := 1 to (n-1) do
for j := n downto (i+1) do
if l[j] < l[(j-1)] then
begin
temp := l[j];
l[j] := l[(j-1)];
l[(j-1)] := temp;
end;
{---------------------------------------}
a:=0;
iA :=1;
iAk :=n;
found :=false;
while ( not found) and (iA<=iAk) do
begin
iT:=(iA+iAk) div 2;
inc(a);
writeln('Iterasi ke ',a);
writeln('iA = ',iA);

Unit di atas adalah unit yang berisi prosedur - prosedur searching data. Yaitu prosedur binary dan sequential. Download di sini untuk source code dan file *.TPU nya.



Untuk memanggil Unit tersebut maka diperlukan sebuah program.

Program searching;
uses crt,search;
var
option : char;

begin
clrscr;
write('Masukkan banyak data : ');
readln(n);


Download source code nya di sini.

Komen yaw...

Baca selengkapnya...

Metode Numerik

PENDAHULUAN

Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi, atau pada persoalan rekayasa (engineering), seperti Teknik Sipil, Teknik Mesin, Elektro, dan sebagainya. Seringkali model matematika tersebut muncul dalam bentuk yang tidak ideal alias rumit. Model matematika yang rumit ini adakalanya tidak dapat diselesaikan dengan metode analitik yang sudah umum untuk mendapatkan solusi sejatinya (exact solution). Yang dimaksud dengan metode analitik adalah metode penyelesaian model matematika dengan rumus-rumus aljabar yang sudah baku (lazim). Sebagai contoh ilustrasi, kita bisa lihat sekumpulan persoalan matematika di bawah ini.

Bagaimana cara anda menyelesaikannya?

(i) Tentukan akar-akar persamaan polinom:

23.4x7 - 1.25x6 + 120x4 + 15x3 - 120x2- x + 100 = 0

(ii) Tentukan harga x yang memenuhi persamaan:

(iii) Selesaikan sistem persamaaan lanjar (linear):

1.2a - 3b - 12c + 12d + 4.8e - 5.5f + 100g = 18

0.9a + 3b - c + 16d + 8e - 5f - 10g = 17

4.6a + 3b - 6c - 2d + 4e + 6.5f - 13g = 19

3.7a - 3b + 8c - 7d + 14e + 8.4f + 16g = 6

2.2a + 3b + 17c + 6d + 12e - 7.5f + 18g = 9

5.9a + 3b + 11c + 9d - 5e - 25f - 10g = 0

1.6a + 3b + 1.8c + 12d - 7e + 2.5f + g = -5

(iv) Tentukan nilai maksimum fungsi tiga matra (dimension):

(v) Bila diperoleh tabulasi titik-titik (x,y) sebagai berikut (yang dalam hal ini rumus fungsi y = f(x) tidak diketahui secara eksplisit):

Hitung taksiran nilai y untuk x = 3.8!

(vi) Berdasarkan titik-titik data pada tabel persoalan (v) di atas, berapa nilai f '(3.5) dan nilai f "(3.5) ?

(vii) Hitung nilai integral-tentu berikut:

(viii) Diberikan persamaan differensial biasa (PDB) dengan nilai awal:

Hitung nilai y pada t = 1.8!

Menghadapi soal-soal seperti di atas, kita mungkin menyerah, atau mungkin mengatakan bahwa soal-soal tersebut tidak dapat diselesaikan dengan metode analitik yang biasa kita kenal. Soal (i) misalnya, biasanya untuk polinom derajat 2 orang masih dapat mencari akar-akar polinom dengan rumus abc yang terkenal itu yaitu

namun, untuk polinom derajat > 2, seperti pada soal (i), tidak terdapat rumus aljabar untuk menghitung akar polinom. Yang mungkin kita lakukan adalah dengan memanipulasi polinom, misalnya dengan memfaktorkan (atau menguraikan) polinom tersebut menjadi perkalian beberapa suku. Semakin tinggi derajat polinom, jelas semakin sukar memfaktorkannya. Ada juga beberapa alternatif lain. Yang pertama dengan cara coba-coba seperti metode pembagian sintetis Horner. Dengan metode ini, polinom dibagi dengan sebuah bilangan. Jika sisa pembagiannya nol, maka bilangan tersebut adalah akar polinom. Cara kedua adalah secara grafik, yaitu dengan merajah kurva fungsi di atas kertas grafik, kemudian berdasarkan gambar kurva, kita mengambil tarikan akar secara kasar, yaitu titik poyong kurva dengan sumbu-x. Cara ini, selain kaku dan tidak praktis, ketelitian akar yang diperoleh sangat bergantung pada ketelitian penggambaran kurva.. Lagipula, merajah kurva pada kertas grafik hanya terbatas pada fungsi yang dapat digambarkan pada bidang dua matra atau tiga matra. Untuk fungsi dengan peubah lebih besar dari 3 jelas tidak dapat (malah tidak mungkin) kita gambar kurvanya. Soal nomor (ii) masih sejenis dengan soal (i), yaitu menentukan nilai x yang memenuhi kedua persamaan. Untuk soal nomor (iii), juga tidak ada rumus yang baku untuk menemukan solusi sistem persamaan lanjar. Apabila sistem persamaannya hanya berupa dua garis lurus dengan dua peubah, kita masih dapat menemukan solusinya (dalam hal ini titik potong kedua garis) dengan menggunakan rumus titik potong dua buah garis atau dengan aturan Cramer. Kita juga dapat menemukan titik potong tersebut dengan menggambar kedua garis pada kertas grafik. Untuk sistem yang terdiri dari tiga buah persamaan lanjar dengan tiga peubah, aturan Cramer masih dapat digunakan untuk memecahkan sistem. Tetapi untuk sistem dengan jumlah persamaan dan jumlah peubah lebih besar dari tiga, tidak ada rumus yang dapat dipakai untuk memecahkannya. Pada soal nomor (iv), relatif sukar mencari titik optimum fungsi yang memiliki banyak peubah. Untuk menentukan titik optimum (titik ekstrim fungsi), pertamatama orang harus menentukan turunan fungsi, menjadikan ruas kanannya sama dengan nol, lalu memeriksa jenis titik ekstrimnya. Bila fungsinya cukup rumit dan disusun oleh banyak peubah, menghitung turunan fungsi menjadi pekerjaan yang sukar atau bahkan tidak mungkin dilakukan. Pertanyaan yang agak klasik sering muncul pada soal nomor (v): bagaimana menghitung nilai sebuah fungsi bila rumus fungsinya sendiri tidak diketahui? Kita semua tahu bahwa nilai fungsi diperoleh dengan cara menyulihkan (substitute) harga dari peubahnya ke dalam rumus fungsi. Masalahnya, bagaimana kalau persamaan fungsi tersebut tidak diketahui. Yang tersedia hanyalah beberapa buah data diskrit (discrete) dalam bentuk tabel. Persoalan semacam nomor (v) ini acapkali muncul pada pengamatan fenomena alam, baik berupa eksperimen di laboratorium maupun penelitian di lapangan yang melibatkan beberapa parameter (misalnya suhu, tekanan, waktu, dan sebagainya). Pengamat tidak mengetahui relasi yang menghubungkan parameter-parameter itu. Pengamat hanya dapat mengukur nilai-nilai parameter tersebut dengan menggunakan alat ukur seperti sensor, termometer, barometer, dan sebagainya. Tidak satupun metode analitik yang yang tersedia untuk menyelesaikan persoalan jenis ini. Begitu juga soal nomor (vi) melahirkan pertanyaan yang sama, bagaimana menghitung nilai turunan fungsi bila fungsinya sendiri tidak diketahui?. Pada soal nomor (vii), tidak ada teknik integrasi yang dapat digunakan untuk fungsi yang bentuknya rumit itu. Begitu juga pada soal nomor (viii), tidak terdapat metode persamaan diferensial untuk menyelesaikannya. Dengan kata lain, persoalan (vii) dan (viii) tidak mempunyai solusi analitik.

Untuk menyelesaikan persoalan tersebut bisa digunakan metode numerik. Bagaimana menggunakan metode numerik ?

PEMBAHASAN

2.1 Metode Analitik versus Metode Numerik

Contoh-contoh yang dikemukakan di atas memperlihatkan bahwa kebanyakan persoalan matematika tidak dapat diselesaikan dengan metode analitik. Metode analitik disebut juga metode sejati karena ia memberi kita solusi sejati (exact solution) atau solusi yang sesungguhnya, yaitu solusi yang memiliki galat (error) sama dengan nol! Sayangnya, metode analitik hanya unggul untuk sejumlah persoalan yang terbatas, yaitu persoalan yang memiliki tafsiran geometri sederhana serta bermatra rendah [CHA88]. Padahal persoalan yang muncul dalam dunia nyata seringkali nirlanjar serta melibatkan bentuk dan proses yang rumit. Akibatnya nilai praktis penyelesaian metode analitik menjadi terbatas. Bila metode analitik tidak dapat lagi diterapkan, maka solusi persoalan sebenarnya masih dapat dicari dengan menggunakan metode numerik.

Metode numerik adalah teknik yang digunakan untuk memformulasikan persoalan matematik sehingga dapat dipecahkan dengan operasi perhitungan/aritmetika biasa (tambah, kurang, kali, dan bagi). Metode artinya cara, sedangkan numerik artinya angka. Jadi metode numerik secara harafiah berarti cara berhitung dengan menggunakan angka-angka. Perbedaan utama antara metode numerik dengan metode analitik terletak pada dua hal. Pertama, solusi dengan menggunakan metode numerik selalu berbentuk angka. Bandingkan dengan metode analitik yang biasanya menghasilkan solusi dalam bentuk fungsi matematik yang selanjutnya fungsi mateamtik tersebut dapat dievaluasi untuk menghasilkan nilai dalam bentuk angka. Kedua, dengan metode numerik, kita hanya memperoleh solusi yang menghampiri atau mendekati solusi sejati sehingga solusi numerik dinamakan juga solusi hampiran (approxomation) atau solusi pendekatan, namun solusi hampiran dapat dibuat seteliti yang kita inginkan. Solusi hampiran jelas tidak tepat sama dengan solusi sejati, sehingga ada selisih antara keduanya. Selisih inilah yang disebut dengan galat (error).

Sebagai contoh ilustrasi penyelesaian dengan metode numerik, pandanglah sebuah persoalan integrasi-tentu berikut

Dengan metode analitik, kita dapat menemukan solusi sejatinya dengan mudah. Di dalam alkulus integral tentu kita mengetahui teknik pengintegralan untuk fungsi sederhana:

Maka, berdasarkan rumus diatas, kita dapat melakukan pengintegralan suku-suku dari

fungsi integralnya lalu menghitung nilai integral-tentunya sebagai berikut:

Perhatikanlah bahwa 4x - x3/3 adalah solusi analitik dalam bentuk fungsi matematik, sedangkan 22/3 adalah nilai numerik integral-tentu yang diperoleh dengan cara mengevaluasi fungsi matematik tersebut untuk batas-batas integrasi x = 1 dan x = -1.

Integrasi f(x) = 4 - x2 secara numerik

Bandingkan penyelesaian di atas bila persoalan integrasi tersebut diselesaikan dengan metode numerik sebagai berikut. Sekali lagi, di dalam kalkulus integral kita tentu masih ingat bahwa interpretasi geometri integral f(x) dari x = a sampai x = b adalah luas daerah yang dibatasi oleh kurva f(x), sumbu-x, dan garis x = a dan x = b. Luas daerah tersebut dapat dihampiri dengan cara sebagai berikut. Bagilah daerah integrasi [-1, 1] atas sejumlah trapesium dengan lebar 0.5. Maka, luas daerah integrasi dihampiri dengan luas kempat buah trapesium, atau

I » p + q + r + s

» {[f(-1) + f(-1/2)] ´ 0.5/2} + {[f(-1/2) + f(0)] ´ 0.5/2} +

{[f(0) + f(1/2)] ´ 0.5/2} + {[f(1/2) + f(1)] ´ 0.5/2}

» 0.5/2 {f(-1) + 2f(-1/2) + 2f(0) + 2f(1/2) + f(1)}

» 0.5/2 {3 + 7.5 + 8 + 7.5 + 3}

» 7.25

yang merupakan solusi hampiran (tanda “»“ artinya “kira-kira”) terhadap solusi sejati (22/3). Galat solusi hampiran terhadap solusi sejati adalah

galat = ÷ 7.25 – 22/3 ÷ = ÷ 7.25 – 7.33…÷ = 0.08333...

Tentu saja kita dapat memperkecil galat ini dengan membuat lebar trapesium yang lebih kecil (yang artinya jumlah trapesium semakin banyak, yang berarti jumlah komputasi semakin banyak). Contoh ini juga memperlihatkan bahwa meskipun solusi dengan metode numerik merupakan hampiran, tetapi hasilnya dapat dibuat seteliti mungkin dengan mengubah parameter komputasi (pada contoh perhitungan integral di atas, lebar trapesium yang dikurangi).

2.2 Metode Numerik dalam Bidang Rekayasa

Dalam bidang rekayasa, kebutuhan untuk menemukan solusi persoalan secara praktis adalah jelas. Dari kacamata rekayasawan, masih tampak banyak cara penyelesaian persoalan matematik yang dirasa terlalu sulit atau dalam bentuk yang kurang kongkrit. Penyelesaian analitik yang sering diberikan oleh kaum matematika kurang berguna bagi rekayasawan, karena ia harus dapat mentransformasikan solusi matematika yang sejati ke dalam bentuk berwudud yang biasanya meninggalkan kaidah kesejatiannya [BES97]. Solusi hampiran biasanya sudah memenuhi persyaratan rekayasa dan dapat diterima sebagai solusi. Lagipula, banyak persoalan matematika dalam bidang rekayasa yang hanya dapat dipecahkan secara hampiran. Kadang-kadang dapat pula terjadi bahwa metode analitik hanya menjamin keberadaan (atau hanya mengkarakteristikkan beberapa properti umum) solusi, tetapi tidak memberikan cara menemukan solusi tersebut[KRE88].

Bagi rekayasawan, solusi yang diperoleh secara analitik kurang kurang berguna untuk tujuan numerik. Persoalan rekayasa dalam prakteknya tidak selalu membutuhkan solusi dalam bentuk fungsi matematika menerus (continuous). Rekayasawan seringkali menginginkan solusi dalam bentuk numerik, misalnya persoalan integral tentu dan persamaan diferensial. Sebuah contoh dalam termodinamika dikemukakan di bawah ini untuk memperjelas pernyataan ini [KRE88].

Sebuah bola logam dipanaskan sampai pada suhu 100°C. Kemudian, pada saat t = 0, bola itu dimasukkan ke dalam air yang bersuhu 30°C. Setelah 3 menit, suhu bola berkurang menjadi 70°C. Tentukan suhu bola setelah 22.78 menit menit. Diketahui tetapan pendinginan bola logam itu adalah 0.1865.

Dengan menggunakan hukum pendinginan Newton, laju pendinginan bola setiap detiknya adalah

dT/dt = -k(T - 30)

yang dalam hal ini k adalah tetapan pendinginan bola logam yang harganya 0.1865. Bagi matematikawan, untuk menentukan suhu bola pada t = 22.78 menit, persamaan diferensial tersebut harus diselesaikan terlebih dahulu agar suhu T sebagai fungsi dari waktu t ditemukan. Persamaan diferensial ini dapat diselesaikan dengan metode kalkulus diferensial. Solusi umumnya adalah

T(t) = ce-kt + 308

Nilai awal yang diberikan adalah T(0)=100. Dengan menggunakan nilai awal ini, solusi khusus persamaan diferensial adalah

T(t) = 70e-0.1865 t + 30

Dengan menyulihkan t = 22.78 ke dalam persamaan T, diperoleh

T(22.78) = 70e-0.1865 ´ 22.78 + 30 = 31°C.

Jadi, suhu bola setelah 22.78 menit adalah 31°C.

Bagi rekayasawan, solusi persamaan diferensial yang berbentuk fungsi menerus ini tidak terlalu penting (bahkan beberapa persamaan diferensial tidak dapat dicari solusi khususnya karena memang tidak ada teknik yang baku untuk menyelesaikannya). Dalam praktek di lapangan, seringkali para rekayasawan hanya ingin mengetahui berapa suhu bola logam setelah t tertentu misalnya setelah 30 menit tanpa perlu mencari solusi khususnya dalam bentuk fungsi terlebih dahulu. Rekayasawan cukup memodelkan sistem ke dalam persamaan diferensial, lalu solusi untuk t tertentu dicari secara numerik.

2.3 Apakah Metode Numerik Hanya untuk Persoalan Matematika yang Rumit Saja?

Tentu saja tidak! Kita jangan berpikiran bahwa metode numerik hanya dapat menyelesaikan persoalan rumit saja. Metode numerik berlaku umum, yakni ia dapat diterapkan untuk menyelesaikan persoalan matematika sederhana (yang juga dapat diselesaikan dengan metode analitik) maupun persoalan matematika yang tergolong rumit (yang metode analitik pun belum tentu dapat menyelesaikannya). Sebagai contoh, dengan metode numerik kita dapat menghitung integral

sama mudahnya menghitung

2.4 Peranan Komputer dalam Metode Numerik

Komputer berperan besar dalam perkembangan bidang metode numerik. Hal ini mudah dimengerti karena perhitungan dengan metode numerik adalah berupa operasi aritmetika seperti penjumlahan, perkalian, pembagian, plus membuat perbandingan. Sayangnya, jumlah operasi aritmetika ini umumnya sangat banyak dan berulang, sehingga perhitungan secara manual sering menjemukan. Manusia (yang melakukan perhitungan manual ini) dapat membuat kesalahan dalam melakukannya. Dalam hal ini, komputer berperanan mempercepat proses perhitungan tanpa membuat kesalahan. Penggunaan komputer dalam metode numerik antara lain untuk memprogram.

Langkah-langkah metode numerik diformulasikan menjadi program komputer. Program ditulis dengan bahasa pemrograman tertentu, seperti FORTRAN, PASCAL, C, C++, BASIC, dan sebagainya. Sebenarnya, menulis program numerik tidak selalu diperlukan. Di pasaran terdapat banyak program aplikasi komersil yang langsung dapat digunakan. Beberapa contoh aplikasi yang ada saat ini adalah MathLab, MathCad, Maple, Mathematica, Eureka, dan sebagainya. Selain itu, terdapat juga library yang berisi rutin-rutin yang siap digabung dengan program utama yang ditulis pengguna, misalnya IMSL (International Mathematical and Statistical Library) Math/Library yang berisi ratusan rutin-rutin metode numerik. Selain mempercepat perhitungan numerik, dengan komputer kita dapat mencoba berbagai kemungkinan solusi yang terjadi akibat perubahan beberapa parameter.

Solusi yang diperoleh juga dapat ditingkatkan ketelitiannya dengan mengubahubah nilai parameter. Kemajuan komputer digital telah membuat bidang metode numerik berkembang secara dramatis. Tidak ada bidang matematika lain yang mengalami kemajuan penting secepat metode numerik. Tentu saja alasan utama penyebab kemajuan ini adalah perkembangan komputer itu sendiri, dari komputer mikro sampai komputer Cray, dan kita melihat perkembangan teknologi komputer tidak pernah berakhir. Tiap generasi baru komputer menghadirkan keunggulan seperti waktu, memori, ketelitian, dan kestabilan perhitungan. Hal ini membuat ruang penelitian semakin terbuka luas.

Tujuan utama penelitian itu adalah pengembangan algoritma numerik yang lebih baik dengan memanfaatkan keunggulan komputer semaksimal mungkin. Banyak algoritma baru lahir atau perbaikan algoritma yang lama didukung oleh komputer. Bagian mendasar dari perhitungan rekayasa yang dilakukan saat ini adalah perhitungan "waktu nyata" (real time computing), yaitu perhitungan keluaran (hasil) dari data yang diberikan dilakukan secara simultan dengan event pembangkitan data tersebut, sebagaimana yang dibutuhkan dalam mengendalikan proses kimia atau reaksi nuklir, memandu pesawat udara atau roket dan sebagainya [KRE88]. Karena itu, kecepatan perhitungan dan kebutuhan memori komputer adalah pertimbangan yang sangat penting. Jelaslah bahwa kecepatan tinggi, keandalan, dan fleksibilitas komputer memberikan akses untuk penyelesaian masalah praktek. Sebagai contoh, solusi sistem persamaan lanjar yang besar menjadi lebih mudah dan lebih cepat diselesaikan dengan komputer. Perkembangan yang cepat dalam metode numerik antara lain ialah penemuan metode baru, modifikasi metode yang sudah ada agar lebih mangkus, analisis teoritis dan praktis algoritma untuk proses perhitungan baku, pengkajian galat, dan penghilangan jebakan yang ada pada metode [KRE88].

2.5 Mengapa Kita Harus Mempelajari Metode Numerik?

Seperti sudah disebutkan di atas, para rekayasawan dan para ahli ilmu alam, dalam pekerjaannya sering berhadapan dengan persamaan matematik. Persoalan yang muncul di lapangan diformulasikan ke dalam model yang berbentuk persamaan matematika. Persamaan tersebut mungkin sangat kompleks atau jumlahnya lebih dari satu. Metode numerik, dengan bantuan komputer, memberkan cara penyelesaian persoalan matematika dengan cepat dan akurat. Terdapat beberapa alasan tambahan mengapa kita harus mempelajari metode numerik [CHA91]:

1. Metode numerik merupakan alat bantu pemecahan masalah matematika yang sangat ampuh. Metode numerik mampu menangani sistem persamaan besar, kenirlanjaran, dan geometri yang rumit yang dalam praktek rekayasa seringkali tidak mungkin dipecahkan secara analitik.

2. Seperti sudah disebutkan diatas, di pasaran banyak tersedia program aplikasi numerik komersil. Penggunaan aplikasi tersebut menjadi lebih berarti bila kita memiliki pengetahuan metode numerik agar kita dapat memahami cara paket tersebut menyelesaikan persoalan.

3. Kita dapat membuat sendiri program komputer tanpa harus membeli paket programnya. Seringkali beberapa persoalan matematika yang tidak selalu dapat diselesaikan oleh program aplikasi. Sebagai contoh, misalkan ada program aplikasi tertentu yang tidak dapat dipakai untuk menghitung integrasi lipat dua, òò, atau lipat tiga, òòò. Mau tidak mau, kita harus menulis sendiri programnya. Untuk itu, kita harus mempelajari cara pemecahan integral lipat dua atau lebih dengan metode numerik.

4. Metode numerik menyediakan sarana untuk memperkuat kembali pemahaman matematika. Karena, metode numerik ditemukan dengan menyederhanakan matematika yang lebih tinggi menjadi operasi matematika yang mendasar.

2.6 Tahap-Tahap Memecahkan Persoalan Secara Numerik

Ada enam tahap yang dilakukan dakam pemecahan persoalan dunia nyata dengan metode numerik, yaitu

1. Pemodelan

Ini adalah tahap pertama. Persoalan dunia nyata dimodelkan ke dalam persamaan matematika .

2. Penyederhanaan model

Model matematika yang dihasilkan dari tahap 1 mungkin saja terlalu kompleks, yaitu memasukkan banyak peubah (variable) atau parameter. Semakin kompleks model matematikanya, semakin rumit penyelesaiannya. Mungkin beberapa andaian dibuat sehingga beberapa parameter dapat diabaikan. Contohnya, faktor gesekan udara diabaikan sehingga koefisian gesekan di dalam model dapat dibuang. Model matematika yang diperoleh dari penyederhanaan menjadi lebih sederhana sehingga solusinya akan lebih mudah diperoleh.

3. Formulasi numerik

Setelah model matematika yang sederhana diperoleh, tahap selanjutnya adalah memformulasikannya secara numerik, antara lain:

a. menentukan metode numerik yang akan dipakai bersama-sama dengan analisis galat awal (yaitu taksiran galat, penentuan ukuran langkah, dan sebagainya).

Pemilihan metode didasari pada pertimbangan :

- apakah metode tersebut teliti?

- apakah metode tersebut mudah diprogram dan waktu pelaksanaannya cepat?

- apakah metode tersebut tidak peka terhadap perubahan data yang cukup kecil?

b. menyusun algoritma dari metode numerik yang dipilih.

4. Pemrograman

Tahap selanjutnya adalah menerjemahkan algoritma ke dalam program komputer dengan menggunakan salah satu bahasa pemrograman yang dikuasai.

5. Operasional

Pada tahap ini, program komputer dijalankan dengan data uji coba sebelum data yang sesungguhnya.

6. Evaluasi

Bila program sudah selesai dijalankan dengan data yang sesungguhnya, maka hasil yang diperoleh diinterpretasi. Interpretasi meliputi analisis hasil run dan membandingkannya dengan prinsip dasar dan hasil-hasil empirik untuk menaksir kualitas solusi numerik, dan keputusan untuk menjalankan kembali program dengan untuk memperoleh hasil yang lebih baik.

2.7 Peran Ahli Informatika dalam Metode Numerik

Dari tahap-tahap pemecahan yang dikemukan di atas, tahap 1 dan 2 melibatkan para pakar di bidang persoalan yang bersangkutan. Kalau persoalannya dalam bidang eknik Sipil, maka orang dari bidang Sipil-lah yang menurunkan model matematikanya. Kalau persoalannya menyangkut bidang Teknik Kimia (TK), maka ahli Teknik Kimia-lah yang mempunyai kemmapuan membentuk model matematikanya. Dimanakah peran orang Informatika? Orang Informatika baru berperan pada tahap 3 dan 4, dan 5. Tetapi, agar lebih memahami dan menghayati persoalan, sebaiknya orang Informatika juga ikut dilibatkan dalam memodelkan, namun perannya hanyalah sebagai pendengar. Tahap 6 memerlukan kerjasama informatikawan dengan pakar bidang bersangkutan. Bersama-sama dengan pakar, informatikawan mendiskusikan hasil numerik yang diperoleh, apakah hasil tersebut sudah dapat diterima, apakah perlu dilakukan perubahan parameter, dsb.

2.8 Perbedaan Metode Numerik dengan Analisis Numerik

Untuk persoalan tertentu tidaklah cukup kita hanya menggunakan metode untuk memperoleh hasil yang diinginkan; kita juga perlu mengetahui apakah metode tersebut memang memberikan solusi hampiran, dan seberapa bagus hampiran itu [BUC92]. Hal ini melahirkan kajian baru, yaitu analisis numerik. Metode numerik dan analisis numerik adalah dua hal yang berbeda. Metode adalah algoritma, menyangkut langkah-langkah penyelesaian persoalan secara numerik, sedangkan analisis numerik adalah terapan matematika untuk menganalisis metode [NOB72]. Dalam analisis numerik, hal utama yang ditekankan adalah analisis galat dan kecepatan konvergensi sebuah metode. Teorema-teorema matematika banyak dipakai dalam menganalisis suatu metode. Di dalam buku ini, kita akan memasukkan beberapa materi analisis numerik seperti galat metode dan kekonvergenan metode. Tugas para analis numerik ialah mengembangkan dan menganalisis metode numerik. Termasuk di dalamnya pembuktian apakah suatu metode konvergen, dan menganalisis batas-batas galat solusi numerik.Terdapat banyak sumber galat, diantaranya tingkat ketelitian model matematika, sistem aritmetik komputer, dan kondisi yang digunakan untuk menghentikan proses pencarian solusi. Semua ini harus dipertimbangkan untuk menjamin ketelitian solusi akhir yang dihitung.

2.9 Analisis Galat (error) dan Masalah-masalah Mendasar Dalam Komputasi Numeris (dengan Turbo Pascal dan FORTRAN 77/90/95)

A. Kendala Dalam Sistem Komputasi Numerik

Dalam komputasi numerik, yaitu perhitungan yang menggunakan bahasa-bahasa pemrograman (Pascal, FORTRAN, C, C++, dll.), selalu dijumpai beberapa kendala sistematis yang berhubungan dengan sistem kerja “prosesor” dan atau “koprosesor” dari

komputer yang digunakan. Kendala-kendala yang dijumpai umumnya berupa sesatan (error), pembulatan (round-off) dan stabilitas (stability). Di samping itu, problem-problem íntrinsik’ yang dimiliki oleh setiap compiler bahasa pemrograman juga turut mempengaruhi kendala-kendala tersebut.

B. Solusi Analitis dan Numeris

Secara matematis, semua problem seharusnya dapat diselesaikan, betapapun sulitnya. Pada dasarnya, solusi problem matematis tersebut dapat digolongkan dalam 2 bagian besar berikut:

Ø Solusi EKSAK (exact solution) : hasil penyelesaian suatu problem matematis yang identik dengan hasil penyelesaian yang diperoleh melalui metode analitis

Ø Solusi PENDEKATAN (approximative solution) : hasil penyelesaian suatu problem matematis dengan metode numeric yang umumnya merupakan pendekatan terhadap solusi eksak karena adanya ketidakpastian dan sesatan (uncertainty and errors) dalam proses penyelesaian problem Namun, di dalam dunia teknik umumnya lebih dipilih teknik-teknik solusi yang praktis dan menghemat waktu. Dalam hal ini, solusi pendekatan seringkali digunakan karena dianggap relatif praktis dan dapat menghemat waktu.

C. Teknis dan Proses Penyelesaian Problem

Secara sistematis, pada dasarnya teknis dan proses penyelesaian dapat dilakukan berdasarkan urutan atau sekuens kerja berikut:

1. Formulasi yang tepat dari suatu model matematis dan atau pada model numerik yang sepadan

2. Penyusuanan suatu metode untuk penyelesaian problem numerik

3. Implementasi metode yang dipilih untuk proses komputasi solusi/jawaban.

Sekuens teknik dan proses penyelesaian problem matematis

Ø Problem nyata : fenomena atau proses-proses kehidupan alamiah yang dijumpai sehari-hari (gravitasi, banjir, populasi, gerakan angin, dll.)

Ø Matematika digunakan untuk pembentukan model karena mempunyai bahasa dan kerangka-kerja yang baku.

D. Model Matematis dan Solusi Numeris

Dalam problem-problem teknik, rekayasa ataupun perancangan, pada umumnya dapat diselesaikan atau dicari solusinya secara numerik, karena ‘model matematik’ yang dimiliki diubah terlebih dahulu menjadi ‘model numeris’:

Ø Pendekatan Numerik : dilakukan untuk memudahkan pemahaman persepsi MODEL MATEMATIKA, dengan cara mengalihkannya menjadi MODEL NUMERIK.

Ø Model Numerik : model yang pada prinsipnya dapat diselesaikan menggunakan sejumlah tertentu tahapan-tahapan pendekatan atau perhitungan .

E. Solusi Numeris dan Sesatan

Seperti telah dijelaskan di atas, setiap solusi-solusi numeris yang diaplikasikan pada komputer selalu berkendala, namun demikian pada umumnya masih dapat ditoleris berdasarkan analisis kesalahan (galat) yang dilakukan:

1. Sesatan Pemotongan (truncation error) : sesatan atau kesalahan yang terjadi karena adanya pemotongan atau penyederhanaan proses perhitungan yang berlangsung secara tak berhingga è IINTUIITIIF (matthemattiicalllly unsollvablle probllem !! ))

2. Sesatan Pembulatan (round-off error) : sesatan atau kesalahan yang terjadi karena adanya pembulatan atau penyederhanaan penyimpanan bilangan yang dilakukan dalam “memori” komputer è Notasi ilmiah dalam PERANGKAT KERAS !!

F. Konsep Konvergensi

Konvergensi seringkali digunakan dalam solusi-solusi numeris, sebagai parameter (alat estimasi) untuk memperkirakan bilamana problem yang dihadapi memiliki solusi atau jawab yang “mendekati solusi eksak”, “dapat diterima dengan prosentase galat tertentu”, atau bahkan “tidak memiliki solusi”. Bila suatu problem menemui atau cenderung pada suatu “domain jawab”, maka problem tersebut dapat dikatakan ‘konvergen’, sedangkan bila sebaliknya, maka problem tersebut disebut ‘divergen’.

Pengertian-pengertin lain yang berhubungan dengan konvergensi ini adalah:

v Order Konvergensi (order of convergence) : laju atau kecepatan perubahan sesatan pemotongan menjadi nol sebagai fungsi dari parameter-parameter metode yang dipilih.

1. Metode menuju konvergen setara 1/N

2. Metode menuju konvergen setara 1/k3,5

3. Metode menuju konvergen setara h2

4. Metode menuju konvergen secara eksponensial

5. Sesatan pemotongan berorder 1/N5

6. Order sesatan sebesar h4

7. Laju konvergensi setara (log N)/N

v Notasi Ilmiah (scientific notation) : representasi angka atau penulisan bilangan dalam memori komputer berdasarkan kaidahbaku perangkat keras, yaitu : Pernyataan “berorder 1/N2 ” berarti juga “berkelakuan sebagai 1/N2 ”, yang umumnya ditulis sebagai :

Simbol 0-besar didefinisikan sebagai berikut : Suatu fungsi f(x) dikatakan sebagai O( g (x))pada saat x menuju L bila :

Coba pikirkan !

1. 5/N2,10/N 2 + 1/N 3 dan -6,2/N 2 + e –N /N semuanya adalah O (1/N 2) pada saat N menuju l = ¥

2. 4h, 3h + h 2 / log h dan –h+h 2 – h 3 semuanya dalah adalah O (h) pada saat h menuju L = 0.

Coba buat programnya dan analisis order konvergensinya !

1. Estimasi atau solusi pendekatan untuk turunan dari persamaan : F (x) = sin X 2 pada x = 5, dengan metode :

2. Analisislah propagasi harga-harga dari deret Taylor untuk e (bilangan natural)dan e -12, yaitu :

3.

,N = jumlah bilangan berhingga

Berikut ini diberikan contoh-contoh program, dalam bahasa Turbo Pascal dan FORTRAN.

Program pertama merupakan program untuk mengestimasi alat sistematis yang dimiliki suatu komputer dan programnya (disebut epsilon mesin). Diagram aliran (organigram) dari proses penghitungan ‘epsilon mesin’ tersebut adalah sebagai berikut:

Diagram alir proses penghitungan epsilon mesin (epsm).

Listing program (source code) dari proses penghitungan di atas, dalam bahsa Turbo Pascal, adalah sebagai berikut:

Sedangkan, dalam bahsa FORTRAN (77, 90, atau 95), adalah sebagai berikut:

Program kedua merupakan program untuk mengestimasi secara numeris ungkapan exp(x). Diagram aliran (organigram) dari proses penghitungan tersebut adalah sebagai berikut:

Diagram alir proses penghitungan eps(x).

BAB III

PENUTUP

3.1 Kesimpulan

Berdasarkan pembahasan diatas bisa ditarik kesimpulan bahwa :

1. Metode numerik adalah teknik yang digunakan untuk memformulasikan persoalan matematik sehingga dapat dipecahkan dengan operasi perhitungan/aritmetika biasa (tambah, kurang, kali, dan bagi).

2. Metode numerik berlaku umum, yakni ia dapat diterapkan untuk menyelesaikan persoalan matematika sederhana (yang juga dapat diselesaikan dengan metode analitik) maupun persoalan matematika yang tergolong rumit (yang metode analitik pun belum tentu dapat menyelesaikannya).

3. Komputer berperan besar dalam perkembangan bidang metode numerik. Hal ini mudah dimengerti karena perhitungan dengan metode numerik adalah berupa operasi aritmetika seperti penjumlahan, perkalian, pembagian, plus membuat perbandingan.

4. Metode numerik dan analisis numerik adalah dua hal yang berbeda. Metode adalah algoritma, menyangkut langkah-langkah penyelesaian persoalan secara numerik, sedangkan analisis numerik adalah terapan matematika untuk menganalisis metode.

5. Dalam komputasi numerik, yaitu perhitungan yang menggunakan bahasa-bahasa pemrograman (Pascal, FORTRAN, C, C++, dll.), selalu dijumpai beberapa kendala sistematis yang berhubungan dengan sistem kerja “prosesor” dan atau “koprosesor” dari komputer yang digunakan. Kendala-kendala yang dijumpai umumnya berupa sesatan (error), pembulatan (round-off) dan stabilitas (stability).

6. Kendala – kendala dalam komputasi numerik bisa selesaikan dengan :

a. Solusi Analitis dan Numeris

b. Teknis dan Proses Penyelesaian Problem

c. Model Matematis dan Solusi Numeris

d. Solusi Numeris dan Sesatan

e. Konsep Konvergensi

3.2 Saran-saran

1. Dalam penyelesaian metode numerik harus di sertai dengan alat-alat bantu elektronik seperti Kalkulator dan juga komputer yang ada Microsoft Office terutama Ms. Ofice Exel.

2. Di dalam hal ini anda harus menguasai sedikit tidaknya rumus-rumus matematika dasar supanya anda bisa membandingkan hasilnya dengan penyelesaian metode numerik yang anda gunakan.

3. Saat pengerjaan soal-soal anda harus benar-benar teliti dan konsentrasi penuh supaya soal yang anda kerjakan tidak mendapat hasil yang salah atau galat yang melebihi angka 1.

DAFTAR PUSTAKA

Bismo, Setijo, “Kumpulan Bahan Kuliah Metode Numerik”, Jurusan TGPFTUI, 1999.

http:\\www.ensiklopedi\metode_numerik_secara_umum\

http:\\www.met_num\galat\

http:\\www.met_num\iterasi\

Baca selengkapnya...

Template by : kendhin x-template.blogspot.com