Anda di halaman 1dari 4

Modul 1- Pengenalan MATLAB untuk Komputasi Numerik

Solusi SPL dengan Metode Gauss-Jordan


Priyanka Kusuma Wardhani (081117029)
Dosen: Akif Rahmatillah, ST, MT.
Tanggal Percobaan: 13 Maret 2014
Praktikum Komputasi Biomedis T3
Laboratorium Komputer Departemen Fisika Universitas Airlangga
Abstrak
Penggunaan MATLAB sebagai aplikasi komputasi
numerik sangat diperlukan. Sebagai dasar, pada
praktikum ini dilakukan pengenalan software
MATLAB dengan perhitungan sederhana.
Pengenalan dasar MATLAB dilakukan dengan
membuat fungsi dan perhitungan solusi SPL
menggunakan metode Gauss dan Gauss-Jordan.
Pada akhir praktikum, praktikan membuat suau
fungsi universal metode Gauss-Jordan untuk
penyelesaian SPL matriks ordo 3x3.
Kata kunci: matlab, komputasi, sistem persamaan
linier, gauss-jordan
1. Pendahuluan
Implementasi numerik dilakukan dengan
menggunakan MATLAB untuk komputasi
teknik. Pengenalan MATLAB sangat diperlukan
sebagai basis praktikan untuk penyelesaian
masalah komputasi selanjutnya. Pengenalan
dasar MATLAB seperti interface MATLAB,
pembuatan script dasar, fungsi, dan beberapa
hal dasar lain cukup menunjang untuk dasar
komputasi numerik.

2. Studi Pustaka
2.1 Komputasi Numerik
Komputasi numerik merupakan suatu
pendekatan penyelesaian masalah
matematika dengan menggunakan beberapa
metode numerik. Metode numerik adalah
suatu metode untuk menyelesaikan masalah-
masalah matematika dengan menggunakan
sekumpulan operasi aritmetika sederhana
dan operasi logika pada sekumpulan
bilangan atau data numerik yang diberikan
[2].



2.2 MATLAB
MATLAB, singkatan dari matrix
laboratory, adalah bahasa pemrograman
dengan performa tinggi untuk komputasi
teknis. MATLAB merupakan sistem
interaktif dengan elemen basis data berupa
array. Artinya setiap data yang dimasukkan
pada MATLAB diinterpretasikan sebagai
array.[1]

Gambar 1. Tampilan awal MATLAB

2.3 Sistem Persamaan Linier
Bidang matematika terapan dan komputasi
banyak menghasilkan masalah yang
diselesaikan dalam sistem persamaan linier
(SPL). Dalam notasi matriks-vektor, SPL
mempunyai bentuk umum:
Ax=b
Dimana A adalah matriks koefisien
berukuran mxn, b vektor berukuran mx1.
Vektor x berukuran nx1 merupakan variabel
tak diketahui yang akan ditentukan.[1]
2.4 Metode Eliminasi Gauss Jordan
Merupakan sebuah metode untuk
menyelesaikan sistem persamaan linear.
Metode ini dilakukan dengan mengeliminasi
matriks augmented menjadi bentuk eselon
baris dengan cara operasi baris elementer
(OBE).[3]

3. Metodologi
Praktikum ini menggunakan software
MATLAB 2008b dan dilakukan di
Laboratorium Komputer Departemen Fisika
Universitas Airlangga. Tahapan praktikum:
a. Pengenalan MATLAB
b. Latihan membuat fungsi sederhana
c. Menyelesaikan SPL dengan menggunakan
metode Gauss dan metode Gauss Jordan
secara manual
d. Tugas membuat fungsi metode Gauss
Jordan
Step mengerjakan operasi metode Gauss-Jordan
seperti pada flowchart lampiran 1.

4. Hasil dan Pembahasan
4.1 Script MATLAB
Script MATLAB fungsi Gauss-Jordan ini
praktikan modifikasi dari script pada
sumber [4]. Penjelasan setiap langkah
dijelaskan dalam comment.
function [x]=gauss_jordan3(A,b)
%A=matriks persamaan ruas kiri. Matriks ini
berordo 3x3
%b=matriks persamaan ruas kanan. Berupa vektor
3x1
%x=hasil eliminasi metode Gauss-Jordan: x,y,z

Aa=[A,b]; %matriks augmented dari matriks A dan
vektor b
for i=1:3
[Aa(i:3,i:4)]=pivot(Aa(i:3,i:4)); %proses
pivot --pertukaran rows
Aa(1:3,i:4)=step(Aa(1:3,i:4),i); %proses
eliminasi
end
x=Aa(:,4); %hasil diambil dari kolom 4 saja
end

%-----------------------------------------

