Nama : Sausan Shalihah Alfirdausi

NIM : 230605110064

Mata Kuliah : Kalkulus

Dosen Pengampu : Prof. Dr. Suhartono,M.Kom

Program Studi : Teknik Informatika

Universitas : Universitas Islam Negeri Malang

library(mosaicCalc)
## Loading required package: mosaic
## Warning: package 'mosaic' was built under R version 4.3.2
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
##     quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
## Loading required package: mosaicCore
## 
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
## 
##     count, tally
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
##      (status 2 uses the sf package in place of rgdal)
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D
# Langkah pertama 
function_to_integrate <- function(x) x^2 + 5*x -1

# Langkah kedua 
lower_limit <- 0
upper_limit <- 5

# 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)

Kode tersebut menggunakan bahasa pemrograman R dan terlihat berfokus pada proses integrasi numerik menggunakan metode sumbu trapesium. Berikut adalah penjelasan perbaris dari kode tersebut:

  1. Langkah Pertama: Mendefinisikan fungsi function_to_integrate yang akan diintegralkan. Fungsi ini adalah \(f(x) = x^2 + 5x - 1\).

  2. Langkah Kedua dan Ketiga: Menetapkan batas bawah (lower_limit) dan batas atas (upper_limit) integral, serta jumlah subinterval (n) yang akan digunakan dalam aproksimasi integrasi.

  3. Langkah Keempat: Menghasilkan serangkaian nilai \(x\) yang membentuk subinterval dengan menggunakan fungsi seq. Jumlah nilai \(x\) yang dihasilkan sebanyak \(n\), dan panjang setiap subinterval dihitung agar sesuai dengan jumlah subinterval yang diinginkan.

  4. Langkah Kelima: Menghitung lebar setiap subinterval (width_subinterval), yaitu selisih antara batas atas dan batas bawah dibagi dengan jumlah subinterval.

  5. Langkah Keenam: Menghitung nilai integral numerik dengan menggunakan metode sumbu trapesium. Hasilnya disimpan dalam variabel integral_result.

  6. Langkah Ketujuh: Membuat data frame (df) yang berisi nilai-nilai \(x\) dan \(f(x)\) untuk digunakan dalam plotting.

  7. Langkah Kedelapan: Membuat plot menggunakan pustaka ggplot2. Plot terdiri dari dua bagian utama: (a) trapesium yang mengilustrasikan integrasi numerik dengan warna latar belakang lightblue, dan (b) grafik garis fungsi \(f(x)\). Teks tambahan ditambahkan ke plot, termasuk judul, label sumbu, dan subtitle yang berisi hasil integral numerik yang dihitung.

Kode ini memberikan gambaran visual tentang cara integrasi numerik dilakukan dengan menggunakan metode sumbu trapesium. Pada akhirnya, hasil integral numerik ditampilkan sebagai bagian dari subtitle plot.

Daftar Pustaka https://www.mosaic-web.org/MOSAIC-Calculus/Modeling/06-operations.html