Anda di halaman 1dari 13

TIPE DATA

21

Bab 2
TIPE DATA
Software MATLAB mengenal 3 tipe data yaitu : string, scalar,
dan matriks. Array merupakan matriks yang hanya memiliki satu
baris. MATLAB juga memiliki banyak fungsi built-in untuk bejkerja
memanipulasi tipe data tersebut. Berikut ini beberapa contoh yang
menjelaskan ketiga tipe data tersebut di atas.

2.1 String
String dalam MATLAB adalah type data yang terdiri atas
huruf-huruf dan atau nilai-nilai ASCII yang ditampilkan
representasinya. String adalah teks yang diawali dan diakhiri
dengan apostrof .
Contoh :
p='hallo apa kabar'
p =
hallo apa kabar
size(p)
ans =
1

15

whos
Name

Size

Bytes

Class

ans

1x2

16

double array

1x15

30

char array

22

Judul Buku

Grand total is 17 elements using 46 bytes

Setiap karakter dalam suatu string adalah satu elemen dalam array,
dengan setiap elemennya sebesar 2 byte.
Untuk melihat representasi ASCII karakter string dapat
dilakukan dengan melakukan operasi aritmetik terhadap string atau
mengkonversikannya menggunakan fungsi double.
Contoh :
double(p)
ans =
Columns 1 through 12

104

97 108 108 111

32

97 112

97

32 107 97

Columns 13 through 15
98

97

114

abs(p)
ans =
Columns 1 through 12
104

97

108

108

111

32

97

112

97

32

107

97

Columns 13 through 15
98

97

114

Fungsi char menyediakan tranformasi balikan :


char(p)
ans =
hallo apa kabar

karena string merupakan array numeric dengan atribut khusus, string


dapat dimanipulasi dengan menggunakan semua metode manipulasi
array yang tersedia dalam MATLAB.
Contoh :
t=p(11:15)
t =

TIPE DATA

23

kabar

string juga dialamati seperti array. Dari contoh di atas elemen ke 11


sampai ke 15 memuat kata kabar.
Jika kata tersebut dibalik maka perintahnya dapat diketikkan sebagai
berikut :
t=p(15:-1:11)
t =
rabak

dan jika penggunaan operator transpose maka kata kabar akan dibaca
dalam format kolom yaitu :
t=p(11:15)'
t =
k
a
b
a
r

Penggabungan string mengikuti aturan penggabungan


array:
Contoh
a='jika anda belajar rajin,'
a =
jika anda belajar rajin,
b='maka anda akan dapat nilai yang bagus'
b =
maka anda akan dapat nilai yang bagus
c=[a b]
c =

24

Judul Buku

jika anda belajar rajin,maka anda akan dapat nilai yang


bagus

selain fungsi-fungsi di atas fungsi-fungsi string lainnya adalah :


1. Fungsi disp
Fungsi disp memungkinkan untuk menampilkan string
tanpa menampilkan nama variabelnya.
Contoh :
1. disp(a)
jika anda belajar rajin,

dapat dilihat bahwa a=statemen telah dihilangkan. Fungsi ini


berguna untuk menampilkan teks bantuan dalam suatu file
script
2. >>disp('Ini contoh tampilan dari text')
Ini contoh tampilan dari text

Syarat digunakannya disp , isi didalamnya harus merupakan


strings, jadi jika ingin menampilkan sebuah angka terlebih
dahulu dirubah kedalam bentuk strings dengan menggunakan
function num2str( ).
Sebagai contoh :
nim=10499006;
disp(['Nim saya adalah ',num2str(nim)])
Nim saya adalah 10499006

2. fungsi input
Contoh:
nama=input('Masukkan nama anda !','s')
Masukkan nama anda !
disp('Nama yang anda masukkan=');
Nama yang anda masukkan=
disp(nama);

TIPE DATA

25

3. fungsi fprintf
Command ini berfungsi untuk menampilkan output di layar
atau menyimpan output di suatu external file ( sama halnya
dengan command fprint di C/C++). Fungsi ini mempunyai
argumen sbb:
fprintf( ' nama file ' ,' format string ' , list)

dimana list adalah nama variabel yang dipisahkan dengan


koma. Untuk format string :
%P.Qe untuk eksponensial
%P.Qf untuk fixed point
/n untuk membuat baris baru

dan lebih detailnya dapat dilihat di help untuk fprintf.


Dibawah ini diberikan contoh penggunaannya.
Contoh 1.
z='ini cuma mo nyoba aja..';
y='semoga berhasil';
fprintf('%s\n',z);
ini cuma mo nyoba aja..
fprintf('%s\n',z,y);
ini cuma mo nyoba aja..
semoga berhasil
fprintf('%s%s\n',z,y);
ini cuma mo nyoba aja..semoga berhasil

Contoh 2.
x=1007.46 ; y=2.1278;k=17;
fprintf('x= %8.2f y=%8.2f k=%2.0f',x,y,k)

26

Judul Buku

x= 1007.46 y= 2.13 k=17

Catatan : Teks atau string di Matlab dapat di tampilkan


dengan cara menggunakan ' di awal dan ' diakhir contoh: ' ini
cara menulis string '.

perintah ini mirip dengan disp, namun lebih memiliki


fleksibilitas dalam format output yang diinginkan.

2.2. Scalar
Scalar adalah nama lain dari data numeric, Dalam MATLAB
data scalar dapat dimanipulasikan dengan menggunakan beberapa
fungsi, seperti type string sebelumnya. Berikut ini beberapa contohnya:
x=0:0.1:1;
y=[x;tan(x)];
fid=fopen('c:\backup\tan.txt','w');%
fprintf(fid,'&6.2f %12.8f\n',y);
fclose(fid);

akan menyimpan tabel berisikan x dan tan(x) di file tan.txt (nama ini
sebarang, sesuai dengan keinginan anda) yang disimpan di direktori
c:\backup berisikan data berikut :
0.00

0.00000000

0.10

0.10033467

0.20

0.20271004

0.30

0.30933625

0.40

0.42279322

0.50

0.54630249

0.60

0.68413681

0.70

0.84228838

0.80

1.02963856

TIPE DATA

27

0.90
1.00

1.26015822
1.55740772

2.3. Array.
MATLAB menangani array secara intuitif. Untuk membuat
array dalam MATLAB, yang perlu dilakukan hanyalah
mengetikkan kurung kotak kiri, memasukkan elemen-elemen
denagn dipisahkan oleh spasi atau koma, kemudian menutup
array dengan kurung kotak kanan.
Berikut ini
assignment untuk array :

akan

diberikan

beberapa

contoh

a. Pengalamatan array
Dalam
MATLAB
elemen-elemen
array
diakses
menggunkan subcript; misalnya x(1) adalah elemen pertama x,
x(2) adalah elemen kedua x, dan seterusnya.

Contoh :
1. x=[2 4 6 8 10]

dapai dilihat bahwa x(1)=2, x(2)=4, x(3)=6, x(4)=8,


x(5)=10
x(4) %elemen keempat x
ans =
8

2. x([1 3 5])=[0.2 0.5 0.7]


maka x(1)=0.1, x(3)=0.5, x(5)=0.7 dan x(i) untuk i=2,3,4
bernilai 0.
3. nilai array dapat juga diisikan sebagai berikut :
x=4:1:9
x =
4

28

Judul Buku

artinya bahwa nilai array yang diisikan dengan angka dari


4 sampai 9 dengan penambahan 1 (default).
Penambahan dapat bernilai sebarang, bahkan dapat juga
negatif, seperti contoh berikut :
z=10:-2:1
z =
10

4. Memisahkan elemen dengan titik koma membuat elemen


berada dalam baris yang berbeda, seperti contoh berikut :
y=[1;3;5;7;9]
y =
1
3
5
7
9

b. Menambahkan elemen array


x=[x 1 2] % array sebelumnya

x=[x 2 4] %menambahkan 2 elemen dibelakang


x =
1

x=[1 2 x 3]%menambahkan dua elemen di depan,


satu dibelakang
x =
1

c. Mengakses sebagian elemen array

TIPE DATA

29

Dari contoh sebelumnya misalkan hanya diakses elemen ke 2 sampai


ke empat
y=x(2:4)
y =
2

d. Menghapus elemen array


Dapat dilihat contoh berikut :
Menghapus elemen terakhir dari array
n=[1 3 5 7 9]
n =
1

n=n(1:length(n)-1)
n =
1

a. Menghapus elemen pada index tertentu


Misalkan z =[1 2 3 4 5 ] dan ingin dihapus z pada index
ke 2 dan 4 maka:
z=[1 2 3 4 5]
z =
1

z([2 4])=[]
z =
1

30

Judul Buku

2.4. Matriks
Matriks merupakan bentuk utama dari MATLAB, seperti
halnya array matriks juga didefenisikan elemen demi elemen.
Sebagai contoh jika diketahui matriks berikut ini :

3 5
A=

4 1
Maka matriks di atas dapat diinputkan ke MATLAB
dengan beberapa cara yaitu:
a. Mengentri satu persatu data matriks A
A(1,1)=3;A(1,2)=5;A(2,1)=4;A(2,2)=1
A =
3

b. Menggunakan operator titik koma


A=[3 5;4 1]
A =
3

untuk mengetahui ukuran matriks di atas dapat dilakukan


dengan menggunakan command size berikut :
[baris kolom]=size(A)
baris =
2
kolom =
2

atau jika hanya ingin mengetahui jumlah baris atau kolom


saja maka digunakan perintah berikut :
baris=size(A,1)

TIPE DATA

31

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];
>> f=[2 4 6 ]
>> whos
Name

Size

Bytes

Class

3x3

72

double array

3x3

72

double array

3x2

48

double array

Grand total is 24 elements using 192 bytes


>> A+B
ans =
2

10

11

12

>> A+C
??? Error using ==> +
Matrix dimensions must agree.
Matrix multiplication is also defined:
>> A*C
ans =
22

28

49

64

76

100

>> C*A

32

Judul Buku

??? Error using ==> *


Inner matrix dimensions must agree.
If A is a square matrix and m is a positive integer, then
A^m is the product of m factors of A.
However, no notion of multiplication is defined for
multi-dimensional arrays with more than 2 dimensions:
>> C = cat(3,[1 2;3 4],[5 6;7 8])
C(:,:,1) =
1

C(:,:,2) =
5

>> D = [1;2]
D =
1
2
>> whos
Name

Size

Bytes

Class

2x2x2

64

double array

2x1

16

double array

Grand total is 10 elements using 80 bytes

>> C*D
??? Error using ==> *
No functional support for matrix inputs.

TIPE DATA

33

By the same token, the exponentiation operator ^ is only


defined for square 2-dimensional arrays (matrices).

Dan operasi-operasi lainnya seperti :


1. >>x=A/f
2. >>A=A
3. >>2*A

4. >>inv(B)
Pembahasan detail mengenai matriks ini akan dibahas
pada Bab Matriks dan Aljabar linier.

Anda mungkin juga menyukai