METODE NUMERIK
S1 Teknik Informatika
STMIK Amikom Yogyakarta
2016
Format Laporan Praktikum
Metode Numerik
Disusun Oleh :
Nama : (Nama Praktikan)
NIM/Kelas : (NIM/Kelas Praktikan)
Nama Asisten : 1. Asisten Parktikum
2. Asisten Parktikum
3. Asisten Parktikum 3
Dasar Teori
Pada awalnya MatLab hanya dikenal sebagai “Matrik Laboratory”, tetapi sesuai dengan
perkembangannya MatLab adalah bahasa yang canggih untuk komputasi teknik. Di dalamnya
terdapat kemampuan penghitungan, visualisasi, dan pemograman dalam suatu lingkungan yang
mudah untuk digunakan karena permasalahan dan pemecahannya dinyatakan dalam notasi
matematika biasa. Kegunaan MatLab secara umum adalah sebagai berikut:
a) Matematika dan komputasi,
b) Perkembangan algoritma,
c) Pemodelan, simulasi, dan pembuatan prototype,
d) Analisa data, eksplorasi dan visualisasim
e) Pembuatan aplikasi, termasuk pembuatan antaramuka grafis.
Matlab bukan merupakan compiler tetapi mempunyai sifat compiler. Ada dua file yang dapat
dibuat :
1. .mat
2. .m
Semua perintah pada MATLAB ditulis dengan huruf kecil dan variabel pada MATLAB bersifat
case sensitive.
Command Window
Merupakan window yang digunakan untuk mengeksekusi instruksi per baris. Command
window siap digunakan jika sudah muncul prompt sbb:
>>
Setiap akan mengeksekusi baris instruksi, harus menekan tombol enter ()
Path
direktori
Matlab
Toolbox Prompt
command
window
Variabel2 yang
tersimpan di
memori
Ikuti baris perintah di bawah ini dan perhatikan apa yang muncul dibaris berikutnya.
1. >> help
Menunjukkan semua help topic di Matlab.
3. >>help general
Menunjukkan instruksi-instruksi yang tersedia di direktori general , dan fungsinya secara
umum.
4. >>help clear
Menunjukkan penjelasan detail untuk instruksi clear. (Fungsinya untuk apa, syntaxnya untuk
apa, fungsi lain yang terkait apa)
6. >> x=5;
>>y=6
Instruksi pertama diakhiri dengan ; artinya nilai x akan disimpan di memori.
Instruksi kedua tidak diakhiri dengan ; artinya nilai y akan disimpan di memori sekaligus
ditampilkan ke layer.
7. >>clc;
>>x
>>y
clc digunakan untuk membersihkan layar, tetapi nilai variable yang tersimpan dimemori tidak
akan hilang sehingga dapat ditampilkan kembali ke layer dengan memanggil nama
variabelnya.
8. >>clear;
>>x
>>y
clear digunakan untuk menghapus variable dari memori sehingga kita tidak dapat
menampilkan nilai variable ke layer. (muncul pesan ??? Undefined function or variable 'x'.)
9. >> x=4;
Cara 2 :
>>a=[1 2 3 enter
5 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
Cara 4:
Dengan input.
>>a=input(‘Masukkan matrik= ‘);
>>Masukkan matrik=[1 2 3;4 5 6;7 8 9]
>>disp(a)
Cobalah keempat cara diatas.
13. >>x-y
Akan muncul sbb :
ans =
0 0 2
-1 1 2
0 1 1
Merupakan hasil pengurangan matrik x dan y.
Syarat matrik dapat dikurangkan : ukurannya harus sama
14. >>x*y;
Akan muncul sbb:
ans =
16. >>z=diff(y,2)
Akan muncul sbb:
z =
6*x+4
Merupakan turunan kedua fungsi y.
TUGAS :
1. Dengan menggunakan perintah help, tuliskan empat instruksi yang anda ketahui dan anda
pahami, jelaskan juga instruksi tersebut digunakan untuk apa dan gunakan instruksi
tersebut pada program serta tuliskan hasilnya
2. Ambil instruksi yang belum digunakan pada langkah kerja praktikum dan berikan juga
contoh penggunaan instruksi tersebut pada program serta tuliskan hasilnya.
Teori
Langkah Kerja :
1. Cobalah contoh berikut:
% Contoh 1
% menjumlahkan dua angka
clc;clear;
a1=input('Masukkan angka pertama: ');
Bagaimana outputnya ?
Agar kasus tersebut bisa kita handle maka ubah program diatas menjadi seperti berikut:
% Contoh 3
% menjumlahkan dua matrik
clc;clear;
a1=input('Masukkan matrik pertama: ');
a2=input('Masukkan matrik kedua : ');
[b1,k1]=size(a1);
[b2,k2]=size(a2);
if (b1==b2)&(k1==k2)
Modul Metode Numerik Page 12
a3=a1+a2;
disp('Hasilnya');
disp(a3);
else
disp('Matrik tidak dapat dijumlahkan');
end
3. Mencari determinan
% Contoh 4
% mencari determinan matrik
clc;clear;
a=input('Matrik a = ');
a1=det(a);
disp('Determinan a = ');
disp(a1);
1 3 5
b. a = Bagaimana outputnya?
7 9 11
Agar kasus point b dapat kita tangani maka cobalah contoh berikut :
% Contoh 5
% mencari determinan matrik
clc;clear;
a=input('Matrik a = ');
[b,k]=size(a);
if (b==k)
a1=det(a);
disp('Determinan a = ');
Modul Metode Numerik Page 13
disp(a1);
else
disp('Tidak dapat dicari determinannya');
disp('karena bukan matrik bujur sangkar');
end
4. Pembuktian determinan = 0
a. Minimal dua baris/ kolom nilainya sama.
%mencari determinan matrik, baris 1 = baris 2
clc;clear;
a=input('Matrik a = ');
a1=det(a);
clc;
disp('Matrik a =');
disp(a);
fprintf('Determinan matrik a = %3.0f \n',a1);
[br,k]=size(a);
b=a;
for i=1:br
b(1,i)=a(2,i);
end
disp('Matrik a dengan baris pertama = baris kedua');
disp(b);
b1=det(b);
fprintf('Determinan matrik a dengan baris pertama 0 = %3.0f',b1);
TUGAS :
1. Buat program untuk membuktikan sifat bahwa determinan = 0 jika salah satu baris/kolom
merupakan kelipatan dari baris/kolom lainnya.
2. Buat program untuk membuktikan bahwa determinan akan berubah tanda jika dua
baris/kolom ditukar.
Jawaban No. 2
Persamaan linear.
→ jika digambar merupakan garis lurus
Syarat :
Jumlah pers > = jml var.
Cara menyelesaikan :
1. substitusi.
2. eliminasi
Aj
3. determinan (cramer) xj , j 1,2,...,n
A
Untuk mencoba contoh-contoh program yang ada dapat digunakan soal berikut:
3x + 5y = 21
x+y=5
3x + 2y + z = 0
2x + y + 3z = 2
x + 3y + 2z = 4
x +y + 2z = 9
2x + 4y – 3z = 1
3x + 6y – 5z = 0
x1+x2+3x4=4
2x1+x2-x3+x4=1
3x1-x2-x3+2x4=-3
-x1+2x2+3x3-x4=4
Langkah Kerja :
a. Cobalah program berikut:
Contoh program 1:
%penyelesaian spl dengan metode left division & input matrik
%langsung
clc;
clear;
Program diatas digunakan untuk mencari penyelesaian persamaan linear dengan operator
left division. Tetapi jika matrik yang diinputkan untuk program diatas tidak sesuai
dengan aturan, program belum bisa mengatasinya.
Tambahkan instruksi untuk pengecekan matrik a dan b.
Tambahkan pula pengecekan bahwa SPL hanya mempunyai penyelesaian jika
determinan ≠0
Pada program diatas kesalahan penginputan matrik tidak akan terjadi karena sudah
dibatasi dengan jumlah variable yang tidak diketahui..
Tambahkan pengecekan bahwa spl hanya mempunyai penyelesaian jika determinan ≠0
4. Cari determinan A, untuk mengecek apakah SPL ada penyelesaian atau tidak.
5. Ganti kolom pertama matrik A dengan C. Cari Determinannya. Cari penyelesaian
yang pertama.
6. Ganti kolom kedua matrik A dengan C. Cari Determinannya. Cari penyelesaian yang
kedua.
TUGAS
Modifikasi program terakhir pada langkah c untuk menampilkan semua penyelesaian dari sistem
persamaan linear.
ELIMINASI GAUSS
Cth :
4x + 3y + z = 0
2x + 2y + 3z = 3
x + 2y + 3z = 4
4 3 1 0
Matrik A = 2 2 3 dan matrik B = 3
1 2 3 4
Matrik baru ini selanjutnya kita ubah menjadi matrik segitiga atas/bawah (untuk komponen
matrik A), dengan menggunakan operasi baris elementer terhadap matrik baru tersebut.
Agar nilai elemen matrik yang sudah nol tidak terpengaruh kembali maka urutan untuk
melakukan operasi baris elementer adalah:
e11 e12 e13 e14 e15 e16
IV e22 e23 e24 e25 e26
III VII e33 e34 e35 e36
II VI IX e44 e45 e46
I V VIII X e55 e56
LANGKAH KERJA :
1. Tulis instruksi untuk melakukan input matrik a dan b dari suatu SPL :
3. Tambahkan instruksi untuk membuat nol elemen-elemen yang ada pada kolom 1 s.d n-1,
sampai membentuk matrik segitiga atas.
TUGAS
3 9 6 x1 12
4 12 12 x 2 = 12
1 1 1 x3 1
Jawaban No 2
ELIMINASI GAUSS
Cth :
3x + 2y + z = 0
2x + y + 3z = 2
x + 3y + 2z = 4
3 2 1 0
Matrik A = 2 1 3 dan matrik B = 2
1 3 2 4
Matrik baru ini selanjutnya kita ubah menjadi matrik segitiga atas/bawah (untuk komponen
matrik A), dengan menggunakan operasi baris elementer terhadap matrik baru tersebut.
Agar nilai elemen matrik yang sudah nol tidak terpengaruh kembali maka urutan untuk
melakukan operasi baris elementer adalah:
e11 e12 e13 e14 e15 e16
IV e22 e23 e24 e25 e26
III VII e33 e34 e35 e36
II VI IX e44 e45 e46
I V VIII X e55 e56
Urutan yang dipilih jika akan membuat menjadi matrik segitiga bawah :
LANGKAH KERJA :
5. Hasil yang harus ditampilkan ke layar : Matrik segitiga bawah, matrik diagonal dan
matrik identitasnya.
TUGAS
FAKTORISASI LU
Langkah-langkah:
1. Input matrik A dan b
2. Cari matrik L dan U sedemikian hingga A= LU, dengan L adalah matrik segitiga bawah
satuan dan matrik U adalah matrik segitiga atas.
3. Cari y sedemikian hingga Ly=b
4. Penyelesaian x di dapat dari Ux=y
Didefinisikan suatu matrik A dengan notasi (ai,j) dimana i adalah baris matrik A dan j adalah
kolom matrik A
Langkah ke-1:
untuk k=1,
Langkah ke-2:
untuk k = 2,3, ....... (n-1),
k 1
u k , j a k , j l k ,i u i , j
i 1
k 1
l j ,k a j ,k l j ,i u i ,k / u k ,k (untuk j=k, k+1,….n)
i 1
Langkah ke-3:
untuk k=n,
n 1
u n , n a n , n l n ,i u i , n
i 1
ln,n = 1
FUNGSI
Syntax :
Jika output fungsi lebih dari satu:
function [v_out1,v_out2,……] = nama_fungsi (v_in1,v_in1,....)
instruksi
atau boleh juga menggunakan variabel ans yang disediakan oleh Matlab sbb:
Pada Matlab, fungsi dapat dipanggil secara mandiri melalui command prompt.
Jika kita ingin memanggil fungsi di dalam program, caranya sama seperti jika kita menggunakan
fungsi built in di dalam matlab.
5. Jalankan program berikut, dengan terlebih dahulu mengembalikan fungsi seperti pada no 1:
% menjumlahkan dua angka dg memanggil fungsi jumlah
clc;clear;
a1=input('Masukkan angka pertama: ');
a2=input('Masukkan angka pertama: ');
a3=jumlah(a1,a2);
fprintf('Hasilnya = %d\n',a3);
6. Buat fungsi untuk menyelesaikan SPL dengan eliminasi gauss jordan. Gunakan program
yang sudah ada.
7. Buat fungsi untuk mencari matrik L dan U dari suatu matrik bujursangkar. Gunakan program
yang sudah ada.
TUGAS
Jawaban No 2
P(s) = 0
s: disebut akar-akar polynomial
Metode Bisection
Cari titik potong antara f1(x) dan f2(x) pada selang [x1,x2]
f1(x) = f2(x)
f1(x) - f2(x) = 0
f(x) = f1(x) - f2(x), f(x) = 0
f(x) ≈ 0
Tentukan x3 sebagai perkiraan penyelesaian dengan
x1 x2
x3
2
Cari nilai f(x1) dan nilai f(x3).
Jika f(x1).f(x3) < 0 ambil selang baru [x1,x3]
Jika f(x1).f(x3) ≥ 0 ambil selang baru [x3,x2]
Proses diulang sampai ditemukan penyelesaian
tic;
Memulai perhitungan waktu (mereset timer).
a=toc;
syms
Merupakan instruksi untuk membentuk objek symbolic (misalnya x), sehingga kita bisa
mengunakan operator aritmatik terhadap fungsi-fungsi matematis sebagaimana yang kita lakukan
terhadap bilangan.
collect
Mengumpulkan koefisien polynomial yang mempunyai derajat sama
Contoh Program 1:
syms x;
f1=input('Masukkan persamaan 1 = ');
f2=input('Masukkan persamaan 2 = ');
f3=f1+f2;
hsl=collect(f3);
disp('f1 + f2 = ');
disp(hsl);
abs
Mencari nilai absolute/nilai mutlak
Cth:
y=abs(x);
diff
Merupakan instruksi untuk mencari turunan dari suatu fungsi.
diff(f) mencari turunan pertama.
diff(f,n) mencari turunan ke n.
subs
Fungsi yang digunakan untuk mengganti nilai x pada fungsi dengan nilai tertentu.
Contoh Program 2:
syms x;
f=input('Masukkan persamaan = ');
f1=diff(f);
t=5;
n=subs(f,x,t);
n1=subs(f1,x,t);
disp('Turunan pertama f = ');
disp(f1);
fprintf('Fungsi f dengan x diganti 5 = %d\n',n);
fprintf('Turunan f dengan x diganti 5 = %d\n',n);
Misal :
Kita punya fungsi :
Dengan program diatas dapat kita lakukan dengan menjalankan program dan inputkan
persamaan sbb:
Masukkan persamaan = 2*x^3 + 3*x + 10
Turunan pertama f =
6*x2 + 3
Fungsi f dengan x diganti 5 = 275
Turunan f dengan x diganti 5 = 153
Contoh program 3:
%Akar persamaan kuadrat
clear;
a=input('Masukkan Nilai a = ');
b=input('Masukkan Nilai b = ');
c=input('Masukkan Nilai c = ');
tic;
d=b^2-(4*a*c);
if d>0
x1=(-b-d^0.5)/(2*a);
x2=(-b+d^0.5)/(2*a);
fprintf(' X1 = %f \n',x1);
fprintf(' X2 = %f \n',x2);
else if d==0
x=-b/(2*a);
fprintf(' X = %f \n',x);
else
disp('Akar Kompleks');
end;
end;
w=toc;
fprintf('Waktu = ');
format long e;
disp([w]);
Contoh Program 4:
Langkah Kerja :
1. Cobalah contoh program 1,2 dan 3 diatas.
Contoh Program 1 :
%bisection
clc;clear;
tic;
syms x;
%input
p=input('Persamaan = ');
x1=input('Masukkan Nilai x1 = ');
x2=input('Masukkan Nilai x2 = ');
%masukkan x1 dan x2 ke dlm fungsi
f1=subs(p,x,x1);
f2=subs(p,x,x2);
Contoh Program 2 :
%bisection
clc;clear;
tic;
syms x;
%input 3*x^2 + 2*x + 1
f1 = 0;
f2 = 0;
p=input('Persamaan = ');
while(f1 * f2 >= 0)
x1=input('Masukkan Nilai x1 = ');
x2=input('Masukkan Nilai x2 = ');
%masukkan x1 dan x2 ke dlm fungsi
TUGAS :
Jalankan program 1, mengapa terus terjadi iterasi. Sempurnakan program 1 sehingga dapat
menjalankan metode bisection
Cara kerja metode ini hampir sama dengan metode bisection, langkahnya :
1. Mulailah dengan interval [a, b] yg memuat akar f(x) = 0
2. Ambil a1 : = a dan b1 : = b
3. Untuk n = 1, 2,…, bangunlah barisan (pn), (an+1) dan (bn+2) sbb:
TUGAS :
1. Modifikasi program 2 pada materi bisection, sehingga dapat menyelesikan kasus dengan
metode regulasi falsi
2. Inputkan kasus yang sama pada program bisection dan regulasi falsi. Catat hasil akar dan
jumlah iterasi yang diperoleh dari masing-masing metode
Jawaban No 2
TUGAS :
1. Modifikasi program 2 pada materi bisection, sehingga dapat menyelesikan kasus dengan
metode newton
2. Inputkan kasus yang sama pada program bisection, regulasi falsi dan metode newton.
Catat hasil akar dan jumlah iterasi yang diperoleh dari masing-masing metode
Jawaban No 2
f ( xn )( xn xn 1 )
xn 1 xn
f ( xn ) f ( xn 1 )
6. Akar persamaan adalah nilai X yang terakhir
TUGAS :
1. Modifikasi program 2 pada materi bisection, sehingga dapat menyelesikan kasus dengan
metode secant
2. Inputkan kasus yang sama pada program bisection, regulasi falsi, metode newton dan
Metode Secant. Catat hasil akar dan jumlah iterasi yang diperoleh dari masing-masing
metode
Jawaban No 2
Teori :
Aproksimasi secara umum :
Disebut juga interpolasi dimana fungsi yang didapat harus melewati semua titik-titik yang
diketahui, x = xi → f(xi) = yi
Akibatnya ada banyak fungsi yang memenuhi, kecuali kalau ada suatu syarat yang harus
dipenuhi.
APROKSIMASI UMUM
Interpolasi Lagrange
Merupakan teknik yang popular, karena menggunakan fungsi dalam bentuk polinom.
Jika fungsi yang dicari adalah P(x) dan cacah data n maka :
n
P( x) yi Li ( x)
i 1
Qi ( x)
Li(x) =
Qi ( xi )
dengan :
Qi(x) = (x – x0) (x – x1) (x – x2) ….. (x – xi - 1) (x – xi + 1 ) …. (x – xn)
APROKSIMASI KHUSUS
Regresi
Fungsi yang dihasilkan linear. Jika fungsi yang dicari y dan cacah data n maka:
y=a1x + a0
1. Cari rata-rata x ( x )
2. Cari rata-rata y ( y )
3. Cari rata-rata x2 ( x 2 )
6. a0 y a1 x
Langkah kerja:
1. Implementasikan algoritma untuk mencari fungsi dari titik-titik yang diketahui dengan
menggunakan aproksimasi umum (interpolasi lagrange).
2. Tugas : Implementasi dari aproksimasi khusus
Aproksimasi Fungsi
Nama
Nim/Kelas
Jawaban
No. 1
Jawaban No
2