Anda di halaman 1dari 9

METODE NUMERIK

ELIMINASI GAUSS DAN


GAUSS JORDAN
Oleh : Nurul Hasanah, S.ST
Eliminasi Gauss dan Gauss Jordan

A. Tujuan
- Untuk membuat Coding Eliminasi Gauss dan Gauss Jordan

B. Dasar Teori
1. Eliminasi Gauss adalah suatu cara mengoperasikan nilai-nilai di dalam matriks sehingga
menjadi matriks yang lebih sederhana. Caranya adalah dengan melakukan operasi baris
sehingga matriks tersebut menjadi matriks yang eselon-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 Eselon-baris, lakukan substitusi balik untuk
mendapatkan nilai dari variabel-variabel tersebut.
Metode ini berangkat dari kenyataan bahwa bila matriks A berbentuk segitiga atas
(menggunakan Operasi Baris Elementer) seperti system persamaan berikut ini:

Maka solusinya dapat dihitung dengan teknik penyulingan mundur (backward


substitution):

2. Gauss Jordan
Dalam aljabar linear, eliminasi Gauss-Jordan adalah versi dari eliminasi Gauss. Pada
metode eliminasi Gauss-Jordan kita membuat nol elemen-elemen di bawah maupun di
atas diagonal utama suatu matriks. Hasilnya adalah matriks tereduksi yang berupa matriks
diagonal satuan (semua elemen pada diagonal utama bernilai 1, elemen-elemen lainnya
nol).

Dalam bentuk matriks, eliminasi Gauss-Jordan ditulis sebagai berikut:


C. Flowchart

1. Eliminasi Gauss

Start

n (ordo)=?

a[ i , j ] = ?

For ( i =1 ; i <= n-1 ; ++i)

For ( j = i+1 ; j <= n; ++j )

c = a[j, i] / a[i, i];

for (k = i; k <= (n + 1); k++)

a[j,k] = a[j,k] - c * a[i,k];

x[n] = a[n,(n + 1)] / a[n,n];

for (i = (n - 1); i > = 0; i--)

for (j = i + 1; j <= n; j++)

jumlah = jumlah + a[i, j] * x[j];


x[i] = (a[i, (n + 1)] - jumlah) / a[i, i];
Print X[i]

Stop
2. Gauss Jordan

Start

n (ordo)=?

a[ i , j ] = ?

For ( i =1 ; i <= n ; ++i )

For ( j =1 ; j <= n; ++j )

if ( j != i)

c = a[j, i] / a[i, i];

for (k = i; k <= (n + 1); k++)

a[j,k] = a[j,k] - c * a[i,k];

for (h = i ; h > = n+1; ++h)

a[i, h] = a[i, h] / a[i, i];

X[ i ] = a[i, (n+1)]

Stop
D. Coding dan Hasil Output Bahasa C#
1. Eliminasi Gauss

Coding :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{

static void Main(string[] args)


{
int i, j, k, n, m, s ;
double c,jumlah;
double[,] a;
double[] x;
a = new double[10, 10];
x = new double[10];
Console.Write("Masukkan jumlah ordo: ");
n = Convert.ToInt32(Console.ReadLine());

for (i = 1; i <= n; i++)


for (j = 1; j <= (n + 1); j++)
{
Console.Write("a["+i+","+j+"] =" );
a[i,j]=Convert.ToDouble(Console.ReadLine());
}

for (i = 1; i <= n; i++)


{
Console.WriteLine();
for (j = 1; j <= (n + 1); j++)
{
Console.Write(a[i,j]+" ");
if (j == n)
{
Console.Write("| ");
}
}
Console.WriteLine();
}

Console.WriteLine("-------------------------------------");

for (i = 1; i <= n - 1; i++)


{
for (j = (i + 1); j <= n; j++)
{
c = a[j, i] / a[i, i];
for (k = i; k <= (n + 1); k++)
a[j, k] = a[j, k] - c * a[i, k];

Console.WriteLine("---------------------------------");
for (m = 1; m <= n; m++)
{
Console.WriteLine();
for (s = 1; s <= (n + 1); s++)
{
Console.Write(a[m, s] + " ");
if (s == n)
{
Console.Write("| ");
}
}
Console.WriteLine();
}

Console.WriteLine("--------------------------------------");
}
x[n] = a[n,(n + 1)] / a[n,n];
for (i = (n - 1); i >= 0; i--)
{
jumlah = 0;
for (j = i + 1; j <= n; j++)
{
jumlah = jumlah + a[i, j] * x[j];
x[i] = (a[i, (n + 1)] - jumlah) / a[i, i];

}
}
for (i = 1; i <= n; i++)
{
Console.Write("x[" + i + "] = " + x[i]);
Console.WriteLine("");
}
Console.WriteLine("By Nurul Hasanah (1110141007)");
Console.ReadKey();
}
}
}

