Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 METODE NUMERIK & FORTRAN FAKULTAS ILMU KOMPUTER UNIVERSITAS GUNADARMA.

Presentasi serupa


Presentasi berjudul: "1 METODE NUMERIK & FORTRAN FAKULTAS ILMU KOMPUTER UNIVERSITAS GUNADARMA."— Transcript presentasi:

1 1 METODE NUMERIK & FORTRAN FAKULTAS ILMU KOMPUTER UNIVERSITAS GUNADARMA

2 2 TIM PENYUSUN  Suryadi M.T  Teguh Yuniarko  Mike Susmikanti  Maukar  Mufid Nilmada  Miftah Andriansyah  Erni Rihyanti  Fitri Ningsih  Umi Sholikhah

3 3 POKOK BAHASAN (1)  Pendahuluan (Algoritma)  Solusi Persamaan Non Linier  Metode Bisection  Metode False Position  Metode Secant  Metode Fixed point iteration  Metode Newton Raphson

4 4 POKOK BAHASAN (2)  Solusi Sistem Persamaan Linier  Eliminasi Gauss  Eliminasi Gauss Yourdan  Iterasi Gauss-Seidel  Interpolasi  Interpolasi Linier  Interpolasi Kuadrat  Interpolasi Lagrange  Interpolasi Newton

5 5 POKOK BAHASAN (3)  Integrasi Numerik  Metode Empat persegi panjang  Metode Trapesium  Metode Simpson  Metode Kuadratur Gauss

6 6 Referensi  1. Steven C. Chapra & Raymond P. Canale, Metode Numerik untuk Teknik dengan Penerapan pada Komputer Pribadi, UI-Press, Jakarta,  2. Suryadi H.S., Pengantar Metode Numerik, Seri Diktat Kuliah, Gunadarma, 1990  3. Suryadi M.T., Bahasa FORTRAN dan Analisis Numerik, Seri Diktat Kuliah, Gunadarma, 1995  4. William H. Press, et. al., Numerical Recipes in FORTRAN, 2n ed, Cambridge University Press, 1992.

7 7 PEMROGRAMAN TERSTRUKTUR FAKULTAS ILMU KOMPUTER UNIVERSITAS GUNADARMA

8 8 Pemrograman Terstruktur Analisa Persoalan Struktur Data + Algoritma Program Pengembangan Algoritma Coding

9 9 Analisa Persoalan  Persoalan apa yang perlu diselesaikan =>tujuan/program  Bagaimana program harus berbuat untuk menyelesaikan persoalan Struktur Data Bagaimana menyusun data yang ada (struktur data) sehingga program menjadi efisien :  mudah dalam pengambilan data  mudah dalam memperbarui data (insert, delete, update)  mudah algoritmanya

10 10 Algoritma Suatu rancangan rinci yang menggambarkan langkah demi langkah instruksi-instruksi bagi komputer agar dapat memcahkan suatu persoalan Algoritma dapat ditulis (yang mudah dimengerti manusia) berupa :  diagram alur (flowchart)  pengkodean semu (pseudocode)

11 11 Program Kumpulan instruksi, ditulis dalam suatu bahasa komputer (mis. TURBO PASCAL) yang memerintahkan komputer bagaimana memecahkan suatu persoalan Garis besar Tahap analisa persoalan :  menentukan data yang diperlukan untuk proses (data input)  memahami dengan baik persoalan yang akan dipecahkan  menentukan data apa yang diharapkan muncul dari hasil proses (data output)

12 12 Garis Besar Tahap struktur data & algoritma :  Rancang struktur data yang digunakan, sedemikian rupa sehingga mudah merancang algoritmanya dan memberikan proses yang efisien  Dengan memahami masalah yang dimiliki, rancang setiap langkah yang diperlukan untuk menyelesaikan (bisa dalam bentuk flowchart ataupun pseudocode) dan pilih teknik-teknik yang efisien => design algorithm  Mencoba algoritma yang dibuat dengan data sederhana

13 13 Garis Besar : Tahap Program :  Memahami syntax dari bahasa yang akan digunakan  Inti : INPUT => PROSES => OUTPUT  Coding : susun pengkodean-nya sesuai dengan algoritma dan struktur data yang telah dibuat beserta Keterangannya  Debugging : memperbaiki kesalahan syntax (tahap compiling), kesalahan logika dan kesalahan run-time (tahap execution)  Testing : menguji dengan data yang telah diketahui hasil outputnya  dokumentasi

14 14 Garis Besar Di dalam menyusun algoritma, hanya dikenal 3 jenis struktur proses : 1. Struktur sederhana (sequence) 2. Struktur berulang (repetition/loop) 3. Struktur bersyarat :::: Perintah-perintah dilakukan secara berurutan Satu/sekumpulan perintah dilakukan berulang-ulang Satu/sekumpulan perintah dilakukan jika suatu kondisi dipenuhi : : : Algoritma yang disusun berdasarkan struktur di atas disebut : algoritma terstruktur, sedangkan program yang dibuat berdasarkan algoritma terstruktur dikatakan sebagai program terstruktur

15 15 Garis Besar Alasan menggunakan program terstruktur :  Jika kita telah terbiasa menganalisa dan menyusun program untuk suatu masalah dengan menggunakan teknik yang sama, maka pemecahan masalah (analisa, design, penyusunan program) akan menjadi lebih cepat dan mengurangi error  Jika persoalan dilakukan oleh suatu team work, dan semua programer menggunakan teknik yang sama, maka akan lebih mudah bagi seorang programmer untuk dapat membaca pekerjaan programmer yang laindan mudah dalam pengembangan /perbaikan program nantinya

16 16 Struktur Logika (3 struktur kendali dasar) Untuk menghindari terjadinya “spaghetti code” yang menyebabkan suatu program sulit untuk ditelusuri baik dalam penulisan maupun debugging maka digunakanlah 3 struktur kendali dasar yang dapat mengatur jalannya program : 1. Struktur Sederhana (berurutan) : jika perintah-perintah dilakukan secara berurutan 2. Struktur Berulang (loop) : jika sekumpulan perintah diulang beberapa kali 3. Struktur Bersyarat (selection) : jika sekumpulan perintah dilakukan pada kondisi tertentu

