modul 2 fungsi m dan visualisasi fungsi dalam · pdf filelaboratorium komputasi fakultas...
TRANSCRIPT
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
MODUL 2
FUNGSI M DAN VISUALISASI FUNGSI
DALAM BENTUK GRAFIK DAN KONTUR
KOMPETENSI:
1. Praktikan memahami apa yang dimaksud dengan Fungsi M .
2. Praktikan dapat membuat suatu Fungsi M dengan format yang baik.
3. Praktikan dapat menggunakan fungsi‐fungsi grafis yang ada dalam MATLAB.
I. DASAR TEORI PENGERTIAN FUNGSI M
Fungsi yang dapat dipanggil oleh MATLAB ada dua, yaitu :
• Fungsi‐fungsi yang sudah ada dalam Matlab dan
• Fungsi‐fungsi yang berekstensi .m.
Fungsi yang sudah ada dalam Matlab ini disebut fungsi built in. Sedangkan fungsi
berekstensi .m disebut dengan Fungsi M. Fungsi M adalah suatu file yang berisi
perintah/fungsi‐fungsi built in yang disimpan dengan ekstensi .m.
Fungsi M ini adalah file program dalam matlab, sama halnya dengan file berekstensi
.pas pada PASCAL, file berekstensi .bas pada BASIC, dan file berekstensi .c pada TURBO C.
Jadi jelas di sini bahwa tipe yang dapat dipanggil oleh MATLAB adalah file berekstensi .m.
A. Penulisan Fungsi M
Fungsi M dapat disimpan dengan sembarang editor teks. Matlab menyediakan
editor teks yaitu MEditor untuk membuat M file. Agar M file yang dibuat dapat dieksekusi
dari Matlab, maka harus dipastikan dulu bahwa M file tersebut disimpan ke directory yang
termasuk path‐path Matlab, atau tersimpan pada current directory dari Matlab! Atau
current directory Matlab yang diubah ke directory dimana M file yang hendak dieksekusi
berada!
Untuk membuka MEditor, yang merupakan editor Matlab, dapat dilakukan dengan
memilih menu File New M‐FILE pada menu windows Matlab.
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-1
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
B. Struktur Fungsi M
Fungsi M terdiri dari fungsi‐fungsi built in yang ada dalam MATLAB serta baris‐baris
komentar untuk memperjelas fungsi dari program yang dibuat. Secara garis besar Fungsi M
dapat dibagi menjadi tiga bagian, yaitu bagian ‘header’ yang terdiri dari pendeklarasian
fungsi dan bagian help, bagian ‘process’ yang berisi perhitungan/komputasi untuk
mendapatkan hasil yang diinginkan. Dan yang terakhir adalah bagian ‘resolusi’ yang berisi
penampilan hasil‐hasil yang didapat dari bagian procces. Untuk lebih jelasnya perhatikan
struktur Fungsi M yang pada gambar 2.1 :
I function [X,Y, ... ]=file1[A,B, ...]
% Baris‐baris komentar yang berfungsi sebagai bagian dari
II % tampilan help. Baris ini akan ditampilan jika diberikan
% perintah help file1.
Fungsi built‐in Matlab
.
III .
.
Fungsi built‐in Matlab
% Komentar keterangan fungsi dari bagian program
Fungsi built‐in Matlab
IV .
.
.
Fungsi built‐in Matlab
X % untuk menampilkan hasil perhitungan.
Y
V
Gambar 2.1 Struktur M File
Keterangan Struktur Fungsi M di atas :
Bagian I adalah bagian Pendeklarasian Nama Fungsi (‘file1’), varible yang akan dilewatkan
ke Fungsi M (A,B, ..) dan variable yang dihasilkan (X,Y, ...).
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-2
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta Bagian II adalah bagian Tampilan Help dari Fungsi M tersebut. Bagian ini juga mencakup
keterangan/komentar penjelasan tentang kegunaan dari Fungsi M.
Bagian III adalah rangkaian perintah‐perintah matlab yang biasanya berupa fungsi‐fungsi
built in matlab.
Bagian IV adalah bagian dari Fungsi M yang mempunyai satu kesatuan fungsi tertentu,
sehingga perlu diberikan keterangan tentang kegunaan bagian ini agar memudahkan
pemeriksaan dan perawatan Fungsi.
Bagian V adalah bagian untuk menampilkan informasi yang dihasilkan.
C. Contoh Pembuatan Fungsi M
Untuk lebih jelasnya perhatikan contoh di berikut ini :
Misal kita ingin membentuk Fungsi M dengan nama baru.m.
baru.m ini dapat menghitung invers, determinan, dan eigen value secara langsung dari
matriks
A = [ 7 8 9
4 5 6
1 2 3 ]
Bukalah Meditor dan ketikan script dibawah ini dan disimpan sebagai baru.m adalah
function baru
% Fungsi M untuk menghitung invers,determinan dan
% eigen value dari matrik A. Matrik A bernilai :
% [ 7 8 9
% 4 5 6
% 1 2 3 ]
% B bernilai invers dari A
% C bernilai determinan dari A
% D bernilai eigen value dari A
A = [ 7 8 9 ; 4 5 6 ; 1 2 3 ];
% untuk mencari invers A
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-3
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
B = inv(A);
% untuk mencari determinan A
C = det(A);
% untuk mencari nilai eigen A
D = eig(A);
% untuk menampilkan hasil perhitungan
A
B
C
D
A, B, C, D di atas merupakan satu kesatuan dalam baru.m
Jika diberikan perintah :
>> help baru
maka di layar matlab akan dihasilkan :
Fungsi M untuk menghitung invers,determinan dan
eigen value dari matrik A. Matrik A bernilai :
[ 7 8 9
4 5 6
1 2 3 ]
B bernilai invers dari A
C bernilai determinan dari A
D bernilai eigen value dari A
Tanda titik koma (;) dibelakang baris perintah berfungsi untuk tidak menampilkan nilai dari
variabel yang sedang dihitung.
FUNGSI‐FUNGSI GRAFIS DASAR MATLAB menyediakan banyak fasilitas untuk fungsi‐fungsi grafis. Di bawah ini akan
diberikan beberapa fungsi grafis dasar beserta fungsi secara globalnya. Untuk fungsi grafis
yang lain, dapat dipelajari lebih mendalam pada langkah percobaan.
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-4
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta Beberapa Fungsi‐Fungsi Grafis Dasar antara lain :
Echo on
Echo off
Title
Plot
Mesh
Grid
Loglog
Pause
Hold
Xlabel
Ylabel
:
:
:
:
:
:
:
:
:
:
:
untuk menampilkan sesuatu.
untuk tidak menampilkan sesuatu.
untuk memberi judul.
untuk mengambar 2 dimensi.
untuk mengambar 3 dimensi.
untuk memberikan garis‐garis grid pada gambar.
untuk menggambar 2 dimensi dalam skala log.
untuk menghentikan langkah program sementara.
untuk mengabungkan atau menghapus grafik dengan grafik baru.
untuk memberi nama pada axis X.
untuk memberi nama pada axis Y.
Perlu diperhatikan fungsi dari perintah echo dan hold. Kedua perintah itu berfungsi untuk
mengubah keadaan. Untuk perintah echo, jika keadaan echo sedang on dan diberikan
perintah echo lagi, maka keadaan echo menjadi off, lalu diberikan perintah echo lagi maka
keadaan echo akan kembali menjadi on. Echo pada saat on akan menampilkan semua baris
perintah yang ada dalam Fungsi M.
Begitu pun dengan perintah hold. Hold dalam keadaan on akan mengabungkan grafik lama
dengan grafik baru. Sedangkan perintah echo on, echo off, hold on, hold off adalah perintah
yang pasti, keadaan akan berubah sesuai dengan kata yang mengikutinya (on atau off).
II. DEMO
KASUS:
Seorang tuan tanah meminta anda untuk menghitung berapa panjang pagar yang
dibutuhkan untuk mengelilingi atau membatasi bidang tanahnya. Bidang tanahnya
berbentuk persegi panjang dengan sisi yang satu 23 meter dan sisi lainnya 17 meter.
Anda sebagai pengguna editor Matlab dapat menggunakan fasilitas M‐file, untuk
membantu menyelesaikan permasalahan tersebut.
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-5
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta LANGKAH‐LANGKAH KERJA:
1. Aktifkan aplikasi Matlab dengan cara double click pada icon matlab yang tersedia di
desktop. Dan akan muncul jendela command Matlab.
2. Lalu buka Meditor dengan cara pilih menu File New M‐file
3. Kemudian akan muncul jendela Meditor yang hampir sama seperti Notepad.
4. Kemudian ketikkan kode di bawah:
function keliling = persegipanjang(p,l) %menghitung keliling persegi panjang dengan masukan melalui %parameter input keliling = 2*(p+l);
5. Setelah selesai maka simpan dengan nama yang sama dengan function yang dibuat
(dalam hal ini adalah ”persegipanjang”) . Pilih menu File Save
6. Pilih direktori yang telah ditentukan oleh asisten (C:\MATLAB6p1\work) dan simpan
dengan nama persegipanjang.m. Perlu diketahui, bahwa dapat memanggil sebuah
function dari matlab, kita perlu mengubah Current Directory Matlab ke directory
dimana file yang dibuat itu disimpan. Kemudian tutup m‐editor dan kembali ke jendela
command.
7. Untuk menjalankannya maka ketik
>> persegipanjang(23,17)
Maka hasilnya akan muncul:
ans =
80
Jalankan dengan cara lain:
>> KP = persegipanjang(23,17)
Maka hasilnya:
KP =
80
9. Selain dengan cara di atas, kita juga bisa memvariasikan kode sesuai kebutuhan.
Perhatikan kode di bawah ini:
function persegipanjang1 %menghitung keliling persegi panjang dengan masukan melalui %piranti keyboard p = input('masukkan panjang tanah > '); l = input('masukkan lebar tanah > ');
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-6
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
keliling = 2*(p+l); display(keliling)
10. Setelah itu simpan dengan nama persegipanjang1.m pada folder yang telah ditentukan.
Dan dapat dipanggil dengan cara yang sama seperti di atas.
>> persegipanjang1
masukkan panjang tanah > 23
masukkan lebar tanah > 17
Maka Hasilnya adalah:
keliling =
80
11. Dengan cara yang sama seperti sebelumnya kita dapat memodifikasi fungsi serupa
dengan kode M‐file seperti dibawah ini.
function V = persegipanjang2 %menghitung keliling persegipanjang dengan outputnya berupa vektor %dan nilai diinputkan langsung dalam fungsi p = 23; l = 17; keliling = 2*(p+l); luas = p*l; V = [keliling, luas];
12. Setelah itu simpan dengan nama persegipanjang2.m pada folder yang telah ditentukan.
Dan dapat dipanggil dengan cara yang sama seperti di atas, yaitu:
>> V = persegipanjang2
V =
80 391
keliling luas
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-7
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta III. LATIHAN TERPANDU
Untuk setiap nomer latihan dibawah ini, cetaklah hasilnya dan laporkan analisanya di
laporan resmi! Untuk tiap nomor yang memberi output grafik, harap dicetak grafiknya dan
disertakan untuk melengkapi analisa pada nomor yang bersangkutan. Salin grafik atau
tampilan apa saja yang ada dari Matlab ke aplikasi MS Office dengan cara menekan tombol:
Ctrl+Alt+PrtScr dari keyboard kemudian di‐paste dengan menekan tombol: Ctrl+V
1. Buatlah fungsi untuk menampilkan tanggal bulan dan tahun sekarang!
• Ketikkan kode dibawah ini dengan Meditor:
function sekarang echo on % Fungsi M untuk menampilkan % tanggal, bulan, dan tahun sekarang echo off m=fix(clock); Tanggal_sekarang=m(3); Bulan_sekarang=m(2); Tahun_sekarang=m(1); Tanggal_sekarang Bulan_sekarang Tahun_sekarang clc % Penampilan tulisan dengan perintah text figure(1); text(0.1,0.6,' NAMA SAYA : [nama masing‐masing]') text(0.1,0.5,' NOMOR MAHASISWA : (NIM masing‐masing)') text(0.1,0.4,' UNIVERSITAS ATMA JAYA YOGYAKARTA') clc
• Simpan kode diatas sebagai sekarang.m ke directory yang ditentukan dan pastikan
dapat dipanggil dari Matlab
• Jalankan dengan mengetikkan :
>> sekarang
• Amati hasilnya. Dari fungsi tersebut, ada dua output yang akan tampil, yang
pertama berupa tampilan Tanggal, Bulan dan Tahun di command window, yang
kedua adalah tampilan grafik yang berisi identitas pembuat program (praktikan).
Salin tampilan tersebut ke aplikasi word processing.
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-8
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
• Grafik‐grafik yang tampil disimpan ke direktory C:\MATLAB6p1\work dengan nama
yang sama dengan nama file (sekarang) berekstensi .fig, sehingga nama file untuk
grafik yang tampil adalah sekarang.fig. Selanjutnya, anda diminta menyimpan dua
buah file, yang pertama berekstensi .m kedua berekstensi .fig.
2. Buatlah gambar kompas cara berikut:
• Ketikan kode m‐file dibawah ini dengan Meditor
function kompas echo on % Menggambar kompas dengan perintah compass z = eig(rand(4)); figure(2); compass(z) clc % Membentuk plot batang x=‐2.9:0.2:2.9; figure(3); bar(x,exp(‐x.*x)); clc % Membentuk plot anak tangga x=0:.25:10; figure(4); stairs(x,sin(x)); clc
• Simpan sebagai kompas.m didirektory yang telah ditentukan dan pastikan dapat
dipanggil dari Matlab. Amati dan pahami perintah‐perintah built‐in yang ada
seperti bar, stairs dan compass..!!!
• Jalankan di Matlab dengan mengetikkan : >> kompas
3. Nomor ini akan mencoba penggunaan fungsi built‐in hold (fungsi hold berulang).
Ketikkan, simpan dan jalankan kode m‐file dibawah ini:
function ujihold %penggunaan perintah hold x=‐pi:pi/100:pi; figure(5); plot(x,sin(x)); x=‐pi:pi/100:pi; figure(6);
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-9
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
plot(x,sin(x)); hold; plot(x,cos(x)); x=‐pi:pi/100:pi; figure(7); plot(x,sin(x)); hold plot(x,cos(x)); hold; plot(x,sin(x)); Jelaskan pada laporan apa perbedaan antara figure 5, 6, dan 7 dengan adanya penggunaan perintah hold berulang ?
4. Buatlah fungsi m‐file untuk mencari determinan dari invers suatu matriks, dengan
ketentuan data matriks dimasukkan oleh user pada saat fungsi dijalankan!
Caranya: ketikkan, simpan dan jalankan fungsi m‐file berikut :
function detinv %script file untuk menghitung determinan dari invers suatu %matrix 3x3 for n=1:3 for m=1:3 A(n,m) = 0; end end for n=1:3 for m=1:3 A(n,m) = input('masukkan end end I = inv(A); D = det(I); display(A); display(I); display(D);
♦ Jalankan dan masukkan data sepe
>> detinv
masukkan elemen = 4 < ENTER >
masukkan elemen = 2 < ENTER >
masukkan elemen = 3 < ENTER >
Modul 2 –Fungsi M dan Visualisasi Fungsi d
Untuk menjadikanmatrix A menjadi matrix null
elemen = ')
rti dibawah ini
alam Bentuk Grafis dan Kontur 2-10
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
masukkan elemen = 2 < ENTER >
masukkan elemen = 0 < ENTER >
masukkan elemen = 1 < ENTER >
masukkan elemen = 3 < ENTER >
masukkan elemen = 2 < ENTER >
masukkan elemen = 5 < ENTER >
A =
4 2 3
2 0 1
3 2 5
I =
0.2000 0.4000 ‐0.2000
0.7000 ‐1.1000 ‐0.2000
‐0.4000 0.2000 0.4000
D =
‐0.1000
5. Buatlah sebuah fungsi untuk mencari akar‐akar kuadrat dari sebuah persamaan
kuadrat. Dengan permintaan dari user untuk memasukkan koefisien dari persamaan
kuadrat yang mau dicari akar‐akarnya langsung melalui parameter input dan outputnya
langsung ditampilkan.
♦ Pertama‐tama buka M‐file baru lalu ketikkan kode di bawah ini:
function mykuadrat(a,b,c) %mencari akar‐akar kuadrat dari sebuah persamaan kuadrat yang %koefisiennya dimasukkan melalui parameter input x1 = (‐b + sqrt(b.^2 ‐ (4*a*c)))/(2*a); x2 = (‐b ‐ sqrt(b.^2 ‐ (4*a*c)))/(2*a); display(x1); display(x2);
♦ Setelah itu simpan dengan nama mykuadrat.m
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-11
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
♦ Panggil dengan cara ketik:
>> mykuadrat(1,10,16)
ans =
‐2
‐8
♦ Dari persamaan kuadrat di atas yakni X2 + 10X + 16, diperoleh akar‐akarnya adalah
sebagai berikut X1 = ‐2 dan X2 = ‐8. Dengan akar‐akar fungsi kuadrat tersebut,
bandingkan penelusuran kembali koefisian polynomialnya jika anda menggunakan
fungsi built in‐ poly.
♦ Sebelumnya dibuat sebuah vektor yang berisi akar‐akar persamaan di atas :
>> m = [‐2 ‐8]
Hasilnya :
m =
‐2 ‐8
♦ Ketikkan perintah :
>> poly(m)
ans =
1 10 16
>> p = poly(m)
p =
1 10 16
♦ Setelah mendapat koefisian polynomialnya, bandingkan pencarian akar‐akarnya jika
anda menggunakan fungsi built in‐ roots.
>> roots(p)
ans =
‐8
‐2
♦ Jelaskan maksud dari penggunaan fungsi built in‐ poly dan roots diatas...!
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-12
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta 6. Mirip dengan langkah ke‐5, buatlah sebuah fungsi untuk mencari akar‐akar kuadrat dari
sebuah persamaan kuadrat. Dengan permintaan dari user agar koefisien persamaan
kuadrat ditampung ke dalam sebuah vektor lalu vektor tersebut yang akan menjadi
input bagi fungsi yang dibuat.
• Pertama‐tama buka M‐file baru lalu ketikkan kode di bawah ini:
function V = mykuadrat2(k) %mencari akar‐akar kuadrat dari sebuah persamaan kuadrat yang ditampung %dalam sebuah vektor a = k(:,1); b = k(:,2); c = k(:,3); x1 = (‐b + sqrt(b.^2 ‐ (4*a*c)))/(2*a); x2 = (‐b ‐ sqrt(b.^2 ‐ (4*a*c)))/(2*a); V = [x1,x2];
♦ Setelah itu simpan dengan nama mykuadrat2.m
♦ Kemudian buat sebuah vektor k yang berisi koefisien dari persamaan yang mau
dicari akar‐akarnya.
>> k=[1,‐6,‐7]
k =
1 ‐6 ‐7
♦ Lalu panggil melalui command window Matlab dengan mengetikkan:
>>mykuadrat2(k)
ans =
7 ‐1
♦ Atau kita dapat menyimpan hasil perhitungan dalam sebuah variabel yang kita
tentukan misalnya ditampung dalam variabel vektor.
>> vektor = mykuadrat2(k)
vektor =
7 ‐1
♦ Jelaskan perbedaan yang terdapat pada function mykuadrat dan mykuadrat2, pada
laporan Anda!
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-13
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta 7. Agar menjadi lebih mudah, user meminta Anda untuk menampilkan grafiknya beserta
hasil pencarian akar‐akar dari persamaan kuadrat dengan range
atau jangkauan nilai X antara ‐2π sampai 2π.
cbxaxy ++= 22 2
♦ Pertama‐tama buka M‐file baru lalu ketikkan kode di bawah ini:
function Mykurva(a,b,c) %menggambarkan kurva persamaan y = 2*a*x*x + 2*b*x + c x = linspace(‐2*pi,2*pi,30); y = ((2*a)*(x.^2)) + ((2*b)*x) + (c); x1 = (‐(2*b) + sqrt((2*b).^2 ‐ (4*(2*a)*(c))))/(2*(2*a)); x2 = (‐(2*b) ‐ sqrt((2*b).^2 ‐ (4*(2*a)*(c))))/(2*(2*a)); display([x1,x2]) plot(x,y,'ro')
♦ Setelah itu simpan dengan nama Mykurva.m
♦ Panggil fungsi dengan cara ketik:
>> Mykurva(1,1,‐12)
ans =
2 ‐3
♦ Output grafik atau kurva yang diplotkan adalah sebagai berikut :
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-14
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
♦ Salin grafik tersebut ke aplikasi MS Word dengan cara menekan tombol:
Ctrl+Alt+PrtScr dari keyboard kemudian di‐paste dengan menekan tombol: Ctrl+V.
Simpan pula grafik atau figure tersebut pada direktory yang sama dengan nama file
Mykurva.fig.
♦ Jelaskan pada laporan Anda maksud dari baris perintah terakhir yakni perintah
plot(x,y,'ro') dari function Mykurva!
8. Seorang user meminta dibuatkan function untuk menampilkan grafik 3 dimensi dari
persamaan x2+y2+z2= 0. Untuk itu gunakanlah M‐file dan perintah mesh.
♦ Pertama‐tama buka M‐file baru lalu ketikkan kode di bawah ini:
function mymesh clc echo on % Membuat Kurva dengan persamaan z‐x^2‐y^2=0 x=‐7.5:.5:7.5; y=x; [x,y]=meshgrid(x,y); z=(x.^2+y.^2);
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-15
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
figure(1); mesh(x,y,z) title('Kurva Persamaan z‐x^2‐y^2=0') xlabel('Sumbu x') ylabel('Sumbu y') zlabel('Sumbu z')
♦ Setelah itu simpan dengan nama mymesh.m
♦ Kemudian kembali ke jendela command matlab dan panggil dengan cara ketik:
>> mymesh
9. Buatkan sebuah function untuk menghasilkan transpose dari suatu matriks yang
elemennya diinputkan oleh user saat fungsi dijalankan.
♦ Pertama‐tama buka M‐file baru lalu ketikkan kode di bawah ini:
function [b] = transpose(a) %menghasilkan matriks b yang merupakan %transpose dari sebuah matriks a for i=1:3 for j=1:3 b[i,j] = a[j,i] end end
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-16
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
♦ Setelah itu simpan dengan nama transpose.m pada folder yang telah ditentukan.
♦ Kemudian kembali ke command window matlab, buatlah sebuah matriks bernilai
random 4x4 dengan mengetikkan A = rand(4), lalu panggil function transpose
dengan mengetikkan transpose(A). Catat hasilnya..!!!
♦ Untuk pemanggilan function yang memiliki parameter output gunakan variabel
untuk menampungnya, misalnya :
>> P = [ 1 1 6<enter>
6 1 1<enter>
1 6 1]
>> Q = transpose(P)
Q =
1 6 1
1 1 6
6 1 1
♦ Jelaskan pada laporan resmi mengapa pemanggilan fungsi transpose dilakukan
seperti di atas!
10. Visualisasi Fungsi dengan KONTUR
Jika plot adalah statemen MATLAB untuk visualisasi fungsi )(xfy = , maka
contour adalah statemen MATLAB untuk memvisualisasikan fungsi . ),( yxfz =
Fungsi mengungkapkan hubungan antara pasangan dua variabel bebas
dengan sebuah variabel tak bebas z. Kedua variabel bebas itu pada
dasarnya dapat digambarkan merupakan sebuah titik dalam bidang datar yang
dibentuk oleh sumbu‐datar x dan sumbu‐tegak y. Misalkan bidang datar yang
digunakan adalah sebuah kertas yang di atas kertas itu sebuah fungsi hendak
ditampilkan, maka pada dasarnya visualisasi dapat berupa tampilan titik‐titik data
pada posisi atau lokasi yang tepat, dengan data nilai z yang bersangkutan
dengan titik itu dituliskan di dekatnya. Namun jika cara itu dilakukan, maka hasilnya
),( yxfz =
),( yx ),( yx
),( yx
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-17
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
adalah tampilan yang pasti membosankan – apalagi jika data yang tersedia cukup besar
jumlahnya…..! Maka cara yang lebih elegan adalah dengan :
(1) menghubungkan titik‐titik (x,y) dengan nilai z yang sama dalam garis kontur dan (2)
mencantumkan nilai z yang sesuai untuk kontur itu didekat garis kontur tersebut.
Garis kontur adalah garis dengan nilai z sama (iso‐z). Sehingga, garis‐garis itu tidak
berpotongan satu sama lain dan pada dasarnya garis kontur membentuk lingkaran
tertutup. Cacah garis kontur sebenarnya dapat mencapai nilai tak terhingga, namun
pada dasarnya dapat dibatasi sesuai dengan kebutuhan. Yang secara visual dapat
diamati adalah informasi tentang arah ke mana terjadi gerakan “mendaki” atau
“menurun” dan apakah ”pendakian” atau “penurunan” itu “terjal” atau “curam”.
Kontur merupakan visualisasi yang paling akurat tentang fungsi dua variabel bebas dari
sebuah besaran tak bebas. Informasi tentang lokasi dimana terjadi kondisi maksimum,
atau minimum, atau lokasi lokal dimana terjadi sekaligus maksimum dan minimum juga
dapat diidentifikasi. Singkatnya kontur merupakan teknik visualisasi yang penting dalam
komunikasi ilmiah dan hidup sehari‐hari.
Sebuah contoh hasil eksekusi adalah di bawah ini, untuk .
Skrip MATLAB untuk menampilkan kontur dari fungsi di atas :
22 22 yxyxyxz +++−=
% kontur z = x ‐ y + 2x^2 + 2xy + y^2 clear; clc; clf; set(gcf,'DefaultLineLineWidth',2,... 'DefaultAxesFontSize',13,... 'DefaultAxesPosition',[0.13 0.11 0.775 0.775],... 'DefaultTextFontSize',12)
m
xx = ‐4 : .01 : 4; yy = ‐4 : .01 : 4 ; [x,y] = meshgrid (xx,yy); z = x ‐ y + 2.*x.^2 + 2.*x.*y + y.^2 ; v = [‐1 0 1 2 3 5 10 15 20 30 40]; [C,h] = contour (x,y,z,v); xlabel ('sumbu x');
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
Statemen ini bermaksud
emberi spesifikasi tentang
format grafis yang
diharapkan.
SKRIP KUNCI
2-18
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
ylabel ('sumbu y'); title ('kontur z = x ‐ y + 2x^2 + 2xy + y^2'); clabel (C,h); grid on; hold on; % menemukan nilai minimum zmin = min(min(z)); cmin = find (z==zmin); titik_min = [x(cmin), y(cmin)]; plot (x(cmin), y(cmin), 'o'); text (x(cmin), y(cmin), 'Min');
♦ Setelah itu simpan dengan nama kontur.m pada folder yang telah ditentukan.
♦ Kemudian kembali ke command window matlab, lalu panggil function transpose
dengan mengetikkan :
>> kontur
♦ Amati hasilnya..!!! Salin tampilan kontur ke MS Word, kemudian simpan file asli ke
direktory C:\MATLAB6p1\work, beri nama figure dengan nama : kontur.fig.
♦ Hasil yang tampak sebagai berikut :
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-19
Laboratorium Komputasi Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta
♦ Jelaskan pada laporan resmi tentang pemanggilan fungsi contour yang dilakukan
seperti di atas! Anda dapat menggali berbagai hal teknis tentang pemrograman
MATLAB dengan mengacu kepada hasil eksekusi, menggunakan perintah help
diikuti nama fungsi, serta membuat latihan secukupnya.
Modul 2 –Fungsi M dan Visualisasi Fungsi dalam Bentuk Grafis dan Kontur
2-20