Tampilkan postingan dengan label Matrik Aljabar. Tampilkan semua postingan
Tampilkan postingan dengan label Matrik Aljabar. Tampilkan semua postingan

29 Des 2012

PENYELESAIAN SISTEM PERSAMAAN ALJABAR LINIER

dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 1 dari 19
PENYELESAIAN SISTEM PERSAMAAN ALJABAR LINIER
Materi Kuliah:
Sistem Persamaan Aljabar Linier; Overview Aljabar Matriks;
Metode Eliminasi Gauss; Metode Gauss-Jordan;
Metode Iteratif (Gauss-Seidel & Jacobi); Metode Thomas
# SISTEM PERSAMAAN ALJABAR LINIER #
Secara umum, sistem persamaan aljabar linier dapat dinyatakan dalam bentuk:
a11 x1 + a12 x2 + ....... + a1n xn = b1
a21 x1 + a22 x2 + ....... + a2n xn = b2
.....................................................
an1 x1 + an2 x2 + ....... + ann xn = bn
atau:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
=
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
n n nn n n
n
n
b
b
b
x
x
x
a a a
a a a
a a a
􀀣 􀀣
􀀢
􀀣 􀀣 􀀢 􀀣
􀀢
􀀢
2
1
2
1
1 2
21 22 2
11 12 1
atau: A x = b
(A dan b diketahui, x harus ditentukan)
Penyelesaian sistem persamaan linier merupakan salah satu masalah sentral dalam ilmu rekayasa
modern, termasuk ilmu rekayasa kimia. Sistem persamaan linier Ax = b memiliki hanya satu
penyelesaian x, jika A berupa matriks wajar (det (A) ≠ 0)
# OVERVIEW ALJABAR MATRIKS #
Vektor adalah himpunan beraturan dari (lambang) bilangan-bilangan yang disebut elemen-elemen
(dari vektor tersebut); banyaknya elemen di dalam himpunan dinamakan order atau dimensi dari
vektor dimaksud. Dari analogi geometrik, sebuah vektor berorder n mendefinisikan (posisi) suatu
titik di dalam ruang berdimensi n.
Vektor kolom:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
=
n x
x
x
x
􀀣
2
1
atau: [ ] i x = x
Vektor baris: [ ] n
xT x1 x2 􀀢 x = , dengan: T ≡ transposisi
Matriks: ≡ himpunan beraturan dari vektor-vektor yang berdimensi sama
≡ jajaran segi-empat dari elemen-elemen (lambang/bilangan)
Matriks A:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
=
m m mn
n
n
a a a
a a a
a a a
A
􀀢
􀀣 􀀣 􀀢 􀀣
􀀢
􀀢
1 2
21 22 2
11 12 1
berorder/berdimensi m x n
[ ] ij A = a
aij ≡ elemen matriks A yang posisinya di baris ke-i dan kolom ke-j
aii (i = 1 s.d. n) ≡ elemen diagonal utama
Jika m = n, matriks A disebut matriks bujur sangkar berorder n
Jika m = 1 (hanya satu baris) 􀃆 vektor baris
Jika n = 1 (hanya satu kolom) 􀃆 vektor kolom
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 2 dari 19
Matriks transposisi AT dari matriks A:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
=
n n mn
m
m
T
a a a
a a a
a a a
A
􀀢
􀀣 􀀣 􀀢 􀀣
􀀢
􀀢
1 2
12 22 2
11 21 1
berorder/berdimensi n x m
Matriks simetrik: matriks bujur sangkar yang bersifat: aij = aji
Jika A matriks simetrik, maka: AT = A
Contoh:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
= = −
1 2 1
1 3 2
2 1 1
A AT
Matriks antisimetrik: matriks bujur sangkar yang bersifat: aij = -aji
Jika A matriks antisimetrik, maka: AT = -A
Contoh:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
−
−
−
=
1 2 0
1 0 2
0 1 1
A 􀃆
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
−
−
−
= − =
1 2 0
1 0 2
0 1 0
AT A
Matriks kerancang (sparse matrix):
matriks (berdimensi besar) yang sebagian besar
elemennya adalah nol.
Matriks segitiga atas (upper triangular matrix,
U): matriks bujur sangkar yang semua elemen
subdiagonalnya nol.
Contoh:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
=
0 0 0 5
0 0 6 9
0 3 5 8
1 2 4 7
U
Jika A adalah matriks segitiga atas, maka:
aij = 0 jika i > j
Matriks segitiga bawah (lower triangular matrix,
L): matriks bujur sangkar yang semua elemen
superdiagonalnya nol.
Contoh:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
=
8 9 2 5
6 1 7 0
3 4 0 0
1 0 0 0
L
Jika B adalah matriks segitiga atas, maka:
bij = 0 jika i < j
Matriks pita (band matrix):
matriks kerancang dengan elemen-elemen tak
nol yang membentuk pita sepanjang diagonal.
Contoh:
⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎣
⎡
0 0 0 2 3
0 0 1 2 3
0 4 3 1 2
3 2 1 1 0
4 2 1 0 0
Lebar pita: atas = 2, bawah = 1, total = 4
Matriks tridiagonal: matriks pita dengan
lebar pita atas = 1, bawah = 1, total = 1
Jika A matriks tridiagonal, maka:
1
0 1
− ≤
− >
⎩ ⎨ ⎧ = i j
i j
a
a
ij
ij
Matriks diagonal (D):
matriks bujur sangkar yang bersifat:
i j
i j
d
i
ij =
≠
⎩ ⎨ ⎧
=
λ
0
Contoh:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
=
3
2
1
0 0
0 0
0 0
λ
λ
λ
D
Matriks identitas (I):
matriks diagonal dengan λi = 1 untuk
semua nilai i
Sifat-Sifat Aljabar Matriks dan Vektor
1. Penjumlahan dan pengurangan matriks
Dua matriks A dan B bisa saling ditambahkan atau dikurangkan jika mempunyai dimensi yang
sama (misal, matriks A dan B berdimensi m x n)
2. Perkalian matriks
Dua matriks A dan B hanya bisa dikalikan menghasilkan matriks produk C = AB, jika:
banyaknya kolom matriks A sama dengan banyaknya baris matriks B.
Jika A berdimensi m x n dan B berdimensi n x p, maka:
C = AB berdimensi m x p dan
j s d p
i s d m
c a b
n
k
ij ik kj 1 . .
1 . .
1 =
=
=Σ=
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 3 dari 19
Pada umumnya:
• Keterdefinisian AB tidak berarti keterdefinisian BA (banyaknya kolom B harus sama
dengan banyaknya baris A)
• AB ≠ BA (jika sama: kebetulan)
Contoh: Jika
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
= −
3 1
2 1
1 0
A dan ⎥⎦
⎤
⎢⎣
⎡
− −
=
1 2 1
2 3 2
B , maka:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
= ⎥⎦
⎤
⎢⎣
⎡
− −
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
= −
5 11 5
5 4 5
2 3 2
1 2 1
2 3 2
3 1
2 1
1 0
AB
3. Hukum asosiatif dan distributif terhadap perkalian dengan skalar:
αA = Aα αAB = AαB = ABα α(A+B) = αA + αB
4. Hukum asosiatif untuk penjumlahan/pengurangan dan perkalian:
A ± (B ± C) = (A ± B) ± C A(BC) = (AB)C
5. Hukum komutatif untuk penjumlahan/pengurangan: A + B = B + A
6. Hukum distributif pekalian terhadap penjumlahan:
A(B + C) = AB + AC (A + B)C = AC + BC
7. (A + B)T = AT + BT (AB)T = BTAT (ABC)T = CT(AB)T = CTBTAT
Matriks Kebalikan (Invers)
Jika A dan B adalah dua matriks bujur sangkar yang sama-sama berdimensi n dan BA = AB = I,
maka B disebut matriks kebalikan (invers) dari matriks A dan diberi simbol A-1, sehingga:
A-1A = AA-1 = I
Contoh:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
=
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
−
−
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− 0 0 1
0 1 0
1 0 0
5/ 4 3/ 4 1/ 4
1/ 2 1/ 2 1/ 2
1/8 1/8 1/8
2 2 1
4 1 0
2 1 1
A A-1 I
Matriks bujur sangkar yang tidak memiliki kebalikan disebut matriks tak wajar (singular
matrix). Matriks ini mempunyai determinan = 0.
Aturan-aturan untuk matriks kebalikan:
• (αA)-1 = α-1A-1 dengan: α ≡ skalar
• (A-1)T = (AT)-1
• (AB)-1 = B-1A-1
• Jika D adalah matriks diagonal dengan elemen-elemen diagonal dii (i = 1 s.d. n), maka D-1
adalah juga matriks diagonal dengan elemen-elemen diagonalnya adalah
ii d
1
Determinan Matriks
Determinan adalah fungsi bernilai skalar dari semua elemen sebuah matriks bujur sangkar.
Contoh: ⎥⎦
⎤
⎢⎣
⎡
=
c d
a b
A det (A) = ad – bc
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
=
p q r
d e f
a b c
A det (A) = aer +bfp + cdq – pec – qfa – rdb
Determinan dari suatu skalar (alias matriks berorder 1 x 1) adalah nilai skalar itu sendiri.
Determinan matriks bujur sangkar berorder > 1 dapat dievaluasi dengan menggunakan formula
pengembangan dari Laplace, yakni:
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 4 dari 19
Jika A adalah matriks bujur sangkar berorder n, maka:
Σ=
= − +
n
k
ik
i k
ik A a M
1
det ( ) ( 1) dengan: i = 1 atau 2 ... atau n
atau:
Σ=
= − +
n
k
kj
k j
kj A a M
1
det ( ) ( 1) dengan: j = 1 atau 2 ... atau n
di mana: rs
(−1)r + s M adalah kofaktor dari ars dan Mrs adalah determinan minor ars
Minor
Jika Q adalah matriks bujur sangkar berorder (n-1) yang diperoleh dengan cara menghapus
baris ke-i dan kolom ke-j dari matriks bujur sangkar A (yang berorder n), maka matriks Q
dinamakan minor aij dari matriks A.
Contoh:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
=
31 32 33
21 22 23
11 12 13
a a a
a a a
a a a
A
Maka: Minor a11 = ⎥⎦
⎤
⎢⎣
⎡
32 33
22 23
a a
a a
Minor a12 = ⎥⎦
⎤
⎢⎣
⎡
31 33
21 23
a a
a a
Minor a13 = ⎥⎦
⎤
⎢⎣
⎡
31 32
21 22
a a
a a
Minor a21 = ⎥⎦
⎤
⎢⎣
⎡
32 33
12 13
a a
a a
Minor a22 = ⎥⎦
⎤
⎢⎣
⎡
31 33
11 13
a a
a a
Minor a23 = ⎥⎦
⎤
⎢⎣
⎡
31 32
11 12
a a
a a
Minor a31 = ⎥⎦
⎤
⎢⎣
⎡
22 23
12 13
a a
a a
Minor a32 = ⎥⎦
⎤
⎢⎣
⎡
21 23
11 13
a a
a a
Minor a33 = ⎥⎦
⎤
⎢⎣
⎡
21 22
11 12
a a
a a
Tiap matriks bujur sangkar berorder n mempunyai n2 buah minor.
Contoh:
􀀠 ad bc cb da ad cb bc da
c d
a b
= − = − + = − = − +
􀀠
p q
d e
c
p r
d f
b
q r
e f
a
p q r
d e f
a b c
= (1) + (−1) + (1) = aer – aqf – bdr + bpf + cdq – cpe
= aer + bpf + cdq – pec – qfa – rdb
􀀠
7 3
4 5
3
7 7
4 6
2
3 7
5 6
1
7 3 7
4 5 6
1 2 3
= − + = 35 – 18 – 56 + 84 + 36 – 105 = -24
Sifat-sifat determinan:
1. det (I) = 1
2. det (AT) = det (A)
3. Jika A dan B sama-sama berorder n, maka: det (AB) = det (A).det (B)
4. det (AB) = det (BA)
5. Jika A merupakan matriks tak wajar, maka: det (A) = 0
6. Jika elemen-elemen dari suatu baris (atau kolom) dari A semuanya bernilai nol, maka:
det A) = 0
7. Jika A merupakan matriks segitiga atas/bawah atau matriks diagonal, maka:
det (A) = a11.a22. .... . ann
8. Jika dua baris (atau kolom) dari A sama, maka: det (A) = 0
9. Jika matriks B diperoleh dengan mempertukarkan dua baris (atau kolom) pada matriks A,
maka: det (B) = - det (A)
10. Pengurangan kelipatan suatu baris atau kolom dari baris (kolom) tidak mengubah nilai
determinan.
11. det (αA) = αn . det (A)
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 5 dari 19
Aturan Cramer untuk Penyelesaian Sistem Persamaan Linier Ax = b
Jika diketahui matriks bujur sangkar A yang berorder n dan vektor b yang juga berorder n, maka
penyelesaian sistem persamaan linier Ax = b adalah:
det (A)
x i
i
Δ
= dengan: i = 1 s.d. n
di mana Δi adalah determinan dari matriks yang diperoleh dengan mengganti kolom ke-i dari
matriks A dengan vektor b.
Contoh: ⎥⎦
⎤
⎢⎣
⎡
= ⎥⎦
⎤
⎢⎣
⎡
⎥⎦
⎤
⎢⎣
⎡
0
1
3 4
2 3
2
1
x
x
det(A) = 8 – 9 = -1
A x b
4 0 4
0 4
1 3
1 Δ = = − = dan 0 3 3
3 0
2 1
2 Δ = = − = −
Maka: 4
1
4
det ( )
1
1 = −
−
=
Δ
=
A
x dan 3
1
3
det ( )
2
2 =
−
−
=
Δ
=
A
x
sehingga: x = [ -4 3 ]T
# METODE ELIMINASI GAUSS #
Eliminasi Gauss merupakan salah satu metode penyelesaian sistem persamaan aljabar linier. Strategi
penyelesaian sistem n buah persamaan linier Ax = b, di mana A adalah matriks bujur sangkar biasa
dilakukan dengan:
1. Mereduksi Ax = b menjadi Ux = c, di mana U adalah matriks segitiga atas berorder n, dan
2. Menyelesaikan sistem Ux = c tersebut di atas dengan metode substitusi balik (backward
substitution), sehingga diperoleh x.
Metode pereduksian tersebut di atas disebut proses eliminasi Gauss, dan akan diilustrasikan dalam
contoh berikut ini:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
−
=
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
1
1
1
1
1 2 3 4
2 3 4 3
3 4 3 2
4 3 2 1
4
3
2
1
x
x
x
x
A x b
Bentuk matriks perbesarannya:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
−
1
1
1
1
1 2 3 4
2 3 4 3
3 4 3 2
4 3 2 1
􀀣
􀀣
􀀣
􀀣
A b
Langkah-langkahnya:
1. Buatlah elemen-elemen di bawah a11 menjadi bernilai nol, dengan cara:
a) Hitung:
11
21
21 a
l = a ,
11
31
31 a
l = a , dan
11
41
41 a
l = a
4
3
21 l =
2
1
4
2
31 l = =
4
1
41 l =
b) Baris ke-2 baru = baris ke-2 lama – l21 (baris ke-1)
Baris ke-3 baru = baris ke-3 lama – l31 (baris ke-1)
Baris ke-4 baru = baris ke-4 lama – l41 (baris ke-1)
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 6 dari 19
sehingga diperoleh:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
−
5/ 4
3/ 2
1/ 4
1
0 5/ 4 5/ 2 15/ 4
0 3/ 2 3 5/ 2
0 7 / 4 3/ 2 5/ 4
4 3 2 1
􀀣
􀀣
􀀣
􀀣
2. Buatlah elemen-elemen di bawah a22 (yang baru) menjadi bernilai nol, dengan cara:
a) Hitung:
22
32
32 a
l = a dan
22
42
42 a
l = a
7
6
7 / 4
3/ 2
32 l = =
7
5
7 / 4
5/ 4
42 l = =
b) Baris ke-3 baru = baris ke-3 lama – l32 (baris ke-2)
Baris ke-4 baru = baris ke-4 lama – l42 (baris ke-2)
sehingga diperoleh:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
−
10/ 7
12/ 7
1/ 4
1
0 0 10/ 7 20/ 7
0 0 12/ 7 10/ 7
0 7 / 4 3/ 2 5/ 4
4 3 2 1
􀀣
􀀣
􀀣
􀀣
3. Buatlah elemen-elemen di bawah a33 (yang baru) menjadi bernilai nol, dengan cara:
a) Hitung:
33
43
43 a
l = a
6
5
12/ 7
10/ 7
43 l = =
b) Baris ke-4 baru = baris ke-4 lama – l43 (baris ke-3)
sehingga diperoleh:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
0
12/ 7
1/ 4
1
0 0 0 5/ 3
0 0 12/ 7 10/ 7
0 7 / 4 3/ 2 5/ 4
4 3 2 1
􀀣
􀀣
􀀣
􀀣
U c
Proses eliminasi selesai setelah (n-1) tahap/langkah, di mana n adalah order dari matriks koefisien.
Penyelesaian persamaan:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
0 0 0 5/ 3
0 0 12/ 7 10/ 7
0 7 / 4 3/ 2 5/ 4
4 3 2 1
⎥ ⎥ ⎥ ⎥ ⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
4
3
2
1
x
x
x
x
=
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
0
12 / 7
1/ 4
1
U x = c
selanjutnya dapat dilakukan dengan cara substitusi balik:
0
5/3
0
4 x = =
1
12/ 7
(( 12/ 7) (10/ 7)(0))
3 = −
− −
x =
1
7 / 4
((1/ 4) (3/ 2)( 1) (5/ 4)(0))
2 =
− − −
x =
0
4
(1 (3)(1) (2)( 1) (1)(0))
1 =
− − − −
x =
sehingga diperoleh: x = [0 1 -1 0]T
Verifikasi hasil: = b
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
−
=
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
1
1
1
1
0
1
1
0
1 2 3 4
2 3 4 3
3 4 3 2
4 3 2 1
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 7 dari 19
Persoalan yang Muncul dan Pemecahannya
Persoalan-persoalan yang dapat dijumpai dalam penyelesaian sistem persamaan linier dengan metode
eliminasi Gauss meliputi:
1. Division by Zero
Pembagian dengan bilangan nol sangat mungkin terjadi dalam penyelesaian sistem persamaan
linier dengan eliminasi Gauss.
Contoh: Gunakan eliminasi Gauss untuk menyelesaikan kumpulan persamaan:
2 x2 + 3 x3 = 8
4 x1 + 6 x2 + 7 x3 = -3
2 x1 + x2 + 6 x3 = 5
Persoalan yang sama dapat dijumpai jika elemen diagonal matriks koefisiennya mendekati nol
(sangat kecil).
2. Round-Off Errors
􀃆 Error yang disebabkan oleh pembulatan bilangan yang terjadi selama proses eliminasi
3. Ill-Conditioned Systems
Penyelesaian sebuah sistem persamaan ditentukan oleh kondisi sistem tersebut. Pada wellconditioned
systems, perubahan kecil dalam satu atau lebih koefisiennya mengakibatkan
perubahan yang kecil dalam penyelesaiannya. Dan sebaliknya, pada ill-conditioned systems,
perubahan kecil dalam satu atau lebih koefisiennya mengakibatkan perubahan yang besar
dalam penyelesaiannya. Ill-conditioned systems juga memungkinkan terjadinya jawaban
dengan rentang yang lebar, yang merupakan penyelesaian dari sistem persamaan tersebut.
4. Singular Systems
􀃆 Kasus ini terjadi jika determinan matriks koefisien sistem persamaan bernilai nol (atau
merupakan matriks tak wajar), sehingga tidak mempunyai penyelesaian.
Persoalan tersebut di atas (1-3) dapat dipecahkan melalui beberapa cara, seperti (1) Penggunaan
significant figures yang lebih banyak, (2) Pivoting, maupun (3) Scaling.
Contoh-contoh:
# Ill-Conditioned Systems
Selesaikan sistem persamaan: x1 + 2 x2 = 10
1,1 x1 + 2 x2 = 10,4
Ulangi lagi, tetapi jika koefisien x1 dalam persamaan kedua diganti menjadi 1,05.
Penyelesaian:
Dengan menggunakan aturan Cramer, diperoleh:
4
1(2) 2(1,1)
2(10) 2(10,4)
1 =
−
−
x = dan 3
1(2) 2(1,1)
1(10,4) 1,1(10)
2 =
−
−
x =
Dengan cara yang sama, untuk koefisien x1 dalam persamaan kedua diganti menjadi 1,05:
8
1(2) 2(1,05)
2(10) 2(10,4)
1 =
−
−
x = dan 1
1(2) 2(1,05)
1(10,4) 1,05(10)
2 =
−
−
x =
[Perhatikanlah bahwa perubahan yang kecil pada salah satu koefisien mengakibatkan
penyelesaian (x1 dan x2) yang jauh berbeda.]
# Pengaruh Scaling terhadap Determinan
Lakukan evaluasi nilai determinan (det) pada sistem persamaan berikut ini:
(a) 3 x1 + 2 x2 = 18 (b) x1 + 2 x2 = 10
- x1 + 2 x2 = 2 1,1 x1 + 2 x2 = 10,4
(c) Ulangilah untuk sistem (b), tetapi jika kedua persamaan tersebut dikalikan faktor 10.
Penyelesaian:
(a) det = 3(2) – 2(-1) = 8
Sistem ini tergolong well-conditioned system.
(b) det = 1(2) – 2(1,1) = -0,2
Sistem ini tergolong ill-conditioned system (karena mempunyai determinan yang
nilainya mendekati nol)
(Perhatikan bahwa tahap reduksi atau eliminasi
yang pertama akan gagal, karena a11 = 0)
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 8 dari 19
(c) Sistem (b) dikalikan 10 menjadi: 10 x1 + 20 x2 = 100
11 x1 + 20 x2 = 104
Perkalian sebuah persamaan dengan sebuah konstanta (scaling) tidak mempengaruhi
penyelesaiannya. Dengan kata lain, sistem persamaan tetap bersifat ill-conditioned.
Namun demikian, nilai determinannya jauh berubah, yakni:
det = 10(20) – 20(11) = -20
# Partial Pivoting
Gunakan eliminasi Gauss untuk menyelesaikan: 0,0003 x1 + 3,0000 x2 = 2,0001 (i)
1,0000 x1 + 1,0000 x2 = 1,0000 (ii)
(Catatan: Penyelesaian eksak sistem persamaan ini adalah: x1 = 1/3 dan x2 = 2/3)
Penyelesaian:
Perhatikan bahwa elemen pivot yang pertama, a11 = 0,0003, mendekati nol...!!
Cara pertama:
Jika persamaan (i) dikalikan 1/(0,0003), maka diperoleh: x1 + 10000 x2 = 6667
yang dapat digunakan untuk mengeliminasi x1 dari persamaan (ii):
-9999 x2 = -6666 􀃆 x2 = 2/3
x2 di atas selanjutnya dapat disubstitusikan balik ke persamaan (i) untuk mengevaluasi x1:
0,0003
2,0001 3(2/ 3)
1
−
x =
Namun demikian, hasil yang diperoleh sangat dipengaruhi oleh banyaknya significant figures
yang digunakan, seperti ditabelkan berikut ini:
Significant
figures x2 x1 Nilai mutlak percent
relative error untuk x1
3 0,667 -3,33 1099
4 0,6667 0,0000 100
5 0,66667 0,30000 10
6 0,666667 0,330000 1
7 0,6666667 0,3330000 0,1
Cara lain: Pivoting
Jika kedua persamaan saling dipertukarkan posisinya (supaya elemen pivot pertama
merupakan nilai yang terbesar dalam satu kolomnya), maka:
1,0000 x1 + 1,0000 x2 = 1,0000 (i.a)
0,0003 x1 + 3,0000 x2 = 2,0001 (ii.a)
Melalui eliminasi dan substitusi, diperoleh: x2 = 2/3.
Selanjutnya, x2 ini disubstitusikan balik sehingga diperoleh x1 sebesar:
1
1 (2/3)
1
−
x =
Pada beberapa nilai significant figures yang digunakan, diperoleh hasil perhitungan sbb.:
Significant
figures x2 x1 Nilai mutlak percent
relative error untuk x1
3 0,667 0,333 0,1
4 0,6667 0,3333 0,01
5 0,66667 0,33333 0,001
6 0,666667 0,333333 0,0001
7 0,6666667 0,3333333 0,00001
Berdasarkan hasil di atas, terlihat bahwa significant-figures-yang-digunakan mempunyai
pengaruh yang jauh kurang sensitif terhadap perhitungan (bandingkan dengan cara
sebelumnya...!!).
Kesimpulan: Pada kasus ini, strategi pivoting memberikan hasil yang jauh lebih baik.
# METODE GAUSS-JORDAN #
Metode eliminasi Gauss merupakan “separuh jalan” dari metode Gauss-Jordan, yakni metode yang
dilakukan untuk mengubah matriks bujur sangkar A menjadi sebuah matriks diagonal D. Proses
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 9 dari 19
eliminasi yang dilakukan terhadap matriks segitiga atas U agar menjadi matriks diagonal D dilakukan
melalui langkah-langkah yang serupa. Ilustrasi dalam contoh sebelumnya akan diproses lebih lanjut
menggunakan metode Gauss-Jordan. (lihat kembali contoh sebelumnya)
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
−
=
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
1
1
1
1
1 2 3 4
2 3 4 3
3 4 3 2
4 3 2 1
4
3
2
1
x
x
x
x
A x b
Matriks perbesaran:
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
−
1
1
1
1
1 2 3 4
2 3 4 3
3 4 3 2
4 3 2 1
􀀣
􀀣
􀀣
􀀣
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
0
12/ 7
1/ 4
1
0 0 0 5/ 3
0 0 12/ 7 10/ 7
0 7 / 4 3/ 2 5/ 4
4 3 2 1
􀀣
􀀣
􀀣
􀀣
A b U c
7
6
5/3
10/ 7
34 g = =
4
3
5/3
5/ 4
24 g = =
5
3
5/3
1
14 g = =
8
7
12/ 7
3/ 2
23 g = =
6
7
12/ 7
2
13 g = =
7
12
7 / 4
3
12 g = =
D s
Dengan demikian: 0
4
0
1 x = =
1
7 / 4
7 / 4
2 x = =
1
12/ 7
12/ 7
3 = −
−
x =
0
5/3
0
4 x = =
Karena penyelesaian Ax = b sudah dapat dicapai secara efisien dengan metode eliminasi Gauss,
penggunaan metode Gauss-Jordan bukanlah dalam penyelesaian sistem persamaan linier, melainkan
dalam perhitungan manual penentuan matriks kebalikan (atau invers) A-1 dari matriks bujur
sangkar A.
A . A-1 = I
(dapat ditentukan/dicari dengan metode Gauss Jordan)
Eliminasi Gauss
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
0
12 / 7
1/ 4
1
0 0 0 5/ 3
0 0 12 / 7 0
0 7 / 4 3/ 2 0
4 3 2 0
􀀣
􀀣
􀀣
􀀣
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
0
12/ 7
7 / 4
3
0 0 0 5/ 3
0 0 12/ 7 0
0 7 / 4 0 0
4 3 0 0
􀀣
􀀣
􀀣
􀀣
⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢
⎣
⎡
−
0
12/ 7
7 / 4
0
0 0 0 5/ 3
0 0 12/ 7 0
0 7 / 4 0 0
4 0 0 0
􀀣
􀀣
􀀣
􀀣
x = [0 1 -1 0]T
(sama dengan hasil yang diperoleh sebelumnya,
dengan metode eliminasi Gauss)
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 10 dari 19
Contoh: Tentukan invers dari matriks A =
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− 2 2 1
4 1 0
2 1 1
, dengan metode Gauss-Jordan!
Penyelesaian:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− 2 2 1 0 0 1
4 1 0 0 1 0
2 1 1 1 0 0
􀀣
􀀣
􀀣
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− − −
0 3 2 1 0 1
0 1 2 2 1 0
2 1 1 1 0 0
􀀣
􀀣
􀀣
A I
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
− − −
0 0 4 5 3 1
0 1 2 2 1 0
2 1 1 1 0 0
􀀣
􀀣
􀀣
(keadaan pada tahap akhir eliminasi Gauss)
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
− − −
0 0 4 5 3 1
0 1 2 2 1 0
2 1 1 1 0 0
􀀣
􀀣
􀀣
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
− − −
−
0 0 4 5 3 1
0 1 0 1/ 2 1/ 2 1/ 2
2 1 0 1/ 4 3/ 4 1/ 4
􀀣
􀀣
􀀣
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
− − −
−
0 0 4 5 3 1
0 1 0 1/ 2 1/ 2 1/ 2
2 0 0 1/ 4 1/ 4 1/ 4
􀀣
􀀣
􀀣
Selanjutnya, baris pertama dibagi dengan 2, baris kedua dibagi dengan (-1), dan baris ketiga
dibagi dengan (-4), sehingga diperoleh:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
−
−
0 0 1 5/ 4 3/ 4 1/ 4
0 1 0 1/ 2 1/ 2 1/ 2
1 0 0 1/8 1/8 1/8
􀀣
􀀣
􀀣
I A-1
Verifikasi hasil:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− 2 2 1
4 1 0
2 1 1
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
−
−
5/ 4 3/ 4 1/ 4
1/ 2 1/ 2 1/ 2
1/8 1/8 1/8
=
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− −
−
−
5/ 4 3/ 4 1/ 4
1/ 2 1/ 2 1/ 2
1/8 1/8 1/8
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
− 2 2 1
4 1 0
2 1 1
=
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
0 0 1
0 1 0
1 0 0
A A-1 = A-1 A = I
Jadi, matriks invers A adalah: A-1 =
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎣
⎡
− −
−
−
5/ 4 3/ 4 1/ 4
1/ 2 1/ 2 1/ 2
1/8 1/8 1/8
# METODE ITERATIF GAUSS-SEIDEL #
Metode Gauss-Seidel merupakan metode penyelesaian sistem persamaan aljabar linier yang dilakukan
secara iteratif. Berawal dari nilai-nilai tebakan awal untuk x, nilai awal ini selanjutnya diproses secara
berulang-ulang (atau iteratif), hingga diperoleh nilai x yang cukup dekat dengan nilai sesungguhnya
(atau memenuhi batas toleransi yang telah ditetapkan). Untuk sistem persamaan linier yang melibatkan
matriks A dan vektor b yang berorder n, diperlukan nilai tebakan awal x sejumlah n-1 buah.
Tinjaulah sistem persamaan linier (berorder 3) yang dinyatakan dalam bentuk matriks sbb.:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
31 32 33
21 22 23
11 12 13
a a a
a a a
a a a
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
3
2
1
x
x
x
=
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
3
2
1
b
b
b
A x = b
Tahap pertama
Tahap pertama
Tahap kedua
Tahap kedua
eliminasi Gauss
eliminasi Gauss
Gauss-Jordan
Gauss-Jordan
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 11 dari 19
Dari baris 1, diperoleh: 3
11
13
2
11
12
11
1
1 x
a
x a
a
a
a
x = b − −
Dengan cara yang sama, x2 dan x3 dapat ditentukan dari baris 2 dan baris 3:
3
22
23
1
22
21
22
2
2 x
a
x a
a
a
a
x = b − − dan 2
33
32
1
33
31
33
3
3 x
a
x a
a
a
a
x = b − −
Pendekatan tersebut di atas digunakan dalam metode iteratif Gauss-Seidel. Jika dipilih 2 nilai tebakan
awal untuk x2 dan x3, maka x1 dapat dihitung. Berdasarkan x1 (baru) yang dihitung x3 (lama), maka x2
(baru) dapat dihitung. Berdasarkan x1 (baru) dan x2 (baru), maka x3 (baru) dapat dihitung. Demikian
seterusnya, sampai diperoleh harga-harga x1, x2, dan x3 yang konvergen. Prosedur iteratif ini
digambarkan dalam diagram alir berikut ini. Prosedur yang analog dapat diterapkan terhadap sistem
persamaan linier berorder n.
Persentase error perhitungan dapat dinyatakan sebagai:
100%
,
, , x
x
x x
Error
i iterasi sekarang
i iterasi sekarang i iterasi sebelumnya
i
−
=
Contoh:
Gunakan metode Gauss-Seidel untuk menyelesaikan sistem persamaan:
3 x1 – 0,1 x2 – 0,2 x3 = 7,85
0,1 x1 + 7 x2 – 0,3 x3 = -19,3
0,3 x1 – 0,2 x2 + 10 x3 = 71,4
Catatan: Nilai sebenarnya dari sistem persamaan ini adalah: x1 = 3; x2 = -2,5; dan x3 = 7
Penyelesaian:
Dari setiap persamaan, dapat diperoleh x1, x2, dan x3 sebesar:
3
7,85 0,1 0,2 2 3
1
x x x + +
=
7
19,3 0,1 0,3 1 3
2
x x x − − +
=
10
71,4 0,3 0,2 1 2
3
x x x − +
=
MULAI
Tebakan awal: x2,lama dan x3,lama
Toleransi: tol
baru lama lama x
a
x a
a
a
a
x b 3,
11
13
2,
11
12
11
1
1, = − −
baru baru lama x
a
x a
a
a
a
x b 3,
22
23
1,
22
21
22
2
2, = − −
baru baru baru x
a
x a
a
a
a
x b 2,
33
32
1,
33
31
33
3
3, = − −
Error ≤ tol ?
x1 = x1,baru
x2 = x2,baru
x3 = x3,baru
SELESAI
x2,lama = x2,baru
x3,lama = x3,baru
Ya
Tidak
ke iterasi
berikutnya
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 12 dari 19
Iterasi pertama:
Dengan menggunakan nilai tebakan awal untuk x2 dan x3 sebesar: x2 = x3 = 0, maka
diperoleh: 2,616667
3
7,85 0,1 (0) 0,2 (0)
1 =
+ +
x =
Gunakan x1 = 2,616667 ini dan x3 = 0 untuk menghitung x2:
2,794524
7
19,3 0,1 (2,616667) 0,3 (0)
2 = −
− − +
x =
Gunakan x1 = 2,616667 dan x2 = -2,794524 untuk menghitung x3:
7,005610
10
71,4 0,3 (2,616667) 0,2 ( 2,794524)
3 =
− + −
x =
Iterasi kedua:
Dengan cara yang sama, maka diperoleh:
2,990557
3
7,85 0,1 ( 2,794524) 0,2 (7,005610)
1 =
+ − +
x = = 0,31%; = 12,5% t a ε ε
2,499625
7
19,3 0,1 (2,990557) 0,3 (7,005610)
2 = −
− − +
x = = 0,015%; = 11,8% t a ε ε
7,000291
10
71,4 0,3 (2,990557) 0,2 ( 2,499625)
3 =
− + −
x = = 0,0042%; = 0,076% t a ε ε
Komentar: Perhatikan bahwa metode ini bersifat konvergen (menuju nilai-nilai x sebenarnya).
Langkah-langkah iterasi berikutnya dapat dilakukan untuk meningkatkan ketelitian dan
kedekatan dengan nilai sebenarnya.
Kriteria Konvergensi untuk Metode Gauss-Seidel
Metode Gauss-Seidel mirip dengan metode iterasi satu titik (dalam penentuan akar persamaan tak
linier), yang dapat memunculkan 2 kemungkinan persoalan, yakni: (1) kadang-kadang tidak
konvergen, atau (2) jika konvergen, maka laju konvergensinya lambat.
Untuk sistem persamaan linier Ax = b yang melibatkan n buah persamaan, konvergensi metode ini
akan selalu tercapai, jika: Σ
≠ =
>
n
i j
j
ii ij a a
1
(diagonally dominant)
Metode relaksasi merupakan modifikasi dari metode Gauss-Seidel yang dirancang untuk
meningkatkan konvergensi. Setelah masing-masing xi dihitung dengan persamaan-persamaan di
atas, nilai xi ini selanjutnya dimodifikasi dengan memberikan faktor pembobot terhadap hasil
iterasi sekarang dan iterasi sebelumnya; atau:
i baru i baru i lama x x x , , , = λ + (1− λ )
di mana: λ ≡ faktor pembobot (bernilai antara 0 – 2; biasanya ditentukan secara empirik)
Jika λ = 1, maka metode ini tidak dimodifikasi/direlaksasi
Jika 0 ≤ λ ≤ 1, maka modifikasinya tergolong dalam underrelaxation (biasanya digunakan untuk
membuat sistem yang tidak konvergen menjadi konvergen)
Jika 1 ≤ λ ≤ 2, maka modifikasinya tergolong dalam overrelaxation (biasanya digunakan untuk
mempercepat konvergensi sistem yang sudah konvergen). Pendekatan ini biasa disebut juga
successive or simultaneous overrelaxation (SOR).
# METODE ITERATIF JACOBI #
Metode Jacobi merupakan metode penyelesaian sistem persamaan aljabar linier secara iteratif yang
mirip dengan metode Gauss-Seidel. Berawal dari nilai-nilai tebakan awal untuk x, nilai awal ini
selanjutnya diproses secara berulang-ulang (atau iteratif), hingga diperoleh nilai x yang cukup dekat
dengan nilai sesungguhnya (atau memenuhi batas toleransi yang telah ditetapkan). Untuk sistem
persamaan linier yang melibatkan matriks A dan vektor b yang berorder n, diperlukan nilai tebakan
awal x sejumlah n buah.
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 13 dari 19
Tinjaulah sistem persamaan linier (berorder 3) yang dinyatakan dalam bentuk matriks sbb.:
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
31 32 33
21 22 23
11 12 13
a a a
a a a
a a a
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
3
2
1
x
x
x
=
⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢
⎣
⎡
3
2
1
b
b
b
A x = b
Seperti halnya metode Gauss-Seidel, metode Jacobi juga akan selalu menghasilkan penyelesaian yang
konvergen jika matriks koefisien A bersifat diagonally dominant. Jika A merupakan matriks bujur
sangkar yang bersifat diagonally dominant, maka dari baris 1, diperoleh: 3
11
13
2
11
12
11
1
1 x
a
x a
a
a
a
x = b − −
Dengan cara yang sama, x2 dan x3 dapat ditentukan dari baris 2 dan baris 3:
3
22
23
1
22
21
22
2
2 x
a
x a
a
a
a
x = b − − dan 2
33
32
1
33
31
33
3
3 x
a
x a
a
a
a
x = b − −
Jika dipilih 3 nilai tebakan awal untuk x1, x2, dan x3, maka x1 (baru), x2 (baru), dan x3 (baru) dapat
dihitung secara bersamaan. Demikian seterusnya, sampai diperoleh harga-harga x1, x2, dan x3 yang
konvergen. Prosedur iteratif ini digambarkan dalam diagram alir berikut ini. Prosedur yang analog
dapat diterapkan terhadap sistem persamaan linier berorder n.
Persentase error perhitungan dapat dinyatakan sebagai:
100%
,
, , x
x
x x
Error
i iterasi sekarang
i iterasi sekarang i iterasi sebelumnya
i
−
=
Contoh:
Ulangi soal sebelumnya dengan metode iteratif Jacobi!
Penyelesaian:
Jika digunakan nilai-nilai tebakan awal x, yaitu: x1 = x2 = x3 = 0
dan dengan cara yang mirip dengan sebelumnya, maka diperoleh hasil-hasil di bawah ini.
MULAI
Tebakan awal: x1,lama, x2,lama,
dan x3,lama ; Toleransi: tol
baru lama lama x
a
x a
a
a
a
x b 3,
11
13
2,
11
12
11
1
1, = − −
baru lama lama x
a
x a
a
a
a
x b 3,
22
23
1,
22
21
22
2
2, = − −
baru lama lama x
a
x a
a
a
a
x b 2,
33
32
1,
33
31
33
3
3, = − −
Error ≤ tol ?
x1 = x1,baru
x2 = x2,baru
x3 = x3,baru
SELESAI
x1,lama = x1,baru
x2,lama = x2,baru
x3,lama = x3,baru
Ya
Tidak
ke iterasi
berikutnya
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 14 dari 19
Tabulasi hasil perhitungan (dengan metode Jacobi):
Bandingkan hasil ini dengan hasil yang diperoleh dengan metode Gauss-Seidel sbb:
# METODE THOMAS UNTUK MENYELESAIKAN SISTEM PERSAMAAN
LINIER DENGAN MATRIKS KOEFISIEN TRIDIAGONAL #
Metode eliminasi Gauss dapat diterapkan untuk sistem persamaan linier yang matriks koefisiennya
berupa matriks tridiagonal. (Ingatlah kembali, apa yang dimaksud dengan matriks tridiagonal...!).
Metode terapan ini biasa disebut metode Thomas, yang alur penyelesaiannya akan digambarkan
dalam uraian berikut ini.
Tinjaulah sistem persamaan linier:
a11 x1 + a12 x2 = b1
a21 x1 + a22 x2 + a23 x3 = b2
a32 x2 + a33 x3 + a34 x4 = b3
.........................................................................
an,n-1 xn-1 + ann xn = bn
Atau, dapat dituliskan menjadi:
d1 x1 + e1 x2 = b1
c2 x1 + d2 x2 + e2 x3 = b2
c3 x2 + d3 x3 + e3 x4 = b3
.........................................................................
cn xn-1 + dn xn = bn
Dalam bentuk perkalian matriks dan vektor, persamaan di atas dapat dituliskan sebagai:
⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎣
⎡
=
⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎣
⎡
⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎦
⎤
⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎣
⎡
n n n n b
b
b
b
x
x
x
x
c d
c d e
c d e
d e
... ...
0 0 0
... ... ... ... ...
0 0
0 0
0 0 0
3
2
1
3
2
1
3 3 3
2 2 2
1 1
... (*)
Matriks tridiagonal
Dengan menerapkan langkah-langkah yang telah dipelajari dalam metode eliminasi Gauss (pada
materi sebelumnya), penyelesaian dari sistem persamaan linier (*) adalah sbb.:
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 15 dari 19
n n x = γ
dan:
i
i i
i i
x e x
β
= γ − +1 (i = n-1, n-2, ..., 1)
dengan γi dan βi yang ditentukan melalui serangkaian perhitungan berurutan sbb.:
1 1 β = d
1
1
1 β
γ = b
1
1
−
= − −
i
i i
i i
d c e
β
β (i = 2, 3, ..., n)
i
i i i
i
b c
β
γ
γ −1 −
= (i = 2, 3, ..., n)
Contoh:
Selesaikan sistem persamaan berikut:
2 x1 – 3 x2 = -4
x1 + 2 x2 – x3 = 2
4 x2 – x3 + x4 = 9
2 x3 – x4 = 2
Penyelesaian:
Sistem persamaan linier di atas memuat matriks koefisien tridiagonal. Mula-mula besaranbesaran
ci, di, ei, dan bi akan didefinisikan lebih dahulu, untuk menyesuaikan dengan notasi
yang diuraikan dalam metode Thomas tersebut di atas.
i ci di ei bi
1 0 2 -3 -4
2 1 2 -1 2
3 4 -1 1 9
4 2 -1 0 2
Dengan metode Thomas, maka diperoleh hasil-hasil sbb.:
β1
= d1 = 2
γ1
=
1
1β
b =
2
− 4 = -2
β2
=
1
2 1
2 β
d − c e =
2
2 1. ( 3)
−
− = 3,5
γ2
=
2
2 2 1
β
b − c γ = 3,5
2 −1. (−2) = 1,14
β3
=
2
3 2
3 β
d − c e = 3,5
1 4 . ( 1)
−
− − = 0,143
γ3
=
3
3 3 2
β
b − c γ = 0,143
9 − 4 .1,14 = 31
β4
=
3
4 3
4 β
d − c e = 0,143
−1− 2 .1 = -15
γ4
=
4
4 4 3
β
b − c γ =
15
2 2 . 31
−
− = 4
Dengan demikian:
x4 = γ
4 = 4
x3 =
3
3 4
3 β
γ − e x = 0,143
31− 1. 4 = 3
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 16 dari 19
x2 =
2
2 3
2 β
γ − e x =
3,5
1,14 ( 1) (3)
−
− = 2
x1 =
1
1 2
1 β
γ − e x =
2
2 ( 3) (2)
−
− − = 1
Jadi, penyelesaian sistem persamaan linier tersebut di atas adalah:
x1 = 1; x2 = 2; x3 = 3; dan x4 = 4
# CONTOH APLIKASI #
Neraca Massa Rangkaian Proses
Umpan berupa zat A murni dengan laju 100 kmol/jam.
Kendala: 1. 80% dari A dan 40% dari B di dalam alur 2 didaur ulang (recycle).
2. Perbandingan mol A terhadap mol B di dalam alur 1 adalah 5:1
Neraca massa (dalam kmol/jam):
Di sekitar pencampur:
NA1 = NA3 + 100 atau: NA1 − NA3 = 100 ... (1)
NB1 = NB3 atau: NB1 − NB3 = 0 ... (2)
(NA1 menyatakan laju alir molar A di dalam alur 1, dst.)
Di sekitar reaktor:
NA2 = NA1 − r atau: − NA1 + NA2 + r = 0 ... (3)
NB2 = NB1 + r atau: − NB1 + NB2 − r = 0 ... (4)
(r menyatakan laju reaksi)
Di sekitar pemisah:
NA3 + NA4 = NA2 atau: − NA2 + NA3 + NA4 = 0 ... (5)
NB3 + NB4 = NB2 atau: − NB2 + NB3 + NB4 = 0 ... (6)
Berdasarkan kendala 1:
NA3 = 0,8 NA2 atau: − 0,8 NA2 + NA3 = 0 ... (7)
NB3 = 0,4 NB2 atau: − 0,4 NB2 + NB3 = 0 ... (8)
Berdasarkan kendala 2:
NA1 = 5 NB1 atau: NA1 − 5 NB1 = 0 ... (9)
Berdasarkan penjabaran neraca massa di atas, dihasilkan 9 buah persamaan linier dengan 9 variabel
yang tak diketahui (yakni NA1, NB1, NA2, NB2, NA3, NB3, NA4, NB4, dan r)
Dengan demikian, terbentuk sistem persamaan linier yang dapat diselesaikan secara simultan!
Pemisah
Produk
Umpan
A → B
Pencampur Reaktor
4
3
1 2
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 17 dari 19
(Sebagai latihan, susunlah ke-9 persamaan di atas dalam bentuk perkalian matriks dan
vektor, dan selanjutnya silakan Anda selesaikan sendiri sistem persamaan linier tersebut.
Untuk mengecek jawaban Anda, hasil perhitungan dari persoalan neraca massa ini adalah:
NA1 = 227,3 kmol/jam; NB1 = 45,45 kmol/jam; NA2 = 159,1 kmol/jam; NB2 = 113,6 kmol/jam;
NA3 = 127,3 kmol/jam; NB3 = 45,45 kmol/jam; NA4 = 31,82 kmol/jam; NB4 = 68,18 kmol/jam;
dan r = 68,18 kmol/jam)
# LATIHAN SOAL #
1. Tuliskan sekumpulan persamaan berikut ini dalam bentuk matriks:
2 3 30 = 2 x + 6 x
2 1 20 = 3 x + 8 x
1 3 10 = x + x
Tuliskan tranpose matriks koefisiennya!
2. Gunakan metode grafis untuk menyelesaikan sistem persamaan berikut:
2 6 18 1 2 x − x = −
8 40 1 2 − x + x =
Cek jawaban Anda dengan mensubstitusikannya kembali ke dalam persamaan-persamaan di atas.
3. Untuk sekumpulan persamaan berikut:
2 5 1 2 3 x + x =
2 2 1 1 2 3 x + x + x =
3 2 1 2 x + x =
(a) Hitunglah nilai determinannya
(b) Gunakan cara Cramer untuk menentukan harga x1, x2, dan x3.
(c) Substitusikan jawaban Anda (pada butir (b)) ke dalam persamaan-persamaan semula, untuk
mengecek kebenarannya.
4. Gunakan eliminasi Gauss untuk menyelesaikan sistem persamaan berikut:
4 2 1 2 3 x + x − x = −
5 2 4 1 2 3 x + x + x =
6 6 1 2 3 x + x + x =
Lakukan partial column pivoting dan cek kebenaran jawaban Anda dengan mensubstitusikan
kembali ke dalam persamaan-persamaan semula.
5. Selesaikan sistem persamaan:
3 1 2 3 x + x − x = −
6 2 2 2 1 2 3 x + x + x =
3 4 1 1 2 3 − x + x + x =
dengan metode:
(a) eliminasi Gauss naive
(b) eliminasi Gauss dengan partial pivoting
(c) Gauss-Jordan naive
(d) Gauss-Jordan dengan partial pivoting
6. Sistem persamaan berikut ini dirancang untuk menentukan konsentrasi (c, dalam g/m3) dalam
serangkaian reaktor sebagai fungsi jumlah massa yang diumpankan ke dalam masing-masing
reaktor (pada ruas kanan persamaan, dalam g/hari):
17 2 3 500 1 2 3 c − c − c =
5 21 2 200 1 2 3 − c + c − c =
5 5 22 30 1 2 3 − c − c + c =
(a) Gunakan matriks invers untuk menentukan harga konsentrasi c1, c2, dan c3.
(b) Tentukan c1, c2, dan c3 dengan metode Gauss-Seidel, hingga tercapai εs = 5%.
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 18 dari 19
7. Gunakan metode Gauss-Seidel dengan relaksasi (dengan λ = 0,90 dan εs = 5%) untuk menyelesaikan
sistem persamaan:
5 12 80 1 3 − x + x =
4 2 1 2 3 x − x − x = −
6 8 45 1 2x + x =
(Jika perlu, lakukan penyusunan ulang terhadap persamaan untuk mencapai konvergensi).
8. Selesaikan 3 buah persamaan linier berikut ini dengan metode eliminasi Gauss, dan tunjukkan
semua langkah perhitungannya.
3 2 3 1 2 3 x − x + x =
2 4 2 2 1 2 3 x + x − x =
4 2 3 12 1 2 3 x − x − x = −
Ulangilah jika menggunakan metode iteratif Gauss-Seidel (atau Jacobi).
9. Selesaikan sistem persamaan linier berikut ini dengan metode eliminasi Gauss, dan tunjukkan
semua langkah perhitungannya.
2 3 2 3 x − x =
2 3 1 1 2 3 x − x + x =
3 2 5 10 1 2 3 x − x + x =
10. Selesaikan 3 buah persamaan linier berikut ini dengan metode eliminasi Gauss, dan tunjukkan
semua langkah perhitungannya.
3 3 2 1 2 3 x − x + x =
5 3 6 1 2 3 x + x + x =
2 2 1 2 3 x + x − x =
11. Selesaikan sistem persamaan linier berikut ini dengan metode Thomas, dan tunjukkan semua
langkah perhitungannya.
1 1 2 x − x =
2 3 1 1 2 3 x + x − x =
3 4 2 3 2 3 4 x − x + x =
5 3 3 4 x − x =
Ulangilah jika menggunakan metode iteratif Gauss-Seidel (atau Jacobi).
12. Sebuah kolom ekstraksi yang memiliki 4 tahap ideal/teoretik akan digunakan untuk mengekstraksi
asam format yang terlarut dalam metil isobutil keton (MIBK) dengan menggunakan air sebagai
pengekstrak. Operasi akan dilakukan dengan mode berlawanan arah (counter current); fasa organik
diumpankan dari dasar kolom dengan laju 5 m3 MIBK/jam dan konsentrasi asam format 1,0
mol/liter MIBK, sedangkan fasa akuatik dialirkan dari puncak kolom dengan laju alir 2,45 m3
air/jam serta sama sekali tidak mengandung asam format. Operasi berlangsung isotermal dan harga
rasio kesetimbangan konsentrasi asam format di dalam MIBK terhadap konsentrasi asam format di
dalam air adalah K = 0,445. MIBK dan air dapat dianggap sama sekali tidak larut satu sama lain. 1
m3 = 1000 liter. Tentukan konsentrasi asam format pada aliran-aliran yang keluar dan masuk tiap
pelat/tahap ideal dalam kolom ekstraksi tersebut.
13. Sebuah kilang minyak menghasilkan 3 jenis elpiji: A, B, dan C, dengan komposisi seperti disajikan
pada tabel berikut ini (angka-angka yang ditunjukkan menyatakan %-volume komponen):
Komponen A ElBpi ji C
C2 5,0 - -
C3 90,0 10,0 -
i-C4 5,0 85,0 8,0
n-C4 - 5,0 80,0
i-C5 - - 12,0
Jumlah 100,0 100,0 100,0
dy/analisis numerik/penyelesaian sistem persamaan aljabar linier/februari 2008/halaman 19 dari 19
Dari sebuah perusahaan calon pelanggan, kilang minyak tersebut menerima tawaran kontrak jual
beli 106 m3 elpiji yang disyaratkan harus mengandung: 31,2%-v propana, 53,4%-v isobutana, dan
12,6%-v n-butana. Kadar etana dan i-C5 tidak disyaratkan. Kilang minyak tersebut bermaksud
memenuhi kontrak ini dengan cara mencampurkan elpiji A, elpiji B, dan elpiji C.
Tentukan kebutuhan masing-masing elpiji A, B, dan C (dalam m3) agar persyaratan kontrak dapat
dipenuhi dengan baik!
14. Gambar berikut ini memperlihatkan sistem tiga buah reaktor yang terhubungkan oleh pipa-pipa.
Laju perpindahan setiap komponen/zat melalui setiap pipa merupakan perkalian dari laju alir
volumetriknya (Q, dalam satuan m3/detik) dengan konsentrasinya yang keluar dari masing-masing
reaktor (C, dalam satuan mg/m3). Sistem proses berada dalam kondisi steady, yang berarti bahwa
laju massa masuk ke setiap reaktor sama dengan laju massa keluar.
Susunlah neraca massa pada masing-masing reaktor dan selanjutnya selesaikanlah sistem
persamaan aljabar linier yang terbentuk (untuk menentukan harga-harga C1, C2, dan C3).
15. Tinjaulah proses perpindahan panas secara konduksi melalui dinding sebuah pipa. Suhu dinding
bagian dalam: 200oC, suhu dinding bagian luar: 80oC, dan ketebalan dinding pipa: 0,05 meter. Jarijari
bagian dalam pipa: 0,05 meter (ro) dan jari-jari bagian luar pipa: 0,1 meter. Persamaan
diferensial yang dijabarkan berdasarkan neraca panas dalam dinding pipa dan menggambarkan
distribusi suhu sepanjang dinding pipa dinyatakan sbb.:
0 2
2
= ⎟
⎟⎠
⎞
⎜ ⎜⎝
⎛
+
dr
r d T
dr
dT
Pendekatan beda hingga (finite difference) yang diterapkan untuk menyelesaikan persamaan di atas
menghasilkan serangkaian persamaan aljabar linier berikut:
0
2
2 1
2
1
1 1 = ⎟ ⎟⎠
⎞
⎜ ⎜⎝
⎛
Δ
+ − +
Δ
− ⎟
⎟⎠
⎞
⎜ ⎜⎝
⎛
Δ
+ i + i i − T
r
T r
r
T r
r
r
untuk: i = 2, 3, ..., 10
dengan:
r = r + Δ r (i −1) = 0,05 + 0,005 (i −1) o
dan
T1 = 200oC dan T11 = 80oC
Tentukan distribusi suhu di sepanjang dinding pipa menggunakan metode Thomas! (Jangan lupa
bahwa r tidaklah konstan)
☺☺☺ Selamat Belajar!!! ☺☺☺
400
mg/detik
200
mg/detik
3
2
1
Q13C1
Q12C1 Q23C2
Q21C2
Q33C3
Q33 = 120
Q13 = 40
Q12 = 80
Q23 = 60
Q21 = 20
Keterangan:

