DASAR PEMROGRAMAN MATLAB

Bookmark and Share





I. Pengenalan MATLAB
1. Desktop MATLAB
Ketika MATLAB dijalankan pertama kali, MATLAB desktop tampil, berisi tools (graphical user interfaces) untuk mengatur file, variables, dan aplikasi MATLAB. 
Pertama kali MATLAB dijalankan akan tampil desktop dengan ilustrasi sebagai berikut. Jendela-jendela yang ada di MATLAB adalah sebagai berikut :

a. Command Window
Digunakan untuk menjalankan fungsi-fungsi MATLAB.
b. Workspace Browser
Berisi kumpulan variabel yang terbentuk sepanjang sesi MATLAB dan di simpan di memory.
c. Command History
Digunakan untuk menyimpan baris-baris perintah yang telah diketikkan di command window. Kita dapat melihat fungsi-fungsi yang digunakan sebelumnya, mengkopi dan menjalankannya kembali dari command history.
d. Current Directory Browser
Operasi MATLAB file menggunakan current directory dan search path sebagai referensi. File yang akan dijalankan harus berada di current directory atau ada pada search path.
e. Editor/Debugger
Digunakan untuk membuat, mengedit, dan men-debug M-files, yakni program yang dibuat  untuk menjalankan fungsi-fungsi MATLAB.
f. GUI Editor
Figure adalah jendela untuk membuat program dengan Graphic User Interface(GUI).
g. Help
Untuk menghafalkan semua perintah MATLAB mungkin akan menemui banyak kesulitan. Untuk menemukan perintah-perintah itu, MATLAB menyediakan bantuan dengan menyediakan help online. Kemampuan ini meliputi perintah MATLAB untuk memperoleh keterangan cepat pada command window atau pada help browser.
2. Variabel
Beberapa aturan dalam penamaan variabel :
Nama variabel harus terdiri atas satu kata tanpa spasi.
Nama variabel dibedakan antara huruf besar dan huruf kecil (case sensitive).
Panjang maksimum nama variabel adalah 31 karakter, karakter setelah variabel ke-31 akan diabaikan.
Nama variabel harus diawali dengan huruf, diikuti dengan sembarang bilangan, huruf atau garis bawah (under line).
Karakter tanda baca tidak diperbolehkan karena banyak diantaranya mempunyai arti tersendiri dalam MATLAB.
3. Konstanta
Pada MATLAB juga terdapat beberapa konstanta yang sering digunakan dalam
komputasi, seperti :
pi : 3.14
eps : presisi relatif dari floating point.
NaN : Not a Number, terjadi apabila suatu komputasi menghasilkan tidak nol dibagi nol, atau inf – inf.
realmin : floating point terkecil.
realmax : floating point terbesar.
Inf : Infinity, terjadi apabila sesuatu komputasi menghasilkan 0 dibagi 0, atau overflow, misal komputasi yang menghasilkan nilai lebih dari realmax atau kurang dari realmin.
4. Fungsi matematis
Ada beberapa fungsi matematis dasar yang telah disediakan oleh MATLAB dan kita
tinggal menggunakan fungsi-fungsi tersebut.
sin(x) : digunakan untuk mencari nilai sinus x, dengan x adalah sudut dalam radian
cos(x) : digunakan untuk mencari nilai cosinus x, dengan x adalah sudut dalam radian
tan(x) : digunakan untuk mencari nilai tangen x, dengan x adalah sudut dalam radian
sec(x) : digunakan untuk mencari nilai dari secant x, dengan x adalah sudut dalam radian
csc(x) : digunakan untuk mencari nilai dari cosecant x, dengan x adalah sudut dalam radian
cot(x) : digunakan untuk mencari nilai dari cotangen x, dengan x adalah sudut dalam radian
sinh(x) : digunakan untuk mencari nilai dari sinus hiperbolik x (digunakan juga pada cos, tan, sec, csc, cot)
asin(x) : digunakan untuk mencari nilai dari arc sinus x (digunakan juga pula pada cos, tan, sec, csc, cot)
asinh(x) : digunakan untuk mencari nilai dari arc sinus hiperbolik x (digunakan juga pada cos, tan, sec, csc, cot)
exp(x) : mencari nilai ex, dengan e adalah natural number
log(x) : digunakan untuk mencari nilai logaritma berbasis natural number dari x
log10(x) : digunakan untuk mencari nilai logaritma berbasis 10 dari x
sqrt(x) : digunakan untuk mencari nilai akar pangkat 2 dari x.
abs(x) : digunakan untuk mencari nilai absolut dari x
real(x) : digunakan untuk mengambil bagian real dari bilangan kompleks
imag(x) : digunakan untuk mengambil bagian imajiner dari bilangan kompleks x
round(x) : digunakan untuk membulatkan x ke nilai integer terdekat.
fix(x) : digunakan untuk membulatkan x ke nilai yang lebih mendekati nol
floor(x) : digunakan untuk membulatkan x ke nilai yang lebih mendekati minus tak hingga
ceil(x) : digunakan untuk membulatkan x ke nilai yang lebih mendekati plus tak hingga
rem(x,y) : digunakan untuk mengambil sisa pembagian x dibagi dengan y
5. Operator Komputasi
Operator komputasi mempunyai prioritas dengan urutan tertentu. Untuk menentukan prioritas, digunakan tanda kurung ‘( )’. Adapun beberapa operator komputasi dalam MATLAB adalah :
+ = penambahan, m + n
- = pengurangan, m – n
* = perkalian, m x n
/ atau \ = pembagian, m / n atau m \ n
^ = pemangkatan, mn

6. Operator Relasi
Untuk menyatakan syarat pemilihan biasanya digunakan perbandingan antara dua buah nilai. Perbandingan dilakukan dengan menggunakan operator relasi. Berikut ini beberapa operator relasi :
< : kurang dari
<= : kurang dari atau sama dengan
> : lebih dari
>= : lebih dari atau sama dengan
== : sama dengan
~= : tidak sama dengan

7. Operator Logika
Operator logika menyediakan cara untuk mengevaluasi ekspresi logika. Operator tersebut adalah
& : AND
| : OR
~ : NOT

BAB II
ARRAY dan MATRIKS
1. Array
Untuk membentuk array pada MATLAB, dimulai dengan kurung siku buka, masukan nilai dipisahkan dengan koma atau spasi, dan diakhiri dengan kurung tutup siku.
Misalnya perintah : A = [2, 3, 4, 5] , merupakan perintah untuk membuat array
dua dimensi A = 2 3 4 5
MATLAB menyediakan fasilitas untuk membuat array sederhana dengan cara-cara berikut :
x=[4 3 2 1] à membentuk array x yang memuat elemen-elemen yang telah diberikan.
x=awal:akhir à membentuk array x yang dimulai dengan awal, kenaikan 1 dan diakhiri pada akhir.
Contoh : x = [1:10]
x=linspace(awal,akhir,n) à membentuk array x yang dimulai dari awal, diakhiri pada akhir dan mempunyai n elemen.
Contoh : x = linspace(1,15,15)
x=logspace(awal,akhir,n) à membentuk array dengan elemen-elemen berjarak logaritmis dimulai dengan 10awal , diakhiri pada10akhir dan mempunyai elemen sebanyak n.
x = logspace(1,7,10)
2. Matriks
Pada MATLAB ada beberapa cara untuk membentuk sebuah matriks antara lain :
Membentuk matriks X dengan memasukkan elemen-elemennya secara langsung.
Misal, buat matriks X dengan komponen-komponen sebagai berikut :
A = [1 2 3; 4 5 6; 7 8 9]
Catatan :
􀂃 Antara satu elemen dengan elemen lainnya dalam satu kolom dipisahkan dengan spasi atau koma (,).
􀂃 Untuk memisahkan baris menggunakan tanda titik koma (;).
􀂃 Penulisan elemen terletak di dalam kurung siku ([ ]).
Membentuk matriks dengan cara mengambil data dari file eksternal.
Misal, kita memiliki file Data.dat yang berisi data-data :
1 2 3
4 5 6
7 8 9
Maka dapat dibuat sebuah matriks X dengan mengambil data-data pada file Data.dat tersebut sebagai elemen-elemennya.
Instruksi : X = load(‘Data.dat’)
Membentuk matriks dengan fungsi yang telah disediakan oleh MATLAB
􀂃 Membentuk matriks identitas yang berukuran NxN.
Syntax : eye(N)
Contoh : eye(5)
􀂃 Membentuk matriks berukuran MxN dengan semua elemennya
bernilai 1.
Syntax : ones(M,N)
Contoh : x = ones(3,4)
􀂃 Membentuk matriks diagonal dengan elemen-elemen diagonalnya adalah vektor A (vektor  yang telah dimasukkan nilai elemenelemennya)
Syntax : diag(A)
Contoh : diag(x)
􀂃 Membentuk matriks berukuran NxN, dengan jumlah elemenelemen untuk setiap baris, kolom dan diagonalnya sama.
Syntax : magic(N)
Contoh : magic(5)
􀂃 Membentuk matriks berukuran MxN, dengan elemen-elemennya merupakan bilangan random yang terdistribusi uniform dengan
interval 0,0 sampai 1,0
Syntax : rand(M,N)
Contoh : rand(3,2)
􀂃 Membentuk matriks berukuran MxN, dengan elemen-elemennya bilangan random yang terdistribusi normal dengan mean=0 dan varians=1
Syntax : randn(M,N)
Contoh : randn(3,2)
􀂃 Membentuk vektor berukuran N, dengan elemen-elemennya merupakan salah satu hasil dari permutasi dari N.
Syntax : randperm(N)
Contoh : randperm(8)
Membentuk matriks dengan fungsi m-file yang kita buat sendiri.
Misalkan kita memiliki sebuah file matriksku.m yang berisi coding
sebagai berikut :
a=2;
b=3;
x=[1:a*b]';
y=[1:b*a]';
M=[x y]
Kemudian, panggil file tersebut pada command window dengan
menuliskan matriksku

a. Manipulasi Matriks
Mengubah ukuran matriks menjadi MxN dari matriks X yang berukuran
AxB
Syntax : reshape(X, M, N)
Mengambil diagonal matriks yang berukuran NxN
Syntax : diag(N)
Membentuk matriks segitiga bawah dari matriks X yang berukuran XxN
Syntax : tril(X), atau tril(X, k)
Apabila k=0, maka hasilnya akan sama dengan tril (X). Apabila k>0,
maka elemen-elemen sampai k di atas diagonal utama akan ikut diambil.
Apabila k<0, maka elemen-elemen sampai k di bawah diagonal utama
akan ikut diambil.
Membentuk matriks segitiga atas dari matriks X yang berukuran XxN
Syntax : triu(X), atau triu(X, k)
Apabila k=0, maka hasilnya akan sama dengan triu (X). Apabila k>0,
maka elemen-elemen sampai k di atas diagonal utama akan ikut diambil.
Apabila k<0, maka elemen-elemen sampai k di bawah diagonal utama
akan ikut diambil.
Membentuk matriks berukuran MxN dengan kolom yang tersusun terbalik
dari matriks X yang juga berukuran MxN
Syntax : fliplr(X)
Membentuk matriks berukuran MxN dengan baris yang tersusun terbalik
dari matriks X yang juga berukuran MxN
Syntax : flipud(X)
Membentuk matriks sebagai hasil perputaran (rotasi) dari matriks X
Syntax : rot90(X) atau rot90(X,k)
Nilai k = ±1, ±2, ±3, dst yang menunjukkan perputaran sebesar k x 90º
Membuat matriks dengan elemen-elemen tertentu dari matriks yang telah
ada.
b. Informasi yang dapat diperoleh dari suatu matriks
Ukuran matriks A
Syntax : size(A)
Panjang vektor A
Syntax : length(A)
Mean dari matriks A
Syntax : mean(A) atau mean(A,k)
k adalah dimensi matriks yang akan dicari rata-ratanya. Apabila k=1, maka nilai rata-rata dilakukan terhadap elemen-elemen dalam satu kolom, sedangkan apabila k=2, maka nilai rata-rata dilakukan terhadap elemen-elemen dalam satu baris.
Standard deviasi dari matriks A
Syntax : std(A)
Varians dari matriks A
Syntax : var(A)
c. Operasi pada matriks
Invers matriks
Syntax : inv(A)
Transpose matriks
Untuk melakukan transpose pada suatu matriks, maka menggunakan tanda (‘). Contoh, apabila ingin membentuk matriks B yang merupakan transpose dari matriks A maka kita dapat membentuknya dengan cara menuliskan B = A’
Penjumlahan matriks
Operator yang digunakan : +
Dua buah matriks dapat dijumlahkan apabila kedua matriks tersebut memiliki ukuran yang sama
Pengurangan matriks Operator yang digunakan : -
Seperti halnya pada operasi penjumlahan, matriks – matriks dapat saling dikurangi apabila memiliki ukuran yang sama
Perkalian matriks
Operator yang digunakan : *
Dua buah matriks dapat dikalikan apabila jumlah kolom pada matriks yang pertama sama dengan jumlah baris pada matriks yang kedua
Pembagian matriks
Operator yang digunakan : /
Dua buah matriks dapat dikalikan apabila jumlah kolom pada matriks yang pertama sama dengan jumlah kolom pada matriks yang kedua
Perkalian antar elemen pada matriks
Operator : .*
Dua buah matriks dapat dikalikan antar elemen apabila kedua matriks tersebut memiliki ukuran yang sama
Pembagian antar elemen pada matriks
Operator : ./
Dua buah matriks dapat dibagi antar elemen apabila kedua matriks tersebut memiliki ukuran yang sama

