Di artikel ini kita akan membahas Numerical Integration. Numerical integration adalah teknik yang digunakan untuk menghitung integral suatu fungsi dengan pendekatan berbasis perhitungan Metode ini berfokus pada pembagian daerah di bawah kurva fungsi menjadi segmen-segmen kecil yang mudah dihitung, seperti persegi panjang atau trapesium. Proses ini dimulai dengan membagi interval integrasi menjadi subinterval yang memiliki lebar yang sama, dan kemudian menentukan titik-titik tengah dalam setiap subinterval.
Metode yang sering digunakan adalah metode Riemann sum, di mana luas segmen-segmen persegi panjang yang dibentuk oleh nilai-nilai fungsi di titik-titik tengah subinterval dan lebar subinterval dijumlahkan. Integral dari fungsi diperkirakan dengan menjumlahkan luas segmen-segmen tersebut di seluruh subinterval. Penting untuk diingat bahwa hasil numerical integration adalah aproksimasi integral, dan tingkat akurasi tergantung pada jumlah subinterval yang digunakan.
Numerical integration sering dilakukan dengan bantuan komputer untuk menghasilkan hasil perhitungan yang efisien dan akurat. Meskipun efektif, pendekatan ini memiliki keterbatasan dalam hal presisi dan kompleksitas fungsi yang diintegrasikan. Namun, numerical integration tetap menjadi alat penting dalam memecahkan berbagai masalah matematika, fisika, ekonomi, dan ilmu lainnya yang memerlukan perhitungan integral.
# Langkah pertama
function_to_integrate <- function(x) x^2
# Langkah kedua
lower_limit <- 0
upper_limit <- 2
# Langkah ketiga
n <- 10
# Langkah keempat
x_values <- seq(lower_limit, upper_limit - (upper_limit - lower_limit) / n, length.out = n)
# Langkah kelima
width_subinterval <- (upper_limit - lower_limit) / n
# Langkah keenam
integral_result <- sum(width_subinterval * function_to_integrate(x_values))
# Langkah ketujuh
df <- data.frame(x = x_values, y = function_to_integrate(x_values))
# Langkah kedelapan
plot <- ggplot(df, aes(x, y)) +
geom_rect(data = subset(df, x >= lower_limit & x <= upper_limit), aes(xmin = x, xmax = x + width_subinterval, ymin = 0, ymax = y), fill = "lightblue") +
geom_line() +
labs(title = "Grafik Numerical Integration",
x = "x",
y = "f(x)",
subtitle = paste("Integral dari", lower_limit, "ke", upper_limit, "adalah:", round(integral_result, 2))) +
theme_minimal()
print(plot)
Berikut ini adalah penjelasan dari setiap langkah kode diatas:
Langkah pertama:
kita menentukan fungsi yang ingin diintegrasikan, yaitu
f(x) = x^2. Fungsi ini menggambarkan hubungan antara
variabel x dan y, di mana y
adalah kuadrat dari x.
Langkah kedua:
kita menentukan batas-batas integrasi, yaitu
lower_limit = 0 dan upper_limit = 2.
Batas-batas ini menunjukkan interval di mana kita ingin menghitung luas
di bawah kurva fungsi f(x).
Langkah ketiga:
kita menentukan jumlah subinterval, yaitu n = 10.
Subinterval adalah pembagian interval integrasi menjadi bagian-bagian
yang lebih kecil dan sama lebar. Jumlah subinterval menentukan tingkat
akurasi dari perhitungan integral. Semakin banyak subinterval, semakin
akurat hasilnya, tetapi semakin lama waktu yang dibutuhkan.
Langkah keempat:
kita membuat deret nilai x untuk titik-titik awal dari
setiap subinterval. kita menggunakan fungsi seq() untuk
membuat deret tersebut, dengan parameter lower_limit,
upper_limit - (upper_limit - lower_limit) / n,
dan length.out = n. Parameter pertama menunjukkan nilai
awal deret, parameter kedua menunjukkan nilai akhir deret, dan parameter
ketiga menunjukkan jumlah elemen deret. Nilai akhir deret dikurangi
dengan lebar subinterval agar tidak melebihi batas atas integrasi.
Langkah kelima:
kita menghitung lebar setiap subinterval dengan rumus
(upper_limit - lower_limit) / n. Lebar subinterval adalah
selisih antara batas atas dan batas bawah integrasi dibagi dengan jumlah
subinterval.
Langkah keenam:
kita menghitung integral pasti dengan menggunakan integrasi numerik
(Riemann sum). kita menggunakan rumus
sum(width_subinterval * function_to_integrate(x_values))
untuk menghitung luas daerah di bawah kurva fungsi f(x).
Rumus ini menjumlahkan luas segmen-segmen persegi panjang yang dibentuk
oleh nilai-nilai fungsi f(x) di titik-titik awal
subinterval dan lebar subinterval. Luas segmen-segmen ini mendekati luas
daerah yang sebenarnya.
Langkah ketujuh:
kita membuat data frame untuk membuat plot. Data
frame adalah struktur data yang menyimpan data dalam bentuk
tabel dengan baris dan kolom. kita menggunakan fungsi
data.frame() untuk membuat data frame
tersebut, dengan parameter
x = x_values dan y = function_to_integrate(x_values).
Parameter ini menunjukkan nama dan nilai kolom dalam data
frame. Kolom x berisi nilai-nilai
x untuk titik-titik awal subinterval, dan kolom
y berisi nilai-nilai y untuk fungsi
f(x) di titik-titik tersebut.
Langkah kedelapan:
kita membuat plot dari fungsi f(x) dan segmen-segmen
persegi panjang yang mendekati luas daerah. kita menggunakan fungsi
ggplot() untuk membuat plot tersebut, dengan
parameter df dan aes(x, y). Parameter pertama
menunjukkan data frame yang digunakan sebagai sumber data,
dan parameter kedua menunjukkan variabel estetika yang digunakan untuk
plot. Variabel estetika adalah variabel yang
mempengaruhi tampilan plot, seperti posisi, warna, ukuran,
bentuk, dan lain-lain. Dalam hal ini, kita menggunakan variabel
x dan y sebagai posisi titik-titik pada
plot.