\chapter{Integrasi Numerik}
Ide utama dari operasi integral tertentu adalah untuk menghitung luasan wilayah di bawah kurva antara dua nilai $a$ dan $b$ (Gambar \ref{fig51}) dengan menggunakan berbagai metode integrasi yang telah kita pelajari di Kalkulus 1 dan 2, guna memperoleh hasil analitik-nya.

\begin{figure}[H]
    \centering
    \includegraphics[width=0.7\textwidth]{gambar/gambar051.png}
    \caption{Representasi grafis integral tertentu.}
    \label{fig51}
\end{figure}

Integrasi numerik bertujuan untuk menghitung luas di bawah kurva suatu fungsi dengan membagi luasan ke dalam wilayah - wilayah diskrit, di mana luas setiap wilayah tersebut dapat dihitung dengan menggunakan kaidah matematika sederhana. Selanjutnya, luas seluruh wilayah tersebut dijumlahkan untuk mendapatkan total luas di bawah kurva dari \(a\) hingga \(b\) (Gambar \ref{fig51}).

Metode integrasi numerik dapat berguna untuk kasus di mana tidak terdapat solusi integral eksplisit dari suatu persamaan, atau jika integrasi tersebut dilakukan berdasarkan data empirik. Akurasi dari metode integrasi numerik sangat bergantung pada jumlah wilayah - wilayah diskrit yang menutupi area di bawah kurva dengan presisi. Metode ini lebih efisien ketika menghasilkan hasil yang akurat dengan pembagian wilayah yang lebih sedikit.

\section{Kaidah Trapesium}
Kaidah trapesium adalah metode integrasi numerik yang paling dasar. Seperti yang ditunjukkan pada Gambar \ref{fig52}, luasan di bawah kurva dibagi ke dalam beberapa trapesium vertikal dengan lebar yang sama, \(h\) yang mana titik - titik atas-nya bersinggungan dengan kurva.

\begin{figure}[H]
    \centering
    \includegraphics[width=0.7\textwidth]{gambar/gambar052.png}
    \caption{Representasi grafis kaidah trapesium.}
    \label{fig52}
\end{figure}

Luas trapesium pertama dihitung dengan persamaan berikut ini:

\begin{equation}
    A = h \frac{f(x_0) + f (x_1)}{2}
    \label{eq51}
\end{equation}

Integral-nya merupakan jumlah dari seluruh trapesium:
\begin{subequations}
    \begin{equation}
    I = \frac{h}{2}[f(x_0) + f(x_1)] + \frac{h}{2}[f(x_1) + f(x_2)] + \ldots + \frac{h}{2}[f(x_{n-2}) + f(x_{n-1})] + \frac{h}{2}[f(x_{n-1}) + f(x_n)]
        \label{eq52a}
    \end{equation}

    \begin{equation}
        I = h \left\{ \frac{1}{2}[f(x_0) + f(x_n)] + f(x_1) + f(x_2) + \ldots + f(x_{n-2}) + f(x_{n-1}) \right\}
        \label{eq52b}
    \end{equation}

    \begin{equation}
        I = h \left\{ \frac{1}{2}[f(x_a) + f(x_b)] + f(x_1) + f(x_2) + \ldots + f(x_{n-2}) + f(x_{n-1}) \right\}
        \label{eq52c}
    \end{equation}
\end{subequations}

Kaidah ini dapat diimplementasikan dengan mudah menggunakan struktur pengulangan tunggal karena $h$ yang bersifat konstan. Notasi $x_i$ dapat dimplementasikan sebagai \verb|x1| $\longrightarrow$ \verb|a + h|, \verb|x2| $\longrightarrow$ \verb|a + 2h|, dan seterusnya.

Pada bagian ini kita akan mencoba menyelesaikan integral berikut ini untuk diimplementasikan menggunakan kaidah trapesium:

\begin{equation}
    \int_{0}^{\frac{\pi}{2}} x \sin{(x)} \, dx
    \label{eq53}
