Anda di halaman 1dari 10

Penyelesaian Persamaan Nonlinier

secara Numeris
1. Persamaan Matematis
Persamaan matematis dapat dibagi menjadi dua yaitu :
a. persamaan garis lurus/persamaan linier
b. persamaan kurva/persamaan nonlinier
Perbedaan antara persamaan garis lurus dengan persamaan kurva terletak dari bentuk garis yang
dihasilkan masing-masing persamaannya. Persamaan linier akan menghasilkan suatu garis lurus
apabila digambarkan pada bidang kartesius (garis pada Gambar 1 berwarna merah) sedangkan
persamaan nonlinier akan menghasilkan garis berupa kurva seperti yang ditampilkan pada
Gambar 1 dengan warna biru.
Y
X
Persamaan
Linier
Persamaan
Nonlinier
berupa
Persamaan
Kuadrat
y=mx+c
y=ax
2
+bx+c

Gambar 1. Ilustrasi persamaan linier dan nonlinier
Secara matematis, persamaan linier merupakan persamaan matematis yang memiliki pangkat
tertinggi dari variabel bebas sebesar 1 sedangkan persamaan nonlinier merupakan persamaan
matematis yang memiliki pangkat tertinggi dari variabel bebas tidak sama dengan 1 atau
mengandung suku eksponensial atau logarima. Perhatikan beberapa persamaan berikut ini :
a. y=3x+5
b. y=4x
c. y=3x
2
+2x+3
d. y=5e
1,3x

e. y=ln(2x)+6
Persamaan tersebut (persamaan a hingga e) merupakan persamaan dengan variabel terikat
(variabel tidak bebas /dependen) adalah y dan variabel bebas (variabel independen) adalah x.
Persamaan a dan b merupakan persamaan linier karena pangkat tertinggi dari variabel bebas (x)
adalah 1 sedangkan persamaan c hingga e merupakan persamaan nonlinier karena mengandung
pangkat tertinggi dari variabel x adalah 2 (pada persamaan c), eksponensial pada persamaan d
dan logarima natural (ln) pada persamaan e.
2. Penyelesaian Persamaan Matematis
Penyelesaian persamaan matematis, baik linier ataupun nonlinier pada umumnya dapat dilakukan
dengan dua cara yaitu dengan cara analitis (diluar lingkup tulisan ini) ataupun dengan cara
numeris (pendekatan). Pada Tabel 1 disampaikan secara garis besar perbedaan kedua metode
tersebut. Penyelesaian persamaan matematis merupakan mencari nilai variabel bebas yang
memberikan suatu fungsi matematis bernilai nol atau secara matematis dapat ditulis :
berapa x agar f(x)=0 ?
Sebagai contoh, misalnya pada persamaan a diatas
f(x)=y=3x+5
maka penyelesaiannya adalah
f(x)=0 atau
3x+5=0
x= -5/3
sehingga penyelesaian persamaan tersebut adalah x=-5/3.
Penyelesaian persamaan matematis yang lain dapat diselesaikan dengan cara yang sama.
Tabel 1. Perbedaan antara Metode Analitis dan Numeris
Pembeda Metode Analitis Metode Numeris
Hasil penyelesaian Eksak, akurasi tinggi Kurang eksak, akurasi tergantung
dari tingkat ketelitian yang
diinginkan
Waktu penyelesaian Kadang memerlukan waktu
yang cukup lama
Butuh waktu yang lebih cepat
Kemampuan
manipulasi matematis
Memerlukan penguasaan
metode matematis yang tinggi
Tidak memerlukan penguasaan
manipulasi matematis, tapi
memerlukan penguasaan terhadap
metode numerik/pendekatan dan
bahasa program

