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.

e Jumlah Iterasi

= 0.01 =2

3.

= 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


-4

mencapai kondisi yang 10

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.

Beri Nilai