Anda di halaman 1dari 30
Panduan Praktikum Metode Numerik dengan Matlab

Panduan Praktikum Metode Numerik dengan Matlab

BAB I PENDAHULUAN

Pengenalan Program Matlab 1

Matlab merupakan bahasa pemrograman komputer berbasis windows dengan orientasi dasarnya adalah matrik, namun pada program ini tidak menutup kemungkinan untuk pengerjaan permasalahan non matrik. Selain itu matlab juga merupakan bahasa pemrograman yang berbasis pada objek (OOP), namun disisi lain karena matlab bukalah type compiler, maka program yang dihasilkan pada matlab tidak dapat berdiri sendiri, agar hasil program dapat berdiri sendiri maka harus dilakukan transfer pada bahasa pemrograman yang lain, misal C++. Pada matlab terdapat tiga windows yang digunakan dalam operasinya yaitu Command Windows (layar perintah) dan figure windows (layar Gambar), serta NotePad (sebagai tempat editor program).

Windows Pada Matlab Menu Command windows Command windows (layar perintah) digunakan untuk menjalankan perintah/program yang dibuat pada layar editor matlab. Pada windows / layar ini anda dapat mengakses perintah maupun komponen pendukung ( Help file dll ) yang ada pada matlab secara langsung. Salah satu ciri dari Command windows ditandai dengan tanda prompt (>>). Layar Menu Command windows terlihat dalam gambar dibawah ini.

1.

Menu pull

down

Klik untuk

kecilkan window

Klik untuk

besarkan window

down Klik untuk kecilkan window Klik untuk besarkan window Tittle Menggeser layar window Layar perintah Untuk
down Klik untuk kecilkan window Klik untuk besarkan window Tittle Menggeser layar window Layar perintah Untuk

Tittle

Klik untuk kecilkan window Klik untuk besarkan window Tittle Menggeser layar window Layar perintah Untuk menggeser

Menggeser

layar window

Layar perintah
Layar perintah

Untuk menggeser layar arah horisontal

File

Menu file merupakan item untuk menangani set-up statement yang berhubungan dengan file.

Panduan Praktikum Metode Numerik dengan Matlab new Menu New merupakan sub menu: M-File Membuka editor

Panduan Praktikum Metode Numerik dengan Matlab

Panduan Praktikum Metode Numerik dengan Matlab new Menu New merupakan sub menu: M-File Membuka editor dengan

new Menu New merupakan sub menu:

Numerik dengan Matlab new Menu New merupakan sub menu: M-File Membuka editor dengan laya kosong sehingga

M-File Membuka editor dengan laya kosong sehingga anda siap untuk membuat M-File baru (lihat menu yang ada pada editor yang dipakai).

Figure Figure membuat sebuah figur window (layar gambar baru).

Model Membuat layar mode simulink (jika program matlab menyediakan fasilitas simulink).

Open M-File Menampilkan dialog box untuk membuka sebuah M-file yang dipilih sesuai dengan pilihan pada dialog box ke dalam editor.

Menutup window

Kotak dialog Directory yang aktif
Kotak dialog
Directory yang aktif

Klik jika

pilihan

sesuai

Type ekstensi

Nama file

Batalkan

file

yang dibuka

perintah

Panduan Praktikum Metode Numerik dengan Matlab Save workspace As Menampilkan dialog box penyimpanan data dalam

Panduan Praktikum Metode Numerik dengan Matlab

Save workspace As Menampilkan dialog box penyimpanan data dalam format ASCII

Kotak dialog

Directory yang

aktif Klik jika sudah sesuai Type ekstensi file Nama file yang akan di Batalkan perintah
aktif
Klik jika
sudah sesuai
Type ekstensi
file
Nama file
yang akan di
Batalkan
perintah
save

Menutup

window

Pada menu ini anda diperintahkan untuk memilih letak drive, directory dan masukkan nama file dengan extensi mat (*.mat) untuk menyimpan workspace (lembar kerja pada matlab).

Set path Pada bagian ini digunakan untuk melakukan setting path / lintasan yang akan dikenali oleh program pada saat ekskusi file yang telah dibuat.

Print Mencetak semua text yang berada pada command window. Jika yang dicetak tidak ingin semuanya maka cetak bagian (variabel) yang ingin dicetak.

Exit matlab Perintah untuk keluar dari pelayanan matlab.

2. Edit Menu edit adalah bagian dari matlab yang memangani fasilitas editing. Menu edit terlihat seperti gambar

fasilitas editing. Menu edit terlihat seperti gambar  Cut Menghilangkan text yang diblok dari command window

Cut Menghilangkan text yang diblok dari command window dan text tersebut disimpan pada cliboard.

Copy Meng Copy (duplikat) text yang diblok dari command window ke cliboard.

Paste Menulis text yang ada pada clipboard ke command window.

Clear Command windows Membersihkan lembar kerja.

Panduan Praktikum Metode Numerik dengan Matlab 3. Preference Menu option adalah bagian dari preference yang

Panduan Praktikum Metode Numerik dengan Matlab

3. Preference

Menu option adalah bagian dari preference yang menangani setting windows matlab. Salah satu fungsi dari bagian ini adalah sebagia berikut :

Format numeric yang dipakai:

FORMAT

Contoh

Keterangan

Short

35.83333

Fixpoint dengan format 5 digit Fixpoint dengan format 16 digit Hexadesimal

Long

35.8333333333333334

Hex

4041eaaaaaaaaab

Bank

35.83

Format dalam dolar dan sen (2 desimal digit)

Plus

+

Pemberian simbol +,- atau nol Fungsi point dituliskan dalam bilangan pecahan

Rational

215/6

Loose Tampilan numeric dengan baris baru sebelum dan sesudah matrik.

Compact Tampilan numeric tanpa baris baru sebelum dan sesudah matrik.

Turn Echo on Turn Echo dapat diset dalam dua kondisi yaitu: Turn Echo on dan Turn Echo Off. Turn Echo on pada saat M-File dieksekusi maka baris-baris yang dieksekusi tidak ditampilkan pada layar (command window).

