Soal Latihan
- Misalkan saja ada sebuah vektor \(x=[3,1,4,1,5,9,2,6,5]\) buat program untuk mengurutkan vektor tersebut dari kecil ke besar, kemudian bandingkan hasilnya dengan fungsi sort! Gunakan algoritme pada slide kuliah ke-16 !
x=c(3,1,4,1,5,9,2,6,5)
n=length(x)
while (is.unsorted(x)) {
for (i in 1:(n - 1)) {
j=i+1
if (x[i] > x[j]) {
tmp <- x[i]
x[i] <- x[j]
x[j] <- tmp
}
}
print(x)
}
## [1] 1 3 1 4 5 2 6 5 9
## [1] 1 1 3 4 2 5 5 6 9
## [1] 1 1 3 2 4 5 5 6 9
## [1] 1 1 2 3 4 5 5 6 9
## [1] 1 1 2 3 4 5 5 6 9
Perbandingan dengan Fungsi Sort
## [1] 1 1 2 3 4 5 5 6 9
Dapat dilihat bahwa hasilnya sama.
- Berdasarkan jawaban nomor 1, Buatlah fungsi yang bernama
fungsi_urutan
dengan yang memiliki inputx
dan outputnya merupakan vector yang sudah terurut!
x=c(3,1,4,1,5,9,2,6,5)
n=length(x)
fungsi_urutan_awal <- function(x) {
for (i in 1:(n - 1)) {
j=i+1
if (x[i] > x[j]) {
tmp <- x[i]
x[i] <- x[j]
x[j] <- tmp
}
}
x
}
fungsi_urutan <- function(x) {
while (is.unsorted(x)) {
x <- fungsi_urutan_awal(x)
}
x
}
fungsi_urutan(x)
## [1] 1 1 2 3 4 5 5 6 9
- Susunlah sintaks R untuk penjumlahan deret berikut! \(z=2−\frac65+\frac{8}{10}−\frac{10}{17}+\frac{12}{26}−...\) hint: Cari terlebih dahulu formula/rumus dari deret tersebut
Jawaban:
Rumus dari deret tersebut adalah \(z=\sum_{n=1}^n (−1)^{n+1} \frac{2n+2}{n^2+1}\)
- Menuliskan rumus fungsi dalam bentuk function
- Mendefinisikan kriteria
Stopping
- Mendefinisikan nilai-nilai awal
- Menuliskan iterasi untuk mencari jumlah deret
while (error>0.00001) {
z <- z0 + fz(n)
error <- stopping_criteria(z,z0)
z0 <- z
n <- n+1
}
# final result
z
## [1] 1.267197
## [1] 1e-05
- Susunlah sintaks R untuk penjumlahan deret berikut!\(z=\frac{2}{5}+\frac{3}{40}+\frac{6}{135}+\frac{11}{320}+\frac{18}{625}+\frac{27}{1080}+...\)
hint: Cari terlebih dahulu formula/rumus dari deret tersebut
Jawaban:
Rumus dari deret tersebut adalah \(z=\sum_{n=1}^n \frac{n^2-2n+3}{5n^3}\)
- Menuliskan rumus fungsi dalam bentuk function
- Mendefinisikan kriteria
Stopping
- Mendefinisikan nilai-nilai awal
- Menuliskan iterasi untuk mencari jumlah deret
## [1] 0.7210513
## [1] 9.375e-06