Nama dan NIM : Abdul Madjid Maulana (230605110130)
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Program Studi : Teknik Informatika

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.

Navigasi materi Integration
Integration Numerical Integration Symbolic Integration