Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

METODE NUMERIK & FORTRAN

Presentasi serupa


Presentasi berjudul: "METODE NUMERIK & FORTRAN"— Transcript presentasi:

1 METODE NUMERIK & FORTRAN
FAKULTAS ILMU KOMPUTER UNIVERSITAS GUNADARMA

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

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 POKOK BAHASAN (2) Solusi Sistem Persamaan Linier Interpolasi
Eliminasi Gauss Eliminasi Gauss Yourdan Iterasi Gauss-Seidel Interpolasi Interpolasi Linier Interpolasi Kuadrat Interpolasi Lagrange Interpolasi Newton

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

6 Referensi 1. Steven C. Chapra & Raymond P. Canale, Metode Numerik untuk Teknik dengan Penerapan pada Komputer Pribadi, UI-Press, Jakarta, 1991. 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 PEMROGRAMAN TERSTRUKTUR
FAKULTAS ILMU KOMPUTER UNIVERSITAS GUNADARMA

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

9 Analisa Persoalan Struktur Data
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 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 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 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 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 Garis Besar Di dalam menyusun algoritma, hanya dikenal 3 jenis struktur proses : : Struktur sederhana (sequence) Struktur berulang (repetition/loop) 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 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 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 : Struktur Sederhana (berurutan) : jika perintah-perintah dilakukan secara berurutan Struktur Berulang (loop) : jika sekumpulan perintah diulang beberapa kali Struktur Bersyarat (selection) : jika sekumpulan perintah dilakukan pada kondisi tertentu

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

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 ? 1 ? 2 DO WHILE DO UNTIL

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

20 Struktur Logika Nested If Do Case

21 Contoh 1 Persoalan : tentukan apakah seorang mahasiswa dapat memiliki bobot nilai A, B, C, atau D jika diberikan syarat sbb. : Nilai rata-rata Bobot >85 A 70-85 B 55-70 C <55 D 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 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 a1, a2,…..an.

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

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

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

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

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 SOLUSI PERSAMAAN NON LINIER
METODE BISEKSI (BAGI DUA)

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 [X0,X1] maka f(X0)*f(X1)  0 Titik tengah interval X2=½(X0 + X1)

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

31 Metode Biseksi (lanjutan)
Setelah dilakukan n kali iterasi biseksi, akan diperoleh interval yang lebarnya (½)n(X1 – X0) Bila (½)n(X1 – X0)<t maka akarnya berselisih kurang dari t terhadap kedua titik ujung interval kecil (terakhir) tsb.

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

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

34 Algoritma Biseksi (2) IF F(X0)=0 THEN OUTPUT (X0)
ELSE IF F(X1) = 0 THEN OUTPUT (X1) ELSE OUTPUT (X2) ENDIF

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

36 KELEMAHAN BISEKSI Bekerja sangat lambat. Tidak memandang bahwa sebenarnya akar atau solusi yang dicari telah berada dekat sekali dengan X0 ataupun X1.

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

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

39 METODE REGULA FALSI Persamaan garis lurus melalui titik [X0,f(X0)] dan [X1,f(X1)], yaitu :

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

41 METODE REGULA FALSI Penetapan interval baru:
bila F(X0)*F(X2) <0 maka intervalnya menjadi [X0 , X2] bila F(X0)*F(X2) >0 maka intervalnya menjadi [X2 , X1]

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 ALGORITMA REGULA FALSI
INPUT X0,X1,T,F(X), MAX I=0; FOUND = false REPEAT I=I+1 X2 = X1 -(X1 - X0)*F(X1)/(F(X1)-F(X0)) IF F(X0)*F(X2)<0 THEN X1 = X2

44 ALGORITMA REGULA FALSI
ELSE X0 = X2 ENDIF IF (|(X2 - X1)/ X1|T OR I=MAX) THEN FOUND=true UNTIL (FOUND=true) OUTPUT (X2)

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

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

47 SOLUSI PERSAMAAN NON LINIER
METODE SEKAN

