Handout Pen Gen Alan Matlab

download Handout Pen Gen Alan Matlab

of 27

Transcript of Handout Pen Gen Alan Matlab

Pengenalan MatlabOleh: Ahmad Fajar Firdaus, ST

4/28/2012

0

PERKENALAN MATLAB

MATLAB adalah perangkat lunak tingkat tinggi yang memungkinkan untuk melakukan perhitungan numerik dan merupakan generasi keempat dari bahasa pemrograman. Lebih spesifik lagi, Matlab merupakan piranti yang mengizinkan penggunanya untuk memanipulasi matriks, plot data dan fungsi, pengimplementasian algoritma, penggunaan antarmuka dan antarmuka dengan program dari bahasa lain. Generasi bahasa pemrograman sebagai berikut : Generasi Pertama Kedua Ketiga Contohnya Mnemonic MIPS, Sun SPARC, HP PA-RISC and x86(-64) Common LISP Fortran, ALGOL, Pascal, Basic and COBOL, C Java, Simula, Smalltalk, C++, C# Matlab, SQL Prolog, OPS5, and Mercury Fungsi/keterangan Program level mesin Bahasa assembly Bahasa fungsional Bahasa prosedural Bahasa berorientasi objek Sedikit algoritma Artificial Intelligence

Keempat Kelima

Memulai MATLABUntuk memulai Matlab, klik START>All Programs>MATLAB>Seri Matlab> MATLAB Seri Matlab

4/28/2012

1

Tampilan MatlabHelp Membantu mencari keterangan seperti penggunaan fungsi dan penggunaan syntax Editor Memanipulasi script program Current Directory Tempat melihat directory di mana file yang berhubungan yang akan dieksekusi Workspace Tempat melihat nilai yang lebih banyak sperti nilai array, matriks atau citra. Command History Mencatat nilai varibel yang sedang dan telah digunakan sebelumnya Command Window Tempat membangun dan mengompilasi fungsi atau file yang ada Help

4/28/2012

2

Praktek1. Ketikan Script berikut pada Command Window a = 1; b = [1 2 3]; 2. Lihat Workspace

Terlihat variable variable a dan b tersimpan di workspace. 3. Lihat Command History. Terdapat script yang tadi Anda ketikkan.

4. 5.

Ketikkan script berikut pada Command Window. Apa yang terjadi? clc; Ketikkan script berikut pada Command Window, perhatikan Workspace Matlab Anda. clear all;

4/28/2012

3

EKSPRESI

Sebagaimana bahasa pemrograman yang lain, MatLab melibatkan berbagai ekspresi matematika. Ekspresi ini sering kali melibatkan matriks.

AngkaFormat angka yang digunakan adalah seperti angka pada umumnya, dapat menggunakan decimal (dengan titik), menggunakan tanda minus, bahkan dapat menggunakan bilangan kompleks (mengandung i atau j) Contoh>> 3 >> 4.05 >> 7+3.6i >> 7+3.6j

OperatorBerikut ini adalah operator yang dapat digunakanOperator + * / ^ () Arti penjumlahan pengurangan perkalian pembagian pangkat transpose konjugat kompleks urutan pengerjaan

Contoh>> 5 + 3 * (9 ^ 2)/6 ans = 45.5000 Selain itu, ada juga operator relasional seperti: Operator == ~= < >=

lebih besar lebih besar sama dengan

VariabelBerbeda dengan bahasa lainnya, tidak diperlukan deklarasi variable dalam MatLab. MatLab akan otomatis membuat variable baru ketika diperlukan. Jika variable sudah ada, MatLab akan mengubah nilai variable yang lama menjadi nilai yang baru.

Contoh Cara membuat variable :>> variabel_baru = 1 variabel_baru = 1

Dalam hal ini, MatLab secara otomatis membuat variable variable_baru yang bernilai 1. Ketika sintaks berikut diketikkan :>> variabel_baru = [1 2 3] variabel_baru = 1 2 3

Nilai variable_baru berubah menjadi *1 2 3+.

Fungsi dan KonstantaMatLab mempunyai berbagai fungsi matematika, seperti sin (sinus), cos (kosinus), abs (mencari nilai absolut), sqrt (akar kuadart), exp (eksponensial), sinh (sinus hiperbolik), dan sebagainya. Selain fungsi, terdapat juga konstanta, seperti pi (3,14159), i atau j ( 1 ), eps (presisi floating point, yaitu 2.2204e-016), Inf (tak berhingga), NaN (bukan bilangan), dan lain-lain.

Contoh

