Laporan Modul 1-Priyanka Wardhani-081117029

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.htm
  • 5/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,:)