modul - teuinsuska2009.files.wordpress.com€¦ · web viewsimulink adalah sebuah kumpulan...
TRANSCRIPT
0
5/9/2023
Pengenalan MatlabOleh: Ahmad Fajar Firdaus, ST
1
5/9/2023
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 Contohnya Fungsi/keteranganPertama Mnemonic Program level mesinKedua MIPS, Sun SPARC, HP PA-RISC
and x86(-64)Bahasa assembly
Ketiga Common LISP Bahasa fungsionalFortran, ALGOL, Pascal, Basic and COBOL, C
Bahasa prosedural
Java, Simula, Smalltalk, C++, C# Bahasa berorientasi objekKeempat Matlab, SQL Sedikit algoritmaKelima Prolog, OPS5, and Mercury Artificial Intelligence
Memulai MATLABUntuk memulai Matlab, klik START>All Programs>MATLAB>”Seri Matlab”> MATLAB “Seri Matlab”
2
5/9/2023
Tampilan Matlab
Help Membantu mencari keterangan seperti penggunaan fungsi dan penggunaan syntaxEditorMemanipulasi script programCurrent DirectoryTempat melihat directory di mana file yang berhubungan yang akan dieksekusiWorkspaceTempat melihat nilai yang lebih banyak sperti nilai array, matriks atau citra.Command HistoryMencatat nilai varibel yang sedang dan telah digunakan sebelumnyaCommand WindowTempat membangun dan mengompilasi fungsi atau file yang ada
Help
3
5/9/2023
Praktek
1. 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. Ketikkan script berikut pada Command Window. Apa yang terjadi?clc;
5. Ketikkan script berikut pada Command Window, perhatikan Workspace Matlab Anda.clear all;
4
5/9/2023
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 digunakan
Operator 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 Arti== sama dengan~= tidak sama dengan< lebih kecil
5
5/9/2023
<= lebih kecil sama dengan> 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 ( ), 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
6
5/9/2023
y =
Columns 1 through 4
1.0000 0.3090 + 0.9511i -0.8090 + 0.5878i -0.8090 - 0.5878i
Column 5
0.3090 - 0.9511i
>> Y = abs(y)
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?
7
5/9/2023
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:9array = 1 3 5 7 9
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:9array = 1 4 7
Penulisan lainnya :>> ari = 1:5ari = 1 2 3 4 5
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)
8
5/9/2023
ans = 11 8 7 12 14 1
LatihanCoba 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 = 1 0 0 0 1 0 0 0 1
>> zeros(2,3)ans = 0 0 0 0 0 0
>> ones(2,3)ans = 1 1 1 1 1 1 >> 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
9
5/9/2023
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)
10
5/9/2023
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);
11
5/9/2023
>> 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');
12
5/9/2023
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 :
13
5/9/2023
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.
14
5/9/2023
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;
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
15
5/9/2023
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
aksi
16
5/9/2023
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,...}
statement, ..., statement
17
5/9/2023
...
OTHERWISE,
statement, ..., statement
END
Contoh
switch 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
18
5/9/2023
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
Contoh
i = 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 nilai-nilai variable pada m file yang menggunakan fungsi ini, dan memiliki header ‘function’.
Contoh
function [rataan,stdev] = stat(x)
n = length(x);
rataan = sum(x) / n;
stdev = sqrt(sum((x - rataan).^2)/n);
19
5/9/2023
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.”
20
5/9/2023
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 SimulinkPertama-tama jalankan Matlab Anda, sehingga tampil seperti tampilan di bawah
21
5/9/2023
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:
22
5/9/2023
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 :
23
5/9/2023
Kemudian hubungkan sine wave dengan scope
Setelah double click scope sehingga muncul layar grafik hitam seperti gambar di bawah:
24
5/9/2023
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.
25
5/9/2023
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 :
26
5/9/2023
REFERENSI
1. Wikipedia
2. Help Matlab