48 Metode Sekan Disebut juga Metode Interpolasi Linear
Dalam prosesnya tidak dilakukan penjepitan akar atau dpl. [X0, X1] tidak harus mengandung akar yang akan dicari. Sehingga f(x0) dan f(x1) bisa bertanda sama Untuk mencari X2 , sama dengan metode REGULA FALSI

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

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

51 Algoritma Sekan i = 0 Found = false REPEAT INPUT X0, X1, T, Max, F(x)
i = i + 1 X2 = X1 – (X1 – X0)*F(X1)/(F(X1) – F(X0)) X0 = X1 X1 = X2

52 Algoritma Sekan (lanjutan)
IF | (X0- X1)/ X0|≤ T OR i = Max THEN Found = true ENDIF UNTIL (Found = true) OUTPUT (X2)

53

54 METODE ITERASI TITIK TETAP
SOLUSI PERSAMAAN NON LINIER METODE ITERASI TITIK TETAP

55 METODE ITERASI TITIK TETAP
Syaratnya: f(x) = 0 dapat diubah menjadi bentuk: x = g(x) (yang tidak unik) Cari akar dgn pertidaksamaan rekurens: Xk+1 = g(Xk); untuk k = 0, 1, 2, 3, … dgn X0 asumsi awalnya, sehingga diperoleh barisan X0, X1, X2, X3, … 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 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

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

59 CONTOH KASUS (lanjutan)
ambil x0 = 1.5 periksa kekonvergenan iterasi: g’(x) = - (1/x2 ) e1/x g’(x) = - (1/(1.5)2 ) e1/1.5 = …. ?

60 METODE NEWTON-RAPHSON
SOLUSI PERSAMAAN NON LINIER METODE NEWTON-RAPHSON

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

62 Gambar Grafik

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

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

65 SOLUSI SISTEM PERSAMAAN LINIER

66 SOLUSI SISTEM PERSAMAAN LINEAR (SPL)
SPL dengan m persamaan dan n variabel: a11x1 + a12x2 + … + a1nxn = b1 a21x1 + a22x2 + … + a2nxn = b2 : : : am1x1 + am2x2 + … + amnxn = bm atau dalam bentuk matriks: Ax = b a11 a12 … a1n x1 b1 a21 a22 … a2n x2 b2 am1 am2 … amn xn bm A x b Solusi dari SPL Ax = b adalah nilai-nilai dari x1, x2, …, xn Э memenuhi persamaan ke -1 s/d ke –m Solusi dari SPL: 3x1 + 2x2 = 16 -x1 + 3x2 = 13

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 x1 s/d x2 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 Xn, xn-1, xn-2,…,x2, x1

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

69 Secara umum untuk mengeliminir x1:
FOR i = 2 to 3 FOR j = 1 to 4 aij = aij – ai1/a11 x a1j NEXT j NEXT I Secara umum untuk mengeliminir: xk FOR i = k + 1, n FOR j = k, n + 1 aij = aij – aik/akk x akj NEXT i

70 Setelah dieliminir x1 dan x2 maka diperoleh
a11 x1 + a12 x2 + a13 x3 = a14 a22 x2 + a23 x3 = a24 a33 x3 = a34 Langkah utama ke dua: substitusi mundur dari persamaan ke 3 diperoleh: x3 = a34/a33 Substitusi x3 ke persamaan ke 2, sehingga diperoleh: x2 = (a24 – a23 x3) / a22 Substitusi x3 dan x2 ke persamaan ke 1, sehingga diperoleh: x1 Dengan demikian diperoleh x1, x2, x3 Э Ax = b

71 CONTOH KASUS Tentukanlah solusi dari SPL: x1 - 2x2 + x3 = 4 2x1 - 5x2 + 5x3 = 10 x1 + x2 + x3 = 7 (dpl x1, x2 dan x3 ?)

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 k

73 xn = an n+1/ann FOR i = n – 1 DOWNTO 1 sum = 0 FOR j = i + 1 to n sum = sum + aij * xj NEXT j xi = (ai n+1 – sum)/aii NEXT i FOR i = 1 to n OUTPUT (xi)

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

