MATLAB - UMM Directory - Universitas Muhammadiyah Malang

440 downloads 561 Views 742KB Size Report
fungsi tambahan untuk aplikasi khusus. ... mengenali sampai 31 karakter pertama, selanjutnya diabaikan. Contoh : .... %persamaan kuadrat y=ax^2 + bx + c clc.
MODUL PRAKTIKUM 

MATLAB 

Oleh :  Team Labkomputer UMM 

DIVISI PENDIDIKAN DAN PELATIHAN  LEMBAGA INFORMASI DAN KOMUNIKASI  UNIVERSITAS MUHAMMADIYAH MALANG  2011

BAB I  PENGENALAN MATLAB 

I.1 DEFINISI MATLAB  MATLAB  (Matrix  Laboratory)  adalah  bahasa  tingkat  tinggi  dan  interaktif  yang  memungkinkan  untuk  melakukan  komputasi  secara  intensif.  MATLAB  telah  berkembang menjadi sebuah environment  pemrograman yang canggih yang berisi  fungsi­fungsi  built­in  untuk  melakukan  pengelolahan  sinyal,  aljabar  linear  dan  kalkulasi  matematis  lainnya.  MATLAB  juga  berisi  toolbox  yang  berisi  fungsi­  fungsi tambahan untuk aplikasi khusus. Penggunaan MATLAB  meliputi  bidang­  bidang :  ­  Matematika dan Komputasi  ­  Pembentukan Algorithm  ­  Akuisisi Data  ­  Pemodelan, simulasi dan Pembuatan Prototype  ­  Analisis Data, Explorasi, dan Visualisasi  ­  Grafik Keilmuan dan Bidang Rekayasa 

I.2 MEMULAI MATLAB  Setelah melakukan instalasi MATLAB pada PC, perhatikan icon MATLAB pada  tampilan  desktop  kemudian  double­click  pada  icon  tersebut.  Selanjutnya  akan  muncul tampilan seperti pada gambar berikut ini.

MATLAB  LABORATORIUM KOMPUTER 



Memulai /  membuka  M­file 

Menu 

Directory yang  sedang aktif 

Command  window

Daftar  variable  yang aktif 

MATLAB  start 

Gambar 1. Tampilan awal MATLAB 

Pada tampilan awal MATLAB, terlihat beberapa jendela yang merupakan bagian  penting di dalam MATLAB, antara lain :  a.  Jendela perintah (Command Window)  Pada  command  window,  semua  perintah  matlab  dituliskan  dan  diekskusi.  Kita  dapat    menuliskan  perintah  perhitungan    sederhana,  memanggil    fungsi,  mencari  informasi  tentang sebuah  fungsi dengan aturan penulisannya (help),  demo  program,  dan  sebagainya.  Setiap    penulisan    perintah    selalu    diawali  dengan    prompt    ‘>>’.  Misal,  mencari    nilai    sin    750,  maka  pada  command  window kita dapat mengetikkan:  >> sin(30*pi/180)  ans =  0.5000  b.  Jendela ruang kerja (Workspace)  Jendela ini berisi informasi penggunaan variabel di dalam memori MATLAB.  Misalkan  kita  akan  menjumlahkan  dua  buah  bilangan,  maka  pada  command  window kita dapat mengetikkan: 

MATLAB  LABORATORIUM KOMPUTER 



>> bilangan1=7  bilangan1 =  7  >> bilangan2=9  bilangan2 =  9  >> hasil=bilangan1+bilangan2  hasil =  16  Maka pada workspace akan menampilkan variable yang sedang digunakan. 

Gambar 3. Tampilan workspace 

Untuk  melihat  variabel  yang  aktif  saat  ini,  kita  dapat  menggunakan  perintah  who. 

>> who  Your variables are:  bilangan1  bilangan2  hasil  c.  Jendela history (Command History)  Jendela  ini  berisi  informasi  tentang  perintah  yang  pernah  dituliskan  sebelumnya. Kita dapat mengambil kembali perintah dengan menekan tombol  panah  ke  atas  atau  mengklik  perintah  pada  jendela  histori,  kemudian  melakukan copy­paste ke command window. 

Gambar 3. Tampilan command history

MATLAB  LABORATORIUM KOMPUTER 



BAB II  VARIABEL DAN OPERATOR 

II.1 VARIABEL  Seperti bahasa pemrograman lainnya, matlab pun memiliki variabel, tetapi dalam  penulisannya, variabel di dalam matlab tidak perlu dideklarasikan, karena matlab  mampu  mengenali  tipe  data  dari  variable  dari  isi  variabel  tersebut.  Aturan  penulisan  variabel  pada  matlab  sama  dengan  aturan  pada  bahasa  pemrograman  lainnya, yaitu bersifa case sensitive, diawali dengan huruf dan selanjutanya boleh  menggunakan  gabungan  huruf  angka  atau  tanda  garis  bawah.  Matlab  mampu  mengenali sampai 31 karakter pertama, selanjutnya diabaikan. 

Contoh :  >> var_1=7.7  var_1 =  7.7000  >> var2=[2 3 4]  var2 =  2     3     4  Semua tipe data di matlab memiliki bentuk yang sama, yaitu array. Array minimal  berukuran 0x0 dan dapat bertambah menjadi array n x m dimensi dengan sebarang  ukuran.  Matlab  mempunyai  beberapa  tipe  data  dasar  (atau  class),  yaitu:  logical,  char,  numeric,  cell,  structure,  java  classes,  function  handles.  Adapun  variable  khusus pada matlab, yaitu :  VARIABEL  KHUSUS  ans 

NILAI  Untuk hasil apapun 

pi 

Perbandingan antara keliling lingkaran dengan garis  tengahnya 

eps 

Bilangan terkecil sedemikian rupa sehingga bila  ditambahkan pada satu, menghasilkan bilangan lebih  besar dari satu pada suatu komputer

MATLAB  LABORATORIUM KOMPUTER 



flops 

Jumlah operasi floating point 

inf 

Tak berhingga, misalnya 1/0 

Nan atau nan 

Bukan suatu bilangan, misalnya 0/0 

i dan j 

i=j=Ö­1 

nargin 

Jumlah argumen input suatu fungsi 

nargout 

Jumlah argumen output suatu fungsi 

realmin 

Bilangan real positif terkecil yang dapat digunakan 

realmax 

Bilangan real positif terbesar yang dapat digunakan 

II.2 OPERATOR  Pada matlab, operator diklasifikasikan menjadi tiga bagian, yaitu:  a.  Operator Aritmatika  Operator aritmatika digunakan untuk mengerjakan komputasi numeric. 

OPERATOR 

KETERANGAN 



Penjumlahan 

­ 

Pengurangan 



Perkalian (aturan matriks) 

.* 

Perkalian  masing­masing  elemen  yang  bersesuaian (aturan array) 



Pembagian kanan (matriks) 

./ 

Pembagian kanan (array) 



Pembagian kiri (matriks) 

.\ 

Pembagian kiri (array) 



Perpangkatan (matriks) 

.^ 

Perpangkatan (array) 



Langkah

MATLAB  LABORATORIUM KOMPUTER 



b.  Operator Relasional  Operator  relasional  digunakan  untuk  membandingkan  operand­operand  secara  kuantitatif. 

OPERATOR 

KETERANGAN 

== 

Sama dengan 

~= 

Tidak sama dengan 

 

Lebih dari 



Lebih dari sama dengan 

c.  Operator Logika  OPERATOR 

KETERANGAN 



Akan  menghasilkan  nilai  1  jika  kedua  elemen  yang  bersesuaian  memiliki  nilai true dan 0 untuk lainnya 



Akan  bernilai  1  jika  salah  satu  elemennya true 



Komplen dari elemen yang diinputkan 

xor 

Akan  bernilai  1  jika  salah  satu  dari  kedua  elemen  memiliki  nilai  berbeda  dan bernilai nol jika sama

MATLAB  LABORATORIUM KOMPUTER 



BAB III  ARRAY, MATRIKS DAN POLINOMIAL 

III.1 ARRAY  MATLAB  menangani  array  secara  intuitif.  Untuk  membuat  array  dalam  MATLAB,  yang  perlu  dilakukan  hanyalah  mengetikkan  kurung  kotak  kiri,  memasukkan elemen­elemen dengan dipisahkan oleh spasi  atau koma, kemudian  menutup  array  dengan  kurung  kotak  kanan.  Berikut  ini  akan  diberikan  beberapa  contoh 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.  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  artinya bahwa nilai array yang diisikan dengan angka dari 4  sampai  9  dengan  penambahan  1  (default).  Penambahan

