Implementasinya di Matlab
%kelompok 2
%alessandro
%halimah
%hendri
%solikin
clc;
clear;
disp('Solusi dari persamaan:')
disp(' x + y + 2z = 9')
disp(' 2x+4y - 3z = 1')
disp(' 3x+6y - 5z = 0')
disp('Menggunakan Metode Eliminasi Gauss-Jordan')
A=[1 1 2 9;2 4 -3 1;3 6 -5 0]
disp('Baris 2 = -2 kali Baris 1 + Baris 2')
A(2,:)=-2*A(1,:)+A(2,:)
disp('Baris 3 = -3 kali Baris 1 + Baris 3')
A(3,:)=-3*A(1,:)+A(3,:)
disp('Baris 2 = Baris 2 bagi 2')
A(2,:)=A(2,:)/2
disp('Baris 3 = -3 Baris 2 + Baris 3')
A(3,:)=-3*A(2,:)+A(3,:)
disp('Baris 3 = -2 kali Baris 3')
A(3,:)=-2*A(3,:)
disp('Baris 1 = -1 kali Baris 2 + Baris 1')
A(1,:)=-1*A(2,:)+A(1,:)
disp('Baris 1 = -11/2 kali Baris 3 + Baris 1')
A(1,:)=(-11/2)*A(3,:)+A(1,:)
disp('Baris 2 = 7/2 kali Baris 3 + Baris 2')
A(2,:)=(7/2)*A(3,:)+A(2,:)
OUTPUT
>> Solusi dari persamaan:
x + y + 2z = 9
2x+4y - 3z = 1
3x+6y - 5z = 0
Menggunakan Metode Eliminasi Gauss-Jordan
A=
1 1 2 9
2 4 -3 1
3 6 -5 0
Baris 2 = -2 kali Baris 1 + Baris 2
A=
1 1 2 9
0 2 -7 -17
3 6 -5 0
Baris 3 = -3 kali Baris 1 + Baris 3
A=
1 1 2 9
0 2 -7 -17
0 3 -11 -27
Baris 2 = Baris 2 bagi 2
A=
1.0000 1.0000 2.0000 9.0000
0 1.0000 -3.5000 -8.5000
0 3.0000 -11.0000 -27.0000
Baris 3 = -3 Baris 2 + Baris 3
A=
1.0000 1.0000 2.0000 9.0000
0 1.0000 -3.5000 -8.5000
0 0 -0.5000 -1.5000
Baris 3 = -2 kali Baris 3
A=
1.0000 1.0000 2.0000 9.0000
0 1.0000 -3.5000 -8.5000
0 0 1.0000 3.0000
Baris 1 = -1 kali Baris 2 + Baris 1
A=
1.0000 0 5.5000 17.5000
0 1.0000 -3.5000 -8.5000
0 0 1.0000 3.0000
Baris 1 = -11/2 kali Baris 3 + Baris 1
A=
1.0000 0 0 1.0000
0 1.0000 -3.5000 -8.5000
0 0 1.0000 3.000
Baris 2 = 7/2 kali Baris 3 + Baris 2
1 0 0 1
0 1 0 2
0 0 1 3
C. METODE ELIMINASI GAUSS-SEIDEL
Metode Gauss-Seidel digunakan untuk menyelesaikan sistem persamaan linier (SPL)
berukuran besar dan proporsi koefisien nolnya besar, seperti sistem-sistem yang banyak
ditemukan dalam sistem persamaan diferensial. Teknik iterasi jarang digunakan untuk
menyelesaikan SPL berukuran kecil karena metode-metode langsung seperti metode
eliminasi Gauss lebih efisien daripada metode iteratif. Akan tetapi, untuk SPL berukuran
besar dengan persentase elemen nol pada matriks koefisien besar, teknik iterasi lebih efisien
daripada metode langsung dalam hal penggunaan memori komputer maupun waktu
komputasi. Dengan metode iterasi Gauss-Seidel hampiran pembulatan dapat diperkecil
karena dapat meneruskan iterasi sampai solusinya seteliti mungkin sesuai dengan batas
hampiran yang diperbolehkan. Pada metode iterasi Gauss-Seidel, nilai-nilai yang paling akhir
dihitung digunakan di dalam semua perhitungan. Untuk lebih jelasnya, perhatikan sistem
persamaan linier berikut:
Pada baris pertama, x1baru dihitung berdasarkan x2lama dan x3lama . kemudian x1baru
tersebut langsung dipakai pada baris kedua untuk menghitung x 2baru . selanjutya x1baru dan x2baru
digunakan pada baris ketiga untuk mendapatkan x 3baru. Begitu seterusnya hingga x4baru pun
diperoleh pada baris keempat. Sistem persamaan tersebut dapat dinyatakan dalam indeks k
seperti di bawah ini dimana k adalah jumlah iterasi.
Kelebihan dan Kekurangan
Kelebihan metode iterasi Gauss-Seidel adalah kesalahan pembulatan dapat diperkecil karena
dapat meneruskan iterasi sampai solusinya seteliti mungkin sesuai dengan batas kesalahan
yang diperbolehkan.
Kelemahan dari metode ini adalah masalah pivot (titik tengah) yang harus benarbenar
diperhatikan, karena penyusun yang salah akan menyebabkan iterasi menjadi divergen dan
tidak diperoleh hasil yang benar.
Contoh Soal,
Diberikan persamaan linier sebagai berikut
10 x 1 - x 2 + 2 x 3 = 6,
- X 1 + 11 x 2 - x 3 + 3 x 4 = 25,
2 x 1 - x 2 + 10 x 3 - x 4 = - 11,
3 x 2 - x 3 + 8 x 4 = 15.
Pecahkan nilai di atas menjadi x1,x2,x3,x4
x 1 = x 2 / 10 - x 3 / 5 + 3 / 5,
x 2 = x 1 / 11 + x 3 / 11 - 3 x 4 / 11 + 25 / 11,
x 3 = - x 1 / 5 + x 2 / 10 + x 4 / 10-11 / 10,
x 4 = - 3 x 2 / 8 + x 3 / 8 + 15 / 8.
Nilai pendekatan awal (0,0,0,0)
x 1 = 3 / 5 = 0.6,
x 2 = (3 / 5) / 11 + 25/11 = 3 / 55 + 25/11 = 2,3272,
x 3 = - (3 / 5) / 5 + (2,3272) / 10 - 11 / 10 = - 3 / 25 + 0,23272-1,1 = - 0,9873,
x 4 = - 3 (2,3272) / 8 + (- 0,9873) / 8 + 15 / 8 = 0,8789.
Dihasilkan iterasi 4 buah :
X1 X2 X3 X4
0,6 2,327 -0,987 0,87
8
1,03 2,036 -1,014 0,98
3
1,00 2,003 - 0.99
6 1,002 8
1 2 -1 0,99
9
Implementasinya di Matlab
clear all
clc
%---nilai awal---
xlama(1,1)=0;
xlama(2,1)=0;
xlama(3,1)=0;
xlama(4,1)=0;
xlama
n=4 %jumlah elemen vektor
itermaks=10 %jumlah iterasi maksimal
sc=0.001 %stopping-criteria
for i=1:itermaks
%---nilai update---
xbaru(1,1)=(1/10)*xlama(2,1)-(2/10)*xlama(3,1)+(6/10);
xbaru(2,1)=(1/11)*xbaru(1,1)+(1/11)*xlama(3,1)-(3/11)*xlama(4,1)+(25/11);
xbaru(3,1)=-(2/10)*xbaru(1,1)+(1/10)*xbaru(2,1)+(1/10)*xlama(4,1)-(11/10);
xbaru(4,1)=-(3/8)*xbaru(2,1)+(1/8)*xbaru(3,1)+(15/8);
xbaru
%---norm selisih---
s=0;
for i=1:n
s=s+(xbaru(i,1)-xlama(i,1))^2;
end
epsilon=sqrt(s)
%---memeriksa stopping criteria, sc---
if epsilon<sc
break
end
xlama=xbaru; %xbaru dijadikan xlama untuk iterasiberikutnya
end
OUTPUT
xlama =
0
0
0
0
n=
4
itermaks =
10
sc =
0.0010
xbaru =
0.6000
2.3273
-0.9873
0.8789
epsilon =
2.7429
xbaru =
1.0302
2.0369
-1.0145
0.9843
epsilon =
0.5303
xbaru =
1.0066
2.0036
-1.0025
0.9984
epsilon =
0.0448
xbaru =
1.0009
2.0003
-1.0003
0.9998
epsilon =
0.0071
xbaru =
1.0001
2.0000
-1.0000
1.0000
epsilon =
8.7436e-004
DAFTAR PUSTAKA