Persamaan linear adalah persamaan aljabar yang setiap sukunya mengandung konstanta atau hasil kali konstanta dengan variabel tunggal. Persamaan non-linier dapat diartikan sebagai persamaan yang tidak mengandung syarat seperti persamaan linier, sehingga persamaan non-linier dapat merupakan:
Persamaan yang memiliki pangkat selain satu (misal: x2 x2)
Persamaan yang mempunyai produk dua variabel (misal: xy)
Dalam penyelesaian persamaan non-linier diperlukan akar-akar persamaan non-linier, dimana akar sebuah persamaan non-linier f(x)=0 merupakan nilai x yang menyebabkan nilai f(x) sama dengan nol. Dalam hal ini dapat disimpulkan bahwa akar-akar penyelesaian persamaan non-linier merupakan titik potong antara kurva f(x) dengan sumbu x.
Untuk menyelesaikan persamaan nonlinier menggunakan metode tabel, bagi persamaan menjadi beberapa rentang, dimana untuk x = [a,b] dibagi sebanyak N bagian pada masing-masing bagian dan nilai f(x) dihitung pada setiap bagian.
Jika f(xk) = 0 atau bernilai mendekati nol (a k b), maka a ≤ k ≤ b dikatakan sebagai solusi dari persamaan f (x). Jika tidak ditemukan, cari kebalikan nilai tanda f(xk) dan f(xk+1). Jika tidak ditemukan, maka persamaan tersebut tidak memiliki akar pada daerah [a, b]. Jika akar persamaan tidak ditemukan, maka ada dua cara untuk menentukan akar persamaan, yaitu :
Akar kuadrat dari persamaan tergantung pada nilai mana yang lebih dekat. Jika f(xk) ≤ f(xk+1) maka akarnya adalah xk. Jika f(xk+1) ≤ f(xk)maka akarnya adalah x~k + 1~.
Perlu mencari lagi di kisaran x = [xk, xk +1].
Algoritma Metode Tabel
Definisikan fungsi f(x)
Tentukan rentang untukx yang berupa batas bawah a dan batas atas b.
Tentukan jumlah pembagi NN
Hitung step pembagi : h = (b+a) / N
Untuk i=0 s/d N, hitung :
xi=a+i.h
yi=f(xi)
Untuk i = 0 s/d N, dimana :
Bila f(x)= 0, maka akarnya xk
Bila f(a) f(b) < 0, maka:
f(xk) ≤ f(xk+1), maka akarnya xk
Bila tidak xk+1 adalah penyelesaian atau dapat dikatakan penyelesaian berada diantara xk dan xk+1
Kita dapat membuat suatu fungsi pada R untuk melakukan proses iterasi pada metode Tabel. Fungsi root_table() akan melakukan iterasi berdasarkan step algoritma 1 sampai 5. Berikut adalah sintaks yang digunakan :
root_table <- function(f, a, b, N=20){
h <- abs((a+b)/N)
x <- seq(from=a, to=b, by=h)
fx <- rep(0, N+1)
for(i in 1:(N+1)){
fx[i] <- f(x[i])
}
data <- data.frame(x=x, fx=fx)
return(data)
}
Contoh : Carilah akar persamaan dari f(x)= xe-1+1 pada rentang x=[−1,0]
tabel <- root_table(f=function(x){x*exp(-x)+1},
a=-1, b=0, N=10)
print(tabel)
## x fx
## 1 -1.0 -1.71828183
## 2 -0.9 -1.21364280
## 3 -0.8 -0.78043274
## 4 -0.7 -0.40962690
## 5 -0.6 -0.09327128
## 6 -0.5 0.17563936
## 7 -0.4 0.40327012
## 8 -0.3 0.59504236
## 9 -0.2 0.75571945
## 10 -0.1 0.88948291
## 11 0.0 1.00000000