17 17 Struktur Logika Bentuk umum dari 3 struktur kendali proses (1) (3) N y (2) 1 ? 2 3 N y

18 18 Struktur Logika a. Terdapat tiga macam struktur berulang :  FOR LOOP : badan loop dilakukan untuk sejumlah tertentu pengulangan  DO WHILE : lakukan pengujian, selama kondisi masih dipenuhi, lakukan badan loop  DO UNTIL : lakukan badan loop satu kali, uji kondisi dan lakukan badan loop sampai kondisi tidak dipenuhi T Y 2?2? T Y 1 ? 2 1 DO WHILE DO UNTIL

19 19 Struktur Logika b. Struktur Bersyarat dapat dibedakan : o Struktur 2 pilihan : IF – THEN – ELSE o Struktur lebih dari 2 pilihan : NESTED IF/ DO CASE Y T ? YT ? If - Then - Else

20 20 Struktur Logika Nested If Do Case

21 21 Contoh 1 Persoalan :tentukan apakah seorang mahasiswa dapat memiliki bobot nilai A, B, C, atau D jika diberikan syarat sbb. : Nilai rata-rataBobot >85A 70-85B 55-70C <55D dimana Nilai rata-rata ditentukan dari 20% ujian 1, 35% ujian 2dan 45% ujian 3. Latihan :buatlah algoritmanya dengan mengikuti langkah- langkah dan struktur-struktur yang ada

22 22 Contoh 2 Menjumlahkan n buah bilangan Persoalan : hitung Analisa persoalan :Dari n buah bilangan yang diketahui, harus dicari jumlah dari seluruh bilangan tersebut. Untuk itu diperlukan satu buah variabel penyimpanan jumlah, yang pada awalnya berisi 0 dan setiap kali dijumlahkan dengan masing-masing n bilangan a 1, a 2,…..a n.

23 23 Pengembangan Algoritma Dekomposisi : 1. Baca/masukkan jumlah bilangan yang akan dijumlahkan 2. Baca/masukkan bilangan-bilangan yang akan dijumlah 3. Jumlahkan satu per satu bilangan di atas ke suatu nilai total 4. Cetak nilai total tersebut Perincian Sub Persoalan : 1.Masukkan jumlah bilangan yang akan dijumlah dan simpan pada variabel n 2.Lakukan sebanyak n kali : masukkan nilai bilangan pada variabel a i (I= 1, 2, …,n) 3.Isi variabel S=0

24 24 Pengembangan Algoritma 4. Lakukan sebanyak n kali : jumlahkan a i ke s (i = 1, 2, …, n) 5. Cetakisi variabel s Data : Variabel penyimpanan banyaknya data (n) bertipe integer Varibel penyimpanan masing-masing bilangan linier array (a i ) dan bertipe integer/real Variabel penyimpanan nilai total (s) bertipe integer/real

25 25 Pengembangan Algoritma Algoritma 1 :  Baca/masukkan suatu nilai dan simpan pada variabel n  Untuk nilai varibel i dari 1 s/d n lakukan : baca/masukkan nilai a i 3. Set isi variabel s = 0 4. Untuk nilai variabel i dari 1 s/d n lakukan : s = s + a i 5. Cetak variabel s

26 26 Pengembangan Algoritma Algoritma 2 : 1. Baca/masukkan suatu nilai dan simpan pada variabel n 2. Set isi variabel s=0 3. Untuk nilai variabel i dari s/d n lakukan : a. baca/masukkan nilai a i b. s = s + a i 4. Cetak variabel s

27 27 Latihan  Bila dibaca 2 buah bilangan bulat positip x dan y, maka buatlah algoritma untuk menghitung FPB dari x dan y !  Bila dibaca sebuah bilangan bulat positip x maka buatlah algoritma untuk menyatakan bahwa bilangan tersebut adalah bilangan Amstrong !

28 28 SOLUSI PERSAMAAN NON LINIER METODE BISEKSI (BAGI DUA)

29 29 Metode Biseksi  Fungsi kontinu pada [a,b]  Akarnya x = p & p  [a,b]  Untuk setiap iterasi akan membagi 2 interval yang memuat x = p dan berhenti bila mencapai suatu bilangan yang berada dalam toleransi (ditetapkan)  Hanya ada 1 akar dalam [X 0,X 1 ] maka f(X 0 )*f(X 1 )  0  Titik tengah interval X 2 =½(X 0 + X 1 )

30 30 Metode Biseksi (lanjutan)  Bila f(X 0 )*f(X 2 )  0 maka akar p  [X 0,X 2 ]  Ulangi iterasi pada interval [X 0,X 1 ] yang baru (dalam hal ini [X 0,X 2 ])  Pada kasus lainnya, yakni bila f(X 0 )*f(X 2 ) > 0, maka akar p  [X 2,X 1 ]  Ulangi iterasi pada interval [X 0,X 1 ] yang baru (dalam hal ini [X 2,X 1 ])

31 31 Metode Biseksi (lanjutan)  Setelah dilakukan n kali iterasi biseksi, akan diperoleh interval yang lebarnya (½) n (X 1 – X 0 )  Bila (½) n (X 1 – X 0 )

32 32 Metode Biseksi (lanjutan)  Bila diinginkan toleransi kesalahan lebih kecil dari t, maka diperlukan paling sedikit 2 log(X 1 – X 0 ) iterasi biseksi, kecuali bila akarnya tepat pada ujung interval.

33 33 Algoritma Biseksi (1) INPUT X 0,X 1,F(X),T WHILE [(X 1 – X 0 )  T OR F(X 0 )*F(X 1 )  0] DO X 2 = (X 0 + X 1 )/2 IF F(X 0 )*F(X 2 ) >0 THEN X 0 = X 2 ELSE X 1 = X 2 ENDIF ENDWHILE