\end{equation}

Secara analitik, kita dapat menyelesaikan integral ini dengan metode integrasi parsial yang telah kita pelajari semenjak di bangku SMA: 

\begin{equation}
 \int u \,dv = uv - \int v \,du  
 \label{eq54}
\end{equation}
 
Di sini, kita pilih \( u \) dan \( dv \) sedemikian rupa sehingga \( du \) dan \( v \) mudah dihitung. Maka, kita tetapkan \( u = x \) dan \( dv = \sin{(x)} \,dx \). Kemudian, kita dapat mencari \( du \) dan \( v \):

\begin{subequations}
    \begin{equation}
        du = dx
        \label{eq55a}
    \end{equation}
    \begin{equation}
    v = -\cos{(x)} 
        \label{eq55b}
    \end{equation}
\end{subequations}

Kemudian dengan mensubstitusikan-nya ke persamaan \ref{eq54}, kita mendapatkan:

\begin{equation}
    \int x \sin{(x)} \,dx = -x\cos{(x)} - \int (-\cos{(x)}) \,dx
    \label{eq56}
\end{equation}

Selanjutnya, integrasikan suku yang tersisa:

\begin{equation}
    \int x \sin{(x)} \,dx = -x\cos{(x)} + \int \cos{(x)} \,dx
    \label{eq57}
\end{equation}

Integral dari \( \cos{(x)} \) adalah \( \sin{(x)} \), sehingga kita dapatkan:

\begin{equation}
    \int x \sin{(x)} \,dx = -x\cos{(x)} + \sin{(x)} + C 
\label{eq58}
\end{equation}

Kemudian, kita mengevaluasi ekspresi ini dari \( 0 \) hingga \( \frac{\pi}{2} \), di mana \( C \) adalah konstanta integrasi:

\begin{equation}
    \left[-\frac{\pi}{2}\cos{\left(\frac{\pi}{2}\right)} + \sin{\left(\frac{\pi}{2}\right)}\right] - \left[0\cos{(0)} + \sin{(0)}\right]
    \label{eq59}
\end{equation}

Kemudian, kita sederhanakan ekspresi ini:

\begin{equation}
-\frac{\pi}{2}(0) + 1 - (0 + 0) = 1
\label{eq510}
\end{equation}

Sehingga, secara analitik nilai integral-nya adalah \( 1 \).

Berikut ini adalah implementasi numerik-nya dengan menggunakan kaidah trapesium:

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_051.py}
\linenumbers

Berikut adalah hasil-nya:
\nolinenumbers
\begin{verbatim}
    Integral = 1.008265
\end{verbatim}
\linenumbers

Dengan mereduksi pembagi \verb|n=10|, kita akan mendapatkan aproksimasi yang lebih akurat:

\nolinenumbers
\begin{verbatim}
    Integral = 1.002059
\end{verbatim}
\linenumbers

Jika \verb|n=100|:

\nolinenumbers
\begin{verbatim}
    Integral = 1.000021
\end{verbatim}
\linenumbers

Dengan hanya menggunakan kaidah trapesium yang sangat sederhana, dengan $n=100$, kita dapatkan akurasi hingga empat digit desimal (luar biasa, bukan?!).

\section{Kaidah Simpson}

Kaidah Simpson menggunakan faktor pembobotan untuk mengaproksimasi integral guna meningkatkan akurasi dengan jumlah pembagian wilayah diskritisasi yang lebih sedikit (Gambar \ref{fig53}). Berbeda dengan kaidah trapesium yang hanya mempertimbangkan dua titik, \(x_i\) dan \(x_{i+1}\), untuk menghitung luas trapesium, kaidah Simpson menggunakan lebih dari dua titik, yakni, dengan mempertimbangkan beberapa \textit{strip}, pada setiap iterasinya. Nilai-nilai \(f(x)\) pada titik - titik tersebut disesuaikan dengan faktor pembobotan untuk meminimalkan kesalahan.

