Anda di halaman 1dari 11

METODE NUMERIK

(METODE BISEKSI)

Nama : Murni
Nim : 201555202083
Kelas : 4B
Pengertian
Metode bisection merupakan
metode yang di gunakan untuk
mencari akar dari suatu fungsi f(x)
yang mendekati nol.
Algoritma
- Start
- Definisi Fungsi F(x)
- Input
Batas Bawah (a)
Batas Atas (b)
Toleransi Error (E)
Iterasi Maksimum (maks)
- Dapatkan F(a) dan F(t)
- If f(a)*f(t)<0;
Tampilkan : tidak ada akar
Else
Inisialisasi
Kondisi=1 (akar belum ketemu)
It= 0;
- If kondisi =1
It = it + 1
Hitung : (t)=(a+b)/2
Else
Tampilkan akar t dan f(t)
Proses (t)
- If (b-a) < e or it>i
Proses kondisi = 0
Else
F(a)*f(t)<0
Jika benar proses t=tat dan f(t)=f(at)
Else
A=t dan f(a)=f(t)
Do
Kondisi =1 jika terpenuhi
Proses lgi it = it+1
Else
- Selesai
Flowchart
No A B T
Excel
F(A) F(T) F(A).F(T) A BARU B BARU EPSILON
1 3,000000 9,000000 6,000000 24,000000 231,000000 5544,000000 6,000000 9,000000 3,000000
2 6,000000 9,000000 7,500000 231,000000 452,625000 104556,375000 7,500000 9,000000 1,500000
3 7,500000 9,000000 8,250000 452,625000 601,828125 272402,455078 8,250000 9,000000 0,750000
4 8,250000 9,000000 8,625000 601,828125 687,134766 413537,027618 8,625000 9,000000 0,375000
5 8,625000 9,000000 8,812500 687,134766 732,602783 503396,841733 8,812500 9,000000 0,187500
6 8,812500 9,000000 8,906250 732,602783 756,057770 553890,026400 8,906250 9,000000 0,093750
7 8,906250 9,000000 8,953125 756,057770 767,967670 580627,924173 8,953125 9,000000 0,046875
8 8,953125 9,000000 8,976563 767,967670 773,968493 594382,780552 8,976563 9,000000 0,023438
9 8,976563 9,000000 8,988281 773,968493 776,980406 601358,353992 8,988281 9,000000 0,011719
10 8,988281 9,000000 8,994141 776,980406 778,489242 604870,887672 8,994141 9,000000 0,005859
11 8,994141 9,000000 8,997070 778,489242 779,244381 606633,367714 8,997070 9,000000 0,002930
12 8,997070 9,000000 8,998535 779,244381 779,622130 607516,164352 8,998535 9,000000 0,001465
13 8,998535 9,000000 8,999268 779,622130 779,811050 607957,952241 8,999268 9,000000 0,000732
14 8,999268 9,000000 8,999634 779,811050 779,905521 608178,943629 8,999634 9,000000 0,000366
15 8,999634 9,000000 8,999817 779,905521 779,952760 608289,463691 8,999817 9,000000 0,000183
16 8,999817 9,000000 8,999908 779,952760 779,976380 608344,729814 8,999908 9,000000 0,000092
17 8,999908 9,000000 8,999954 779,976380 779,988190 608372,364399 8,999954 9,000000 0,000046
18 8,999954 9,000000 8,999977 779,988190 779,994095 608386,182073 8,999977 9,000000 0,000023
19 8,999977 9,000000 8,999989 779,994095 779,997047 608393,091005 8,999989 9,000000 0,000011
20 8,999989 9,000000 8,999994 779,997047 779,998524 608396,545494 8,999994 9,000000 0,000006
21 8,999994 9,000000 8,999997 779,998524 779,999262 608398,272745 8,999997 9,000000 0,000003
22 8,999997 9,000000 8,999999 779,999262 779,999631 608399,136372 8,999999 9,000000 0,000001
23 8,999999 9,000000 8,999999 779,999631 779,999815 608399,568186 8,999999 9,000000 0,000001
24 8,999999 9,000000 9,000000 779,999815 779,999908 608399,784093 9,000000 9,000000 0,000000
#include<stdio.h>
Program
#include<conio.h>
#include<math.h>

float a,b,t,at,F_a,F_t,F_at,E;
int max;

float f(float x)
{
return (x*x*x)+(x*x)-(3*x)-3;
}

int main()
{
int it;
char selang;
float epsilon;
printf("Nama = Murni\n");
printf("Nim = 201555202083\n");
printf("Kelas = 4 A\n");
printf("===Praktikum Metode Numerik====\n");
printf("Batas bawah = "); scanf("%f",&a);
printf("Batas atas = "); scanf("%f",&b);
printf("Toleransi Error = "); scanf("%f",&E);
printf("Iterasi maksimum = "); scanf("%d",&max);

it = 0;
F_a = f(a);
F_t = f(t);
if(F_a * F_t > 0) printf("Nilai F(a) x F(t) < 0\n");
else
{
printf("--------------------------------------------------------
------------------\n");
printf(" No a b t f(a) f(t)
f(at) selang lebarnya \n");
printf("------------------------------------------------------
--------------------\n");
do
{
it = it + 1;

t = (a + b) / 2;
F_t = f(t);
if(F_a * F_t >= 0) { selang ='A'; }
else {selang ='B'; }
F_at=(F_t * F_a);
printf("%2d %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f
C%c %8.5f \n",
it,a,b,t,F_a,F_t,F_at,selang,fabs(a-t));

epsilon = fabs(a-t);
if(F_a * F_t <= 0) { t = at; F_t = F_at; }
else { a = t; F_a = F_t; }
} while(it <= max && epsilon > E);

if(it <= max)


{
printf("\n Hampiran (pendekatan) nilai x = %g\n",t);
printf(" pada iterasi ke-%d",it);
}
else printf("Toleransi tidak terpenuhi, Jumlah Iterasi
kurang\n");
}
getch();
}
Output
Pembahasan
Excel
• Menghitung T = (B5+C5)/2
• Menghitung f(a) = (B5^3+B5^2-3*B5-3)
• Menghitung f(t) = (D5^3+D5^2-3*D5-3)
• Menghitung f(a).f(t) = (E5*F5)
• Menghitung a baru = IF(G5<0;B5;D5)
• Menghitung b baru = IF(G5<0;D5;C5)
• Menghitung a-t < epsilon = (I5-H5)
SEKIAN DAN TERIMA KASIH

Anda mungkin juga menyukai