>> x = [0:1:4]; >> y = cos (2*pi*x/5) + sin (2*pi*x/5) * i y =

4/28/2012

5

Columns 1 through 4 1.0000 Column 5 0.3090 - 0.9511i >> Y = abs(y) 0.3090 + 0.9511i -0.8090 + 0.5878i -0.8090 - 0.5878i

Y = 1.0000 1.0000 1.0000 1.0000 1.0000

Note : Penggunaan Tanda Titik Koma Lihat kembali contoh di atas. Dalam menginisiasikan variable x, kita menggunakan tanda titik koma ; di akhir ekspresi. Apa bedanya jika kita tidak menggunakan tanda titik koma, misalnya pada ekspresi Y = abs(y) ? Dari contoh tersebut, terlihat bahwa jika tanda titik koma tidak ada, maka nilai variable yang diinisiasikan, Y misalnya, akan ditampilkan pada command window. Dengan tanda titik koma, nilai variable tidak akan ditampilkan, sehingga command window akan lebih bersih. Note : Menghapus Variabel Untuk menghapus variabel dipergunakan sintaks clear nama_variabel, atau clear all untuk menghapus seluruh variable yang ada. Tambahan : Komentar Untuk menuliskan komentar, awali dengan tanda %. Komentar ini tidak akan dibaca ketika eksekusi program. Kira-kira apa fungsi komentar dari sebuah program?

4/28/2012

6

MATRIKS

Matriks secara garis besar yang dipakai adalah matriks dengan ukuran 2 dimensi (mxn, di mana m adalah baris dan n adalah kolom dan nilai m atau n >= 1). MATLAB menyediakan langkah yang sederhana menggunakan pengulangan transversal (peambahan) dengan syntax init:increment:terminator.

Menulis MatriksContoh >> array = 1:2:9 array = 13579 Contoh di atas ditandai dengan definisi awal (init = 1), dengan penambahan sebesar 2, dengan akhir nilai 9. Maka hasil eksekusi nilai variable array adalah 1 3 5 7 9 Contoh: >> array = 1:3:9 array = 147 Penulisan lainnya : >> ari = 1:5 ari = 12345 Pada contoh di atas, penambahan dianggap sebesar satu interval nilai integer. Deklarasi untuk mxn : >> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] A= 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 Untuk pengambilan nilai matriks yang sudah di-assign : >> A(2,3) ans = 11 >> A(2:4,3:4) ans = 11 8

4/28/2012

7

7 12 14 1 Latihan Coba ketikkan script berikut. A(2,:) Apa yang terjadi? Matlab juga memungkinkan pengguna untuk mendeklarasikan nilai tertentu ke dalam matriks dengan ukuran tertentu. Contohnya : >> eye(3) ans = 100 010 001 >> zeros(2,3) ans = 000 000 >> ones(2,3) ans = 111 111 >> rand(3,3) ans = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 *eye dan rand, apakah itu? Coba cari menggunakan produk Help

4/28/2012

8

MEMBUAT GRAFIK

Fungsi PlotUntuk menggambar grafik, digunakanlah fungsi plot. Sintaksnya adalah sebagai berikut.plot(y)

Jika y adalah bilangan real, hasil plot adalah urutan bilangan 1, 2, dst., terhaddap y.

Contoh

>> y=[2 3 4 5]; >> plot(y);

Hasilnya :

Untuk y bilangan imajiner, hasil plot merupakan plot bagian real y dan imajiner y.

Contoh>> y = [1+j 2i -1-j]; >> plot(y)

4/28/2012

9

Untuk mengeplot variable x sebagai sumbu horixontal dan variable y sebagai sumbu vertical, digunakan format penulisan plot(x,y). Selain itu, kita dapat menumpuk beberapa plot dalam 1 gambar, dengan sintaks plot(x1,y1,x2,y2, ).

Contoh>> x=0:0.01:1; >> y=sin(2*pi*x); >> plot(x,y);

>> x1=0:0.01:1; >> y1=sin(2*pi*x1);

4/28/2012

10

>> x2=x1; >> y2=sin(2*pi*x2+pi/2); >> x3=x1; >> y3=sin(2*pi*x3+pi); >> plot(x1,y1,x2,y2,x3,y3);

Berikut ini adalah contoh memberi judul dan nama sumbu. Contoh

>> x=0:0.01:1; >> y=sin(2*pi*x); >> plot(x,y), xlabel('Sumbu X'), ylabel('Sumbu Y'), title('Judul Grafik');

4/28/2012

11

