1 Pengenalan Integral Metode Trapezoid
Penerapan integral dapat berguna di beberapa permasalahan, seperti menghitung luas di bawah suatu kurva atau mencari nilai peluang. Namun, tidak semua fungsi dapat diintegralkan dengan mudah. Oleh sebab itu, digunakan pendekatan numerik dalam melakukan integral.
Pada pembahasan kali ini, akan dibahas salah satu metode integral numerik, yaitu metode Trapezoid. Metode Trapezoid mempartisi suatu fungsi menjadi n bagian lalu membentuk partisi-partisi tersebut sedemikian rupa sehingga menjadi bentuk trapesium. Untuk lebih jelasnya, lihat gambar berikut
Gambar 1. Ilustrasi Integral dengan Metode Trapezoid
Ilustrasi di atas adalah mempartisi suatu fungsi menjadi n bagian. Luas di bawah kurva mulai dari \(x_0\) hingga \(x_n\) dapat ditulis sebagai berikut: \[ \int_{a}^{b}f(x)dx \] di mana
\(a=x_0\)
\(b=x_n\)
Luas tersebut dapat diaproksimasi secara numerik dengan meghitung luas setiap trapesium. Luas trapesium adalah \[ \frac{1}{2}\times tinggi\times jumlahsisisejajar \]
Misal untuk partisi trapesium pertama
Maka luas trapesium di atas adalah
\(\frac{1}{2}h[f(x_0)+f(x_1)]\)
h untuk setiap trapesium bernilai sama yaitu \(\frac{b-a}{n}\)
Begitu pula untuk partisi trapesium kedua, yaitu \(\frac{1}{2}h[f(x_1)+f(x_2)]\), partisi trapesium ketiga, yaitu \(\frac{1}{2}h[f(x_2)+f(x_3)]\) hingga partisi trapesium ke-n, yaitu \(\frac{1}{2}h[f(x_{n-1})+f(x_n)]\)
Sehingga, total dari seluruh luas trapesium
\(=\frac{1}{2}h[f(x_0)+f(x_1)]+\frac{1}{2}h[f(x_1)+f(x_2)]+\frac{1}{2}h[f(x_2)+f(x_3)]+...+\frac{1}{2}h[f(x_{n-1})+f(x_n)]\)
Faktorkan \(\frac{1}{2}h\) sehingga
menjadi
\(=\frac{1}{2}h[f(x_0)+f(x_1)+f(x_1)+f(x_2)+f(x_2)+f(x_3)+...+f(x_{n-1})+f(x_n)]\)
Perhatikan bahwa \(f(x_1)\), \(f(x_2)\), hingga \(f(x_{n-1})\) muncul sebanyak 2 kali.
Sehingga
\(=\frac{1}{2}h[f(x_0)+2f(x_1)+2f(x_2)+2f(x_3)+...+2f(x_{n-1})+f(x_n)]\)
\(=\frac{1}{2}h[f(x_0)+2(f(x_1)+f(x_2)+f(x_3)+...+f(x_{n-1}))+f(x_n)]\)
Secara ringkas, aproksimasi integral dengan metode Trapezoid adalah
\(\int_{a}^{b}f(x)dx \approx\) \(\frac{1}{2}h[f(x_0)+2\sum_{i=1}^{n-1}f(x_i)+f(x_n)]\)
2 Error dalam Integral Metode Trapezoid
Error dalam integral Metode Trapezoid dinyatakan sebagai:
\[
E_n=-\frac{(b-a)^3}{12n^2}f''(c)
\]
Titik c berada di [a,b] dan yang menyebabkan nilai \(|f''(c)|\) paling maximum di [a,b]
3 Contoh
Tentukan nilai dari \(\int_{1}^{2}\frac{1}{\sqrt{x}}dx\). Gunakan n=10 untuk metode trapezoid.
3.1 Metode Eksak (dengan
fungsi built-in integrate())
> f<-function(x){
+ 1/sqrt(x)
+ }
> integral<-integrate(f, lower = 1, upper = 2)
> integral$value
[1] 0.82842713.2 Metode Trapezoid (manual)
> f<-function(x){
+ 1/sqrt(x)
+ }
> a=1
> b=2
> n=10
> h=(b-a)/n
> xs<-seq(from=a, to=b, by=h)
> ys<-f(xs)
> df<-data.frame(x=xs, y=f(xs))
> df
x y
1 1.0 1.0000000
2 1.1 0.9534626
3 1.2 0.9128709
4 1.3 0.8770580
5 1.4 0.8451543
6 1.5 0.8164966
7 1.6 0.7905694
8 1.7 0.7669650
9 1.8 0.7453560
10 1.9 0.7254763
11 2.0 0.7071068
>
> trapezoid<-function(n,h,ys){
+ i<-seq(from=2, to=n,by=1)
+ integ<-h/2*(ys[1]+2*sum(ys[i])+ys[n+1])
+ return(integ)
+ }
> trapezoid(n,h,ys)
[1] 0.8286962
xsadalah titik-titik x yang menjadi interval
ysadalah nilai fungsi di setiap xs
3.3 Metode Trapezoid
(dengan fungsi built-in trapz())
> library(pracma)
> xt<-seq(from=1, to=2, length.out=n+1)
> yt<-f(xt)
> df2<-data.frame(x=xt, y=yt)
> df2
x y
1 1.0 1.0000000
2 1.1 0.9534626
3 1.2 0.9128709
4 1.3 0.8770580
5 1.4 0.8451543
6 1.5 0.8164966
7 1.6 0.7905694
8 1.7 0.7669650
9 1.8 0.7453560
10 1.9 0.7254763
11 2.0 0.7071068
> trapz(xt,yt)
[1] 0.82869623.4 Error
Turunan kedua \(\frac{1}{\sqrt{x}}\)
adalah
\(f''(x)=\frac{3}{4x^2\sqrt{x}}\)
dengan grafik sebagai berikut
> library(ggplot2)
> x <- seq(1,2,length=10001)
> y <- 3/(4*x^2*sqrt(x))
> df <- data.frame(x = x, y = y)
> ggplot(data = df, aes(x = x, y = y)) + geom_line()
Dari grafik, tampak bahwa nilai fungsi akan maksimum saat
x=c=1
> df$x[which.max(df$y)]
[1] 1
> max<-abs(max(df$y))
> max
[1] 0.75
> df$x[which.min(df$y)]
[1] 2
> min<-abs(min(df$y))
> min
[1] 0.1325825
df$x[which.max(df$y)]untuk mencari nilai c pembuat fungsi bernilai maksimum
abs(max(df$y))untuk mencari nilai maksimum fungsi (secara mutlak)
df$x[which.min(df$y)]untuk mencari nilai c pembuat fungsi bernilai minimum
abs(min(df$y))untuk mencari nilai minimum fungsi (secara mutlak)
Dari output, terlihat nilai maksimumnya adalah saat \(f''(c)=f''(1)=0.75\)
\(E_n=-\frac{(b-a)^3}{12n^2}f''(c)\)
\(E_n=-\frac{(2-1)^3}{12(10)^2}0.75\)
> En<--(b-a)^3*max/(12*n^2)
> abs(En)
[1] 0.000625Nilai error=0.000625 artinya untuk fungsi di atas jika integral dihitung dengan metode Trapezoid dengan n=10, paling tinggi selisih antara nilai eksak dengan nilai metode Trapezoid tersebut adalah 0.000625