Modul Prakt Pemrograman Komputer

40
Modul Praktikum DASAR KOMPUTER DAN PEMROGRAMAN Jurusan Teknik Elektro Fakultas Teknik - UNRIKA Batam – 2013

description

Matlab, pemrograman

Transcript of Modul Prakt Pemrograman Komputer

Page 1: Modul Prakt Pemrograman Komputer

Modul Praktikum

DASAR KOMPUTER DAN

PEMROGRAMAN

Jurusan Teknik Elektro

Fakultas Teknik - UNRIKA

Batam – 2013

Page 2: Modul Prakt Pemrograman Komputer

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

Page 3: Modul Prakt Pemrograman Komputer

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

Page 4: Modul Prakt Pemrograman Komputer

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

Page 5: Modul Prakt Pemrograman Komputer

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

Page 6: Modul Prakt Pemrograman Komputer

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.

Page 7: Modul Prakt Pemrograman Komputer

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

Page 8: Modul Prakt Pemrograman Komputer

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.

Page 9: Modul Prakt Pemrograman Komputer

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.

Page 10: Modul Prakt Pemrograman Komputer

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

Page 11: Modul Prakt Pemrograman Komputer

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.

Page 12: Modul Prakt Pemrograman Komputer

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.

Page 13: Modul Prakt Pemrograman Komputer

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.

Page 14: Modul Prakt Pemrograman Komputer

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)

Page 15: Modul Prakt Pemrograman Komputer

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

Page 16: Modul Prakt Pemrograman Komputer

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)

Page 17: Modul Prakt Pemrograman Komputer

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

Page 18: Modul Prakt Pemrograman Komputer

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

Page 19: Modul Prakt Pemrograman Komputer

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

Page 20: Modul Prakt Pemrograman Komputer

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

Page 21: Modul Prakt Pemrograman Komputer

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

Page 22: Modul Prakt Pemrograman Komputer

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]);

Page 23: Modul Prakt Pemrograman Komputer

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 !

Page 24: Modul Prakt Pemrograman Komputer

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 :

Page 25: Modul Prakt Pemrograman Komputer

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;

Page 26: Modul Prakt Pemrograman Komputer

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;

Page 27: Modul Prakt Pemrograman Komputer

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;

Page 28: Modul Prakt Pemrograman Komputer

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;

Page 29: Modul Prakt Pemrograman Komputer

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

Page 30: Modul Prakt Pemrograman Komputer

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

Page 31: Modul Prakt Pemrograman Komputer

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

Page 32: Modul Prakt Pemrograman Komputer

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:

Page 33: Modul Prakt Pemrograman Komputer

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

Page 34: Modul Prakt Pemrograman Komputer

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)

Page 35: Modul Prakt Pemrograman Komputer

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

Page 36: Modul Prakt Pemrograman Komputer

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%

Page 37: Modul Prakt Pemrograman Komputer

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

Page 38: Modul Prakt Pemrograman Komputer

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)

Page 39: Modul Prakt Pemrograman Komputer

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

Page 40: Modul Prakt Pemrograman Komputer

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 !