library(mosaicCalc)
## Loading required package: mosaic
## 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 - Mendefinisikan fungsi
f <- expression(x^2 +6*x - 8*x^3+ 10)

# Langkah kedua - Mendefinisikan variabel
x <- seq(-2, 4, by = 0.1)

# Langkah ketiga - Menghitung turunan fungsi
f_prime <- D(f, "x")

# Langkah keempat - Membuat data frame
df <- data.frame(x = x, f = eval(f), f_prime = eval(f_prime))

# Membuat grafik fungsi dan turunan
plot <- xyplot(f + f_prime ~ x, data = df, type = "l", col = c("purple", "blue"),
       xlab = "x", ylab = "y", main = "Grafik Fungsi dan Turunan")

# Menampilkan hasil
print(plot)