Anda di halaman 1dari 46

MODUL PRAKTIKUM

METODE NUMERIK

Dosen Pengampu : Sumarni Adi, S.Kom., M.Cs

S1 Teknik Informatika
STMIK Amikom Yogyakarta
2016
Format Laporan Praktikum
Metode Numerik

1. Laporan praktikum ditulis tangan, tidak diperkenankan dicetak printer. Laporan


praktikum Sistematika mengikuti alur seperti berikut :
LAPORAN PRAKTIKUM
SAMPUL MUKA ............................................................................. i
BAB I PENDAHULUAN .................................................................1
( Latar Belakang, Tujuan dan Manfaat)
BAB II DASAR TEORI
BAB III METODOLOGI PENELITIAN
BAB IV ANALISA DAN PEMBAHASAN
BAB V KESIMPULAN
DAFTAR PUSTAKA
LAMPIRAN HASIL PRAKTIKUM YANG DITANDATANGANI
2. Sampul laporan praktikum kertas HVS dan dicetak printer.Logo Amikom berukuran
5,5x5,5 cm.
3. Laporan praktikum menggunakan ukuran kertas A4.
4. Lampiran hasil praktikum merupakan hasil praktikum asli yang telah ditandatangani
praktikan dan asisten praktikum, jika tidak sesuai dengan yang ditentukan maka laporan
tidak akan dinilai.
5. Contoh Format Cover Laporan :

Modul Metode Numerik Page 2


LAPORAN PRAKTIKUM
METODE NUMERIK

(TULISKAN JUDUL PARKTIKUM)

Disusun Oleh :
Nama : (Nama Praktikan)
NIM/Kelas : (NIM/Kelas Praktikan)
Nama Asisten : 1. Asisten Parktikum
2. Asisten Parktikum
3. Asisten Parktikum 3

JURUSAN S1 TEKNIK INFORMATIKA


STMIK AMIKOM YOGYAKARTA
2016

Modul Metode Numerik Page 3


PRAKTIKUM I

Materi : Pengenalan MATLAB 6.1

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.

Panduan untuk mengetahui perintah-perintah dalam Matlab .


Beberapa perintah dasar yang sering dipakai antara lain :

Untuk mengetahui direktori instruksi di dalam Matlab


>>help
Mengetahui instruksi apa saja dalam suatu direktori instruksi

>>what <nama direktori>


Jika instruksi what dipakai tanpa diikuti nama direktori maka yang akan muncul
adalahM-file (source) yang disimpan pada direktori aktif

Modul Metode Numerik Page 4


Untuk mengetahui syntax penulisan suatu perintah dapat digunakan perintah help:
>>help <instruksi/perintah>

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

LANGKAH KERJA PRAKTIKUM

Ikuti baris perintah di bawah ini dan perhatikan apa yang muncul dibaris berikutnya.
1. >> help 
Menunjukkan semua help topic di Matlab.

Modul Metode Numerik Page 5


2. >>what general 
Menunjukkan instruksi-instruksi yang tersedia di direktori general, salah satunya adalah
instruksi clear.

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)

5. >> help ops 


Menunjukkan penulisan operator2 di dalam Matlab.

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;

Modul Metode Numerik Page 6


>> y=5;
>> z=x+y;
>> z
Merupakan contoh barisan instruksi untuk melakukan penjumlahan

10. MENGINPUTKAN MATRIK.


1 2 3
Misal akan diinputkan matrik A= 4 5 6
7 8 9

Ada 4 cara untuk menginputkan matrik yakni :


Cara 1:
>>a=[1 2 3;4 5 6;7 8 9]

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.

Modul Metode Numerik Page 7


11. >>x=5; 
>> y=[1 2 3;4 5 6;7 8 9]; 
>> x.*y 
Akan muncul sbb:
ans =
5 10 15
20 25 30
35 40 45
Merupakan hasil perkalian scalar x dengan matriks y.

12. >> x=[1 2 3;1 2 3;1 2 3]; 


>> y=[1 2 1;2 1 1;1 1 2]; 
>> x+y 
Akan muncul sbb:
ans =
2 4 4
3 3 4
2 3 5
Merupakan hasil penjumlahan matrik x dan y.
Syarat matrik dapat dijumlahkan : ukurannya harus sama

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 =

