mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret...

90
© Avid-06 1 Fisika Komputasi D DERET TAYLOR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan deret Taylor kita dapat menentukan nilai suatu fungsi di titik x jika nilai fungsi di titik x 0 yang berdekatan dengan titik x diketahui. Uraian deret Taylor disekitar xo dinyatakan dengan f(x) yaitu : n n x x n x f x f ) ( ! ) ( ) ( 0 0 ) ( …………………………………………..(1.1) dimana, 0 ) ( 0 ) ( x x n n n dx f d x f …………………………………………………...(1.2) ) ( ) ( 0 0 ) 0 ( x f x f ………………………………………………………(1.3) 1.2 Deret Mac Laurin Deret Mac Laurin adalah bentuk khusus dari deret Taylor. Dimana dianggap bahwa titik x 0 = 0 sehingga persamaan 1.1 akan berubah menjadi : n n x n f x f ! ) 0 ( ) ( ) ( …………………………………………………..(1.4) dimana, 0 ) ( ) 0 ( x n n n dx f d f ……………………………………………………...(1.5) ) 0 ( ) 0 ( ) 0 ( f f ………………………………………………………….(1.6) Persamaan (1.4) adalah persamaan dari deret Mac Laurin. Persamaan (1.1) biasa dituliskan dengan mensubstitusikan x dengan x-x 0 , sehingga : n n x n x f x x f ) ( ! ) ( ) ( 0 ) ( 0 …………………………………………..(1.7) Sehingga Persamaan deret Mac Laurin akan menjadi : n n x n f x f ) ( ! ) 0 ( ) ( ) ( …………………………………………...........(1.8) Contoh : Hitunglah deret Mac Laurin untuk Sin(x) I

Transcript of mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret...

Page 1: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 1

Fisika Komputasi

DDEERREETT TTAAYYLLOORR

1.1 Deret Taylor

Deret Taylor memegang peranan yang sangat penting dalam analisis numerik.

Dengan deret Taylor kita dapat menentukan nilai suatu fungsi di titik x jika nilai fungsi di

titik x0 yang berdekatan dengan titik x diketahui.

Uraian deret Taylor disekitar xo dinyatakan dengan f(x) yaitu :

nn

xxn

xfxf )(

!

)()( 0

0

)(

…………………………………………..(1.1)

dimana,

0

)( 0

)(

xxn

nn

dx

fdxf …………………………………………………...(1.2)

)()( 00

)0( xfxf ………………………………………………………(1.3)

1.2 Deret Mac Laurin

Deret Mac Laurin adalah bentuk khusus dari deret Taylor. Dimana dianggap

bahwa titik x0 = 0 sehingga persamaan 1.1 akan berubah menjadi :

nn

xn

fxf

!

)0()(

)(

…………………………………………………..(1.4)

dimana,

0

)( )0( xn

nn

dx

fdf ……………………………………………………...(1.5)

)0()0()0( ff ………………………………………………………….(1.6)

Persamaan (1.4) adalah persamaan dari deret Mac Laurin. Persamaan (1.1) biasa

dituliskan dengan mensubstitusikan x dengan x-x0, sehingga :

nn

xn

xfxxf )(

!

)()( 0

)(

0 …………………………………………..(1.7)

Sehingga Persamaan deret Mac Laurin akan menjadi :

nn

xn

fxf )(

!

)0()(

)(

…………………………………………...........(1.8)

Contoh :

Hitunglah deret Mac Laurin untuk Sin(x)

I

Page 2: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 2

Fisika Komputasi

Jawab :

f(x) = sin(x) ; f(0) = 0

f1(x) = cos(x) ; f

1(0) = 1

f11

(x) = -sin(x) ; f11

(0) = 0

f111

(x) = -cos(x) ; f111

(0) = -1

f1V

(x) = sin(x) ; f1V

(0) = 0

fV(x) = cos(x) ; f

V(0) = 1

Dari deret Mac Laurin :

nn

xn

fxf )(

!

)0()(

)(

...!5

)0(

!4

)0(

!3

)0(

!2

)0(

!1

)0(

!0

)0( 5)(4)1(3)111(2)11(1)1(0)0(

xfxfxfxfxfxf VV

Sehingga Sin(x) menjadi :

...!5

.1

!4

.0

!3

.1

!2

.0

!1

.1

!0

1.0 5432

xxxxx

...!7!5!3

753

xxx

x

Latihan :

1. Buat deret Mac Laurin untuk fungsi cos(x) dan tan(x)

2. Buat deret Taylor untuk ex di sekitar x=0

1.3 Program komputer

Program komputer dari fungsi sin(x) untuk deret Mac Laurin tersebut jika

dinyatakan dalam bahasa Visual C++ adalah :

//*********************************************************

// Menghitung fungsi sinus dengan deret MacLaurin

// Compiler : Visual C++

//*********************************************************

#include <iostream.h>

#include <math.h>

void main()

{

double eps=1e-5;

double x,sinx,pem,pen,s,del;

int i,j,m,k,tanda;

Page 3: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 3

Fisika Komputasi

cout << "Sudut x (derajat) = ";

cin >> x;

x=x/57.3;

cout << "sin(x) = " << sin ( x); //nilai sinus dari fungsi pustaka Visual C++

del=10;

cout <<endl<<endl;

cout << "Menurut Uraian deret Taylor : "<<endl;

m=0;

while (del > eps)

{

m=m+1;

s=0;

j=0;

for (i=1;i<=2*m-1;i++)

{

if (i%2 ==1 ) // atau if ( fmod(i,2) == 1)

{

j=j+1;

if (j % 2 == 0)

tanda = -1;

else

tanda=1;

pem=1;

pen=1;

for (k=1;k<=i;k++)

{

pem=pem*x;

pen=pen*k;

}

s=s+tanda*pem/pen;

}

}

if (m>1 )

del= fabs(sinx-s);

sinx=s;

}

cout << "Jumlah suku = "<<m <<endl;

cout << "sin(x) = " << s <<endl;

}

Page 4: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 4

Fisika Komputasi

Latihan :

1. Buatlah program komputer dari deret MacLaurin untuk fungsi exp(x) :

...!3!2

1)exp(32

xx

xx

2. Buatlah program komputer dari deret MacLaurin untuk fungsi cos(x) :

...!6!4!2

1)cos(642

xxx

x

Page 5: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 5

Fisika Komputasi

AKKAARR--AAKKAARR PPEERRSSAAMMAAAANN

Akar suatu persamaan merupakan titik potong fungsi f(x) dengan sumbu x :

Gambar 2.1. Akar dari persamaan f(x)

Akar dari suatu persamaan sering dipakai untuk menyelesaikan masalah fisika seperti :

-Mengetahui volume gas pada suatu tekanan tertentu

Gambar 2.2. Diagram P-V gas ideal

-Mengetahui jarak jatuh peluru yang ditembakkan dengan arah dan kecepatan tertentu

Gambar 2.3. Gerak Peluru

2.1 Memperkirakan Letak Akar

Jika diberikan fungsi f(x) dengan letak akar di x0 seperti di gambar 2.4. Untuk

menentukan letak dari akar fungsi f(x) dapat ditempuh langkah - langkah sbb :

f(x)

x x0

akar f(x)

P1

V

V1

P

saat P=P1 berapa nilai V

1

x x=?

f(x)

saat f(x)=0 berapa nilai x

f(x)

V(t)

II

Page 6: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 6

Fisika Komputasi

Gambar 2.4. Akar dari persamaan f(x)

-tentukan sebuah titik pada sumbu x dalam daerah berlakunya fungsi f(x) misalnya x1

-tentukan titik lain misal x2, dimana x2 = x1- h

-bila f(x1) x f(x2) > 0 , berarti x1 dan x2 berada pada pihak yang sama terhadap x0.

-tentukan titik lain misal : x3 = x2-h

-bila f(x2) x f(x3) > 0 , berarti x2 dan x3 berada pada pihak yang sama terhadap x0.

Gambar 2.5. Perkiraan akar dari persamaan f(x)

-penentuan titik-titik diteruskan sampai diperoleh : f(xa) x f(xb) < 0 (negatif)

Gambar 2.6. Perkiraan akar dari persamaan f(x)

-sehingga daerah pencarian akar-akar akan dipersempit diantara xa dan xb

-langkah-langkah diatas diulang pada daerah : ba xxx

x x0

f(x)

x x0

f(x)

x2 x1

h

f(x2) f(x1)

x1 dan x2 sama-sama

berada disebelah kanan x0

x x0

xa xb

f(x) xa dan xb terletak

berseberangan terhadap titik

potong x0

xa berada di sebelah kiri x0

xb berada di sebelah kanan x0

Page 7: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 7

Fisika Komputasi

catatan :

Bila kita menentukan suatu arah dan sampai batas daerah tertentu tidak ditemukan

titik potong (x0), maka kita coba sekali lagi untuk arah yang berlawanan

Contoh :

Tentukan titik potong f(x) terhadap sumbu x. Dimana bentuk persamaan f(x) :

f(x) = x3-11x

2 + 39x – 45

untuk 75.0,60 hx

n xn f(xn) xn-h

1 6 9 5,25

2 5,25 1,265 4,5

3 4,5 -1,25

Dari tabel f(5,25) x f(4,5) < 0 , sehingga titik potong terletak antara x = 4,5 dan x

= 5,25

2.2 Metode Newton-Rapshon

Penentuan akar-akar suatu persamaan dapat dicari dengan memakai rumus iterasi

Newton Rapshon yang diturunkan dari uraian deret Taylor. Jika hanya dilibatkan sampai

suku dengan turunan pertama maka akan didapatkan iterasi Newton-Rapshon orde-1,dan

bila yang dilibatkan sampai suku dengan turunan kedua maka disebut iterasi Newton-

Rapshon orde-2, dan seterusnya. Uraian deret Taylor di sekitar x0 dinyatakan :

nn

xxn

xfxf )(

!

)()( 0

0

)(

...!2

))((

!1

))((

!0

)( 2

00

)11(1

00

)1(0

0

)0(

xxxfxxxfxxf

2.2.1 Metode Newton-Rapshon orde-1

Uraian deret Taylor dari fungsi f(x) di sekitar x0 sampai suku dengan turunan

pertama dinyatakan :

f(x) = f(x0) + f1(x0)(x-x0)

Jika x disubstitusikan dengan xn+1 dan x0 disubstitusikan dengan xn maka :

f(xn+1) = f(xn) + f1(xn)(xn+1-xn)………………………...……………………….(2.1)

Bila xn+1 adalah akar dari f(x) maka f(xn+1) = 0. Sehingga persamaan 2.1 akan menjadi :

orde -1

orde -2

Page 8: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 8

Fisika Komputasi

)(

)('1

n

nnn

xf

xfxx ……………………………………………………………..(2.2)

Persamaan 2.2 disebut dengan persamaan iterasi Newton-Rapshon orde-1. Nilai xn+1 dapat

dicari dari xn (suatu titik dapat dicari dari titik sebelumnya). Jadi bila suatu titik awal x0

diketahui maka dengan persamaan 2.2 dapat dicari x1, x2, dan seterusnya sampai

ditemukan akar dari persamaan atau fungsi yang bersangkutan (nilai x yang menyebabkan

f(x) = 0). Penentuan x0 memegang peranan yang amat penting karena cepat lambatnya

penentuan akar ditentukan oleh pengambilan titik awal x0. Penentuan titik awal x0 harus

ditentukan sedekat mungkin dengan akar sehingga mengurangi banyaknya iterasi. Hal ini

dapat dilakukan dengan metode memperkirakan letak akar (sub bab 2.1).

Contoh :

Tentukanlah akar f(x) = x3 – 11x

2 + 39x – 45 dengan metode Newton-Rapshon

orde-1.

Jawab :

f1(x) = 3x

2 –22x + 33

misal kita ambil titik awal x0 = 6

n xn f(xn) f1(xn) xn+1

0 6,000 9,000 15,000 5,400

1 5,400 2,304 7,680 5,100

2 5,100 0,441 4,830 5,009

3 5,009 0,036 4,070 5,000

4 5,000 0,000 4,000 5,000

Dari tabel diatas dapat dilihat untuk ketelitian 3 angka dibelakang koma x4 = x5 =

5,000. Dan nilai f(x) = 0,000. Jadi akar dari f(x) adalah x = 5,000

2.2.2 Metode Newton-Rapshon orde-2

Jika kita melibatkan sampai suku dengan turunan kedua pada uraian deret Taylor

maka akan menghasilkan iterasi Newton Rapshon orde-2. Penurunan persamaannya dapat

ditentukan dengan cara berikut ini. Dari persamaan umum deret Taylor (pers. 1.1)

nn

xxn

xfxf )(

!

)()( 0

0

)(

!2

))((

!1

))((

!0

)( 2

00

)11(1

00

)1(0

0

)0( xxxfxxxfxxf

dengan mensubstitusi x dengan xn+1, dan x0 dengan xn didapatkan

Page 9: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 9

Fisika Komputasi

!2

))(())(()()(

2

1

11

1

1

1

nnnnnnnn

xxxfxxxfxfxf

Jika xn+1 akar dari f(x) maka

f(xn+1) = 0

)(

)(11

n

nnn

xf

xfxx

Sehingga

)(

)(

2

))(())(()(0

1

2

1

11

1

1

n

nnnn

nnnnxf

xfxxxfxxxfxf

)()(2

)()())(()(0 11

11

1

1

nn

n

nnnnnn xx

xf

xfxfxxxfxf

)(2

)()()()()(0

1

11

1

1

n

nn

nnnnxf

xfxfxfxxxf

)(2

)()()(

)(

'

''

'

1

n

nn

n

nnn

xf

xfxfxf

xfxx

)(2

)()()(

)(

'

''

'

1

n

nn

n

nnn

xf

xfxfxf

xfxx

…………………………………………….(2.3)

Persamaan 2.3 merupakan persamaan iterasi Newton-Rapshon orde-2.

Contoh :

1. Tentukanlah akar f(x) = x3 – 11x

2 + 39x – 45 dengan metode Newton-Rapshon

orde-2.

Jawab :

f1(x) = 3x

2 –22x + 33 ; f

11(x) = 6x - 22

misal kita ambil titik awal x0 = 6

N xn F(xn) f1(xn) f

11(xn) xn+1

0 6,000 9,000 15,000 14,000 5,167

1 5,167

2

3

4

Page 10: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 10

Fisika Komputasi

2. Satu mole gas ideal suhunya 3000 K, volumenya diperbesar pada suhu tetap

(isotermis). Berapa liter volume gas ideal tersebut pada saat tekanannya 15 atmosfer.

(tetapan gas universal 0,0823 l atm/mole 0K )

jawab:

Persamaan gas ideal :

PV = n R T

Diket :

N = 1 mole

R = 0,0823 l atm / mole 0 K

T = 300 0 K

P = n R T / V = 1. 0,0823 . 300/ V = 24,69 / V

Jika dimisalkan P = f(x) dan V = x maka f(x) = 24,69/x

Karena yang dicari adalah nilai V saat P = 15 maka

1569,24

)(atau1569,24

x

xfV

P

sehingga 2

1 69,24)(

xxf

Dengan iterasi Newton-Rapshon orde-1

)(

)('1

n

nnn

xf

xfxx

misal x0 = 1,5

n xn f(xn) f1(xn) xn+1

0 1,500

1

2

P1=15

V

V1=?

P

x

f(x)

f(x)1=15

x1=?

Page 11: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 11

Fisika Komputasi

x=? 0 x

y1=1/2 x

1

f(x)

3. Suatu celah lebarnya 0,4 mm disinari dengan cahaya dengan panjang

gelombang 5900 Å. Pola difraksi yang terjadi ditangkap layar yang jaraknya 70 cm dari

celah. Berapa jarak dari tengah-tengah terang pusat sampai intensitas cahaya tinggal ½

nya.

Jawab :

Pola difraksi pada celah ditentukan dengan :

2

2

0

SinII

dimana,

I0 = intensitas cahaya yang datang

β = ½ k b sin θ

k = bilangan gelombang = 2π/λ ; sin θ = δ / D

b = lebar celah

θ = sudut antara normal pada celah dengan arah sinar yang menjadi pusat

perhatian

Jika I/I0 disubstitusi menjadi y dan β disubstitusi menjadi x maka :

2

2sin

x

xy

karena yang dicari adalah nilai x saat y = ½ (I / I0 = ½ atau I = ½ I0 )

Jadi persamaan yang dicari solusinya adalah :

5,0sin

2

2

x

xy

Untuk mendapatkan titik potong f(x) dengan sumbu x maka dipakai iterasi Newton-

Rapshon orde-1.

Page 12: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 12

Fisika Komputasi

5,0sin

)(2

2

x

xxf

2

2

3

21 sinsin2

)(x

x

x

xxf

misal x0 = 1,25

n xn f(xn) f1(xn) xn+1

0 1,250

1

2

Dari perhitungan didapatkan titik potong x = 1,39155738 sehingga

sinsin

2

1392,1 bkb

4,0.

10.9,5.392,1sin

4

2.3 Akar – Akar Dari Polinom

Bentuk Umum Polinom adalah :

01

2

2

1

1 ...)( aaxaxaxaxf n

n

n

n

n

n

………………………..(2.4)

contoh :

3 ordepolinom453311)( 23 xxxxf

2-orde polinom82)( 2 xxxf

2.3.1 Pembagian Sintetik

adalah metode untuk mencari nilai fungsi f(x) dan nilai turunan fungsi f1(x).

Adapun langkah-langkahnya adalah :

1.Tuliskan koefisien-koefisien polinom dengan urutan :

021 ... aaaa nnn

bila ada suku yang tidak hadir tulis 0 untuk koefisien dari suku tsb.

2.Nilai x dimana nilai fungsi akan dicari diletakkan paling kiri dalam deretan koefisien-

koefisien.

021 ... aaaax nnn

Page 13: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 13

Fisika Komputasi

3.Selang satu baris dari deretan koefisien tersebut buat garis lurus sebagai garis

penjumlahan.

021 ... aaaax nnn

4.Turunkan an hingga ke bawah garis penjumlahan. Sebut an dengan bn.

021 ... aaaax nnn

nb

5.Kalikan x dengan bn dan letakkan hasilnya diatas garis penjumlahan tepat di bawah an-1.

Jumlahkan an-1 dengan hasil kali tadi dan letakkan hasilnya di bawah garis penjumlahan,

satu kolom dengan an-1. Beri nama hasil penjumlahan tadi dengan bn-1

021 ... aaaax nnn

nb

6.Kalikan x dengan bn-1 dan letakkan hasilnya diatas garis penjumlahan di bawah an-2.

Jumlahkan an-2 dengan hasil kali tadi dan letakkan hasilnya di bawah garis penjumlahan,

satu kolom dengan an-2. Beri nama hasil penjumlahan tadi dengan bn-2

021 ... aaaax nnn

7.Lakukan operasi yang sama untuk koefisien-koefisien yang lain sehingga di bawah garis

penjumlahan akan didapatkan deretan :

021 ... bbbb nnn

8.Nilai b0 merupakan nilai fungsi f(x) yang dicari.

Jika pembagian sintetik dilanjutkan untuk deretan

021 ... bbbb nnn

maka akan didapatkan nilai dari turunan f1(x).

Jika langkah-langkah tersebut diatas dirangkum maka akan tampak seperti berikut ini :

321 nnnn aaaax

)()()( 21 xbxbxb nnn

321 nnnn bbbb

+

+

+ nbx.

1

1 ).(

n

nn

b

bxa

+

1nb

2

12 ).(

n

nn

b

bxa

nb

1. nbx

+

Page 14: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 14

Fisika Komputasi

dimana,

nn ab

xbab nnn 11

xbab nnn 122

xbab nnn 233

Nilai 3nb merupakan nilai dari fungsi f(x) pada x yang bersangkutan. Sedangkan untuk

menentukan nilai dari turunan dari fungsi f(x) tersebut adalah dengan meneruskan

pembagian sintetik dimana nilai 321 ,,, nnnn aaaa diganti dengan nilai 21, , nnn bbb .

21 nnn bbbx

)()( 1xcxc nn

21 nnn ccc

dimana,

nn bc

xcbc nnn 11

xcbc nnn 122

Nilai dari 2nc merupakan nilai turunan dari persamaan f(x) pada x yang bersangkutan.

Contoh :

Misalkan kita memiliki persamaan polinom orde 3 yaitu :

453911)( 23 xxxxf

Tentukan nilai fungsi dan turunannya untuk x=2

Jawab :

-Secara Analitik :

Untuk x = 2 maka f(2) = -3 dan f1(2) = 7

-Dengan Pembagian Sintetik maka hasilnya adalah :

2 1 -11 39 -45

2 -18 42

1 -9 21 -3

2 1 -9 21

2 –14

1 -7 7

+

Page 15: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 15

Fisika Komputasi

Jadi didapatkan nilai f(x) pada x=2 adalah –3, sedangkan nilai turunannya adalah 7. Hasil

ini sama dengan hasil yang didapatkan secara analitik.

Soal :

1. Tentukan akar dari persamaan : f(x) = x3 – 6x

2 + 11x – 6

2. Tentukan akar dari persamaan : f(x) = x2 - 2x – 8

catatan : gunakan metode Iterasi Newton – Rapshon orde 1 dan orde-2

2.3.2 Akar Ganda

Bila suatu fungsi mempunyai beberapa akar maka untuk mencari akar – akar yang

lain dipakai iterasi Newton-Rapshon dengan titik awal yang lain juga.

Jika suatu fungsi mempunyai akar ganda (lebih dari 1 akar pada titik yang sama)

maka kalau hanya memakai metode Newton-Rapshon tidak akan dapat menentukan akar

ganda tersebut.

Contoh :

453911)( 23 xxxxf

)5)(3)(3( xxx

Persamaan tersebut mempunyai akar ganda di x=3 dan akar tunggal di x=5. Untuk

menyelesaikan masalah akar ganda maka kita memakai langkah-langkah berikut. Untuk

suatu polinom orde n, yaitu fn(x) maka langkah-langkah mencari akar adalah :

1.Tentukan akar fn(x) paling kanan dengan metode Newton-Rapshon. Misalkan akar

tersebut adalah x = x1

2.Bagi fn(x) dengan (x-x1), hasilnya polinom yang ordenya lebih rendah 1 tingkat yaitu :

fn-1(x)

3.Tentukan akar paling kanan fn-1(x) dengan Newton-Rapshon. Misalkan akar tersebut

adalah x=x2

4.Bagi fn-1(x) dengan (x-x2). Hasilnya adalah polinom yang ordenya lebih rendah 2

tingkat dari semula yaitu fn-2(x)

5.Langkah diteruskan sampai didapatkan polinom orde-1

contoh :

453911)( 23 xxxxf

3orde polinom)5)(3)(3( xxx

-bagilah f(x) dengan (x-5) hasilnya :

2-orde polinom)3)(3()( xxxf

-bagi f(x) dengan (x-3) hasilnya :

Page 16: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 16

Fisika Komputasi

1-orde polinom)3()( xxf

Adapun langkah – langkah membagi suatu polinom orde-n dengan polinom orde -1

adalah :

1.Tuliskan koefisien-koefisien dari polinom semula

an an-1 an-2 … a0

2.Lakukan pembagian sintetik untuk suatu nilai x (x didapat dari Newton-Rapshon)

sehingga didapatkan :

bn bn-1 bn-2 … b0

b0 = 0 = nilai fungsi

3.Ubah bn menjadi an-1, bn-1 menjadi an-2, … b1 menjadi a0

Setelah langkah ke-3 maka akan didapatkan koefisien-koefisien polinom baru yang

ordenya 1 tingkat lebih rendah yaitu :

an-1 an-2 … a0

Jika langkah tersebut dilanjutkan sampai didapatkan koefisien-koefisien polinom orde-

1, maka akar terakhir akan didapatkan dari polinom orde 1 ini.

Contoh :

3-orde 453911)( 23 xxxxf

Langkah-langkah :

1. a3 a2 a1 a0

1 -11 39 -45

2. 5 1 -11 39 -45 x = 5

5 -30 45

1 -6 9 0

3. 2 -orde 96)( 2 xxxf

sehingga a2 = 1

a1 = -6

a0 = 9

Ulangi langkah-langkah tsb :

1 1 -6 9

2. 3 1 -6 9 x = 3

3 -9

1 -3 0

3. 1 -orde 3)( xxf

sehingga a1 = 1

Page 17: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 17

Fisika Komputasi

a0 = -3

Jadi akar-akar dari fungsi tsb adalah :

x1 = 5

x2 = 3

x3 = 3

2.4 Program Komputer

1) Program komputer iterasi Newton-Rapshon orde 1, dimana persamaan yang dicari

akarnya adalah :

453911)( 23 xxxxf

//**********************************************************************************

// Menghitung Akar dari Fungsi dengan Metode Newton Rapshon Orde –1

// Iterasi dibatasi hanya sampai 15 kali iterasi

// Compiler : Visual C++

//**********************************************************************************

#include <iostream.h>

#include <math.h> //header untuk fungsi fabs()

#include <iomanip.h> //header untuk widht,setiosflags,...

void main()

{

double y[100];

double x,fx,dx;

int n;

cout <<endl;

cout << "Titik awal xo : ";

cin >> y[0];

cout <<endl<<endl;

//cout <<setprecision(2);

for (n=1; n<=15; n++) //hanya 15 iterasi

{

x=y[n-1];

//*****************************

fx=x*(x*x)-11*(x*x)+39*x-45; //persamaan yg akan dicari akarnya

dx=3*(x*x)-22*x+39; // Nilai turunan pertama dari persamaan

//*****************************

y[n]=x-fx/dx; //rumus Newton Rapshon orde-1

cout.width(15); //tampilkan 15 digit

cout <<setiosflags(ios::left); //rata kiri

Page 18: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 18

Fisika Komputasi

cout << n ;

cout.width(15);

cout <<setiosflags(ios::left);

cout <<y[n];

cout.width(15);

cout <<setiosflags(ios::left);

cout <<fabs(y[n]-x) ;

cout <<endl<<endl;

}

}

Dalam program diatas iterasi dibatasi hanya sampai 15 iterasi. Sehingga program akan

berhenti begitu 15 iterasi tercapai. Program berikut ini merupakan modifikasi dari

program diatas dimana iterasi akan berhenti jika selisih antara 2 nilai iterasi yang

berturutan lebih kecil atau sama dengan suatu konstanta ( epsilon). Adapun implementasi

dari program tersebut adalah seperti dibawah ini :

//***********************************************************************

// Menghitung akar dari fungsi dengan Newton Rapshon orde-1

// iterasi dibatasi oleh selisih antar 2 nilai iterasi yg berurutan

// Compiler : Visual C++

//***********************************************************************

#include <iostream.h>

#include <math.h>

void main()

{

double eps=1e-5; //konstanta (epsilon)

double y[100];

double x,fx,dx,selisih;

int n;

cout <<endl;

cout << "Titik awal xo : ";

cin >> y[0];

cout <<endl<<endl;

n=0;

selisih = 10;

while (selisih >= eps)

{

n=n+1;

Page 19: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 19

Fisika Komputasi

x=y[n-1];

//bentuk berikut dpt berubah sesuai bentuk fungsinya

//*****************************

fx=x*(x*x)-11*(x*x)+39*x-45; //Fungsi yg dicari akarnya

dx=3*(x*x)-22*x+39; //Turunan pertama dari fungsi

//*****************************

y[n]=x-fx/dx; //pers. Metode Newton-Rapshon orde-1

selisih=fabs(y[n]-x); //selisih 2 nilai iterasi yg berurutan

}

cout << "Jumlah iterasi = "<<n <<endl;

cout << "Akar = " << y[n] <<endl;

}

2) Program komputer iterasi Newton-Rapshon orde 2, dimana persamaan yang dicari