\begin{figure}[H]
    \centering
    \includegraphics[width=0.7\textwidth]{gambar/gambar053.png}
    \caption{Representasi grafis kaidah Simpson.}
    \label{fig53}
\end{figure}

\subsection{Kaidah Simpson 1/3}
Metode ini bertujuan untuk menghitung luas dua \textit{strip} sekaligus, sehingga, tiga nilai \(x\) diperhitungkan pada setiap iterasi. Untuk menutupi seluruh domain dengan tepat, jumlah \textit{strip}, \(n\), haruslah genap.

Berikut adalah perhitungan luas dua \textit{strip} pertama:

\begin{equation}
    A = \frac{1}{3}h \left[ f(x_0) + 4f(x_1) + f(x_2) \right]
    \label{eq511}
\end{equation}

Penjumlahan dari seluruh pasang \textit{strip}:

\begin{equation}
\begin{aligned}
I = &\frac{1}{3}h [f(x_0) + 4f(x_1) + f(x_2)] \\
&+ \frac{1}{3}h [f(x_2) + 4f(x_3) + f(x_4)] + \ldots \\
&+ \frac{1}{3}h [f(x_{n-4}) + 4f(x_{n-3}) + f(x_{n-2})] \\
&+ \frac{1}{3}h [f(x_{n-2}) + 4f(x_{n-1}) + f(x_n)]
\end{aligned}
\label{eq512}
\end{equation}

Persamaan \ref{eq512} dapat dituliskan ulang menjadi:

\begin{equation}
\begin{aligned}
I = \frac{1}{3}h\Big[&f(x_0) + f(x_n) \\
&+ 4(f(x_1) + f(x_3) + \ldots + f(x_{n-3}) + f(x_{n-1})) \\
&+ 2(f(x_2) + f(x_4) + \ldots + f(x_{n-4}) + f(x_{n-2}))\Big]
\end{aligned}
\label{eq513}
\end{equation}

Dan secara lebih ringkas untuk kepentingan pemrograman menjadi:

\begin{equation}
I = \frac{1}{3}h \left[ f(a) + f(b) + \sum_{i=1,3,5}^{n-1} 4f(x_i) + \sum_{i=2,4,6}^{n-2} 2f(x_i) \right]
\label{eq514}
\end{equation}

Berikut adalah implementasi kaidah Simpson 1/3 di Python untuk persamaan \ref{eq53}:

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_052.py}
\linenumbers

Hasilnya adalah:

\nolinenumbers
\begin{verbatim}
    Integral = 0.999921
\end{verbatim}
\linenumbers

Jika \verb|n=10|:

\nolinenumbers
\begin{verbatim}
    Integral = 0.999990
\end{verbatim}
\linenumbers

Jika \verb|n=22|:

\nolinenumbers
\begin{verbatim}
    Integral = 1.000000
\end{verbatim}
\linenumbers

\subsection{Kaidah Simpson 3/8}
Kaidah ini mirip dengan kaidah Simpson 1/3 yang telah kita pelajari. Satu - satu-nya perbedaan adalah dengan diikutsertakannya tiga \textit{strip} pada setiap perhitungan luas. Dengan demikian, empat titik harus dilibatkan pada setiap perhitungan. Berikut ini adalah persamaan yang dapat digunakan guna menghitung luasan tiga \textit{strip} pertama:

\begin{equation}
A = \frac{3}{8}h [f(x_0) + 3f(x_1) + 3f(x_2) + f(x_3)]
\label{eq515}
\end{equation}

Dengan demikian, jumlah semua pasangan \textit{strip} akan menjadi:

\begin{equation}
    \begin{aligned}
        I = \frac{3}{8}h &[f(x_0) + 3f(x_1) + 3f(x_2) + f(x_3)] \\
&+ \frac{3}{8}h [f(x_3) + 3f(x_4) + 3f(x_5) + f(x_6)] + \ldots \\
&+ \frac{3}{8}h [f(x_{n-3}) + 3f(x_{n-2}) + 3f(x_{n-1}) + f(x_n)]
    \end{aligned}
    \label{eq516}
