”MATLAB”
MATLAB adalah bahasa pemrograman
dengan performa tinggi untuk komputasi teknis. MATLAB menggunakan tiga unsur
komputasi, visualisasi, dan pemrograman ke dalam satu wadah. Masalah dan
penyelesaian pada MATLAB diekspresikan dalam simbol matematika yang familiar.
Penggunaan MATLAB mencakup :
1. Matematika dan komputasi
2. Pengembangan algoritma
3. Pemodelan, simulasi dan prototype
4. Analisis data, eksplorasi dan
visualisasi
5. Grafik saintifik dan keteknikan
6. Pengembangan penggunaan, termasuk pembuatan Graphical
User Interface (GUI)
yang
memudahkan pemakai dalam memasukkan data dan melihat hasil keluaran suatu
program.
MATLAB merupakan singkatan dari matrix laboratory.
MATLAB merupakan sistem interaktif dengan elemen basis data berupa array
yang tidak membutuhkan dimensi. Oleh karena itu, MATLAB mampu menyelesaikan
banyak masalah komputasi teknis, khususnya masalah yang dapat diformulasikan
dalam bentuk matriks dan vektor.
*> Simbol Operasi Hitung dan Variabel
Operasi
hitung dengan MATLAB sangat mudah dilakukan.
|
Operasi
|
Simbol
|
|
Penjumlahan
|
+
|
|
Pengurangan
|
-
|
|
Perkalian
|
*
|
|
Pembagian
|
/ atau \
|
|
Pangkat
|
^
|
Tabel 1.1
Simbol Operasi Hitung
Operasi hitung juga bisa diwakili menggunakan variabel.
Variabel MATLAB tidak membutuhkan deklarasi ataupun statmen dimensi. Penulisan
variabel dimulai dengan hurup, dapat diikuti dengan hurup atau angka atau
underscore. MATLAB hanya dapat mengenal 31 karakter pertama dari nama variabel.
Variabel khusus
ans
: default nama variabel untuk hasil
pi
: π = 3.14
eps
: ∊ = 2.2204e-016
inf
: infinity
nan
: not-a-number
Dalam memberi nama variabel, MATLAB
mempunyai beberapa aturan yaitu :
1)
Menggunakan huruf atau angka, tetapi karakter pertama harus berupa huruf.
2)
MATLAB hanya dapat mengenal 31 karakter pertama dari variabel.
3)
MATLAB membedakan huruf besar dan huruf kecil
4)
Tidak boleh ada spasi.
5)
Tidak boleh menggunakan simbol khusus, kecuali garis bawah.
*> Bilangan
Bilangan
pada MATLAB menggunakan notasi desimal biasa, dengan menggunakan titik desimal,
tanda plus atau tanda minus. Notasi saintifik menggunakan hurup e untuk
menyatakan pangkat 10. Bilangan imaginer dinyatakan dengan hurup i atau j.
Beberapa contoh bilangan yang berlaku pada MATLAB : 3, -99 0.0001 9.6397238,
1.60210e-20, 6.02252e+23, 1i, -3.14159j, 3e5i.
Semua
bilangan tersimpan secara internal dengan menggunakan format long yang
dispesifikasi oleh standar titik mengambang (floating-point) IEEE. Bilangan titik
mengambang mempunyai presisi kira-kira 16 digit desimal signifikan dan jangkauan
antara 10-323 sampai dengan 10308.
*> Array
Variabel-variabel yang telah dipelajari digunakan
untuk mewakili satu nilai (satu data). Dalam hal ini variabel yang hanya
mewakili satu nilai ini dalam MATLAB disebut skalar. Sedangkan variabel yang
dapat mewakili beberapa nilai sekaligus dalam MATLAB disebut array.
Array (larik) dapat juga diartikan sebagai deretan nilai yang mempunyai tipe
data yang sama. Dalam matematika banyak kasus yang memerlukan data bertipe
array. Untuk menyatakan array dalam MATLAB sintaknya adalah :
Nama_array=[nilai1 nilai2 ... nilaiN]
Dalam sintak
tersebut Nama_array mempunyai N buah nilai, yaitu nilai1, nilai2, nilai3, ...,
nilaiN. Antar nilai dipisahkan dengan spasi, serta N buah nilai tersebut
diletakkan di dalam kurung siku[ ].
*>Pengalamatan Array
-Dalam matematika, untuk menyatakan nilai x yang
kelima misalnya, ditulis dengan x5. Sedangkan dalam MATLAB, untuk
menunjuk pada nilai dari anggota array tertentu ditulis dengan sintak :
Nama_array(indeks)
Dalam sintak tersebut, indeks mempunyai tipe
integer positip seperti 1, 2, 3, dst. Jadi untuk menunjuk anggota kelima dan
array x maka ditulis dengan x(5), untuk menunjuk anggota ke 10 dari array y
ditulis dengan y(10).
-MATLAB juga memberikan fasilitas untuk menampilkan
anggota array dalam range atau interval tertentu dengan menggunakan tanda titik
dua /colon (:). Untuk menampilkan anggota array dalam range tertentu
sintaknya :
Nama_array(indeks_awal : indeks_akhir)
-MATLAB juga menyediakan fasilitas untuk memanggil
anggota array dalam range tertentu dengan indeks anggota array yang akan
ditampilkan tidak harus urut naik satu persatu. Untuk keperluan sintak yang
digunakan :
Nama_array(indeks_awal : hitung : indeks_akhir)
Dalam sintak tersebut, hitung merupakan
‘penghitung’ indeks berikutnya yang harus dituju dengan jalan menambahkan
indeks_sebelum + hitung = indeks_berikut. Dengan demikian untuk indeks kedua
berarti indeks_awal + hitung. Dalam hal ini hitung harus berupa bilangan
integer positip atau negatip.
*> Mengkonstruksi Array
Untuk suatu array yang mempunyai nilai-nilai yang
membentuk pola yang teratur, dapat dikonstruksi dengan sintak :
Nama_array=(nilai_awal : hitung : nilai_akhir)
Dalam sintak tersebut nilai_awal menyatakan
nilai awal dari array dan nilai_akhir menyatakan nilai akhir dari array.
Sedangkan hitung menyatakan bilangan (konstanta) yang harus dijumlahkan kepada
nilai array sebelumnya untuk memberikan nilai array berikutnya.
Cara lain untuk mengkonstruksi array menggunakan kata
linspace dengan sintak :
Nama_array=linspace(nilai_awal,nilai_akhir,banyak
anggota)
Tabel 1.2 Metode Konstruksi Array
|
No.
|
Sintak
|
Keterangan
|
|
1
|
X = [x1 x2
x3 . . . xn]
|
Membuat array X yang mempunyai n anggota dengan
nilai arraynya yaitu x1, x2, x3, . . . ,xn
|
|
2
|
X = (awal : akhir) atau
X = awal : akhir
|
Membuat array X yang dimulai dari nilai awal, naik
satu persatu, sampai (berhenti sebelum) nilai akhir.
|
|
3
|
X = (awal : hitung : akhir)
Atau
X = awal : hitung : akhir
|
Membuat array X yang dimulai dari nilai awal, naik
(turun) sesuai hitung, sampai (berhenti sebelum) nilai akhir.
|
|
4
|
X = linspace(awal, akhir, n)
|
Membuat array X dimulai dari nilai awal sampai nilai
akhir, serta mempunyai n anggota.
|
|
5
|
X = logspace(awal, akhir, n)
|
Membuat array X dimulai dari nilai 10awal
sampai nilai 10akhir serta mempunyai n anggota
|
|
6
|
X = [array1 . . . arrayN]
|
Membuat array X yang nilai-nilainya adalah gabungan
dari nilai-nilai array1, array2, . . . , arrayN
|
*> Operasi Skalar dengan Array
MATLAB menyediakan operasi hitung antara skalar dengan
array. Operasi hitung yang dapat dilakukan antara skalar dengan array adalah
penjumlahan, pengurangan, perkalian, pembagian, dan perpangkatan.
Tabel 1.3 operasi Skalar dengan Array
|
Skalar=k, Array a=[a1 a2 a3
... an]
|
|||
|
No
|
Operasi
|
Simbol
|
Keterangan
|
|
1
|
Penjumlahan
|
k+a
|
[k+a1 k+a2 k+a3
... k+an]
|
|
2
|
Pengurangan I
|
k-a
|
[k-a1 k-a2 k-a3
... k-an]
|
|
3
|
Pengurangan II
|
a-k
|
[a1-k a2-k
a3-k ... an-k]
|
|
4
|
Perkalian
|
k*a
|
[k*a1 k*a2 k*a3
... k*an]
|
|
5
|
Pembagian I
|
k./a
|
[k/a1 k/a2 k/a3
... k/an]
|
|
6
|
Pembagian II
|
a/k
|
[a1/k a2/k a3/k
... an/k]
|
|
7
|
Perpangkatan I
|
a.^k
|
[a1^k a2^k a3^k
... an^k]
|
|
8
|
Perpangkatan II
|
k.^a
|
[k^a1 k^a2
k^a3 ... k^an]
|
Khusus untuk operasi pembagian I dan operasi
perpangkatan dipakai juga simbol dot (.) sebelum bagi dan
pangkat.
Contoh :
>>k=5;
>>a=[-1 2 1 3];
>>k+a
ans =
4 7
6 8
Silahkan dicoba untuk operasi yang lainnya!
*> Operasi Array dengan
Array
Operasi antara array juga dapat dilakukan sebagaimana
operasi skalar dengan array. Dalam hal ini operasi antar array meliputi
penjumlahan, pengurangan, perkalian, pembagian, dan juga perpangkatan.
Tabel 1.3 Operasi Array dengan Array
|
Array a = [a1 a2 a3
... an] , array b = [b1 b2 b3 ...
bn]
|
|||
|
No
|
Operasi
|
Simbol
|
Keterangan
|
|
1
|
Penjumlahan
|
a+b
|
[a1+ b1 a2+
b2 a3+ b3 ... an+
bn]
|
|
2
|
Pengurangan
|
a-b
|
[a1-b1 a2-b2
a3-b3 ... an-bn]
|
|
3
|
Perkalian
|
a.*b
|
[a1* b1 a2
*b2 a3*b3 ... an*
bn]
|
|
4
|
Pembagian
|
a./b
|
[a1/b1 a2/
b2 a3/b3 ... an/bn]
|
|
5
|
Perpangkatan
|
a.^b
|
[a1^b1 a2^b2
a3^b3 ... an^bn]
|
Operasi antar array disebut juga operasi anggota
dengan anggota array yang bersesuaian. Hal ini berarti jika dua array yang
dioperasikan banyaknya anggota tidak sama, operasi antar array tidak bisa
dilakukan.
Contoh :
>>p = [2 -1 3 1];
>>q = [1 5 0 -2];
>>p+q
ans =
3
4 3 -1
Silahkan dicoba untuk operasi yang lainnya!
*>Orientasi Array
selama ini array selalu ditampilkan secara horizontal.
Hal ini dapat disebut sebagai vektor baris. Dalam keperluan praktis, dapat saja
array ditampilkan secara vertikal, yang dalam hal ini disebut array kolom atau
vektor kolom. Untuk membuat array kolom (vektor kolom) digunakan tanda titik
koma / semi colon (;) di antara nilai-nilai array. Dalam hal ini sintaknya
adalah :
Nama_array = [nilai1;nilai2;nilai3; ... ;nilaiN]
Contoh :
>>x=[-2; 3; 4; 5; 1]
x =
-2
3
4
5
1
Cara lain untuk membuat array kolom dengan jalan
mencari tranpose dari array baris. Dalam hal ini array baris dibuat atau
dikonstruksi sesuai metode untuk mengkonstruksi array baris. Kemudian dengan
melakukan transpose (‘) terhadap array baris akan didapatkan array kolom.
Contoh :
>>a=(-2:3:7)
%array baris a
a =
-2
1
4 7
>>
b=a’
%array kolom b dari transpose array a
b =
-2
1
4
7
Untuk array yang mempunyai nilai-nilai berupa bilangan
kompleks di samping ada operator tranpose (‘), juga dikenal operator dot-transpose
(.’). Jika array mempunyai nilai-nilai bilangan kompleks , operator
transpose (‘) menghasilkan tranpose dari conjugate, artinya bagian imaginer
berubah tandanya pada hasil tranpose. Tetapi operator dot-transpose (.’)
menghasilkan transpose seperti biasanya.
Dalam matematika, suatu matriks dapat dipandang
sebagai susunan dari satu atau beberapa vektor kolom. Dengan demikian untuk
menyatakan matriks dalam MATLAB dapat dilakukan dengan metode konstruksi array.
Dalam hal ini koma atau spasi digunakan untuk memisahkan anggota-anggota
matriks pada baris yang sama, sedangkan titik koma (semi colon)
digunakan untuk memisahkan baris-baris matriks. Misalnya untuk menuliskan
matriks dalam MATLAB dapat dituliskan sebagaimana contoh di bawah ini :
>>B = [-1 0 3 5; 2
4 1 -3; 7 9 -8 6]
B =
-1
0
3 5
2
4
1 -3
7
9
-8 6
>>B = [-1,0,3,5 ; 2,4,1,-3; 7,9,-8,6]
B =
-1
0
3 5
2
4
1 -3
7
9
-8 6
MATRIKS
A. Menyatakan Matriks
Suatu matriks dapat dipandang sebagai kumpulan
(gabungan) sederetan array baris/array kolom. Dengan demikian sangat mudah
menulis matriks dalam MATLAB. Sebagai contoh untuk menyatakan matriks ,
maka dalam MATLAB dalam dituliskan sebagaimana yang telah dipelajari.
Sebagaimana dalam array baris atau array kolom, MATLAB
juga menyediakan berbagai perintah (command) khusus untuk melakukan
manipulasi anggota-anggota matriks.
Tabel 2.1 Beberapa perintah untuk manipulasi anggota
matriks
|
No.
|
Perintah
|
Keterangan
|
|
1.
|
A(r,s)
|
Menunjuk
elemen baris ke-r kolom ke-s dari matriks A
|
|
2.
|
A(:,s)
|
Menunjuk
kolom ke s dari matriks A
|
|
3.
|
A(r,:)
|
Menunjuk
baris ke r dari matriks A
|
|
4.
|
A(:)
|
Menyatakan
matriks A sebagai vektor (array) kolom, dengan susunan kolom per kolom.
|
|
5.
|
A(s)
|
Anggota ke
s dari A yang ditulis dalam bentuk array kolom.
|
Di samping menyediakan perintah untuk melakukan
manipulasi anggota array (matriks), MATLAB juga menyediakan perintah-perintah
yang berhubungan dengan dimensi atau ukuran suatu matriks. Tabel 3.2 di bawah
menunjukkan beberapa perintah untuk menanyakan dimensi matriks.
Tabel 3.2 Perintah untuk Dimensi Matriks
|
No.
|
Perintah
|
Keterangan
|
|
1
|
Whos
|
Mendisplay semua variabel dan dimensinya yang
digunakan dalam workspace
|
|
2
|
size(A)
|
Menyatakan dimensi dari A
|
|
3
|
[r c]=size(A)
|
Mendapatkan skalar r dan c, di mana r=banyaknya
baris A dan c=banyaknya kolom A
|
|
4
|
size(A,1)
|
Menyatakan banyaknya baris dari A
|
|
5
|
size(A,2)
|
Menyatakan banyaknya kolom dari A
|
|
6
|
length(A)
|
Mendapatkan sebuah skalar yang menyatakan maksimum
di antara banyaknya baris dan banyaknya kolom matriks A
|
B. Matriks-matriks Khusus
Dalam teori matriks dikenal ada beberapa matriks
khusus, seperti matriks identitas, matriks nol, dan sebagainya. Perintah untuk
membuat matriks-matriks khusus dalam MATLAB sebagai tercantum dalam tabel 2.3
di bawah ini.
Tabel 2.3. Perintah membuat Matriks Khusus
|
No.
|
Perintah
|
Keterangan
|
|
1
|
zeros(n)
|
Membuat matriks nol berdimensi n×n
|
|
2
|
zeros(m,n)
|
Membuat matriks nol berdimensi m×n
|
|
3
|
ones(n)
|
Membuat matriks satu berdimensi n×n
|
|
4
|
eye(n)
|
Membuat matriks identitas berdimensi n×n
|
|
5
|
eye(m,n)
|
Membuat matriks identitas berdimensi m×n
|
|
6
|
[ ]
|
Matriks kosong (empty matrix)
|
C. Operasi Matriks
Karena matriks dapat dipandang sebagai susunan array
baris/array kolom, tentunya operasi-operasi yang berlaku pada array dapat
diterapkan untuk operasi matriks. Tentu saja harus diingat bahwa operasi
matriks mempunyai syarat-syarat tertentu. Tabel 2.4 berikut ini menyatakan
operasi matriks sepanjang syaratnya dipenuhi.
Tabel 2.4 Operasi Matriks
|
No.
|
Operasi
|
Simbol
|
|
1
|
Penjumlahan
|
A + B
|
|
2
|
Pengurangan
|
A –B
|
|
3
|
Perkalian skalar
|
k*B; k=skalar
|
|
4
|
Perkalian matriks
|
A*B
|
D. Fungsi-fungsi pada Matriks
Untuk membantu mempercepat operasi matriks, MATLAB
menyediakan fungsi-fungsi khusus yang berlaku pada matriks. Beberapa fungsi
untuk matriks sebagaimana ditunjukkan pada tabel 2.5 berikut ini.
Tabel 2.5 Beberapa Fungsi-fungsi pada Matriks
|
No.
|
Fungsi
|
Keterangan
|
|
1
|
eig(A)
|
Mendapatkan akar dan vektor karakteristik dari
matriks A
|
|
2
|
det(A)
|
Determinan matriks A
|
|
3
|
inv(A)
|
Invers dari matriks A
|
|
4
|
orth(A)
|
Orthogonalisasi matriks A
|
|
5
|
pinv(A)
|
Pseudo invers dari A
|
|
6
|
poly(A)
|
Polinom karakteristik dari A
|
|
7
|
qr(A)
|
Dekomposisi ortogonal-segitiga
|
|
8
|
rank(A)
|
Rank A, banyaknya baris (kolom) dari A yang bebas
linear
|
|
9
|
rref(A)
|
Bentuk eselon baris tereduksi dari A
|
|
10
|
Trace(A)
|
Jumlah elemen diagonal dari A
|
E. Solusi Sistem persamaan
Linear
Salah satu aplikasi matriks adalah untuk mendapatkan
penyelesaian dari sistem persamaan linear. Dengan MATLAB, metode untuk mendapatkan
penyelesaian sistem persamaan linear menjadi semakin mudah. Dalam subbab ini
khususnya dibahas untuk sistem persamaan linear yang mempunyai penyelesaian
tunggal.
Pandanglah sistem persamaan linear :
Yang dapat ditulis dalam notasi matriks sebagai
berikut :
A X = K juga dapat dibentuk
Di mana
Contoh :
Dapat dibentuk menjadi
Berdasarkan matriks-matriks A, X, dan K tersebut,
dengan MATLAB dapat diselesaikan sebagai berikut :
A=[1 -2 3;2 1 -3;1 1 1]; %matriks koefisien A
>>
K=[2;5;6];
%matriks konstanta K
>>
X=inv(A)*K
%mancari penyelesaian X
X =
3.0000
2.0000
1.0000
Jadi penyelesaian dari sistem tersebut adalah : x=3,
y=2, dan z=1.
Thanks,,,, :-)