Enabel Bacground Process Perintah ini merupakan togle yaitu dapat diset on atau off.

Font Menampilkan dialog box yang dapat digunakan untuk men-set spesifikasi font (huruf) dan warna bacground pada command window yang digunakan.

4.

Help

Menu help menyediakan fasilitas untuk mengakses program help dari matlab, dimana pada menu tersebut mempunyai sub menu sbb:

Table of Contents Index Help Selected

About

Table of Content Menampilkan daftar area help dari matlab yang disediakan.

Index Menampilkan daftar alpahabet dari fungsi-fungsi pada matlab yang disediakan.

Help Selected Mencari topik dari help pada item yang disorot dan ditampilkan pada command window.

About Manampilkan “About Box Matlab”

Panduan Praktikum Metode Numerik dengan Matlab BAB II PENGENALAN PEMROGRAMAN Matlab adalah paket program pemrograman

Panduan Praktikum Metode Numerik dengan Matlab

BAB II PENGENALAN PEMROGRAMAN

Matlab adalah paket program pemrograman matematika berbasis matrik. Pada program matlab ada dua cara palayanan program, yaitu:

1. Secara interatif (secara langsung ), jika anda pernah menggunakan program Q-basic,

terletak pada View Immediate.

2. Dengan pemprograman, yakni program dibuat pada tempat terpisah baru dilakukan tes pada matlab.

Pelayanan secara interaktif dilakukan dengan cara mengetikkan perintah-perintah yang diinginkan langsung pada “prompt” dari matlab yang berbentuk lambang ”>>”. Pelayanan dengan pemprograman dilakukan dengan cara membuat / menyusun program dengan editor dan disimpan dengan ektensi “m”(*.m) Lakukan perintah dibawah ini sebagai latihan pada commnad windows sebagai pelayanan interatif.

Membentuk matriks =

Perintah mencari invers >> B = inv (A)

Mengambil bagian matriks >> a = A(1,:); >> a

>> A

[4

3

2;

>> c = A(:,2); >> c

4

4

>> D = A(1,2,:); >> D

3; 3 2 2]

>> C = det (A)

Untuk menampilkan variabel yang aktif dalam memory komputer

>>

who

Menyimpan lembar kerja >> save temp

Menghapus lembar kerja >> clc

Menghapus semua variabel pada lembar kerja (buffer memory) >> load temp >> who

Mencari ukuran dari matriks

>> [n, m] = size (A) Untuk lebih mendalami, lakukan dan jawab pertanyaan dibawah ini:

0.6

8.2

G   5.7

0.5

1.2

1.5

0.5

8.2

0.5

2.3

2.3

0.1

9.0

2.4

4.5

[m,n] =size [g]

0.5

2.0

1.5

0.5

0.5

Panduan Praktikum Metode Numerik dengan Matlab A = det [G] B = inv [G] C

Panduan Praktikum Metode Numerik dengan Matlab

A = det [G]

B = inv [G]

C = G T

D = (:,2)

E = G(1:3,2:4)

Matriks - matriks yang disediakan oleh matlab adalah:

Eye(n)

:

membuat matriks identitas dengan ukuran n x n

Zeros(n)

:

membuat matriks nol dengan ukuran n x n

Ones(n)

:

membuat matriks satuan dengan ukuran n x n

Trill(n) :

 

membuat matriks segitiga bawah dari matriks x

Triu(n)

:

membuat matriks segitiga atas dari matriks x

APLIKASI GRAFIK

LATIHAN 2A Grafik 2D sebagai contoh sbb:

Membuat grafik sinus dan cosinus

x=0:0.001:2*pi

y=sin(x) z=cos(x) plot (x,y,'r-',x,z,'g--'); grid; title('grafik fungsi sinus (x) dan cosinus(x)'); xlabel('nilai x'); ylabel('cos (x)atau sin (x)'); shg

LATIHAN 2B

Grafik 3 Dimensi

x=-8:0.05:8;

y=x; [x,y]=meshgrid(x,y);

R=sqrt(x.^2+y.^2)+eps;

z=sin(R)./R; mesh (z) ; title('grafik sin (R)/R'); shg

TUGAS 1 1 Untuk dapat mendalami lebih materi kali ini selesaikan soal dibawah ini untuk mencari grafik korelasi waktu dan tempatur pada data dibawah ini.

Waktu (detik)

Suhu ( o F)

0

54.2

1

58.5

2

63.8

3

64.2

4

67.3

5

71.5

6

88.3

7

90.1

8

90.6

9

89.5

10

90.4

Panduan Praktikum Metode Numerik dengan Matlab 2. buatlah grafik 3 dimensi dari data matriks dibawah

Panduan Praktikum Metode Numerik dengan Matlab

2. buatlah grafik 3 dimensi dari data matriks dibawah ini:

G

1

1

1

1

1

1

1

1

1

1

1

1

1

1

5

5

5

1

1

1

5

1

1

5

5 10

5

1

5

1

1

1

5

5

5

1

1

1

1

1

1

1

1

1

1

1

1

1

dengan perintah mesh(G)

mesh (G) title (‘Grafik 3 dimensi’); xlabel (‘Harga X’) ylabel (‘Harga Y’) zlabel (‘Harga Z’) pause pcolor (G) axis off shading flat

Setelah menyelesaikan program diatas fahami dan buat diagram alir untuk lebih mamahami logikanya.

Tipe garis, tanda, dan warna

Dalam penggambaran grafik pada matlab dapat digunakan karakter - karakter khusus sebagai simol garis, tanda serta warna dari symbol yang digunakan. Symbol serta wana yang digunakan antara lain adalah :

Symbol

Warna

Symbol

Tipe Garis

Y

Kuning

Titik ()

M

Magenta

O

Lingkaran (o)

C

Cyan

X

Tanda (x)

R

Merah

+

Tanda (+)

G

Hijau

*

Tanda (*)

B

Biru

Garis penuh (─)

W

Putih

:

Tanda (:) Garis titik (─ ) Garis putus-putus (─ ─)

K

Hitam

─ ─

Perintah:

plot

: membuat grafik 2 dimensi : membuat grafik 3 dimensi : memberi nama sumbu X : memberi nama sumbu Y : memberi nama sumbu Z : memberi judul grafik

 

mesh

xlabel

ylabel

zlabel

title

Panduan Praktikum Metode Numerik dengan Matlab OPERASI MATEMATIK Operator Matematik : Symbol Keterangan Contoh +

Panduan Praktikum Metode Numerik dengan Matlab

OPERASI MATEMATIK

Operator Matematik :

Symbol

Keterangan

Contoh

+

jumlah (plus)

C=A+B

-

kurang (minus)

D=A-B

*

Perkalian

E=A*B

/

Pembagian

F=A/B

^

Pangkat

K=A^2

Operator ini dapat digunakan pada skalar, vector maupun matrik ( pada operasi tertentu saja ). Jika dikenakan pada skalar maka berlaku seperti aljabar biasa. Coba lakukan perintah dibawah ini dan perhatikan hasil operasi operasi :

a

b

c

A

B

C

D

= b

F = a./b

E

= a.*b

[ [ = 2; a + b + c

=

=

=

=

2

7

1

6

a

= a^c

a

3

2

G = a.\b

H = b.^a

4

5

5 ];

3 ];

Sedangkan untuk operasi dibawah ini tidak dapat dilakukan. Coba terangkan:

 

a*b

a/b

a\b

b^a

1.

 

1.

2.

3.

4.

2.

 

1.

2.

3.

4.

TUGAS 2

A = [2 -1 5 0]

B

= [3 2

-1 4]

A B

5.

B.\A

B + A

3

6.

A.^B

2 * A + A.^b B./A

C

5 7

4

3

C

C

C/D

C\D

* D

+ D

D

7. (2).^B + A

8.

2*B/3.0*A

2 3

4

6

5. D

6.

7.

8.

C

C.*D

C./D

C.\D

Panduan Praktikum Metode Numerik dengan Matlab BAB III OPERASI RELASI Operator < Lebih kecil Lebih

Panduan Praktikum Metode Numerik dengan Matlab

BAB III OPERASI RELASI

Operator

<

Lebih kecil

Lebih besar

<=

Lebih kecil atau sama dengan

>

>=

Lebih besar atau sama dengan

==

Sama dengan

~=

Tidak sama dengan

Operasi relasi ini sangat penting untuk aliran program yang menggunakan statement WHILE dan IF.

Kontrol Aliran Program:

Dalam Matlab. Control aliran program itu terdiri dari FOR LOOPS, WHILE LOOPS, dan IF- ELSE-END.

FOR LOOPS

format penulisan secara umum statement ini adalah sebagai berikut :

for Var = Nilai Awal : Pertambahan :Nilai Akhir perintah / baris yang akan diulang

end

Contoh:

for n = 1 : 10 x(n) = sin (n/10);

end

x

(lihat hasil nilai x)

Selain itu juga dapat digunakan perintah FOR LOOPS dalam FOR LOOPS Contoh:

for n = 1 : 5 for m = 5 : -1 :1 A(n,m) = n^2 + m^2

end;

end;

WHILE LOOPS

Perintah pengulangan tetapi diketahui jumlah pengulangannya, sehingga diperlukan syarat batas (syarat yang harus dipenuhi).

Contoh:

while Kondisi

end

perintah

>>

num = 0; eps = 1; while (1+eps) > 1 num = num + 1

end

>> num

>> eps

Panduan Praktikum Metode Numerik dengan Matlab  IF – ELSE – END Melakukan perintah dengan

Panduan Praktikum Metode Numerik dengan Matlab

IF ELSE END

Melakukan perintah dengan syarat batas :

a. If dengan satu alternatif

if ekspresi

perintah

end

Keterngan :

Baris perintah akan dikerjakan jika ekspresi bernilai benar, namun jika tidak maka baris perintah akan dilewatkan.

b. IF dengan banyak pilihan

if ekspresi 1 perintah 1 elseif ekspresi 2 perintah 2 elseif ekspresi 2 perintah 2

end.

end;

end;

Keterangan Baris perintah 1, akan dikerjakan jika ekspresi 1, bernilai benar, namun jika ekspresi 1, salah maka program akan melakukan pengecekan pada ekspresi berkutnya, hal ini dilakukan sampai ditemukan salah satu ekspresi yang bernilai benar, atau tidak sama sekali dan program akan keluar dari perputaran IF, yang telah dibuat

Cobalah contoh dibawah ini untuk IF dengan 1 alternatif pilihan :

>>

a = [2, 5, 6, 7, 8]

>>

n = max (size (a))

>>

if n > 0

rata = a / n

end. Setelah anda selesai mencoba contoh tersebut, buatlah program Untuk IF dengan lebih dari 4 pilihan

LATIHAN 3A

Mencari akar:

Dalam kesempatan ini anda akan diperkenalkan :

- Penggunaan editor

- Membuka dan menutup Matlab

Program berikut ini adalah untuk menghitung akar kuadrat dari bilangan file akar m dengan memasukkan program ini (program dibuat dalam editor).

x = a;

eror = 1;

k = 1;

while eror > 0.000001

y = 0.5 * (x + a/x); sbx (k) = x;

Panduan Praktikum Metode Numerik dengan Matlab sby (k) = y; eror = abs (x –

Panduan Praktikum Metode Numerik dengan Matlab

sby (k) = y;

eror = abs (x y);

x

k

= y; = k + 1;

end

x

plot (sbx, sby);

Sesudah program diatas disimpan (dilakukan dalam editor), kemudian kembali ke Matlab dan lakukan :

1. >> jalankan file program yang sudah dibuat, dengan menuliskan nama file yang telah disimpan.

2. >>a = 10;

3. >>akar

Pelajarilah hasil dan makna dari tiap baris dalam program ini. Catatlah semua hasil yang

perlu dalam buku catatan praktikum anda.

LATIHAN 3B (METODE NEWTON RAPHSON) Mencari akar polinominal menggunakan metode NEWTON, dimana pada metode ini harus diberikan turunan dari polinominal tersebut. Untuk lebih memahami metode ini perhatikan grafik berikut ini :

f(x i ) f’(x i ) f(x i )-0 X X i – X i+1
f(x i )
f’(x i )
f(x i )-0
X
X i – X i+1

f(x)

Dari grafik diatas, nilai Xi adalah nilai X pada perkiraan awal sedangkan Xi+1, merupakan nilai pendekatan X berikutnya, dengan menggunakan konsep segitiga maka kita dapatkan nilai dari Xi+1 dengan persamaan sebagai berikut :

X

i

1

X

i

f

(

x

i

)

f

'(

x

i

)