function A1=step(A,i)
A1=A; %pembentukan matriks baru
s=A1(i,1); %nilai elemen pada matriks A kolom
ke satu pada baris i
A1(i,:) = A(i,:)/s; %nilai elemen baru matriks
A1 baris 1, hasil dari pembagian elemen matriks
A1 baris 1 dan nilai s
k=[[1:i-1],[i+1:3]]; %penentuan baris baru
untuk perhitungan masing2 kolom
for j=k
s=A1(j,1);
A1(j,:)=A1(j,:)-A1(i,:)*s; %proses
eliminasi
end
end

%-----------------------------------------

function [A1]=pivot(A)
A1=A;
if A1(1,1) == 0
check = logical(1); %mengecek apakah nilai
elemen baris 1 kolom 1=0
i = 1;
while check %perintah mengecek banyaknya
elemen pada matriks
i = i + 1;
A(i,1) ~= 0 & check %melakukan operasi
ketika nilai elemen tidak sama dengan nol
check = logical(0);
b=A1(i,:); % operasi selanjutnya
merubah row 1 dan i
A1(i,:)=A1(1,:);
A1(1,:)=b;
end
end
end
4.2 Hasil
SPL yang diselesaikan menggunakan
metode Gauss Jordan:
2x+3y-z=5 x+2y+z=2
4x+4y-3z=3 3x+6y=9
-2x+3y-z=1 2x+8y+4=6

Hasil eliminasi:

4.3 Pembahasan
Pembuatan fungsi pada MATLAB
dilakukan dengan menuliskan script pada
mfile. Pembuatan fungsi diawali dengen
menuliskan function kemudian diikuti
dengan variabel dan nama fungsi.
function [x]=gauss_jordan3(A,b)

Fungsi ini bisa dipanggil pada command
window dengan menuliskan nama fungsinya
dan variabel yang bersesuaian. Nama
variabel ketika pemanggilan pada command
window tidak harus sama namun harus
bersesuaian.
Untuk penyelesaian SPL dengan metode
Gauss-Jordan, matriks A harus diaugmented
dengan vektor b. Kemudian dilakukan
pertukaran baris (proses pivot) dan
eliminasi.
Pada fungsi yang praktikan buat, terdapat
blok fungsi dalam fungsi. Blok fungsi ini
berguna untuk memudahkan perhitungan
pada main function. Blok fungsi ini terdiri
dari fungsi pivot dan fungsi step. Fungsi
pivot ini digunakan untuk melakukan
pengecekan nilai elemen matriks dan
pertukaran baris. Sedangkan fungsi step
diperlukan untuk melakukan eliminasi.
Pemanggilan fungsi di dalam fungsi sama
dengan pemanggilan fungsi pada command
window:
[Aa(i:3,i:4)]=pivot(Aa(i:3,i:4));
Aa(1:3,i:4)=step(Aa(1:3,i:4),i);

Namun, blok fungsi step maupun fungsi
pivot tidak bisa dipanggil dalam command
window. User hanya bisa memanggil fungsi
utama saja:

[x]=gauss_jordan3(A,b)
5. Kesimpulan
Penyelesaian SPL bisa menggunakan metode
Gauss-Jordan dan bisa menggunakan fungsi
pada MATLAB. Hasil penyelesaian persamaan
2x+3y-z=5
4x+4y-3z=3
-2x+3y-z=1
adalah x=1, y=2, dan z=3. Sedangkan hasil
untuk persamaan:
2x+8y+4=6
3x+6y=9
x+2y+z=2
adalah x=1, y=1, dan z=-1.
Daftar Pustaka
[1] Hernadi, Julan,2012, Matematika Numerik
dengan Implementasi MATLAB, Penerbit Andi,
Yogyakarta
[2] Sahid, 2007, Pengantar Komputasi Numerik,
Penerbit Andi, Yogyakarta
[3] http://www.mathwords.com/g/gauss-
jordan_elimination.htm diases pada 18 Maret 2014
pukul 17.36 WIB
[4]
http://www.colorado.edu/MCEN/programs/undergr
aduate/matlab_tutorials/numerical/cp1.htm diakses
pada 17 Maret 2014 pukul 22.30 WIB

Lampiran 1 - Flowchart

START
Input matriks A
dan vektor b
For elemen
1:3
Pivot
pertukaran
baris
[A1]=pivot(A)
Step
Eliminasi data
A1=pivot(A,i)
Hasil=x
END
Pivot
pertukaran
baris
[A1]=pivot(A)
Input matrik A
A1=A
Augmented
matriks A dan
vektor b
If
A1(1,1)=0
i=1
While
check
i=1+1
If
A1(i,1)0
b=A1(i,:)
A1(i,:)=A1(1,:)
A1(1,:)=b
Step
Eliminasi data
A1=pivot(A,i)
Input matrik A
A1=A
S=A1(i,1)
A1(i,:)=A(i,:)/s
K=[[1:i-1],[i+1:3]]
For j=k
S=A1(j,1)
A1(j,:)=A(j,:)-A1(i,:)

Anda mungkin juga menyukai