34 34 IF F(X 0 )=0 THEN OUTPUT (X 0 ) ELSE IF F(X 1 ) = 0 THEN OUTPUT (X 1 ) ELSE OUTPUT (X 2 ) ENDIF Algoritma Biseksi (2)

35 35 KEUNTUNGAN BISEKSI  Selalu berhasil menemukan akar (solusi) yang dicari, atau dengan kata lain selalu konvergen.

36 36 KELEMAHAN BISEKSI  Bekerja sangat lambat. Tidak memandang bahwa sebenarnya akar atau solusi yang dicari telah berada dekat sekali dengan X 0 ataupun X 1.

37 37 SOLUSI PERSAMAAN NON LINIER METODE REGULA FALSI (FALSE POSITION)

38 38 METODE REGULA FALSI  Salah satu alternatif untuk mempercepat perhitungan akar (solusi).  Tetapkan interval awal [X 0,X 1 ] yang memuat akar (solusi).  Hitung X 2 (yang merupakan titik ujung interval baru) : titik potong garis lurus dari titik [X 0,f(X 0 )] ke titik [X 1,f(X 1 )] dengan sumbu X.

39 39 METODE REGULA FALSI  Persamaan garis lurus melalui titik [X 0,f(X 0 )] dan [X 1,f(X 1 )], yaitu :

40 40 METODE REGULA FALSI  Garis tersebut berpotongan dengan sumbu X  Y = 0 dengan titik absisnya yaitu X 2, sehingga diperoleh :

41 41 METODE REGULA FALSI  Penetapan interval baru: bila F(X 0 )*F(X 2 ) <0 maka intervalnya menjadi [X 0, X 2 ] bila F(X 0 )*F(X 2 ) >0 maka intervalnya menjadi [X 2, X 1 ]

42 42 Metode Regula Falsi  Pengulangan/iterasi mencari X2 dan interval baru dilakukan berdasarkan nilai toleransi atau bila akarnya belum ditemukan  Sebaiknya nilai toleransi secara relatif mengacu pada : error aproksimasi

43 43 ALGORITMA REGULA FALSI INPUT X 0,X 1,T,F(X), MAX I=0; FOUND = false REPEAT I=I+1 X 2 = X 1 -(X 1 - X 0 )*F(X 1 )/(F(X 1 )-F(X 0 )) IF F(X 0 )*F(X 2 )<0 THEN X 1 = X 2

44 44 ALGORITMA REGULA FALSI ELSE X 0 = X 2 ENDIF IF (|(X 2 - X 1 )/ X 1 |  T OR I=MAX) THEN FOUND=true ENDIF UNTIL (FOUND=true) OUTPUT (X 2 )

45 45 KELEMAHAN REGULA FALSI  Hanya salah satu titik ujung interval (X 0 atau X 1 ) yang bergerak menuju akar dan yang lainnya selalu tetap untuk setiap iterasi.  Sehingga mungkin [X 0, X 1 ] masih cukup besar jaraknya bila menggunakan batas | X 1 - X 0 |  T padahal X 0  X 2 atau X 1  X 2

46 46 KELEMAHAN Regula falsi hal tersebut dikenal dengan pendekatan error mutlak.  diperbaiki dengan pendekatan Error relatif :

47 47 METODE SEKAN SOLUSI PERSAMAAN NON LINIER

48 48 Metode Sekan  Disebut juga Metode Interpolasi Linear  Dalam prosesnya tidak dilakukan penjepitan akar atau dpl. [X 0, X 1 ] tidak harus mengandung akar yang akan dicari.  Sehingga f(x 0 ) dan f(x 1 ) bisa bertanda sama  Untuk mencari X 2, sama dengan metode REGULA FALSI

49 49 Metode Sekan (lanjutan)  Untuk iterasi berikutnya akan diperoleh interval baru [X 0, X 1 ] dengan cara pergeseran: X 0  X 1, X 1  X 2  Iterasi berlangsung sampai batas maksimum (Max.) atau sampai dipenuhinya batas Toleransi (T): | (X 1 - X 2 )/ X 1 |≤ T | \/ Nilai kesalahan relatif

50 50 Metode Sekan (lanjutan)  Proses Pencapaian Akar (Mtd. SEKAN)  Tambah gambar ! (halaman akhir)

51 51 Algoritma Sekan  INPUT X 0, X 1, T, Max, F(x)  i = 0  Found = false  REPEAT i = i + 1 X 2 = X 1 – (X 1 – X 0 )*F(X 1 )/(F(X 1 ) – F(X 0 )) X 0 = X 1 X 1 = X 2

52 52 Algoritma Sekan (lanjutan) IF | (X 0 - X 1 )/ X 0 |≤ T OR i = Max THEN Found = true ENDIF  UNTIL (Found = true)  OUTPUT (X 2 )

53 53

54 54 METODE ITERASI TITIK TETAP SOLUSI PERSAMAAN NON LINIER

55 55 METODE ITERASI TITIK TETAP  Syaratnya:  f(x) = 0 dapat diubah menjadi bentuk: x = g(x) (yang tidak unik)  Cari akar dgn pertidaksamaan rekurens: X k+1 = g(X k ); untuk k = 0, 1, 2, 3, … dgn X 0 asumsi awalnya, sehingga diperoleh barisan X 0, X 1, X 2, X 3, … yang diharapkan konvergen ke akarnya.  Jika g’(x) ε [a, b] dan g’(x) ≤ k dgn k< 1 Utk setiap x ε [a, b], maka titik tetap tersebut tunggal dan iterasinya akan konvergen menuju akar

56 56 METODE ITERASI TITIK TETAP (cont’d)  Dari bentuk x = g(x), berarti akar dari f(x) tak lain adalah perpotongan antara garis lurus y = x dan kurva y = g(x).

57 57

