Anda di halaman 1dari 36

LAPORAN PRAKTIKUM KOMPUTASI BIOMEDIS

CHAPTER 3
FINDING-ROOT METHOD: NEWTON-RAPHSON
Hari, Tanggal : Selasa, 21 September 2021 Jam Ke : 3-4

Oleh :
Reza Ummam Nor (081911733012)
KELAS T1
Dosen Pembimbing :
ALFIAN PRAMUDITA PUTRA, S.T., M.Sc.

LAPORAN KOMPUTASI BIOMEDIS


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS AIRLANGGA
2021
A. TUJUAN
Menentukan akar-akar fungsi dengan menggunakan metode Newton-Raphson

B. DASAR TEORI
Python adalah bahasa pemrograman interpretatif multiguna. Tidak
seperti bahasa lain yang susah untuk dibaca dan dipahami, python lebih
menekankan pada keterbacaan kode agar lebih mudah untuk memahami
sintaks. Hal ini membuat Python sangat mudah dipelajari baik untuk pemula
maupun untuk yang sudah menguasai bahasa pemrograman lain (Henri, 2003).
Salah satu penerapan phyton adalah untuk komputasi. Contoh bentuk
komputasi adalah pencarian akar dari sebuah fungsi. Dengan demikian, adanya
komputasi yang memanfaatkan phyton dapat mempermudah pekerjaan
manusia dalam mencari akar suatu fungsi yang rumit.
Masalah pencarian akar adalah salah satu masalah paling mendasar
dalam analisis numerik (Capra dan Canale, 2010). Salah satu metode pencarian
akar suatu fungsi adalah metode Newton-Raphson (Kiusalaas J, 2013). Joseph
Raphson (1648 – 1715) adalah seorang matematikawan Inggris yang dikenal
paling baik untuk metode Newton-Raphson (Capra dan Canale, 2010).
Menurut modul praktium komputasi biomedis (2021), salah satu bentuk
metode terbuka ini menggunakan metode aproksimasi dengan menggunakan
satu titik awal dan menurunkannya dengan mengambil kemiringan atau gradien
pada titik tersebut. Titik aproksimasi didefinisikan sebagai berikut:
𝑓(𝑥𝑛 )
𝑥𝑛+1 = 𝑥𝑛 −
𝑓′(𝑥𝑛 )

Gambar B.1 Konsep Metode Newton-Raphson


Sumber : Modul Materi Komputasi Biomedis 2021

Algoritma
1. Mendefinisikan fungsi f(x) dan turunan pertama f’(x)
2. Menentukan toleransi kesalahan (e)
3. Menentukan aproksimasi awal x0
4. Menghitung f(x0)
𝑓(𝑥 )
5. Menghitung 𝑥𝑛+1 = 𝑥𝑛 − 𝑓′(𝑥𝑛 )
𝑛
6. Menghitung 𝑓(𝑥𝑛+1 )
7. Jika |𝑓(𝑥𝑛 )| < toleransi, maka proses dihentikan dan akarnya adalah 𝑥𝑛 , jika
tidak mengulangi langkah 5.
8. Jika |𝑥2 − 𝑥1 | < toleransi atau |𝑓(𝑥0 )| | < toleransi, maka proses dihentikan
dan akarnya adalah 𝑥0 , jika tidak mengulangi langkah 5.

C. CODING, HASIL, DAN ANALISIS


Link Google Collab :
https://colab.research.google.com/drive/1GRbLn_3t9jm3oqWzXKf0AMvDJsf
rmMcB?usp=sharing

a. FUNGSI DERAJAT 1 : f(x) = x – 8

#REZA UMMAM NOR


#081911733012
#f(x)=x-8

import numpy as np
import math
import pylab

def fungsiawal (x) :


return x-8

def fungsiturunan (x) :


return 1

a = 0 #Variabel Metode Biseksi


b = 10
fa = fungsiawal(a)
fb = fungsiawal(b)

c = 0 #Variabel Metode Regula-Falsi


d = 10
fc = fungsiawal(c)
fd = fungsiawal(d)

x0 = 10 #Variabel Metode Newton-Raphson

max = 20

i = 1
j = 1
k = 1

x1 = []
x2 = []
x3 = []
y1 = []
y2 = []
y3 = []

