Anda di halaman 1dari 14

BAB 4

PENYELESAIAN SISTEM PERSAMAAN


LINEAR
A. Latar Belakang
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-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. MetodeTak-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.

B. Rumusan Masalah
Dari uraian di atas, dapat dirumuskan permasalahannya.
1. Apakah urutan persamaan di dalam suatu SPL berpengaruh terhadap penampilan
metode iterasi Jacobi?
2. Apakah program MATLAB 7 dapat digunakan sebagai solusi pemrograman dalam
metode numerik khususnya metode iterasiJacobi?

C. Batasan Masalah
Dalam makalah ini akan membahas tentang penggunaan metode iterasi Jacobi
dalam penyelesaian Sistem Persamaan Linear (SPL) berukuran besar dengan persentase
elemen nol pada matriks koefisien besar dengan pemrograman MATLAB 7 for Windows.

D. Tujuan
Tujuan penulisan makalah sebagai berikut.
1. Memberikan solusi dalam memperoleh urutan persamaan di dalam suatu SPL
dengan menggunakan metode iterasi Jacobi.
2. Penggunaan MATLAB 7 untuk membantu menyelesaikan pemrograman dalam
penyelesaian Sistem Persamaan Linear (SPL) dengan metode iterasi Jacobi.

E. Manfaat
Dapat diambil manfaatnya sebagia berikut.
1. Dapat digunakan sebagai solusi dalam memperoleh urutan persamaan di dalam
suatu SPL berukuran besar dengan menggunakan metode iterasi Jacobi.
2. Memberi kemudahan dalam menyelesaikan Sistem Persamaan Linear (SPL)
berukuran besar dengan metode iterasi Jacobi dengan pemrograman MATLAB 7 for
Windows.

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
bi   j i aij y j
(a) FOR i = 1, 2, 3, ..., n, hitung xi 
aii
T
(b) Set X = (x1 x2 x3 ..xn)
(c) IF X  Y < 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

START

AX = b

Input A, b, X0, T, N

[X, g, H]=
jacobi(A,b,X0,T,N)

xi = ( x1 x2 x3 …xn)

STOP

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 :
1  
xi
(k )
  bi   aij x j ( k 1)  , i = 1, 2, 3, ..., n ; k = 1, 2, 3, ..
 
aii  j i 

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 +2 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


x 2 x3 3
x1   
10 5 5
x x 3x 25
x2  1  3  4 
11 11 11 11
 x1 x2 x4 11
x3    
5 10 10 10
 3x2 x3 15
x4   
8 8 8
Misalkan kita pilih hapiran penyelesaian awal (0 0 0 0)T, maka hampiran pertama
terhadap penyelesaian SPL tersebut adalah
3
x1   0.6 = 1
5
25
x2   2.2727 = 2
11
11
x3   1.1 = -1
10
15
x4   1.8750 = 2
8
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 0.6 2.27273 -1.1 1.875
2 1.04727 1.71591 -0.805227 0.885227
3 0.932636 2.05331 -1.04934 1.13088
4 1.0152 1.9537 -0.968109 0.973843
5 0.988991 2.01141 -1.01029 1.02135
6 1.0032 1.99224 -0.994522 0.994434
7 0.998128 2.00231 -1.00197 1.00359
8 1.00063 1.99867 -0.999036 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 [X1,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
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)
D
ari
con
toh
di
ata
s
bah
wa
uru
tan
per
sa
ma
an
di
dal
am
sua
tu
SPL
san
gat
ber
pengaruh 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 aiimerupakan
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 dominansecaradiagonal
apabila
| aii || ai ,1 | ... | ai ,i 1 |  | ai ,i 1 | ... | ai ,n | untuk i = 1, 2, 3, ..., n.

SIMPULAN
A. 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 iterasiJacobi

B. Saran
Dari hasil pembahasan disarankan untuk.
1. Menggunakan metode iterasi Jacobi lebih efektif untuk memecahkan masalah
numerik dalam SPL berukuran besar.
2. Menggunakan program MATLAB 7 for Windows dalam membantu pengolahan
metode iterasi Jacobi.
PERSAMAAN GAUSS SEIDEL