58 58 CONTOH KASUS  CONTOH: f(x) = x – e 1/x ; bentuk x = g(x), yaitu: f(x) = x – e 1/x dapat ditulis: f(x) = 0  x – e 1/x = 0 shg didapat x = g(x), antara lain: a. x = e 1/x b. x = e 1/x  ln x = 1/x (ln e)  x = 1/ln x c. x = e 1/x  2x = x + e 1/x  x = 1/2(x + e 1/x )

59 59 CONTOH KASUS (lanjutan) ambil x 0 = 1.5 periksa kekonvergenan iterasi: a. g’(x) = - (1/x 2 ) e 1/x g’(x) = - (1/(1.5) 2 ) e 1/1.5 = …. ?

60 60 METODE NEWTON-RAPHSON SOLUSI PERSAMAAN NON LINIER

61 61 METODE NEWTON-RAPHSON  Waktu pencarian akarnya relatif lebih cepat dibandingkan metode lainnya.  Memanfaatkan turunan fungsi f(x) pada suatu titik P [x 1, f(x 1 )]  Membuat garis singgung pada titik P tsb yg memotong sumbu x  didapat x i+1  Sampai ditemukan akarnya (sesuai batas toleransi/error yg diberikan)

62 62 Gambar Grafik

63 63 METODE NEWTON-RAPHSON (lanjutan)  Persamaan garis singgung melalui P [X 1, f(X 1 )] adalah: y – f( X 1 ) = f ’( X 1 ). (X – X 1 ) dgn f ’( X 1 ) : gradien garis singgung  Persamaan tsb memotong sumbun x di titik ( X 2, 0) maka akan diperoleh: 0 - f( X 1 ) = f’( X 1 ). (X 2 – X 1 ) X 2.f’( X 1 ) - X 1.f’( X 1 ) = - f’( X 1 ) X 2 = X 1 - f( X 1 )/ f’( X 1 )

64 64 METODE NEWTON-RAPHSON (lanjutan)  Secara Rekurens, persamaan tsb dinyatakan menjadi: X i+1 = X i - f( X 1 )/ f’( X 1 ) Utk i = 1, 2, 3, … f’( X i ): turunan pertama f( X ) pada x = x i.

65 65 SOLUSI SISTEM PERSAMAAN LINIER

66 66 SOLUSI SISTEM PERSAMAAN LINEAR (SPL)  SPL dengan m persamaan dan n variabel: a 11 x 1 + a 12 x 2 + … + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + … + a 2n x n = b 2 ::: a m1 x 1 + a m2 x 2 + … + a mn x n = b m atau dalam bentuk matriks: Ax = b a 11 a 12 … a 1n x 1 b 1 a 21 a 22 … a 2n x 2 b 2 ::: a m1 a m2 … a mn x n b m Axb  Solusi dari SPL Ax = b adalah nilai-nilai dari x 1, x 2, …, x n Э memenuhi persamaan ke -1 s/d ke –m  Solusi dari SPL: 3x 1 + 2x 2 = 16 -x 1 + 3x 2 = 13

67 67 METODE ELIMINASI GAUSS Misalkan: A(n x n), sehingga SPL: Ax = b dengan A(n x n), x(n x 1) dan B(n x 1) Untuk menentukan solusi SPL tersebut dilakukan dalam 2 langkah utama : Langkah 1: Mengeliminir x 1 s/d x 2 atau dpl membuat Ax = b menjadi bentuk A*x = b* dengan A* adalah matriks segitiga atas Langkah 2: Melakukan substitusi mundur (“back substitutions”) sehingga di peroleh X n, x n-1, x n-2,…,x 2, x 1

68 68 Contoh: a11x1 + a12x2 + a13x3 = a14 a21x1 + a22x2 + a23x3 = a24 a31x1 + a32x2 + a33x3 = a34  Eliminasi x 1 pada baris ke dua dpl. Membuat koefisien x 1 pada baris ke dua menjadi nol (manfaatkan operasi elementer baris/kolom) FOR j = 1 to 4 a 2j = a 2j – a 21 /a 11 x a 1j NEXT j  Eliminir x 1 pada baris ke tiga FOR j = 1 to 4 a3j = a3j – a31/a11 x a1j NEXT j

69 69  Secara umum untuk mengeliminir x 1 : FOR i = 2 to 3 FOR j = 1 to 4 a ij = a ij – a i1 /a 11 x a 1j NEXT j NEXT I  Secara umum untuk mengeliminir: x k FOR i = k + 1, n FOR j = k, n + 1 a ij = a ij – a ik /a kk x a kj NEXT j NEXT i

70 70  Setelah dieliminir x1 dan x2 maka diperoleh a 11 x 1 + a 12 x 2 + a 13 x 3 = a 14 a 22 x 2 + a 23 x 3 = a 24 a 33 x 3 = a 34  Langkah utama ke dua: substitusi mundur dari persamaan ke 3 diperoleh: x 3 = a 34 /a 33 Substitusi x 3 ke persamaan ke 2, sehingga diperoleh: x 2 = (a 24 – a 23 x 3 ) / a 22 Substitusi x 3 dan x 2 ke persamaan ke 1, sehingga diperoleh: x 1 Dengan demikian diperoleh x 1, x 2, x 3 Э Ax = b

71 71 CONTOH KASUS 1. Tentukanlah solusi dari SPL: x 1 - 2x 2 + x 3 = 4 2x 1 - 5x 2 + 5x 3 = 10 x 1 + x 2 + x 3 = 7 (dpl x 1, x 2 dan x 3 ?)

72 72 ALGORITMA GAUSS FOR i = 1 to n FOR j = 1 to n + 1 INPUT (aij) NEXT j NEXT I FOR k = 1 to n – 1 FOR i = k + 1 to n u = aik/akk FOR j = k to n + 1 aij = aij – u * akj NEXT j NEXT I NEXT k

73 73 x n = a n n+1 /a nn FOR i = n – 1 DOWNTO 1 sum = 0 FOR j = i + 1 to n sum = sum + a ij * x j NEXT j x i = (a i n+1 – sum)/a ii NEXT i FOR i = 1 to n OUTPUT (x i ) NEXT i

