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),
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.
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
(a) FOR i = 1, 2, 3, ..., n, hitung
ii i j ij j i
i
a
y
a
b
x
(b) Set X = (x1 x2 x3 ..xn)T
(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
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 :
i j
k j ij i
ii k
i
b
a
x
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 +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,
START
STOP
AX = b
Input A, b, X0, T, N
xi = ( x1 x2 x3 …xn)
4. Nyatakan x4 dari persamaan (P4) dalam x1, x2, dan x3.
Hasilnya adalah SPL
5
Misalkan kita pilih hapiran penyelesaian awal (0 0 0 0)T, maka hampiran pertama terhadap penyelesaian SPL tersebut adalah
6
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.
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
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 =
-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 . 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 =
1 . 1045 2 . 9895 -1 . 0200 -2 . 6256
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 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
Dari pembahasan di atas kita dapat mengambil kesimpulan bahwa.
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.
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
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 =
-1 11 -1 3
2 -1 10 -1
0 3 -1 8
>> b=[6;25;-11;15]
b =
6
25
-11
15
>> X0=[0;0;0;0]
X0 =
0
0
0
0
>> 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.2017
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 :
4
Carilah akar-akar persamaan berikut dengan Metode Gauss-Seidel dengan Matlab: