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
Laboratorium Teknik Elektro | i
KEPEMILIKAN DAN PENGESAHAN Nama
Hari
No. Mahasiswa
Jam
KEGIATAN PRAKTIKUM No
Tanggal
Unit
Nama & Paraf SPV/Asisten
Ttd
PENYERAHAN LAPORAN Tanggal Kumpul Laporan
1 2 3 4 5 6 7 8 9 10
Laboratorium Teknik Elektro | ii
Unit
Nama & Paraf SPV/Asisten
UNIT I PENGENALAN MATLAB A. TUJUAN PRAKTIKUM 1. Mahasiswa dapat mengenal MATLAB 2. Mahasiswa dapat menggunakan fungsi Help 3. Mahasiswa dapat menggunakan operasi pada MATLAB B. DASAR TEORI Gambaran sederhana tentang MATLAB adalah sebuah kalkulator yang mampu melakukan perhitungan, mulai dari perhitungan yang sederhana hingga yang rumit. Selain itu, kemampuan MATLAB yang lain adalah dalam hal visualisasi atau grafik dari hasil suatu fungsi matematika. MATLAB merupakan bahasa pemrograman yang menggunakan bahasa command line. MATLAB juga menyediakan fungsi-fungsi matematika yang sangat lengkap, misalkan sqrt, det, inv, dst. Data yang dikelola dapat berbentuk array maupun matriks. MATLAB mempunyai fasilitas Mfile yang digunakan untuk menyimpan program. MATLAB dapat bertindak sebagai: 1. Kalkulator Ketika bertindak sebagai kalkulator, MATLAB memberikan hasil seketika setelah perintah operasi diberikan. 2. Bahasa pemrograman Perintah β perintah operasi dengan urutan dan logika tertentu, serta digunakan berulang β berulang dapat dibuat sebagai suatu Adapun macam β macam operasi yang dapat dilakukan oleh MATLAB adalah: 1. Skalar, berupa bilangan real atau kompleks. 2. Matriks dan vektor, dengan elemen bilangan real atau kompleks. 3. Teks, yaitu pengolahan kata.
Laboratorium Teknik Elektro | 1
C. LANGKAH PERCOBAAN 1. Memulai MATLAB dan mengakhiri a. Pilih Start pilih MATLAB b. Maka akan muncul tampilan seperti dibawah ini
Command window adalah area dimana user dapat melakukan perintah operasi atau memanggill fungsi yang disediakan oleh MATLAB. Jika akan keluar dari MATLAB ketik quit, maka user akan keluar dari MATLAB. Berikut contoh fungsi sederhana pada MATLAB %perhitungan matematika sederhana >> x=2.5 x= 2.5000 >> p=sqrt(x) p= 1.5811
%menghitung luas dan keliling lingkaran r= 7.2500 >>luas=pi*r^2 Luas = 165.1300 >> keliling=2*pi*r Keliling = 45.5531
Laboratorium Teknik Elektro | 2
2. Memanfaatkan Fasilitas Help MATLAB memiliki banyak perintah yang tidak mudah untuk diingat. Untuk menemukan perintah tersebut MATLAB menyediakan perintah help. Misal untuk mengetahui perintah determinan (det) dan akar (sqrt).
D. PERCOBAAN %matrix >> A=[1 2 3;4 5 6;7 8 9] A =1 2 3 456 789 >> B=[10 15 11;12 20 17;13 18 16] B = 10 15 11 12 20 17 13 18 16 X=Det (A) M=Inv (A) N=Aβ
% perkalian matrix >> A*B >> C=[19 20 21] C= 19 20 21 >> C*A
Laboratorium Teknik Elektro | 3
E. LATIHAN 1. Jika di ketahui diameternya 50 a. carilah luas lingkaran b. berapa volume tabung jika tingga tabung 20 (sertakan perhitungan manualnya dengan rumus) 2. Jika di ketahui matrix A = [3 4 6; 4 7 2; 9 3 5]
B = [7 6 3; 8 5 7; 3 8 1]
a. Carilah determinannya (det a) b. Carilah invers (inv a) c. Perkalian b*a dan b*c d. Invers*c
Laboratorium Teknik Elektro | 4
C = [3 2 6; 6 4 7; 2 3 1]
UNIT II POLINOMIAL A. TUJUAN PRAKTIKUM 1. Memahami persamaan polinomial 2. Memahami penulisan system polinomial dalam Matlab 3. Memahami aplikasi polinomial pada Matlab B. DASAR TEORI 1. Representasi Polinomial Dalam matematika, Polinomial adalah pernyataan matematika yang melibatkan jumlahan perkalian pangkat dalam satu atau lebih variabel dengan koefisien. Pangkat tertinggi pada suatu polinomial menunjukkan orde dari polinomial tersebut. Polinomial dalam Matlab dinyatakan sebagai vektor baris yang memuat koefisien dari variabel dengan derajat yang makin menurun. Sederhananya, dalam Matlab penulisan variable polinomial dimulai dari perpangkatan tertinggi ke perpangkatan terendah. Seperti pada contoh berikut: π(π₯) = π₯ 4 + 5π₯ 2 β 10 Selanjutnya cara menuliskan persamaan polinomial tersebut dalam MATLAB adalah sebagai berikut: β« π = [ 1 0 5 0 10] 2. Akar Polinomial Untuk menghitung akar dalam MATLAB dapat dilakukan menggunakan perintah:
π = ππππ‘π (π) π= β0.5754 + 1.6826π β0.5754 β 1.6826π 0.5754 + 1.6826π 0.5754 β 1.6826π Jika ingin mengembalikan persamaan polinomial ke dalam bentuk koefisien awalnya, dapat dilakukan dengan menggunakan perintah sebagai berikut: β« π1 = ππππ¦ (π) π1 = 1.0000 0.0000 5.0000 0.0000 10.0000 Jadi, roots dan poly adalah sebuah perintah yang berkebalikan.
Laboratorium Teknik Elektro | 5
3. Karakteristik Polinomial Perintah poly juga dapat digunakan untuk menghitung koefisien dari sebuah karakteristik polinomial sebuah matriks. Contohnya sebagai berikut:
β« a = [1 2 3; 2 2.5 3; β0.5 5 7.5]; β« ππππ¦ (a) β« ans = 1.0000 β 11.0000 11.2500 β 4.5000 4. Evaluasi Polinomial Untuk mengevaluasi (menghitung nilai) polinomial pada suatu bilangan tertentu, digunakan perintah polyval. Misalnya, untuk mengetahui nilai polinomial p di x=3 perintahnya adalah sebagai berikut:
β« ππππ¦π£ππ (π, 3) ans = 136 5. Penjumlahan dan Pengurangan Polinomial Misalnya diberikan polinomial a dan b yang derajat polinomial keduanya tidak sama.
π = π₯ 2 + 2π₯ + 3 dan π = 5π₯ + 6 Untuk dapat melakukan sebuah operasi penjumlahan dan pengurangan dalam Matlab, terlebih dahulu koefisien polinomial a dan b disamakan dalam bentuk matriks. Sehingga diperoleh seperti berikut ini: β« a = [ 1 2 3] β« b = [ 0 5 6] Langkah selanjutnya untuk mencari hasil penjumlahan dan pengurangan polinomial tersebut adalah sebagai berikut: β« π + π > mencari a(π₯) + π(π₯) β« π β π > mencari a(π₯) β π(π₯) 6. Perkalian dan Pembagian Polinomial Misalnya diberikan polinomial a dan b sebagai berikut:
π = π₯ 2 + 2π₯ + 3 dan π = 4π₯ 2 + 5π₯ + 6 sehingga diperoleh matriks sebagai berikut: β« a = [ 1 2 3] β« b = [ 4 5 6] Selanjutnya, perkalian a(x) β b(x) di atas, dapat menggunakan fungsi conv (convolution) sebagai berikut: β« conv = (a, b) ans = Laboratorium Teknik Elektro | 6
diselesaikan
dengan
4 13 28 27 18 Untuk pembagian a(x)/b(x) di atas, dapat diselesaikan dengan menggunakan fungsi deconv (deconvolution) sebagai berikut: β« ππconv = (a, b) ans = 0.2500 7. Turunan dan Integral Polinomial Dalam Matlab juga terdapat fungsi untuk mencari nilai turunan dari suatu polinomial dengan cara sebagai berikut:
β« a = [1 2 3] β« ππππ¦πππ (a) β« ans = 2 2 Untuk mencari nilai integral dari suatu polinomial dapat dilakukan dengan menggunakan fungsi sebagai berikut: β« a = [1 2 3] β« ππππ¦πππ‘ (a) β« ans = 0.3333 1.0000 3.0000 0
Laboratorium Teknik Elektro | 7
C. PERCOBAAN 1. Program_1.m %polinomial p(x)=x^4-7x-2 p=[1 0 0 -7 -2] %akar polinomial r=roots(p) %fungsi invers (untuk memperoleh nilai p) p2=poly(r) %karakteristik polinomial A=[1.2 3 -0.9; 5 1.75 6; 9 0 1] poly(A) %pengevaluasian polinomial s=5 polyval(p,5) %konvolusi a=[8 4 7] b=[3 6 9] c=conv(a,b) %dekonvolusi [q,r]=deconv(c,a) %turunan polinomials koefisien satu p=[1 0 0 -7 -2] q=polyder(p) %turunan polinomial koefisien dua a=[1 3 5] b=[2 4 6] c=polyder(a,b) [q,d]=polyder(a,b)
Laboratorium Teknik Elektro | 8
2. Program_2 (Tugas) %cari akar polinomialnya! a(x)=x^4+5x^3-5 b(x)=x^2+6x-7 c(x)=x^3+7x^2+9x-1 d(x)=x^2+8x-7 e(x)=x^3+5x^2+2x-5 %cari nilai turunan polinomialnya!
Page 9 of 30
Page 10 of 30
UNIT III INTERPOLASI A. TUJUAN 1. Memahami berbagai macam bentuk interpolasi 2. Memahami penulisan interpolasi dalam MATLAB 3. Memahami dan mampu membuat aplikasi dengan interpolasi B. DASAR TEORI Interpolasi adalah suatu proses untuk mengestimasikan nilai yang terletak diantara data yang telah diketahui. Interpolasi memiliki aplikasi yang penting pada setiap pengolahan sinyal dan gambar. Terdapat berbagai macam bentuk interpolasi menarik yang dapat dipelajari, yaitu: 1. Interpolasi Polinomial Lagrange Interpolasi Polinomial Lagrange adalah salah satu cara untuk menemukan nilai koefisien-koefisien dari suatu sistem persamaan linear yang terdiri dari n+1 tanpa dipengaruhi oleh lebar interval antar titik-titik data di sepanjang sumbu x. Interpolasi polinomial Lagrange mempunyai persamaan awal sebagai berikut: π§
π§ ππ§ (π±) = β ( ) ππ’ (π±)π(π± π’ ) π€ π’=π
Di dalam MATLAB interpolasi ini dituliskan dengan fungsi lagranp. 2. Interpolasi Polinomial Newton Diperlukan untuk menemukan nilai koefisien-koefisien dari suatu sistem persamaan linear yang terdiri dari n+1 seperti halnya Lagrange diatas, namun dengan metode yang berbeda, yaitu dengan mencocokkan n titik-titik data dari polinomial n1 secara rekursif dan satu suku tambahan. Interpolasi polinomial Lagrange mempunyai persamaan awal sebagai berikut: π
π©(π±) = β π[π± π , π± π , β¦ , π± π€ ]ππ€ (π±) π=π
Di dalam MATLAB interpolasi ini dituliskan dengan fungsi newtonp.
Page 11 of 30
3. Interpolasi Satu Dimensi (1D) Ada dua macam interpolasi satu dimensi, yaitu: a. Interpolasi Polinomial Berupa fungsi interp1 untuk menjalankan interpolasi satu dimensi. Fungsi ini adalah pengoperasian yang penting untuk analisis data dan kurva fitting. Secara umum fungsi ini dituliskan sebagai berikut:
ππ = πππππππ(π, π, ππ, ππππππ
) y = vektor fungsi x = vektor y yang telah diberi nilai tertentu xi = pin poin vektor interpolasi Terdapat beberapa metode pilihan dalam pengoperasiannya, antara lain: 1) Nearest neighbor interpolation (method: βnearestβ). 2) Linear interpolation (method: βlinearβ). 3) Cubic spline interpolation (method: βsplineβ). 4) Cubic interpolation (method: βpchipβ atau βcubicβ). Dari beberapa metode tersebut, dapat juga dituliskan seperti berikut ini:
ππ = πππππππ(π, π, ππ, ππππππ
, πππππππππ) b. FFT-Based Interpolation Merupakan bentuk penggunaan interpolasi satu dimensi sebagai dasar metode FFT yang dituliskan dengan fungsi interpft. Metode ini untuk menghitung transformasi fourier dari sebuah vektor yang berisikan fungsi yang periodik.
π = ππππππππ(π, π) 4. Interpolasi Dua Dimensi (2D) Dituliskan dengan fungsi interp2, yang secara umum dituliskan sebagai berikut:
ππ° = πππππππ(πΏ, π, π, πΏπ°, ππ°, ππππππ
) Interpolasi ini juga memiliki metode pilihan, seperti: Nearest neighbor (βnearestβ), bilinear (βlinearβ), dan bicubic (βcubicβ). 5. Interpolasi dan Array Dimensional Fungsi interpolasi secara umum digunakan untuk mengoperasikan data multidimensi, yang dapat dijabarkan menjadi: a. Interpolasi Data Tiga Dimensi (3D) Dituliskan dengan fungsi interp3, yang ditulis seperti berikut ini:
π½π° = πππππππ(πΏ, π, π, π½, πΏπ°, ππ°, ππ°, ππππππ
) Interpolasi ini juga memiliki metode pilihan, seperti: Nearest neighbor (βnearestβ), trilinear (βlinearβ), dan tribicubic (βcubicβ). Page 12 of 30
b. Interpolasi Data Dimensional lebih dari Tiga (>3D) Penulisan pernyataannya adalah seperti berikut ini:
π½π° = πππππππ(πΏπ, πΏπ, πΏπ, β¦ , π½, ππ, ππ, ππ, β¦ , ππππππ
) c. Multidimensional Data Gridding 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 13 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 14 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 15 of 30
c.
d.
otherwise statements % executes if expression does not % match any case end
While Statemen kendali while dideklarasikan sebagai berikut: while expression statements end For Statemen kendali for dideklarasikan sebagai berikut: for index = start : increment : end statements end
Page 16 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 17 of 30
Page 18 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 19 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 20 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 b. z=1:27 c. z=1:45 rerata (z) rerata (z) rerata (z)
Page 21 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 dalam sebuah jendela gambar dengan ketentuan: uicontrol (βPropertyName1β,value1, βPropertyName2β,value2,β¦) 2. SET Digunakan untuk memasang sebuah kepemilikan sebuah obyek dengan ketentuan: set (H, βPropertyNameβ, PropertyValue) 3. GET Digunakan untuk memperoleh kepemilikan sebuah obyek dengan ketentuan: v = get (H, βPropertyNameβ)
Page 22 of 30
C. PERCOBAAN 1. Program 1 %contoh penulisan uicontrol dengan popup hpop=uicontrol('Style','popup','String','Pastikan Pilihan|Pilihan','Position',[230 360 100 50],'Callback','pilihan'); %contoh penulisan uicontrol dengan pushbutton uicontrol('style','pushbutton','units','normalized','position',[.51 .0 .09 .06],'string','close','callback','close') Simpan program di atas dengan nama lat1.m, kemudian tulislah sebuah fungsi dibawah ini: function pilihan 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)') Simpan program diatas dengan nama pilihan.m, kemudian jalankan program dengan nama lat1.m tersebut diatas. 2. Program 2 uicontrol('style','pushbutton','units','normalized','position',[.91 .66 .09 .06],'string','close','callback','close') uicontrol('style','pushbutton','units','normalized','position',[.91 .16 .09 .06],'string','plot','callback','tampil') uicontrol('style','pushbutton','units','normalized','position',[.91 .26 .09 .06],'string','tulisan','callback','pilihan') Simpan program di atas dengan nama lat2.m, kemudian tulislah sebuah fungsi dibawah ini: function tampil axis ([0 2 0 2]) xlabel('Sumbu Datar') ylabel('Sumbu Vertikal') y=[9 0]; %plot (y) a=[1 2 3;4 5 6;7 8 9]; plot (a)
Simpan program diatas dengan nama tampil.m, kemudian jalankan program dengan nama lat2.m tersebut diatas.
Page 23 of 30
Page 24 of 30
PENGANTAR RESPONSI PRAKTIKUM METODE NUMERIK DAN KOMPUTASI (MNK) SEMESTER GENAP TAHUN AJARAN 2015-2016 Dalam perancangan program User Interface (UI) Control yang akan diujikan untuk Responsi Praktikum Metode Numerik dan Komputasi, memiliki ketentuan sebagai berikut: 1. Praktikan akan dibagi menjadi beberapa kelompok kecil yang masing-masing terdiri dari 2 orang. 2. Hasil perancangan dipresentasikan 2 minggu setelah praktikum unit VI dilakukan. 3. Perancangan program yang dihasilkan memiliki interface yang dilengkapi dengan tombol button dan pop up sebagai kendali untuk menampilkan hasil perancangan yang dibuat. 4. Hasil perancangan harus menyertakan statemen/perintah yang meliputi: statemen control (if else, switch, for, dst) dan statemen function. 5. Tampilan hasil perancangan mencakup materi pada praktikum unit-unit sebelumnya. 6. Jika hasil perancangan tidak sesuai dengan ketentuan pada poin nomor 2 s.d 4, maka dinyatakan gugur, dan tidak ada pengulangan dalam bentuk tugas apapun
Page 25 of 30
Contoh Program UI Control : Kalkulator Sederhana %-----------------------------------------------%Pengantar Responsi (Proyek) %Program MATLAB User Interface Control:Calculator %Oleh : Rangga Aditya Nugraha, S.T. %-----------------------------------------------clear all; label13=uicontrol('parent',win1,.. clc; . win1=figure(... 'units','points',... 'units','points',... 'position',[10 90 60 15],... 'position',[130 180 150 180],... 'style','Text',... 'color',[.5 .8 .9],... 'string','2nd data',... 'menubar','none',... 'fontname','malgun gothic',... 'resize','off',... 'fontsize',10); 'numbertitle','off',... label14=uicontrol('parent',win1,.. 'name','Latihan . Responsi:Calculator'); 'units','points',... frame1=uicontrol('parent',win1,.. 'position',[10 50 60 15],... . 'style','Text',... 'units','points',... 'string','Answer',... 'position',[0 0 150 30],... 'fontname','malgun gothic',... 'backgroundcolor',[.3 .3 .5],... 'fontsize',10); 'style','Frame'); edit1=uicontrol('parent',win1,... label11=uicontrol('parent',win1,.. 'units','points',... . 'position',[80 110 60 15],... 'units','points',... 'backgroundcolor',[1 1 1],... 'position',[0 140 150 20],... 'style','Edit',... 'backgroundcolor',[.3 .3 .5],... 'string','0',... 'style','Text',... 'fontname','times new 'string','Calculator',... roman',... 'fontname','malgun gothic',... 'fontsize',10); 'fontsize',11,... edit2=uicontrol('parent',win1,... 'fontweight','bold',... 'units','points',... 'foregroundcolor',[0 0 0]); 'position',[80 90 60 15],... label12=uicontrol('parent',win1,.. 'backgroundcolor',[1 1 1],... . 'style','Edit',... 'units','points',... 'string','0',... 'position',[10 110 60 15],... 'fontname','times new 'style','Text',... roman',... 'string','1st data',... 'fontsize',10); 'fontname','malgun gothic',... edit3=uicontrol('parent',win1,... 'fontsize',10); 'units','points',... 'position',[80 50 60 15],... Page 26 of 30
'backgroundcolor',[1 1 1],... 'style','Edit',... 'string','0',... 'fontname','times new roman',... 'fontsize',10); tomtambah=uicontrol('parent',wi n1,... 'units','points',... 'position',[75 70 20 15],... 'style','pushbutton',... 'callback','kalkulatortambah',... 'string','+',... 'fontname','times new roman',... 'fontsize',10); tomkurang=uicontrol('parent',wi n1,... 'units','points',... 'position',[100 70 20 15],... 'style','pushbutton',... 'callback',' kalkulatorkurang',... 'string','-',... 'fontname','times new roman',... 'fontsize',10); tomkali=uicontrol('parent',win1,. .. 'units','points',... 'position',[25 70 20 15],... 'style','pushbutton',... 'callback',' kalkulatorkali',... 'string','x',... 'fontname','times new roman',... 'fontsize',10); tombagi=uicontrol('parent',win1, ... 'units','points',... 'position',[50 70 20 15],... 'style','pushbutton',... 'callback',' kalkulatorbagi',... 'string','/',... Page 27 of 30
'fontname','times new roman',... 'fontsize',10); tomtutup=uicontrol('parent',win 1,... 'units','points',... 'position',[60 10 40 15],... 'style','pushbutton',... 'string','Quit',... 'fontname','malgun gothic',... 'fontsize',10,... 'callback','close' %--------------%program tambah %--------------a=str2num(get(edit1,'string')); b=str2num(get(edit2,'string')); c=a+b; set(edit3,'string',num2str(c)); %--------------%program kurang %--------------a=str2num(get(edit1,'string')); b=str2num(get(edit2,'string')); c=a-b; set(edit3,'string',num2str(c)); %------------%program kali %------------a=str2num(get(edit1,'string')); b=str2num(get(edit2,'string')); c=a*b; set(edit3,'string',num2str(c)); %------------%program bagi %------------a=str2num(get(edit1,'string')); b=str2num(get(edit2,'string')); c=a/b; set(edit3,'string',num2str(c));
Page 28 of 30