74 74 Perhatian !  Dalam mengeliminir x k, selalu dihitung a ik /a kk, selanjutnya dinyatakan dengan variabel u. Bila |a kk |  0 maka “berbahaya” karena u bisa mengandung error yang besar  Untuk menghindarinya, susun kembali SPL nya Э |a kk | selalu yang terbesar dalam kolom ke k, a kk disebut elemen PIVOT

75 75 ALGORITMA PIVOTING PADA ELIMINASI GAUSS FOR k = 1 to n-1 max = abs(a kk ) p = k FOR m = k + 1 to n IF abs(a mk ) > max THEN max = abs(a mk ) p = m ENDIF NEXT m IF max ≤  THEN OUTPUT (“ILL-CONDITION”) STOP ENDIF IF p ≠ k THEN FOR i = k TO n+1 temp = a kl a kl = a pl a pl = temp NEXT i ENDIF FOR i = k+1 TO n u = a ik /a kk FOR j = k TO n+1 a ij = a ij – u * a kj NEXT j NEXT i NEXT k

76 76 METODE ELIMINASI GAUSS-YOURDAN Untuk mencari solusi SPL, dilakukan dalam 3 langkah utama : 1. Transformasikan A dari Ax = b Э menjadi A* (segitiga atas) dari A*x = b* 2. Transformasikan A* (hasil dari langkah 1) Э menjadi A** (matriks diagonal) dari A**x = b** 3. Tentukan x i  i = 1,2, …,n berdasarkan hasil langkah 2. x i = b** i /a** i  i = 1,2,..,n Metode ini jarang digunakan karena sangat mahal  (n 3 )

77 77 SOLUSI SISTEM PERSAMAAN LINIER METODE ITERASI GAUSS SEIDEL - IGS

78 78 SISTEM PERSAMAAN LINIER (SPL)  Bila diketahui SPL dengan n persamaan dan n variabel, sebagai berikut : a 11 x 1 + a 12 x 2 + … + a 1n x n = a 1(n+1).. (1) a 21 x 1 + a 22 x 2 + … + a 2n x n = a 2(n+1).. (2) : a n1 x 1 + a n2 x 2 + … + a nn x n = a n(n+1).. (n)  Maka solusinya dapat diperoleh dengan cara :

79 79 Algoritma (pseudo code) IGS - 1  Langkah ke-1 : Tebak sebarang nilai awal untuk variabel x 2, x 3,..., x n. Namakan nilai awal tersebut x 2 0, x 3 0, …, x n 0.  Langkah ke-2 : Substitusikan x 2 0, x 3 0, …, x n 0 ke SPL (1) untuk memperoleh nilai x 1 lalu namakan dengan x 1 1.

80 80  Langkah ke-3 : Substitusikan x 1 1, x 3 0, x 4 0, …, x n 0 ke SPL (2) untuk memperoleh nilai x 2 lalu namakan dengan x 2 1.  Langkah ke-4 : Substitusikan x 1 1, x 2 1, x 4 0, x 5 0, …, x n 0 ke SPL (3) untuk memperoleh nilai x 3 lalu namakan dengan x 3 1. Algoritma (pseudo code) IGS - 2

81 81  Langkah ke-5 : dan seterusnya, sampai diperoleh x 1 1, x 2 1, x 3 1, …, x n-1 1, selanjutnya substitusika ke SPL (n) untuk memperoleh nilai x n lalu namakan dengan x n 1. ( Iterasi ke-1 selesai dengan diperolehnya nilai : x 1 1, x 2 1, x 3 1, …, x n-1 1, x n 1. ) Algoritma (pseudo code) IGS - 3

82 82  Langkah ke-6 : Ulangi langkah ke-2 s/d ke-5 (substitusikan x 2 1, x 3 1, …, x n 1 ke SPL (1) untuk memperoleh nilai x 1 lalu namakan dengan x 1 2 ). Sampai nanti diperoleh nilai x 1 2, x 2 2, x 3 2, …, x n-1 2, x n 2. Algoritma (pseudo code) IGS - 4

83 83  Langkah ke-7 : Iterasi berakhir pada iterasi ke-k, bila : | x j k – x j k+1 | < T dengan T nilai toleransi kesalahan yang sudah ditetapkan sebelumnya. Algoritma (pseudo code) IGS - 5

84 84 Tingkat Konvergensinya  Algoritma tersebut BELUM TENTU KONVERGEN !!!  Syarat Konvergensi : Matriks koefisiennya (A) harus bersifat DIAGONALLY DOMINANT

85 85 Matriks Diagonally Dominant dan

86 86 Contoh Soal 1:  Diketahui SPL sebagai berikut : 3x 1 – 10x 2 = 3 x 1 + x 2 = 2  Carilah nilai x 1 dan x 2 dengan menggunakan metode iterasi Gauss- Seidel dengan Toleransinya 0,005 !

87 87 Jawab Contoh Soal 1 : (1)  Periksa tingkat konvergensinya. Diperoleh bahwa : |a 11 |=3 ; |a 12 |=10 ; |a 21 |=1 ; |a 22 |= 1  3  10  1  1

88 88 Jawab Contoh Soal 1 : (2)  Jadi SPL tersebut TIDAK DIAGONALLY DOMINANT. Sehingga tidak akan konvergen bila dipecahkan dengan metode Iterasi Gauss-Seidel.  Untuk itu, ubah penyajian SPL nya menjadi : x 1 + x 2 = 2 3x 1 – 10x 2 = 3 Periksa tingkat konvergensinya !!

89 89 Jawab Contoh Soal 1 : (3)  Periksa tingkat konvergensinya. Diperoleh bahwa : |a 11 |= 1 ; |a 12 |= 1 ; |a 21 |= 3 ; |a 22 |= 10  1  1  10  3

