| # VISUALISASI GRAFIK METODE NUMERIK # |
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
Numerical zero-finding atau metode numerik adalah pendekatan dalam matematika komputasi yang bertujuan untuk menemukan nilai nol dari suatu fungsi matematika dengan menggunakan metode-metode numerik. Dalam artikel ini, kita akan menjelajahi metode-metode tersebut melalui pendekatan visual menggunakan Mosaic Calculus.
| 1. Metode Pencarian Interval: |
| Metode pencarian interval adalah metode numerik yang mencari interval di mana fungsi berubah tanda. Dalam contoh ini, kita akan mencari nilai nol dari fungsi\(f(x) = sin(x) - x/2\) menggunakan metode pencarian interval. |
| GRAFIK 1 METODE PENCARIAN INTERVAL : |
r # Menginstal dan memuat paket yang diperlukan install.packages("ggplot2") |
## Warning: package 'ggplot2' is in use and will not be installed |
| ```r library(ggplot2) |
| # Fungsi yang akan dicari nilai nolnya fungsi <- function(x) { return(sin(x) - x/2) } |
| # Tentukan rentang nilai x x <- seq(0, 3, length.out = 1000) |
| # Hitung nilai fungsi pada setiap titik dalam rentang x y <- fungsi(x) |
| # Tentukan interval di mana fungsi berada di atas sumbu x (nilai positif) interval_positif <- subset(data.frame(x = x, y = y), y > 0) |
| # Tentukan interval di mana fungsi berada di bawah sumbu x (nilai negatif) interval_negatif <- subset(data.frame(x = x, y = y), y < 0) |
| # Buat grafik Metode Pencarian Interval ggplot() + geom_area(data = interval_positif, aes(x = x, y = y), fill = “skyblue”, alpha = 0.5) + geom_area(data = interval_negatif, aes(x = x, y = y), fill = “pink”, alpha = 0.5) + geom_hline(yintercept = 0, color = “black”, linetype = “dashed”) + ggtitle(“Metode Pencarian Interval”) + xlab(“Nilai x”) + ylab(“Nilai f(x)”) ``` |
| Penjelasan grafik : |
| Pada grafik di atas, area yang diarsir menunjukkan interval di mana fungsi berubah tanda. Dengan mencari interval-interval semacam ini, kita dapat mempersempit pencarian nilai nol fungsi. |
| 2. Metode Titik Tetap (Fixed-Point Iteration): |
| Metode titik tetap adalah metode numerik yang mencari titik tetap dari suatu fungsi iteratif \(g(x)\). Dalam contoh ini, kita akan mencari nilai nol dari fungsi \(f(x) = x^2 - 3\) menggunakan metode titik tetap. |
| GRAFIK 2 METODE TITIK TETAP : |
r # Menginstal dan memuat paket yang diperlukan install.packages("ggplot2") |
## Warning: package 'ggplot2' is in use and will not be installed |
| ```r library(ggplot2) |
| # Fungsi iteratif untuk metode titik tetap fungsi_iteratif <- function(x) { return(sqrt(3 + x)) } |
| # Nilai awal x <- 1.5 |
| # Jumlah iterasi n <- 10 |
| # Persiapkan data untuk plot iterasi data <- data.frame(iterasi = numeric(n), nilai = numeric(n)) data\(iterasi[1] <- 1 data\)nilai[1] <- x |
| # Iterasi metode titik tetap for (i in 2:n) { data\(iterasi[i] <- i data\)nilai[i] <- fungsi_iteratif(data$nilai[i - 1]) } |
| # Buat grafik Metode Titik Tetap ggplot(data, aes(x = iterasi, y = nilai)) + geom_point(color = “red”, size = 3) + geom_line(color = “blue”) + ggtitle(“Metode Titik Tetap”) + xlab(“Iterasi”) + ylab(“Nilai Aproksimasi Nol”) ``` |
Pada grafik di atas, garis biru mewakili grafik fungsi iteratif $y = g(x)= $ akar dari 3 + 2. titik dimana grafik ini memotong garis memotong garis \(y = x\) adalah titik tetap dari fungsi \(f(x)\), dengan iterasi, kita akan mendekati nol fungsi
Metode Newton-Raphson adalah metode numerik yang menggunakan derivatif untuk mendekati nilai nol suatu fungsi. Dalam contoh ini, kita akan mencari nilai nol dari fungsi \(f(x)= cos(x) - x\) menggunakan metode Newton-Raphson.
Grafik 3: Metode Newton-Raphson :
# Menginstal dan memuat paket yang diperlukan
install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(ggplot2)
# Fungsi dan turunannya
fungsi <- function(x) {
return(cos(x) - x)
}
turunan <- function(x) {
return(-sin(x) - 1)
}
# Nilai awal
x <- 1
# Jumlah iterasi
n <- 5
# Persiapkan data untuk plot iterasi
data <- data.frame(iterasi = numeric(n), nilai = numeric(n))
data$iterasi[1] <- 1
data$nilai[1] <- x
# Iterasi metode Newton-Raphson
for (i in 2:n) {
data$iterasi[i] <- i
data$nilai[i] <- data$nilai[i - 1] - fungsi(data$nilai[i - 1]) / turunan(data$nilai[i - 1])
}
# Buat grafik Metode Newton-Raphson
ggplot(data, aes(x = iterasi, y = nilai)) +
geom_point(color = "red", size = 3) +
geom_line(color = "blue") +
ggtitle("Metode Newton-Raphson") +
xlab("Iterasi") +
ylab("Nilai Aproksimasi Nol")
Penjelasan Grafik :
Dalam grafik ini, titik merah menunjukkan nilai aproksimasi nol pada setiap iterasi, dan garis biru menunjukkan jalur aproksimasi sepanjang iterasi. Grafik ini mencerminkan pendekatan linear dari metode Newton-Raphson yang mendekati nilai nol dengan cepat.
Melalui visualisasi-grafik berbasis Mosaic Calculus seperti contoh di atas, pembaca dapat memahami metode-metode numerik zero-finding dengan lebih mendalam. Dengan visualisasi ini, kompleksitas metode numerik dapat diuraikan menjadi konsep-konsep intuitif, membantu pembaca memahami bagaimana pendekatan-pendekatan ini beroperasi dalam praktiknya.