NAMA : MUHAMMAD FAQIH

KELAS : LINEAR ALGEBRA B

DOSEN PENGAMPU Prof. Dr. Suhartono, M. Kom

Iterasi Gauss-Seidel

Iterasi Gauss-Seidel adalah metode iteratif untuk menyelesaikan sistem persamaan linier. Metode ini mirip dengan metode iterasi Jacobi, namun dengan memanfaatkan nilai solusi yang telah diupdate pada setiap iterasi. Pada metode iterasi Gauss-Seidel, nilai solusi yang baru dihitung langsung digunakan pada iterasi selanjutnya, sehingga metode ini lebih cepat konvergen daripada metode iterasi Jacobi. Metode iterasi Gauss-Seidel juga memanfaatkan sifat tridiagonal dari matriks untuk mengurangi kompleksitas perhitungan. Metode ini cocok digunakan untuk matriks yang besar dan sistem persamaan linier yang kompleks.

# Matriks koefisien
a <- matrix(c(4, -1, 0, -1, 4, -1, 0, -1, 4), nrow = 3, ncol = 3, byrow = TRUE)
# Vektor hasil
b <- c(1, 2, 3)
# Inisialisasi solusi awal
x <- c(0, 0, 0)
# Maksimum iterasi
max_iter <- 100
# Toleransi error
tol <- 1e-6
# Iterasi Gauss-Seidel
for (k in 1:max_iter) {
  x_old <- x
  for (i in 1:3) {
    x[i] <- (b[i] - a[i, -i] %*% x[-i])/a[i, i]
  }
  if (max(abs(x - x_old)) < tol) {
    break
  }
}
# Cetak solusi
print(x)
## [1] 0.4642857 0.8571428 0.9642857

Pada contoh kode di atas, kita akan menyelesaikan sistem persamaan linier dengan menggunakan metode iterasi Gauss-Seidel. Matriks koefisien dan vektor hasil disimpan dalam variabel a dan b, sedangkan solusi awal disimpan dalam variabel x. Maksimum iterasi dan toleransi error disimpan dalam variabel max_iter dan tol. Iterasi Gauss-Seidel dilakukan dengan melakukan iterasi pada setiap elemen solusi. Pada setiap iterasi, nilai solusi diupdate dengan menggunakan rumus iterasi Gauss-Seidel. Iterasi dilakukan sampai solusi konvergen atau maksimum iterasi tercapai. Solusi akhir disimpan dalam variabel x dan dicetak menggunakan fungsi print().