90 90 Jawab Contoh Soal 1 : (4)  Jadi SPL hasil perubahannya bersifat DIAGONALLY DOMINANT  konvergen  Selanjutnya jalankan algoritmanya terhadap SPL : ! x 1 + x 2 = 2 … (1) 3x 1 – 10x 2 = 3 … (2)

91 91 Jawab Contoh Soal 1 : (5)  Iterasi ke-1 : 1. Tebak nilai awal x 2 0 = 0 2. Substitusikan x 2 0 = 0 ke SPL (1) : x 1 + x 2 = 2  x = 2  x 1 = 2 didapat x 1 1 = 2 3. Substitusikan x 1 1 = 2 ke SPL (2) : 3x 1 – 10x 2 = 3  3.(2) – 10x 2 = 3  6 – 10x 2 = 3  x 2 = 0,3 didapat x 2 1 = 0,3

92 92 Jawab Contoh Soal 1 : (6)  Iterasi ke-2 : 2. Substitusikan x 2 1 = 0,3 ke SPL (1) : x 1 + x 2 = 2  x 1 + 0,3 = 2  x 1 = 1,7 didapat x 1 2 = 1,7 3. Substitusikan x 1 2 = 1,7 ke SPL (2) : 3x 1 – 10x 2 = 3  3.(1,7) – 10x 2 = 3  5,1 – 10x 2 = 3  x 2 = 0,21 didapat x 2 2 = 0,21

93 93 Jawab Contoh Soal 1 : (7)  Iterasi ke-3 : 2. Substitusikan x 2 2 = 0,21 ke SPL (1) : x 1 + x 2 = 2  x 1 + 0,21 = 2  x 1 = 1,79 didapat x 1 3 = 1,79 3. Substitusikan x 1 2 = 1,79 ke SPL (2) : 3x 1 – 10x 2 = 3  3.(1,79) – 10x 2 = 3  5,37 – 10x 2 = 3  x 2 = 0,237 didapat x 2 3 = 0,237 Dan seterusnya…..

94 94 Jawab Contoh Soal 1 : (8)  Iterasi ke-4, ke-5 dst  Lanjutkan sendiri, sebagai latihan !!  Ingat, proses iterasi akan berhenti bila kondisi | x j k – x j k+1 | < 0,005 Terpenuhi !!

95 95 Jawab Contoh Soal 1 : (9)  Rangkuman Proses Iterasinya : Iterasi ke-x1x1 x2x ,000 1,700 1,790 1,763 1,771 1,769 0,300 0,210 0,237 0,229 0,231

96 96 ALGORITMA IGS INPUT A(n,n+1), e, maxit INPUT x i (nilai awal) k  1 ; big  1 WHILE (k ≤ maxit and big  e) DO big  0 FOR i = 1 TO n sum  0 FOR j = 1 TO n IF j ≠ i THEN sum  sum + a ij NEXT j temp  (a i n+1 – sum) / a ii relerror  abs((x i – temp) / temp) IF relerror  big THEN big  relerror x i  temp NEXT I k  k + 1 ENDWHILE IF k > maxit THEN OUTPUT(“TDK KONVERGEN”) ELSE OUTPUT (“KONVERGEN”) ENDIF OUTPUT(x i )

97 97 INTERPOLASI

98 98 INTERPOLASI  Interpolasi adalah teknik mencari harga suatu fungsi pada suatu titik diantara 2 titik yang nilai fungsi pada ke-2 titik tersebut sudah diketahui  dpl. : cara menentukan harga fungsi f dititik x* ε [x 0,x n ] dengan menggunakan informasi dari seluruh atau sebagian titik-titik yang diketahui ( x 0, x 1, …., x n ) xx0x0 x1x1 x2x2 …….xnxn f(x)f(x 0 )f(x 1 )f(x 2 )…….f(x n )

99 99 Teknik Umum yang digunakan : (i)Membentuk polinomial berderajat ≤ n yg mempunyai harga fungsi di titik- titik yang diketahui  Polinomial Interpolasi (ii)Masukkan titik yang ingin dicari harga fungsinya ke dalam polinomial interpolasi

100 100  Interpolasi Linier  Interpolasi Kuadrat  Interpolasi Lagrange  Interpolasi Newton Jenis Interpolasi

101 101 INTERPOLASI LINIER (1)  Misalkan ada m bilangan : x 1, x 2, …., x m dan bilangan lain yang berkaitan : y 1, y 2, …., y m  maka masalahnya : berapa harga y* pada x* ε [x k,x k+1 ] ? y x y k+1 x k+1 ykyk xkxk y* x* ?

102 102  Ambil ruas garis yang menghubungkan titik (x k,y k ) dan (x k+1,y k+1 )  Diperoleh persamaan garisnya : INTERPOLASI LINIER (2)

103 103  Jadi persamaan garisnya adalah : y x y k+1 x k+1 ykyk xkxk y* x* ? INTERPOLASI LINIER (3)

104 104 Diketahui data sebagai berikut : Tentukan harga y pada x = 6,5 ! Jawab : x = 6,5 terletak antara x=6 & x=7 Contoh – 1 : (1) x y Hasilnya

105 105 Alternatif 2 : x = 6,5 terletak antara x=1 & x=7 Hasilnya Contoh – 1 : (2)

106 106  Bandingkan hasil kedua jawaban tersebut !!  Mana yang mendekati jawaban yang sesungguhnya..??  Karena hub. x & y adalah y = x 2 maka untuk harga x = 6,5 didapat y = (6,5) 2 = 42,25 => Kesalahan mutlak (E) : |42,5 – 42,25| = 0,25 x y Contoh – 1 : (3)

107 107 Kesalahan mutlak (E), untuk : y = 42,5  |42,5 – 42,25| = 0,25 = 25 % Sedangkan untuk y = 45  |45 – 42,25| = 3,25 = 325 % Contoh – 1 : (4)