Selain fungsi plot, dapat juga digunakan fungsi lain untuk membuat grafik, misalnya stem, bar, area, dan stairs. Apa perbedaannya? Silakan lihat contoh berikut.

Contoh>> x=0:0.01:1; >> y=sin(2*pi*x); >> subplot(2,2,1), stem(x,y), title('Stem'); % Subplot merupakan fungsi untuk menampilkan beberapa grafik dalam satu buah figure. Sintaksnya subplot(m,n,p), m dan n merupakan dimensi matriks tempat peletakkan gambar, dan p adalah urutan peletakkan gambar, yaitu mulai dari baris teratas. >> subplot(2,2,2), bar(x,y), title('Bar'); >> subplot(2,2,3), area(x,y), title('Area'); >> subplot(2,2,4), stairs(x,y), title('Stair');

Selain memplot grafik 2 dimensi, MatLab juga dapat dipergunakan untuk melakukan plot 3 Dimensi. Sebagai contoh :

4/28/2012

12

Contoh Melakukan plot fungsi z = f(x,y) = exp(-[x2+y2]) for (i = 1:length(x)) for (j = 1:length(y)) z(i,j)=exp(-x(i)^2-y(j)^2); end end mesh(x,y,z);

Gambar 3 Dimensi di atas digambar dengan menggunakan fungsi mesh(x,y,z). Penggunaan fungsi ini sedikit lebih rumit daripada fungsi plot. Jika vector x memiliki panjang (length) i dan vector y memiliki panjang j, maka z haruslah suatu mariks yang berukuran i x j. Dalam contoh ini, pembuatan matriks dilakukan dengan loop for, yang akan dibahas kemudian. Selain dengan fungsi mesh, penggambaran plot juga dapat dilakukan dengan fungsi surf atau surfl.

4/28/2012

13

PROGRAMMING MATLAB

PERKENALAN M-FILES DAN MAT-FILESPada MatLab, dikenal dua tipe file yang sering digunakan dan dihasilkan dari suatu program MatLab, yaitu m file dan mat file. M file merupakan file yang digunakan untuk menyimpan script-script MatLab. Contoh Buat sebuah file dengan isi berikut ini :A=rand(3,3);

Lalu save dengan nama contoh.m. Pada MatLab, ketikkan contoh, tekan enter, kemudian ketikkan A, dan tekan enter kembali. Akan muncul matriks 3 x 3 dengan bilangan yang acak. Mat file merupakan file yang digunakan untuk menyimpan suatu variable pada MatLab. Mat file disimpan dalam format array. Untuk menyimpan variable dalam bentuk Mat file, digunakan sintaks save nama_file yang berarti seluruh variable yang ada pada workspace disimpan dalam file nama_file.mat. Variasi penggunaan sintaks ini akan dijelaskan sebagai berikut. Contoh Ketikkan sintaks berikut di MatLab :>> B = rand(3,3); >> save variabelB B;

Artinya, variable B disimpan dalam file variabelB.mat yang terletak pada folder tempat kita bekerja (current directory). Untuk melihat isi variable B, gunakan sintaks berikut.>> load variabelB B; >> B

Akan terlihat bahwa nilai B muncul, yaitu suatu matriks 3 x 3 dengan bilangan yang acak. Jika kita ingin menyimpan dalam folder yang berbeda dengan current directory, dapat digunakan sintaks berikut. >> save ../varB B;

4/28/2012

14

Nama file adalah varB dan variable yang disimpan adalah B. Sintaks ../ berarti kita berpindah folder ke tingkatan yang lebih tinggi dari folder sekarang. File varB.mat akan disimpan dalam folder Documents and Setting (jangan lupa tanda petik tunggal). Untuk melihat nilai B, dapat digunakan sintaks berikut.>> addpath ../ >> load varB B

Addpath digunakan agar MatLab dapat membaca file dalam folder Documents and Setting. Setelah itu, digunakan sintaks load seperti pada contoh sebelumnya. Terkadang, kita ingin bermain dengan nama file, misalnya akan menyimpan file varBke1, varBke2, dan seterusnya. Berikut adalah contoh sintaksnya.>> contoh = 1; % contoh sederhana, digunakan hanya sebuah angka >> save (['../varBke' num2str{contoh),' '],'B');

Fungsi num2str akan mengubah variable contoh yang berisi sebuah integer ke dalam bentuk teks. Dengan demikian, file yang disimpan adalah varBke1.mat. Untuk melihat B, digunakan sintaks berikut (sama seperti contoh sebelumnya)>> addpath ../ >> load varBke1 B