#METODE BISEKSI
print('METODE BISEKSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

if (fa*fb<0):
while (i<=max):
r0 = (a+b)/2 #RUMUS METODE BISEKSI
fr0 = fungsiawal(r0)

print ('\t || \t ', i, ' \t\t ||\t', (round(r0,5)), '


\t||\t',
(round(fr0,5)), ' \t||')

if(fa*fr0<0):
b = r0
fb = fr0
else:
a = r0
fa = fr0

x1.append(i)
y1.append(r0)
i+=1
else:
print('\nInterval a dan b tidak mengandung nilai akar')

#METODE REGULA-FALSI
print('\n\nMETODE REGULA-FALSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\
t hasil fungsi \t||')

if (fc*fd<0):
while (j<=max):
r1 = c-((fc*(c-d))/(fc-fd)) #RUMUS METODE REGULA-FALSI
fr1 = fungsiawal(r1)

print('\t || \t ', j, ' \t\t ||\t', (round(r1,5)), '


\t||\t',
(round(fr1,5)), ' \t||')

if(fc*fr1<0):
d = r1
fd = fr1
else:
c = r1
fc = fr1

x2.append(j)
y2.append(r1)
j+=1
else:
print('\nInterval c dan d tidak mengandung nilai akar')

#METODE NEWTON-RAPHSON
print('\n\nNEWTON-RAPHSON :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

while (k<=max) : #Blok Looping


fx0 = fungsiawal(x0)
ftur = fungsiturunan(x0)
xbaru = x0-fx0/ftur #RUMUS METODE NEWTON-RAPHSON
fbaru = fungsiawal(xbaru)

print('\t || \t ', k, ' \t\t ||\t', (round(xbaru,5)), '


\t||\t',
(round(fbaru,5)), ' \t||')

x0 = xbaru

x3.append(k)
y3.append(xbaru)

k+=1

#PLOT
pylab.plot(x1,y1,'-o')
pylab.plot(x2,y2,'-*')
pylab.plot(x3,y3,'-x')

Tanda # pada awal code merupakan komentar yang tidak diproses


program. Bagian tersebut menampilkan identitas programmer
Syntax import berfungsi untuk mengimpor modul pada phyton. Numpy
dan math berisi fungsi matematika, sedangkan pylab untuk menampilkat plot
grafik.
Syntax def berfungsi untuk mendeklarasikan fungsi yang ingin dicari
akarnya yaitu fungsiawal (x)= x-8 dan turunan dari fungsi tersebut yaitu
fungsiturunan (x) = 1.
Variabel a dan b menunjukkan interval yang memuat nilai akar pada
metode biseksi. Sedangkan c dan d interval pada metode Regula-Falsi.
Variabel fa menunjukkan hasil nilai a yang disubtitusikan ke dalam fungsi (x),
begitu juga untuk fb, fc, dan fd. Dikarenakan kedua metode tersebut
memerlukan interval maka disebut metode tertutup.
Variabel x0 merupakan tebakan awal nilai akar pada metode Newton-
Raphson yaitu 10. Pada metode ini tidak membutuhkan interval melainkan
hanya butuh satu titik awal untuk mencari akar sehingga disebut metode
terbuka.
Variabel max memuat jumlah iterasi yang akan dilakukan pada program
ini, yaitu 20 kali.
Variabel i merupakan nilai awal iterasi yaitu 1 untuk metode biseksi.
Begitu pula variabel j untuk metode regula-falsi dan k untuk metode Newton-
Raphson.
Variabel x1 adalah list yang memuat nilai iterasi pada metode biseksi,
sedangkan x2 untuk metode regula-falsi dan x3 untuk metode Newton-
Raphson. Variabel y1 adalah list yang memuat nilai tebakan akar pada metode
biseksi, sedangkan y2 untuk metode regula-falsi dan y3 untuk metode Newton-
Raphson.
Code untuk program metode Biseksi dan Regula-Falsi sudah
dipaparkan di dalam praktikum sebelumnya. Dengan demikian pada bagian ini
hanya berfokus menjelaskan code untuk program pencarian akar menggunakan
metode Newton-Raphson.
Syntax print berfungsi untuk mencetak kalimat didalam petik tunggal
dan judul tabel meliputi iterasi, tebakan akar, dan hasil fungsi.
Blok Looping :
Pada program ini menggunakan looping dengan kostruk while. Syarat
looping atau iterasi yang dilakukan adalah kurang dari sama dengan variable
max, yaitu 20 iterasi.
Selanjutnya dikenalkan variabel fx0 yang memuat hasil x0 yang
dimasukkan ke dalam fugsi awal program atau nilai dari fungsiawal (x0).
Terdapat juga variable ftur yang memuat hasil x0 yang dimasukkan ke dalam
fugsi turunan program atau nilai dari fungsiturunan (x0).
Kemudian terdapat variable xbaru yang memuat operasi x0-fx0/ftur.
Tujuan dari operasi ini adalah mencari nilai x yang baru untuk iterasi
selanjutnya. Persamaan ini menggunakan konsep gradien yang identic dengan
metode Newton-Raphson.
Lalu nilai xbaru tersebut dimasukkan ke dalam fungsi awal dan nilainya
dimuat dalam variable fbaru. Variabel fbaru inilah yang menunjukkan nilai
error metode ini. Semakin mendekati nol maka semakin mendekati nilai akar
yang sebenarnya.
Syntaks print dalam blok looping berfungsi untuk menampilkan nilai
iterasi dengan variable k, nilai tebakan akar dengan variable xbaru, dan nilai
hasil fungsi dengan variable fbaru. Nilai xbaru dan fbaru akan dibulatkan 5
angka dibelakan koma untuk memudahkan pembacaan dengan memanfaatkan
syntax round.
Variabel xbaru setelah ditampilan di tabel akan dimasukkan ke dalam
x0 sehingga menjadi nilai x yang baru untuk iterasi selanjutnya.
Syntax append berfungsi untuk menambah element pada list dibagian
belakangnya. Append diberlakukan untuk list x3 dengan elemen yang
ditambahkan yaitu iterasi dengan variable k. Selain itu append juga diterapkan
untuk list y3 dengan elemen yang ditambahkan yaitu nilai tebakan akar yang
diwakili variable xbaru.
Code k+=1 berfungsi agar iterasi yang terjadi urut bertambah satu untuk
setiap ulangan.
Pada code terakhir memuat syntax plot dari modul pylab yang berfungsi
menampilkan grafik pencarian akar fungsi. Sumbu-x memuat nilai iterasi dari
elemen dan sumbu-y memuat nilai akar untuk ketiga metode, yaitu Biseksi,
Regula-Falsi, dan Newton-Raphson yang kemudian bisa dibandingkan.

Hasil Tabel Metode Biseksi :


Hasil Tabel Metode Regula-Falsi :

Hasil Tabel Metode Newton-Raphson

Analisis Perbandingan Tabel :


Analisis untuk table hasil pencarian akar metode Biseksi dan Regula-
Falsi telah dipaparkan pada praktikum sebelumnya. Hasilnya yaitu metode
Regula-Falsi lebih cepat menemukan akar fungsi dibandingkan metode
Biseksi. Dengan demikian, penjelasan yang disajikan pada bagian ini berfokus
pada analisis hasil metode Newton-Raphson serta perbandingan hasil dari
ketiga metode.
Pada tabel hasil metode Newton-Raphson tampak nilai akar fungsi
f(x)=x-8 ditemukan pada iterasi ke-1 yaitu x=8 dengan f(x)=0.0. Nilai akar
langsung didapat sangat cepat pada iterasi pertama. Iterasi ke-2 sampai ke-20
menjadi tidak berguna karena menghasilkan nilai yang sama. Dengan demikian
pada metode Newton-Raphson selain batasannya berupa maksimal iterasi juga
dapat ditambahkan dengan maksimum error agar iterasi dapat berhenti ketika
maksimum error yang ditentukan sudah terpenuhi.
Perbadingan dari hasil ketiga metode pencarian akar yaitu berhasil
mendekati nilai akar yang asli. Untuk kecepatan dalam menemukan akar
metode Biseksi dan Regula-Falsi tidak dapat dibandingkan dengan metode
Newton-Raphson. Hal ini dikarenakan metode Biseksi dan Regula-Falsi
merupakan metode tertutup yang membutuhkan interval dari dua nilai.
Sedangkan metode Newton-Raphson adalah metode terbuka yang hanya
membutuhkan 1 nilai awal untuk menebak akar fungsi.

Perbandingan Grafik Plot Pencarian Akar Fungsi Tiga Metode :

Ketiga grafik tersebut menunjukkan plot dalam mencari nilai akar untuk
fungsi derajat 1 yaitu f(x)=x-8 dengan menggunakan komputasi. Grafik warna
biru menunjukkan plot untuk metode biseksi, sedangkan grafik oranye
menunjukkan plot untuk metode regula-falsi, lalu grafik warna hijau
menunjukkan grafik untuk metode Newton-Raphson. Tampak untuk metode
biseksi grafik berfluktuatif dalam mendekati nilai akar yiatu x=8. Nilai akar
baru ditemukan saat iterasi ke-20, yaitu x=8 dengan f(x)=0.0. Disisi lain
metode regula-falsi dan Newton-Raphson dapat langsung menemukan nilai
akar x=8 pada iterasi pertama dan tetap konstan sampai iterasi ke-20. Hal ini
terlihat pada grafik dimana grafik oranye dan hijau saling tumpang tindih
karena menunjukkan hasil yang sama.
Dengan demikian untuk fungsi derajat 1 metode regula-falsi dan
Newton-Raphson memiliki pola yang linier dalam pencarian akar sedangkan
metode biseksi mengamali fluktuasi.

b. FUNGSI DERAJAT 2 : f(x) = x2 – 16

#REZA UMMAM NOR


#081911733012
#f(x)=x^2-16

import numpy as np
import math
import pylab

def fungsiawal (x) :


return x**2-16

def fungsiturunan (x) :


return 2*x

a = 0 #Variabel Metode Biseksi


b = 10
fa = fungsiawal(a)
fb = fungsiawal(b)

c = 0 #Variabel Metode Regula-Falsi


d = 10
fc = fungsiawal(c)
fd = fungsiawal(d)

x0 = 10 #Variabel Metode Newton-Raphson

max = 20

i = 1
j = 1
k = 1

x1 = []
x2 = []
x3 = []
y1 = []
y2 = []
y3 = []

#METODE BISEKSI
print('METODE BISEKSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

if (fa*fb<0):
while (i<=max):
r0 = (a+b)/2 #RUMUS METODE BISEKSI
fr0 = fungsiawal(r0)

print ('\t || \t ', i, ' \t\t ||\t', (round(r0,5)), '


\t||\t',
(round(fr0,5)), ' \t||')

if(fa*fr0<0):
b = r0
fb = fr0
else:
a = r0
fa = fr0

x1.append(i)
y1.append(r0)
i+=1
else:
print('\nInterval a dan b tidak mengandung nilai akar')

#METODE REGULA-FALSI
print('\n\nMETODE REGULA-FALSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\
t hasil fungsi \t||')

if (fc*fd<0):
while (j<=max):
r1 = c-((fc*(c-d))/(fc-fd)) #RUMUS METODE REGULA-FALSI
fr1 = fungsiawal(r1)

print('\t || \t ', j, ' \t\t ||\t', (round(r1,5)), '


\t||\t',
(round(fr1,5)), ' \t||')

if(fc*fr1<0):
d = r1
fd = fr1
else:
c = r1
fc = fr1

x2.append(j)
y2.append(r1)
j+=1
else:
print('\nInterval c dan d tidak mengandung nilai akar')

#METODE NEWTON-RAPHSON
print('\n\nNEWTON-RAPHSON :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

while (k<=max) : #Blok Looping


fx0 = fungsiawal(x0)
ftur = fungsiturunan(x0)
xbaru = x0-fx0/ftur #RUMUS METODE NEWTON-RAPHSON
fbaru = fungsiawal(xbaru)
print('\t || \t ', k, ' \t\t ||\t', (round(xbaru,5)), '
\t||\t',
(round(fbaru,5)), ' \t||')

x0 = xbaru

x3.append(k)
y3.append(xbaru)

k+=1

#PLOT
pylab.plot(x1,y1,'-o')
pylab.plot(x2,y2,'-*')
pylab.plot(x3,y3,'-x')

Listing code untuk pencarian akar fungsi derajat 2 yaitu f(x) = x^2-16
sama persis dengan code untuk fungsi derajat 1. Perbedaannya hanya terdapat
pada pendeklarasian fungsi awal dan fungsi turunannya dengan syntax def.
Fungsi derajat 1 diganti dengan fungsi derajat 2 yaitu fungsiawal (x) = x^2-16.
Sedangkan untuk turunannay diganti fungsiturunan(x) = 2x. Dengan demikian
penjelasan semua proses dan syntax yang digunakan pada program sama antara
fungsi derajat 1 dan 2. Maka dari itu analisis dapat langsung dilanjutkan untuk
hasil program dan perbandingan hasil plot ketiga metode (biseksi, regula-falsi,
dan Newton-Raphson).

Hasil Tabel Metode Biseksi :


Hasil Tabel Metode Regula-Falsi :

Hasil Tabel Metode Newton-Raphson :

Analisis Perbandingan Tabel:


Analisis untuk table hasil pencarian akar metode Biseksi dan Regula-
Falsi telah dipaparkan pada praktikum sebelumnya. Hasilnya yaitu metode
Regula-Falsi lebih cepat menemukan akar fungsi dibandingkan metode
Biseksi. Dengan demikian, penjelasan yang disajikan pada bagian ini berfokus
pada analisis hasil metode Newton-Raphson serta perbandingan hasil dari
ketiga metode.
Pada tabel hasil metode Newton-Raphson tampak nilai akar fungsi
f(x)=x^2-16 ditemukan pada iterasi ke-5 yaitu x=4 dengan f(x)=0.0. Hal ini
sesuai dengan hitungan manual dimana akar dari fungsi f(x) adalah 4 dan -4.
Iterasi ke-6 sampai ke-20 menjadi tidak berguna karena menghasilkan nilai
yang sama. Dengan demikian pada metode Newton-Raphson selain batasannya
berupa maksimal iterasi juga dapat ditambahkan dengan maksimum error agar
iterasi dapat berhenti ketika maksimum error yang ditentukan sudah terpenuhi.
Pada tabel menunjukkan pola bahwa semakin besar iterasi maka nilai f(x)
semakin mendekati nol. Maka dari itu plot untuk metode ini akan lebih halus,
tidak fluktuatif, dan konstan mendekati nilai akar yang sebenarnya. Meskipun
demikian, metode ini hanya bisa menemukan 1 akar pada setiap menjalankan
programnya padahal diketahui bahwa untuk fungsi derajat 2 mempunyai 2 nilai
akar.
Perbadingan dari hasil ketiga metode pencarian akar yaitu sama-sama
berhasil mendekati salah satu nilai akar yang sama yaitu x=4. Selain itu untuk
metode Biseksi tidak menunjukkan pola bahwa semakin besar nilai iterasi
maka nilai error semakin mendekati nol atau bisa disebut berfluktuasi.
Sebaliknya, metode Regula-Falsi dan Newton-Rapshon menunjukkan polo
nilai errornya semakin mendekati nol dengan bertambahnya jumlah iterasi.
Untuk kecepatan dalam menemukan akar metode Biseksi dan Regula-
Falsi tidak dapat dibandingkan dengan metode Newton-Raphson. Hal ini
dikarenakan metode Biseksi dan Regula-Falsi merupakan metode tertutup yang
membutuhkan interval dari dua nilai. Sedangkan metode Newton-Raphson
adalah metode terbuka yang hanya membutuhkan 1 nilai awal untuk menebak
akar fungsi.

Perbandingan Grafik Plot Fungsi Tiga Metode :

Ketiga grafik tersebut menunjukkan plot dalam mencari nilai akar untuk
fungsi derajat 2 yaitu f(x)=x^2-16 dengan menggunakan komputasi. Grafik
warna biru menunjukkan plot untuk metode biseksi, sedangkan grafik oranye
menunjukkan plot untuk metode regula-falsi, lalu grafik warna hijau
menunjukkan grafik untuk metode Newton-Raphson.
Tampak untuk metode biseksi grafik berfluktuatif dalam mendekati
nilai akar yaitu x=4. Nilai akar pada iterasi ke-20 yaitu x=4.00001 dengan
f(x)=0.00005. Artinya akar yang ditemukan masih mendekati akar asli karena
belum menghasilkan f(x) tepat 0.0.
Disisi lain grafik metode regula-falsi lebih halus dan konstan semakin
mendekati nilai akar. Tampak nilai akar didekati dari batas bawah yaitu 0 lalu
nilainya naik mendekati akar. Hingga akhirnya dapat menemukan nilai akar
x=4 pada iterasi ke-20.
Begitupun dengan grafik metode Newton-Raphson, konstan mendekati
nilai akar. Nilai akar ditemukan pada iterasi ke-5.
Dengan demikian untuk fungsi derajat 2 metode Regula-Falsi dan
Newton-Raphson memiliki pola yang linier dalam pencarian akar sedangkan
metode biseksi mengamali fluktuasi.

c. FUNGSI DERAJAT 3 : f(x) = x3 + 2x2 + 10x -20

#REZA UMMAM NOR


#081911733012
#f(x)=x^3+2x^2+10x-20

import numpy as np
import math
import pylab

def fungsiawal (x) :


return x**3+2*x**2+10*x-20

def fungsiturunan (x) :


return 3*x**2+4*x+10

a = 0 #Variabel Metode Biseksi


b = 10
fa = fungsiawal(a)
fb = fungsiawal(b)

c = 0 #Variabel Metode Regula-Falsi


d = 10
fc = fungsiawal(c)
fd = fungsiawal(d)

x0 = 10 #Variabel Metode Newton-Raphson

max = 20

i = 1
j = 1
k = 1

x1 = []
x2 = []
x3 = []
y1 = []
y2 = []
y3 = []
#METODE BISEKSI
print('METODE BISEKSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

if (fa*fb<0):
while (i<=max):
r0 = (a+b)/2 #RUMUS METODE BISEKSI
fr0 = fungsiawal(r0)

print ('\t || \t ', i, ' \t\t ||\t', (round(r0,5)), '


\t||\t',
(round(fr0,5)), ' \t||')

if(fa*fr0<0):
b = r0
fb = fr0
else:
a = r0
fa = fr0

x1.append(i)
y1.append(r0)
i+=1
else:
print('\nInterval a dan b tidak mengandung nilai akar')

#METODE REGULA-FALSI
print('\n\nMETODE REGULA-FALSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\
t hasil fungsi \t||')

if (fc*fd<0):
while (j<=max):
r1 = c-((fc*(c-d))/(fc-fd)) #RUMUS METODE REGULA-FALSI
fr1 = fungsiawal(r1)

print('\t || \t ', j, ' \t\t ||\t', (round(r1,5)), '


\t||\t',
(round(fr1,5)), ' \t||')

if(fc*fr1<0):
d = r1
fd = fr1
else:
c = r1
fc = fr1

x2.append(j)
y2.append(r1)
j+=1
else:
print('\nInterval c dan d tidak mengandung nilai akar')

#METODE NEWTON-RAPHSON
print('\n\nNEWTON-RAPHSON :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

while (k<=max) : #Blok Looping


fx0 = fungsiawal(x0)
ftur = fungsiturunan(x0)
xbaru = x0-fx0/ftur #RUMUS METODE NEWTON-RAPHSON
fbaru = fungsiawal(xbaru)

print('\t || \t ', k, ' \t\t ||\t', (round(xbaru,5)), '


\t||\t',
(round(fbaru,5)), ' \t||')

x0 = xbaru

x3.append(k)
y3.append(xbaru)

k+=1

#PLOT
pylab.plot(x1,y1,'-o')
pylab.plot(x2,y2,'-*')
pylab.plot(x3,y3,'-x')

Listing code untuk pencarian akar fungsi derajat 3 yaitu f(x) =


x^3+2x^2+10x-20 sama persis dengan code untuk fungsi derajat 1.
Perbedaannya hanya terdapat pada pendeklarasian fungsi awal dan fungsi
turunannya dengan syntax def. Fungsi derajat 1 diganti dengan fungsi derajat 3
yaitu fungsiawal (x) = x^3+2x^2+10x-20. Sedangkan untuk turunanya diganti
fungsiturunan(x) = 3x^2+4x+10. Dengan demikian penjelasan semua proses
dan syntax yang digunakan pada program sama antara fungsi derajat 1 dan 3.
Maka dari itu analisis dapat langsung dilanjutkan untuk hasil program dan
perbandingan hasil plot ketiga metode (biseksi, regula-falsi, dan Newton-
Raphson).
Hasil Tabel Metode Biseksi :

Hasil Tabel Metode Regula-Falsi :

Hasil Tabel Metode Newton-Raphson :


Analisis Perbandingan Tabel:
Analisis untuk table hasil pencarian akar metode Biseksi dan Regula-
Falsi telah dipaparkan pada praktikum sebelumnya. Hasilnya yaitu metode
Regula-Falsi lebih lambat menemukan akar fungsi dibandingkan metode
Biseksi. Dengan demikian, penjelasan yang disajikan pada bagian ini berfokus
pada analisis hasil metode Newton-Raphson serta perbandingan hasil dari
ketiga metode.
Pada tabel hasil metode Newton-Raphson tampak nilai akar fungsi
f(x)= x^3+2x^2+10x-20 ditemukan pada iterasi ke-7 yaitu x=1.36881 dengan
f(x)=0.0. Hal ini sesuai dengan hitungan manual. Iterasi ke-8 sampai ke-20
menjadi tidak berguna karena menghasilkan nilai yang sama. Dengan demikian
pada metode Newton-Raphson selain batasannya berupa maksimal iterasi juga
dapat ditambahkan dengan maksimum error agar iterasi dapat berhenti ketika
maksimum error yang ditentukan sudah terpenuhi. Pada tabel menunjukkan
pola bahwa semakin besar iterasi maka nilai f(x) semakin mendekati nol. Maka
dari itu plot untuk metode ini akan lebih halus, tidak fluktuatif, dan konstan
mendekati nilai akar yang sebenarnya. Meskipun demikian, metode ini hanya
bisa menemukan 1 akar pada setiap menjalankan programnya padahal
diketahui bahwa untuk fungsi derajat 3 mempunyai 3 nilai akar.
Perbadingan dari hasil ketiga metode pencarian akar yaitu sama-sama
berhasil mendekati salah satu nilai akar yang sama yaitu x=1.36881. Selain itu
untuk metode Biseksi tidak menunjukkan pola bahwa semakin besar nilai
iterasi maka nilai error semakin mendekati nol atau bisa disebut berfluktuasi.
Sebaliknya, metode Regula-Falsi dan Newton-Rapshon menunjukkan pola
nilai errornya semakin mendekati nol dengan bertambahnya jumlah iterasi.
Untuk kecepatan dalam menemukan akar metode Biseksi dan Regula-
Falsi tidak dapat dibandingkan dengan metode Newton-Raphson. Hal ini
dikarenakan metode Biseksi dan Regula-Falsi merupakan metode tertutup yang
membutuhkan interval dari dua nilai. Sedangkan metode Newton-Raphson
adalah metode terbuka yang hanya membutuhkan 1 nilai awal untuk menebak
akar fungsi.

Perbandingan Grafik Plot Fungsi Tiga Metode :


Ketiga grafik tersebut menunjukkan plot dalam mencari nilai akar untuk
fungsi derajat 3 yaitu f(x)= x^3+2x^2+10x-20 dengan menggunakan
komputasi. Grafik warna biru menunjukkan plot untuk metode biseksi,
sedangkan grafik oranye menunjukkan plot untuk metode regula-falsi, lalu
grafik warna hijau menunjukkan grafik untuk metode Newton-Raphson.
Tampak untuk metode biseksi grafik berfluktuatif dalam mendekati
nilai akar. Nilai akar pada iterasi ke-20 yaitu x=1.3688 dengan f(x)= -0.00019.
Artinya akar yang ditemukan masih mendekati akar asli karena belum
menghasilkan f(x) tepat 0.0.
Disisi lain grafik metode regula-falsi lebih halus dan konstan semakin
mendekati nilai akar. Akan tetapi pada iterasi ke-20 nilai akar yang ditemukan
adalah x=1.28383 dengan f(x)= -1.74913. Nilai error pada metode regula-falsi
lebih besar daripada metode biseksi. Tampak nilai akar pada grafik didekati
dari batas bawah yaitu 0 lalu nilainya naik mendekati akar
Begitupun dengan grafik metode Newton-Raphson, konstan mendekati
nilai akar. Nilai akar ditemukan pada iterasi ke-7.
Dengan demikian untuk fungsi derajat 3 metode Regula-Falsi dan
Newton-Raphson memiliki pola yang linier dalam pencarian akar sedangkan
metode biseksi mengamali fluktuasi.

d. FUNGSI TRIGONOMETRI : f(x) = x – 2cos(x)

#REZA UMMAM NOR


#081911733012
#f(x)=x-2cos(x)

import numpy as np
import math
import pylab

def fungsiawal (x) :


return x-2*math.cos(x)

def fungsiturunan (x) :


return 1+2*math.sin(x)

a = 0 #Variabel Metode Biseksi


b = 10
fa = fungsiawal(a)
fb = fungsiawal(b)

c = 0 #Variabel Metode Regula-Falsi


d = 10
fc = fungsiawal(c)
fd = fungsiawal(d)
x0 = 5 #Variabel Metode Newton-Raphson

max = 20

i = 1
j = 1
k = 1

x1 = []
x2 = []
x3 = []
y1 = []
y2 = []
y3 = []

#METODE BISEKSI
print('METODE BISEKSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

if (fa*fb<0):
while (i<=max):
r0 = (a+b)/2 #RUMUS METODE BISEKSI
fr0 = fungsiawal(r0)

print ('\t || \t ', i, ' \t\t ||\t', (round(r0,5)), '


\t||\t',
(round(fr0,5)), ' \t||')

if(fa*fr0<0):
b = r0
fb = fr0
else:
a = r0
fa = fr0

x1.append(i)
y1.append(r0)
i+=1
else:
print('\nInterval a dan b tidak mengandung nilai akar')

#METODE REGULA-FALSI
print('\n\nMETODE REGULA-FALSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\
t hasil fungsi \t||')
if (fc*fd<0):
while (j<=max):
r1 = c-((fc*(c-d))/(fc-fd)) #RUMUS METODE REGULA-FALSI
fr1 = fungsiawal(r1)

print('\t || \t ', j, ' \t\t ||\t', (round(r1,5)), '


\t||\t',
(round(fr1,5)), ' \t||')

if(fc*fr1<0):
d = r1
fd = fr1
else:
c = r1
fc = fr1

x2.append(j)
y2.append(r1)
j+=1
else:
print('\nInterval c dan d tidak mengandung nilai akar')

#METODE NEWTON-RAPHSON
print('\n\nNEWTON-RAPHSON :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

while (k<=max) : #Blok Looping


fx0 = fungsiawal(x0)
ftur = fungsiturunan(x0)
xbaru = x0-fx0/ftur #RUMUS METODE NEWTON-RAPHSON
fbaru = fungsiawal(xbaru)

print('\t || \t ', k, ' \t\t ||\t', (round(xbaru,5)), '


\t||\t',
(round(fbaru,5)), ' \t||')

x0 = xbaru

x3.append(k)
y3.append(xbaru)

k+=1

#PLOT
pylab.plot(x1,y1,'-o')
pylab.plot(x2,y2,'-*')
pylab.plot(x3,y3,'-x')

Listing code untuk pencarian akar fungsi trigonometri yaitu f(x) = x-


2cos(x) sama persis dengan code untuk fungsi derajat 1. Perbedaannya hanya
terdapat pada pendeklarasian fungsi awal dan fungsi turunannya dengan syntax
def. Fungsi derajat 1 diganti dengan fungsi trigonometri yaitu fungsiawal (x) =
x-2cos(x). Sedangkan untuk turunanya diganti fungsiturunan(x) = 1+2sin(x).
Dengan demikian penjelasan semua proses dan syntax yang digunakan pada
program sama antara fungsi derajat 1 dan trigonometri. Maka dari itu analisis
dapat langsung dilanjutkan untuk hasil program dan perbandingan hasil plot
ketiga metode (biseksi, regula-falsi, dan Newton-Raphson).

Hasil Tabel Metode Biseksi:

Hasil Tabel Metode Regula-Falsi :


Hasil Tabel Metode Newton-Raphson :

Analisis Perbandingan Tabel:


Analisis untuk table hasil pencarian akar metode Biseksi dan Regula-
Falsi telah dipaparkan pada praktikum sebelumnya. Hasilnya yaitu metode
Regula-Falsi lebih cepat menemukan akar fungsi dibandingkan metode
Biseksi. Dengan demikian, penjelasan yang disajikan pada bagian ini berfokus
pada analisis hasil metode Newton-Raphson serta perbandingan hasil dari
ketiga metode.
Pada tabel hasil metode Newton-Raphson tampak nilai akar fungsi f(x)
= x-2cos(x) masih didekati hingga itersi ke-20 yairu x=1.04591 dengan
f(x)=0.04369 atau dengan kata lain belum tepat nol. Disisi lain pada tabel tidak
menunjukkan pola bahwa semakin besar iterasi maka nilai f(x) semakin
mendekati nol. Maka dari itu plot untuk metode ini akan bersifat fluktuatif.
Perbadingan dari hasil ketiga metode pencarian akar yaitu sama-sama
berhasil mendekati nilai akar yang sama yaitu x=1.04591. Selain itu untuk
metode Biseksi dan Newton-Raphson tidak menunjukkan pola bahwa semakin
besar nilai iterasi maka nilai error semakin mendekati nol atau bisa disebut
berfluktuasi. Sebaliknya, metode Regula-Falsi menunjukkan pola nilai
errornya semakin mendekati nol dengan bertambahnya jumlah iterasi.
Untuk kecepatan dalam menemukan akar metode Biseksi dan Regula-
Falsi tidak dapat dibandingkan dengan metode Newton-Raphson. Hal ini
dikarenakan metode Biseksi dan Regula-Falsi merupakan metode tertutup yang
membutuhkan interval dari dua nilai. Sedangkan metode Newton-Raphson
adalah metode terbuka yang hanya membutuhkan 1 nilai awal untuk menebak
akar fungsi.
Perbandingan Grafik Plot Fungsi Tiga Metode :

Ketiga grafik tersebut menunjukkan plot dalam mencari nilai akar untuk
fungsi trigonometri yaitu f(x)=x-2cos(x) dengan menggunakan komputasi.
Grafik warna biru menunjukkan plot untuk metode biseksi, sedangkan grafik
oranye menunjukkan plot untuk metode regula-falsi, lalu grafik warna hijau
menunjukkan grafik untuk metode Newton-Raphson.
Tampak untuk metode biseksi grafik berfluktuatif dalam mendekati
nilai akar. Nilai akar pada iterasi ke-20 yaitu x=1.02986, artinya akar tersebut
masih mendekati akar asli karena belum menghasilkan f(x) tepat 0.0.
Disisi lain grafik metode regula-falsi lebih halus dan konstan semakin
mendekati nilai akar asli. Nilai akar ditemukan pada iterasi ke-7 yaitu
x=1.02987 dengan f(x)=0. Akan tetapi tampak nilai akar mengalami sedikit
fluktuasi meskipun nilai error nya konsisten mendekati nol.
Untuk grafik metode Newton-Raphson juga berfluktuatif dengan error
yang lebih tinggi dibandingkan metode biseksi.
Dengan demikian untuk fungsi trigonometri ketiga metode
menunjukkan menunjukkan grafik yang berfluktuasi untuk tampilan nilai
akarnya. Sedangkan untuk error, metode Regula-Falsi konsisten mendekati nol
sedangkan metode Biseksi dan Newton Raphson nilai errornya juga
berfluktuasi.

e. FUNGSI EKSPONENSIAL : f(x) = e^x-7

#REZA UMMAM NOR


#081911733012
#f(x)=e^x-7

import numpy as np
import math
import pylab

def fungsiawal (x) :


return math.exp(x)-7

def fungsiturunan (x) :


return math.exp(x)

a = 0 #Variabel Metode Biseksi


b = 10
fa = fungsiawal(a)
fb = fungsiawal(b)

c = 0 #Variabel Metode Regula-Falsi


d = 10
fc = fungsiawal(c)
fd = fungsiawal(d)

x0 = 5 #Variabel Metode Newton-Raphson

max = 20

i = 1
j = 1
k = 1

x1 = []
x2 = []
x3 = []
y1 = []
y2 = []
y3 = []

#METODE BISEKSI
print('METODE BISEKSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

if (fa*fb<0):
while (i<=max):
r0 = (a+b)/2 #RUMUS METODE BISEKSI
fr0 = fungsiawal(r0)

print ('\t || \t ', i, ' \t\t ||\t', (round(r0,5)), '


\t||\t',
(round(fr0,5)), ' \t||')

if(fa*fr0<0):
b = r0
fb = fr0
else:
a = r0
fa = fr0

x1.append(i)
y1.append(r0)
i+=1
else:
print('\nInterval a dan b tidak mengandung nilai akar')

#METODE REGULA-FALSI
print('\n\nMETODE REGULA-FALSI :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\
t hasil fungsi \t||')

if (fc*fd<0):
while (j<=max):
r1 = c-((fc*(c-d))/(fc-fd)) #RUMUS METODE REGULA-FALSI
fr1 = fungsiawal(r1)

print('\t || \t ', j, ' \t\t ||\t', (round(r1,5)), '


\t||\t',
(round(fr1,5)), ' \t||')

if(fc*fr1<0):
d = r1
fd = fr1
else:
c = r1
fc = fr1

x2.append(j)
y2.append(r1)
j+=1
else:
print('\nInterval c dan d tidak mengandung nilai akar')

#METODE NEWTON-RAPHSON
print('\n\nNEWTON-RAPHSON :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

while (k<=max) : #Blok Looping


fx0 = fungsiawal(x0)
ftur = fungsiturunan(x0)
xbaru = x0-fx0/ftur #RUMUS METODE NEWTON-RAPHSON
fbaru = fungsiawal(xbaru)
print('\t || \t ', k, ' \t\t ||\t', (round(xbaru,5)), '
\t||\t',
(round(fbaru,5)), ' \t||')

x0 = xbaru

x3.append(k)
y3.append(xbaru)

k+=1

#PLOT
pylab.plot(x1,y1,'-o')
pylab.plot(x2,y2,'-*')
pylab.plot(x3,y3,'-x')

Listing code untuk pencarian akar fungsi eksponensial yaitu f(x) = e^x-
7 sama persis dengan code untuk fungsi derajat 1. Perbedaannya hanya terdapat
pada pendeklarasian fungsi awal dan fungsi turunannya dengan syntax def.
Fungsi derajat 1 diganti dengan fungsi eksponensial yaitu fungsiawal (x) = e^x-
7. Sedangkan untuk turunanya diganti fungsiturunan(x) =e^x. Dengan demikian
penjelasan semua proses dan syntax yang digunakan pada program sama antara
fungsi derajat 1 dan eksponensial. Maka dari itu analisis dapat langsung
dilanjutkan untuk hasil program dan perbandingan hasil plot ketiga metode
(biseksi, regula-falsi, dan Newton-Raphson).

Hasil Tabel Metode Biseksi :


Hasil Tabel Metode Regula-Falsi :

Hasil Tabel Metode Newton-Raphson :

Analisis Perbandingan Tabel:


Analisis untuk table hasil pencarian akar metode Biseksi dan Regula-
Falsi telah dipaparkan pada praktikum sebelumnya. Hasilnya yaitu metode
Regula-Falsi lebih lambat menemukan akar fungsi dibandingkan metode
Biseksi. Dengan demikian, penjelasan yang disajikan pada bagian ini berfokus
pada analisis hasil metode Newton-Raphson serta perbandingan hasil dari
ketiga metode.
Pada tabel hasil metode Newton-Raphson tampak nilai akar fungsi f(x)
= e^x-7 dapat ditemukan pada iterasi ke-7 yaitu x=1.94591 dengan f(x)=0.0.
Hasil ini sesuai dengan hitangan manual yaitu x=ln(7)=1.94591… Akan tetapi
hal ini menyebabkan iterasi ke-8 sampai ke-20 tidak berguna karena memiliki
nilai yang sama. Dengan demikian pada metode Newton-Raphson selain
batasannya berupa maksimal iterasi juga dapat ditambahkan dengan
maksimum error agar iterasi dapat berhenti ketika maksimum error yang
ditentukan sudah terpenuhi. Pada tabel menunjukkan pola bahwa semakin
besar iterasi maka nilai f(x) semakin mendekati nol. Maka dari itu plot untuk
metode ini akan lebih halus, tidak fluktuatif, dan konstan mendekati nilai akar
yang sebenarnya.
Perbadingan dari hasil ketiga metode pencarian akar yaitu sama-sama
berhasil mendekati nilai akar yang sama yaitu x=1.94591. Selain itu untuk
metode Biseksi tidak menunjukkan pola bahwa semakin besar nilai iterasi
maka nilai error semakin mendekati nol atau bisa disebut berfluktuasi.
Sebaliknya, metode Regula-Falsi dan Newton-Rhapson menunjukkan pola
nilai errornya semakin mendekati nol dengan bertambahnya jumlah iterasi.
Untuk kecepatan dalam menemukan akar metode Biseksi dan Regula-
Falsi tidak dapat dibandingkan dengan metode Newton-Raphson. Hal ini
dikarenakan metode Biseksi dan Regula-Falsi merupakan metode tertutup yang
membutuhkan interval dari dua nilai. Sedangkan metode Newton-Raphson
adalah metode terbuka yang hanya membutuhkan 1 nilai awal untuk menebak
akar fungsi.

Perbandingan Grafik Plot Fungsi Tiga Metode :

Ketiga grafik tersebut menunjukkan plot dalam mencari nilai akar untuk
fungsi eksponensial yaitu f(x) = e^x-7 dengan menggunakan komputasi. Grafik
warna biru menunjukkan plot untuk metode biseksi, sedangkan grafik oranye
menunjukkan plot untuk metode regula-falsi, lalu grafik warna hijau
menunjukkan grafik untuk metode Newton-Raphson.
Tampak untuk metode biseksi grafik berfluktuatif dalam mendekati
nilai akar. Nilai akar pada iterasi ke-20 yaitu x=1.94591 merupakan hasil
pembulatan karena belum menghasilkan f(x) tepat 0.0.
Disisi lain grafik metode regula-falsi lebih halus dan konstan semakin
mendekati nilai akar asli. Meskipun demikian, grafik metode Regula-Falsi
tampak masih jauh dengan nilai asli. Hal ini mengindikasikan nilai error
Regula-Falsi lebih besar dibandingkan dua metode lainnya. Sebagai tambahan.
tampak nilai akar pada grafik didekati dari batas bawah yaitu 0 lalu nilainya
naik mendekati akar.
Untuk grafik metode Newton-Raphson halus dan konstan mendekati
nilai akar dan berhasil menemukannya pada iterasi ke-7.
Dengan demikian untuk fungsi eksponensial metode Regula-Falsi dan
Newton-Raphson memiliki pola yang linier dalam pencarian akar sedangkan
metode biseksi mengamali fluktuasi.

D. TUGAS
Tentukan akar sistem persamaan pada soal berikut!
Osteoporosis pada Wanita Cina. Wu te la. (2008) mempelajari variasi
kecepatan suara terkait usia (SOS) di tibia dan prevalensi osteoporosis pada
wanita asli Cina. Mereka memperoleh hubungan berikut antara SOS dan
umur dalam tahun, Y.
𝑆𝑂𝑆 = 3383 + 39.9𝑌 − 0.78𝑌 2 + 0.0039𝑌 3
Dimana SOS dinyatakan dalam satuan m/s. SOS untuk satu subjek
penelitian diukur sebesar 3850 m/s. Gunakan Newton-Raphson untuk
mencari akar persamaan di atas! Ambil Y=45 tahun sebagai tebakan awal!
Penyelesaian :
a. Mencari fungsi umur f(𝑌) berdasarkan data yang disediakan
• Persamaan SOS :
𝑆𝑂𝑆 = 3383 + 39.9𝑌 − 0.78𝑌 2 + 0.0039𝑌 3
• Diketahui :
𝑆𝑂𝑆 = 3850 𝑚/𝑠

• Subtitusi nilai SOS ke dalam persamaan :


𝑆𝑂𝑆 = 3383 + 39.9𝑌 − 0.78𝑌 2 + 0.0039𝑌 3
3850 = 3383 + 39.9𝑌 − 0.78𝑌 2 + 0.0039𝑌 3
−0.0039𝑌 3 + 0.78𝑌 2 − 39.9𝑌 − 3383 + 3850 = 0
−0.0039𝑌 3 + 0.78𝑌 2 − 39.9𝑌 + 467 = 0
0.0039𝑌 3 − 0.78𝑌 2 + 39.9𝑌 − 467 = 0

• Dengan demikian, fungsi umur adalah :


𝐹(𝑌) = 0.0039𝑌 3 − 0.78𝑌 2 + 39.9𝑌 − 467

b. Membuat algoritma pada phyton untuk mencari nilai akar fungsi umur
dengan metode Newton-raphson
• Syarat :
𝑌0 = 45 . . . 𝑡𝑒𝑏𝑎𝑘𝑎𝑛 𝑎𝑘𝑎𝑟
𝐹′(𝑌) = 0.0117𝑥 2 − 1.56𝑥 + 39.9
𝑓(𝑌𝑛 )
𝑌𝑛+1 = 𝑌𝑛 −
𝑓′(𝑌𝑛 )
• Code :

#TASK
#REZA UMMAM NOR
#081911733012
#F(Y)=0.0039Y^3-0.78Y^2+39.9Y-467
#METODE NEWTON-RAPHSON

import numpy as np
import math
import pylab
from numpy import *

def fungsiawal (Y) :


return 0.0039*Y**3-0.78*Y**2+39.9*Y-467

def fungsiturunan (Y) :


return 0.0117*Y**2-1.56*Y+39.9

Y0 = 45 #Tebakan awal akar

maxi = 100 #Maksimum Iterasi


maxe = 0.0

i = 1

I = [] #List iterasi
Y = [] #Nilai akar

print('\n\nNEWTON-RAPHSON :\n')
print('\t || \t iterasi \t || \t tebakan akar \t\t||\t h
asil fungsi \t||')

while (i<=maxi) : #Block Looping


fY0 = fungsiawal(Y0)
ftur = fungsiturunan(Y0)
Ybaru = Y0-fY0/ftur
fbaru = fungsiawal(Ybaru)

print('\t || \t ', i, ' \t\t ||\t', (round(Ybaru,5)), '


\t||\t',
(round(fbaru,5)), ' \t||')

Y0 = Ybaru

I.append(i)
Y.append(Ybaru)

fbaru1 = sqrt(fbaru**2) #Nilai Mutlak fbaru


if fbaru1 == maxe : #Block Conditional
break

i+=1

#PLOT
pylab.plot(I,Y,'-o')

• Penjelasan Code :
Tanda # pada awal code merupakan komentar yang tidak diproses
program. Bagian tersebut menampilkan identitas programmer
Syntax import berfungsi untuk mengimpor modul pada phyton.
Numpy dan math berisi fungsi matematika, sedangkan pylab untuk
menampilkat plot grafik.
Syntax def berfungsi untuk mendeklarasikan fungsi umur F(Y) atau
dalam code tertulis 𝑓𝑢𝑛𝑔𝑠𝑖𝑎𝑤𝑎𝑙(𝑌) = 0.0039𝑌 3 − 0.78𝑌 2 +
39.9𝑌 − 467. Selain itu juga dideklaeasikan fungsi turunannya yaitu
𝑓𝑢𝑛𝑔𝑠𝑖𝑡𝑢𝑟𝑢𝑛𝑎𝑛(𝑌) = 0.0117𝑥 2 − 1.56𝑥 + 39.9
Variabel Y0 merupakan tebakan awal untuk nilai akar yang
diberikan oleh soal. Nilai Y0 yaitu 45.
Variabel maxi merupakan maksimum iterasi program yang
dibuat, yaitu 100 kali. Sedangkan maxe adalah maksimum error yang
dibuat program yaitu tepat 0.0 atau dengan kata lain menemukan nilai
akar asli fungsi, bukan hanya pendekatan.
Variabel i merupakan nilai awal iterasi yaitu 1. Variabel I adalah
list yang memuat nilai iterasi. Variabel Y adalah list yang memuat nilai
Y atau akar fungsi.
Syntax print berfungsi untuk mencetak kalimat didalam petik
tunggal dan judul tabel meliputi iterasi, tebakan akar, dan hasil fungsi
Blok Looping :
Pada program ini menggunakan looping dengan kostruk while.
Syarat looping atau iterasi yang dilakukan dalah kurang dari sama
dengan variable maxi, yaitu 100 iterasi.
Selanjutnya dikenalkan fariabel fY0 yang memuat hasil Y0 yang
merupakan tebakan awal nilai akar dan dimasukkan ke dalam fugsi
awal program atau nilai dari fungsiawal (Y0). Terdapat juga variable
ftur yang memuat hasil Y0 yang dimasukkan ke dalam fugsi turunan
program atau nilai dari fungsiturunan (Y0).
Kemudian terdapat variable Ybaru yang memuat operasi Y0-
fY0/ftur. Tujuan dari operasi ini adalah mencari nilai Y yang baru untuk
iterasi selanjutnya. Konsep persamaan ini adalah memanfatkan nilai
gradien yang identik dengan metode Newton-Rapshon.
Lalu nilai Ybaru tersebut dimasukkan ke dalam fungsi awal dan
nilainya dimuat dalam variable fbaru. Variabel fbaru inilah yang
menunjukkan nilai error metode ini. Semakin mendekati nol maka
semakin mendekati nilai akar yang sebenarnya.
Syntaks print dalam blok looping berfungsi untuk menampilkan
nilai iterasi dengan variable i, nilai tebakan akar dengan variable Ybaru,
dan nilai hasil fungsi dengan variable fbaru. Nilai Ybaru dan fbaru akan
dibulatkan 5 angka dibelakan koma untuk memudahkan pembacaan
dengan memanfaatkan syntax round.
Variabel Ybaru setelah ditampilan di tabel akan dimasukkan ke
dalam Y0 sehingga menjadi nilai Y yang baru untuk iterasi selanjutnya.
Syntax append berfungsi untuk menambah element pada list
dibagian belakangnya. Append diberlakukan untuk list I dengan elemen
yang ditambahkan yaitu iterasi dengan variable i. Selain itu append juga
diterapkan untuk list Y dengan elemen yang ditambahkan yaitu nilai
tebakan akar yang diwakili variable Ybaru.
Deklarasi variable fbaru1 memuat nilai mutlak dari fbaru yang
sekaligus menunjukkan nilai error dari akar yang bersangkutan.
Blok conditional :
Syntax if memuat syarat jika fbaru1 sama dengan 0.0 maka iterasi
akan dihentikan oleh syntax break. Hal ini menunjukkan bahwa nilai
akar asli telah ditemukan karena jika nilai Y tersebut dimasukkan ke
dalam fungsi menghasilkan nilai F(Y) = 0.
Code i+=1 berfungsi agar iterasi yang terjadi urut bertambah satu
untuk setiap ulangan.
Pada code terakhir memuat syntax plot dari modul pylab yang
berfungsi menampilkan grafik pencarian akar fungsi. Sumbu-x memuat
nilai iterasi dan sumbu-y memuat nilai akar fungsi.

• Hasil Program Metode Newton-Raphson

Berdasarkan hitungan manual nilai Y atau akar fungsi umur,


𝐹(𝑌) = 0.0039𝑌 3 − 0.78𝑌 2 + 39.9𝑌 − 467 adalah 𝑌1 ≈
16.70264 ; 𝑌2 ≈ 56.57406 ; 𝑌3 ≈ 126.72358. Pada tabel tampak
nilai akar yaitu 𝑌 ≈ 56.57407 dengan F(Y) = 0.0 ditemukan pada
iterasi ke-7. Nilai tersebut sama dengan salah satu akar fungsi hasil
hitungan manual. Nilai akar ditemukan pada iterasi ke-7. Meskipun
pada iterasi ke-4 sampai ke-6 menghasilkan nilai yang sama namun
hasil itu merupakan pembulatan. Hal ini dikarenakan program yang
dibuat hanya akan berhenti jika sudah 100 iterasi maupun saat
F(Y)=0.0.
Pada tabel menunjukkan pola bahwa semakin besar iterasi maka
nilai f(x) semakin mendekati nol. Dengan demikian plot yang
dihasilkan akan lebih halus dan konsisten mendekati nilai Y atau akar
fungsi yang sebenarnya.
Berdasarkan hasil yang didapat metode Newton-Raphson hanya
bisa menebak 1 nilai akar dalam sekali menjalankan program.
Meskipun diketahui bahwa fungsi F(Y) memiliki 3 akar.

• Plot Program

Grafik tersebut menunjukkan plot dalam mencari nilai akar untuk


fungsi umur yaitu 𝐹(𝑌) = 0.0039𝑌 3 − 0.78𝑌 2 + 39.9𝑌 − 467
dengan metode Newton-Raphson. Tampak grafik ini konsisten semakin
mendekati nilai akar. Hingga akhirnya nilai akar yang dihasilkan adalah
𝑌 = 56.57407 dengan F(Y) = 0.0 pada iterasi ke-7. Dengan demikian
dapat disimpulkan metode Newton-Raphson cukup cepat dalam
menemukan akar fungsi umur F(Y) yang merupakan fungsi derajat 3.
Meskipun demikian metode ini hanya menemukan 1 akar dalam setiap
menjalan program dari yang seharusnya terdapat 3 akar untuk fungsi
derajat 3.

c. Kesimpulan hasil
Salah satu akar dari fungsi umur F(Y) yang berelasi dengan SOS
berhasil ditemukan menggunakan program komputasi yang memenfaatkan
meode Newton-Raphson. Nilai tersebut adalah ,
𝑆𝑂𝑆 = 3383 + 39.9𝑌 − 0.78𝑌 2 + 0.0039𝑌 3
𝐹(𝑌) = 0.0039𝑌 3 − 0.78𝑌 2 + 39.9𝑌 − 467
𝑌 = 56.57407 tahun
E. KESIMPULAN
Praktikum Komputasi Biomedis Chapter 3 yang bertujuan untuk
menentukan akar-akar fungsi dengan menggunakan metode Newton-Rhapson
telah dilaksanakan dengan baik. Kesimpulan praktikum ini adalah Metode
Newton-Rhapson merupakan salah satu bentuk metode terbuka yang
menggunakan metode aproksimasi dengan menggunakan satu titik awal dan
menurunkannya dengan mengambil kemiringan atau gradien pada titik
tersebut.. Secara general kelebihan dari metode ini adalah hanya mensyaratkan
1 nilai awal untuk pencarian nilai akar dan grafiknya cenderung linier
mendekati nilai akar (kecuali fungsi trigonometri). Kekurangannya adalah
metode ini mempunyai kemungkinan divergen atau tidak menemukan akar.
Disisi lain pembandingan ketiga metode yaitu: Biseksi, Regula-Falsi, dan
Newton-Raphson sama-sama hanya dapat menemukan 1 akar dalam setiap
pengoperasian program. Perbedannya, hasil metode Biseksi dan Regula-Falsi
selalu konvergen.

F. DAFTAR PUSTAKA

Capra, Steven C and Canale. 2010. Numerical Methods for Engineers with
Personal Computer Applications. MacGraw-Hill Book Company.

Hendri. 2003. Cepat Mahir Phyton. IlmuComputer.com

Kiusalaas J. 2013. Numerical Methods in Engineering with Python 3. Vol. 51.


Cambridge University Press: New York.

Modul Materi Komputasi Biomedis, Program Studi Teknobiomedik, Dep.


Fisika, Fakultas Sains dan Teknologi UNAIR 2021.

Modul Praktikum Komputasi Biomedis, Program Studi Teknobiomedik, Dep.


Fisika, Fakultas Sains dan Teknologi UNAIR 2021.

Anda mungkin juga menyukai