Persamaan Linier, metode Jacobi

Metode Iterasi Jacobi

Metode iterasi Jacobi adalah salah satu metode numerik untuk menyelesaikan sistem persamaan linear. Metode ini bekerja dengan mengulang proses estimasi solusi hingga mencapai hasil yang konvergen. Metode ini sangat berguna dalam bidang komputasi ilmiah dan pemodelan numerik.

Rumus Iterasi Jacobi

Misalkan diberikan sistem persamaan linear:

        a11x1 + a12x2 + ... + a1nxn = b1
        a21x1 + a22x2 + ... + a2nxn = b2
        ...
        an1x1 + an2x2 + ... + annxn = bn
    

Rumus iterasi Jacobi adalah:

        xi(k+1) = (1 / aii) * (bi - Σ aij * xj(k)), untuk j ≠ i
    

Langkah-Langkah Penyelesaian

  1. Inisialisasi tebakan awal untuk semua variabel, misalnya x0 = [0, 0, ..., 0].
  2. Gunakan rumus iterasi Jacobi untuk memperbarui nilai solusi.
  3. Periksa apakah solusi sudah konvergen, dengan membandingkan selisih hasil iterasi terbaru dengan toleransi yang ditentukan.
  4. Ulangi langkah 2 dan 3 hingga solusi mencapai konvergensi atau jumlah iterasi maksimum tercapai.

Contoh Implementasi Python

Berikut adalah contoh implementasi metode Jacobi dalam Python:


import numpy as np

def jacobi(A, b, x0, tol, max_iter):
    n = len(b)
    x = x0.copy()
    for k in range(max_iter):
        x_new = np.zeros_like(x)
        for i in range(n):
            s = sum(A[i][j] * x[j] for j in range(n) if i != j)
            x_new[i] = (b[i] - s) / A[i][i]
        print(f'Iterasi ke-{k+1}: {x_new}')
        if np.linalg.norm(x_new - x, ord=np.inf) < tol:
            print(f'Iterasi berhenti pada iterasi ke-{k+1}')
            return x_new
        x = x_new
    print('Maksimal iterasi tercapai')
    return x

# Contoh penggunaan
A = np.array([[4, 1, 1],
              [2, 5, 2],
              [1, 1, 6]])

b = np.array([7, -4, 6])
x0 = np.zeros_like(b)
tol = 1e-6
max_iter = 500

solusi = jacobi(A, b, x0, tol, max_iter)
print('Solusi akhir:', solusi)
    

Kesimpulan

Metode iterasi Jacobi sangat bermanfaat dalam menyelesaikan sistem persamaan linear yang besar dan jarang (sparse). Meskipun memerlukan banyak iterasi untuk mencapai konvergensi, metode ini tetap berguna karena mudah diimplementasikan dan dapat diparalelkan dengan baik.

Comments