pengantarmatlab

Upload: evhyajah

Post on 30-May-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 pengantarMatlab

    1/20

    BBaabb 11

    Pengantar untukPemrograman MATLAB

    1.1 Pendahuluan

    MATLAB (Matrix Laboratory) adalah sebuah program untukanalisis dan komputasi numerik dan merupakan suatu bahasapemrograman matematika lanjutan yang dibentuk dengan dasarpemikiran menggunkan sifat dan bentuk matriks. Pada awalnya,program ini merupakan interface untuk koleksi rutin-rutin numerikdari proyek LINPACK dan EISPACK, dan dikembangkan

    menggunkan bahasa FORTRAN namun sekarang merupakan produkkomersial dari perusahaan Mathworks, Inc.yang dalamperkembangan selanjutnya dikembangkan menggunakan bahasa C++dan assembler (utamanya untuk fungsi-fungsi dasar MATLAB).

    MATLAB telah berkembang menjadi sebuah environmentpemrograman yang canggih yang berisi fungsi-fungsi built-in untukmelakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasimatematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi-

    fungsi tambahan untuk aplikasi khusus . MATLAB bersifat extensible,dalam arti bahwa seorang pengguna dapat menulis fungsi baru untukditambahkan pada library ketika fungsi-fungsi built-in yang tersediatidak dapat melakukan tugas tertentu. Kemampuan pemrogramanyang dibutuhkan tidak terlalu sulit bila Anda telah memilikipengalaman dalam pemrograman bahasa lain seperti C, PASCAL,atau FORTRAN.

    MATLAB merupakan merk software yang dikembangkan

    oleh Mathworks.Inc.(lihat http://www.mathworks.com) merupakansoftware yang paling efisien untuk perhitungan numeric berbasismatriks. Dengan demikian jika di dalam perhitungan kita dapat

  • 8/9/2019 pengantarMatlab

    2/20

    2 Judul Buku

    menformulasikan masalah ke dalam format matriks maka MATLABmerupakan software terbaik untuk penyelesaian numericnya.

    MATLAB (MATrix LABoratory) yang merupakan bahasapemrograman tingkat tinggi berbasis pada matriks sering digunakanuntuk teknik komputasi numerik, yang digunakan untukmenyelesaikan masalah-masalah yang melibatkan operasi matematikaelemen, matrik, optimasi, aproksimasi dll. Sehingga Matlab banyak

    digunakan pada :Matematika dan KomputansiPengembangan dan AlgoritmaPemrograman modeling, simulasi, dan pembuatan

    prototipe

    Analisa Data , eksplorasi dan visualisasiAnalisis numerik dan statistikPengembangan aplikasi teknik

    1.2 Window-window pada MATLAB

    Ada beberapa macam window yang tersedia dalamMATLAB, yang dapat dijelaskan sebagai berikut:

    a. MATLAB Command window/editorMATLAB Command window/editor merupakan window

    yang dibuka pertama kali setiap kali MATLAB dijalankan

  • 8/9/2019 pengantarMatlab

    3/20

    Pengantar untuk Pemrograman MATLAB 3

    pada window di atas dapat dilakukan akses-akses ke command-command MATLAB dengan cara mengetikkan barisan-barisan ekpresiMATLAB, seperti mengakses help window dan lain-lainnya.

    Jika perintah-perintah yang sudah diketikkan dan hasil yangditampilkan pada layar command window akan disimpan makadapat dilakukan dengan menggunkan command diary. Sebagai

    contoh jika ingin disimpan output

    m =

    1 2 3

    5 2 1

    direktori c:\backup dengan nama file mydata.txt, maka dapatdilakukan dengan mengetikan :

    m=[1 2 3;5 2 1]

    m =

    1 2 3

    5 2 1

    diary 'c:\backup\mydata.txt'

    dan jika ingin menutup file ini maka ketikkan

    diary off

    Command windows juga digunakan untuk memanggil tool

    Matlab seperti editor, debugger atau fungsi. Ciri dari window ini

  • 8/9/2019 pengantarMatlab

    4/20

    4 Judul Buku

    adalah adanya prompt (>>) yang menyatakan matlab siapmenerima perintah. Perintah dapat berupa fungsi-fungsipengaturan file (seperti perintah DOS/UNIX) maupun fungsi-fungsi bawaan/toolbox MATLAB sendiri. Berikut ini beberapafungsi pengaturan file dalam MATLAB :

    dir / ls : Digunakan untuk melihat isi dari sebuah direktori

    aktif.

    cd :Digunakan untuk melakukan perpindahan dari

    direktori aktif.

    pwd : Digunakan untuk melihat direktori yang sedang

    aktif

    mkdir :Digunakan untuk membuat sebuah direktori

    what : Digunakan untuk melihat nama file m dalam

    direktori aktif

    who : Digunakan untuk melihat variabel yang sedang

    aktif

    whos : Digunakan untuk menampilkan nama setiap

    variabel

    delete : Digunakan untuk menghapus fileclear : Digunakan untuk menghapus variabel

    clc : Digunakan untuk membersihkan layar

    doc : Digunakan untuk melihat dokumentasi The

    MathWorks, Inc. dalam format html secara

    online.

    demo : Digunakan untuk mencoba beberapa tampilandemo yang disediakan oleh Matlab

  • 8/9/2019 pengantarMatlab

    5/20

    Pengantar untuk Pemrograman MATLAB 5

    b. MATLAB Editor/Debugger (Editor M-File/Pencarian Kesalahan)Window ini merupakan tool yang disediakan oleh Matlab

    5 keatas. Berfungsi sebagai editor script Matlab (M-file). Walaupunsebenarnya script ini untuk pemrograman Matlab dapat sajamenggunakan editor yang lain seperi notepad, wordpad bahkanword. Untuk mengakses window m-file ini dapat dilakukandengan cara :

    1. Memilih File kemudian pilih New2. Pilih m-file, maka MATLAB akan menampilkan editor

    window :

    selain dengan cara di atas untuk menampilkan editor M-File ini dapat juga dilakukan dengan :

    >> edit

    Bahasan tentang m-file akan dibahas pada bab selanjutnya.

    c. Figure WindowsWindow ini adalah hasil visualisasi dari script Matlab.

    Namun Matlab memberi kemudahan bagi programer untukmengedit window ini sekaligus memberikan program khususuntuk itu. Sehingga window ini selain berfungsi sebagaivisualisasi output dapat juga sekaligus menjadi media input yang

    interaktif.

  • 8/9/2019 pengantarMatlab

    6/20

    6 Judul Buku

    Contoh :>> x=0:2:360;

    >> y=sin(x*pi/180);

    >> plot(x,y)

    hasil yang diperoleh adalah :

    d. MATLAB help windowMATLAB menyediakan sistem help yang dapat diakses dengan

    perintah help. Misalnya, untuk memperoleh informasi mengenaifungsi elfun yaitu fungsi untuk trigonometri, eksponensial, complex

    dan lain-lain, maka hanya perlu mengetikkan perintah berikut : help elfun

    dan kemudian menekan enter maka di layar akan munculinformasi dalam bentuk teks pada layar MATLAB yaitu :

    Elementary math functions.

    Trigonometric.

    sin - Sine.

    sinh - Hyperbolic sine.

    asin - Inverse sine.

  • 8/9/2019 pengantarMatlab

    7/20

    Pengantar untuk Pemrograman MATLAB 7

    asinh - Inverse hyperbolic sine.

    cos - Cosine.

    cosh - Hyperbolic cosine.

    acos - Inverse cosine.

    acosh - Inverse hyperbolic cosine.

    tan - Tangent.

    tanh - Hyperbolic tangent.atan - Inverse tangent.

    atan2 - Four quadrant inverse tangent.

    atanh - Inverse hyperbolic tangent.

    sec - Secant.

    sech - Hyperbolic secant.

    asec - Inverse secant.

    asech - Inverse hyperbolic secant.

    csc - Cosecant.

    csch - Hyperbolic cosecant.

    acsc - Inverse cosecant.

    acsch - Inverse hyperbolic cosecant.

    cot - Cotangent.

    coth - Hyperbolic cotangent.

    acot - Inverse cotangent.

    acoth - Inverse hyperbolic cotangent.

    Exponential.

    exp - Exponential.

    log - Natural logarithm.

    log10 - Common (base 10) logarithm.

    log2 - Base 2 logarithm and dissect floating

    point number.

  • 8/9/2019 pengantarMatlab

    8/20

    8 Judul Buku

    pow2 - Base 2 power and scale floating point

    number.

    sqrt - Square root.

    nextpow2 - Next higher power of 2.

    Complex.

    abs - Absolute value.angle - Phase angle.

    complex - Construct complex data from real and

    imaginary parts.

    conj - Complex conjugate.

    imag - Complex imaginary part.

    real - Complex real part.

    unwrap - Unwrap phase angle.

    isreal - True for real array.

    cplxpair - Sort numbers into complex conjugate

    pairs.

    Rounding and remainder.

    fix - Round towards zero.

    floor - Round towards minus infinity.

    ceil - Round towards plus infinity.

    round - Round towards nearest integer.

    mod - Modulus (signed remainder after

    division).

    rem - Remainder after division.

    sign - Signum.

  • 8/9/2019 pengantarMatlab

    9/20

    Pengantar untuk Pemrograman MATLAB 9

    Selain help untuk informasi di atas dapat juga dilihat informasilainnya misalnya perintah yang sangat berguna untuk mempelajaripemrograman MATLAB adalah intro, yang membahas konsep-konsepdasar tentang bahasa MATLAB. Selain itu, juga terdapat banyakprogram demonstrasi yang mengilustrasikan berbagai kapabilitasMATLAB, yang dapat dimulai dengan perintah demo. Atau untuklebih lengkapnya dapat dilihat di tampilan MATLAB dengan caramemilih menu Window kemudian pilih help window, dan untuk

    mengetahui informasi yang ada maka dapat dilakukan denganmengclickan dua kali info yang ada di MATLAB Help Window ataudengan mengetikkan informasi yang ingin didapatkan pada sudutsebelah kiri MATLAB Help Window. Sebagai contoh tampilan Helpwindow tersebut adalah sebagai berikut :

    Sebelum melihat lebih jauh tentang kemampuanMATLAB untuk programming ataupun penyelesaian masalah-masalah numerik maka dapat dilakukan beberapa percobaansederhana seperti berikut ini :

    Ketikkan :

    x=12

    x=6

  • 8/9/2019 pengantarMatlab

    10/20

    10 Judul Buku

    x*y

    ans =

    72

    dan perhatikan perbedaannya dengan :

    p=12;

    q=6;

    r=p*q;

    dapat dilihat bahwa tanpa ; MATLAB akan mengassign hasil outputke variabel ans (answer).

    Untuk contoh penggunaan fasilitas grafik dari MATLAB,maka dapat dilihat berikut ini dengan mengetikkan :

    x=[5 10 15 20 25];

    y=cos(x);

    plot(x,y);

    dapat dijelaskan bahwa x diassign ke suatu array [5 10 15 20 25],kemudian y =cos(x) akan mengassign y ke array [cos(5) cos(10)cos(15) cos(20) cos(25)]. Dan hasilnya dapat dilihat pada gambarberikut ini :

    untuk contoh sederhana lainnya dapat dicoba beberapa perintahberikut ini :

  • 8/9/2019 pengantarMatlab

    11/20

    Pengantar untuk Pemrograman MATLAB 11

    1. >> a = [ 1 2; 3 4 ]

    >> a * a

    >> b = [ 1 2; 0 1 ]

    >> a*b

    >> b*a

    >> a + b

    >> s = a + b>> inv(s)

    >> s * inv(s)

    >> s/s

    >> s\s

    >> inv(s) * s

    >> a/b

    >> a\b

    >> c = [ 1 1; 1 1 ]

    >> inv(c);

    2. Untuk membuat grafik y = sin(t) pada interval t = 0 to t = 10

    >> t = 0:.3:10;

    >> y = sin(t);

    >> plot(t,y)

    3. Untuk menggambarkan grafik :z(x,y) = x exp( - x^2 - y^2):

    >> [x,y] = meshdom(-2:.2:2, -2:.2:2);

    >> z = x .* exp(-x.^2 - y.^2);

    >> mesh(z)

  • 8/9/2019 pengantarMatlab

    12/20

    12 Judul Buku

    Keterangan:

    Untuk setiap perintah di atas sebelum ke perintahselanjutnya maka tekan enter agar dapat ditampilkan outputnya.

    1.3 Bilangan dan Operator Matematika di

    MatlabAda tiga tipe bilangan di dalam Matlab yaitu :

    Bilangan bulat ( integer ) Bilangan real Bilangan kompleks

    Contoh bilangan bulat

    x=10x =

    10

    Contoh bilangan real

    x=10.01x =

    10.0100

    Untuk bilangan kompleks yang bentuk umumnya adalah z= a+bi ,

    salah satu kehebatan MATLAB adalah tidak memerlukan penanganankhusus untuk bilangan kompleks dan untuk bilangan ini diberi tanda iatau j, contohnya :

    y=sqrt(-2) % akar negatif 2

    y =

    0 + 1.4142i

    real(y)

    ans =

    0

    imag(y)

  • 8/9/2019 pengantarMatlab

    13/20

    Pengantar untuk Pemrograman MATLAB 13

    ans =

    1.4142

    abs(y)

    ans =

    1.4142

    angle(y)

    ans =

    1.5708

    Daftar operasi aritmatika dasar dalam Matlab

    MATLAB dapat melakukan operasi-operasi aritmatika dasarberikut :

    Operasi Simbol

    Penambahan, a + b +

    Pengurangan a-b -

    Perkalian a x b *

    Pembagian a : b / atau \

    Pemangkatan ab ^

    Urutan operasi tersebut yang dikerjakan dalam suatu ekspresiyang mengikuti aturan prioritas yang biasa (hirarki). Aturan tersebutdapat diringkas sebagai berikut :

    Ekspresi dikejakan dari kiri ke kanan dengan pemangkatanmempunyai prioritas tertinggi, diikuti dengan perkalianatau pembagian yang mempunyai prioritas yang sama,diikuti dengan penambahan dan pengurangan yang jugamemiliki prioritas yang sama. Tanda kurung dapatdigunakan untuk merubah urutan pengerjaan yang biasadimana bagian yang dikerjakan terlebih dahulu adalah

    bagian yang yang ada di bagian kurung paling dalamkemudian keluar.

  • 8/9/2019 pengantarMatlab

    14/20

    14 Judul Buku

    Contoh :

    Misalnya anda mengambil kuliah sebanyak 12 SKS , yang terdiri dariseismologi 4 sks , Analisis sinyal 3 sks , Tomografi 2 sks dan Gravitasi 3sks . Lalu pada akhir semester anda mendapat nilai sebagai berikutseismologi A , Analisis sinyal B , Tomografi C dan gravitasi A . Denganpoint nilai A=4 , B=3 , C=2 Berapa nilai IP anda ?

    Untuk memyelesaikan ini kita menggunakan pendekatan seperti

    perhitungan di kalkulator :ip=(4*4+3*3+2*2+3*4)/(4+3+2+3)

    ip =

    3.4167

    Sebagai alternatif kita bisa menyelesaikan masalah di atas denganterlebih dahulu menyimpan informasi yang kita punya padavariabel.

    seismologi=4

    tomografi=2

    analisis_sinyal=3

    gravitasi=4

    seismologi =

    4

    tomografi =2

    analisis_sinyal =

    3

    gravitasi =

    4

    total_sks=12

    total_sks =12

  • 8/9/2019 pengantarMatlab

    15/20

    Pengantar untuk Pemrograman MATLAB 15

    ip=(seismologi*4+tomografi*2+analisis_sinyal*3+gravitasi*3)/total_sks

    ip =

    3.4167

    1.4 Komentar dan Tanda Baca

    Semua teks sesudah tanda % dianggap sebagai statemen komentar ,contoh:

    semester=8 % jumlah semester S 1

    semester =

    8

    Variabel semester diisi dengan nilai 8 dan statemen sesudah tanda %di anggap sebuah komentar . Statemen ini berguna untuk

    mendokumentasikan apa yang sudah anda kerjakan. Tanda titikkoma ( ; ) dalam Matlab berguna untuk mencegah menampilkanhasil, contoh :

    semester=8;

    1.5 Fungsi-Fungsi Ma tematika Dasar

    MATLAB mempunyai berbagai fungsi matematika umumyang biasa di gunakan dalam matematik . Sebagian besar fungsitersebut hampir sama dengan bila anda menuliskannya secaramatematis. Sebagai contoh :

    pi

    ans =

    3.1416

    y=sin(pi/6)

    y =

  • 8/9/2019 pengantarMatlab

    16/20

    16 Judul Buku

    0.5000

    y=asin(0.5)

    y =

    0.5236

    Contoh Penyelesaian Masalah

    Contoh 1: Persamaan fungsiM=4x2+3y+10

    N=e(2*x)+x

    O=sqrt((1/(x+y))+(1/(t+z)))

    P=4*(e(-x/2)

    )*sin(pi*x)

    Tentukan nilai fungsi tersebut dengan nilai-nilai t=25, x=43, y=15.25,z=8.2 !

    Untuk penyelesaian di atas adalah sbb:

    Pertama, dibuat dulu variabel nya

    t=25;x=43;y=15.25;z=8.2;

    Kedua, masukkan nilai tersebut ke masing-masing fungsinya

    M=4*x^2+3*y+10

    M =

    7.4518e+003

    N=exp(2*x)+x

    N =

    2.2352e+037

    O=sqrt((1/(x+y))+(1/(t+z)))

    O =

    0.2175

    P=4*(exp(-x/2))*sin(pi*x)P =

  • 8/9/2019 pengantarMatlab

    17/20

    Pengantar untuk Pemrograman MATLAB 17

    1.6223e-023

    Contoh 2 : Penentuan volume silinder berlubang

    Sebuah silinder mempunyai diameter luar 6.3125 dan diameter dalam5.762 , tentukan volumenya bila diketahui rumus untuk mencarivolumenya :

    ( )33

    3

    4RIREV =

    Dimana RE adalah diameter luar dan RI adalah diameter dalam

    Penyelesaian :

    re=6.3125;ri=5.762;

    v=4/3*pi*(re^3-ri^3);

    disp(['Volume = ',num2str(v)])

    Volume = 252.3169

    I.7. Menyimpan dan Memangg il Data

    Untuk Menyimpan dan memenggil data dari file pilih FileSave Workspace As . Untuk memanggil data digunakan pilihanLoad WorkSpace As atau Open pada menu file. Sedangkan untukmengimport data , untuk Matlab versi 6 keatas pilih file Import Data.. . Matlab juga menyediakan dua perintah ---- save dan load -------yang jauh lebih fleksibel. Perintah save untuk menyimpan satu ataulebih variabel dalam file format Yang sesuai dengan pilihan anda.

    contoh :

    clear all

    x=1:10;y=10:10:10:100; % membuat array baru

    save

    Saving to: Matlab.mat

    menyimpan semua variabel Matlab dalam format biner di fileMatlab.mat

  • 8/9/2019 pengantarMatlab

    18/20

    18 Judul Buku

    save data

    menyimpan semua variabel Matlab dalam format biner di filedata.mat

    save data_x x

    menyimpan variabel x dalam format biner di file data_x.mat

    save data_xy x y /asciimenyimpan variabel x dan y dalam format biner di file data_xydalam format ascii untuk membuka data digunakan perintah load,

    contoh;

    load data_x.mat

    1.8. Operator Logika dan Relasiona l

    MATLAB menyediakan operasi logika dan relasional, halini diperlukan untuk menjawab pertanyaan benar atau salah dansalah satu manfaat yang penting dari kemampuan ini adalahuntuk mengontrol urutan eksekusi sederetan perintah MATLAB(biasanya dalam M-File) berdasarkan pada hasil pertanyaanbenar/salah.

    Sebagai masukan pada semua ekpresi relasi dan logika ,

    MATLAB menganggap semua angka tidak nol sebagai benar, nolsebagi salah. Hasil dari semua ekspresi logika relasi dan logikaadalah satu untuk benar dan nol untuk salah dengan tipe arraylogika yaitu hasilnya memuat bilangan 1 dan 0 yang tidak sajadapat digunakan untuk statemen matematika akan tetapi dapatjuga untuk pengalamatan

    Operator relasi MATLAB terdiri dari semua pembandingan :

    Operator Relasi Deskripsi

    < Kurang dari> Lebih dari

  • 8/9/2019 pengantarMatlab

    19/20

    Pengantar untuk Pemrograman MATLAB 19

    = Lebih dari atau sama dengan

    = Sama dengan

    ~= Tidak sama dengan

    Operator relasi MATLAB dapat digunakan untuk membandingkandua array berukuran sama atau untuk membandingkan array denganskalar.

    Operator logika menyediakan cara untuk menggabung ataumenegasikan ekspresi relasi.

    Selanjutnya Operator-operator logika dalam MATLAB yaitu :

    Operator Logika Deskripsi

    & AND

    | OR

    ~ NOT

    1.9. Sumber-sumber MATLAB yang ada di

    Internet

    Jika anda ingin lebih mendalami lagi tentang MATLABdan mendownloadnya maka di bawah ini beberapa informasi

    yang berkenaan dengan MATLAB, dan informasinya bisadidapatkan dibeberapa situs berikut ini :

    1. Web site MathWorks : http://www.mathworks.com/ disitusini bisa di dapatkan informasi tentang produk baru MATLABseperti buku dan lain-lainnya.

    2. Newsgroup MATLAB: news://salukinews.siu.edu/comp.soft-sys.matlab/

    3. http://dir.yahoo.com/science/mathematics/software/matlab/ penggunaan source informasi tentang MATLAB dan

  • 8/9/2019 pengantarMatlab

    20/20