Anda di halaman 1dari 16

LAPORAN PRAKTIKUM KOMPUTASI PROSES

BAB III AKAR PERSAMAAN NON LINEAR

Disusun Oleh :

Nama : Imam Nurrahman


NIM : 14521129
Kelas/Hari : A / Rabu / 12.30 – 15.00
Asisten : 1. Anjanetta Nadya Pasha
2. Apri Wahyudi
3. Bayu Setiawan
4. Diyas Aledya Yahya
5. Evita Maulidaturrahma
6. Malik Nur Hakim
7. Muh. Reskiawan

LABORATORIUM KOMPUTASI PROSES


JURUSAN TEKNIK KIMIA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA
2020
BAB I

PENDAHULUAN

A. Tujuan
Agar mahasiswa dapat mencari akar persamaan non linear menggunakan penyelesaian
numerik.

B. Dasar Teori
Persamaan non-linear adalah suatu persamaan yang memuat fungsi-fungsi atau
variabel-variabel yang tidak linear. Suatu polynomial dikatakan tidak linear jika
derajat tertinggi dari variabelnya lebih dari satu.
Contoh :
f ( x )=2+3 x−4 x 2+ 5 x 4 polynomial berderajat 4
Sedangkan persamaan yang memuat fungsi-fungsi nonlinear seperti:
f ( x )=sin ( x 2 ) −exp ⁡( x ) memuat fungsi sinus dan exponensial
f ( x )=log (5 x)+cos ⁡(x) memuat fungsi logaritma dan cosinus

Mencari solusi suatu persamaan nonlinear adalah mencari harga dari variabel “x”
sedemikian hingga f(x) = 0.

MATLAB telah menyediakan fungsi-fungsi untuk mencari solusi eksak persamaan


nonlinear, antara lain fungsi roots, fzero, fminsearch, fsolve, dan metode
menggunakan M-File dengan menuliskan algoritma berdasarkan metode Newton-
Raphson.

a. Metode tools fzero


Syntax fzero adalah function atau alat yang terdapat di MATLAB, digunakan
untuk menghitung persamaan linear dan non-linear yang bentuk persamaan
matematisnya mempunyai satu variabel.

Penggunaan syntaxnya adalah :


X = fzero(‘math equation with one variable’, a)
X = fzero(fun, x0)atau [x,residual]

Sebelum menulis syntax di command window, kita dapat menggunakan M-


function dari menu M-file dengan menuliskan algoritma sebagai berikut:
function y = fun(x)
y = (fungsi permasalahan)

Contoh pengerjaannya :
Carilah fungsi dari f(x) = x3-2x-5
Algoritma di M-file :
function y = f(x)
y = x.^3–2*x-5;

dan menyiman M-file dengan nama fun.m. Lalu pada command window dapat
menuliskan syntax dengan bunyi:
>> fun = @f; %function;
>> x0 = 2; %initial point;
z =
2.0946

Apabila pengerjaan menggunakan metode anonymous function maka


penulisannya sebagai berikut:
>> fun =@(x)sin(problem); %function;
>> x0 = 3; %initial point;

Contoh pengerjaan berdasarkan f(x) = x3-2x-5 :


>> fun =@(x)sin(x^3-2x-5);
>> x0 = 3;
>> x = fzero(fun,x0)
X =

2.0946

b. Metode Newton-Raphson
Metode Newton-Raphson adalah metode pencarian akar suatu fungsi f(x)
dengan pendekatan satu titik, dimana fungsi f(x) mempunyai turunan. Metode
ini dianggap lebih mudah dari Metode Bagi-Dua (Bisection Method) karena
metode ini menggunakan pendekatan satu titik sebagai titik awal. Semakin
dekat titik awal yang kita pilih dengan akar sebenarnya, maka semakin cepat
konvergen ke akarnya.
Contoh :

Tentukan akar dari persamaan 2x3 – 5x2 + 9x – 10 = 0 menggunakan Metode