MATRIK dan RUANG VEKTOR

lmjaelani@gmail.com
1
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
MATRIK dan RUANG VEKTOR
A. Matrik
1. Pendahuluan
Sebuah matrik didefinisikan sebagai susunan persegi panjang dari bilangan
bilangan yang diatur dalam baris dan kolom. Matrik ditulis sebagai berikut:






am am amn
a a a n
a a a n
1 2 ...
: :
21 22 ... 2
11 12 ... 1
urutan di atas disebut sebuah matrik mXn, karena memiliki m baris dan n
kolom.
Aturan simbol matrik:
a. menggunakan kurung siku [ ]
b. menggunakan kurung biasa ( )
c. menggunakan bentuk
d. Nama matrik disimbolkan dengan hurup besar, A, B dsb
e. Elemen matrik di simbolkan dengan hurup kecil miring
karena matrik merupakan urutan – urutan bilangan berdimensi dua, maka
diperlukan dua subskrip untuk menyatatakan setiap elemennya. Menurut
perjanjian, subskrip pertama menyatakan baris, subskrip kedua menyatakan
kolom. amn . m menyatakan baris, n menyatakan kolom. setiap matrik yang
memiliki baris dan kolom sama (m=n) disebut matrik persegi (square matrice).
Contoh matrik




