LINEAR SIMULTAN
Muslikhin Hidayat (Materi diambil dari Buku Pemodelan
Matematis dan Penyelesaian Numeris dalam Teknik
Kimia Karangan Sediawan dkk (1997)
Bentuk umum persamaan linear simultan adalah
1)
◦ Dalam hal ini akan dicari harga x1, x2, ......., xn
◦ Ada beberapa cara penyelesaian persamaan ini
◦ Pada sesion ini hanya akan dibaha satu cara yaitu cara
Eliminasi Gauss dengan maximum column pivoting yang
diikuti dengan substitusi balik (backward substitution)
◦ Dengan Eliminasi Gauss, persamaan 1 diubah menjadi
bentuk matriks segitiga atas (upper triangular matrix)
dengan langkah-langkah sebagai berikut:
◦ Eliminasi a21, a31, a41, ........, an1 (kolom 1)
◦ Baris 1 dikalikan a21/a11, kemudian dikurangkan ke baris 2
◦ Baris 1 dikalikan a31/a11, kemudian dikurangkan ke baris 3
.
.
.
.
.
.
.
◦ Baris 1 dikalikan an1/a11, kemudian dikurangkan ke baris n
◦ Eliminasi a32, a42, a52, ........, an2 (kolom 2)
◦ Baris 2 dikalikan a32/a22, kemudian dikurangkan ke baris 3
◦ Baris 2 dikalikan a42/a22, kemudian dikurangkan ke baris 4
.
.
.
.
.
.
.
◦ Baris 2 dikalikan an2/a22, kemudian dikurangkan ke baris n
◦ Proses yang sama dikenakan untuk kolom selanjutnya sampai
kolom n-1
◦ Dari proses eliminasi diperoleh persamaan berbentuk upper
triangular matrix sebagaimana berikut:
◦ Setelah itu harga x1, x2, x3, .....xn dihitung dengan backward
substitution seperti berikut:
◦ Cara ini mempunyai kelemahan, yaitu:
◦ Jika pada saat eliminasi kolom ke i harga ai,i = 0, maka proses tidak
dapat berjalan
◦ Jika pada saat eliminasi kolom ke i harga absolut dari ai,i
mendekati nol atau sangat kecil, maka ketelitian hitungan akan
rendah
◦ Kedua kelemahan tersebut dapat diatasi dengan maksimum
column pivoting
◦ Pada saat akan melakukan eliminasi kolom ke i, dicari diantara
harga ai,i, ai+1,i, ai+2,i, ......., an,i yang mempunyai harga mutlak
terbesar.
◦ Misal diperoleh ak,i selanjutnya baris ke i ditukar dengan baris ke
k, baru dilakukan eliminasi kolom i
◦ Contoh, selesaikan persamaan berikut:
Program Matlab
clc
clear
a=[1,1,1,1,1;1,0,2,-1,1;2,-1,-1,1,-1;0,1,-
1,0,2;1,2,1,-1,0]
b=[2,-1,7,-9,-2]'
c=a\b
n=length(a);
for i=1:n-1;
imax=i;
for ipivot=i+1:n;
if abs(a(ipivot,i))>abs(a(imax,i));
imax=ipivot;
end
end
for l=i:n;
asimpan=a(i,l);
a(i,l)=a(imax,l);
a(imax,l)=asimpan;
end
bsimpan=b(i);
b(i)=b(imax);
b(imax)=bsimpan;
for ibaris=i+1:n;
rasio=a(ibaris,i)/a(i,i);
for ikolom=i:n;
a(ibaris,ikolom)=a(ibaris,ikolom)-
rasio*a(i,ikolom);
end
b(ibaris)=b(ibaris)-rasio*b(i);
end
end
x(n)=b(n)/a(n,n);
for i=n-1:-1:1;
jx=0;
for j=i+1:n;
jx=jx+a(i,j)*x(j);
end
x(i)=(b(i)-jx)/a(i,i);
end
x
Hasil Perhitungan:
a=
1 1 1 1 1
1 0 2 -1 1
2 -1 -1 1 -1
0 1 -1 0 2
1 2 1 -1 0
b= c=
2 1.0000
-1 -1.0000
7 2.0000
-9 3.0000
-2 -3.0000
x=
for i=1:n-1;
rasio=a(i+1,i)/a(i,i);
a(i+1,i+1)=a(i+1,i+1)-rasio*a(i,i+1);
b(i+1)=b(i+1)-rasio*b(i);
end
x(n)=b(n)/a(n,n);
for i=n-1:-1:1;
x(i)=(b(i)-a(i,i+1)*x(i+1))/a(i,i);
end
x
panjang=length(x);
Hasil Perhitungan:
c=
2.0000
-3.0000
1.0000
4.0000
x=
2.0000 -3.0000 1.0000 4.0000