108 108 Contoh-2 : Diketahui tabel akar bilangan sbb : Tentukan akar dari 2,155 (2,155) 1/2 = 1, (0,005/0,010) (1,46969 – 1,46629) = 1, ,00170 ( 2,155) 1/2 = 1,46799 Kesalahan mutlaknya |1, ,46799| = 0,  Tentukan akar dari 2,153 dan Kesalahan mutlaknya ! N….2,142,152,16…. N 1/2 ….1,462871,466291,46969….

109 109 INTERPOLASI KUADRAT  Banyak kasus, penggunaan interpolasi linier tidak memuaskan karena fungsi yang diinterpolasi berbeda cukup besar dari fungsi linier  Untuk itu digunakan polinomial lain yg berderajat dua (interpolasi kuadrat) atau lebih mendekati fungsinya  Caranya : - Pilih 3 titik & buat polinomial berderajat dua melalui ke - 3 titik tsb., shg dpt dicari harga fgs. pada x = x* - Pemilihan ke-3 ttk tsb., dapat : - x k-1 < x k < x k+1 atau - x k-1 < x* < x k < x k+1

110 110 Persamaan umum Polinomial kuadrat : P(x) = a 0 + a 1 x + a 2 x 2 …..(*) 3 titik (x k-1,y k-1 ), (x k,y k ) & (x k+1,y k+1 ) dilalui fgs. P(x) berarti: y k-1 = a 0 + a 1 x k-1 + a 2 x k-1 2 y k = a 0 + a 1 x k + a 2 x k 2 …………………………. (**) y k+1 = a 0 + a 1 x k+1 + a 2 x k+1 2 => Akan diperoleh dari 3 pers. yaitu a 0, a 1 dan a 2 kemudian subst. ke (*) & diperoleh pers. kuadrat, shg dapat dicari nilai fgs. untuk x = x* yaitu P(x*) = a 0 + a 1 x* + a 2 x* 2 => Sistim pers. non homogen (**) memp. solusi dan solusinya unik (tunggal)

111 111 INTERPOLASI LAGRANGE  Interpolasi Lagrange adalah salah satu formula untuk interpolasi berselang tidak sama selain formula interpolasi Newton umum & metoda Aitken. Walaupun demikian dapat digunakan pula untuk interpolasi berselang sama.  Misalkan fgs. y(x) kontinu & diferensiabel sampai turunan (n+1) dalam interval buka (a,b). Diberikan (n+1) titik (x 0,y 0 ), (x 1,y 1 ), …, (x n,y n ) dengan nilai x tidak perlu berjarak sama dengan yang lainnya, dan akan dicari suatu polinom berderajat n. Untuk pemakaian praktis, formula interpolasi Lagrange dapat dinyatakan sbb. :

112 112 Formula Interpolasi Lagrange Jika y(x) : nilai yang diinterpolasi; x : nilai yg berkorespondensi dg y(x) x 0, x 1, …., x n : nilai x dan y 0, y 1, …., y n : nilai y

113 113 Contoh 1: Nilai yg. berkorespondensi dengan y = 10 log x adalah : Carilah 10 log 301 ? Untuk menghitung y(x) = 10 log 301 dimana x = 301, maka nilai diatas menjadi X log x2,47712,48292,48432,4871 x 0 = 300x 1 = 304x 2 = 305x 3 = 307 y 0 = 2,4771y 1 = 2,4829y 2 = 2,4843y 3 = 2,4871

114 114 Dengan menggunakan interpolasi lagrange

115 115 Contoh 2 : Bila y 1 = 4, y 3 = 12, y 4 = 19 dan y x = 7, carilah x ? Karena yg ditanyakan nilai x dengan nilai y diketahui, maka digunakan interpolasi invers atau kebalikan yg analog dg interpolasi Lagrange. Nilai sebenarnya dari x adalah 2, karena nilai-nilai atau data diatas adalah hasil dari polinom y(x) = x Adapun untuk membentuk polinom derajat 2 dengan diketahui 3 titik, dapat menggunakan cara yang sebelumnya pernah dibahas dalam hal mencari persamaan umum polinomial kuadrat.

116 116 INTEGRASI NUMERIK

117 117 INTEGRASI NUMERIK  Masalah Menghitung luas daerah di atas sumbu x yang dibatasi oleh kurva y = f(x), antara x = a dan x = b Dari ilustrasi di samping secara kalkulus hasilnya adalah :  Contoh : Hitung luas daerah di atas sumbu x yang dibatasi oleh kurva y = x 2, antara x = 0 dan x = 4 Solusi :

118 118  Metode secara numerik A.Metode Pendekatan Persegi Panjang B.Metode Trapesium A.Metode Pendekatan Persegi Panjang  Bagi interval a sampai b atas n sub-interval   Hitung nilai fungsi pada ujung-ujung sub-interval tersebut  f (x k )  Hitung luas tiap-tiap persegi panjang tersebut  P k = h * f (x k )  Jumlahkan semua luas persegi panjang tersebut  METODE PERSEGI PANJANG

119 119 METODE PERSEGI PANJANG  Selain mengambil tinggi persegi panjang ke-k, sama dengan f (x k ) yaitu nilai fungsi pada ujung kanan sub-interval ke-k tersebut, juga dapat mengambil tinggi sama dengan f (x k-1 ) yaitu nilai fungsi pada ujung kiri sub-interval, ataupun juga pada :  yaitu nilai fungsi pada titik tengah sub-interval  Contoh: Cari luas daerah di bawah kurva f(x) = x 2, antara x = 0 sampai x = 4 Solusi:  Interval (0, 4) dibagi menjadi 4 bagian sama panjang, n = 4  h = (4 - 0)/4 = 1  Luas persegi panjang  P 1 = 1 * f(1) = 1 * 1 = 1 P 2 = 1 * f(2) = 1 * 4 = 4 P 3 = 1 * f(3) = 1 * 9 = 9 P 4 = 1 * f(4) = 1 * 16 = 16 Luas Total = 30 Penyimpangannya = 30 – =