BAB III
FLOW CONTROL
1. Kondisional/Percabangan
(if ... elseif ... else ... end)
Sintaks kondisional ini akan mengeksekusi sekumpulan instruksi apabila suatu kondisi yang disyaratkan bernilai benar. Kondisi ini diakhiri dengan end. Apabila ada kondisi yang berlawanan (false), maka statement if dapat diikuti dengan else atau elseif.
Cara penulisannya adalah sebagai berikut :
if syarat1
perintah-perintah
elseif syarat2
perintah-perintah
else
perintah-perintah
end
Contoh :
a = 99;
if rem(a,2) == 0,
Bilangan = ’Bilangan Genap’
else
Bilangan = ’Bilangan Ganjil’
end;
(switch ... case .. otherwise ... end)
Sintaks kondisional ini akan mengeksekusi sekumpulan instruksi didasarkan pada nilai dari suatu ekspresi atau variabel. Untuk menunjukkan suatu group, statement switch diikuti  dengan case dan otherwise. Kondisi ini diakhiri
dengan end.
Cara penulisannya adalah sebagai berikut :

switch variabel
case value1
perintah-perintah
case value2
perintah-perintah
.
.
.
otherwise
perintah-perintah
end
Contoh :
a = 99;
sisa = rem(a,21)
switch sisa,
case 10
Nilai_Sisa='sepuluh'
case 11
Nilai_Sisa='sebelas'
case 12
Nilai_Sisa='dua belas'
case 13
Nilai_Sisa='tiga belas'
case 14
Nilai_Sisa='empat belas'
case 15
Nilai_Sisa='lima belas'
otherwise
Nilai_Sisa=int2str(sisa)
end;

2. Perulangan/Looping
(for ... end)
Sintaks perulangan ini digunakan untuk mengulang sekumpulan instruksi hingga n kali (n adalah bilangan integer yang telah diidentifikasi sebelumnya). Kondisi ini juga diakhiri dengan end.
Cara penulisannya adalah sebagai berikut :
for variabel = mulai:interval:akhir
perintah-perintah
end
Contoh :
for i=1:10
disp(i);
end;
(while .. end)
Sintaks ini digunakan untuk mengulang sekumpulan instruksi apabila dipenuhi suatu kondisi tertentu. Kondisi ini juga diakhiri dengan end.
Cara penulisannya adalah sebagai berikut :
while syarat
perintah-perintah
end
Contoh :
a = 1
while ( i <= 10)
disp (i);
i = i+1;
end;

BAB IV
GRAFIK
Pada MATLAB terdapat fasilitas untuk menggambar hasil secara grafis. Ada beberapa instruksi
yang bisa digunakan untuk menggambar grafik.
1. Menggambar grafik
Syntax:
􀂃 plot(Y) : menggambar grafik Y terhadap indeksnya.
􀂃 plot(X,Y) : menggambar grafik Y terhadap X, panjang X dan Y harus sama.
􀂃 plot(X,Y,S) : menggambar grafik Y terhadap X, dengan atribut S yang merupakan
string karakter yang menunjukkan warna, tipe titk, dan tipe garis (Tabel 1).
String karakter atribut plot.
Warna Tipe Titik Tipe Garis
Simbol Nama Simbol Nama Simbol Nama
R Merah . Titik - Garis lurus
B Biru o Lingkaran : Titik-titik
Y Kuning x Tanda silang -. Garis titik
G Hijau + Tanda plus -- Garis putus-putus
M Ungu * Tanda bintang
W Putih s Tanda kotak
K Hitam d Tanda berlian
C Biru muda (sian) v Segitiga ke bawah
^ Segitiga ke atas
< Segitiga ke kiri
> Segitiga ke kanan
p Tanda pentagram
h Tanda heksagram
Berikut adalah vektor Y dengan elemen-elemen:
Y = [3 2 5 8 6 9 7 4 1]
Instruksi:
plot(Y)
Plot(Y).

