2 Metode Integrasi Trapezoidal Dan Simpson PDF
2 Metode Integrasi Trapezoidal Dan Simpson PDF
oleh
Gde Pandhe Wisnu Suyantara
(visnhu.suyantara@gmail.com)
𝐼= 𝑓 𝑥 𝑑𝑥 = 𝑦𝑑𝑥
𝑥𝑎 𝑥𝑎
maka apabila digambar dalam bentuk kurva y terhadap x, hasil integrasi merupakan
area dibawah kurva y terhadap x seperti yang ditampilkan pada gambar 1.
y
y=f(x)
xa xb x
Metode integrasi secara numeris dapat dilakukan dengan beberapa cara diantaranya
adalah :
1. Trapezoidal rule
2. Simpson’s 1/3 rule
3. Simpson’s 3/8 rule
Ketiga metode berasal dari rumus Newton-Cotes untuk integrasi sebagai berikut:
𝑥 − 𝑥0 𝑥 − 𝑥0 (𝑥 − 𝑥1 ) 2 𝑥 − 𝑥0 (𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) 3
𝑦 = 𝑦0 + ∆𝑦0 + ∆ 𝑦0 + ∆ 𝑦0 + ⋯
∆𝑥 2!∆𝑥 2 3!∆𝑥 3
Persamaan Newton-Cotes merupakan persamaan yang berusaha mendekati nilai y
dengan ekspansi aljabar.
1. Trapezoidal rule
y y
y1
y=f(x) y=f(x)
y0 y0 yn-1
y1 yn
Δx
I1 I2 In-1 In
x0 x1 x x0 x1 xn-1 xn x
Gambar 2. Metode integrasi dengan trapezoidal rule. 2a (kiri) prinsip dasar pendekatan
trapezoidal; 2b (kiri) pendekatan dengan metode trapezoidal sebanyak n
inkremen
Sesuai dengan namanya metode trapezoidal mendekati suatu fungsi y=f(x) sebagai
trapezoid seperti yang ditampilkan pada gambar 2a. Apabila fungsi y=f(x) dibagi dalam n
inkremen dengan tebal sebesar Δx dan didekati dengan metode trapezoid maka akan
diperoleh gambar 2b.
𝑦0 + 𝑦1 𝑥1 − 𝑥0 𝑦0 + 𝑦1
𝐼1 = = ∆𝑥
2 2
Untuk n inkremen seperti pada gambar 2b maka luas area dibawah kurva merupakan
penjumlahan dari setiap trapezoid sehingga:
𝐼 = 𝐼1 + 𝐼2 + ⋯ + 𝐼𝑛−1 + 𝐼𝑛
𝑖=𝑛−1
∆𝑥
𝐼= 𝑦0 + 2 𝑦𝑖 + 𝑦𝑛
2
𝑖=1
Rumus tersebut merupakan rumus integrasi numeris untuk metode trapezoid untuk n
inkremen. Pada bahasa pemrograman Matlab, indeks i=0 tidak ada, sehingga
perhitungan dimulai pada i=1 sehingga persamaan diatas dimodifikasi untuk Matlab
menjadi sebagai berikut :
𝑖=𝑁−1
∆𝑥
𝐼= 𝑦1 + 2 𝑦𝑖 + 𝑦𝑁
2
𝑖=2
dengan N adalah jumlah titik perhitungan bukan inkremen (n) seperti pada persamaan
sebelumnya berlaku N=n+1.
y2 y3
y1 y1
y=f(x) y=f(x)
y0 y0
yn-1
y2 yn
Δx Δx Δx Δx Δx
x0 x1 x2 x x0 x1 x2 x3 xn-1 xn x
Catatan : jumlah inkremen yang digunakan pada metode Simpson’s harus GENAP!
Pada bahasa pemrograman Matlab, indeks i=0 tidak ada, sehingga perhitungan
dimulai pada i=1 sehingga persamaan diatas dimodifikasi untuk Matlab menjadi
sebagai berikut :
𝑖= 𝑁−1 /2 𝑖= 𝑁−1 /2−1
∆𝑥
𝐼= 𝑦1 + 4 𝑦2𝑖 + 2 𝑦2𝑖−1 + 𝑦𝑁
3
𝑖=1 𝑖=2
dengan N adalah jumlah titik perhitungan bukan inkremen (n) seperti pada
persamaan sebelumnya, berlaku N=n+1. Dengan menggunakan rumus ini, maka nilai
N harus selalu GANJIL!
𝑦 = 10𝑥 2 + 12𝑥 + 2
pada interval xa=0 hingga xb=2.
Hitunglah nilai integrasi persamaan tersebut dengan metode trapezoidal rule dan
Simpson’s 1/3 rule!
Contoh program dengan algoritma manual pada gambar 4 adalah sebagai berikut:
Main Program
% mencari nilai integrasi secara numeris dengan metode trapezoidal rule
% input data
xa=0; % batas kiri dari integrasi
xb=2; % batas kanan dari integrasi
N=11; % jumlah titik perhitungan
% memulai perhitungan integrasi trapezoidal
delx=(xb-xa)/(N-1) % delta x
A=0; % luas awal
for i=1:N
x(i)=xa+(i-1)*delx; % menghitung nilai x pada inkremen ke i
y(i)=hitung_y(x(i)); % menghitung nilai y pada x(i)
if i==1
A=A+y(i);
elseif i==N
A=A+y(i);
else
A=A+y(i)*2;
end
end
Integ=A*delx/2;
fprintf('Hasil integrasi adalah %6.4f \n',Integ)
Subprogram
function y=hitung_y(x)
y=10*x^2+12*x+2;
Hasil
Hasil integrasi adalah 54.8000
Mulai Program
Masukkan nilai
xa,xb, N
subprogram
Hitung nilai y=f(x) dengan x function y=hitungy(x)
subprogram
y y=10*x^2+12*x+1
TIDAK TIDAK
YA Apakah i=0? Apakah
YAi=N?
LOOP FOR
YA
YA
Hitung nilai luas (A) Hitung nilai luas (A)
A=A+y A=A+2*y
Ulangi untuk i
selanjutnya?
TIDAK
Tampilkan
Hasil
Perhitungan
Akhir Program
Oleh karena pemrograman Matlab berbasis pada matriks, prosedur looping for untuk
mencari jumlahan nilai y sesuai dengan persamaan trapezoidal rule dapat diganti
dengan menerapkan metode matriks. Langkah hitungnya adalah sebagai berikut :
𝑦0 + 𝟐 𝒚𝒊 + 𝑦𝑛
𝒊=𝟏
maka nilai 𝒊 𝒚𝒊 dapat dihitung langsung sebagai berikut
I=sum(yi)*delx/2
dengan menggunakan konsep matriks maka perintahnya menjadi lebih singkat dan lebih
efektif daripada menggunakan looping for!
Mulai Program
Masukkan nilai
xa,xb, N
subprogram
Hitung nilai yi=f(xi) dengan x
function y=hitungy(x)
subprogram y y=10*x.^2+12*x+1
Tampilkan
Hasil
Perhitungan
Akhir Program
Main Program
% mencari nilai integrasi secara numeris dengan metode trapezoidal rule
% input data
xa=0; % batas kiri dari integrasi
xb=2; % batas kanan dari integrasi
N=11; % jumlah titik perhitungan
% memulai perhitungan integrasi trapezoidal
xi=linspace(xa,xb,N); % membuat nilai xi pada setiap inkremen
delx=xi(2)-xi(1); % delta x
yi=hitung_y(xi); % menghitung nilai y pada setiap xi
yi(2:N-1)=yi(2:N-1)*2; % nilai yi untuk i=2 hingga i=N-1 maka
yi*2
Integ=sum(yi)*delx/2;
fprintf('Hasil integrasi adalah %6.4f \n',Integ)
Subprogram
function y=hitung_y(x)
y=10*x.^2+12*x+2;
Hasil
Hasil integrasi adalah 54.8000
Hasil yang diperoleh dengan cara manual maupun dengan cara matriks sama.
𝑦1 + 4 𝑦2𝑖 + 2 𝑦2𝑖−1 + 𝑦𝑁
𝑖=1 𝑖=2
Main Program
Subprogram
function y=hitung_y(x)
y=10*x.^2+12*x+2;
Hasil
LATIHAN
Buatlah algoritma hitung Simpson’s Rule untuk persoalaan diatas dengan cara manual (bukan
matriks). Kemudian buatlah penyelesaian persoalan diatas dalam bentuk program Matlab
sesuai dengan algoritma hitung yang sudah dibuat!
TUGAS 2
PEMROGRAMAN KOMPUTER
STTN BATAN
Suatu reaktor batch beroperasi secara adiabatic untuk reaksi fasa cair order 2: A B dengan
persamaan reaksi sebagai berikut:
𝑟𝐴 = 𝑘𝐶𝐴 2
dengan
𝐸
𝑘 = 𝐴 𝑒𝑥𝑝 −
𝑅𝑇
perubahan entalpi reaksi (ΔHR), volum reaktor (VR) dan kapasitas panas larutan (Cp) dianggap
tetap. Umpan masuk pada suhu Tf dan konsentrasi A mula-mula CA0. Reaksi dihentikan pada
saat xR dengan konversi mula-mula xR0. Ingin dicari waktu tinggal di dalam reaktor yang
memberikan nilai xR sebesar 0.6269371.
Diketahui :
VR = 10000 L E=14 kcal/mol
CA0=1 mol/L ΔHR=-6 kcal/mol
ρ = 1 kg/L R=0.001987 kcal/mol/K
Cp=1,0 kcal/kg/K Tf=350 K
7
A=1x10 L/mol/menit xR0=0
waktu tinggal di dalam reaktor dapat dihitung dengan persamaan sebagai berikut :
𝑥𝑜𝑢𝑡
1 1
𝑡𝑅 = 2
𝑑𝑥
𝐶𝐴0 𝑘 1−𝑥
𝑥𝑖𝑛
dengan
𝐸
𝑘 = 𝐴 𝑒𝑥𝑝 −
𝑅𝑇
𝐶𝐴0 ∆𝐻𝑅
𝑇 = 𝑇𝑓 − 𝑥
𝜌𝐶𝑝
Jawaban
Waktu tinggal di dalam reaktor = 80.8101 menit