0 1
1 0
,




c d
a b
, (1,2,3,3)
lmjaelani@gmail.com
2
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Bukan matrik,




1
1 0
,




c
b
2. Operasi Matrik;
a. Kesamaan
Dua matrik A dan B dikatakan sama (A=B), jika dan hanya jika
elemen yang bersangkutan sama. aij=bij untuk setiap i,j
Contoh:
A =




0 1
1 0
, B=




0 1
1 0
A = B, karena a11=b11, a12=b12, a21=b21, a22=b22,
A =




0 1
2 0
, B=




0 1
1 0
A 0 B, karena a11 0 b11
b. Perkalian dengan bilangan Skalar
Bila diberikan sebuah matrik A dan sebuah bilangan skalar k, hasil kali k
dan A didefinisikan sebagai kA;
kA =






kam kam kamn
ka ka ka n
k a ka ka n
1 2 ...
: :
21 22 ... 2
. 11 12 ... 1
setiap elemen dari A dikalikan langsung dengan k. Hasil kali kA
merupakan sebuah matrik lain yang mempunyai m baris dan n baris,
dimana m dan n ini sama dengan m dan n matrk asli (matrik A)
c. Penjumlahan
Matrik C merupakan hasil penjumlahan dari matrik A dan matrik B,
dimana jumlah baris dan kolom matrik A harus sama dengan matrik B.
Didefinisikan:
lmjaelani@gmail.com
3
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
cij = aij+bij
C =






cm cm cmn
c c c n
c c c n
1 2 ...
: :
21 22 ... 2
11 12 ... 1
=






am am amn
a a a n
a a a n
1 2 ...
: :
21 22 ... 2
11 12 ... 1
+






bm bm bmn
b b b n
b b b n
1 2 ...
: :
21 22 ... 2
11 12 ... 1
=






+ + +
+ + +
+ + +
am bm am bm amn bmn
a b a b a n b n
a b a b a n b n
1 1 2 2 ...
: :
21 21 22 22 ... 2 2
11 11 12 12 ... 1 1
pernyataan ini dapat diringkas menjadi
C = A + B
Hukum Asosiatip
A + B = B + A
A + (B + C) = (A+B) + C
d. Pengurangan
Aturan yang berlaku pada operasi Pengurangan sama dengan yang
berlaku pada operasi penjumlahan.
A – B = A + (-) B
e. Perkalian antar matrik
lmjaelani@gmail.com
4
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Jika diberikan sebuah m X n matrik A dan sebuah n X r matrik B, hasil
kali AB didefinisikan sebagai m X r matrik C, dimana elemen elemennya
dihitung dari elemen elemen dari A, B menurut.
cij = =
n
k
aikbkj
1
, i = 1,...,m j= 1,..., r
Dalam hasil kali matrik AB, matrik A disebut pengali muka dan B pengali
belakang. Hasil kali AB ditentukan hanya kalau jumlah kolom di A sama
dengan jumlah baris di B
Aturan:
A dan B bisa dikalikan jika dan hanya jika jumlah kolom di A sama
dengan jumlah baris di B
Contoh:
A =