MATLAB  LABORATORIUM KOMPUTER 



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  Dari  contoh  sebelumnya  misalkan  hanya  diakses  elemen  ke  2  sampai ke empat  » y=x(2:4)  y =  2 1 2

MATLAB  LABORATORIUM KOMPUTER 



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 

III.2 MATRIKS  Matlab  menggunakan  matriks  sebagai  dasar  komputasinya.  Secara  garis  besar  matlab  membagi matriks menjadi 2 bagian, yaitu :  a.  Matriks Khusus  1.  Matriks Nol  Matriks yang elemennya bilangan nol  Bentuk umum :  >> zeros(n,m) 

Contoh : 

>> zeros(4,5)

MATLAB  LABORATORIUM KOMPUTER 



ans =  0     0     0     0     0  0     0     0 

0     0 

0     0     0     0     0  0     0     0     0     0 

2.  Matriks Satu  Matriks yang elemennya bilangan satu  Bentuk umum :  >>ones(n,m) 

Contoh : 

>> ones(2,3)  ans =  1     1     1  1     1     1 

3.  Natriks Identitas  Bentuk umum :  >>eye(n) 

Contoh : 

>> eye(4)  ans =  1     0     0     0  0     1     0     0  0     0     1     0  0     0     0     1

MATLAB  LABORATORIUM KOMPUTER 

10 

4.  Matriks Bujur Sangkar Ajaib  Matriks  yang  memiliki  hasil  jumlah  yang  sama  pada  elemen­elemen  baris, kolom dan diagonalnya.  Bentuk umum :  >>magic(n) 

Contoh : 

>> magic(3)  ans =  8     1     6  3     5     7  4     9     2 

5.  Matriks Acak  Matriks  yang  memiliki  nilai  acak  berdasarkan  distribusi  statistic  pada  elemnnya.  Bentuk umum :  >>rand(n,m) 

Contoh : 

>> rand(3,2)  ans =  0.9501    0.4860  0.2311    0.8913  0.6068    0.7621

MATLAB  LABORATORIUM KOMPUTER 

11 

b.  Matriks yang didefinisikan oleh User  Matlab juga menyediakan bentuk matriks yang didefinisikan oleh user.  Contoh : 

>> S=[1 2 3;7 8 9]  S =  1     2     3  7     8     9 

Tanda semicolon ‘;’ digunakan untuk memisahkan baris satu dengan yang  lain. 

III.3 POLINOMIAL  Di Matlab, sebuah polinomial diwakilkan oleh sebuah vektor. Untuk menciptakan  polynomial  di  Matlab,  masukkan  coefficient  polynomial  kedalam  vector  dalam  orde yang menurun.  Misalkan polynomial berikut:  s 4 +3s 3 ­15s 2 ­2s+9  Untuk memasukkan ke dalam Matlab, masukkan :  >> x = [1 3 ­15 ­2 9]  x =  1 3 ­15 ­2 9 

Matlab  dapat  menginterpretasikan  sebuah  panjang  n+1  sebagai  nth  order  polynomial.  Jika  polynomial  missing  pada  coefficients,  anda  harus  memasukkan  nilai nol kedalam tempat yang bersesuaian di dalam vector. 

Contoh :  s 4 +1  ditulis di Matlab sebagai:  >> y = [1 0 0 0 1]

MATLAB  LABORATORIUM KOMPUTER 

12 

Anda dapat mencari nilai polynomial menggunakan fungsi polyval. 

Contoh :  untuk mencari nilai polynomial pada s=2, yaitu :  >> z = polyval([1 0 0 0 1],2)  z =  17 

Anda dapat mengekstrak akar polynomial. 

Contoh :  s 4 +3s 3 ­15s 2 ­2s+9  Untuk mencari akar polynomial :  >> roots([1 3 ­15 ­2 9])  ans =  ­5.5745  2.5836  ­0.7951  0.7860 

JIka anda ingin mengalikan hasil 2 polynomials lakukan dengan convolution dari  coefficients. Fungsi conv dapat digunakan.  >> x = [1 2];  >> y = [1 4 8];  >> z = conv(x,y)  z =  1 6 16 16

MATLAB  LABORATORIUM KOMPUTER 

13 