Instruksi:
plot(Y,’ro:’)
Plot(Y,’ro:’).

Instruksi:
clear;
t=0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+0.5);
y3=sin(t-0.25);
plot(t,y1,'r-',t,y2,'b:',t,y3,'m--');
Plot(t,y1,'r-',t,y2,'b:',t,y3,'m--').

2. Memberi title (judul grafik)
Syntax:
􀂃 title(‘text’)
􀂃 title('text','Property1',PropertyValue1,'Property2',PropertyValue2,...)
Instruksi:
clear;
t=0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+0.5);
y3=sin(t-0.25);
plot(t,y1,'r-',t,y2,'b:',t,y3,'m--');
title('Grafik Fungsi Sinus');
Gambar 5 Pemberian title.

Apabila kita menginginkan ukuran font sebesar 16, dan nama font adalah verdana, maka instruksi
yang digunakan adalah:
t=0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+0.5);
y3=sin(t-0.25);
plot(t,y1,'r-',t,y2,'b:',t,y3,'m--');
title('Grafik Fungsi
Sinus','fontsize',16,'fontname','verdana');

Pemberian title dengan property.

3. Memberi label pada setiap sumbu.
Syntax:
- Memberi label pada sumbu x.
􀂃 xlabel(‘text’)
􀂃 xlabel('text','Property1',PropertyValue1,'Property2',PropertyValue2,...)
- Memberi label pada sumbu y.
􀂃 ylabel(‘text’)
􀂃 ylabel('text','Property1',PropertyValue1,'Property2',PropertyValue2,...)
- Memberi label pada sumbu z.
􀂃 zlabel(‘text’)
􀂃 zlabel('text','Property1',PropertyValue1,'Property2',PropertyValue2,...)
Instruksi:
clear;
t=0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+0.5);
y3=sin(t-0.25);
plot(t,y1,'r-',t,y2,'b:',t,y3,'m--');
title('Grafik Fungsi
Sinus','fontsize',16,'fontname','verdana');
xlabel('Data ke-');
ylabel('Besarnya Sinus');
Pemberian label.

Apabila kita menginginkan ukuran font sebesar 14, dan nama font adalah arial, maka instruksi yang digunakan adalah:
clear;
t=0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+0.5);
y3=sin(t-0.25);
plot(t,y1,'r-',t,y2,'b:',t,y3,'m--');
title('Grafik Fungsi
Sinus','fontsize',16,'fontname','verdana');
xlabel('Data ke-','fontsize',14,'fontname','arial');
ylabel('Besarnya Sinus','fontsize',14,'fontname','arial');
 Pemberian label dengan property.

4. Memberi grid
Syntax:
􀂃 grid : mengeset grid on jika dalam keadaan off, atau mengeset grid off jika dalam keadaan on.
􀂃 grid on : mengeset grid menjadi on.
􀂃 grid off : mengeset grid menjadi off.
Instruksi:
clear;
t=0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+0.5);
y3=sin(t-0.25);
plot(t,y1,'r-',t,y2,'b:',t,y3,'m--');
title('Grafik Fungsi
Sinus','fontsize',16,'fontname','verdana');
xlabel('Data ke-','fontsize',14,'fontname','arial');
ylabel('Besarnya Sinus','fontsize',14,'fontname','arial');
grid;
Pemberian grid.

5. Memberi legend
Syntax:
􀂃 legend(string1,string2,string3,…) : memberikan legend pada grafik yang telah ada, dengan teks string1, string2, string3, dst.
􀂃 legend(…,pos) : memberikan legend dan meletakkannya pada posisi tertentu sesuai pos:
􀂶 0 : diletakkan secara otomatis pada posisi terbaik.
􀂶 1 : kanan atas (default)
􀂶 2 : kiri atas
􀂶 3 : kiri bawah
􀂶 4 : kanan bawah
􀂶 -1 : di sebelah kanan grafik.
Instruksi:
clear;
t=0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+0.5);
y3=sin(t-0.25);
plot(t,y1,'r-',t,y2,'b:',t,y3,'m--');
title('Grafik Fungsi
Sinus','fontsize',16,'fontname','verdana');
xlabel('Data ke-','fontsize',14,'fontname','arial');
ylabel('Besarnya Sinus','fontsize',14,'fontname','arial');
grid;
legend('t','t+0.5','t-0.25');
Pemberian legend.
Comments
0 Comments

No response to “DASAR PEMROGRAMAN MATLAB”

Leave a Reply

Tinggalkan komentar dengan sopan santun