IIIc.
Tipe Data MatLab
Software MATLAB mengenal 3 tipe data yaitu string, skalar, array dan matriks. Array
merupakan matriks yang hanya memiliki satu baris.
A. String
String dalam MATLAB adalah tipe data yang terdiri dari huruf-huruf dan atau nilainilai ASCII. String adalah teks yang diawali dan diakhiri dengan apostrof ( )
Contoh:
>> p = Fakultas Teknologi Pertanian
p=
Fakultas Teknologi Pertanian
>> size(p)
ans =
1
28
>> whos
Name
Size
ans
p
1x2
1x28
Bytes Class
16 double array
56 char array
Grand total is 30 elements using 72 bytes
Setiap karakter dalam suatu string adalah satu elemen dalam array, dengan setiap
elemennya berukuran 2 byte
Untuk melihat representasi ASCII (American Standard Code for Information
Interchange) karakter string dapat dilakukan dengan operasi aritmatik terhadap
string atau mengkonversinya menggunakan fungsi dauble.
Contoh
>> double(p)
ans =
Columns 1 through 12
70
97 107 117 108 116
97 115
32
84 101 107
Columns 13 through 24
110 111 108 111 103 105
32
80 101 114 116
97
Columns 25 through 28
110 105 97 110
>> abs(p)
ans =
Columns 1 through 12
70
97 107 117 108 116
97 115
32
84 101 107
Columns 13 through 24
110 111 108 111 103 105
32
80 101 114 116
97
Columns 25 through 28
110 105
97 110
Fungsi char menyediakan transformasi balikan :
>> char(p)
ans =
Fakultas Teknologi Pertanian
>> char(70)
ans =
F
Karena string merupakan array numerik dengan atribut khusus, string dapat
dimanipulasi menggunakan semua metoda manipulsai array yang tersedia dalam
MATLAB
Contoh
>> t=p(10:18)
t=
Teknologi
String juga dialamti seperti array. Dari contoh diatas elemen ke 10 sampai ke 18
memuat kata Teknologi
Jika kata tersebut dibalik maka perintahnya dapat diketikkan sebagai berikut:
>> t=p(18:-1:10)
t=
igolonkeT
dan jika menggunkan operator transpose maka kata kabar akan dibaca dalam
format kolom yaitu :
>> t=p(10:18)
t=
T
e
k
2
n
o
l
o
g
i
Penggabungan string mengikuti aturan penggabungan array
Contoh
>> a='Anda adalah mahasiswa '
a=
Anda adalah mahasiswa,
>> b='Fakultas Teknologi Pertanian UGM'
b=
Fakultas Teknologi Pertanian UGM
>> c=[a b]
c=
Anda adalah mahasiswa Fakultas Teknologi Pertanian UGM
Selain fungsi-fungsi tersebut diatas fungsi-fungsi lainnya adalah
Fungsi disp
Fungsi disp memungkinkan untuk menampilkan string tanpa menampilkan nama
variabelnya.
Contoh
>> disp(a)
Anda adalah mahasiswa,
>>disp(Ini contoh tampilan dari text)
Ini contoh tampilan dari text
Syarat menggunakan disp adalah isi di dalamnya harus merupakan string, jika
ingin menampilkan sebuah angka , terlebih dahulu merubahnya ke dalam bentuk
strings dengan menggunakan function num2str().
Contoh
>> nomhs = 8058;
>> disp(['No mahasiswa saya adalah ',num2str(nomhs)])
No mahasiswa saya adalah 8058
Fungsi Input
Contoh
>> nama=input('Masukkan nama anda ! ','s');
Masukkan nama anda ! Budiono
>> disp('Nama yang anda masukkan = ');
Nama yang anda masukkan =
>> disp(nama);
Budiono
Fungsi fprintf
Fungsi ini digunakan untuk menampilkan output dilayar atau menyimpan output
di suatu external file . Fungsi ini mempunyai argumen sebagai berikut:
fprint(nama file,format string,list)
dimana list merupakan nama variabel yang dipisahkan dengan koma . Untuk
format string;
%P.Qe untuk eksponensial misalnya %10.2e
%P.Qf untuk fixed point misalnya %10.2f
%s\n untuk string dan berikutnya pada baris baru
Contoh 1
>>z='Ini pada baris pertama.. ';
>> y='ini seharusnya untuk baris berikutnya, berhasilkah';
>> fprintf('%s\n',z,y);
Ini pada baris pertama..
ini seharusnya untuk baris berikutnya, berhasilkah
Contoh 2
>> x=1050.86; y=4.3456; z = 25;
>> fprintf('x=%10.2f y=%10.2f z=%2.0f\n',x,y,z)
x= 1050.86 y=
4.35 z=25
B. Skalar
Skalar adalah nama lain dari data numeric. Dalam MATLAB data skalar dapat
dimanipulasi dengan menggunakan bebrapa fungsi seperti tipe string sebelumnya.
Contoh
>>x=0:0.1:1;
>> y=[x;tan(x)];
>> fid=fopen('D:\LatihMatLab\tan1.txt','w');%
>> fprintf(fid,'%6.2f %12.8f\n',y);
>> fclose(fid);
MATLAB akan menyimpan tabel berisikan x dan tan(x) di file tan1.txt di direktori
D:\LatihMatLab yang berisi data sebagai berikut :
0.00 0.00000000
4
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
0.10033467
0.20271004
0.30933625
0.42279322
0.54630249
0.68413681
0.84228838
1.02963856
1.26015822
1.55740772
C. Array
MATLAB menangani array secara intuitif. Berikut ini akan diberikan bebrapa contoh
assignment untuk array :
1. Pengalamatan Array
Dalam MATLAB elemen-elemen array diakses menggunakan subcript; misalnya
x(1) adalah elemen pertama x, x(2) adalah elemen kedua x dan seterusnya.
Contoh 1:
>> x = [2 4 6 8 10]
dapat dilihat bahwa x(1)=2, x(2)=4, x(3)=6, x(4)=8, x(5)=10
>> x(4) % elemen keempat x
ans =
8
Contoh 2
>>x([1 3 5]) = [0.2 0.5 0.7]
Maka x(1) =0.2, x(3)=0.5, x(5)=0.7 dan x(i) untuk i=2,3,4 bernilai 0
Contoh 3
Nilai array dapat juga diisikan sebagai berikut :
>> x=4:1:9
x=
4 5
Artinya bahwa nilai array yang dihasilkan dengan angka dari 4 sampai 9 dengan
penambahan 1 (default)
Penambahan dapat bernilai sembarang, bahkan dapat juga negatip, seperti
berikut ini :
>> z = 10:-2:1
z=
10 8 6
Contoh 4
Memisahkan elelem dengan titik koma membuat elemen berada dalam baris
yang berbeda seperti berikut ini :
>> y=[1;3;5;7;9]
y=
1
3
5
7
9
2. Menambahkan Elemen Array
>> x=[x 1 2] % Array sebelumnya
>>x=[x 2 4] % menambahkan 2 elemen di belakang
x=
1 2 2 4
>>x=[1 2 x 3]
x=
1 2 1 2
3. Mengakses Sebagian Elemen Array
Dari contoh sebelumnya, misalnya yang hanya diakses adalah elemen k2
sampai ke 4
>> y= x[2:4]
y=
2 1
4. Menghapus Elemen Array
Menghapus elemen terakhir dari array
>>n = [1 3 5 7 9]
n=
1 3 5 7
>>n = n(1 : length(n)-1)
Menghapus elelem pada index tertentu
Misalnya z = [1 2 3 4 5] dan ingin menghapus z pada index ke 2 dan 4 maka :
>>z = [1 2 3 4 5]
>>z([2 4])=[ ]
z=
1 3
5
D. Matriks
Matrik merupakan bentuk utama MATLAB. Sperti halnya array, matrik juga
didefinisikan elemen demi elemen. Contoh jika diketahui matrik berikut ini :
3 5
A
4 1
Maka matrik tersebut dapat diinputkan ke MATLAB dengan beberapa cara, yaitu:
1. Meng-entri satu persatu data matriks A
>>A(1,1)=3; A(1, 2)=5;A(2,1)=4;A(2, 2) = 1
A=
3 5
4 1
2. Menggunakan operator titik koma
>>A = [3 5;4 1]
A=
3 5
4 1
Untuk mengetahui ukuran matriks dapat dilakukan dengan menggunakan command
size berikut :
>>[baris kolom] = size(A)
baris =
2
kolom =
2
Jika hanya ingin mengatuhi jumlah baris atau kolom saja, digunakan perintah berikut
:
>>baris=size(A,1)
>> kolom size(A,2)
Sebagai latihan dapat dicoba contoh berikut ini :
>>A = [1 2 3;4 5 6;7 8 9]
>>B=[1 1 1;2 2 2;3 3 3]
>>C=[1 2;3 4;5 6];
>> whos
7
Name
A
B
C
Size
3x3
3x3
3x2
Bytes
72
72
48
Class
double array
double array
double array
Grand total is 24 elements using 192 bytes
>> A + B
ans
2 3 4
7 7 8
10 11 12
>>A+C
??? Error using ==> +
Matrix dimensons must agree
Matrix multiplication is also define :
>> A* C
ans =
22
28
49
64
76
100
>> C * A
???? Error using ==> *
Inner matrix dimension must agree
If A is square matrix and m is a positive integer, then A^m is the product of m factors
of A
>>C = cat(3,[1 2;3 4],[5 6;7 8])
>>C(:, :,1) =
1 2
3 4
>>C(:, :,2) =
5 6
7 8
>> D = [1;2]
D=
1
2
>> Whos
Name
Size
C
2x2x2
D
2x1
Bytes
64
16
Class
double array
double array
8
Grand total is 10 elements using 80 bytes
>>C*D
??? Error using ==> *
No function support for matrix inputs
By the same token, the exponention operator ^ is only define for square 2dimensional arrays (matrice)
Dan operasi-operasi lainnya
1.
2.
3.
4.
>>x = A/f
>> A = A
>> 2 * A
>> inv(B)