6 1
3 2
, B =




5
4
C = AB
=




+
+
[6(4) 1(5)]
[3(4) 2(5)]
=




29
22
Berlaku hukum Asosiatif
= (AB) C = A (BC) = A B C
Berlaku hukum Distributif
= A (B + C) = AB + BC
Latihan :
lmjaelani@gmail.com
5
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Tunjukkan dengan penghitungan sebenarnya bahwa berlaku hukum asosiatif
pada perkalian matrik berikut:
A=




3 4
a 1
, B=






1 8 9
0 b 7
, C =






1 4 0
2 1
3 7 1
c
Di mana:
a, b, c = dua digit terakhir NRP Anda
lmjaelani@gmail.com
6
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
IDENTITAS, SKALAR, DIAGONAL DAN MATRIK NOL
Matrik Identitas:
Definisi: Matrik bujur sangkar yang mempunyai angka angka satu sepanjang diagonal
utama (diagonal dari kiri atas sampai kanan bawah) dan elemen elemen lainnya
bernilai nol.
Matrik Identitas disimbolkan dengan I atau In, dimana n merupakan orde matrik
I = I4 =






0 0 .0.. 1
0 0 1 0
0 1 .0.. 0
1 0 0 0
Jika A adalah sebuah matrik persegi dari orde n dan I adalah matrik identitas dari
orde n, maka:
IA= AI = A
I2 = I, I3 = I
Matrik Skalar:
Untuk setiap skalar K, matrik bujur sangkar
S = k <ij = k. I
disebut matrik skalar
Matrik Diagonal:
Sebuah matrik bujur sangkar
D = ki <ij
Disebut sebuah amtrik diagonal.
Perhatikan bahwa ki dapat berubah dengan i
Contoh:
lmjaelani@gmail.com
7
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
(1 )




0 2
2 0
= (2)




0 1
1 0
adalah matrik skalar
(2)






0 0 3
0 1 0
2 0 0
adalah matrik diagonal
Matrik Nol:
Sebuah matrik yang elemen elemennya nol disebut matrik nol dan dinyatakan dengan
symbol 0.
Sebuah matrik NOL tidak perlu bujur sangkar
Contoh:
0=




0 0
0 0
, 0=






0 0 0
0 0 0
, 0=






0
0
0
lmjaelani@gmail.com
8
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
TRANSPOSE, MATRIK SIMETRIS, MATRIK SIMETRIS MIRING
Transpose:
Definisi; transpose dari sebuah matrik A = aij adalah sebuah matrik dibentuk dari A
dengan menukar baris baris dan kolom kolom sehingga bari i dari A menjadi kolom i
dari matrik transpose. Transpose disimbolkan dengan A’.
A = aij
A’= aji
Contoh:
A =




2 5
1 3
, A’=




3 5
1 2
B =






0 1 0
1 3 4
, B’=






4 0
3 1
1 0
Jika A adalah matrik m X n, maka A’ adalah matrik n X m
Perlu Anda perhatikan:
1. jika C = A + B maka C’ = A’ + B’
2. (AB)’ = B’ A’
3. I’ = I
4. (A’)’ = A
Matrik Simetris:
Matrik simetris terjadi jika matrik A sama dengan matrik A’, A= A’
Catatan: elemen diagonal adalah sembarang
Contoh:






7 5 1
0 3 5
2 0 7
lmjaelani@gmail.com
9
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Matrik Simetris miring:
Matrik simetris terjadi jika matrik A sama dengan matrik -A’, A=-A’
Catatan: elemen diagonal adalah nol
Contoh:






-
- -
2 3 0
1 0 3
0 1 2
lmjaelani@gmail.com
10
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Latihan:
Buktikan bahwa:
1. IA= AI = A
2. I2 = I, I3 = I
3. jika C = A + B maka C’ = A’ + B’
4. (AB)’ = B’ A’
5. I’ = I
6. (A’)’ = A
lmjaelani@gmail.com
11
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Pemisahan Matriks, Determinan
Pemisahan Matriks
Matriks ‘kecil’ yang dibentuk dari pemisahan sebuah matriks disebut Matriks Bagian
(sub-matriks)
Sub-matriks : jika kita mempunyai matrik Amn kemudian kita coret semua baris-baris
kecuali baris k dan semua kolom kolom keculi kolom s, maka akan diperoleh matrik k
x s. Matrik Aks ini disebut matrik bagian Amn
Contoh:
A42 =






0 0 .0.. 1
0 0 1 0
0 1 .0.. 0
1 0 0 0
, jika kita coret baris ke 1 dan ke 4, serta kolom ke1 dan
kolom ke3, maka akan diperoleh:
A22 =






0 0
1 0
Ada beberapa alasan untuk melakukan pemisahan matrik, diantaranya:
1. Pembagian dapat menyederhanakan penulisan atau pencetakan dari A
2. Ia menunjukkan beberapa susunan khusus dari A yang perlu diperhatikan
3. Pemisahan ini akan Memudahkan penghitungan
Sekarang kita akan mempertimbangkan pembagian dari sebuah pandangan yang
lebih umum.
A=