Newton-Raphson.
Dengan f1= f(x) dan f2= f’(x)
run di matlab dan masukkan nilai awal x1= ...

disp ('metode newton rapshon')

disp('---------------------------------------------------')
x1=input('masukkan nilai x1 = ');
toleransi=input('masukkan nilai toleransi = ');
e=1;
ite=0;
while e>=toleransi
    f1=(2*x1^3)-(5*x1^2)-(9*x1)-10;
    f2=(6*x1^2)-(10*x1)+(9);
    ite=ite+1;
    x2=x1-(f1/f2);
    e=abs((x2-x1)/x1);
    x1=x2;
end
disp('---------------------------------------------------')
disp(['x2 = ',num2str(x2)])
disp('----------------------')
disp(['toleransi = ',num2str(toleransi)]);
disp('----------------------')
disp(['error = ',num2str(e)]);
disp('----------------------')
disp(['iterasi = ',num2str(ite)]);
disp('---------------------------------------------------')

Algoritma :
1. Menentukan nilai x dan ɛ
2. Menghitung nilai f(xold)
f (x old +ɛ)−f ( x old −ɛ )
3. Menghitung nilai f ( x old ) =

4. Menghitung x new =x old −¿

Catatan : iterasi dihentikan apabila xold ≈ xnew atau f(xold) ≈ 0

Cara penulisan dimatlab :

ex = exp(x) Logx = log10(x)

sinx = sin(x) ln (x) = log(x)

cosx = cos(x) √5 x 2 = x^(2/5)


√ x = sqrt(x) atau x^(1/2)
c. Metode tools roots

Metode dengan tool roots menjadi solusi untuk menyelesaikan permasalahan


persamaan polynomial. Cara kerjanya dengan mengembalikan akar persamaan
polynomial yang di jabarkan dalam bentuk p sebagai kolom vector. Persamaan
polynomial yang berisikan n+1 bentuk koefisien, dengan pembacaan koefisien
yang dimulai dalam bentuk xn. Sebuah koefisien dengan nilai 0 berindikasi
sebagai pangkat intermediet yang tidak termasuk dalam perhitungan.

Bentuk syntax : r = roots(p)

Contoh :

Selesaikan persamaan 3x2−2x−4=0.

p = [3 -2 -4];
r = roots(p)

r = 2×1

1.5352
-0.8685

d. Metode fminsearch
fminsearch adalah fungsi syntax (tools) yang disediakan oleh matlab untuk
menyelesaikan persamaan non-linear dengan satu atau lebih variabel. Tool ini
mencari skalar minimum dari beberapa variabel, dan memulai dari estimasi
awal.

Bentuk syntax : [x fval] = fminsearch(f,x0)


Contoh :

Selesaikan persamaan fungsi berikut : f(x, y) = x 2 + y 2

>> f = @(x)(x(1)^2+x(2)^2);
>> x0 = [1;1];
>> [x fval] = fminsearch(f, x0)

x = 1.0e-04 *

-0.2102
e. Metode tools fsolve
MATLAB menyediakan tools untuk menyelesaikan satu atau lebih beberapa
sistem persamaan non linear secara simultan dengan menggunakan perintah
fsolve. Persamaan ini bisa diselesaikan dengan menuliskan fungsi terlebih
dahulu pada M-function editor.

Penulisan syntax : x = fsolve(x0, persamaan)

Contoh :

X 2 + xy =10
Y +3 x y 2=57
Dua persamaa non-linear diselesaikan secara simultan.

Penulisan m-function:
function A = fun (x)
F(1)= x(1)^2+x*(1)-10
F(1)= x(1)+3*(1)*x^2-57
end

Penyelesaian di command box:

x0= [0,0];
[x,residual]=fsolve(@fun, x0)

X=

1.1185 1.0323

residual =

1.0e-10 *

0.1411 0.0291
BAB II

PERSOALAN DAN PENYELESAIAN

A. Latihan

