Dengan mempelajari Array di Matlab (Matrix Laboratory) maka kalian akan sangat terbantu beragam komputasi yang melibatkan Array yang pada dasarnya variabel di Matlab berupa Array lho seperti kalkulator ilmiah yang sangat canggih. Pada bagian ini kalian akan belajar mengenai beberapa dasar mengenai Array pada Matlab yang sangat berguna mulai dari
- Pengertian Array
- Membuat 1D, 2D, serta 3D
- Akses Array
- Ubah value Array
- Operasi Matematika Array
- Replikasi, Reshape, dan Flip Array
- Operasi Dasar Statistika Array
- Operasi Masking Array
- Operasi Stacking Array
Pengertian Array di Matlab
Contents
Array adalah core engine-nya di Matlab karena Matlab itu sendiri adalah singkatan Matrix Laboratory dengan sejarahnya dibangun menggunakan Bahasa Java sebagai interfacingnya terhadap library algebra Fortan yaitu LAPACK yang dikenal dengan function algebra yang kuat. Oiya penyebutan Array / Matrix / Vector akan disebut dengan 1 istilah saja agar tidak membuat kalian bingung yaitu Array. Secara umum tipe/jenis Array yaitu
- Hanya terdiri dari 1 baris dan beberapa kolom disebut array 1D
- terdiri dari beberapa baris dan beberapa kolom disebut array 2D
- seperti point 2 tapi bertumpuk disebut dengan array multidimensi, biasanya digunakan untuk format gambar ataupun GIS (peta satelit).
Array 1D di Matlab
%pembuatan array 1D a = [1 2 3 ] %menggunakan pemisah space atau dengan cara berikut b = [1,2,3] %menggunakan pemisah koma c = 1:3 %atau menggunakan operator semicolon dengan increment default 1 d = 1:0.5:3 %membuat array dengan increment 0.5 dari 1 sampai dengan 3
Note: tanda prosentase % digunakan untuk memberikan comment
Hasilnya
a = 1 2 3 b = 1 2 3 c = 1 2 3 d = 1.0000 1.5000 2.0000 2.5000 3.0000
Biar makin yakin, bisa kamu cek menggunakan perintah whos, akan tampil hasil dibawah ini.
Name Size Bytes Class Attributes a 1x3 24 double b 1x3 24 double c 1x3 24 double d 1x5 40 double
Array 2D di Matlab
Bila 1D biasa disebut dengan vector (Bahasa R), maka untuk array 2D disebut matrix (bahasa R) yang terdiri dari baris dan kolom.
%Untuk array 2D yang terdiri dari beberapa baris dan kolom a = [1,2,3; 4,5,6] b = [1 2 3 4 5 6]
hasil
a = 1 2 3 4 5 6 b = 1 2 3 4 5 6
Coba kamu cek perintah whos
Name Size Bytes Class Attributes a 2x3 48 double b 2x3 48 double
gunakan perintah clc untuk membersihkan layar serta clear all untuk menghapus semua variabel yang ada.
Array 3D di Matlab
Untuk Array 3D yang terdiri dari layer/lapisan, misakan 2 baris x 3 kolom x 2 layer. Biasa digunakan untuk menyimpan sebuah data seperti gambar, geo spatial
clc; clear all; a(:,:,1) = [1,2,3;4,5,6]; a(:,:,2) = [7,8,9;10,11,12]; a
Hasil
a(:,:,1) = 1 2 3 4 5 6 a(:,:,2) = 7 8 9 10 11 12
Akses Array
a = [1,2,3; 4,5,6] disp('untuk akses baris 2 dan kolom 1 yaitu') a(2,1) disp('untuk akses semua baris pada kolom 1 saja yaitu') a(:,1) disp('untuk akses baris 1 sampai dengan 2 dan kolom 3 yaitu') a(1:2,3) disp('ataupun akses baris 1 dan kolom 2 sampai dengan akhir yaitu') a(1,2:end)
hasil
a = 1 2 3 4 5 6 untuk akses baris 2 dan kolom 1 yaitu ans = 4 untuk akses semua baris pada kolom 1 saja yaitu ans = 1 4 untuk akses baris 1 sampai dengan 2 dan kolom 3 yaitu ans = 3 6 ataupun akses baris 1 dan kolom 2 sampai dengan akhir yaitu ans = 2 3
Oiya ada yang perlu kamu tahu untuk mengetahui size array gunakan perintah berikut
[baris,kolom]= size(a) %akan tampil jumlah baris dan kolom size(a,1) %akan tampil jumlah baris saja size(a,2) %akan tampil jumlah kolom saja
hasil
baris = 2 kolom = 3 ans = 2 ans = 3
Ubah Value Array
Untuk mengubah isi/value array caranya seperti mengakses array terlebih dahulu, pada contoh berikut mengubah value array
a = [1,2,3; 4,5,6] %akan diubah baris 2 kolom 1 menjadi 90 a(2,1) = 90; %tampilkan hasil akhir a
hasil
a = 1 2 3 4 5 6 a = 1 2 3 90 5 6
Operasi Matematika Array
Operasi matematika Array seperti yang dijelaskan sebelumnya terdiri operasi terhadap array dan element, yang harus kalian pahami yaitu operasi perkalian antar array haruslah memenuhi syarat baris * kolom ya (ingat-ingat lagi pelajari perkalian matrix/array di SMA), mengenai sifat-sifat array.
a = [1,4,8; 5,8,10] b = [4,9,10; 6,8,12] hasil_tambah = a+b hasil_kurang = a-b hasil_bagi = a/b
hasil
a = 1 4 8 5 8 10 b = 4 9 10 6 8 12 hasil_tambah = 5 13 18 11 16 22 hasil_kurang = -3 -5 -2 -1 0 -2 hasil_bagi = 0.2380 0.3385 0.4419 0.4858
Contoh perkalian array di Matlab
%untuk operasi perkalian antar array %yaitu baris x kolom a = [1,4,8; 5,8,10] c = [8,6; 9,2; 5,13] hasil_kali = a*c
hasil
a = 1 4 8 5 8 10 c = 8 6 9 2 5 13 hasil_kali = 84 118 162 176
Sedangkan untuk operasi array dengan skalar menggunakan operator . diawal khusus untuk perkaliannya, sedangkan operasi + – / tidak diperlukan.
a = [1,4,8; 5,8,10] k = 2 tambah = a+k kurang = k-a bagi = a/k kali = a.*k
Hasil
a = 1 4 8 5 8 10 k = 2 tambah = 3 6 10 7 10 12 kurang = 1 -2 -6 -3 -6 -8 bagi = 0.5000 2.0000 4.0000 2.5000 4.0000 5.0000 kali = 2 8 16 10 16 20
Replikasi, Reshape, dan Flip pada Array
Beberapa perintah/function yang mempermudah operasi array di Matlab yaitu
- Repmat (replication matrix)
- Reshape (re shape)
Contohnya akan mereplikasi sebanyak 2 baris dengan 1 kolom tetap.
A = [2,4] baris = 2; kolom = 1; duplikat = repmat(A,[baris,kolom])
hasil
A = 2 4 duplikat = 2 4 2 4
Sedangkan untuk reshape digunakan untuk membentuk ulang ordo/size array
A = 1:10 %semula 1 baris x 10 kolom B = reshape(A,[2,5]) % menjadi 2 baris x 5 kolom
hasil
A = 1 2 3 4 5 6 7 8 9 10 B = 1 3 5 7 9 2 4 6 8 10
a = 1:9 b = flip(a)
hasil
Hasil a = 1 2 3 4 5 6 7 8 9 b = 9 8 7 6 5 4 3 2 1
Operasi Dasar Statistika pada Array
Kalian akan sangat terbantu dengan operasi dasar statistika seperti mean, max, min, tranpose. Kalian bisa memahami cara penggunaan mulai dari
a. Mencari minimal dan maksimal perkolom
b. Ataupun per baris
c. Ataupun nilai absolutnya
clear all;close all;clc; a = [4,8,10;20,37,70] transpose_array = transpose(a) min_perkolom = min(a,[],1) min_perbaris = min(a,[],2) minimal_absolut = min(a(:)) max_perkolom = max(a,[],1) max_perbaris = max(a,[],2) maximal_absolut = max(a(:)) rerata_perkolom = mean(a,1) rerata_perbaris = mean(a,2) rerata_absolut = mean(a(:))
hasil
a = 4 8 10 20 37 70 transpose_array = 4 20 8 37 10 70 min_perkolom = 4 8 10 min_perbaris = 4 20 minimal_absolut = 4 max_perkolom = 20 37 70 max_perbaris = 10 70 maximal_absolut = 70 rerata_perkolom = 12.0000 22.5000 40.0000 rerata_perbaris = 7.3333 42.3333 rerata_absolut = 24.8333
Operasi Masking Array
Inilah salah satu dari sekian banyak keunggulan operasi Array yaitu Masking untuk mengubah Value Array dengan Seleksi Indexnya serta mengganti valuenya. Kalian bisa lihat contoh berikut
a = [4,6,9; 12, 17,5] disp('mengganti a>=7 menjadi 0') a(a>=7)=0; a
hasil
a = 4 6 9 12 17 5 mengganti a>=7 menjadi 0 a = 4 6 0 0 0 5
Kalian bisa pelajari Operator Perbandingan di link ref: https://www.softscients.web.id/2020/01/dasar-dasar-pemrograman-matlab-operator.html atau mencari lokasi sebuah index
a = [4,6,9; 12, 17,5] [baris,kolom]=find(a==9)
hasil
a = 4 6 9 12 17 5 baris = 1 kolom = 3
Kalau kalian tahu operasi diatas sangatlah berguna ketika dijumpai kasus-kasus pada pengolahan citra digital dan sinyal digital lho.
Operasi Stacking Array Hstack dan Vstack
Operasi ini akan sering kalian temui untuk mempermudah append sebuah object pada tipe list() yang dikenal oleh bahasa pemrograman lainnya. Sangat mudah sekali menumpuk array menjadi satu secara horisontal dan vertikal. Contoh berikut stacking array secara vertikal.
a = [1,2,3; 4,5,6] b = [7,8,9] disp('Vstack Array'); c = [a;b]
hasil
a = 1 2 3 4 5 6 b = 7 8 9 Vstack Array c = 1 2 3 4 5 6 7 8 9
Sedangkan untuk horisontal yaitu
a = [1,2,3; 4,5,6] b = [7;8] disp('Hstack Array'); c = [a,b]
Hasilnya
a = 1 2 3 4 5 6 b = 7 8 Hstack Array c = 1 2 3 7 4 5 6 8
Demikian pembahasan Array di Matlab, ikuti terus serial pembahasan mengenai Matlab