Dalam program dibawah ini diperkenalkan penggunaan Prosedur Function dalam Matlab guna menyelesaikan metode NEWTON pada pembahasan diatas .

Buat program dibawah ini pada matlab editor atau notepad pada Microsoft windows:

% nama file zfungsi.m

% program untuk menghitung f(x) dan f’(x) dengan x diketahui

% program in disertakan prosedur function

function [f,ff] = zfungsi(x)

Panduan Praktikum Metode Numerik dengan Matlab f = x^5 – 2*x^4 + 3*x*3 -4*x^2 +

Panduan Praktikum Metode Numerik dengan Matlab

f = x^5 2*x^4 + 3*x*3 -4*x^2 + 5*x 6 ff= 4*x^4 - 8*x*3 + 9*x^2 - 8*x 5

Simpan program tersebut dengan nama file zfungsi.m. Setelah itu siapkan file baru lagi dan simpan dengan nama file znewton.m dibawah ini:

%

nama file znewton.m

%

sebagai program induk untuk memanggil program zfungsi.m

%

untuk mencari akar dari f(x) dengan metode Newton

%

nilai tafsiran awal x dimasukkan dulu

k

= l

[f,ff] = zfungsi(x)

while abs(f) > 0.0001

y = x f/ff

sbx(k) = x; sby(k) = y;

k

= k + 1;

x

= y;

[f,ff] = zfungsi(x);

end;

x; plot(sbx,sby) Pelajarilah hasil dan makna dari tiap baris dalam program ini. Catatlah semua logika yang ada dan buat diagram alirnya. Untuk lebih memahami contoh diatas, kerjakan contoh soal dibawah ini

TUGAS 3

y W 0
y
W 0

x

diatas, kerjakan contoh soal dibawah ini TUGAS 3 y W 0 x 1. Sebuah batang Uniform

1. Sebuah batang Uniform diberi beban seperti gambar:

Persamaan lendutan yang terjadi pada batang

y

W

0

120 EL

x

5

2

2

L x

3

L x

4

L = 180 inch, E = 2,9x10 7 I = 723 inch 4 W0 = 12 kips/ft

Dengan menggunakan metode Newton tentukan posisi x dimana y mencapai max

(tentukan x dimana dy/dx = 0)

2. Persamaan Gas Ideal dari persamaan Vander Wals sbb:

p

a  

v

2

v

b

Dimana:

V

= n

V

v

= molal volume

RT

Panduan Praktikum Metode Numerik dengan Matlab n a & b adalah konstanta (diperoleh secara empiris)

Panduan Praktikum Metode Numerik dengan Matlab

n

a & b adalah konstanta (diperoleh secara empiris)

R

= bilangan dari mol (bilangan Avogadro)

= 0.082054 (atm/molºK)

Untuk karbondioksida:

a = 3,592

b = 0,09267

Untuk oksigen:

a = 1,36

b = 0,031383

Jika tekanan yang digunakan 1, 10, 100 atm untuk kombinasi suhu 300, 500, dan 700ºK, tentukan volume molal untuk gas oksigen dan gas karbondioksida.

LATIHAN 3C (Metode Bisection)

Mencari akar persamaan dengan metode BISECTION / BAGI DUA, pada metode ini nilai yang akan dicari diapit oleh dua nilai X yang diambil dari perkiraan / aproksimasi

dimana nilai tersebut adalah X l sebagai batas bawah, X u sebagai batas atas dan X r sebagai nilai tengan dari X, secara sepintas metode ini dapat dijelaskan dengan langkah sebagai berikut :

1. Buat Nilai perkiraan untuk nilai X l dan X u dengan asumsi X yang dicari berada

diantaranya

2. Cek nilai dari f(xl).f(xu) <0

3. Jika langkah 2 terpenuhi maka lakukan perubahan nilai x dengan membagi 2 bagian

dari nilai awal dan akhir

X

X

l

X

u

r 2

4. Dengan adanya Xr, maka kita mempunyai dua bagian dari langkah 1, yakni bagian pertama dibatasi oleh Xl ~ Xr, dan bagian ke 2 Xr ~ Xu

5. Lakukan pengecekan pada salah satu bagian misal bagian pertama, kemudian lakukan cek dengan langkah 2, jika terpenuhi lanjutkan pada langkah 3. Namun jika pada langkah ini tidak terpenuhi pindahkan pada bagian ke dua.

6. Dengan selalu membagi dua pada langkah 3, maka akan didapat nilai x yang paling mendekati.

Metode ini secara grafis dapat digambarkan sebagai berikut : Nilai X f(x) yang dicari f(x)
Metode ini secara grafis dapat digambarkan sebagai berikut :
Nilai X
f(x)
yang dicari
f(x)
X
X l = 0
X u = 1
X
X
X
l
u
r
2

Sebagai contoh kita akan menyelesaikan suatu sistem massa pegas teredam dengan solusi persamaan getaran seperti dibawah ini

Panduan Praktikum Metode Numerik dengan Matlab Function[Fl]=fungsi2l(tl) Y=0.3; % M= Massa Benda M=1200000; % K=

Panduan Praktikum Metode Numerik dengan Matlab

Function[Fl]=fungsi2l(tl)

Y=0.3;

% M= Massa Benda

M=1200000;

% K= Konstanta dari pegas yang digunakan

K=125000000;

% C= Koefisien hambatan Udara

C=14000000

W=sqrt(k/m)

N=c/(2*m)

F1=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);

Simpan program diatas dengan nama fungsi2l.m

Buat program untuk menghitung batas atas yang sudah diketahui kita masukkan pada

Function[Fu]=fungsi2u(tu)

Y=0.3;

% M= Massa Benda

M=1200000;

% K= Konstanta dari pegas yang digunakan

K=125000000;

% C= Koefisien hambatan Udara

C=14000000

W=sqrt(k/m)

N=c/(2*m)

Fu=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);

Simpan program diatas dengan nama fungsi2u.m Sekarang buat program untuk menghitung nilai F untuk menghitung nilai rata-rata, yang didapat dari batas atas (fungsi2u.m) dan batas bawah (fungsi2l.m)

Function[Fu]=fungsi2u(tu)

Y=0.3;

% M= Massa Benda

M=1200000;

% K= Konstanta dari pegas yang digunakan

K=125000000;

% C= Koefisien hambatan Udara

C=14000000

W=sqrt(k/m)

N=c/(2*m)

F=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);

Simpan program diatas dengan nama fungsi2.m

Satelah file pendukung diatas selesai maka siapkan file yang berfungsi untuk melakukan bagi dua. Clc Tl=input(‘ Batas bawah :’); Tu=input(‘ Batas atas:’);

K=0;

Eror=1;

[Fl]=fungsi2l(tl)

[Fu]=fungsi2u(tu)

Panduan Praktikum Metode Numerik dengan Matlab while eror>0.001; tr=(tl+tu)/2; k=k+1 t=tr;

Panduan Praktikum Metode Numerik dengan Matlab

while eror>0.001;

tr=(tl+tu)/2;

k=k+1

t=tr;

[F]=fungsi2(t);

eror=abs((tu-tl)/(tu+tl));

sbx(k)=t;

sby(k)=F;

test=F*Fu;

if test<0

tl=tr;

else test<0

tu=tr;

end

[Fl]=fungsi2l(tl);

[Fu]=fungsi2u(tu);

end

plot(sbx,sby)

t

%Akhir Program

Latihan 3D (Metode False Position)

Mencari akar dengan metode Regula Falsi atau yang lebih dikenal dengan False Position. Pada metode ini secara prinsip sama dengan metode bagi dua. Pada sesi ini anda diharapkandapat memahami metode false position dengan batuan contoh program dibawah ini :

%Program untuk metode False Position % Untuk batas nilai atas ( F Upper)

Function[Fu]=fungsi3u(tu)

Y=0.3;

% M= Massa Benda

M=1200000;

% K= Konstanta dari pegas yang digunakan

K=125000000;

% C= Koefisien hambatan Udara

C=14000000

W=sqrt(k/m)

N=c/(2*m)

Fu=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);

Simpan program diatas dengan nama fungsi2u.m

% Untuk batas nilai bawah ( F lower)

Function[Fl]=fungsi3l(tl)

Y=0.3;

% M= Massa Benda

M=1200000;

% K= Konstanta dari pegas yang digunakan

K=125000000;

% C= Koefisien hambatan Udara

C=14000000

W=sqrt(k/m)

N=c/(2*m)

Fl=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);

Panduan Praktikum Metode Numerik dengan Matlab Simpan program diatas dengan nama fungsi2l . m %

Panduan Praktikum Metode Numerik dengan Matlab

Simpan program diatas dengan nama fungsi2l.m % Untuk rata-rata ( Fr)

Function[Fr]=fungsi3r(tl)

Y=0.3;

% M= Massa Benda

M=1200000;

% K= Konstanta dari pegas yang digunakan

K=125000000;

% C= Koefisien hambatan Udara

C=14000000

W=sqrt(k/m)

N=c/(2*m)

Fr=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);

Satelah file pendukung diatas selesai maka siapkan file yang berfungsi untuk melakukan perhitungan secara keseluruhan .

Clc Tl=input(‘ Batas bawah :’); Tu=input(‘ Batas atas:’);

K=0;

Eror=1;

[Fl]=fungsi3l(tl)

[Fu]=fungsi3u(tu)

while eror>0.001;

