Dosen Pengempu : Prof. Dr. Suhartono, M.Kom

UIN Maulana Malik Ibrahim Malang - Teknik Informatika

Akar Persamaan Non Linear

Persamaan non-linier dapat diartikan sebagai persamaan yang tidak mengandung syarat seperti persamaan linier, sehingga persamaan non-linier dapat merupakan :

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. Ilustrasi penjelasan tersebut ditampilkan pada Gambar dibawah ini

Untuk masalah yang lebih rumit, penyelesaian analitik sudah tidak mungkin dilakukan. Metode numerik dapat digunakan untuk menyelesaikan masalah yang lebih kompleks. Untuk mengetahui apakah suatu persamaan non-linier memiliki akar-akar penyelesaian atau tidak, diperlukan analisa menggunakan Teorema berikut :

Suatu range x=[a,b] mempunyai akar bila f(a) dan f(b) berlawanan tanda atau memenuhi f(a).f(b)<0

Untuk memahami teorema tersebut perhatikan ilustrasi pada Gambar dibawah

Fungsi plot() :

  plot(x, y, type="p")

Untuk lebih memahaminya berikut penulis akan sajikan contoh untuk masing-masing grafik tersebut. Berikut adalah contoh sintaks dan hasil plot yang disajikan di bawah ini

# membuat vektor data 
x <- c(1:10); y <- x^2
x <- c(1:10); y <- x^2
par(mfrow=c(2,4))

type <- c("p","l","b","o","h","s","n")
for (i in type){
  plot(x,y, type= i,
       main= paste("type=", i))
}

Metode Tertutup

Metode tertutup disebut juga metode bracketing. Disebut sebagai metode tertutup karena dalam pencarian akar-akar persamaan non-linier dilakukan dalam suatu selang [a,b].

1. Metode Tabel

Penyelesaian persamaan non-linier menggunakan metode tabel dilakukan dengan membagi persamaan menjadi beberapa area, dimana untuk x=[a,b] dibagi sebanyak N bagian dan pada masing-masing bagian dihitung nilai f(x) sehingga diperoleh nilai f(x) pada setiap N bagian.

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 f(x)=x+e^x pada rentang x=[−1,0] ?

Sebagai permulaan, jumlah pembagi yang digunakan adalah N=10. Dengan menggunakan fungsi root_table() diperoleh hasil dibawah :

tabel <- root_table(f=function(x){x+exp(x)},
                     a=0, b=1, N=10)
print(tabel)
##      x       fx
## 1  0.0 1.000000
## 2  0.1 1.205171
## 3  0.2 1.421403
## 4  0.3 1.649859
## 5  0.4 1.891825
## 6  0.5 2.148721
## 7  0.6 2.422119
## 8  0.7 2.713753
## 9  0.8 3.025541
## 10 0.9 3.359603
## 11 1.0 3.718282

Untuk melihat gambaran lokasi akar, kita dapat pula mengeplotkan data menggunakan fungsi plot. Berikut adalah fungsi yang digunakan :

Untuk mengetahui lokasi akar dengan lebih jelas, kita dapat memperkecil lagi rentang nilai yang dimasukkan dalam fungsi curve().

Metode tabel pada dasarnya memiliki kelemahan yaitu cukup sulit untuk memdapatkan error penyelesaian yang cukup kecil, sehingga metode ini jarang sekali digunakan untuk menyelesaikan persamaan non-linier. Namun, metode ini cukup baik digunakan dalam menentukan area penyelesaian sehingga dapat dijadikan acuan metode lain yang lebih baik.

Latihan Soal

Soal – soal kerjakan secara manual dan menggunakan software RStudio :

  1. 4x – 7 < 3x – 5
  2. 2x – 4 ≤ 6 – 7x ≤ 3x + 6
  3. x^2 + x – 12 < 0
  4. 3x^2 - 11x - 4 ≤ 0
  5. x + 5 / 2x - 1 ≤ 0

Penyelesaian

1.

Secara Manual :

4x -7 < 3x -5