75 ALGORITMA PIVOTING PADA ELIMINASI GAUSS
IF p ≠ k THEN FOR i = k TO n+1 temp = akl akl = apl apl = temp NEXT i ENDIF FOR i = k+1 TO n u = aik/akk FOR j = k TO n+1 aij = aij – u * akj NEXT j NEXT k FOR k = 1 to n-1 max = abs(akk) p = k FOR m = k + 1 to n IF abs(amk) > max THEN max = abs(amk) p = m ENDIF NEXT m IF max ≤  THEN OUTPUT (“ILL-CONDITION”) STOP

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

77 SOLUSI SISTEM PERSAMAAN LINIER
METODE ITERASI GAUSS SEIDEL - IGS

78 SISTEM PERSAMAAN LINIER (SPL)
Bila diketahui SPL dengan n persamaan dan n variabel, sebagai berikut : a11x1 + a12x2 + … + a1nxn = a1(n+1) .. (1) a21x1 + a22x2 + … + a2nxn = a2(n+1) .. (2) : an1x1 + an2x2 + … + annxn = an(n+1) .. (n) Maka solusinya dapat diperoleh dengan cara :

79 Algoritma (pseudo code) IGS - 1
Langkah ke-1 : Tebak sebarang nilai awal untuk variabel x2 , x3 , ... , xn . Namakan nilai awal tersebut x20 , x30 , … , xn0 . Langkah ke-2 : Substitusikan x20 , x30 , … , xn0 ke SPL (1) untuk memperoleh nilai x1 lalu namakan dengan x11 .

80 Algoritma (pseudo code) IGS - 2
Langkah ke-3 : Substitusikan x11 , x30 , x40 , … , xn0 ke SPL (2) untuk memperoleh nilai x2 lalu namakan dengan x21 . Langkah ke-4 : Substitusikan x11 , x21 , x40 , x50 , … , xn0 ke SPL (3) untuk memperoleh nilai x3 lalu namakan dengan x31 .

81 Algoritma (pseudo code) IGS - 3
Langkah ke-5 : dan seterusnya, sampai diperoleh x11 , x21 , x31 , … , xn-11 , selanjutnya substitusika ke SPL (n) untuk memperoleh nilai xn lalu namakan dengan xn1 . ( Iterasi ke-1 selesai dengan diperolehnya nilai : x11 , x21 , x31 , … , xn-11 , xn1 . )

82 Algoritma (pseudo code) IGS - 4
Langkah ke-6 : Ulangi langkah ke-2 s/d ke-5 (substitusikan x21 , x31 , … , xn1 ke SPL (1) untuk memperoleh nilai x1 lalu namakan dengan x12 ). Sampai nanti diperoleh nilai x12 , x22 , x32 , … , xn-12 , xn2 .

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

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

85 Matriks Diagonally Dominant
dan

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

87 Jawab Contoh Soal 1 : (1) Periksa tingkat konvergensinya.
Diperoleh bahwa : |a11|=3 ; |a12|=10 ; |a21|=1 ; |a22|= 1  3  10  1  1

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 : x1 + x2 = 2 3x1 – 10x2 = 3 Periksa tingkat konvergensinya !!

89 Jawab Contoh Soal 1 : (3) Periksa tingkat konvergensinya.
Diperoleh bahwa : |a11|= 1 ; |a12|= 1 ; |a21|= 3 ; |a22|= 10  1  1   3

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

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

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

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

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

95 Jawab Contoh Soal 1 : (9) Iterasi ke- x1 x2 1 2 3 4 5 6 2,000 1,700
Rangkuman Proses Iterasinya : Iterasi ke- x1 x2 1 2 3 4 5 6 2,000 1,700 1,790 1,763 1,771 1,769 0,300 0,210 0,237 0,229 0,231

