Laporan Metode Numerik Penyelesaian Persamaan Non-Linier Metode Secant
Laporan Metode Numerik Penyelesaian Persamaan Non-Linier Metode Secant
Teknologi Informasi
Teknik Informatika Multimedia
Politeknik Negeri Samarinda
2016
Algoritma Metode Secant:
1. Definisikan fungsi f(x)
2. Masukkan range: batas bawah (a) dan batas atas (b).
3. Uji nilai range apakah memiliki akar atau tidak. Jika tidak memiliki akar, perbarui
nilai a dan b sampai range tersebut memiliki akar.
4. Masukkan toleransi error (е) dan jumlah maksimum iterasi N
5. Tentukan p0 = a, p1 = b
6. Hitung fp0 = fx(p0) dan fp1 = fx(p1)
7. Untuk iterasi i = 1 s/d N, hitung:
p2 = p1 – fp1 * (p1 – p0)/(fp1 – fp0)
fp2 = fx(p2).
Jika | (p2-p1) | < error, cetak p2 sebagai hampiran akar. Keluar dari looping.
Jika tidak, tentukan:
p0 = p1.
p1 = p2.
fp0 = fp1.
fp1 = fx(p1).
8. Jika (i > N), hampiran akar tidak ditemukan.
Listing program:
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <math.h>
float FX(float x)
{
return exp(-x) -x;
}
p0=a;
p1=b;
Fp0 = FX(p0);
Fp1 = FX(p1);
if(Fp0*Fp1 < 0)
{
kondisi = 1;
int itr = 0;
do{
itr++;
p2 = p1-Fp1*(p1-p0)/(Fp1-Fp0);
Fp2 = FX(p2);
cout << setiosflags(ios::fixed);
cout << setprecision(8) << "|" << setw(3) << itr << "| " << setw(7)
<< p0 << " | " << setw(7) << p1 <<
" | " << setw(8) << p2 << " | " << setw(8) << Fp0 << " | " <<
setw(8) << Fp1 << " | " << setw(9) << Fp2 <<
" |" << endl;
if(fabs(p2-p1)<e)
{
kondisi = 0;
e = fabs(p2-p1);
}
else
{
p0 = p1;
p1=p2;
Fp0=Fp1;
Fp1 = FX(p1);
}
}while(kondisi == 1);
cout << "Jadi Akar yang mendekati adalah " << p2<< endl;
}else{
cout << "Tidak Ada Akar...!!!" << endl;
}
getch();
}
Grafik dari fungsi f(x) = EXP-x – x :
a 0
b 1
error 0,1
f(x) = EXP-x - x
1,2
1
0,8
0,6
0,4
0,2
0
0 0,2 0,4 0,6 0,8 1 1,2
-0,2
-0,4
-0,6
-0,8
a 0
b 1
error 0,01
a 0
b 1
error 0,001
f(x) = EXP-x - x
1,2
1
0,8
0,6
0,4
0,2
0
0 0,2 0,4 0,6 0,8 1 1,2
-0,2
-0,4
-0,6
-0,8
a 0
b 1
error 0,0001
iterasi(i) p0 p1 p2 fp0 fp1 fp2 Keterangan
1,00000 0,00000 1,00000 0,61270 1,00000 -0,63212 -0,07081 LANJUT
2,00000 1,00000 0,61270 0,56384 -0,63212 -0,07081 0,00518 LANJUT
3,00000 0,61270 0,56384 0,56717 -0,07081 0,00518 -0,00004 LANJUT
4,00000 0,56384 0,56717 0,56714 0,00518 -0,00004 0,00000 STOP
f(x) = EXP-x - x
1,2
1
0,8
0,6
0,4
0,2
0
0 0,2 0,4 0,6 0,8 1 1,2
-0,2
-0,4
-0,6
-0,8
a 0
b 1
error 0,00001
a 0
b 1
error 0,01
a 0
b 1
error 0,001
a 0
b 1
error 0,0001
a 0
b 1
error 0,00001
Kesimpulan :
Dari percobaan yang telah dilakukan, kita dapat menentukan nilai akar xi dari fungsi
f(x) = EXP-x - x menggunakan metode Secant. Nilai masukkan yang yang diinput antara lain:
Nilai p0, p1, p2. Dengan kesimpulan sebagai berikut:
Menentukan jumlah itterasi dengan nilai a=0, b=1 :
Nilai Error Jumlah itterasi
0.1 2
0.01 3
0.001 4
0.0001 4
0.00001 5
a b Error [ p2-p1 ]
0 1 0.0000270518
0.25 0.75 0.00000066655
0.25 0.6 0.000000004137
0.5 0.6 0.00000000017
Dari percobaan di atas dapat disimpulkan bahwa semakin kecil nilai Error yang
diberikan, maka semakin banyak jumlah iterasi yang dihasilkan. Demikian juga jika semakin
kecil range di antara nilai atas dan nilai bawah, maka semakin kecil nilai Errornya.