Teknik Komputasi >> Trapezoida

/* Contoh soal Metode Trapezoidal untuk penyelesaian Integrasi Numerik Bab VI Hal. 50-
51 Diktat Metode Komputasi 2004 */
/* Nama Program : trapezoidal.cpp */
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#define MaksU 100
#define e  2.718281828
main()
{
FILE *trapezoidal;
double u[MaksU], x[MaksU],
sum, sumx, x1, x10, x2, h,
L;
int i, j, opsi;
char lagi;
do
{
clrscr();
trapezoidal = fopen("trapezoidal.txt", "w+");
cout << "\n\nMetode Trapezoida untuk Integrasi Numerik\n";
cout << "==========================================\n\n";
/****************************************************/
/* Setiap perubahan persamaan matematika, YAKINKAN */
/* bahwa Anda telah merubah persamaan matematika */
/* di dalam program ini --------------------------- */
/****************************************************/
cout << "\nMasukkan Batas Bawah (x1) ? ";
cin >> x1;
cout << "\nMasukkan Batas Atas (x2) ? ";
cin >> x2;
cout << "\nMasukkan Besar Interval (h) ? ";
cin >> h;

cout << "\n\nPersamaan Integral : integral(0-10) 2x + 5*(e^-2) dx\n";
cout << "------------------------------------------\n\n";
cout << "\nJumlah Data yang akan diproses (lihat tabel) ? ";
cin >> j;
u[i] = 2*x1 + 5*pow(e,-2);;
sumx += h;
sum = sumx - (u[j-j] + u[j-1]);
x[i] = x1;
sumx = 0.0; /* Inisialisasi Penyimpan Sementara Penjumlahan */
x10 = x1; /* No urut x sesuai interval + h */
printf("\t\n\nh = %.2f", h);
printf("\n\n\t-------------------------------------------\n");
printf("\tdata ke-\tx\tU(x)\tSum U(x)\n");
printf("\t-------------------------------------------\n\n");
fprintf(trapezoidal,"\n\t-------------------------------------------\n");
fprintf(trapezoidal,"\tdata ke-\tx\tU(x)\tSum U(x)\n");
fprintf(trapezoidal,"\t-------------------------------------------\n\n");
{

printf("\t %d\t\t%.1f\t%.2f\t%.2f\n", i, x[i], u[i],sumx);
fprintf(trapezoidal, "\t %d\t\t%.1f\t%.2f\t%.2f\n", i,x[i], u[i], sumx);
/* Rumus Integrasi Trapezoidal */
L = (h*(u[j-j] + 2*sum + u[j-1]))/2;
}
printf("\n\t-------------------------------------------\n\n");
fprintf(trapezoidal,"\n\t-------------------------------------------\n\n");
printf("\nDengan batas bawah = %.2f, atas = %.2f dan interval %.2f\n", x10, x2, h);
fprintf(trapezoidal,"\nDengan batas bawah = %.2f, atas = %.2f dan interval %.2f\n", x10, x2, h);
printf("\nDiperoleh Luas daerah kurva L adalah %.2f", L);
fprintf(trapezoidal,"\nDiperoleh Luas daerah kurva L adalah %.2f", L);
fclose(trapezoidal);

cout << "\n\nCoba lagi dengan data yang berbeda (y/t) ? ";
cin >> lagi;
}while(lagi != 't');
return 0;
}

Berkomentar yang sopan ya, Terimakasih sahabat..
EmoticonEmoticon