1. Tentukan akar dari persamaan non linier di bawah ini dengan menggunakan metode
Newton Raphson. Dengan x0=2 dan ℇ =0,0007 , y = x3+2x2-7
M-function :
function root = newtraph (func,xr,es,maxit)
% Menggunakan metode Newton Raphson untuk menentukan akar persamaan
% Input:
% func = nama fungsi atau persamaan
% xr = tebakan awal
% es = (opsional) kriteria menghentikan iterasi (%)
% maxit = (opsional) jumlah iterasi maksimum
% Output:
% root = akar persamaan
if nargin< 4, maxit = 50; end
%jika maxit tidak ada maka ditentukan 50
if nargin< 3, es = 0.001; end
%jika es tidak ada maka ditentukan 0.001
% Newton Raphson
iter = 0;
dfunc = (feval(func,(xr+es))-feval(func,(xr-es)))/(2*es);
while(1)
xrold = xr;
xr = xr - func(xr)/dfunc;
iter = iter + 1;
if xr ~= 0, ea = abs((xr - xrold)/xr)*100; end
if ea <= es || iter >= maxit, break, end
end
root = xr;
>> y = @(x)x^3+2*x^2-7;

>> x0 = 2;

>> es = 0.0007;

>> newtraph(y,x0,es)

ans =

1.4288

2. Tentukan akar dari persamaan non linier di bawah ini dengan menggunakan metode
Newton Raphson. Dengan x0=7 , y = x sin x - 3x2 + 3x – 1

>> y = @(x)x*sin(x)-3*x^2+3*x-1;

>> x0 = 7;

>> newtraph(y,x0)

ans =

0.9565

3. Tentukan akar dan eror dari persamaan non linier di bawah ini dengan menggunakan
metode fzero dengan x0 = 8, y = x + excos(x) + 1
M-function :
function y = fun2 (x)
y = sin(x);

>> y =@(x)x+exp(x)*cos(x)+1;

>> x0 = 8;

>> [x,residual]=fzero(y,x0)
x=

7.8574

residual =

9.2637e-13

4. Tentukan akar-akar dari persamaan non linier di bawah ini dengan menggunakan
metode Roots. P = x7+4x5+6x2+5
>> p = [1 0 4 0 0 6 0 5];
>> roots (p)
ans =
-0.1388 + 2.0289i
-0.1388 - 2.0289i
-1.2021 + 0.0000i
0.8561 + 0.8169i
0.8561 - 0.8169i
-0.1163 + 0.8395i
-0.1163 - 0.8395i

5. Tentukan akar-akar dan eror dari persamaan non linear dibawah ini dengan
menggunakan metode fminsearch, y = 200(x3 - y2)2-x5 , x=x1 y=x2 x0 = (0,0)
>> y = @(x)200*(x(1)^3-x(2)^2)^2-x(1)^5;
>> x0=[0,0];
>> [x,residual]=fminsearch(y,x0)

x =

0.0042 -0.0000

residual =

-2.1055e-13

6. Tetukan akar – akar dan eror dari persamaan non linear dibawah ini dengan
menggunakan metode fsolve x = x (1), y = x(2),x = (0,0)

F(1) = x3 + xy + 2y + 1 = 0

F(2) =x4 – 5y + 3 = 0
>> x0=[0,0];

>> [x,residual] = fsolve(@fun2,x0)

x =

-1.2195 1.0423

residual =

1.0e-10 *

-0.1411 0.0291

B. Tugas

