1 Pengenalan Integral Metode Simpson
Integral metode Simpson adalah salah satu metode integral numerik. Integral Simpson juga disebut intgral parabola, karena pendekatan partisi suatu fungsi dibuat sedemikian rupa sehingga mirip parabola. Sebagai ilustrasi, lihat gambar berikut
Kurva yang berwarna merah adalah fungsi
aslinya, sedangkan yang berwarna hijau
adalah aproksimasi dengan Simpson.
Dari gambar, terlihat bahwa untuk membentuk partisi berbentuk parabola, dibutuhkan 3 titik, yaitu (\(x_0\), \(x_1\), \(x_2\)), (\(x_2\), \(x_3\), \(x_4\)), (\(x_4\), \(x_5\), \(x_6\)). Selain itu, untuk membentuk partisi berbentuk parabola, dibutuhkan n partisi di mana n bernilai genap
Luas suatu kurva dapat diaproksimasi secara numerik dengan menghitung
luas setiap parabola. Pandang satu parabola sebagai berikut
Luas dibawah parabola tersebut adalah
\[
L=\frac{h}{3}(c+4d+e)
\]
h \(=\frac{b-a}{n}\)
Pembuktian
Untuk memudahkan proses pembuktian, ditetapkan titik \(x_c\) adalah 0, sehingga \(x_d=h\) dan \(x_e=2h\)
Fungsi parabola adalah \(f(x)=px^2+qx+r\), sehingga
\(f(x_c)=f(0)=c=r...(i)\)
\(f(x_d)=f(h)=d=ph^2+qh+r...(ii)\)
\(f(x_e)=f(2h)=e=4ph^2+2qh+r...(iii)\)
Luas dibawah kurva parabola dapat dihitung dengan integral
\(=\int_{x_c}^{x_e}px^2+qx+rdx\)
\(=\int_{0}^{2h}px^2+qx+rdx\)
\(=\frac{1}{3}px^3+\frac{1}{2}qx^2+rx]_0^{2h}\)
\(=\frac{1}{3}p(8h^3)+\frac{1}{2}q(4h^2)+2rh\)
\(=\frac{1}{3}h[8ph^2+6qh+6r]\)
Lihat persamaan \((i), (ii), dan (iii)\). Jika persamaan \((ii)\) dikali 4, maka didapat hasil \(4d=4ph^2+4qh+4r...(iv)\). Lalu jika persamaan \((i), (iii), dan (iv)\) dijumlah, maka diperoleh \(8ph^2+6qh+6r\)
Sehingga, terbukti bahwa luas dibawah kurva parabola adalah \[
L=\frac{h}{3}(c+4d+e)
\]
Untuk \(\int_{a}^{b}f(x)dx\) dengan
\(a=x_0\) dan \(b=x_n\), maka akan dipartisi beberapa
parabola, sehingga luas totalnya adalah \(=\frac{h}{3}(f(x_0)+4f(x_1)+f(x_2))+\frac{h}{3}(f(x_2)+4f(x_3)+f(x_4))+\frac{h}{3}(f(x_4)+4f(x_5)+f(x_6))+...+\frac{h}{3}(f(x_{n-2})+4f(x_{n-1})+f(x_n))\)
\(=\frac{h}{3}[(f(x_0)+4f(x_1)+f(x_2))+(f(x_2)+4f(x_3)+f(x_4))+(f(x_4)+4f(x_5)+f(x_6))+...+(f(x_{n-2})+4f(x_{n-1})+f(x_n))]\)
\(=\frac{h}{3}[f(x_0)+4f(x_1)+2f(x_2)+4f(x_3)+2f(x_4)+4f(x_5)+2f(x_6)+...+2f(x_{n-2})+4f(x_{n-1})+f(x_n)]\)
Perhatikan selain \(x_0\) dan \(x_n\), indeks \(x\) bernilai ganjil memiliki suku koefisien 4 sedangkan indeks \(x\) bernilai genap memiliki suku koefisien 2.
Secara ringkas, aproksimasi integral dengan metode Simpson adalah
\(\int_{a}^{b}f(x)dx \approx\) \(\frac{1}{3}h[f(x_0)+4\sum_{i=1,3,5,...}^{n-1}f(x_i)+2\sum_{i=2,4,6,...}^{n-2}f(x_i)+f(x_n)]\)
2 Error dalam Integral Metode Simpson
Error dalam integral Metode Simpson dinyatakan sebagai:
\[
E_n=-\frac{(b-a)^5}{180n^4}f^{4}(c)
\]
Titik c berada di [a,b] dan yang menyebabkan nilai \(|f^{4}(c)|\) paling maximum di [a,b]
3 Contoh
Tentukan nilai dari \(\int_{1}^{2}\frac{1}{\sqrt{x}}dx\). Gunakan n=10 untuk metode Simpson.
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.8284271 [
3.2 Metode Simpson (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 y1 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
>
> simpson<-function(n,h,ys){
+ i_gan<-seq(2,n,by=2)
+ i_gen<-seq(3,n-1,by=2)
+ integ<-h/3*(ys[1]+4*sum(ys[i_gan])+2*sum(ys[i_gen])+ys[n+1])
+ return(integ)
+ }
> simpson(n,h,ys)
1] 0.8284281 [
NOTE: Terdapat perbedaan index dari rumus dengan penerapannya di R. Jika di rumus dianggap mulai dari \(x_0\), maka di R dianggap mulai dari \(x_1\), sehingga index di R dimulai 1 langkah lebih maju
3.3 Error
Turunan keempat \(\frac{1}{\sqrt{x}}\) adalah
\(f^{4}(x)=\frac{105}{16x\sqrt{x}|x^3|}\)
dengan grafik sebagai berikut
> library(ggplot2)
> x <- seq(1,2,length=10001)
> y <- 105/(16*x*sqrt(x)*abs(x^3))
> 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] 6.5625
[> df$x[which.min(df$y)]
1] 2
[> min<-abs(min(df$y))
> min
1] 0.2900243 [
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^{4}(c)=f^{4}(1)=6.5625\)
\(E_n=-\frac{(b-a)^5}{180n^4}f^{4}(c)\)
\(E_n=-\frac{(2-1)^5}{180(10^4)}6.5625\)
> En<--(b-a)^5*max/(180*n^4)
> abs(En)
1] 3.645833e-06 [
Nilai error=3.645833e-06 artinya untuk fungsi di atas jika integral dihitung dengan metode Simpson dengan n=10, paling tinggi selisih antara nilai eksak dengan nilai metode Simpson tersebut adalah 3.645833e-06. Hasil yang baik karena error mendekati 0.