Laboratorium Teknik Elektro | i DAFTAR ISI DAFTAR ISI .......................................................................................................................................................... i KEPEMILIKAN DAN PENGESAHAN ......................................................................................................... ii UNIT I. PENGENALAN MATLAB ............................................................................................... 1 UNIT II. POLINOMIAL ................................................................................................................... 5 UNIT III. INTERPOLASI ............................................................................................................... 11 UNIT IV. PEMROGRAMAN M-FILE .......................................................................................... 15 UNIT V. PEMROGRAMAN M-FILE 2 ....................................................................................... 19 UNIT VI. PROYEK (PERANCANGAN) ...................................................................................... 22 PENGANTAR RESPONSI ............................................................................................................... 25
30
Embed
DAFTAR ISI · MATLAB mempunyai fasilitas Mfile yang digunakan untuk menyimpan program. MATLAB dapat bertindak sebagai: 1. Kalkulator Ketika bertindak sebagai kalkulator, MATLAB memberikan
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
Laboratorium Teknik Elektro | i
DAFTAR ISI DAFTAR ISI .......................................................................................................................................................... i
KEPEMILIKAN DAN PENGESAHAN ......................................................................................................... ii
UNIT I. PENGENALAN MATLAB ............................................................................................... 1
UNIT II. POLINOMIAL ................................................................................................................... 5
UNIT III. INTERPOLASI ............................................................................................................... 11
UNIT IV. PEMROGRAMAN M-FILE .......................................................................................... 15
UNIT V. PEMROGRAMAN M-FILE 2 ....................................................................................... 19
UNIT VI. PROYEK (PERANCANGAN) ...................................................................................... 22
Penulisan pernyataannya adalah seperti berikut ini:
[𝑿𝟏, 𝑿𝟐, 𝑿𝟑, … ] = 𝒏𝒅𝒈𝒓𝒊𝒅(𝒙𝟏, 𝒙𝟐, 𝒙𝟑, . . )
Fungsi ndgrid adalah turunan array dari perhitungan fungsi multidimensi dan
interpolasi.
C. PERCOBAAN
1. Program 1
%generate the peaks function at low resolution.
[x,y]=meshgrid(-2:0.1:2)
z=peaks(x.y);
surf(x,y,z)
%compare the surface plots for the different interpolation methods.
%generate a finer mesh for interpolation.
[xi,yi]=meshgrid(-3:0.25:3);
%interpolate using nearest neighbor interpolation
zi1=interp2(x,y,z,xi,yi,'nearest')
surf(xi,yi,zi1)
%interpolate using bilinear interpolation
zi2=interp2(x,y,z,xi,yi,'bilinear')
surf(xi,yi,zi2)
%interpolate using bicubic interpolation
zi3=interp2(x,y,z,xi,yi,'bicubic')
surf(xi,yi,zi3)
%multidimensional data gridding z=x2e^(-x1^2-x2^2-x3^2)
%untuk -2pi<=x1<=0;2pi<=x2<=4pi dan 0<=x3<=2pi
x1=-2:0.2:2
x2=-2:0.25:2
x3=-2:0.16:2
[X1,X2,X3]=ndgrid(x1,x2,x3);
z=X2.*exp(-X1.^2-X2.^2-X3.^2);
slice(X2,X1,X3,z,[-1.2 0.8 2],2,[-2 0.2])
Page 14 of 30
2. Program 2
%grafik fungsi dua variabel
[x,y]=meshgrid(1:4);
z=sqrt(x.^2+y.^2);
mesh(x,y,z);
% grafik yang lebih menarik
[x,y]=meshgrid(-10:10);
z=sqrt(x.^2+y.^2);
mesh(x,y,z);
[x,y,z]=peaks;
clf
%grafik x^2+y^2 dalam berbagai sudut pandang
plot(z)
mesh(x,y,z)
surf(x,y,z)
shading flat
contour(x,y,z)
contourf(x,y,z)
surf(x,y,z);grid off
view(90,0)
view(90,0);shading flat
help mesh
help peaks
help clf
help plot
help surf
Page 15 of 30
UNIT IV
PEMROGRAMAN M-FILE (1) (Operator, Statemen Input/Output dan Statemen Kendali)
A. TUJUAN PRAKTIKUM
1. Memahami berbagai macam bentuk statemen pada pemrograman di M-File.
2. Memahami penulisan operator, statemen input/output, dan statemen kendali.
3. Mampu membuat aplikasi dengan operator, statemen input/output, dan statemen
kendali.
B. DASAR TEORI
Terdapat berbagai macam bentuk operator, statemen input/output, dan statemen
kendali yang akan dijabarkan sebagai berikut:
1. Operator
Di dalam MATLAB, operator terbagi ke dalam tiga kategori, yaitu:
1. Operator Aritmatika
2. Operator Relasional
3. Operator Logika
2. Statemen Input/Output
a. Statemen Input
Fungsi input untuk menyimpan data yang diketikkan dalam sebuah variabel.
Penulisan statemennya adalah sebagai berikut:
nama_variabel = input (‘keterangan’)
b. Statemen display
Berfungsi untuk menampilkan tulisan atau variabel ke layar. Penulisan
statemennya adalah sebagai berikut:
disp (‘komentar’)
disp (‘nama_variabel’)
3. Statemen Kendali
a. If, Else, dan Elseif
Statemen kendali If dideklarasikan sebagai berikut:
If logical_expression statements
end b. Switch
Statemen kendali switch dideklarasikan sebagai berikut:
switch expression (scalar or string) case value1 statements % executes if expression is value1 case value2 statements % executes if expression is value2
Page 16 of 30
otherwise statements % executes if expression does not % match any case end
c. While
Statemen kendali while dideklarasikan sebagai berikut:
while expression statements end
d. For
Statemen kendali for dideklarasikan sebagai berikut:
for index = start : increment : end
statements
end
Page 17 of 30
C. PERCOBAAN
Program 1 Program 2
%contoh aplikasi operator aritmatik
A=magic(3)
3*A
%contoh aplikasi operator relasional
B=[2 7 6;9 0 5;3 0.5 6]
C=[8 7 0;3 2 5;4 -1 7]
B==C
%contoh aplikasi operator logika
D=[0 1 1 0 1]
E=[1 1 0 0 1]
D&E
D|E
-D
xor(D,E)
%aplikasi logika array pada fungsi any & all
F=[0 1 2;0 -3 8;0 5 0]
any(F)
all(F)
%ekspresi logika menggunakan fungsi find
A=magic(4)
i=find(A>8)
A(i)=100
A=magic(4)
[row,col]=find(A<12)
%fungsi bit-wise
x=5% binary 0101
y=11% binary 1011
bitand(x,y)
bitor(x,y)
bitcmp(x,y)
bitxor(x,y)
%contoh statemen if,else, elseif
% klasifikasi skor toefl
Toefl=input('masukan nilai Toefl=')
if (Toefl >= 601) & (Toefl <= 670)
display('Excellent')
elseif (Toefl >= 501) & (Toefl <= 600)
display('Good')
elseif (Toefl >= 401) & (Toefl <= 500)
display('Average')
else Toefl<=400
display('bad')
end
%contoh statemen switch
input_num=input('nilai masukan=')
switch input_num
case -1
disp('negatif satu');
case 0
disp('nol');
case 1
disp('positif satu');
otherwise
disp('nilai lain');
end
%contoh statemen while
n=1
while n<7
n=n+1;
disp(n)
end
%contoh statemen for
for m=1:2
for n=1:3
A(m,n)=1/(m+n-1)
end
end
Page 18 of 30
Page 19 of 30
UNIT V
PEMROGRAMAN M-FILE (2)
A. TUJUAN PRAKTIKUM
1. Mampu memahami cara menuliskan script dan statemen function dan fungsinya
pada Matlab
2. Mampu membuat dan memahami aplikasi dengan script dan statemen fungsi
tersebut pada Matlab
B. DASAR TEORI
Script dan Function
Pada bagian ini akan kembali diterangkan pemrograman dengan M-File. Jika
sebelumnya pada Unit IV telah dibahas aliran program yang menggunakan pernyataan if,
switch, loop while, dan loop for yang mirip dengan bahasa tingkat tinggi seperti
pemrograman C++ atau PASCAL, maka kali ini yang akan dibahas mengenai script dan
function.
1. Script
Setiap perintah/pernyataan yang dapat dimasukkan pada window prompt dapat
disimpan pada sebuah file teks dengan menggunakan sembarang editor ASCII seperti
Notepad atau Editor teks Matlab, dan dieksekusi sebagai script. Ekstensi file harus
berupa ‘.m’ dan script tersebut dapat dieksekusi pada Matlab dengan hanya
mengetikkan nama file (dengan atau tanpa ekstensi). Secara umum dikenal dengan
istilah m-file. Berikut merupakan contoh sebuah m-file:
tt=0:0.3:4;
xx=sin(0.7*pi*tt);
subplot(2,1,1)
plot(tt,xx)
title('tt=0:0.3:4;xx=sin(0.7&pi*tt);plot(tt,xx)')
subplot(2,1,2)
stem(tt,xx)
title('tt=0:0.3:4;xx=sin(0.7&pi*tt);plot(tt,xx)')
Bila script perintah ini disimpan dengan file bernama plotstem.m maka cukup
dengan mengetikkan plotstem pada command prompt akan menjalankan file tersebut,
dan sejumlah baris perintah tersebut akan dieksekusi seperti halnya bila diketikkan
baris per baris pada command prompt.
2. Function
Anda dapat menuliskan fungsi sendiri dan selanjutnya ditambahkan ke
environment Matlab. Fungsi ini merupakan jenis lain dari m-file yang dibuat pada
sebuah file ASCII menggunakan editor teks. Kata pertama pada file tersebut haruslah
keyword function untuk menginformasikan Matlab bahwa file tersebut diperlakukan
sebagai sebuah fungsi dengan argument. Pada baris yang sama (baris awal) juga
berisi calling template yang menyatakan argument input dan output dari fungsi. Nama
Page 20 of 30
file tersebut akan menjadi nama dari perintah baru pada command prompt matlab,
dan harus berekstensi .m.
Perhatikan contoh file berikut ini, yang mengekstrak L buah elemen terakhir dari
sebuah vektor:
Function y = foo (x,L)
%FOO mengambil L buah titik terakhir dari x
%y = foo (x,L) dimana: x = vector input; L = jml titik yg akan diambil y = vektor
output
N = length (x);
if (L>N)
error (‘vektor input terlalu pendek’)
end
y = x((N-L+1):N);
Bila file ini disimpan dengan nama foo.m, operasi ini dapat dipanggil dari Matlab
command line dengan cara mengetikkan:
aa = foo ( (1:2:37), 7);
Outputnya akan berupa tujuh elemen terakhir dari vektor (1:2:37) yaitu:
aa = [25 27 29 31 33 35 37]
Page 21 of 30
C. PERCOBAAN
1. Program 1
%contoh penulisan script
tt=0:0.1:5;
xx=cos(0.5*pi*tt);
subplot(2,1,1)
plot(tt,xx)
title('tt=0:0.1:5;xx=cos(0.5&pi*tt);plot(tt,xx)')
subplot(2,1,2)
stem(tt,xx)
title('tt=0:0.1:5;xx=cos(0.5&pi*tt);plot(tt,xx)')
2. Program 2
%contoh penulisan fungsi
function testvar(varargin)
for k=1:length(varargin)
x(k)=varargin{k}(1); %cell array indexing
y(k)=varargin{k}(2);
end
xmin=min(0,min(x));
ymin=min(0,min(y));
axis([xmin fix(max(x))+3 ymin fix(max(y))+3])
plot(x,y)
Simpan file dengan nama testvar.m, kemudian panggil nama tersebut pada Matlab
dengan perintah sbb:
a. testvar ([2 3],[1 5],[4 8],[6 5],[4 2],[2 3])
b. testvar ([-1 0],[3 -5],[4 2],[1 1])
%contoh penulisan fungsiuntuk mencari nilai rerata
function y=rerata(x)
[m,n]=size(x);
if(~((m==1)|(n==1))|(m==1&n==1))
error('masukan harus sebuah vektor')
end
y=sum(x)/length(x);
Simpan file dengan nama rerata.m, kemudian panggil nama tersebut pada Matlab
dengan perintah sbb:
a. z=1:5
rerata (z)
b. z=1:27
rerata (z)
c. z=1:45
rerata (z)
Page 22 of 30
UNIT VI
PROYEK (PERANCANGAN)
A. TUJUAN PRAKTIKUM
1. Mampu membuat suatu rancangan proyek dengan Matlab
2. Mampu memahami proses kerja proyek yang dibuat
B. DASAR TEORI
Pada unit praktikum kali ini praktikan akan membuat sebuah contoh proyek
menggunakan Matlab. Pembuatan contoh proyek ini akan dipandu dengan pemberian
materi terutama menyangkut beberapa perintah yang belum diberikan pada unit-unit
praktikum sebelumnya, diantaranya sebagai berikut:
1. UICONTROL
Digunakan untuk membuat dan mengendalikan interface control yang baru