Modul Metode Numerik Page 8


8 7 9
8 7 9
8 7 9
Merupakan hasil perkalian matrik x dan y.
Syarat matrik dapat kalikan : kolom matrik pertama = baris matrik ke 2

15. >> syms x; 


>> y=x^3+2*x^2+6*x+7; 
>> z=diff(y) 
Akan muncul sbb:
z =
3*x^2+4*x+6
Merupakan turunan dari fungsi y.

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.

Modul Metode Numerik Page 9


1 LAPORAN PRAKTIKUM –
METODE NUMERIK
Pengenalan MATLAB 6.1
Nama
Nim/Kelas
Jawaban No. 1 1. .....
Fungsinya :
Programnya :
Hasilnya :
2. .....
Fungsinya :
Programnya :
Hasilnya :
3. .....
Fungsinya :
Programnya :
Hasilnya :
4. .....
Fungsinya :
Programnya :
Hasilnya :

Jawaban No. 2 1. .....


Fungsinya :
Programnya :
Hasilnya :

Modul Metode Numerik Page 10


PRAKTIKUM II

Bekerja dengan M-File


Pengenalan Matrik

Teori

Editor M-File bisa dilihat dari menu File  New M-File


Menjalankan program dari menu Debug  Run, dan outputnya akan muncul di Command
Window.

Beberapa hal yang harus diperhatikan pada saat menyimpan m-file :


a. Nama file tidak boleh ada spasinya
b. Nama file tidak boleh merupakan reserved word (instruksi)
c. Nama file tidak boleh diawali dengan angka.

Pada Matlab tidak dikenal adanya deklarasi variable.


Komentar ditandai dengan karakter %

Instruksi untuk input data dari keyboard :


Sintaksnya :
nama_var =input('Teks yang muncul dilayar '); %data numerik
nama_var =input('Teks yang muncul dilayar ',’s’); %data
string

Instruksi untuk menampilkan output di layer :


Sintaksnya :
disp('Teks output');
disp(nama_var);
fprintf('Teks output ');
fprintf('Teks = ',nama_var);
Variabel yang akan ditampilkan dilayar, jika menggunakan instruksi fprintf harus diformat
terlebih dahulu, seperti halnya pada C.
Penggunaan \n dapat ditambahkan seperti halnya pada C.

Langkah Kerja :
1. Cobalah contoh berikut:

% Contoh 1
% menjumlahkan dua angka
clc;clear;
a1=input('Masukkan angka pertama: ');

Modul Metode Numerik Page 11


a2=input('Masukkan angka pertama: ');
a3=a1+a2;
fprintf('Hasilnya = %d\n',a3);
disp('Hasilnya');
disp(a3);

2. Cobalah contoh berikut :


% Contoh 2
% menjumlahkan dua matrik
clc;clear;
a1=input('Masukkan matrik pertama: ');
a2=input('Masukkan matrik kedua : ');
a3=a1+a2;
disp('Hasilnya');
disp(a3);

Untuk program diatas inputkan matrik-matrik berikut:


 2 3 6 3 6 9 
a. a1=   dan a2 =  4 1 4
1 2 5   
Bagaimana outputnya?
1 4 3
 4 7 1  4 0 6
b. a1 =   dan a2 =  
9 2 5 1 8 3

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

Untuk program diatas inputkan matrik-matrik berikut:


4 5 6
a. a=  7 8 9  Bagaimana outputnya?
10 11 12

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

Cobalah untuk elemen kolom-kolomnya.

b. Minimal satu baris/kolom = 0


%mencari determinan matrik dengan baris pertama = 0
clc;clear;
a=input('Matrik a = ');
a1=det(a);
clc;

Modul Metode Numerik Page 14


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)=0;
end
disp('Matrik a dengan baris pertama = 0');
disp(b);
b1=det(b);
fprintf('Determinan matrik a dengan baris pertama 0 = %3.0f',b1);
Cobalah untuk elemen kolomnya.

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.

Modul Metode Numerik Page 15


2 LAPORAN PRAKTIKUM –
METODE NUMERIK

