• Tidak ada hasil yang ditemukan

PENYELESAIAN PERSAMAAN NON LINIER

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENYELESAIAN PERSAMAAN NON LINIER"

Copied!
17
0
0

Teks penuh

(1)

BAB 3

PENYELESAIAN PERSAMAAN NON LINIER

1. METODE BAGI DUA (BISECTION METHOD)

Jika f(x) kontinyu pada a dan b dan f(a).f(b) < 0 maka terdapat paling sedikit 1 akar pada interval tersebut.

Misal f(a) <0 dan f(b)>0

Nilai akar aproksimasi: x0 (ab)/2 (3.1) Jika f(x0) =0, maka x merupakan akar dari f(x).

Jika akar terletak antara a dan x0 maka f(x0) > 0  b = x shg 0 x1 (ax0)/2

Jika akar terletak antara b dan x0 maka f(x0) < 0  a = x0 shg x1  (bx0)/2

… (3.2)

Proses terus shg diproleh f(xn)  0.

Program metode biseksi

PROGRAM BISEKSI;

uses wincrt; var

a,b,m,fa,fb,fm : real; i,n : integer; Function F(x:real) : real; begin F:=sqr(x*x)-2*x-5; end; Gambar 3.1 Proses mencari akar dg metode bagi dua b a m2 m1 Lokasi akar

(2)

BEGIN

writeln(' Program Biseksi'); write('batas kiri a:');readln(a);

write('batas kanan b:');readln(b);

writeln('---'); writeln(' i a b m fa fb fm '); writeln('---'); i:=0; repeat m:=(a+b)/2; fa:=F(a); fb:=F(b); fm:=F(m); writeln( ' ',i,''); gotoxy(7,i+7); write(a:3:3) ;writeln(' '); gotoxy(15,i+7); write(b:3:3) ;writeln(' '); gotoxy(23,i+7); write(m:3:3) ;writeln(' '); gotoxy(32,i+7); write(fa:11:7);writeln(' '); gotoxy(48,i+7); write(fb:11:7);writeln(' '); gotoxy(61,i+7); write(fm:11:7);writeln(' '); if fm*fb>0 then b:=m else a:=m; i:=i+1;

until abs(fm) <=10e-4;

writeln('---'); writeln;

writeln('Jadi Akar-akarnya =',m:3:3); readln;

END.

(3)

Akar yang pertama m14 = 1. Akar yang lain diperoleh dengan memasang a = 2, b =

5 dan m14 =4. Nilai maksimum dari f(m) yang dikehendaki adalah 1.0e-4.

Soal: Gunakan metode biseksi untuk memperoleh akar dari f(x) = xsin(x) yang

terletak antara [1 , 2].

2. METODE POSISI SALAH (REGULA FALSI)

Tujuan: untuk mempercepat proses karena metode bagi dua agak lambat

Lihat garis yang menghubungkan titik (a,f(a)), (b1,0) dan (b0,f(b0)).

Buat gradien garis tersebut dengan dua cara, yaitu yang melalui pasangan (a,f(a)), (b0,f(b0)) dan (b1,0)) , (b0,f(b0))

Dengan menggunakan titik-titik (a,f(a)) dan (b0,f(b0)) maka:

a b ) a ( f ) b ( f m 0 0    (3.3)

dengan titik (b1,0) dan (b0,f(b0)) maka: 0 1 0 b b ) b ( f 0 m    (3.4) Pers. (3.3) = pers. (3.4) ) a ( f ) b ( f ) a b )( b ( f b b 0 0 0 0 1     (3.5)

Dalam bentuk iterasi:

) a ( f ) b ( f ) a b )( b ( f b b n n n n n n 1 n      (3.6)

Program Regula falsi seperti ditampilkan di bawah ini.

PROGRAM REGULA_FALSI; uses wincrt; var a,b,c,fa,fb,fc : real; Gambar 3.2 Proses mencari akar dg metode regula falsi

b0

a b2 b1

(a,f(a))

(4)

i,n : integer; Function F(x:real) : real; begin

F:=sqr(x)-5*x+4; end;

BEGIN

writeln(' PROGRAM REGULA FALSI'); write('batas kiri a:');readln(a);

write('batas kanan b:');readln(b);

writeln('---'); writeln(' i a b c fa fb fc '); writeln('---'); i:=0; repeat fa:=F(a); fb:=F(b); c:=b-fb*(b-a)/(fb-fa)); fc:=F(c);

if fc*fb>0 then b:=c else a:=c; writeln( ' ',i,''); gotoxy(7,i+7); write(a:3:3) ;writeln(' '); gotoxy(15,i+7); write(b:3:3) ;writeln(' '); gotoxy(23,i+7); write(c:3:3) ;writeln(' '); gotoxy(32,i+7); write(fa:11:7);writeln(' '); gotoxy(48,i+7); write(fb:11:7);writeln(' '); gotoxy(61,i+7); write(fc:11:7);writeln(' '); i:=i+1;

until abs(fc) <=1.0e-4;

writeln('---'); writeln;

writeln('Jadi Akar-akarnya =',c:3:3); readln;

END.

(5)

Akar pertama b8= 1 dengan mengambil a = 0 dan b = 3 sedang akar kedua b8 = 4

dengan mengambil a = 2 dan b = 5.

Tampak jumlah iterasi untuk metode biseksi = 14 sementara metode regulafalsi 8 sehingga metode regula falsi lebih efektif digunakan jika batas ketelitian yang dikehendaki sama yaitu tinggi f(m) atau f(b) <= 1.0e-4.

3. METODE REGULAFALSI TERMODIFIKASI

 Jika diketahui f(x) kontinyu pada selang [a0,b0] sedemikian rupa sehingga

f(a0)f(b0) < 0, maka:

 Bentuklah F  f(a0) dan Gf(b0) dan c 0 a0  Untuk N = 0, 1, 2, sampai cukup lakukan:  Hitung F G F b G a cn 1 n n      Jika f(an)f(cn1)0 maka an1 an, bn1 cn1, Gf(cn1)  Jika juga f(cn)f(cn1) 0, maka F = F / 2

 Jika tidak, maka an1 cn1, F f(cn1), bn1 bn

 Jika juga f(cn)f(cn1) 0, maka G = G / 2 {BISA DIUBAH MISAL 0.9G}  Maka f(x) mempunyai akar dalam selang [an1,bn1]

Programnya sebagai berikut

PROGRAM REGULA_FALSI_TERMODIFIKASI; uses wincrt;

var

a,b,c,fa,fb,fc,Ge : real; i,n : integer; Function F(x:real) : real; begin F:=sqr(x)-5*x+4; end; b0 a b2 b1 (a,f(a))

(6)

BEGIN

writeln(' PROGRAM REGULA FALSI TERMODIFIKASI'); WRITELN('FUNGSI F:=x^2-5x+4');

gotoxy(1,3);write('batas kiri a:');read(a); gotoxy(24,3);write('batas kanan b:');readln(b);

writeln('---'); writeln(' i a b c Fa Fb Fc '); writeln('---'); Fa:=F(a); Fb:=F(b); i:=0; Repeat c:=(a*Fb-b*Fa)/(Fb-Fa); Fc:=F(c); writeln( ' ',i,''); gotoxy(7,i+7); write(a:3:3) ;writeln(' '); gotoxy(15,i+7); write(b:3:3) ;writeln(' '); gotoxy(23,i+7); write(c:3:3) ;writeln(' '); gotoxy(32,i+7); write(fa:11:7);writeln(' '); gotoxy(48,i+7); write(fb:11:7);writeln(' '); gotoxy(61,i+7); write(fc:11:7);writeln(' '); if Fa*Fc <=0 then begin b:=c ; Fa:=Fa/2 end else begin a:=c; Fb:=Fb/2; end; i:=i+1;

until abs(fc) <=1.0e-4;

writeln('---'); writeln;

writeln('Jadi Akar-akarnya =',c:3:3); readln;

END.

Jika program tersebut dijalankan maka hasilnya dengan tebakan awal 0 dn 3 sebagai berikut:

(7)

Dengan input 2 dan 5 maka akar yang lain diperoleh = 4 dengan 2 iterasi. Tampak metode regula falsi termodifikasi sangat cepat untuk menampilkan akar.

4. METODE ITERASI SEDERHANA

Yang dibutuhkan pada proses iterasi adalah: a. Aproksimasi untuk x0

b. Rumus iterasi

Jika persamaan f(x) dituliskan dalam bentuk x = F(x) maka diperoleh iterasi secara berturutan: ) x ( F x10 ) x ( F x21 ) x ( F x32 (3.7) . . ) x ( F xn1n

Kesalahan pada metode iterasi: Ea  xi1 xi (3.8)

Ex: Tentukan akar dari f(x) x2 5x4 (seperti soal sebelumnya)  Rumus iterasi pertama:

5 4 x x 2 n 1 n   

 Rumus iterasi kedua:

n n 1 n x 4 x 5 x  

 Rumus iterasi ketiga: xn1  5xn 4

Program metode iterasi sebagai berikut:

Program iterasi;

uses wincrt;

var x:array[0..100] of real; b: real;

(8)

BEGIN clrscr;

writeln('Soalnya: f(x)=sqr(x)-5*x+4');

writeln('Rumus Iterasi: x(i+1)=[x(i)^2+4]/5'); write('tebakan awal x[',i,']:=');readln(x[i]);

writeln('---'); writeln('i x(i) x(i)^2 [x(i)^2+4]/5 x[i+1]-x[i] '); writeln('---'); i:=0; Repeat begin x[i+1]:=(x[i]*x[i]+4)/5; b:= x[i+1]-x[i]; write(i); write(' ',x[i]:4:3); write(' ',x[i]*x[i]:4:5); write(' ',(x[i+1]):5:5); writeln(' ',b:5:7); x[i]:=x[i+1]; i:=i+1; end; until b<=0.00001; writeln('---'); writeln('akarnya adalah:',x[i]:4:6); readln; END.

Jika program tersebut dijalankan dengan mengambil tebakan awal x0 = 0 maka

diperoleh:

Nilai akarnya tidak seeksak metode sebelumnya aau butuh jumlah iterasi yang banyak.

(9)

5. METODE AITKEN (PERCEPATAN KONVERGENSI)

Misal  akar dari f(x). Dari metode iterasi sederhana diketahui: ) ( 1 n n F x x  ) ( F n n 1 n F( ) F(x ) K x x        dengan K < 1 (3.9)

Misal xi1,xi,xi1 3 akar yang mengaproksimasi nilai akar x = . Maka ) x ( K xi   i1   (3.10) ) x ( K xi 1   i   (3.11) Dengan membagi (3.10) dg (3.11)1 ) x ( K ) x ( K x x i 1 i 1 i i           1 i i 1 i 2 i 1 i 1 i x x 2 x ) x x ( x           1 i 2 2 i 1 i x ) x ( x        (3.12) Ingat, disini x i F(xi)

Tabel yang dibutuhkan adalah tabel selisih berhingga untuk data xi sampai selisih

tingkat 2. 1



1 2 2 1 1 2 2 1 1 2 1 1 2 2 1 2 1 1 1 1 1 2 2 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 1 1 ) ( ) 2 ( ) 2 ( 2 2 2 2 ) ( 2 ) ( ) ( ) ( ) (                                                                                                i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x K x K x x

(10)

1 i i 1 i 2 i 1 i 1 i x x x x x x       

Program metode Aitken sebagai berikut:

PROGRAM METODE_AITKEN; {ATAU PERCEPATAN KONVERGENSI}

uses wincrt; var x,dx,d2x : array[0..100] of real; i,n : integer; BEGIN clrscr; writeln('f(x):=x^2-5x+4');

write('nilai awal x[0]:');readln(x[0]); n:=2;

writeln('Rumus Iterasi: x[i]:=(x[i-1]^2+4)/5');

writeln('---'); writeln('i x[i] dx[i] d2x[i] ');

writeln('---'); for i:=0 to n do begin x[i]:=(sqr(x[i-1])+4)/5; gotoxy(1,7+2*i); write(i); gotoxy(4,7+2*i); writeln('x[',i,']=',x[i]:3:4); x[i-1]:=x[i]; end; for i:=0 to n-1 do begin dx[i]:=x[i]-x[i-1]; gotoxy(18,6+(2*i)+2); writeln('dx[',i,']=',dx[i]:3:4); end; for i:=0 to n-2 do begin d2x[i]:=dx[i+1]-dx[i]; gotoxy(35,7+(2*i)+2); writeln('d2x[',i,']=',d2x[i]:3:4); end; x[3]:=x[2]-(sqr(dx[1])/d2x[0]); gotoxy(1,13+(2*i)); writeln('---'); gotoxy(1,15+2*i); writeln('x[3]:',x[3]:3:4); END.

(11)

Tampak nilai x3 = 0.9956 sudah mendekati akar yang dimaksudkan yaitu 1. Dengan

rumus iterasi yang lain maka akar kedua dapat diperoleh.

6. METODE NEWTON RAPHSON

0 0 x OA  (3.13) ) x ( f B A0 00 (3.14) 0 1 0 0 1 0 0 0 ) ( ) ( ' A A x f A A B A x f   (3.15) ) x ( ' f ) x ( f A A 0 0 0 1  1 0 1 0 0 1A OA OA x x A     ) ( ' ) ( 0 0 1 0 x f x f x x   (3.16) ) ( ' ) ( 0 0 0 1 x f x f x x   (3.17)

(12)

dengan cara yang sama maka dapat ditentukan x2, x3 dst.

Misal x0 = akar aproksimasi untuk f(x) = 0 sedangkan h = kekeliruan aproksimasi

tersebut.

h x

x10  dan f(x1)0 (3.18)

Ekspansi dengan deret Taylor:

0 ... ) x ( " f h ) x ( ' hf ) x ( f ) x ( f 100  2 0   (3.19)

Untuk h sangat kecil (supaya aproksimasinya terbaik) maka f"(x0) diabaikan. 0 ) x ( ' hf ) x ( f 00  (3.20) ) x ( ' f ) x ( f h 0 0   (3.21) Subst. (3.16) ke (3.13): ) x ( ' f ) x ( f x x 0 0 0 1   (3.22)

Dalam bentuk iterasi menjadi:

) x ( ' f ) x ( f x x n n n 1 n   (3.23)

Programnya adalah sebagai berikut:

Program Newton_Raphson; uses wincrt; var x,y,dy:array [0..100] of real; tol:real; i:integer; BEGIN clrscr; writeln('f(x)=x^2-5x+4');

write (' Titik awal x[0]: '); readln (x[0]);

writeln('---'); writeln('i x[i] y(i) dy(i) abs(x[i]-x[i-1])'); writeln('---'); i:=1;

Repeat

y[i-1]:=sqr(x[i-1])-5*x[i-1]+4; {fungsi f(x)} dy[i-1]:=2*x[i-1]-5; {turunan dari f(x)} x[i]:=x[i-1]-(y[i-1]/dy[i-1]);{rumus Newton Raphson} write (i-1 , ' ',x[i-1]:4:4,' ',y[i-1]:4:4,' ',dy[i-1]:4:4); writeln(' ', abs(x[i]-x[i-1]):4:7); tol:=abs(x[i]-x[i-1]); i:=i+1; until i=10; writeln('---'); writeln; writeln('Akarnya= ',x[i-1]:3:3); readln; END.

(13)

Jika dijalankan maka hasilnya sebagai berikut:

Tampak sampai iterasi yang ke 4 selisih antara x[i] dan [xi-1] sudah hamper nol sehingga akarnya adalah 1. Akar ang lain dapat dientukan dengan mengambil x[0] yang lain (misalnya 10).

Soal: tentukan akar pers. xsinxcosx 0 dengan metode Newton Raphson.

7. METODE MULLER

 Permisalan untuk kurva f(x) adalah kuadratis.

 Akar-akar kurva kudratis dianggap merupakan akar dari kurva f(x).  Keunggulan: dapat digunakan untuk menghitung akar komplek  Misal xi2, xi-1, xi adalah 3 buh aproksmasi akar f(x) = 0 sehingga

), y , x

