eliminasi gauss jordan dengan delphi
Post on 24-Apr-2015
376 Views
Preview:
TRANSCRIPT
ELIMINASI GAUSS JORDAN dengan Delphi
Selasa, 30 Maret 2010
procedure TForm1.Button1Click(Sender: TObject);
var
n,i,j,k,bar1,kol1:integer;
a,b:array [1..100,1..100]of real;
x,c:array [1..100]of real;
faktor,sum:real;
begin
memo1.Clear;
n:=stringgrid2.RowCount-1;
//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;
//mulai eliminasi
for k:=1 to n do
begin
faktor:=a[k,k];
for j:=1 to n+1 do
begin
a[k,j]:=a[k,j]/faktor;
end;
for i:=1 to n+1 do
begin
if i<>k then
begin
faktor:=a[i,k];
for j:=1 to n+1 do
begin
a[i,j]:=a[i,j]-faktor*a[k,j];
end;
end;
end;
end;
//mengeluarkan output eliminasi gauss-jordan
for bar1:=1 to n do
for kol1:=1 to n+1 do
stringgrid2.cells[kol1,bar1]:=floattostr(a[bar1,kol1]);
//menghitung x[i]
for i:=1 to n do
begin
for j:=1 to n do
begin
x[i]:=a[i,n+1]
end;
memo1.lines.add('x'+inttostr(i)+' = '+floattostr(x[i]));
end;
end;
ELIMINASI GAUSS, GAUSS-JORDAN, GAUSS-SEIDEL, SELISIH MAJU, SELISIH MUNDUR DAN SELISIH PERTENGAHAN
Eliminasi GaussPenjelasan
Eliminasi Gauss adalah suatu metode untuk mengoperasikan nilai-nilai di dalam matriks
sehingga menjadi matriks yang lebih sederhana lagi. Dengan melakukan operasi baris sehingga
matriks tersebut menjadi matriks yang baris. Ini dapat digunakan sebagai salah satu metode
penyelesaian persamaan linear dengan menggunakan matriks. Caranya dengan mengubah
persamaan linear tersebut ke dalam matriks teraugmentasi dan mengoperasikannya. Setelah
menjadi matriks baris, lakukan substitusi balik untuk mendapatkan nilai dari variabel-variabel
tersebut.
Kelebihan dan Kekurangan
Metode ini digunakan dalam analisis numerik untuk meminimalkan mengisi selama eliminasi,
dengan beberapa tahap
Keuntungan :
- menentukan apakah sistem konsisten
- menghilangkan kebutuhan untuk menulis ulang variabel setiap langka
- ebih mudah untuk memecahkan
kelemahan :
- memiliki masalah akurasi saat pembulatan desimal
Contoh Soal :
Diketahui persamaan linear
x + 2y + z = 6
x + 3y + 2z = 9
2x + y + 2z = 12
Tentukan Nilai x, y dan z
Jawab:
Bentuk persamaan tersebut ke dalam matriks:
1 2 1 6
1 3 2 9
2 1 2 12
Operasikan Matriks nya:
1 2 1 6
0 1 1 3
2 1 2 1 Baris ke-2 dikurangi baris ke-1
1 2 1 6
0 1 1 3
0 -3 0 0 Baris ke-3 dikurangi 2 kali baris ke-1
1 1 1 6
0 1 1 3
0 0 3 9 Baris ke-3 ditambah 3 kali baris ke-2
1 2 1 6
0 1 1 3
0 0 1 3 Baris ke-3 dibagi dengan 3
Maka mendapatkan 3 persamaan linier baru yaitu
x + 2y + z = 6
y + z = 3
z = 3
Kemudian lakukan substitusi balik maka didapatkan:
y + z = 3
y + 3 = 3
y = 0
x + 2y + z = 6
x + 0 + 3 = 6
x = 3
Jadi nilai dari x = 3 , y = 0 ,dan z = 3
Eliminasi Gauss-Jordan
Penjelasan
Salah satu metode yang dapat digunakan untuk menyelesaikan sistem persamaan linier adalah
metode eliminasi Gauss-Jordan. Metode ini diberi nama Gauss-Jordan untuk menghormati
CarlFriedrich Gauss dan Wilhelm Jordan. Metode ini sebenarnya adalah modifikasi dari metode
eliminasi Gauss, yang dijelaskan oleh Jordan di tahun 1887.
Metode Gauss-Jordan ini menghasilkan matriks dengan bentuk baris eselon yang
tereduksi(reduced row echelon form), sementara eliminasi Gauss hanya menghasilkan matriks
sampai padabentuk baris eselon (row echelon form).
Selain untuk menyelesaikan sistem persamaan linier, metode eliminasi Gauss-Jordan ini dapat
Metode Eliminasi Gauss : metode yang dikembangkan dari metode eliminasi, yaitu
menghilangkanatau mengurangi jumlah variable sehingga dapat diperoleh nilai dari suatu
variable yang bebas.
Eliminasi Gauss-Jordan adalah pengembangan dari eliminasi Gauss yang hasilnya lebih
sederhana lagi. Caranya adalah dengan meneruskan operasi baris dari eliminasi Gauss sehingga
menghasilkan matriks yang Eselon-baris. Ini juga dapat digunakan sebagai salah satu metode
penyelesaian persamaan linear dengan menggunakan matriks.
Metode ini digunakan untuk mencari invers dari sebuah matriks.
Prosedur umum untuk metode eliminasi Gauss-Jordan ini adalah
1. Ubah sistem persamaan linier yang ingin dihitung menjadi matriks augmentasi.
2. Lakukan operasi baris elementer pada matriks augmentasi (A|b) untuk mengubah matriks
A menjadi dalam bentuk baris eselon yang tereduksi
Pengubahan dilakukan dengan membuat matriks yang elemen-elemennya adalah koefisien-
koefisien dari sistem persamaan linier..
Sedangkan langkah-langkah pada operasi baris elementer yaitu :
1.Menukar posisi dari 2 baris.
A i ↔ A j
2.Mengalikan baris dengan sebuah bilangan skalar positif.
A i = k * A j
3.Menambahkan baris dengan hasil kali skalar dengan baris lainnya
Algoritma Metode Eliminasi Gauss adalah:
1. Masukkan matrik A, dan vektor B beserta ukurannya n
2. Buat augmented matrik [A|B] namakan dengan A
3. Untuk baris ke i dimana i=1 s/d n, perhatikan apakah nilai ai,i =0 :
Bila ya :
pertukarkan baris ke i dan baris ke i+k≤n, dimana ai+k ,i ≠0, bila tidak ada berarti perhitungan
tidak bisa dilanjutkan dan proses dihentikan dengan tanpa penyelesaian. Bila tidak : lanjutkan
4. Untuk baris ke j, dimana j = i+1 s/d n
Kelebihan dan Keuntungan :
Mengubah sistem persamaan linier yang ingin dihitung menjadi matriks augmentasi. merupakan
variasi dari eliminasi gauss dengan kebutuhan dapat mgenyelesaikan matriks invers
Contoh soal:
1. Diketahui persamaan linear
x + 2y + 3z = 3
2x + 3y + 2z = 3
2x + y + 2z = 5
Tentukan Nilai x, y dan z
Jawab:
Bentuk persamaan tersebut ke dalam matriks:
Baris ke 2 dikurangi 2 kali baris ke 1
1 2 3 3
0 -1 -4 -3
0 -3 -4 -1 Baris ke-3 dikurangi 2 kali baris ke-1
1 2 3 3
0 -1 -4 -4
0 0 8 8 Baris ke-3 dikurangi 3 kali baris ke-2
1 2 3 3
0 1 4 3
0 0 1 1 Baris ke-3 dibagi 8 dan baris ke-2 dibagi -1
1 2 3 3
0 1 0 -1
0 0 1 1 Baris ke-2 dikurangi 4 kali baris ke-3
1 2 0 0
0 1 0 -1
0 0 1 1 Baris ke-1 dikurangi 3 kali baris ke-3
1 0 0 2
0 1 0 -1
0 0 1 1
Baris ke 1 dikurangi 2 kali baris ke
Maka didapatkan nilai dari x = 2 , y = − 1 ,dan z = 1
2. A = 3 1
5 2 Tentukan Nilai dari A-1 ?
Jawab:
A-1 = 1 2 -1
(3)(2) – (5)(1) -5 3
= 1 2 -1
6 - 5 -5 3
= 1 2 -1
1 -5 3
= 2 -1
-5 3
Eliminasi Gauss-Seidel
Penjelasan
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 :
Xi (k) = 1 bi - ∑ aiixj(k) - ∑ aiiXj
(k-1) , I = 1,2,3,4,……n
aii
Kekurangan dan Kelebihan
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.
Contoh Soal,
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,878
1,03 2,036 -1,014 0,983
1,00
6
2,003 - 1,002 0.998
1 2 -1 0,999
Selisih maju
Penjelasan
Metode selisih maju merupakan metode yang mengadopsi secara langsung definisi differensial,
yang dituliskan :
F’(x) = f (x + h) – f (x)
H
Atau :
F’ (x) = f1 – f0
H
Kelebihan dan kelemahan
Pengambilan h diharapkan pada nilai yang kecil agar errornya kecil. Error metode selisih maju
sebesar :
E(f) = -1/2 hf” (x)
Contoh soal :
Hitung nilai nilai turunan f(x)=x2 , pada x0 =2, dan x1 =2.01, dengan h=0.1
Jawab :
F’ (x) = f1 – f0
h
F(2) = f (2.1) – f (2)
0.1
F (2) = 4,41 – 4
0,1
= 4,1
Hitung nilai turunan dari f(x) = x2, pada x0 = 2, dan x1 = 2,0001, dengan h = 0,0001
F(2) = f (2,0001) – f(2)
0,0001
F(2) = 4,00040001-4
0,0001
F(2) = 4,0001 x 10 -4
0,0001
= 4,0001
Selisih mundur
Penjelasan
Selisih mundur hampir sama dengan selisih maju, terdapat perbedaan nya pada turunan pertama,
karena ini merupakan selisih mundur maka f0-f-1. Metode selisih mundur dengan nilai x pada x0
dan x-h, dengan nilai dua titik : (x-1, f-1) dan (x0,f0), maka f’(x0)
F’(x) = f (x + h) – f (x)
H
Atau :
F’ (x) = f0 – f-1
H
Kelebihan dan kelemahan
Pengambilan h diharapkan pada nilai yang kecil agar errornya kecil. Error metode selisih maju
sebesar :
E(f) = -1/2 hf” (x)
Karena pada dasar nya metode selisih naju dan selisih mundur sama saja
Contoh soal :
hitung nilai turunan dari f(x)= x2, pada x0=2, dan x-1= 1,9999, dengan h= 0,1
jawab :
F(2) = f (2) – f(1,9)
0,1
F(2) = 4 – 3,61
0,1
F(2) = 0,39
0,1
= 3,9
Hitung nilai turunan f(x)= x2, pada x0=2, dan x-1 = 1,9999, dengan h = 0,0001
F(2) = f (2) – f(1,9)
0,0001
F(2) = 4 – 3,9999 x 10 -4
0,0001
= 3,9999
Selsisih tengahan
Penjelasan
Metode selisih tengah dengan nilai x di x+h dan x-h, dengan nilai dua titik : (x -1 ,f-1 ) dan (x1,f1),
maka f’(x0 ). Karena h pada metode ini terdapat dua, maka dapat dituliskan sebagai berikut :
F’(x) = f (x + h) – f (x-h)
2H
Atau :
F’(x) = f1 – f-1
2H
Kelebihan dan kelemahan
Pengambilan h diharapkan pada nilai yang kecil agar errornya kecil. Error metode selisih maju
sebesar :
E(f) = -1/6 hf” (x)
Contoh soal :
hitung nilai turunan dari f(x)= x2, pada x-1=1,9, dan x-1= 2,01, dengan h= 0,1
jawab :
F(2) = f (2,1) – f(1,9)
2*0,1
F(2) = 4,41 – 3,61
0,2
= 4
hitung nilai turunan dari f(x)= x2, pada x-1=1,9999, dan x-1= 2,0001, dengan h= 0,0001
jawab :
F(2) = f (2,0001) – f(1,9999)
2* 0,0001
F(2) = 4,000400041 – 3,99960001
2,0001
F(2) = 8 x 10 -4
2 * 10-4
= 4
Metode Eliminasi Gauss
Metode yang dikembangkan dari metode eliminasi, yaitu menghilangkan atau mengurangi jumlah variable sehingga dapat diperoleh nilai dari suatu variable bebas. Metode eliminasi gauss: metode dimana bentuk matrik augmented, pada bagian kiri diubah menjadi matrik segitiga atas/segitiga bawah dg menggunakan OBE (Operasi Baris Elementer).
Sehingga penyelesaian dapat diperoleh dengan:
SOURCE CODE MATLAB%Metode Gauss Jordan%Penyelesaian persamaan linier dengan Metode Eliminasi Gauss Jordanclc
cleardisp('Metode Eliminasi Gauss Jordan');disp('==============================');n=input('Masukkan ukuran matrik : ');for i=1:n for j=1:n+1 x=sprintf('A(%g,%g) : ',i,j); A(i,j)=input(x); end;end;%A ==>cetak Hasil Matrik Inputfor k=1:n dummy=A(k,k); for j=1:n+1 A(k,j)=A(k,j)/dummy; end;A for i=1:n if i==k; dummy=A(i,k); for j=1:n+1; %A(i,j)=A(i,j)-dummy*A(k,j); end end; end;end;
top related