NOMOR 1
NOMOR 2
2. Algoritma
ITERASI JACOBI
ITERASI GAUSS-SEIDEL
Jacobi :
%% pengerjaan Jacobi
%%
fprintf('======================================================\n');
fprintf('Nama : Dimas Yoga Eka Prasetiya\n');
fprintf('NIM : C2C021022\n');
fprintf('Matkul : Metode Numerik\n');
fprintf('======================================================\n');
for i=1:n
sigma=0;
for j=1:n
if j~=i
sigma=sigma+A(i,j)*x(j);
end
end
x(i)=(1/A(i,i))*(b(i)-sigma);
end
itr=itr+1;
normVal=abs(xold-x);
end
%%
fprintf('Solution of the system is : \n%f\n%f\n%f\n%f in %d iterations',x,itr);
HASIL :
Gauss-Seidel :
for i=1:n
sigma=0;
for j=1:i-1
sigma=sigma+A(i,j)*x(j);
end
for j=i+1:n
sigma=sigma+A(i,j)*x_old(j);
end
x(i)=(1/A(i,i))*(b(i)-sigma);
end
itr=itr+1;
normVal=norm(x_old-x);
end
%%
fprintf('Solution of the system is : \n%f\n%f\n%f\n%f in %d
iterations',x,itr);
HASIL :
PENGERJAAN NOMOR 2
GAUSS-SEIDEL :
%% METODE Gauss Seidel
%%
fprintf('======================================================\n');
fprintf('Nama : Dimas Yoga Eka Prasetiya\n');
fprintf('NIM : C2C021022\n');
fprintf('Matkul : Metode Numerik\n');
fprintf('-------------------------------------------------------\n');
fprintf('Metode GAUSS- S E I D E L\n');
fprintf('======================================================\n');
A=[250 180 11 17;0 475 21 5;0 160 179 13;180 195 9 389]
b=[6000 2008 1612 5152]'
x=[0 0 0 0]'
n=size(x,1);
normVal=Inf;
%%
tol=1e-5; itr=0;
while normVal>tol
x_old=x;
for i=1:n
sigma=0;
for j=1:i-1
sigma=sigma+A(i,j)*x(j);
end
for j=i+1:n
sigma=sigma+A(i,j)*x_old(j);
end
x(i)=(1/A(i,i))*(b(i)-sigma);
end
itr=itr+1;
normVal=norm(x_old-x);
end
%%
fprintf(solusinya : \n%f\n%f\n%f\n%f in %d iterations',x,itr);
HASIL :
JACOBI :
%% pengerjaan Jacobi
%%
fprintf('======================================================\n');
fprintf('Nama : Dimas Yoga Eka Prasetiya\n');
fprintf('NIM : C2C021022\n');
fprintf('Matkul : Metode Numerik\n');
fprintf('-------------------------------------------------------\n');
fprintf('Metode J A C O B I \n');
fprintf('======================================================\n');
A=[250 180 11 17;0 475 21 5;0 160 179 13;180 195 9 389]
b=[6000 2008 1612 5152]'
x=[0 0 0 0]'
n=size(x,1);
normVal=Inf;
%%
% * _*menentukan toleransi *_
tol=1e-5; itr=0;
%% Algorithm: Jacobi Method
%%
while normVal>tol
xold=x;
for i=1:n
sigma=0;
for j=1:n
if j~=i
sigma=sigma+A(i,j)*x(j);
end
end
x(i)=(1/A(i,i))*(b(i)-sigma);
end
itr=itr+1;
normVal=abs(xold-x);
end
%%
fprintf('Solution of the system is : \n%f\n%f\n%f\n%f in %d iterations',x,itr);
HASIL :
4. Pembahasan
Dari percobaan di atas bisa dilihat bahwa nilai toleransi error tidak mempengaruhi hasil dari
soal diatas walaupun nilai toleransi errornya berbeda tapi hasilnya sama.
Dengan demikian yang mempengaruhi jacobi bukan nilai toleransi error melainkan
x0 atau titik awal.
Dari percobaan di atas bisa dilihat bahwa saat dimasukkan nilai toleransi error
10-3,10-4 hasilnya sama dan bila dilanjutkan ke nilai toleransi error 10 -5
hasilnya berbeda. Dengan demikian yang mempengaruhi metode seidel yaitu
nilai toleransi error, iterasi maksimum dan x0, x1.
5. Daftar Pustaka
https://rpubs.com/shafirahalma/835476
https://www.mathworks.com/matlabcentral/fileexchange/63167-gauss-seidel-
method-jacobi-method