Metode Iterasi Jacobi
hampir sama dengan iterasi Gauss-Seidel
akan tetapi variable yang diiterasi tidak langsung digunakan.
Berikut codingnya:
Metode Iterasi Jacobi
procedure TForm1.Button1Click(Sender: TObject);
var
n,i,j,k,bar,iterasi,maxit:integer;
a:array [1..100,1..100]of real;
x,xlama,y:array [1..100]of real;
sum,e:real;
begin
n:=stringgrid1.RowCount-1;
maxit:=strtoint(edit2.text);
//memasukkan matrix a dan c
for i:=1 to n do
for j:=1 to n+1 do
begin
a[i,j]:=strtofloat(stringgrid1.cells[j,i]);
end;
//menghitung x[i]
e:=1;iterasi:=0;
while (e>0.001) or (iterasi<>i then
sum:=sum-y[j]*a[i,j];
xlama[i]:=x[i];
x[i]:=sum/a[i,i];
e:=abs((x[i]-xlama[i])/x[i]);
end;
for k:=1 to n do
begin
y[k]:=x[k];
stringgrid2.cells[k,iterasi]:=floattostr(y[k]);
stringgrid2.cells[k,0]:='x'+inttostr(k);
end;
stringgrid2.cells[0,iterasi]:=inttostr(iterasi);
end;
stringgrid2.RowCount:=iterasi+1;
end;
Metode Jacobi pada kasus ini bila dibandingkan dengan metode Gauss-Seidel memberikan hasil kekonvergensian yang berbeda. Pada iterasi kedua Jacobi telah memberikan hasil kekonvergenan yang lebih baik dari pada metode Gauss-Seidel.
Sehingga dapat diambil kesimpulan jika ditinjau dari perbandingan Gauss Seidel dan Jacobi:
1. Jacobi lebih cepat menuju kekonvergenan sedangkan Gauss Seidel relative lambat.
2. Iterasi yang dibatasi membuat Gauss Seidal sering kali tidak konvergen.
akan tetapi variable yang diiterasi tidak langsung digunakan.
Berikut codingnya:
Metode Iterasi Jacobi
procedure TForm1.Button1Click(Sender: TObject);
var
n,i,j,k,bar,iterasi,maxit:integer;
a:array [1..100,1..100]of real;
x,xlama,y:array [1..100]of real;
sum,e:real;
begin
n:=stringgrid1.RowCount-1;
maxit:=strtoint(edit2.text);
//memasukkan matrix a dan c
for i:=1 to n do
for j:=1 to n+1 do
begin
a[i,j]:=strtofloat(stringgrid1.cells[j,i]);
end;
//menghitung x[i]
e:=1;iterasi:=0;
while (e>0.001) or (iterasi
sum:=sum-y[j]*a[i,j];
xlama[i]:=x[i];
x[i]:=sum/a[i,i];
e:=abs((x[i]-xlama[i])/x[i]);
end;
for k:=1 to n do
begin
y[k]:=x[k];
stringgrid2.cells[k,iterasi]:=floattostr(y[k]);
stringgrid2.cells[k,0]:='x'+inttostr(k);
end;
stringgrid2.cells[0,iterasi]:=inttostr(iterasi);
end;
stringgrid2.RowCount:=iterasi+1;
end;
Metode Jacobi pada kasus ini bila dibandingkan dengan metode Gauss-Seidel memberikan hasil kekonvergensian yang berbeda. Pada iterasi kedua Jacobi telah memberikan hasil kekonvergenan yang lebih baik dari pada metode Gauss-Seidel.
Sehingga dapat diambil kesimpulan jika ditinjau dari perbandingan Gauss Seidel dan Jacobi:
1. Jacobi lebih cepat menuju kekonvergenan sedangkan Gauss Seidel relative lambat.
2. Iterasi yang dibatasi membuat Gauss Seidal sering kali tidak konvergen.
tak jelas ni program
ReplyDelete