Anda di halaman 1dari 10

TABEL 1

A. LISTING PROGRAM
#include<stdio.h>
#include<math.h>
float f(float x);
float a,b,e,xr; //a=batas bawah, b=batas atas, e=toleransi error, xr=rumus biseksi
int kond,i,N;//kond=kondisi, i=iterasi, N=Nilai Iterasi Maksimum
void main()
{
printf("
*****Ikhsan*****\n\n");
printf("Masukkan nilai batas bawah
scanf("%f",&a);
printf("Masukkan nilai batas atas
scanf("%f",&b);
printf("Masukkan nilai toleransi error
scanf("%f",&e);
printf("Masukkan nilai Iterasi Maksimum
scanf("%d",&N);

= ");
= ");
= ");
= ");

if(f(a)*f(b)>0)
printf("Tidak ada akarnya\n");
else
{
kond=1;
i=0;
while(kond==1)
{
i=i+1;
xr = (f(b)*a-f(a)*b)/(f(b)-f(a));
if(fabs (f(xr))<e || i>N)
kond=0;
else
{
if(f(a)*f(xr)<0)
{
b=xr;
}
else
{
a=xr;
}
}
printf("Iterasi Ke-%d\n",i);
printf("Maka akarnya = %f, F(%f)=%f\n",xr,xr,f(xr));
}
}
}
float f(float x)
{return(exp(-x)-x);
}

B. OUTPUT
1. e

= 0.1

Jumlah Iterasi = 1

2.

3.

e
Jumlah Iterasi

= 0.01
=2

= 0.001

Jumlah Iterasi = 3

4.

e
Jumlah Iterasi

= 0.0001
=4

TABEL 2
A. LISTING PROGRAM
#include<stdio.h>
#include<math.h>
float f(float x);
float a,b,e,xr; //a=batas bawah, b=batas atas, e=toleransi error, xr=rumus
biseksi
int kond,i,N;//kond=kondisi, i=iterasi, N=Nilai Iterasi Maksimum
void main()
{
printf("
*****Ikhsan*****\n\n");
printf("Masukkan nilai batas bawah
scanf("%f",&a);
printf("Masukkan nilai batas atas
scanf("%f",&b);
printf("Masukkan nilai toleransi error
scanf("%g",&e);
printf("Masukkan nilai Iterasi Maksimum
scanf("%d",&N);

= ");
= ");
= ");
= ");

if(f(a)*f(b)>0)
printf("Tidak ada akarnya\n");
else
{
kond=1;
i=0;
while(kond==1)
{
i=i+1;
xr = (f(b)*a-f(a)*b)/(f(b)-f(a));
if(fabs (f(xr))<e || i>N)
kond=0;
else
{
if(f(a)*f(xr)<0)
{
b=xr;
}
else
{
a=xr;
}
}
printf("Iterasi Ke-%d\n",i);
printf("Maka akarnya = %g, F(%g)=%g\n",xr,xr,f(xr));
}
}

}
float f(float x)
{return(exp(-x)-x);
}

B. OUTPUT PROGRAM
1. a = 0
b=1

2.

a = 0.25
b = 0.75

3. a = 0.5
b = 0.75

4. a = 0.5
b = 0.6

V . ANALISA DATA
Pada

percobaan

Metode

Numerik

kali

ini

adalah

mengenai

Penyelesaian Persamaan Non Linier dengan Metode Regula Falsi. Sama


halnya dengan metode biseksi minggu lalu dimana akan mencari akar-akar
dari sebuah persamaan yang diberikan pada percobaan ini.
Data masukkan berupa batas bawah (a) , batas atas (b) , Jumlah Iterasi
(N) dan errornya (e) kita tentukan terlebih dahulu nilainya. Dengan Metode
Regula Falsi dapat lebih cepat tentunya untuk menemukan akar-akarnya.
Pada dasarnya pencarian akar persamaan dilakukan dengan memanfaatkan
kemiringan dan selisih tinggi dari 2 titik batas range. Perlu diketahui bahwa
untuk

mendapatkan

suatu

akar-akar

dalam

suatu

persamaan

maka

syaratnya adalah fungsi tersebut ajan bernilai negative(-) apabila dikalikan


dengan fungsi yang satunya.
Baru kita mencari nilai x dengan memasukkan rumus x = f(b)a f(a)
b)/f(b) f(a) Nantinya didaptakan nilai x dan mecari besaran f(a) dan f(b),
setelah dimasukkan ke dalam fungsi awalnya, kita dapat menentukan
apabila nilai dari f(a) < 10

-4

.Begitulah dilakukan looping terus menerus

hingga mencapai kondisi yang 10

-4

nilai dari x. Tergantung juga dari batasan

atau iterasi yang kita masukkan pada program. Nantinya dapat kita lihat
bahwa apabila dimasukkan data yang sama hanya saja Toleransi errornya
berbeda maka Jumlah Iterasi akan berbeda.
Sehingga dengan menggunakan metode regulafalsi maka akan lebih
cepat mencari akar-akarnya, pada output program terlihat bahwa iterasi
yang dilakukan berturut-turut dari 1,2,3,dan 4.
VI . KESIMPULAN
1. Metode Regula Falsi digunakan dengan memanfaatkan kemiringan dan
selisih tinggi dari 2 titik batas range.

2. Jumlah Iterasi pada metode biseksi digunakan untuk melihat sampai


berapa program akan melakukan looping hingga mencapai kondisi yang <
10

-4

3. Toleransi error yang berbeda maka nantinya output dari jumlah iterasiya
akan berbeda pula.
4. Metode Regula Falsi lebih cepat dalam mencari akar-akar dari persamaan
karena dengan memanfaatkan selisih dari 2 titik range saja.

Anda mungkin juga menyukai