You are on page 1of 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 whos Name ans p Size 1x2 1x15 Bytes 16 30 Class double array char array 15

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


97 114

32

97 112

97

32 107 97

Columns 13 through 15 98 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.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.00000000 0.10033467 0.20271004 0.30933625 0.42279322 0.54630249 0.68413681 0.84228838 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 : 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. akan diberikan beberapa contoh

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 5 6 7 8 9

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 8 6 4 2

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 2 2 4

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

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 1 2

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

n=n(1:length(n)-1) n = 1 3 5 7

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 2 3 4 5

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

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 4 5 1

b. Menggunakan operator titik koma


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

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

A B C

3x3 3x3 3x2

72 72 48

double array double array double array

Grand total is 24 elements using 192 bytes >> A+B ans = 2 6 10 >> A+C ??? Error using ==> + Matrix dimensions must agree. Matrix multiplication is also defined: >> A*C ans = 22 49 76 >> C*A 28 64 100 3 7 11 4 8 12

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 3 C(:,:,2) = 5 7 6 8 2 4

>> D = [1;2] D = 1 2 >> whos Name Size Bytes Class

C D

2x2x2 2x1

64 16

double array 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.

You might also like