P1 : x1 + x2 + 3x4 = 4
P2 : 2x1 + x2 − x3 + x4 = 1
P3 : 3x1 − x2 − x3 + 2x4 = -3
P4 : −x1 + 2x2 + 3x3 − x4 = 4
Problem dari sistem persamaan linear adalah bagaimana mencari nilai pengganti bagi
variabel x1 , x2 , x3 , dan x4 sehingga semua persamaan diatas menjadi benar. Langkah per-
tama untuk menyelesaikan problem tersebut adalah dengan melakukan penyederhanaan
sistem persamaan linear. Ada banyak jalan untuk mendapatkan bentuk yang lebih seder-
hana, namun masalahnya kita ingin mendapatkan sebuah algoritma program yang nantinya
bisa berjalan di komputer, sedemikian rupa sehingga apapun persamaannya, bisa diseder-
hanakan oleh komputer. Kita akan berpatokan pada tiga buah operasi untuk menyeder-
hanakan sistem persamaan linear di atas, yaitu
• Persamaan Pi dan Pj dapat bertukar posisi. Simbol operasi ini adalah (Pi ) ↔ (Pj ).
1
Maka, problem dari sistem persamaan linear di atas akan diselesaikan dengan langkah-
langkah berikut ini:
P1 : x1 + x2 + 3x4 = 4,
P2 : −x2 − x3 − 5x4 = −7,
P3 : −4x2 − x3 − 7x4 = −15,
P4 : 3x2 + 3x3 + 2x4 = 8
P1 : x1 + x2 + 3x4 = 4,
P2 : −x2 − x3 − 5x4 = −7,
P3 : 3x3 + 13x4 = 13,
P4 : −13x4 = −13
Bentuk akhir dari keempat persamaan di atas, dikenal sebagai bentuk triangular.
Sampai dengan langkah ke-2 ini, kita berhasil mendapatkan sistem persamaan lin-
ear yang lebih sederhana. Apa yang dimaksud dengan sederhana dalam konteks
ini? Suatu sistem persamaan linear dikatakan sederhana bila kita bisa mendapatkan
seluruh nilai pengganti variabelnya dengan mudah atau dengan usaha yang tidak
memakan waktu lama. Sekali kita mendapatkan nilai pengganti bagi variabel x4 ,
maka x3 , x2 dan x1 akan diperoleh dengan mudah dan cepat, sebagaimana yang
dijelaskan pada langkah berikuttnya.
2
diikuti x2 , dan akhirnya x1 .
P4 : x4 = 1,
1 1
P3 : x3 = (13 − 13x4 ) = (13 − 13) = 0,
3 3
P2 : x2 = −(−7 + 5x4 + x3 ) = −(−7 + 5 + 0) = 2,
P1 : x1 = 4 − 3x4 − x2 = 4 − 3 − 2 = −1
OK, mudah-mudahan ngerti ya... Kalau belum paham, coba diulangi bacanya sekali lagi.
Baiklah sekarang kita beralih kecontoh yang lain.
Contoh kedua
Misalnya ada sistem persamaan linear, terdiri dari empat buah persamaan yaitu P1 , P2 ,
P3 , dan P4 seperti berikut ini:
P1 : x1 − x2 + 2x3 − x4 = -8
P2 : 2x1 − 2x2 + 3x3 − 3x4 = -20
P3 : x1 + x2 + x3 = -2
P4 : x1 − x2 + 4x3 + 3x4 = 4
Seperti contoh pertama, solusi sistem persamaan linear di atas akan dicari dengan langkah-
langkah berikut ini:
P1 : x1 − x2 + 2x3 − x4 = −8,
P2 : −x3 − x4 = −4,
P3 : 2x2 − x3 + x4 = 6,
P4 : 2x3 + 4x4 = 12
3
Perhatikan persamaan P2 ! Akibat dari langkah yang pertama tadi, x2 hilang dari
persamaan P2 . Kondisi ini bisa menggagalkan proses triangularisasi. Untuk itu
posisi P2 mesti ditukar dengan persamaan yang berada dibawahnya, yaitu P3 atau
P4 . Supaya proses triangularisasi berjalan lancar, maka yang paling cocok adalah
ditukar dengan P3 .
P1 : x1 − x2 + 2x3 − x4 = −8,
P2 : 2x2 − x3 + x4 = 6,
P3 : −x3 − x4 = −4,
P4 : 2x3 + 4x4 = 12
P1 : x1 − x2 + 2x3 − x4 = −8,
P2 : 2x2 − x3 + x4 = 6,
P3 : −x3 − x4 = −4,
P4 : 2x4 = 4
Berdasarkan kedua contoh di atas, untuk mendapatkan solusi sistem persamaan linear,
diperlukan operasi triangularisasi dan proses backward-substitution. Kata backward-
substitution kalau diterjemahkan kedalam bahasa indonesia, menjadi substitusi-mundur.
4
Gabungan proses triangularisasi dan substitusi-mundur untuk menyelesaikan sistem per-
samaan linear dikenal sebagai metode eliminasi gauss.
Sementara, kalau dinyatakan dalam bentuk operasi matrik, maka akan seperti ini:
a11 a12 . . . a1n x1 b1
a21 a22 . . . a2n x2 b2
. = . (5)
. .. ..
.. . .
. . .
.
an1 an2 . . . ann xn bn
5
Dalam mencari solusi suatu sistem persamaan linear, seringkali bentuk operasi matrik
di atas dimanipulasi menjadi matrik augment, yaitu suatu matrik yang berukuran n x
(n + 1) seperti berikut ini:
a a . . . a1n | b1 a11 a12 . . . a1n | a1,n+1
11 12
a21 a22 . . . a2n | b2 a21 a22 . . . a2n | a2,n+1
= (6)
. .. .. . .. .. .. ..
.. | ..
. .
. . . | .
an1 an2 . . . ann | bn an1 an2 . . . ann | an,n+1
Berdasarkan contoh pertama yang ada dihalaman depan catatan ini, saya akan tunjukkan
proses triangularisasi dan substitusi-mundur dalam operasi matrik terhadap sistem per-
samaan linear yang terdiri dari empat persamaan matematika, yaitu (silakan lihat kembali
contoh pertama):
1 1 0 3 x1 4
2 1 −1 1 x2 1
x = −3
3 −1 −1 2
3
−1 2 3 −1 x4 4
Kemudian kita lakukan operasi triangularisai terhadap matrik augment, dimulai dari kolom
pertama, yaitu
1 1 0 3 | 4
0 −1 −1 −5 | −7
0 −4 −1 −7 | −15
0 3 3 2 | 8
6
Sebelum dilanjutkan ke substitusi-mundur, saya ingin menegaskan peranan angka-angka
indeks dari masing-masing elemen matrik augment tersebut. Silakan perhatikan posisi
masing-masing elemen berikut ini:
1 1 0 3 | 4 a11 a12 a13 a14 | a15
0 −1 −1 −5 | −7
→ a21 a22 a23 a24 | a25
0 0
3 13 | 13
31 a32 a33 a34 | a35
a
0 0 0 −13 | −13 a41 a42 a43 a44 | a45
Dengan memperhatikan angka-angka indeks pada matrik augment di atas, kita akan men-
coba membuat rumusan proses substitusi-mundur untuk mendapatkan seluruh nilai peng-
ganti variabel x. Dimulai dari x4 ,
a45 −13
x4 = = =1
a44 −13
ini dapat dinyatakan dalam rumus umum, yaitu
an,n+1
xn =
ann
lalu dilanjutkan dengan x3 , x2 , dan x1 .
a35 − a34 x4 13 − [(13)(1)]
x3 = = =0
a33 3
a25 − (a23 x3 + a24 x4 ) (−7) − [(−1)(0) + (−5)(1)]
x2 = = =2
a22 (−1)
a15 − (a12 x2 + a13 x3 + a14 x4 ) 4 − [(1)(2) + (0)(0) + (3)(1)]
x1 = = = −1
a11 1
ini juga dapat dinyatakan dalam rumus umum yaitu:
ai,n+1 − nj=i+1 aij xj
P
xi =
aii
Proses trangularisasi dan substitusi-mundur dibakukan menjadi algoritma metode elimi-
nasi gauss yang dapat diterapkan dalam berbagai bahasa pemrograman komputer, misal-
nya fortran, C, java, pascal, matlab, dan lain-lain.
7
Algoritma dasar metode eliminasi gauss, adalah sebagai berikut:
1. Ubahlah sistem persamaan linear tersebut menjadi matrik augment, yaitu suatu
matrik yang berukuran n x (n + 1) seperti berikut ini:
a a . . . a1n | b1 a a . . . a1n | a1,n+1
11 12 11 12
a21 a22 . . . a2n | b2 a21 a22 . . . a2n | a2,n+1
= (7)
. . .
.. .. .. | .. ...
. .. .. ..
. . | .
an1 an2 . . . ann | bn an1 an2 . . . ann | an,n+1
Jelas terlihat bahwa elemen-elemen yang menempati kolom terakhir matrik aug-
ment adalah nilai dari bi ; yaitu ai,n+1 = bi dimana i = 1, 2, ..., n.
8
5. Lakukanlah proses substitusi-mundur untuk memperoleh xn−1 , xn−2 , ..., x2 , x1 den-
gan cara: Pn
ai,n+1 − j=i+1 aij xj
xi = (11)
aii
dimana i = n − 1, n − 2, ..., 2, 1.
Demikianlan algoritma dasar metode eliminasi gauss. Selanjutnya algoritma dasar terse-
but perlu dirinci lagi sebelum dapat diterjemahkan kedalam bahasa pemrograman kom-
puter.
Algoritma metode eliminasi gauss untuk menyelesaikan n x n sistem persamaan lin-
ear.
OUTPUT: solusi x1 , x2 , x3 , ..., xn atau pesan kesalahan yang mengatakan bahwa sistem
persamaan linear tidak memiliki solusi yang unik.
9
dalam kolom yang sama dengan kolom tempat elemen diagonal tersebut be-
rada. Jadi saat proses ini berlangsung, integer i (indeks dari kolom) dibuat
konstan, sementara integer p (indeks dari baris) bergerak dari p = i sampai
p = n. Bila ternyata setelah mencapai elemen paling bawah dalam kolom
tersebut, yaitu saat p = n tetap didapat nilai api = 0, maka sebuah pesan
dimunculkan: sistem persamaan linear tidak memiliki solusi yang unik. Lalu
program berakhir: STOP.
• Langkah 4: Namun jika sebelum integer p mencapai nilai p = n sudah diper-
oleh elemen yang tidak nol (api 6= 0), maka bisa dipastikan p 6= i. Jika p 6= i
maka lakukan proses pertukaran (Pp ) ↔ (Pi ).
• Langkah 5: Untuk j = i + 1, .., n, lakukan Langkah 6 dan Langkah 7.
• Langkah 6: Tentukan mji ,
aji
mji =
aii
• Langkah 7: Lakukan proses triangularisasi,
Saya telah membuat program sederhana dalam fortran untuk mewujudkan algoritma
eliminasi gauss. Saya berasumsi bahwa anda sudah menguasai dasar-dasar pemrogra-
man dalam fortran. Program ini sudah dicoba di-compile dengan fortran77 under Linux
Debian dan visual-fortran under windows-XP.
10
Langkah-langkah yang tercantum pada program ini disesuaikan dengan langkah-langkah
yang tertulis di atas. Dalam program ini, ukuran maksimum matrik augment adalah 10 x
11, untuk mencari 10 variabel yang tidak diketahui. Jika anda bermaksud memperbesar
atau memperkecil ukuran matrik augment, silakan sesuaikan angka ukuran matrik yang
anda inginkan pada statemen pertama dari program ini, yaitu statemen DIMENSION.
Inilah programnya,
11
100 IF (ABS(A(P,I)).GE.1.0E-20 .OR. P.GT.N) GOTO 200
P = P+1
GOTO 100
200 IF(P.EQ.N+1)THEN
C MENAMPILKAN PESAN TIDAK UNIK
WRITE(*,5)
GOTO 400
END IF
C LANGKAH 4: PROSES TUKAR POSISI
IF(P.NE.I) THEN
DO 20 JJ=1,M
C = A(I,JJ)
A(I,JJ) = A(P,JJ)
A(P,JJ) = C
20 CONTINUE
END IF
C LANGKAH 5: PERSIAPAN PROSES TRIANGULARISASI
JJ = I+1
DO 30 J=JJ,N
C LANGKAH 6: TENTUKAN MJI
MJI = A(J,I)/A(I,I)
C LANGKAH 7: MELAKUKAN PROSES TRIANGULARISASI
DO 40 K=JJ,M
A(J,K) = A(J,K)-MJI*A(I,K)
40 CONTINUE
A(J,I) = 0
30 CONTINUE
10 CONTINUE
C MENAMPILKAN HASIL TRIANGULARISASI
WRITE (*,’(1X,A)’) ’HASIL TRIANGULARISASI:’
DO 120 I = 1,N
WRITE (*,’(1X,5(F14.8))’) (A(I,J),J=1,M)
120 CONTINUE
C LANGKAH 8: MEMERIKSA ELEMEN A(N,N)
12
IF(ABS(A(N,N)).LT.1.0E-20) THEN
C MENAMPILKAN PESAN TIDAK UNIK
WRITE(*,5)
GOTO 400
END IF
C LANGKAH 9: MENGHITUNG X(N)
X(N) = A(N,N+1)/A(N,N)
C LANGKAH 10: PROSES SUBSTITUSI MUNDUR
L = N-1
DO 15 K=1,L
I = L-K+1
JJ = I+1
SUM = 0.0
DO 16 KK=JJ,N
SUM = SUM+A(I,KK)*X(KK)
16 CONTINUE
X(I) = (A(I,N+1)-SUM)/A(I,I)
15 CONTINUE
C LANGKAH 11: MENAMPILKAN HASIL PERHITUNGAN
WRITE (*,*)
WRITE (*,7)
DO 18 I = 1,N
WRITE (*,’(1X,A,I2,A,F14.8)’) ’X(’,I,’) = ’,X(I)
18 CONTINUE
400 STOP
Silakan anda coba aplikasikan program di atas dengan berbagai sistem persamaan lin-
ear yang pernah dijadikan contoh pada catatan terdahulu. Saya cukupkan sementara
sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau
didiskusikan, silakan hubungi saya melalui email yang tercantum di halaman paling de-
pan.
13