METODA GAUSS-SIEDEL UNTUK PENYELESAIAN n PERSAMAAN

a11x1 + a12x2 +a13x3 +  ...  + a1nxn= C1

a21x1 + a22x2 +a23x3 +  ...  + a2nxn= C2

a31x1 + a32x2 +a33x3 +  ...  + a3nxn= C3

  .          .         .                  .        .

  .          .         .                  .        .

  .          .         .                  .        .

an1x1 + an2x2 +an3x3 +  ...  + annxn= Cn

 

Metoda Gauss-Siedel adalah metoda yang paling sering memakai cara iteratif. Jika semua elemen diagonal tidak nol, maka nilai x1 hingga xn dapat ditulis sebagai:

                    x1 = (C1 - a12x2 - a13x3 - ... - a1nxn) / a11

                    x2 = (C2 - a21x1 - a23x3 - ... - a2nxn) / a22

                    x3 = (C3 - a31x1 - a32x2 - ... - a3nxn) / a33

                     .       .       .        .                 .        .

                     .       .       .        .                 .        .

                     .       .       .        .                 .        .

                    xn = (Cn - an1x1 - an2x2 - ... - an(n-1)x(n-1)) / ann

 

Cara yang mudah untuk mendapatkan tebakan-tebakan awal ialah dengan menganggap harga x2 hingga xn adalah samadengan nol, sehingga akan diperoleh nilai x1 ; kemudian nilai x1 tersebut disubstitusikan pada persamaan berikutnya untuk mencari x2 dan seterusnya hingga diperoleh nilai x1 hingga xn . Proses ini berulang (iterasi) hingga mencapai error yang dapat diterima. Untuk memperbaiki kekontinyuan hasil, maka digunakan koreksi yaitu faktor relaksasi. Algoritma berikut ini akan menunjukkan penyelesaian untuk n persamaan diatas dengan metoda Gauss-Siedel yang diperbaiki dengan menggunakan relaksasi.

    Keterangan:

    n           : jumlah persamaan

    a11 sampai dengan ann : nilai koefisien a

    C1 sampai dengan Cn    : nilai konstanta C

             : Faktor relaksasi (0 s/d 1 untuk under relaxation dan 1 s/d 2 untuk over relaxation)

    EA         : error yang dapat diterima

  Algoritma dan Flowchart untuk persoalan diatas adalah sebagai berikut:

  1. Deklarasikan variabel EM samadengan 100, h samadengan 1 dan k samadengan 2.

  2. Masukkan nilai n, a11 s/d  ann, C1 s/d Cn, faktor relaksasi L dan error EA.

  3. Deklarasikan nilai x(k) pada array samadengan nol.

  4. Jumlahkan k dengan 1 dan tunjuk nilai ini sebagai k.

  5. Periksa apakah nilai k kecil atau samadengan n. Bila ya, kembali ke langkah Nomor 3.

  6. Deklarasikan nilai i dan j masing-masing samadengan 1 dan ET samadengan nol.

  7. Deklarasikan nilai p(i) pada array samadengan nol.

  8. Periksa apakah nilai i samadengan j.

    • Bila ya, deklarasikan array p(i) samadengan p(i).

    • Bila tidak, jumlahkan p(i) dengan hasil perkalian x(j) dengan a(i,j) dan tunjuk hasilnya sebagai p(i).

  9. Jumlahkan j dengan 1 dan tunjuk nilai ini sebagai j.

  10. Periksa apakah nilai j kecil atau samadengan n. Bila ya, kembali ke langkah Nomor 8.

  11. Bagilah hasil pengurangan C(i) dan p(i) dengan a(i,i) dan tunjuk hasilnya sebagai x(i). Hitung error E(i) dengan cara mengalikan nilai absolut hasil pembagian antara hasil pengurangan x(i) dan xtemp(i) dengan x(i). Jumlahkan ET dengan E(i) dan tunjuk hasilnya sebagai ET. Deklarasikan x(i) sebagai xtemp(i).

  12. Tampilkan nilai x(i) dan error E(i).

  13. Kalikan faktor relaksasi L dengan x(i) kemudian jumlahkan dengan perkalian xpor(i) dengan pengurangan 1 dan L; tunjuk nilai ini sebagai x(i). Deklarasikan nilai x(i) sebagai xpor(i).

  14. Jumlahkan i dengan 1 dan tunjuk nilai ini sebagai i.

  15. Periksa apakah nilai i kecil atau samadengan n. Bila ya, kembali ke langkah Nomor 7.

  16. Bagilah nilai ET dengan n, tunjuk nilai ini sebagai EM.

  17. Tampilkan iterasi ke h dengan error rata-rata EM.

  18. Jumlahkan h dengan 1 dan tunjuk nilai ini sebagai h.

  19. Periksa apakah nilai EM besar atau samadengan EA. Bila ya, kembali ke langkah Nomor 6.

  20. Tampilkan nilai x(i) hingga x(n) dan error EM.

  21. Selesai

Contoh soal:

Sebuah pelat datar bujursangkar dikondisikan sedemikian sehingga sisi-sisi pelat dijaga pada suhu tetap 0 dan 100 derajat celsius.

T = 100 C

T = 0 C

11 12 13

T = 100 C

14 15 16
17 18 19

T = 0 C

Temukanlah suhu disetiap simpul.

Solusi:

Distribusi suhu pada pelat diaproksimasikan pada sembilan titik simpul internal dengan memakai persamaan Laplace pada setiap titik simpul sehingga menghasilkan persamaan berikut dimana x adalah suhu pada masing-masing simpul.

-4x1 +  1x2 0x3 1x4 +  0x5 +  0x6 +  0x7 +  0x8 0x9  = -100

 1x1 + -4x2 +  1x3 0x4 +  1x5 +  0x6 +  0x7 +  0x8+  0x9  = -100

 0x1 +  1x2 + -4x3 0x4 +  0x5 1x6 0x7 0x8+  0x9  = -200

 1x1 +  0x2 +  0x3 + -4x4 1x5 0x6 1x7 +  0x8+  0x9  =       0

 0x1 +  1x2 +  0x3 +  1x4 + -4x5 +  1x6 0x7 +  1x8+  0x9  =       0

 0x1 +  0x2 1x3 0x4 +  1x5 + -4x6 0x7 +  0x8+  1x9  = -100

 0x1 +  0x2 0x3 1x4 0x5 0x6 + -4x7 1x8+  0x9  =       0

 0x1 +  0x2 0x3 +  0x4 +  1x5 0x6 +  1x7 + -4x8 1x9  =       0

 0x1 +  0x2 +  0x3 +  0x4 0x5 1x6 +  0x7 1x8+ -4x9  = -100

Dibawah ini adalah screen shoot yang menunjukkan run program dalam php untuk persamaan diatas dengan error maksimum EA=0.05 %

Hasil yang diperoleh dengan error maksimum EA=0.05 % dan faktor relaksasi 1 (tanpa relasasi) adalah seperti pada screenshoot dibawah ini.

Hasil yang diperoleh dengan error maksimum EA=0.05 % dan faktor relaksasi 0.5 (under relaxation) adalah seperti pada screenshoot dibawah ini.

Hasil yang diperoleh dengan error maksimum EA=0.05 % dan faktor relaksasi 1.5 (over relaxation) adalah seperti pada screenshoot dibawah ini.


created by FADEL

NPM 640 502 0079

BACK TO INDEX

Hosted by www.Geocities.ws

1