BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

38
BAB 1 PENGENALAN MATLAB 1.1. Definisi MATLAB MATLAB (Matrix Laboratory) adalah bahasa singkat 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 pengolahan sinyal, aljabar linear, dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi – fungsi tambahan untuk aplikasi khusus. Penggunaan MATLAB meliputi bidang – bidang berikut ini: - Matematika dan Komputasi - Pembentukan Algoritma - Akuisisi Data - Pemodelan, Simulasi, dan Pembuatan Purwarupa - Analisis Data, Eksplorasi, dan Visualisasi - Grafik Keilmuan dan Bidang Rekayasa 1.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 1.1.

Transcript of BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Page 1: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

BAB 1

PENGENALAN MATLAB

1.1. Definisi MATLAB

MATLAB (Matrix Laboratory) adalah bahasa singkat 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 pengolahan sinyal, aljabar linear, dan

kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi – fungsi

tambahan untuk aplikasi khusus. Penggunaan MATLAB meliputi bidang – bidang

berikut ini:

- Matematika dan Komputasi

- Pembentukan Algoritma

- Akuisisi Data

- Pemodelan, Simulasi, dan Pembuatan Purwarupa

- Analisis Data, Eksplorasi, dan Visualisasi

- Grafik Keilmuan dan Bidang Rekayasa

1.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 1.1.

Page 2: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Gambar 1.1 Tampilan Awal MATLAB

Pada tampilan awal MATLAB, terlihat beberapa jendela yang merupakan bagian

penting di dalam MATLAB, antara lain sebagai berikut:

a. Jendela Perintah (Command Window)

Pada Command Window, seluruh perintah MATLAB dituliskan dan dieksekusi.

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 30, maka pada command window kita dapat

mengetikkan sebagai berikut:

>> sin (30*pi/180)

ans = 0.5000

b. Jendela Ruang Kerja (Workspace)

Jendela ini berisi informasi penggunaan variable di dalam memori MATLAB.

Misalkan, kita akan menjumlahkan dua buah bilangan, maka pada Command

Window, kita dapat mengetikkan seperti berikut ini:

Page 3: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

>> bilangan1=7

bilangan1 = 7

>> bilangan2=9

bilangan2 = 9

>> hasil=bilangan1+bilangan2

hasil = 16

Maka pada Workspace akan menampilkan variabel yang sedang digunakan

seperti yang terlihat pada Gambar 1.2.

Gambar 1.2 Tampilan Workspace

Untuk melihat variabel yang aktif pada saat ini, kita dapat menggunakan

perintah who, seperti berikut ini:

>> 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 melakukan klik perintah pada Command History, kemudian melakukan

copy-paste ke Command Window seperti pada Gambar 1.3.

Gambar 1.3 Tampilan Command History

Page 4: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

BAB 2

VARIABEL DAN OPERATOR

2.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 variabel berdasarkan isi variabel tersebut.

Aturan penulisan variabel pada MATLAB sama dengan aturan pada bahasa

pemrograman lainnya, yaitu bersifat case sensitive, diawali dengan huruf, dan

selanjutnya boleh menggunakan gabungan huruf angka atau tanda garis bawah.

MATLAB mampu mengenali sampai 31 karakter pertama, kemudian selanjutnya

diabaikan.

Contoh :

>> var_1=7.7

var_1 = 7.7000

>> var2=[ 2 3 4]

var2 = 2 3 4

Semua tipe data pada MATLAB memiliki bentuk yang sama, yaitu array. Array

minimal berukuran 0x0 dan dapat bertambah menjadi array 𝑛 𝑥 𝑚 dimensi dengan

sembarang ukuran. MATLAB mempunyai beberapa tipe data dasar (atau class), yaitu

Logical, Char, Numeric, Cell, Structure, Java Classes, Function Handles. Adapun

variabel khusus pada MATLAB seperti yang ditunjukkan pada Tabel 2.1.

Tabel 2.1 Penjelasan Variabel Khusus

Variabel Khusus Nilai

ans Untuk hasil apapun

pi Perbandingan antara keliling lingkaran dengan garus

tengahnya

eps Bilangan terkecil sedemikian rupa sehingga bila

ditambahkan pada satu, maka menghasilkan bilangan lebih

Page 5: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

besar dari satu pada suatu komputer