( i2 i2 (xi-1,yi1), dan (xi,yi) terletak pada kurva y = f(x). C Bx Ax y  2   (3.24) C Bx Ax yi 2  2i 2i 2    (3.25) C Bx Ax yi1i21i1  (3.26) C Bx Ax yii2 i  (3.27)                                          C B A 1 x x 1 x x 1 x x y y y i 2 i 1 i 2 1 i 2 i 2 2 i i 1 i 2 i (3.28)

(14)

0 1 1 1 1 2 1 2 1 1 2 2 2 2 2        i i i i i i i i i x x y x x y x x y x x y (3.29)

Dapat ditulis dalam bentuk:

1 i i 1 i 2 i 1 i i 2 i 2 i i 2 i 1 i 2 i i 1 i y ) x x )( x x ( ) x x )( x x ( y ) x x )( x x ( ) x x )( x x ( y                    + i 1 i i 2 i i 1 i 1 i y ) x x )( x x ( ) x x )( x x (         (3.30) Jika didefinisikan ) x x ( ) x x ( 1 i i i      (3.31) ) x x ( ) x x ( 2 i 1 i 1 i i i        (3.32) i 2 i 1 i 2 i i i 1 ) x x ( ) x x (           (3.33)

maka pers. (3.30) dapat dituliskan:

i i i i i 2 i 1 i 2 i 2 i 2 i i i i i 1 i 2 i 2 i y ) ( y y y y y y y                        (3.34)

Dari pers. (3.31) diperoleh: ) x x ( x x  i ii1 (3.35)

Ambil y = 0 pada (3.34) maka

0 y g ) y y y ( i 2 i i 1 i i 2 i i i i          (3.36) dengan ) ( y y y gii22ii12iii i (3.37) dengan membagi pers. (3.36) dengan 2 maka

0 ) y y y ( g 1 y 1 i i 1 i i 2 i i i i i 2            (3.38) Maka

1/2 i i 1 i i 2 i i i i 2 i i i i y y y ( y 4 g g y 2               (3.39)

(15)

ex: Tentukan akar dari pers. y(x)x3 3x5 yang terletak antara 2 dan 3.

Jawab: dipilih xi2 1, xi1 2, xi 3 maka yi2 7, yi1 3, yi 13 sehingga  x 3, i 1, i 2 dan gi 44.

Dari pers. (3.38) diperoleh: 0 12 44 26 2     52 688 4 1    

agar pembilangnya terbesar maka dipilih tanda negatif, maka  0,7403. Pendekatan berikutnya menurut (3.35) xi1xi(xixi1):

26

,

2

7403

,

0

3

1

i

x

.

Iterasi akan dihentikan jika xi1xi

8. SOLUSI SYSTEM PERSAMAAN TIDAK LINIER

a. Metode iterasi      0 ) y , x ( g 0 ) y , x ( f (3.40) pers. (3.40) dapat dibentuk menjadi:

     ) y , x ( G y ) y , x ( F x (3.41) dengan F dan G memenuhi persyaratan:

                   1 y G x G 1 y F x F (3.42)

Misal (x0,y0) aproksimasi awal

     ) y , x ( G y ) y , x ( F x 0 0 1 0 0 1      ) y , x ( G y ) y , x ( F x 1 1 2 1 1 2      ) y , x ( G y ) y , x ( F x 2 2 3 2 2 3 (3.43)

dan seterusnya hingga diperoleh xn1 xn dan yn1 yn.

2. METODE NEWTON RAPHSON

     0 ) y , x ( g 0 ) y , x ( f (3.44) Misal (x0,y0) aproksimasi awal dari (3.44). Jika (x0 h,y0 k) akar dari system pers. tersebut maka:

         0 ) k y , h x ( g 0 ) k y , h x ( f 0 0 0 0 (3.45)

(16)

                       0 ... y g k x g h g 0 ... y f k x f h f 0 0 0 0 0 0 (3.46)

dengan mengabaikan suku-suku berderejat >=2 maka

                       0 0 0 0 0 0 g ... y g k x g h f ... y f k x f h (3.47)

maka h, k dikatahui. Hasil aproksimasi yang baru adalah: h

x

x10  , y1 x0 k.

Proses diulangi hingga diperoleh xn1 xn dan yn1  yn.

S O A L

1. Tentukan akar dari pers.

(a) x3 x2 x70 (b) x3180

teliti sampai 3 angka decimal dengan metode Muller

2. Gunakan metode Newton-Raphson untuk menyelesaikan pers. (a) x2 y 11 (b) x2 43siny

7 x

(17)

Gambar

Tabel  yang  dibutuhkan  adalah  tabel  selisih  berhingga  untuk  data  x i   sampai  selisih  tingkat 2

Referensi

Dokumen terkait

Biasanya jawaban analitis dari persamaan diatas tidak ada, sehingga harus dicari jawaban numeriknya yang biasa dilaksanakan dengan metode iterasi.. Kembali ke langkah

Metode Eliminasi Gauss merupakan metode yang dikembangkan dari metode eliminasi, yaitu menghilangkan atau mengurangi jumlah variable sehingga dapat diperoleh nilai dari suatu

Keenam metode, yaitu bagi dua, Regula Falsi, lelaran titik tetap, Newton Rapshon, secant, dan metode HouseHolds dengan iterasi orde tinggi diimplementasikan dalam

Beberapa metode numerik yang dapat digunakan untuk menemukan atau mencari akar-akar polinomial antara lain, metode Tabulasi, metode Biseksi, metode Regula Falsi,

menggunakan persamaan-persamaan di atas secara terus-menerus hingga nilai untuk setiap xi (i=1 s/d n) sudah sama dengan nilai x i pada iterasi sebelumnya maka diperoleh

Pada Penulisan ilmiah ini, penulis mencoba membuat suatu aplikasi Windows yang dibuat dengan Microsoft Visual C++ 6.0, yaitu aplikasi metode numerik secara biseksi dan regula

• Masalah ini adalah ‘ masalah pivoting ’ yang harus benar-benar diperhatikan, karena penyusun yang salah akan menyebabkan iterasi menjadi divergen dan tidak diperoleh hasil

Pada bab ini, kita akan mempelajari metode-metode untuk menentukan akar persamaan secara numerik, di antaranya adalah metode biseksi, metode regula falsi, metode