Untuk membagi 2 polynomials dapat dilakukan dengan fungsi deconv. Misalkan z  dibagi y dengan hasil x.  >> [xx, R] = deconv(z,y)  xx =  1 2  R =  0 0 0 0 

Jika  anda  ingin  menambah  2  polinomial  secara  bersamaan  dengan  orde  yang  sama,  buatlah  z=x+y  akan  berhasil  (vectors  x  dan  y  harus  mempunyai  panjang  yang sama). Secara umum, anda dapat mendefinisikan fungsi polyadd. 

>> z = polyadd(x,y)  x =  1 2  y =  1 4 8  z =  1 5 10

MATLAB  LABORATORIUM KOMPUTER 

14 

BAB IV  M­FILE DAN GRAFIK 

IV.1 PEMROGRAMAN M­FILE  M­file  merupakan  sederetan  perintah  matlab  yang  dituliskan  secara  berurutan  sebagai  sebuah  file.  Nama  file  yang  tersimpan  akan  memiliki  ekstensi  .m  yang  menandakan  bahwa  file  yang  dibuat  adalah  file  matlab.  M­file  dapat  ditulis  sebagai sebuah script atau dapat pula ditulis sebagai sebuah fungsi yang menerima  argument atau masukan yang menghasilkan output.  Contoh script sederhana dari matlab : 

%menghitung akar dari  %persamaan kuadrat y=ax^2 + bx + c 

clc  clear 

a=input('masukkan konstanta a=')  b=input('masukkan konstanta b=')  c=input('masukkan konstanta c=') 

x1=(­b+sqrt(b^2­4*a*c))/(2*a)  x2=(­b­sqrt(b^2­4*a*c))/(2*a)

MATLAB  LABORATORIUM KOMPUTER 

15 

IV.2 GRAFIK  Matlab  mempunyai  bermacam­macam  fungsi untuk  menampilkan grafik, dimana  setiap  fungsi  memiliki  perbedaan  dalam  menskalakan  garis  sumbu.  Setiap  menerima  inputan  dalam  bentuk  vector  atau  matriks,  matlab  akan  menskalakan  secara otomatis.  a.  Plot  Fungsi  plot  digunakan  untuk  menggambar  grafik  2D  dengan  skala  linear  pada kedua sumbunya.  Contoh:  >> x=­10:10;  >> y=x.^2;  >> plot(x,y)  Hasilnya akan tampak sebagai berikut: 

b.  Plot3  Fungsi  plot3  digunakan  untuk  menampilkan  grafik  3  dimensi.  Plot3  memerlukan  3  argumen  dengan  bentuk  plot3(x,y,z),  dimana  x,  y,  z  merupakan 3 bagian vector yang sama panjang.  Contoh:  >> t=0:pi/100:10*pi;  >> plot3(sin(2*t), cos(2*t), t)

MATLAB  LABORATORIUM KOMPUTER 

16 

Hasilnya akan tampak sebagai berikut: 

c.  Bar  Fungsi  bar  digunakan  untuk  menampilkan  data  yang  berbentuk  vector  maupun  matriks.  Grafik  bar  digunakan  untuk  menampilkan  sekumpulan  data  selama  kurun  waktu  terentu  dan  cocok  untuk  menampilkan  data  dalam bentuk diskrit.  Contoh:  >>  t=[10  30  21  52;  34  67  12  23;  90,  23,  45,  26;  58  94  30  20];  >> bar(t)  >> grid on 

Hasilnya akan tampak sebagai berikut:

MATLAB  LABORATORIUM KOMPUTER 

17 

Matlab  juga  menyediakan  dalam  bentuk  3  dimensi,  yaitu  bar3.  Misal  grafik diatas disajikan dalam bar3, maka kita ketik perintah berikut: 

>>bar3(t)

MATLAB  LABORATORIUM KOMPUTER 

18 

BAB V  STATEMENT KONTROL 

Sama  seperti  bahasa  pemrograman  yang  lain,  matlab  juga  memiliki  statemen  kontrol.  Berikut  adalah  beberapa  pembahasan  statemen  kontrol  yang  ada  di  Matlab: 

V.1 IF, ELSE DAN ELSEIF  If  merupakan  statemen  control  yang  digunakan  untuk  mengevaluasi  ekspresi  logika dan mengekskusi kelompok statemen yang didasarkan pada nilai ekspresi.  Penulisan kontrol if else adalah sebagai berikut :  if  statement­statement  else if  statement­statement  else statement­statement  end 