Penyelesaian persamaan nonlinier umumnya cukup sulit dan rumit sehingga selanjutnya akan
dibahas terkait penyelesaian persamaan nonlinier secara numeris. Secara numeris, terdapat
beberapa cara dalam penyelesaian persamaan nonlinier, beberapa metode numeris yang terkenal
adalah sebagai berikut :
1. Metode Newton-Raphson
2. Metode Penyetengahan Interval
3. Metode Substitusi Berurut
4. Metode Wegstein
5. Metode Interpolasi Linear
Pada kali ini akan dibahas terkait dengan metode Newton-Raphson.
3. Metode Newton Raphson
Ingin dicari penyelesaiaan suatu persamaan nonlinier f(x) seperti yang digambarkan pada
Gambar 2. Dari Gambar 2 dapat dilihat bahwa kurva tersebut berpotongan pada suatu titik di
sumbu x.
x
y
y=f(x)

Gambar 2. Kurva y=f(x)
misalkan pencarian titik potong tersebut dimulai dari suatu titik x0 (titik coba/titik trial awal)
yang letaknya sembarang pada sumbu x maka akan diperoleh nilai y=f(x0) tertentu yang terletak
pada kurva. Kemudian dari titik y=f(x0) tersebut diambil suatu garis singgung dengan gradien
(kemiringan) garis sebesar f(x0) hingga memotong sumbu x pada titik x1.
X0
f(X0)
X1
f'(X0)
x
y
y=f(x)

Gambar 3. Penentuan x1 dari x0 dengan metode Newton-Raphson
Dari titik x1 maka nilai y=f(x1) dapat dihitung. Langkah selanjutnya adalah menentukan gradient
garis yang akan memotong sumbu x pada titik x2. Demikian seterusnya hingga diperoleh titik x3
yang merupakan pendekatan terhadap titik potong terhadap sumbu x atau penyelesaian f(x)=0
(Gambar 4).
X0
f(X0)
X1
f(X1)
f(X2)
X2
X3
f'(X0)
f'(X1)
f'(X2)
x
y

Gambar 4. Penentuan Penyelesaian Persamaan Nonlinier dengan Metode Newton Raphson


Rumus persamaan gradient/kemiringan garis pada persamaan linier adalah sebagai berikut

1 2
1 2
1
x x
y y
x ' f

(1)
dari garis f(x0) pada Gambar 3 dapat diambil dua titik sebagai berikut (x0,y0) dan (x1,y1)
dengan y1 bernilai 0 karena memotong sumbu x. apabila y0 dinyatakan sebagai f(x0) dan y1
sebagai f(x1) maka diperoleh sebagai berikut:


0 1
0 1
0
x x
x f x f
x ' f

(2)


0 1
0
0
0
x x
x f
x ' f


dari persamaan diatas diperoleh :


0
0
0 1
x ' f
x f
x x (3)
persamaan tersebut diturunkan dengan cara yang sama untuk menentukan titik x2, x3 dan
selanjutnya sehingga diperoleh persamaan umum untuk metode Newton-Raphson sebagai
berikut:


n
n
n n
x ' f
x f
x x
1
untuk n=0,1,2, (4)
Persamaan (4) merupakan persamaan iterasi Newton-Raphson dengan langkah iterasi diakhiri
apabila tingkat kesalahan/error telah sesuai dengan criteria yang disyaratkan, misalnya nilai
kesalahan perhitungan x
n+1
adalah sebesar 0.1% dari nilai x
n
(x sebelumnya).
Berikut contoh penggunaan Metode Newton-Raphson.
Contoh 1
Sebuah persamaan nonlinier y=f(x)=x
2
+x-12 ingin ditentukan penyelesaian persamaan tersebut
secara analitis dan numeris menggunakan Newton-Raphson.
a. Penyelesaian analitis dari fungsi tersebut dapat dilakukan dengan memfaktorkan
persamaan tersebut.
x
2
+x-12=0
(x-3)(x+4)=0
x=3 atau x=-4
dari penyelesaian analitis dapat diketahui bahwa penyelesaian persamaan tersebut adalah
x=3 atau x=-4.
b. Penyelesaian secara numeris dengan metode Newton-Raphson membutuhkan suatu
penentuan nilai awal. misalnya diambil nilai x awal (x0) sebesar 10.
Penentuan nilai awal ini sangat mempengaruhi hasil akhir perhitungan, terlebih dari hasil
perhitungan secara analitis terlihat bahwa nilai x yang memberikan nilai f(x)=0 ada dua
sehinggapenentuan nilai awal pada Newton-Raphson menjadi sangat penting. Kesalahan
pada pengambilan nilai awal yang sangat jauh dari nilai sebenarnya dapat menyebabkan
tidak selesainya perhitungan sehingga nilai sebenarnya tidak diperoleh.
Pada persamaan (4) dapat dilihat bahwa dibutuhkan nilai dari f(x) dan nilai turunan f(x)
sehingga dari persoalan diatas dapat ditentukan sebagai berikut:

y=f(x)=x
2
+x-12 (a)
y=f(x)=2x+1 (b)

Langkah perhitungannya adalah sebagai berikut:
1. Tentukan nilai batas minimum eror/toleransi kesalahan perhitungan sebesar 0,1% atau
0,001
2. Tentukan nilai awal (tebakan awal) x0=10
3. Hitung nilai f(x) dari persamaan (a)
4. Hitung nilai turunan pertama dari f(x) yaitu persamaan (b)
5. Hitung nilai x baru (x1) dengan persamaan (4)
6. Bandingkan nilai x1 dengan x0, apakah beda antara x1 dengan x0 sudah lebih kecil
dari batas toleransi 0,001?
a. Jika Tidak, maka ulangi perhitungan pada langkah 2 dengan mengambil nilai
x baru sebagai nilai awal
b. Jika Ya, maka x baru adalah penyelesaian persamaan
7. Perhitungan selesai.
Langkah perhitungan ini apabila dinyatakan dalam bentuk diagram alir maka dapat
digambarkan seperti Gambar 5:
Mulai
Perhitungan
Tentukan nilai toleransi
yang diinginkan dan
tebakan awal
Ambil nilai
tebakan awal
sebagai x lama
Hitung f(x) dan f(x)
Hitung nilai x baru dari
persamaan Newton-Raphson
Hitung nilai absolut beda
antara x lama dengan x baru
Apakah
abs(xlama-xbaru)<
nilai toleransi
Perhitungan
Selesai
Tidak, ambil nilai
x baru sebagai
nilai tebakan baru
(x lama)
Ya

Gambar 5. Diagram Alir Contoh 1
Hasil perhitungan ditampilkan pada Tabel 2 dibawah ini.
Tabel 2. Hasil Perhitungan dengan Newton-Raphson
Perhitungan/
iterasi ke- x lama f(x lama) f'(x lama) x baru
nilai absolut dari (x
lama-xbaru)
1 10 98 21 5.33333 4.66667
2 5.33333 21.77778 11.66667 3.46667 1.86667
3 3.46667 3.48444 7.93333 3.02745 0.43922
4 3.02745 0.19291 7.05490 3.00011 0.02734
5 3.00011 0.00075 7.00021 3.00000 0.00011

Dari Tabel 2 diatas dapat dilihat bahwa dibutuhkan 5 kali perhitungan berulang hingga
beda antara x lama dengan x baru mencapai dibawah nilai toleransi.
Dari perhitungan diatas dapat dilihat bahwa nilai x yang diperoleh sebesar 3 sama dengan
salah satu hasil penyelesaian persamaan secara analitis. Namun dari hasil metode analitis
terlihat bahwa penyelesaian persamaan yang lain adalah -4, hal ini disebabkan karena
nilai tebakan awal yang diberikan lebih dekat kepada 3 daripada -4 sehingga
menyebabkan arah penyelesaian Newton-Raphson ke nilai x=3 daripada x=-4.
Apabila nilai tebakan yang diambil adalah x=-10, maka hasil perhitungannya secara
numeris seperti yang ditampilkan pada Tabel 3.
Tabel 3. Hasil Perhitungan dengan Newton-Raphson dengan Nilai Tebakan Awal yang Berbeda
Perhitungan/
iterasi ke- x lama f(x lama) f'(x lama) x baru
nilai absolut dari (x
lama-xbaru)
1 -10 78 -19 -5.89474 4.10526
2 -5.89474 16.85319 -10.78947 -4.33273 1.56200
3 -4.33273 2.43985 -7.66547 -4.01444 0.31829
4 -4.01444 0.10131 -7.02889 -4.00003 0.01441
5 -4.00003 0.00021 -7.00006 -4.00000 0.00003