51 52 53 54
41 42 43 44
31 32 33 34
21 22 23 24
11 12 13 14
a a a a
a a a a
a a a a
a a a a
a a a a
, bayangkan A dibagi menjadi empat oleh garis
garis putus seperti yang terlihat, sekarang kita memiliki 4 matrik baru:
lmjaelani@gmail.com
12
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
A-11 =




21 22 23
11 12 13
a a a
a a a
, A-12 =




24
14
a
a
A-21 =






51 52 53
41 42 43
31 32 33
a a a
a a a
a a a
A22 =






54
44
34
a
a
a
,
sehingga A dapat ditulis sebagai:
A =




- -
- -
21 22
11 12
A A
A A
Operasi matrik A dan B dapat dilakukan dengan operasi matrik matrik bagian dari A
dan B, hal ini akan memudahkan penghitungan
Jika kita memiliki matrik A dan membaginya sebagai berikut:
A =






4 1 7
2 5 0
1 3 2
=




- -
- -
21 22
11 12
A A
A A
A-11=




2 5
1 3
, A-12 =




0
2
, A-21 = [4 1], A-22 = [7]
Kita jika memiliki matrik B dan membaginya sebagai berikut
B =






6 0 1
2 4 5
0 1 2
=




- -
- -
21 22
11 12
B B
B B
;
B-11=




2
0
, B-12 =



4 5
1 2
, B-21 = [6], B-22=[0 1]
lmjaelani@gmail.com
13
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Cara Penghitungan Biasa:
C= AB dengan mengalikan matriks matriks langsung tanpa pembagian:
C =






4 1 7
2 5 0
1 3 2






6 0 1
2 4 5
0 1 2
=






44 8 20
10 22 29
18 13 19
Cara penghitungan dengan pembagian:
C =




- -
- -
21 22
11 12
A A
A A




- -
- -
21 22
11 12
B B
B B
=




- - + - - - - + - -
- - + - - - - + - -
( 21. 11) ( 22. 21) ( 21. 12) ( 22. 22)
( 11. 11) ( 12. 21) ( 11. 12) ( 12. 22)
A B A B A B A B
A B A B A B A B
Dimana,
A-11.B-11+A-12.B-21=




2 5
1 3




2
0
+




0
2 [ ] 6 =




10
6
+




0
12
=




10
18
A-11.B-12+A-12.B-22=




2 5
1 3




4 5
1 2
+




0
2 [ ] 1 0 =




22 29
13 17
+




0 0
0 2
=




22 29
13 19
A-21.B-11+A-22.B-21=[ ] 1 4




2
0
+[7][6] =[44]
A-21.B-12+A-22.B.22=[ ] 1 4




4 5
1 2
+[7][0 1] = [8 13]+[0 7] = [8 20]
Sehingga diperoleh hasil sebagai berikut
C=






44 8 20
10 22 29
18 13 19
Determinan
lmjaelani@gmail.com
14
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Notasi | |
Sebuah determinan orde dua didefinisikan sebagai
21 22
11 12
a a
a a
= a11a22-a12a21
Determinan orde tiga didefinisikan sebagai
31 32 33
21 22 23
11 12 13
a a a
a a a
a a a
= a11a22a33 + a12a23a31 + a13a21a32- a13a22a31 - a12a21a33 - a11a23a32
31 32 33
21 22 23
11 12 13
a a a
a a a
a a a
31 32 33
21 22 23
11 12 13
a a a
a a a
a a a
Beberapa sifat Determinan:
1. Penukaran dua kolom dalam suatu matrik An mengubah tanda dari |A |
|A | =
3 4
1 2
= -2, jika dua kolom ditukar maka determinan yang baru adalah
|A | =
4 3
2 1
=2
2. Penukaran dua baris dalam suatu matrik An mengubah tanda dari |A |
3. Jika suatu matriks mempunyai du baris dan dua kolom yang sama maka
Determinannya = 0
4. |A | = |A’ |
|A | =
3 2
4 1
=5
5. |A | = x, maka |k A | = k2x
+
-
lmjaelani@gmail.com
15
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Latihan :
1. tentukan cara pembagian matriks A dan B jika akan dilakukan perkalian matriks
A dan B
2. Buktikan sifat determinan berikut, untuk matrik orde >2
o Penukaran dua kolom dalam suatu matrik An mengubah tanda dari |A |
o Penukaran dua baris dalam suatu matrik An mengubah tanda dari |A |
o |A | = x, maka |k A | = k2x
lmjaelani@gmail.com
16
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Kofaktor, Pengembangan Kofaktor untuk menghitung determinan
suatu Matriks,Adjoint dan Invers Matrik
Kofaktor
Kofaktor Aij dari elemen aij dari sebuah matriks bujur sangkar A adalah (-1)i+j
kali determinan dari matriks matrik bagian (sub matric) yang diperoleh dari A
dengan mencoret baris i dan kolom j
A =
31 32 33
21 22 23
11 12 13
a a a
a a a
a a a
Kofaktor Aij diperoleh dengan mencoret baris I dan kolom j dan mengalikan(-
1)i+j dengan determinan yang dihasilkan, sehingga:
A11= (-1)1+1
32 33
22 23
a a
a a
= (+) a22 a33 - a23 a32
A12= (-1)1+2
31 33
21 23
a a
a a
= (-) a21 a33 - a23 a31
A13= (-1)1+3
31 32
21 22
a a
a a
= (+) a21 a32 - a22 a31
A21= (-1)2+1
32 33
12 13
a a
a a
= (-) a12 a33 – a13 a32
A22= (-1)2+2
31 33
11 13
a a
a a
= (+) a11 a33 – a13 a31
A23= (-1)2+3
31 32
11 12
a a
a a
= (-) a11 a32 – a12 a31
A31= (-1)3+1
22 23
12 13
a a
a a
= (+) a12 a23 – a13 a22
lmjaelani@gmail.com
17
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
A32= (-1)3+2
21 23
11 13
a a
a a
= (-) a11 a23 – a13 a21
A33= (-1)3+3
21 22
11 12
a a
a a
= (+) a11 a22 – a12 a21
Pengembangan Kofaktor untuk menghitung determinan suatu Matriks:
A = a11A11+a12A12+a13A13
= a21A21+a22A22+a23A23
= a31A31+a32A32+a33A33
Adjoint:
Adjoin merupakan dari matrik matrik kofaktor.
Jika kofaktor A = [X] maka adjoint A = [X]’
Invers Matrik:
Simbol invers matrik A = A-1, ini tidak sama dengan 1/A karena Operasi matrik
tidak mengenal istilah pembagian matriks.
Jika AB = BA = I, jika matrik semacam B ada, maka B adalah matriks Invers
dari A. sehingga A A-1 = A-1 A = I
Rumus mencari invers:
A-1 = adj A
A
.
| |
1
Matriks Singular dan Matriks tidak Singular.
Matriks bujur sangkar A dikatakan Singular jika A = 0, tidak singular jika A 0
0. Matriks yang bisa diinvers hanya Matriks tidak Singular.
Contoh:
A =




21 22
11 12
a a
a a
A-1 = adj A
A
.
| |
1
|A| = a11a22 – a12 a21
Adj A =?
lmjaelani@gmail.com
18
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Kofaktor A =




-
-
12 11
22 21
a a
a a
, sehingga Adj A=




-
-
21 11
22 12
a a
a a
A-1 =
11 22 12 21
1
a a - a a




-
-
21 11
22 12
a a
a a
Sifat sifat invers:
(AB)-1 =B-1 A-1
(A-1)-1 = A
(A’) -1 = (A-1)’
(A-1)’A’ = I = A’ (A-1)’
lmjaelani@gmail.com
19
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
Aplikasi Operasi Matrik
Metode Matriks dalam Perataan kwadrat Terkecil
AX =L+V
A =






am am amn
a a a n
a a a n
1 2 ...
: :
21 22 ... 2
11 12 ... 1
X =






3
:
2
1
x
x
x
L =






3
:
2
1
l
l
l
V =






3
:
2
1
v
v
v
ATA X =ATL
X = (ATA)-1 ATL
Contoh:
Solusi:
Persamaan pengamatan
X+ Y =393.65
X =190.40
Y =203.16
Persamaan pengamatan dengan, memasukkan Residual error (v)
X+ Y =393.65+v1
X+ 0 =190.40+v2
0+ Y =203.16+v3
jika di rubah ke bentuk matrik :
X=190.40 Y= 203.16
A B C
393.65
lmjaelani@gmail.com
20
Lalu Muhamad Jaelani
Jurusan Teknik Geomatika
ITS Surabaya
A =






0 1
1 0
1 1
, X=




y
x
, L=






203.16
190.40
393.65
, V=






3
2
1
v
v
v
ATA=




1 0 1
1 1 0






0 1
1 0
1 1
=




1 2
2 1
(ATA)-1= 1/3




-
-
1 2
2 1
, ATL=




596.81
584.05
X = (ATA)-1 ATL
=1/3




-
-
1 2
2 1




596.81
584.05
=




203.19
190.43
Untuk melihat ketelitian, kita bisa menghitung:
Matrik Sisa (V) =AX-L
=






0 1
1 0
1 1




203.19
190.43
=





-
0.03
0.03
0.03
Standar Deviasi = 0= VTV r
VTV =[- 0.03 0..03 0.03]





-
0.03
0.03
0.03
= [0.0027]
= 0 = 0.0027 (3 - 2) = ± 0.052
= x =± 0.052 2 / 3= ± 0.042
= x =± 0.052 2 / 3= ± 0.042

PENYELESAIAN SISTEM PERSAMAAN LINIER DENGAN METODE ELIMINASI GAUSS-JORDAN