flops Jumlah operasi floating point

inf Tak berhingga, misalnya 1/0

nan Bukan suatu bilangan, misalnya 0/0

i dan j i=j=√-1

nargin Jumlah argumen input suatu fungsi

nargout Jumlah argument output suatu fungsi

realmin Bilangan real positif terkecil yang dapat digunakan

realmax Bilangan real positif terbesar yang dapat digunakan

2.2. Operator

Pada MATLAB, operator diklasifikasikan menjadi tiga bagian, yaitu:

a. Operator Aritmatika

Operator yang digunakan untuk mengerjakan komputasi numerik. Jenis –

jenis operator aritmatika dapat dilihat pada Tabel 2.2.

Tabel 2.2 Jenis Operator Aritmatika

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)

Page 6: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

: Langkah

b. Operator Relasional

Operator yang digunakan untuk membandingkan antar operand secara

kuantitatif. Jenis – jenis operator relasional dapat dilihat pada Tabel 2.3.

Tabel 2.3 Jenis Operator Relasional

Operator Keterangan

== Sama dengan

~= Tidak sama dengan

< Kurang dari

> Lebih dari

<= Kurang dari sama dengan

>= Lebih dari sama dengan

c. Operator Logika

Operator yang digunakan untuk membandingkan antar dua elemen logika,

yaitu logika benar (True/1) dan logika salah (False/0). Jenis – jenis operator

logika dapat dilihat pada Tabel 2.4.

Tabel 2.4 Jenis 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

~ Komplemen dari elemen yang dimasukkan

Xor Akan bernilai 1 jika salah satu dari kedua elemen memiliki nilai

berbeda dan bernilai nol jika sama

Page 7: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

BAB 3

KONTROL PROGRAM

MATLAB dapat berlaku seperti bahasa pemrograman C ataupun PASCAL yang

memiliki struktur control program, biasanya pemrograman engan MATLAB

memerlukan lebih dari satu baris dan memungkinkan untuk didokumentasikan dalam

m-file, control program ini digunakan untuk memperbaiki tampilan atau membuat

tampilan sesuai yang kita inginkan. Dalam bagian ini akan dibahas sebagian control

program yang diperlukan dalam pemrograman menggunakan MATLAB.

3.1 Loop For

Penggunaan Loop For memungkinkan sekelompok perintah diulang sebanyak

suatu jumlah yang tetap. Bentuk umum dari Loop For ialah sebagai berikut:

for x = array

statement

end

Untuk setiap iterasi, variabel x diisi dengan kolom array berikutnya, yaitu dalam

iterasi ke-n dalam loop, x = array(:,n).

Contoh 1 :

>> for n = 1 : 10

x(n) = sin(n*pi/10);

end

>> x

x =

Columns 1 through 8

0.3090 0.5878 0.8090 0.9511 1.0000

0.9511 0.8090 0.5878

Columns 9 through 10

0.3090 0.0000

Contoh 2 :

>> for i = 1 : 5

disp(‘Ini hasil looping 5 kali’);

end

Ini hasil looping 5 kali

Page 8: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Ini hasil looping 5 kali

Ini hasil looping 5 kali

Ini hasil looping 5 kali

Ini hasil looping 5 kali

3.2 Loop While

Penggunaan Loop For mengerjakan sekelompok perintah yang diulang sebanyak

suatu jumlah, tetapi Loop While mengerjakan sekelompok perintah yang diulang

secara tidak terbatas. Bentuk umum dari Loop While ialah sebagai berikut:

while ekspresi

statement

end

Semua elemen yang dieksekusi diantara while dengan end dan harus bernilai

benar.

Contoh 1 :

>> x=0;

>> while x<5

disp(‘Diulang 5 kali’);

x=x+1;

end

Diulang 5 kali

Diulang 5 kali

Diulang 5 kali

Diulang 5 kali

Diulang 5 kali

3.3 Konstruksi If-Else-End

Seringkali sederetan perintah harus dikerjakan dengan didasarkan pada hasil tes

rasional. Dalam bahasa pemrograman, logika ini dikerjakan dengan variasi konstruksi

if-else-end. Bentuk paling sederhana konstruksi if-else-end dapat dideklarasikan

seperti berikut ini:

if ekspresi

perintah

end

