Académique Documents
Professionnel Documents
Culture Documents
Nirlanjar/Non Linear
Menggunakan Metode
Tertutup
Pendahuluan
Dalam
Metode Tertutup
D ike n a ld e n g a n m e to d e p e n g u ru n g
( b ra cke ttin g m e th o d )
M e n ca ria ka r p e rsa m a a n d id a la m se la n g
[a, b]
S e la n g [ a , b ] d ip a stika n b e risim in im a l
sa tu b u a h a ka r, se h in g g a m e to d e in i
se la lu b e rh a silm e n e m u ka n a ka r
Ite ra sin ya se la lu ko n ve rg e n ( m e n u ju ) ke
a ka r, se h in g g a m e to d e in id ise b u t ju g a
m e to d e ko n ve rg e n
Metode Tertutup
Strategi yang digunakan adalah mengurangi lebar
selang secara sistematis sehingga lebar selang
semakin sempit dan karena itu menuju akar sejati
Dalam sebuah selang, mungkin terdapat lebih dari
satu akar atau tidak ada sama sekali yang
ditunjukkan secara grafik :
Jika f(a)f(b) < 0, maka terdapat akar sebanyak
bilangan ganjil
Metode Tertutup ..
Jika f(a)f(b) > 0, maka terdapat akar
sebanyak bilangan genap atau tidak
ada sama sekali
Metode Tertutup ..
Terdapat dua masalah yang terjadi karena ketidaktepatan
pemilihan selang [a, b]
Pertama, jika dalam selang [a, b] terdapat lebih dari
satu buah akar. Sekali metode tertutup digunakan pada
selang [a, b], maka hanya satu buah akar yang berhasil
ditemukan
Kedua, jika selang [a, b] tidak memenuhi syarat cukup,
yakni f(a)f(b) < 0, maka adakalanya akar tidak dapat
ditemukan (seharusnya ada)
Dua pendekatan solusi yang digunakan antara lain,
pertama membuat grafik fungsi di bidang kartesian (XY), lalu melihat di mana perpotongannya dengan sumbu X
Kedua, mencetak nilai fungsi pada titik-titik absis yang
berjarak tetap. Jika tanda fungsi berubah pada sebuah
selang, maka dipastikan terdapat satu buah akar di
dalamnya
Terdapat dua metode klasik yang tergolong ke dalam
metode tertutup, yakni metode bagidua(bisection) dan
metode regula-falsi
Metode Bagidua
Metode yang selalu membagi dua selang [a, b] pada
nilai x tertentu (x = c), sehingga terdapat dua
buah upaselang berukuran sama, yaitu selang [a, c]
dan selang [c, b]
Selang yang akan digunakan pada tahapan berikutnya
adalah upaselang yang mengandung akar, tergantung
pada apakah f(a)f(c) < 0 atau f(c)f(b) < 0
Selang baru dibagi lagi menjadi dua dengan cara
sama, hingga ukuran selang sudah sangat kecil atau
memenuhi salah satu kondisi berikut :
1. Lebar selang <
2. f(c) = 0 atau f(c) < epsilon mesin
3. Galat (error) hampiran akar ((cbaru clama)/cbaru) <
f(a)
f(c)
f(b)
0.000000
0.500000
1.000000
1.000000
0.398721
-2.281718
[c,b]
0.500000
0.500000
0.750000
1.000000
0.398721
-0.695500
-2.281718
[a,c]
0.250000
0.500000
0.625000
0.750000
0.398721
-0.084879
-0.695500
[a,c]
0.125000
0.500000
0.562500
0.625000
0.398721
0.173023
-0.084879
[c,b]
0.062500
0.562500
0.593750
0.625000
0.173023
0.048071
-0.084879
[c,b]
0.031250
0.593750
0.609375
0.625000
0.048071
-0.017408
-0.084879
[a,c]
0.015625
0.593750
0.601563
0.609375
0.048071
0.015581
-0.017408
[c,b]
0.007813
0.601563
0.605469
0.609375
0.015581
-0.000851
-0.017408
[a,c]
0.003906
0.601563
0.603516
0.605469
0.015581
0.007380
-0.000851
[c,b]
0.001953
0.603516
0.604492
0.605469
0.007380
0.003268
-0.000851
[c,b]
0.000977
10
0.604492
0.604980
0.605469
0.003268
0.001210
-0.000851
[c,b]
0.000488
11
0.604980
0.605225
0.605469
0.001210
0.000179
-0.000851
[c,b]
0.000244
12
0.605225
0.605347
0.605469
0.000179
-0.000336
-0.000851
[a,c]
0.000122
13
0.605225
0.605286
0.605347
0.000179
-0.000078
-0.000336
[a,c]
0.000061
14
0.605225
0.605255
0.605286
0.000179
0.000051
-0.000078
[c,b]
0.000031
15
0.605255
0.605270
0.605286
0.000051
-0.000014
-0.000078
[a,c]
0.000015
16
0.605255
0.605263
0.605270
0.000051
0.000018
-0.000014
[c,b]
0.000008
Uses crt;
label ulang;
i : integer; ab : char;
begin
ulang :
clrscr;
readln( x1 );
y1 := x1 * x1 * x1 * + x1 * x1 - 3 * x1 -3;
repeat
begin
readln(x2);
y2 := x2 * x2 * x2 + x2 * x2 - 3 * x2 - 3;
end;
if (y1*y2)<0 then
else
until ( y1 * y2 ) < 0;
I :=2;
Writeln;
writeln('Penyelesaian Persamaan Dengan Metode Biseksi, Nilai x1= ',x1:0:2,' & x2= ',x2:0:2);
writeln('--------------------------------------------------------------------------');
writeln('--------------------------------------------------------------------------');
repeat
begin
i :=i + 1 ; x3 := ( x1 + x2) / 2;
y3 := x3 * x3 * x3 + x3 * x3 - 3 * x3 -3;
if i<10 then
begin
x2 :=x3;
x1 := x3;
end;
end;
writeln('-------------------------------------------------------------------------');
writeln('-------------------------------------------------------------------------');
readln(ab);
goto ulang;
end.
Penjelasan Program
f(x) = x3 + x2 - 3x - 3 = 0
Penyelesaian:
Penjelasan Program
Langkah 2: mencari nilai x3.
Metode Regula-falsi
K e le m a h a n m e to d e b a g id u a te rle ta k p a d a
la m a n ya w a ktu u n tu k m e n ca p a i
ko n ve rg e n
M e to d e re g u la -fa lsi ( d ise b u t ju g a d e n g a n
m e to d e p o sisip a lsu ) m e m p e rb a iki
ke le m a h a n te rse b u t d e n g a n ca ra
m e m a n fa a tka n n ila if( a ) d a n f( b )
D ib e n tu k g a ris lu ru s ya n g
m e n g h u b u n g ka n titik ( a , f( a )) d a n ( b ,
f( b ))
Pe rp o to n g a n g a ris lu ru s te rse b u t d e n g a n
su m b u X d in ya ta ka n se b a g a ita ksira n
a ka r ya n g d ip e rb a iki
Metode Regula-falsi ..
Pada gambar, gradien
garis AB =
gradien garis BC,
maka :
f(a)
f(c)
f(b)
selang baru
Lebar selang
0.000000
0.304718
1.000000
1.000000
0.891976
-2.281718
[c,b]
0.695282
0.304718
0.500129
1.000000
0.891976
0.398287
-2.281718
[c,b]
0.499871
0.500129
0.574417
1.000000
0.398287
0.126319
-2.281718
[c,b]
0.425583
0.574417
0.596742
1.000000
0.126319
0.035686
-2.281718
[c,b]
0.403258
0.596742
0.602952
1.000000
0.035686
0.009750
-2.281718
[c,b]
0.397048
0.602952
0.604641
1.000000
0.009750
0.002639
-2.281718
[c,b]
0.395359
0.604641
0.605098
1.000000
0.002639
0.000713
-2.281718
[c,b]
0.394902
0.605098
0.605222
1.000000
0.000713
0.000192
-2.281718
[c,b]
0.394778
0.605222
0.605255
1.000000
0.000192
0.000052
-2.281718
[c,b]
0.394745
0.605255
0.605264
1.000000
0.000052
0.000014
-2.281718
[c,b]
0.394736
10
0.605264
0.605266
1.000000
0.000014
0.000004
-2.281718
[c,b]
0.394734
11
0.605266
0.605267
1.000000
0.000004
0.000001
-2.281718
[c,b]
0.394733
12
0.605267
0.605267
1.000000
0.000001
0.000000
-2.281718
[c,b]
0.394733
13
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
14
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
15
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
16
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
17
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
18
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
19
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
20
0.605267
0.605267
1.000000
0.000000
0.000000
-2.281718
[c,b]
0.394733
21
0.605267
0.605267
1.000000
0.000000
-0.000000
-2.281718
[a,c]
0.000000
f (a )
f (c )
1.000000
0.891976 -2.281718
0.891976
-0.019205 -1.140859
0.891976
0.008005 -0.019205
0.008005
0.000035 -0.019205
0.000035
-0.000035 -0.009602
0.000035
0.000000 -0.000035
f(b)
program regula_falsi;
uses wincrt;
label ulang;
i : integer;
Ab :char;
data1 : real;
begin
ulang:
clrscr;
y1 := x1 * x1 * x1 + x1 * x1 - 3 * x1 - 3;
repeat
begin
y2 := x2 * x2 * x2 + x2 * x2 - 3 * x2 - 3;
end;
if (y1*y2)<0 then
else
until ( y1 * y2 ) <0;
writeln;
writeln('----------------------------------------------------------------------');
writeln('----------------------------------------------------------------------');
repeat
begin
y3 := x3 * x3 * x3 + x3 * x3 - 3 * x3 - 3;
if i<10 then
else
if ( y1 * y3 ) <0 then
begin
x2 := x3 ; y2 := y3 ;
end
else
begin
x1 := x3 ; y1 := y3;
end;
end;
writeln('----------------------------------------------------------------------');
writeln('----------------------------------------------------------------------');
readln(ab);
goto ulang;
end.
Penjelasan Program
f(x) = x3 + x2 - 3x - 3 = 0
Penyelesaian:
Langkah 1: Menentukan dua titik nilai f(x) awal, f(x1)
dan f(x2) dan harus memenuhi hubungan
f(x1)*f(x2)<0. misalkan nilai x1 = 1 dan x2 = 2.
f(x1)= 13 + 12 - 3(1) 3 = -4
f(x2)= 23 + 22 - 3(2) 3 = 3
Penjelasan Program
Metode Regula Falsi disebut juga metode Interpolasi Linear yaitu metode yang
digunakan untuk mencari akar- akar persamaan nonlinear melalui proses iterasi
dengan persamaan 2.1:
Contoh dan cara penyelesaian
Carilah penyelesaian dari persamaan nonlinear di bawah ini dengan metode
Regula Falsi:
f(x) = x3 + x2 - 3x - 3 = 0
Penyelesaian:
Langkah 1: Menentukan dua titik nilai f(x) awal, f(x1) dan f(x2) dan harus
memenuhi hubungan f(x1)*f(x2)<0. misalkan nilai x1 = 1 dan x2 = 2.
f(x1)= 13 + 12 - 3(1) 3 = -4
f(x2)= 23 + 22 - 3(2) 3 = 3
Di dapat F(x1)*f(x2)<0 maka titik penyelesaian berada di antara nilai x1 = 1 dan
x2 = 2.
Langkah 2: mencari nilai x3 dengan persamaan 2.1:
Dan f(x3)= 1.571423 + 1.57142 2 - 3(1.57142) 3 = -1.3644314869
Langkah 3: Melakukan Iterasi dengan persamaan 2.1 pada hasil langkah 2 nilai
f(x3) hasilnya negative, dan untuk memnentukan nilai x4 harus f(xa*f(xb)<10
maka yang memenuhi syarat nilai yang digunakan yaitu x2 dan x3 karena nilai
f(x2)*f(x3)<0 maka :
Dan f(x4= 1.705413 + 1.705412 - 3(1.70541) 3 = -0.247745
Iterasi selanjutnya mencari nilai x5 dan f(x5) dan begitu seterusnya sampai
didapatkan nilai error lebih kecil dari 10-7 . Maka dari hasil perhitungan
didapatkan nilai x = 1.7320508074.
dengan nilai errornya f(x)= 2.0008883439E-09
Penjelasan Program