Anda di halaman 1dari 51

KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

MENCARI AKAR-AKAR PERSAMAAN NON LINIER

Objektif:
1. Mengetahui metode numerik untuk mencari akar-akar persamaan non linier.
2. Mengimplementasikan metode numerik mencari akar menggunakan MATLAB.
3. Mengetahui fasilitas dalam MATLAB dalam mencari akar persamaan non linier.
4. Mengaplikasikan dalam permasalahan fisika.

PENDAHULUAN

Dalam bagian ketiga ini, kita akan membahas tentang beberapa metode numerik yang dapat
digunakan untuk menemukan akar-akar persamaan non-linier. Masalah yang akan kita bahas
tersebut secara matematis dapat diterangkan sebagai pencarian harga harga x sedemikian hingga
memenuhi persamaan non-liner f (x) = 0.

Manakala kita mengatakan bahwa f (x) adalah fungsi non-linier dalam x , ini berarti bahwa f ( x)
tidak dinyatakan dalam bentuk ax + b , dimana a dan b merupakan konstanta dan manakala kita
mengatakan bahwa f ( x) adalah fungsi aljabar, ini berarti bahwa fungsi tersebut tidak melibatkan
bentuk diferensial dny/dxn.

Masalah menemukan akar dari suatu persamaan non linier ini merupakan masalah yang muncul
dalam berbagai disiplin ilmu. Contoh sederhana dari persamaan nonlinier adalah persamaan
kuadratik yang berbentuk f (x) = ax2 + bx + c yang dalam keadaan tertentu bisa diselesaikan
dengan formula kuadratik

±√
, = (3.1)

Created @ 2011 by Mada Sanjaya WS 1


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Rumus-rumus yang memberikan nilai eksak dari penyelesaian secara eksplisit hanya ada untuk
kasus-kasus yang sangat sederhana. Fungsi yang cukup sederhana seperti f(x) = e-x– x sudah
tidak bisa diselesaikan secara analitik. Dalam hal ini satu-satunya alternatif adalah menggunakan
solusi pendekatan (approximate solution). Hal inilah yang menjadi sebab mengapa metode
numerik menjadi sangat diperlukan dalam memecahkan persoalan-persoalan dalam bidang sains
dan teknologi bahkan dalam bidang social maupun ekonomi.

Beberapa metode numerik akan dibahas secara detail antara lain metode bagi dua (bisection),
Newton-Raphson, posisi palsu (regula falsi/interpolasi linier), Secant dan metode iterasi
langsung. Contoh studi kasus dalam fenomena sistem fisika juga akan diberikan untuk
memberikan gambaran jelas terhadap metode yang dipelajari.

METODE BISECTION

Secara umum, jika f(x) real dan kontinu pada interval antara xa sampai xb, dan f(xa) dan f(xb)
berlawanan tanda, maka

( ) ( )<0 (3.2)

dan sekurang-kurangnya ada satu akar pada interval itu.


Berikut langkah-langkah komputasi aktual dengan metode bisection:
1. Tentukan nilai awal xa yang lebih rendah dan xb yang lebih tinggi, sehingga fungsi
berubah tanda melalui interval. Ini bisa dicek dengan menghitung ( ) ( ) < 0.
2. Estimasikan akar xc, yang ditentukan oleh:
= (3.3)

3. Lakukan evaluasi berikut untuk menentukan interval akar:


a. Jika ( ) ( ) < 0 .berarti akar pada sub-interval bawah (xa,xc), kemudian set
xa=xc dan kembali lakukan langkah 2
b. Jika ( ) ( ) > 0 .berarti akar pada sub-interval atas(xa,xc), kemudian set xb=xc
dan kembali lakukan langkah 2
c. Jika ( ) ( ) = 0 akarnya adalah xc, perhitungan dihentikan.

Created @ 2011 by Mada Sanjaya WS 2


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Dengan metode ini ditentukan titik tengah interval, dan interval akan dibagi menjadi dua sub-
interval, yang salah satunya pasti mengandung akar. Berikutnya yang ditinjau adalah sub-interval
yang mengandung akar. Proses diulangi dengan membagi sub-interval tersebut dan memeriksa
separo sub-interval mana yang mengandung akar. Pembagiduaan sub-sub interval ini dilanjutkan
sampai lebar interval yang ditinjau cukup kecil.

Gambar 3.1: Metode bisection

Kriteria penghentian komputasi dan kesalahan estimasi pendekatan, adalah bijaksana untuk
selalu disertakan didalam setiap kasus pencarian akar. Kesalahan relatif er cukup representatif
untuk kasus dimana nilai akar sebenarnya telah diketahui. Pada situasi aktual biasanya nilai akar
sebenarnya tidak diketahui, sehingga diperlukan kesalahan relatif pendekatan, era, yaitu:

= 100% (3.4)

METODE REGULASI FALSI

Metode regulasi falsi disebut juga metode posisi palsu karena metode ini memberikan posisi
palsu akar x3 berdasarkan titik perpotongan garis lurus yang melalui (x1, f(x1)) dan (x2, f(x2))
dengan tanda berbeda dan kontinu. Dari titik tersebut dilakukan interpolasi linier, sehingga
metoda ini disebut juga interpolasi linier. Kelebihan metode ini adalah diperlukannya iterasi

Created @ 2011 by Mada Sanjaya WS 3


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

yang lebih sedikit untuk menemukan akar dari fungsi sehingga lebih efektif dibandingkan
metode bisection.

Gambar 3.2: Metode regulasi falsi

Berdasarkan kurva gambar 3.2 diatas, diperoleh

(3.5)

Sehingga diperoleh

(3.6)

Berikut langkah-langkah komputasi aktual dengan metode regulasi falsi:


1. Tentukan nilai awal x1 yang lebih rendah dan x2 yang lebih tinggi, sehingga fungsi
berubah tanda melalui interval. Ini bisa dicek dengan menghitung
2. Estimasikan akar x3, yang ditentukan oleh persamaan (3.6)
3. Lakukan evaluasi berikut untuk menentukan interval akar:
a. Jika .berarti akar pada sub-interval bawah (x1,x3), kemudian set
x1=x3 dan kembali lakukan langkah 2
b. Jika .berarti akar pada sub-interval atas (x2,x3), kemudian set x2=x3
dan kembali lakukan langkah 2
c. Jika akarnya adalah x3, perhitungan dihentikan.

METODE NEWTON-RAPHSON

Created @ 2011 by Mada Sanjaya WS 4


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Metode Newton Raphson adalah metode iterasi lain untuk memecahkan persamaan f(x)=0,
dengan f diasumsikan mempunyai turunan kontinu f’. Secara geometri metode ini menggunakan
garis singgung sebagai hampiran fungsi pada suatu selang. Gagasan dasarnya adalah grafik f
dihampiri dengan garis-garis singgung yang sesuai. Dengan menggunakan suatu nilai xi sebagai
tebakan awal yang diperoleh dengan melokalisasi akar-akar dari f(x) terlebih dahulu, kemudian
ditentukan xi+1 sebagai titik potong antara sumbu x dan garis singgung pada kurva f di titik (xi
,f(xi)). Prosedur yang sama diulang, menggunakan nilai terbaru sebagai nilai coba untuk iterasi
seterusnya.

Gambar 3.3: Metode Newton-Rephson

Algoritma metode ini diperoleh dari perhitungan gradient garis singgung dari kurva dengan
menggunakan ekspansi deret Taylor fungsi f(xi+1) disekitar xi. Pendekatan beda hingga turunan
pada fungsi f(xi+1) adalah

(3.7)

Jika xi+1 adalah akar dari f(x)=0, maka persamaan diatas menjadi

(3.8)

Created @ 2011 by Mada Sanjaya WS 5


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Sehingga diperoleh

( )
= − ( )
(3.9)

Berikut langkah-langkah komputasi aktual dengan metode regulasi falsi:


1. Menentukan f’(x) dari f(x).
2. Menentukan nilai xi pada sembarang titik.
3. Menghitung xi+1 sesuai persamaan (3.9)
4. Membuat estimasi nilai xi+1 dengan kriteria:
a. Jika nilai kecil atau mendekati nol, maka xi+1 adalah akar dari persamaan, sehingga
perhitungan selesai.
b. Jika nilai belum kecil, perhitungan dilanjutkan dengan x i+1=xi*, kemudian dicari
xi+1* langkah 3 sampai diperoleh f(x*) kecil atau mendekati nol.

METODE SECANT

Pada dasarnya metode ini sama dengan metode Newton-Raphson, perbedaannya hanya terletak
pada pendekatan untuk turunan pertama dari f saja. Pendekatan f' pada metode Secant didekati
dengan ungkapan beda hingga yang didasarkan pada taksiran akar sebelumnya (beda mundur),
yaitu
( ) ( ) ( ) ( )
= = ( ) (
(3.10)
)

Selanjutnya, persamaan beda hingga (3.10) tersebut disubstitusi ke skema Newton-Raphson (3.9)
sehingga diperoleh
( )
= − ( − ) (3.11)
( ) ( )

Jika kita perhatikan, ungkapan (3.11) ini identik dengan metode Regula Falsi seperti yang telah
dibahas di pasal yang lalu. Perbedaannya adalah metode Regula Falsi selalu menggantikan salah
satu dari dua taksiran akar sehingga akar selalu dalam keadaan terkurung dan titik-titik lama
selalu diupdate menjadi titik yang baru.

Created @ 2011 by Mada Sanjaya WS 6


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Gambar 3.4: Metode Secant


Sedangkan metode Secant tidak memerlukan dua taksiran awal yang harus mengurung akar
persamaan. Gambaran secara grafis metode Secant yang sedang mencari akar persamaan terlihat
pada gambar 3.4.

Berikut langkah-langkah komputasi aktual dengan metode Secant:


1. Berikan dua terkaan awal xa dan xb
2. Hitung xc dengan cara sesuai persamaan (3.11)
3. Set xa = xb, f a= f b dan xb = xc , f b = f c
4. Ulangi poin 2 dan 3 sampai xc tidak berubah secara signifikan.

APLIKASI DALAM FISIKA

Sebuah muatan Q1= +4 C berjarak 10 m dari sebuah muatan Q2= +9 C. Di titik


manakah pada garis yang menghubungkan dua muatan tersebut yang medan listriknya sama
dengan nol?

Solusi:

Medan listrik di titik P akan sama dengan 0, dengan syarat E1(x) = E2(x).

Created @ 2011 by Mada Sanjaya WS 7


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

= ( )
(3.12)

Jika didnyatakan dalam bentuk persamaan kuadrat, maka diperoleh fungsi:

( )=( − ) +2 − =0 (3.13)

Dalam metode pencarian akar, dibutuhkan nilai akar awal pertama (x1) dan kedua (x2) sebagai
nilai kurung untuk membatasi pencarian akar. Kedua nilai tersebut ditentukan dengan perkiraan,
akan tetapi dapat digunakan statement if dan for seperti berikut:

Metode Bisection Cara I:


Berikut adalah script bisection_medan_nol.m
clc
clear
close

% Program Menghitung Akar Metode Bisection


% By Mada Sanjaya WS

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')

Created @ 2011 by Mada Sanjaya WS 8


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')


disp(' ============METODE BISECTION=================')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
q1=input(' Masukan besar muatan q1 =');
q2=input(' Masukan besar muatan q2 =');
l=input(' Masukan jarak q1 dan q2=');
x1=input(' Masukan akar awal pertama=');% tebakan akar pertama
x2=input(' Masukan akar awal kedua=');% tebakan akar kedua

% Nilai fungsi persamaan masing-masing tebakan akar

f1=(q2-q1)*x1^2+2*q1*l*x1-q1*l^2;
f2=(q2-q1)*x2^2+2*q1*l*x2-q1*l^2;

t1=(x1+x2)/2;
ft1=(q2-q1)*t1^2+2*q1*l*t1-q1*l^2;

%input jumlah iterasi


M=input(' Masukan jumlah iterasi=');

% tempat menyimpan data x1


X1=zeros(M,1);
X2=X1; % tempat menyimpan x2
T=X1;% tempat menyimpan t1
FX1=X1; FX2=X1; FT=X1;

X1(1)=x1; X2(1)=x2; T(1)=t1;


FX1(1)=f1; FX2(1)=f2; FT(1)=ft1;

for m=2:M
if FT(m-1)<0
X1(m)=T(m-1);
X2(m)=X2(m-1);
else
X1(m)=X1(m-1);
X2(m)=T(m-1);
end
FX1(m)=(q2-q1)*X1(m)^2+2*q1*l*X1(m)-q1*l^2;
FX2(m)=(q2-q1)*X2(m)^2+2*q1*l*X2(m)-q1*l^2;
T(m)=(X1(m)+X2(m))/2;
FT(m)=(q2-q1)*T(m)^2+2*q1*l*T(m)-q1*l^2;
end
It=(1:M)';
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE BISECTION
')% TABEL OUTPUT
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp('Iterasi ke- Xm Xm+1 t F(Xm) F(Xm+1) F(t)')
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp([It X1 X2 T FX1 FX2 FT]) % mengisi table

Created @ 2011 by Mada Sanjaya WS 9


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Output pada command window

Gambar 3.5: Output metode bisection cara I

Metode Bisection Cara II:

Created @ 2011 by Mada Sanjaya WS 10


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Gambar 3.6: Fungsi kuadrat medan listrik dua muatan

% Program Menghitung Akar Metode Bisection cara II


% By Mada Sanjaya WS
disp(' ')
disp(' ')
disp('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp('+++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp('============METODE BISECTION=================')
disp('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
q1=input(' Masukan besar muatan q1 =');
q2=input(' Masukan besar muatan q2 =');
l=input(' Masukan jarak q1 dan q2=');
x1=input(' Masukan akar awal pertama=');% tebakan akar pertama
x2=input(' Masukan akar awal kedua=');% tebakan akar kedua
disp('-------------------------')
disp(' xm fm ') % xm adalah rata-rata x1 dan x2
disp('-------------------------')
for k=1:10;
f1=rumus_medan(q1,q2,l,x1); f2=rumus_medan(q1,q2,l,x2);
xm=(x1+x2) / 2; fm=rumus_medan(q1,q2,l,xm);
fprintf('%9.6f%13.6f \n', xm,fm) % Untuk memunculkan xm dan fm dalam 1 baris
if (f1*fm<0)
x2=xm;
else
x1=xm;
end
end

Created @ 2011 by Mada Sanjaya WS 11


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Gambar 3.7: Output metode bisection cara II

Metode Regulasi Falsi Cara I:

% Program Menghitung Akar Metode Regulasi Falsi


% By Mada Sanjaya WS
disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' ==============REGULASI FALSI=================')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
q1=input(' Masukan besar muatan q1 =');
q2=input(' Masukan besar muatan q2 =');
l=input(' Masukan jarak q1 dan q2=');
x1=input(' Masukan akar awal pertama=');% tebakan akar pertama
x2=input(' Masukan akar awal kedua=');% tebakan akar kedua

% Nilai fungsi persamaan masing-masing tebakan akar

f1=(q2-q1)*x1^2+2*q1*l*x1-q1*l^2;
f2=(q2-q1)*x2^2+2*q1*l*x2-q1*l^2;

w1=x2-(f2/(f2-f1))*(x2-x1);

fw1=(q2-q1)*w1^2+2*q1*l*w1-q1*l^2;

Created @ 2011 by Mada Sanjaya WS 12


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

%input jumlah iterasi

M=input(' Masukan jumlah iterasi=');

% tempat menyimpan data x1


X1=zeros(M,1);
X2=X1; % tempat menyimpan x2
W=X1;% tempat menyimpan t1
FX1=X1; FX2=X1; FW=X1;

X1(1)=x1; X2(1)=x2; W(1)=w1;


FX1(1)=f1; FX2(1)=f2; FW(1)=fw1;

for m=2:M
if FW(m-1)<0
X1(m)=W(m-1);
X2(m)=X2(m-1);
else
X1(m)=X1(m-1);
X2(m)=W(m-1);
end
FX1(m)=(q2-q1)*X1(m)^2+2*q1*l*X1(m)-q1*l^2;
FX2(m)=(q2-q1)*X2(m)^2+2*q1*l*X2(m)-q1*l^2;
W(m)=X2(m)-(FX2(m)/(FX2(m)-FX1(m)))*(X2(m)-X1(m));
FW(m)=(q2-q1)*W(m)^2+2*q1*l*W(m)-q1*l^2;
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE REGULASI FALSI
')% TABEL OUTPUT
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp('Iterasi ke- Xm Xm+1 w F(Xm) F(Xm+1) F(w)')
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp([It' X1 X2 W FX1 FX2 FW]) % mengisi tabel

Output pada command window

Created @ 2011 by Mada Sanjaya WS 13


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Gambar 3.8: Output metode regulasi falsi cara I

Metode Regulasi Falsi Cara II:


% Program Menghitung Akar Metode Relasi falsi cara II
% By Mada Sanjaya WS
disp(' ')
disp(' ')
disp('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp('+++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp('===========METODE REGULASI FALSI=============')
disp('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
q1=input(' Masukan besar muatan q1 =');
q2=input(' Masukan besar muatan q2 =');
l=input(' Masukan jarak q1 dan q2=');
x1=input(' Masukan akar awal pertama=');% tebakan akar pertama
x2=input(' Masukan akar awal kedua=');% tebakan akar kedua
disp('-------------------------')
disp(' xm fm ') % xm adalah rata-rata x1 dan x2
disp('-------------------------')
for k=1:10;
f1=rumus_medan(q1,q2,l,x1); f2=rumus_medan(q1,q2,l,x2);
xm=x2-(f2/(f2-f1))*(x2-x1); fm=rumus_medan(q1,q2,l,xm);

Created @ 2011 by Mada Sanjaya WS 14


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

fprintf('%9.6f%13.6f \n', xm,fm) % Untuk memunculkan xm dan fm dalam 1 baris


if (f1*fm<0)
x2=xm;
else
x1=xm;
end
end

Gambar 3.9: Output metode regulasi falsi cara II

Metode Newton-Raphson:

% Program Menghitung Akar Metode Newton-Raphson


% By Mada Sanjaya WS

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' ===========METODE NEWTON-RAPHSON=============')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
q1=input(' Masukan besar muatan q1 =');
q2=input(' Masukan besar muatan q2 =');
l=input(' Masukan jarak q1 dan q2=');
x=input(' Masukan akar awal pertama=');% tebakan akar pertama

Created @ 2011 by Mada Sanjaya WS 15


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

% Nilai fungsi persamaan tebakan akar


f=(q2-q1)*x^2+2*q1*l*x-q1*l^2;

% Turunan persamaan f yaitu f'ditulis sebagai berikut


df=2*(q2-q1)*x+2*q1*l;

%input jumlah iterasi


M=input(' Masukan jumlah iterasi=');

% tempat menyimpan data x1


X=zeros(M,1);
FX=X; dFX=X;

X(1)=x;
FX(1)=f; dFX(1)=df;

for m=2:M
X(m)=X(m-1)-(FX(m-1)/dFX(m-1));
FX(m)=(q2-q1)*X(m)^2+2*q1*l*X(m)-q1*l^2;
dFX(m)=2*(q2-q1)*X(m)+2*q1*l;
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE NEWTON-RAPHSON')% TABEL OUTPUT
disp(' +++++++++++++++++++++++++++++++++++++++++')
disp(' Iterasi ke- Xm F(X) F(X+1)')
disp(' +++++++++++++++++++++++++++++++++++++++++')
format short
disp([It' X FX dFX]) % mengisi tabel

Output pada command window

Gambar 3.10: Output metode Newton-Raphson

Metode Secant:

Created @ 2011 by Mada Sanjaya WS 16


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

% Program Menghitung Akar Metode Secant


% By Mada Sanjaya WS

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' ==============METODE SECANT =================')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
q1=input(' Masukan besar muatan q1 =');
q2=input(' Masukan besar muatan q2 =');
l=input(' Masukan jarak q1 dan q2=');
x1=input(' Masukan akar awal pertama=');% titik singgung 1
x2=input(' Masukan akar awal kedua=');% titik singgung 2

% Nilai fungsi persamaan masing-masing titik singgung

f1=(q2-q1)*x1^2+2*q1*l*x1-q1*l^2;
f2=(q2-q1)*x2^2+2*q1*l*x2-q1*l^2;
s1=x2-(f2*(x2-x1)/(f2-f1));
fs1=(q2-q1)*s1^2+2*q1*l*s1-q1*l^2;

%input jumlah iterasi


M=input(' Masukan jumlah iterasi=');
% tempat menyimpan data x1
X1=zeros(M,1);
X2=X1; % tempat menyimpan x2
S=X1;% tempat menyimpan t1
FX1=X1; FX2=X1; FS=X1;
X1(1)=x1; X2(1)=x2; S(1)=s1;
FX1(1)=f1; FX2(1)=f2; FS(1)=fs1;

for m=2:M
if FS(m-1)<0
X1(m)=S(m-1);
X2(m)=X2(m-1);
else
X1(m)=X1(m-1);
X2(m)=S(m-1);
end
FX1(m)=(q2-q1)*X1(m)^2+2*q1*l*X1(m)-q1*l^2;
FX2(m)=(q2-q1)*X2(m)^2+2*q1*l*X2(m)-q1*l^2;
S(m)=X2(m)-(FX2(m)*(X2(m)-X1(m))/(FX2(m)-FX1(m)));
FS(m)=(q2-q1)*S(m)^2+2*q1*l*S(m)-q1*l^2;
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE SECANT ')%
TABEL OUTPUT
disp('++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp('Iterasi ke- Xm-1 Xm S F(Xm-1) F(Xm) F(S)')
disp('++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')

Created @ 2011 by Mada Sanjaya WS 17


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

disp([It' X1 X2 S FX1 FX2 FS]) % mengisi tabel

Output pada command window

Gambar 3.11: Output metode secant

POLINOMIAL DALAM MATLAB

Berbagai fungsi matematis bisa dievaluasi dan dianalisis dengan berbagai command yang ada di
MATLAB. Salah satu fungsi matematis yang sering digunakan, yaitu polinomial, penanganan
dan evaluasinya akan dibahas pula dalam bagian ini.

Suatu polinomial, p(x), berderajat n dinyatakan sebagai sebuah vektor baris p berukuran n+1.
Elemen vektor menunjukkan koefisien dari polinomial yang diurutkan dari orde tertinggi ke
terendah.

( )= + +⋯+ + (3.14)

Created @ 2011 by Mada Sanjaya WS 18


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Dinyatakan sebagai
=( … ) (3.15)
Command berikut digunakan untuk menangani polinomial:

Tabel 3.1: Fungsi built in MATLAB untuk polinomial


No Nama fungsi Keterangan
1 polyval(p,x) mengevaluasi polinonial p pada nilai x, dengan
x bisa berupa skalar maupun vektor
2 poly(x) menghitung vektor sepanjang n+1 yang
mewakili suatu polinomial orde-n. Vektor x
sepanjang n berisi akar-akar dari polinom
tersebut
3 roots(p) menghitung vektor berisi akar-akar dari
polinomial p
4 conv(p,q) menghitung produk (hasil perkalian) dari
polinomial p dan q. Bisa juga dianggap sebagai
konvolusi antara p dan q
5 [k,r] = deconv(p,q) membagi polinomial p dengan q. Hasil
pembagian disimpan dalam polinom k dan sisa
pembagian dalam polinom r. Bisa juga
dianggap sebagai dekonvolusi antara p dan q
6 polyder(p) menghitung vektor sepanjang n berisi turunan
pertama dari polinom p

Fungsi dalam MATLAB untuk mencari akar suatu fungsi, ditampilkan dalam table berikut

Tabel 3.2: Fungsi built in MATLAB untuk iterasi suatu fungsi


No Nama fungsi Keterangan
1 fplot(‘fcn’,lim,’string’) memplot fungsi fcn pada interval lim dengan
property yang didefinisikan oleh string. fcn
berupa M-file yang berisi definisi fungsi. lim
berupa vektor 2 elemen berisi batas interval
xmin dan xmax.
2 fzero(‘fcn’,x0) menghitung nol dari fungsi fcn dengan nilai
tebakan awal x0.
3 fzero(‘fcn’,x0,tol) menghitung nol dari fungsi fcn dengan nilai
tebakan awal x0.
tol menentukan toleransi error dari perhitungan
pendekatan
yang diinginkan

Created @ 2011 by Mada Sanjaya WS 19


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Contoh 1

Berikut adalah fasilitas Matlab untuk mencari akar posisi medan listrik nol sebagaimana telah di
buat solusinya menggunakan beberapa metode numerik.
( )=( − ) +2 − =0 (3.13)

Metode I

Gambar 3.12: Fungsi roots untuk mencari akar persamaan polinomial


Metode II

Gambar 3.13: Script fungsi kuadrat medan listrik dua muatan

Created @ 2011 by Mada Sanjaya WS 20


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Gambar 3.14: Fungsi fzero untuk mencari akar suatu fungsi.

Contoh 2

Gambar 3.15: Aliran fluida pada sebuah pipa kecil


Sesuai Hukum Bernoulli, maka diperoleh

(3.16)

Dengan,
Q = 1.2m3/s = volume aliran fluida tiap satuan waktu
g = 9.81 m/s2 = percepatan gravitasi
b = 1.8m = lebar pipa
h0 = 0.6m = ketinggian maksimum air
H = 0.075m = tinggi pelebaran pipa
h = ketinggian air
Dengan menggunakan pendekatan numerik, tentukan besar h.

Created @ 2011 by Mada Sanjaya WS 21


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Solusi:
Besar h dapat ditentukan dengan mencari akar persamaan bernoulli, dapat dipilih sebagian atau
seluruh metode yang telah dijelaskan diatas. Berikut solusi dengan menggunakan beberapa
metode pencarian akar.
Metode Bisection Cara II

%Program Menghitung Akar Bisection


%By Mada Sanjaya WS

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ++++++++++HUKUM BERNOULLI+++++++++')
disp(' ========METODE BISECTION II=======')
disp(' ')
disp(' ')
Q=input(' Masukan besar debit Q =');
g=input(' Masukan besar percepatan gravitasi g =');
b=input(' Masukan lebar pipa b =');
h0=input(' Masukan tinggi maksimum h0 =');
H=input(' Masukan tinggi pelebaran pipa H =');
h1=input(' Masukan akar awal pertama=');% tebakan akar pertama
h2=input(' Masukan akar awal kedua=');% tebakan akar kedua
disp('-------------------------')
disp(' hm fm ') % hm adalah rata-rata h1 dan h2
disp('-------------------------')
for k=1:10;
f1=bernoulli(Q,g,b,h0,H,h1); f2=bernoulli(Q,g,b,h0,H,h2);
hm=(h1+h2) / 2; fm=bernoulli(Q,g,b,h0,H,hm);
fprintf('%9.6f%13.6f \n', hm,fm) % Untuk memunculkan hm dan fm dalam 1 baris
if (f1*fm<0)
h2=hm;
else
h1=hm;
end
end

Created @ 2011 by Mada Sanjaya WS 22


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Output

File Untuk Menentukan Akar Awal Pertama dan kedua

Created @ 2011 by Mada Sanjaya WS 23


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Metode Regulasi Falsi Cara I


% Program Menghitung Akar Metode Regulasi Falsi I
% By Mada Sanjaya WS

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' =============REGULASI FALSI I================')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
Q=input(' Masukan besar debit Q =');
g=input(' Masukan besar percepatan gravitasi g =');
b=input(' Masukan lebar pipa b =');
h0=input(' Masukan tinggi maksimum h0 =');
H=input(' Masukan tinggi pelebaran pipa H =');
h1=input(' Masukan akar awal pertama=');% tebakan akar pertama
h2=input(' Masukan akar awal kedua=');% tebakan akar kedua
% Nilai fungsi persamaan masing-masing tebakan akar
f1=h0^2*(Q^2/2*g*b^2+h1^3+H*h1)-h1^2*(Q^2/2*g*b^2+h0^3);
f2=h0^2*(Q^2/2*g*b^2+h2^3+H*h2)-h2^2*(Q^2/2*g*b^2+h0^3);
w1=h2-(f2/(f2-f1))*(h2-h1);
fw1=h0^2*(Q^2/2*g*b^2+w1^3+H*w1)-w1^2*(Q^2/2*g*b^2+h0^3);
%input jumlah iterasi
M=input(' Masukan jumlah iterasi=');
% tempat menyimpan data h1
X1=zeros(M,1);
X2=X1; % tempat menyimpan h2
W=X1;% tempat menyimpan t1
FX1=X1; FX2=X1; FW=X1;
X1(1)=h1; X2(1)=h2; W(1)=w1;
FX1(1)=f1; FX2(1)=f2; FW(1)=fw1;
for m=2:M
if FW(m-1)<0
X1(m)=W(m-1);
X2(m)=X2(m-1);

Created @ 2011 by Mada Sanjaya WS 24


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

else
X1(m)=X1(m-1);
X2(m)=W(m-1);
end
FX1(m)=h0^2*(Q^2/2*g*b^2+X1(m)^3+H*X1(m))-X1(m)^2*(Q^2/2*g*b^2+h0^3);
FX2(m)=h0^2*(Q^2/2*g*b^2+X2(m)^3+H*X2(m))-X2(m)^2*(Q^2/2*g*b^2+h0^3);
W(m)=X2(m)-(FX2(m)/(FX2(m)-FX1(m)))*(X2(m)-X1(m));
FW(m)=h0^2*(Q^2/2*g*b^2+W(m)^3+H*W(m))-W(m)^2*(Q^2/2*g*b^2+h0^3);
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE REGULASI FALSI')% TABEL OUTPUT
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp('Iterasi ke- Xm Xm+1 w F(Xm) F(Xm+1) F(w)')
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp([It' X1 X2 W FX1 FX2 FW]) % mengisi tabel

Output

Metode Regulasi Falsi Cara II


% Program Menghitung Akar Metode Relasi falsi cara II
% By Mada Sanjaya WS
disp(' ')

Created @ 2011 by Mada Sanjaya WS 25


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

disp(' ')
disp('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp('+++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp('==========METODE REGULASI FALSI II===========')
disp('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
Q=input(' Masukan besar debit Q =');
g=input(' Masukan besar percepatan gravitasi g =');
b=input(' Masukan lebar pipa b =');
h0=input(' Masukan tinggi maksimum h0 =');
H=input(' Masukan tinggi pelebaran pipa H =');
h1=input(' Masukan akar awal pertama=');% tebakan akar pertama
h2=input(' Masukan akar awal kedua=');% tebakan akar kedua
disp('-------------------------')
disp(' hm fm ') % xm adalah rata-rata h1 dan h2
disp('-------------------------')
for k=1:10;
f1=bernoulli(Q,g,b,h0,H,h1); f2=bernoulli(Q,g,b,h0,H,h2);
hm=(h1+h2) / 2; fm=bernoulli(Q,g,b,h0,H,hm);
fprintf('%9.6f%13.6f \n', hm,fm) % Untuk memunculkan hm dan fm dalam 1 baris
if (f1*fm<0)
h2=hm;
else
h1=hm;
end
end

Output

Created @ 2011 by Mada Sanjaya WS 26


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Metode Fzero

Output

Created @ 2011 by Mada Sanjaya WS 27


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Berdasarkan hasil perhitungan pencarian akar dengan menggunakan beberapa metode


diatas diperoleh nilai akar yang hampir sama yaitu 0.6006. Hal ini mengisyaratkan bahwa
metode pencarian akar memiliki tingkat akurasi yang sama. Penggunaan beberapa metode ini
bertujuan agar hasil pencarian akar dari metode yang satu dapat menjadi pembanding bagi
metode yang lain.

Contoh 3

Prinsip kerja propulsi roket merupakan penerapan dari hukum ketiga Newton dan kekalan
momentum. Prinsip kerja pada roket ini sama dengan yang dipakai cumi-cumi atau gurita untuk
mendorong diri mereka. Mereka mengeluarkan air dari tubuh mereka dengan gaya yang sangat
besar, dan air yang dikeluarkan mengerjakan gaya yang sama dan berlawanan pada cumi-cumi
atau gurita, mendorongnya ke depan. Sebuah roket mendapatkan sebuah dorongan dengan
membakar bahan bakar dan membuang gas yang terbentuk lewat belakang. Roket mengerjakan
gaya pada gas buang, dan dari hukum Newton III, gas mengerjakan gaya yang sama dan
berlawanan pada roket.

Dengan menggunakan analis perubahan momentum system maka diperoleh persamaan propulsi
roket, secara matematis dapat ditulis sebagai

dv dm
m  u keluar  Feks (3.17)
dt dt

Created @ 2011 by Mada Sanjaya WS 28


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

dimana u keluar adalah kecepatan semburan gas, m adalah massa roket dan air di dalamnya, dan

Feks adalah gaya eksternal dari berat roket. Gaya dorong roket merupakan gaya yang bekerja
pada roket akibat gas yang dikeluarkannya. Sesuai persamaan diatas, maka diperoleh

dm
Fdorong  u keluar (3.18)
dt

Karena gaya eksternal (Feks = -mg) bernilai negative, agar roket dapat dipercepat keatas maka
gaya dorong harus lebih besar dari gaya eksternal tersebut. Setelah kita mensubstitusi Feks dan
membagi dengan m diperoleh

dv u dm
  keluar g (3.19)
dt m dt

Gambar 3.16: (a) momentum roket sebelum bergerak, (b) momentum roket setelah bergerak

Dengan mengintegralkan persamaan (3.19), maka diperoleh kelajuan gerak roket yang dapat
ditulis sebagai

Created @ 2011 by Mada Sanjaya WS 29


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

mi
v f  vi  u keluar ln  gt . (3.20)
mf

Sedangkan untuk kelajuan roket yang bergerak dalam ruang bebas tanpa gaya eksternal,
persamaan (3.20) menjadi

mi
v f  vi  u keluar ln (3.21)
mf

dimana vf dan vi adalah kelajuan akhir dan awal roket, mf dan mi adalah massa akhir dan roket
roket.
Kecepatan roket Saturn V dalam arah vertical v terhadap permukaan bumi dapat diaproksimasi
dengan sedikit perubahan pada persamaan (3.20) menjadi

= ln − (3.22)

dengan
u = 2510 m/s = kecepatan pada saat bahan bakar dikeluarkan relatif terhadap roket
M0 = 2.8 × 106 kg = massa awal roket pada saat t=0.
m˙ = 13.3 × 103 kg/s = laju pemakaian bahan bakar
g = 9.81 m/s2 = percepatan gravitasi
t = waktu diukur terhadap t=0.
Tentukan waktu yang diperlukan agar roket dapat mencapai kecepatan suara 335 m/s.

Solusi :

Metode Bisection Cara II

Created @ 2011 by Mada Sanjaya WS 30


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

%Program Menghitung Akar Bisection


%By Mada Sanjaya WS

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ++++++++++++GERAK ROKET+++++++++++')
disp(' ========METODE BISECTION II=======')
disp(' ')
disp(' ')
v=input(' Masukan besar kecepatan =');
u=input(' Masukan besar kecepatan saat bahan bakar keluar =');
m0=input(' Masukan besar massa awal roket =');
m=input(' Masukan laju pemakaian bahan bakar =');
g=input(' Masukan percepatan gravitasi =');
t1=input(' Masukan akar awal pertama=');% tebakan akar pertama
t2=input(' Masukan akar awal kedua=');% tebakan akar kedua
disp('-------------------------')
disp(' tm fm ') % hm adalah rata-rata h1 dan h2
disp('-------------------------')
for k=1:10;
f1=roket(u,m0,m,g,t1,v); f2=roket(u,m0,m,g,t2,v);
tm=(t1+t2) / 2; fm=roket(u,m0,m,g,tm,v);
fprintf('%9.6f%13.6f \n', tm,fm) % Untuk memunculkan hm dan fm dalam 1 baris
if (f1*fm<0)
t2=tm;
else
t1=tm;
end
end

File Untuk Menentukan Akar Awal Pertama dan Kedua

Created @ 2011 by Mada Sanjaya WS 31


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Output

Metode Newton-Raphson

Created @ 2011 by Mada Sanjaya WS 32


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

clc
clear
close

% Program Menghitung Akar Metode Newton-Raphson


% By Mada Sanjaya WS
disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' ===========METODE NEWTON-RAPHSON=============')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
v=input(' Masukan besar kecepatan =');
u=input(' Masukan besar kecepatan saat bahan bakar keluar =');
m0=input(' Masukan besar massa awal roket =');
m=input(' Masukan laju pemakaian bahan bakar =');
g=input(' Masukan percepatan gravitasi =');
t=input(' Masukan akar awal pertama=');% tebakan akar pertama
% Nilai fungsi persamaan tebakan akar
f=u*log(m0*(m0-m*t)^-1)-g*t-v;
df=u*1/(m0*(m0-m*t)^-1)*(m0*m*(m0-m*t)^-1)-g;
%input jumlah iterasi
M=input(' Masukan jumlah iterasi=');
% tempat menyimpan data x1
X=zeros(M,1);
FX=X; dFX=X;
X(1)=t;
FX(1)=f; dFX(1)=df;
for m=2:M
X(m)=X(m-1)-(FX(m-1)/dFX(m-1));
FX(m)=u*log(m0*(m0-m*X(m))^-1)-g*X(m)-v;% Turunan persamaan f yaitu f'ditulis
sebagai berikut
dFX(m)=u*1/(m0*(m0-m*X(m))^-1)*(m0*m*(m0-m*X(m))^-1)-g;
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE NEWTON-RAPHSON')% TABEL OUTPUT
disp(' +++++++++++++++++++++++++++++++++++++++++')
disp(' Iterasi ke- Xm F(X) F(X+1)')
disp(' +++++++++++++++++++++++++++++++++++++++++')
format long
disp([It' X FX dFX]) % mengisi tabel

Output

Created @ 2011 by Mada Sanjaya WS 33


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Metode Regulasi Falsi Cara I


% Program Menghitung Akar Metode Regulasi Falsi
% By Mada Sanjaya WS
disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' ==============REGULASI FALSI I===============')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
v=input(' Masukan besar kecepatan =');
u=input(' Masukan besar kecepatan saat bahan bakar keluar =');
m0=input(' Masukan besar massa awal roket =');
m=input(' Masukan laju pemakaian bahan bakar =');
g=input(' Masukan percepatan gravitasi =');
t1=input(' Masukan akar awal pertama=');% tebakan akar pertama
t2=input(' Masukan akar awal kedua=');% tebakan akar kedua
% Nilai fungsi persamaan masing-masing tebakan akar
f1=u*log(m0/(m0-m*t1))-g*t1-v;
f2=u*log(m0/(m0-m*t2))-g*t2-v;% Turunan persamaan f yaitu f'ditulis sebagai
berikut
w1=t2-(f2/(f2-f1))*(t2-t1);
fw1=u*log(m0/(m0-m*w1))-g*w1-v;% Turunan persamaan f yaitu f'ditulis sebagai
berikut
%input jumlah iterasi

Created @ 2011 by Mada Sanjaya WS 34


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

M=input(' Masukan jumlah iterasi=');


% tempat menyimpan data x1
X1=zeros(M,1);
X2=X1; % tempat menyimpan x2
W=X1;% tempat menyimpan t1
FX1=X1; FX2=X1; FW=X1;
X1(1)=t1; X2(1)=t2; W(1)=w1;
FX1(1)=f1; FX2(1)=f2; FW(1)=fw1;
for m=2:M
if FW(m-1)<0
X1(m)=W(m-1);
X2(m)=X2(m-1);
else
X1(m)=X1(m-1);
X2(m)=W(m-1);
end
FX1(m)=u*log(m0/(m0-m*X1(m)))-g*X1(m)-v;% Turunan persamaan f yaitu f'ditulis
sebagai berikut
FX2(m)=u*log(m0/(m0-m*X2(m)))-g*X2(m)-v;
W(m)=X2(m)-(FX2(m)/(FX2(m)-FX1(m)))*(X2(m)-X1(m));
FW(m)=u*log(m0/(m0-m*W(m)))-g*W(m)-v;
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE REGULASI FALSI')% TABEL OUTPUT
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
disp('Iterasi ke- Xm Xm+1 w F(Xm) F(Xm+1) F(w)')
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
format short
disp([It' X1 X2 W FX1 FX2 FW]) % mengisi tabel
Output

Created @ 2011 by Mada Sanjaya WS 35


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Metode Fzero

Output

Created @ 2011 by Mada Sanjaya WS 36


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Berdasarkan hasil pencarian akar di atas diperoleh waktu yang dibutuhkan roket untuk mencapai
suatu kecepatan yang sebanding dengan kecepatan suara yaitu 335 m/s2. Roket akan mencapai
kecepatan tersebut pada saat t = 70.53 sekon.

Contoh 4

Contoh aplikasi gesekan udara adalah penerjun payung yang menggunakan parasut. Model kasus
ini diturunkan dari pernyataan percepatan sebagai perubahan kecepatan pada selang waktu
(dv/dt)

= (3.23)

Gaya (F) terdiri dari dua gaya berlawanan, yaitu yang cenderung kebawah karena tarikan
gravitasi FD dan gaya tarik keatas oleh resistansi udara FU :

= + (3.24)

jika gaya kebawah ditandai positif, maka FD = mg, dimana g = percepatan gravitasi 9,8 m/s2.
resistansi udara bisa diformulasikan dengan bermacam variasi. Pendekatan sederhana adalah
diasumsikan bahwa gaya ini berbanding linier dengan kecepatan, dan arahnya keatas, sehingga
FU = –cv, dimana c = konstanta pembanding disebut koefisien tarik (kg/s).

Dengan subtitusi (3.24) dan formulasi FD dan FU, persamaan (3.23) berubah menjadi

= (3.25)

Atau disederhanakan menjadi

= − (3.26)

Created @ 2011 by Mada Sanjaya WS 37


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Persamaan (3.26) adalah persamaan diferensial, dimana solusi eksak untuk kecepatan jatuh
penerjun tidak bisa ditentukan dengan manipulasi aljabar sederhana. Selebihnya, teknik yang
lebih lanjut pada kalkulus harus digunakan untuk menentukan solusi analitik atau eksaknya. Jika
keadaan awal penerjun diam (v=0 pada t =0) persamaan (3.26) menjadi

( )= 1− (3.27)

Persamaan (3.27) dinamakan solusi analitik atau eksak karena secara eksak memenuhi
persamaan diferensial biasa.

Tentukan koefisien tarik (drag coeffisient) c yang diperlukan sebuah parasut bermassa m= 68,1 kg
sehingga kecepatannya 40 m/s setelah terjun bebas selama t=10 sekon.

Dapat kita lihat bahwa tidak seperti kecepatan parasut secara eksplisit dapat diisolasi pada satu
sisi dan sebagai fungsi waktu. Dalam kasus ini koefisien drag adalah implisit. Kasus ini bisa
diselesaikan dengan metode numerik dengan cara mengurangi variabel takbebas v pada kedua
sisi persamaan, sehingga:

( )= 1− − (3.28)

Nilai c yang membuat f(c)=0 , selanjutnya disebut akar persamaan, yang juga representasi dari
koefisien drag sebagai solusi dari kasus.

Solusi:

Metode Bisection Cara II

Created @ 2011 by Mada Sanjaya WS 38


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

clc
clear
close

%Program Menghitung Akar Bisection


%By Halimatussadiyah

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ++++++++++++GERAK ROKET+++++++++++')
disp(' ========METODE BISECTION II=======')
disp(' ')
disp(' ')
m=input(' Masukan besar massa parasut =');
v=input(' Masukan besar kecepatan =');
t=input(' Masukan besar waktu terjun bebas =');
g=input(' Masukan percepatan gravitasi =');
c1=input(' Masukan akar awal pertama=');% tebakan akar pertama
c2=input(' Masukan akar awal kedua=');% tebakan akar kedua
disp('-------------------------')
disp(' cm fm ') % hm adalah rata-rata h1 dan h2
disp('-------------------------')
for k=1:10;
f1=pegas(m,g,c1,v,t); f2=pegas(m,g,c2,v,t);
cm=(c1+c2) / 2; fm=pegas(m,g,cm,v,t);
fprintf('%9.6f%13.6f \n', cm,fm) % Untuk memunculkan hm dan fm dalam 1 baris
if (f1*fm<0)
c2=cm;
else
c1=cm;
end
end
Output

Created @ 2011 by Mada Sanjaya WS 39


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

File Untuk Mencari Akar Awal Pertama dan Kedua

Metode Fzero

Output

Created @ 2011 by Mada Sanjaya WS 40


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Contoh 5

Sebuah peluru bermassa m ditembakan dari puncak gedung yang tingginya h0 dengan kecepatan
awal v0 dan sudut elevasi  .

Gambar 3.19: Gerak proyektil

Dengan pendekatan metode numerik tentukan waktu yang diperlukan peluru untuk sampai pada
ketinggian maksimum dan sampai di tanah.

Solusi:

Metode bisection cara II

clc
clear
close

%Program Menghitung Akar Bisection

Created @ 2011 by Mada Sanjaya WS 41


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

%By Halimatussadiyah

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ++++++++++HUKUM BERNOULLI+++++++++')
disp(' ==========METODE BISECTION II=====')
disp(' ')
disp(' ')
v0=input(' Masukan v0 =');
th=input(' Masukan th =');
g=input(' Masukan g =');
t1=input(' Masukan akar awal pertama=');% tebakan akar pertama
t2=input(' Masukan akar awal kedua=');% tebakan akar kedua
disp('-------------------------')
disp(' hm fm ') % hm adalah rata-rata h1 dan h2
disp('-------------------------')
for k=1:10;
f1=elevasi(v0,th,g,t1); f2=elevasi(v0,th,g,t2);
tm=(t1+t2) / 2; fm=elevasi(v0,th,g,tm);
fprintf('%9.6f%13.6f \n', tm,fm) % Untuk memunculkan hm dan fm dalam 1 baris
if (f1*fm<0)
t2=tm;
else
t1=tm;
end
end

output

Created @ 2011 by Mada Sanjaya WS 42


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

File Untuk Mencari Akar Awal Pertama dan Kedua

Created @ 2011 by Mada Sanjaya WS 43


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Metode Regulasi Falsi

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' ==============REGULASI FALSI=================')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
v0=input(' Masukan v0 =');
th=input(' Masukan th =');
g=input(' Masukan g =');
t1=input(' Masukan akar awal pertama=');% tebakan akar pertama
t2=input(' Masukan akar awal kedua=');% tebakan akar kedua
% Nilai fungsi persamaan masing-masing tebakan akar
f1=(2.*v0.*sin(th)/g)-t1;
f2=(2.*v0.*sin(th)/g)-t2
w1=t2-(f2/(f2-f1))*(t2-t1);
fw1=(2.*v0.*sin(th)/g)-w1;
%input jumlah iterasi
M=input(' Masukan jumlah iterasi=');
% tempat menyimpan data t1
X1=zeros(M,1);
X2=X1; % tempat menyimpan t2
W=X1;% tempat menyimpan t1
FX1=X1; FX2=X1; FW=X1;
X1(1)=t1; X2(1)=t2; W(1)=w1;
FX1(1)=f1; FX2(1)=f2; FW(1)=fw1;
for m=2:M
if FW(m-1)<0
X1(m)=W(m-1);
X2(m)=X2(m-1);
else
X1(m)=X1(m-1);
X2(m)=W(m-1);
end
FX1(m)=(2.*v0.*sin(th)/g)-X1(m);
FX2(m)=(2.*v0.*sin(th)/g)-X2(m);
W(m)=X2(m)-(FX2(m)/(FX2(m)-FX1(m)))*(X2(m)-X1(m));
FW(m)=(2.*v0.*sin(th)/g)-W(m);
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE REGULASI FALSI')% TABEL OUTPUT
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++')
disp('Iterasi ke- Xm Xm+1 w F(Xm) F(Xm+1)
F(w)')
disp('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++')
format short
disp([It' X1 X2 W FX1 FX2 FW]) % mengisi tabel

Created @ 2011 by Mada Sanjaya WS 44


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Output

Metode Newton-Raphson
clc
clear
close

disp(' ')
disp(' ')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' +++++++++MENGHITUNG AKAR PERSAMAAN+++++++++++')
disp(' ===========METODE NEWTON-RAPHSON=============')
disp(' XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
disp(' ')
disp(' ')
v0=input(' Masukan v0 =');
th=input(' Masukan th =');
g=input(' Masukan g =');
t=input(' Masukan akar awal pertama=');% tebakan akar pertama
% Nilai fungsi persamaan tebakan akar
f=(2*v0*sin(th)/g)-t;
df=-1;
%input jumlah iterasi
M=input(' Masukan jumlah iterasi=');
% tempat menyimpan data t1

Created @ 2011 by Mada Sanjaya WS 45


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

X=zeros(M,1);
FX=X; dFX=X;
X(1)=t;
FX(1)=f; dFX(1)=df;
for m=2:M
X(m)=X(m-1)-(FX(m-1)/dFX(m-1));
FX(m)=(2*v0*sin(th)/g)-X(m);% Turunan persamaan f yaitu f'ditulis sebagai
berikut
dFX(m)=1;
end
It=1:M;
disp(' ')
disp(' AKAR AKAR PERSAMAAN METODE NEWTON-RAPHSON')% TABEL OUTPUT
disp(' +++++++++++++++++++++++++++++++++++++++++')
disp(' Iterasi ke- Xm F(X) F(X+1)')
disp(' +++++++++++++++++++++++++++++++++++++++++')
format short
disp([It' X FX dFX]) % mengisi tabel

Output

Created @ 2011 by Mada Sanjaya WS 46


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Metode FZero

Output

Created @ 2011 by Mada Sanjaya WS 47


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Dari hasil pencarian akar di atas diperoleh waktu yang diperlukan peluru untuk sampai pada
ketinggian maksimum dan sampai di tanah sebesar 1.77 sekon. Waktu tersebut dibutuhkan
peluru untuk bergerak secara parabola dari keadaan awalnya sampai peluru tersebut menyentuh
tanah.

STUDI KASUS BEBERAPA APLIKASI MATLAB UNTUK SISTEM FISIKA

Berikut adalah beberapa studi kasus pemanfaatan materi pendahuluan fisika komputasi.
,
PROBLEM 1. OSILASI PEGAS

Gambar 3.17: Osilasi sistem pegas

Created @ 2011 by Mada Sanjaya WS 48


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

Terdapat dua buah benda bermassa m yang dihubungkan oleh pegas dan piston. Konstanta pegas
adalah k, dan c adalah koefisien redaman piston. Ketika sistem diberi simpangan dan dilepaskan
maka sistem akan berosilasi dalam bentuk

( )= cos( + ), = 1,2 (3.29)


Dengan dan ∅ adalah konstanta, dan = ± adalah akar dari

+2 +3 + + =0 (3.30)

Tentukan dua kombinasi yang mungkin dari dan dan tentukan kapan simpangan xk(t)=0,
jika k/m =1500 s-1 dan c/m=12 s-1.

PROBLEM 2. OSILASI TEREDAM RANGKAIAN RLC

Rangkaian Seri RLC

Gambar 3.18: Rangkaian RLC

Dari rangkaian RLC seri diatas, kapasitor sebelumnya telah terisi penuh dengan muatan sebesar
Q0. setelah saklar tertutup maka arus mulai mengalir. Maka daya yang hilang pada resistor
sebesar

=− (3.31)

Sehingga persamaan umum untuk rangkaian seri RLC adalah

Created @ 2011 by Mada Sanjaya WS 49


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

+ =− (3.32)

Karena besarnya arus sebanding dengan penurunan muatan kapasitor maka

+ + =0 (3.33)

Dengan solusi umumnya adalah

( )= ′
cos( + ) (3.34)
dimana

= (1.27)

adalah faktor redaman.


dan

= − (3.35)

Adalah frekuensi angular osilasi teredam.

Dan Q0 dan  ditentukan oleh kondisi awal. Jika R = 0, maka frekuensi angular kembali

menjadi frekuensi osilasi harmonik sebesar.

= (3.36)

Terdapat tiga kondisi terkait osilasi teredam yaitu under damped, critically damped dan over
damped dengan kriteria sebagai berikut
Untuk under damping,

< (3.37)

Untuk critically damping,

Created @ 2011 by Mada Sanjaya WS 50


KOMPUTASI SISTEM FISIKA BERBASIS MATLAB 2011

= (3.38)

Untuk over damping,

> (3.39)

Dengan menggunakan persamaan (3.34) serta metode numerik dalam mencari akar, tentukan
waktu yang diperlukan sampai muatan tidak berosilasi lagi untuk masing-masing kriteria diatas.

Jadilah seperti elang, berani


sendirian dan terbang lebih tinggi
dari yang lain

Created @ 2011 by Mada Sanjaya WS 51

Anda mungkin juga menyukai