Apa yang dimaksud dengan menentukan x hingga terpenuhi persamaan f(x) = 0 ? secara geometri ini berarti mencari suatu titik hal mana f(x) tepat memotong sumbu x, sehingga f(x) = 0. jika dianggap f(x) sesungguhnya memotong sumbu x, maka dapat dicari suatu interval [a,b], sedemikian rupa sehingga f(a) dan f(b) mempunyai tanda berbeda.
Gambar. 1
Dengan pembatasan interval ini, secara cermat dapat dicari x = yang memberikan nilai f () = 0 sebagai berikut :
1. bagi dua interval [a,b] dan evaluasi nilai f(x) pada titik tengah interval.
2. Apabila f(m) = 0 berarti x = m, bila tidak sama dicari posisi nilai m apakah berada pada interval [a,m] atau interval [m,b] ; yaitu dengan memeriksa perbedaan tanda :
1. jika f (a) dan f(m) berbeda tanda berarti di [a,m]
2. jika f(a) dan f(m) mempunyai tanda sama berarti di [n,b]
proses pembagian interval dapat diulang sampai ditemukan nilai yang memberikan f() = 0.
3.1. Metode Biseksi
Tahap pertama menetapkan nilai sembarang a dan b sebagai batas segmen nilai fungsi yang dicari. Batasan a dan b memberikan hanya bagi fungsi f(x) untuk x = a dan x = b. Langkah selanjutnya adalah memeriksa apakah f(a)*f(b) < 0. Bila terpenuhi berarti terdapat akar fungsi dalam segmen tinjauan. Jika tidak kembali harus ditentukan nilai a dan b agar f (a)* f(b) < 0 terpenuhi. Dengan rumusan , diperiksa apakah nilai mutlak f (m) < 10-6 (batas simpangan kesalahan), Jika besar nilai x = m adalah solusi yang dicari. Jika tidak terpenuhi, ditetapkan batasan baru dengan mengganti nilai b = m apabila f(a)*f(m) < 0, dan mengganti a = m bila f(a)*f(m) > 0.
Gambar. 2
Jika f(a) < f(b) dalam nilai mutlaknya, maka akar persamaan akan terletak lebih dekat ke f(a), (lihat gambar 2). 3.2 Metode Regulasi Falsi Cara yang lebih efektif mendapatkan nilai m adalah menghubungkan f(a) dan f(b) dengan garis lurus dan perpotongan garis dengan sumbu x merupakan nilai m. Seperti pada gambar 3. Cara penetapan m ini dikenal dengan cara Regulasi Falsi dan Algoritmanya sama dengan Metode Biseksi.
Gambar. 3
Proses dengan cara ini memberikan perhitungan yang cepat dibandingkan dengan Metode Biseksi. Pada algoritma, proses dihentikan jika dicapai nilai mutlak f (m) < 10-6, tetapi untuk kecermatan hasil dari matriks ini belum cukup. Syarat kecermatan yang tepat adalah :
Gambar 4
Untuk menghindari masalah yang mungkin terjadi pada prilaku persamaan yang tidak dapat dilacak, perla pembatasan tinjauan interval sesuai dengan sifat fungsi. Hal ini penting dalam metode numerik untuk memperoleh solusi nyata.
Contoh :
untuk mncari besaran x persamaan ini maka bentuk persamaannya diubah menjadi
f (x) = tan x – 2x = 0
dengan mengabaikan akar x = 0 yang bukan solusi persamaan dasar, terlihat bahwa Metode Biseksi dan regulasi Falsi tidak akan memberikan solusi. Karena fungsi f(x) buka fungsi kontinyu untuk nilai kelipatan ganjil dari ( lihat gambar).
Gambar. 5
Algoritma Program Metode Biseksi
1. Tentukan a, b, toleransi dan jumlah iterasi maksimum.
2. Periksa apakah f(a) x f(b) > 0, jika ya keluar dari program karena pada solusi yang diberikan tidak terdapat akar persamaan.
3. Hitung nilai m =
4. Jika nilai mutlak (b-a) < toleransi tuliskan m sebagai hasil perhitungan dan akhiri program, jika tidak lanjutkan kelangkah selanjutnya. 5. Jika jumlah iterasi > iterasi maksimum akhiri program.
6. Jika f(a) x f(b) < 0, maka b = m, jika tidak a = m 7. Kembali ke langkah c Algoritma Program Metode Regulasi Falsi 1. Tentukan a, b, toleransi dan jumlah iterasi maksimum. 2. Periksa apakah f(a) x f(b) > 0 jika ya keluar dari program
3. Hitung nilai m =
4. Jika nilai mutlak (m-a) < toleransi tuliskan m sebagai hasil perhitungan dan akhiri program, jika tidak lanjutkan kelangkah selanjutnya. 5. Jika jumlah iterasi > iterasi maksimum akhiri program
6. Kembali kelangkah c.
Flowchart Metode Biseksi
2. Flowchart Metode Regulasi Falsi
Sama dengan Flowchart Metode Biseksi, kecuali pada langkah ke 6 digantikan dengan :
1. Program Metode Biseksi
soal: tan (x) – x – 0,5 = 0
{Program Metode Biseksi}
Daftar Variabel
a = batas bawah
b = batas atas
tol = toleransi
max-iter = jumlah iterasi maksimum}
Var
A, m, b, F_a, F_m, F_b, tol : real;
Max_iter, it : integer;
Epsilon : real;
Function f(x : real) : real;
Begin
F : = sin (x) / cos (x) – x – 0,5;
End;
Begin
Write (‘batas bawah = ‘); read (a);
Write (‘batas atas = ‘); read (b);
Write (‘toleransi = ‘); read (tol);
Write (‘jumlah iterasi max = ‘); read (max_iter);
It : = 0;
F_a : = f (a);
F_b : = f (b) ;
If (f_a*f_b > 0) then writeln (‘nilai F(a) x F(b) > 0 ‘);
Else
Begin
Write (‘It. a m b f(a) f(b)’);
Written (‘ abs [f(b) – f(a)] / 2’);
Epsilon : = tol + 1
While ((it < max_iter) and (epsilon > tol)) do
Begin
It : = it + 1;
m : = (a + b) / 2 ;
F _m : = f (m);
Write (it : 3,’ ‘, a : 8 : 5,’ ‘, m : 8 : 5,’ ‘,b : 8 : 5,’ ‘);
Writeln (F_a : 8 : 5,’ ‘, F_m : 8 : 5,’ ‘, abs (F_b – F_a) /2:4);
Epsilon : = abs (m – a) ;
If (F_a * F_m < = 0) Then Begin B : = m ; F_b : = F_m; End Else Begin a : = m; F_a : = F_m ; End; End; If (it < = max_iter) then Begin Writeln (‘Toleransi terpenuhi’); Writeln (‘ hasil akhir = ‘, m : 9 : 7); End Else writeln (‘toleransi telah terpenuhi ‘); End; End. Ambil : Batas bawah = 0 Batas atas = 1 Toleransi = 0,0000001 Jumlah iter_max = 30 1. Program Regulasi Falsi sama dengan Biseksi, hanya rumus menentukan m yang diganti seperti pada Flowchart. 3.3 Metode Iterasi Bentuk lain dari metode penentuan akar persamaan adalah dengan memulai suatu perkiraan harga dari akar persamaan. Mulai x0 (perkiraan awal), x1, x2, .... xk, akhirnya konvergen pada , yaitu xk yang cukup dekat pada sesuai dengan tingkat kecermatan yang diinginkan. (metode iterasi tunggal). Dalam hal ini fungsi f(x) ditulis sbb : f (x) = x – g (x) = 0, sehingga = g () ............... (1) kemudian xk+1 = g (xk), k = 0, 1, 2, ....... (2) (1) dan (2) rumusan iterasi Contoh x3 – 3x – 20 = 0 solusi : rubah persamaan dalam bentuk f(x) = x – g(x) sebagai berikut dengan empat cara : 1) x – (3x + 20)1/3 = 0 x0 = 10 2) x – (x3 – 20) / 3 = 0 x1 = 3,68 3) x – 20 / (x2 – 3) = 0 x2 = 3,14 4) x – (3 + 20 / x)1/2 = 0 x3 = 3,08 Rumusan pertama dapat dinyatakan sebgai berikut : Xk+1 = (3xk + 20)1/3 , k = 0, 1, 2, .... Perkiraan awal x0 = 5, diperoleh : X0 = 5 X1 = (3*5 + 20)1/3 = 3,2771 X2 = (3*3,2771 + 20)1/3 = 3,1008 X3 = (3*3,1008 + 20)1/3 = 3,0830 X4 = (3*3,0830 + 20)1/3 = 3,0811 X5 = (3*3,0811 + 20)1/3 = 3,0809 X6 = (3*3,0809 + 20)1/3 = 3,0809 X7 = (3*3,0809 + 20)1/3 = 3,0809 Karena x sudah konstan pada harga 3,0809 Secara grafik :
Dari ketiga persamaan untuk mendapatkan akar persamaan menghasilkan grafik sebagai berikut :
Algoritma Program Iterasi
1. Tentukan x0, toleransi, dan jumlah iterasi maksimum
2. Hitung xbaru = g (x0)
3. Jika nilai (xbaru – x0) < toleransi tuliskan xbaru sebagai hasil perhitungan, jika tidak lanjutkan kelangkah berikutnya. 4. Jika jumlah iterasi > iterasi maksimum akhiri program
5. X0 = xbaru dan kembali kelangkah (b)
Flowchart
Program Iterasi
{Program iterassi untuk fungsi e^x + x^2 -3x - 2=0 x-(e^x+x^2-2)/3=0
dengan g(x)= (e^x+x^2-2)
Daftar Variabel
Xo = harga awal
tol = toleransi
max_iter = jumlah iterasi maksimum}
Var
xo,xb,tol,x :real;
max_iter,it :integer;
epsilon :real;
function g(x:real):real;
begin
g:= (x*x+exp(x)-2)/3;
end;
Begin
write('harga awal =');read(xo);
write('toleransi =');read (tol);
write('jumlah iterasi max =');read(max_iter);
it:=0;
writeln(' it x g(x) f(x) ');
epsilon :=tol+1;
while(ittol) Do
Begin
it :=It+1;
xb := g(xo);
epsilon := abs (x-xo);
writeln( it:3,' ',xo:8:5,' ',xb:8:5,' ',epsilon:4);
xo:=xb;
End;
if (it <=max_iter)Then Begin writeln ('Toleransi terpenuhi'); writeln('Hasil akhir =',xb:9:7); End Else writeln ('toleransi tidak terpenuhi'); readln; End. 3.4 Metode Newton – Raphson Metode yang lebih baik dalam memilih g’(x) adalah dengan membuat garis singgung dari f(x) untuk nilai x yang dipilih , dan dengan menggunakan besaran x dari perpotongan garis singgung terhadap sumbu diperoleh nilai x baru.
Dari diagram ini terlihat tangensial (garis singgung) f(x) adalah :
sehingga
Contoh :
f (x) = x3 – 3x – 20
f’(x) = 3x2 – 3
dengan demikian
perkiraan awal x0 = 5
x0 = 5
x1 = 3,75
x2 = 3,2018
x3 = 3,0859
x4 = 3,0809
x5 = 3,0809
Konvergensi Metode Newton – Raphson
Memperhatikan rumusan
dan syarat konvergensi [g’ (x) ] < 1 berarti :
Apabila nilai turunan fungsi susah untuk dicapai, nilai ini dapat didekati dengan harga – harga fungsi dari hasil dua tahapan proses sebelumnya.
Prinsip: Buat garis singgung kurva f(x) di titik di sekitar akar fungsi. Titik tempat garis singgung itu memotong garis nol ditentukan sebagai akar fungsi. Dalam melakukan penghitungan dengan menggunakan metode ini maka perhitungan dapat dihentikan ketika kesalahan relatif semu sudah mencapai / melampaui batas yang diinginkan.
Algoritma Program Newton – Raphson
1. Tentukan x0, toleransi dan jumlah iterasi maximum
2. Hitung xbaru =
3. Jika nilai mutlak (xbaru – x0) < toleransi tuliskan xbaru sebagai hasil perhitungan, jika tidak lanjutkan kelangkah berikutnya. 4. Jika jumlah iterasi > iterasi maksimum akhiri program
5. x = xbaru, dan kembali ke langkah b
Flowchart
Flowchart Metode SECANT
{Program Iterasi untuk fungsi}
ex + x2 – 3x – 2 = 0 x – (ex + x2 – 2) / 3 = 0
dengan g (x) = (ex + x2 – 2) / 3
Daftar Variabel
X0 = harga awal
Tol = Toleransi
Max_iter = Jumlah iterasi maximum}
Var
X0, Xb, tol : real;
Max_iter, it : integer;
Epsilon : real;
Function g (x : real ) : real;
Begin
g : = (x*x + eps^x – 2) / 3;
end;
Begin
Write (‘,Harga awal =’); read (x0);
Write (‘,Toleransi =’); read (x0);
Write (‘,Jumlah iterasi max =’); rea (max_iter);
It : = 0 ;
Writeln (‘ it x g(x) f(x)’);
Epsilon : = tol + 1;
While (it < = max_iter) and (epsilon > tol )); do
Begin
It : = it + 1;
X0 : = g (x0);
Epsilon : = abs ( xb – x0);
Writeln (it : 3,’ ‘,x0 : 8 : 5,’ ‘, xb : 8 : 5,’’,epsilon : 4);
X0 : = Xb ;
End;
If (it < = max_iter) Then Begin Writeln (‘Toleransi terpenuhi’); Writeln (‘hasil akhir = ‘, xb : 9 : 7); End; Else writeln (‘ Toleransi tidak terpenuhi ‘); End. Catatan Ambil Harga awal = 1 Toleransi = 0,0000001 Jumlah iterasi max = 20 { Program Newton – Raphson} Daftar variabel X0 = Harga awal Tol = Toleransi Max_iter = Maksimum Iterasi} Var X0, Xb, tol : real; Max_iter, it : integer; Epsilon : real; Function f(x : real ) : real; Begin f : = x*x – 3*x + exp (x) – 2; end; function f1 (x : real) : real; Begin F1 : = 2*x-3 + exp (x); End ; Begin Write (‘, Harga awal =’) ; read (x0); Write (‘, Toleransi =’) ; read (tol); Write (‘, Jumlah iterasi max =’) ; read (max_iter); It : = 0; Writeln (‘It x f(x) epsilon ‘); Epsilon : = tol + 1; While ( (‘ it < = max_iter) and (epsilon > tol));
Do
Begin
It : = it + 1
Xb : = x0 – f(x0) / f1 (x0);
Epsilon : = abs (xb – x0);
Writeln (it : 3,’’,xb : 8 : 5,’’, f(xb) : 8 : 5,’’,epsilon : 4);
X0 : = xb ;
End;
If ( it < = max_iter) then
Begin
Writeln (‘Toleransi terpenuhi ‘);
Writeln (‘Hasil akhir = ‘, xb : 9 : 7);
End;
Else writeln (‘Toleransi tidak terpenuhi ‘);
Friska Pratiwi: Penyelesaian Persamaan Non Linear Dengan Metode Numerik >>>>> Download Now
BalasHapus>>>>> Download Full
Friska Pratiwi: Penyelesaian Persamaan Non Linear Dengan Metode Numerik >>>>> Download LINK
>>>>> Download Now
Friska Pratiwi: Penyelesaian Persamaan Non Linear Dengan Metode Numerik >>>>> Download Full
>>>>> Download LINK