Bekerja dengan M-File


Pengenalan Matrik
Nama
Nim/Kelas
Jawaban No. 1

Jawaban No. 2

Modul Metode Numerik Page 16


PRAKTIKUM III
Materi : Penyelesaian Sistem Persamaan Linier dengan metode Crammer

Persamaan linear.
→ jika digambar merupakan garis lurus

Syarat :
Jumlah pers > = jml var.

Penyelesaian (mencari titik yang dilalui oleh semua persamaan) :


1. tepat satu penyelesaian.
2. banyak penyelesaian
3. tdk ada penyelesaian

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;

Modul Metode Numerik Page 17


a=input('Matrik a = ');
b=input('Matrik b = ');
clc;
disp('Matrik a =');
disp(a);
disp('Matrik b =');
disp(b);
x=a\b;
disp('Penyelesaiannya =');
disp(x);

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

b. Cobalah program berikut:


Contoh program 2:
%Metode left division dengan input matrik tdk langsung
%Elemen matrik diinputkan satu per satu
clc;
clear;
v=input('Berapa var = ');
disp('Inputkan elemen matrik a ');
disp('=========================');
for i=1:v
for j=1:v
fprintf('a %d%d ',i,j);
a(i,j)=input(' = ');
end
end
disp('Inputkan matrik b ')
disp('=================');
for i=1:v
fprintf('b %d%d ',i,j);
b(i,1)=input('= ');
end
clc;
disp('Matrik a = ');disp(a);
disp('Matrik b = ');disp(b);
c=a\b;
disp('Penyelesaiannya adalah =');
disp(c);

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

Modul Metode Numerik Page 18


c. Buat program untuk penyelesaian persamaan linear dengan Metode Cramer (determinan).
Algoritma:
1. Inputkan jumlah variabelnya, misal kita sebut n.
2. Inputkan matrik yang menunjukkan koefisien variabelnya, misal kita sebut matrik A
(harus sesuai dengan jumlah variabelnya, sehingga matrik yang diinputkan nxn)
3. Inputkan matrik yang menunjukkan konstantanya, misal kita sebut matrik C (harus
sesuai dengan jumlah variabelnya, sehingga matriknya nx1)

Ket: no 1 s.d 3 lihat program contoh 2.

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.

Modul Metode Numerik Page 19


3 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian Sistem Persamaan Linier


dengan metode Crammer
Nama
Nim/Kelas
Jawaban No. 1

Modul Metode Numerik Page 20


PRAKTIKUM IV
Materi : Penyelesaian Sistem Persamaan Linier dengan eliminasi gauss.

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

Buat matrik baru penggabungan dari A dan B menjadi =


3 3 1 0
E= 2 2 3 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.

Operasi elementer baris :


 Menambah/mengurangi suatu baris dengan k kali baris lainnya.
 Mengalikan/membagi suatu baris dengan k;

Matrik baru menjadi :


e11 e12 e13 e14 
E =  0 e22 e23 e24
 0 0 e33 e34

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 :

Membuat program untuk penyelesaian SPL dengan Eliminasi Gauss:

1. Tulis instruksi untuk melakukan input matrik a dan b dari suatu SPL :

Modul Metode Numerik Page 21


Keterangan : Lihat kembali program yang ada di Modul 3.
Gunakan input matrik tidak langsung(diinputkan per elemen) agar tidak
perlu mengecek ukuran matrik.
2. Tambahkan instruksi untuk membuat matrik gabungan a dan b, dengan terlebih dahulu
melakukan pengecekan terhadap determinan a (det a≠ 0). Sebut menjadi matrik e, dan
tampilkan ke layar.

3. Tambahkan instruksi untuk membuat nol elemen-elemen yang ada pada kolom 1 s.d n-1,
sampai membentuk matrik segitiga atas.

4. Gunakan untuk menyelesaikan soal-soal SPL yang anda buat.

TUGAS

Cobalah program diatas untuk menyelesaikan sistem persamaan berikut :

3 9 6   x1  12
4 12 12  x 2  = 12
    
1  1 1   x3   1 

1. Bagaimana outputnya? Mengapa hal itu terjadi. Tuliskan alasannya dengan


menggambarkan eksekusi program untuk setiap perulangan.

2. Betulkan program untuk menanggulangi permasalahan yang mungkin ditimbulkan oleh


SPL serupa dengan contoh diatas.

Modul Metode Numerik Page 22


4 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian Sistem Persamaan Linier


dengan metode Gauss
Nama
Nim/Kelas
Jawaban No. 1

Jawaban No 2

Modul Metode Numerik Page 23


PRAKTIKUM V
Materi : Penyelesaian Sistem Persamaan Linier dengan eliminasi gauss-jordan

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

Buat matrik baru penggabungan dari A dan B menjadi =


3 2 1 0
E= 2 1 3 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.

Operasi elementer baris :


 Menambah/mengurangi suatu baris dengan k kali baris lainnya.
 Mengalikan/membagi suatu baris dengan k;

Matrik baru menjadi :


e11 e12 e13 e14 
E =  0 e22 e23 e24
 0 0 e33 e34

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 :

Modul Metode Numerik Page 24


e11 IX VIII V I e16 
 IV e22 IX VI II e26

 III VII e33 VII III e36 
 
 II VI IX e44 IV e46
 I V VIII X e55 e56 

LANGKAH KERJA :

Membuat program untuk penyelesaian SPL dengan Eliminasi Gauss:


1. Buka kembali file program terakhir yang ada di praktikum 4
2. Tambahkan instruksi penukaran baris untuk proses pembuatan matrik segitiga atas.
3. Tambahkan instruksi untuk membuat matrik segitiga bawah, sehingga menjadi matrik
diagonal
4. Tambah instruksi untuk membuat matrik identitas.

Keterangan : langkah no 2 s.d 4 lihat algoritma yang sudah dibuat di kelas

5. Hasil yang harus ditampilkan ke layar : Matrik segitiga bawah, matrik diagonal dan
matrik identitasnya.

TUGAS

Tuliskan programnya seperti apa untuk menghasilkan langkah 5

Modul Metode Numerik Page 25


5 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian Sistem Persamaan Linier


dengan metode Gauss-Jordan
Nama
Nim/Kelas
Jawaban

Modul Metode Numerik Page 26


PRAKTIKUM VI
Materi : Penyelesaian Sistem Persamaan Linier dengan Faktorisasi LU

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

ALGORITMA FAKTORISASI DOOLITTLE.


Algoritma faktorisasi L U yang paling populer adalah faktorisasi Doolittle yang menggunakan
langkah-langkah sebagai berikut:

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,

u1,j = a1,j (untuk j = k, k+1, ....n)


lj,1 = aj,1/u1,1 (untuk j = k, k+1, ....n)

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

Modul Metode Numerik Page 27


Membuat Fungsi

FUNGSI

Syntax :
Jika output fungsi lebih dari satu:
function [v_out1,v_out2,……] = nama_fungsi (v_in1,v_in1,....)
instruksi

Jika output fungsi hanya satu:


function v_out = nama_fungsi (v_in1,v_in1,....)
instruksi

atau boleh juga menggunakan variabel ans yang disediakan oleh Matlab sbb:

function nama_fungsi (v_in1,v_in1,....)


instruksi

Khusus untuk fungsi:


nama file = nama fungsi

Pada Matlab, fungsi dapat dipanggil secara mandiri melalui command prompt.

Jika output fungsi lebih dari satu:


>>[v_out1,v_out2,……] = nama_fungsi (v_in1,v_in1,....)

Jika output fungsi hanya satu:


>> v_out = nama_fungsi (v_in1,v_in1,....)
>> nama_fungsi (v_in1,v_in1,....)

Jika kita ingin memanggil fungsi di dalam program, caranya sama seperti jika kita menggunakan
fungsi built in di dalam matlab.

Langkah Kerja Praktikum:

1. Buka editor M-file dan tuliskan instruksi berikut:


function c=jumlah(a,b)
c=a+b;

2. Jalankan fungsi diatas dari command prompt dengan cara sbb:


>>jumlah(6,9)
>>z=jumlah(6,9)

3. Ganti file no 1 menjadi


function jumlah(a,b)
c=a+b

