eliminasi gauss jordan dengan delphi

21
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

Upload: novi-wulandari

Post on 24-Apr-2015

376 views

Category:

Documents


19 download

TRANSCRIPT

Page 1: Eliminasi Gauss Jordan Dengan Delphi

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;

Page 2: Eliminasi Gauss Jordan Dengan Delphi

//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;

Page 3: Eliminasi Gauss Jordan Dengan Delphi

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;

Page 4: Eliminasi Gauss Jordan Dengan Delphi

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:

Page 5: Eliminasi Gauss Jordan Dengan Delphi

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

 

Page 6: Eliminasi Gauss Jordan Dengan Delphi

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

Page 7: Eliminasi Gauss Jordan Dengan Delphi

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

Page 8: Eliminasi Gauss Jordan Dengan Delphi

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:

Page 9: Eliminasi Gauss Jordan Dengan Delphi

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

Page 10: Eliminasi Gauss Jordan Dengan Delphi

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

Page 11: Eliminasi Gauss Jordan Dengan Delphi

                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

Page 12: Eliminasi Gauss Jordan Dengan Delphi

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

Page 13: Eliminasi Gauss Jordan Dengan Delphi

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)

Page 14: Eliminasi Gauss Jordan Dengan Delphi

                  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

Page 15: Eliminasi Gauss Jordan Dengan Delphi

                  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

Page 16: Eliminasi Gauss Jordan Dengan Delphi

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

Page 17: Eliminasi Gauss Jordan Dengan Delphi

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;