tr=(tu-(Fu*(tl-tu)/(Fl-Fu));

eror=abs((tr-t)/tr)

end

t=tr;

[Fr]=fungsi3l(t);

k=k+1;

sbx(k)=t;

sby(k)=Fr;

if Fr*Fu<=0;

tl=tr;

else

tu>tr;

end

[Fl]=fungsi3l(tl);

[Fu]=fungsi3u(tu);

end

plot(sbx,sby)

t

%Akhir Program

Latihan 3E (Metode Secant)

Metode ini hampir sama dengan metode Newton Raphson, namun pada metode ini kita harus membuat dua batas sebagai nilai awal dan nilai akhir seperti pada metode bisection, secara gafis dapat dilihat pada gambar berikut :

Dengan metode interpolasi kita dapatkan :

c

b

f

(

b

)

f

(

b

)

f

(

a

)

Karena

Panduan Praktikum Metode Numerik dengan Matlab

Panduan Praktikum Metode Numerik dengan Matlab

f

(

b

)

f

(

a

)

b

c

c

a

Dalam Metode ini, nilai c adalah nilai perkiraan baru berdasarkan perkiraan dari nilai a dan b sebelumnya. Sehingga untuk nilai Xi+1 sebagai nilai perkiraan berikutnya adalah :

f(b) f(x) a c b x f(a)
f(b)
f(x)
a
c b
x
f(a)

X

i

1

X

i

f

(

x

i

)

f

(

x

i

)

f

(

x

i 1

)

.(

x

i

x

i

1

)

Panduan Praktikum Metode Numerik dengan Matlab BAB IV MENCARI SOLUSI SISTEM DARI PERSAMAAN LINIER Tugas

Panduan Praktikum Metode Numerik dengan Matlab

BAB IV MENCARI SOLUSI SISTEM DARI PERSAMAAN LINIER

Tugas kali ini anda diajak untuk menyelesaikan solusi dari beberapa persamaan linier. Bentuk umum sistem persamaan linier dengan n buah variebel dan n buah persamaan yang dapat dituliskan kedalam bentuk persamaan berikut ini :

a11x1 + a12x2

+ a13x3

+ …

+ a1nxn

= b1

a21x1 + a22x2

+ a23x3

+ …

+ a2nxn = b2

 

=

… …

 

=

… …

 

=

… …

an1x1 + an2x2 + an3x3 + …

+ annxn = bn

dimana :

a11, a12, a13, … an1 dan an2, an3, an4, … ann, sedangkan x1, x2, x3, …, xn adalah variabel yang nilainya belum diketahui. Sistem persamaan aljabar linier dapat ditulis dalam bentuk matrik :

[A] * [X] = [B] a 11 a 12 a 21 a 22 dengan [A]
[A] * [X] = [B]
a
11
a 12
a
21
a 22
dengan [A] =
… …
… …
a n1
a n2
x
1
x
2
[X] =
x n

a

a

13

23

a n3

b 1 b 2 … … b n
b
1
b
2
b n

a

a

1n

2n

a nn

,[B] =

Pada bagian ini akan dibahas beberapa penyelesaian sistem dari persamaan tersebut secara simultan sehingga diperoleh nilai dari beberapa variabel tersebut.

Metode Invers yang telah tersedia pada program MATLAB

Mencari solusi dari sistem persamaan linier dengan metode invers suatu matriks, dapat dilakukan dengan cepat karena pada matlab sarana untuk mendapatkan nilai invers dari matrik telah tersedia. Secara matetatis untuk menyelesaikan suatu sistem persamaan linier dari contoh diatas adalah sebagai berikut :

[A] * [X]

= [B]

[A]

-1 * ([A] * [X])

= [A] -1 * ([B])

[I]

* [X]

= [A] -1 * [B]

[X]

= [A] -1 * [B]

Keterangan : [A] -1

= invers dari matriks [A]

[I]

= matriks identitas

Panduan Praktikum Metode Numerik dengan Matlab LATIHAN 4A Untuk mempermudah pemahaman lakukanlah petunjuk dibawah ini

Panduan Praktikum Metode Numerik dengan Matlab

LATIHAN 4A

Untuk mempermudah pemahaman lakukanlah petunjuk dibawah ini untuk menyelesaikan sistem persamaan linier berikut ini :

3x1 + 2x2

-x1 + 3x2 2x3

x3

x3

= 10

= 5

= 1

Persamaan tersebut dapat ditulis dalam bentuk :

x1 +

x2

[A] * [X] = [B]

lebih detailnya adalah :

 

3

2

1

 

X

1

 

10

[A] =

-1

3

2

, [X] =

X

2

, [B] =

5

1

1

1

X

3

1

Penyelesaian secarac program pada matlab adalah:

A

= [3, 2, -1; -1, 3, 2; 1, -1, -1];

 

B

= [10, 5, 1];

C

= inv (A);

% C adalah invers dari A

X

=

C

* B

Note:

“Bandingkan jika anda menyelesaikannya, dengan program lain semisal Qbasic atau Turbo Pascal”

Invers dengan menggunakan metode SWS ( Sherman Morrison Woodbury)

Metode SMW pada dasarnya adalah mencari selisih matriks tersebut dengan matriks lain yang sudah diketahui inversnya. Maka yang paling mudah, matriks yang digunakan sebagai acuan adalah matriks [I]. Relasi matriks SMW adalah :

V

*

A

1

*

U B

LATIHAN 4B

atau B

V

* A

1

*U

Program mencari invers dengan metode SMW for k = 1 : n:

z = 1 + 1 + a (k,:) * c(:, k);

function [A] = invers SMW [A} %Mencari invers dengan metode SMW

%Matriks yang dicari dimasukkan [m, n] = size(a);

c = a eye (n, n);

a = eye (n, n)

a = a a * c(:, k) * a (k, :)/z;

end;

Sesudah disimpan siapkan file lain seperti dibawah ini, untuk menyelesaikan persamaan diatas :

A

= [3, 2, -1; -1, 3, 2; 1, -1, -1];

B

= [10, 5, 1];

X

=

C

* B

Panduan Praktikum Metode Numerik dengan Matlab Apakah yang anda dapatkan dari kajian diatas ? Untuk

Panduan Praktikum Metode Numerik dengan Matlab

Apakah yang anda dapatkan dari kajian diatas ? Untuk mengetahui beban komputasi dari program diatas gunakan flop. Pada akhir tugas ini, diharapkan saudara dapat atau mampu memetik makna komputasi dalam soal penyelesaian matriks dengan basis matriks.

Perlu diingat !

Jangan mengerjakan tugas selanjutnya apabila saudara belum paham benar tentang program ini

TUGAS 4 Untuk lebih memahami selesaikanlah persamaan dibawah ini dengan program diatas :

1)

-2x1 + x2

=

-3

5. )

3x1 + 2x2 x3

=

-3

x1 +

x2

=

3

-x1 + 3x2 2x3

=

5

 

x1 +

x2 x3

=

-1

2)

-2x1 + x2

=

-3

6)

-3x1 + 2x2 x3

=

1

-2x1 +

x2

=

1

-x1 + 3x2 + 2x3

=

1

 

x1 +

x2 x3

=

1

3)

-2x1 +

x2

=

-3

7)

10x1 + 7x2

=

7

-6x1 +

x2

=

9

-3x1 + 2x2 6x3

=

4

 

5x1 +

x2 + 5x3

=

6

4)

-2x1 +

x2

=

-3

8)

2x1 + 7x2+ x3 - 2x4

x1 + 4x2

x3

=

16

-2x1 + x2

=

-3,0001

2x4 =

5

3x1 - 10x2 2x3 + 5x4 = -15

Metode Eliminasi Gauss

Selain metode Invers matrik kita dapat menggunakan metode Eliminasi Gauss dalam menyelesaikan sistem persamaan linier Pada pembahasan kita kali ini, metode Eliminasi Gauss didekati dengan menggunakan sifat khusus dari matrik gauss. Untuk lebih jelasnya perhatikan ilistrasi matematis dibawah ini :

a11x1 + a12x2

+ a13x3

+ …

