belajar komputasi dengan matlab

Upload: jujuk-kurniawan

Post on 10-Feb-2018

283 views

Category:

Documents


1 download

TRANSCRIPT

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    1/42

    Supardi, M.SiSupardi, M.Si

    BAB 1

    Pendahuluan

    Matlab merupakan sebuah singkatan dari Matrix Laboratory, yang

    pertama kali dikenalkan oleh University of New Mexico dan University of

    Stanford pada tahun 1!"# software ini pertama kali memang digunakan

    untuk keperluan analisis numerik, al$abar linier dan teori tentang matriks#

    Saat ini, kemampuan dan fitur yang dimiliki oleh Matlab sudah $auh lebih

    lengkap dengan ditambahkannya toolbox%toolbox yang sangat luar biasa#

    &eberapa manfaat yang didapatkan dari Matlab antara lain'

    (erhitungan Matematika

    )omputasi numerik

    Simulasi dan pemodelan

    *isualisasi dan analisis data

    (embuatan grafik untuk keperluan sains dan teknik

    (engembangan aplikasi, misalnya dengan memanfaatkan +U#

    Matlab dapat dipadang sebagai sebuah kalkulator dengan fitur yang

    lengkap# )ita pernah menggunakan kalkulator dengan degan fasilitas

    minimal, misalnya hanya terdapat fasilitas penambahan, pengurangan

    perkalian dan pembagian# )alkulator yang lebih lengkap lagi adalah

    kalkulator scientific dimana fasilitas yang diberikan tidak hanya yang

    disebutkan di atas, melainkan sudah ada fungsi%fungsi trigonometri,

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 1

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    2/42

    Supardi, M.SiSupardi, M.Si

    bilangan kompleks, akar kuadrat dan logaritma# Nah, Matlab mirip dengan

    kalkulator tersebut, tetapi dengan fitur%fitur yang lengkap diantaranya

    dapat digunakan untuk memprogram, aplikasi berbasis +U dan lengkap

    dengan toolbox yang dapat dimanfaatkan untuk memecahkan masalah

    sains dan teknik#

    Dokumentasi Matlab

    Matlab memberikan kemudahan bagi para pengguna untuk

    menemukan bantuan sehubungan dengan semua fasilitas yang diberikan

    oleh Matlab# Misalnya, bantuan tentang bagaimana memulai Matlab

    pertama kali, trik pemrograman, membuat grafik - dan . dimensi,

    menggunakan tool akuisisi data, pengolahan sinyal, penyelesaian

    persamaan diferensial parsial#

    Untuk memperoleh bantuan tersebut, kita dapat memilih MATLAB

    Menu dari menu Help. Untuk bantuan tentang Matlab sendiri, dibagi atas

    beberapa bagian antara lain

    Development Environment,bagian ini akan memberikan informasi

    yang lengkap mengenai desktop dari Matlab#

    Mathematics, bagian yang men$elaskan bagaimana menggunakan

    fitur yang dimiliki oleh Matlab untuk dalam mengolah data

    matematis dan statistik# si dalam bantuan ini dicakup antara lain'

    Matrks dan al$abar linier, polinomial dan interpolasi, analisis data

    dan statistik, fungsi function, matriks $arang /sparse matrix).

    Programming and data type, bagian ini men$elaskan bagaimana

    membuat script dan fungsi dengan menggunakan Matlab# &antuan

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 2

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    3/42

    Supardi, M.SiSupardi, M.Si

    ini mencakup pemrograman M%0ile, larik, larik multidimensi,

    optimalisai performance Matlab, tip pemrograman Matlab#

    raphics, bagian ini men$elaskan tentang bagaimana membuat atau

    mengeplot grafik dari data yang kita miliki# ang termasuk dalam

    bagian ini antara lain, dasar%dasar pengeplotan, format grafik,

    membuat grafik khusus misalnya grafik dalam bentuk bar,

    histogram, contour dan lain%lain

    !"D #isuali$ation,bagian ini men$elaskan dengan tuntas bagaimana

    menampilkan data yang kita miliki dalam grafik . dimensi, termasuk

    didalamnya membuat grafik .2, menentukan tampilan ob$ek,

    transparansi ob$ek, lighting dan lain%lain#

    %reating raphical &ser 'nter(aces, bagian ini men$elaskan

    bagaimana kita dapat membuat +U /+raphical User nterface3

    berbasis Matlab#

    2isamping bagian%bagian yang sudah disebutkan di atas, disini $uga

    disertakan beberapa bagian tambahan yang ikut melengkapi dokumentasi

    pen$elasan tentang Matlab, diantaranya function-By cattegory function-

    !lp"abetical #ist "andle grap"ic property bro$ser external interfaces%!P&

    external interfaces%!P& references dan lain%lain# 2ibawah ini diperlihatkan

    bagian online%help yan dapat diakses dengan cara pilih Menu ") MATLAB

    Help ") Matla*.

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 3

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    4/42

    Supardi, M.SiSupardi, M.Si

    +ambar 1#1 # 2aftar bantuan yang disediakan Matlab

    Desktop Matlab

    )etika kita pertama kali men$alankan Matlab, maka tampilan

    pertama yang kita temui ini dikenal sebagai 2esktop Matlab# 2alam

    desktop ini terdapat tool%tool yang berfungsi untuk mana$emen file,

    variabel dan aplikasi yang berkaitan dengan Matlab# 2ibawah ini

    ditun$ukkan desktop Matlab versi 4#5#

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 4

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    5/42

    Supardi, M.SiSupardi, M.Si

    +ambar -# 6ool yang disertakan pada Matlab 4#5

    )eterangan

    1# tool untuk browse direktori aktif# 2ari tool ini kita dapat mengeset

    direktori mana yang aktif# 2irektori aktif berarti bahwa direktori

    inilah yang siap untuk diakses file didalamnya atau tempat yang siap

    untuk digunakan sebagai penyimpan data#

    -# 6ool yang menampilkan direktori aktif# 2ari tool ini kita dapat

    melihat direktori mana yang aktif# Sebagai default direktori aktif

    Matlab adalah 7'8M96L9&4p58work, $ika Matlab diinstal di

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 5

    8

    9

    10

    11

    12

    3

    4

    5

    6

    7

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    6/42

    Supardi, M.SiSupardi, M.Si

    direktori 7'8, kalau disimpan di 2'8maka direktori aktif defaultnya

    2'8M96L9&4p58work, begitu $uga di :'8atau dimana sa$a#

    .# ;endela ini disebut disebut sebagai 7ommand # 6ool untuk mengatur ukuran $endela#

    # 6ool untuk melihat perintah apa sa$a yang pernah kita $alankan

    melalui command window# 6ool ini diberi nama command history.

    1"# 6ool untuk mendisplay isi file apa sa$a yang terdapat di direktori

    aktif#

    11# 6ool untuk mendisplay nama variabel, ukuran, bytes dan classnya#

    6ool%tool yang sudah disebutkan di atas dapat diatur

    kemunculannya melalui menu #ie-. Misalnya, kita tidak menginginkan

    tampilnya $endela command history,maka kita kita harus menghilangkan

    tanda cek yang ada pada submenu command hstory# Lihat gambar .#

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 6

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    7/42

    Supardi, M.SiSupardi, M.Si

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 7

    Gambar 3. Menonaktifkan jendela command histor

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    8/42

    Supardi, M.SiSupardi, M.Si

    &9& -

    2asar%2asar Matlab

    Memulai Matlab

    )etika kita pertama kali men$alankan Matlab, maka yang tampil

    adalah 2esktop Matlab seperti yang telah disinggung di atas# 2iantara$endela yang yang ada pada desktop Matlab adalah command window# 2i

    $endela inilah segala macam aktivitas berkaitan dengan perintah maupun

    eksekusi program berada# (erintah atau eksekusi program dapat dilakukan

    setelah prompt atau tanda ? @@ ?# Sebagai contoh

    @@ xA4B

    @@ yA!B

    @@ CAxDyC A

    =-

    Cara Program Matlab Bekerja

    Sekarang kita akan men$elaskan bagaimana program komputer yang

    ditulis dalam Matlab beker$a# (erlu diketahui bahwa Matlab secara teknis

    disebut sebagai interpreter. &andingkan dengan bahasa pemrograman tinggi

    seperti (ascal, 0ortran, 7 atau lainnya#

    Sebagai interpreter, Matlab akan menter$emahkan pada setiap baris

    perintah tanpa perlu mengkompile terlebih dahulu# Setelah dilakukan

    penter$emahan setiap baris perintah, maka Matlab segera akan

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 8

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    9/42

    Supardi, M.SiSupardi, M.Si

    men$alankannya dan hasilnya akan dapat kita lihat#

    )onsep dasar Matlab adalah menyimpan angka%angka di dalam

    memori komputer /E9M3# 9pabila Matlab memerlukan penyimpanan

    terhadap suatu angka tertentu, maka suatu ruangan telah diset untuk

    menempatkan angka tersebut# Memori komputer dapat dibayangkan

    sebagai bank kotak%kotak yang mana didalam kotak tersebut tersimpan

    angka%angka yang sewaktu%waktu dapat diambil atau dipanggil# )otak%

    kotak yang berada dalam bank tersebut diberi nama simbolik tertentu#

    Sebagai contoh tuliskan dalam command window seperti di bawah ini

    @@ gayaA>"

    (ernyataan di atas berarti bahwa Matlab menyimpan nilai >" ke

    dalam lokasi memori /kotak3 bernama gaya# Nilai >" ini dapat diubah

    men$adi harga berapapun# Nama lokasi memori atau kotak dimana suatu

    harga tersimpan di dalamnya disebut variabel#

    2ibawah ini dituliskan program komputer sederhana sebagai

    berikut'

    gayaA1"B

    luasFpermukaanA-B

    tekananAgayaDluasFpermukaanB

    disp/tekanan3B

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 9

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    10/42

    Supardi, M.SiSupardi, M.Si

    (rogram yang telah kita tuliskan di atas diter$emahkan oleh Matlab

    sebagai berikut'

    a3 Letakkan /simpan3 nilai 1" pada variabel bernama gaya dan harga

    variabel tersebut tidak ditampilkan /dalam command window3#

    b3 Letakkan nilai - pada variabel bernama luasFpermukaan dan harga

    variabel tidak ditampilkan#

    c3 Lakukan operasi perkalian antara variabel gaya dan luasFpermukaan

    dan harganya disimpan di dalam variabel tekanan#

    d3 6ampilkan isi dari variabel tekanan /dengan perintah disp3#

    Bantuan Matlab

    )adang%kadang, pada saat membuat program komputer kita lupa

    akan satu perintah atau belum tahu deskripsi atau pengguanaan dari

    perintah tersebut# Nah, disamping kita dapat meminta bantuan lewat tool

    bantuan /Gelp3, kita dapat pula meminta bantuan lewat command window,

    caranya ketik help perintahyang dimasud. Misalnya, kita ingin tahu

    bagaimana deskripsi dan cara menggunakan fungsi ode=5# 7aranya cukup

    dengan mengetik

    @@ help ode=5

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 10

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    11/42

    Supardi, M.SiSupardi, M.Si

    +ambar -#1# Mencari bantuan tentang ode=5

    (ada level dasar Matlab dapat dipandang sebagai sebuah kalkuklator

    hitung yang canggih# 7ontoh

    @@ Nesya A >D1""B

    @@N:syaA NesyaH5B

    @@ N:S9Aexp/N:syaD.3

    @@ clcB

    @@ pwdB

    @@ who

    @@ whos

    (ada contoh diatas, variabel Nesya, N:sya, N:S9 dipandang

    sebagai variabel berbeda# *ariabel Nesya tidak sama dengan N:sya tidak

    sama pula dengan variabel N:S9# ni berarti bahwa antara huruf besar

    dengan huruf kecil dibedakan# Ileh sebab itu, Matlab adalah case sensiti'e.

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 11

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    12/42

    Supardi, M.SiSupardi, M.Si

    +ambar -#- ditampilkan grafik fungsi yang dapat diangani oleh

    Matlab dengan perintah funtool. 2engan mengubah%ubah bentuk fungsi f

    maupung konstanta a serta domain yang dinginkan, maka Matlab dapat

    menampilkannya dalam bentuk grafik# Selan$utnya, kita $uga dapat

    melakukan fitting data dengan tool yang disediakan oleh Matlab# Sebagai

    ilustrasi, sekarang ketiklah perintah di command window sebagai berikut

    @@ load census

    @@ cftool

    Setelah anda tulis perintah seperti di atas maka akan muncul gambar

    seperti terlihat pada gambar -#. sebagai berikut#

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 12

    (ambar . (ambar grafik yang diaktifkan melalui perinta" funtool

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    13/42

    Supardi, M.SiSupardi, M.Si

    Matlab $uga menyediakan tool untuk memecahkan persamaan

    diferensial parsial dengan pdetool# Untuk memberikan gambaran tentang

    pdetool ini, maka ketiklah perintah di command window

    @@ pdetool

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 13

    (ambar .*. (ambaran cur'a fitting dari cftool

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    14/42

    Supardi, M.SiSupardi, M.Si

    2isamping beberapa tool yang sudah diberikan ilustrasi di atas,

    Matlab masih banyak menyediakan tool%tool lain yang sangat berguna

    untuk menyelesaikan masalah sains dan teknik#

    Operator Dasar Aritmatika

    Iperator dasar aritmatika antara lain adalah pen$umlahan /J3,

    pengurangan /%3, perkalian /D3, pembagian /H3 dan pangkat /K3# Simbol K

    digunakan untuk menyatakan pangkat, misalnya

    @@ aA1"

    a A

    1"

    @@ aK-

    ans A

    1""

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 14

    (ambar .+. pde tool untuk memeca"kan masala" persamaan diferensial parsial.

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    15/42

    Supardi, M.SiSupardi, M.Si

    @@ aK.

    ans A

    1"""

    @@ 1J-D=H.

    ans A

    .#444!

    @@ 1J-H=D.

    ans A

    -#5"""

    6etapi, coba kita lihat contoh ke%= dan ke%5, yaitu bagaimana urutan

    operasi pada angka%angka tersebut# Untuk bentuk yang lebih $elas operasi

    1J-D=H. dapat dituliskan sebagai

    1J//-D=3H.3 A 1J>H.

    A 1J -#44!

    A .#44!

    Sedangkan operasi 1J-H=D. dapat dituliskan sebagai

    1J-H=D. A 1J/-H=3D.

    A 1 J "#5 D.

    A -#5"""

    ;adi, dalam mengeksekusi sebuah operasi matematika, Matlab mengikuti

    aturan%aturan sebagai berikut' Matlab memprioritaskan operasi yang berada di dalam kurung

    Iperasi yang melibatkan operator D dan H /dapat D H atau H D3 beker$a

    dari kiri ke kanan#

    Iperasi matematika yang melibatkan operator J dan /dapat J % atau

    % J3 $uga beker$a dari kiri ke kanan#

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 15

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    16/42

    Supardi, M.SiSupardi, M.Si

    %ontoh

    Lakukan evaluasi terhadap pernyataan Matlab berikut ini dengan

    perhitungan manual terlebih dahulu dan setelah itu dicek dengan Matlab

    a3 1H.H-H=H5

    b3 -D.H=J5

    c3 -%.D=H4

    d3 /.%=D-3H=%4H-

    e3 .%=H/-J.D53

    Cara membuat variable

    Matlab tidak memerlukan deklarasi variabel atau pernyataan

    dimensi pada setiap variabel yang akan digunakan dalam sebuah program

    komputer# *ariabel dalam Matlab secara otomatis akan dibuat dan

    disimpan setiap kali Matlab menemukan nama variabel baru# 2isamping

    itu, hal yang sangat penting untuk diingat bahwa variabel Matlab bersifat

    case sensiti(, artinya antara huruf besar dengan huruf kecil dibedakan#

    2ibawah ini diberikan beberapa aturan penulisan variabel dalam Matlab,

    1# *ariable tidak boleh diawali dengan angka, misalnya -abc, =5y, .ok=.

    -# *ariabel dapat merupakan kombinasi antara huruf dan angka,

    misalnya ok=5, ok=5ok, abc=.- dsb

    .# *ariabel tidak boleh menggunakan karakter khusus Matlab,

    misalnya , , % , J, A , dsb# Misalnya ok, net%cost, x, Osign dsb#

    =# Gindari memberikan nama variabel dengan nama%nama khusus

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 16

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    17/42

    Supardi, M.SiSupardi, M.Si

    yang ada di Matlab, misalnya hindari memberikan nama variabel

    dengan nama pi, eps, i, $# )arena piA--H!, epsA 542 , i dan $ memiliki

    harga 1 #

    5# 2isarankan pembuatan variabel singkat tetapi penuh makna

    /informatif3# Gal ini untuk menghindari kesalahan penulisan variabel

    yang berulang%ulang#

    Format penulisan angka

    2i dalam Matlab dikenal beberapa format penulisan angka yang

    kelak akan sangat berguna# 0ormat penulisan angka dapat diatur melalui

    desktop Matlab, caranya pilih menu /ile ) Pre(erences ) %ommand

    0indo-, kemudian pilih format yang diinginkan#

    +ambar -#!# Mencari bantuan tentang ode=5

    Secara default, format penulisan angka di Matlab adalah (ormat

    short seperti yang dapat dilihat pada gambar -#!# Untuk mengubah ke

    bentuk format penulisan angka yang lain dapat dilakukan dengan

    menuliskan perintah

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 17

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    18/42

    Supardi, M.SiSupardi, M.Si

    )) (ormat (ormatnumeriyangdiinginan

    misalnya

    @@ format long

    6abel 1 diberikan contoh perintah untuk mengubah format penulisan

    angka yang diinginkan# 9da > /delapan3 format penulisan angka yang

    dikenal dalam Matlab ditambah dengan beberapa perintah untuk

    mengubah bentuk real men$adi integer#

    6abel -#1 0ormat penulisan angka#

    No perintah 7ontoh keluaran

    1 @@ format short .#1=- / = angka di belakang

    koma3

    - @@ format long .#1=->5!1=->5!1=

    . @@ format short e .#1=-eJ"""= @@ format long e .#1=->5!1=->5!1=.eJ"""

    5 @@ format rational --H!

    4 @@ format short g .#1=->4

    ! @@ format long g .#1=->5!1=->5!1=

    > @@ format bank .#1=

    Perintah Pembulatan Angka

    &eberapa perintah Matlab untuk membulatkan angka antara lain

    ceil/x3 ' perintah untuk membulatkan angka ke bil integer di atasnya

    /arah tak berhingga3

    floor/x3' perintah untuk membulatkan angka ke bil integer di

    bawahnya /arah minus tak berhingga3

    fix/x3 ' perintah untuk membulatkan angka ke bil integer ke atas

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 18

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    19/42

    Supardi, M.SiSupardi, M.Si

    atau ke bawah menu$u arah nol

    round/x3' perintah untuk membulatkan angka ke bil integer ke arah

    lebih dekat#

    rem/x,y3' sisa yang ditinggalkan setelah operasi pembagian dengan

    definisi x%nDy dimana nAfix/x#Hy3# Gasil dari perintah rem/x,y3

    bertanda sama dengan x#

    mod/x,y3' sisa yang ditinggalkan setelah operasi pembagian dengan

    definisi x%nDy dimana nAfloor/x#Hy3# Gasil dari perintah mod/x,y3

    sama tandanya dengan y# Garga dari mod/x,y3 akan bernilai sama

    dengan rem/x,y3 $ika x dan y bertanda sama dan akan berharga beda

    $ika x dan y bertanda beda#

    abs/x3' harga mutlak dari x#

    sign/x3' tanda dari x#

    factor/x3' faktor utama dari x#

    Sebagai contoh penggunaan fungsi tambahan tersebut dapat dilihat

    di bawah ini#

    @@ xA--H.

    x A

    !#....

    @@ ceil/x3

    ans A

    >

    @@ floor/x3

    ans A

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 19

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    20/42

    Supardi, M.SiSupardi, M.Si

    !

    @@ fix/x3

    ans A

    !

    @@ round/x3

    ans A

    !

    @@ rem/=,.3

    ans A

    1

    @@ rem/%=,.3

    ans A

    %1

    @@ mod/=,.3

    ans A

    1

    @@ mod/%=,.3

    ans A

    -

    @@ abs/%-#.3

    ans A

    -#."""

    @@ abs/-J.i3

    ans A

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 20

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    21/42

    Supardi, M.SiSupardi, M.Si

    .#4"54

    @@ sign/%-#.3

    ans A

    %1

    @@ sign/-#.3

    ans A

    1

    @@ factor/1>3

    ans A

    - . .

    Perintah Tambahan Matlab

    (erintah tambahan yang berguna untuk pemrograman

    1# clc ' menghapus layar di command window

    -# close all ' menghapus semua gambar yang tampil

    sebelumnya#

    .# clear ' perintah untuk menghapus data di memori

    Matlab

    =# cd ' perintah untuk mengubah direktori

    5# pwd ' perintah untuk mengetahui kita berada di

    direktori mana pada saat ini#

    4# dir ' perintah untuk mengetahui file apa sa$a yang

    ada di current directory

    !# mkdir ' perintah untuk membuat direktori dibawah

    current direktori

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 21

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    22/42

    Supardi, M.SiSupardi, M.Si

    ># delete ' perintah untuk menghapus file

    # who ' menampilkan semua variabel saat ini#

    1"# whos ' menampilkan semua variabel saat ini bersama

    dengan informasi tentang ukuran, bytes, class dll

    11# what ' menampilkan semua file dengan ekstensi #M /M%0ile3

    1-# lookfor ' perintah untuk mencari file dengan katakunci#

    Untuk memberikan gambaran penggunaan beberapa perintah

    tersebut maka diberikan contoh seperti di bawah ini

    @@ piA5B

    @@ sPrt/pi3

    ans A

    -#-.41

    @@ mkdir latihanB

    @@ who

    our variables are'

    ans pi

    @@ whos

    Name SiCe &ytes 7lass

    ans 1x1 > double array

    pi 1x1 > double array

    +rand total is - elements using 14 bytes

    @@ clear

    @@ whos

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 22

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    23/42

    Supardi, M.SiSupardi, M.Si

    @@ sPrt/pi3

    ans A

    1#!!-5

    Menampilkan/Menyembunyikan Output

    )adang%kadang ada alasan tertentu kita ingin menampilkan harga

    dari sebuah variabel atau mungkin menyembunyikan sa$a# Untuk tu$uan

    itu, kita dapat menggunakan notasi titi oma /semi colon3 , contoh

    @@ xA-#1B yA.Dx, CAxDy

    y A

    4#."""

    C A

    1.#-.""

    (erhatikan contoh di atas, bahwa harga variabel x tidak ditampilkan,

    sedangkan variabel y dan C ditampilkan# 6entunya kita dapat memahami,

    karena setelah variabel x diikuti tanda titik koma, sedangkan y dan C tidak

    diikuti titik koma#

    Fungsi Bawaan Matlab Built!"n Fun#tios$

    Fungsi Trigonometri

    9da beberapa fungsi trigonometri yang kita kenal dalam

    matematika# 0ungsi%fungsi tersebut masuk ke dalam fungsi bawaan Matlab#

    0ungsi%fungsi trigonometri tersebut antara lain' sin/3, cos/3, tan/3, sinh/3,

    cosh/3, tanh/3, asin/3, acos/3, atan/3, asinh/3, acosh/3dan atanh/3# ang penting

    untuk diingat bahwa argumen untuk fungsi trigonometri ini adalah mode

    radian# 7ontoh

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 23

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    24/42

    Supardi, M.SiSupardi, M.Si

    @@ sin/piH.3,cos/piH.3,tan/piH.3

    ans A

    "#>44"

    ans A

    "#5"""

    ans A

    1#!.-1

    @@ asin/"#>>3,acos/"#>>3,atan/"#>>3

    ans A

    1#"!5

    ans A

    "#==

    ans A

    "#!-1!

    @@ sinh/piH.3,cosh/piH.3,tanh/piH.3

    ans A

    1#-==

    ans A

    1#4"".

    ans A

    "#!>"!

    @@ asinh/1#--3,acosh/1#--3,atanh/1#--3

    ans A

    1#"->!

    ans A

    "#451!

    ans A

    1#155> J 1#5!">i

    Fungsi Dasar Matlab

    2isamping fungsi trigonometri, fungsi%fungsi dasar $uga penting#

    &eberapa fungsi dasar tersebut antara a*s2, s3rt2, e4p2, log2, log152,

    log62. Untuk lebih $elasnya, lihat tabel dibawah ini

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 24

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    25/42

    Supardi, M.SiSupardi, M.Si

    6abel -#- 0ungsi dasar Matlab

    7o 7ama varia*el 8eterangan

    1 abs/3 Menyatakan harga mutlak, misal x

    - sPrt/3 Menyatakan akar pangkat dua, misal x

    . exp/3 Menyatakan harga eksponensial, misal ex

    = log/3 Menyatakan harga ln, misal ln/x3

    5 log1"/3 Menyatakan harga logaritma basis 1", misal log/x34 log-/3 Menyatakan harga logaritma basis -, misal

    lo!2

    x

    7ontoh

    @@ C A .J=iB

    @@ abs/C3

    ans A

    5

    @@ aA1""B

    @@ sPrt/a3

    ans A

    1"

    @@ log/a3

    ans A

    =#4"5-

    @@ log1"/a3

    ans A

    -

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 25

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    26/42

    Supardi, M.SiSupardi, M.Si

    @@ log-/a3

    ans A

    4#4=.

    @@ exp/log1"/a33

    ans A

    !#.>1

    %onstanta %husus Matlab

    Di pasal terdahulu kita sudah menyinggung beberapa konstanta

    khusus yang mana sebaiknya dihindari untuk didefinisikan kembali sebagai

    konstanta# &eberapa konstanta khusus tersebut antara lain

    6abel -#. )onstanta khusus

    No )onstanta )eterangan

    1 pi .#1=15-45###

    - i Unit ima$iner, 1

    . $ Sama dengan i

    = eps )etelitian relatif floating%point

    5 realmin &ilangan floating%point terkecil

    4 realmax &ilangan floating%point terbesar

    ! inf &ilangan tak hingga

    > NaN Not%a%Number

    @@ pi

    ans A

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 26

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    27/42

    Supardi, M.SiSupardi, M.Si

    .#1=14

    @@ i

    ans A

    " J 1#""""i

    @@ $

    ans A

    " J 1#""""i

    @@ realmin

    ans A

    -#--51e%.">

    @@ realmax

    ans A

    1#!!!eJ.">

    @@ eps

    ans A

    -#--"=e%"14

    @@ 1H"

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    28/42

    Supardi, M.SiSupardi, M.Si

    Menggunakan Fungsi Meshgri&

    0ungsi meshgrid digunakan untuk membuat $aring%$aring /grid3

    pada bidang x%y yang diatasnya terdapat permukaan fungsi# (erintah ini

    akan mentransformasi vektor x dan y pada domain tertentu men$adi bentuk

    array Q dan yang dapat digunakan untuk mengevaluasi fungsi dengan

    dua variabel dan plot permukaan .%2#

    7ontoh

    6entukan grafik fungsi z=x2

    y2

    pada domain0x

    5dan

    0y0

    (enyelesaian

    Langkah pertama adalah menentukan $aring%$aring pada bidang x%y dengan

    menggunakan meshgrid#

    @@ xA"'5B

    @@ yA"'5B

    @@ RQ Ameshgrid/x,y3

    Q A

    " 1 - . = 5

    " 1 - . = 5

    " 1 - . = 5

    " 1 - . = 5

    " 1 - . = 5

    " 1 - . = 5

    A

    " " " " " "

    1 1 1 1 1 1

    - - - - - -

    . . . . . .

    = = = = = =

    5 5 5 5 5 5

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 28

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    29/42

    Supardi, M.SiSupardi, M.Si

    :fek dari penggunaan meshgrid ini adalah kolom dari matriks Q

    memiliki elemen yang bergerak sesuai sumbu x# Sedangkan, matriks

    memiliki elemen yang bergerak sesuai sumbu y# Selan$utnya harga C nya

    adalah

    @@ CAQ#K-%#K-

    C A

    " 1 = 14 -5

    %1 " . > 15 -=

    %= %. " 5 1- -1

    % %> %5 " ! 14

    %14 %15 %1- %! "

    %-5 %-= %-1 %14 % "

    Sebagai contoh pada titik $aring /.,=3 harga z=3222=5 # 2engan

    demikian kita tidak usah khawatir dengan penggunaan meshgrid# Untuk

    menampilkan grafiknya@@ mesh/Q,,C3

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 29

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    30/42

    Supardi, M.SiSupardi, M.Si

    Fungsi %husus Matlab

    Matlab memiliki fungsi khusus yang sangat berguna untuk

    perhitungan numerik# 2alam bab ini kita akan membahas beberapa fungsi

    khusus yang biasa digunakan dalam bidang sains maupun teknik#

    Fungsi 'eval$

    0ungsi feval/3 dapat digunakan untuk mengevaluasi sebuah fungsi#

    Untuk itu, pertama kali yang harus dipersiapkan adalah membuat fungsi

    yang akan dievaluasi# )ali ini, kita menggunakan fungsi yang sudahdisediakan oleh Matlab bernama "umps.

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 30

    &llustration ,

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    31/42

    Supardi, M.SiSupardi, M.Si

    Untuk mengevaluasi fungsi humps tersebut, kita harus membuat

    fungsi "andle dengan menggunakan tanda /baca et3#

    @@ fhandleAOhumpsB

    @@ feval/fhandle,13

    ans A

    14

    Fungsi Polyval

    0ungsi polyval digunakan untuk menentukan nilai sebuah

    polinomial dalam bentuk

    px=a0a

    1x

    1a

    2x

    2a

    3x

    3a

    4x

    4...a

    n1xn1a

    nx

    n

    Matlab memiliki cara sederhana untuk menyatakan polinomial seperti dia

    tas dengan cara

    p=[ an an1 ... a3 a2 a1 a0 ]

    %ontoh

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 31

    (ambar ., /ungsi "umps

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    32/42

    Supardi, M.SiSupardi, M.Si

    2iketahui sebuah polinomial berbentuk px=x43x

    24x5

    akan dievaluasi pada x=2, 3 dan =#

    9a-a*

    (ertama, kita nyatakan polinomial yang akan dievaluasi berbentuk

    pAR1 " . = 5#

    )edua, kita nyatakan titik evaluasi yaitu xAR-,%.,=

    )etiga, mengevaluai polinomial pada x, yaitu polyval/p,x3

    ;ika ditulis dalam command window

    @@ pAR1 " . = 5B

    @@ xAR-,%.,=B

    @@ polyval/p,x3

    ans A

    =1 1"1 .-5

    Fungsi Poly'it

    ;ika kita telah memperoleh hasil dari sebuah eksperimen, maka

    kadang kita perlu mencocokan dengan bentuk fungsi apa data yang telah

    diperoleh# Mungkin sa$a cocok dengan fungsi yang berbentuk linier,

    kuadratis, polinomial tiga atau polinomial lainnya# 2engan menggunakan

    fungsi ini, kita dapat mencocokan data kita# &entuk umum fungsi ini adalah

    p A polyfit/x,y,n3

    dengan n adalah polinomial orde n, yaitu polinomial yang digunakan untuk

    mencocokan data#

    %ontoh

    2ari hasil eksperimen diperoleh data sebagai berikut

    x 1 - . = 5 4 ! > 1"

    y 1#. .#- 11#. 15#1 -5#5 .>#- =!#1 4>#- >1#. >#-

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 32

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    33/42

    Supardi, M.SiSupardi, M.Si

    2ari data eksperimen yang diperoleh, kita akan melakukan

    pencocokan ke bentuk polinomial tertentu# 6etapi, kalau kita lihat dari

    trend data y, kita bisa menduga bahwa data kita mendekati polinomial orde

    - /kuadratis3#

    xAR1'1"B

    yAR1#.,.#-,11#.,15#1,-5#5,.>#-,=!#1,4>#-,>1#.,>#-B

    pApolyfit/x,y,-3

    9khirnya diperoleh p berbentuk

    p A

    "#->= "#!4. %1#".5"

    yang merupakan koefisien polinomial p# Sekarang kita memiliki polinomial

    hasil pencocokan berbentuk

    p=0.9284x20.7693x1.0350

    Untuk melihat seberapa bagus hasil pencocokan yang kita lakukan, marilah

    kita lakukan evaluasi pada titik%titik data yang kita miliki#fApolyval/p,x3B

    tabelARxT yT fT /y%f3T

    tabel A

    1#"""" 1#.""" "#44-! "#4.!.

    -#"""" .#-""" =#-1!. %1#"1!.

    .#"""" 11#.""" #4->4 1#4!1=

    =#"""" 15#1""" 14#>4> %1#!4>

    5#"""" -5#5""" -4#"-1> %"#5-1>

    4#"""" .>#-""" .!#"".4 1#14=

    !#"""" =!#1""" =#>=-. %-#!=-.

    >#"""" 4>#-""" 4=#5.!! .#44-.

    #"""" >1#.""" >1#""" "#-1""

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 33

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    34/42

    Supardi, M.SiSupardi, M.Si

    1"#"""" >#-""" #=1 %1#-1

    Sekarang, marilah kita tampilkan selengkapnya dalam bentuk grafik

    dengan menuliskan code melalui $endela editor#

    Fungsi poly&er

    0ungsi polyder digunakan untuk menurunkan polinomial yang kita

    miliki# &entuk umum penggunaan fungsi polyder adalah

    k A polyder/p3

    atau

    k A polyder/a,b3

    %ontoh

    6urunkan polinomial di bawah ini

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 34

    (ambar ., Pencocokan data dengan polinomial orde

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    35/42

    Supardi, M.SiSupardi, M.Si

    px=4x43x

    24x5

    9a-a*

    pAR= " . = 5B

    polyder/p3

    ans A

    14 " 4 =

    Gasilnya $ika dituliskan dalam bentuk ungkapan matematis16x

    36 x4

    %ontoh

    6urunkan polinomial di bawah ini

    px=x43 x

    24x52x

    3x

    23 x1

    9a-a*

    aAR= " . = 5B

    bAR- 1 . 1B

    pApolyder/a,b3

    p A

    54 -= " 4" 4 =" 1

    atau

    px=56 x624x

    590x

    460x

    369x

    240x19

    Fungsi roots0ungsi roots digunakan untuk memperoleh akar dari sebuah

    polinomial orde n# &entuk umum dari fungsi ini adalah

    r A roots/c3

    %ontoh

    2iketahui sebuah polinomial px=4x43x

    24x5 . Dapatan

    akar%akar polinomial tersebut dengan menggunakan fungsi roots#

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 35

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    36/42

    Supardi, M.SiSupardi, M.Si

    9a-a*

    (olinomial px=4x43x

    24x5 dapat dituliskan dalam Matlab

    berbentuk

    pAR = " . = 5

    9kar polinomial tersebut adalah

    roots/p3

    ans A

    "#4.4= J 1#">."i

    "#4.4= % 1#">."i

    %"#4.4= J "#4---i

    %"#4.4= % "#4---i

    Fungsi poly

    0ungsi poly digunakan untuk menentukan bentuk polinomial setelah

    akar%akar polinomial tersebut diketahui# &entuk umum fungsi poly adalah

    p A poly/r3

    %ontoh

    2iketahui akar polinomial p adalah 1,-,.,= dan 5# 6entukan bentuk

    polinomialnya#

    9a-a*

    @@ rAR1 - . = 5B

    @@ poly/r3

    ans A

    1 %15 >5 %--5 -!= %1-"

    atau

    px=x515 x

    485x

    3225x

    2274x120

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 36

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    37/42

    Supardi, M.SiSupardi, M.Si

    Fungsi #onv

    0ungsi conv digunakan untuk mengalikan polinomial# &entuk

    umumnya adalah

    w A conv/u,v3

    %ontoh

    2iketahui dua buah polinomial u x=x23x2 dan

    vx=x32x

    23x1 # 6entukan hasil perkalian dua polinomial

    tersebut#

    9a-a*

    @@ uAR1 . -B

    @@ vAR1 - . 1B

    @@ conv/u,v3

    ans A

    1 5 11 1= -

    atau

    x55 x

    411x

    314x

    29x2

    Fungsi &e#onv

    0ungsi deconv berkebalikan dengan conv# 0ungsi ini akan

    melakukan pembagian dua buah polinomial# &entuk umumnya adalah

    RP,r A deconv/v,u3

    dengan P dan r masing%masing adalah hasil bagi dan residu#

    %ontoh

    2iketahui dua buah polinomial yaitu

    p1x=2x

    43x

    3x

    24x5 dan p

    2x=x

    23x4 , maka carilah

    hasil bagi antara p1 dengan p2 beserta residunya#

    9a-a*

    2engan menggunakan fungsi deconv, maka kita dapat memperoleh

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 37

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    38/42

    Supardi, M.SiSupardi, M.Si

    hasil bagi dan residunya#

    @@ p1AR- . 1 = 5B

    @@ p-AR1 . =B

    @@ RP rAdeconv/p1,p-3

    P A

    - %. -

    r A " " " 1" %.

    atau $ika dinyatakan dalam bentuk matematis

    q=2x23x2 dan r=10x3

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 38

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    39/42

    Supardi, M.SiSupardi, M.Si

    SI9L L96G9N

    1# :valuasi pernyataan Matlab berikut ini# Gitunglah secara manual

    terlebih dahulu, setelah itu cek $awabanmu dengan menggunakan

    Matlab

    a3 -%.

    b3 -%5H-

    c3 .J=D.

    d3 .J=H.D.

    e3 .J=D.H=

    f3 /-%.H=3H-J.D=

    g3 /-%.3H.D=

    h3 /.J=H.3H/.%=H.3H.

    i3 /.J=H.3H/.%=H.3D.

    $3 /.J=H.3H/.%=H.3J.

    k3 .D=%=H5J-

    -# ;elaskan dengan alasan yang masuk akal manakah penulisan variabel

    yang tidak benar berikut ini

    a3 b.-

    b3 -d

    c3 s.=d

    d3 la$uFsepeda

    e3 Fla$u

    f3 kecepatan

    g3 kecepatan

    h3 la$u sepeda

    i3 TaTnu

    $3 pi

    k3 realmax

    l3 aK.

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 39

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    40/42

    Supardi, M.SiSupardi, M.Si

    .# 6entukan manakah bilangan%bilangan berikut ini yang tidak diterima

    oleh Matlab

    a3 -,.=

    b3 -#.-

    c3 "#.-

    d3 %.-1=

    e3 -#.e%=

    f3 5#-eJ-

    g3 5eK.

    h3 .#=.e5#.

    i3 .=#-DeK-

    =# 6er$emahkan pernyataan%pernyataan berikut ini dalam Matlab

    a3 abc

    b3 a

    bc

    c3 p w

    uv

    d3 xy z

    e3 bb

    24 ac

    2a

    f3 x

    yz

    g3

    a b

    cd

    a b

    cd

    5# &agaimanakah nilai x dan y setelah pernyataan berikut ini dieksekusi

    yA"B

    iA1B

    xAxJiB

    yAyJiHxB

    xAxJiB

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 40

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    41/42

    Supardi, M.SiSupardi, M.Si

    yAyJiHxB

    xAxJiB

    yAyJiHxB

    xAxJiB

    yAyJiHxB

    4# 7obalah untuk membuat program komputer seperti pada perintah

    berikut ini#

    /a3 Letakkan nilai = pada variabel bernama pan$ang dan tidak

    ditampilkan#

    /b3 Letakkan nilai - pada variabel bernama lebar dan tidak

    ditampilkan#

    /c3 Letakkan nilai 5 pada variabel bernama tinggi dan tidak

    ditampilkan#

    /d3 6entukan variabel volume sebagai hasil perkalian antara variabel

    pan$ang, lebar dan tinggi#

    /e3 6entukan variabel luasFpermukaan sebagai duakali pan$ang kali

    lebar ditambah duakali pan$ang kali tinggi ditambah duakali

    lebar kali tinggi#

    /f3 6ampilkan harga yang tersimpan di dalam variabel volume dan

    luasFpermukaan

    Dasar-Dasar Pemrograman Matlab Untuk Sains dan Teknik 41

  • 7/22/2019 Belajar Komputasi Dengan Matlab

    42/42

    Supardi, M.SiSupardi, M.Si