Metnum 2006

Post on 23-Jan-2015

524 views 0 download

description

 

Transcript of Metnum 2006

1

METODE NUMERIK & FORTRAN

FAKULTAS ILMU KOMPUTERUNIVERSITAS 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 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 KOMPUTERUNIVERSITAS GUNADARMA

8

Pemrograman Terstruktur

Analisa

Persoalan

Struktur Data

+

Algoritma

Program

Pengembangan

Algoritma

Coding

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

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 :

1. Struktur sederhana (sequence)

2. Struktur berulang (repetition/loop)

3. Struktur bersyarat

:

:

Perintah-perintah dilakukan secara berurutanSatu/sekumpulan perintah dilakukan berulang-ulangSatu/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 :

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

Struktur Logika

Bentuk umum dari 3 struktur kendali proses

1

2

3

(1) (3)

1

2

3

4

Ny

(2)

1 ?

2

3

N

y

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

?T

Y

1

?2

1

DO WHILE DO UNTIL

19

Struktur Logika

b. Struktur Bersyarat dapat dibedakan :o Struktur 2 pilihan : IF – THEN – ELSEo 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 Ddimana 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 bilanganPersoalan : hitung

n

i iaS1

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 :

1. Baca/masukkan jumlah bilangan yang akan dijumlahkan2. Baca/masukkan bilangan-bilangan yang akan dijumlah3. Jumlahkan satu per satu bilangan di atas ke suatu nilai total4. 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 ai (I= 1, 2, …,n)

3. Isi variabel S=0

24

Pengembangan Algoritma

4. Lakukan sebanyak n kali :jumlahkan ai ke s (i = 1, 2, …, n)

5. Cetakisi variabel s

Data :Variabel penyimpanan banyaknya data (n) bertipe integerVaribel penyimpanan masing-masing bilangan linier array (ai) dan bertipe integer/real

Variabel penyimpanan nilai total (s) bertipe integer/real

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 ai

3. Set isi variabel s = 04. Untuk nilai variabel i dari 1 s/d n lakukan :

s = s + ai 5. Cetak variabel s

26

Pengembangan Algoritma

Algoritma 2 :1. Baca/masukkan suatu nilai dan simpan

pada variabel n2. Set isi variabel s=03. Untuk nilai variabel i dari s/d n lakukan :

a. baca/masukkan nilai ai

b. s = s + ai

4. 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

ENDIFENDWHILE

34

IF F(X0)=0 THEN

OUTPUT (X0)

ELSE IF F(X1) = 0 THEN

OUTPUT (X1)

ELSE OUTPUT (X2)

ENDIF

