PRAKTIKUM PENGOLAHAN CITRA
MODUL
PRAKTIKUM PENGOLAHAN
CITRA
DENGAN
MATLAB 7.0
CHAPTER 1
INTRODUCTION TO MATLAB
1
PRAKTIKUM PENGOLAHAN CITRA
TABLE OF CONTENTS
CHAPTER 1 PENGENALAN MATLAB
PENDAHULUAN ….. 3
WINDOW PADA MATLAB ….. 4
CURRENT DIRECTORY ….. 4
COMMAND HISTORY ….. 4
COMMAND WINDOW ….. 4
WORKSPACE ….. 5
MATLAB EDITOR ….. 5
FIGURE WINDOW ….. 5
MATLAB HELP ….. 6
DASAR PROGRAMING PADA MATLAB ….. 7
MENULISKAN KOMENTAR ….. 7
MENULISKAN VARIABLE ….. 7
PERINTAH DASAR ….. 7
TIPE DATA ….. 8
FUNGSI-FUNGSI MATRIKS ….. 10
OPERASI PADA MATRIKS ….. 10
OPERATOR ….. 11
FUNGSI MATEMATIKA ….. 12
PEMBUATAN FUNGSI ….. 13
FLOW CONTROL PADA MATLAB ….. 13
STATEMENT IF – ELSE ….. 13
STATEMENT SWITCH ….. 14
STATEMENT WHILE ….. 15
STATEMENT FOR ….. 15
OPERATOR LOGIKA PADA MATLAB ….. 16
OUTPUT DAN INPUT PADA MATLAB ….. 17
OUTPUT ….. 17
INPUT ….. 18
2
PRAKTIKUM PENGOLAHAN CITRA
UJI PEMAHAMAN ….. 19
CHAPTER 1
PENGENALAN MATLAB
PENDAHULUAN
MATLAB singkatan dari Matrix Labotatory, merupakan sebuah software yang dibuat
oleh The Mathwork.inc ( http://www.mathworks.com ). Sebuah program untuk
komputasi numerik yang merupakan bahasa pemrograman matematika yang dibentuk
dengan dasar menggunakan sifat dan bentuk matriks. Pada mulanya program ini
merupakan proyek dari LINPACK dan EISPACK dan dikembangkan menggunakan
bahasa FONTRAN, namun sekarang merupakan produk komersial dari Mathworks.Inc
yang dalam perkembangan selanjutnya dikembangkan menggunakan bahasa C++ dan
assembler.
MATLAB merupakan bahasa pemrograman tingkat tinggi berbasis pada matriks yang
digunakan untuk menyelesaikan masalah – masalah :
Matematika dan Komputasi
Pengembangan dan Algoritma
Pemrograman Modeling, simulasi, dan pembuatan prototype
Analisa data, eksplorasi dan visualisasi
Analisis numerik dan statistik
Pengembangan aplikasi teknik
3
PRAKTIKUM PENGOLAHAN CITRA
WINDOW PADA MATLAB
CURRENT DIRECTORY
Window yang menampilkan isi dari direktori kerja saat menggunakan MATLAB.
Default alamat direktori berada dalam folder work pada C:\MATLAB7\work.
COMMAND HISTORY
Window yang menyimpan perintah – perintah apa saja yang sebelumnya
dilakukan oleh pengguna terhadap MATLAB.
COMMAND WINDOW
Window yang berfungsi sebagai tempat yang berfungsi untuk menjalankan fungsi,
menjalankan proses – proses, serta melihat isi variabel.
4
PRAKTIKUM PENGOLAHAN CITRA
WORKSPACE
Window yang berfungsi untuk menampilkan seluruh variabel – variabel yang
sedang aktif pada saat pemakaian MATLAB.
MATLAB EDITOR
Windows yang merupakan tool yang disediakan MATLAB sebagai editor script
MATLAB (M-File). Walaupun sebenarnya script ini dapat menggunakan editor
yang lain seperti notepad.
FIGURE WINDOW
Windows yang berfungsi untuk menampilkan hasil visualisasi dari script
MATLAB. Selain sebagai visualisasi output, windows ini juga berfungsi sebagai
media input yang interaktif.
5
PRAKTIKUM PENGOLAHAN CITRA
MATLAB HELP
Window yang menyediakan sistem help yang dapat diakses dengan perintah help.
Window ini dapat digunakan untuk mencari berbagi informasi seperti fungsi
trigonometri, eksponensial, dan lain-lain.
6
PRAKTIKUM PENGOLAHAN CITRA
DASAR PROGRAMING PADA MATLAB
MENULISKAN KOMENTAR
Menuliskan baris komentar pada MATLAB harus didahului dengan pemberian
symbol %. Setiap baris yang didepannya didahului dengan tanda % akan menjadi
sebuah komentar.
Misalnya : % MATLAB 7.0
MENULISKAN VARIABLE
Menuliskan variable pada MATLAB didahului dengan mendeklarasikan nama
variable diikuti tanda = setelah itu nilai dari variabel.
Misalnya : x = 7;
s = ‘MATLAB 7.0’;
PERINTAH DASAR
Perintah – perintah dasar yang dapat dilakukan pada command window maupun
editor adalah sebagai berikut:
clc : merupakan syntax untuk membersihkan layar command window
clear : merupakan syntax untuk membersihkan variabel local
whos : merupakan syntax untuk mendapatkan informasi semua variabel
yang aktif pada workspace. Whos dapat diikuti dengan nama
variabel jika ingin menampilkan keterangan suatu variabel tertentu.
7
PRAKTIKUM PENGOLAHAN CITRA
Gambar 1.1 Syntax whos
size : merupakan perintah untuk mendapatkan ukuran suatu variabel
Gambar 1.1 Syntax size
semi colon (;) : terdapat perbedaan dasar penggunaan titik koma pada
akhir perintah dengan tidak menggunakan. Apabila tidak
digunakan pada akhir perintah, maka hasil perintah akan
ditampilkan pada command window
Gambar 1.1 Penggunaan titik koma
TIPE DATA
Terdapat beberapa jenis tipe data pada MATLAB seperti pada bahasa
pemrograman lainnya.
8
PRAKTIKUM PENGOLAHAN CITRA
Tipe Numerik : merupakan tipe data berupa angka. Data ini pada
MATLAB secara general bertipe double. Apabila akan
menuliskan pecahan gunakan titik(.).
a=7; %double
b=7.5 %pecahan
Tipe Character : merupakan tipe data berupa satu karakter tunggal
c=’a’; %karakter
Tipe String : merupakan tipe data berupa karakter jamak
d='MATLAB 7.0'; %string
Tipe Matriks : merupakan array yang berisi tipe data lain, misalnya
karakter atau numeric. Matriks tidak dapat disamakan
dengan array seperti bahasa pemrograman lainya. Pada
MATLAB matriks dan array (pada bahasa
pemrograman lainnya) berbeda secara jenis.
e=[1 2 3]; %vektor
(matriks baris)
f=[1 2 3;4 5 6]; %double
array
g=[1,2,3;4,5,6]; %double
array
h=['m','a','t','l','a','b']; %char
array
i=['aaaa' 'bbbb' 'cccc';
'dddd' 'eeee' 'ffff']; %char array
Tipe Cell-Array : tipe data ini lebih menyerupai tipe data array pada
bahasa pemrograman pada umumnya. Panjang karakter
9
PRAKTIKUM PENGOLAHAN CITRA
di dalam cell array tidak harus sama dengan lainnya,
berbeda dengan matriks(array).
j = ['aaaa';'bbbb';'cccc']; %tipe
data array (matriks)
k = {'Yes';'No';'Goodbye'}; %tipe
data cell array
FUNGSI-FUNGSI MATRIKS
zeros :digunakan apabila kita ingin membuat suatu matriks yang semua datanya
berisi 0
Misalnya : a = zeros (3, 3);
ones :digunakan apabila kita ingin membuat suatu matriks yang semua datanya
berisi 1
Misalnya : b = ones(3, 3);
eye :digunakan apabila kita ingin membuat suatu matriks identitas
Misalnya : c = eye(3, 3);
rand :digunakan apabila kita ingin membuat matriks dengan data random
dengan distribusi uniform
Misalnya : d = rand(3, 3);
randn :digunakan apabila kita ingin membuat matriks dengan data random
dengan distribusi normal
Misalnya : e = randn(3, 3);
OPERASI PADA MATRIKS
Ditentukan matriks-matriks berikut:
A=[1 2 3];
B=[4 5 6;7 8 9];
10
PRAKTIKUM PENGOLAHAN CITRA
C=[1 3 5;2 4 6;7 8 9];
Maka Terhadap matriks-matriks tersebut dapat dikenai beberapa operasi
pemanggilan elemen-elemennya dan operasi lainnya.
D=A(1,3); %memanggil baris kesatu kolom
ketiga dari matriks A
E=C(3,:); %memanggil baris ketiga
matriks C
F=C(:,3); %memanggil kolom ketiga
matriks C
G=C(2:3,1:2); %memanggil baris 2 sampai 3
dan kolom 1 sampai 2
H=[A(1,2) B(2,3) C(3,1)]; %mendapatkan variabel
matriks H dengan mengambil variabel
matriks lain
C(:,3)=[]; %menghapus kolom ketiga
matriks C
OPERATOR
Operator pada MATLAB umumnya seperti yang biasa kita jumpai pada bahasa
pemrograman lainnya. Namun dalam penggunaannya terhadap matriks terdapat
beberapa tambahan tertentu.
Tabel 1.1 Operator pada MATLAB
OPERATOR TIPE DATA SINTAX
Penambahan Numerik dan matriks A + B
Pengurangan Numerik dan matriks A - B
11
PRAKTIKUM PENGOLAHAN CITRA
Perkalian Numerik dan matriks A * B
Perkalian Perbagian Matriks A .* B
Pembagian Numerik dan matriks A / B
Pembagian Perbagian Matriks A ./ B
Pemangkatan Numerik dan matriks A ^ B
Pemangkatan
perbagian
Matriks A..^B
Ditentukan matriks-matriks berikut:
X=[1 2 3;4 5 6;7 8 0];
Y=[2 4 6;0 3 7;9 8 1];
Maka Terhadap matriks-matriks tersebut dapat dikenai beberapa operasi
menggunakan operator-operator di atas.
AA=X+Y; %operasi jumlah pada matriks
AB=X-Y; %operasi kurang pada matriks
AC=X*Y; %operasi kali pada matriks
AD=X.*Y; %operasi kali per-elemen
AE=X./Y; %operasi bagi per-elemen
AK=X.^Y; %pemangkatan perbagian
FUNGSI MATEMATIKA
Fungsi – fungsi matematika yang digunakan pada MATLAB diantaranya adalah
sebagai berikut :
12
PRAKTIKUM PENGOLAHAN CITRA
Tabel 1.2 Fungsi-fungsi matematika pada MATLAB
FUNGSI KEGUNAAN CONTOH
abs(x) Menghasilkan nilai absolut dari x B = -5; A = abs( B );
exp(x) Menghasilkan nilai eksponensial
natural, ex
F = 2; E = exp( F );
log(x) Menghasilkan nilai logaritma natural
x, lnx
H = 100; G =
log( H );
sqrt(x) Menghasilkan akar dari nilai x, √x L = 16; K =
sqrt( L );mod(x, y) Menghasilkan nilai modulus (sisa
pembagian x terhadap y)
N = 9; M = mod( N,3
);
PEMBUATAN FUNGSI
Dalam MATLAB, kita dapat membuat suatu fungsi yang dimana terdapat
berbagai inputan data dan proses, sehingga dihasilkan suatu keluaran yang kita
inginkan dari sekumpulan proses dalam fungsi tersebut.
Syntax : Function [Output Value ] = Funtion Name (Input Value)
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - -
Misalnya : function [x, y] = Fungsi1 (a, b, c)
% this is a function
x = a * b / c;
y = a + (c ^ b);
x
y
13
PRAKTIKUM PENGOLAHAN CITRA
Sekarang ketikkan Fungsi1(3, 2, 1) pada command window. Jangan lupa bahwa
nama fungsi untuk kasus ini harus sama dengan nama file MATLABnya, yaitu
Fungsi1.m.
FLOW CONTROL PADA MATLAB
Dalam MATLAB, kita juga mengenal flow control seperti halnya pada bahasa
pemrograman yang lainnya. Flow control terdiri dari empat macam yang
digunakan untuk mengatur aliran data.
STATEMENT IF – ELSE
Syntax : Contoh :
if ekspresi1
statement1
elseif ekspresi2
statement2
else
statement3
end
Pada contoh ini bila kita memasukkan nilai A lebih besar daripada B, maka pada
command window akan ditampilkan ‘A lebih besar dari B’, demikian pula
sebaliknya. Menampilkan ‘ A sama dengan B’ bila nilai masukan A sama dengan
nilai B.
14
function IFELSE(A,B)
if A > Bdisp('A lebih besar dari B')
elseif A == Bdisp('A sama dengan B')
elsedisp('A lebih kecil dari B')
end
PRAKTIKUM PENGOLAHAN CITRA
STATEMENT SWITCH
Syntax : Contoh :
switch variabel
case ekspresi1
statement1
case ekspresi2
statement2
otherwise
statement3
end
Pada contoh ini bila kita memasukkan nilai 1 pada x akan menampilkan ‘x is 1’
pada command window, menampilkan ‘x is 2, 3, or 4’ bila x = 2, 3, atau 4,
menampilkan ‘x is 5’ jika nilai x = 5. Statement ‘x is not 1, 2, 3, 4, or 5’ akan
ditampilkan bila x tidak dalam jangkauan 1 sampai 5.
STATEMENT WHILE
Syntax : Contoh :
while ekspresi
statement1
statement2
. . . . . . . . .
statementN
end
15
function SWITCH(x)
switch xcase 1
disp('x is 1')
case {2,3,4}disp('x is 2, 3 or 4')
case 5disp('x is 5')
otherwisedisp('x is not 1, 2, 3, 4
or 5')
function WHILE(x)
%selama nilai x kurang dari 10
while x < 10
disp('nilai saat ini : ');
%tampilkan nilai xx
%increment nilai xx = x+1;
end
PRAKTIKUM PENGOLAHAN CITRA
Pada contoh ini function akan dijalankan selama nilai x yang dimasukkan kurang
dari 10. Hasil keluaran pada command window akan menampilkan teks ‘nilai saat
ini: ‘ beserta nilai x yang diulang hingga x = 9.
STATEMENT FOR
Syntax : Contoh :
for index = start : increment : stop
statement1
statement2
. . . . . . . . .
statementN
end
Pada contoh ini function dengan nama FOR dengan nilai keluaran a akan
menampilkan nilai hasil pemangkatan (y^2) dari y dengan nilai 1 sampai 10.
Fungsi tidak membutuhkan parameter inputan, oleh karena itu kita tidak perlu
memasukkan nilai y pada command window.
OPERATOR LOGIKA PADA MATLAB
Seperti bahasa pemrograman lain pada umumnya, MATLAB juga memiliki
jenis – jenis operator logika yang digunakan untuk kepentingan tertentu untuk
perbandingan, mungkin pada ekspresi if atau while.
Tabel 1.3 Operator logika pada MATLAB
OPERATOR SYNTAX KETERANGAN
16
function a = FOR
for y = 1:10
a(y) = y^2;
end
PRAKTIKUM PENGOLAHAN CITRA
Lebih dari A > B A lebih dari B
Lebih dari sama dengan A >= B A lebih dari sama dengan B
Kurang dari A < B A kurang dari B
Kurang dari sama dengan A <= B A kurang dari sama dengan B
Sama dengan A == B A sama dengan B
Tidak sama dengan A ~= B A tidak sama dengan B
OUTPUT DAN INPUT PADA MATLAB
Seperti bahasa pemrograman lain pada umumnya, MATLAB juga memiliki
ouputan dan inputan data.
OUTPUT
Menampilkan output pada MATLAB dapat dilakukan dua perintah, yaitu:
PERINTAH disp
Perintah disp merupakan perintah tunggal, sehingga apabila ingin menampilkan
beberapa tampilan harus dituliskan perintah disp berulang – ulang.
Syntax : disp(…..)
Contoh : a = 'MATLAB 7.0 for Image Processing'
disp(a);
17
PRAKTIKUM PENGOLAHAN CITRA
Perintah disp menampilkan data yang isi di dalamnya harus merupakan string,
jadi jika ingin menampilkan sebuah angka terlebih dahulu harus dirubah kedalam
bentuk string dengan function num2str( ).
Contoh : nim = 0818077
disp(['Nim saya adalah
',num2str(nim)])
PERINTAH fprintf
Syntax : fprintf(format, A, …..)
Format adalah bentuk penulisan yang akan ditampilkan seperti jumlah angka
decimal, tab, lebar karakter, penulisan di baris baru, dan lain – lain. A adalah
nama variabel yang isinya akan dicetak.
Tabel 1.4 Format data pada MATLAB
KONVERSI KETERANGAN
%c Karakter tunggal
%s Karakter jamak ( string )
\n Penulisan dituliskan pada baris baru
Contoh : a = 'MATLAB 7.0'
b = 'for Image Processing'
fprintf ( ' %s \n ', a);
fprintf( ' %s \n ', a, b);
fprintf(' %s %s \n ', a, b);
18
PRAKTIKUM PENGOLAHAN CITRA
INPUT
Inputan pada MATLAB dapat dilakukan dengan perintah input yang membaca
data dari keyboard. Apabila di run akan muncul teks di layar command window
dan menunggu inputan dari user yg diakhiri dengan penekanan tombol enter,
apabila langsung dienter maka teks akan berisi matriks kosong.
Syntax : nama_variabel = input (‘teks’)
Contoh1 : nama = input('Masukkan Nama Anda : ','s');
disp('Nama yang Anda Masukkan : ');
disp(nama);
Contoh2 : nilai = input('Masukkan Nilai Anda : ');
disp('Nilai yang Anda Masukkan : ');
disp(nilai);
UJI PEMAHAMAN
SOAL 1 : Persamaan fungsi
Tentukan nilai fungsi tersebut dengan nilai-nilai t=25, x=43, y=15.25, z=8.2 !
19
M = 4x2 + 3y + 10
N = e (2 * x) + x
O = sqrt ((1 / (x + y)) + (1 / (t + z)))
P = 4 * (e(-x / 2)) * sin (pi * x)
PRAKTIKUM PENGOLAHAN CITRA
SOAL 2 : Penentuan volume silinder berlubang
Sebuah silinder mempunyai diameter luar 6.3125 dan diameter dalam 5.762 , tentukan volumenya bila diketahui rumus untuk mencari volumenya :
V = 43 π (RE3 − RI3)
Dimana RE adalah diameter luar dan RI adalah diameter dalam !
SOAL 3 : Perkalian matriks
1 3 5 6
A = -7 2 2 B = 5
4 -1 1 -7
3 x 3 1 x 3
Tentukan hasil perkalian matriks A x B !
20