solusi eksak (analitik) tidak ada, mengingat
semua fungsi dapat diturunkan, tetapi tdk
semua fungsi dapat diintegralkan.
Solusinya ada, tetapi kompleks, tidak praktis.
yang dicari adalah nilai integral ttt.:
f(x) dx, ( batas a s/d b ) tidak lain adalah
mencari luas daerah yang dibatasi y=f(x),
sumbu x, garis x=a, dan garis x=b.
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
float f(float xo)
{float fx;
fx=pow(xo,3)-(3*xo)+2;
return fx;
}
int pil1()
{float btsa,btsb,h,fxo,fx1,fx2,fx3,n,i,sum,Deltafx;
cout<<"Soal Latihan No. 1 \n";
cout<<"===================================\n";
cout<<"Input Nilai Batas Atas (b) : ";cin>>btsa;
cout<<"Input Nilai Batas Bawah (a) : ";cin>>btsb;
cout<<"Input Nilai n : ";cin>>n;cout<<endl;
h=(btsa-btsb)/n;
sum=f(btsb);
for(i=1;i<n;i++)
{sum=sum+2*(f(btsb+(i*h)));}
fxo=(h*(sum+f(btsa)))/2;
fx1=(pow(btsa,4)/4)-(3*(pow(btsa,2))/2)+(2*btsa);
fx2=(pow(btsb,4)/4)-(3*(pow(btsb,2))/2)+(2*btsb);
Deltafx=fx1-fx2;
fx3=Deltafx-fxo;
cout<<"1.Perhitungan Metode Numerik : "<<fxo<<"\n";
cout<<"2.Perhitungan Metode Analitik : "<<Deltafx<<"\n";
cout<<"3.Eror : "<<fabs(fx3);
cout<<endl;
getch();
}
int pil2()
{float btsa,btsb,h,fxo,fx1,fx2,fx3,n,i,sum,Deltafx;
cout<<"Soal Latihan No. 2 \n";
cout<<"===================================\n";
cout<<"Input Nilai Batas Atas (b) : ";cin>>btsa;
cout<<"Input Nilai Batas Bawah (a) : ";cin>>btsb;
cout<<"Input Nilai n : ";cin>>n;cout<<endl;
h=(btsa-btsb)/n;
sum=f(btsb);
for(i=1;i<n;i++)
{sum=sum+2*(f(btsb+(i*h)));}
fxo=(h*(sum+f(btsa)))/2;
fx1=(2.79487*btsa) + (0.312151*pow(btsa,2))/2;
fx2=(2.79487*btsb) + (0.312151*pow(btsb,2))/2;
Deltafx=fx1-fx2;
fx3=Deltafx-fxo;
cout<<"1.Perhitungan Metode Numerik : "<<fxo<<"\n";
cout<<"2.Perhitungan Metode Analitik : "<<Deltafx<<"\n";
cout<<"3.Eror : "<<fabs(fx3);
cout<<endl;
getch();
}
int main()
{int angka;char huruf;
awal:
cout<<"MENU INTEGRASI NUMERIK (Modul Pert. 10) :\n";
cout<<"METODE TRAPESIUM\n\n";
cout<<"=============================================\n";
cout<<"1. Soal No. 1\n";
cout<<"2. Soal No. 2\n";
cout<<"3. KELUAR\n";
cout<<"Silahkan Input Pilihan Anda [1-3] : ";cin>>angka;
if (angka==1)
{pil1();cout<<"\n";
goto awal;}
else if (angka==2)
{pil2();cout<<"\n";
goto awal;}
else {
cout<<"Anda Yakin Akan Keluar Dari Program ? [Y/T] : ";cin>>huruf;cout<<endl;
if (huruf=='Y' || huruf=='y')
{cout<<"Semoga Bermanfaat dan Terima Kasih... (^_^)";exit(0);}
else if (huruf=='T' || huruf=='t')
{cout<<"\n";goto awal;}
}
getch();
}
Outputnya silakan coba sendiri
Tidak ada komentar:
Posting Komentar