Anda di halaman 1dari 21

MODUL PRAKTIKUM

METODE NUMERIK
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
Modul Metode Numerik

Page 1

>>what <nama direktori>


Jika instruksi what dipakai tanpa diikuti nama direktori maka yang akan muncul
adalahM-file (source) yang disimpan pada direktori aktif
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

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 2

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 3

>> 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 4

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

Merupakan hasil penjumlahan matrik x dan y.


Syarat matrik dapat dijumlahkan : ukurannya harus sama

13. >>x-y
Akan muncul sbb :
ans =
0

-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 5

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 6

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 7

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?
4 7 1
b. a1 =
dan a2 =
9 2 5

1 4 3
4 0 6

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 8

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:

a. a= 7

6
8 9 Bagaimana outputnya?

11 12
5

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 9

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 10

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 11

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
3. determinan (cramer)

Modul Metode Numerik

Aj

, j 1,2,..., n

Page 12

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;

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

Modul Metode Numerik

Page 13

%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
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.
5.
6.

Cari determinan A, untuk mengecek apakah SPL ada penyelesaian atau tidak.
Ganti kolom pertama matrik A dengan C. Cari Determinannya. Cari penyelesaian
yang pertama.
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 14

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
Matrik A = 2 2 3 dan matrik B =

1 2 3

0
3

4

Buat matrik baru penggabungan dari A dan B menjadi =


3 3 1 0
E= 2 2 3 3

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

e22 e23 e24 e25 e26


IV

III VII e33 e34 e35 e36

IX e44 e45 e46


II VI
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 15

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
sampai membentuk matrik segitiga atas.

s.d n-1,

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

TUGAS
Cobalah program diatas untuk menyelesaikan sistem persamaan berikut :
6 x1 12
3 9
4 12 12 x2 = 12


1 1 1 x3
1
1. Bagaimana outputnya? Mengapa hal itu terjadi. Tuliskan
menggambarkan eksekusi program untuk setiap perulangan.

alasannya

dengan

2. Betulkan program untuk menanggulangi permasalahan yang mungkin ditimbulkan oleh


SPL serupa dengan contoh diatas.

Modul Metode Numerik

Page 16

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
Matrik A = 2 1 3 dan matrik B =
3 2

0
2

4

Buat matrik baru penggabungan dari A dan B menjadi =


3 2 1 0
E= 2 1 3 2

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

e22 e23 e24 e25 e26


IV
III VII e33 e34 e35 e36

IX e44 e45 e46


II VI
I
V VIII X e55 e56
Urutan yang dipilih jika akan membuat menjadi matrik segitiga bawah :
Modul Metode Numerik

Page 17

e11 IX VIII

e22 IX
IV
III VII e33

IX
II VI
I
V VIII

VI

II

VII

III

e16
e26

e36

e44 IV e46
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 18

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
langkah-langkah sebagai berikut:

menggunakan

Didefinisikan suatu matrik A dengan notasi (a i,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 19

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 20

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

Modul Metode Numerik

Page 30

Anda mungkin juga menyukai