akarnya adalah :

453911)( 23 xxxxf

// **********************************************************************

// Menghitung akar dari fungsi dengan Newton Rapshon orde-2

// iterasi dibatasi oleh selisih antar 2 nilai yg berurutan

// Compiler : Visual C++

// **********************************************************************

#include <iostream.h>

#include <math.h>

#include <iomanip.h>

void main()

{

double eps=1e-5;

double y[100];

double x,fx,d1,d2,pen,selisih;

int n;

cout <<endl;

cout << "Titik awal xo : ";

cin >> y[0];

cout <<endl<<endl;

n=0;

selisih = 10;

while (selisih >= eps) //iterasi sampai selisih 2 nilai berurutan <= eps

Page 20: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 20

Fisika Komputasi

{

n=n+1;

x=y[n-1];

//bentuk berikut dpt berubah sesuai bentuk fungsinya

//*****************************

fx=x*(x*x)-11*(x*x)+39*x-45; //Fungsi yg dicari akarnya

d1=3*(x*x)-22*x+39; //Turunan pertama dari fungsi

d2=6*x-22; //Turunan kedua dari fungsi

//*****************************

pen=d1-d2*fx/(2*d1);

y[n]=x-fx/pen; //pers. Iterasi Newton-Rapshon orde-2

cout.width(10);

cout << setiosflags(ios::left);

cout << n; //tampilkan iterasi ke-n

cout.width(15);

cout << setiosflags(ios::left);

cout << y[n]; //tampilkan nilai iterasi ke-n

selisih=fabs(y[n]-x); //selisih 2 nilai iterasi yg berurutan

cout.width(15);

cout << setiosflags(ios::left);

cout << selisih;

cout << endl<<endl;

}

cout << "Jumlah iterasi = "<<n <<endl;

cout << "Akar = " << y[n] <<endl;

}

Latihan :

1) Buatlah program komputer untuk menghitung persoalan gas ideal. Dimana 1 mole gas

ideal yang suhunya 3000 K volumenya diperbesar pada suhu tetap. Berapa liter volume

gas tersebut ketika tekanannya 15 atmosfir (tetapan gas universal 0,0823 l.atm/mole0 K).

Petunjuk :

pV = nRT

Dimana, n=1 mole, R=0.0823 l.atm/mole0K, dan T=300

0K. Sehingga :

p = 24.69/V

untuk menentukan berapa volume gas pada saat tekanannya 15 atmosfir maka persamaan

tersebut akan menjadi :

p = 24.69/V -15

Atau jika p disubstitusi menjadi y dan V menjadi x maka :

y = 24.69/x –15

Page 21: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 21

Fisika Komputasi

Dengan menggunakan iterasi Newton-Rapshon maka akan dapat ditentukan solusinya.

Buatlah program komputer dari masalah ini.

2) Buatlah program komputer untuk masalah difraksi pada celah. Dimana suatu celah

dengan lebar 0.4 mm disinari dengan cahaya dengan panjang gelombang 5900 A. Pola

difraksi yang terjadi ditangkap oleh sebuah layar yang jaraknya 70 cm dari celah tsb.

Hitung jarak dari tengah-tengah terang pusat sampai intensitas cahaya tinggal ½ nya.

Petunjuk :

Pola difraksi pada celah dinyatakan dengan :

2

2

0

SinII

dimana, I0 intensitas cahaya yang datang dan sin2

1kb . Jika kita mensubstitusikan

I/I0 menjadi y dan menjadi x maka persamaan tersebut akan menjadi

2

2sin

x

xy

untuk mendapatkan nilai dimana I/I0 = 0.5 maka persamaan tersebut diubah menjadi :

5.0sin

2

2

x

xy

Dengan memakai iterasi Newton-Rapshon maka solusi persamaan ini akan dapat dicari.

Buatlah programnya!.

Tugas selanjutnya adalah bagaimana kita membuat program komputer dari

Pembagian Sintetik ini. Adapun implementasi dari program komputer untuk metode

Pembagian Sintetik ini dinyatakan seperti berikut ini :

//*************************************************************

//Menentukan nilai fungsi dan turunan dengan Metode

//pembagian Sintetik