TUGAS ALJABAR LINIER
PENYELESAIAN SISTEM PERSAMAAN
LINIER DENGAN METODE ELIMINASI
GAUSS-JORDAN
Disusun oleh :
Rendy Wijaya (535080024)
Janson Hendryli (535080020)
Felisia (535080022)
Fakultas Teknologi Informasi
Universitas Tarumanagara
2009
1
DAFTAR ISI
DAFTAR ISI .................................................................................................................................. 2
BAB I PENDAHULUAN ........................................................................................................... 3
1.1 Latar Belakang ............................................................................................................ 3
1.2 Tujuan ......................................................................................................................... 3
1.3 Manfaat ....................................................................................................................... 3
BAB II PEMBAHASAN .............................................................................................................. 4
2.1 Sistem Persamaan Linier ............................................................................................. 4
2.2 Eliminasi Gauss-Jordan .............................................................................................. 5
2.3 Algoritma Program ...................................................................................................... 9
2.4 Keunggulan dan Kelemahan Program ........................................................................ 11
BAB III PENUTUP ........................................................................................................................ 12
3.1 Kesimpulan ................................................................................................................. 12
3.2 Saran-saran .................................................................................................................. 12
DAFTAR PUSTAKA ...................................................................................................................... 13
LAMPIRAN ................................................................................................................................... 14
2
BAB I
PENDAHULUAN
1.1 Latar Belakang
Laporan dan program ini merupakan tugas mata kuliah Aljabar Linier. Pembuatan laporan ini
merupakan salah satu tugas yang harus dikumpulkan. Topik yang dibahas dalam laporan ini adalah
penyelesaian sistem persamaan linier dengan metode eliminasi Gauss-Jordan.
1.2 Tujuan
Pembuatan laporan ini walau awalnya sebagai tugas mata kuliah Aljabar Linier sebenarnya juga
sangat membantu kelompok untuk memahami metode eliminasi Gauss-Jordan ini lebih baik. Tujuan
pembuatan program, di luar alasan kewajiban (tugas), adalah membantu pengguna lainnya yang ingin
menyelesaikan sistem persamaan linier.
1.3 Manfaat
Manfaat dari laporan serta program yang dibuat kelompok antara lain :
1. Membantu memahami lebih lanjut penyelesaian sistem persamaan linier dengan metode
eliminasi Gauss-Jordan.
2. Membantu pengguna yang ingin menyelesaikan sistem persamaan linier.
3. Membantu mempelajari langkah-langkah yang dilakukan untuk menyelesaikan sistem
persamaan linier.
3
BAB II
PEMBAHASAN
2.1 Sistem Persamaan Linier
Di dalam matematika, sistem persamaan linier adalah kumpulan persamaan-persamaan linier
yang memiliki variabel-variabel yang sama. Bentuk umum dari sistem persamaan linier dengan n
variabel dari m persamaan adalah sebagai berikut :
Pada contoh di atas, x1, x2, ..., xn adalah variabel-variabel yang tidak diketahui nilainya, dan a11,
a12, ..., amn adalah koefisien-koefisien dari sistem persamaan tersebut, sedangkan b1, b2, ..., bm adalah
konstanta.
Contoh dari sistem persamaan linier dengan 3 variabel:
2x – 3y + z = -1
x + 2y – 3z = -4
3x – y + 2z = 7
Pada persamaan di atas, variabel-variabelnya adalah x, y, dan z. Kita dapat mengganti x1, x2, ...,
xn dengan huruf-huruf lainnya untuk membedakan. Dalam contoh di atas, x1, x2, x3 diganti dengan x, y,
dan z secara berurutan.
Sebuah penyelesaian dari sistem persamaan linier adalah kumpulan n angka s1, s2, ..., sn
sedemikian sehingga jika kita mensubsitusi x1 = s1, x2 = s2, ..., xn = sn maka sistem persamaan tersebut
dapat dipenuhi.
Penyelesaian dari sistem persamaan linier pada contoh sebelumnya adalah :
x = 1
y = 2
4
z = 3
karena nilai-nilai tersebut membuat persamaan tersebut menjadi valid.
Ada beberapa metode untuk menyelesaikan sistem persamaan linier, namun yang akan dibahas
secara lanjut di laporan ini adalah metode eliminasi Gauss-Jordan.
2.2 Eliminasi Gauss-Jordan
Salah satu metode yang dapat digunakan untuk menyelesaikan sistem persamaan linier adalah
metode eliminasi Gauss-Jordan. Metode ini diberi nama Gauss-Jordan untuk menghormati Carl
Friedrich 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 pada
bentuk baris eselon (row echelon form).
Selain untuk menyelesaikan sistem persamaan linier, metode eliminasi Gauss-Jordan ini dapat
pula 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.
Contoh mengubah sistem persamaan linier menjadi matriks augmentasi.
→
Pengubahan dilakukan dengan membuat matriks yang elemen-elemennya adalah koefisienkoefisien
dari sistem persamaan linier..
Sedangkan langkah-langkah pada operasi baris elementer yaitu :
1. Menukar posisi dari 2 baris.
Ai ↔ Aj
2. Mengalikan baris dengan sebuah bilangan skalar positif.
Ai = k * Aj
5
3. Menambahkan baris dengan hasil kali skalar dengan baris lainnya.
Ai = Ai + k * Aj
Sebuah matriks sendiri bisa dikatakan sudah memiliki bentuk baris eselon yang tereduksi jika
telah memenuhi syarat-syarat berikut ini.
1. Jika sebuah baris seluruhnya bukan merupakan angka nol, maka angka bukan nol pertama
pada baris tersebut adalah 1 (leading 1).
2. Jika ada baris yang seluruhnya terdiri dari angka nol, maka baris tersebut dikelompokkan
di baris paling bawah dari matriks.
3. Jika ada 2 baris berurutan yang sama-sama tidak terdiri dari angka nol seluruhnya, maka
leading 1 dari baris yang lebih bawah berada di sebelah kanan dari leading 1 yang berada
di baris yang lebih atas.
4. Pada setiap kolom yang memiliki leading 1 di kolomnya, maka nilai yang ada di kolom
tersebut kecuali leading 1 adalah nol.
Sebuah matriks yang hanya memenuhi syarat 1 sampai 3 adalah matriks yang dalam bentuk baris
eselon. Sedangkan jika syarat keempat juga dipenuhi, maka matriks tersebut dapat dikatakan dalam
bentuk baris eselon yang tereduksi.
Berikut beberapa contoh matriks yang sudah dalam bentuk baris eselon tereduksi.
Berikut contoh langkah-langkah yang dilakukan untuk menyelesaikan sistem persamaan linier
dengan metode eliminasi Gauss-Jordan.
Diketahui sistem persamaan linier sebagai berikut.
2x + 4y - 2z = 12
x + 5y + 3z = 8
-3x + y + 3z = -4
1. Ubah sistem persamaan linier di atas menjadi matriks augmentasi.
2 4 -2 12
1 5 3 8
-3 1 3 -4
6
2. Kalikan baris pertama dengan 0.5
1 2 -1 6
1 5 3 8
-3 1 3 -4
3. Tambahkan baris kedua dengan (-1) kali baris pertama
1 2 -1 6
0 3 4 2
-3 1 3 -4
4. Tambahkan baris ketiga dengan 3 kali baris pertama
1 2 -1 6
0 3 4 2
0 7 0 14
5. Kalikan baris kedua dengan 1/3
1 2 -1 6
0 1 0.33 0.67
0 7 0 14
6. Tambahkan baris pertama dengan (-2) kali baris kedua
1 0 -3.67 4.67
0 1 0.33 0.67
0 7 0 14
7. Tambahkan baris ketiga dengan (-7) kali baris kedua
1 0 -3.67 4.67
0 1 0.33 0.67
0 0 -9.33 9.33
7
8. Kalikan baris ketiga dengan -1/9.33
1 0 -3.67 4.67
0 1 0.33 0.67
0 0 1 -1
9. Menambahkan baris pertama dengan 3.67 kali baris ketiga
1 0 0 1
0 1 0.33 0.67
0 0 1 -1
10. Menambahkan baris kedua dengan (-0.33) kali baris ketiga
1 0 0 1
0 1 0 2
0 0 1 -1
Setelah langkah ke-10, maka matriks ini telah dalam bentuk baris eselon tereduksi. Dari matriks
terakhir ini dapat disimpulkan bahwa nilai x = 1, y = 2, dan z = -1.
Contoh di atas diterapkan pada sistem persamaan linier dengan n variabel dan n persamaan.
Contoh berikut adalah cara menyelesaikan sistem persamaan linier dengan n variabel dan m persamaan.
Diketahui sistem persamaan linier sebagai berikut.
2x + 3y - 5z = 7
x + 4y + 8z = 3
1. Ubah menjadi matriks teraugmentasi
2 3 -5 7
1 4 8 3
2. Kalikan baris pertama dengan ½
1 1.5 -2.5 3.5
1 4 8 3
3. Tambahkan baris kedua dengan (-1) kali baris pertama
1 1.5 -2.5 3.5
0 2.5 10.5 -0.5
8
4. Kalikan baris kedua dengan 1/2.5
1 1.5 -2.5 3.5
0 1 4.2 -0.2
5. Tambahkan baris pertama dengan (-1.5) kali baris kedua
1 0 -8.8 3.8
0 1 4.2 -0.2
Penyelesaian untuk persamaan di atas akan menjadi :
x – 8.8z = 3.8
y + 4.2z = -0.2
Ada 3 macam kemungkinan penyelesaian dari sistem persamaan linier, yaitu :
1. Solusi yang unik. Hanya ada satu himpunan nilai (s1, s2, ..., sn) yang memenuhi sistem
persamaan linier tersebut.
2. Tidak ada solusi. Tidak ada himpunan nilai (s1, s2, ..., sn) yang memenuhi sistem
persamaan linier tersebut.
3. Solusi yang ada tidak berhingga. Ada lebih dari satu (tak berhingga) himpunan nilai
(s1, s2, ..., sn) yang memenuhi sistem persamaan linier tersebut.
2.3 Algoritma Program
Program yang dibuat kelompok menggunakan bahasa PHP dan berbasis web. Algoritma yang
digunakan program untuk menghasilkan hasil dari sistem persamaan linier adalah sebagai berikut.
1. Baca nilai n dan m. Nilai n disini melambangkan banyaknya variabel dalam persamaan.
Sedangkan nilai m menunjukkan banyaknya persamaan.
2. Baca nilai-nilai konstanta dari sistem persamaan tersebut, lalu masukkan ke dalam
sebuah array 2 dimensi m*(n+1). Pada langkah ini sistem persamaan linier telah
dimasukkan ke matriks augmentasi.
3. Lakukan proses pada diagonal matriks, dimulai dari posisi baris 1 kolom 1 (posisi kerja).
4. Lakukan untuk setiap baris di dalam matriks
a) Jika di baris tersebut semua berisi angka nol, maka pindahkan ke baris paling bawah.
b) Jika nilai matriks pada posisi kerja adalah nol, maka tukar dengan baris di bawahnya
9
yang tidak nol. Jika baris di bawahnya semua nol, maka pindah ke kolom berikutnya.
Setelah ditukar maka lanjut ke langkah selanjutnya. Sedangkan jika posisi kerja
bukan nol, lakukan langkah selanjutnya.
c) Bagi semua nilai di baris yang sedang dikerjakan dengan nilai pada posisi kerja.
d) Ubah semua nilai di kolom yang sedang dikerjakan menjadi nilai nol (kecuali kolom
pada baris yang sedang dikerjakan), dengan melakukan operasi baris elementer ketiga
pada setiap baris.
5. Tampilkan hasilnya.
6. Selesai.
Algoritma program di atas mungkin sulit dipahami, namun yang dilakukan program adalah sama
dengan cara pengoperasian manual. Perhatikan contoh di bawah ini.
1. Matriks A yang akan diproses adalah sebagai berikut :
2. Dimulai dari diagonal pada baris pertama, yaitu A[1,1], karena sudah bernilai 1 maka kita
akan lanjutkan ke langkah berikutnya yaitu mengubah setiap nilai di kolom pertama
menjadi nol.
3. Ubah A[2,1] menjadi nol dengan mengurangi baris kedua kolom j dengan 2 kali A[1, j].
4. Ubah A[3,1] menjadi nol dengan menambah baris ketiga kolom j dengan A[1, j].
5. Sekarang proses diagonal pada baris kedua. Untuk mengubah nilai A[2,2] menjadi 1,
maka bagi baris 2 dengan angka 3.
10
6. Setelah itu ubah setiap angka di kolom 2 kecuali pada baris kedua menjadi nol. Caranya
pertama-tama dengan menambah baris pertama dengan 2 kali baris kedua.
A[1, j] = A[1, j] + 2 * A[2, j]
7. Setelah itu, kurangi baris ketiga dengan baris kedua.
A[3, j] = A[3, j] – A[2, j]
8. Lanjut ke diagonal selanjutnya, yaitu A[3,3]. Karena A[3,3] sudah bernilai 1 maka
lanjutkan ke proses selanjutnya.
9. Untuk mengubah kolom ketiga baris pertama dan ketiga menjadi nol, maka lakukan
A[1, j] = A[1, j] – 2 * A[3, j]
A[2, j] = A[2, j] + A[3, j]
10. Sekarang matriks A telah berbentuk baris eselon yang tereduksi.
2.4 Keunggulan dan Kelemahan Program
Berikut beberapa keunggulan dari program ini :
1. Mempermudah perhitungan untuk sistem persamaan linier yang memiliki banyak
variabel.
2. Karena menggunakan komputasi dengan bantuan komputer, maka dapat mengurangi
kesalahan dalam perhitungan.
3. Menggunakan teknologi web (PHP) sehingga dapat diakses oleh pengguna tanpa
memperdulikan sistem operasi yang digunakan.
4. Program ini telah online dan dapat diakses di http://www.jansonhendryli.net/gaussjordan
Setiap program pastilah memiliki kekurangan. Berikut beberapa kekurangan dari program ini :
1. Nilai konstanta yang dapat dimasukkan dibatasi paling maksimum adalah 2,147,483,647.
11
2. Pada keadaan tertentu tidak dapat langsung menunjukkan nilai x1, x2, ..., xn .Maksudnya di
sini adalah hasil yang ditunjukkan terkadang masih berbentuk persamaan lainnya.
12
BAB III
PENUTUP
3.1 Kesimpulan
Sistem persamaan linier adalah kumpulan persaman-persamaan linier yang memiliki variabelvariabel
yang sama. Sistem persamaan linier memiliki penyelesaian, yaitu himpunan angka yang akan
memenuhi persamaan-persamaan tersebut jika disubstitusi. Ada 3 macam kemungkinan penyelesaian
dari sistem persamaan linier, yaitu ada solusi yang unik, tidak ada solusi, atau memiliki solusi yang tak
terhingga.
Ada berbagai macam cara untuk menyelesaikan sistem persamaan linier. Salah satunya adalah
dengan metode eliminasi Gauss-Jordan.
Eliminasi Gauss-Jordan menggunakan operasi baris elementer untuk menghasilkan matriks
augmentasi yang berbentuk baris eselon yang tereduksi.
3.2 Saran-saran
Program yang dibuat diharapkan dapat berguna bagi orang lain. Namun program yang berhasil
dibuat tetap memiliki beberapa kelemahan. Maka diharapkan program tersebut nantinya dapat
diperbaiki lebih lanjut sehingga dapat menjadi lebih baik lagi.
Kelompok terutama kesulitan untuk mencari bahan dari buku-buku atau website internet yang
membahas mengenai penyelesaian sistem persamaan linier pada n variabel dari m persamaan. Walau
akhirnya berhasil mendapatkan bahan yang diperlukan, namun tak banyak yang membahas. Sumber
terutama hanya membahas penyelesaian sistem persamaan linier pada n variabel dan n persamaan.
Sebaiknya sumber-sumber juga membahas mengenai penyelesaian sistem persamaan linier pada n
variabel dari m persamaan karena dapat juga dilakukan.
13
DAFTAR PUSTAKA
Anton, Howard dan Chris Rorres. 2005. Elementary Linear Algebra – Applications Version. John
Willey & Sons, Inc.
http://ceee.rice.edu/Books/CS/chapter2/linear44.html
http://en.wikipedia.org
http://mathrefresher.blogspot.com
http://www2.krellinst.org/AiS/textbook/unit2/example_projects/starter/math/matrix/gauss.html
14
LAMPIRAN
File index.php
<html>
<head>
<style type="text/css">
.indice { font-size: 9px; vertical-align: sub;}
</style>
<title>Gauss-Jordan</title>
<?php
$indexname = "index.php";
function formatInt($nn) {
if ($nn == 0) return abs($nn);
else return $nn;
}
$n = 0;
$m = 0;
$status = $_POST['status1'];
$status2 = $_POST['status2'];
if (($status == "tampil_tabel") || ($status2 == "hitung")) {
$n = $_POST['ordo'];
$m = $_POST['ordo2'];
}
else {
$fp = fopen("data.txt", "w");
fclose($fp);
}
if ($status2 == "hitung") {
$count_error = 0;
$char_exists = 0;
$isOK = false;
$min_min = false;
for ($i=0; $i<$m; $i++)
for ($j=0; $j<=$n; $j++) {
$min_exists = 0;
$n1 = $i+1;
$n2 = $j+1;
$idx = "x".$n1."-".$n2;
$k = $_POST[$idx];
if ($k != "") {
for ($c=0; $c<strlen($k); $c++) {
if ($k[$c] == '-') {
$min_exists++;
if ($c != 0) $min_exists++;
15
continue;
}
if ((ord($k[$c]) < ord('0')) || (ord($k[$c]) > ord('9')))
$char_exists++;
}
if ($min_exists > 1) {
echo "<script language='JavaScript'>”;
echo “alert('Anda salah memasukkan input!');</script>";
$min_min = true;
}
else if ($char_exists == 0) $arr[$i][$j] = formatInt((int) $k);
}
else $count_error++;
}
if ($count_error == $m*($n+1)) {
echo "<script language='JavaScript'>”;
echo “alert('Anda tidak memasukkan nilai apapun!');</script>";
}
else if ($count_error != 0) {
echo "<script language='JavaScript'>”;
echo “alert('Nilai-nilai yang anda masukkan tidak lengkap!');</script>";
}
else if ($char_exists > 0) {
echo "<script language='JavaScript'>”;
echo “alert('Anda memasukkan input yang bukan berupa bilangan!');</script>";
}
else if (!$min_min) $isOK = true;
}
?>
</head>
<body>
<center><h1><font color="blue">
Penyelesaian SPL dengan Eliminasi Gauss-Jordan
</font></h1></center>
<blockquote>
<hr><br>
Script ini digunakan untuk menghitung nilai-nilai variabel dalam
Sistem Persamaan Linear. Anda dapat memasukkan jumlah variabel pada sistem
persamaan linear yang ingin dicari penyelesaiannya dan juga banyaknya
persamaan, kemudian tekan tombol <b>proses</b>.
<br><br>
<form action=<?php echo $indexname; ?> method="post" name="form1">
<input type="hidden" name="status1" value="tampil_tabel">
<strong>Menghitung sistem persamaan linear dengan </strong>
<input type="text" name="ordo" size="3" value= <?php echo $n; ?> >
<strong> variabel dari </strong>
<input type="text" name="ordo2" size="3" value= <?php echo $m; ?> >
<strong> persamaan</strong>
16
<input type="submit" name="submit1" value="Proses">
</form>
<?php
if (($status == "tampil_tabel") || ($status2 == "hitung")) {
if ($n <= 0 || $m <= 0) {
echo "<script language='JavaScript'>”;
echo “alert('Masukkan bilangan positif!');</script>";
}
else if ($n > 1000 || $m > 1000) {
echo "<script language='JavaScript'>”;
echo “alert('Bilangan yang anda masukkan terlalu besar!');</script>";
}
else {
echo "Masukkan nilai-nilai konstanta pada sistem persamaan linear”;
echo “ yang ingin anda hitung. Lalu tekan tombol <b>hitung</b>.<br>";
echo "<form action=$indexname method='post' name='form2'>";
echo "<table bgcolor='lightblue'>";
for ($i=0; $i<$m; $i++) {
$colspan = $n + 1;
$k = $i + 1;
echo "<tr><td colspan='$colspan'>Persamaan $k</td></tr>";
echo "<tr>";
for ($j=0; $j<=$n; $j++) {
echo "<td>";
$n1 = $i+1;
$n2 = $j+1;
$name = "x".$n1."-".$n2;
echo "<input type='text' name=$name “;
echo “value='{$arr[$i][$j]}' size='3'>";
if ($j != $n) echo "x<span class=indice>$n2</span>";
echo "&nbsp;&nbsp;";
if ($j == $n - 1) echo " = ";
else if ($j == $n) echo "";
else echo " + ";
echo "</td>";
}
echo "</tr>";
echo "<tr><td>&nbsp;</td></tr>";
}
echo "</table>";
echo "<input type='hidden' name='ordo' value=$n>";
echo "<input type='hidden' name='ordo2' value=$m>";
echo "<input type='hidden' name='status2' value='hitung'>";
echo "<input type='submit' name='submit2' value='Hitung'>";
echo "</form>";
}
}
if ($status2 == "hitung" && $isOK) {
17
$noSol = false;
$fp = fopen("data.txt", "w");
fputs($fp, "$n\n$m\n");
fputs($fp, "1\n");
for ($ii=0; $ii<$m; $ii++)
for ($jj=0; $jj<=$n; $jj++)
fputs($fp, "{$arr[$ii][$jj]}\n");
for ($i=0; ($i<$m)&&(!$noSol); $i++) {
$nZero = 0;
for ($j=0; $j<=$n; $j++)
if ($arr[$i][$j] == 0.0) $nZero++;
if ($nZero == $n+1) {
$otherZero = true;
for ($j1=$i+1; (($j1<$m)&&$otherZero); $j1++)
for ($j2=0; $j2<=$n; $j2++)
if ($arr[$j1][$j2] != 0.0) {
$otherZero = false;
break;
}
if (!$otherZero) {
for ($j1=$i+1; $j1<$m; $j1++) {
for ($j2=0; $j2<=$n; $j2++) {
$arr[$j1-1][$j2] = $arr[$j1][$j2];
}
}
for ($j2=0; $j2<=$n; $j2++) $arr[$m-1][$j2] = 0.0;
fputs($fp, "5\n$i\n");
for ($ii=0; $ii<$m; $ii++)
for ($jj=0; $jj<=$n; $jj++)
fputs($fp, "{$arr[$ii][$jj]}\n");
}
}
$k1 = $i;
$k2 = $i;
if ($arr[$k1][$k2] == 0.0) {
while (($arr[$k1][$k2] == 0.0) && ($k2 < $n)) {
if ($k1 == $m) {
$k1 = $i;
$k2++;
}
else ++$k1;
}
18
if (($k1 != $i) && !($k2 == $n)) {
if ($arr[$k1][$k2] != 0.0) {
for ($j=0; $j<=$n; $j++) {
$buff = $arr[$k1][$j];
$arr[$k1][$j] = $arr[$i][$j];
$arr[$i][$j] = $buff;
}
fputs($fp, "2\n$i\n$k1\n");
for ($ii=0; $ii<$m; $ii++)
for ($jj=0; $jj<=$n; $jj++)
fputs($fp, "{$arr[$ii][$jj]}\n");
}
else $noSol = true;
}
}
$nZero = 0;
for ($j=0; $j<=$n; $j++)
if ($arr[$i][$j] == 0.0) $nZero++;
if (!$noSol && ($nZero != $n+1)) {
$divider = $arr[$i][$k2];
if (($divider != 1) && ($divider != 0)) {
for ($j=0; $j<=$n; $j++)
$arr[$i][$j] = formatInt($arr[$i][$j] * (1.0 / $divider));
fputs($fp, "3\n$i\n$divider\n");
for ($ii=0; $ii<$m; $ii++)
for ($jj=0; $jj<=$n; $jj++)
fputs($fp, "{$arr[$ii][$jj]}\n");
}
for ($j=0; $j<$m; $j++) {
if (($j != $i) && ($arr[$j][$k2] != 0)) {
$operand = -1.0 * $arr[$j][$k2];
for ($k=0; $k<=$n; $k++)
$arr[$j][$k] = formatInt($arr[$j][$k] + (1.0 *
$operand * $arr[$k1][$k]));
fputs($fp, "4\n$j\n$operand\n$i\n");
for ($ii=0; $ii<$m; $ii++)
for ($jj=0; $jj<=$n; $jj++)
fputs($fp, "{$arr[$ii][$jj]}\n");
}
}
}
}
fclose($fp);
}
19
?>
<br><br>
<?php
if ($status2 == "hitung" && $isOK) {
echo "<strong>Penyelesaian dari persamaan diatas :</strong>";
echo "<table bgcolor='lightgreen' border='4' width='30%'>";
$solExists = false;
$nZero = 0;
for ($i=0; $i<$m; $i++)
for ($j=0; $j<$n; $j++)
if ($arr[$i][$j] == 0) $nZero++;
if ($nZero != $m*$n) {
$solExists = true;
for ($i=0; $i<$m; $i++) {
$nZero = 0;
for ($j=0; $j<$n; $j++)
if ($arr[$i][$j] == 0) $nZero++;
if ($nZero == $n) continue;
$n1 = $i+1;
echo "<tr>";
echo "<td><center><strong>";
$isFirst = true;
for ($j=0; $j<$n; $j++) {
$value = abs($arr[$i][$j]);
$n1 = $j+1;
if ($value != 0) {
if (!$isFirst)
if ($arr[$i][$j] >= 0) echo " + ";
else echo " - ";
$isFirst = false;
if ($value != 1) echo $value;
echo "x<span class=indice>$n1</span>";
}
}
echo "</strong></center></td>";
echo "<td><center><strong>{$arr[$i][$n]}</strong></center></td>";
echo "</tr>";
}
}
echo "</table>";
if (!$solExists) {
echo "<font color='red'>”;
echo “<strong>Persamaan ini tidak dapat diselesaikan";
echo " (tidak memiliki solusi atau memiliki solusi yang “;
echo “tak terhingga).</strong></font>";
}
echo "<br><br>Untuk mengetahui langkah-langkah yang dilakukan “;
echo “<a href='lihat.php'>lihat hasil selengkapnya</a>";
20
}
?>
</blockquote>
</body>
</html>
File lihat.php
<html>
<head>
<title>Urutan Langkah Penyelesaian</title>
<style type="text/css">
.indice { font-size: 9px; vertical-align: sub;}
</style>
</head>
<body>
<blockquote>
<h1 align="center">.:: Urutan Langkah Penyelesaian ::.</h1>
<hr>
<?php
$fp = fopen("data.txt", "r") or die("<h2><font color='red'>Tidak ada penyelesaian
yang dapat ditampilkan.</font></h2>");
$n = trim(fgets($fp, 1024));
$m = trim(fgets($fp, 1024));
$color1 = 'yellow';
$color2 = 'lightgreen';
while (!feof($fp)) {
$p = trim(fgets($fp, 1024));
if ($p == 1) echo "<h2>State awal dari matrix yang akan diproses</h2>";
else {
$row = (int) trim(fgets($fp, 1024)) + 1;
if ($p == 5) {
echo "<h2>Menurunkan baris ke-$row ke baris paling bawah.</h2>";
}
else {
$pivot = trim(fgets($fp, 1024));
if ($p == 2) {
$pivot += 1;
echo "<h2>Baris ke-$row ditukar dengan baris ke-$pivot</h2>";
}
else if ($p == 3) {
echo "<h2>Baris ke-$row dikalikan dengan ";
if ($pivot < 0) echo "-";
$pivot = abs($pivot);
if ($pivot == 1) echo "1";
else echo "1/$pivot";
echo "</h2>";
}
21
else if ($p == 4) {
$row2 = (int) trim(fgets($fp, 1024)) + 1;
echo "<h2>Menambah baris ke-$row dengan $pivot kali baris ke-$row2</h2>";
}
else break;
}
}
echo "<center>";
echo "<table bgcolor='lightblue' border='1' cellpadding='10'>";
echo "<tr>";
for ($j=0; $j<$n; $j++) {
$k = $j + 1;
echo "<th><center><b>x<span class=indice>$k</span></b></center></th>";
}
echo "<th><center><b>=</b></center></th>";
echo "</tr>";
for ($i=0; $i<$m; $i++) {
if ($p == 2) {
if ($i+1 == $row) echo "<tr bgcolor=$color1>";
else if ($i+1 == $pivot) echo "<tr bgcolor=$color2>";
}
else if ($p == 3) {
if ($i+1 == $row) echo "<tr bgcolor=$color1>";
}
else if ($p == 4) {
if ($i+1 == $row) echo "<tr bgcolor=$color1>";
else if ($i+1 == $row2) echo "<tr bgcolor=$color2>";
}
else if ($p == 5) {
if ($i == $m-1) echo "<tr bgcolor=$color1>";
}
else echo "<tr>";
for ($j=0; $j<=$n; $j++) {
$st = trim(fgets($fp, 1024));
echo "<td><center>$st</center></td>";
}
echo "</tr>";
}
echo "</table>";
echo "<img src='img/down-arrow.gif'>";
echo "</center>";
}
echo "<br><center><img src='img/end-sign.jpg'></center>";
fclose($fp);
?>
<hr>
<center>
22
<input type=button value="Back" onClick="history.go(-1)">
</center>
</blockquote>
</body>
</html>
23