Upload
chaeriah-wael
View
173
Download
6
Embed Size (px)
DESCRIPTION
Matlab, pemrograman
Citation preview
Modul Praktikum
DASAR KOMPUTER DAN
PEMROGRAMAN
Jurusan Teknik Elektro
Fakultas Teknik - UNRIKA
Batam – 2013
Tata Tertib Praktikum
1. Mahasiswa yang diizinkan mengikuti praktikum adalah mahasiswa yang telah terdaftar
mengambil mata kuliah Praktikum Dasar Komputer dan Pemrograman.
2. Praktikum dilaksanakan sesuai dengan jadwal dan praktikan harus hadir 10 menit
sebelum praktikum dimulai. Bagi praktikan yang tidak hadir pada waktu tersebut
dianggap tidak mengikuti praktikum.
3. Praktikan harus berpakaian rapi dan memakai sepatu (tidak diperkenankan memakai
kaos oblong dan sandal).
4. Praktikan dilarang merokok, makan dan minum selama berada di dalam laboratorium.
5. Praktikan dilarang ribut selama berada di dalam dan wajib menjaga kebersihan di dalam
dan di luar laboratorium.
6. Bagi praktikan yang melanggar point 3, 4, 5 akan dikeluarkan dari ruang laboratorium
dan dianggap tidak mengikuti praktikum.
7. Praktikan harus membuat laporan praktikum dan diserahkan pada waktu yang telah
ditentukan. Praktikan yang tidak menyerahkan laporan tepat waktu dianggap tidak
mengikuti praktikum.
8. Penilaian praktikum terdiri atas :
- Sikap : 10 %
- Laporan
Jurnal praktikum : 30 %
Post test : 30 %
- Tugas Besar : 30 %
9. Praktikan yang tidak lulus satu modul harus mengulang keseluruhan praktikum pada
tahun berikutnya.
Batam, Maret 2013
Dosen Praktikum
Laporan Praktikum
1. Laporan ditulis pada kertas putih ukuran A4.
2. Margin laporan :
- Kiri : 3 cm - Atas : 2 cm
- Kanan : 2 cm - Bawah : 3 cm
3. Laporan tidak perlu dijilid.
4. Format cover sebagai berikut :
Laporan Praktikum
DASAR KOMPUTER
DAN
PEMROGRAMAN
Nama :
NPM :
Jurusan Teknik Elektro
Universitas Riau Kepulauan
Batam - 2013
PRAKTIKUM 1
Pengenalan Matlab
Tujuan
- Mahasiswa mengenal dan mampu mengoperasikan Matlab.
- Mahasiswa mengenal fungsi-fungsi built-in pada Matlab
- Mahasiswa mengetahui pembentukan dan manipulasi vektor dan matriks
Dasar Teori
1.1 Pengenalan Matlab
Matlab adalah singkatan dari MATrix LABoratory, merupakan bahasa
pemrograman yang dikembangkan oleh The Mathwork Inc. yang hadir dengan fungsi
dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih
dahulu seperti Delphi, Basic maupun C++. Matlab merupakan bahasa pemrograman
level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan
pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma,
simulasi dan pemodelan dan grafik-grafik perhitungan Pada awalnya Matlab dibuat
untuk memberikan kemudahan mengakses data matrik pada proyek LINPACK dan
EISPACK. Saat ini matlab memiliki ratusan fungsi yang dapat digunakan sebagai
problem solver baik permasalahan yang mudah maupun masalah-masalah yang
kompleks dari berbagai disiplin ilmu.
Beberapa kelebihan Matlab jika dibandingkan dengan program lain seperti
Fortran, dan Basic adalah :
a. Mudah dalam memanipulasi struktur matriks dan perhitungan berbagai operasi
matriks yang meliputi penjumlahan, pengurangan, perkalian, invers dan fungsi
matriks lainnya.
b. Menyediakan fasilitas untuk memplot struktur gambar (kekuatan fasilitas grafik
tiga dimensi yang sangat memadai).
c. Script program yang dapat diubah sesuai dengan keinginan user.
d. Jumlah routine-routine powerful yang berlimpah dan terus berkembang.
e. Kemampuan interface (misal dengan bahasa C, word dan mathematica).
3 Laboratorium Komputer - UNRIKA
f. Dilengkapi dengan toolbox, simulink, stateflow dan sebagainya, serta mulai
melimpahnya source code di internet yang dibuat dalam matlab ( contoh toolbox
misalnya : signal processing, control system, neural networks dan sebagainya).
Penggunaan MATLAB meliputi bidang-bidang :
- Matematika dan Komputasi
- Pembentukan Algorithm
- Akuisisi Data
- Pemodelan, simulasi dan Pembuatan Prototype
- Analisis Data, Explorasi, dan Visualisasi
- Grafik Keilmuan dan Bidang Rekayasa
Lingkungan kerja Matlab terdiri atas jendela-jendela berikut :
Command Window
Digunakan untuk menjalankan fungsi-fungsi Matlab, memanggil tool Matlab
seperti editor, fasilitas help, model simulink, dan lain-lain. Ciri dari windows ini
adalah adanya prompt (‘>>’) yang menyatakan Matlab siap menerima perintah.
Command history
Digunakan untuk menyimpan baris-baris perintah yang telah diketikkan di
Command Window. Kita dapat melihat fungsi-fungsi yang digunakan sebelumnya,
mengcopy dan menjalankannya kembali dari Command History.
Workspace
Berisi kumpulan variabel yang terbentuk sepanjang sesi Matlab dan disimpan di
memori.
Editor/debugger
Digunakan untuk membuat, mengedit, dan men-debug m-files, yakni program yang
dibuat untuk menjalankan fungsi-fungsi Matlab.
Variabel editor
Menampilkan isi array dalam format tabel dan dapat digunakan untuk mengedit isi
array.
Current directory browser
Operasi file Matlab menggunakan current directory dan search path sebagai
referensi. File yang akan dijalankan harus berada di current directory atau ada pada
search path.
Help
4 Laboratorium Komputer - UNRIKA
Untuk menghafalkan semua perintah Matlab mungkin akan menemui banyak
kesulitan. Untuk menemukan perintah-perintah itu, Matlab menyediakan bantuan
dengan menyediakan help online yang dapat diperoleh melalui keterangan cepat
pada command window atau pada help browser.
1.2 Karakter Spesial pada Matlab
Pada Matlab terdapat beberapa karakter spesial, yaitu :
- Tanda % → merupakan penanda komentar. Keterangan setelah tanda tersebut
akan diabaikan dalam proses
- Tanda ; → setiap instruksi yang diakhiri dengan tanda ini, hasilnya tidak akan
ditampilkan pada Command Window. Tanda ini juga digunakan
sebagai pemisah baris pada pembentukan matriks.
- Tanda : → merupakan pembatas jangkauan. Contoh : 0:2:5, berarti membentuk
matriks dengan elemen yang dimulai dari 0, dengan spasi 2 dengan
batas akhir 5. Sehingga diperoleh matriks berukuran 1x3 dengan
elemen 0, 2, 4.
- Tanda ‘ → merupakan tanda transpos matriks.
- Tanda ... → digunakan untuk menuliskan baris perintah yang panjang. Tanda ini
harus terletak diantara operator dan variabel atau fungsi.
5 Laboratorium Komputer - UNRIKA
Berikut adalah fungsi-fungsi khusus yang dapat diketikkan pada Command
Window :
>> what general ↵ : menunjukkan instruksi-instruksi yang tersedia di direktori
general, salah satunya adalah instruksi clear.
>> help ↵ : menunjukkan semua help topic di Matlab.
>> help general ↵ : menunjukkan instruksi-instruksi yang tersedia di direktori
general , dan fungsinya secara umum.
>> help ops ↵ : menunjukkan penulisan operator-operator di dalam Matlab.
>> clc; ↵ : digunakan untuk membersihkan layar. Instruksi ini tidak
menghapus variabel yang tersimpan di memori sehingga dapat
ditampilkan ke layar kembali dengan memanggil nama
variabelnya.
>> clear; ↵ : digunakan untuk menghapus variabel dari memori sehingga
variabel tidak dapat ditampilkan kembali ke layar.
1.3 Variabel
Setiap variabel yang digunakan pada Matlab akan tersimpan dalam Workspace.
Ada beberapa aturan penamaan variabel pada Matlab :
- 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, yaitu : Variabel Keterangan
ans Nama variabel standar untuk menampilkan hasil pi Perbandingan antara keliling lingkaran dengan diameternya inf Tak berhingga, misalnya 1/0
6 Laboratorium Komputer - UNRIKA
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
1.4 Fungsi-fungsi Built-in pada Matlab
Sebagian besar proses komputasi pada teknik menggunakan fungsi matematika
yang kompleks seperti fungsi logaritma, trigonometri dan fungsi-fungsi analisa
statistik. Matlab menyediakan library fungsi-fungsi built-in yang sangat banyak
sehingga memudahkan dalam proses komputasi. Kelebihan fungsi built-in pada
Matlab adalah dapat digunakan baik pada data skalar maupun yang berbentuk matriks.
Sebagai contoh : x = 9; x = [4, 9, 16];
b = sqrt(x) b = sqrt(x)
b = b =
3 2 3 4
Berikut adalah beberapa jenis fungsi-fungsi built-in pada Matlab : Fungsi Matematika Dasar
Fungsi Keterangan
abs Menghitung nilai absolut
exp Memperoleh nilai dari e pangkat bilangan tertentu (e = 2.718282)
log Menghitung logaritma natural (ln) suatu bilangan
sqrt Menghitung akar pangkat 2 dari suatu bilangan
ceil Membulatkan bilangan ke bilangan bulat terdekat menuju plus tak
berhingga.
fix Membulatkan bilangan ke bilangan bulat terdekat menuju nol..
floor Membulatkan bilangan ke bilangan bulat terdekat menuju minus tak
berhingga.
gcd Menghitung nilai faktor pembagi terbesar
isprime Menghasilkan true jika merupakan bilangan prima.
log10 Menghitung logaritma suatu bilangan untuk dasar 10.
mod Menghitung nilai modulus.
primes Menghasilkan daftar bilangan.
rem Menghitung nilai remainder.
round Membulatkan bilangan ke bilangan bulat terdekat.
7 Laboratorium Komputer - UNRIKA
Fungsi Trigonometri
Fungsi Keterangan
sin Menghitung sinus suatu bilangan, dimana bilangan dalam radian.
cos Menghitung cosinus suatu bilangan, dimana bilangan dalam radian.
tan Menghitung tangen suatu bilangan, dimana bilangan dalam radian.
acos Menghitung arccosinus (invers cos) suatu bilangan yang menghasilkan sudut
dalam radian, dimana bilangan harus antara -1 dan 1.
asin Menghitung arcsinus suatu bilangan yang menghasilkan sudut dalam radian,
dimana bilangan harus antara -1 dan 1.
atan Menghitung arctangensuatu bilangan yang menghasilkan sudut dalam radian.
cosh Menghitung cosinus hiperbolik dari suatu sudut dalam radian.
sinh Menghitung sinus hiperbolik dari suatu sudut dalam radian.
tanh Menghitung tangen hiperbolik dari suatu sudut dalam radian.
cosd Menghitung cosinus suatu bilangan, dimana bilangan dalam derajat.
sind Menghitung sinus suatu bilangan, dimana bilangan dalam derajat.
tand Menghitung tangen suatu bilangan, dimana bilangan dalam derajat.
sec Menghitung 1cos (𝑥𝑥)
suatu bilangan, dimana bilangan dalam radian.
csc Menghitung 1sin (𝑥𝑥)
suatu bilangan, dimana bilangan dalam radian.
cot Menghitung 1tan (𝑥𝑥)
suatu bilangan, dimana bilangan dalam radian.
Fungsi Analisa Data
Fungsi Keterangan
max menentukan nilai terbesar dari suatu vektor atau matriks.
min menentukan nilai terkecil dari suatu vektor atau matriks.
mean menentukan nilai rata-rata.
median menentukan median (nilai tengah) dari suatu vektor atau median dari masing-
masing kolom suatu matriks.
mode menentukan nilai yang paling sering muncul pada suatu array.
sum menghitung hasil penjumlahan semua elemen pada suatu vektor atau
penjumlahan elemen masing-masing kolom pada suatu matriks.
cumsum menghitung penjumlahan kumulatif antara array yang berbeda.
prod menghitung hasil perkalian elemen-elemen suatu vektor atau perkalian
elemen-elemen pada setiap kolom suatu matriks.
sort menyusun elemen suatu vektor atau elemen kolom suatu matriks.
8 Laboratorium Komputer - UNRIKA
1.5 Pembentukan dan Manipulasi Vektor dan Matriks
Matlab menyediakan fasilitas untuk membuat vektor sederhana dengan cara-cara
berikut : Pembentukan Vektor 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.
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.
Pada Matlab terdapat beberapa matriks spesial yang umum digunakan.
Jenisnya dapat dilihat pada tabel berikut :
Matriks Spesial
Fungsi Keterangan
[] 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
9 Laboratorium Komputer - UNRIKA
Fungsi-fungsi matriks yang disediakan oleh MATLAB ditunjukkan dalam
tabel berikut : 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.
condest(A) estimasi matriks bilangan kondisi l-norm.
d=eig(A) nilai eigen dan vektor eigen.
det(A) Determinan matriks A.
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.
norm(A,2) 2-norm (Euclidean).
norm(A,inf) ∞-norm (infinity).
norm(A,p) p-norm(hanya untuk vektor).
norm(A,’fro’) F-norm.
null(A) spasi kosong.
orth(A) Ortogonalisasi.
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.
10 Laboratorium Komputer - UNRIKA
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.
trace(A) jumlah elemen diagonal.
Ketika sebuah array didefinisikan, Matlab menyediakan cara 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.
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.
11 Laboratorium Komputer - UNRIKA
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. Berikut adalah operasi
matriks pada Matlab :
Oparasi Keterangan Contoh
Size Menghasilkan ukura matriks Size(A)
+ Menjumlahkan matriks C = A + B
* Mengalikan matriks C = A * B
.* Mengalikan elemen dengan elemen, dengan ketentuan
memiliki ukuran yang sama C = A .* B
^ Memangkatkan matriks dengan suatu skalar C = A^ k
.^ Memangkatkan elemen per elemen matriks dengan
skalar C = A .^ k
’ Transpose matriks A’
./ Membagi elemen per elemen dengan ketentuan
memiliki ukuran yang sama C = A ./ B
\ Menghasilkan solusi AX = B C = A \ B
/ Menghasilkan solusi XA = B C = A / B
Inv Menghasilkan invers matriks dengan ketentuan matriks
merupakan matriks bujur sangkar C = Inv(A)
Langkah-langkah Praktikum
1. Pengenalan Matlab
- Jalankan Matlab dengan double click pada ikon Matlab !
- Amati setiap jendela kerja Matlab. Tutup Workspace, Command History, dan
Current Folder kemudian tampilkan kembali centang masing-masing jendela pada
desktop di menu bar. Atur letaknya sesuai keinginan.
- Cobalah untuk mengeluarkan tiap jendela kerja dari jendela utama dengan cara klik
pada tanda panah pada masing-masing jendela kerja. Jika ingin dimasukkan kembali,
klik ulang pada tanda panah tersebut.
12 Laboratorium Komputer - UNRIKA
- Ubahlah karakteristik huruf command window dengan cara memilih menu File,
Preferences, lalu klik tanda plus di sebelah kiri tulisan command window, akan
tampil Fonts & color untuk memilih jenis dan warna huruf.
- Ketik what general pada Command Window. Cobalah beberapa fungsi general
berikut : memory, pwd, clear dan exit. Amati dan catat hasilnya !
- Ketikkan 5 + 2 pada Command Window. Tekan enter. Amati dan catat hasilnya !
- Ketikkan 5 + 2; pada Command Window. Tekan enter. Amati dan catat hasilnya !
2. Fungsi-fungsi Built-in pada Matlab
Ketikkan pernyataan/perintah di bawah ini pada Command Window. Pada masing-
masing pernyataan/perintah, akhiri dengan menekan tombol enter, kemudian catat dan
amati hasilnya untuk dianalisis !
- Operator komputasi :
A = 10 B = 5 A+B A-B A*B A/B B\A A^B
- Bilangan kompleks :
a = 4+3i
real(a)
imag(a)
abs(a)
angle(a)
conj(a)
- Fungsi matematis :
x=pi/3
a=0.01
acosh(a)
ceil(x)
exp(x)
fix(x)
13 Laboratorium Komputer - UNRIKA
floor(x)
log(x)
log10(a)
rem(x,a)
round(x)
sin(x)
sqrt(a)
tan(x)
3. Pembentukan dan Manipulasi vektor dan Matriks
- Ketikkan pernyataan/perintah di bawah ini pada Command Window, tekan enter
amati dan catat hasilnya !
X=0:2:10
X=linspace(0,pi,11)
M=logspace(0,2,11)
x=[2 2*pi sqrt(2) 2-3j]
- Bentuk matriks melalui Command Window dengan cara berikut ! Amati dan catat
hasilnya !
Cara 1:
a=[1 2 3; 4 5 6; 7 8 9]
Cara 2 :
a=[1 2 3 enter
3 5 6 enter
7 8 9];
Cara 3:
a1=[1 2 3];
a2=[4 5 6];
a3=[7 8 9];
a=[a1;a2;a3;];
a
14 Laboratorium Komputer - UNRIKA
Cara 4 :
a=input(‘Masukkan matrik= ‘);
Masukkan matrik=[1 2 3;4 5 6;7 8 9]
disp(a)
- Ketik perintah-perintah berikut. Amati dan catat hasilnya !
m_eye = eye(4)
m_rand = rand(3,4)
m_ones = ones(4,4)
m_zeros = zeros(3)
- Ketik perintah-perintah berikut. Amati dan catat hasilnya !
X = [0 2 4 6 8 10 12 14 16 18];
Y = [1 3 5 7 9 11 13 15 17 19];
X(7)
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)
PRAKTIKUM 2
Pembuatan Program
Tujuan
- Mahasiswa mengetahui cara membuat program dengan m-file
- Mahasiswa mengetahui struktur dan tipe data
- Mengetahui cara penanganan masukan dan keluaran pada program
- Mahasiswa mengetahui penggunaan user-defined function dalam sebuah program
Dasar Teori
2.1 Membuat Program pada m-file
Program Matlab dikenal dengan sebutan m-file, karena file ini berekstension m.
m-file 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 Command Window.
Pemanggilan m-file dilakukan dengan menuliskan nama file tersebut tanpa
menyebutkan ekstensionnya. m-file tidak mempunyai struktur tertentu, berbeda dengan
bahasa pemrograman C, Pascal atau Basic. m-file tidak harus diawali atau diakhiri
dengan kata kunci tertentu. File ini cukup disusun dari pernyataan, fungsi atau perintah
seperti halnya pada Command Window untuk membangun logika tertentu.
m-file berupa sederetan perintah Matlab yang dituliskan secara berurutan dan
tersimpan dengan 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 dan menghasilkan output.
Perbedaan antara script dan fungsi adalah sebagai berikut :
Script Fungsi
Tidak menerima argumen input dan
tidak menghasilkan argumen output
Menerima argumen input dan
menghasilkan argumen output
Beroperasi dengan data di workspace Variabel internal bersifat lokal
untuk fungsi itu sendiri
16 Laboratorium Komputer - UNRIKA
2.2 Struktur dan Tipe Data
Pada Matlab, tipe data yang digunakan sebagai default adalah tipe double.
Walaupun demikian, tipe data dapat berubah untuk menyesuaikan dengan nilai yang
diberikan kepadanya. Beberapa tipe data yang juga sebagai fungsi pengubah tipe data
antara lain :
single : bilangan pecahan presisi tunggal
double : bilangan pecahan presisi ganda
int8, int16, int32 : bilangan bulat 8,16, 32 bit bertanda
uint8, uint16, uint32 : bilangan bulat 8, 16, 32 tak bertanda
char : karakter atau string
Struktur data yang digunakan pada Matlab adalah :
- multidimensional array
merupakan array dengan tiga atau lebih subscript. Dapat dibentuk dengan
menggunakan fungsi zeros, ones, rand atau randn dengan argumen lebih dari
dua.
- cell array
merupakan multidimensional array dimana elemen-elemennya dicopy dari array
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 dan teks
merupakan teks yang diawali dan diakhiri dengan apostrof (‘). Setiap karakter
dalam suatu string adalah satu elemen array, dengan setiap elemennya sebesar 2
byte. String merupakan array numerik dengan atribut khusus, oleh karena itu string
dapat dimanipulasi dengan menggunakan semua metode manipulasi array yang
tersedia di Matlab.
2.3 Input dan Output oleh User
Program dengan m-file memerlukan beberapa perubahan kode jika
menggunakan nilai input yang berbeda. Matlab menyediakan fungsi yang dapat
digunakan oleh user sehingga tidak perlu mengganti kode program dengan
menggunakan fungsi input. Dengan fungsi ini, user dapat memasukkan nilai input
17 Laboratorium Komputer - UNRIKA
melalui keyboard sementara program dijalankan. Sintaks untuk fungsi input adalah
sebagai berikut :
a. Variabel = input('input nilai')
b. Variabel = input ('input string/teks','s')
Pada sintaks (a), secara default nilai yang diinputkan bertipe double. Jika
menginputkan string atau teks harus diapit oleh tanda apostrof (‘). Sintaks (b)
digunakan untuk input berupa string atau teks. Sintaks ini tidak perlu diapit oleh tanda
apostrof dan data yang dihasilkan bertipe char.
Pada Matlab ada beberapa cara untuk menampilkan nilai output. Cara paling
mudah adalah tidak menggunakan tanda semicolon (;) pada akhir sintaks yang ingin
ditampilkan hasilnya. Matlab juga menyediakan fungsi untuk menampilkan nilai
output, yaitu dengan menggunakan fungsi-fungsi berikut :
disp, digunakan untuk menampilkan array secara sederhana.
fprintf, digunakan untuk menampilkan array dengan menggunakan format
tertentu. Berikut adalah beberapa simbul yang digunakan oleh fungsi fprintf :
Format tipe bilangan Karakter khusus
Simbol Keterangan Simbol Keterangan
%d Notasi \n Pindah baris
%f Notasi fixed-point \r Serupa dengan \n
%o Notasi bilangan oktal \t Geser sebanyak 1 tab
%x, %X Notasi bilangan heksadesimal \b Backspace
%e, %E Notasi bilangan eksponensial
%c Menampilkan sebuah char tiap waktunya
%s Menampilkan keseluruhan string/karakter
2.4 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 %. Contoh
komentar adalah :
hasil_kali = input1*input2; % ini adalah contoh komentar
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
18 Laboratorium Komputer - UNRIKA
di antara nama variabel dan operator. Jadi nama variabel tidak dapat dipecah.
Contohnya adalah sebagai berikut :
function [var_output1, var_output2] = ... nama_fungsi(var_input1,var_input1)
Beberapa perintah dapat diletakkan pada baris yang sama dengan dipisahkan
oleh tanda koma atau titik koma. Tanda koma memberitahu Matlab untuk
menampilkan hasil sedangkan tanda titik koma mencegah penampilan hasil.
Contohnya adalah sebagai berikut :
>> a=3,b=2
a =
3
b =
2
>> a=3;b=2
b =
2
2.5 Struktur Fungsi
Matlab menyediakan berbagai fungsi yang build-in untuk berbagai keperluan.
Selain fungsi-fungsi build-in ini, user juga dapat membuat fungsi sendiri atau dikenal
sebagai user-defined function. Sebuah fungsi dapat dibuat pada m-file dan selalu
dimulai dengan baris pendefinisian fungsi yang terdiri atas kata function, variabel
yang menjadi output fungsi, nama fungsi dan variabel yang digunakan sebagai
argumen input. Bentuk umum fungsi dengan sebuah parameter input/output adalah :
function var_output = nama_fungsi(var_input)
Seperti halnya kita menggunakan fungsi build-in, fungsi yang dibuat sendiri dapat
dipanggil dengan format : var_output = nama_fungsi(var_input).
Fungsi yang dibuat sendiri dapat berupa fungsi dengan variabel input dan output
yang lebih dari satu. Bentuk umum untuk fungsi dengan multiple input / output adalah
sebagai berikut :
function [var_output1, var_output2,...] = ...
nama_fungsi(var_input1,var_input2,...)
Pada fungsi dengan beberapa variabel input, apabila cacah variabel saat pemanggilan
tidak sama dengan cacah variabel saat definisi, maka biasanya fungsi akan gagal
19 Laboratorium Komputer - UNRIKA
dijalankan. Matlab mempunyai kemampuan untuk menghitung cacah variabel input
dan cacah variabel output. Cacah variabel input dinyatakan dengan fungsi nargin,
sedangkan cacah variabel output dinyatakan dengan fungsi nargout.
Contoh fungsi dapat dilihat pada gambar di bawah ini :
Langkah-langkah Praktikum
1. Membuat Program Pada m-file
- Ketik program berikut pada Matlab editor, simpan dengan nama program21.m,
jalankan dengan mengetikkan program21 pada Command Window. Catat hasilnya ! Program 2.1
a=1 ; b=5 ;c=6 ; x = -b/2*a; y = sqrt(b^2-4*a*c)/(2*a); s1 = x+y; s2 = x-y;
- Ketik echo on pada Command Window kemudian ketik program21. Amati dan
catat hasilnya !
- Ketik echo off pada Command Window kemudian ketik program21. Amati dan
catat hasilnya !
- Tambahkan komentar pada baris-baris instruksi yang membutuhkan penjelasan !
- Jalankan program21.m melalui debug dengan cara klik debug→Run program21 atau
dapat menggunakan shortcut F5 !
Kata ‘function’
Variabel output
Nama fungsi
Variabel input
20 Laboratorium Komputer - UNRIKA
- Sebelum menjalankan program, tambahkan breakpoint pada baris kedua. Jalankan
program dengan F5 dan selanjutnya jalankan program per instruksi dengan F10.
2. Struktur dan Tipe Data
- Ketik program berikut pada Matlab editor, jangan akhiri setiap baris dengan tanda
titik-koma (;) agar nilai variabel muncul di layar. Simpan dengan nama tipedata.m,
kemudian jalankan melalui Command Window ! Program 2.2
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)
- Modifikasi program untuk int16, int32, uint16 dan uint32 !
- Lihat daftar variabel dengan perintah whos. Dari semua tipe data yang ada, urutkan
berdasarkan ukuran byte yang digunakan mulai dari yang terkecil hingga besar !
3. Input dan Output Oleh User
- Ketik program berikut dan simpan dengan nama coba_io1.m, kemudian jalankan !
Uji dengan input berupa bilangan bulat dan pecahan ! Program 2.3
bilangan = input('Masukan Bilangan = '); disp ('Bilangan Tersebut = '); disp (bilangan) matriks = input ('Masukan matriks = '); disp ('Matriks tersebut = '); disp (matriks)
- Ketik program berikut, simpan dengan nama coba_io2.m, kemudian jalankan !
Cobalah menginputkan nama dengan tanda apostrof dan tanpa apostrof untuk kedua
pertanyaan. Bandingkan hasil kedua output tersebut ! Program 2.4
nama1 = input('Siapa namamu ? '); disp (['nama saya ',nama1]); nama2 = input ('Siapa namamu ? ','s'); disp (['nama aku ',nama2]);
21 Laboratorium Komputer - UNRIKA
- Ketik program berikut, simpan dan jalankan sebanyak 3 kali dengan input yang
berbeda-beda ! amati dan catat hasilnya ! Program 2.5
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');
- Ketik program berikut, simpan dan jalankan sebanyak 3 kali dengan input yang
berbeda-beda ! amati dan catat hasilnya ! Program 2.6
w = input ('Bilangan bulat = '); fprintf ('desimal: %d \t oktal: %o \t hexadesimal: %x \n',w,w,w);
4. Struktur Fungsi
- Ketik program berikut, simpan dengan nama kali.m. Pada Command Window ketik
y=kali(2,4). Amati dan catat hasilnya ! Program 2.7
function hasil_kali = kali(input1, input2) hasil_kali = input1*input2; end
- Ubah program 2.1 dari bentuk script menjadi bentuk fungsi, kemudian coba jalankan
dari Command Window !
PRAKTIKUM 3
Kontrol Program
Tujuan
- Mahasiswa mengetahui struktur percabangan dengan pernyataan if dan switch
- Mahasiswa mengetahui struktur perulangan dengan loop for dan loop while
Dasar Teori
3.1 Percabangan (Branching) pada Matlab
Seperti halnya pada banyak bahasa pemrograman lainnya, percabangan pada
Matlab menggunakan pernyataan if dan switch. Kedua pernyataan ini digunakan untuk
penyeleksian kondisi dimana program dapat menentukan tindakan mana yang harus
dikerjakan tergantung hasil kondisi yang diseleksi. Flowchart sederhana yang
menggambarkan proses percabangan adalah sebagai berikut :
3.1.1 Percabangan dengan if
Pernyataan if digunakan untuk menyeleksi suatu kondisi atau syarat dan program
akan melakukan tindakan tertentu bila kondisi yang diseleksi benar dan melakukan
tindakan lainnya jika kondisi yang diseleksi tidak benar. Bentuk pernyataan if yang
digunakan dalam Matlab dapat dilihat pada tabel di bawah :
23 Laboratorium Komputer - UNRIKA
Satu syarat Dua syarat Tiga syarat atau
lebih
if syarat
Pernyataan X;
end;
if syarat
pernyataan X;
else
pernyataan Y;
end;
if syarat1
pernyataan X;
elseif syarat 2
pernyataan Y;
elseif syarat 3
pernyataan R;
elseif....
.......
else....
pernyataan Z;
end;
3.1.2 Percabangan dengan switch
Setiap pemrograman dalam pernyataan if pada dasarnya dapat menggunakan
pernyataan switch. Bedanya adalah switch memungkinkan percabangan beberapa
kasus dengan lebih mudah. Switch bekerja dengan membandingkan syarat terhadap
masing-masing konstanta case. Pernyataan setiap case akan dieksekusi jika konstanta
case memenuhi syarat. Bentuk dasar pernyataan switch adalah sebagai berikut :
Otherwise pada bentuk di atas merupakan bagian dari sintaks pernyataan switch yang
berarti setiap pernyataan setelah otherwise hanya akan dieksekusi jika tidak ada
satupun pernyataan case yang memenuhi syarat.
switch syarat
case konstanta 1
pernyataan 1
case konstanta 2
pernyataan 2
...
otherwise
pernyataan N
end;
24 Laboratorium Komputer - UNRIKA
3.2 Perulangan (Looping) pada Matlab
Perulangan atau iterasi adalah bentuk kendali aliran untuk melakukan pekerjaan
berulang kali menggunakan suatu nilai yang berfungsi sebagai pencacah atau counter.
Nilai pencacah dinaikkan atau diturunkan setiap kali satu pekerjaan dilakukan. Pada
operasi yang melibatkan vektor atau matriks, pencacah biasanya juga berfungsi
sebagai indeks, yang menunjukkan posisi elemen vektor atau matriks yang
dioperasikan. Terdapat dua macam perulangan yaitu perulangan berbatas (for) dan
perulangan bersyarat (while). Flowchart sederhana yang menggambarkan proses
percabangan adalah sebagai berikut :
3.2.1 Perulangan dengan for
Bentuk umum perulangan berbatas dengan for adalah sebagai berikut :
a.
b.
for pencacah = awal : perubahan : akhir
pernyataan operasi;
end;
for pencacah = awal : akhir
pernyataan operasi;
end;
25 Laboratorium Komputer - UNRIKA
Pada bentuk (a), perulangan akan dilakukan mulai dari pencacah sama dengan nilai
awal. Setelah satu operasi selesai dilakukan, nilai pencacah diubah sebesar nilai
perubahan. Perubahan dapat bernilai positif (naik) ataupun negatif (turun). Jika nilai
pencacah hasil pengubahan telah melebihi nilai akhir, maka perulangan dihentikan.
Pada bentuk (b) nilai perubahan tidak dinyatakan. Hal ini berarti perulangan bernilai
positif dengan kenaikan 1.
3.2.2 Perulangan dengan while
Kadangkala, syarat nilai akhir perulangan tidak bisa ditentukan dengan pasti.
Untuk itu, digunakan perulangan bersyarat. Jika nilai pencacah memenuhi syarat
perulangan, maka perulangan dilanjutkan. Jika nilai pencacah tidak memenuhi syarat
perulangan, maka perulangan dihentikan. Bentuk umum perulangan dengan while
adalah sebagai berikut :
Inisialisasi biasanya merupakan penetapan nilai awal dari pencacah. Nilai tersebut
akan diuji pada syarat perulangan. Pada pernyataan for nilai pencacah berubah secara
otomatis sementara pada pernyataan while, nilai pengubahan pencacah harus
ditangani sendiri dalam pernyataan operasi.
Inisialisasi
While syarat_perulangan
pernyataan operasi;
end;
26 Laboratorium Komputer - UNRIKA
Langkah-langkah Praktikum
Buatlah program-program berikut, simpan sebagai m-file kemudian jalankan. Amati
dan catat hasilnya !
1. Percabangan dengan if
Program berikut untuk menentukan bilangan genap dan ganjil.
Program 3.1 x = input('masukkan bilangan ! \n'); if(mod(x,2)==0) disp([num2str(x),' adalah bilangan genap']); end;
Program di atas hanya akan menampilkan hasil jika input yang dimasukkan
berupa bilangan genap. Jika terdapat dua pilihan maka digunakan pernyataan
if...else.... Berikut adalah contohnya :
Program 3.2 x = input('masukkan bilangan ! \n'); if(mod(x,2)==0) disp([num2str(x),' adalah bilangan genap']); else disp([num2str(x),' adalah bilangan ganjil']); end;
Jika syarat yang digunakan lebih dari tiga maka digunakan pernyataan if
bersarang (nested-if). Berikut adalah contohnya :
Program 3.3 bb0 = 0; ba0 = 0.8; %batas bawah dan atas untuk logika 0 bb1 = 4.2;ba1= 5; %batas bawah dan atas untuk logika 1 s=input('tegangan = '); if (s > bb1) && (s <= ba1) disp('logika 1'); elseif (s>=bb0) && (s<ba0) disp('logika 0'); else disp('tak terdefinisi'); fprintf('tegangan harus antara %.1f - %.1f',bb0,ba0); fprintf(' atau %.1f - %.1f\n',bb1,ba1); end;
27 Laboratorium Komputer - UNRIKA
2. Percabangan dengan switch
Program berikut merupakan contoh kalkulator sederhana untuk melakukan
operasi penjumlahan, pengurangan, perkalian dan pembagian. Pernyataan switch
digunakan untuk memilih operasi yang akan dilakukan.
Program 3.4 %Kalkulator input1 = input('data1 = '); input2 = input('data2 = '); operasi = input('jenis operasi [tambah:1,kurang:2,kali:3,bagi:4] adalah '); switch operasi case 1 hasil = input1+input2; disp (['hasil jumlah = ',num2str(hasil)]); case 2 hasil = input1-input2; disp (['hasil kurang = ',num2str(hasil)]); case 3 hasil = input1*input2; disp (['hasil kali = ',num2str(hasil)]); case 4 hasil = input1/input2; disp (['hasil bagi = ',num2str(hasil)]); end
Bandingkan dengan program berikut !
Program 3.5 input1 = input('data1 = '); input2 = input('data2 = '); operasi = input('pilih operasi [tambah,kurang,kali,bagi] ! ','s'); switch operasi case 'tambah' hasil = input1+input2; disp (['hasil jumlah = ',num2str(hasil)]); case 'kurang' hasil = input1-input2; disp (['hasil kurang = ',num2str(hasil)]); case 'kali' hasil = input1*input2; disp (['hasil kali = ',num2str(hasil)]); case 'bagi' hasil = input1/input2; disp (['hasil bagi = ',num2str(hasil)]); end
Pada contoh kalkulator di atas tersedia empat operasi yaitu penjumlahan,
pengurangan, perkalian dan pembagian. Bagaimana jika ada input berupa operasi
28 Laboratorium Komputer - UNRIKA
pangkat kuadrat, akar kuadrat maupun operasi yang lain ? Untuk mengakomodasinya
digunakan bentuk switch...case...otherwise. Berikut contohnya :
Program 3.6 input1 = input('data1 = '); input2 = input('data2 = '); operasi = input('pilih operasi [tambah,kurang,kali,bagi] ! ','s'); switch operasi case 'tambah' hasil = input1+input2; disp (['hasil jumlah = ',num2str(hasil)]); case 'kurang' hasil = input1-input2; disp (['hasil kurang = ',num2str(hasil)]); case 'kali' hasil = input1*input2; disp (['hasil kali = ',num2str(hasil)]); case 'bagi' hasil = input1/input2; disp (['hasil bagi = ',num2str(hasil)]); otherwise disp ('Tolong gunakan kalkulator yang lebih canggih !!!') end
3. Perulangan dengan for
Program berikut digunakan untuk menghitung nilai faktorial suatu bilangan.
Berdasarkan teori, n ! = n x (n-1) x (n-2) x ... x 2 x 1 dengan n bilangan asli dan 0! = 1.
Program 3.7 n = input ('n = '); for i = n-1:-1:1 n = n*i; end disp (['n ! = ', num2str(n)])
4. Perulangan dengan while
Perulangan dengan while pada dasarnya serupa dengan perulangan dengan for
sehingga program 3.7 untuk menghitung nilai faktorial dapat menggunakan pernyataan
while, yaitu sebagai berikut :
Program 3.8 n = input ('n = '); i=n-1; while i >= 1 n = n*i; i=i-1; end disp (['n ! = ', num2str(n)])
PRAKTIKUM 4
Grafik Fungsi
Tujuan
- Mahasiswa mengetahui plot grafik dua dimensi
- Mahasiswa mengetahui penggunaan subplot
- Mahasiswa mengetahui plot grafik tiga dimensi
Dasar Teori
4.1 Plot Grafik 2D
Untuk menggambar grafik dua dimensi digunakan fungsi 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 antar nilai. Berikut
adalah beberapa nilai yang dapat digunakan pada string s :
Simbol Warna Simbol Penandaan Simbol Style garis b Biru . Titik - solid g Hijau o Lingkaran : dotted r Merah x Tanda silang -. dash-dot c Cyan + Tanda plus -- dashed m Magenta * Bintang y Kuning s Bujursangkar k Hitam d Diamond w Putih ^ Segitiga ke atas
v Segitiga ke bawah < Segitiga ke kiri > Segitiga ke kanan p Pentagram h Heksagram
30 Laboratorium Komputer - UNRIKA
Jika anda tidak memilih warna dan hanya 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.
Kita juga dapat menentukan warna dan ukuran garis grafik melalui fungsi-fungsi
berikut :
LineWidth : menentukan ketebalan garis
MarkerEdgeColor : menentukan warna penanda atau warna tepian penanda masif.
MarkerFaceColor : menentukan warna muka penanda masif.
MarkerSize : menentukan ukuran penanda.
Beberapa fungsi untuk memberikan keterangan pada grafik adalah sebagai
berikut :
Fungsi Keterangan
title(string) Menambahkan judul pada bagian atas grafik yang aktif.
xlabel(string) Menambahkan teks di samping sumbu x pada grafik yang aktif.
ylabel(string) Menambahkan teks di samping sumbu y pada grafik yang aktif.
figure(h) Menghasilkan h gambar yang aktif pada layar.
box Menambahkan kotak pada grafik. Terdiri atas box on dan box off.
grid Menambahkan grid pada gambar. Terdiri atas grid on dan grid
off.
hold Menghentikan plot yang sedang dibuat sehingga dapat melakukan
plot lain pada gambar yang sama. Terdiri atas hold on dan hold off.
Contoh : Program 4.1 x = -10:10; y = x.^2; plot(x,y) title ('fungsi x^2') xlabel ('-10 \leq x \leq 10') ylabel('y=x^2') grid on
Hasilnya akan tampak sebagai berikut:
31 Laboratorium Komputer - UNRIKA
Pada sebuah gambar, Matlab secara otomatis akan memilih penskalaan
sumbu x dan y yang sesuai. Selain itu Matlab juga menyediakan fungsi yang dapat
digunakan oleh user untuk mengontrol dan memberi keterangan pada gambar.
Berikut adalah beberapa diantaranya : Fungsi Keterangan
axis(xmin,xmax,ymin,ymax) Mengeset batas untuk setiap sumbu
axis equal Mengeset semua sumbu dengan skala yang sama
text(x,y,string) Menambahkan teks pada lokasi (x,y) di grafik yang aktif. gtext(string) Menempatkan teks dengan mouse. legend(string1,string2,…) Menambahkan keterangan pada grafik dengan string-
string sebagai label. legend(...,pos) Memberikan keterangan dan meletakannya pada posisi
tertentu sesuai pos : 0 : diletakan pada posisi terbaik 1 : kanan atas (default) 2 : kiri atas 3 : kiri bawah 4 : kanan bawah -1: kanan atas di luar grafik
Kita juga dapat menampilkan beberapa grafik dalam satu frame. Matlab secara
otomatis akan membedakan grafik-grafik tersebut dengan warna yang berbeda-beda.
Contoh :
Program 4.2 x=linspace(0,2*pi,100); y1=cos(x); y2=cos(x-0.5); y3=cos(x-1.0); plot(x,y1,x,y2,x,y3) grid on legend ('cos(x)','cos(x-0.5)','cos(x-1.0)',3)
-10 -8 -6 -4 -2 0 2 4 6 8 100
10
20
30
40
50
60
70
80
90
100fungsi x2
-10 ≤ x ≤ 10
y=x2
32 Laboratorium Komputer - UNRIKA
Hasilnya akan tampak sebagai berikut :
Cara lain untuk menampilkan beberapa grafik dalam frame yang sama adalah
dengan menggunakan fungsi hold.
Contoh :
Program 4.3 x=linspace(0,2*pi,100); y1=cos(x); y2=cos(x-0.5); y3=cos(x-1.0); plot(x,y1,'--ms','LineWidth',2,'MarkerEdgeColor','b',... 'MarkerFaceColor','y','MarkerSize',4) hold on plot(x,y2,'-.gd') hold on plot(x,y3,':r^') grid on gtext('y1=cos(x)'); gtext('y2=cos(x-0.5)'); gtext('y3=cos(x-1.5)');
Hasilnya akan tampak sebagai berikut :
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
cos(x)cos(x-0.5)cos(x-1.0)
0 1 2 3 4 5 6 7-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
y1=cos(x)
y2=cos(x-0.5)
y3=cos(x-1.5)
33 Laboratorium Komputer - UNRIKA
Selain fungsi plot, terdapat fungsi lain yang umum digunakan untuk
menggambar grafik 2D, diantaranya :
Plot polar : plotting dalam koordinat polar
Fungsi yang digunakan adalah polar (theta,r), yang menghasilkan plot
polar dengan sudut theta (dalam radian) dan jari-jari r.
Contoh :
Program 4.4 x = 0:pi/100:pi; y = sin(x); polar(x,y)
Hasilnya akan tampak sebagai berikut :
Plot logaritmik : plotting dengan skala logaritmik (berbasis 10)
Fungsi yang digunakan : Fungsi Keterangan
semilogx(x,y) Plotting nilai x dan y dengan skala logaritmik pada sumbu x dan
skala linear pada sumbu y
semilogy(x,y) Plotting nilai x dan y dengan skala linear pada sumbu x dan skala
logaritmik pada sumbu y
loglog (x,y) Plotting nilai x dan y dengan skala logaritmik pada kedua sumbu
Bar dan Pie chart
Fungsi yang digunakan : Fungsi Keterangan
bar(x) Plot grafik bar vertikal
barh(x) Plot grafik bar horisontal
0.2
0.4
0.6
0.8
1
30
210
60
240
90
270
120
300
150
330
180 0
34 Laboratorium Komputer - UNRIKA
bar3(x) Plot grafik bar 3D vertikal
bar3h(x) Plot grafik bar 3D horisontal
pie(x) Plot pie chart
pie3(x) Plot pie chart 3D
Contoh :
Program 4.5 t=[10 30 21 52; 34 67 12 23; 90, 23, 45, 26; 58 94 30 20]; bar(t) grid on
Program 4.6 x = [1 3 0.5 2.5 2]; explode = [0 1 0 0 0]; pie(x,explode) colormap jet
Hasilnya akan tampak sebagai berikut :
(a) Hasil program 4.3 (b) Hasil program 4.4
Histogram
Histogram tipe grafik khusus yang biasanya digunakan untuk analisa statistik data.
Hasil plot menunjukkan distribusi nilai data. Fungsi yang digunakan adalah hist
(x).
Contoh :
Program 4.7 x = [100,95,74,87,22,78,34,35,93,88,86,42,55,48]; hist(x)
1 2 3 40
10
20
30
40
50
60
70
80
90
10011%
33%
6%
28%
22%
35 Laboratorium Komputer - UNRIKA
4.2 Plot Grafik 3D
Matlab menyediakan berbagai macam fungsi plotting 3D, beberapa diantaranya
dapat dilihat pada tabel berikut :
Fungsi Keterangan
plot3(x,y,z) Menampilkan grafik garis 3D
comet3(x,y,z) Menampilkan animasi versi plot3
mesh(z) atau mesh(x,y,z) Menampilkan plot meshed surface
surf(z) atau surf(x,y,z) Menampilkan plot permukaan (surface)
shading interp Interpolasi antar warna untuk
mengilustrasikan plot permukaan
shading flat Mewarnai setiap bagian grid dengan warna
padat (solid color)
colormap(map_name) Memungkinkan user untuk memilih pola
warna yang digunakan dalam plotting
contour(z) atau contour(x,y,z) Menampilkan plot kontur
surfc(z) atau surfc(x,y,z) Menampilkan kombinasi plot permukaan
dan plot kontur
pcolor(z) atau pcolor(x,y,z) Menampilkan pseudo color plot
Contoh :
Program 4.8 clear, clc x = linspace(0,10*pi,1000); y = cos(x); z = sin(x); plot3(x,y,z) grid on xlabel('x = angle'), ylabel('y = cos(x)'), ... zlabel('z = sin(x)'), title('A Spring')
20 30 40 50 60 70 80 90 1000
0.5
1
1.5
2
2.5
3
36 Laboratorium Komputer - UNRIKA
Hasilnya akan tampak sebagai berikut :
4.3 Menggunakan Subplot
Fungsi subplot digunakan untuk membagi jendela grafik ke dalam m baris
dan n kolom. Fungsinya adalah sebagai berikut :
Fungsi ini membagi gambar dalam matriks mxn. Variabel p menunjukkan letak axis
dari gambar yang diplot.
Contoh :
Program 4.9 clear, clc x= -2:0.2:2; y= -2:0.2:2; [X,Y] = meshgrid(x,y); Z = X.*exp(-X.^2 - Y.^2); subplot(2,2,1) mesh(X,Y,Z) title('Mesh Plot'), xlabel('x-axis'), ylabel('y-axis'), zlabel('z-axis') subplot(2,2,2) surf(X,Y,Z) title('Surface Plot'), xlabel('x-axis'), ylabel('y-axis'), zlabel('z-axis') subplot(2,2,3) contour(X,Y,Z) xlabel('x-axis'), ylabel('y-axis'), title('Contour Plot') subplot(2,2,4) surfc(X,Y,Z) xlabel('x-axis'), ylabel('y-axis') title('Combination Surface and Contour Plot')
010
2030
40
-1-0.5
0
0.51
-1
-0.5
0
0.5
1
x = angle
A Spring
y = cos(x)
z =
sin(
x)
subplot (m,n,p) atau subplot (m n p)
37 Laboratorium Komputer - UNRIKA
Hasilnya akan tampak sebagai berikut :
Berikut adalah beberapa ilustrasi penggunaan fungsi subplot :
-20
2
-20
2-0.5
0
0.5
x-axis
Mesh Plot
y-axis
z-ax
is
-20
2
-20
2-0.5
0
0.5
x-axis
Surface Plot
y-axis
z-ax
isx-axis
y-ax
is
Contour Plot
-2 -1 0 1 2-2
-1
0
1
2
-20
2
-20
2-0.5
0
0.5
x-axis
Combination Surface and Contour Plot
y-axis
38 Laboratorium Komputer - UNRIKA
Langkah-langkah Praktikum
- Jalankan program 4.1 untuk mencoba plot grafik 2D dengan fungsi plot. Amati dan
analisa hasilnya !
- Ubah warna, bentuk penanda dan bentuk garis dengan mengganti fungsi plot(x,y)
menjadi plot(x,y,'--rs'). Lakukan hal serupa untuk mengubah warna garis
menjadi hijau, bentuk penanda diamond dan bentuk garis dash-dot.
- Jalankan program 4.2 dan 4.3 untuk mencoba plot lebih dari sebuah grafik dalam
frame yang sama. Amati dan analisa hasilnya !
- Amati fungsi-fungsi Matlab yang digunakan untuk memberikan keterangan gambar
pada program 4.2 dan 4.3 !
- Jalankan program 4.4, 4.5, 4.6 dan 4.7 untuk mencoba plot grafik 2D dengan fungsi
polar, bar, pie dan hist. Amati dan analisa hasilnya !
- Jalankan program 4.8 untuk mencoba plot grafik 3D dengan fungsi plot3. Amati
dan analisa hasilnya !
- Jalankan program 4.9 untuk mencoba fungsi subplot. Amati dan analisa hasilnya !