//Compiler : Visual C++

//*************************************************************

#include <iostream.h>

#include <iomanip.h>

void pemsin(double a[100],int n,double x,double b[100]);

void main()

{

double a[100];

Page 22: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 22

Fisika Komputasi

double b[100];

double c[100];

double x;

int i,orde;

cout<<"Orde dari polinom = ";

cin >> orde;

for (i=orde; i>=0; i--)

{

cout<< "a"<<i<<" = ";

cin >>a[i]; //input koefisien dari masing-masing suku

}

cout <<endl;

cout << "tentukan titik xo : ";

cin >>x;

cout <<endl<<endl;

pemsin(a,orde,x,b); //panggil fungsi pemsin --->pembagian sintetik

for (i=orde;i>=0;i--)

{

if (i!=0 )

{

cout.width(15); //pesan tempat 15 digit

cout<<setiosflags(ios::left); //tampilkan rata kiri

cout<<i;

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<b[i];

}

else

{

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<i;

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<b[i];

cout<<"Nilai Fungsi";

}

cout <<endl;

}

cout<<endl;

pemsin(b,orde,x,c);

Page 23: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 23

Fisika Komputasi

for(i=orde;i>=0;i--)

{

if (i!=1)

{

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<i;

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<c[i];

}

else

{

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<i;

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<c[i];

cout<<" Nilai Turunan";

}

cout <<endl;

}

}

void pemsin(double a[100],int n,double x,double b[100])

{

int j;

b[n]=a[n];

for (j=n-1; j>=0; j--)

{

b[j]=a[j]+x*b[j+1];

}

}

Jika metode Pembagian Sintetik ini kita padukan dengan iterasi Newton-Rapshon dalam

penentuan akar-akar persamaan Polinom maka bentuk program komputer dari Iterasi

Newton-Rapshon akan mengalami perubahan seperti di bawah ini :

//******************************************************************************

//Menentukan Akar dari Polinom dengan Newton-Rapshon dimana

//nilai fungsi dan turunan ditentukan dgn metode Pembagian Sintetik

//Compilar : Visual C++

Page 24: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 24

Fisika Komputasi

//******************************************************************************

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

void pemsin(double a[100],int n,double x,double b[100]); //deklarasi fungsi

pembagian sintetik

void main()

