modul matlab lab ilmu komputer
TRANSCRIPT
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
1/48
METODE NUMERIK DALAM MATLAB
HABIB ABDILLAH
122406113
KOM C1’12
D3 TEKNIK INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
2/48
KATA PENGANTAR
Puji syukur saya panjatkan kehadirat Allah SWT yang telah memberikan rahmat serta karunia-
Nya kepada saya sehingga saya berhasil menyelesaikan Modul ini yang alhamdulillah tepat
pada waktunya yang berjudul “METODE NUMERIK DALAM MATLAB”. Tanpa pertolongan
Dia mungkin saya tidak akan sanggup menyelesaikan dengan baik.
Modul ini disusun agar pembaca dapat mengetahui penggunaan metode numerik dalam
Matlab. Modul ini disusun oleh penyusun dengan berbagai rintangan. Baik itu yang datang dari
diri penyusun maupun yang datang dari luar. Namun dengan penuh kesabaran dan terutama
pertolongan dari Tuhan akhirnya makalah ini dapat terselesaikan.
Semoga modul ini dapat memberikan wawasan yang lebih luas kepada pembaca.
Walaupun modul ini memiliki kelebihan dan kekurangan. Penyusun mohon untuk saran dan
kritiknya.
Saya sampaikan terima kasih kepada semua pihak yang telah berperan serta dalam
penyusunan modul ini dari awal sampai akhir. Semoga Allah SWT senantiasa meridhai segala
usaha kita. Amin. Terima kasih.
Medan, 10 April 2014
( Habib Abdillah)
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
3/48
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Metode numerik merupakan suatu metode untuk menyelesaikan masalah- masalah
matematika dengan menggunakan sekumpulan aritmatik sederhana dan operasi logika
pada sekumpulan bilangan atau data numerik yang diberikan. Metode komputasi
yang digunakan disebut algoritma. Proses penyelesaiannya mungkin memerlukan
puluhan bahkan sampai jutaan operasi, tergantung pada kompleksitas masalah yang
harus diselesaikan, tingkat keakuratan yang diinginkan dan seterusnya.
Pendekatan yang digunakan dalam metode numerik merupakan pendekatan
analitis matematis. Sehingga dasar pemikirannya tidak keluar dari dasar pemikiran
analitis, hanya saja teknik perhitungan yang mudah merupakan pertimbangan dalam
pemakaian metode numerik. Mengingat bahwa algoritma yang dikembangkan dalam
metode numerik adalah algoritma pendekatan maka dalam algoritma tersebut akan
muncul istilah iterasi yaitu pengulangan proses perhitungan. Dengan kata lain
perhitungan dengan metode numerik adalah perhitungan yang dilakukan secara
berulang-ulang untuk terus-menerus memperoleh hasil yang semakin mendekati nilai penyelesaian yang sebenarnya.
Dengan menggunakan metode pendekatan semacam ini, tentunya setiap nilai
hasil perhitungan akan mempunyai galat (error) atau nilai kesalahan. Kesalahan ini
penting artinya, karena kesalahan dalam pemakaian algoritma pendekatan akan
menyebabkan nilai kesalahan yang besar, tentunya ini tidak diharapkan. Sehingga
pendekatan metode numerik selalu membahas tingkat kesalahan dan t ingkat kecepatan
proses yang akan terjadi.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
4/48
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
5/48
BAB 2
PEMBAHASAN
2.1 Dasar Teori Matlab
MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk
komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan
pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-masalah
dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan
Matlab meliputi bidang – bidang:
1. Matematika dan Komputasi
2. Pembentukan Algorithm
3.
Akusisi Data
4.
Pemodelan, simulasi, dan pembuatan prototipe 5. Analisa data, explorasi, dan visualisasi
6. Grafik Keilmuan dan bidang Rekayasa
MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu
array sehingga tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini memungkinkan
kita untuk memecahkan banyak masalah teknis yang terkait dengan komputasi, kususnya
yang berhubungan dengan matrix dan formulasi vektor, yang mana masalah tersebut
merupakan momok apabila kita harus menyelesaikannya dengan menggunakan bahasa
level rendah seperti Pascall, C dan Basic.
Nama MATLAB merupakan singkatan dari matrix laboratory. MATLAB pada
awalnya ditulis untuk memudahkan akses perangkat lunak matrik yang telah dibentuk oleh
LINPACK dan EISPACK. Saat ini perangkat MATLAB telah menggabung dengan LAPACK
dan BLAS library, yang merupakan satu kesatuan dari sebuah seni tersendiri dalam
perangkat lunak untuk komputasi matrix.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
6/48
Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk
memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan
kelimuan.
Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan
produktifitas yang tingi, pengembangan dan analisanya. Fitur-fitur MATLAB sudah banyak
dikembangkan, dan lebih kita kenal dengan nama toolbox. Sangat penting bagi seorang
pengguna Matlab, toolbox mana yang mandukung untuk learn dan apply technologi yang
sedang dipelajarinya. Toolbox toolbox ini merupakan kumpulan dari fungsi-fungsi
MATLAB (M-files) yang telah dikembangkan ke suatu lingkungan kerja MATLAB
untuk memecahkan masalah dalam kelas particular. Area-area yang sudah bisa dipecahkan
dengan toolbox saat ini meliputi pengolahan sinyal, system kontrol, neural networks, fuzzy
logic, wavelets, dan lain-lain.
2.1.1 Kelengkapan pada Sistem MATLAB
Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:
1. Development Environment. Merupakan sekumpulan perangkat dan fasilitas yangmembantuanda untuk menggunakan fungsi-fungsi dan file-file MATLAB. Beberapa
perangkat ini merupakan sebuah graphical user interfaces (GUI). Termasuk
didalamnya adalah MATLAB desktop dan Command Window, command history,
sebuah editor dan debugger, dan browsers untuk melihat help, workspace, files, dan
search path.
2. MATLAB Mathematical Function Library. Merupakan sekumpulan algoritma
komputasi mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos, dan complex arithmetic,
sampai dengan fungsi-fungsi yang lebih kompek seperti matrix inverse, matrix
eigenvalues, Bessel functions, dan fast Fourier transforms.
3. MATLAB Language. Merupakan suatu high-level matrix/array language dengan
control flow statements, functions, data structures, input/output, dan fitur-fitur object-
oriented programming. Ini memungkinkan bagi kita untuk melakukan kedua hal baik
"pemrograman dalam lingkup sederhana " untuk mendapatkan hasil yang cepat, dan
"pemrograman dalam lingkup yang lebih besar" untuk memperoleh hasil-hasil dan aplikasi
yang komplek.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
7/48
4. Graphics. MATLAB memiliki fasilitas untuk menampilkan vector dan matrices
sebagai suatu grafik. Didalamnya melibatkan high-level functions (fungsi-fungsi level
tinggi) untuk visualisasi data dua dikensi dan data tiga dimensi, image processing,
animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah yang
memungkinkan bagi anda untuk membiasakan diri untuk memunculkan grafik mulai dari
benutk yang sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi
MATLAB anda.
5. MATLAB Application Program Interface (API). Merupakan suatu library yang
memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran mampu
berinterakasi dengan MATLAB. Ini melibatkan fasilitas untuk pemanggilan routines
dari MATLAB (dynamic linking), pemanggilan MATLAB sebagai sebuah
computational engine, dan untuk membaca dan menuliskan MAT-files.
2.1.2 Desktop Tools MATLAB
Ketika MATLAB dijalankan pertama kali, MATLAB desktop tampil, berisi tools
(graphical user interfaces) untuk mengatur file, variables, dan aplikasi MATLAB. Pertama
kali MATLAB dijalankan akan tampil desktop dengan ilustrasi sebagai berikut.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
8/48
Jendela-jendela yang ada di MATLAB adalah sebagai berikut :
1. Command window
Digunakan untuk menjalankan fungsi-fungsi MATLAB.
2.
Command history
Digunakan untuk menyimpan baris-baris perintah yang telah diketikkan di command
window. Kita dapat melihat fungsi-fungsi yang digunakan sebelumnya, mengkopi dan
menjalankannya kembali dari command history.
3. Launch pad
Menyediakan akses yang mudah ke tools, demo dan dokumentasi.
4. Help browser
Untuk mencari dan menampilkan dokumentasi semua produk MathWorks.
5. Current diectory browser
Operasi MATLAB file menggunakan current directory dan search path sebagai referensi.
File yang akan dijalankan harus berada di current directory atau ada pada search path.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
9/48
6. Workspace browser
Berisi kumpulan variabel yang terbentuk sepanjang sesi MATLAB dan di simpan di
memory.
7.
Array editor
Menampilkan isi array dalam format tabel dan dapat digunakan untuk mengedit isi array.
8. Editor/Debugger
Digunakan untuk membuat, mengedit, dan men-debug M-files, yakni program yang dibuat
untuk menjalankan fungsi-fungsi MATLAB.
9.
Figure
Figure adalah jendela untuk menampilkan gambar grafik seperti perintah plot dan
sejenisnya. Gambar pada jendela figure ini dapat disimpan ke dalam sebuah file yang
sewaktu-waktu dapat dipanggil kembali.
10. Help
untuk menghafalkan semua perintah MATLAB mungkin akan menemui banyak kesulitan.
Untuk menemukan perintah-perintah itu, MATLAB menyediakan bantuan dengan
menyediakan help online. Kemampuan ini meliputi perintah MATLAB untuk
memperoleh keterangan cepat pada command window atau pada help browser .
2.1.3 Operator komputasi.
Operator komputasi mempunyai prioritas dengan urutan tertentu. Untuk
menentukan prioritas, digunakan tanda kurung ‘( )’. Adapun beberapa operator komputasi
dalam MATLAB adalah :
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
10/48
Simbol Operasi
+ Penambahan, a + b
- Pengurangan, a - b
* Perkalian, a x b
/ atau \ Pembagian, a : b
^ Pemangkatan, a
2.1.4 Bilangan kompleks.
Bilangan kompleks adalah bilangan yang terdiri dari bagian imaginer dan bagian riil. Bagian
imaginer ditandai dengan simbol imaginer “i“ atau ” j” . Operasi bilangan kompleks juga
menggunakan operator komputasi di atas. Bilangan kompleks selain dapat dinyatakan dalam
koordinat kartesian , dapat juga dinyatakan dalam koordinat polar dan diagram fasor yang
berupa magnitude dan sudut fase.
Beberapa fungsi dasar yang berhubungan dengan bilangan kompleks adalah:
Perintah Keterangan
real Bagian riil dalam koordinat kartesian.
imag Bagian imaginer dalam koordinat kartesian.
abs Nilai absolute atau magnitude dalam koordinat polar.
angle Sudut fase dalam koordinat polar ( dalam satuan radian )
2.1.5 Fungsi matematis
Sebagai kalkulator, MATLAB mempunyai berbagai fungsi umum yang penting untuk
matematika, teknik, dan ilmu pengetahuan. Sebagai tambahan atas fungsi-fungsi tersebut,
MATLAB juga menyediakan ratusan fungsi yang berguna untuk menyelesaikan
permasalahan tertentu.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
11/48
Beberapa fungsi matematis yang tersedia antara lain fungsi trigonometri, fungsi
eksponensial dan fungsi pembulatan.
Fungsi matematika keterangan
abs(x) Nilai mutlak atau magnitudo bilangan kompleks
acos(x) Invers cosinus
acosh(x) Invers cosinus hiperbolik
asin(x) Invers sinus
atan(x) Invers tangen
ceil(x) Pembulatan ke arah plus tak hingga
cos(x) Cosinus
exp(x) Eksponensial : ex
fix(x) Pembulatan ke arah nol
floor(x) Pembulatan ke arah minus tak hingga
imag(x) Bagian imajiner bilangan kompleks
log(x)
Logaritma natural
log10(x) Logaritma dengan basis 10
real(x) Bagian riil suatu bilangan kompleks
rem(x,y) Sisa pembagian x/y
round(x) Pembulatan ke bilangan bulat terdekat
sin(x) Sinus
sqrt(x) Akar kuadrat
tan(x) Tangen
2.1.6 Variabel
Data dan variabel yang dibuat dalam command window tersimpan dalam workspace
MATLAB. Ada beberapa aturan dalam penamaan variabel :
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
12/48
- nama variabel harus terdiri atas satu kata tanpa spasi.
- nama variabel dibedakan antara huruf besar dan huruf kecil (case sensitive).
- panjang maksimum nama variabel adalah 31 karakter, karakter setelahnya akan
diabaikan.
- nama variabel harus diawali dengan huruf, diikuti dengan sembarang bilangan,
huruf atau garis bawah (under line).
- karakter tanda baca tidak diperbolehkan karena banyak diantaranya mempunyai arti
tersendiri dalam MATLAB.
MATLAB mempunyai beberapa variabel spesial yakni :
Variabel spesial Nilai
ans Nama variabel standar untuk menampilkan hasil
pi Perbandingan antara keliling lingkaran dengan diameternya
inf Tak berhingga, misalnya 1/0
NaN Bukan sebuah bilangan, misalnya 0/0
i dan j i=j=-1
nargin Banyaknya argument input yang digunakan pada suatu fungsi
nargout Banyaknya argument output yang digunakan pada suatu fungsi
realmin Bilangan real positif terkecil yang dapat digunakan
realmax Bilangan real positif terbesar yang dapat digunakan
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
13/48
4 5
2.2 Array
Array atau disebut juga larik adalah bentuk dasar penyimpanan data pada MATLAB. Array
dapat berupa array kosong dengan dimensi 0x0, hingga array dengan n-dimensi. Dengan
array, kita dapat membuat vektor, matrik, menggunakan subscript arrays, dan penggunaan
khusus untuk iterasi. Sebuah matriks adalah sebuah array dua dimensi dengan elemen dapat
berupa riil maupun komplek.
2.2.1 Pembentukan array
Untuk membentuk array pada Matlab, dimulai dengan kurung siku buka, masukan nilai
dipisahkan dengan koma atau spasi, dan diakhiri dengan kurung tutup siku.
Misalnya perintah : A = [2, 3 ; 4 5] , merupakan perintah untuk membuat array dua
dimensi2 3
A .
MATLAB menyediakan fasilitas untuk membuat array sederhana dengan cara-cara
berikut :
Pembentukan array keterangan
x=[2 2*pi sqrt(2) 2-3j] Membentuk vektor baris x dengan elemen yang
disebutkan
x=first:last Membentuk vektor baris x dimulai dengan first,
dinaikan satu, berakhir sampai atau sebelum last.
x=first:increment:last Membentuk vektor baris x dimulai dengan first,
dinaikan sebesar increment, berakhir sampai atau
sebelum last.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
14/48
x=linspace(first,last,n) Membentuk vektor baris x dimulai dengan first,
berakhir pada last, dengan n elemen.
x=logspace(first,last,n) Membuat vektor baris x yang memiliki spasi
logaritmik, dimulai dengan 10first
, berakhir di 10last
,
mempunyai n elemen
Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya!
X=(0:0.1:1)*pi
X=linspace(0,pi,11)
M=logspace(0,2,11)
x=[2 2*pi sqrt(2) 2-3j]
2.2.2 Pengalamatan Elemen (Array) dan manipulasi array
Ketika sebuah array didefinisikan, MATLAB menyediakan cara yang powerful untuk
menyisipkan, mengekstrak, dan mengatur kembali bagian-bagiannya dengan mengidentifikasi
indeks bagian tersebut. Pengetahuan mengenai hal tersebut. merupakan kunci untuk
memanfaatkan MATLAB secara efisien. Teknik-teknik pengalamatan array disajikan dalam
tabel berikut.
Pengalamatan Array
A(r,c) Pengalamatan elemen array di A ditentukan dengan vektor indeks baris di r
dan vektor indeks kolom di c
A(r,:) Pengalamatan subarray di A ditentukan dengan vektor indeks baris r dan
semua kolom
A(:,c) Pengalamatan subarray di A ditentukan dengan semua baris dan vektor
indeks kolom c
A(:) Pengalamatan semua elemen A sebagai vektor kolom diambil kolom per
kolom
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
15/48
A(i) Pengalamatan subarray di A ditentukan oleh vektor indeks tunggal dari
elemen tersebut di I, seolah A adalah vektor kolom A(:)
A(x) Pengalamatan subarray di A ditentukan oleh array logika x. x harus berisi
nilai 0 dan 1 dan harus berukuran sama dengan A.
Untuk memanipulasi array dapat digunakan fungsi-fungsi sebagai berikut :
Fungsi Manipulasi Array
flipud(A) menggulung suatu matriks dengan arah dari atas ke bawah
fliplr(A) menggulung suatu matriks dengan arah dari kiri ke kanan
rot90(A) memutar suatu matriks 90 derajat berlawanan arah jarum jam
reshape(A,m,n) menghasilkan matriks ukuran mxn dengan elemen diambil
searah kolom dari A. A harus berisi mxn elemen
diag(A) mengeluarkan diagonal matriks A sebagai vektor kolom
diag(v) membentuk matriks diagonal dengan vektor v pada
diagonalnya
tril(A) mengeluarkan bagian segitiga bawah matriks A
triu(A) mengeluarkan bagian segitiga atas matriks A
Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya!
X = [0 2 4 6 8 10 12 14 16 18 20];
Y = [1 3 5
X(7)
7 9 11 13 15 17 19 21];
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
16/48
Y(4)
Y(10:-1:2)
X(2:6)
Y(1:2:8)
X(1:3:10)
Y^2
X.^2
Y./2
A=[1 2 3;4 5 6;7 8 9];
A(2,3)
A(1,:)
A(:,3)
2.2.3 Matematika Array
Operasi matematis antara skalar dan array, meliputi penjumlahan, pengurangan, perkalian
dan pembagian, beroperasi pada semua elemen array. Sedangkan operasi matematis
antara array dengan array tidak sesederhana itu. Akan tetapi untuk array yang berukuran
sama, operasi penjumlahan, pengurangan, perkalian, dan pembagian dengan MATLAB,
berlaku elemen per elemen. Operasi matematis pada array dirangkum dalam tabel
berikut.
Matematika Array Elemen per Elemen
Data ilustratif : a = [a1 a2 … an]’ b = [b1 b2 … bn], c = suatu skalar
Penjumlahan skalar a+c = [a1+c a2+c … an+c]
Perkalian skalar a*c = [a1*c a2*c … an*c]
Penjumlahan array a+b = [a1+b1 a2+b2 … an+bn]
Perkalian array a .*b = [a1*b1 a2*b2 … an*bn]
Pembagian kanan array a . /b = [a1/b1 a2/b2 … an/bn]
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
17/48
Pembagian kiri array a . \b = [a1\b1 a2\b2 … an\bn]
Pemangkatan array a . ^c = [a1^c a2^c … an^c]
c . ^a = [c^a1 c^a2 … c^an]
a . ^b = [a1^b1 a2^b2 … an^bn]
Dalam operasi ini yang harus diperhatikan adalah ukuran dimensi dari operasi elemen
per elemen haruslah sama. Menghilangkan titik sebelum tanda *, /, dan ^ adalah sebuah
kesalahan serius karena pernyataan kemudian akan menyebutkan sebuah operasi matriks
skalar, bukan operasi elemen per elemen.
Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya!
a = [2 4 3 5 7]
b = [1 2 3 4 5]'
c = a+5
d = a+b
e = b-2
f = b*3
g = b/2
h = a./b
k = a.\b
x = a*b
y = b*a
z = a.*b
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
18/48
2.2.4 Matriks
Awalnya MATLAB digunakan untuk menyederhanakan perhitungan matriks dan aljabar
linier yang muncul pada berbagai aplikasi. Permasalahan yang paling umum pada aljabar linier
adalah mencari solusi persamaan linier, yang dapat diselesaikan dengan menggunakan
persamaan matriks.
condest(A) estimasi matriks bilangan kondisi l-norm
d=eig(A) nilai eigen dan vektor eigen
[V,D]=eig(A)
det(A) determinan
expm(A) matriks eksponensial
expm1(A) implementasi M-file dari expm
expm2(A) Matriks eksponensial menggunakan deret Taylor
expm3(A) Matriks eksponensial menggunakan nilai eigen dan eigen
funm(A,’fun’) menghitung fungsi matriks umum
hess(A) bentuk hessenberg
inv(A) invers matriks
logm(A) logaritma matriks
lscov(A,b,V) kuadrat terkecil dengan kovarians yang diketahui
lu(A) faktor dari eliminasi gaussian
nnls(A,b) kuadrat terkecil nonnegatif
norm(A) norm matriks dan vektor
norm(A,1) 1-norm
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
19/48
Fungsi Matriks
balance(A) Penyekalaan untuk memperbaiki akurasi nilai eigen
cdf2rdf(A) bentuk diagonal kompleks ke bentuk diagonal blok real
chol(A) faktorisasi Cholesky
cond(A) matriks bilangan kondisi
pinv(A) Pseudoinvers
poly(A) Variabeln karakteristik
polyvalm(A) evaluasi polinomial matriks
qr(A) dekomposisi ortogonal-triangular
qrdelete(Q,R,j) menghapus kolom dari faktorisasi qr
qrinsert(Q,R,j,x) menyelipkan kolom pada faktorisasi qr
qz(A,B) nilai eigen yang digeneralisasi
rank(A) banyaknya baris atau kolom yang independen linier
rcond(A) estimator kondisi resiprokal
rref(A) mengurangi baris bentuk echelon
rsf2csf bentuk schur real ke bentuk schur kompleks
schur(A) dekomposisi Schur
sqrtm(A) matriks akar kuadrat
svd(A) dekomposisi nilai singular
norm(A,2) 2-norm (Euclidean)
norm(A,inf) takberhingga (infinity)
norm(A,p) P-norm(hanya untuk vektor)
norm(A,’fro’) F-norm
null(A) spasi kosong
orth(A) Ortogonalisasi
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
20/48
trace(A) jumlah elemen diagonal
MATLAB menawarkan beberapa matriks spesial, beberapa diantaranya merupakan
matriks yang umum digunakan.
Matriks Spesial
[] matriks kosong
Company matriks gabungan
Eye matirks identitas
gallery beberapa matriks pengujian yang kecil
hadamard matriks Hadamard
hankel matriks Hankel
hilb matriks Hilbert
invhilb invers matriks Hilbert
magic magic square
ones matriks yang semua elemennya 1
pascal matriks segitiga pascal
rand matriks random terdistribusi normal dengan elemen antara 0 dan 1
randn matriks random terdistribusi normal dengan elemen-elemennya
memiliki mean nol dan varians satu
rosser matriks pengujian nilai eigen simetrik
toeplitz matriks toeplitz
vander matriks vandermonde
wilkinson matriks pengujuan nilai eigen Wilkinson
zeros Matriks yang semua elemennya nol
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
21/48
Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya!
m_eye = eye(4)
m_rand = rand(3,4)
m_ones = ones(4,4)
m_zeros = zeros(3)
Diketahui persamaan linier sbagai berikut :
1 2 3 x1 366
4 5
6 x 804
7 8 0
2
x3 351
A x = b
untuk mencari solusi dari persamaan tersebut dapat digunakan fungsi-fungsi matriks
sebagai berikut.
A=[1 2 3;4 5 6;7 8 0]
b=[366;804;351]
det(A)
x=inv(A)*b
x=A\b
Cobalah perintah-perintah tersebut pada command window!!! Lalu amati hasilnya
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
22/48
2.2.5 Ukuran Array
Fungsi-fungsi yang digunakan untuk mengetahui ukuran array diringkas dalam tabel
berikut.
Ukuran Array
Whos menampilkan variabel yang ada di workspace dan ukurannya
s=size(A) menghasilkan vektor dua elemen s, dengan elemen pertama adalah
banyaknya baris di A dan elemen kedua adalah banyaknya kolom
di A
[r,c]=size(A) menghasilkan dua skalar r dan c yang berturut-turut berisi
banyaknya baris dan kolom di A
r=size(A,1) menghasilkan banyaknya baris array A dalam variabel r
c=size(A,2) menghasilkan banyaknya kolom array A dalam variabel c
n=length(A) menghasilkan max(size(A)) pada variabel n
Cobalah perintah-perintah dibawah ini pada command window!!! Lalu amati hasilnya!
A=[1 2 3 4;5 6 7 8]
s=size(A)
[r,c]=size(A)
r=size(A,1)c=size(A,2)
length(A)
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
23/48
2.3 Metode Eliminasi Gauss
Eliminasi gauss digunakan untuk mencari akar sistem persamaan linier.
Langkah penyelesaian:
1.
Ubah sistem persamaan linier menjadi bentuk matriks (berordo nx(n+1))
Berdasarkan bentuk persamaan linier point 5, maka bentuk matriksnya:
(
2 3 … 2 22 23 … 2 23…32…2
33…3………
3 3… … )
(
2 3 … 0 22 23 … 2 20…0
0…033…0
……03 3… … )
2. Melakukan reduksi baris di bawah diagonal utama sehingga nilainya adalah o
(nol)
a.
Periksa terlebih dahulu pivot/poros. Poros 0; jika bernilai 0, maka baris
poros harus ditukar baris di bawahnya yang porosnya tidak nol
b.
Pivot dimulai dari baris pertama kolom pertama
c.
Lakukan reduksi baris pada baris berikutnya kolom pertama
d. Jika kolom pertama baris-baris di bawah baris poros sudah nol, maka cari
poros berikutnya
e. Lakukan reduksi terus menerus sesuai dengan poros yang telah ditetapkan
sampai nilai elemen di bawah diagonal utama menjadi nol (0)
3.
Melakukan substitusi mundur (mulai dari baris paling bawah) untuk menentukan
nilai variabel
Selesaikan persamaan linier berikut:
x + 2y + z = 3
3x - y – 3z = -1
2x + 3y + z = 4
cara sederhana dengan MATLAB:
a.
Buat matriks dari sistem persamaan yang ada
>> A=[1 2 1 3; 3 -1 3 -1; 2 3 1 4]
A =
1 2 1 3
3 -1 3 -12 3 1 4
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
24/48
b. Reduksi baris kedua kolom pertama
>> A(2,:)=A(2,:)-3*A(1,:)
A =
1 2 1 3
0 -7 0 -10
2 3 1 4
c. Reduksi baris ketiga kolom pertama
>> A(3,:)=A(3,:)-2*A(1,:)
A =
1 2 1 3
0 -7 0 -10
0 -1 -1 -2
d. Reduksi baris ketiga kolom kedua
>> A(3,:)=A(3,:)-(1/7)*A(2,:)
A =
1.0000 2.0000 1.0000 3.00000 -7.0000 -6.0000 -10.0000
0 0 -0.1429 -0.5714
e. Mencari nilai z, y dan x
>> z=A(3,4)/A(3,3)
z =
4
>> y=(A(2,4)-(z*A(2,3)))/A(2,2)
y =
-2
>> x=A(1,4)- (y*A(1,2))-(z*A(1,3))
x =
3
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
25/48
2.4 Metode Eliminasi Gauss-Jordan
Metode eliminasi Gauss Jordan akan memecahkan solusi pada sistem persamaan linear.
Persamaan tersebut harus bersifat vektor baris dan kolom (matrik) yang berordo n x n, dan harus
≥ 2. Motede tersebut dinamai Eliminasi Gauss Jordan untuk menghormati Carl Friedrich Gauss
dan Whilhelm Jordan.
Eliminasi Gauss-Jordan adalah pengembangan dari eliminasi Gauss yang hasilnya lebih
sederhana. Caranya adalah dengan meneruskan operasi baris dari eliminasi Gauss sehingga
menghasilkan matriks yang Eselon-baris tereduksi. Ini juga dapat digunakan sebagai salah satu
metode penyelesaian persamaan linear dengan menggunakan matrik. Caranya dengan
mengubah persamaan linear tersebut ke dalam matriks teraugmentasi dan mengoperasikannya.
Setelah menjadi matriks Eselon-baris tereduksi, maka langsung dapat ditentukan nilai dari
variabel-variabelnya tanpa substitusi balik.
Penyelesaian dari persamaan linier simultan diatas adalah nilai d1,d2,d3,…,dn dan atau:
x1 = d1, x2 = d2, x3 = d3, ..., xn = dn
Pendapat lain menjelaskan bahwa Eliminasi Gauss Jordan mirip sekali dengan metode
Eliminasi Gauss, namun dalam metode ini jumlah operasi numerik yang dilakukan jauh lebih
besar, karena matriks A mengalami inversi terlebih dahulu untuk mendapatkan matriks identitas
(I).
Teknik yang digunakan dalam metode eliminasi Gauss-Jordan ini sama seperti Metode
Eliminasi Gauss yaitu menggunakan OBE (Operasi Baris Elementer). Hanya saja perhitungan
penyelesaian secara langsung diperoleh dari nilai pada kolom terakhir dari setiap baris.
Eliminasi gauss digunakan untuk mencari akar sistem persamaan linier.
2 3 … 2 22 23 … 2 23 32 33 … 3 3… … … … … … 2 3 …
1 0 0 … 0 0 1 0 … 0 20 0 1 … 0 3… … … … … …0 0 0 … 1
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
26/48
Langkah penyelesaian:
1. Ubah sistem persamaan linier menjadi bentuk matriks (berordo nx(n+1))
Berdasarkan bentuk persamaan linier point 5, maka bentuk matriksnya:
(
2 3 …
2 22 23 … 2 23… 32…2
33…3 ……… 3 3… … )
(
1 0 0 … 0 0 1 0 … 0 20…0 0…0 1…0 ……… 0
3… …1 )
2.
Melakukan operasi baris elementer, artinya membuat nilai elemen di bawah dan di atas
diagonal utama sehingga nilainya adalah o (nol)
a. Periksa terlebih dahulu pivot/poros. Poros = 1;
i. jika bernilai 0, maka baris poros harus ditukar baris di bawahnya
yang porosnya tidak nol
ii.
jika bernilai 1,
1.
kalikan baris poros dengan 1 ⁄ 2.
kurangi baris poros dengan baris di bawahnya supaya poros
bernilai 1 (satu)
iii. jika bernilai < 0, maka kalikan dengan −1 ⁄ b. Pivot dimulai dari baris pertama kolom pertama
c.
Lakukan reduksi baris pada baris berikutnya kolom pertama
d. Jika kolom pertama baris-baris di bawah baris poros sudah nol, maka cari
poros berikutnya
e.
Lakukan reduksi terus menerus sesuai dengan poros yang telah ditetapkan
sampai nilai elemen di bawah diagonal utama menjadi nol (0)
f. Dimulai dari baris terakhir cari pivot/poros yang nilainya tidak nol
g. Lakukan reduksi baris-baris yang berada di atas pivot/poros supaya nilai
elemennya menjadi nol (0) dan dikerjakan ke arah atash.
Lakukan poin f s/d g sampai nilai di atas diagonal utama adalah nom (0)
i.
Jika didapatkan matriks yang nilai elemen diagonalnya belum nol (0),
maka lakukanlah perkalian matriks tersebut dengan matriks kolom dengan
tujuan membuat nilai diagonal utama menjadi nol.
Selesaikan persamaan linier berikut:
x + 2y + z = 3
3x - y – 3z = -1
2x + 3y + z = 4
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
27/48
cara sederhana dengan MATLAB:
a.
Buat matriks dari sistem persamaan yang ada
>> A=[1 2 1 3; 3 -1 3 -1; 2 3 1 4]
A =
1 2 1 33 -1 3 -1
2 3 1 4
b. Reduksi baris kedua kolom pertama
>> A(2,:)=A(2,:)-3*A(1,:)
A =
1 2 1 3
0 -7 0 -10
2 3 1 4
c.
Reduksi baris ketiga kolom pertama
>> A(3,:)=A(3,:)-2*A(1,:)
A =
1 2 1 3
0 -7 0 -10
0 -1 -1 -2
d. Reduksi baris ketiga kolom kedua
>> A(3,:)=A(3,:)-(1/7)*A(2,:)
A =
1.0000 2.0000 1.0000 3.0000
0 -7.0000 -6.0000 -10.0000
0 0 -0.1429 -0.5714
e. Membuat nilai elemen diagonal menjadi nol (0)
>> A(2,:)=A(2,:)*(-1/7)
A =1.0000 2.0000 1.0000 3.0000
0 1.0000 0.8571 1.4286
0 0 -0.1429 -0.5714
>> A(3,:)=A(3,:)*(-1/0.1429)
A =
1.0000 2.0000 1.0000 3.0000
0 1.0000 0.8571 1.4286
0 0 1.0000 3.9986
f. Mulai dari baris terbawah lakukan eliminasi untuk
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
28/48
>> A(2,:)=A(2,:)-(0.8571*A(3,:))
A =
1.0000 2.0000 1.0000 3.0000
0 1.0000 0 -1.9986
0 0 1.0000 3.9986
>> A(1,:)=A(1,:)-(1*A(3,:))
A =
1.0000 2.0000 0 -0.9986
0 1.0000 0 -1.9986
0 0 1.0000 3.9986
>> A(1,:)=A(1,:)-(2*A(2,:))
A =
1.0000 0 0 2.99860 1.0000 0 -1.9986
0 0 1.0000 3.9986
g. Mencari nilai z, y dan x
>> x=A(1,4)
x =
2.9986
>> y=A(2,4)
y =
-1.9986
>> z=A(3,4)
z = 3.9986
2.5 Menyusun Program
Program adalah suatu kumpulan pernyataan, fungsi atau perintah yang diatur
sedemikian sehingga mempunyai logika tertentu. Semua pernyataan, fungsi dan perintah
dapat diberikan langsung di MATLAB Command Window yang digunakan untuk menyusun
sebuah program. MATLAB menyediakan bahasa pemrograman yang lengkap yang
memungkinkan Anda menulis perintah-perintah MATLAB ke dalam sebuah file dan
menjalankannya dengan sebuah perintah saja. m-file dapat berupa script yang secara
sederhana mengeksekusi barisan perintah-perintah MATLAB, atau m-file dapat berupa
fungsi yang menerima argumen input dan menghasilkan output. M-file dibuat dengan
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
29/48
menggunakan teks editor . Perbedaan antara script dan fungsi disajikan dalam tabel berikut.
Script Fungsi
Tidak menerima argumen input maupun
menghasilkan argumen output
Menerima argumen input dan
menghasilkan argumen output
Beroperasi dengan data di workspace Variabel internal bersifat lokal untuk
fungsi itu sendiri
Berguna untuk mengotomatisasi barisan
perintah yang perlu dijalankan beberapa
kali
Berguna untuk memperluas bahasa
matlab pada aplikasi anda
Pembuatan program pada MATLAB dilakukan di editor tersendiri yaitu MATLAB
Editor / Debugger . Di editor inilah suatu program di tulis kemudian di simpan sebagai
file-m.
2.5.1 File-m
Program MATLAB dikenal dengan sebutan file-m, karena file ini berekstension m. File- m
yang dihasilkan oleh MATLAB adalah suatu program tak-terkompilasi, sehingga selalu
membutuhkan program interprenter, yaitu MATLAB itu sendiri. Artinya untuk dapat
menjalankan program yang telah dibuat dipanggil melalui MATLAB Command Window.
Pemanggilan file-m dilakukan dengan menuliskan nama file tersebut tanpa menyebutkan
ekstensionnya.
File-m tidak mempunyai struktur tertentu, berbeda dengan bahasa pemrograman
C, Pascal atau Basic. File-m tidak harus diawali atau diakhiri dengan kata kunci tertentu.
File ini cukup disusun dari pernyataan, fungsi atau perintah seperti halnya pada
MATLAB Command Window, untuk membangun logika tertentu.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
30/48
Buat program – program berikut, simpan sebagai file-m, kemudian jalankan. Catat dan
amati hasilnya.
Untuk memunculkan MATLAB Editor/ Debugger, ketikan edit di dalam
Command Window lalu tekan enter. Maka akan keluar window baru sebagai MATLAB
Editor/ Debugger .
2.5.2 Struktur dan Tipe Data
Tipe data yang digunakan pada pemrograman MATLAB defaultnya adalah double.
Tetapi tipe data dapat berubah menyesuaikan dengan nilai yang diberikan kepadanya.
Beberapa tipe data, yang juga merupakan fungsi pengubah tipe data, antara lain :
single bilangan pecahan presisi tunggal
double bilangan pecahan presisi ganda
int8, int16, int32 bilangan bulat 8, 16 atau 32 bit bertanda uint8, uint16,uint32 bilangan bulat 8, 16 atau 32 bit tak bertanda
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
31/48
char karakter atau string
Yang dimaksud tak bertanda adalah tipe data yang tidak menerima bilangan negatif.
Stuktur data yang digunakan oleh MATLAB adalah:
Multidimensional arrays
Cell arrays
Characters and text
Structure
Pada MATLAB, multidimensional arrays adalah array dengan tiga atau lebih
subscript . Dapat dibentuk dengan memanggil zeros, ones, rand, atau randn dengan argument
lebih dari dua. Cell array merupakan multidimensional arrays yang elemen-elemennya
dikopi dari array yang lain. Cell array kosong dapat dibentuk dengan fungsi cell . Tetapi
biasanya cell array dibentuk dengan melingkupi kumpulan suatu data dengan kurung
kurawal ‘{ } ‘. Kurung kurawal juga digunakan untuk mengakses isi dari berbagai sel.
Karakter string adalah teks yang diawali dan diakhiri dengan apostrof (‘). Setiap
karakter dalam suatu string adalah satu elemen array, dengan setiap elemennya sebesar2
byte. String merupakan array numerik dengan atribut khusus, oleh karena itu string dapat
dimanipulasi dengan menggunakan semua metode manipulasi array yang tersedia di
MATLAB.
Buat program berikut di MATLAB Editor/Debugger . Jangan akhiri masing – masing baris
dengan tanda titik-koma ( ; ) agar nilai variabel muncul di layar.
Y = 23/47
y_double = double (23/ 47)
y_single = single (23/ 47)
z_int = int8 (-93)
z_int8 = int8 (-130)
z_uint8 = uint8 (-93)
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
32/48
Simpan sebagai file-m dengan nama tipedata.m
Di MATLAB Command Window , jalankan program tersebut dengan memanggil nama
file tipedata kemudian tekan enter.
Apakah variabel y, y_double dan y_single sama? Adakah yang berbeda?.
Berapakah nilai maksimum dan minimum dari tipe data int8 dan uint8 ? modifikasi
program untuk mengetahui nilai dari int16, int32, uint16 dan uint32.
Lihat daftar variabel yang terbentuk dengan perintah whos . Dari semua tipe data yang
ada, urutkan berdasar ukuran byte yang digunakan mulai dari yang terkecil hingga besar.
Stuktur data
Multidimensional arrays dapat dibentuk dengan memanggil zeros, ones, rand, atau
randn dengan argument lebih dari dua.
Ketikan perintah berikut di Command Window, amati dan analisa hasilnya.
R = rand(3,4,5);
Cell array dibentuk dengan melingkupi kumpulan suatu data dengan kurung kurawal
‘{ } ‘. Kurung kurawal juga digunakan untuk mengakses isi dari berbagai sel.
Ketikan perintah berikut di Command Window, amati dan analisa hasilnya.
A = [ 1 2 3]
C = {A sum(A) prod(prod(A))}
Caracters and text
Ketikan perintah berikut di Command Window, amati dan analisa hasilnya.
Teks_ku = ‘Hello saya lagi praktikum matlab’
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
33/48
Fungsi char menerima beberapa baris, menambahkan spasi pada setiap baris untuk
membuatnya sama panjang, dan membentuk karakter array.
Pada Editor/ Debugger ketikan :
teks = char(‘A’,’rolling’,’stone’,’gathers’,’momentum.’)
karakter = {‘A’;’rolling’;’stone’;’gathers’;’momentum.’}
karakter_ke_string = cellstr(teks)
string_ke_karakter = char(karakter)
Setelah disimpan , panggil di Command Window, amati dan analisa hasilnya
Structure adalah multidimensional array dengan elemen-elemennya diakses dengan
field designators.
Pada Editor/ Debugger ketikan :
S.nama = ‘Ed Plum’;
S.score = 83;
S.gradae = ‘B+’
Setelah disimpan , panggil di Command Window, amati dan analisa hasilnya.
2.5.3 Struktur Fungsi
Deklarasi file-m sebagai fungsi adalah function yang terletak pada awal program.
function parameter_keluaran = nama_fungsi (parameter_masukan)
parameter keluaran dapat lebih dari satu buah, cara penulisannya adalah
[parameter_keluaran1, parameter_keluaran2,...]
parameter masukan juga dapat lebih dari satu. Maka penulisannya adalah
(parameter_masukan1, parameter_masukan2,...)
Pada fungsi dengan beberapa parameter masukan, apabila cacah parameter saat
pemanggilan tidak sama dengan cacah parameter saat definisi, maka biasanya fungsi
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
34/48
akan gagal dijalankan. MATLAB mempunyai kemampuan untuk menghitung cacah
parameter masukan dan cacah parameter keluaran. Cacah parameter keluaran
dinyatakan dengan fungsi nargin, sedangkan cacah parameter keluaran dinyatakan
dengan fungsi nargout.
Buat fungsi berikut. Simpan sebagai file xpolar.m
function x = xpolar (r, p);
p_rad = p* pi / 180;
x = r * cos (p_rad); % x adalah parameter keluaran
Kemudian pada Command Window, panggil fungsi tersebut dengan mengetikkan
perintah berikut :
xpolar (5, 60)
SumbuX = xpolar (5,30)
Fungsi berikut mempunyai parameter keluaran lebih dari satu
function [x, y] = xypolar (r, p);
p_rad = p * pi / 180
x = r * cos (p_rad); % x adalah parameter keluaran
y = r * sin (p_rad); % y adalah parameter keluaran
Panggil fungsi dengan cara – cara berikut. Bagaimana keluarannya?
[a, b] = xypolar (8, 30)
xypolar (8,30)
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
35/48
c = xypolar (8, 30)
Fungsi dipanggil dengan cacah parameter masukan kurang dari cacah parameter
masukan saat definisi, apa yang terjadi?
2.5.4 Masukan dan Keluaran (Input dan Output)
Fungsi input digunakan untuk meminta masukan ketika program dijalankan. Fungsi ini
menerima parameter berupa string untuk memberikan keterangan tentang masukan yang
harus diberikan, pemasukan nilai yang ditampung disuatu variabel adalah
Variabel = input (‘keterangan maukan’);
Menampilkan hasil, nilai variabel atau keterangan pada saat program dijalankan dapat
menggunakan salah satu dari fungsi dibawah ini.
disp menampilkan nilai variabel atau string secara sederhana
fprintf menampilkan nilai variabel menggunakan string format
Beberapa simbol yang digunakan pada fungsi fprintf antara lain :
Format tampilan bilangan Karakter khusus
Simbol Arti Simbol Arti
%d
%f
%o
Bilangan bulat
Bilangan pecahan
Bilangan oktal
Bilangan hexsadesimal
Bilangan sebagai ax10 b
/n
/t
Pindah ke baris baru
Geser sebanyak 1 tab
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
36/48
Pada tampilan bilangan pecahan %f, %e dan %E, presisi dapat diatur dengan
menyisipkan format presisi bilangan. Format presisi adalah .p, dengan p berupa nilai
yang menyatakan banyaknya angka dibelakang koma.
Program berikut untuk menguji masukan dan keluaran. Setiap baris diakhiri dengan
tanda titik koma ( ; ).
bilangan = input(‘Masukan Bilangan = ‘);
disp (‘Bilangan Tersebut = ‘);
disp (bilangan)
matriks = input (‘Masukan matriks = ‘);
disp (‘Matriks tersebut = ‘);
disp (matriks)
Simpan dan jalankan program. Apa yang muncul dilayar? Uji untuk masukan berupa
bilangan bulat dan bilangan pecahan.
Program berikut untuk menguji format keluaran bilangan pecahan.
a = input (‘Pembilang = ‘);
b = input (‘Penyebut = ‘);
c = a / b;
fprintf (‘%f dibagi %f sama dengan %f \n, a, b, c);
fprintf (‘%.3f dibagi %.3f sama dengan %.3f \n, a, b, c);
fprintf (‘%e dibagi %e sama dengan %e \n, a, b, c);
fprintf (‘%.3e dibagi %.3e sama dengan %.3e \n, a, b, c);
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
37/48
Simpan dan jalankan program tersebut. Apa yang muncul di layar?, Jalankan program
sebanyak 3 kali dengan masukan yang berbeda-beda. Apa fungsi penyisipan .3 pada
format tampilan bilangan?
Program berikut akan menguji format keluaran bilangan bulat.
w = input (‘Bilangan bulat = ‘);
fprintf (‘desimal: %d \t oktal: %o \t hexadesimal: %x \n’, w, w,
w);
Simpan dan jalankan program. Apa yang muncul dilayar? Jalankan program sebanyak 3
kali dengan masukan yang berbeda.
2.5.5 Komentar Dan Tanda Baca
Suatu program yang baik biasanya mempunyai komentar terhadap operasi, pernyataan atau
perintah yang diberikan dalam program. Untuk memberikan komentar/keterangan pada
perintah MATLAB, harus didahului dengan tanda %.
Beberapa perintah dapat diletakkan pada baris yang sama dengan dipisahkan oleh
tanda koma atau titik koma. Tanda koma memberitahu MATLAB untuk menampilkan hasilsedangkan tanda titik koma mencegah penampilan hasil.
Suatu perintah MATLAB yang akan ditulis terpisah tidak dalam baris yang sama
harus ditandai dengan tiga titik berurutan. Posisi tanda tiga titik tersebut harus berada di
antara nama variabel dan operator. Jadi nama variabel tidak dapat dipecah.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
38/48
2.5.6 Program Sederhana
Buat program – program berikut dan amati hasilnya.
% program membuat sinyal sinus
% masukan / input
amp_sinyal = input (' Masukan amplitudo sinyal = ');
frek = input (' Masukan Frekuensi sinyal = ');
t_max = input (' Masukan maksimal waktu pengukuran (detik) = ');
t_int = input (' Masukan interval waktu pengukuran (detik) = ');
% pembuatan vektor waktu
t = (0 : t_int : t_max);
% Pembuatan Sinyal
frek_x = 2 ;
frek_rad = frek * frek_x * pi;
frekuensi = cos(frek_rad * t);
Sinyal = amp_sinyal * frekuensi ;
% keluaran
fprintf ('\t %f dikali %f dikali %f sama dengan %.3d \n', frek,
frek_x , pi, frek_rad);
fprintf ('\t %f dikali %f sama dengan %.3d \n', amp_sinyal,
frekuensi, Sinyal);
plot (t, Sinyal);
Selanjutnya buat program berikut, lalu jalankan di command window dan amati
hasilnya !
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
39/48
function [avg,med] = newstats(u) % Primary function
% NEWSTATS Find mean and median with internal functions.
n = length(u);
avg = mean(u,n);
med = median(u,n);
function a = mean(v,n) % Subfunction
% Calculate average.
a = sum(v)/n;
function m = median(v,n) % Subfunction
% Calculate median.
w = sort(v);
if rem(n,2) == 1
m = w((n+1)/2);
else
m = (w(n/2)+w(n/2+1))/2;
end
kemudian panggil di Command Windows dengan perintah berikut :
[a,m]= newstats([1 2 3 4 5])
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
40/48
2.6 Penggambaran Grafik
Suatu runtun data yang banyak, sulit untuk diperiksa hanya dengan mengamati angka –
angka yang ditampilkan. Penampilan data dalam bentuk grafik dapat memudahkan analisis.
Pada MATLAB grafik dibedakan menjadi dua macam , yaitu :
Grafik kontinyu, baik linier ataupun logaritmis,
Grafik diskrit.
2.6.1 Grafik Kontinyu Linier
Untuk menggambar grafik dua dimensi dapat menggunakan perintah plot.
Terdapat tiga bentuk penulisan fungsi ini, yaitu :
plot(x,y), menampilkan vektor y (sumbu vertikal) terhAdap vektor x (sumbu
horizontal).
plot(y) menampilkan vektor y terhAdap indeksnya.
plot(x,y,s), menampilkan vektor y terhadap vektor x, dengan format menurut
string s.
String s menyatakan warna, bentuk penanda dan bentuk garis antarnilai. Berikut adalah
beberapa nilai yang dapat digunakan pada string s .
Simbol Warna Simbol Penandaan Simbol Style garis
b Biru . Titik - Garis lurus
g Hijau o Lingkaran : Garis titik-titik
r Merah x Tanda silang -. Garis terpotong dan titik
c Cyan + Tanda plus -- Garis terpotong-potong
m Magenta * Bintang
y Kuning s Bujursangkar
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
41/48
k Hitam d Diamond
w Putih ^ Segitiga ke atas
v Segitiga ke bawah
Segitiga ke kanan
p Pentagram
h Heksagram
Jika anda tidak memilih warna dan anda menggunakan skema standar,
MATLAB akan memulainya dengan warna biru dan berputar berurutan ke tujuh warna
pertama dalam tabel untuk setiap penambahan garis. Standar style garis adalah garis
lurus kecuali jika anda memberikan style garis yang lain.
Berikut adalah penampilan sinyal acak y bernilai antara 0 hingga 10. Diasumsikan
bahwa sinyal mulai dari t = 0 detik hingga t = 1 detik, dengan 20 cuplikan pengukuran.
t = linspace (0, 1, 20);
y = 10 * rand(1, 20);
plot (t, y)
Berikut akan ditampilkan sinyal tegangan sinusoidal y dengan amplitudo 5 volt
dan frekuensi 10 Hz. Frekuensi radian dari sinyal adalah = 210 = 20 rad/ detik.
Sinyal akan diukur selama 1 detik. Frekuensi pengukuran minimal adalah 2 x 10 Hz =
20 Hz. Berarti periode pengukuran minimal adalah 1/ 20 = 0.05 detik.
amplitudo = 5;
frek_radian = 2 * pi * 10;
y = amplitudo * cos( frek_radian * t);
plot (t, y)
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
42/48
Kemudian ketikan perintah fungsi berikut dan amati grafik. Apa saja perubahan –
perubahan yang terjadi pada grafik ?
plot (t, y, ’ro-’)
plot (t, y, ‘b^-‘)
plot (t, y, ‘b:’)
Lakukan fungsi berikut dan amati sumbu x (horizontal).
plot (t, y)
plot (y)
2.6.2 Menggambar Grid, Kotak Keterangan, Label dan Legenda
Beberapa fungsi untuk memberikan keterangan pada grafik, yaitu :
Fungsi Keterangan
box off Menghilangkan kotak pada grafik
box on Menampilkan kotak pada grafik
Box Men-toggle kotak pada grafik
xlabel(string) Menambahkan teks di samping sumbu
x ada rafik an aktif
ylabel(string) Menambahkan teks di samping sumbu
ada rafik an aktif
title(string) Menambahkan teks pada bagian atas
rafik an aktifgrid on Menambahkan grid pada grafik
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
43/48
grid off Menghilangkan grid pada grafik
Grid Men-toggle kotak pada grafik
text(x,y,string) Menambahkan teks pada lokasi (x,y) di
rafik an aktif
gtext(string) Menempatkan teks dengan mouse
legend(string,string,…) Menambahkan keterangan pada grafik
den an strin -strin seba ai labellegend off Menghilangkan keterangan dari grafik
an aktifLegend(...,pos) Memberikan keterangan dan
meletakannya pada posisi tetentu
sesuai pos :
0 : diletakan pada posisi terbaik
1 : kanan atas (default )
2 : kiri atas
3 : kiri bawah
Ketikan program berikut, amati perubahan yang terjadi pada grafik.
x = linspace(0,2*pi,30);
z = cos(x)
y = sin(x);
plot(x,y,x,z)
box off
xlabel(‘Variabel bebas x’)
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
44/48
ylabel(‘Variabel tak bebas y dan z’)
title(‘Kurva sinus dan cosinus’)
grid on, box on
text(2.5,0.7,’Sin(x)’)
gtext(‘Cos(x)’)
legend(‘Sin(x)’,’Cos(x)’)
legend off
2.6.3 Figure dan Subplot
Figure adalah jendela untuk menampilkan gambar grafik yang anda buat seperti perintah
plot dan sejenisnya. Gambar pada jendela figure ini dapat disimpan ke dalam sebuah file
yang sewaktu-waktu dapat dipanggil kembali.
Suatu figure dapat terdiri lebih dari satu grafik. Penempatan grafik dinyatakan
dengan subplot(m, n, nomor) diikuti fungsi penggambaran grafik, dengan
m cacah grafik dalam satu baris
n cacah grafik dalam satu kolom
nomor nomor grafik, mulai dari baris pertama kolom pertama.
Misal, dalam figure terdapat 6 grafik, yang tersusun sebagai 2 baris dan 3 kolom.
sublot (2, 3, 1) sublot (2, 3, 2) sublot (2, 3, 3)
sublot (2, 3, 4) sublot (2, 3, 5) sublot (2, 3, 6)
Berikut menampilkan tiga grafik yang berbeda dalam satu figure.
t_deg = (0 : 10 : 360);
t_rad = t_deg * pi / 180;
subplot (3, 1, 1); plot (t_deg, sin (t_rad))
subplot (3, 1, 2); plot (t_deg, cos (t_rad));
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
45/48
subplot (3, 1, 3); plot (t_deg, cos (t_rad).* sin (t_rad));
Pemberian keterangan diberikan per subplot .
subplot (3, 1, 1); title (‘sin’);
subplot (3, 1, 2); title (‘cos’);
subplot (3, 1, 3); title (‘cos * sin’);
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
46/48
BAB 3
PENUTUP
3.1 Kesimpulan
Metode numerik merupakan suatu metode untuk menyelesaikan masalah- masalah
matematika dengan menggunakan sekumpulan aritmatik sederhana dan operasi logika
pada sekumpulan bilangan atau data numerik yang diberikan. Metode komputasi yangdigunakan disebut algoritma. Proses penyelesaiannya mungkin memerlukan puluhan bahkan
sampai jutaan operasi, tergantung pada kompleksitas masalah yang harus diselesaikan, tingkat
keakuratan yang diinginkan dan seterusnya.
MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi
untuk komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan
pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-
masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar.
Penggunaan Matlab meliputi bidang – bidang:
1. Matematika dan Komputasi
2. Pembentukan Algorithm
3. Akusisi Data
4. Pemodelan, simulasi, dan pembuatan prototipe
5. Analisa data, explorasi, dan visualisasi
6. Grafik Keilmuan dan bidang Rekayasa
MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu
array sehingga tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini
memungkinkan kita untuk memecahkan banyak masalah teknis yang terkait dengan
komputasi, kususnya yang berhubungan dengan matrix dan formulasi vektor, yang mana
masalah tersebut merupakan momok apabila kita harus menyelesaikannya dengan
menggunakan bahasa level rendah seperti Pascall, C dan Basic.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
47/48
3.2 Saran
Bagi pembaca di harapkan mengamalkan ilmu yang di dapat setelah membaca modul ini.
Dan jika modul saya ada kata – kata yang tidak berkenan di hati anda saya minta maaf.
-
8/20/2019 Modul Matlab Lab Ilmu Komputer
48/48
DAFTAR PUSTAKA
www.google.com
http://aqwam.staff.jak-stik.ac.id/files/29.-mathlab[3].pdf
http://aswishnu.blog.amikom.ac.id/2012/10/30/metode-numerik-eliminasi-gauss-jordan/
http://gofar.files.wordpress.com/2007/09/modul-numerik1.pdf
http://informatika.stei.itb.ac.id/~rinaldi.munir/Buku/Metode%20Numerik/BAb%2001%20M
etode%20Numerik%20Secara%20Umum.pdf
http://lightnearby.files.wordpress.com/2013/05/modul-matlab.pdf