Upload
priyanka-kusuma-wardhani
View
32
Download
0
Embed Size (px)
Citation preview
5/24/2018 Laporan Modul 1-Priyanka Wardhani-081117029
1/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 2014Praktikum 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. PendahuluanImplementasi 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 Pustaka2.1Komputasi Numerik
Komputasi numerik merupakan suatupendekatan 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.2MATLABMATLAB, 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.3Sistem Persamaan LinierBidang 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.
Vektorxberukuran nx1merupakan variabel
tak diketahui yang akan ditentukan.[1]
2.4Metode Eliminasi Gauss JordanMerupakan 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. MetodologiPraktikum ini menggunakan software
MATLAB 2008b dan dilakukan di
5/24/2018 Laporan Modul 1-Priyanka Wardhani-081117029
2/4
Laboratorium Komputer Departemen Fisika
Universitas Airlangga. Tahapan praktikum:
a. Pengenalan MATLABb. Latihan membuat fungsi sederhanac. Menyelesaikan SPL dengan menggunakan
metode Gauss dan metode Gauss Jordan
secara manual
d. Tugas membuat fungsi metode GaussJordan
Step mengerjakan operasi metode Gauss-Jordan
seperti padaflowchartlampiran 1.
4. Hasil dan Pembahasan4.1ScriptMATLAB
Script MATLAB fungsi Gauss-Jordan ini
praktikan modifikasi dari script pada
sumber [4]. Penjelasan setiap langkahdijelaskan dalam comment.
function[x]=gauss_jordan3(A,b)%A=matriks persamaan ruas kiri. Matriks iniberordo 3x3%b=matriks persamaan ruas kanan. Berupa vektor3x1%x=hasil eliminasi metode Gauss-Jordan: x,y,z
Aa=[A,b]; %matriks augmented dari matriks A danvektor b
fori=1:3[Aa(i:3,i:4)]=pivot(Aa(i:3,i:4)); %proses
pivot --pertukaran rowsAa(1:3,i:4)=step(Aa(1:3,i:4),i); %proses
eliminasiendx=Aa(:,4); %hasil diambil dari kolom 4 saja
end
%-----------------------------------------
functionA1=step(A,i)A1=A; %pembentukan matriks barus=A1(i,1); %nilai elemen pada matriks A kolomke satu pada baris iA1(i,:) = A(i,:)/s; %nilai elemen baru matriks
A1 baris 1, hasil dari pembagian elemen matriksA1 baris 1 dan nilai sk=[[1:i-1],[i+1:3]]; %penentuan baris baruuntuk perhitungan masing2 kolomforj=k
s=A1(j,1);A1(j,:)=A1(j,:)-A1(i,:)*s; %proses
eliminasiendend
%-----------------------------------------
function[A1]=pivot(A)A1=A;ifA1(1,1) == 0
check = logical(1); %mengecek apakah nilaielemen baris 1 kolom 1=0
i = 1;whilecheck %perintah mengecek banyaknya
elemen pada matriks
i = i + 1;A(i,1) ~= 0 & check %melakukan operasi
ketika nilai elemen tidak sama dengan nolcheck = logical(0);b=A1(i,:); % operasi selanjutnya
merubah row 1 dan iA1(i,:)=A1(1,:);A1(1,:)=b;
endendend
4.2 HasilSPL 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.3PembahasanPembuatan 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
windowdengan 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) daneliminasi.
Pada fungsi yang praktikan buat, terdapat
blok fungsi dalam fungsi. Blok fungsi ini
5/24/2018 Laporan Modul 1-Priyanka Wardhani-081117029
3/4
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. Userhanya bisa memanggil fungsi
utama saja:
[x]=gauss_jordan3(A,b)
5. KesimpulanPenyelesaian 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.htmdiases pada 18 Maret 2014
pukul 17.36 WIB
[4]
http://www.colorado.edu/MCEN/programs/undergr
aduate/matlab_tutorials/numerical/cp1.htmdiakses
pada 17 Maret 2014 pukul 22.30 WIB
http://www.mathwords.com/g/gauss-jordan_elimination.htmhttp://www.mathwords.com/g/gauss-jordan_elimination.htmhttp://www.mathwords.com/g/gauss-jordan_elimination.htmhttp://www.mathwords.com/g/gauss-jordan_elimination.htmhttp://www.colorado.edu/MCEN/programs/undergraduate/matlab_tutorials/numerical/cp1.htmhttp://www.colorado.edu/MCEN/programs/undergraduate/matlab_tutorials/numerical/cp1.htmhttp://www.colorado.edu/MCEN/programs/undergraduate/matlab_tutorials/numerical/cp1.htmhttp://www.colorado.edu/MCEN/programs/undergraduate/matlab_tutorials/numerical/cp1.htmhttp://www.colorado.edu/MCEN/programs/undergraduate/matlab_tutorials/numerical/cp1.htmhttp://www.mathwords.com/g/gauss-jordan_elimination.htmhttp://www.mathwords.com/g/gauss-jordan_elimination.htm5/24/2018 Laporan Modul 1-Priyanka Wardhani-081117029
4/4
Lampiran 1 - Flowchart
START
Input matriks A
dan vektor b
For elemen
1:3
Pivot
pertukaranbaris
[A1]=pivot(A)
Step
Eliminasi data
A1=pivot(A,i)
Hasil=x
END
Pivot
pertukaranbaris
[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,:)