MODUL I MENGENAL MATLAB TUJUAN •
Mahasiswa dapat mengenal MATLAB
•
Mahasiswa dapat menggunakan fungsi Help
•
Mahasiswa dapat menggunakan operasi pada MATLAB
TEORI Gambaran sederhana tentang MATLAB adalah sebuah kalkulator yang mampu melakukan perhitungan yang sederhana dan rumit, selain itu kemampuan MATLAB yang lain adalah dalam hal visualisasi atau grafik dari hasil suatu fungsi
matematika.
MATLAB
merupakan
bahasa
pemrograman
yang
menggunakan bahasa command line. MATLAB juga menyediakan fungsi-fungsi matematika yang sangat lengkap, misalkan sqrt, det, inv, dst. Data yang dikelola dapat berbentuk array maupun matriks. MATLAB mempunyai fasilitas Mfile yang digunakan untuk menyimpan program. PRAKTEK a. Memulai MATLAB dan mengakhiri •
Pilih Start Æ pilih MATLAB
•
Maka akan muncul tampilan seperti dibawah ini
command windows
1
Command window adalah area dimana user dapat melakukan perintah operasi atau memanggill fungsi yang disediakan oleh MATLAB. Jika akan keluar dari MATLAB ketik quit, maka user akan keluar dari MATLAB. -
perhitungan matematika sederhana
menghitung luas dan keliling lingkaran
-
perhitungan matriks
•
menginpukan matriks
•
melakukan operasi matriks : penjumlahan, perkalian, determinan dan invers
2
b.
Memanfaatkan fasilitas Help MATLAB memiliki banyak perintah yang tidak mudah untuk diingat. Untuk menemukan perintah tersebut MATLAB menyediakan perintah help. -
misal untuk mengetahui perintah determinan (det) dan akar (sqrt)
3
TUGAS 1. Hitung volume silinder dengan jarai-jari alas 10, tinggi silinder 21 2. Lakukan operasi penjumlahan dan perkalian 2 matriks, hitung invers, determinan dan transpose dari hasil operasi tersebut pada matriks berordo : No mhs ganjil : ukuran ordo 3 X 3 No mhs genap : ukuran ordo 4 X 4
4
MODUL II FUNGSI-FUNGSI PADA MATLAB Tujuan •
Mahasiswa dapat mengerti dan mampu menggunakan fungsi yang ada untuk analisis pada metode numeric
•
Mahasiswa dapat menyimpan dan memanggil data
Teori Sama seperti kalkulator biasa, MATLAB mempunyai beberapa fungsi umum yang penting untuk matematika(dalam hal ini metode numeric). MATLAb juga memiliki ratusan fungsi khusus dan algoritma yang berguna untuk penyelesaian permasalahan tertentu. Fungsi-fungsi umum yang terdapat pada MATLAB antara lain: •
Abs(x)
: harga mutlak
•
Acos(x)
: invers cos
•
Asin(x)
: invers sin
•
Atan(x)
: invers tangen
•
Cos(x)
; cosinus
•
Sin(x)
: sinus
•
Exp(x)
: eksponensial
•
Fix(x)
: pembulatan kearah nol
•
Imag(x)
: bagian imaginer suatu bilangan kompleks
•
Log(x)
: logaritma natural
•
Real(x)
: bilangan real suatu bilangan kompleks
•
Log10(x)
: logaritma biasa
•
Rem(x)
: sisa pembagian
•
Round(x)
: pembulatan kearah bilangan bulat terdekat
•
Floor(x)
: pembulatan kearah minus tak terhingga
•
Ceil(x)
: pembulatan kearah plus tak berhingga
5
Data dan variable yang dibuat dalam jendela command tersimpan dalam ruang kerja MATLAB. Untuk menampilkan nama-nama dalam ruang kerja MATLAB gunakan perintah : who Praktek Akan digunakan beberapa fungsi yang ada diatas
contoh : peluruan Radioaktif Elemen radioaktif uranium mempunyai umur paruh 160 hari, yang berarti bahwa setelah 160 hari maka jumlah uranium akan menjadi setengah dari kondisi semula. Jika terdapat 20 gram uranium hari ini, berapakah yang tinggal setelah 200 hari? Maka jumlah yang tinggal= jumlah yg masih ada= jumlah semula x (0.5) waktu / paruhhwaktu Penulisan dalam MATLAB
6
sekarang akan dipanggil variable diatas dengan perintah who pada MATLAB
untuk informasi yang lebih detail gunakan :whos
untuk menyimpan data dalam MATLAB gunakan save
variable yang kita miliki telah tersimpan pada matlab.mat dengan format biner.
7
Tugas Lakukan perhitungan bunga pada kasus pembelian mobil secara kredit dibawah ini: Si Adi telah menyetujui untuk membeli baru merk BMW seharga 500 juta. Dealer mobil menawarkan dua pilihan kredit untuk pembelian, yaitu: 1 . bunga 10 % /tahun selama 3 tahun dan 2. bunga 9,8%/thn selama 4 tahun Tentukan pilihan yang terbaik untuk Adi, jelaskan perhitungan bunganya, berapa dia harus membayar kredit mobil perbulannya? tampilkan variable-variabel yang anda gunakan. (perhitungkan dua alternatif yang ada tersebut)
8
MODUL III OPERASI MATRIK DAN GRAFIK Tujuan: •
Mahasiswa dapat melakukan operasi matriks
•
Mahasiswa dapat menggunakan perintah pembuatan grafik
Teori MATLAB menyediakan banyak fungsi matrik yang berguna untuk menyelesaikan masalah-masalah numerik dan linier. Gambaran singkat fungsi matrik diantaranya seperti dibawah ini: •
Det(A) : determinan matriks
•
Eig(A) : nilai eigen
•
Chol(A)
•
Inv(A) : invers matriks
•
Lu(A) : factor dari eliminasi gauss
•
Poli(A)
: karakteriostik polynomial
•
Rank(A)
: jumlah baris dan kolom bebas linier
: faktorisasi cholesky
Selain fungsi diatas MATLAB juga menyediakan fungsi matrik khusus, diantaranya sbb: •
[ ]
: matriks kosong
•
eye
: matriks identitas
•
hadamard
: matriks hadamard
•
company
: matriks companion
•
hankel : matriks hankel
•
hilb
•
invhilb : invers Hilbert
•
magic : matriks segiempat ajaib
•
ones
•
pascal : matriks segitiga pascal
•
zeros : matriks dengan semua elemen nol
:matriks Hilbert
: matriks dengan semua elemen Satu
9
Pada MATLAB juga terdapat fungsi yang dapat menampilkan grafik dari suatu fungsi dengan menggunakan perintah plot (grafik 2 dimensi). Untuk mencetak suatu grafik dari menu barÆ klik jendela figure Æ gunakan perintah print (dari menu file). Praktek Diketahui 2 matrik A ordo 3x4 dan matriks B ordo 4x4 seperti dibawah ini
akan dicari perhitungan matriks : AB, det(B),det(A), BA, invers(A), invers(B) dan det(inversB)
10
contoh memunculkan matriks khusus
Akan dibuat grafik fungsi sebagai berikut:
y = sin(5 x)
, dengan interval x adalah
− 5 sampai dengan 5, maka tampilan pada MATLAB sbb:
11
sehingga grafik yang muncul sbb:
Tugas
1. Buat persamaan linier dengan 5 persamaan dan 5 variabel, selesaikan dengan menggunakan invers dan determinan. 2. Tampilkan : matrik identitas, matriks nol ,matriks yang elemennya satu dengan ordo minimal 4x4 . 3. Gambarlah grafik fungsi y=cos(x) dan y=tan(x)
12
MODUL IV MENGENAL M-FILE Tujuan •
Mahasiswa dapat mengenal script M-File pada Matlab
•
Mahasiswa dapat menggunakan script pada M-file
Dasar Teori Apabila dipunyai masalah sederhana, perintah langsung dari jendela command cukup cepat dan efektif, tetapi jika perintah banyak atau ingin mengubah nilai beberapa variable, kemudian mengulang kembali perhitungannya maka perintah langsung sangat membosankan. Matlab membolehkan pengetikan deretan perintah tersebut pada suatu teks file, kemudian memerintahakn Matlab untuk membuka file tersebut dan menjalankannya seolah-olah diketikan langsung dijendela command. File seperti ini disebut file script atau M-File. File ini diakhiri dengan ekstensi.m Perintah-perintah yang ada pada M-File antara lain: 1. disp(ans)
= digunakan untuk menampilkan hasil tanpa menampilkan nama variable.
2. echo
= mengatur jendela command dalam penampilan kembali perintah
yang sedang dikerjakan. 3. input
= meminta pemakai untuk memberikan input
4. keyboard
= memberikan kontrol pada keyboard sementara waktu. Ketikkan
return untuk kembali. 5. pause
= berhenti sampai pemakai menekan sembarang tombol.
6. pause(n)
= berhenti sampai n detik
7. waitforbuttonpress = berhenti sampai penekanan tombol mouse atau keyboard. Jika perintah Matlab tidak diakhiri dengan titik koma, hasil perintah itu serta nama variabelnya akan ditampilakn kembali dalam jendela command.
Praktek Contoh berikut adalah cara pembuatan script dalam M-File Ketikkan perintah yang ada dibawah ini pada M-file editor
13
Kemudian simpan pada direktori work yang ada pada Matlab. Setelah itu tampilkan hasil dari x1 pada jendela command dengan mengetikan seperti dibawah ini
Tugas 1. Lengkapi rumus.m diatas untuk menghitung x2, tampilkan hasilnya 2. Tentukan persamaan berikut a. x 2 − 5 x + 6 = 0
b. x 2 + 2.5 x − 1.5 = 0 3 Diketahui persamaan linier 2a + b – c = 2 a + 2b – c=2 a- b + 2c = 2 Buat script M-File untuk menyelesaikan system persamaan linier diatas dengan metode invers dan determinan. 4. Selesaikan soal diatas dengan Matlab interaktif
14
MODUL V MENGENAL FUNGSI PADA M-FILE Tujuan
•
Mahasiswa mengenal fungsi M-file pada Matlab
•
Mahasiswa dapat mengetahui fungsi M-File pada Matlab
Dasar Teori
Saat fungsi Matlab seperti inv, sqrt dan lain-lain digunakan Matlab menerima variable yang diberikan, menghitung hasil berdasarkan input dan mengembalikan hasil akhir (output). Perintah-perintah yang digunakan oleh fungsi tidak dapat dilihat, karena yang dilihat hanya apa yang diinputkan dan outputnya. Dengan demikian dapat digambarkan fungsi sebagai kotak hitam. Didalam Matlab masalah yang seperti ini dapat diselesaikan dengan adanya fungsi M-File, dimana kita dapat membuat fungsi sendiri. M-file sangat cocok digunakan untuk menyelesaikan masalah besar atau komplek. Pemberian nama fungsi harus sama dengan file yang disimpan dalam direktori work pada Matlab. Praktek
Akan digunakan fungsi flipud untuk matrik ukuran n x n seperti dibawah ini, ketikkan pada M-file dan simpan dengan nama file flipud.
Jalankan fungsi ini pada jendela command dan berikan input matriks sembarang seperti dibawah ini
15
contoh lain tentang fungsi penjadwalan pembayaran
Permasalahan : Perhatikan suatu pinjaman A dollar dengan bunga tahunan R persen, dibayar lunas dalam M bulan. Tulis suatu M-File yang menampilkan jadwal pembayaran jika tidak ada argumen output yang diberikan, pembayaran bulanan P jika diberikan satu argumen output atau pembayaran bulanan P dan suatu matriks numerik yang memuat jadwal pembayaran jika diberikan dua argumen output. Penyelesaian: Pembayaran bulan P pada pinjaman A dolar, dengan tingkat bunga tahunan R yang dibayar lunas pada bulan M adalah: ⎡ R(1 + R) M ⎤ P = A⎢ ⎥ M ⎣ (1 + R) − 1⎦
Saat pembayaran pertama, bunga yang dibayar adalah Ip1=RxA. Dengan pembayaran P, uang pokok yang dibayar adalah Pr1=P-Ip1 dan sisa pinjaman adalah B1=A-Pr1. Pada setiap pembayaran sesudahnya, bunga yang dibayar adalah Ipm = RxBm −1 , dan sisa pinjaman adalah
Bm = Bm −1 − Prm . Dengan menggunakan informasi ini,
penyelesaian fungsi M-file adalah:
function[P,S]=loan(a,r,m) % mulai dengan pengecekan kesalahan if nargin<3, error('Diperlukan argumen input.'), end if fix(m)~=m, error('Jumlah bulan harus bilangan bulat.'); end
16
% perhitungan rm=(r/100)/12; %tingkat bunga bulanan p=a*(rm*(1+rm)^m/((1+rm)^m-1)); % pembayaran yang diperlukan if nargout==1 % selesai jika pembayaran diperlukan P=p; % kopi output kevariabel output return end
B=zeros(m,1) % variabel keterangan untuk sisa pinjaman tiap bulan Ip=B; % variabel bungan yang dibayar tiap bulan Pr=B; % variabel untk pinj pokok tiap bulan
for i=1:m % membuat tabel data
if i==1 % hitung bunga jk sisa pinj adalah jumlah awal Ip(i)=rm*a; else % sisa pinj adalah B(i-1) Ip(i)=rm*B(i-1); end
Pr(i)=p-Ip(i); % pinj pokok dibayar bulan ini if i==i % menghitung sisa pinj setelah pembayaran B(i)=a-Pr(i); else B(i)=B(i-1)-Pr(i); end end
B(abs(B)<0.001)=0; % mengeset sisa pinjaman mendekati nol s=[(1:m)' B Ip Pr];
if nargout==0 % menampilkan tabel disp(['Jumlah = 'num2str(a)]) disp(['Tingkat bunga = 'num2str(r)]) disp([' jumlah bulan = 'int2str(m)]) disp(['pembayaran = 'num2str(p)]) disp(' ') disp('
Jadwal pembayaran')
disp('Pembayaran SisaPinjaman Bunga Uang_pokok') fprintf(' %5.0f %12.2f
%12.2f % 12.2f\n',s')
17
else % dua argumen output diminta P=p; S=s; end
Untuk melihat hasil fungsi diatas, ketikkan nama fungsinya pada jendela command, seperti dibawh ini
Loan adalah nama file dalam M-File dan juga fungsi yang kita berikan untuk penyelesaian masalah diatas.
Tugas
Coba program diatas untuk perhitungan bunga, dengan pinjaman 20jt, tingkat bunga 10%, 11% dan 12% dengan masa pinjaman 5 thn, 7thn dan 10 thn.
18
MODUL VI AKAR PERSAMAAN Non LINIER Tujuan
•
Mahasiswa dapat menentukan akar-akar persamaan non Linier
•
Mahasiswa menggunakan fasilitas M-File
•
Mahasiswa dapat menyelesaikan persamaan Newton Raphson
Teori
Didalam permasalahan numeric yang sifatnya non linier, sangatlah mudah apabila dapat diselesaikan dengan menggunkan fungsi dalam M-File. Persamaan linier dapat disajikan f(x)=0 dengan f(x) adalah fungsi non linier. Rumus iterasi metode Newton Raphson adalah sebagai berikut: xi +1 = xi −
f ( xi ) f ' ( xi )
Algoritma atau langkah-langkah pencarian akar dengan metode Raphson sebagai berikut: a. Tentukan taksiran awal ( x0 ) dan ε atau batas toleransi b. Hitung xi +1 dengan rumus diatas c. Jika | xi +1 − xi | ≤ ε , maka berhenti d. Jika langkah ke tiga belum dipenuhi ulangi langkah b. Praktek
Akan dicari akar persamaan f ( x) = x 2 + 2,1x − 1 Untuk penyelesaian dengan Matlab diperlukan 2 M-File, file pertama merupakan fungsi fequat (salah satu fungsi dalam Matlab) yang berisi fungsi fequat dan persamaan yang akan dhitung. File kedua adalah listing program perhitungan metode Newton Raphson. Penulisan listing program dalam M-File dengan nama file Newton, file Newton ini merupakan file pertama yang harus dibuat. Seperti dibawah ini
19
File kedua yaitu file fequat yang berisi persamaan yang akan diselesaikan seperti dibawah ini:
Dari menjalankan kedua fungsi tersebut pada Matlab Command, maka menghasilkan penyelesaian dari persamaan diatas seperti dibawah ini
20
Tugas
1. Coba program diatas dengan nilai awal 0, 0.5, 10 2. Coba persamaan diatas dengan persamaan dibawah ini f ( x) = x 3 + x 2 + 2 x − 2 dengan nilai awal 0, 0.1, 1 dan 5 dengan toleransi 0.005.
21
MODUL VII AKAR PERSAMAAN NON-LINIER Tujuan
•
Mahasiswa dapat menentukan akar-akar persamaan non Linier dengan metode Secant
•
Mahasiswa mampu membuat M-File
•
Mahasiswa dapat membuat program dalam M-file dengan metode Secant
Teori
Iterasi metode Secant untuk menentukan akar persamaan non-linier adalah: xi +1 = xi − f ( xi )
xi − xi −1 f ( xi ) − f ( xi −1 )
Pada metode ini diperlukan 2 nilai awal metode awal . Tugas
Buatlah program metode secant dengan persamaan pada contoh modul 6.
22
MODUL VIII Proyek program Metode Numerik Tujuan
•
Mahasiswa mampu membuat program untuk penyelesaian masalah-masalah Metode Numerik
Tugas Buatlah program dengan topik salah berikut ini: 1. Akar persamaan non linier dengan metode setengah interval 2. Akar persamaan non linier dengan metode false potition 3. Penyelesaian persamaan linier dengan L U 4. Penyelesaian persamaan linier dengan Gauss Jourdan 5. Integral numeris dengan metode Trapesoidal 6. Integral numeris dengan metode simphson 7. atau topik lain dibidang metode numeric dan konfirmasi dahulu dengan asisten
23
DAFTAR PUSTAKA
Duane Hanselman & Bruce Littlefield, 1997, Matlab, Prentice Hall, Inc, New Jersey.
Kais Ismail Ibrahim dan Anwarudin Hisyam, 2003, Metode Numerik, UAD Press, Yogyakarta.
Shoichiro Nakamura, 1996, Numerical Analysis and Graphic Visualization with Matlab, Prentice Hall, Inc, New Jersey.
24