BAB VIII
PERCOBAAN VII
MATLAB
8.1 Tujuan Percobaan
Hal-hal yang menjadi tujuan percobaan praktikum ini adalah:
1. Mengenal bahasa pemrograman Matlab
2. Mengetahui kegunaan dari program aplikasi Matlab
3. Memahami perintah – perintah yang digunakan pada Matlab
4. Mengetahui penggunaan fungsi matematika, variabel, dan matriks yang
terdapat pada Matlab
5. Mampu melakukan perhitungan matematis dengan menggunakan Matlab
6. Mengetahui kelebihan Matlab dibandingkan dengan bahasa pemograman
lainnya
8.2 Dasar Teori
8.2.1 Sejarah Matlab
Asal-usul
Cleve Moler adalah pencipta dari MATLAB. Moler adalah seorang analis
numerik yang bergerak dalam bidang komputasi matriks. Pada awal tahun
1970-an, Moler berpartisipasi dalam upaya yang diselenggarakan oleh
Laboratorium Nasional Argonne untuk memproduksi sebuah perpustakaan yang
handal, efisien FORTRAN subroutines untuk menghitung eigenvalues dari
matrik (EISPACK) dan memecahkan sistem persamaan linear (LINPACK).
Untuk membuat paket-paket tersebut lebih mudah bagi siswa untuk
menggunakan, Moler dibuat MATLAB, yang merupakan nama dari sebuah
"Laboratorium Matrix." Asli MATLAB adalah FORTRAN program, yang
dirancang untuk era timesharing ASCII dan terminal. Ia hanya satu tipe data
(matriks yang kompleks putri) dan tetap koleksi 80 fungsi. Moler menggunakan
FORTRAN MATLAB dalam analisis numerik mengajar di Stanford pada tahun
1979. Firman program mencapai Little Jack, yang tergenggam potensi
MATLAB dalam pengolahan sinyal dan kontrol, dan kemungkinan pembuatan
perangkat lunak yang sukses berdasarkan MATLAB produk baru untuk IBM
PC.
Sedikit dan Steve Bangert dikembangkan oleh PC MATLAB port Moler's kode
dari FORTRAN ke C, pengguna menambahkan fungsi-ditentukan (dalam
membuat efek MATLAB ke dalam bahasa pemrograman daripada kalkulator),
peningkatan grafis, dan perpustakaan MATLAB dari rutinitas, yang toolboxes.
Moler, Little, dan Bangert yang Mathworks dibentuk pada tahun 1984, dengan
PC MATLAB sebagai produk pertama. Penjualan pertama mereka adalah agar
sepuluh salinan ditempatkan oleh Profesor Nick Trefethen di MIT.
Pertumbuhan dan Pembangunan
Jack Little 100-kata, rencana bisnis 1983 diperkirakan bahwa produk baru akan
dilakukan untuk teknis Lotus 1-2-3 dunia tentang apa yang telah dilakukan di
dunia bisnis. MATLAB sememangnya komersial keberhasilan dari awal,
berkembang menjadi lebih dari 1000000 pengguna pada tahun 2006 dan 1200
untuk Mathworkers, sebagai karyawan Mathworks diketahui. MATLAB telah,
dalam pelaksanaannya, menjadi bahasa umum untuk pertukaran informal dan
perangkat lunak untuk algorithmic percobaan dalam komputasi teknis.
Perusahaan tetap dilaksanakan secara pribadi.
Ada beberapa revisi utama dan tambahan untuk MATLAB, termasuk suatu set
alat dan grafis primitif, dan daftar multidimensi array (dikenal sebagai
MATLAB dalam sel array), dan kelas benda, ekonomis dan skema
penyimpanan algoritma untuk jarang matrik, debugger, sebuah profiler, GUI
membina, biaya yang lebih rendah edisi mahasiswa, dan Baru-In-Time (JIT)
kompilasi untuk meningkatkan kinerja. komputer inti yang telah ditingkatkan
melalui dimasukkannya LAPACK (a state-of-the-art perpustakaan untuk
komputasi matriks ), Serta perangkat lunak untuk perhitungan pasti integral,
integrasi persamaan diferensial biasa, dan akar finders. Toolboxes dibuat oleh
Mathworks dan lainnya telah memperluas cakupan MATLAB, menambahkan
kemampuan di daerah-daerah seperti optimasi, sinyal dan pengolahan gambar,
logika fuzzy, splines, wavelets, statistik, persamaan diferensial parsial,
Bioinformatika, dan matematika keuangan. SIMULINK, sebuah blok diagram
diperpanjang untuk lingkungan simulasi dan model berbasis desain muncul
sebagai produk Mathworks kedua pada tahun 1990.
Mathworks logo yang merupakan gambar (dihasilkan oleh MATLAB) dari
angka pendekatan yang mendasar modus getar yang berbentuk L-membrane,
topik yang dibahas Moler di Stanford Ph.D. tesis di tahun 1965.
8.2.2 Windows Matlab
8.2.2.1 Matlab Command Windows/Editor
Matlab Command Windows/Editor merupakan window yang pertama
kali dibuka setiap Matlab dijalankan. Window ini merupakan tool yang
disediakan Matlab sebagai editor script Matlab (M-File).
Gambar 8.1 Screenshot Matlab Command Window
Pada window di atas dapat dilakukan akses-akses ke Command Matlab
dengan cara mengetik barisan ekspresi Matlab, seperti menakses Help
Window dan lainnya. Jika perintah yang sudah diketikkan dan hasil yang
ditampilkan akan disimpan, maka dapat dilakukan dengan menggunakan
Command Diary. Command Window juga digunakan untuk memanggil tool
Matlab seperti editor, debugger, atau fungsi.
8.2.2.2 Matlab Editor/Debugger
Window ini merupakan tool yang disediakan oleh Matlab 5 ke atas.
Berfungsi sebagai editor script Matlab (M-FIle). Walaupun sebenarnya script
ini untuk pemrograman Matlab dapat saja menggunakan editor yang lain
seperti Notepad, Wordpad bahkan Word. Untuk mengakses window M-File
ini dapat dilakukan dengan cara :
1. Pilih File, kemudian New
2. Pilih M-File maka Matlab akan menampilkan Editor Window.
Dan hasil tampilan dari perintaah di atas adalah berikut ini.
Gambar 8.2 Screenshot Matlab Editor/Debugger
Selain dengan cara tadi, untuk menampilkan editor M-File dapat juga
dilakukan dengan cara :
>> edit
8.2.2.3 Figure Window
Window ini adalah hasil visualisasi dari script Matlab. Namun, Matlab
memberi kemudahan pada programer utnuk mengedit window ini sekaligus
memberikan program khusus untuk itu. Sehingga window ini selain berfungsi
untuk visualisasi output, dapat juga menjadi media input yang interaktif.
Gambar 8.3 Screenshot Figure Window
8.2.2.4 Matlab Help Window
Matlab menyediakan sistem help yag dapat diakses engan perintah
help. Misalnya, untuk memperoleh informasi mengenai fungsi elfun yaitu
fungsi untuk trigonometri, ekponensial, Complex dan lain-lain, maka hanya
perlu mengetikkan perintah berikut
>> help elfun
Kemudian tekan Enter maka di layar akan muncul informasi dalam bentuk
teks pada layar Matlab, yaitu :
Complex.
abs - Absolute value.
angle - Phase angle.
complex - Construct complex data from real and imaginary parts.
conj - Complex conjugate.
imag - Complex imaginary part.
real - Complex real part.
unwrap - Unwrap phase angle.
isreal - True for real array.
cplxpair - Sort numbers into complex conjugate pairs.
Rounding and remainder.
fix - Round towards zero.
floor - Round towards minus infinity.
ceil - Round towards plus infinity.
round - Round towards nearest integer.
mod - Modulus (signed remainder after division).
rem - Remainder after division.
sign - Signum.
Untuk lebih lengkapnya dapat di lihat pada tampilan Matlab Help
Window dengan cara pilih menu Window kemudian pilih help Window.
Kumudian untuk mengetahui informasi yang ada dapat dilakukan dengan klik
dua kali info yang ada di Matlab Help Window atau dengan mengetikkan
informasi apa yang diinginkan di sudut sebelahkiri Matlab Help Window.
Beriku adalah tampilannya.
Gambar 8.4 Screenshot Matlab Help Window
8.2.3 Tipe Data di Matlab
Matlab memiliki beberapa tipe data, diantaranya :
1. Tipe data Logical
Sama seperti di JAVA, tipe data logical di MATLAB adalah sebuah
tipe data yang memiliki dua nilai yaitu true atau false dan masing-masing
direpresentasikan dengan angka 1 atau 0. MATLAB memiliki beberapa
operator logika untuk merepresentasikan fungsi logic ini.
2. Tipe data Char
Tipe data char di MATLAB merupakan sebuah tipe data yang
melibatkan karakter. Sebenarnya representasi string pada MATLAB adalah
(kumpulan karakter) merupakan array dari sekumpulan karakter yang
berukuran 1 x n. Dalam matlab, string diibaratkan sebuah array dari kumpulan
karakter. Setiap karakter direpresentasikan sebagai sebuah nilai ASCII.
Contoh :>> string = ‘kita mencoba tipe data char di MATLAB’
string =
kita mencoba tipe data char di MATLAB
Beberapa fungsi yang digunakan dalam string adalah :
strcmp
Fungsi ini dipakai untuk memeriksa apakah dua string memiliki
kesamaan.
Contoh:>> testequals = strcmp(string,testconvertchar)
testequals =
1
strcat
Fungsi ini dipakai untuk menggabungkan dua buah string.
Contoh:>> string1 = ‘andre mahasiswa’
string1 =
andre mahasiswa
>> string2 = ’sistem informasi ITS’
string2 =
sistem informasi ITS
>> strcat(string1,string2)
ans =
andre mahasiswasistem informasi ITS
isletter
Fungsi ini dipakai untuk memeriksa apakah dalam suatu string
terdapat huruf atau tidak, dengan fungsi ini pada MATLAB maka apabila
dalam string tersebut terdapat huruf maka akan ditunjukkan dengan angka
1 dan apabila dalam string tersebut ada karakter selain hurufmaka akan
ditunjukkan dengan angka 0.
Contoh:>> isletter(string1)
ans =
1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
isspace
Fungsi ini dipakai untuk memeriksa apakah terdapat spasi, enter,
tabulasi di dalam satu string, dan apabila ditemukan salah satu dari
ketiganya (spasi,enter,tabulasi) maka akan ditunjukkan dengan angka 1,
selain itu akan ditunjukkan dengan angka 0.
Contoh:>> isspace (string1)
ans =
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
int2str
Fungsi ini dipakai untuk mengkonversi dari integer ke dalam string.
Fungsi ini akan membulatkan argument (matriks) ke dalam sebuah
bilangan integer dan mengkonversi hasilnya menjadi sebuah matriks
string.
Contoh:>> testinteger = randn(4)
testinteger =
-0.4326 -1.1465 0.3273 -0.5883
-1.6656 1.1909 0.1746 2.1832
0.1253 1.1892 -0.1867 -0.1364
0.2877 -0.0376 0.7258 0.1139
>> testinteger2 = int2str(testinteger)
testinteger2 =
0 -1 0 -1
-2 1 0 2
0 1 0 0
0 0 1 0
num2str>> testinteger3 = num2str(testinteger)
testinteger3 =
-0.43256 -1.1465 0.32729 -0.58832
-1.6656 1.1909 0.17464 2.1832
0.12533 1.1892 -0.18671 -0.1364
0.28768 -0.037633 0.72579 0.11393
3. Tipe Data Function Handles
Tipe data ini dipakai untuk menampilkan informasi yang digunakan
dalam referensi sebuah fungsi. Ketika tipe data dibuat, matlab menangkap
semua informasi tentang fungsi. Function Handles ini digunakan untuk
mengatur behaviour dalam suatu fungsi di dalam MATLAB.
4. Tipe Data Structure
Tipe data ini adalah sebuah tipe data yang berorientasi array dengan
field-field yang memiliki nama dan dapat memuat segala jenis data, termasuk
sel array atau mungkin jenis structure yang lain.
5. Tipe Data Numeric
Yang termasuk tipe data numeric di MATLAB antara lain :
bilangan bulat bertanda dan tidak bertanda (signed and unsigned
integer)
bilangan pecahan atau mengambang dengan presisi tunggal maupun
ganda (single and double precision floating point numbers)
Berikut adalah beberapa hal yang perlu diperhatikan untuk tipe data numeric:
Perhitungan untuk komputasi dilakukan dengan menggunakan
bilangan berpresisi ganda.
Pengerjaan operasi matematika pada array integer maupun bilangan
berpresisi tunggal terlebih dahulu harus dikonversi menjadi bilangan
berpresisi ganda.
Penggunaan memori untuk type array integer dan bilangan berpresisi
tunggal lebih efisien dibandingkan bilangan berpresisi ganda.
6. Tipe Data Cell
Tipe data cell dapat digambarkan sebagai sebuah array atau kotak-
kotak atau container yang dapat memuat data yang berbeda atau tipe data
matlab lainnya. Setiap sel dalam sel array dapat memuat semua jenis tipe data
matlab yang meliputi array, teks, obyek symbol, sel array, maupun struktur.
7. Tipe Data Java Classes
Tipe data ini digunakan MATLAB sebagai interface-nya untuk
terhubung dengan JAVA.
8.2.4 Perintah-perintah Dasar Matlab
Matlab memiliki beberapa perintah, yaitu:
1) Who
Perintah who digunakan untuk mengetahui variabel apa saja yang telah
dituliskan, sebagai contoh adalah sebagai berikut :>> who
Your variables are:
buku penggaris pensil pulpen
>>
2) Clear
Perintah char digunakan untuk menghapus salah satu variabel yang telah
dituliskan, sebagai contoh adalah sebagai berikut :>> clear pulpen
>> who
Your variables are:
buku penggaris pensil
>>
3) % komentar
Tanda % digunakan untuk memberi keterangan pada perintah yang kita
masukkan. Keterangan/komentar ini tidak akan diproses. Sebagai contoh
adalah sebagai berikut :>> a = 2 % variabel a sama dengan 2
a =
2
>>
4) Help
Perintah help digunakan untuk mengetahui kegunaan suatu perintah,
sebagai contoh adalah sebagai berikut :>> help clc
CLC Clear command window.
CLC clears the command window and homes the cursor.
See also home.
Reference page in Help browser
doc clc
>>
5) Lookfor
Perintah lookfor digunakan untuk mengetahui perintah apa saja yang
berhubungan dengan suatu hal, sebagai contoh adalah sebagai berikut :>> lookfor clear
CLEAR Clear variables and functions from memory.
MISLOCKED True if M-file or MEX-file cannot be cleared.
MLOCK Prevent M-file or MEX-file from being cleared.
MUNLOCK Allow M-file or MEX-file to be cleared.
SCRIBECLEARMODE Plot Editor helper function
CLA Clear current axis.
CLF Clear current figure.
CLG Clear Figure (graph window).
CLRUPROP Clear user-defined property.
UICLEARMODE Clears the current interactive figure mode;
CLC Clear command window.
DBCLEAR Remove breakpoint.
6) Save
Perintah save digunakan untuk menyimpan variabel yang sudah dituliskan
dalam suatu file, sebagai contoh adalah sebagai berikut :>> save tugas
>>
7) Load
Perintah load digunakan untuk mengambil konfigurasi data yang
tersimpan, sebagai contoh adalah sebagai berikut :>> load tugas
>>
8) Helpwin
Perintah helpwin digunakan untuk menampilkan navigasi untuk window
help, sebagai contoh adalah sebagai berikut :>> helpwin
>>
Lalu muncul Window Help
Gambar 8.5 Screenshot Window Help
9) Whos
Perintah whos berfungsi sama dengan who, yaitu untuk mengetahui
variabel apa saja yang telah dituliskan. Namun bedanya, pada whos akan
ditampilkan juga tipe datanya. Sebagai contoh adalah sebagai berikut :>> whos
Name Size Bytes Class
Penggaris 1x1 8 double array
X 1x3 24 double array
Y 1x3 24 double array
Z 1x5 40 double array
a 1x1 8 double array
ans 1x2 16 double array
b 1x3 24 double array
buku 1x1 8 double array
nama 1x8 16 char array
p 1x3 24 double array
pulpen 1x1 8 double array
q 1x3 24 double array
r 1x3 24 double array
s 1x3 24 double array
t 1x5 40 double array
u 1x3 24 double array
x 1x1 8 double array
y 1x1 8 double array
Grand total is 50 elements using 352 bytes
>>
10) Clc
Perintah clc digunakan untuk membersihkan layar, sebagai contoh adalah
sebagai berikut :
>> clc; ( sebelum )
>> ( sesudah )
8.2.5 Fungsi-fungsi Trigonometri dalam Matlab
Matlab memiliki beberapa fungsi trigonometri, yaitu :
1) Sin (x)
Perintah sin digunakan untuk mencari nilai sinus, sebagai contoh adalah
sebagai berikut :>> sin(pi/6)
ans =
0.5000
>>
2) Cos (x)
Perintah cos digunakan untuk mencari nilai cosinus, sebagai contoh adalah
sebagai berikut :>> cos(0)
ans =
1
>>
3) Tan (x)
Perintah tan digunakan untuk mencari nilai tangen, sebagai contoh adalah
sebagai berikut :
>> tan(pi/2)
ans =
1.6331e+016
>>
4) Round (x)
Perintah round digunakan untuk pembulatan ke arah bilangan bulat
terdekat, sebagai contoh adalah sebagai berikut :>> round(3.64)
ans =
4
>>
5) Rem (x,y)
Perintah rem digunakan untuk sisa pembagian dari x dibagi y, sebagai
contoh adalah sebagai berikut :>> rem(8,3)
ans =
2
>>
6) Log10 (x)
Perintah log10 dianggap sebagai logaritma biasa, sebagai contoh adalah
sebagai berikut :>> log10(100)
ans =
2
>>
8.2.6 Fungsi-fungsi Matriks dalam Matlab
Matlab memiliki beberapa fungsi matriks, diantaranya :
1) Zeros
Perintah zeros digunakan untuk membuat matriks yang semua datanya 0,
sebagai contoh adalah sebagai berikut :>> a = zeros(2,3)
a =
0 0 0
0 0 0
>>
2) Ones
Perintah ones digunakan untuk membuat matriks yang semua datanya 1,
sebagai contoh adalah sebagai berikut :>> b = ones(1,3)
b =
1 1 1
>>
3) Rand
Perintah rand digunakan untuk matriks dengan data random dengan
menggunakan distribusi uniform, sebagai contoh adalah sebagai berikut :>> c = rand (2,2)
c =
0.9501 0.6068
0.2311 0.4860
>>
4) Randn
Perintah randn digunakan untuk matriks dengan data random dengan
menggunakan distribusi normal, sebagai contoh adalah sebagai berikut :>> d = rand (1,4)
d =
0.8913 0.7621 0.4565 0.0185
>>
5) Eye
Perintah eye digunakan untuk menghasilkan matriks identitas, sebagai
contoh adalah sebagai berikut :>> e = eye (3,3)
e =
1 0 0
0 1 0
0 0 1
>>
6) Size
Perintah size digunakan untuk menghasilkan dimensi dari suatu matriks,
sebagai contoh adalah sebagai berikut :>> A = [1 2 3 ; 4 5 6]
A =
1 2 3
4 5 6
>> size (A)
ans =
2 3
>>
7) Inv
Perintah inv digunakan untuk menghasilkan invers dari suatu matriks,
sebagai contoh adalah sebagai berikut :>> B = [ 2 8 9 ; 7 1 5 ; 1 9 5 ]
B =
2 8 9
7 1 5
1 9 5
>> inv (B)
ans =
-0.1681 0.1723 0.1303
-0.1261 0.0042 0.2227
0.2605 -0.0420 -0.2269
>>
8) Det
Perintah det digunakan untuk menghasilkan nilai determinan dari matriks
A (dimensinya harus bujursangkar), sebagai contoh adalah sebagai
berikut:>> C = [ 2 4 ; 5 7 ]
C =
2 4
5 7
>> det (C)
ans =
-6
>>
9) A’
Perintah A‘ digunakan untuk menghasilkan matriks transpose dari matriks
A, sebgai contoh adalah sebagai berikut :>> A = [ 5 7 ; 9 3 ]
A =
5 7
9 3
>> A'
ans =
5 9
7 3
>>
10) Length
Perintah length digunakan untuk menghasilkan panjang(ukuran terbesar
dari dimensi) matriks A, sebagai contoh adalah sebagai berikut :>> C = [ 2 4 ; 5 7 ]
C =
2 4
5 7
>> length (C)
ans =
2
>>
8.2.7 Fungsi-fungsi Polinomial dalam Matlab
Dalam Matlab, polinomial direpresentasikan sebagai vektor baris
dari koefisien-koefisien polinomial tersebut dalam urutan dari derajat
tertinggi ke derajat terendah. Berikut ini adalah fungsi-fungsi polinomial
dalam Matlab.
1. Penjumlahan
Penjumlahan polinomial biasa dapat digunakan jika kedua vektor
polinomial mempunyai ukuran yang sama, sebagai contoh adalah sebagai
berikut :>> p = [1 5 6]
p =
1 5 6
>> q = [2 3 9]
q =
2 3 9
>> r = p + q
r =
3 8 15
>>
2. Pengurangan
Pengurangan polinomial biasa dapat digunakan jika kedua vektor
polinomial mempunyai ukuran yang sama, sebagai contoh adalah sebagai
berikut :>> s = p - q
s =
-1 2 -3
>>
3. Conv
Perintah conv digunakan untuk mengalikan dua buah polinomial, sebagai
contoh adalah sebagai berikut :>> t = conv ( p , q )
t =
2 13 36 63 54
>>
4. Perkalian skalar
Perkalian skalar digunakan untuk mengalikan statu polinomial dengan
bilangan skalar, sebagai contoh adalah sebagai berikut :>> u = 3 * q
u =
6 9 27
>>
5. Deconv
Perintah deconv digunakan untuk melakukan operasi pembagian terhadap
dua buah polinomial, sebagai contoh adalah sebagai berikut :>> x = deconv ( q , p )
x =
2
>>
6. Roots
Perintah roots digunakan untuk mencari akar-akar dari suatu polinomial,
sebagai contoh adalah sebagai berikut :>> roots ( p )
ans =
-3.0000
-2.0000
>>
7. Polyder
Perintah polyder untuk mencari turunan dari suatu polinomial, sebagai
contoh adalah sebagai berikut :
>> polyder ( q )
ans =
4 3>>
8.2.8 Kelebihan Matlab dengan Pemrograman Lain
Kelebihan Matlab jika dibandingkan dengan bahasa pemrograman lain adalah
1) Matlab merupakan salah satu dari bahasa pemrograman yang termudah
dalam hal penulisan program matematika.
2) Matlab memiliki beberapa tool box yang berguna untuk pengolahan sinyal
dan pengolahan gambar.
3) Memiliki kemampuan komputasi matematika yang lebih tinggi.
4) Matlab memiliki library program perhitungan yang lengkap.
5) Matlab dapat digunakan untuk visualisasi 2D dan 3D.
6) Memiliki simulasi baik secara real time atau tidak.
7) Memiliki kemampuan interface.