1Laporan Modul 1-Priyanka Wardhani-081117029

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

Transcript of 1Laporan Modul 1-Priyanka Wardhani-081117029

Page 1: 1Laporan Modul 1-Priyanka Wardhani-081117029

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

Page 2: 1Laporan Modul 1-Priyanka Wardhani-081117029

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

m–file. 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

Page 3: 1Laporan Modul 1-Priyanka Wardhani-081117029

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

Page 4: 1Laporan Modul 1-Priyanka Wardhani-081117029

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,:)