modul praktikum-matlab 2011new

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

Upload: supriyadi

Post on 25-Nov-2015

169 views

Category:

Documents


4 download

DESCRIPTION

Modul ini sebagai panduan dalam melaksanakan praktikum matlab

TRANSCRIPT

  • 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

    BA

    Ab

    A

    Log a

    AB

    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 ex 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

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

    34

    rV pi , 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 (AT)

    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

    115

    b. 73385 +

    c. 91.25

    2. Carilah volume silinder hrV 2pi= , 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 = sin2(5x) jadi

    >> y = sin(5*x).^2;

    2.2. Membuat Subplot

    Membuat beberapa grafik dalam satu plot

    Contoh:

    Y = e-1.2xsin(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:

    22 yxyez +=

    >> [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 x2-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 x2+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

    4x4-5x3+4x2-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: X3+3x2-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 2t3-t2+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 + a1 x1 + a2 x2 + a3 x3 + a4 x4 +...+an-1 xn-1 + an xn Matlab memiliki cara sederhana untuk menyatakan polinomial seperti dia tas dengan cara

    p >an an?1 ... a3 a2 a1 a0 @

  • 16

    Contoh

    Diketahui sebuah polinomial berbentuk px) x43x24x5 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 px 56 x624 x 590 x 460x369x 240 x19

    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/s2) 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

    2112221122211211

    xaaxaaaa

    aaD =

    =

    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

    yx

    cbA ,441144

    ,

    376229925

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

    =

    =

    112012

    ,

    712543121

    bA

    Augmented matriks

    [A b] =

    117122054312121

    >> 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-1A = 1 A x = b x = A-1 b di dalam Matlab untuk mencari matriks invers: A-1 = inv(A) Contoh 1:

    =

    8900112013242101

    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 r2 R2 = 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

    ( ) 210

    2

    = =

    N

    jerror N

    AjTiRMS

    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 R2 >> 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 = ax2+bx+c, isikan nilai a, b dan c maka: Y = (3.75 x 10-5)x2 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:

    -./0.!1#&./2.!/.1

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

    3. .- /.2 1.! #&. #

    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)(( = ttutkudtdu

  • 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)(( tutu . Jadi laju

    terjadinya infeksi perhari, yaknidtdu

    sebanding dengan ))(1)(( tutu , 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: 50 ,,((((

    . Dengan Matlab kita

    dapat menghitung hampiran nilai-nilai 5 untuk t>0.

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