contoh: 

V.2 WHILE  While  digunakan  untuk  melakukan  proses  perulangan  selama  kondisi  ekspresi  terpenuhi. Begitu kondisi sudah tidak terpenuhi lagi, maka proses perulangan akan  langsung dihentikan.  Bentuk umum dari while adalah :  while   Statement­statement  end

MATLAB  LABORATORIUM KOMPUTER 

19 

contoh : 

V.3 FOR  For  digunakan  untuk  melakukan  proses  perulangan  selama  kondisi  ekspresi  terpenuhi.  Perbedaannya  dengan  while  adalah  pada  for  jumlah  perulangan  dapat  diketahui, sedangkan pada while bergantung pada nilai ekspresi.  Bentuk umum dari for adalah :  for indeks=nilai awal:step:nilai akhir  statement­statement  end 

contoh: 

V.4 CONTINUE DAN BREAK  Statemen  continue  dan  break  digunakan  pada  statemen  kontrol  for  atau  while.  Fungsi  continu  adalah  melanjutkan  ke  iterasi  berikutnya  tanpa  menjalankan  statemen  yang ada di  bawah kondisi continu. Sedangkan  break, digunakan untuk  menghentikan proses iterasi tanpa melanjutkan perulangan.

MATLAB  LABORATORIUM KOMPUTER 

20 

Contoh:

MATLAB  LABORATORIUM KOMPUTER 

21 

BAB VI  ANALISA DATA DAN INTERPOLASI 

VI.1 ANALISA DATA  Dalam bab ini, kita akan belajar bagaimana menganalisis dan memanipulasi data  mempergunakan  MATLAB,  terutama  untuk  perhitungan  statistik:  rentang  data,  maksimum/minimum,  rata­rata,  deviasi,  jumlah  kumulatif,  dan  sebagainya.  Di  MATLAB fungsi­fungsi statistik semacam ini telah ada dan bisa digunakan secara  fleksibel.  Dalam  penjelasan  bab  ini,  x  dan y  kita  misalkan  sebagai  vector  (baris  ataupun kolom), dan A dan B sebagai matriks m×n. 

a.  Maksimum dan Minimum  Nilai maksimum dan minimum diperoleh dengan command berikut ini : 

COMMAND  max(x) 

KETERANGAN  menghitung nilai maksimum dari elemen  vektor x. Jika x bernilai kompleks maka  dihitung max(abs(x)) 

max(A) 

menghitung nilai maksimum dari setiap kolom  di matriks A; hasilnya berupa vektor 1×n 

max(max(A)) 

menghitung nilai maksimum dari elemen  matriks A 

max(A,B) 

menghitung matriks berukuran sama dengan A  dan  Bdengan  elemen  berisi  nilai  terbesar  di  antara  elemen Adan Bpada posisi yang sama 

min( ... ) 

sama dengan sintaks max( ... )di atas, tetapi  untuk mencari minimum

MATLAB  LABORATORIUM KOMPUTER 

22 

Mari  kita  praktekkan  beberapa  contoh  untuk  menambah  pemahaman  terhadap sintaks di atas. Misalkan x ialah data tinggi badan dari 10 orang,  dan A ialah data indeks prestasi (IP) dari 4 mahasiswa dalam 3 semester. 

Data tinggi badan (dalam cm)  175  177  173  165 

160  170  174 

177  168  170 

Data IP mahasiswa  Nama 

IP sem­1 

IP sem­2 

IP sem­3 

Agus 

3,3 

2,8 

3,3 

Dedy 

3,9 

4,0 

3,8 

Tanjung 

3,8 

3,5 

2,9 

Vijay 

2,9 

3,2 

3,1 

>> x=[175 177 173 165 160 170 174 177 168 170];  >>  A=[3.3  2.8  3.3;3.9  4.0  3.8;3.8  3.5  2.9;2.9  3.2  3.1];  >> max(x)  ans =  177  >> max(A), max(A’)  ans =  3.9000 4.0000 3.8000  ans =  3.3000 4.0000 3.8000 3.2000  >> max(max(A))  ans =  4 

Kita  bisa  melihat  bahwa  max(x)  menghitung  tinggi  maksimum  dari  10  orang  yang  ada,  max(A)  menghitung  IP  tertinggi  pada  setiap  semester,  sedangkan  max(A’)  menghitung  IP  tertinggi  dari  setiap  mahasiswa.