4x - 3x < -5 + 7

x < 2

HP = { x < 2 }
  1. Tabel
tabel <- root_table(f=function(x){4*x - 3*x - 7 + 5 },
                     a=0, b=1, N=10)
print(tabel)
##      x   fx
## 1  0.0 -2.0
## 2  0.1 -1.9
## 3  0.2 -1.8
## 4  0.3 -1.7
## 5  0.4 -1.6
## 6  0.5 -1.5
## 7  0.6 -1.4
## 8  0.7 -1.3
## 9  0.8 -1.2
## 10 0.9 -1.1
## 11 1.0 -1.0
  1. Grafik
plot(tabel)

2.

Secara Manual :

* 6 - 7x > 2x - 4

  -7x + (-2x) > -4 + (-6)

  -9x > -10

  x < 10 / 9

* 6 - 7x ≤ 3x + 6

  -7x + 3x ≤ 6 - 6

  -10x ≤ 0

  x ≥ 0

HP = { 0 ≤ x < 10 / 9 }
  1. Tabel
tabel <- root_table(f=function(x){ (((2*x-4) < (6-7*x)) < (3*x)+6)},
                     a=0, b=1, N=10)
print(tabel)
##      x fx
## 1  0.0  1
## 2  0.1  1
## 3  0.2  1
## 4  0.3  1
## 5  0.4  1
## 6  0.5  1
## 7  0.6  1
## 8  0.7  1
## 9  0.8  1
## 10 0.9  1
## 11 1.0  1
  1. Grafik
plot(tabel)

3.

Secara Manual :

x^2 + x – 12 < 0

( x + 4 ) ( x -3 ) < 0

x + 4 > 0

x > -4

x - 3 < 0

x < 3

HP = { -4 < x < 3 }
  1. Tabel
tabel <- root_table(f=function(x){ (x^2) + x - 12},
                     a=-1, b=0, N=10)
print(tabel)
##       x     fx
## 1  -1.0 -12.00
## 2  -0.9 -12.09
## 3  -0.8 -12.16
## 4  -0.7 -12.21
## 5  -0.6 -12.24
## 6  -0.5 -12.25
## 7  -0.4 -12.24
## 8  -0.3 -12.21
## 9  -0.2 -12.16
## 10 -0.1 -12.09
## 11  0.0 -12.00
  1. Grafik
plot(tabel)

4.

Secara Manual :

3x^2 - 11x - 4 ≤ 0

(3x +1)(x -4) ≤ 0
x ≤ 4 atau x ≥ - 1/3

Hp = { -1/3 ≤ x ≤ 4 }
  1. Tabel
tabel <- root_table(f=function(x){3*(x^2)-11*x-4},
                     a=0, b=1, N=10)
print(tabel)
##      x     fx
## 1  0.0  -4.00
## 2  0.1  -5.07
## 3  0.2  -6.08
## 4  0.3  -7.03
## 5  0.4  -7.92
## 6  0.5  -8.75
## 7  0.6  -9.52
## 8  0.7 -10.23
## 9  0.8 -10.88
## 10 0.9 -11.47
## 11 1.0 -12.00
  1. Grafik
plot(tabel)

5.

Secara Manual :

Penyebut :

( x + 5 ) / ( 2x - 1 ) ≤ 0

2x - 1 < 0

2x < 1

x < 1 / 2

Pembilang :

x + 5 ≥ 0

x ≥ -5

HP = { -5 ≤ x < 1/2 }
  1. Tabel
tabel <- root_table(f=function(x){(x + 5) / (2*x - 1)},
                     a=0, b=2, N=10)
print(tabel)
##      x         fx
## 1  0.0  -5.000000
## 2  0.2  -8.666667
## 3  0.4 -27.000000
## 4  0.6  28.000000
## 5  0.8   9.666667
## 6  1.0   6.000000
## 7  1.2   4.428571
## 8  1.4   3.555556
## 9  1.6   3.000000
## 10 1.8   2.615385
## 11 2.0   2.333333
  1. Grafik
plot(tabel)