\end{equation}

Berikut adalah persamaan yang dapat kita gunakan untuk kebutuhan pemrograman:

\begin{equation}
I = \frac{3}{8}h \left\{ [f(a) + f(b)] + \sum_{i=1,4,7}^{n-2} 3[f(x_i) + f(x_{i+1})] + \sum_{i=3,6,9}^{n-3} 2f(x_i) \right\}
\label{eq517}
\end{equation}

Jumlah \textit{strip}, \verb|n|, harus merupakan kelipatan dari tiga. Berikut adalah penerapan-nya secara numerik di Python untuk persamaan \ref{eq53}:

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_053.py}
\linenumbers

Hasilnya adalah:

\nolinenumbers
\begin{verbatim}
    Integral = 0.999819
\end{verbatim}
\linenumbers

Pada \verb|n=12|:
\nolinenumbers
\begin{verbatim}
    Integral = 0.999989
\end{verbatim}
\linenumbers

Pada \verb|n=21|:
\nolinenumbers
\begin{verbatim}
    Integral = 1.000000
\end{verbatim}
\linenumbers

\section{Integrasi Ganda}
Integrasi ganda dapat diselesaikan secara numerik dengan pengulangan bersarang pada setiap variabel-nya mulai dari batas bawah hingga batas atas integral. Terdapat tiga tahapan modifikasi jika kita hendak menerapkan kaidah Simpson untuk penyelesaian integral ganda:
\begin{itemize}
    \item Pengembangan struktur pengulangan untuk mengakomodasi integrasi ganda. Kaidah Simpson 1/3 dihitung dengan menggunakan modifikasi algoritma sebagai berikut:
    
  \begin{equation}
I = \frac{1}{3}h [f_0 + 4f_1 + 2f_2 + 4f_3 + 2f_4 + \ldots + 2f_{n-4} + 4f_{n-3} + 2f_{n-2} + 4f_{n-1} + f_n]
\label{eq518}
\end{equation}

, dan untuk kaidah Simpson 3/8:

\begin{equation}
I = \frac{3}{8}h [f_0 + 3f_1 + 3f_2 + 2f_3 + 3f_4 + \ldots + 3f_{n-4} + 2f_{n-3} + 3f_{n-2} + 3f_{n-1} + f_n]
\label{eq519}
\end{equation}

, di mana $f := f(x, y)$. Perlu diperhatikan, bahwa pada operasi ini setiap faktor untuk suku integrasi pertama harus dikalikan dengan setiap faktor pada suku integrasi kedua, begitu pun sebaliknya.

\item Jumlah pembagian yang diterapkan pada kaidah Simpson 1/3 harus berjumlah genap, sedangkan pada kaidah 3/8 harus kelipatan dari tiga. Setiap langkah integrasi juga mempunyai \textit{step size} yang berbeda.

\item Penjumlahan akhirnya harus dikalikan dengan faktor yang serupa. Pada kaidah Simpson 1/3:

\begin{equation}
    \frac{h_x}{3} \frac{h_y}{3} = \frac{h_x h_y}{9}
    \label{eq520}
\end{equation}

Pada kaidah Simpson 3/8:

\begin{equation}
    \frac{3h_x}{8} \frac{3h_y}{8} = \frac{9h_x h_y}{16}
    \label{eq521}
\end{equation}
\end{itemize}

Kita akan mencoba menyelesaikan persamaan berikut ini sebagai contoh untuk penghitungan integrasi ganda:

\begin{equation}
I = \int_{-1}^{1}\int_{1}^{2}\left( x^2 y + x y^2 \right) \,dx \,dy
    \label{eq522}
\end{equation}

Mari kita coba selesaikan persamaan \ref{eq522} secara analitik. Langkah pertama adalah melakukan integrasi terhadap \(x\):

\begin{equation}
   \int_{1}^{2} (x^2y + xy^2) \,dx 
   \label{eq523}