Contoh 1 :

>> angka=-4;

Page 9: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

>> if angka > 0

disp(‘nilainya adalah positif’);

else

disp(‘nilainya adalah negatif);

end

nilainya adalah negative

Page 10: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

BAB 4

ARRAY, MATRIKS, POLINOMIAL

4.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 menggunakan subscript;

misalnya x(1) adalah elemen pertama x, x(2) adalah elemen kedua x, dan

seterusnya.

Contoh :

1. >> x = [2 4 6 8 10]

Dapat 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 dapat bernilai sebarang,

Page 11: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

bahkan dapat juga negative, 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

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

Page 12: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

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

4.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)

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 saty

Bentuk umum :

>>ones(n,m) Contoh :

>> ones (2,3)

ans =

1 1 1

1 1 1

3. Matriks Identitas

Page 13: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Bentuk umum :

>>eye(n)

Contoh :

>> eye(4)

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

4. Matriks Bujur Sangkar Ajaib

Matriks yang memiliki hasil jumlah yang 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

elemennya.

Bentuk umum :

>>rand(n,m)

Contoh :

>> rand(3,2)

ans =

0.9501 0.4860

0.2311 0.8913

0.6068 0.7621

Page 14: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

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 semicolom ‘;’ digunakan untuk memisahkan baris satu dengan yang lain.

4.2 Polinomial

Di Matlab, sebuah polinomial diwakilkan oleh sebuah vector. Untuk menciptakan

polinomial di Matlab, masukkan coefficient polynomial kedalam vector dalam orde

yang menurun.

Misalkan polynomial berikut :

𝒔𝟒 + 𝟑𝒔𝟑 − 𝟏𝟓𝒔𝟐 − 𝟐𝒔 + 𝟗

Untuk memasukkan ke dalam Matlab, masukkan :

>> x = [1 3 -15 -2 9]

x =

1 3 -15 -2 9

Matlab dapat juga 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 :

𝒔𝟒 + 𝟏

ditulis di Matlab, sebagai :

>> y = [1 0 0 0 1]

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

Page 15: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Anda dapat mengekstrak akar polynomial.

Contoh :

𝒔𝟒 + 𝟑𝒔𝟑 − 𝟏𝟓𝒔𝟐 − 𝟐𝒔 + 𝟗

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

coefficient. Fungsi conv dapat digunakan.

>> x = [1 2];

>> y = [1 4 8];

>> z = conv(x,y)

z =

1 6 16 16

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 nda ingin menambah 2 polynomial secara bersamaan dengan orde yang sama,

buatah 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

Page 16: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

BAB 5

M-FILE DAN GRAFIK

5.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)

5.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 :

Page 17: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

>> x=-10:10;

>> y=x.^2;

>> plot(x,y)

Hasilnya akan tampak seperti pada Gambar 5.1.

Gambar 5.1 Gambar Grafik 2D Dengan Skala Linear

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)

Hasilnya akan tampak seperti pada Gambar 5.2.

Gambar 5.2 Gambar Grafik 3D Dengan 3 Bagian Vector Sama Panjang

Page 18: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

c. Bar

Fungsi bar digunakan untuk menampilkan data yang berbentuk vector maupun

matriks. Grafik bar digunakan untuk menampilkan sekumpulan data selama kurun

waktu tertentu 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 seperti pada Gambar 5.3.

Gambar 5.3 Gambar Grafik Bar

Matlab juga menyediakan dalam bentuk 3 dimensi, yaitu bar3. Misal grafik

Gambar 5.3 disajikan dalam bar3, maka kita ketik perintah berikut :

>>bar3(t)

Hasilnya akan tampak seperti pada Gambar 5.4.

Gambar 5.4 Gambar Grafik Bar3

Page 19: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

BAB 6

ANALISA DATA DAN INTERPOLASI

6.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 statisitik 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 pada Tabel 6.1

berikut ini :

Tabel 6.1 Tabel Fungsi Command

COMMAND KETERANGAN

max(x) Menghitung nilai maksimum dari elemen vector x. Jika x bernilai kompleks maka dihitung max(abs(x))

max(A) Menghitung nilai maksimum dari setiap kolom di matriks A; hasilnya berupa vector 1×n

max(max(A)) menghitung nilai maksimum dari elemen matriks A