+ a1nxn = c1

pers :G.1

a21x1 + a22x2

+ a23x3

+ …

+ a2nxn = c2

pers :G.2

 

=

… …

 

=

… …

 

=

… …

 

an1x1 + an2x2 + an3x3 + …

+ annxn = cn

pers :G.3

dimana :

a11, a12, a13, … an1 dan an2, an3, an4, … ann, sedangkan x1, x2, x3, …, xn adalah variabel yang nilainya belum diketahui. Sistem persamaan aljabar linier dapat ditulis dalam bentuk matrik :

[A] * [X] = [C]

a n1

11

21

a 12

a 22

dengan [A] =

… …

… …

a n2

a

13

23

a n3

a

a

a

1n

2n

a nn

Panduan Praktikum Metode Numerik dengan Matlab

Panduan Praktikum Metode Numerik dengan Matlab

 

x

 

c

1

x

2

c

2

[X] =

,[C] =

x

n

c

n

Matrik [A], disebut sebagai matrik koefisien Pada bagian ini akan dibahas beberapa penyelesaian sistem dari persamaan tersebut secara simultan sehingga nilai dari beberapa variabel tersebut dapat diketahi.

Langkah 1 Kita lakukan eliminasi maju yang bertujuan untuk membentuk matrik segitiga atas(Uper Matrik) dari matrik yang diperlebar untuk untuk system persamaan yang akan diselesaikan. Langkah awal yang kita lakukan adalah mengeliminasi variabel x1 dari persamaan kedua, kemudian ketiga hingga persamaan ke n. Kalikan persamaan baris pertama dasi contoh

a

21 a
21 a

11

diatas dengan ( )

a

21

x

1

a

21

a

11

a

12

sehingga anda dapatkan persamaan:

x

2

a

21

a

11

a

1 n

x

n

a

21

a

11

c

12

…………………

pers G.4

kurangkan persamaan G.4 dari persamaan G.2 agar diperoleh persamaan baru :

a

22

a

21

a

11

a

12

x

2

a

2 n

a

21

a

11

a

12

x

n

c

2

a

21

a

11

c

1

kita sederhanakan persamaan diatas, diperoleh :

a'

22

x

2

a'

2

n

.x

n

c'

2

tanda aksen pada persamaan ini menandakan bahwa nilainya telah mengalami perubahan. Langkah langkah ini kita ulangi untuk persamaan ketiga keempat dan seterusnya. Misalkan persamaan G.1 dikalikan dengan a31/a11 dan hasilnya dikurangkan dari persamaan ketiga sehingga menghasilkan system persamaan berikut :

 

+ a1nxn

=

c’1

pers :G.4.a

pers :G.4.b

a11x1 + a12x2 + a13x3 + … a’22x2+ a’23x3 + …

……………………… + a’2nxn = c’2

+ a’3nxn = c’3

a’32x2+ a’33x3 + …

pers :G.4.c

 

=

… …

 

=

… …

 

=

… …

 

a’n2x2 + a’n3x3 + …

+ a’nnxn = c’n

pers :G.4.d

untuk langkah selanjutnya, persamaan G.1 disebut sebagai persamaan poros(pivot), dan a11 sebagai koefisien poros. Proses pembagian seperti a12/a11 atau a31/a11 disebut normalisasi. Pada proses normalisasi tersebut dapat saja terjadi pembagian dengan nol(tidak terdefinisi), sehingga metode ini disebut dengan Eliminasi gauss Naif Sekarang kita lanjutkan untuk mengeliminasi x2 dari persamaan G.4b, maka persamaan ini kita jadikan sebagai persamaan poros (pivot) sebagaimana pada langkah sebelumnya (langkah saat eliminasi x1) Yaitu dengan mengalikan persamaan G.4b dengan a’32/a’22 dan mengurangkan hasilnya dengan dari persamaan G.4.c. Kemudian lakukan eliminasi yang

Panduan Praktikum Metode Numerik dengan Matlab sama untuk persamaan keempat, kelima dan seterunya sehingga dihasilkan

Panduan Praktikum Metode Numerik dengan Matlab

sama untuk persamaan keempat, kelima dan seterunya sehingga dihasilkan persamaan sebagai berikut :

a11x1

+

a12x2

+

a13x3

+ …

+

a1nxn

=

c1

 

a’22x2 +

a’23x3 + …

+

a’2nxn =

c’2

 

a”33x3 + …

+

a”3nxn =

c”3

 

=

 

a”n3x3 +…

+

a”nnxn =

c”n

Langkah eliminasi dapat diteruskan menggunakan persamaan lain dibawahnya sebagai persamaan poros. langkah ini berakhir sampai pada persamaan ke(n-1), untuk

mengeliminasi variabel Xn-1 dari persamaan ke-n. setelah hal ini selesai anda lakukan maka akan terbentuk suatu system persamaan matrik segitiga atas :

a11x1

+

a12x2

+

a13x3

+ …

+

a’22x2 +

a’23x3 + …

+

a”33x3 + …

+

a

=

a’2nxn =

a”3nxn =

=

a1nxn

n

nn (

1)

x

n

c1

c’2

c”3

c

n (

n

1)

G.5a

G.5b

G.5c

G.5d

Setelah kita dapatkan matrik segitiga atas, maka kita dapat lakukan eliminasi mau untuk mendapatkan nilai-nilai x1,x2 serta x3. Dari persamaan G.5d dengan mudah kita bisa dapatkan nilai dari xn

x

n

c

(

n

n

1)

a

n

nn

(

1)

hasil ini kita subtitusikan ke persamaan ke (n-1) untuk memperoleh nilai x(n-1). Langkah subtitusi ini dilanjutkan terus sampai persamaan ke-1 untuk memperoleh nilai x1. Secara umum langkah subtitusi ini dapat dituliskan sebagai berikut :

X

1

c

(

1

i

1)

n

j i 1

a

(

ij

i

1)

x

j

a

(

ii

i

1)

Jika anda masih sulit memahami, perhatikan sekali lagi ilustrasi berikut ini :