96 ALGORITMA IGS INPUT A(n,n+1), e, maxit INPUT xi (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 + aij NEXT j temp  (ai n+1 – sum) / aii relerror  abs((xi – temp) / temp) IF relerror  big THEN big  relerror xi  temp NEXT I k  k + 1 ENDWHILE IF k > maxit THEN OUTPUT(“TDK KONVERGEN”) ELSE OUTPUT (“KONVERGEN”) ENDIF OUTPUT(xi)

97 INTERPOLASI

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* ε [x0,xn] dengan menggunakan informasi dari seluruh atau sebagian titik-titik yang diketahui ( x0, x1, …., xn) x x0 x1 x2 ……. xn f(x) f(x0) f(x1) f(x2) f(xn)

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

100 Jenis Interpolasi Interpolasi Linier Interpolasi Kuadrat
Interpolasi Lagrange Interpolasi Newton

101 INTERPOLASI LINIER (1) Misalkan ada m bilangan : x1, x2, …., xm dan bilangan lain yang berkaitan : y1, y2 , …., ym maka masalahnya : berapa harga y* pada x* ε [xk,xk+1] ? y x yk+1 xk+1 yk xk y* x* ?

102 INTERPOLASI LINIER (2) Ambil ruas garis yang menghubungkan titik (xk,yk) dan (xk+1,yk+1) Diperoleh persamaan garisnya :

103 INTERPOLASI LINIER (3) Jadi persamaan garisnya adalah : ? y x yk+1
xk+1 yk xk y* x* ?

104 Contoh – 1 : (1) Diketahui data sebagai berikut : Hasilnya
Tentukan harga y pada x = 6,5 ! Jawab : x = 6,5 terletak antara x=6 & x=7 x -3 -2 -1 1 2 3 4 5 6 7 y 9 16 25 36 49 Hasilnya

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

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

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

108 Contoh-2 : Diketahui tabel akar bilangan sbb :
…. 2,14 2,15 2,16 N1/2 1,46287 1,46629 1,46969 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 !

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 : xk-1 < xk < xk+1 atau xk-1 < x* < xk < xk+1

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

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 (x0,y0), (x1,y1), …, (xn,yn) 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 Formula Interpolasi Lagrange
Jika y(x) : nilai yang diinterpolasi; x : nilai yg berkorespondensi dg y(x) x0, x1, …., xn : nilai x dan y0, y1, …., yn : nilai y

113 Contoh 1: Nilai yg. berkorespondensi dengan y = 10log x adalah :
Carilah 10log 301 ? Untuk menghitung y(x) = 10log 301 dimana x = 301, maka nilai diatas menjadi X 300 304 305 307 10log x 2,4771 2,4829 2,4843 2,4871 x0 = 300 x1 = 304 x2 = 305 x3 = 307 y0 = 2,4771 y1 = 2,4829 y2 = 2,4843 y3 = 2,4871

114 Dengan menggunakan interpolasi lagrange

115 Contoh 2 : Bila y1 = 4, y3 = 12, y4 = 19 dan yx = 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) = x2 + 3. 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 INTEGRASI NUMERIK

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 = x2, antara x = 0 dan x = 4 Solusi :

118 METODE PERSEGI PANJANG
Metode secara numerik Metode Pendekatan Persegi Panjang Metode Trapesium Metode Pendekatan Persegi Panjang Bagi interval a sampai b atas n sub-interval  Hitung nilai fungsi pada ujung-ujung sub-interval tersebut  f (xk ) Hitung luas tiap-tiap persegi panjang tersebut  Pk = h * f (xk ) Jumlahkan semua luas persegi panjang tersebut

119 METODE PERSEGI PANJANG
Selain mengambil tinggi persegi panjang ke-k, sama dengan f (xk ) yaitu nilai fungsi pada ujung kanan sub-interval ke-k tersebut, juga dapat mengambil tinggi sama dengan f (xk-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) = x2, 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  P1 = 1 * f(1) = 1 * 1 = 1 P2 = 1 * f(2) = 1 * 4 = 4 P3 = 1 * f(3) = 1 * 9 = 9 P4 = 1 * f(4) = 1 * 16 = 16 Luas Total = 30 Penyimpangannya = 30 – = 8.66 +