max(A,B) menghitung matriks berukuran sama dengan A dan B dengan elemen berisi nilai terbesar di antara elemen A dan B pada posisi yang sama

min(…) sama dengan sintaks max(…) diatas, tetapi untuk mencari minimum

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. Dapat dilihat pada Tabel

6.1 dan Tabel 6.2 berikut :

Page 20: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Tabel 6.2 Tabel Data Tinggi Badan

Data Tinggi Badan (dalam cm)

175 177 173 165 160 170 174 177 168 170

Tabel 6.3 Tabel Data IP Mahasiswa

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. Sementara itu, max(max(A))

menghitung IP tertinggi yang pernah dicapai mahasiswa selama 3 semester.

Page 21: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

b. Statistika

Sekarang kita belajar command untuk analisis data statistik, dapat dilihat pada

tabel 6.4.

Tabel 6.4 Tabel Command Data Statiska

COMMAND KETERANGAN

mean(x) menghitung rata-rata aritmatik dari elemen vector x

mean(A) menghitung rata-rata aritmatik dari elemen setiap kolom di matriks A; hasilnya berupa vector 1×n

median( …) sama seperti sintaks mean(…), tetapi untuk

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

var(…) menghitung deviasi standard (simpangan baku) sama 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

>> nilai_tengah = median(x), deviasi = std(x), ...

variansi = var(x)

nilai_tengah =

171.5000

deviasi =

5.4661

variansi =

29.8778

Page 22: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

6.2 Interpolasi

Pada fungsi yang memilik sejumlah titik terbatas, dimungkinkan untuk

menentukan titik-titik perantaranya dengan interpolasi. Cara termudah untuk

menghitungnya ialah dengan menggunakan interpolasi linear 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 vector yy yang panjangnya sama dengan vector

xx. Dalam hal ini yy fungsi dari xx merupakan interpolasi dari y fungsi dari x.

Vektor x harus diurutkan secara ascending / descending interp1(x,y,xx,’string’)

menghitung interpolasi 1-dimensi; string menunjukan 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, x harus diurutkan ascending / descending.

interp1q(x,y,xx) bekerja seperti interp1 namun lebih cepat untuk titik-titik data

yang terpisah tak seragam. x,y dan xx harus berupa vector kolom.

Misalkan kita memiliki data tekanan udara dalam suatu ruangan tertutup yang diukur

pada jam-jam tertentu sebagai berikut :

>> t = [0 2 3 5 8.5 10 12];

>> press = [660 900 400 300 500 50 300];

Sekarang kita interpolasi dengan metode dan kita plot pada satu gambar sekaligus :

>> tt = linspace(0,12,100);

>> PP1 = interp1(t,press,tt,’*linear’);

>> PP2 = interp1(t,press,tt,’*cubic’);

>> PP3 = interp1q(t’,press’,tt’);

>> figure;

>> plot(t,pres,’k*’,tt,PP1,’k-‘,tt,PP2,’k:’, ...

tt,PP3,’k--‘)

Page 23: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

>> grid on;

>> xlabel(‘waktu (jam)’), ylabel(‘Pressure’)

>> legend(‘data’,’linier’,’kubik’,’interp1q’)

>> title(‘Perbandingan metode interpolasi’

Hasilnya dapat dilihat pada Tabel 6.1.

Gambar 6.1 Gambar Grafik Menggunakan Metode Interpolasi

Page 24: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

BAB 7

VISUALISASI DAN FUNCTION M-FILE

7.1 Visualisasi 2D dan 3D

MATLAB memiliki beberapa bentuk grafis 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 grafis 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; {Enter}

>> y=erf(x); {Enter}

>> e=rand(size(x))/10; {Enter}

>> errorbar(x,y,e); {Enter}

5. Grafik Polar, mencetak fungsi perkalian 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}

Page 25: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

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}

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

>> quiver(x,y,px,py,2); {Enter}

7.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 dapat dilihat pada Gambar 7.1 berikut :

Gambar 7.1 Gambar Aturan Fungsi

Page 26: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

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

sama dengan nama fungsinya.

Contoh perintah fungsi dapat dilihat pada Gambar 7.2.

Gambar 7.2 Gambar Contoh Perintah Fungsi

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

7.3 Bangun Dasar