Misalkan kita mempunyai system persamaan dengan dimensi matrik adalah (3,3)

a

a

a

11

21

31

a

a

a

12

22

32

a   x   

a

a

13

23

1

x

2

33

   x

3

c

 

  c

1

c

2

3

Jika matrik ini kita perlebar maka kita dapatkan matrik baru :

a

a

a

11

21

31

a

a

a

12

22

32

a

a

a

13

23

33

c

c

c

1

2

3

setelah kita lakukan langkah eliminasi maju akan dihasilkan matrik segitiga atas sebagai berikut :

a

 

11 a

0

0

a

12

'

0

22

a

13

'

23

"

33

a

a

1

2

3  

c

c '

c "

Panduan Praktikum Metode Numerik dengan Matlab Langkah 2 Kemudian kita lakukan subtitusi balik untuk mendapatkan

Panduan Praktikum Metode Numerik dengan Matlab

Langkah 2 Kemudian kita lakukan subtitusi balik untuk mendapatkan nilai :

c

"

3

"

a

33

"

 

c

2

a

'

23

.

x

3

a '

22

 

c

1

a

12

x

2

a

13

x

3

 

a

11

 

x

x

x

3

2

3

Untuk menyelesaikan permasalahan eliminasi gauss, secara komputasi coba anda kerjakan program latihan 4c, pada dasarnya program ini belum sempurna untuk itu lakukan pembenahan pada program sehingga masil matematis dan program terdapat kesamaan.

LATIHAN 4C %Program Eliminasi Gauss dengan pertukaran baris %Matriks a ukuran [n, n] dimasukkan %Matriks b ukuran [1, n] dimasukkan

[m, n] = size(a);

for

i

=

1

:

1

:

(n

1)

g

= eye (n, n);

j

= i

 

while a(i, j) == 0

c = a(j, :);

d = b(j);

a(j, :) = a(j+1, :); b(j) = b(j+1); a(j+1, :) = c; b(j+1) = d;

end;

for

k

=

1

:1

:

n

if i == k g(k, i) = a(k, i) / a(i, i);

else

 
 

g(k, i) = -a(k, i) / a(i, i);

end;

a = g * a;

b = g * b;

end;

%Untuk melihat hasil akhir Eliminasi Gauss

a

%matriks segitiga atas

b

%Mencari solusi X 1 , X 2 , …, X n

x = zeros (n, 1);

for i = n :

-1

:

1

c = 0;

for

j

if i

=

~= j c = c + ( a(i, j) * x (j));

1

:

1 :n

Panduan Praktikum Metode Numerik dengan Matlab end; end; x(i, 1) = (b(i) – c) /

Panduan Praktikum Metode Numerik dengan Matlab

end;

end;

x(i, 1) = (b(i) c) / a (i, i);

end;

%Menampilkan hasilnya

x

Jika sudah selesai simpan dengan nama file GAUSS.M. Setelah itu kerjakan pada prompt Matlab :

a = [ 1, 4, -1, 1; 2, 7, 1, -2; 1, 4, -1, 2; 3, -10, -2, 5]

b = [2, 16, 1, -15]

gauss

Nilai x adalah solusi dari persamaan diatas

TUGAS 5 Pada tugas ini anda diharapkan lebih memahami penyelesaian persoalan numerik dengan metode matriks (terutama memahami logika numerik ke dalam logika pemrograman). Untuk lebih memahami logika pemrograman di atas selesaikan permasalahan di bawah ini.

1. Analisa Struktur 1000 lb 1 F 2 90 0 F 3 H 2 2
1. Analisa Struktur
1000 lb
1
F 2
90 0
F 3
H 2
2
F 2
30 0
60 0
3
V 3
V 2

Tentukan besarnya : F1, F2, F3, H2, V2, V3

2. Elektronika Dasar

R 1 =1  R 3 =1  R 5 =1  + R 2
R 1 =1 
R 3 =1 
R 5 =1 
+
R 2 =1 
i 1
i 2
R 4 =1 
i 3
+
-
-
V
1 =5V
V
2 =5V

Tentukan besarnya : i1, i2, i3

Panduan Praktikum Metode Numerik dengan Matlab Regresi Linier Dengn Metode Least Square Regresi ini sangat

Panduan Praktikum Metode Numerik dengan Matlab

Regresi Linier Dengn Metode Least Square Regresi ini sangat diperlukan untuk mencari kurva g(x) yang dapat memiliki titik dari hasil percobaan. Perhatikan gambar berikut :

f(x)

g(x) x
g(x)
x

Dengan Metode Leaast Square Regresi Linier (orde 1) diperoleh :

a

dan

b

1

n

n

y i

x y

i

1

n

x b

i

y

bx

i

 

x

i

y

i

n

2

i

x

x

i

2

dimana :

n = jumlah data percobaan Sehingga diperoleh persamaan linierisasi :

g(x) = a + bx Agar lebih mudah untuk mengembangkan logika kita ke regresi yang lebih besar hal tersebut dapat dibentuk dalam matrik :

n

x

i

x

x

i

2

i

a

1

a

2

=

y

x y

i

i

i

dimana:

a1 = a a2 = b Untuk menentukan a1dan a2 , setelah ketemu bentuk matrik, dapat digunakan bentuk metode invers atau metode matriks Gauss

Panduan Praktikum Metode Numerik dengan Matlab LATIHAN 4D Program % Masukkan data pada matriks [dat]

Panduan Praktikum Metode Numerik dengan Matlab

LATIHAN 4D

Program

% Masukkan data pada matriks [dat] dengan ukuran [n, 2] % dat1 sebagai harga x dan dat2 sebagai harga x dan dat2 sebagai harga y [n,m] = size (data)

x

y

=

sum

(dat(:,1));

= sum (dat(:,2));

x2 = dat (:,1) *. dat (:,1);

sx2 = sum (x2);

xy = data (:,1) *. dat (:,2);

sxy = sum (xy);

a = [n,x ; x, sx2];

b = [y,sxy];

gauss

a

= x(1)

b

= x(2)

k

= zeros (n,1);

%

x

= x

% y = y

% x2 = [x1 2