Hasil Output :
2. Gauss Jordan
Coding :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i, j, k, h, n, m, s, r ;
double c,d;
double[,] a;
double[] x;
a = new double[10, 10];
x = new double[10];
Console.Write("Masukkan jumlah ordo: ");
n = Convert.ToInt32(Console.ReadLine());

for (i = 1; i <= n; i++)


for (j = 1; j <= (n + 1); j++)
{
Console.Write("a["+i+","+j+"] =" );
a[i,j]=Convert.ToDouble(Console.ReadLine());
}

for (i = 1; i <= n; i++)


{
Console.WriteLine();
for (j = 1; j <= (n + 1); j++)
{
Console.Write(a[i,j]+" ");
if (j == n)
{
Console.Write("| ");
}
}
Console.WriteLine();
}

Console.WriteLine("----------------------------------------");

for (i = 1; i <= n; ++i)


{
for (j = 1; j <= n; ++j)
{
if (j != i)
{
c = a[j, i] / a[i, i];
for (k = i; k <= (n + 1); k++)
{
a[j, k] = a[j, k] - c * a[i, k];
}
}
}
d = 1 / a[i, i];
for (h = i; h <= (n + 1); ++h)
{
a[i, h] = a[i, h] * d;
}

for (m = 1; m <= n; ++m)


{
Console.WriteLine();
for (s = 1; s <= (n + 1); ++s)
{
Console.Write(a[m, s] + " ");
if (s == n)
{
Console.Write("| ");
}
}
Console.WriteLine();
}
Console.WriteLine("-------------------------------------");
}

for (i = 1; i <= n; i++)


{
Console.Write("x[" + i + "] = " + a[i,(n+1)]);
Console.WriteLine("");
}
Console.WriteLine("By Nurul Hasanah (1110141007)");
Console.ReadKey();
}
}
}

Hasil Output :
E. Analisa
1. Eliminasi Gauss
Pada metode ini akan membuat segitiga di bawah kiri akan bernilai 0. Pada hasil
3 2 −1 𝑥1 6
praktikum pada matriks [1 −1 2 ] 𝑥2 = 5 menghasilkan nilai X1 = 2, X2 = 1, dan
1 2 1 𝑥3 6
X3 = 2. Sedangkan berdasarkan perhitungan sbb :
3 2 −1| 6 3 2 −1| 6
3 2 −1 | 6 B2 - 1/3 B1
5 7 B3 + 4/5 B2 5 7
1 −1 +2 | 5 B3 - 1/3 B1
0 − |3 0 − |3
3 3 3 3
1 2 +1 | 6 4 4 48 32
0 |4 0 0 |
3 3 15 5
48 32
𝑥3 =  𝑥3 = 2
15 5

5 7 5 7
− 𝑥2 + 𝑥3 = 3  − 𝑥2 + (2) = 3  𝑥2 = 1
3 3 3 3

3𝑥1 + 2𝑥2 − 1𝑥3 = 6  3𝑥1 + 2(1) − 1(2) = 6  𝑥1 = 2

Sehingga didapatkan X1 = 2, X2 = 1, dan X3 = 2 sesuai dengan hasil praktikum.

2. Gauss Jordan
Metode ini yaitu membuat matriks menjadi identitas. Dengan menggunakan matriks yang
3 2 −1 𝑥1 6
sama dengan eliminasi gauss, pada matriks [1 −1 2 ] 𝑥2 = 5 menghasilkan nilai
1 2 1 𝑥3 6
X1 = 2, X2 = 1, dan X3 = 2. Sedangkan berdasarkan perhitungan sbb :

2 1 9 16
B2 - 1/3 B1 1 − |2 B1 + 2/5 B2 1 0 |
3 2 −1 | 6 3 3 15 5
B3 - 1/3 B1 5 7 B3 + 4/5 B2 −7 9
1 −1 +2 | 5 0 − | 3 0 1 |−
3 3 5 5
1 2 +1 | 6 B1 = 1/3 B1 4 4 B2 = -3/5 B2 48 32
0 |4 0 0 |
3 3 15 5

B1 – 9/48 B3
1 0 0|2
B2 + 21/48 B3
0 1 0|1
B3 = 15/48 B3 0 0 1|2

Sehingga dapat ditemukan langsung hasil X1 = 2, X2 = 1, dan X3 = 2, karena pada


metode gauss jordan ini tidak diperlukan umpan balik layaknya eliminasi gauss. Dan hasil
yang didapatkan dalam perhitungan sama dengan hasil praktikum. Dan hasil X1, X2, dan X3
sama persis dengan hasil menggunakan metode eliminasi gauss.

F. Simpulan
Untuk mencari nilai x pada persamaan linear bisa menggunakan metode eliminasi
gauss dan jordan dan dapat diaplikasikan dalam bentuk coding pemrograman.

G. Daftar Pustaka
http://fauziahnurulhakiqi.blogspot.co.id/2013/12/metode-numerik-metode-eliminasi-gauss.html

Anda mungkin juga menyukai