1. Persamaan berikut ini menunjukkan konsentrasi suatu bahan kimia di dalam reactor
berpengaduk:
C=C ¿ ( 1−e−0,04 t ) +C0 e−0,04 t
Jika diketahui konsentrasi awal C 0=4 dan konsentrasi masuk C ¿ , dengan
menggunakan MATLAB hitunglah waktu yang diperlukan pada saat konsentrasi
bahan di dalam reactor (c) menjadi 93 persen dari konsentrasi masuk ((C ¿¿ ¿). ¿

Jawab:
Sebelum diselesaikan dengan MATLAB, dilakukan penjabaran matematis terlebih
dahulu.
Penjabaran Matematisnya:
¿ C ¿ ( 1−e−0,04 t ) +C0 e−0,04 t
0.93 C ¿=C ¿ ( 1−e−0,04 t ) +C 0 e−0,04 t
0.93 C (2)=C(2) ( 1−e−0,04 t ) +C0 e−0,04 t
C ( 2 ) −C ( 2 ) e−0.041+C ( 1 ) e−0,04 t =0.93 C(2)
−0.041 −0,04 t
C ( 2) e −C ( 1 ) e =0.07 C(2)
−0.041
e C ( 2 )−C ( 1 )=0.07C (2)
−0.041
e =0.07 C (2)/(C ( 2 )−C ( 1 ))
e−0.041=e ln ⁡¿¿
−0.04 t=ln ⁡((0.07 C ( 2 ) )/(C ( 2 )−C ( 1 )))

t=( ln ⁡((0.07 C ( 2 ) )/(C ( 2 ) −C ( 1 ))))/−0.04

Sehingga penyelesaian menggunakan metode anonymous pada command boxnya :

>> t= @(c)(log((0.07*c(2))/(c(2)-c(1))))/-0.04;
>> c=[4,10];
>> t(c)

ans =
53.7109
2. Tentukan akar dari persamaan non linier di bawah ini dengan menggunakan metode
newton Raphson. Dengan x0=7 dan ℇ=0.0008
4
3 3 √2 x 3 x3 1
Log2√ x 5 - + - x3
3x 2x
Jawab :

M-function newtraph.m :

function root = newtraph (func,xr,es,maxit)


% Menggunakan metode Newton Raphson untuk menentukan akar
persamaan
% Input:
% func = nama fungsi atau persamaan
% xr = tebakan awal
% es = (opsional) kriteria menghentikan iterasi (%)
% maxit = (opsional) jumlah iterasi maksimum
% Output:
% root = akar persamaan
if nargin< 4, maxit = 50; end
%jika maxit tidak ada maka ditentukan 50
if nargin< 3, es = 0.001; end
%jika es tidak ada maka ditentukan 0.001
% Newton Raphson
iter = 0;
dfunc = (feval(func,(xr+es))-feval(func,(xr-es)))/(2*es);
while(1)
xrold = xr;
xr = xr - func(xr)/dfunc;
iter = iter + 1;
if xr ~= 0, ea = abs((xr - xrold)/xr)*100; end
if ea <= es || iter >= maxit, break, end
end
root = xr;

Command windows :
>> xr =7;
>> es =0.0008;
>> y = @(x)log10(2*(x^(5/3)))-((3*((2*x)^(3/4)))/(3*x))+
((x^3)/(2*x))-x^(1/3);
>> newraph(y,xr,es)
ans =

1.9443

3. Tentukan akar-akar dari persamaan non linier di bawah ini dengan menggunakan
metode Roots.
P = x7 + 0.9x5 + 7x4+ 3x3- 4.5x2 + x
Jawab :
>> P = [1 0 0.9 7 3 -4.5 1 0];
>> roots(P)

ans =

0.0000 + 0.0000i
0.9596 + 1.8540i
0.9596 - 1.8540i
-1.2974 + 0.4138i
-1.2974 - 0.4138i
0.3377 + 0.0984i
1.3377 - 0.0984i

4. Tentukan akar-akar dari persamaan non linear dibawah ini dengan menggunakan
metode fsolve x0 = (2,1)
F(1) = x2 + 2xy = 45
F(3) = y + 3xy2 = 57
Jawab :
Penulisan M-function :

function F = fun3 (x)


F(1)= x(1)^2+2*x(1)*x(2)-45;
F(3)= x(2)+3*x(1)*x(2)^2-57;
end
Penulisan Command :
>> x0=[2,1];
>> [x,residual]=fsolve(@fun3,x0)
Warning: Trust-region-dogleg algorithm of FSOLVE cannot
handle
non-square systems; using Levenberg-Marquardt algorithm
instead.
> In fsolve (line 316)

Equation solved.

fsolve completed because the vector of function values is


near zero
as measured by the value of the function tolerance, and
the problem appears regular as measured by the gradient.

<stopping criteria details>

x =

5.0697 1.9033

residual =

1.0e-08 *

-0.1146 0 0.0293
BAB III

KESIMPULAN DAN SARAN

A. KESIMPULAN
KUALITATIF
1. Persamaan non-linear adalah suatu persamaan yang berisi persamaan
dengan variabel-variabel atau fungsi-fungsi tidak linear dengan peubah
pangkat terkecilnya 1.
2. Permasalahan akar persamaan non-linear dapat diselesaikan
menggunakan tools dan fungsi yang tersedia pada MATLAB.
3. Metode yang bisa digunakan untuk menyelesaikan akar persamaan
non-linear adalah metode Newton-Raphson, metode fzero, metode p
roots, metode fminsearch dan metode fsolve.
4. Metode Newton-Raphson, fzero, fminsearch, dan fsolve menggunakan
M-function (kolom editor) sebelum menyelesaikan di kolom
command.
5. Metode P roots menyelesaikan persamaan tanpa menggunakan M-
function.
6. Pada tugas 1 dan 3 tidak dibutuhkan penulisan M-function karena
tugas 1 dapat diselesaikan dengan metode anonymous dan tugas 3
dengan metode p roots.
7. Di tugas 2 dan 4 penyelesaian soal menggunakan M-function yang
mana tugas 2 dengan metode Newton-Raphson dan tugas 4
menggunakan metode fsolve.
8. Metode fminsearch dan fsolve menghasilkan nilai residual, yaitu nilai
error yang mendekati nilai regresi linear.
KUANTITATIF

1. Pada tugas 1 didapat nilai waktu berdasarkan turunan persamaan non-


linear dengan nilai = 53.7109
2. Pada tugas 2 didapat nilai dari akar persamaan yaitu = 1.9443
3. Pada tugas 3 didapat nilai-nilai akar persamaan =
0.0000 + 0.0000i
0.9596 + 1.8540i
0.9596 - 1.8540i
-1.2974 + 0.4138i
-1.2974 - 0.4138i
0.3377 + 0.0984i

0.3377 - 0.0984i

4. Pada tugas 4 didapat nilai-nilai akar persamaan menggunakan metode


fsolve =
5.0697 1.9033 dan nilai residual 1.0e-08 * -0.1146 0 0.0293

B. SARAN

1. Berlatih lebih giat dalam mengoprasikan MATLAB


agar lebih tepat dan teliti.
2. Penulisan variabel dan input angka yang banyak harus
lebih diperhatikan dan ekstra teliti.
2. Lebih memperhatikan pengajar saat memberikan materi dan terus aktif disaat
ada ruang diskusi.
3. Pengerjaan perhitungan persamaan non-linear bila ada soal dalam bentuk yang
harus dijabarkan terlebih dahulu, sebaiknya dikerjakan dahulu bentuk turunan
dari persamaan lalu dikerjakan pada MATLAB.
4. Menganalisa soal dengan lebih teliti dan cermat agar tidak salah menggunakan
metode dan penulisan variabel yang sesuai dengan format metode yang
dibutuhkan.
DAFTAR PUSTAKA

Rauzan Sumara. 2015. METODE NEWTON-RAPHSON. Universitas Brawijaya. Malang.

Rinaldi Munir. 2010. Metode Numerik. Penerbit INFORMATIKA. Bandung.

Ibrahim Siregar, dkk. 2013. APLIKASI MATLAB UNTUK PENYELESAIAN


PERSAMAAN NON LINEAR MENGGUNAKAN NEWTON RAPHSON. Universitas
Malikussaleh. Aceh Utara

D. Conte Samuel, Carl D. Boor. 1980. Dasar-dasar Analisa Numerik. McGrawwHill. Penerbit
Erlangga: Jakarta.

Anda mungkin juga menyukai