Nilai B akan muncul di layer setelah mengetikkan B di MatLab.

Penggunaan EditorPada MatLab terdapat fitur editor yang dapat digunakan untuk membuat program. Cara mengakses editor ini dilakukan sesuai dengan petunjuk sebelmunya. Seperti halnya pada programming dengan bahasa lain, programmer dapat menggunakan editor lain dalam membuat script, missal notepad, crimson, notepad++, dan sebagainya.

Flow ControlBagian yang umum ditemukan pada script MatLab antara lain: if else -elseif, switch - case, for, dan while.

If - else elseifSintaks ini dipergunakan dalam kasus kondisional. Berikut adalah sintaksnya.IF kondisi aksi ELSEIF kondisi

4/28/2012

15

aksi ELSE aksi END

Aksi pada bagian IF akan dieksekusi jika dan hanya jika kondisi setelah sintaks IF bernilai benar (true). ELSEIF atau ELSE mengeksekusi aksi alternative apabilai kondisi pada IF tidak terpenuhi. Contoh

Kita ingin membandingkan 2 buah bilangan, sebut saja A dan B. Apabila A > B, output yang dihasilkan adalah tulisan A lebih besar dari B. Apabila A < B, output yang dihasilkan adalah tulisan A lebih kecil dari B. Apabila A = B, output yang dihasilkan adalah tulisan A sama dengan B. Dalam MatLab, program seperti ini dapat dituliskan sebagai berikut.if A > B ' A lebih besar dari B ' elseif A < B ' A lebih kecil dari B ' elseif A == B ' A sama dengan B ' else error('Unexpected situation') % Penanganan error end

Pernyataan IF ini diakhiri dengan sintaks END.

Switch caseKegunaan switch case sama seperti IF. Berikut adalah sintaksnya.SWITCH switch_expr CASE case_expr, statement, ..., statement CASE {case_expr1, case_expr2, case_expr3,...}

4/28/2012

16

statement, ..., statement ... OTHERWISE, statement, ..., statement END

Contohswitch A case 1 'A bernilai satu' case 2 'A bernilai dua' case 3 'A bernilai tiga' case 4 'A bernilai empat' otherwise 'lain-lain' end

Hasil keluaran program tergantung dari nilai A, apakah bernilai 1, 2, 3, 4, atau bernilai selain itu. Jika A bernilai 1, output yang ditampilkan adalah A bernilai 1, dan seterusnya.

ForSintaks for digunakan untuk bagian yang memerlukan pengulangan. Sintaknya adalah sebagai berikut.FOR variabel = ekspresi, pernyataan, , pernyataan END

Contoh Perhatikan program berikut.for i=1:0.1:5, i, end

4/28/2012

17

Dalam program ini, digunakan variable i yang bernilai 1 sampai 5 dengan kenaikan 0,1. Program akan mengeluarkan nilai i, mulai dari 1, 1,1, 1,2, dan diulang sampai nilai i sama dengan 5.

WhileSintaks while sama kegunaannya dengan for, yaitu untuk pengulangan. Aksi akan diulang sampai ekspresi pada while tidak terpenuhi. Sintaksnya adalah sebagai berikut.WHILE expression statements END

Contohi = 6; cukup = 3; while (i > cukup) i, i=i-1; end

Program di atas akan menampilkan nilai i selama i bernilai lebih besar dari 3. Jadi, nilai i yang dikeluarkan adalah i = 6, i = 5, dan i = 4.

FungsiPada MatLab, terdapat dua jenis script: fungsi dan bukan fungsi. Fungsi merupakan file MatLab yang digunakan pada m file lain, inputnya tergantung pada nilainilai variable pada m file yang menggunakan fungsi ini, dan memiliki header function.

Contohfunction [rataan,stdev] = stat(x) n = length(x); rataan = sum(x) / n; stdev = sqrt(sum((x - rataan).^2)/n);

4/28/2012

18

Sintaks di atas merupakan fungsi untuk menghitung parameter statistic, yaitu rata-rata dan standar deviasi. Fungsi menerima input suatu kumpulan data x dengan panjang data n. Output fungsi ada 2, yaitu rataan dan stdev. Sintaks tersebut disimpan dalam bentuk M files, yaitu stat.m (samakan dengan nama fungsi). Berikut ini adalah contoh pengaksesan fungsi stat di MatLab.>> [r,s]=stat([1 2 3 4 5]) % r dan s adalah sembarang variable yang menyatakan rataan dan standar deviasi, x dalam hal ini adalah [1 2 3 4 5].

