Mata Kuliah: Kalkulus
Jurusan: Teknik Informatika
Universitas Islam Negeri Maulana Malik Ibrahim Malang
Metode tertutup disebut juga metode bracketing. Disebut sebagai metode tertutup karena dalam pencarian akar-akar persamaan non-linier dilakukan dalam suatu selang [a,b]
Penyelesaian persamaan non-linier menggunakan metode tabel dilakukan dengan membagi persamaan menjadi beberapa area, dimana untuk x =[a,b] dibagi sebanyakN bagian dan pada masing-masing bagian dihitung nilai f (x)sehingga diperoleh nilai f (x) pada setian N bagian. Bila nilai f (xk) = 0 atau mendekati nol, dimana a ≤ k ≤ b, maka dikatakan bahwa xk adalah penyelesaian persamaan f (x). Bila tidak ditemukan, dicari nilai f (xk) dan f (xk+1) yang berlawanan tanda. Bila tidak ditemukan, maka persamaan tersebu dapat dikatakan tidak mempunyai akar untuk rentang[a,b]. Bila akar persamaan tidak ditemukan, maka ada dua kemungkinan untuk menentukan akar persamaan, yaitu: a. Akar persamaan ditentukan oleh nilai mana yang lebih dekat. Bila f (xk) ≤ f (xk+1), maka akarnya xk. Bila f (xk+1) ≤ f (xk), maka akarnya xk+1. b. Perlu dicari lagi menggunakan rentang x =[xk,xk+1].
Soal-soal
Cara Manual:
4x – 7 < 3x – 5
4x - 7 < 3x - 5
4x-3x < 7-5
HP = {x < 2
Menggunakan Tabel dengan menggunakan fungsi root_table()
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)
}
tabel <- root_table(f=function(x){4*x - 7 - 3*x - 5}, a=-1, b=0, N=10)
tabel
## x fx
## 1 -1.0 -13.0
## 2 -0.9 -12.9
## 3 -0.8 -12.8
## 4 -0.7 -12.7
## 5 -0.6 -12.6
## 6 -0.5 -12.5
## 7 -0.4 -12.4
## 8 -0.3 -12.3
## 9 -0.2 -12.2
## 10 -0.1 -12.1
## 11 0.0 -12.0
Menggunakan Grafik dengan menggunakan fungsi plot
plot(tabel, type="l")
Cara manual:
Persamaan pertama
2x - 4 ≤ 6 - 7x
2x + 7x ≤ 6 + 4
9x ≤ 10
x ≤ 10/9
Persamaan kedua
6 - 7x ≤ 3x + 6
-3x - 7x ≤ - 6 + 6
-10x ≤ 0
x ≤ 0
HP = {0≤x≤10/9}
Menggunakan tabel:
tabe1l <- root_table(f=function(x){2*x - 4 - 6 - 7*x - 3*x + 6}, a=0, b=1, N=10)
tabe1l
## x fx
## 1 0.0 -4.0
## 2 0.1 -4.8
## 3 0.2 -5.6
## 4 0.3 -6.4
## 5 0.4 -7.2
## 6 0.5 -8.0
## 7 0.6 -8.8
## 8 0.7 -9.6
## 9 0.8 -10.4
## 10 0.9 -11.2
## 11 1.0 -12.0
Menggunakan Grafik
plot(tabe1l, type="l")
Cara Manual:
x^2 + x - 12 < 0
(x + 4) (x - 3) < 0
x + 4 > 0
x > - 4
x - 3
x < 3
HP = {-4 < x < 3}
Menggunakan tabel:
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)
}
tabel <- root_table(f=function(x){x*2 + x - 12 }, a=-4, b=0, N=20)
print(tabel)
## x fx
## 1 -4.0 -24.0
## 2 -3.8 -23.4
## 3 -3.6 -22.8
## 4 -3.4 -22.2
## 5 -3.2 -21.6
## 6 -3.0 -21.0
## 7 -2.8 -20.4
## 8 -2.6 -19.8
## 9 -2.4 -19.2
## 10 -2.2 -18.6
## 11 -2.0 -18.0
## 12 -1.8 -17.4
## 13 -1.6 -16.8
## 14 -1.4 -16.2
## 15 -1.2 -15.6
## 16 -1.0 -15.0
## 17 -0.8 -14.4
## 18 -0.6 -13.8
## 19 -0.4 -13.2
## 20 -0.2 -12.6
## 21 0.0 -12.0
Menggunakan grafik:
#Membuat vektor data
x <- c(-4:3); y <- x^2 + x - 12
#Membagi jendela grafik menjadi 1 baris dan 1 kolom
par(mfrow=c(1,1))
#Output
plot(x, y, type="l")
Cara manual:
(3x + 1) (x - 4) < 0
3x + 1 < 0
3x < -1
x < -1/3
x - 4 < 0
x < 4
HP = {-1/3 <x< 4}
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)
}
tabel <- root_table(f=function(x){3*x^2 - 11*x - 4}, a=0, b=4, N=10)
print(tabel)
## x fx
## 1 0.0 -4.00
## 2 0.4 -7.92
## 3 0.8 -10.88
## 4 1.2 -12.88
## 5 1.6 -13.92
## 6 2.0 -14.00
## 7 2.4 -13.12
## 8 2.8 -11.28
## 9 3.2 -8.48
## 10 3.6 -4.72
## 11 4.0 0.00
Menggunakan grafik:
#membuat vektor data
x <- c(-0.33:4); y <- 3*x^2 - 11*x -4
#Membagi jendela grafik menjadi 1 baris dan 1 kolom
par(mfrow=c(1,1))
plot(x, y, type="l")
Cara manual:
(x + 5) / (2x - 1) ≤ 0
2x - 1 < 0
2x < 1
x < 1/2
x + 5 ≤ 0
x ≤ -5
HP = {-5 ≤ x ≤ 1/2}
Menggunakan Tabel:
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)
}
tabel <- root_table (f=function(x){x + 5/2*x-1}, a=-5, b=0, N=10)
print(tabel)
## x fx
## 1 -5.0 -18.50
## 2 -4.5 -16.75
## 3 -4.0 -15.00
## 4 -3.5 -13.25
## 5 -3.0 -11.50
## 6 -2.5 -9.75
## 7 -2.0 -8.00
## 8 -1.5 -6.25
## 9 -1.0 -4.50
## 10 -0.5 -2.75
## 11 0.0 -1.00
Menggunakan grafik:
##Membuat vektor data
x <- c(-5:1.5); y <- x+5/2*x-1
#Membagi jendela grafik menjadi 1 baris dan 1 kolom
par(mfrow=c(1,1))
plot(x, y, type="l")