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
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
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
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
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
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
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]
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
TIPE DATA
29
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
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)
A B C
72 72 48
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
C D
2x2x2 2x1
64 16
>> 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).
4. >>inv(B)
Pembahasan detail mengenai matriks ini akan dibahas pada Bab Matriks dan Aljabar linier.