Anda di halaman 1dari 11

LAPORAN PRAKTIKUM 1

Analisis Numerik 1
“Persamaan Tak Linear”

OLEH :

NAMA : SUKMAWATI
NIM 60600122004
KELAS :B
KELOMPOK 1
ASISTEN : NURUL JUSMAHILDA ISMAIL

PROGRAM STUDI MATEMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI ALAUDDIN MAKASSAR
2023
LAPORAN PRAKTIKUM
PERTEMUAN 2
“Persamaan Tak Linear”
I. Pendahuluan
Persamaan tak linear dapat diartikan sebagai persamaan yang tidak
mengandung syarat seperti persamaan linear, sehingga persamaan tak linaer
dapat merupakan Persamaan yang memiliki pangkat selain satu (misal: 𝑥2),
dan persamaan yang mempunyai dua variabel (misal: xy). Terdapat beberapa
metode yang diantaranya adalah metode Bisection, metode Regula Falsi,
metode Newton Raphson, metode Secant. Dan dalam praktikum ini
menggunakan 3 metode yaitu Bisection, Newton Rapshon, dan Secant.
II. Metode
A. Metode Bisection
Berikut langkah-lankah untuk mencari persamaan tak linear menggunkan
metode bisection pada aplikasi RStudio
1. Mulai
2. Buka aplikasi rstudio
3. Buat file baru dengan cara pilih file-> new file-> r script atau
menggunakan perintah Ctrl+Shift+N
4. Memasukkan fungsi 𝑥2 + 3𝑥 − 4
5. Menentukan paramater yang digunakan x=1, tol=1e-3, m=100
(𝑥1−𝑥0)
6. Mendapatkan nilai x baru dengan rumus 𝑥 − 𝑓(𝑥 )
𝑓(𝑥1)−𝑓(𝑥0) 0

7. Jalankan program dengan menggunakan fungsi Ctrl+Enter


8. Selesai
B. Metode Newton Rapshon
Berikut langkah-langkah untuk mencari persamaan tak linear
menggunakann metode newton pada aplikasi RStudio
1. Mulai
2. Buka aplikasi rstudio
3. Buat file baru dengan cara pilih file-> new file-> r script atau
menggunakan perintah Ctrl+Shift+N
4. Memasukkan fungsi 𝑥2 + 3𝑥 − 4
1. Menentukan nilai nilai batasan 𝑎 = −4, 𝑏 = 1
5. Menentukan nilai awal x yaitu 1.25
6. Menentukan nilai xmid dengan rumus 𝑎+𝑏
2

7. Menentukan nilai toleransi galat yaitu 0.0001


8. Menentukan maksimum iterasi yang diinginkan yaitu 𝑚 = 100
9. Jalankan program dengan menggunakan fungsi Ctrl+Enter
10. Selesai
C. Metode Secant
Berikut langkah-langkah untuk mencari persamaan tak linear dengan
menggunakan metode secant pada aplikasi RStudio
1. Mulai
2. Buka aplikasi rstudio
3. Buat file baru dengan cara pilih file-> new file-> r script atau
menggunakan perintah Ctrl+Shift+N
4. Menentukan fungsi yang diselesaikan yaitu 𝑥2 + 3𝑥 − 4
5. Menentukan paramater yang digunakan x=1, tol=1e-3, m=100
(𝑥1−𝑥0)
6. Mendapatkan nilai x baru dengan rumus 𝑥 − 𝑓(𝑥 )
𝑓(𝑥1)−𝑓(𝑥0) 0

7. Jalankan program dengan menggunakan fungsi Ctrl+Enter


8. Selesai
III. Hasil
A. Coding
1. Metode Bisection
bisection= function(f,a,b,tol=0.0001, m=100){
iter= 0
f.a=f(a)
while(abs(b-a)>tol) {
iter= iter+1
if (iter>m) {
warning("iterations maximum exceended")
break
}
xmid = (a+b)/2
ymid = f(xmid)
if(f.a*ymid>0) {
a = xmid
f.a = ymid
} else {
b = xmid
f.b = ymid
}
}
## Interpolate a midpoint for return value
root = (a+b)/2
return(root)
}
f = function(x) {x^2+3*x-4}
bisection(f, -4, 1, tol = 0.0001, m = 100)
2. Metode Newton Rapshon
newton = function(f,fp,x,tol=1e-3, m=100) {
iter = 0
oldx = x
x = oldx+10*tol
while (abs(x-oldx)>tol) {
iter= iter+1
if (iter>m)
stop("No Solution found")
oldx = x
x = x-f(x)/fp(x)
}
return(x)
}
f = function(x) {x^2+3*x-4}
fp = function(x) {2*x+3}
newton(f,fp,1.25,tol = 1e-3,m=100)
3. Metode Secant
secant = function(f,x,tol=1e-3, m=100) {
i=0
oldx = x
oldfx = f(x)
x = oldx+10*tol
while(abs(x-oldx)>tol) {
i = i+1
if (i>m)
stop ("No Solution found")
fx = f(x)
newx = x-fx*((x-oldx)/(fx-oldfx))
oldx = x
oldfx = fx
}
return(x)
}
f = function(x){x^2+3*x-4}
secant(f,-1,tol = 1e-3, m=100)
B. Otput
1. Metode Bisection