120 120  Jika interval (0, 4) dibagi menjadi 8 sub-interval, n = 8  h = (4 - 0)/8 = 0.5  Luas persegi panjang  P 1 = 1 * f(0.5) = 1 * 1 = P 2 = 1 * f(1.0) = 1 * 4 = 1 P 3 = 1 * f(1.5) = 1 * 9 = P 4 = 1 * f(2.0) = 1 * 16 = 2 P 5 = 1 * f(2.5) = 1 * 4 = P 6 = 1 * f(3.0) = 1 * 9 = 4.5 P 7 = 1 * f(3.5) = 1 * 16 = P 8 = 1 * f(4.0) = 1 * 16 = 8 Luas Total = 26 Penyimpangannya = 26 – = 4.67  Jika banyaknya sub-interval diperbanyak lagi, misal n = 40, diperoleh L = 22.14, dan untuk n = 100 diperoleh L = METODE PERSEGI PANJANG

121 121  Jika diambil tinggi adalah nilai fungsi pada ujung kiri sub-interval Luas  P 1 = 0.5 * f(0.0) = 0.5 * 0 = 0 P 2 = 0.5 * f(0.5) = 0.5 * 0.25 = P 3 = 0.5 * f(1.0) = 0.5 * 1 = 1 P 4 = 0.5 * f(1.5) = 0.5 * 2.25 = P 5 = 0.5 * f(2.0) = 0.5 * 4 = 2 P 6 = 0.5 * f(2.5) = 0.5 * 6.25 = P 7 = 0.5 * f(3.0) = 0.5 * 9 = 4.5 P 8 = 0.5 * f(3.5) = 0.5 * = Luas Total = 18 + METODE PERSEGI PANJANG

122 122  Jika tinggi sama dengan titik tengah interval, diperoleh: Luas  P 1 = 0.5 * f(0.25) = P 2 = 0.5 * f(0.75) = P 3 = 0.5 * f(1.25) = P 4 = 0.5 * f(1.75) = P 5 = 0.5 * f(2.25) = P 6 = 0.5 * f(2.75) = P 7 = 0.5 * f(3.25) = P 8 = 0.5 * f(3.75) = Luas Total = Perhatikan bahwa hasil terakhir ini adalah yang terbaik. METODE PERSEGI PANJANG

123 123 B.Metode Trapesium  Bagi interval (a, b) menjadi n sub-interval yang sama   Hitung nilai fungsi pada ujung-ujung sub-interval tersebut  f (x k )  Hitung luas trapesium  P k = h * f (x k ) Luas trapesium ke-1 = t 1 = ½ ( f(x 0 ) + f(x 1 ) ) * h = h/2 ( f(x 0 ) + f(x 1 ) ) ke-2 = t 2 = ½ ( f(x 1 ) + f(x 2 ) ) * h = h/2 ( f(x 1 ) + f(x 2 ) ) ……………. ke-n = t n = ½ ( f(x n-1 ) + f(x n ) ) * h = h/2 (f(x n-1 ) + f(x n ) ) Luas Total = t 1 + t 2 + ……. + t n = h/2 ( f(x 0 ) + f(x 1 ) ) + h/2 ( f(x 1 ) + f(x 2 ) ) + ……. + h/2 (f(x n-1 ) + f(x n ) ) METODE TRAPESIUM

124 124 METODE TRAPESIUM

125 125  Contoh: Hitung luas daerah di bawah kurva f(x) = x 2, antara x = 0 sampai x = 4 Solusi:  Interval (0, 4) dibagi menjadi 4 sub-interval, n = 4  h = (4 - 0)/4 = 1  Luas total xkxk f(x k ) METODE TRAPESIUM

126 126  Rumusan yang paling akurat untuk integrasi numerik  Tinjauan Gauss dalam perhitungan integral  F(x) dx berdasarkan nilai f(x) dalam sub interval yang tidak berjarak sama, melainkan simetris terhadap titik tengah interval I = f(x) dx = (a-b) [R 1 (U 1 ) + R 2 (u 2 ) + … + Rn (Un)] U 1,U 2,…,Un adalah titik dalam interval [-1/2,1/2] (U) = f(x) = f[(b-a)u + ] X = (b-a)u + (Tersedia tabel nilai numerik parameter U dan R) METODE KUADRATUR GAUSS

127 127 ALGORITMA KUADRATUR GAUSS Algoritma: a) Inisialisasi tabel koefisien gauss b) Definisikan fungsi integran c) Tentukan batas pengintegralan a dan b d) Inisialisasi : sum = 0 e) Hitung : sum = sum + Ri x (Ui), i = 1 sampai n f) Hitung : I = (b-a) x sum g) Tulis hasil integral

128 128 METODE SIMPSON  Paling luas pemakaiannya  Untuk pendekatannya memakai parabola yang melalui 3 ordinat dari 2 interval berdampingan  Eksak untuk polinim derajat dua atau kurang  Lebih teliti dan rumus tidak lebih rumit dari metode trapesium  n = banyak interval h = I = (Y 0 + 4Y 1 + 2Y 2 + 4Y 3 + 2Y 4 +…+ 2Y n-4 + 4Y n-3 + 2Y n-2 + 4Y n-1 + Y n ) Kesalahan pemotongan : e T ~ (b-a) f (Q), a

129 129 ALGORITMA METODE SIMPSON Algoritma: a) Definisikan fungsi integran b) Tentukan batas pengintegralan a dan b dan jumlah segmen n (harus genap) c) Hitung : h = (b-a)/n d) Inisialisasi sum = F (a) + 4 x F (a+h) e) Hitung untuk i = 2 sampai i = n-1 dengan indeks pertambahan sama dengan 2 sum = sum + 2 x F (a+ixh) + 4 x F (a+(i+1)h) f) Hitung nilai integral I = h/3 x (sum + F(b)) g) Tulis hasil perhitungan

130 130 PENUTUP  Semoga sukses dalam proses belajar !  Tim – MetNum 2005


Download ppt "1 METODE NUMERIK & FORTRAN FAKULTAS ILMU KOMPUTER UNIVERSITAS GUNADARMA."

Presentasi serupa


Iklan oleh Google