120 METODE PERSEGI PANJANG
Jika interval (0, 4) dibagi menjadi 8 sub-interval, n = 8  h = (4 - 0)/8 = 0.5 Luas persegi panjang  P1 = 1 * f(0.5) = 1 * 1 = 0.125 P2 = 1 * f(1.0) = 1 * 4 = 1 P3 = 1 * f(1.5) = 1 * 9 = 1.125 P4 = 1 * f(2.0) = 1 * 16 = 2 P5 = 1 * f(2.5) = 1 * 4 = 3.125 P6 = 1 * f(3.0) = 1 * 9 = 4.5 P7 = 1 * f(3.5) = 1 * 16 = 6.125 P8 = 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 = +

121 METODE PERSEGI PANJANG
Jika diambil tinggi adalah nilai fungsi pada ujung kiri sub-interval Luas  P1 = 0.5 * f(0.0) = 0.5 * = 0 P2 = 0.5 * f(0.5) = 0.5 * = 0.125 P3 = 0.5 * f(1.0) = 0.5 * = 1 P4 = 0.5 * f(1.5) = 0.5 * 2.25 = 1.125 P5 = 0.5 * f(2.0) = 0.5 * = 2 P6 = 0.5 * f(2.5) = 0.5 * = 3.125 P7 = 0.5 * f(3.0) = 0.5 * = 4.5 P8 = 0.5 * f(3.5) = 0.5 * = 6.125 Luas Total = 18 +

122 METODE PERSEGI PANJANG
Jika tinggi sama dengan titik tengah interval, diperoleh: Luas  P1 = 0.5 * f(0.25) = P2 = 0.5 * f(0.75) = P3 = 0.5 * f(1.25) = P4 = 0.5 * f(1.75) = P5 = 0.5 * f(2.25) = P6 = 0.5 * f(2.75) = P7 = 0.5 * f(3.25) = P8 = 0.5 * f(3.75) = Luas Total = + Perhatikan bahwa hasil terakhir ini adalah yang terbaik.

123 METODE TRAPESIUM Metode Trapesium
Bagi interval (a, b) menjadi n sub-interval yang sama  Hitung nilai fungsi pada ujung-ujung sub-interval tersebut  f (xk ) Hitung luas trapesium  Pk = h * f (xk ) Luas trapesium ke-1 = t1 = ½ ( f(x0) + f(x1) ) * h = h/2 ( f(x0) + f(x1) ) ke-2 = t2 = ½ ( f(x1) + f(x2) ) * h = h/2 ( f(x1) + f(x2) ) ……………. ke-n = tn = ½ ( f(xn-1) + f(xn) ) * h = h/2 (f(xn-1) + f(xn) ) Luas Total = t1 + t2 + ……. + tn = h/2 ( f(x0) + f(x1) ) + h/2 ( f(x1) + f(x2) ) + ……. + h/2 (f(xn-1) + f(xn) )

124 METODE TRAPESIUM

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

126 METODE KUADRATUR GAUSS
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 (U1 ) + R (u2) + … + Rn (Un)] U1,U2,…,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)

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

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 = (Y0 + 4Y1 + 2Y2 + 4Y3 + 2Y4 +…+ 2Yn-4 + 4Yn-3 + 2Yn-2 + 4Yn-1 + Yn) Kesalahan pemotongan : eT ~ (b-a) f (Q), a<Q<b

129 ALGORITMA METODE SIMPSON
Definisikan fungsi integran Tentukan batas pengintegralan a dan b dan jumlah segmen n (harus genap) Hitung : h = (b-a)/n Inisialisasi sum = F (a) + 4 x F (a+h) 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) Hitung nilai integral I = h/3 x (sum + F(b)) Tulis hasil perhitungan

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


Download ppt "METODE NUMERIK & FORTRAN"

Presentasi serupa


Iklan oleh Google