Anda di halaman 1dari 39

MODUL PRAKTIKUM

PIK 4410
PENERAPAN KOMPUTER PADA ILMU KELAUTAN
Matlab Tutorial




Oleh:
Onward Dimar K Nugraha


Prodi Ilmu Kelautan
Fakultas Perikanan dan Ilmu Kelautan
Universitas Brawijaya
2011
i
Kata Pengantar


Kata computer tidak terlepas dari kata asalnya to compute, sehingga
dengan demikian matematika sebagai ilmu dasar tidak dapat dipisahkan
dengan penerapan komputer, khususnya di bidang ilmu kelautan.
Ilmu Kelautan adalah sebuah cabang ilmu yang berkaitan secara
menyeluruh (holistic) dari berbagai bidang ilmu-ilmu lainnya. Pengetahuan
bidang keilmuan lain, seperti: kimia, fisika, biologi, matematika, teknik,
manajemen, statistik, rekayasa teknologi, meteorologi dan klimatologi,
oceanografi, remote sensing, pesisir dan pantai adalah merupakan syarat
yang tidak bisa dihindari dalam rangka memahami bidang kelautan yang
komprehensif.
Modul praktikum ini disusun sebagai dasar acuan praktikum
mahasiswa Ilmu Kelautan di Universitas Brawijaya, yang merupakan suatu
modal usaha pembelajaran perhitungan matematika dengan menggunakan
komputer. Kemampuan dasar ini diharapkan dapat menunjang mata kuliah
lain, seperti: fisika dan kimia oceanografi, pemetaan dan penginderaan jarak
jauh, pengolahan data statistik, geologi laut, proses-proses pantai dan tugas
akhir.
Selamat belajar dan semoga bermanfaat.


Onward Dimar K Nugraha

ii
Daftar Isi

Kata Pengantar ................................................................................................. i
Daftar Isi .......................................................................................................... ii
Matlab Dasar ................................................................................................... 1
1.1. Notasi di Matlab ..................................................................................... 1
1.2. Fungsi Trigonometri .............................................................................. 2
1.3. Konstanta khusus .................................................................................. 3
1.4.Operasi matriks ...................................................................................... 4
1.4.1. Operasi perkalian matriks ............................................................... 5
1.4.2. Matrik identitas (I) ........................................................................... 5
Grafik/Figure .................................................................................................... 6
2.1. Plotting grafik ......................................................................................... 6
2.2. Membuat Subplot .................................................................................. 9
2.3. Membuat plotting 3D ............................................................................. 9
Persamaan Linear dan Polinomial ................................................................. 12
3.1. Menyelesaikan Persamaan Matematika .............................................. 12
3.1.1. Persamaan Linear (Orde derajat 1) .............................................. 12
3.1.2. Persamaan Kuadrat (Orde derajat 2) ............................................ 12
3.1.3. Persamaan Orde Derajat Tinggi ................................................... 14
3.2. Menyelesaikan persamaan linear dengan solve method ..................... 14
3.3. Fungsi Polinomial ................................................................................ 15
3.3.1. Fungsi polyval ............................................................................... 15
3.3.2. Fungsi Polyfit ................................................................................ 16
3.3.3. Fungsi polyder .............................................................................. 18
3.3.4. Fungsi roots .................................................................................. 19
3.3.4. Fungsi poly ................................................................................... 19
3.3.5. Fungsi conv .................................................................................. 20
3.3.6. Fungsi deconv .............................................................................. 20
Persamaan Differensial .................................................................................. 22
4.1. Menggunakan ode23 ........................................................................... 22
4.2. Menggunakan ode45 ........................................................................... 22
4.3. Studi kasus dalam menggunakan sebuah persamaan differensial ...... 23
Matriks ........................................................................................................... 25
5.1. Determinan Matriks ............................................................................. 25
5.2. Menyelesaikan persamaan linear dengan matriks .............................. 25
5.2.1. Cara 1 dengan determinan ........................................................... 25
5.2.2. Cara 2 dengan matriks diperbesar / Augmented matrix ................ 25
5.2.3. Cara 3 dgn matriks invers ............................................................. 26
Statistik .......................................................................................................... 28
6.1. Pengolahan Data Statistik ................................................................... 28
6.2. Membuat persamaan matematika dari sampling data ......................... 30
Soal-Soal Tugas ............................................................................................ 35
1
Matlab Dasar
1.1. Notasi di Matlab

Notasi
Matematika
Freemat/Matlab
A x B
B
A

A
b
A
Log a

A
B

A * B
A / B

A^b
SQRT(A)
Log (a)
Pi
A \ B


Perintah (syntax) di matlab
; =sesudah baris persamaan artinya hasil hitungan tidak segera
ditampilkan di layar
clear = membersihkan / reset dari awal