Dari Tabel 3 dapat dilihat dengan mengubah nilai tebakan awal ke x=-10 akan diperoleh
nilai akhir sebesar x=-4 sama seperti pada cara analitis.
Dari contoh 1 ini dapat dilihat bahwa metode Newton-Raphson sangat tergantung
dari nilai tebakan awal.
4. Pemrograman Newton-Raphson Dengan Matlab
a. Membangun kode sendiri
Berikut merupakan contoh pemrograman untuk contoh 1 diatas dengan membangun
sendiri metode Newton-Raphson. Logika yang digunakan sama dengan alur pada
diagram alir yang ditampilkan pada Gambar 5 hanya saja pada pemrograman Matlab,
langkah perhitungan yang berulang kali dapat disingkat dengan menggunakan looping
while atau for. Looping while digunakan untuk perhitungan berulang kali dimana syarat
perhitungannya berupa logika misalnya lebih besar, lebih kecil, tidak sama dengan, atau
sama dengan sedangkan looping for digunakan untuk proses perhitungan yang jumlah
hitungan berulangnya sudah diketahui secara pasti. Misalnya suatu persamaan akan
diulang sebanyak 100 kali, maka looping for akan lebih cocok digunakan daripada
looping while.
Kode Matlab
% nilai toleransi
tol=0.001;
% nilai tebakan awal
xlama=10;
% menset nilai iterasi awal
iter=0;
% memberikan nilai logika agar while dieksekusi
delx=10
% untuk penampilan hasil
fprintf('iterasi xlama f(x) turunan f(x) xbaru xlama-xbaru
\n')
% memulai perhitungan dengan newton raphson dengan perhitungan berulang
while delx>=tol
% menset nilai iterasi
iter=iter+1;
% hitung nilai f(x)
flama=xlama.^2+xlama-12;
% hitung nilai turunan f(x)
ftlama=2*xlama+1;
% hitung x baru
xbaru=xlama-flama/ftlama;
% hitung beda xlama dengan xbaru
delx=abs(xlama-xbaru);
% jika nilai delx baru lebih besar dari tol maka perhitungan akan terus
% dilakukan maka perlu dilakukan mendefinisikan xbaru sebagai xlama
xlama=xbaru;
% menuliskan hasil perhitungan
hasil=[iter xlama flama ftlama xbaru delx];
fprintf(' %1g %6.5f %9.5f %9.5f %9.5f %9.5f \n',hasil)
end


Hasil Penyelesaian Matlab
Hasil Perhitungan
iterasi xlama f(x) turunan f(x) xbaru xlama-xbaru
1 5.33333 98.00000 21.00000 5.33333 4.66667
2 3.46667 21.77778 11.66667 3.46667 1.86667
3 3.02745 3.48444 7.93333 3.02745 0.43922
4 3.00011 0.19291 7.05490 3.00011 0.02734
5 3.00000 0.00075 7.00021 3.00000 0.00011

b. Menggunakan m-file fzero
Selain dengan membangun sendiri kode matlab berbasis pengetahuan numeris, Matlab
juga menyediakan m-file yang sudah mengandung metode Newton-Raphson dan siap
digunakan sesuai dengan aturan yang disyaratkan oleh Matlab. Kode program akan
menjadi lebih sederhana dan proses penyusunan programnya menjadi lebih cepat karena
tidak perlu lagi berpikir menyusun logika perhitungan secara khusus.
Berikut ini merupakan contoh penggunaan m-file fzero yang dirancang untuk mencari
nilai nol suatu fungsi.
Kode Matlab
function newton_raphson_fzero
%tebakan awal
x0=10;
[x,fval]=fzero(@fungsi,x0);
fprintf(' hasil penyelesaian fungsi \n')
fprintf(' x = %9.5f \n',x)

function fval=fungsi(x)
fval=x^2+x-12;


Hasil Penyelesaian Matlab
hasil penyelesaian fungsi
x = 3.00000

Anda mungkin juga menyukai