Outline
Array di MATLAB adalah sekumpulan angka atau dapat juga berupa karakter,
diurutkan dalam baris dan kolom yang menyimpan data dan informasi dalam
tabel. Secara fundamental MATLAB menggunakan Array untuk menyimpan data
serta manipulasi data sehingga dapat dilakukan eksekusi untuk melakukan suatu
pekerjaan.
Array yang paling sederhana pada MATLAB merupakan Array yang hanya terdiri
dari satu baris dan satu kolom. Array jenis ini dapat membentuk vektor yaitu
Array yang hanya terdiri dari satu baris namun terdiri lebih dari satu kolom atau
sebaliknya. Array yang lebih komplek secara konsep sama dengan matriks di
dalam ilmu matematika.
1
1. Cara Membuat Array Berdimensi Satu atau Vektor
Array berdimensi satu adalah Array yang terdiri dari satu kolom dengan
beberapa baris atau terdiri dari satu baris dengan beberapa kolom.
Contoh Array berdimensi satu adalah vektor pada sumbu 3 dimensi.
Misalkan anda akan membuat array vektor
rA = 3i+7j+2k
Anda dapat membuat Array ini menggunakan 2 cara dari definisi vektor
diatas.
A =
3 7 2
A =
3
7
2
x =
2 4 6 8 10
Anda dapat membuat himpunan bilangan dengan interval diskret dengan
mudah menggunakan MATLAB. Misalkan y memenuhi -3 ≤ y ≤ 3.
Sehingga kode yang anda butuhkan,
2
» y = [-3:3]
y =
-3 -2 -1 0 1 2 3
Anda juga dapat membuat Array urut dari besar ke kecil. misalkan z
merupakan bilangan bulat 1 sampai dengan 10 yang diurutkan dari
besar ke kecil. Sehingga kode yang anda butuhkan adalah
» z = [10:-1:1]
z =
10 9 8 7 6 5 4 3 2 1
a =
3
Pada a11 a12 a13 merupakan baris 1 matriks dan a11 a21 a31
merupakan kolom 1 dari matriks. Banyaknya baris dan kolom disebut
ukuran matriks yang dapat didefinisikan dengan mxn dimana m
banyaknya baris dan n banyak kolom.
Misalkan anda membuat matriks berukuran 3×3 dengan
A =
1 2 3
4 5 6
7 8 9
4
2. Cara Membuat Matriks dengan Menggunakan MATLAB
5
Sehingga syntax MATLAB yang dibutuhkan adalah
» A =[1 2; 3 4; 5 6]
A =
1 2
3 4
5 6
Dari syntax diatas dapat dilihat untuk mendefinisikan matriks menggunakan
tanda kurung siku (square bracket) dan setiap elemen matriks pada kolom
dipisahkan dengan spasi antar kolom dan dipisahkan dengan semicolon (;) antar
baris.
A =
6
3 2
3 5
4 6
B =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
7
2. Membuat Matriks Satu
Untuk membuat matriks satu dengan cepat anda dapat menggunakan
syntax ones(m,n). Dengan m merupakan banyaknya baris dan n
merupakan banyaknya kolom. Misalkan anda ingin membuat matriks
satu berukuran 2×3
C =
1 1 1
1 1 1
D =
1 0 0
0 1 0
0 0 1
8
D. Menentukan Transpose Matriks dengan MATLAB
Berdasarkan definisi Transpose matriks A berukuran m x n dapat disimbolkan
dengan , yang didefinisikan dengan matriks berukuran n x m yang didapatkan
dengan menukar baris-baris dan kolom-kolom dari A. Sehingga baris pertama
merupakan kolom pertama dari matriks A, kolom pertama merupakan baris
pertama dari A dan seterusnya.
Anda dapat menentukan transpose suatu matriks yang sudah didefinisikan
dengan menggunakan MATLAB. Misalkan anda ingin menentukan transpose
matriks A yang didefinisikan sebagai berikut
A =
1 2
3 4
5 6
» A'
ans =
1 3 5
2 4 6
Dari contoh di atas kita cukup menambah tanda (‘) pada matriks yang ingin
ditentukan transpose.
9
3. Array Addressing Untuk Membuat dan Mengubah
Matriks di MATLAB
10
Cara melakukan Array Addressing untuk mencari nilai suatu elemen matriks
dengan menggunakan Syntax A(m,n). Misalkan anda akan mencari elemen
matriks dengan index a(1,1) dan a(3,2).
» A = [1 1 2 3; 2 2 4 8; 3 7 7 8]
A =
1 1 2 3
2 2 4 8
3 7 7 8
» A(1,1)
ans =
» A(3,2)
ans =
7
Anda juga dapat mengubah nilai elemen matriks dengan mendefinisikan elemen
matriks menggunakan Array Addressing melalui command window. Misalkan
anda akan mengubah nilai elemen matriks a(1,1) menjadi 8. Sebagai berikut
>> A(1,1)= 8
A =
8 1 2 3
2 2 4 8
3 7 7 8
11
B. Array Addressing Menggunakan Colon (:)
Fundamental menggunakan colon dalam Array Addressing adalah indexing atau
memberi index elemen-elemen pada suatu matriks atau vektor yang ada dalam
memory.
Menggunakan Colon(:) pada Vektor
Misalkan diketahui suatu vektor B sebagai berikut
Untuk membuat vektor baru dari elemen b(1,2) sampai b(1,5) dapat dilakukan
dengan menggunakan syntax Array Addressing menggunakan colon (:) sebagai
berikut.
» B = [1 3 8 9 4 3]
B =
1 3 8 9 4 3
» b = B (2:5)
b =
3 8 9 4
Sehingga untuk membuat vektor baru dari vektor B anda dapat menggunakan
syntax nama_vektor = vektor_utama(a:b) dengan a,b merupakan rentang
index suatu vektor.
Menggunakan Colon(:) pada Matriks
Misalkan dari matriks A di bawah anda dapat menggunakan colon (:) untuk
membuat matriks atau vektor baru dengan elemen-elemen dari A.
12
• Membuat Vektor dari suatu matriks
Anda dapat membuat vektor baru dari suatu matriks dengan melakukan
array addressing di bagian kolom maupun baris sesuai jenis vektor yang
ingin anda buat . Misalkan akan dibuat vektor A1 yaitu vektor kolom
kedua A dan vektor A2 yaitu vektor baris ketiga A.
• » A
•
• A =
•
• 8 1 2 3
• 2 2 4 8
• 3 7 7 8
•
• » A1 = A(:,2)
•
• A1 =
•
• 1
• 2
• 7
•
• » A2 = A(3,:)
•
• A2 =
•
3 7 7 8
13
A =
8 1 2 3
2 2 4 8
3 7 7 8
» A3 = A(3,2:4)
A3 =
7 7 8
» A4 = A(2:3,2)
A4 =
2
7
A =
8 1 2 3
2 2 4 8
3 7 7 8
» X = [0 A(1,:)]
14
X =
0 8 1 2 3
A =
8 1 2 3
2 2 4 8
3 7 7 8
» B = A(1:3,2:4)
B =
1 2 3
2 4 8
7 7 8
Sehingga dapat diketahui untuk membuat suatu vektor atau matriks dari
suatu matriks dapat dilakukan dengan rumusan Syntax
15
maka elemen tersebut akan digantikan dengan elemen yang baru. Berikut
beberapa cara untuk menambahkan elemen pada matriks.
C =
1 2 3 4 5 6
» C (7:12)=[6:-1:1]
C =
1 2 3 4 5 6 6 5 4 3 2 1
C =
1 2 3
16
4 5 6
7 8 9
» C(4,:)= [0 1 3]
C =
1 2 3
4 5 6
7 8 9
0 1 3
C =
1 2 3
4 5 6
7 8 9
» C(4,4)= 7
C =
1 2 3 0
4 5 6 0
17
7 8 9 0
0 0 0 7
T =
1 2 3 4 5 6 7 8
» T(1)=[]
T =
2 3 4 5 6 7 8
» T(2:3)=[]
T =
2 5 6 7 8
Misalkan suatu matriks A dengan ukuran 3 x 3.
18
Anda akan mengubah ukuran matriks menjadi 2 x 3 dengan menghapus
baris ketiga. Anda dapat menggunakan syntax berikut.
» A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
» A(3,:)=[]
A =
1 2 3
4 5 6
» A
A =
1 2 3
» length(A)
ans =
19
3
size (A) Menampilkan ukuran matriks A
» A = [1 2 3; 4 5 6]
A =
1 2 3
4 5 6
» size(A)
ans =
2 3
Membuat matriks baru dengan ukuran m,n dengan syarat jumlah elemen yang dihasilkan harus
reshape(A,m,n)
sama
» A = [1 2 3; 4 5 6]
A =
1 2 3
4 5 6
» reshape (A,1,6)
ans =
1 4 2 5 3 6
diag(vektor) Melakukan transformasi vektor ke matriks diagonal
» A = [1 2 3]
20
A =
1 2 3
» diag(A)
ans =
1 0 0
0 2 0
0 0 3
diag(matriks) Membuat vektor dari elemen diagonal matriks
» A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
» diag(A)
ans =
1
5
9
21
4. String dan Variabel String Pada MATLAB
String pada MATLAB merupakan jenis array yang terdiri dari satu atau lebih
karakter. Sama dengan nilai numerik, string juga dapat didefinisikan dengan
variabel. Berikut tutorial String dan Variabel String Pada MATLAB.
22
eksekusi yang mendukung eksekusi operasi matematika maupun menjelaskan
output dalam suatu eksekusi baik dalam toolbox, command window maupun plot.
A =
Hello World!
Anda dapat membuat Variabel string dalam bentuk matriks. Misalkan anda akan
membuat Variabel string yang berisi nama-nama hari. Untuk melakukan hal ini
dapat menggunakan syntax char sebagai berikut
Nama_Variabel = char(‘String 1’, ‘String 2’, … ‘String N’)
» Hari = char('senin', 'selasa','rabu', 'kamis', 'jumat', 'sabtu', 'minggu')
Hari =
senin
selasa
rabu
kamis
jumat
sabtu
minggu
Array Addressing pada Variabel String sedikit berbeda dengan Variabel Numerik.
Variabel String melakukan index per karakter. Namun untuk format Addressing
sama dengan format Variabel Numerik.
Nama_variabel(a:b,c:d)
23
Misalkan anda akan menampilkan Array Addressing untuk menampilkan hari rabu
anda dapat melakukan address pada baris ketiga dan semua kolom, dapat
diilustrasikan sebagai berikut
» Hari(3,:)
ans =
rabu
Misalkan anda ingin menampilkan semua hari dengan alias 3 digits pertama. Anda
dapat melakukan Address di semua baris dan kolom 1 sampai 3, sebagai berikut
>> Hari(:,1:3)
ans =
sen
sel
rab
kam
jum
sab
min
a =
123
24
» b = 321
b =
321
» c=a+b
c =
25
5. Operasi Matriks Menggunakan MATLAB
Misalkan diketahui matriks A dan B, kemudian anda akan mencari nilai A+B
26
» A+B
ans =
6 8
10 12
Misalkan diketahui matriks C dan D, kemudian anda akan mencari nilai C-D
ans =
1 25
-11 -8
ukuran matriks yang akan dioperasikan dengan penjumlahan dan pengurangan
harus sama.
27
Misalkan diketahui suatu skalar dan matriks kemudian dihitung kelipatan
skalar matriks tersebut
ans =
21 42
-21 56
0 63
28
» A=[12 16 28; 43 78 45]; B=[72 67; 97 23; 12 45];
» A*B
ans =
2752 2432
11202 6700
Perlu diketahui untuk perkalian matriks A dengan B, ukuran baris A
harus sama dengan ukuran kolom B.
1. Matriks Identitas
Matriks identitas adalah matriks persegi yang diagonal utamanya adalah
1 dan elemen lainnya adalah 0. Untuk membuat matriks diagonal pada
MATLAB dapat dilihat pada tutorial Cara Membuat Matriks dengan
Menggunakan MATLAB. Dalam konsep aljabar linier setiap matriks yang
dikalikan matriks identitas hasilnya matriks itu sendiri.
2. Invers Matriks
Invers matriks A dapat didefinisikan sebagai matriks bujur
sangkar B sedemikian hingga matriks A dioperasikan A x B = B x A =
I, dimana I adalah matriks Identitas. Sedemikian B disimbolkan
dengan
29
Anda dapat mencari invers suatu matriks menggunakan
syntax inv(variabel) menggunakan MATLAB. Misalkan anda akan
mencari invers matriks A yang didefinisikan sebagai berikut
» A=[3 5; 1 2]
A =
3 5
1 2
» B=inv(A)
B =
2.0000 -5.0000
-1.0000 3.0000
3. Determinan Matriks
Determinan matriks adalah fungsi khusus yang mengasosiasikan suatu
bilangan real dengan suatu matriks bujur sangkar. Determinan matriks
MATLAB menggunakan fundamental aljabar liner sebagai konsep
dasarnya. Untuk menghitung determinan suatu matriks berukuran mxn
anda dapat menggunakan syntax det(variabel). Misalkan anda akan
menghitung determinan matriks E yang berukuran 5 x 5
» E = [1 2 3 4 5; 6 7 8 9 1; 1 2 3 3 4; 1 2 6 7 8; 1 4 7 9 8]
30
E =
1 2 3 4 5
6 7 8 9 1
1 2 3 3 4
1 2 6 7 8
1 4 7 9 8
» det_E = det(E)
det_E =
114
MATLAB mempunyai 2 jenis pembagian yaitu right division (/) dan left division(\).
Right Division
Misalkan anda mempunyai matriks A dibagi dengan matriks B menghasilkan
matriks C dapat dirumuskan sebagai berikut
Misalkan diketahui
ans =
3.5000 -2.5000
31
2.5000 -1.5000
Left Division
Misalkan anda mempunyai matriks D dibagi dengan matriks E menghasilkan
matriks F dapat dirumuskan sebagai berikut
Misalkan diketahui
ans =
-1 -2
5 7
32
6. Penyelesaian Sistem Persamaan Linier dengan
MATLAB
33
A. Menyelesaikan Sistem Persamaan Linier Tiga Variabel
Diketahui sistem persamaan linier sebagai berikut
34
Dengan menggunakan konsep array division pada MATLAB diperoleh solusi
matriks X dengan entri x,y,z sebagai berikut
Menggunakan left division
» A = [3 2 1; 2 7 2; 8 2 -7]
A =
3 2 1
2 7 2
8 2 -7
» B = [12; 28; 4]
B =
12
28
4
» X=A\B
X =
1.3245
3.0993
1.8278
menggunakan right division
» A = [3 2 8; 2 7 2; 1 2 -7]
A =
3 2 8
2 7 2
35
1 2 -7
» B = [12 28 4]
B =
12 28 4
» X =B/A
X =
36
Syntax yang diperlukan untuk menghitung soal di atas dengan solusi
penyelesaian X adalah sebagai berikut
» A = [1 2 3 1; 3 5 7 4; 4 1 1 3; 6 7 5 2]
A =
1 2 3 1
3 5 7 4
4 1 1 3
6 7 5 2
B =
9
12
23
0
» X = A\B
37
X =
11.8824
-17.5294
12.9412
-6.6471
Jadi, nilai a = 11,8824 ; b = -17,5294 ; c = 12,9412 dan d = -6,6471
Anda dapat menyelesaikan persamaan linier dengan MATLAB untuk jumlah
variabel yang lebih banyak, dengan membuat bentuk matriks persegi dari sistem
persamaan lalu menggunakan Array Division untuk menghitung solusinya.
38
7. Operasi Element-by-Element Matriks Pada MATLAB
A. Perkalian Element-by-Element
Operasi perkalian Element-by-Element disimbolkan dengan tanda dot-star (.*)
dan dapat dirumuskan sebagai berikut
39
B. Pangkat Element-by-Element
Pangkat Element-by-Element disimbolkan dengan dot-caret (.^) dan operasi ini
digunakan untuk matriks dan skalar. Formulasi syntax dot-caret sebagai berikut
C. Pembagian Element-by-Element
Terdapat dua jenis Pembagian Element-by-Element yaitu right division dan left
division Element-by-Element dengan konsep yang hampir sama dengan
pembagian matriks pada umumnya.
Contoh Soal:
Tentukan daerah penyelesaian dari persamaan berikut untuk x = 1, 2, 3, 4, 5, 6
Penyelesaian:
Untuk menyelesaikan soal diatas anda dapat menggunakan syntax Element-by-
Element sebagai berikut
» x = [1:6]
40
x =
1 2 3 4 5 6
» f_x = (x.^2+7)./(2*x.^3+3*x+6)
f_x =
Columns 1 through 4
Columns 5 through 6
0.1181 0.0943
Sehingga diperoleh range {0,7273; 0,3929; 0,2319; 0.1575; 0.1181; 0,0943}
41
8. Fungsi Statistika pada MATLAB dan Contoh
Penerapannya
Untuk menggunakan fungsi statistika pada MATLAB anda perlu mengetahui cara
menggunakan array dan matriks di MATLAB. Statistika deskriptif dengan MATLAB
tidak hanya digunakan untuk keperluan ilmu statistika saja. Namun juga dapat
digunakan untuk memenuhi disiplin ilmu lainnya dalam melakukan komputasi
matematika. Berikut beberapa fungsi statistik pada MATLAB khususnya ukuran
pemusatan data yang sering digunakan.
42
Untuk menyelesaikan soal diatas anda dapat menggunakan
syntax mean(variabel_matriks), sebagai berikut
» A = [60 70 86 67 54 78 77 87 70 66]
A =
60 70 86 67 54 78 77 87 70 66
» rataan = mean(A)
rataan =
71.5000
Jadi, nilai rata-rata praktikum biologi 10 mahasiswa tersebut adalah
71,5
A =
60 70 86 67 54 78 77 87 70 66
» nilai_tertinggi = max(A)
nilai_tertinggi =
87
43
Sehingga dapat diketahui nilai tertinggi praktikum biologi adalah
87. Anda juga dapat mengetahui siapa yang memperoleh nilai tertinggi
dengan syarat data merupakan data urut. Anda dapat menggunakan
syntax [a,b]=max(variabel) dengan a nilai tertinggi dan b urutan
data. Sehingga untuk persoalan diatas diperoleh
>> A = [60 70 86 67 54 78 77 87 70 66]
A =
60 70 86 67 54 78 77 87 70 66
>> [nilai,urutan]=max(A)
nilai =
87
urutan =
8
Dari perhitungan diperoleh nilai tertinggi berada pada urutan ke-8 yaitu
Emerald. Jadi, Nilai tertinggi praktikum biologi diperoleh oleh
Emerald.
A =
44
60 70 86 67 54 78 77 87 70 66
» nilai_minimum = min(A)
nilai_minimum =
54
» [nilai,urutan]=min(A)
nilai =
54
urutan =
5
Sehingga diperoleh nilai minimum praktikum biologi adalah 54 yang
diperoleh Sani (urutan ke-5)
A =
60 70 86 67 54 78 77 87 70 66
» jumlah = sum(A)
jumlah =
45
715
Sehingga jumlah nilai keseluruhan 715.
A =
60 70 86 67 54 78 77 87 70 66
» urut = sort(A)
urut =
54 60 66 67 70 70 77 78 86 87
A =
60 70 86 67 54 78 77 87 70 66
46
» nilai_tengah = median(A)
nilai_tengah =
70
Jadi, nilai tengah nilai praktikum biologi 10 mahasiswa tersebut adalah
70.
A =
60 70 86 67 54 78 77 87 70 66
» standar_deviasi = std(A)
standar_deviasi =
10.6275
Jadi, standar deviasi nilai praktikum biologi 10 mahasiswa tersebut
adalah 10,6275.
47
Untuk menghitung dot product dari kedua vektor tersebut anda dapat
menggunakan syntax dot(a,b) sebagai berikut
» a = [3 1 1]
a =
3 1 1
» b = [2 3 1]
b =
2 3 1
» dot_product = dot(a,b)
dot_product =
10
Jadi, dot product antara a dan b adalah 10.
Dari vektor u dan v diatas dapat kita tentukan cross product dengan
syntax berikut
» a = [3 1 1]
a =
48
3 1 1
» b = [2 3 1]
b =
2 3 1
» hasil_kali_silang = cross(a,b)
hasil_kali_silang =
-2 -1 7
49
9. Bilangan Acak pada MATLAB (rand, randn, dan randi)
A. rand
Syntax rand digunakan untuk membangkitkan bilangan random yang tersebar
secara Uniform dengan rentang 0 sampai 1. Variabel random dapat berupa vektor
maupun matriks.
50
Berikut beberapa jenis penggunaan syntax rand:
Syntax Deskripsi Contoh
» rand
rand Untuk pembangkitan 1 variabel random ans =
0.8147
» A = rand (1,3)
B. randi
Syntax randi digunakan untuk pembangkitan bilangan random dengan entri-
entri bilangan bulat dari 1 sampai n. Berikut cara pembangkitan bilangan random
menggunakan syntax randi
Syntax Deskripsi Contoh
Pembangkitan satu bilangan acak dengan nilai antara 1 » randi(9)
randi(imax)
sampai i max ans =
51
1
» randi(6,3)
ans =
Pembangkitan matriks persegi berukuran nxn dengan
randi(imax,n) 1 2 3
entri-entri bilangan acak 1 sampai imax
5 6 3
515
» randi(6,3,2)
ans =
Pembangkitan matriks berukuran mxn dengan entri-
randi(imax,m,n) 5 3
entri bilangan acak 1 sampai imax
2 4
35
» randi([6,12],3,2)
ans =
Pembangkitan matriks berukuran mxn dengan entri-
randi([imin,imax],m,n) 11 10
entri bilangan acak imin sampai imax
7 7
10 6
C. randn
Syntax randn digunakan untuk membangkitkan bilangan acak berdistribusi
normal dengan nilai rata-rata 0 dan standar deviasi 1. Dapat digunakan
syntax randn(m,n) dengan mxn adalah ukuran matriks yang akan dibangkitkan.
misalkan pembangkitan bilangan acak dalam matriks 4×3 adalah sebagai berikut
» A = randn(4,3)
A =
-1.4916 -0.6156 -0.7648
-0.7423 0.7481 -1.4023
-1.0616 -0.1924 -1.4224
2.3505 0.8886 0.4882
Anda dapat menentukan nilai rata-rata dan standar deviasi suatu data dengan
melakukan operasi matematika sebagai contoh akan dibuat 10 bilangan
acak dengan nilai rata-rata 78 dan standar deviasi 7 sebagai berikut
» A = 6*randn(1,10)+70
A =
52
70.6292 74.3335 85.5129 65.9987 71.1240 69.5050 58.4019 67.3662 59.2319
75.0423
» mean(A)
ans =
69.7146
» std(A)
ans =
7.8836
53