Matlab tidak memerlukan deklarasi variabel atau pernyataan dimensi pada
setiap variabel yang akan digunakan dalam sebuah program komputer.
Variabel dalam Matlab secara otomatis akan dibuat dan disimpan setiap kali
Matlab menemukan nama variabel baru. Disamping itu, hal yang sangat
penting untuk diingat bahwa variabel Matlab bersifat case sensitif, artinya
antara huruf besar dengan huruf kecil dibedakan. Dibawah ini diberikan
beberapa aturan penulisan variabel dalam Matlab:
1. Variable tidak boleh diawali dengan angka, misalnya 2abc, 45y, 3ok43
2. Variabel dapat merupakan kombinasi antara huruf dan angka,
misalnya ok45, ok45ok, abc432 dsb
3. Variabel tidak boleh menggunakan karakter khusus Matlab, misalnya
%, #, -, +, = , dsb. Misalnya %ok, net-cost, %x, @sign dsb.
2
4. Hindari memberikan nama variabel dengan nama-nama khusus yang
ada di Matlab, misalnya hindari memberikan nama variabel dengan
nama pi, eps, i, j. Karena pi=22/7, eps= 2 54 , i dan j memiliki harga
1.
5. Disarankan pembuatan variabel singkat tetapi penuh makna
(informatif). Hal ini untuk menghindari kesalahan penulisan variabel
yang berulang-ulang.

Perintah tambahan yang berguna untuk pemrograman
a) clc: menghapus layar di command window
b) close all: menghapus semua gambar yang tampil sebelumnya.
c) clear: perintah untuk menghapus data di memori Matlab
d) cd: perintah untuk mengubah direktori
e) pwd: perintah untuk mengetahui kita berada di direktori mana pada
saat ini.
f) dir: perintah untuk mengetahui file apa saja yang ada di current
directory
g) mkdir: perintah untuk membuat direktori dibawah current direktori
h) delete: perintah untuk menghapus file
i) who: menampilkan semua variabel saat ini.
j) whos: menampilkan semua variabel saat ini bersama dengan informasi
tentang ukuran, bytes, class dll
k) what: menampilkan semua file dengan ekstensi .M (M-File)

1.2. Fungsi Trigonometri
Ada beberapa fungsi trigonometri yang kita kenal dalam matematika. Fungsi-
fungsi tersebut masuk ke dalam fungsi bawaan Matlab. Fungsi-fungsi
trigonometri tersebut antara lain: sin(), cos(), tan(), sinh(), cosh(), tanh(),
asin(), acos(), atan(), asinh(), acosh()dan atanh(). Disamping fungsi
trigonometri, fungsi-fungsi dasar juga penting. Beberapa fungsi dasar tersebut
antara abs(), sqrt(), exp(), log(), log10(), log2(). Untuk lebih jelasnya, lihat
tabel dibawah ini:

3

No Nama variabel Keterangan
1 abs() Menyatakan harga mutlak, misal x

2 sqrt() Menyatakan akar pangkat dua
, misal x
3 exp() Menyatakan harga eksponensial, misal e
x
4 log() Menyatakan harga ln, misal ln(x)

5 log10() Menyatakan harga logaritma basis 10, misal log(x)

6 log2() Menyatakan harga logaritma basis 2, misal

2
log x



1.3. Konstanta khusus
Di Matlab ada beberapa konstanta khusus yang mana sebaiknya dihindari
untuk didefinisikan kembali sebagai konstanta. Beberapa konstanta khusus
tersebut antara lain:

No Nama variabel Keterangan
1 pi 3.14159265...
2 i Unit imajiner, -1
3 j Sama dengan i
4 eps Ketelitian relatif floating-point
5 realmin Bilangan floating-point terkecil
6 realmax Bilangan floating-point terbesar
7 inf Bilangan tak hingga

Contoh 1:
Hitung volume bola
|

\
|
=
3
3
4
r V , dimana r = 2 m
>> r = 2;
4
>>V = (4/3)*pi*r^3

Membuat interval baris bilangan
>> x = [0:2:10]
>> x = [0:0.1:1]

Membuat matriks
>> A = [2;1;4] matrik kolom
>> B = [2 0 4] matrik baris
>> C = [1,1,9] matrik baris

1.4.Operasi matriks
Contoh 1:

>> A = [-1,6;7,11]
>> B = [2,0,1;-1,7,4;3,0,1]
>> C =2*A

Contoh 2:

>> A = [5 1;0 9];
>> B = [2 -2;1 1];
>> A + B
>> A B
>> A transpose matrik A (A
T
)

Contoh 3:
>> A = [2;1;4]; >> W = [ 3,0,3];
>> Y = a >> X = [2,1,1];
>> K = [1;4;5]; >> Y = W - X
>> L = [2;3;3];
>> M = K + L

5
1.4.1. Operasi perkalian matriks
>> A = [ 2 1;1 2];
>> B = [3 4;5 6];
>> A * B perkalian matriks
>> A .* B bukan perkalian matriks, hy perkalian bilangan dlm
matriks

1.4.2. Matrik identitas (I)
Untuk membuat matrik identitas, dengan cara:
>> eye(4) matriks identitas dimensi 4 x 4


Latihan:
1. Hitunglah dengan menggunakan Matlab:
a.
4
11
5
b.
7
3
3
8
5 +
c. 9
1.25


2. Carilah volume silinder h r V
2
= , dimana tinggi=12 cm dan diameter=14cm