Algoritma Biseksi (2)

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 :

)()(

)(

01

0

01

0

xfxf

xfy

xx

xx

40

METODE REGULA FALSI

Garis tersebut berpotongan dengan sumbu X Y = 0 dengan titik absisnya yaitu X2, sehingga diperoleh :

)()()(

)(1

01

0102 xf

xfxf

xxxx

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 = falseREPEAT

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

ENDIFIF (|(X2 - X1)/ X1|T OR I=MAX) THEN

FOUND=trueENDIF

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 :

Tx

xxT

x

xx

0

20

1

21 atau

47

METODE SEKAN

SOLUSI PERSAMAAN NON LINIER

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

INPUT X0, X1, T, Max, F(x) i = 0 Found = false REPEAT

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

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:

a. x = e1/x

b. x = e1/x ln x = 1/x (ln e) x = 1/ln xc. x = e1/x 2x = x + e1/x x = 1/2(x +

e1/x)

59

CONTOH KASUS (lanjutan)

ambil x0 = 1.5

periksa kekonvergenan iterasi:a. g’(x) = - (1/x2 ) e1/x

g’(x) = - (1/(1.5)2 ) e1/1.5 = …. ?

60

METODE NEWTON-RAPHSON

SOLUSI PERSAMAAN NON LINIER

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 = ba11 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 diperoleh Xn, xn-1, xn-2,…,x2, x1

68

Contoh:a11x1 + a12x2 + a13x3 = a14a21x1 + a22x2 + a23x3 = a24a31x1 + 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 4a2j = a2j – a21/a11 x a1j

NEXT j

Eliminir x1 pada baris ke tiga

FOR j = 1 to 4a3j = a3j – a31/a11 x a1j

NEXT j

69

Secara umum untuk mengeliminir x1:

FOR i = 2 to 3 FOR j = 1 to 4

aij = aij – ai1/a11 x a1j

NEXT jNEXT I

Secara umum untuk mengeliminir: xk FOR i = k + 1, n

FOR j = k, n + 1aij = aij – aik/akk x akj

NEXT jNEXT i

70

Setelah dieliminir x1 dan x2 maka diperoleha11 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 KASUS1. 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 nFOR j = 1 to n + 1

INPUT (aij)NEXT j

NEXT IFOR k = 1 to n – 1

FOR i = k + 1 to nu = aik/akkFOR j = k to n + 1

aij = aij – u * akjNEXT j

NEXT INEXT k

73

xn = an n+1/ann

FOR i = n – 1 DOWNTO 1sum = 0FOR j = i + 1 to n

sum = sum + aij * xj

NEXT jxi = (ai n+1 – sum)/aii

NEXT iFOR i = 1 to n

OUTPUT (xi)NEXT i

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

FOR k = 1 to n-1max = abs(akk)p = kFOR m = k + 1 to n

IF abs(amk) > max THENmax = abs(amk)p = m

ENDIFNEXT mIF max ≤ THEN

OUTPUT (“ILL-CONDITION”)

STOPENDIF

IF p ≠ k THENFOR i = k TO n+1

temp = akl

akl = apl

apl = temp

NEXT iENDIF

FOR i = k+1 TO nu = aik/akk

FOR j = k TO n+1aij = aij – u * akj

NEXT jNEXT i

NEXT k

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 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 x2

0 , x30 , … , xn

0 .

Langkah ke-2 : Substitusikan x2

0 , x30 , … , xn

0 ke SPL (1) untuk memperoleh nilai x1 lalu namakan dengan x1

1 .

80

Langkah ke-3 : Substitusikan x1

1 , x30 , x4

0 , … , xn0 ke

SPL (2) untuk memperoleh nilai x2 lalu namakan dengan x2

1 .

Langkah ke-4 : Substitusikan x1

1 , x21 , x4

0 , x50 , … , xn

0 ke SPL (3) untuk memperoleh nilai x3

lalu namakan dengan x31 .

Algoritma (pseudo code) IGS - 2

81

Langkah ke-5 : dan seterusnya, sampai diperoleh x1

1 , x2

1 , x31 , … , xn-1

1 , selanjutnya substitusika ke SPL (n) untuk memperoleh nilai xn lalu namakan dengan xn

1 .

( Iterasi ke-1 selesai dengan diperolehnya nilai : x1

1 , x21 , x3

1 , … , xn-11 , xn

1 . )

Algoritma (pseudo code) IGS - 3

82

Langkah ke-6 :

Ulangi langkah ke-2 s/d ke-5

(substitusikan x21 , x3

1 , … , xn1 ke

SPL (1) untuk memperoleh nilai x1

lalu namakan dengan x12 ). Sampai

nanti diperoleh nilai x12 , x2

2 , x32 , … ,

xn-12 , xn

2 .

Algoritma (pseudo code) IGS - 4

83

Langkah ke-7 : Iterasi berakhir pada iterasi ke-k, bila :| xj

k – xjk+1 | < T

dengan T nilai toleransi kesalahan yang sudah ditetapkan sebelumnya.

Algoritma (pseudo code) IGS - 5

84

Tingkat Konvergensinya

Algoritma tersebut BELUM TENTU KONVERGEN !!!

Syarat Konvergensi :Matriks koefisiennya (A) harus bersifat DIAGONALLY DOMINANT

85

Matriks Diagonally Dominant

dengan ;1

n

ijjijii aai

i a an

ijjijii

;1

dan

86

Contoh Soal 1:

Diketahui SPL sebagai berikut :3x1 – 10x2 = 3

x1 + x2 = 2

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

1i 2

1;1111

untukaajj

j

2i 2

2;1222

untukaajj

j

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 = 3Periksa tingkat konvergensinya !!

89

Jawab Contoh Soal 1 : (3)

Periksa tingkat konvergensinya.Diperoleh bahwa :|a11|= 1 ; |a12|= 1 ; |a21|= 3 ; |a22|= 10

1 1

10 3

1i 2

1;1111

untukaajj

j

2i 2

2;1222

untukaajj

j

90

Jawab Contoh Soal 1 : (4)

Jadi SPL hasil perubahannya bersifat DIAGONALLY DOMINANT konvergen

Selanjutnya jalankan algoritmanya terhadap SPL : !

x1 + x2 = 2 … (1)

3x1 – 10x2 = 3 … (2)

91

Jawab Contoh Soal 1 : (5)

Iterasi ke-1 :1. Tebak nilai awal x2

0 = 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 x2

1 = 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 x2

2 = 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,237Dan 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 – xj

k+1 | < 0,005

Terpenuhi !!

95

Jawab Contoh Soal 1 : (9)

Rangkuman Proses Iterasinya :

Iterasi ke-

x1 x2

123456

2,0001,7001,7901,7631,7711,769

0,3000,2100,2370,2290,2310,231

96

ALGORITMA IGSINPUT A(n,n+1), e, maxitINPUT xi (nilai awal)k 1 ; big 1WHILE (k ≤ maxit and big e) DO

big 0FOR i = 1 TO n

sum 0FOR j = 1 TO n

IF j ≠ i THENsum sum + aij

NEXT jtemp (ai n+1 – sum) / aii

relerror abs((xi – temp) / temp)IF relerror big THEN

big relerrorxi temp

NEXT Ik k + 1

ENDWHILEIF k > maxit THEN

OUTPUT(“TDK KONVERGEN”)ELSE OUTPUT (“KONVERGEN”)ENDIFOUTPUT(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 :

(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

Interpolasi Linier Interpolasi Kuadrat Interpolasi Lagrange Interpolasi Newton

Jenis Interpolasi

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

Ambil ruas garis yang menghubungkan titik (xk,yk) dan (xk+1,yk+1)

Diperoleh persamaan garisnya :

)(*

* 1

1kk

kk

k

k yyxx

xxyy

)(*

* 1

1kk

kk

k

k yyxx

xxyy

kk

kk

k

k

xx

yy

xx

yy

1

1

*

*

INTERPOLASI LINIER (2)

103

Jadi persamaan garisnya adalah :

)(*

* 1

1kk

kk

k

k yyxx

xxyy

y

x

yk+1

xk+1

yk

xk

y*

x*

?

INTERPOLASI LINIER (3)

104

Diketahui data sebagai berikut :

Tentukan harga y pada x = 6,5 !Jawab : x = 6,5 terletak antara x=6 & x=7

)( 1

1kk

kk

k

k yyxx

xxyy

5,42)3649()67(

)65,6(36

y

Contoh – 1 : (1)

x -3 -2 -1 0 1 2 3 4 5 6 7

y 9 4 1 0 1 4 9 16 25 36 49

Hasilnya

105

Alternatif 2 :x = 6,5 terletak antara x=1 & x=7

)( 1

1kk

kk

k

k yyxx

xxyy

45)48()6(

)5,5(1)149(

)17(

)15,6(1

y

Hasilnya

Contoh – 1 : (2)

106

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

x -3 -2 -1 0 1 2 3 4 5 6 7

y 9 4 1 0 1 4 9 16 25 36 49

Contoh – 1 : (3)

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

Contoh-2 :Diketahui tabel akar bilangan sbb :

Tentukan akar dari 2,155 (2,155)1/2 = 1,46629 + (0,005/0,010) (1,46969 –

1,46629) = 1,46629 + 0,00170

(2,155)1/2 = 1,46799Kesalahan mutlaknya |1,4679918 -1,46799| =

0,0000018

Tentukan akar dari 2,153 dan Kesalahan mutlaknya !

N …. 2,14 2,15 2,16 ….

N1/2 …. 1,46287 1,46629 1,46969 ….

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

0

02010

21

))...()((

))...()(()( y

xxxxxx

xxxxxxxy

n

n

1

12101

20

))...()((

))...()((y

xxxxxx

xxxxxx

n

n

n

nnnn

n

yxxxxxx

xxxxxx

))...()((

))...()((

.

.

110

110

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

4771,2)307300)(305300)(304300(

)307301)(305301)(304301()(xy

4829,2)307304)(305304)(300304(

)307301)(305301)(300301(

4843,2)307305)(304305)(300305(

)307301)(304301)(300301(

4871,2)305307)(304307)(301307(

)305301)(304301)(300301(

7106,04717,49658,42739,1 4786,2)( xy

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.

)1()194)(124(

)197)(127(x

)3()1912)(412(

)197)(47()4(

)1219)(419(

)127)(47(

86,17

4

14

27

2

1x

116

INTEGRASI NUMERIK

117

INTEGRASI NUMERIKINTEGRASI 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 :

dx f(x) = Lb

a

Contoh :

Hitung luas daerah di atas sumbu x yang dibatasi oleh kurva y = x2, antara x = 0 dan x = 4

Solusi : luassatuan 1.332 364 )0( - )4( x dx )( = L 333

31

31

4

0312

4

0

x

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 (xk ) Hitung luas tiap-tiap persegi panjang tersebut Pk = h * f (xk ) Jumlahkan semua luas persegi panjang tersebut

( ) = na - bh

)f(x . h = L k

h

1k

METODE PERSEGI PANJANGMETODE PERSEGI PANJANG

119

METODE PERSEGI PANJANGMETODE 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 :

2) / )x+ f((x k1-k 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 – 21.33 = 8.66

+

120

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 – 21.33 = 4.67

Jika banyaknya sub-interval diperbanyak lagi, misal n = 40, diperoleh L = 22.14, dan untuk n = 100 diperoleh L = 21.6544

+

METODE PERSEGI PANJANGMETODE PERSEGI PANJANG

121

Jika diambil tinggi adalah nilai fungsi pada ujung kiri sub-interval

Luas P1 = 0.5 * f(0.0) = 0.5 * 0 = 0

P2 = 0.5 * f(0.5) = 0.5 * 0.25 = 0.125

P3 = 0.5 * f(1.0) = 0.5 * 1 = 1

P4 = 0.5 * f(1.5) = 0.5 * 2.25 = 1.125

P5 = 0.5 * f(2.0) = 0.5 * 4 = 2

P6 = 0.5 * f(2.5) = 0.5 * 6.25 = 3.125

P7 = 0.5 * f(3.0) = 0.5 * 9 = 4.5

P8 = 0.5 * f(3.5) = 0.5 * 12.25 = 6.125

Luas Total = 18

+

METODE PERSEGI PANJANGMETODE PERSEGI PANJANG

122

Jika tinggi sama dengan titik tengah interval, diperoleh:

Luas P1 = 0.5 * f(0.25) = 0.03125

P2 = 0.5 * f(0.75) = 0.28125

P3 = 0.5 * f(1.25) = 0.78125

P4 = 0.5 * f(1.75) = 1.53125

P5 = 0.5 * f(2.25) = 2.53125

P6 = 0.5 * f(2.75) = 3.78125

P7 = 0.5 * f(3.25) = 5.23125

P8 = 0.5 * f(3.75) = 7.03125

Luas Total = 21.2000

+

Perhatikan bahwa hasil terakhir ini adalah yang terbaik.

METODE PERSEGI PANJANGMETODE PERSEGI PANJANG

123

B. 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) )

( ) = na - bh

)f(x )f(x 2 )f(x 2

1

1nk0

n

k

h

METODE TRAPESIUMMETODE TRAPESIUM

124

METODE TRAPESIUMMETODE TRAPESIUM

125

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 0 1 2 3 4

f(xk) 0 1 4 9 16

)f(x )f(x 2 )f(x 2

3

14k0

k

h

22 16 9)4(1 2 0 2

1

METODE TRAPESIUMMETODE TRAPESIUM

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) [R1 (U1 ) + R2 (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)

METODE KUADRATUR GAUSS

ba

ba

2

ba

2

ba

127

ALGORITMA KUADRATUR GAUSS

Algoritma:a) Inisialisasi tabel koefisien gaussb) Definisikan fungsi integranc) Tentukan batas pengintegralan a dan bd) Inisialisasi : sum = 0e) Hitung : sum = sum + Ri x (Ui), i = 1 sampai nf) Hitung : I = (b-a) x sumg) 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

n

ab

3

h

IV

180

4h

129

ALGORITMA METODE SIMPSON

Algoritma:a) Definisikan fungsi integranb) Tentukan batas pengintegralan a dan b dan

jumlah segmen n (harus genap)c) Hitung : h = (b-a)/nd) 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

PENUTUP

Semoga sukses dalam proses belajar !

Tim – MetNum 2005