# CONTOH CONTOH GRAFIK PADA ZERO FINDING #
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
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D
# Graphical Zero-Finding dengan Mosaic Calculus: Pemahaman Melalui Visualisasi Grafik #

Mosaic Calculus adalah pendekatan dalam kalkulus variabel tak tentu yang memungkinkan kita untuk memahami dan memvisualisasikan fenomena kompleks melalui representasi grafis yang intuitif. Dalam konteks zero-finding, Mosaic Calculus memungkinkan kita untuk menemukan nilai nol dari suatu fungsi dengan menggunakan visualisasi grafik berbasis mosaics. Berikut adalah beberapa contoh grafik yang mengilustrasikan konsep Zero-Finding dengan pendekatan Mosaic Calculus:

  1. Grafik Mosaics untuk Fungsi Polinomial: Mosaics dapat merepresentasikan bentuk dan pola dari fungsi polinomial dengan visualisasi yang menarik. Misalkan kita memiliki fungsi \(f(x) = x^3 - 4x^2 - x + 6\). Dengan memodelkan fungsi ini sebagai mosaics, kita dapat melihat bagaimana struktur fungsi ini tercermin dalam visualisasi.

Penjelasan: Grafik mosaics menunjukkan bagaimana pola dan bentuk fungsi polinomial tercermin dalam objek mosaics. Area yang diwarnai menunjukkan nilai positif dan negatif dari fungsi, membantu kita mengidentifikasi interval-interval di mana nilai nol mungkin berada.

VISUALISASI :

# Menginstal dan memuat paket yang diperlukan
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)

# Fungsi polinomial
fungsi <- function(x) {
  return(x^3 - 4*x^2 - x + 6)
}

# Tentukan rentang nilai x
x <- seq(-2, 5, length.out = 1000)

# Hitung nilai fungsi pada setiap titik dalam rentang x
y <- fungsi(x)

# Buat data frame untuk ggplot
data <- data.frame(x = x, y = y)

# Grafik Mosaics
ggplot(data, aes(x = x, y = y)) +
  geom_area(fill = "skyblue", color = "black") +
  ggtitle("Grafik Mosaics untuk Fungsi Polinomial") +
  xlab("Nilai x") +
  ylab("Nilai f(x)")

2. Iterasi Fraktal untuk Zero-Finding: Mosaic Calculus memungkinkan iterasi fraktal, di mana mosaics mengalami transformasi berulang yang mendekati nilai nol fungsi. Misalkan kita menggunakan metode iterasi fraktal untuk mencari nilai nol dari fungsi \(f(x) = sin(x) -x/2\). Penjelasan: Grafik iterasi fraktal menunjukkan bagaimana mosaics mengalami transformasi berulang yang mendekati titik nol fungsi. Setiap iterasi menghasilkan mosaics baru yang mendekati titik nol dengan presisi yang lebih tinggi.

VISUALISASI :

# Fungsi untuk iterasi fraktal
iterasi_fraktal <- function(x, n) {
  for (i in 1:n) {
    x <- x - sin(x) + x/2
  }
  return(x)
}

# Nilai awal dan jumlah iterasi
x0 <- 1
n <- 10

# Iterasi fraktal
hasil <- iterasi_fraktal(x0, n)

# Data untuk plot iterasi fraktal
data_fraktal <- data.frame(iterasi = 1:n, nilai = c(x0, hasil))

# Grafik Iterasi Fraktal
ggplot(data_fraktal, aes(x = iterasi, y = nilai)) +
  geom_line(color = "blue") +
  ggtitle("Iterasi Fraktal untuk Zero-Finding") +
  xlab("Iterasi") +
  ylab("Nilai Aproksimasi Nol")

Mosaic Calculus juga dapat digunakan untuk visualisasi konvergensi metode numerik seperti Newton-Raphson. Misalkan kita mencari nilai nol dari fungsi\(f(x) = e^2 - x^2\) menggunakan metode Newton-Raphson. Penjelasan: Grafik konvergensi Newton-Raphson menunjukkan bagaimana pendekatan linier dari metode ini mendekati titik nol fungsi. Mosaics menggambarkan langkah-langkah iterasi dan konvergensi menuju nilai nol.

VISUALISASI :

# Fungsi dan turunannya
fungsi <- function(x) {
  return(exp(x) - x^2)
}
turunan <- function(x) {
  return(exp(x) - 2*x)
}

# Nilai awal dan jumlah iterasi
x0 <- 1
n <- 5

# Iterasi Newton-Raphson
hasil <- numeric(n)
hasil[1] <- x0
for (i in 2:n) {
  hasil[i] <- hasil[i - 1] - fungsi(hasil[i - 1]) / turunan(hasil[i - 1])
}

# Data untuk plot konvergensi Newton-Raphson
data_nr <- data.frame(iterasi = 1:n, nilai = hasil)

# Grafik Konvergensi Newton-Raphson
ggplot(data_nr, aes(x = iterasi, y = nilai)) +
  geom_point(color = "red", size = 3) +
  geom_line(color = "blue") +
  ggtitle("Konvergensi Newton-Raphson untuk Zero-Finding") +
  xlab("Iterasi") +
  ylab("Nilai Aproksimasi Nol")