6
Grafik/Figure
2.1. Plotting grafik
Freemat dan Matlab juga menyediakan fasilitas untuk membuat grafik dari
suatu persamaan.

Membuat grafik fungsi y = cos (x) untuk 0 x 10
>> x = [0:0.1:10]; artinya nilai x dari 0 s/d 10 dgn interval 0.1
>> y = cos(x);
>> plot(x,y)

Membuat label
>> x = [0:0.01:10];
>> y = cos(x);
>> plot(x,y), xlabel(x), ylabel(cos(x))

Membuat grid
>> x = [-6:0.01:6];
>> y = tanh(x);
>> plot(x,y), grid on

Menggabungkan beberapa fungsi dalam satu plot
misal fungsi f(t)= e
-t
dan g(t)= e
-2t
>> t = [0:0.01:5];
>> f = exp(-t);
>> g = exp(-2*t);
>> plot(t,f,t,g,--)

Keterangan:
Untuk bentuk garis:
Solid line -
Dashed line --
Dashed dot line -.
7
Dotted line :

Jadi jika ingin membuat garis yang berbeda, maka:
>> plot(t,f,:,t,g,--)
Membuat legenda
>> x = [0:0.01:2];
>> y = sinh(x);
>> z = cosh(x);
>> plot(x,y,x,z,-.),xlabel(x),ylabel(potential), legend(sinh(x),cosh(x))

Mensetting warna:
>> x = [-5:0.01:5];
>> y = sinh(x);
>> z = cosh(x);
>> plot(x,y,r,x,z,b) atau >> plot(x,y,r,x,z,b--)
Keterangan:
Warna Variabel
White
Black
Red
Cyan
Green
w
b
r
c
g
8
Magenta
Yellow
m
y

Setting skala sumbu axis
Axis([xmin xmax ymin ymax])
Contoh 1:
Y = sin(2x+3) utk 0 x 5 , -1 y 1
>> x = [0:0.01:5];
>> y = sin(2*x+3);
>> plot(x,y),axis([0 5 -1 1])