Ketika tombol enter ditekan, terlihat bahwa rataan r bernilai 3 dan standar deviasi s bernilai 1,4142. M file dapat juga tidak memiliki header fungsi. M file jenis ini tidak dapat digunakan pada m file yang lain sebagai fungsi. Contoh dari m file jenis ini adalah top file. Top file merupakan fungsi yang berada pada tingkatan tertinggi dalam suatu hierarchy.

Contoh Kita akan membuat suatu m file yang mengandung fungsi stat dengan input berupa daftar nilai UTS suatu mata kuliah.nilaiUTS = [100 100 80 50 75 50 80 90 55]; [r,s] = stat(nilaiUTS); %Penggunaan fungsi stat if (r > 50) 'Rata-rata kelas ini bagus.' else 'Rata-rata kelas ini buruk.' end

File tersebut disimpan dalam file statistik.m. Jika file tersebut dieksekusi, akan muncul output Rata-rata kelas ini bagus.

4/28/2012

19

PENGENALAN SIMULINK

Pengertian SimulinkSimulink adalah sebuah kumpulan aplikasi dalam MatLab untuk melakukan modeling, simulasi, dan untuk melakukan analisis dinamik pada suatu system. Dengan simulink kita dimudahkan untuk membuat suatu simulasi secara lebih interaktif. Sehingga dengan simulink ini kita dapat lebih fun atau dengan kata lain memperoleh sense atau taste dari suatu modeling atau simulasi. Agar lebih paham, berikut ini salah satu contoh dari penggunaan Simulink. Pada contoh ini dimisalkan terdapat gelombang sinus dan kita ingin melihat visualisasi dari gelombang sinus tersebut. Ini merupakan salah satu fungsi dari simulink, dimana kita me-generate suatu sinyal sinus lalu melihatnya dengan mengguanakan scope. Letak kemudahan dari simulink ini kita tidak perlu melakukan prosedur-prosedur coding juga plot untuk melihat sinyal sinus tsb. Mudah kan ya! a. Cara membuat suatu Simulink Pertama-tama jalankan Matlab Anda, sehingga tampil seperti tampilan di bawah

4/28/2012

20

Kemudian klik ikon seperti yang ditunjukkan tanda panah pada gambar. Sehingga akan ditampilkan simulink library Browser seperti gambar di bawah:

Nah dari gambar ini terlihat banyak package-package untuk membuat suatu simulasi. silahkan di lihat-lihat dulu biar semakin mengenal hehe Pada bagian ini yang akan dibahas Cuma bagian simulink saja seperti blok merah pada gambar. Next! Nah pada kesempatan ini kita akan membuat simulasi dari sinus wave! Ikutilah langkah-langkah berikut ini dengan seksama. Langkah pertama klik ikon kertas putih yang berada dibawah menu file atau ketik file pada toolbar kemudian pilih menu new model, sehingga terlihat lahan kosong seperti terlihat pada gambar di bawah:

4/28/2012

21

Terus drag komponen-komponen yang dibutuhkan dari Simulink Library Browser (SLB) sehingga kita dapat dihasilkan tampilan gelombang sinus. Next,,,,,,,! pada package/library simulink pada SLB klik menu source kemudian pilih sin wave seperti gambar:

Nah kalau misalnya belum mengetahui lokasi secara pasti di mana sin wave berada, kita bisa mengetik sine wave kotak searching. Langkah berikutnya klik gambar sine wave tahan dan bawa ke lahan simulasi kita, seperti terlihat pada gambar

Dengan cara yang sama, scope pada menu sink juga dimasukkan ke tempat simulasi. Jadi gambar sekarang seperti di bawah :

4/28/2012

22

Kemudian hubungkan sine wave dengan scope

Setelah double click scope sehingga muncul layar grafik hitam seperti gambar di bawah:

4/28/2012

23

Nah tiba pada langkah terakhir yaitu me-run blok yang telah kita buat. Caranya mudah sekali, cukup 1 langkah saja. Klik tanda icon play seperti yang ditunjukkan pada gambar berikut ini.

4/28/2012

24

Setelah diklik, maka pada layar scope (warna hitam) yang tadi jika tidak ada yang error akan muncul gelombang sinus. Seperti pada gambar Jika ingin mengubah parameter-parameter sinyal, mislanya amplitude atau frekuensi dapat dilakukan dengan men-double click modul sinyal sinus tsb sehingga akan muncul gambar seperti berikut :

4/28/2012

25

REFERENSI

1. Wikipedia 2. Help Matlab

4/28/2012

26