Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Fakultas : Sains dan Teknologi
Metode tertutup disebut juga metode bracketing. Disebut sebagai metode tertutup karena dalam pencarian akar-akar persamaan non-linier dilakukan dalam suatu selang [a,b]. Dalam metode tertutup ini ada sub metode lagi yakni metode Tabel, metode Biseksi dan metode Regula Falsi. Berikut saya akan membahas tentang bagaimana cara menyelesaikan persamaan dan pertidaksamaan dengan menggunakan sub metode Tabel.
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].
Berikut soal-soal yang akan dibahas pada chapter kali ini.
4x - 7 < 3x - 5
4x-3x < 7-5
HP = {x < 2}
Untuk membuat tabel kita menggunakan fungsi root_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){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
Penyelesaian menggunakan grafik dengan fungsi plot()
plot(tabel, type="l")
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}
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
plot(tabe1l, type="l")
x^2 + x - 12 < 0
(x + 4) (x - 3) < 0
x + 4 > 0
x > - 4
x - 3
x < 3
HP = {-4 < x < 3}
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
#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")
(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
#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")
(x + 5) / (2x - 1) ≤ 0
2x - 1 < 0
2x < 1
x < 1/2
x + 5 ≤ 0
x ≤ -5
HP = {-5 ≤ x ≤ 1/2}
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
##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")
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.