Anda di halaman 1dari 10

MODUL II

PERSAMAAN TAK LINIER


A. TUJUAN
Mahasiswa dapat menyelesaikan persamaan tak linier menggunakan program
MATLAB
B. TEORI

Gambar 2.1. Kurva linier


Contoh persamaan tak linier :

Gambar 2.2. Kurva tak linier


Berikut ini beberapa contoh Persamaan Tak Linier :

Teknik Mesin FT UMY

Masalah persamaan tak linier umumnya ditujukan untuk menghitung akar


persamaan. Penyelesaian masalah persamaan tak linier bersifat iteratif, dilakukan
berulang-ulang sehingga konvergensi tercapai. Pada saat awal pembuatan program
harus didefinisikan terlebih dahulu toleransi perhitungan yang diperkenankan serta
bentuk kriteria konvergensi yang digunakan.
Salah satu dari 3 (tiga) kriteria konvergensi berikut dapat digunakan untuk
mengevaluasi proses iterasi:

1. Persamaan Tak Linier Variabel Tunggal


Bentuk umum persamaan tak linier variabel tunggal adalah:
f(x) = 0
Ada beberapa metoda numerik yang dapat digunakan untuk menyelesaikan
masalah yang melibatkan persamaan tak linier, diantaranya:
a. Metoda Substitusi Berurut
Secara ringkas metoda ini diselesaikan melalui langkah-langkah berikut:
i. perubahan persamaan tak linier f(x) = 0 menjadi x = g(x), dimana g(x) adalah
persamaan tak linier yang mengandung variabel x yang berbeda dari f(x)
ii. menetapkan xtol
iii. menetapkan sebuah tebakan awal x0
iv. melakukan proses iterasi 1 untuk menentukan x1: x1 = f(x0)
v. melakukan evaluasi dengan memilih salah satu kriteria konvergensi (kk)
vi. apabila hasil evaluasi menunjukkan nilai kk . xtol, maka perhitungan dapat
dihentikan dan akar yang dicari adalah x1; tetapi bila tidak, maka perhitungan
harus diulangi untuk iterasi selanjutnya.
Contoh : Program penentuan akar persamaan dengan menggunakan metoda
substitusi berurut untuk persamaan f(x) = x4 ex + 1 = 0 adalah sebagai berikut:
% Program Substitusi Berurut
% Menghitung akar persamaan : f(x) = x^4 - e^x + 1 = 0
% x^4=e^x-1
% ---> x = (e^x - 1)^0.25
clc
>> xtol=5e-5;
>> itr=1;
>> x0=1;
>> x1=(exp(x0)-1)^0.25;
>> while abs (2*(x1-x0)/(x1+x0))>xtol
itr=itr+1;
x0=x1;
Teknik Mesin FT UMY

x1=
=(exp(x0)-1)^
^0.25;
end
d
>> disp(['Akar persamaan adalah : ',nu
um2str(x1)])
Akar persamaaan adalah : 11.2611
aknya iterassi : ',num2strr(itr)])
>> disp(['Banya
Ban
nyaknya iterrasi : 11
Catatan:
progrram ini tida
ak bersifat mutlak,
m
artin
nya masih dapat
d
diuba
ah sepanjan
ng
masih
h sesuai den
ngan dasar p
perhitungan untuk meto
oda substitussi berurut
progrram ini dap
pat digunaka
an untuk metoda penyyelesaian pe
ersamaan ta
ak
linier yang lain
n dengan m
melakukan perubahan sesuai de
engan dasa
ar
perhitungan meto
oda ybs.
b.
b Metoda Newton-Rap
N
phson
Metode
M
New
wton Raph
hson biasa digunakan dalam me
encari akarr dari suattu
persamaan
p
non linier, jika
j
diasumsikan f mem
mpunyai turrunan kontin
nu f. Metod
de
Newton
N
Rap
pshon serin
ng digunaka
an karena kesederhana
k
aannya dan
n mempunyai
konvergensi
k
yang cepa
at. Karena m
metode ini merupakan metode Te
erbuka, makka
tetap
t
diperlu
ukan nilai te
ebakan awa
al untuk Xo. Dengan menggunakan
m
n x0 sebagai
tebakan
t
awa
al, dilanjutka
an dengan mencari titik
k (x0, f(x0))). Kemudian
n dibuat garris
singgung
s
da
ari titik (x0, f((x0)), sehing
gga diperole
eh titik poton
ng (x1, 0) an
ntara sumbu--x
dan
d
garis sin
nggung titik (x0, f(x0)). Kemudian dilanjutkan lagi dengan
n mencari tittik
(x1,
(
f(x1)). Dari
D titik (x1,, f(x1)) kemu
udian dibuatt garis singg
gung, sehing
gga diperole
eh
titik
t potong (x2, 0) antara
a sumbu-x dan
d garis sin
nggung titik ((x1, f(x1)).

Metode
M
Num
merik - Visua
alisasi Metod
de Newton Raphson
R
Algoritma
a Metode Newton Raph
hson :
1. Definisikan fungsi f(x)
f dan f (x))
2. Tentuka
an toleransi error (e) dan iterasi maksimum (n)
3. Tentuka
an nilai pend
dekatan awa
al x0
4. Hitung f(x0) dan f ((x0)
5. Untuk iterasi i = 1 s/d
s n atau |f((xi)| e

Tekn
nik Mesin FT
T UMY

6. Akar persamaan adalah nilai xi yang terakhir diperoleh.


Contoh:
Hitung akar f(x)=e^x 5x^2,
= 0.00001
x0 = 0.5

Penyelesaian

Sehingga iterasi Newton Raphson nya sebagai berikut:

Hasil setiap iterasi sebagai berikut:

Jadi, hampiran akarnya adalah x=0.605267.

Program
function newtonraphson
clc;
clear;
disp('Program Metode Newton Raphson');
disp('=============================');
E=0.0001;
x0=input('Masukkan X awal :');
i=0;
M=9;
xb=0;
disp('_______________________________________________');
disp(' i
xi
f(xi)
epsilon');
disp('_______________________________________________');

Teknik Mesin FT UMY

10

while (E<M)
fx=exp(x0)-5*x0^2;
gx=exp(x0)-10*x0;
xb=x0-(fx/gx);
M= abs(x0-xb);
x0=xb;
i=i+1;
fprintf('%3.0f %12.6f %12.6f %12.6f\n',i,xb,fx,M);
end
disp('------------------------------')
fprintf('Akarnya Adalah = %10.8f\n',xb);
end

Panggil program
>> newtonraphson

Program Metode Newton Raphson


=============================
Masukkan X awal :5
_______________________________________________
i
xi
f(xi) epsilon
_______________________________________________
1
2
3
4

4.762093
4.710156
4.707942
4.707938

23.413159
3.602897
0.141608
0.000247

0.237907
0.051938
0.002214
0.000004

AkarnyaAdalah = 4.70793792
c. Metoda Tali Busur (Secant)
Metoda Tali Busur merupakan pengembangan dari metoda Newton-Raphson,
dimana persamaan turunan fungsi diganti dengan pendekatan beda maju
sehingga metoda ini merupakan alternatif bagi turunan yang sukar.
Bentuk umum dari persamaan tali busur adalah sebagai berikut:

Dibutuhkan dua buah tebakan awal untuk metoda ini, yaitu x0 dan x1.
Secara umum penyelesaian masalah persamaan tak linier dengan
menggunakan Metoda Newton-Raphson dan Tali Busur sama dengan Metoda
Substitusi Berurut.

Teknik Mesin FT UMY

11

Contoh : Hitung Akar persamaan non linier berikut ini :

dengan =n 0.00001. Tebakan nilai awal akar x0=0.5 dan x1=1.


Program
function metodesecant;
clc;
clear;
disp('Program Metode Secant');
disp('=============================');
E=0.0001;
x0=input('Masukkan X0 :');
xb=input('Masukkan X1 :');
i=0;
M=9;
disp('_______________________________________________');
disp(' i
xi
f(xi)
epsilon');
disp('_______________________________________________');
while M>E
fx=exp(x0)-5*x0^2;
fxb=exp(xb)-5*xb^2;
d = xb - (fxb*(xb-x0)/(fxb-fx));
M=abs(x0-xb);
x0 = xb;
xb = d;
i=i+1;
fprintf('%3.0f %12.6f %12.6f %12.6f\n',i,xb,fx,M);
end;
disp('_______________________________________________');
fprintf('Akarnya Adalah = %10.8f\n',xb);
end

Running Program
Program Metode Secant
=============================
Masukkan X0 :0.5
Masukkan X1 :1
_______________________________________________
i
xi
f(xi) epsilon
_______________________________________________
1 0.574376 0.398721 0.500000
2 0.596731 -2.281718 0.425624
3 0.605533 0.126483 0.022354
4 0.605265 0.035734 0.008803
5 0.605267 -0.001123 0.000268
6 0.605267 0.000009 0.000002
_______________________________________________
Akarnya Adalah = 0.60526712
Teknik Mesin FT UMY

12

d. Fungsi Built-in Matlab


Matlab mempunyai fungsi khusus untuk menyelesaikan masalah pencarian akar
persamaan tak linier ini atau pencarian nol dengan perintah fzero. Caranya
adalah dengan menuliskan function pada sebuah M-file yang berisikan
persamaan tersebut.
Contoh : Program penentuan akar persamaan f(x) = x4 - ex + 1 = 0 dengan
menggunakan fungsi built-in Matlab
function y = akar(x)
y = x^4 - exp(x) + 1;

Simpanlah file tersebut dengan nama akar.m, selanjutnya ketiklah pada


command window:
>> x=fzero('akar',1)
x=
1.2611
Setelah perintah fzero, buatlah di dalam kurung nama file dalam bentuk string
yang diikuti dengan tebakan awal yang diberikan, dimana di antaranya
dipisahkan dengan tanda koma. Bila akar persamaan lebih dari satu, maka hasil
yang ditampilkan hanyalah akar yang paling mendekati dengan tebakan.
2. Polinomial
Polinomial mempunyai bentuk umum sebagai berikut:
f(x) = a0.xN+ a1.xN-1+ a2.xN-2+ . + aN-2.x2+ aN-1.x1+ aN.x0
a. Menentukan akar persamaan
Untuk menentukan akar persamaan dari sebuah polinom, dapat digunakan
fungsi roots.
Contoh : Perhatikan persamaan berikut:
f(x)= x2 + 5x +4
x2 + 5x +4 = ( x + 4) * ( x + 1 )
sehingga akar persamaannya adalah: x1 = -4 dan x2 = -1
Dalam Matlab dapat diselesaikan:
>> a=[1 5 4];
>> roots(a)
ans =
-4
-1
b. Membentuk polinom
Sebaliknya, Matlab juga mempunyai fungsi untuk membentuk polinom dari akarakarnya.
Contoh : Untuk akar persamaan yang diperoleh pada contoh di atas, dapat
ditentukan persamaannya:
Teknik Mesin FT UMY

13

>> b= [-4 -1];


>> poly(b)
ans =
1 5 4
c. Operasi polinom
Polinom dapat mengalami berbagai operasi aritmatika.
Contoh : Misalkan diketahui dua buah persamaan :
f(x) = 3x3+ 2x2+ 1
g(x) = 4x2+ 2x + 3
Operasi penjumlahan terhadap dua polinom adalah dengan cara menjumlahkan
masing-masing koefisiennya, demikian pula dengan pengurangan.
>> f=[3 2 0 1];
>> g=[4 2 3];
>> f+g
??? Error using ==> +
Matrix dimensions must agree.
Untuk menghindari kesalahan, maka matriks yang terlibat dalam operasi
penjumlahan/ pengurangan harus mempunyai ukuran yang sama.

>> g=[0 4 2 3];


>> f+g
ans =
3 6 2 4
>> f-g
ans =
3 -2 -2 -2
Artinya, polinom hasil penjumlahan adalah 3x3 + 6x2 + 2x + 4
Dan polinom hasil pengurangan adalah: 3x3- 2x2- 2x - 2.
Operasi perkalian dan pembagian melibatkan perhitungan yang lebih rumit.
Fungsi yang disediakan Matlab berturut-turut adalah conv (convulation) dan
deconv. Tidak seperti penjumlahan atau pengurangan, penulisan vector
koefisien polinom tidaklah harus mempunyai ukuran yang sama.
Contoh : Untuk dua polinom yang sama seperti di atas, maka operasi perkalian
dan pembagian dapat ditulis sebagai berikut:
>> f=[3 2 0 1];
>> g=[4 2 3];
>> conv(f,g)
ans =
12 14
Teknik Mesin FT UMY

13

10

3
14

>> [m,n]=deconv(f,g)
m=
0.7500 0.1250
n=
0
0 -2.5000 0.6250
Sehingga jawabannya adalah :
0,75x + 0.125
dengan sisanya -2.5x + 0.625
Jika k dikalikan dengan g(x), kemudian hasil perkalian tersebut dijumlahkan
dengan s, maka pastilah akan sama dengan f(x)
>> cek=conv(m,g)
cek =
3.0000 2.0000 2.5000
>> cek+n
ans =
3 2 0 1

0.3750

d. Evaluasi Polinom
Fungsi polyval digunakan untuk mengevaluasi polinom.
Contoh :
>> f=[3 2 0 1];
>> nilai = polyval(f,3)
nilai =
100
>> nilai = polyval(f,[3 2])
nilai =
100 33
>> x=linspace(-3,3);
>> nilai = polyval(f,x);
>> plot(x,nilai), title('3x^3+2x^2+1'), xlabel('x')

e. Turunan
Fungsi polyder merupakan fungsi yang disediakan Matlab untuk mencari
turunan (derivat) dari suatu polinom.
Contoh :
>> f=[3 2 0 1];
>> der=polyder(f)
der =
940

Teknik Mesin FT UMY

15

C. LATIHAN
1. Hitung akar

= 0.00001
x0 = 0
Penyelesaian
maka
2. Hitung akar persamaan dari polinom berikut :

f(x)= x2 + 6x +4
D. TUGAS
Soal Tugas 2 dapat dilihat di http://comes.umy.ac.id

matakuliah Praktikum

Komputasi.

Teknik Mesin FT UMY

16

Anda mungkin juga menyukai