A. Tujuan
a. Memahami Persamaan Gauss Seidel
b. Mampu Menentukan nilai akar persamaan dengan Gauss Seidel
c. Mampu membuat program untuk menentukan nilai akar dengan Metode Gauss
Seidel dengan Matlab

B. Perangkat dan Materi


a. Software Matlab
b. Metode Iterasi Gauss Seidel

C. Dasar Teori

Metode iterasi Gauss-Seidel untuk menyelesaikan sistem persamaan linear

Suatu sistem persamaan linier terdiri atas sejumlah berhingga persamaan linear dalam
sejumlah berhingga variabel. Menyelesaikan suatu sistem persamaan linier adalah mencari
nilai-nilai variabel yang belum diketahui yang memenuhi semua persamaan linier yang
diberikan.

Rumus iterasi untuk hampiran ke-k pada metode iterasi Gauss-Seidel adalah sebagai berikut.
Untuk i = 1, 2, …, n dan k = 1, 2, 3, …,

Algoritma Iterasi Gauss-Seidel

Untuk menyelesaikan sistem persamaan linier AX = b dengan A adalah matriks koefisien n ×


n , b vektor konstanta n × 1 , dan X vektor n × 1 yang perlu di cari.

INPUT : n, A, b dan hampiran 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 k = 1


2. WHILE k<= N DO
(a) FOR i = 1, 2, 3, ..., n, hitung :

(b) Set X = (x1 x2 x3 ...xn)T


(c) IF ||X - Y|| < T THEN STOP
(d) Tambah penghitung iterasi, k = k + 1
(e) FOR i = 1, 2, 3, ..., n, Set yi = xi
(f) Set Y = (y1 y2 y3 ...yn)T
3. Tulis pesan "metode gagal setelah N iterasi"
4. STOP.

Implementasi dengan MATLAB

function [X1,g,H] = seidel(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)*X1(1:i-1)-A(i,i+1:n)*X0(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

Contoh

Sebagai gambaran misalkan mencari penyelesaian SPL

10x1 - x2 +2x3=6

-x1+11x2-x3+3x4=25

2x1-x2+10x3-x4=-11

3x2-x3+8x4=15

Berikut pemakaian fungsi MATLAB seidel untuk penyelesaian soal di atas dan keluaran yang
diperoleh :

>> A=[10 -1 2 0;-1 11 -1 3;2 -1 10 -1;0 3 -1 8]

A=

10 -1 2 0
-1 11 -1 3

2 -1 10 -1

0 3 -1 8

>> b=[6;25;-11;15]

b=

25

-11

15

>> X0=[0;0;0;0]

X0 =

>> T=0.0001;N=25;

>> [X,g,H]=seidel(A,b,X0,T,N)

X=

1.0000

2.0000

-1.0000

1.0000

g=

1.0e-004 *

0.8292
0.2017

0.2840

0.1111

H=

Columns 1 through 6

0 0 0 0 0.6000 2.3273

Columns 7 through 12

-0.9873 0.8789 1.0302 2.0369 -1.0145 0.9843

Columns 13 through 18

1.0066 2.0036 -1.0025 0.9984 1.0009 2.0003

Columns 19 through 24

-1.0003 0.9998 1.0001 2.0000 -1.0000 1.0000

Columns 25 through 28

1.0000 2.0000 -1.0000 1.0000

Proses iterasi dapat diulangi sampai tingkat keakuratan yang diinginkan tercapai,
penyelesaian eksak contoh di atas adalah (1, 2, -1, 1).

Soal tugas di rumah:


Dikumpulkan (Buat LAPORAN PRAKTIKUM)
Carilah akar-akar persamaan berikut dengan Metode Gauss-Seidel dengan Matlab :
3x1  0.1x2  0.2 x3  7.85
0.1x1  7 x2  0.3x3  19.3
0.3x1  0.2 x2  10 x3  71.4
Latihan di kelas :
Carilah akar-akar persamaan berikut dengan Metode Gauss-Seidel dengan Matlab:
x  y  2z  9
2 x  4 y  3z  1
3x  6 y  5 z  0

Anda mungkin juga menyukai