Top Banner

of 20

modul-pengantar-pemrograman-matlab.pdf

Oct 08, 2015

Download

Documents

Shoffan Shoffa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • BBaabb 11 Pengantar untuk

    Pemrograman MATLAB

    1.1 Pendahuluan MATLAB (Matrix Laboratory) adalah sebuah program untuk

    analisis dan komputasi numerik dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk dengan dasar pemikiran menggunkan sifat dan bentuk matriks. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin numerik dari proyek LINPACK dan EISPACK, dan dikembangkan menggunkan bahasa FORTRAN namun sekarang merupakan produk komersial dari perusahaan Mathworks, Inc.yang dalam perkembangan selanjutnya dikembangkan menggunakan bahasa C++ dan assembler (utamanya untuk fungsi-fungsi dasar MATLAB).

    MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis 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 untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak terlalu sulit bila Anda telah memiliki pengalaman dalam pemrograman bahasa lain seperti C, PASCAL, atau FORTRAN.

    MATLAB merupakan merk software yang dikembangkan oleh Mathworks.Inc.(lihat http://www.mathworks.com) merupakan software yang paling efisien untuk perhitungan numeric berbasis matriks. Dengan demikian jika di dalam perhitungan kita dapat

  • 2 Judul Buku

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

    MATLAB (MATrix LABoratory) yang merupakan bahasa pemrograman tingkat tinggi berbasis pada matriks sering digunakan untuk teknik komputasi numerik, yang digunakan untuk menyelesaikan masalah-masalah yang melibatkan operasi matematika elemen, matrik, optimasi, aproksimasi dll. Sehingga Matlab banyak digunakan pada :

    Matematika dan Komputansi Pengembangan dan Algoritma Pemrograman modeling, simulasi, dan pembuatan

    prototipe

    Analisa Data , eksplorasi dan visualisasi Analisis numerik dan statistik Pengembangan aplikasi teknik

    1.2 Window-window pada MATLAB Ada beberapa macam window yang tersedia dalam MATLAB, yang dapat dijelaskan sebagai berikut:

    a. MATLAB Command window/editor

    MATLAB Command window/editor merupakan window yang dibuka pertama kali setiap kali MATLAB dijalankan

  • Pengantar untuk Pemrograman MATLAB 3

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

    Jika perintah-perintah yang sudah diketikkan dan hasil yang ditampilkan pada layar command window akan disimpan maka dapat 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 dapat dilakukan 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

  • 4 Judul Buku

    adalah adanya prompt (>>) yang menyatakan matlab siap menerima perintah. Perintah dapat berupa fungsi-fungsi pengaturan file (seperti perintah DOS/UNIX) maupun fungsi-fungsi bawaan/toolbox MATLAB sendiri. Berikut ini beberapa fungsi 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 file

    clear : 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 tampilan

    demo yang disediakan oleh Matlab

  • 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). Walaupun sebenarnya script ini untuk pemrograman Matlab dapat saja menggunakan editor yang lain seperi notepad, wordpad bahkan word. Untuk mengakses window m-file ini dapat dilakukan dengan cara :

    1. Memilih File kemudian pilih New

    2. 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 Windows

    Window ini adalah hasil visualisasi dari script Matlab. Namun Matlab memberi kemudahan bagi programer untuk mengedit window ini sekaligus memberikan program khusus untuk itu. Sehingga window ini selain berfungsi sebagai visualisasi output dapat juga sekaligus menjadi media input yang interaktif.

  • 6 Judul Buku

    Contoh : >> x=0:2:360; >> y=sin(x*pi/180);

    >> plot(x,y)

    hasil yang diperoleh adalah :

    d. MATLAB help window

    MATLAB menyediakan sistem help yang dapat diakses dengan perintah help. Misalnya, untuk memperoleh informasi mengenai fungsi 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 muncul informasi dalam bentuk teks pada layar MATLAB yaitu : Elementary math functions. Trigonometric. sin - Sine. sinh - Hyperbolic sine. asin - Inverse sine.

  • 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 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.

  • Pengantar untuk Pemrograman MATLAB 9

    Selain help untuk informasi di atas dapat juga dilihat informasi lainnya misalnya perintah yang sangat berguna untuk mempelajari pemrograman MATLAB adalah intro, yang membahas konsep-konsep dasar tentang bahasa MATLAB. Selain itu, juga terdapat banyak program demonstrasi yang mengilustrasikan berbagai kapabilitas MATLAB, yang dapat dimulai dengan perintah demo. Atau untuk lebih lengkapnya dapat dilihat di tampilan MATLAB dengan cara memilih menu Window kemudian pilih help window, dan untuk mengetahui informasi yang ada maka dapat dilakukan dengan mengclickan dua kali info yang ada di MATLAB Help Window atau dengan mengetikkan informasi yang ingin didapatkan pada sudut sebelah kiri MATLAB Help Window. Sebagai contoh tampilan Help window tersebut adalah sebagai berikut :

    Sebelum melihat lebih jauh tentang kemampuan MATLAB untuk programming ataupun penyelesaian masalah-masalah numerik maka dapat dilakukan beberapa percobaan sederhana seperti berikut ini :

    Ketikkan : x=12 x=6

  • 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 output ke 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 gambar berikut ini :

    untuk contoh sederhana lainnya dapat dicoba beberapa perintah berikut ini :

  • 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)

  • 12 Judul Buku

    Keterangan:

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

    1.3 Bilangan dan Operator Matematika di Matlab

    Ada tiga tipe bilangan di dalam Matlab yaitu :

    Bilangan bulat ( integer )

    Bilangan real

    Bilangan kompleks

    Contoh bilangan bulat x=10

    x =

    10

    Contoh bilangan real x=10.01

    x = 10.0100 Untuk bilangan kompleks yang bentuk umumnya adalah z= a+bi , salah satu kehebatan MATLAB adalah tidak memerlukan penanganan khusus untuk bilangan kompleks dan untuk bilangan ini diberi tanda i atau j, contohnya : y=sqrt(-2) % akar negatif 2 y = 0 + 1.4142i real(y) ans =

    0

    imag(y)

  • 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 dasar berikut :

    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 ekspresi yang mengikuti aturan prioritas yang biasa (hirarki). Aturan tersebut dapat diringkas sebagai berikut :

    Ekspresi dikejakan dari kiri ke kanan dengan pemangkatan mempunyai prioritas tertinggi, diikuti dengan perkalian atau pembagian yang mempunyai prioritas yang sama, diikuti dengan penambahan dan pengurangan yang juga memiliki prioritas yang sama. Tanda kurung dapat digunakan untuk merubah urutan pengerjaan yang biasa dimana bagian yang dikerjakan terlebih dahulu adalah bagian yang yang ada di bagian kurung paling dalam kemudian keluar.

  • 14 Judul Buku

    Contoh :

    Misalnya anda mengambil kuliah sebanyak 12 SKS , yang terdiri dari seismologi 4 sks , Analisis sinyal 3 sks , Tomografi 2 sks dan Gravitasi 3 sks . Lalu pada akhir semester anda mendapat nilai sebagai berikut seismologi A , Analisis sinyal B , Tomografi C dan gravitasi A . Dengan point 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 dengan terlebih dahulu menyimpan informasi yang kita punya pada variabel. seismologi=4 tomografi=2 analisis_sinyal=3 gravitasi=4 seismologi = 4

    tomografi = 2

    analisis_sinyal = 3

    gravitasi = 4

    total_sks=12

    total_sks =

    12

  • 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 titik koma ( ; ) dalam Matlab berguna untuk mencegah menampilkan hasil, contoh :

    semester=8;

    1.5 Fungsi-Fungsi Matematika Dasar MATLAB mempunyai berbagai fungsi matematika umum

    yang biasa di gunakan dalam matematik . Sebagian besar fungsi tersebut hampir sama dengan bila anda menuliskannya secara matematis. Sebagai contoh : pi ans =

    3.1416

    y=sin(pi/6) y =

  • 16 Judul Buku

    0.5000

    y=asin(0.5) y =

    0.5236

    Contoh Penyelesaian Masalah

    Contoh 1: Persamaan fungsi M=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 =

  • Pengantar untuk Pemrograman MATLAB 17

    1.6223e-023

    Contoh 2 : Penentuan volume silinder berlubang

    Sebuah silinder mempunyai diameter luar 6.3125 dan diameter dalam 5.762 , tentukan volumenya bila diketahui rumus untuk mencari volumenya :

    ( )3334 RIREV =

    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 Memanggil Data Untuk Menyimpan dan memenggil data dari file pilih File

    Save Workspace As . Untuk memanggil data digunakan pilihan Load WorkSpace As atau Open pada menu file. Sedangkan untuk mengimport 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 atau lebih 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 file Matlab.mat

  • 18 Judul Buku

    save data

    menyimpan semua variabel Matlab dalam format biner di file data.mat save data_x x

    menyimpan variabel x dalam format biner di file data_x.mat save data_xy x y /ascii

    menyimpan variabel x dan y dalam format biner di file data_xy dalam format ascii untuk membuka data digunakan perintah load, contoh; load data_x.mat

    1.8. Operator Logika dan Relasional MATLAB menyediakan operasi logika dan relasional, hal ini diperlukan untuk menjawab pertanyaan benar atau salah dan salah satu manfaat yang penting dari kemampuan ini adalah untuk mengontrol urutan eksekusi sederetan perintah MATLAB (biasanya dalam M-File) berdasarkan pada hasil pertanyaan benar/salah.

    Sebagai masukan pada semua ekpresi relasi dan logika , MATLAB menganggap semua angka tidak nol sebagai benar, nol sebagi salah. Hasil dari semua ekspresi logika relasi dan logika adalah satu untuk benar dan nol untuk salah dengan tipe array logika yaitu hasilnya memuat bilangan 1 dan 0 yang tidak saja dapat digunakan untuk statemen matematika akan tetapi dapat juga untuk pengalamatan

    Operator relasi MATLAB terdiri dari semua pembandingan :

    Operator Relasi Deskripsi < Kurang dari > Lebih dari

  • Pengantar untuk Pemrograman MATLAB 19

    = Lebih dari atau sama dengan = Sama dengan

    ~= Tidak sama dengan Operator relasi MATLAB dapat digunakan untuk membandingkan dua array berukuran sama atau untuk membandingkan array dengan skalar.

    Operator logika menyediakan cara untuk menggabung atau menegasikan 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 MATLAB dan mendownloadnya maka di bawah ini beberapa informasi yang berkenaan dengan MATLAB, dan informasinya bisa didapatkan dibeberapa situs berikut ini :

    1. Web site MathWorks : http://www.mathworks.com/ disitus ini bisa di dapatkan informasi tentang produk baru MATLAB seperti buku dan lain-lainnya.

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

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

  • 20 Judul Buku

    merupakan langkah awal untuk memperoleh web site MATLAB lainnya.

    4. http://www.cse.uiuc.edu/cse301/matlab.html, web site ini merupakan websitenya University of Illinois di Champaign-Urbana, yang menyediakan beberapa link untuk MATLAB di internet

    5. Mastering Matlab Web site: http://www.eece.maine.edu/mm