MATLAB  LABORATORIUM KOMPUTER 

23 

Sementara itu, max(max(A)) menghitung IP tertinggi yang pernah dicapai  mahasiswa selama 3 semester. 

b.  Statistika  Sekarang kita akan belajar command untuk analisis data statistik.  COMMAND  mean(x) 

KETERANGAN  menghitung rata­rata aritmatik dari elemen  vektor x 

mean(A) 

menghitung rata­rata aritmatik dari elemen  setiap kolom di matriks A; hasilnya berupa vektor 1×n 

median( ... ) 

sama seperti sintaks mean( ... ), tetapi untuk  menghitung median (nilai tengah) sama seperti sintaks 

std( ... ) 

mean( ... ), tetapi untuk  menghitung  deviasi  standar  (simpangan  baku)  sama 

var( ... ) 

seperti sintaks mean( ... ), tetapi untuk  menghitung variansi 

Sebagai  contoh,  kita  gunakan  kembali  data  tinggi  badan  dan  nilai  IP  mahasiswa seperti sebelumnya.  >> x=[175 177 173 165 160 170 174 177 168 170];  >>  A=[3.3  2.8  3.3;3.9  4.0  3.8;3.8  3.5  2.9;2.9  3.2  3.1];  >> rataan_IP_sem = mean(A)  rataan_IP_sem =  3.4750 3.3750 3.2750  >> rataan_IP_mhs = mean(A')  rataan_IP_mhs =  3.1333 3.9000 3.4000 3.0667  >> rataan_IP_total = mean(mean(A))  rataan_IP_total =  3.3750

MATLAB  LABORATORIUM KOMPUTER 

24 

>> nilai_tengah = median(x), deviasi = std(x), ...  variansi = var(x)  nilai_tengah =  171.5000  deviasi =  5.4661  variansi =  29.8778 

VI.2 INTERPOLASI  Pada  fungsi  yang  memiliki  sejumlah  titik  terbatas,  dimungkinkan  untuk  menentukan  titik­titik  perantaranya  dengan  interpolasi.  Cara  termudah  untuk  menghitungnya 

ialah 

dengan 

menggunakan 

interpolasi 

linier 

untuk 

menghubungkan  dua  titik  yang  berdekatan.  Command  interp1  menggunakan  algoritma  khusus  untuk  interpolasi  titik­titik  data  yang  terpisah  secara  seragam.  Untuk command ini, kita harus tambahkan tanda asteris ‘*’ di depan nama metoda  yang diinginkan, misalkan interp(x,y,xx,’*nearest’).  yy = interp1(x,y,xx) menghitung vektor yyyang panjangnya sama dengan vektor  xx.  Dalam  hal  ini  yyfungsi  dari  xxmerupakan  interpolasi  dari  yfungsi  dari  x.  Vektor  xharus  diurutkan  secara  ascending  /  descending  interp1(x,y,xx,’string’)  menghitung  interpolasi  1­dimensi;  stringmenunjukkan  metode  yang  digunakan,  yaitu: linear nearest spline cubic interpolasi linier interpolasi “nearest­neighbor”  interpolasi  “cubic­spline”  interpolasi  kubik,  membutuhkan  jarak  pisah  seragam  pada x Apabila string tidak dituliskan,  maka digunakan  interpolasi  linier. Untuk  semua 

metode  tersebut,  xharus  diurutkan  ascending  /  descending. 

interp1q(x,y,xx)  bekerja  seperti  interp1namun  lebih  cepat  untuk  titik­titik  data  yang terpisah tak seragam. x, y, dan xxharus berupa vektor kolom.  Misalkan kita memiliki data tekanan udara dalam suatu ruang tertutup yang diukur  pada jam­jam tertentu sebagai berikut:  >> t = [0 2 3 5 8.5 10 12];  >> pres = [660 900 400 300 500 50 300];

MATLAB  LABORATORIUM KOMPUTER 

25 

Sekarang kita interpolasi dengan beberapa metode dan kita plot pada satu gambar  sekaligus :  >> tt = linspace(0,12,100);  >> PP1 = interp1(t,pres,tt,’*linear’);  >> PP2 = interp1(t,pres,tt,’*cubic’);  >> PP3 = interp1q(t’,pres’,tt’);  >> figure;  >> plot(t,pres,’k*’,tt,PP1,’k­‘,tt,PP2,’k:’, ...  tt,PP3,’k­­’)  >> grid on;  >> xlabel(‘waktu (jam)’), ylabel(‘Pressure’)  >> legend(‘data’,’linier’,’kubik’,’interp1q’)  >> title(‘Perbandingan metode interpolasi’

MATLAB  LABORATORIUM KOMPUTER 

26 

BAB VII  VISUALISASI DAN FUNCTION M­FILE 

VII.1 VISUALISASI 2D DAN 3D  MATLAB memiliki beberapa bentuk grafik yang dapat dibuat dengan mudah dan  cara  penggunaannya­pun  sederhana.  Berikut  ini  akan  diberikan  contoh­contoh  untuk menampilkan berbagai grafik berdasarkan kategori : 

a.  Grafik 2D :  1.  Grafik garis, mencetak grafik chirp.  >> x=0:0.05:5;  {Enter}  >> y=sin(x.^2);  {Enter}  >> plot(x,y);  {Enter} 

2.  Grafik Batang (Bar), mencetak kurva BELL.  >> x=­2.9:0.2:2.9;  {Enter}  >> bar(x,exp(­x.*x));  {Enter} 

3.  Grafik Tangga, mencetak Gelombang sinus dalam grafik tangga.  >> x=0:0.25:10;  {Enter}  >> stairs(x,sin(x));  {Enter} 

4.  Grafik ErrorBar, mencetak Grafik ErrorBar pada fungsi dengan  kesalahan secara acak.  >> x=­2:0.1:2;  {Enter}  >> y=erf(x);  {Enter}  >> e=rand(size(x))/10;  {Enter}  >> errorbar(x,y,e);  {Enter}

MATLAB  LABORATORIUM KOMPUTER 

27 

5.  Grafik  Polar,  mencetak  fungsi  perkalina  sin  dan  cos  dalam  bentuk polar.  >> t=0:.01:2*pi;  {Enter}  >> polar(t,abs(sin(2*t).*cos(2*t)));{Enter} 

6.  Grafik  Stem,  mencetak  perkalian  fungsi  sin  dengan  eksponensial.  >> x=0:0.1:4;  {Enter}  >> y=sin(x.^2).*exp(­x);  {Enter}  >> stem(x,y)  {Enter}  b.  Grafik 3D :  1.  Grafik  Mesh,  mencetak bentuk grafik  mesh dari  fungsi  "peaks"  yang telah disiapkan didalam MATLAB.  >> z=peaks(25);  {Enter}  >>figure(2);surf(z);{Enter} 

2.  Grafik Surface, mencetak grafik permukaan dari fungsi "peaks"  dengan  pola  warna  "jet"  yang  telah  didefinisikan  didalam  MATLAB.  >> z=peaks(25);  {Enter}  >> surf(z);  {Enter}  >> colormap(jet);  {Enter} 

3.  Grafik Contour, mencetak kontur dari fungsi "peaks".  >> z=peaks(25);  {Enter}  >> contour(z,16);  {Enter} 

4.  Grafik Quiver, mencetak pola arah gerakan suatu nilai.  >> x = ­2:.2:2; y = ­1:.2:1;  {Enter}  >> [xx,yy] = meshgrid(x,y);  {Enter}  >> zz = xx.*exp(­xx.^2­yy.^2);  {Enter}

MATLAB  LABORATORIUM KOMPUTER 

28 

>> [px,py] = gradient(zz,.2,.2);  {Enter}  >> quiver(x,y,px,py,2);  {Enter} 

VII.2 FUNCTION M­FILE  Fungsi adalah m­file yang menerima argument input dan menghasilkan argument  output. Fungsi dapat dipanggil langsung dari command window atau dari suatu m­  file yang berbeda. Aturan penulisan fungsi adalah sebagai berikut : 

Fungsi di dalam matlab jika disimpan secara default akan tersimpan dengan nama  yang sama dengan nama fungsinya. 

Contoh : 

Jika  kita  akan  menggunakan  fungsi  tersebut,  maka  pada  command  window  kita  tuliskan : >> akar( 1, 8, ­2)  Maka akan menghasilkan x1 = 1.1231 x2 = ­7.1231

MATLAB  LABORATORIUM KOMPUTER 

29