Modul Metode Numerik Page 28


4. Jalankan kembali fungsi diatas dari command prompt dengan cara sbb:
>>jumlah(6,9)
>>z=jumlah(6,9)

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

Tuliskan fungsi yang telah dibuat pada no 6 dan 7

Modul Metode Numerik Page 29


6 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian SPL dengan Metode


Gauss dan LU menggunakan Fungsi
Nama
Nim/Kelas
Jawaban No. 1

Jawaban No 2

Modul Metode Numerik Page 30


PRAKTIKUM VII
Materi : Sistem Persamaan Non Linear

Persamaan Non Linear


 persamaan yang pada saat digambar grafiknya bukan berupa garis lurus.
Cth persamaan non linear yang bentuknya teratur : polynomial.

Bentuk umum polynomial


P( s )  an s n  an 1s n 1  an  2 s n  2  ....  a1s  a0
Koefisien dari P(s) dapat real atau kompleks.

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

Metode False Position (Regula Falsi)


Menentukan x3 dari selang [x1, x2]
x f ( x 2 )  x 2 f ( x1 )
x3  1
f ( x 2 )  f ( x1 )
Sehingga selang baru yang digunakan adalah [x2,x3]

Instruksi-instruksi yang mungkin akan digunakan dalam praktikum kali ini :

tic dan toc


Digunakan untuk mengetahui waktu eksekusi suatu instruksi

tic;
Memulai perhitungan waktu (mereset timer).

a=toc;

Modul Metode Numerik Page 31


Mengambil waktu proses (dari timer), disimpan ke dalam variable a. Waktu dihitung dari
dimulainya instruksi tic; Satuan: detik.

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 :

Modul Metode Numerik Page 32


f(x) = 2x3 + 3x + 10
f’(x) = 6x2 + 3
f(x=5) = 2.53 + 3.5 + 10 =275
f’(x=5) = 6.52 + 3 = 153

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.

Modul Metode Numerik Page 33


PRAKTIKUM VIII
Materi : PNL Metode Bisection (Metode Bagi Dua)

 Metode bisection merupakan cara yg paling sederhana untuk mengaproksimasi akar


persamaan Non-Linier. Caranya :
1. Metode ini dimulai pd suatu interval yg memuat akar, kemudian membagi menjadi 2
bagian yg sama panjang,
2. kemudian mempertahanakan subinterval yg memuat akar dan membuang subinterval yg
tdk memuat akar.
3. proses ini dilakuakan terus menerus sampai subinterval menjadi sangat sempit dan
diperoleh barisan interval bersarang yg kesemuanya memuat akar
 Bila f (p1) = 0 maka akarnya adalah p1 tapi bila f (p1) ≠ 0 maka f (p1) memunyai tanda
positif atau negatif
 Karena f(a1) ≠ 0 maka pasti berlaku salah satu, yaitu :
1. f (p1) f(a1) < 0 maka akrnya pasti terletak pd subinterval [a1,p1], sehingga harus diambil
a2 = a1 dan b2 = p1
2. f (p1) f(a1) > 0 maka akrnya pasti terletak pd subinterval [p1,b1], sehingga harus diambil
a2 = p1 dan b2 = b1

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

Modul Metode Numerik Page 34


%cari x3 dari titik tengah x1 dan x2
x3=(x1+x2)/2;
f3=subs(p,x,x3);
%nilai toleransi kesalahan
e=10^-3;
while abs(f3)>e
if (f1*f3)<0
x2=x3;
else
x1=x3;
end
f1=subs(p,x,x1);
f2=subs(p,x,x2);
x3=(x1+x2)/2;
f3=subs(p,x,x3);
fprintf('x3 = %6.5f\n',x3);
end
% fprintf('x3 = %6.5f\n',x3);

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

Modul Metode Numerik Page 35


