Artikel ini membahas metode iterasi Jacobi untuk menyelesaikan sistem persamaan linier (SPL). Metode iterasi Jacobi adalah metode numerik yang menghasilkan serangkaian vektor yang konvergen ke penyelesaian SPL melalui proses iterasi berulang. Artikel ini menjelaskan algoritma dan contoh penerapan metode iterasi Jacobi menggunakan MATLAB untuk menyelesaikan SPL.
2. Angga Debby Frayudha / Educational Technology 1 (2) (2016)
PENDAHULUAN
Persoalan yang melibatkan model
matematika banyak muncul dalam berbagai disiplin
ilmu pengetahuan, seperti dalam bidang fisika, kimia,
ekonomi, atau pada persoalan rekayasa. Seringkali
model matematika tersebut muncul dalam bentuk yang
rumit yang terkadang tidak dapat diselesaikan dengan
rumus-rumus aljabar yang sudah baku.
Solusi SPL secara numeris umumnya selalu
(harus) lebih efisien dan cepat dibandingkan dengan
metode-metode analitis, seperti metode Cramer.
Namun demikian, solusi numerik ini secara teknis
adakalanya juga berkendala, karena:
(1) ada beberapa persamaan yang mendekati
kombinasi linier, akibat adanya “round off error” dari
mesin penghitung pada, (2) suatu tahap perhitungan
adanya akumulasi “round off error” pada proses
komputasi akan berakibat domain bilangan nyata
(fixed point) dalam perhitungan akan terlampaui
(overflow), biasanya akibat dari jumlah persamaan
yang terlalu besar.
METODE PENELITIAN
Metode-metode solusi numerik yang banyak
dipakai, dapat diklasifikasikan sebagai:
1. Metode Langsung
a. Metode Langsung Eliminasi Gauss
(EGAUSS), prinsipnya: merupakan operasi eliminasi
dan substitusi variabel-variabelnya sedemikian rupa
sehingga dapat terbentuk matriks segitiga atas, dan
akhirnya solusinya diselesaikan menggunakan teknik
substitusi balik (backsubstitution),
b. Metode Eliminasi Gauss ini. Eliminasi
Gauss-Jordan (EGJ), prinsipnya: mirip sekali dengan
metode EG, namun dalam metode ini jumlah operasi
numerik yang dilakukan jauh lebih besar, karena
matriks A mengalami inversi terlebih dahulu untuk
mendapatkan matriks identitas (I). Karena kendala
tersebut, maka metode ini sangat jarang dipakai,
namun sangat bermanfaat untuk menginversikan
matriks,
c. Dekomposisi LU (DECOLU), prinsipnya:
melakukan dekomposisi matriks A terlebih dahulu
sehingga dapat terbentuk matriks-matrik segitiga atas
dan bawah, kemudian secara mudah dapat melakukan
substitusi balik (backsubstitution) untuk berbagai
vektor VRK (vektor ruas kanan).
d. Solusi sistem TRIDIAGONAL (S3DIAG),
prinsipnya merupakan solusi SPL dengan bentuk matrik
pita (satu diagonal bawah, satu diagonal utama, dan satu
diagonal atas) pada matriks A.
2. Metode Tak-Langsung (Metode Iteratif)
a. Metode Jacobi, prinsipnya: merupakan metode
iteratif yang melakuakn perbaharuan nilai x yang
diperoleh tiap iterasi (mirip metode substitusi berurutan,
successive substitution),
b. Metode Gauss-Seidel, prinsipnya: mirip
metode Jacobi, namun melibatkan perhitungan implisit,
c. Metode Successive Over Relaxation (SOR),
prinsipnya: merupakan perbaikan secara langsung dari
Metode Gauss- Seidel dengan cara menggunakan faktor
relaksasi (faktor pembobot) pada setiap tahap/proses
iterasi.
Metode-metode tak-langsung seperti di atas pada
umunya sangat tidak efisien dan ‘time consuming’
(memerlukan CPU- time) yang jauh lebih besar dari
metode langsung.
Metode Eliminasi Gauss, metode Dekomposisi
LU dan Metode Iterasi Jacobi merupakan metode yang
dapat dijadikan sebagai alternatif untuk menyelesaikan
model matematika. Metode Eliminasi Gauss mereduksi
matriks koefisien A ke dalam bentuk matriks segitiga,
dan nilai-nilai variabel diperoleh dengan teknik
substitusi. Pada metode Dekomposisi LU, matriks A
difaktorkan menjadi matriks L dan matriks U, dimana
dimensi atau ukuran matriks L dan U harus sama
dengan dimensi matriks A.
Pada metode iterasi Jacobi, penyelesaian
dilakukan secara iterasi, dimana proses iterasi dilakukan
sampai dicapai suatu nilai yang konvergen dengan
toleransi yang diberikan. Dari hasil pengujian dapat
diketahui bahwa metode Iterasi Jacobi memiliki hasil
ketelitian yang lebih baik dan waktu komputasi yang
lebih cepat dari metode Eliminasi Gauss dan metode
Dekomposisi LU.
Penggunaan pendekatan dengan pemrograman
MATLAB, salah satu software komputer yang dapat
digunakan untuk memberikan solusi komputasi numerik.
Karena metode – metode numerik dengan bahasa
pemrograman yang sederhana, namun dapat
menyelesaikan permasalahan yang dihadapi oleh mereka
yang bergerak dalam bidang matematika maupun
aplikasi matematika.
3. Angga Debby Frayudha / Educational Technology 1 (2) (2016)
HASIL PEMBAHASAN
A. Iterasi Jacobi
Metode ini merupakan suatu teknik
penyelesaian SPL berukuran n x n, AX = b,
secara iteratif. Proses penyelesaian dimulai
dengan suatu hampiran awal terhadap
penyelesaian, X0, kemudian membentuk suatu
serangkaian vector X1, X2, … yang konvergen
ke X.
Teknik iteratif jarang digunakan untuk
menyelesaikan SPL berukuran kecil karena
metode-metode langsung seperti metode
eliminasi Gauss lebih efisien dari pada metode
iteratif. Akan tetapi, untuk SPL berukuran
besar dengan persentase elemen nol pada
matriks koefisien besar, teknik iteratif lebih
efisien daripada metode langsung dalam hal
penggunaan memori komputer maupun
waktu komputasi. Metode iterasi Jacobi,
prinsipnya: merupakan metode iteratif yang
melakuakn perbaharuan nilai x yang
diperoleh tiap iterasi (mirip metode substitusi
berurutan, successive substitution).
B. Algoritma Iterasi Jacobi
Untuk menyelesaikan system
persamaan linier AX = b dengan A adalah
matriks koefisien n x n, b vector konstan n x 1,
dan X vektor n x 1 yang perlu dicari.
INPUT : n, A, b, dan Himpunan awal Y = (y1
y2 y3…yn)T
, batas toleransi T, dan maksimum
iterasi N.
OUTPUT: X = (x1 x2 x3 ..xn)T
, atau pesan “
gagal “.
LANGKAH – LANGKAH :
1. set penghitung iterasi ke =1
2. WHILE k ≤ n DO
(a) FOR i = 1, 2, 3, ..., n, hitung
ii
ij jiji
i
a
yab
x
∑ ≠
−
=
(b) Set X = (x1 x2 x3 ..xn)T
(c) IF YX − < T THEN STOP
(d) Tambahan penghitung iterasi, k
= k + 1
(e) FOR i = 1, 2, 3, ..., n, Set yi = xi
(f) set Y = (y1 y2 y3 ..yn)T
3. STOP
C. Flow Chart Iterasi Jacobi
D. Iterasi Jacobi dengan Menggunaan Matlab 7
Jika x(k)
menyatakan hampiran ke k
penyelesaian SPL , AX = b, dengan x(0)
adalah
hampiran awal, maka metode iterasi Jacobi
dapat dinyatakan sebagai berikut :
−= ∑≠
−
ij
k
jiji
ii
k
i xab
a
x
)1()( 1
, i = 1,
2, 3, ..., n ; k = 1, 2, 3, ..
Dalam bentuk matriks, rumus iterasi dapat
dinyatakan sebagai
X(k)
= D-1
(b-(L+U)X(k-1)
),
Dengan A = L + D + U ( L matriks
segitiga bawah, D matriks diagonal, U Matriks
segitiga atas).
Berikut adalah gambaran bagaimana
penggunaan metode iterasi Jacobi dengan
sebuah contoh. Misalkan kita ingin
menyelesaikan SPL.
10x1 – x2 + x3 = 6
-x1 + 11x2 – x3 + 3x4 = 25
2x1 – x2 + 10x3 – x4 = - 11
3x2 – x3 + 8x4 = 15
Mula – mulakita nyatakan setiap variabel
dalam ketiga variabel yang lainnya
1. Nyatakan x1 dari persamaan (P1) dalam
x2, x3, dan x4,
2. Nyatakan x2 dari persamaan (P2) dalam
x1, x3, dan x4,
3. Nyatakan x3 dari persamaan (P3) dalam
x1, x3, dan x4,
4. Nyatakan x4 dari persamaan (P4) dalam
x1, x2, dan x3.
Hasilnya adalah SPL
5
3
510
32
1 +−=
xx
x
START
STOP
AX = b
ii
ij iji
i
a
yab
x
∑ ≠
−
=
Input A, b, X0, T,
xi = ( x1 x2 x3 …xn)
[X, g, H]=
jacobi(A,b,X0,T,
4. Angga Debby Frayudha / Educational Technology 1 (2) (2016)
11
25
11
3
1111
431
2 +−+=
xxx
x
10
11
10105
421
3 −++
−
=
xxx
x
8
15
88
3 32
4 ++
−
=
xx
x
Misalkan kita pilih hapiran penyelesaian
awal (0 0 0 0)T
, maka hampiran pertama
terhadap penyelesaian SPL tersebut adalah
6.0
5
3
1 ==x = 1
2727.2
11
25
2 ==x = 2
1.1
10
11
3 −==x = -1
8750.1
8
15
4 ==x = 2
Sekarang dengan menggunakan nilai –
nilai ini pada ruas kanan persamaan (P5) –
(P8), kita dapat menghitung hampiran kedua.
Proses ini dapat diulang-ulang sampai
keakuratan hampiran yang diinginkan
tercapai. Berikut adalah hasil proses iterasi
dengan menggunakan komputer.
No x1 x2 x3 x4
1
2
3
4
5
6
7
8
0.6
1.04727
0.932636
1.0152
0.988991
1.0032
0.998128
1.00063
2.27273
1.71591
2.05331
1.9537
2.01141
1.99224
2.00231
1.99867
-1.1
-0.805227
-1.04934
-0.968109
-1.01029
-0.994522
-1.00197
-0.999036
1.875
0.885227
1.13088
0.973843
1.02135
0.994434
1.00359
0.998888
Setelah iterasi ke-8 diperoleh hampiran
penyelesaian
x = (1.00063 1.99867 -0.999036 0.998888)T
bandingkan dengan penyelesaian eksaknya, yakni
x = (1 2 -1 1)T
.
Menyelesaikan contoh SPL berikut ini
dengan menggunakan metode iterasi Jacobi.
2x1 – x2 + 10x3 = -11
3x2 – x3 + 8x4 = -11
10x1 – x2 + 2x3 =6
-x1 + 11x2 – x3+ 3x4 = 25
E. Penulisan Logaritma dalam Layar Editor
MATLAB 7
function [X,g,H]= jacobi(A,b,X0,T,N)
H = X0';
n = length(b);
X1 = X0;
for k=1:N,
for i = 1:n,
S = b(i)-A(i,[1:i-1,i+1:n])*X0([1:i-
1,i+1:n]);
X1(i)=S/A(i,i);
end
g = abs(X1-X0);
err = norm(g);
relerr = err/(norm(X1)+ eps);
X0 = X1;
H = [H;X0'];
if (err<T)|(relerr<T),break,end
end
Layar Editor MATLAB 7
F. Hasil Output fungsi MATLAB 7
Berikut adalah contoh pemakaian fungsi
MATLAB 7 jacobi dan hasil keluaran dari yang
diperoleh:
>> A=[2 -1 10 0;0 3 -1 8;10 -1 2 0;-1 11 -1 3]
A =
2 -1 10 0
0 3 -1 8
10 -1 2 0
-1 11 -1 3
>> b=[-11;-11;6;25]
b =
-11
-11
6
25
>> X0=[0;0;0;0]
X0 =
0
0
0
0
>> T=.00001
T =
1.0000e-005
>> N=25
N =
25
>> [X,g,H]=jacobi(A,b,X0,T,N)
X =
1.0e+017*
-4.1950
0.5698
2.1380
0.0451
g =
1.0e+017*
3.7699
0.5442
1.2965
0.1535
H =
1.0e+017*
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
5. Angga Debby Frayudha / Educational Technology 1 (2) (2016)
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
0 . 0000 0 . 0000 0 . 0000 0 . 0000
-0 . 0007 0 . 0000 0 . 0013 -0 . 0002
-0 . 0066 0 . 0009 0 . 0036 0 . 0000
-0 . 0173 0 . 0011 0 . 0333 -0 . 0042
-0 . 1661 0 . 0224 0 . 0873 0 . 0013
-0 . 4251 0 . 0256 0 . 8415 -0 . 1085
-4 . 0000 0 . 5698 2 . 1380 0 . 0451
Dari hasil diatas, metode Jacobi belum
konvergen setelah melakukan iterasi. Untuk
mengetahui penyelesaian SPL kita,
selanjutnya gunakan metode langsung dengan
menggunakan invers matriks A. MATLAB
memberikan penyelesaian sebagai berikut.
>> X=inv(A)*b
X =
1.1039
2.9965
-1.0211
-2.6263
Apakah metode jacobi tidak dapat
menghasilkan penyelesaian tersebut? Dengan
mengubah susunan SPL, yakni persamaan
pertama dan kedua dipindah menjadi
persamaan ketiga dan keempat, metode
Jacobi ternyata berhasil memberikan
penyelesaian tersebut, sebagaimana terlihat
pada hasil keluaran MATLAB berikut.
>> A=[10 -1 2 0;-1 11 -1 3;2 -1 10 0;0 3 -1 8]
A =
10 -1 2 0
-1 11 -1 3
2 -1 10 0
0 3 -1 8
>> b=[6;25;-11;-11]
b =
6
25
-11
-11
>> X0=[-2;1;3;-1]
X0 =
-2
1
3
-1
>> [X,g,H]=jacobi(A,b,X0,T,N)
X =
1.1039
2.9965
-1.0211
-2.6263
g =
0.0795
0.2004
0.0797
0.1511
H =
-2 . 0000 1 . 0000 3 . 0000 -1 . 0000
1 . 1000 2 . 6364 -1 . 6000 -2 . 3750
1 . 9836 2 . 6023 -1 . 8564 -2 . 4386
1 . 0315 2 . 9494 -1 . 0365 -2 . 4579
1 . 1022 2 . 9426 -1 . 0114 -2 . 6106
1 . 1065 2 . 9930 -1 . 0262 -2 . 6049
1 . 1045 2 . 9895 -1 . 0200 -2 . 6256
1 . 1030 2 . 9965 -1 . 0220 -2 . 6236
1 . 1040 2 . 9856 -1 . 0209 -2 . 6264
1 . 1037 2 . 9966 -1 . 0212 -2 . 6260
1 . 1039 2 . 9964 -1 . 0211 -2 . 6264
1 . 1039 2 . 9965 -1 . 0211 -2 . 6263
1 . 1039 2 . 9965 -1 . 0211 -2 . 6263
1 . 1039 2 . 9965 -1 . 0211 -2 . 6263
Iterasi Jacobi konvergen (dengan
menggunakan batas toleransi 0.0001) setelah
iterasi ke-13. Penyelesaian yang diberikan
persis sama dengan yang dihasilkan dengan
metode langsung. Hampiran penyelesaian SPL
kita adalah X = (1.1039 2.9965 -1.0211 -
2.6263)T
.
Layar MATLAB 7 (command window)
Dari contoh di atas bahwa urutan
persamaan di dalam suatu SPL sangat
berpengaruh terhadap penampilan metode
iterasi Jacobi. Kalau kita amati lebih lanjut
contoh di atas, kekonvergenan iterasi Jacobi
pada strategi kedua dikarenakan kita telah
mengubah susunan SPL sedemikian hingga
elemen-elemen aii merupakan elemen-elemen
terbesar pada setiap baris. Dengan kata lain,
apabila matriks koefisien A merupakan matriks
dominan secara diagonal, maka metode iterasi
Jacobi akan konvergen. Suatu matrik A
berukuran n x n dikatakan dominan secara
diagonal apabila
||...||||...|||| ,1,1,1, niiiiiiii aaaaa +++++> +−
untuk i = 1, 2, 3, ..., n.
6. Angga Debby Frayudha / Educational Technology 1 (2) (2016)
SIMPULAN
Dari pembahasan di atas kita dapat
mengambil kesimpulan bahwa.
1. Urutan persamaan di dalam suatu SPL
sangat berpengaruh terhadap penampilan metode
iterasi Jacobi.
2. Dengan menggunakan pemrograman
MATLAB 7 dapat membantu pemrograman dalam
dalam metode numeric khususnya metode iterasi
Jacobi.
SARAN
1. Dari hasil pembahasan disarankan untuk.
2. 1. Menggunakan metode iterasi Jacobi lebih
efektif untuk memecahkan masalah numerik
dalam SPL berukuran besar.
3. 2. Menggunakan program MATLAB 7 for
Windows dalam membantu pengolahan
metode iterasi Jacobi.
DAFTAR PUSTAKA
.