\end{equation}

Kemudian kita mengevaluasi batas bawah dan batas atas $x$ tersebut:
\begin{equation}
   \left[\frac{1}{3}x^3y + \frac{1}{2}x^2y^2\right]_{1}^{2} 
   \label{eq524}
\end{equation}

Sehingga didapatkan:
\begin{equation}
   \frac{7}{3}y + \frac{3}{2}y^2
   \label{eq525}
\end{equation}

Kemudian, kita integrasikan terhadap $y$ dari -1 hingga 1:

\begin{equation}
\int_{-1}^{1} \left(\frac{7}{3}y + \frac{3}{2}y^2\right) \,dy
    \label{eq526}
\end{equation}

Kemudian dilakukan evaluasi pada batas bawah dan batas atas $y$ tersebut:

\begin{equation}
    \begin{aligned}
        \left(\frac{7}{6}y^2 + \frac{1}{2}y^3\right)_{-1}^{1}\\
        \left(\frac{7}{6}(1^2) + \frac{1}{2}(1^3)\right) - \left(\frac{7}{6}(-1)^2 + \frac{1}{2}(-1)^3\right)\\
        \left(\frac{7}{6} + \frac{1}{2}\right) - \left(\frac{7}{6} - \frac{1}{2}\right)\\
        \frac{7}{6} + \frac{1}{2} - \frac{7}{6} + \frac{1}{2}
    \end{aligned}
    \label{eq527}
\end{equation}

Sehingga, didapatkan hasil akhir:

\begin{equation}
\frac{2}{2} = 1
    \label{eq528}
\end{equation}

Berikut ini penerapan-nya secara numerik di Python:

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_054.py}
\linenumbers

Hasilnya adalah:
\nolinenumbers
\begin{verbatim}
    Integral = 1.000000
\end{verbatim}
\linenumbers

\section{Integrasi Numerik Menggunakan SciPy}
Integrasi numerik berada pada modul \verb|scipy.integrate|. Modul ini memuat berbagai macam fungsi integrasi numerik seperti \verb|quad()|, \verb|dblquad()|, dan \verb|nquad()|. Berikut ini beberapa contoh penerapannya pada persamaan \ref{eq53} dan \ref{eq523} di Python Shell:

\nolinenumbers
\begin{verbatim}
    >>> import numpy as np
    >>> from scipy.integrate import quad, dblquad, nquad
    >>> f = lambda x : x*np.sin(x) 
    >>> print(quad(f, 0, np.pi/2))
    (1.0, 1.1102230246251565e-14)
\end{verbatim}
\linenumbers

Fungsi ini menghasilkan \textit{tuple} yang terdiri dari aproksimasi integral dan estimasi galat absolut. Jika kita hanya menginginkan aproksimasi integral-nya saja, maka kita dapat menjalankan perintah:

\nolinenumbers
\begin{verbatim}
    >>> I, _ = quad(f, 0, np.pi/2)
    >>> print(I)
    1.0
\end{verbatim}
\linenumbers

Untuk mengaproksimasi integrasi ganda kita dapat menggunakan fungsi \verb|dblquad()|, yang mana akan menghasilkan \textit{tuple} dengan nilai pertama merupakan aproksimasi integral dan nilai kedua berupa estimasi galat absolut:

\nolinenumbers
\begin{verbatim}
    >>> fn = lambda x, y : x**2*y + x*y**2
    >>> ax=1; bx=2; ay=-1; by=1
    >>> print(dblquad(fn, ax, bx, lambda y:ay, lambda y:by))
(   0.9999999999999999, 4.414734146837848e-14)
\end{verbatim}
\linenumbers

Sementara itu, untuk aproksimasi integral lipat $n$, kita dapat menggunakan fungsi \verb|nquad()|, yang mana hasil akhirnya juga berupa \textit{tuple} yang sama dengan kedua fungsi sebelumnya. Berikut ini contoh penggunaannya untuk menyelesaikan integrasi ganda pada persamaan \ref{eq523}:

\nolinenumbers
\begin{verbatim}
    >>> print(nquad(fn, [[ax, bx], [ay, by]]))
    (1.0, 4.230171575788777e-14)
\end{verbatim}
\linenumbers

\section{Integrasi Monte Carlo}
Metode - metode numerik untuk menyelesaikan integral yang telah kita pelajari sejauh ini merupakan metode perhitungan berbasis grid. Meskipun hal ini efektif untuk mengaproksimasi integral sederhana berdimensi tunggal, metode ini sulit diterapkan untuk aproksimasi numerik integral rumit dalam beberapa dimensi. Untuk mengatasi hal tersebut, kita dapat menggunakan algoritma integrasi Monte Carlo (MC). Ide utama dari metode ini adalah aproksimasi luasan wilayah di bawah kurva fungsi yang hendak diintegrasikan dengan menggunakan titik acak.  

Guna memberikan ilustrasi awal, kita akan mencoba menyelesaikan integral berikut secara numerik menggunakan kaidah Simpson:

\begin{equation}
    \int_0^{1, 5 \pi} \sin{(x)} + 1 \,dx
    \label{eq529}
\end{equation}

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_055.py}
\linenumbers

Hasilnya, diketahui jika luas wilayah di bawah kurva sebesar 5,712 (Gambar \ref{fig54}).

\begin{figure}[H]
    \centering
    \includegraphics[width=0.8\textwidth]{gambar/gambar054.png}
    \caption{Estimasi luas kurva $\sin{(x)} + 1$ menggunakan kaidah Simpson.}
    \label{fig54}
\end{figure}

Berikut merupakan cara mengestimasikannya dengan metode MC. Nampak bahwa hasil yang kita dapatkan tidaklah berbeda jauh (Gambar \ref{fig55}).

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_056.py}
\linenumbers

\begin{figure}[H]
    \centering
    \includegraphics[width=0.8\textwidth]{gambar/gambar055.png}
    \caption{Estimasi luas kurva $\sin{(x)} + 1$ menggunakan metode MC.}
    \label{fig55}
\end{figure}

Integrasi MC didasarkan pada hukum bilangan besar (\textit{law of large numbers}). Hukum ini menyatakan, jika kita melakukan eksperimen yang sama secara berulang-ulang, rata-rata eksperimen tersebut seharusnya konvergen pada suatu nilai ekspektasi tertentu. Eksperimen kita di sini adalah mengambil sampel fungsi secara seragam, jadi jika kita terus mengambil sampel, hasil rata-rata seharusnya konvergen pada rata-rata fungsi tersebut. Hal ini seharusnya terasa intuitif, karena mirip dengan kasus jika kita melempar dadu, yang mempunyai enam sisi, selama berulang - ulang, dan mengambil nilai rata-rata-nya, maka didapatkan nilai 3,5. Dalam kasus di atas, kita mencoba mengkombinasikan fungsi $\sin{(x)} + 1$ dengan fungsi kepadatan peluang yang mendeskripsikan bagaimana cara kita melakukan pengambilan sampel. Dalam kasus ini, kita menggunakan fungsi kepadatan peluang yang seragam pada rentang nol hingga 1,5$\pi$:

\begin{equation}
    p(x) = \begin{cases}
    \frac{1}{1,5 \pi},& \text{jika } 0 < x < 1,5\\
    0,              & \text{lainnya}\end{cases}
    \label{eq530}
\end{equation}

Variabel \verb|lebar| dihitung dengan mengikutsertakan fungsi kepadatan peluang ke ekspresi \ref{eq529}:

\begin{equation}
    \int_0^{1, 5 \pi} 1,5 \pi(\sin{(x)} + 1) p(x) \,dx
    \label{eq531}
\end{equation}

Mengapa kita membutuhkan banyak sekali sampel? Hal ini dilakukan guna memastikan bahwa aproksimasi statistik-nya dapat menyamai perhitungan numerik dari kaidah Simpson. Integrasi MC ini mempunyai ketidakpastian yang dapat diukur melalui galat ($\varepsilon$) sebagai berikut:

\begin{equation}
    \varepsilon = \frac{\sigma (x)}{\sqrt{N}}
    \label{eq532}
\end{equation}

, di mana $\sigma$ adalah simpangan baku, $x$ adalah objek yang hendak dirata-ratakan (sampel dikali lebar dalam kasus ini), dan $N$ adalah jumlah titik acak. Berikut merupakan contoh perhitungan integral MC untuk ekspresi \ref{eq529} dengan menggunakan galat (Gambar \ref{fig56}):

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_057.py}
\linenumbers

\begin{figure}[H]
    \centering
    \includegraphics[width=0.8\textwidth]{gambar/gambar056.png}
    \caption{Estimasi luas kurva $\sin{(x)} + 1$ menggunakan integrasi MC dan rentang galat.}
    \label{fig56}
\end{figure}

Salah satu hal yang juga tidak boleh dilupakan dalam pembahasan tentang integrasi MC adalah pentingnya teknik pengambilan sampel. Untuk mengilustrasikannya, kita dapat menggunakan ekspresi \ref{eq533} sebagai berikut:

\begin{equation}
    \int_{-\infty}^{\infty} \frac{(x^2 +1)}{\sqrt{2\pi}} e^{-\frac{x^2}{2}} \, dx
    \label{eq533}
\end{equation}

Untuk keperluan pengambilan sampel, ekspresi \ref{eq533} dapat disederhanakan sebagai perkalian antara persamaan kuadrat dengan distribusi normal. Oleh karena tidak memungkinkan untuk mengambil sampel dari distribusi seragam pada rentang $-\infty$ hingga $\infty$, maka kita hanya akan mengambil sampel dari distribusi normal dengan pusat di 0 dengan lebar 1 (Gambar \ref{fig57}:

\begin{equation}
    \int_{-\infty}^{\infty} (x^2 +1) \, \mathcal{N}(0,1) \, dx
    \label{eq534}
\end{equation}

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_058.py}
\linenumbers

\begin{figure}[H]
    \centering
    \includegraphics[width=0.8\textwidth]{gambar/gambar057.png}
    \caption{Estimasi luas kurva $\frac{(x^2 +1)}{\sqrt{2\pi}} e^{-\frac{x^2}{2}}$ menggunakan integrasi MC.}
    \label{fig57}
\end{figure}

Tentu yang menjadi pertanyaan kemudian adalah, bagaimana cara kita melakukan pengambilan sampel jika persamaannya tidak mirip dengan persamaan pada distribusi normal? Kenyataannya adalah kita dapat melakukan pengambilan sampel dari distribusi manapun. Kita akan mencoba menerapkannya pada ekspresi berikut ini:

\begin{equation}
    \int_{-\infty}^{\infty} \frac{x^2 + 1}{\sqrt{2\pi}} e^{-\frac{x^4}{4}} \, dx
    \label{eq535}
\end{equation}

Guna menyelesaikannya dengan metode MC, kita wajib mengubah persamaan \ref{eq535} menjadi bentuk sebagai berikut, di mana $p(x)$ dalam konteks ini merupakan distribusi normal:

\begin{equation}
    \int_{-\infty}^{\infty} f(x) \, dx \approx \frac{f(x)}{p(x)} p(x)
    \label{536}
\end{equation}

Berikut implementasi-nya di Python, serta hasilnya diperlihatkan pada Gambar \ref{fig58}:

\nolinenumbers
\lstinputlisting[language=Python]{./kode/contoh_059.py}
\linenumbers

\begin{figure}[H]
    \centering
    \includegraphics[width=0.8\textwidth]{gambar/gambar057.png}
    \caption{Estimasi luas kurva $\frac{(x^2 +1)}{\sqrt{2\pi}} e^{-\frac{x^4}{4}}$ menggunakan integrasi MC.}
    \label{fig58}
\end{figure}