MATLAB merupakan salah satu aplikasi yang dapat digunakan untuk

mensimulasikan pergerakan robot. Beberapa software pembantu dapat digunakan

untuk memudahkan pemahaman. Untuk menggambar bangun 3-dimensi dasar dapat

dilakukan dengan menggabungkan beberapa bidang atau patch pada MATLAB. Path

merupakan bidang 2-dimensi yang digambar dengan menggunakan perintah “patch()”

yang diikuti dengan koordinat dari tiap – tiap titik. Setiap titik akan dihubungkan satu

dengan yang lainnya, sehingga membentuk suatu bidang 2-dimensi. Contoh kode

program yang digunakan untuk menggambar bidang atau patch dijelaskan pada listing

berikut ini, sedangkan hasil yang akan ditampakkan setelah kode program tersebut

diolah terdapat pada Gambar 7.3.

function [x1,x2]=akar(a,b,c)

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

x2=(-b - sqrt(b^2-4*a*c))/(2*a)

Page 27: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Gambar 7.3 Hasil Gambar Bidang/Patch

Gambar bangun balok dapat dibentuk dengan menggabungkan bidang datar dari

keempat sisi balok. Sebuah balok memiliki delapan buah titik seperti yang ditunjukkan

dalam Gambar 7.4. Agar dapat membentuk balok, maka diperlukan delapan buah

Page 28: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

bidang secara berurutan seperti berikut ini.

Gambar 7.4 Titik – Titik Koordinat Balok

Kode program MATLAB yang dibutuhkan untuk menggambar dijelaskan pada

listing code berikut. Hasil eksekusi dari kode program berikut ini ditunjukkan pada

Gambar 7.5.

Page 29: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id
Page 30: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Gambar 7.5 Hasil Eksekusi Gambar Balok

Teknik dasar dalam menggabungkan bangun 2-dimensi dapat digunakan untuk

membentuk sebuah silinder dengan titik pusat tertentu. Pada dasarnya sebuah silinder

tersusun lebih dari empat bidang datar. Kode program untuk menghasilkan bangun

tersebut ditunjukkan sebagai berikut.

Page 31: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id
Page 32: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id
Page 33: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Hasil eksekusi dari kode program tersebut dapat terlihat pada Gambar 7.6 hingga

dapat menghasilkan sebuah bangun silinder.

Gambar 7.6 Hasil Eksekusi Gambar Silinder

7.4 Rotasi Bangun

Bangun 3-dimensi yang sudah terbentuk dapat diputar dengan menerapkan

matriks rotasi pada delapan titik koordinat awal. Penggambaran sebuah bangun hanya

memerlukan delapan titik dari ujung bidang yang akan digabungkan. Posisi koordinat

akhir dari bidang yang diputar dapat dihitung dengan melakukan operasi matematis

titik awal dan matriks rotasi (R) seperti yang dijelaskan pada persamaan berikut ini.

Matriks rotasi (R) yang digunakan adalah matriks rotasi keseluruhan dari titik

acuan bangun terhadap titik acuan koordinat global. Pada Gambar 7.7 menjelaskan

bagaimana perputaran yang dihasilkan dari transformasi.

Page 34: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Gambar 7.7 Perputaran Bangun 3-Dimensi

Pada MATLAB prinsip rotasi tersebut dapat diterapkan dengan menggunakan

kode program berikut ini yang akan menghasilkan keluaran seperti yang ditunjukkan

dalam Gambar 7.8.

Page 35: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id
Page 36: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Gambar 7.8 Hasil Eksekusi Perputaran Bangun 3-Dimensi

Page 37: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

7.5 Teknik Animasi Pada MATLAB

Pada MATLAB teknik animasi dilakukan dengan cara melakukan perulangan

dengan menghapus dan menggambar ulang disertai pergeseran terhadap posisi

sebelumnya. Teknik ini dijelaskan secara rinci pada Gambar 7.9 memperlihatkan proses

pergerakan dari suatu objek tersebut. Kode program MATLAB dasar yang dapat

digunakan untuk menghasilkan gerak animasi tersebut ditunjukkan dalam listing code

berikut ini.

Page 38: BAB 1 PENGENALAN MATLAB - sika.stikompoltek.ac.id

Gambar 7.9 Teknik Animasi Pada MATLAB