f1=subs(p,x,x1);
f2=subs(p,x,x2);
if(f1 * f2 >= 0)
fprintf('f1 * f2 belum memenuhi syarat,. masukan tebakan x1
dan x2 lagi\n\n');
end
end

%cari x3 dari titik tengah x1 dan x2


x3=(x1+x2)/2;
f3=subs(p,x,x3);
%nilai toleransi kesalahan
e=10^-3;
while abs(f3)>e
if (f1*f3)<0
x2=x3;
else
x1=x3;
end
f1=subs(p,x,x1);
f2=subs(p,x,x2);
x3=(x1+x2)/2;
f3=subs(p,x,x3);
fprintf('x3 = %6.5f\tf3 = %6.5f\n',x3,f3);
end
% fprintf('x3 = %6.5f\n',x3);

TUGAS :
Jalankan program 1, mengapa terus terjadi iterasi. Sempurnakan program 1 sehingga dapat
menjalankan metode bisection

Modul Metode Numerik Page 36


7 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian PNL dengan Metode


Bisection
Nama
Nim/Kelas
Jawaban No. 1

Modul Metode Numerik Page 37


PRAKTIKUM IX
Materi : PNL Metode Regulasi Falsi

 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:

Sehingga selang baru yang digunakan adalah [b, p]

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

Modul Metode Numerik Page 38


8 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian PNL dengan Metode


Regulasi Falsi
Nama
Nim/Kelas
Jawaban No. 1

Jawaban No 2

Modul Metode Numerik Page 39


PRAKTIKUM X
Materi : PNL Metode Newton

 Metode ini merupakan metode yg paling populer, karena secara umum


kekonvergenannya lebih cepat dari metode lainnya dan implementasinya sederhana
 Pada metode ini hanya dibutuhkan satu titik awal untuk membuat garis tangen
Algoritmanya :
1. Mulailah dgn aproksimasi awal x0 sebarang
2. Untuk n = 1, 2, …, hitunglah nilai f’ (pn-1). Bila f’(pn-1) ≠ 0, maka :

3. Iterasi terus berlanjut Bila f’(pn-1) ≠ 0

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

Modul Metode Numerik Page 40


9 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian PNL dengan Metode


Newton
Nama
Nim/Kelas
Jawaban No. 1

Jawaban No 2

Modul Metode Numerik Page 41


PRAKTIKUM XI
Materi : PNL Metode Secant

 Tujuan dan Fungsi


◦ Tujuan metode secant adalah untuk menyelesaikan masalah yang terdapat pada
metode Newton-Raphson yang terkadang sulit mendapatkan turunan pertama
yaitu f‘ (x).
◦ Fungsi metode secant adalah untuk menaksirkan akar dengan menggunakan
diferensi daripada turunan untuk memperkirakan kemiringan/slope.

 Algoritma Metode Secant


1. Definisikan fungsi F(x)
2. Definisikan torelansi error (e) dan iterasi maksimum (n)
3. Masukkan dua nilai pendekatan awal yang di antaranya terdapat akar yaitu X0 dan X1.
Sebaiknya gunakan metode tabel atau grafis untuk menjamin titik pendakatannya
adalah titik pendekatan yang konvergensinya pada akar persamaan yang diharapkan
4. Hitung F(X0) dan F(X1) sebagai Y0 dan Y1
5. Untuk iterasi I = 1 – n atau | F(Xn) | :

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

Modul Metode Numerik Page 42


10 LAPORAN PRAKTIKUM –
METODE NUMERIK

Penyelesaian PNL dengan Metode


Secant
Nama
Nim/Kelas
Jawaban No. 1

Jawaban No 2

Modul Metode Numerik Page 43


PRAKTIKUM XII
Materi : Aproksimasi Fungsi

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 secara khusus :


Tidak harus melewati semua titik, tetapi cukup dibuat mendekati.
x = xi → f(xi) ≈ yi

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

Langkah untuk mencari a0 dan a1 :

1. Cari rata-rata x ( x )

2. Cari rata-rata y ( y )

3. Cari rata-rata x2 ( x 2 )

4. Cari rata-rata perkalian x dan y ( xy )

Modul Metode Numerik Page 44


xy  x y
5. a1 
x 2  (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

Modul Metode Numerik Page 45


11 LAPORAN PRAKTIKUM –
METODE NUMERIK

Aproksimasi Fungsi
Nama
Nim/Kelas
Jawaban
No. 1

Jawaban No
2

Modul Metode Numerik Page 46

Anda mungkin juga menyukai