Dosen Pengampu : Prof. Dr.Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Jurusan : Teknik Informatika
Kelas : (C) Kalkulus
NIM : 230605110080
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
library(ggplot2)
library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
Iterasi Jacobi adalah metode iteratif yang digunakan untuk menyelesaikan sistem persamaan linear. Metode ini sering digunakan dalam konteks sistem persamaan linear berukuran besar. Ide dasar dari metode ini adalah menghasilkan perkiraan iteratif untuk solusi sistem persamaan linear dengan melakukan iterasi pada matriks koefisien dan vektor solusi.
Misalkan kita memiliki sistem persamaan linear Ax=b, di mana A adalah matriks koefisien, x adalah vektor solusi, dan b adalah vektor konstan.
# Fungsi untuk iterasi Jacobi
jacobi_iteration <- function(A, b, iter) {
n <- length(b)
x <- numeric(n) # Inisialisasi vektor solusi
for (k in 1:iter) {
x_new <- numeric(n) # Inisialisasi vektor solusi pada iterasi baru
for (i in 1:n) {
x_new[i] <- (b[i] - sum(A[i, -i] * x[-i])) / A[i, i]
}
x <- x_new # Update vektor solusi
}
return(x)
}
# Contoh penggunaan
A <- matrix(c(4, -1, 0, -1, 4, -1, 0, -1, 4), nrow = 3, byrow = TRUE)
b <- c(15, 10, 10)
iter <- 20
solusi_jacobi <- jacobi_iteration(A, b, iter)
print("Solusi dengan metode iterasi Jacobi:")
## [1] "Solusi dengan metode iterasi Jacobi:"
print(solusi_jacobi)
## [1] 4.910714 4.642857 3.660714
Contoh lain iterasi Jacobi
# Fungsi untuk metode iterasi Jacobi
jacobi <- function(A, b, x0 = NULL, tol = 1e-6, max_iter = 100) {
n <- length(b)
# Inisialisasi solusi awal jika tidak disediakan
if (is.null(x0)) {
x0 <- rep(0, n)
}
# Inisialisasi vektor solusi
x <- x0
# Inisialisasi variabel iterasi
iter <- 0
# Iterasi Jacobi
while (iter < max_iter) {
x_old <- x
# Iterasi untuk setiap variabel
for (i in 1:n) {
sigma <- sum(A[i, -i] * x_old[-i])
x[i] <- (b[i] - sigma) / A[i, i]
}
# Periksa kriteria konvergensi
if (max(abs(x - x_old)) < tol) {
break
}
iter <- iter + 1
}
# Output hasil
if (iter == max_iter) {
warning("Iterasi Jacobi tidak konvergen dalam jumlah maksimal iterasi.")
} else {
cat("Iterasi Jacobi konvergen setelah", iter, "iterasi.\n")
}
return(x)
}
# Contoh penggunaan
A <- matrix(c(4, -1, 0, -1, 4, -1, 0, -1, 4), nrow = 3, byrow = TRUE)
b <- c(15, 10, 10)
solusi <- jacobi(A, b)
## Iterasi Jacobi konvergen setelah 15 iterasi.
print("Solusi:")
## [1] "Solusi:"
print(solusi)
## [1] 4.910714 4.642857 3.660714
Pada contoh di atas, mendefinisikan fungsi jacobi yang menerima matriks koefisien A, vektor konstanta b, dan solusi awal X0. Fungsi ini kemudian melakukan iterasi Jacobi hingga kriteria konvergensi terpenuhi atau jumlah iterasi mencapai batas maksimal. Pada contoh penggunaan, mencoba menyelesaikan sistem persamaan linear dengan matriks koefisien A dan vektor konstanta b.