Contoh 2:
Y = e
-1.5x
sin(5x+3) untuk 0 x 5, -1 y 1
>> x = [0:0.01:5];
>> y = exp(-1.5*x.*sin(5*x+3); .* digunakan utk perkalian 2 fungsi
>> plot(x,y),axis([0 5 -1 11])
Ingat!!
Untuk mengoperasikan dua fungsi, gunakan:
.* utk perkalian
.^ utk pangkat
Misal:
9
Y = sin
2
(5x) jadi
>> y = sin(5*x).^2;

2.2. Membuat Subplot
Membuat beberapa grafik dalam satu plot
Contoh:
Y = e
-1.2x
sin(20x)
Y = e
-2x-
sin(20x)
>> x = [0:0.01:5];
>> y = exp(-1.2*x).*sin(20*x);
>> subplot(1,2,1)
membuat 2 pane dlm 1 row
>> plot(x,y),xlabel(x),ylabel(exp(-1.2x)*sin(20)),axis([0 5 -1 11])
>> y = exp(-2*x).*sin(20*x);
>> subplot(1,2,2)
>> plot(x,y),xlabel(x),ylabel(exp(-2x)*sin(20x)),axis([0 5 -1 11])

2.3. Membuat plotting 3D
Contoh 1:
Z = cos(x)sin(y) utk -2 x, y 2
>> [x,y] = meshgrid(-2*pi:0.1:2*pi);
10
>> z = cos(x).*sin(y);
>> mesh(x,y,z),xlabel(x),ylabel(y),zlabel(z)
Contoh 2:

2 2
y x
ye z
+
=

>> [x,y]=meshgrid(-2:0.1:2);
>> z = y.*exp(-x.^2-y.^2);
Perintah mesh:
>> mesh(x,y,z),xlabel(x),ylabel(y),zlabel(z)

Jika ingin membuat surface plot, gunakan:
>> surf(x,y,z),xlabel(x),ylabel(y),zlabel(z)

Pilihan lain, gunakan surfl:
>> surfl(x,y,z),xlabel(x),ylabel(y),zlabel(z)

Contoh 3:
Contoh berikut hanya dapat dilakukan di Matlab, menggunakan cylindrical plot
>> t = [0:pi/10:2*pi];
>> [x,y,z] = cylinder(1+sin(t);
>> surf(x,y,z)
>> axis square
11

Contoh 4:
>> t = [0:pi/10:2*pi];
>> [x,y,z] = cylinder(1+cos(t);
>> surf(x,y,z)
>> axis square
shading faceted
Pelajari perintah-perintah 3D lainnya di matlab dengan menu help atau ketik
help nama_fungsi. Syntax-syntax tersebut antara lain adalah: ezplot3,
ezsurf, ezsurfc, ezmesh, emeshc, ezcontour dan ezcontourf.
Contoh 5:
Menggambar fungsi (x,y,z)= (sin(2t), cos(2t),t) dimana t 0
>> ezplot3 (cos(2*pi*t),sin(2*pi*t),t,[0.5])
Contoh 6:
Menggambar grafik 3D dari suatu fungsi


>> ezsurf ((x*y*exp((-x^2+y^2)))
LATIHAN:
Buatlah plot grafik x-y (2D) dari persamaan berikut: x=sin(t), y1=sin(t+0.25),
y1=cos(t-0.25) untuk 0 t 2.

12
Persamaan Linear dan Polinomial

3.1. Menyelesaikan Persamaan Matematika
Penyelesaian dengan menggunakan solve method :
3.1.1. Persamaan Linear (Orde derajat 1)
Contoh 1:
Selesaikan persamaan x+3=0, x+8=0
>> x = solve(x+3=0) cara 1
>> x = solve(x+8) cara 2

Contoh 2:
Selesaikan persamaan ax+5=0
>> x = solve(ax+5)

Contoh 3:
Menggunakan solve(equation, variable)
>> x = solve(ax+5,a)

3.1.2. Persamaan Kuadrat (Orde derajat 2)
Contoh 1:
Selesaikan x
2
-6x-12=0
13
>> s = solve(x^2=6*x-12=0)

Contoh 2:
>> d = x^2-6*x-12;
>> solve(d)
>> ezplot(d) cara mudah membuat plot grafik

Contoh 3:
Membuat grafik persamaan linear
>> ezplot(x+3)

Contoh 4:
Cari akar-akar dari persamaan x
2
+x-2=0
>> y = x^2+x-sqrt(2) atau y = x^2+x-2^1/2;
>> s = solve(y)
Hasil yang keluar susah dimengerti, oleh karena itu dapat dikonversi menjadi
bilangan desimal, dengan cara:
>> x = double(s(1))
>> y = double(s(2))
Kemudian buat plotnya
>> ezplot(y)

14
3.1.3. Persamaan Orde Derajat Tinggi
Contoh 1:
Selesaikan persamaan berikut
4x
4
-5x
3
+4x
2
-5x+6=0 untuk -10x10
Solusinya:
>> y = x^4-5*x^3+4*x^2-5*x+6;
>> s = solve(y);
>> a = double(s(1)) akar ke-1
>> b = double(s(2)) akar ke-2
>> c = double(s(3)) akar ke-3
>> d = double(s(4)) akar ke-4
>> ezplot(5,[-10 10]), grid on

Contoh 2:
Carilah akar-akar persamaan dari:
X
3
+3x
2
-2x-6=0 untuk -8x8, -8y8
Solusinya:
>> f = x^3+3*x^2-2*x-6;
>> s = solve(f)
>> ezplot(f,[-8,8,-8,8]), grid on

Latihan:
Carilah akar-akar persamaan dari
2t
3
-t
2
+4t-6=0

3.2. Menyelesaikan persamaan linear dengan solve method
Contoh 1:
Carilah nilai x dan y dari persamaan berikut:
5x+4y=3
x-6y=2
15

Solusinya:
>> s = solve(5x+4y=3,x-6y=2);
>> x = s.x
>> y = s.y menggunakan notasi (.) / dot

Contoh 2:
Selesaikan persamaan berikut:
w+x+4y+3z=5
2w+3x+y-2z=1
w+2x-5y+4z=3
w-3z=9

Solusinya:
>> s1=w+x+4y+3z=5;
>> s2=2w+3x+y-2z=1;
>> s3=w+2x-5y+4z=3;
>> s4=w-3z=9;
>> s=solve(S1,S2,S3,S4);
>> w=s.w
>> x=s.x
>> y=s.y
>> z=s.z

3.3. Fungsi Polinomial
3.3.1. Fungsi polyval
Fungsi polyval digunakan untuk menentukan nilai sebuah polinomial
dalam bentuk
p(x)=a0 + a
1
x
1
+ a
2
x
2
+ a
3
x
3
+ a
4
x
4
+...+a
n-1
x
n-1
+ a
n
x
n

Matlab memiliki cara sederhana untuk menyatakan polinomial seperti dia tas
dengan cara
p=[ an an1 ... a3 a2 a1 a0 ]
16
Contoh
Diketahui sebuah polinomial berbentuk p(x)=x4+ 3x2 + 4x + 5 akan
dievaluasi pada x=2, 3 dan 4.
Jawab
Pertama, kita nyatakan polinomial yang akan dievaluasi berbentuk p=[1 0 3
4 5].
Kedua, kita nyatakan titik evaluasi yaitu x=[2,-3,4]
Ketiga, mengevaluai polinomial pada x, yaitu polyval(p,x)
Jika ditulis dalam command window
>> p=[1 0 3 4 5];
>> x=[2,-3,4];
>> polyval(p,x)

3.3.2. Fungsi Polyfit
Jika kita telah memperoleh hasil dari sebuah eksperimen, maka kadang kita
perlu mencocokan dengan bentuk fungsi apa data yang telah diperoleh.
Mungkin saja cocok dengan fungsi yang berbentuk linier, kuadratis, polinomial
tiga atau polinomial lainnya. Dengan menggunakan fungsi ini, kita dapat
mencocokan data kita. Bentuk umum fungsi ini adalah:

p = polyfit(x,y,n)

dengan n adalah polinomial orde n, yaitu polinomial yang digunakan untuk
mencocokan data.

Contoh:

X 1 2 3 4 5 6 7 8 9 10
y 1.3 3.2 11.3 15.1 25.5 38.2 47.1 68.2 81.3 98.2

17
Dari data eksperimen yang diperoleh, kita akan melakukan pencocokan ke
bentuk polinomial tertentu. Tetapi, kalau kita lihat dari trend data y, kita bias
menduga bahwa data kita mendekati polinomial orde 2 (kuadratis).

>> x=[1:10];
>> y=[1.3,3.2,11.3,15.1,25.5,38.2,47.1,68.2,81.3,98.2];
>> p=polyfit(x,y,2)
Akhirnya diperoleh p berbentuk
p =
0.9284 0.7693 -1.0350
yang merupakan koefisien polinomial p. Sekarang kita memiliki polynomial
hasil pencocokan berbentuk
p=0.9284 x2 + 0.7693 x1.0350
Untuk melihat seberapa bagus hasil pencocokan yang kita lakukan, marilah
kita lakukan evaluasi pada titik-titik data yang kita miliki.
>> f=polyval(p,x);
>> tabel=[x' y' f' (y-f)']
>> tabel =
1.0000 1.3000 0.6627 0.6373
2.0000 3.2000 4.2173 -1.0173
3.0000 11.3000 9.6286 1.6714
4.0000 15.1000 16.8968 -1.7968
5.0000 25.5000 26.0218 -0.5218
6.0000 38.2000 37.0036 1.1964
7.0000 47.1000 49.8423 -2.7423
8.0000 68.2000 64.5377 3.6623
9.0000 81.3000 81.0900 0.2100
10.0000 98.2000 99.4991 -1.2991
Sekarang, marilah kita tampilkan selengkapnya dalam bentuk grafik dengan
menuliskan code melalui jendela editor.
18


3.3.3. Fungsi polyder
Fungsi polyder digunakan untuk menurunkan polinomial yang kita miliki.
Bentuk umum penggunaan fungsi polyder adalah
k = polyder(p)
atau
k = polyder(a,b)

Contoh
Turunkan polinomial di bawah ini
P(x )=4x 4 + 3x 2 + 4x + 5
Jawab
>> p=[4 0 3 4 5];
>> polyder(p)
>> ans =
16 0 6 4

Hasilnya jika dituliskan dalam bentuk ungkapan matematis
16 x 3 + 6 x + 4

Contoh
Turunkan polinomial di bawah ini
P ( x )= (x4 + 3 x2 + 4x + 5) (2x3 + x 2 + 3 x +1)
19
Jawab
a=[4 0 3 4 5];
b=[2 1 3 1];
p=polyder(a,b)
p =
56 24 90 60 69 40 19
atau
p(x )=56 x6 + 24 x 5 + 90 x 4 + 60x3 + 69x 2 + 40 x + 19

3.3.4. Fungsi roots
Fungsi roots digunakan untuk memperoleh akar dari sebuah polynomial orde
n. Bentuk umum dari fungsi ini adalah:
r = roots(c)

Contoh
Diketahui sebuah polinomial p(x)=4x4 + 3x2 + 4x + 5 . Dapatkan akarakar
polinomial tersebut dengan menggunakan fungsi roots.
Jawab
Polinomial p( x)=4x4 + 3x2 + 4x + 5 dapat dituliskan dalam Matlab berbentuk

>> p=[ 4 0 3 4 5]

Akar polinomial tersebut adalah

>>roots(p)
>> ans =
0.6364 + 1.0830i
0.6364 - 1.0830i
-0.6364 + 0.6222i
-0.6364 - 0.6222i

3.3.4. Fungsi poly
Fungsi poly digunakan untuk menentukan bentuk polinomial setelah akar akar
polinomial tersebut diketahui. Bentuk umum fungsi poly adalah
p = poly(r)

Contoh
Diketahui akar polinomial p adalah 1,2,3,4 dan 5. Tentukan bentuk
polinomialnya.

Jawab
>> r=[1 2 3 4 5];
>> poly(r)
ans =
1 -15 85 -225 274 -120
20
atau
p(x )=x 515 x4 + 85 x 3225 x 2 + 274 x120

3.3.5. Fungsi conv
Fungsi conv digunakan untuk mengalikan polinomial. Bentuk umumnya
adalah
w = conv(u,v)

Contoh
Diketahui dua buah polinomial u ( x )=x2 + 3x + 2 dan
v (x )=x 3 + 2x 2 + 3x +1 . Tentukan hasil perkalian dua polinomial tersebut.
Jawab
>> u=[1 3 2];
>> v=[1 2 3 1];
>> conv(u,v)
ans =
1 5 11 14 9 2
atau
x5 + 5 x4 + 11 x 3 + 14 x 2 + 9x + 2

3.3.6. Fungsi deconv
Fungsi deconv berkebalikan dengan conv. Fungsi ini akan melakukan
pembagian dua buah polinomial. Bentuk umumnya adalah
[q,r] = deconv(v,u)
dengan q dan r masing-masing adalah hasil bagi dan residu.

Contoh
Diketahui dua buah polinomial yaitu p1 (x )=2x4 + 3x 3 + x 2 + 4x + 5 dan p2
(x ) =x2 + 3x + 4 , maka carilah hasil bagi antara p1 dengan p2 beserta
residunya.

Jawab
Dengan menggunakan fungsi deconv, maka kita dapat memperoleh hasil
bagi dan residunya.
>> p1=[2 3 1 4 5];
>> p2=[1 3 4];
>> [q r]=deconv(p1,p2)
q =
2 -3 2
r =
0 0 0 10 -3

atau jika dinyatakan dalam bentuk matematis
q=2x 23x + 2 dan r=10 x3


21
Latihan:
1. Selesaikan persamaan berikut:
x-3y-2z=6
2x-4y-3z=8
-3x+6y+8z=-5

2. Carilah akar-akar persamaan

1 0. Gambarkanlah
kurva fungsi tersebut untuk mengkonfirmasikan hasilnya.

22
Persamaan Differensial

4.1. Menggunakan ode23

cos
Buat function file satu.m
function ydot = eq1(t,y)
ydot = cos(t);

gunakan syntax seperti ini:
[t,y] = ode23(nama_fungsi,[start_time, end_time], y(0))

>> [t,y] = ode23('eq1',[0 2*pi],2);

Coba kita cocokkan hasilnya dengan membandingkan hasilnya dengan
menaikkan sebuah turunan y'=cos(t) y = sin(t)+C

>> f = 2 + sin(t);
>> plot(t,y,'o',t,f),xlabel('t'),ylabel('y(t)'),axis([0 2*pi 0 4])

Cek error
>> err = zeros(size(y));
>> for i = 1:1:size(y)
err(i) = abs((f(i)y(i))/f(i));
end

Hasilnya:
>> err
>> emax=max(err) maksimum error

4.2. Menggunakan ode45
>> [t,w] = ode45('eq1',[0 2*pi],2);

23
>> f = 2 + sin(t);
>> plot(t,w,'o',t,f),xlabel('t'),ylabel('y(t)'),axis([0 2*pi 0 4])

Cek error
>> err = zeros(size(w));
>> for i = 1:1:size(w)
err(i) = abs((f(i)w(i))/f(i));
end
>> wmax = max(err)

4.3. Studi kasus dalam menggunakan sebuah persamaan differensial
Seorang tentara dengan bobot 80kg terjun dengan menggunakan parasut dari
ketinggian 600m. Tentara tersebut tentunya kecepatan terjun dipercepat
dengan percepatan gravitasi (9.81 m/s
2
) dan diperlambat dengan tahanan
dari parasut. Dinyatakan dalam persamaan differensial, sebagai berikut:


4
15


Buat function file terjun.m
function rk=f(t,y)
mass= 9.81;
g=9.81;
rk=-g+4/15*y^2/mass;

>> clear all
>> timerange=[0 30]; % seconds
>> initialvelocity=0; %m/s
>> [t,y]=ode45(@f,timerange, initialvelocity)
>> plot(t,y), ylabel('velocity (m/s)'), xlabel ('time (s)')


Latihan:
1. Selesaikan persamaan differensial berikut ini:

, 1,
24

2. Gunakan ode45 untuk menghitung persamaan differensial berikut:

, 0 1

25
Matriks

5.1. Determinan Matriks
21 12 22 11
22 21
12 11
xa a xa a
a a
a a
D =
(

=
Contoh 1:
>> A = [1 3;4 5];
>> det(A)

5.2. Menyelesaikan persamaan linear dengan matriks
5.2.1. Cara 1 dengan determinan

5x + 2y - 9z = 44
-9x -2y + 2z = 11
6x + 7y + 3z = 44
(
(
(

=
(
(
(

=
(
(
(

=
z
y
x
c b A ,
44
11
44
,
3 7 6
2 2 9
9 2 5


>> A = [5 2 -9;-9 -2 2;6 7 3];
>> b = [44;11;44];
>> c = det(A)
>> d = A \ b

5.2.2. Cara 2 dengan matriks diperbesar / Augmented matrix
Untuk menyelesaikan persamaan linear dengan matriks diperbesar,
diperlukan uji tes rank dari matrik sebuah ukuran jumlah independen linear
baris / kolom. Jika nilai rank matrik A = matrik [A b], dengan catatan nilai rank
< n (jumlah variabel persamaan), maka ada solusi persamaan linear tersebut.
x 2y + z = 12
26
3x 4y + 5y = 20
-2x + y + 7z = 11

(
(
(

=
(
(
(

=
11
20
12
,
7 1 2
5 4 3
1 2 1
b A
Augmented matriks
[A b] =
(
(
(

11 7 1 2
20 5 4 3
12 1 2 1


>> A = [1 -2 1;3 4 5;-2 1 7];
>> b = [12 20 11];
>> c = [A b]
>> rank(A)
>> rank(c) jika rank A dan rank C sama, maka
>> c = A\b

5.2.3. Cara 3 dgn matriks invers
A A
-1
= A
-1
A = 1
A x = b
x = A
-1
b
di dalam Matlab untuk mencari matriks invers:
A
-1
= inv(A)
Contoh 1:
(
(
(
(

=
8 9 0 0
1 1 2 0
1 3 2 4
2 1 0 1
A
>> A = [1 0 -1 2;4 -2 -3 1;0 2 -1 1;0 0 9 8];
>> det(A) jika det 0, maka ada inversnya
>> B = inv(A)
>> C = A * B hasilnya matriks identitas

27
Contoh 2:
3x 2y = 5
6x 2y = 2
>> A = [3,-2;6,-2];
>> b = [5;2];
>> det(A);
>> c = inv(A)*b

Latihan:
1. x + 2y + 3z = 12 2. x 2y + 3z = 1
-4x + y + 2z = 13 x + 4y + 3z = 2
9y 8y = -1 2x + 8y +z = 3
3. 3x + 2y - 9z = -65
-9x + 5y +2z = 16
6x + 7y + 3z = 5

28
Statistik
6.1. Pengolahan Data Statistik
Pengolahan data statistik menggunakan Matlab
Contoh 1:
Dari 36 siswa didapat nilai matematika sebagai berikut:
Jumlah Nilai Jumlah Nilai
1 100 7 78
2 96 4 75
4 90 6 70
2 88 1 69
3 85 2 63
1 84 1 55
2 82
>> X = [55,63,69,70,75,78,82,84,85,88,90,96,100];
>> Y = [1,2,1,6,4,7,2,1,3,2,4,2,1];
>> bar(x,y)

Contoh 2:
Nilai Jumlah
50 59 1
60 69 3
29
70 79 17
80 89 8
90 - 110 7
Terlebih dulu kita cari nilai tengah dari range data tersebut.
>> a = [54.5,64.5,74.5,84.5,94.5];
>> b = [1,3,17,8,7];
>> bar(a,b),xlabel(score),ylabel(jumlah siswa),title(Nilai Matematika)
Untuk menampilkan grafik horisontal, gunakan barh:
>> barh(a,b),xlabel(score),ylabel(jumlah siswa),title(Nilai Matematika)
Jika ingin menampilkan bentuk 3D:
>> bar3(a,b),xlabel(score),ylabel(jumlah siswa),title(Nilai Matematika)

Contoh 3:
Nilai UTS matematika di FPIK
Nilai PSPK MSP SEPK
91 100 10 5 8
81 90 13 10 17
71 80 18 20 15
61 70 3 5 2
51 60 0 3 1
Cari nilai tengahnya terlebih dulu:
30
>> x = [54.5,64.5,74.5,84.5,94.5];
kelompokkan dalam 3 kolom vektor:
>> pspk = [0;3;18;13;10];
>> msp = [3;5;20;10;5];
>> sepk = [1;2;15;17;8];
kemudian buat persamaan:
>> y = [pspk msp sepk];
>> bar(x,y),xlabel(nilai),ylabel(jumlahsiswa),legend(pspk,msp,sepk]
Contoh 4:
>> A = [11,11,12,12,12,,14,14,14,15,16,16,23,24,28,29,30];
>> mean(A)
>> median(A)
>> std(A)
Latihan:
Frequency 2 1 3 6 1 3 1 1 3 4 3 2 1
Weight
(pounds)
130 138 145 150 152 155 160 164 165 167 170 172 175
Carilah nilai mean, median dan standar deviasi.
6.2. Membuat persamaan matematika dari sampling data
Contoh 1:
Carilah persamaan matematika dan buat grafik kurva dari data permainan golf
berikut:
Handicap 6 8 10 12 14 16 18 20 22 24
Score 3.94 3.8 4.1 3.87 4.45 4.33 4.12 4.43 4.6 4.5

>> handicap = [6:2:24];
31
>> score = [3.94,3.8,4.1,3.87,4.45,4.33,4.12,4.43,4.6,4.5];

mencari persamaan dengan polyfit orde 1
>> p = polyfit(handicap,score,1);

Bentuk persamaan orde/derajat 1 adalah:
Y = mx + b
Maka dicari nilai m dan b:
>> m = p(1)
>> b = p(2)
kemudian buat plotnya:
>> x = [6:2:24];
>> y = m*x+b;
>> subplot(2,1,2);
>> plot(handicap,score,o,x,y),xlabel(handicap),ylabel(score)
untuk mengetahui nilai fungsi y pada tiap nilai x:
>> w=m*handicap+b
Tes error dng uji r
2

R
2
= 1- A/S
Dimana:
A = kuadrat jumlah selisih data yang dihitung dengan data nilai yang
dikumpulkan
S = kuadrat jumlah selisih data yang dikumpulkan dengan nilai rata-
rata(mean)
Jadi:
>> ave=mean(score)
>> A = sum((w-score).^2
>> S = sum((score-ave).^2
>> R2=1-A/S
jika nilai mendekati 1, artinya persamaan tsb cocok dng error yg kecil

Contoh 2:
Berikut adalah data harga rumah (dlm jutaan) di Malang:
32
Luasan 1200 1500 1750 2000 2250 2500 2750 3000 3500 4000
Harga 135 142 156 165 170 220 225 275 300 450

>> luas=[1200,1500,1750,2000,2250,2500,2750,3000,3500,4000];
>> harga=[135,142,156,165,170,220,225,275,300,450];
>> plot(luas,harga,'o'),xlabel('Rumah m2'),ylabel('Harga'),
Title('Harga Rumah di Malang'),axis([1200 4000 135 450])
>> p=polyfit(luas,harga,1);
>> m=p(1)
>> b=p(2)
>> x=[1200:10:4000];
>> y=mx+b
>> subplot(2,1,2);
>> plot(x,y,luas,harga,'o'),xlabel('Rumahm2'),... ylabel('Harga'),title('Harga
Rumah di Malang'),axis([1200 4000 135 450])

Uji RMS (Root Mean Square) dari persamaan yg didapat:
Y=(0.1032)x-28.4909
Dengan memasukkan nilai-nilai diatas didapat:
>> w=m*luas+b

Luasan 1200 1500 1750 2000 2250 2500 2750 3000 3500 4000
Harga 135 142 156 165 170 220 225 275 300 450
Y 95 126 152 178 204 230 255 281 333 384

( )
2
1
0
2
(


=

=
N
j
error
N
Aj Ti
RMS

Dimana:
T = nilai yang dikumpulkan
A = nilai prediksi dari persamaan y
N = jumlah data

33
>> d=(harga-w).^2;
>> N=10; jumlah data=10
>> RMS=sqrt((1/N*sum(d))
nilai RMS mendekati 1

Kita ulangi proses dari awal dengan menaikkan orde/derajat persamaan.
>> p=polyfit(luas,harga,2); orde 2
>> a=p(1)
>> b=p(2)
>> c=p(3)
>> x=[1200:10:4000];
>> y=a*x.^2+b*x+c;
>> plot(x,y,luas,harga,'o'),xlabel('Rumahm2'),... ylabel('Harga'),title('Harga
Rumah di Malang'),axis([1200 4000 135 450])
>> w = a*luas.^2 + b*luas + c;
>> d2=(harga-w).^2;
>> N=10;
>> RMS2=sqrt((1/N)*sum(d2))

Kemudian kita uji R
2

>> m1=mean(harga)
>> S=((harga-m1).^2)
>> A=sum((w-harga).^2)
>> R2=1-A/S

Hasilnya mendekati 1, jadi model persamaan ini dapat dipakai, yaitu:
Y = ax
2
+bx+c, isikan nilai a, b dan c maka:
Y = (3.75 x 10
-5
)x
2
0.09x + 194.1715


Latihan:
Carilah fungsi persamaan dari data yang dikumpulkan atlit angkat berat,
sebagai berikut:
34
Usia 15 17 18 19 24 30 35 37
Beban 330 370 405 420 550 580 600 580



35
Soal-Soal Tugas


Tugas I Dasar-dasar penggunaan Matlab
Terjemahkan pernyataan-pernyataan berikut ini dalam Matlab









Tugas II Plotting grafik/figure
1. Buatlah plot grafik dari persamaan 2
.
untuk 0 10
2. Gambarlah grafik fungsi
||

untuk -5 5

Tugas III Persamaan Linear dan Polinomial
1. Hitunglah dengan Matlab persamaan ini:

, x=5
2. Tentukan harga p pada titik x= 1, -4, 10 dan 3 dari polynomial ini:



3. Carilah akar-akar persamaan

3 4 0. Gambarkanlah kurva fungsi


tersebut untuk mengkonfirmasikan hasilnya

Tugas IV Persamaan Differensial
Selesaikan persamaan differensial dan plot hasilnya dari permasalahan ini:
Sebuah model penyebaran penyakit pada suatu populasi binatang
diformulasikan ke dalam persamaan differensial biasa sebagai berikut:
0 )), ( 1 )( ( = t t u t ku
dt
du

36
U(t) menyatakan proporsi binatang yang terinfeksi setelah t hari. Jadi 1-u(t)
menyatakan proporsi binatang yang tak terinfeksi. Infeksi baru terjadi jika
binatang tak terinfeksi bertemu binatang terinfeksi. Banyaknya pertemuan
penyebab infeksi adalah sebanding dengan nilai )) ( 1 )( ( t u t u . Jadi laju
terjadinya infeksi perhari, yakni
dt
du
sebanding dengan )) ( 1 )( ( t u t u , sehingga
diperoleh persamaan differensial tersebut diatas. Konstanta k tergantung
pada tingkat pada kepadatan populasi dan daya infeksi penyakit. Untuk
keperluan contoh perhitungan, misalkan p= 100000 dan k=0.2. Mula-mula
hanya ada satu binatang terinfeksi, yaitu: 0

. Dengan Matlab kita


dapat menghitung hampiran nilai-nilai untuk t>0.

Tugas V Bermain Matriks di Matlab
---diberikan pada saat kuliah---
Tugas VI Statistik di Matlab
---diberikan pada saat kuliah---

Anda mungkin juga menyukai