{

double eps = 1e-5;

double a[100];

double b[100];

double c[100];

double y[100];

double x,fx,dx;

int i,n,orde;

cout<<"Orde dari polinom = ";

cin >> orde;

for (i=orde; i>=0; i--)

{

cout<< "a"<<i<<" = ";

cin >>a[i]; //input koefisien dari masing-masing suku

}

cout <<endl;

cout << "tentukan titik awal xo : ";

cin >>y[0];

cout <<endl<<endl;

n=0;

while (fabs(y[n]-x)>=eps)

{

n=n+1;

x=y[n-1];

pemsin(a,orde,x,b);

fx=b[0];

pemsin(b,orde,x,c);

dx=c[1];

y[n]=x-fx/dx;

` }

cout << "Jumlah iterasi : "<<n<<endl;

cout << "Akar : "<<y[n];

cout <<endl;

}

Page 25: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 25

Fisika Komputasi

void pemsin(double a[100],int n,double x,double b[100])

{

int j;

b[n]=a[n];

for (j=n-1; j>=0; j--)

{

b[j]=a[j]+x*b[j+1];

}

}

Latihan :

1) Buatlah program komputer untuk menyelesaikan masalah gerak peluru. Dimana sebuah

peluru ditembakkan dengan kecepatan awal V0 = 100 m/s dan sudut elevasi = 450.

Percepatan grafitasi g = 9,8 m/dt 2 .Tentukan berapa jauh peluru akan melayang di udara.

Petunjuk :

Persamaan lintasan peluru dinyatakan dengan :

xxv

gy )(tan

)cos(2

2

2

0

atau bisa ditulis menjadi polinom orde-2 yaitu :

xaxay 1

2

2

dimana,

13

2

0

2 10.1)cos(2

mv

ga

1tan1 a

00 a

Dengan memakai iterasi Newton-Rapshon yang dikombinasikan dengan metode

pembagian Sintetik maka solusi permasalahan diatas akan dapat dicari. Buat program

komputernya.

Page 26: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 26

Fisika Komputasi

INNTTEEGGRRAALL DDAANN DDIIFFEERREENNSSIIAALL

3.1 INTEGRAL

Nilai Integral I dari suatu fungsi f(x) menyatakan luas bidang dibawah fungsi f(x)

antara x=a dan x=b atau ditulis :

b

a

dxxfI )( …………………………………………………………...(3.1)

Ada beberapa metode yang dapat dipakai untuk menghitung integral diantaranya : metode

persegi panjang, metode trapesium, metode Simpson, metode Romberg dll. Berikut ini

akan dijelaskan beberapa metode tersebut.

3.1.1 Metode Persegi Panjang

Dalam metode ini luas bidang dibawah kurva f(x) antara x = a dan x = b dapat

dicari dengan membagi bidang tersebut menjadi n buah pita yang berbentuk persegi

panjang, yang panjangnya f(xi) dan lebarnya x , sehingga

luas masing-masing pita dapat dinyatakan :

xxfL ii )( …………………..……………………………………………..(3.2)

Karena antara x = a dan x = b terdapat n buah pita maka luas seluruhnya menjadi :

n

i

xxifL1

)( ………………………………………………………………...(3.3)

untuk Δx sangat sempit (Δx ≈ 0) maka persamaan (3.3) adalah persamaan integral seperti

yang dirumuskan dalam persamaan (3.1). Metode untuk menghitung integral seperti yang

disebutkan di atas dikenal dengan metode Persegi Panjang.

f(x)

a b

y

x

Gambar 3.1 Metode Persegi Panjang

Pita ke-1

Pita ke-n

Pita ke-i

x

III

Page 27: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 27

Fisika Komputasi

3.1.2 Metode Trapesium

Dalam metode trapesium ini luas bidang di bawah fungsi f(x) antara x = a dan x =

b dapat dicari dengan membagi bidang antara x = a dan x = b menjadi n buah pita yang

berbentuk trapesium yang masing-masing lebarnya x seperti diperlihatkan dalam

gambar 3.2 .

Dari gambar 3.2 maka luas pita ke-i yang terletak antara xi dan xi+1 adalah :

)]()([2

11 iii xfxfxA

Sehingga untuk n buah pita maka luas seluruhnya menjadi :

)]()([2

1...)]()([

2

1)]()([

2

113221 nn xfxfxxfxfxxfxfxA

karena f(x1) = f(a) dan f(xn+1) = f(b) maka persamaan tersebut menjadi :

)]()(2...)(2)(2)(2)([2

1432 bfxfxfxfxfafxA n ……………(3.4)

contoh :

Jika diketahui panas jenis suatu zat seperti tabel berikut ini :

t ( 0C ) c (kkal/kg

0C)

-100 0,11904

-50 0,12486

0 0,13200

50 0,14046

100 0,15024

150 0,16134

200 0,17376

f(x)

a b

y

x

Gambar 3.2 Metode Trapesium

x

xi xi+1

f(xi) f(xi+1)

Pita ke-i

Pita ke-1 Pita ke-n

Page 28: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 28

Fisika Komputasi

Tentukan panas yg diperlukan untuk memanaskan 1 kg zat dari –1000C - 200

0C.

Jawab:

a) Metode Persegi Panjang

n ∆x f(xn) Luas(Ln)

1 50 0,11904

2 50 0,12486

3 50 0,13200

4 50 0,14046

5 50 0,15024

6 50 0,16134

Jumlah

a) Metode Trapesium

n ∆x f(xn) f(xn+1) Luas(Ln)

1 50 0,11904 0,12486 6,0975

2 50 0,12486 0,13200 6,4215

3 50 0,13200 0,14046 6,8115

4 50 0,14046 0,15024 7,2675

5 50 0,15024 0,16134 7,7895

6 50 0,16134 0,17376 8,3775

Jumlah 42,7650

Jadi panas yang diperlukan adalah 42,7650 kkal.

3.1.3 Program Komputer metode Trapesium

1) Membuat program komputer untuk menghitung integral dengan metode Trapesium.

Dimana fungsi yang akan dicari integralnya adalah :

f(x) = 6 – 6x5

Adapun program komputernya adalah seperti berikut ini :

//*******************************************************

//Menghitung integral dengan metode Trapesium

//Compiler : Visual C++

//*******************************************************

#include <iostream.h>

Page 29: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 29

Fisika Komputasi

#include <math.h>

#include <iomanip.h>

void main()

{

double eps=1e-5;

double trap[100];

double x,x1,x2,delt,delx,pita,fx;

int i;

cout << " Batas bawah : ";

cin >>x1;

cout << " Batas Atas : ";

cin >>x2;

cout <<endl<<endl;

i=0;

delt=100; //delt = selisih antara 2 hasil integral(iterasi) yg berurutan

while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps

{

i=i+1;

trap[i]=0;

x=x1;

pita=pow(2,i-1); //2^i-1 (pow = pangkat)

delx=(x2-x1)/pita; //pita= jumlah pita

while (x<x2) //delx=lebar masing-masing pita;

{

//***************************

fx=6-6*pow(x,5); //bentuk pers. 6-6x^5

//***************************

//fx=fabs(x); //contoh : pers. garis y=x

//fx=1/x ; //contoh : pers. flux magnet pada kawat berarus

if (x==x1 || x==x2)

trap[i]=trap[i]+fx;

else

trap[i]=trap[i]+2*fx;

x=x+delx;

}

trap[i]=trap[i]*delx/2;

if (i==1)

{

cout<<setw(10); //10 lokasi digit

cout<<setiosflags(ios::left); //rata kiri

cout<< pita;

Page 30: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 30

Fisika Komputasi

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<< trap[i];

}

else

{

delt=trap[i]-trap[i-1];

cout<<setw(10);

cout<<setiosflags(ios::left);

cout<<pita;

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<trap[i];

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<delt;

}

cout<<endl;

}

cout <<endl<<endl;

cout<<"Harga Integrasi : "<<trap[i];

cout <<endl<<endl;

}

Coba jalankan program tersebut dengan batas-batas integral x=0 dan x=1. Bagaimanakah

hasilnya.Jika programnya benar anda akan mendapatkan hasil integrasi = 4.99999761

Latihan :

1) Buatlah program komputer untuk menghitung integral dari fungsi :

f(x) = 4

Eksekusi program tersebut dengan memasukkan batas-batas integrasi x = 0 dan x = 5. Jika

programnya benar maka akan didapatkan hasil integrasi = 20. Program ini mengandung

arti yaitu kita mencari luas segi empat dengan panjang 5 dan lebar 4.

2) Coba buat program komputer untuk menghitung integral dari fungsi :

x

f(x)

f(x) = 4 4

0 5

Page 31: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 31

Fisika Komputasi

-∆x

∆x

f(x) = 1/x

Coba eksekusi program tersebut dengan batas-batas integrasi adalah x=0.01 dan x=0.09.

Jika programnya benar maka anda akan mendapatkan harga integrasi = 2.19723

3.1.4 Metode Simpson

Kesalahan – kesalahan yang terjadi pada metode persegi panjang maupun metode

trapesium adalah karena kurva antara x = a dan x = b didekati dengan potongan –

potongan garis lurus. Kesalahan ini dapat diperkecil jika kita tidak menggunakan garis

lurus tetapi kurva lain. Salah satu pendekatan yang dipakai adalah parabola atau polinom

orde dua.

Untuk menurunkan rumus integrasinya maka dimisalkan xi+1 ditempatkan di x = 0

sehingga xi berada di x = -∆x serta xi+2 berada di x = ∆x.

Jika persamaan parabola yang dipakai adalah :

01

2

2)( axaxaxf ………………………………………………………..(3.5)

maka luas pasangan pita di bawah parabola :

dxaxaxaA

x

x

i

)( 01

2

2 …………………………………………………....(3.6)

xaxaxa 0

2

1

3

22

1

3

1

xaxa 0

3

2 23

2…………………………………………………………..(3.7)

Nilai fungsi pada ketiga titik tersebut adalah :

01

2

2 )()()( axaxaxf i ……………………………………………...(3.8)

01)( axf i ……………………………………………………………………(3.9)

01

2

22 )()()( axaxaxf i ……………………………………………...(3.10)

Dari persamaan (3.8), (3.9), dan (3.10) maka didapatkan koefisien-koefisien :

2

212

2

)()(2)(

x

xfxfxfa iii

……………………………………………..(3.11)

x

xfxfa ii

2

)()( 21 ……………………………………………………….…(3.12)

)( 10 ixfa …………………………………………………………………..(3.13)

Page 32: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 32

Fisika Komputasi

Sehingga persamaan (3.7) menjadi :

)]()(4([3

121 iiii xfxfxfxA …………………………………………(3.14)

Maka luas semua pasangan pita adalah :

)]()(4([3

1321 xfxfxfxA

...)]()(4([3

1543 xfxfxfx

)]()(4([3

112 nnn xfxfxfx ……………………………………....(3.15)

atau

...)(4)(4)(4)([3

18621 xfxfxfxfxA

)](...)(2)(2)(2 753 nxfxfxfxf ………………………………(3.16)

contoh :

1)Jika diketahui panas jenis suatu zat seperti tabel berikut ini :

t ( 0C ) c (kkal/kg

0C)

-100 0,11904

-50 0,12486

0 0,13200

50 0,14046

100 0,15024

150 0,16134

200 0,17376

Tentukan panas yang diperlukan untuk memanaskan 1 kg zat dari –1000C sampai

200 0C.

Jawab:

n ∆x f(xn) f(xn+1) f(xn+2) Luas(Ln)

1 50 0,11904 0,12486 0,13200 12,5080

2 50 0,13200 0,14046 0,15024 14,0680

3 50 0,15024 0,16134 0,17376 16,1560

Jumlah 42,7320

Jadi panas yang diperlukan adalah 42,7320 kkal

2)Suatu kawat yang sangat panjang dialiri arus listrik 30 A. Hitung besar flux

magnet yang menembus suatu persegi panjang yang sisi panjangnya sejajar dan

Page 33: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 33

Fisika Komputasi

8 cm

30 cm

r

dr

pita = dA = Ldr

1 cm

sisi pendeknya tegak lurus kawat. Panjang persegi panjang 30 cm, lebar 8 cm.

Jarak salah satu sisi panjang persegi panjang ke kawat adalah 1 cm ( μ0 = 4π .

10-7

weber/amp.m)

Jawab :

Besar flux magnet :

dABd .

Ambil suatu pita sejajar dengan kawat berarus panjang L = 30 cm, dan lebarnya

dr. Maka luas pita dA = L.dr. Sehingga flux magnet yang menembus pita ini adalah :

r

iB

2

0

Maka

r

driLdrL

r

id

22

00

09,0

01,0

10

2dr

iLr

3.1.5 Program komputer metode Simpson

1) Membuat program komputer untuk menghitung integral dengan metode Simpson.

Dimana fungsi yang akan dicari integralnya adalah :

f(x) = 6 – 6x5

Adapun program komputernya adalah seperti berikut ini :

//*******************************************************

//Menghitung integral dengan metode Simpson

//Compiler : Visual C++

//*******************************************************

#include <iostream.h>

#include <math.h>

#include <iomanip.h>

void main()

{

double eps=1e-5;

L

Page 34: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 34

Fisika Komputasi

double simp[100];

double x,x1,x2,delt,delx,pita,fx;

int i,j;

cout << " Batas bawah : ";

cin >>x1;

cout << " Batas Atas : ";

cin >>x2;

cout <<endl<<endl;

i=0;

delt=100; //delt = selisih antara 2 hasil integral(iterasi) yg berurutan

while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps

{

i=i+1;

j=0;

simp[i]=0;

x=x1;

pita=2*pow(2,i-1); //2^i-1 (pow = pangkat)

delx=(x2-x1)/pita; //pita= jumlah pita

while (x<x2) //delx=lebar masing-masing pita;

{

//***************************

fx=6-6*pow(x,5); //contoh : bentuk pers. 6-6x^5

//***************************

//fx=fabs(x); //contoh : pers. garis y=x

//fx=1/x ; //contoh : pers. flux magnet pada kawat berarus

j=j+1;

if (x==x1 || x==x2)

simp[i]=simp[i]+fx;

else

{

if (x>x1 && x<x2 && j % 2 ==0) //suku genap

simp[i]=simp[i]+4*fx;

if (x>x1 && x<x2 && j % 2 ==1) //suku ganjil

simp[i]=simp[i]+2*fx;

}

x=x+delx;

}

simp[i]=simp[i]*delx/3;

if (i==1)

{

cout<<setw(10); //10 lokasi digit

Page 35: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 35

Fisika Komputasi

cout<<setiosflags(ios::left); //rata kiri

cout<< pita;

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<< simp[i];

}

else

{

delt=simp[i]-simp[i-1];

cout<<setw(10);

cout<<setiosflags(ios::left);

cout<<pita;

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<simp[i];

cout<<setw(15);

cout<<setiosflags(ios::left);

cout<<delt;

}

cout<<endl;

}

cout <<endl<<endl;

cout<<"Harga Integrasi : "<<simp[i];

cout <<endl<<endl;

}

Latihan :

1) Coba buat program yang sama seperti pada latihan untuk metode Trapesium.

Bandingkan hasilnya.

3.2 DIFERENSIAL

Diferensial atau sering disebut turunan dapat dihitung dengan memakai uraian

deret Taylor. Jika uraian deret Taylor di sekitar x dinyatakan dengan f(x+h) dan f(x-h).

Dimana masing-masing dinyatakan dengan persamaan :

...)(6

1)(

2

1)()()( '''3''2' xfhxfhxhfxfhxf …………………..(3.17)

...)(6

1)(

2

1)()()( '''3''2' xfhxfhxhfxfhxf .....…………………..(3.18)

3.2.1 Turunan Pertama

Page 36: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 36

Fisika Komputasi

Jika kita mengambil selisih antara kedua persamaan tersebut (3.17 dan 3.18) maka

akan didapatkan :

...)(6

1

2

)()()( '''2'

xfh

h

hxfhxfxf .......…………………………...(3.19)

Dari persamaan (3.19) jika kita mengambil nilai h yang sangat kecil maka suku-suku

dengan h pangkat 2 atau lebih bisa diabaikan. Sehingga akan didapatkan persamaan

Turunan Pertama dari suatu fungsi f(x) yaitu :

h

hxfhxfxf

2

)()()('

………………………………………………..(3.20)

3.2.2 Turunan Kedua

Untuk mendapatkan Turunan Kedua dari fungsi f(x) maka kita menjumlahkan

kedua persamaan f(x+h) dan f(x-h) dalam persamaan (3.17) dan 3.18). Sehingga

didapatkan persamaan yaitu :

...)(12

1)()(2)()( 2

2

''

xfhh

hxfxfhxfxf IV ...……………….(3.21)

Bila h sangat kecil maka suku dengan h pangkat 2 atau lebih bisa diabaikan. Sehingga

akan didapatkan persamaan Turunan Kedua dari f(x) yaitu :

2

'' )()(2)()(

h

hxfxfhxfxf

………………………………………(3.22)

Kedua metode untuk mencari turunan diatas disebut dengan metode Beda Sentral

(central difference).

Contoh :

1.Tentukan turunan pertama dari fungsi y = x2 saat x = 1

jawab :

h

hxfhxfxf

2

)()()('

a)Secara analitik

221

xdx

dy

x

b)Secara Numerik (Metode Beda Sentral)

Page 37: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 37

Fisika Komputasi

h = 1 ; hn+1 = hn / 2

n hn f(x+h) f(x-h) f1(x) =f(x+h)-f(x-h)/2h

1 1,00 4,0000 0,0000 2,00

2 0,50 2,2500 0,2500 2,00

3 0,25 1,5625 0,5625 2,00

2.Tentukan turunan pertama dan kedua dari fungsi y = x2 + x saat x = 1

Jawab :

Turunan Pertama :

a)Secara analitik

3121

xdx

dy

x

b)Secara Numerik (Metode Beda Sentral)

h = 1 ; hn+1 = hn / 2

n hn f(x+h) f(x-h) f1(x) =f(x+h)-f(x-h)/2h

1 1,00 6,0000 0,0000 3,00

2 0,50 3,7500 0,7500 3,00

Turunan Kedua :

a)Secara analitik

21

xdx

dy

b)Secara Numerik (Metode Beda Sentral)

h = 1 ; hn+1 = hn / 2

n hn f(x) f(x+h) f(x-h) f11

(x)

1 1,00 2 6,0000 0,0000 2,00

2 0,50 2 3,7500 0,7500 2,00

3.2.3 Program Komputer

1)Program komputer untuk menghitung Turunan Pertama dari fungsi. Dimana fungsi

yang dicari turunannya adalah :

Page 38: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 38

Fisika Komputasi

f(x) = x2– 5x

Adapun implementasi program komputernya adalah seperti berikut ini :

//*********************************************************************************** //Menghitung Turunan pertama suatu fungsi dengan metode beda sentral //compiler : Visual C++ //*********************************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-5; double z[10]; double fx,del,dx,zz,x,y,h; int i,n; cout << " Masukkan nilai x : "; cin >>y; cout <<endl<<endl; h=1; n=0; zz=0; del=10; while (fabs(del)>=eps) //iterasi selama del lebih besar dari eps { n+=1; for (i=1;i<=2;i++) { if (i==1) x=y+h; else x=y-h; //fx=9.8*68.1*(1-exp(-12.5*x/68.1)); //fx=fx/12.5; //***************** fx=x*x-5*x; //fungsi yang dicari turunannya : x^2 - 5x //***************** z[i]=fx; } dx=(z[1]-z[2])/(2*h); del=zz-dx; cout.width(15); cout<<h; cout.width(15); cout<<dx; cout.width(15); cout<<del; cout<<endl; zz=dx; h=h/10; } cout<<endl; cout<<"Jumlah iterasi : "<<n<<endl; cout<<"Turunan pertama dari f(x) : "<<dx; cout<<endl; }

Page 39: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 39

Fisika Komputasi

Coba jalankan (eksekusi) program tersebut. Jika anda masukkan nilai x =1 maka akan

didapatkan hasil turunan pertama adalah –3. Cobalah untuk memasukkan nilai x yang lain

dan lihat hasilnya. Bandingkan dengan perhitungan secara manual.

2) Membuat program komputer untuk menghitung Turunan kedua dari fungsi. Dimana

fungsi yang dicari turunannya adalah :

f(x) = x3– 5x

Adapun implementasi program komputernya adalah seperti berikut ini :

//****************************************************************** //Menghitung Turunan pertama suatu fungsi dengan metode beda sentral //compiler : Visual C++ //****************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-5; double z[10]; double fx,del,dx,zz,x,y,h; int i,n; cout << " Masukkan nilai x : "; cin >>y; cout <<endl<<endl; h=1; n=0; zz=0; del=10; while (fabs(del)>=eps) //iterasi selama del lebih besar dari eps { n+=1; for (i=1;i<=3;i++) { switch(i) { case (1): { x=y+h; break; } case(2): { x=y; break; } case(3): { x=y-h; break; } } //fx=9.8*68.1*(1-exp(-12.5*x/68.1)); //fx=fx/12.5; //***************** fx=x*x*x-5*x; //fungsi yang dicari turunannya : x^3 - 5x //*****************

Page 40: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 40

Fisika Komputasi

z[i]=fx; } dx=(z[1]-2*z[2]+z[3])/(h*h); del=zz-dx; cout.width(15); cout<<h; cout.width(15); cout<<dx; cout.width(15); cout<<del; cout<<endl; zz=dx; h=h/10; } cout<<endl; cout<<"Jumlah iterasi = "<<n<<endl; cout<<"Turunan kedua dari f(x) = "<<dx; cout<<endl; }

Coba jalankan (eksekusi) program tersebut. Jika anda masukkan nilai x =2 maka akan

didapatkan hasil turunan pertama adalah 12. Cobalah untuk memasukkan nilai x yang lain

dan lihat hasilnya. Dan bandingkan dengan perhitungan secara manual.

Latihan :

1) Coba buat program komputer untuk menentukan turunan pertama dari suatu masalah

penerjun payung Dimana diketahui persamaan laju penerjun payung setelah payungnya

mengembang adalah :

]1[)( / mctec

gmtv

dimana g = 9.8 ms-2

, massa penerjun m = 68.1 kg, hambatan oleh udara c = 12.5 kg.s-1

.

Ditanyakan berapa percepatan penerjun payung pada saat t = 10 s.

2) Coba buat program komputer untuk menentukan turunan kedua dari suatu masalah

penerjun payung Dimana diketahui persamaan laju penerjun payung setelah payungnya

mengembang adalah :

]1[)( / mctec

gmtv

dimana g = 9.8 ms-2

, massa penerjun m = 68.1 kg, hambatan oleh udara c = 12.5 kg.s-1

.

Ditanyakan berapa percepatan penerjun payung pada saat t = 10 s.

Page 41: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 41

Fisika Komputasi

MEENNYYEELLEESSAAIIKKAANN PPEERRSSAAMMAAAANN DDIIFFEERREENNSSIIAALL BBIIAASSAA

4.1 Solusi Persamaan Diferensial dengan syarat awal

Misalkan kita memiliki persamaan diferensial seperti di bawah ini :

)1.4......(......................................................................02

2

kmdt

dxr

dt

xdm

secara analisis maka solusi dari persamaan tersebut adalah :

kmruntuktAex t 4,)sin( 0

kmruntuketBBx t 4,)( 21

kmruntukeCeCxtt

4,21

21

Sedangkan secara numerik kita tidak akan mendapatkan solusi seperti diatas, tetapi kita

akan mencari solusi pada suatu waktu tertentu. Sehingga diperlukan suatu syarat awal

agar solusi dapat dicari yaitu misalkan pada waktu mula-mula solusi melalui suatu titik

tertentu. Syarat semacam ini diperlukan karena solusi persamaan diferensial dapat

berbeda-beda karena adanya suatu konstanta. Andaikan kita mempunyai persamaan

diferensial :

54)(' xxf

solusi secara analisis matematik dari persamaan ini adalah :

54)(

xdx

xdf

Cxxdxxxf 5254)( 2

dapat dilihat bahwa solusinya tidak hanya satu tetapi tergantung dari nilai C. Sedangkan

solusi secara numerik kita menentukan suatu syarat awal terhadap fungsi tersebut

misalnya bahwa solusi persamaan tersebut melalui titik (1,1). Sehingga akan didapatkan

hanya sebuah solusi yaitu :

652)( 2 xxxf

misal kita masukkan nilai x = 2 maka solusi dari persamaan diferensial tersebut adalah :

12)2( f

Jadi dapat disimpulkan bahwa solusi dari persamaan diferensial 54)(' xxf di x = 2

dan syarat awal (1,1) adalah 12. Ada beberapa metode yang dapat diterapkan untuk

mencari solusi dari persamaan diferensial yaitu : metode Euler, Runge-Kutta dll.

IV

Page 42: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 42

Fisika Komputasi

4.2 Metode Euler

Untuk mencari solusi persamaan diferensial biasa dengan syarat awal dapat

dilakukan dengan metode Euler. Metode Euler terdiri dari 2 metode yaitu : orde 1 dan

orde 2. Berikut ini kita akan membahasa satu persatu dari ke dua metode tersebut.

4.2.1 Metode Euler orde 1

Metode ini diturunkan dari uraian deret Taylor disekitar x dinyatakan dengan

f(x+h) yaitu :

...)('''3

1)(

2

1)()()( 32''' hxfhxfhxfxfhxf

Jika diambil sampai suku h pangkat 1 maka persamaan tersebut menjadi :

hxfxfhxf )()()( '

dimana dalam Persamaan Diferensial Biasa )(' xf dapat ditulis menjadi :

),()(' yxfxf

sehingga persamaan diatas menjadi :

hyxfxfhxf ),()()(

persamaan ini bisa ditulis dalam bentuk iterasi :

)2.4........(......................................................................),(1 hyxfyy ii

persamaan ini sering disebut dengan iterasi Euler orde 1. Jika kita menentukan syarat

awal adalah titik (x0,y0) dan kita menginginkan solusi persamaan diferensial di titik xp

maka kita harus membagi selang antara x0 dan xp menjadi n buah pita yang masing-

masing lebarnya h sehingga diperoleh titik-titik x0, x1, x2, …xp.

Dari syarat awal yaitu titik (x0,y0) maka dengan rumus iterasi Euler kita dapat

menentukan y1 dengan absis x1 = x0 + h. Selanjutnya dari titik (x1,y1) kita dapat

menentukan y2 dengan absis x2 = x1 + h. Demikian seterusnya sampai didapatkan yp yang

absisnya adalah xp. Dengan demikian nilai yp merupakan solusi dari persamaan diferensial

pada titik xp.

Contoh :

Hitunglah solusi persamaan diferensial berikut pada x = 2:

54 xdx

dy ,dimana syarat awal (x0,y0) = (1,1)

Jawab :

Jika kita membagi antara x=1 dan x=2 menjadi 10 pita maka lebar masing-masing

pita (h) adalah :

Page 43: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 43

Fisika Komputasi

1.010

1212

pita

xxh

hyxfyy ii ),(1

9.19.011,0).51.4(1).5.4( 001 hxyy

84.294.09.11,0).5)1.1.(4(9.1).5.4( 112 hxyy

hasil selengkapnya dapat dilihat dalam tabel berikut ini.

i xi yi f(x,y) yi+1

0 1 1 9 1.9

1 1.1 1.9 9.4 2.84

2 1.2 2.84 9.8 3.82

3 1.3 3.82 10.2 4.84

4 1.4 4.84 10.6 5.9

5 1.5 5.9 11.0 7.00

6 1.6 7.00 11.4 8.14

7 1.7 8.14 11.8 9.32

8 1.8 9.32 12.2 10.54

9 1.9 10.54 12.6 11.8

10 2.0 11.8

Jadi solusi persamaan difrensial pada x = 2 adalah 11.8

Contoh :

Sebuah benda bergerak lurus sepanjang sumbu x. Laju benda V(t) setiap setengah

detik adalah :

t 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

V(t) 14.3 26.4 37.3 47.3 56.8 65.8 74.4 82.6 90.4 97.7

Berapa panjang jalan x yang ditempuh sampai dengan detik ke 5. Jika mula-mula (t0)

benda berada pada posisi x = 3.7

Jawab :

)(tvdt

dx

Iterasi Euler orde 1 :

5.0;)(1 hhtvxx ii detik

Page 44: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 44

Fisika Komputasi

Awal t0 = 0.5, x0 = 3.7

Saat i = 0 , htvxx )(01

85.105.77.3)5.0).(3.14(7.31 x

05.2420.1385.10)5.0).(4.26(85.102 x

hasil selanjutnya dapat dilihat dalam tabel di bawah ini :

i ti xi v(t) xi+1

0 0.5 3.7 14.3 10.85

1 1.0 10.85 26.4 24.05

2 1.5 24.05 37.3 42.70

3 2.0 42.70 47.3 66.35

4 2.5 66.35 56.8 94.75

5 3.0 94.75 65.8 127.65

6 3.5 127.5 74.4 164.85

7 4.0 164.85 82.6 206.15

8 4.5 206.15 90.4 251.35

9 5.0 251.35 97.7

Sehingga jarak yang ditempuh sampai dengan detik ke 5 adalah 251.35 m

Latihan :

1.Tentukan solusi persamaan diferensial :

ydx

dy

pada saat x = 2 dan syarat awal adalah (0,1)

2.Tentukan solusi persamaan diferensial :

f ‘(x) = x2 + 2

saat x = 3 dan syarat awal (1,1)

4.2.2 Program Komputer metode Euler orde 1

1) Membuat program komputer untuk mencari solusi persamaan diferensial biasa dengan

iterasi Euler orde-1. Dimana bentuk persamaan diferensial yang dicari solusinya adalah :

f ’(x) = 4x+5

Adapun implementasi program komputernya adalah seperti berikut ini :

//**************************************************************************** //Menghitung Persamaan Diferensial dengan metode Euler orde satu //compiler : Visual C++ //**************************************************************************** #include <iostream.h>

Page 45: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 45

Fisika Komputasi

#include <math.h> #include <iomanip.h> void main() { double eps=1e-3; double x,x1,x2,y,y1,y2,fx,delx,delt,pita; int n; cout << " Masukkan titik awal (xo,yo) : "; //masukkan nilai xo <spasi> yo cin >>x1>>y1; cout << " Masukkan titik akhir (x) : "; cin >>x2; cout <<endl<<endl; n=0; delt=100; while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps { n+=1; pita=pow(2,n); //2^n delx=(x2-x1)/pita; x=x1; y=y1; while (x<x2) { //************************* //fx=y; fx=4*x+5; //************************* y=y+fx*delx; //iterasi Euler orde-1 x=x+delx; } if (n==1) { cout.width(15); cout<<pita; cout.width(15); cout<<y; } else { delt=y-y2; cout.width(15); cout<<pita; cout.width(15); cout<<y; cout.width(15); cout<<delt; } cout<<endl; y2=y; } cout<<"Nilai Fungsi di "<<x2<<" adalah : "<<y; cout<<endl; }

Coba jalankan program tersebut dan berikan masukan syarat awal (x0,y0) = (1 1), serta

berikan masukan untuk nilai x = 2. Jika programnya berjalan dengan benar maka anda

akan mendapatkan output berupa nilai fungsi di x = 2 adalah 11.999.

4.2.3 Metode Euler orde 2

Page 46: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 46

Fisika Komputasi

Dari uraian deret Taylor untuk f(x+h), jika kita menyertakan suku-suku dengan h

pangkat 2 maka akan didapatkan persamaan :

)3.4.(..................................................)(''2

1)(')()( 2hxfhxfxfhxf

dimana

),()(' yxfxf

),(),(),(),(')('' yxfyxfyxfyxfxf yx

persamaan (4.3) dapat dinyatakan dalam bentuk iterasi :

)4.4.......(............................................................),('2

1),( 2

1 hyxfhyxfyy ii

Persamaan ini disebut sebagai iterasi Euler orde 2.

4.2.4 Program komputer Metode Euler orde 2

Program komputer untuk mencari solusi persamaan diferensial biasa dengan

iterasi Euler orde-2, dimana bentuk persamaan diferensial yang dicari solusinya adalah :

f ’(x) = 4x+5

Adapun implementasi program komputernya adalah seperti berikut ini :

//*************************************************************************** //Menghitung Persamaan Difrensial dengan metode Euler orde dua //compiler : Visual C++ //*************************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-3; double x,x1,x2,y,y1,y2,fx,dx,delx,delt,pita; int n; cout << " Masukkan titik awal (xo,yo) : "; //masukkan nilai xo <spasi> yo cin >>x1>>y1; cout << " Masukkan titik akhir (x) : "; cin >>x2; cout <<endl<<endl; n=0; delt=100; while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps { n+=1; pita=pow(2,n); //2^n delx=(x2-x1)/pita; x=x1; y=y1; while (x<x2) { //************************ //fx=y; //bentuk fungsi //dx=y; //turunan fx=4*x+5;

Page 47: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 47

Fisika Komputasi

dx=4; //************************* y=y+fx*delx+dx*pow(delx,2)/2; //iterasi Euler orde 2 x=x+delx; } if (n==1) { cout.width(15); cout<<pita; cout.width(15); cout<<y; } else { delt=y-y2; cout.width(15); cout<<pita; cout.width(15); cout<<y; cout.width(15); cout<<delt; } cout<<endl; y2=y; } cout<<"Nilai Fungsi di x= "<<x2<<" adalah : "<<y; cout<<endl; }

Coba jalankan program tersebut dan berikan masukan syarat awal (x0,y0) = (1 1), serta

berikan masukan untuk nilai x = 2. Jika programnya berjalan dengan benar maka anda

akan mendapatkan output berupa nilai fungsi di x = 2 adalah 11.9993.

4.3 Metode Runge-Kutta

Persamaan umum iterasi Runge-Kutta adalah :

)5.4........(......................................................................).........,,(1 hyxfyy nnnn

dimana

mmnn kakakahyxf ...),,( 2211

nn xxh 1

dengan

),(1 nn yxhfk

11112 ,( kqyhpxhfk nn

),( 22212123 kqkqyhpxhfk nn

.........

11,122,111,11 ...,( mmmmmnmnm kqkqkqyhpxhfk

4.3.1 Runge-Kutta orde 1

Page 48: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 48

Fisika Komputasi

Jika diambil m = 1 maka akan menghasilkan iterasi Runge-Kutta orde 1 yaitu :

)6.4........(..........................................................................................111 kayy nn

)7.4.....(......................................................................).........,(11 nnnn yxhfayy

karena 11),,( kahyxf nn dan ),(1 nn yxhfk . Dengan mengambil 11 a maka persamaan

(4.7) sama dengan persamaan iterasi Euler orde-1 yaitu :

),(1 nnnn yxhfyy

4.3.2 Runge-Kutta orde 2

Jika diambil m = 2 maka akan menghasilkan iterasi Runge-Kutta orde 2 yaitu :

)8.4.......(................................................................................22111 kakayy nn

dimana

),(1 nn yxhfk

),( 11112 kqyhpxhfk nn

jadi dalam hal ini kita perlu menentukan nilai-nilai dari 11121 dan,,, qpaa . Untuk

mendapatkan nilai dari konstanta-konstanta tersebut maka pertama-tama kita lihat uraian

deret Taylor sampai orde 2 yaitu :

)8.4.(..................................................),(''2

1)(')()( 2hyxfhxfxfhxf

dimana

),()(' yxfxf

),(),(),(),(')('' yxfyxfyxfyxfxf yx

sehingga persamaan (4.7) menjadi :

)9.4(....................),(),(),(2

1),()()( 2hyxfyxfyxfhyxfxfhxf yx

Jika dinyatakan dengan rumus iterasi maka persamaan (4.8) menjadi :

)10.4..(....................),(),(),(2

1),( 2

1 hyxfyxfyxfhyxfyy nnnnynnxnnnn

untuk k2 jika diuraikan dalam deret Taylor akan menjadi :

hkqyxfhpyxfyxfk nnynnxnn 11112 ),(),(),(

sehingga rumus iterasi (persamaan (4.10)) menjadi :

2

12211 ),(),(),( hpayxfhayxfhayxfyy nnxnnnnnn

2

112),(),( hqayxfyxf nnnny

),(),(),(),(),( 1221 nnnnynnxnnnnn yxfyxfpayxfhayxfayxfy

)11.4.......(..........................................................................................2

112 hqa

Page 49: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 49

Fisika Komputasi

dari persamaan (4.10) dan (4.11) didapatkan :

)12.4....(....................................................................................................121 aa

)13.4......(....................................................................................................21

12 pa

)14.4.....(....................................................................................................21

112 qa

a) Metode Heun

Dalam metode ini diambil nilai dari konstanta :

21

21 aa

1111 qp

Sehingga persamaan iterasi Runge-Kutta orde 2 menjadi :

)15.4.....(................................................................................221

121

1 kkyy nn

dimana

),(1 nn yxhfk

),( 12 kyhxhfk nn

b) Metode Raltson

Dalam metode ini diambil nilai dari konstanta :

31

1 a 32

2 a

43

111 qp

Sehingga persamaan iterasi Runge-Kutta orde 2 menjadi :

)16.4.....(......................................................................).........2( 2131

1 kkyy nn

dimana

),(1 nn yxhfk

),( 143

43

2 kyhxhfk nn

c) Metode Poligon

Dalam metode ini diambil nilai dari konstanta :

01 a 12 a

21

111 qp

Sehingga persamaan iterasi Runge-Kutta orde 2 menjadi :

)17.4.........(..........................................................................................21 kyy nn

dimana

),(1 nn yxhfk

),( 121

21

2 kyhxhfk nn

Contoh :

Page 50: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 50

Fisika Komputasi

Hitunglah solusi persamaan difrensial berikut pada x = 2 dengan metode Heun:

54 xdx

dy

dimana syarat awal (x0,y0) = (1,1)

Jawab :

Jika kita membagi antara x=1 dan x=2 menjadi 10 pita maka lebar masing-masing

pita (h) adalah :

1.010

1212

pita

xxh

221

121

1 kkyy nn

dimana

),(1 nn yxhfk

),( 12 kyhxhfk nn

sehingga :

221

121

01 kkyy

9.0)51.4(1.0)5.4.(1.0 01 xk

94.0)4.9(1.0)5)1.01.(4(1.0)5).(4.(1.0 02 hxk

jadi

)94.0()9.0(121

21

221

121

01 kkyy

92.147.045.011 y

hasil selengkapnya dapat dilihat dalam tabel berikut ini.

i xi yi k1 k2 yi+1

0 1 1 0.9 0.94 1.92

1 1.1 1.92 0.94 0.98 2.88

2 1.2 2.88 0.98 1.02 3.88

3 1.3 3.88 1.02 1.06 4.92

4 1.4 4.92 1.06 1.10 6.00

5 1.5 6.00 1.10 1.14 7.12

6 1.6 7.12 1.14 1.18 8.28

7 1.7 8.28 1.18 1.22 9.48

8 1.8 9.48 1.22 1.26 10.72

9 1.9 10.72 1.26 1.30 12.00

Page 51: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 51

Fisika Komputasi

Jadi solusi persamaan difrensial pada x = 2 adalah 12.00

4.3.3 Program komputer Metode Runge Kutta orde 2 - Heun

1) Membuat program komputer untuk mencari solusi persamaan diferensial biasa dengan

iterasi Runge-Kutta orde 2 berdasarkan metode Heun. Dimana bentuk persamaan

diferensial yang dicari solusinya adalah :

f ’(x) = 4x+5

Adapun implementasi program komputernya adalah seperti berikut ini :

//******************************************************************************************** //Menghitung Persamaan Diferensial dengan metode Runge-kutta orde dua-Heun //compiler : Visual C++ //******************************************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-3; double k[4]; double xx,x,x1,x2,yy,y,y1,y2,fx,delx,delt,pita; int i,n; cout << " Masukkan titik awal (xo,yo) : "; //masukkan nilai xo <spasi> yo cin >>x1>>y1; cout << " Masukkan titik akhir (x) : "; cin >>x2; cout <<endl<<endl; n=0; delt=100; while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps { n+=1; pita=pow(2,n); //2^n delx=(x2-x1)/pita; xx=x1; yy=y1; while (xx<x2) { x=xx; y=yy; for (i=1;i<=2;i++) { //************************ //fx=y; //bentuk fungsi fx=4*x+5; //fx=1-exp(-12.5*x/68.1); //fx=fx*9.8*68.1/12.5; //************************* k[i]=delx*fx; if (i==1) { x=xx+delx; y=yy+k[i]; }

Page 52: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 52

Fisika Komputasi

} //for xx=xx+delx; yy=yy+(k[1]+k[2])/2; } //while if (n==1) { cout.width(15); cout<<pita; cout.width(15); cout<<yy; } else { delt=yy-y2; cout.width(15); cout<<pita; cout.width(15); cout<<yy; cout.width(15); cout<<delt; } cout<<endl; y2=yy; } //while cout<<"Nilai Fungsi di x= "<<x2<<" adalah : "<<yy; cout <<endl; cout<<"Banyaknya iterasi = "<<n; cout<<endl; }

Coba jalankan program tersebut dan berikan masukan syarat awal (x0,y0) = (1 1), serta

berikan masukan untuk nilai x = 2. Jika programnya berjalan dengan benar maka anda

akan mendapatkan output berupa nilai fungsi di x = 2 adalah 12.

2) Membuat program komputer untuk mencari solusi persamaan diferensial biasa dengan

iterasi Runge-Kutta orde 2 berdasarkan metode Raltson. Dimana bentuk persamaan

diferensial yang dicari solusinya adalah :

f ’(x) = 4x+5

Adapun implementasi program komputernya adalah seperti berikut ini :

//********************************************************************************************** //Menghitung Persamaan Diferensial dengan metode Runge-kutta orde dua-Raltson //compiler : Visual C++ //********************************************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-3; double k[4]; double xx,x,x1,x2,yy,y,y1,y2,fx,delx,delt,pita; int i,n; cout << " Masukkan titik awal (xo,yo) : "; //masukkan nilai xo <spasi> yo cin >>x1>>y1;

Page 53: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 53

Fisika Komputasi

cout << " Masukkan titik akhir (x) : "; cin >>x2; cout <<endl<<endl; n=0; delt=100; while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps { n+=1; pita=pow(2,n); //2^n delx=(x2-x1)/pita; xx=x1; yy=y1; while (xx<x2) { x=xx; y=yy; for (i=1;i<=2;i++) { //************************ //fx=y; //bentuk fungsi fx=4*x+5; //fx=1-exp(-12.5*x/68.1); //bentuk fungsi //fx=fx*9.8*68.1/12.5; //************************* k[i]=delx*fx; if (i==1) { x=xx+3*delx/4; y=yy+3*k[i]/4; } } //for xx=xx+delx; yy=yy+(k[1]+2*k[2])/3; //iterasi runge-kutta orde 2 - Raltson } //while if (n==1) { cout.width(15); cout<<pita; cout.width(15); cout<<yy; } else { delt=yy-y2; cout.width(15); cout<<pita; cout.width(15); cout<<yy; cout.width(15); cout<<delt; } cout<<endl; y2=yy; } //while cout<<"Nilai Fungsi di x= "<<x2<<" adalah : "<<yy; cout <<endl; cout<<"Banyaknya iterasi = "<<n; cout<<endl; }

Page 54: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 54

Fisika Komputasi

Coba jalankan program tersebut dan berikan masukan syarat awal (x0,y0) = (1 1), serta

berikan masukan untuk nilai x = 2. Jika programnya berjalan dengan benar maka anda

akan mendapatkan output berupa nilai fungsi di x = 2 adalah 12.

3) Membuat program komputer untuk mencari solusi persamaan diferensial biasa dengan

iterasi Runge-Kutta orde 2 berdasarkan metode Poligon. Dimana bentuk persamaan

diferensial yang dicari solusinya adalah :

f ’(x) = 4x+5

Adapun implementasi program komputernya adalah seperti berikut ini :

//****************************************************************** //Menghitung Persamaan Diferensial dengan metode Runge-kutta orde dua-Poligon //compiler : Visual C++ //****************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-3; double k[4]; double xx,x,x1,x2,yy,y,y1,y2,fx,delx,delt,pita; int i,n; cout << " Masukkan titik awal (xo,yo) : "; //masukkan nilai xo <spasi> yo cin >>x1>>y1; cout << " Masukkan titik akhir (x) : "; cin >>x2; cout <<endl<<endl; n=0; delt=100; while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps { n+=1; pita=pow(2,n); //2^n delx=(x2-x1)/pita; xx=x1; yy=y1; while (xx<x2) { x=xx; y=yy; for (i=1;i<=2;i++) { //************************ //fx=y; //bentuk fungsi fx=4*x+5; //fx=1-exp(-12.5*x/68.1); //bentuk fungsi //fx=fx*9.8*68.1/12.5; //************************* k[i]=delx*fx; if (i==1)

Page 55: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 55

Fisika Komputasi

{ x=xx+delx/2; y=yy+k[i]/2; } } //for xx=xx+delx; yy=yy+k[2]; //iterasi runge-kutta orde 2 - Poligon } //while if (n==1) { cout.width(15); cout<<pita; cout.width(15); cout<<yy; } else { delt=yy-y2; cout.width(15); cout<<pita; cout.width(15); cout<<yy; cout.width(15); cout<<delt; } cout<<endl; y2=yy; } //while cout<<"Nilai Fungsi di x= "<<x2<<" adalah : "<<yy; cout <<endl; cout<<"Banyaknya iterasi = "<<n; cout<<endl; }

Coba jalankan program tersebut dan berikan masukan syarat awal (x0,y0) = (1 1), serta

berikan masukan untuk nilai x = 2. Jika programnya berjalan dengan benar maka anda

akan mendapatkan output berupa nilai fungsi di x = 2 adalah 12.

4.3.4 Runge-Kutta orde 3

Rumus iterasi dari metode ini didapatkan dengan menyertakan suku-suku orde-3

dalam uraian deret Taylor. Jika diambil m=3 dalam persamaan (4.1) maka didapat rumus

iterasi Runge-Kutta orde 3 adalah :

)18.4.......(............................................................).........4( 32161

1 kkkyy nn

dengan

),(1 nn yxhfk

),( 121

21

2 kyhxhfk nn

)2,( 213 kkyhxhfk nn

4.3.5 Program Komputer Runge-Kutta orde 3

Page 56: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 56

Fisika Komputasi

1) Membuat program komputer untuk mencari solusi persamaan diferensial biasa dengan

iterasi Runge-Kutta orde 3. Dimana bentuk persamaan diferensial yang dicari solusinya

adalah :

f ’(x) = 4x+5

Adapun implementasi program komputernya adalah seperti berikut ini :

//************************************************************************************** //Menghitung Persamaan Diferensial dengan metode Runge-Kutta orde Tiga //compiler : Visual C++ //************************************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-3; double k[4]; double xx,x,x1,x2,yy,y,y1,y2,fx,delx,delt,pita; int i,n; cout << " Masukkan titik awal (xo,yo) : "; //masukkan nilai xo <spasi> yo cin >>x1>>y1; cout << " Masukkan titik akhir (x) : "; cin >>x2; cout <<endl<<endl; n=0; delt=100; while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps { n+=1; pita=pow(2,n); //2^n delx=(x2-x1)/pita; xx=x1; yy=y1; while (xx<x2) { x=xx; y=yy; for (i=1;i<=3;i++) { //************************ //fx=y; //bentuk fungsi fx=4*x+5; //fx=1-exp(-12.5*x/68.1); //bentuk fungsi f//x=fx*9.8*68.1/12.5; //************************* k[i]=delx*fx; switch(i) { case (1): { x=xx+delx/2; y=yy+k[i]/2; break; } case(2):

Page 57: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 57

Fisika Komputasi

{ x=xx+delx/2; y=yy-k[1]+2*k[2]; break; } } } //for xx=xx+delx; yy=yy+(k[1]+4*k[2]+k[3])/6; //iterasi Runge-Kutta orde 3 } //while if (n==1) { cout.width(15); cout<<pita; cout.width(15); cout<<yy; } else { delt=yy-y2; cout.width(15); cout<<pita; cout.width(15); cout<<yy; cout.width(15); cout<<delt; } cout<<endl; y2=yy; } //while cout<<"Nilai Fungsi di x= "<<x2<<" adalah : "<<yy; cout <<endl; cout<<"Banyaknya iterasi = "<<n; cout<<endl; }

Coba jalankan program tersebut dan berikan masukan syarat awal (x0,y0) = (1 1), serta

berikan masukan untuk nilai x = 2. Jika programnya berjalan dengan benar maka anda

akan mendapatkan output berupa nilai fungsi di x = 2 adalah 11.993.

4.3.6 Runge-Kutta orde 4

Metode ini dinyatakan dengan menyertakan suku-suku orde-4 dalam uraian deret

Taylor. Adapun rumus iterasi Runge-Kutta orde 4 adalah :

)19.4.......(..................................................).........22( 432161

1 kkkkyy nn

dengan

),(1 nn yxhfk

),( 121

21

2 kyhxhfk nn

),( 221

21

3 kyhxhfk nn

),( 34 kyhxhfk nn

Page 58: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 58

Fisika Komputasi

4.3.7 Program Komputer Runge-Kutta orde 4

1) Membuat program komputer untuk mencari solusi persamaan diferensial biasa dengan

iterasi Runge-Kutta orde 4. Dimana bentuk persamaan diferensial yang dicari solusinya

adalah :

f ’(x) = 4x+5

Adapun implementasi program komputernya adalah seperti berikut ini :

//****************************************************************** //Menghitung Persamaan Diferensial dengan metode Runge-Kutta orde Empat //compiler : Visual C++ //****************************************************************** #include <iostream.h> #include <math.h> #include <iomanip.h> void main() { double eps=1e-3; double k[4]; double xx,x,x1,x2,yy,y,y1,y2,fx,delx,delt,pita; int i,n; cout << " Masukkan titik awal (xo,yo) : "; //masukkan nilai xo <spasi> yo cin >>x1>>y1; cout << " Masukkan titik akhir (x) : "; cin >>x2; cout <<endl<<endl; n=0; delt=100; while (fabs(delt)>eps) //iterasi selama delt lebih besar dari eps { n+=1; //cacah iterasi pita=pow(2,n); //2^n delx=(x2-x1)/pita; xx=x1; yy=y1; while (xx<x2) { x=xx; y=yy; for (i=1;i<=4;i++) { //************************ //fx=y; //bentuk fungsi fx=4*x+5; //fx=1-exp(-12.5*x/68.1); //bentuk fungsi //fx=fx*9.8*68.1/12.5; //************************* k[i]=delx*fx; if(i==1||i==2) { x=xx+delx/2; y=yy+k[i]/2; } else if (i==3)

Page 59: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 59

Fisika Komputasi

{ x=xx+delx; y=yy+k[3]; } } //for xx=xx+delx; yy=yy+(k[1]+2*(k[2]+k[3])+k[4])/6; //iterasi Runge-Kutta orde 4 } //while if (n==1) { cout.width(15); cout<<pita; cout.width(15); cout<<yy; } else { delt=yy-y2; cout.width(15); cout<<pita; cout.width(15); cout<<yy; cout.width(15); cout<<delt; } cout<<endl; y2=yy; } //while cout<<"Nilai Fungsi di x= "<<x2<<" adalah : "<<yy; cout <<endl; cout<<"Banyaknya iterasi = "<<n; cout<<endl; }

Coba jalankan program tersebut dan berikan masukan syarat awal (x0,y0) = (1 1), serta

berikan masukan untuk nilai x = 2. Jika programnya berjalan dengan benar maka anda

akan mendapatkan output berupa nilai fungsi di x = 2 adalah 12.

Page 60: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 60

Fisika Komputasi

MEENNYYEELLEESSAAIIKKAANN SSIISSTTEEMM PPEERRSSAAMMAAAANN LLIINNEEAARR

5.1 Sistem Persamaan Linear

Persamaan Linear adalah suatu fungsi atau persamaan dimana pangkat tertinggi

dari variabel-variabelnya adalah 1, misalnya :

kczbyax

Dimana

x,y,z = variabel

a,b,c = koefisien

k = konstanta

Sedangkan yang dimaksud dengan Sistem persamaan Linear adalah beberapa persamaan

linear yang saling berhubungan dimana banyaknya koefisien, variabel, dan konstanta

adalah sama. Agar sistem persamaan linear tersebut dapat dicari solusinya (dapat dihitung

nilai variabelnya) maka banyaknya persamaan dalam sistem persamaan linear harus sama

dengan banyaknya variabel. Contoh sistem persamaan linear :

73 zyx

15344 zyx

25285 zyx

Atau persamaan diatas bisa ditulis :

73 321 xxx

15344 321 xxx

25285 321 xxx

Tampak dalam sistem persamaan linear diatas banyaknya persamaan dan variabel adalah

sama yaitu 3.

Secara umum sistem persamaan linear dinyatakan dengan :

11313212111 ... bxaxaxaxa nn

22323222121 ... bxaxaxaxa nn

33333232131 ... bxaxaxaxa nn .................................................................(5.1)

..........................................................

mnmnmmm bxaxaxaxa ...332211

Sistem persamaan linear tersebut terdiri dari m persamaan dan n variabel. Persamaan

linear tersebut akan dapat diselesaikan jika jumlah m = n. Penyelesaian persaman linear

V

Page 61: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 61

Fisika Komputasi

adalah mencari nilai xi (i = 1,2,...,n). Sistem persamaan linear (5.1) dapat dinyatakan

dalam bentuk matrik yaitu :

mnmnmm

n

n

b

b

b

x

x

x

aaa

aaa

aaa

......

...

............

...

...

2

1

2

1

21

22221

11211

..........................................................(5.2)

Atau bisa dinyatakan dengan :

Ax = B

Dimana :

A =

mnmm

n

n

aaa

aaa

aaa

...

............

...

...

21

22221

11211

, x =

nx

x

x

...

2

1

, dan B =

mb

b

b

...

2

1

Matrik A disebut matrik koefisien atau matrik Jacobian. Vektor x disebut sebagai

vektor variabel dan vektor B disebut sebagai vektor Konstanta.

Augmented Matrix (matrik perluasan) adalah perluasan dari matrik koefisien A dengan

menambahkan vektor B pada kolom terakhir dari matrik A.

Augmented (A) = [A B]

Sehingga Augmented Matrik dari persamaan linear simultan (5.2) dapat dituliskan :

mmnmm

n

n

b

b

b

aaa

aaa

aaa

...

...

............

...

...

2

1

21

22221

11211

.........................................................................(5.3)

Contoh permasalahan yang dapat dinyatakan dalam bentuk sistem persamaan linear

misalnya :

Contoh 1 :

Seorang pembuat boneka ingin membuat 2 macam boneka yaitu boneka A dan

boneka B. Kedua boneka tersebut dibuat dengan menggunakan 2 macam bahan yaitu kain

dan kancing. Andaikan boneka A memerlukan 10 meter kain dan 6 kancing sedangkan

boneka B memerlukan 8 meter kain dan 8 kancing maka hitunglah berapa buah boneka A

dan boneka B yang dapat dihasilkan jika kita memiliki 82 meter kain dan 62 kancing.

Masalah ini dapat dimodelkan dengan menyatakan :

x1 = jumlah boneka A

Page 62: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 62

Fisika Komputasi

x2 = jumlah boneka B

Sehingga untuk setiap bahan (kain dan kancing) dapat dinyatakan persamaan :

10 untuk boneka A + 8 untuk boneka B = 82 --- > kain

6 untuk boneka A + 8 untuk boneka B = 62 --- > kancing

Persamaan diatas dapat dinyatakan dengan :

10 x1 + 8 x2 = 82

6 x1 + 8 x2 = 62

Penyelesaian dari persamaan tersebut adalah nilai x1 dan x2 yang memenuhi kedua

persamaan diatas. Ada beberapa metode yang dapat dipakai untuk mencari solusi dari

sistem persamaan linear. Metode – metode ini akan dijelaskan pada sub bab berikutnya.

Teorema 5.1

Suatu sistem persamaan linear mempunyai penyelesaian tunggal bila memenuhi

syarat-syarat sebagai berikut :

- bentuk sistem persamaan linear bujursangkar, dimana jumlah persamaan linear sama

dengan jumlah variabel bebas

- sistem persamaan linear bersifat non-homogen, yaitu minimal ada satu nilai vektor

konstanta B tidak nol atau ada bn ≠ 0

- determinan dari matrik koefisien A tidak sama dengan nol

Untuk menyelesaikan permasalahan-permasalahan sistem persamaan linear dapat

dilakukan dengan menggunakan metode-metode analitik seperti pemakaian metode grafis,

aturan Crammer, atau invers matrik. Metode-metode tersebut dapat dilakukan dengan

mudah apabila jumlah variabel dan jumlah persamaannya di bawah 4, tetapi bila

ukurannya besar maka metode-metode diatas menjadi sulit dilakukan, sehingga

pemakaian metode numerik menjadi suatu alternatif yang banyak digunakan. Metode

numerik yang dapat digunakan untuk menyelesaikan permasalahan sistem persamaan

linear antara lain :

- metode Eliminasi Gauss

- metode Eliminasi Gauss-Jordan

- Metode Iterasi Gauss-Seidal

5.2 Metode Eliminasi Gauss

Metode Eliminasi Gauss merupakan metode yang dikembangkan dari metode

eliminasi, yaitu menghilangkan atau mengurangi jumlah variabel sehingga dapat

diperoleh nilai dari suatu variabel. Untuk menggunakan metode Eliminasi Gauss ini,

terlebih dahulu bentuk matrik diubah menjadi Augmented Matrik sebagai berikut :

Page 63: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 63

Fisika Komputasi

mmnmm

n

n

b

b

b

aaa

aaa

aaa

...

...

............

...

...

2

1

21

22221

11211

.........................................................................(5.4)

Metode Eliminasi Gauss adalah suatu metode dimana Augmented matrik (5.4) pada

bagian kiri diubah menjadi matrik segitiga atas atau segitiga bawah dengan menerapkan

Operasi Baris Elementer (OBE).

nnnnnn

n

n

n

baaaa

baaaa

baaaa

baaaa

...

..................

...

...

...

321

33333231

22232221

11131211

nnn

n

n

n

da

dcc

dccc

dcccc

...000

..................

...00

...0

...

3333

222322

11131211

Sehingga penyelesaiannya adalah :

nn

nn

c

dx

)(1

,11

1,1

1 nnnn

nn

n xcdc

x

.................................

)...(1

24243232

22

2 nn xcxcxcdc

x

)...(1

13132121

11

1 nn xcxcxcdc

x

Operasi Baris Elementer adalah (OBE) adalah suatu operasi perubahan nilai elemen

matrik berdasarkan barisnya, tanpa mengubah matriknya. OBE pada baris ke i+k dengan

dasar baris ke – i dapat ditulis :

ji,jk,ijk,i c.aaa

Dimana c adalah konstanta pengali yang diambil dari perbandingan antara nilai ik,ia dan

ii,a

Contoh :

Selesaikan sistem persamaan linear berikut ini :

6321 xxx

22 321 xxx

Page 64: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 64

Fisika Komputasi

1022 321 xxx

Jawab :

Augmented matrik dari sistem persamaan linear tersebut adalah :

10212

2121

6111

Lakukan OBE sebagai berikut :

2010

4210

6111

2 133

122

BBB

BBB

6200

4210

6111

233 BBB

Sehingga didapat penyelesaian yaitu :

32

63

x

2))3)(2(4(1

12 x

1)326(1

11 x

5.2.1 Algoritma Metode Eliminasi Gauss

Adapun algoritma dari metode Eliminasi Gauss adalah :

1.Masukkan matrik A dan vektor B beserta ukurannya

2.Buat Augmented Matrik [A|B], namakan dengan A

3.Untuk baris ke-i dimana i=1 sampai n, perhatikan apakah nilai ai,i sama dengan nol.

Jika Ya :

Tukarkan baris ke-i dengan baris i+k ≤n, dimana ai+k,i tidak sama dengan nol, bila tidak

ada berarti perhitungan tidak bisa dilanjutkan dan proses dihentikan tanpa penyelesaian

Jika tidak : lanjutkan

4.Untuk baris ke-j, dimana j = i+1 sampai n, Lakukan Operasi Baris Elementer OBE :

- hitung ii,

ij,

a

ac

-untuk kolom k dimana k = 1 sampai n+1 hitung

ki,kj,kj, a.caa

Page 65: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 65

Fisika Komputasi

5.Hitung nilai xi, untuk i = n sampai 1 (bergerak dari baris ke-n sampai baris ke-1)

)xa...xaxa(ba

1x nni,2i2ji,1i1ji,i

ii,

i

dimana nilai i+k ≤ n

5.2.2 Program komputer Metode Eliminasi Gauss

Berdasarkan algoritma yang dinyatakan dalam sub bab sebelumnya maka kita

dapat menuliskan atau mengimplementasikan algoritma tersebut menjadi kode program

(source code) dengan bahasa Visual C++ seperti berikut ini :

//*****Metode Eliminasi Gauss - solusi sistem pers. Linear**** #include <iostream.h> void main() { double A[10][10]; double B[10],X[10]; double c; int n,i,j,k; cout << " Ukuran Matrik : "; cin >>n; cout<<"Matrik A : "<<endl; for (i=1;i<=n;i++) { for (j=1;j<=n;j++) { cout<<"A["<<i<<j<<"] = "; cin>>A[i][j]; } } cout<<endl; cout<<" Vektor B : "<<endl; for (i=1;i<=n;i++) { cout<<"B["<<i<<"] = "; cin>>B[i]; } cout <<endl; //Augmented Matrik for (i=1;i<=n;i++) { A[i][n+1]=B[i]; } for (i=1;i<=n;i++) { if (A[i][i]==0) { //tukar baris for (k=i+1;k<=n;k++) { } } else {

Page 66: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 66

Fisika Komputasi

for (j=i+1;j<=n;j++) { //operasi baris elementer c= A[j][i]/A[i][i]; for (k=1;k<=n+1;k++) { A[j][k]=A[j][k]-c*A[i][k]; } } } } //tampilkan matrik hasil operasi baris elementer for (i=1;i<=n;i++) { for (j=1;j<=n+1;j++) { cout<<"A["<<i<<j<<"] = "<<A[i][j]; cout <<endl; } cout<<endl; } //hitung variabel X for (i=n;i>=1;i--) { if (i==n) { X[i]=A[i][n+1]/A[i][i]; } else { X[i]=A[i][n+1]; for (j=i+1;j<=n;j++) { X[i]=X[i]-A[i][j]*X[j]; } X[i]=X[i]/A[i][i]; } } //tampilkan X for (i=1;i<=n;i++) { cout<<"X["<<i<<"] = "<<X[i]<<endl; } }

Cobalah jalankan program tersebut dan kemudian cobalah untuk menyelesaikan masalah

sistem persamaan linear berikut ini :

6321 xxx

22 321 xxx

1022 321 xxx

Berikut ini adalah hasil eksekusi program untuk masalah tersebut diatas :

Ukuran Matrik : 3

Page 67: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 67

Fisika Komputasi

Matrik A : A[11] = 1 A[12] = 1 A[13] = 1 A[21] = 1 A[22] = 2 A[23] = -1 A[31] = 2 A[32] = 1 A[33] = 2 Vektor B : B[1] = 6 B[2] = 2 B[3] = 10 A[11] = 1 A[12] = 1 A[13] = 1 A[14] = 6 A[21] = 0 A[22] = 1 A[23] = -2 A[24] = -4 A[31] = 0 A[32] = 0 A[33] = -2 A[34] = -6 X[1] = 1 X[2] = 2 X[3] = 3

5.3 Metode Eliminasi Gauss-Jordan

Metode Eliminasi Gauss – Jordan hampir mirip dengan metode Gauss, hanya saja

pada metode ini, di bagian sebelah kiri dari Augmented matrik diubah menjadi matrik

diagonal seperti diperlihatkan berikut ini :

nnnnnn

n

n

n

baaaa

baaaa

baaaa

baaaa

...

..................

...

...

...

321

33333231

22232221

11131211

nd

d

d

d

1...000

..................

0...100

0...010

0...001

3

2

1

Penyelesaian dari sistem persamaan linear ini adalah nilai d1,d2,d3,...,dn dan atau :

x1 = d1 , x2 = d2 , x3 = d3 , ..., xn = dn

Cara yang digunakan untuk mendapatkan matrik diagonal dalam metode Gauss – Jordan

adalah sama seperti metode Gauss yaitu dengan menerapkan Operasi Baris Elementer

(OBE).

Contoh :

Selesaikan sistem persamaan linear berikut ini :

Page 68: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 68

Fisika Komputasi

321 xx

842 21 xx

Jawab :

Augmented matrik dari sistem persamaan linear tersebut adalah :

842

311

Lakukan OBE sebagai berikut :

122 2BBB

220

311

222 BB

110

311

211 BBB

110

201

Sehingga didapat penyelesaian yaitu :

21 x

12 x

5.3.1 Algoritma Metode Eliminasi Gauss – Jordan

Dari uraian diatas maka dapat dibuat algoritma dari metode Gauss – Jordan seperti

berikut ini :

1.Masukkan matrik A dan vektor B beserta ukurannya

2.Buat Augmented Matrik [A|B], namakan dengan A

3.Untuk baris ke-i dimana i=1 sampai n, perhatikan apakah nilai ai,i sama dengan nol.

Jika Ya :

Tukarkan baris ke-i dengan baris i+k ≤n, dimana ai+k,i tidak sama dengan nol, bila tidak

ada berarti perhitungan tidak bisa dilanjutkan dan proses dihentikan tanpa penyelesaian

Jika tidak : lanjutkan

Jadikan nilai diagonalnya menjadi satu, dengan cara untuk setiap kolom k dimana k = 1

sampai n+1, hitung ii

ki

kia

aa

,

,

,

4.Untuk baris ke-j, dimana j = i+1 sampai n, Lakukan Operasi Baris Elementer OBE :

- hitung ijac ,

-untuk kolom k dimana k = 1 sampai n+1 hitung

kikjkj acaa ,,, .

Page 69: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 69

Fisika Komputasi

5.Hitung nilai xi, untuk i = 1 sampai n

1, nii ax

5.3.2 Program komputer Metode Eliminasi Gauss – Jordan

Dari algoritma Metode Gauss – Jordan yang sudah dijabarkan dalam sub bab

sebelumnya maka selanjutnya kita dapat mengimplementasikan dalam bentuk program

komputer ( Compiler Visual C++) :

//Metode Gauss - Jordan : solusi sistem pers. linear #include <iostream.h> void main() { double A[10][10]; double B[10],X[10]; double c; int n,i,j,k,brs,kol; cout << " Ukuran Matrik : "; cin >>n; cout<<"Matrik A : "<<endl; for (i=1;i<=n;i++) { for (j=1;j<=n;j++) { cout<<"A["<<i<<j<<"] = "; cin>>A[i][j]; } } cout<<endl; cout<<" Vektor B : "<<endl; for (i=1;i<=n;i++) { cout<<"B["<<i<<"] = "; cin>>B[i]; } cout <<endl; //Augmented Matrik for (i=1;i<=n;i++) { A[i][n+1]=B[i]; } cout<<"Augmented Matrik"<<endl; for (i=1;i<=n;i++) { for (j=1;j<=n+1;j++) { cout<<"A["<<i<<j<<"] = "<<A[i][j]; cout<<endl; } } cout<<endl; for (i=1;i<=n;i++) { if (A[i][i]==0) { //tukar baris for (k=i+1;k<=n;k++) {

Page 70: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 70

Fisika Komputasi

} } else { c=A[i][i]; for (kol=1;kol<=n+1;kol++) //elemen diagonal dibuat 1 { A[i][kol]=A[i][kol]/c; } for (brs=1;brs<=n;brs++) { //operasi baris elementer if (brs!=i) { c=A[brs][i]; for (kol=1;kol<=n+1;kol++) { A[brs][kol]=A[brs][kol]-c*A[i][kol]; } } } } } //tampilkan matrik hasil operasi baris elementer for (i=1;i<=n;i++) { for (j=1;j<=n+1;j++) { cout<<"A["<<i<<j<<"] = "<<A[i][j]; cout <<endl; } cout<<endl; } //hitung variabel X for (i=1;i<=n;i++) { X[i]=A[i][n+1]; } //tampilkan X for (i=1;i<=n;i++) { cout<<"X["<<i<<"] = "<<X[i]<<endl; } }

Eksekusilah program tersebut dan kemudian cobalah untuk menyelesaikan masalah sistem

persamaan linear berikut ini :

321 xx

842 1 xx

Berikut ini adalah hasil eksekusi program untuk masalah tersebut diatas :

Ukuran Matrik : 2 Matrik A : A[11] = 1 A[12] = 1 A[21] = 2

Page 71: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 71

Fisika Komputasi

A[22] = 4 Vektor B : B[1] = 3 B[2] = 8 Augmented Matrik A[11] = 1 A[12] = 1 A[13] = 3 A[21] = 2 A[22] = 4 A[23] = 8 A[11] = 1 A[12] = 0 A[13] = 2 A[21] = 0 A[22] = 1 A[23] = 1 X[1] = 2 X[2] = 1

5.4 Metode Iterasi Gauss – Seidal

Berbeda dengan 2 metode sebelumnya yang menggunakan Operasi Baris

Elementer (OBE) maka dalam Metode Gauss – Seidal kita menggunakan proses iterasi

hingga diperoleh nilai yang konvergen (bertambah kecil sampai lebih kecil dari suatu

konstanta ). Bila diberikan sistem persamaan linear :

11313212111 ... bxaxaxaxa nn

22323222121 ... bxaxaxaxa nn

33333232131 ... bxaxaxaxa nn

..........................................................

mnmnmmm bxaxaxaxa ...332211

Berilah nilai awal untuk setiap xi ( i = 1 sampai n) kemudian sistem persamaan linear

diatas ditulis menjadi :

)...(1

13132121

11

1 nn xaxaxaba

x

)...(1

23231212

22

2 nn xaxaxaba

x

...............................................................

)...(1

112211 nnnnnn

nn

n xaxaxaba

x

Dengan menghitung nilai-nilai xi (i = 1 sampai n) dengan memakai persamaan

diatas secara terus menerus hingga diperoleh suatu nilai xi yang sama (mendekati) dengan

Page 72: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 72

Fisika Komputasi

nilai xi pada iterasi sebelumnya. Atau proses iterasi akan dihentikan jika sudah didapatkan

selisih antara 2 nilai iterasi berurutan sudah lebih kecil dari suatu toleransi error yang

ditentukan.

Contoh :

Selesaikan sistem persamaan linear berikut ini :

521 xx

1442 21 xx

Jawab :

Berikan nilai awal : x1 = 0 dan x2 = 0

Susun persamaan menjadi :

21 5 xx

)214(4

112 xx

Iterasi 1 :

5051 x

1)5.214(4

12 x

Iterasi 2 :

4151 x

2

3)4.214(

4

12 x

Iterasi 3 :

2

7

2

351 x

4

7)

2

7.214(

4

12 x

Iterasi 4 :

4

13

4

751 x

8

15)

4

13.214(

4

12 x

Iterasi 5 :

8

25

8

1551 x

Page 73: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 73

Fisika Komputasi

16

31)

8

25.214(

4

12 x

Iterasi 6 :

16

49

16

3151 x

32

63)

16

49.214(

4

12 x

Iterasi 7 :

32

97

32

6351 x

64

127)

32

97.214(

4

12 x

Dapat dilihat nilai x1 dan x2 pada iterasi yang ke-7 sudah tidak berbeda jauh dengan nilai

pada iterasi ke-6, sehingga proses iterasi dapat dihentikan dan didapatkan penyelesaian :

32

971 x

64

1272 x

5.4.1 Algoritma Metode Iterasi Gauss – Seidal

Algoritma dari metode Iterasi Gauss – Seidal dapat dinyatakan seperti berikut ini :

1.Masukkan matrik A dan vektor B beserta ukurannya n

2.Tentukan batas maksimum iterasi, max_iter

3.Tentukan toleransi error

4.Tentukan nilai awal dari xi, untuk i = 1 sampai n

5.Simpan xi dalam si, untuk i = 1 sampai n

6.Untuk i = 1 sampai n hitung :

ij

jjii

ii

i xaba

x )(1

,

,

iii sxe

7.Iterasi <-- iterasi + 1

8.Jika iterasi lebih dari max_iter atau terdapat ei < untuk i = 1 sampai n maka proses

dihentikan dan penyelesaiannya adalah xi (i =1 sampai n). Jika tidak , ulangi langkah 5

5.4.2 Program komputer Metode Iterasi Gauss – Seidal

Dari algoritma Metode Iterasi Gauss – Seidal maka selanjutnya kita dapat

mengimplementasikannnya dalam bentuk program komputer (bahasa Visual C++) :

Page 74: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 74

Fisika Komputasi

//Metode Gauss - Seidal : solusi sistem pers. linear #include <iostream.h> void main() { double A[10][10]; double B[10],X[10],S[10],err[10]; double eps,sum; bool loop; int n,i,j,max_iterasi,iterasi; cout << " Ukuran Matrik : "; cin >>n; cout<<"Matrik A : "<<endl; for (i=1;i<=n;i++) { for (j=1;j<=n;j++) { cout<<"A["<<i<<j<<"] = "; cin>>A[i][j]; } } cout<<endl; cout<<" Vektor B : "<<endl; for (i=1;i<=n;i++) { cout<<"B["<<i<<"] = "; cin>>B[i]; } cout <<endl; max_iterasi = 10; eps=0.0001; iterasi=1; for (i=1;i<=n;i++) { X[i]=0; S[i]=X[i]; } loop=true; while ((loop==true) && (iterasi<=max_iterasi)) { for (i=1;i<=n;i++) { sum=0; for (j=1;j<=n;j++) { if (j!=i) { sum=sum+A[i][j]*X[j]; } } X[i]=(B[i]-sum)/A[i][i]; err[i]=X[i]-S[i]; if (err[i]<eps) loop==false; } iterasi=iterasi+1; } cout<<"jumlah iterasi = "<<iterasi<<endl; for (i=1;i<=n;i++) { cout<<"X["<<i<<"] = "<<X[i]<<endl; } }

Page 75: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 75

Fisika Komputasi

T

4 kg 2 kg

Eksekusilah program tersebut dan kemudian cobalah untuk menyelesaikan masalah sistem

persamaan linear berikut ini :

521 xx

1442 1 xx

Berikut ini adalah hasil eksekusi program untuk masalah tersebut diatas :

Ukuran Matrik : 2 Matrik A : A[11] = 1 A[12] = 1 A[21] = 2 A[22] = 4 Vektor B : B[1] = 5 B[2] = 14 jumlah iterasi = 11 X[1] = 3.00391 X[2] = 1.99805

Soal Latihan :

1.Sebuah balok dengan massa 4 kg didorong dengan gaya 50 N. Di depan balok ini

terdapat balok lain yang massanya 2 kg. Setelah ke dua balok menempel, hitunglah

besar gaya kontak T antara kedua balok dan percepatannya a. Lantai dianggap licin.

5.4.3 Eigen Value dan Eigen Vektor

Untuk membahas tentang Eigen value dan Eigen vektor pertama-tama kita akan

melihat sebuah contoh kasus pencerminan pada koordinat kartesius. Andaikan pada

sistem pada koordinat kartesius ditempatkan sebuah cermin sepanjang garis : y= -x seperti

diperlihatkan dalam gambar 5.1 berikut ini.

(a)

(b)

4 kg 2 kg

50 N

F T

y

x

cermin

y=-x

Gambar 5.1. Ilustrasi Eigen value dan Eigen Vektor

Page 76: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 76

Fisika Komputasi

Bagaimanakah hasil pencerminan sebuah vektor yang ada di atas cermin? Misalnya

vektor (0,1) jika dicerminkan pada garis y = -x maka hasilnya adalah vektor (-1,0)

Pencerminan dapat dipandang sebagai sebuah transformasi sebuah vektor. Pada

transformasi pencerminan, setiap vektor yang tidak mengalami perubahan atau hanya

berubah arahnya merupakan vektor khusus atau sering disebut dengan istilah Eigen

vektor. Semua vektor yang ditunjukkan dalam gambar 5.3 merupakan Eigen vektor pada

transformasi pencerminan.

Jika ),( yxr melambangkan sebuah vektor. Sementara transformasi pencerminan

dinyatakan dalam bentuk matrik P. Hasil pencerminan vektor r dinyatakan dengan r’:

r’ = P r

Untuk cermin seperti dalam gambar (5.1) dinyatakan dalam bentuk matrik P yaitu :

01

10P

Sedangkan transformasi pencerminan vektor (0,1) seperti diperlihatkan dalam gambar

(5.2) dinyatakan dengan :

0

1

1

0

01

10

y

x

cermin

y=-x

Gambar 5.2. Pencerminan vektor (0,1)

y

x

cermin

y=-x

Gambar 5.2. Beberapa Eigen vektor pada pencerminan

Page 77: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 77

Fisika Komputasi

INNTTEERRPPOOLLAASSII

Interpolasi merupakan proses untuk menentukan titik-titik antara dari n buah titik

dengan menggunakan suatu fungsi pendekatan. Ada beberapa metode Interpolasi yaitu :

-Interpolasi Linier

- Interpolasi Kuadratik

- Interpolasi Polinomial

- Interpolasi Lagrange

6.1 Interpolasi Linear

Interpolasi Linear merupakan proses menentukan titik-titik antara dari 2 buah titik

dengan menggunakan fungsi pendekatan yang berbentuk garis lurus

Persamaan garis lurus yang melalui 2 titik P1(x1,y1) dan P2(x2,y2) dapat dinyatakan dengan:

12

1

12

1

xx

xx

yy

yy

Sehingga persamaan dari interpolasi linier adalah :

11

12

12 )( yxxxx

yyy

Contoh :

Hitunglah nilai y untuk titik x = 2.1 yang berada diantara titik (1,1.5) dan (3,2.5)

Jawab :

)5.2,3()5.1,1( 21 PP

VI

Gambar 6.1. Interpolasi Linier

Page 78: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 78

Fisika Komputasi

x = 2.1

11

12

12 )( yxxxx

yyy

5.1)11.2(13

5.15.2

y

05.2

Jadi titik P3 (2.1,2.05)

Algoritma Interpolasi Linier :

1.Tentukan dua titik P1 dan P2 dengan koordinatnya masing-masing (x1,y1)

dan(x2,y2)

2.Tentukan nilai x dari titik yang akan dicari

3.Hitung nilai y dengan :

11

12

12 )( yxxxx

yyy

4.Tampilkan nilai titik yang baru Q(x,y)

6.2 Interpolasi Kuadratik

Interpolasi Kuadratik dipakai untuk menentukan titik-titik antara dari 3 buah titik

P1(x1,y1), P2(x2,y2) dan P3(x3,y3) dengan menggunakan fungsi pendekatan yang berupa

fungsi kuadrat

Gambar 6.2. Contoh Interpolasi Linier

Page 79: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 79

Fisika Komputasi

Untuk memperoleh titik Q(x,y) digunakan interpolasi kuadratik sebagai berikut:

))((

))((

))((

))((

))((

))((

2313

213

3212

312

3121

321

xxxx

xxxxy

xxxx

xxxxy

xxxx

xxxxyy

Contoh :

Hitunglah nilai y untuk titik x = 2.5 yang berada diantara titik (1,5), (2,2) dan (3,3)

Jawab :

)3,3()2,2()5,1( 321 PPP

x = 2.5

))((

))((

))((

))((

))((

))((

2313

213

3212

312

3121

321

xxxx

xxxxy

xxxx

xxxxy

xxxx

xxxxyy

Gambar 6.3. Interpolasi Kuadratik

Gambar 6.4. Contoh Interpolasi Kuadratik

Page 80: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 80

Fisika Komputasi

)23)(13(

)25.2)(15.2(3

)32)(12(

)35.2)(15.2(2

)31)(21(

)35.2)(25.2(5

y

2

Jadi titik P4 (2.5,2)

Algoritma Interpolasi Kuadratik :

1.Tentukan 3 titik input P1(x1,y1), P2(x2,y2) dan P3(x3,y3)

2.Tentukan nilai x dari titik yang akan dicari

3.Hitung nilai y dari titik yang dicari menggunakan rumus dari interpolasi kuadratik:

))((

))((

))((

))((

))((

))((

2313

213

3212

312

3121

321

xxxx

xxxxy

xxxx

xxxxy

xxxx

xxxxyy

4.Tampilkan nilai titik yang baru Q(x,y)

6.3 Interpolasi Polinomial

Interpolasi Polinomial dipakai untuk menentukan titik-titik antara dari n buah titik

P1(x1,y1), P2(x2,y2), P3(x3,y3), …, Pn(xn,yn) dengan menggunakan pendekatan fungsi

polinomial pangkat n-1:

1

1

2

210 ...

n

n xaxaxaay

Masukkan nilai dari setiap titik ke dalam persamaan polynomial di atas dan diperoleh

persamaan simultan dengan n persamaan dan n variabel bebas:

1

11

2

121101 ...

n

n xaxaxaay 1

21

2

222102 ...

n

n xaxaxaay 1

31

2

323103 ...

n

n xaxaxaay

................................................. 1

1

2

210 ...

n

nnnnn xaxaxaay

Penyelesaian persamaan simultan di atas adalah nilai-nilai a0, a1, a2, a3, …, an yang

merupakan nilai-nilai koefisien dari fungsi pendekatan polynomial yang akan digunakan.

Dengan memasukkan nilai x dari titik yang dicari pada fungsi polinomialnya, akan

diperoleh nilai y dari titik tersebut.

Contoh :

Hitunglah nilai y untuk titik x = 3 yang berada diantara titik (3.2,22), (2.7,17.8),

(1,14.2), dan (4.8,38.3)

Jawab :

22)2.3()2.3()2.3(2.3 23 dcbax

8.17)7.2()7.2()7.2(7.2 23 dcbax

Page 81: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 81

Fisika Komputasi

2.14)1()1()1(1 23 dcbax

3.38)8.4()8.4()8.4(8.4 23 dcbax

Didapatkan:

a = -0.5275

b = 6.4952

c = -16.117

d = 24.3499

Sehingga persamaan polinomialnya adalah :

3499.24117.164952.65275.0 23 xxxy

Untuk x = 3 maka y = 20.212

Jadi titik P (3,20.212)

Algoritma Interpolasi Polinomial :

1. Tentukan jumlah titik n yang diketahui

2. Memasukkan titik-titik yang diketahui Pi(xi,yi) untuk i=1,2,3,…,n

3. Menyusun augmented matrik dari titik-titik yang diketahui sebagai berikut:

n

n

nnn

n

n

n

yxxx

yxxx

yxxx

yxxx

J

12

3

1

3

2

33

2

1

2

2

22

1

1

1

2

11

...1

..................

...1

...1

...1

4. Menyelesaikan persamaan simultan dengan augmented matrik di atas dengan

menggunakan metode eliminasi gauss/Jordan

Gambar 6.5. Contoh Interpolasi Polinomial

Page 82: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 82

Fisika Komputasi

5. Menyusun koefisien fungsi polinomial berdasarkan penyelesaian persamaan

simultan di atas

}10),,(|{ niniJaaa ii

6. Memasukkan nilai x dari titik yang diketahui

7. Menghitung nilai y dari fungsi polinomial yang dihasilkan

1

0

n

i

i

i xay

8. Menampilkan titik (x,y)

6.4 Interpolasi Lagrange

Interpolasi Lagrange digunakan untuk mencari titik-titik antara dari n buah titik

P1(x1,y1), P2(x2,y2), P3(x3,y3), …, Pn(xn,yn) dengan menggunakan pendekatan fungsi

polinomial yang disusun dalam kombinasi deret dan didefinisikan dengan :

N

i ji

j

iji

xx

xxyy

1 )(

)(

Jika untuk 3 titik ( n =3) maka uraian dari fungsi Polinomial diatas adalah :

))((

))((

))((

))((

))((

))((

2313

213

3212

312

3121

321

xxxx

xxxxy

xxxx

xxxxy

xxxx

xxxxyy

tampak hasilnya adalah sama dengan interpolasi kuadratik.

Algoritma Interpolasi Lagrange :

1. Tentukan jumlah titik n yang diketahui

2. Tentukan titik-titik Pi(xi,yi) yang diketahui dimana i=1,2,3,…,n

3. Tentukan x dari titik yang dicari

4. Hitung nilai y dari titik yang dicari dengan formulasi interpolasi Lagrange

N

i ji

j

iji

xx

xxyy

1 )(

)(

5. Tampilkan nilai (x,y)

Page 83: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 83

Fisika Komputasi

REEGGRREESSII

Regresi adalah sebuah metode untuk mendapatkan fungsi pendekatan dari

sekumpulan titik-titik data. Ada beberapa metode Regresi yaitu :

- Regresi Linier

- Regresi Eksponensial

- Regresi Polinomial

7.1 Regresi Linear

Regresi Linear adalah metode untuk mendapatkan fungsi pendekatan yang

berbentuk linear dari sekumpulan titik data (xn,yn).

Fungsi linear merupakan fungsi yang berbentuk garis lurus yang dinyatakan dengan

persamaan :

cmxy

Dimana nilai m dan c dalam regresi linear dapat ditentukan dengan :

N

n

N

n

nn

N

n

N

n

n

N

n

nnn

xxN

yxyxN

m

1

2

1

2

1 11

N

x

mN

y

xmyc

N

n

n

N

n

n 11

Contoh :

VII

Gambar 7.1 Regresi Linier

Page 84: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 84

Fisika Komputasi

Carilah fungsi pendekatan linear dari titik-titik data berikut ini :

Jawab :

N = 7

7

1

28n

nx

7

1

24n

ny

7

1

2140

n

nx

7

1

5.119n

nn yx

8392857.028)140(7

)24(28)5.119(72

m

47

28x 428571.3

7

24y

0714282.0)4)(8392857.0(428571.3 xmyc

Sehingga persamaan fungsi linear dari titik-titik data tersebut adalah :

0714282.08392857.0 xy

Tabel Data hasil Regresi :

xn yn

1 0.5

2 2.5

3 2.0

4 4.0

5 3.5

6 6.0

7 5.5

Gambar 7.2 Fungsi linear hasil regresi

Page 85: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 85

Fisika Komputasi

Algoritma Regresi Linier :

1. Tentukan N titik data yang diketahui dalam (xi,yi) untuk i=1,2,3,…,N

2. Hitung nilai m dan c dengan menggunakan persamaan dari regresi linier di atas

3. Tampilkan persamaan fungsi linier

4. Hitung fungsi linier tersebut dalam range x dan step dx tertentu

5. Tampilkan hasil tabel (xn,yn) dari hasil fungsi linier tersebut.

7.2 Regresi Eksponensial

Regresi Eksponensial adalah metode untuk mendapatkan fungsi pendekatan yang

berbentuk eksponensial dari sekumpulan titik data (xn,yn). Regresi Eksponensial

merupakan pengembangan dari regresi linear dengan menggunakan fungsi logaritma. Jika

kita mempunyai fungsi eksponensial :

baxey

Jika kita mengambil nilai log dari fungsi tersebut maka didapatkan :

)ln(ln baxey

baxy ln

Jika dimisalkan :

baxz

maka :

yz ln

n xn yn

1 1.0 0.910714

2 1.5 1.33036

3 2.0 1.75

4 2.5 2.16964

5 3.0 2.58929

6 3.5 3.00893

7 4.0 3.42857

8 4.5 3.84821

9 5.0 4.26786

10

5.5 4.6875

11 6.0 5.10714

12 6.5 5.52679

13

7.0 5.94643

14 7.5 6.36607

15 8.0 6.78571

16 8.5 7.20536

17 9.0 7.625

18 9.5 8.04464

19 10.0 8.46429

Page 86: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 86

Fisika Komputasi

Jadi untuk menentukan fungsi pendekatan eksponensial dalam regresi eksponensial dapat

digunakan metode regresi linear dimana nilai ordinat (y) dari titik diganti dengan z yaitu :

yz ln

Contoh :

Carilah fungsi pendekatan eksponensial dari titik-titik data berikut ini :

Jawab :

N = 5

5

1

15n

nx

5

1

93.4n

nz

5

1

255

n

nx

5

1

6425.21n

nnzx

685.015)55(5

)93.4(15)6425.21(52

a

0.35

15x 986.0

5

93.4z

069.1)3)(685.0(986.0 xazb

Sehingga persamaan fungsi linear dari titik-titik data tersebut adalah :

069.1685.0 xey

Tabel Data hasil Regresi :

xn yn zn = ln yn

1 0.5 -0.6931

2 1.7 0.5306

3 3.4 1.2238

4 5.7 1.7405

5 8.4 2.1282

Gambar 7.3 Fungsi Eksponensial hasil regresi

Page 87: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 87

Fisika Komputasi

Algoritma Regresi Eksponensial :

1. Tentukan N titik data yang diketahui dalam (xi,yi) untuk i=1,2,3,…,N

2. Ubah nilai y menjadi z dengan z = ln y

3. Hitung nilai a dan b dengan menggunakan persamaan dari regresi linier di atas

4. Tampilkan persamaan fungsi eksponensial baxey

5. Hitung fungsi eksponensial tersebut dalam range x dan step dx tertentu

6. Tampilkan hasil tabel (xn,yn) dari hasil fungsi eksponensial tersebut.

7.3 Regresi Polinomial

Regresi Polinomial adalah metode untuk mendapatkan fungsi pendekatan yang

berbentuk polinom dari sekumpulan titik data (xn,yn). Bentuk persamaan dari fungsi

polinomial dinyatakan dengan :

n

nxaxaxaay ...2

210

Regresi polinomial tingkat n dikembangkan dari model matrik normal yaitu :

n

i

i

n

i

i

n

i

n

i

i

n

i

n

i

i

n

i

n

n

n

n

i

n

i

n

i

i

n

i

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

n

i

y

yx

yx

yx

a

a

a

a

xxxn

xxxx

xxxx

xxxx

1

1

2

1

1

1

0

2

1

11

2

1

1

22

11

1

1

2

1

12

1

1

11

1

1

2

1

2

1

1

1

...

...

...

...............

...

...

...

Hasil dari model matrik normal tersebut adalah nilai-nilai dari a0,a1,a2,...an.

Contoh :

Carilah fungsi pendekatan polinomial dari titik-titik data berikut ini :

n xn yn

1 1.0 0.6811

2 1.5 0.9593

3 2.0 1.3512

4 2.5 1.9031

5 3.0 2.6805

6 3.5 3.7754

7 4.0 5.3175

8 4.5 7.4895

9 5.0 10.5487

10

5.5 14.8574

Page 88: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 88

Fisika Komputasi

Jawab :

n = 6

6

1

15i

ix 5.2x

6

1

6.152i

iy 433.25y

6

1

6.585i

ii yx

6

1

28.2488

i

ii yx

6

1

255

i

ix

6

1

3225

i

ix

6

1

4979

i

ix

8.2488

6.585

6.152

97922555

2255515

55156

2

1

0

a

a

a

86071.1

35929.2

47857.2

2

1

0

a

a

a

Sehingga persamaan fungsi polinomial dari titik-titik data tersebut adalah :

286071.135929.247857.2 xxy

Tabel Data hasil Regresi :

xi yi

0 2.1

1 7.7

2 13.6

3 27.2

4 40.9

5 61.1

Gambar 7.3 Fungsi polinomial hasil regresi

Page 89: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 89

Fisika Komputasi

Algoritma Regresi Eksponensial :

1.Tentukan N titik data yang diketahui dalam (xi,yi) untuk i=1,2,3,…,N

2.Hitung nilai-nilai yang berhubungan dengan jumlahan data untuk mengisi matrik

normal

3.Hitung nilai koefisien-koefisien a0, a1, a2, …, an dengan menggunakan eliminasi

gauss/jordan

4. Tampilkan persamaan fungsi polinomial n

nxaxaxaay ...2

210

5. Hitung fungsi polinomial tersebut dalam range x dan step dx tertentu

6. Tampilkan hasil tabel (xn,yn) dari hasil fungsi polinomial tersebut.

i xi yi

1 1.0 6.69857

2 1.5 10.2041

3 2.0 14.64

4 2.5 20.0062

5 3.0 26.3028

6 3.5 33.5298

7 4.0 41.6871

8 4.5 50.7748

9 5.0 60.7928

10

5.5 71.7411

Page 90: mitha05.files.wordpress.com · Fisika Komputasi © Avid-06 1 DD ERREETT TTAAYYLLOORR 1.1 Deret Taylor Deret Taylor memegang peranan yang sangat penting dalam analisis numerik. Dengan

© Avid-06 90

Fisika Komputasi