View
566
Download
79
Category
Preview:
DESCRIPTION
Pemograman Komputer
Citation preview
I. Tujuan
Mahasiswa mampu menyesaikan Sistem Persamaan Linear dengan Metode
Iterasi Gauss Siedel dan Metode Iterasi Jacobi pada Matlab.
II. Dasar teori
Metode Iterasi adalah metode dimana penyelesaian persamaan diprediksi
dengan suatu nilai awal yang kemudian diuji melalui subtitusi ke dalam persamaan.
Besarnya perbedaan yang diperoleh dijadikan dasar untuk menentukan nilai
prediksi selanjutnya. Perulangan dalam suatu metode iterasi boleh saja tidak
terbatas, namun umumnya dibatasi oleh besarnya error-koreksi yang diperoleh.
Apabila besarnya lebih kecil dari nilai yang diharapkan maka iterasi dapat
dihentikan.
Metode Iterasi Gauss Siedel
Metode interasi Gauss-Seidel adalah metode yang menggunakan proses iterasi
hingga diperoleh nilai-nilai yang berubah-ubah. Metode iterasi Gauss-Seidel
dikembangkan dari gagasan metode iterasi pada solusi persamaan tak linier .
Rumus dari metode eliminasi Gauss-Seidel :
Teknik iterasi jarang digunakan untuk menyelesaikan SPL berukuran kecil
karena metode-metode langsung seperti metode Eliminasi Gauss lebih efisien
daripada metode iterasi, akan tetapi, untuk SPL berukuran besar dengan persentase
elemen nol pada matriks koefisien besar, teknik iterasi lebih efisien dari pada
metode langsung dalam hal penggunaan memori komputer maupun waktu
komputasi. Dengan metode iterasi Gauss-Seidel sesatan pembulatan dapat
diperkecil karena dapat meneruskan iterasi sampai solusinya seteliti mungkin sesuai
dengan batas sesatan yang diperbolehkan.
Metode Iterasi Jacobi
Metode Iterasi Jacobi merupakan salah satu bidang analisis numerik yang
digunakan untuk menyelesaikan permasalahan persamaan linear dan sering
dijumpai dalam berbagai disiplin ilmu. Metode Iterasi Jacobi merupakan salah satu
metode tak langsung, yaitu bermula dari suatu hampiran penyelesaian awal dan
kemudian berusaha memperbaiki hampiran dalam tak berhingga namun langkah
konvergen. Metode Iterasi Jacobi ini digunakan untuk menyelesaikan persamaan
linear berukuran besar dan proporsi koefisien nolnya besar.
Metode ini ditemukan oleh matematikawan yang berasal dari Jerman, Carl
Gustav Jacobi. Penemuan ini diperkirakan pada tahun 1800-an.Kalau kita
mengubah dalam Sistem Persamaan Linear, maka dapat ditulis sebagai berikut
Kemudian, diketahui bahwa , di mana merupakan
matriks diagonal, merupakan matriks segitiga bawah, dan merupakan matriks
segitiga atas.
Kemudian, persamaan di atas dapat diubah menjadi :
Kemudian,
Jika ditulis dalam aturan iteratif, maka metode Jacobi dapat ditulis sebagai :
di mana merupakan banyaknya iterasi. Jika menyatakan hampiran ke-
penyelesaian SPL, maka adalah hampiran awal.
III. Algoritma
Metode Iterasi Jacobi
1. Masukan dimensi n, matriks A dan ruas kanan b2. Lanjutkan pivoting sehingga diagonal-diagonal-nya dominan3. Inisialisasi vector x4. Maxiter = 250 ;5. Untuk k=1 s/d maxiter dan toleransi belum dicapai lakukan :
a. Untuk i=1 s/d n lakukan :i. w = b(i) ;ii. Untuk j=1 s/d N dan i≠ j
1. w=w−A (i , j )∗xk ( j )
iii. x (i )=w / A (i , i);b. Cari beda terbesar, bandingkan dengan toleransi
6. Cetak x;7. Stop
Metode Gauss Seidel
1. Masukan dimensi n, matriks koefisien A, dan vector ruas kanan b.
2. Lakukan pivoting pada matriks A dan ruas kanan b3. Inisialisasi vektor prediksi xp=0
4. Maxstep = 10005. Lakukan peulangan :
for k=1 : maxstepfor i=1:n m=b (i )
for j = (i +1) : n m=m−A (i , j )∗xp ( j )
endfor for j=1 : i
if (i= j )
x (i )=w / A (i , i) else
m=m−A (i , j )∗x ( j )
endif endfor error = abs( x - xp ) if( error < tol)
break endif endforendfor
6. Hasil akhir adalah vektor x
IV. Flowchart
Metode Iterasi Jacobi
[X, g, H]= jacobi(A,b,X0,T,N)
xi = ( x1 x2 x3 …xn)
Input A, b, X0, T, N
x i=bi−∑ j≠i
aij y j
aii
AX = b
STOP
START
Metode gauss saidel
V. Program / Scrib
Iterasi Jacobi
Matriks 3x3
clcclear all%iterasi jacobi A=[4 -1 1; 4 -8 1; -2 1 5];b=[7; -21; 15];[m,n]=size(A);J=zeros(n); for p=1:n for k=1:n if (k ~= p) J(p,k)=-A(p,k)/A(p,p); end end u(p,1)=b(p,1)/A(p,p);end xlama=[1; 2; 2 ]; %---inisialisasi xlamaitermaks=10; %---iterasi maksimum sampai 10 kalifor k=1:itermaks xbaru=J*xlama + u; xlama=xbaru;endxbaru
Matriks 4x4
clcclear all%iterasi jacobi A=[-2 1 10 0; 0 3 -1 8 ; 10 -1 2 0; -1 11 -1 3 ];b=[-11; -11; 6; 25]; [m,n]=size(A);J=zeros(n); for p=1:n
for k=1:n if (k ~= p) J(p,k)=-A(p,k)/A(p,p); end end u(p,1)=b(p,1)/A(p,p);end xlama=[0; 0; 0; 0 ]; %---inisialisasi xlamaitermaks=10; %---iterasi maksimum sampai 10 kalifor k=1:itermaks xbaru=J*xlama + u; xlama=xbaru;endxbaru
Iterasi Gauss Seidel
Matriks 3x3
for p=1:n-1 for k=1:n if k==p k=k+1; end J(p,k)=-A(p,k)/A(p,p); end u(p,1)=b(p,1)/A(p,p);endfor k=1:n-1 J(n,k)=-A(n,k)/A(n,n);endu(n,1)=b(n,1)/A(n,n);%-------------------------L=J;%matriks J dicopy ke matriks Lfor p=1:n-1 for k=p+1:n L(p,k)=0; endend%--------------------------U=J;%matriks J dicopy ke matriks Ufor p=1:n-1 for k=p+1:n U(k,p)=0; end
endxlama=[1; 2; 2];%---inisialisasi xlama itermaks=10;%---iteraksi maksimum sampai 10 kalifor k=1:itermaks xbaru=J*xlama + u; xlama=xbaru;endxbaru
Matriks 4x4
%PROGRAM ITERASI GAUSS SEIDEL
clear all
clc
A=[10 -1 2 0; -1 11 -1 3; 2 -1 10 -1; 0 3 -1 8];
b=[6; 25; -11; 15];
dim=size(A);
n=dim(1);
disp(' PROGRAM ITERASI GAUSS SEIDEL ')
disp('------------------------------------------')
disp('iterasi x1 x2 x3 x4')
disp('------------------------------------------')
%---perhitungan matriks J dan vektor U---
for k=1:n
J(k,k)=0;
end
for p=1:n-1
for k=1:n
if k==p
k=k+1;
end
J(p,k)=-A(p,k)/A(p,p);
end
u(p,1)=b(p,1)/A(p,p);
end
for k=1:n-1
J(n,k)=-A(n,k)/A(n,n);
end
u(n,1)=b(n,1)/A(n,n);
%-------------------------
L=J;%matriks J dicopy ke matriks L
for p=1:n-1
for k=p+1:n
L(p,k)=0;
end
end
%--------------------------
U=J;%matriks J dicopy ke matriks U
for p=1:n-1
for k=p+1:n
U(k,p)=0;
end
end
xlama=[0; 0; 0; 0];%---inisialisasi xlama
itermaks=10;%---iterasi maksimum sampai 10 kali
for k=1:itermaks
xbaru=J*xlama + u;
xlama=xbaru;
fprintf('%8.0f %9.5f %9.5f %9.5f %9.5f \n',k,xbaru')
end
VI. Hasil
Iterasi Jacobi
Matriks 3x3
Matriks 4x4
Iterasi Gauss Seidel
Matriks 3x3
Matriks 4x4
VII. Pembahasan
Metode Iterasi memiliki keunggulan dibandingkan dengan Metode Eliminasi
karena hemat dalam pemakaian memori, atau karena kompleksitasnya ≈ O ¿).
Sementara itu, kompleksitas Metode Eliminasi umumnya adalah≈ O ¿), dimana
n adalah ukuran vektor x. karenanya Metode Eliminasi lebih cocok untuk sistem
persamaan variable yang tidak terlalu banyak, sedangkan Metode Iterasi bias
digunakan untuk matriks koefisien berukuran besar dan sebagian elemennya nol
(Sparse Matriks).
Metode Iterasi Jacobi terkesan lambat menuju konvergensi sehingga Gauss
Siedel mengusulkan metode yang leih cepat, dimana nilai yang diperoleh langsung
digunakan dalam putaran iterasi yang sedang berlangsung.
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.
VIII. Kesimpulan
Metode eliminasi gauss-seidel digunakan untuk menyelesaikan SPL yg
berukuran kecil karena metode ini lebih efisien. Dengan metode iterasi Gauss-
Seidel sesatan pembulatan dapat diperkecil karena dapat meneruskan iterasi
sampai solusinya seteliti mungkin sesuai dengan batas sesatan yang diperbolehkan.
Kelemahan dari metode ini adalah masalah pivot (titik tengah) yang harus benar–
benar diperhatikan, karena penyusun yang salah akan menyebabkan iterasi menjadi
divergen dan tidak diperoleh hasil yang benar
Metode Iterasi Jacobi terkesan lambat menuju konvergensi sehingga Gauss
Siedel mengusulkan metode yang leih cepat, dimana nilai yang diperoleh langsung
digunakan dalam putaran iterasi yang sedang berlangsung.
DAFTAR PUSTAKA
Munir, R. 2003. Metode Numerik. Informatika. Bandung.
Sahid. 2005. Pengantar Komputasi Numerik dengan MATLAB. Andi. Yogyakarta.
Suarga. 2012. Algoritma Pemograman . Edisi ke-2. Yogyakarta : Penerbit ANDI.
Recommended