2. Metode Newton Rapshon


3. Metode Secant

IV. Pembahasan
A. Metode Bisection
Metode bagi dua atau bisection method adalah metode untuk
menyelesaikan persamaan tak linear dengan membagi dua nilai x1 dan
x2 yang dilakukan secara berulang-ulang hingga nilai x lebih kecil dari
nilai toleransi yang ditentukan. Namun pada praktikum ini akan
menggunakan aplikasi Rstudio untuk menyelesaikan persamaan tak
linear.
Pertama-tama ketik syntax bisection= function(f,a,b,tol=0.0001,
m=100) yaitu mendefinisikan fungsi yang digunakan , yaitu fungsi f, a,
dan b, nilai 0.00001 merupakan nilai toleransi atau galatnya, m adalah
jumlah pengulangnnya dimana dalam praktikum akan melakukan iterasi
sampi 100 iterasi. Selanjutnya iter=0, untuk mendifinisikan nilai iterasi
awalnya yaitu sama dengan 0. Kemudian f.a=f(a) untuk mendifinisikan
bahwa fungsi a sebagai f(a). Karena solusi numerik melakukan banyak
perulangan, sehingga harus menggunakan fungsi perulangan while,
dengan mengetik while(abs(b-a)>tol) dengan iterasi iter+1 yang artinya
apabila nilai mutlak dari b-a lebih besar dari nilai toleransinya(0.0001)
maka akan melakukan perulangan terus menerus dari iter+1 sampai
dengan 100. Selanjutnya ketik if (iter>m), dengan nilai m ini sebagai
jumlah perulangan, maka akan muncul "warning'("iterations maximum
axceeded") break maksudnya yaitu jika nilai iterasinya sudah lebih besar
dari m maka akan muncul peringatan bahwa iterasi sudah mencapai batas
maksimum, maka dari itu iterasi akan berhenti.
Selanjutnya xmid=(a+b)/2, ymid=f(x mid), karena metode
bisection ini membagi dua nilai X1 dan X2, maka disini didefinisikan
X1+X2 sebagai a+b/2 sebagai xmid atau x tengahnya, dan fungsi dari
xmid sebagai ymid. Selanjutnya ketik if (f.a*ymid>0), a=xmid,
f.a=ymid, yang artinya apabila fa dikali dengan ymid>0 maka akan
didefinisikan xmid sebagai a dan juga ymid sebagai fa, selanjutnya
syntax else maksudnya apabila selain dari fungsi diatas maka akan
didefinisikan xmid sebagai b dan ymid sebagai fb. Selanjutnya
root=(a+b)/2, karena metode bagi dua maka akan dibagi dua sehingga
rumud (a+b)/2 didefinisikan sebagai root, dimana root ini adalah syntax
perulangan dan return (root) yaitu kembali ke nilai awal. Pada metode ini
menggunakan persamaan x^2+3*x-4 untuk mencari solusi numeriknya,
jadi f=function (x) x^2+3*x-4 yang artinya mendefinisikan x^2+3*x-4
sebagai function. Setelah itu, untuk memperoleh solusi numerik dengan
metode bisection dari fungsi x^2+3*x-4 maka ketik syntax bisection(f, -
4, 1, tol = 0.0001, m = 100), dimana f adalah fungsinya, -4 sebagai nilai
dari a, dan 1 nilai dari b, dan galatnya yaitu 0.0001. setelah itu copy
semua syntax-syntaxnya terus jalankan, maka akan menghasilkan output
-3.999962.
B. Metode Newton Rapshon
Metode newton rapshon adalah metode pencarian akar suatu
fungsi dengan pendekatan satu titik, dimana fungsi mempunyai turunan.
Pada praktikum ini menggunakan aplikasi Rstudio. Pertama tama ketik
syntax newton = function(f,fp,x,tol=1e-3, m=100) sama seperti
sebelumnya yaitu mendefinisikan fungsi-fungsi yang akan digunakan,
fungsi f,fp dimana fp merupakan turunan dari f, x dengan nilai toleransi
le-3, dan m adalah banyaknya iterasi atau perulangan. Selanjutnya ketik
iter=0, untuk mendefiisikan bahwa iterasi pertama bernilai 0, kemudian
oldx=x untuk mendefinisikan x sebagai oldx atau x yang lama.
Selanjutnya ketik x=oldx+10*tol, yaitu oldx+10 dikali dengan nilai
toleransinya dan didefinisikan sebagai x baru. Selanjutnya ketik while
(abs(b-a)>tol) dengan iterasinya yaitu iter+1, maksudnya apabila nilai
mutlak b-a lebih besar daripada nilai toleransinya maka akaan melakukan
perulangan terus menerus sampai batas yang ditentukan. Kemudian
fungsi if(iter>m) yaitu jika iterasinya lebih besar dari m maka akan
muncul stop("no solution found") atau tidak ditemukan solusi karena
sudah meleebihi jumlah iterasi yang ditentukan. Selanjutnya x = x-
f(x)/fp(x) yaitu x didefinisikan sebagai sebagai oldx, dan rumus newton
rapshon sn-ff(x)/'(x)' tetapi padaa praktikum ini diketikkan x-f(x)/fp(x)
yang didefinisikaan sebagai x.
Selanjutnya return(x) yaitu kembali ke nilai x. Karena di
praktikum ini menggunakan persamaan x^2+3*x-4 untuk dicari sulusi
numeriknya, maka ketik f = function(x) {x^2+3*x-4} untuk
mendefinisikan function f sebagai f. Lalu fp = function(x) {2*x+3}
merupakan turunan dari fungsi x dan didefinisikan sebagai fp.
Selanjutnya untuk menampilkan solusi dengan metode ini ketik
newton(f,fp,1.25,tol = 1e-3,m=100) untuk memanggil fungsi-fungsi
yang digunakan, dimana nilai f nya x^2+3*x-4, fp nya 2*x+3, nilai x 1.25
dengan toleransi le-3, setelah itu jalankan programnya sehingga muncul
solusi numerik untuk persamaaan newton rapshon yaitu 1.
C. Metode Secant
Metode secant adalah metode pencarian akar suatu fungsi dengan
pendekatan satu titik dimana fungsi memiliki turunan. Pada praktikum
ini menggunakan aplikasi Rstudio. Pertama tama ketik secant =
function(f,x,tol=1e-3, m=100) untuk mendefinisikan fungsi-fungsi yang
akan digunakan dimana ada fungsi f, x, tol, dan m. selanjutnya ketik i=0
yang artinya iterasinya mulai dari 0. Selanjutnya ketik oldx=x,
oldfx=f(x), dan x=oldx+10*tol, yaitu untuk mendefinisikan x sebagai
oldx atau x yang lama, fungsi f sebagai oldfx, lalu untuk oldx+10*tol
yaitu nilai x yg lama dikali dengan nilai toleransi dan didefinisikan
sebagai x yang baru. Lalu fungsi while untuk perulangan dengan iterasi
i+1 dimana akan dilakukan perulangan secara terus menerus sampai
dengan batas yang ditentukan.
Selanjutnya fungsi if yang artinya jika iteraasinya>m maka tidak
akan ditemukan solusi karena nilainya sudah melebihi iterasi yang telah
ditentukan. Selanjutnya newx = x-fx*((x-oldx)/(fx-oldfx)), oldx=x,
oldfx=fx, yaitu didefinisikan fungsi x sebagai fx, kemudian rumus
metode secant yaitu xn-f(xn)*xn-xn-1/f(xn)-f(xn-1) tetapi di praktikum
menggunakan fungsi fx*((x-oldx)/(fx-oldfx)) dimana didefinisikan x
sebagai x yang baru, x sebagai oldx, fx sebagai oldfx, dan new x sebagai
x. kemudian untuk menampilkan nilai x nya ketik return(x). pada
praktikum ini menggunakan persamaan x^2+3*x-4. untuk mencari solusi
numeriknya turunkan dulu fungsi x lalu ketik syntax secant(f,-1,tol = 1e-
3, m=100) untuk menghasilkan hasil numeriknya. Pada praktikum ini
menghasilkan output -0.99.
V. Referensi
Atmika, I ketut Adi. (2016). Metode Numerik. Denpasar, Universitas
Udayana.
Bloomfield, Victor A. 2009. Using R for Numerical Analysis in Science And
Engineering. New York, CRC Press.
Tentua Meilany Nonsi, (2017). ”Aplikasi Analisis Tingkat Akurasi
Penyelesaian Sistem Persamaan Non-Linier dengan metode Bisection
dan metode Newton Raphson”, Jalan PGRI Sonosewu no 117
Yogyakarta, Universitas PGRI Yogyakarta Press.

Anda mungkin juga menyukai