Tugas ini adalah hasil pekerjaan saya sendiri. Jika terdapat jawaban yang sama persis titik-koma (plagiat) maka saya akan mendapat sanksi diberi nilai nol (0).
Nama : Citra Annisa Rahmania
NIM : 2008541100
Tanda tangan :
TUGAS STATISTIKA KOMPUTASI 1. Perhatikan data berikut untuk NIM genap
69, 54, 89, 65, 27, 14, 77, 69, 42, 14, 38, 1, 27, 41, 57, 69, 89, 98, 68, 27, 79, 66, 12, 69, 28, 7, 80, 95, 33, 69
Kerjakan data sesuai dengan NIM Anda. Kemudian, masukkan data tersebut ke R dan berikan perintah R beserta luarannya untuk melakukan hal-hal berikut (masing-masing perintah pada soal tidak berhubungan kecuali disebutkan):
Menyiapkan data :
data=c(69, 54, 89, 65, 27, 14, 77, 69, 42, 14, 38, 1, 27, 41, 57, 69, 89, 98, 68, 27,
79, 66, 12, 69, 28, 7, 80, 95, 33, 69) a. hitung banyak data; [Nilai: 1]
Input : length (data) Output : [1] 30
b. hitung logaritma basis 2 dari data; [Nilai: 1]
Input : log (angka,2) Output :
[1] 6.108524 5.754888 6.475733 6.022368 4.754888 3.807355 6.266787 6.108524
[9] 5.392317 3.807355 5.247928 0.000000 4.754888 5.357552 5.832890 6.108524
[17] 6.475733 6.614710 6.087463 4.754888 6.303781 6.044394 3.584963 6.108524
[25] 4.807355 2.807355 6.321928 6.569856 5.044394 6.108524
c. hitung jumlah kumulatif dari logaritma natural data; [Nilai: 1]
Input : cumsum(log(data)) Output:
[1] 4.234107 8.223091 12.711727 16.886114 20.181951 22.821008
[7] 27.164814 31.398920 35.136590 37.775647 41.413233 41.413233
[13] 44.709070 48.422642 52.465694 56.699800 61.188436 65.773404
[19] 69.992912 73.288749 77.658196 81.847851 84.332758 88.566864
[25] 91.899069 93.844979 98.227006 102.780882 106.277390 110.511497
d. urutkan data dari yang terbesar sampai terkecil; [Nilai: 1]
Input : sort(data,decreasing=TRUE) Output :
[1] 98 95 89 89 80 79 77 69 69 69 69 69 68 66 65 57 54 42 41 38 33 28 27 27
[25] 27 14 14 12 7 1
e. akses elemen data ke-7 sampai ke-22; [Nilai: 1,5]
Input : angka[7:22]
Output : [1] 77 69 42 14 38 1 27 41 57 69 89 98 68 27 79 66
f. akses data ke-5, ke-11, dan ke-21; [Nilai: 1,5]
Input : angka[c(5,11,21)]
Output : [1] 27 38 79
g. akses data kecuali data ke-3, ke-11, ke-18, dan ke-23; [Nilai: 2]
Input : angka[-c(5,11,21)]
Output :
[1] 69 54 89 65 14 77 69 42 14 1 27 41 57 69 89 98 68 27 66 12 69 28 7 80
[25] 95 33 69
h. masing-masing elemen muncul sebanyak tiga kali; [Nilai: 2]
Input : angka <- rep (data,each=3) angka
Output :
[1] 69 69 69 54 54 54 89 89 89 65 65 65 27 27 27 14 14 14 77 77 77 69 69 69
[25] 42 42 42 14 14 14 38 38 38 1 1 1 27 27 27 41 41 41 57 57 57 69 69 69
[49] 89 89 89 98 98 98 68 68 68 27 27 27 79 79 79 66 66 66 12 12 12 69 69 69
[73] 28 28 28 7 7 7 80 80 80 95 95 95 33 33 33 69 69 69
i. keseluruhan data diulang sebanyak tiga kali; [Nilai: 2]
Input : angka <- rep(angka, 3) angka
Output :
[1] 69 54 89 65 27 14 77 69 42 14 38 1 27 41 57 69 89 98 68 27 79 66 12 69
[25] 28 7 80 95 33 69 69 54 89 65 27 14 77 69 42 14 38 1 27 41 57 69 89 98
[49] 68 27 79 66 12 69 28 7 80 95 33 69 69 54 89 65 27 14 77 69 42 14 38 1
[73] 27 41 57 69 89 98 68 27 79 66 12 69 28 7 80 95 33 69
j. lakukan perskalaan data sederhana dengan membagi masing-masing elemen data dengan nilai maksimum data; [Nilai: 2]
Input : angka/max(angka) Output :
[1] 0.70408163 0.55102041 0.90816327 0.66326531 0.27551020 0.14285714
[7] 0.78571429 0.70408163 0.42857143 0.14285714 0.38775510 0.01020408
[13] 0.27551020 0.41836735 0.58163265 0.70408163 0.90816327 1.00000000
[19] 0.69387755 0.27551020 0.80612245 0.67346939 0.12244898 0.70408163
[25] 0.28571429 0.07142857 0.81632653 0.96938776 0.33673469 0.70408163
k. lakukan standardisasi pada data yaitu mengurangkan tiap-tiap elemen data dengan rata-rata dan membaginya dengan simpangan baku yakni (x − x)/sx; [Nilai: 3]
Input : a = angka
b = mean(angka) c = sd(angka) (a-b)/c
Output :
[1] 0.58479618 0.05530266 1.29078754 0.44359791 -0.89778568 -1.35668007
[7] 0.86719273 0.58479618 -0.36829216 -1.35668007 -0.50949043 -1.81557446
[13] -0.89778568 -0.40359173 0.16120136 0.58479618 1.29078754 1.60848366
[19] 0.54949661 -0.89778568 0.93779186 0.47889748 -1.42727921 0.58479618
[25] -0.86248612 -1.60377705 0.97309143 1.50258495 -0.68598828 0.58479618
l. lakukan perskalaan rata-rata terhadap data berdasarkan rumus (x−x)/(max(x)− min(x)).
Input : a = angka
b = mean(angka) d = max (angka) e = min (angka)
(a-b)/(d-e) Output :
[1] 0.17079038 0.01615120 0.37697595 0.12955326 -0.26219931 -0.39621993
[7] 0.25326460 0.17079038 -0.10756014 -0.39621993 -0.14879725 -0.53024055
[13] -0.26219931 -0.11786942 0.04707904 0.17079038 0.37697595 0.46975945
[19] 0.16048110 -0.26219931 0.27388316 0.13986254 -0.41683849 0.17079038
[25] -0.25189003 -0.46838488 0.28419244 0.43883162 -0.20034364 0.17079038
m. lakukan perskalaan min-max terhadap data berdasarkan rumus (x−min(x))/(max(x)− min(x)).
Input : a = angka
d = max (angka) e = min (angka) (a-e)/(d-e) Output :
[1] 0.70103093 0.54639175 0.90721649 0.65979381 0.26804124 0.13402062
[7] 0.78350515 0.70103093 0.42268041 0.13402062 0.38144330 0.00000000
[13] 0.26804124 0.41237113 0.57731959 0.70103093 0.90721649 1.00000000
[19] 0.69072165 0.26804124 0.80412371 0.67010309 0.11340206 0.70103093
[25] 0.27835052 0.06185567 0.81443299 0.96907216 0.32989691 0.70103093
2. Pada soal ini kita akan mengeksplorasi lebih lanjut kemampuan numerik R dalam menganalisis regresi linear sederhana. Misalkan model regresi berbentuk
y = β0 + β1x + ε. (1)
Lihat data dengan nama data02.txt yang berisi pasangan peubah regresor X dan peubah respons Y
Memanggil data : Input :
setwd("C:\\Users\\Ochit\\Documents\\Data Statkom") data02 <- read.table('data02.txt', header=TRUE) data02
a. Buatlah plot pencar untuk data02.txt dengan X pada sumbu horizontal dan Y pada sumbu vertikal.
Input : plot(data02,xlab="Nilai X", ylab="Nilai Y") Output :
b. Lakukan analisis regresi sederhana untuk data02.txt dengan prediktor x dan respons y.
Berapakah nilai βˆ 0 dan βˆ 1? Kenapa bisa demikian? [Nilai: 3]
Input : lm(data02$Y~data02$X) Output:
Call:
lm(formula = data02$Y~data02$X)
Coefficients:
(Intercept) data02$X 1e+09 NA
c. Sekarang lakukan standardisasi pada x dan y dengan mengurangkan masingmasing data dengan rata-rata dan membaginya dengan simpangan baku, yakni bentuk (x − x)/sx dan (y − y)/sy.
Kemudian buat plot pencar untuk data yang telah distandardisasi ini. [Nilai: 4]
Input :
mean(data02$X) sd(data02$X) mean(data02$Y) sd(data02$Y)
standarisasiX <- {data02$X-mean(data02$X)}/{sd(data02$X)}
standarisasiX
standarisasiY <- {data02-mean(data02$Y)}/{sd(data02$Y)}
standarisasiY
#membuat plot dari hasil standarisasi plot(dfresultX)
plot(dfresultY) Output :
[1] 1e+10
> sd(data02$X) [1] 3.02765
> mean(data02$Y) [1] 1e+09
> sd(data02$Y) [1] 0.5278049
> standarisasiX <- {data02$X-mean(data02$X)}/{sd(data02$X)}
> standarisasiX
X Y 1 -1.4863011 -2972602168
2 -1.1560120 -2972602168 3 -0.8257228 -2972602167 4 -0.4954337 -2972602167 5 -0.1651446 -2972602167 6 0.1651446 -2972602167 7 0.4954337 -2972602167 8 0.8257228 -2972602167 9 1.1560120 -2972602168 10 1.4863011 -2972602168
> standarisasiY <- {data02-mean(data02$Y)}/{sd(data02$Y)}
> standarisasiY X Y 1 17051755887 -1.1557301
2 17051755889 -1.1557301 3 17051755891 0.5494454 4 17051755893 0.9283734 5 17051755895 0.7578558 6 17051755896 0.7199630 7 17051755898 0.9283734 8 17051755900 0.7370147 9 17051755902 -1.1557301 10 17051755904 -1.1538354
> #membuat plot dari hasil standarisasi
> plot(dfresultX)
2 4 6 8 10
-1.5-1.0-0.50.00.51.01.5
Index
dfresultX
> plot(dfresultY)
d. Lakukan analisis regresi linear pada data yang telah distandardisasi tersebut. Berapakah nilai βˆ 0 dan βˆ 1? [Nilai: 3]
Input :
lm(dfresultX) lm(dfresultY)m j Output :
Call:
lm(formula = dfresultX)
Coefficients:
(Intercept) Y 7.022e-17 NA
> lm(dfresultY)
Call:
lm(formula = dfresultY)
Coefficients:
(Intercept) Y 1.705e+10 9.652e-02
3.
Diketahui nilai eksak sampai dengan 21 digit dari2.5 125 = 5.5271 4787 5260 4445 6025 × 1049 (2) Gunakan options(digits=21) agar digit yang ditampilkan pada R sebanyak 21. Kemudian, hitunglah 2.5 125 secara langsung dan hitung menggunakan sifat xy=elnx y . Hitunglah galat relatif dan galat absolutnya. Bagaimana pula kalau Anda menggunakan sifat xy=ln(ex y) Berikan komentar Anda. [Nilai: 8
Jawaban :
Input : x = 2.5^(125) x
Output : [1] 5.5271e+49 Input : options(digits=21)
y = exp(log(2.5^125)) y
Output : [1] 5.52714787526045869424e+49 Input : GalatAbsolut1 <- abs(x-y)
GalatAbsolut1
Output : [1] 1.45384312038975173796e+35
Input : GalatRelatif1 <- abs (GalatAbsolut1/x) GalatRelatif1
Output : [1] 2.63036769270669359196e-15 Input : z = log(exp(2.5^125))
Z
Output : [1] Inf
Input : GalatAbsolut2 <- abs(x-z) GalatAbsolut2
Output : [1] Inf
Input :GalatRelatif2 <- abs (GalatAbsolut2/x) GalatRelatif2
Output : [1] Inf
4.
Pada soal ini kita akan membuat secara manual prosedur pengujian hipotesis untuk nilai tengah (mean) populasi µ dengan asumsi varians tidak diketahui. Uji ini lazim disebut sebagai uji t. mahasiswa dengan NIM genap mengerjakan hipotesis dengan bentukH0 : µ ≥ µ0, (4)
Ha : µ < µ0.
Input : setwd("C:\\Users\\Ochit\\Documents\\Tugas 1 Statkom\\pr") getwd()
ujiTGenap = read.csv("datamarmot.csv") ujiTGenap
Output : Waktu 1 43 2 45 3 53 4 56 5 56 6 57 7 58 8 66 9 67
10 73 11 74 12 79 13 80 14 80 15 81 16 81 17 81 18 82 19 83 20 83
…. Dst
Input : boxplot(ujiTGenap) Output :
Melakukan uji T
Input : t.test(ujiTGenap,mu=145,alfa=0.05,alternative = "less") Output :
One Sample t-test
data: ujiTGenap
t = -0.24496, df = 71, p-value = 0.4036
alternative hypothesis: true mean is less than 145 95 percent confidence interval:
-Inf 163.297 sample estimates:
mean of x 141.8472
5.
Buatlah fungsi untuk mengimplementasikan Algoritma 1 & 2. Lihat berkas datae.txt untuk nilai-nilai x yang akan dihitung. Sandingkan hasil keduanya menggunakan perintah cbind(), contoh cbind(alg1,alg2).6.
Carilah akar pada selang [−1, 0] yang akurat sampai 10−6 (toleransi) untuk e6x+ 1,441e2x − 2,079e4x − 0,3330 = 0dan
e 6x + 3(ln 2)2 e2x − (ln 8)e 4x − (ln 2)3 = 0
a. Buatlah plot grafik fungsi untuk meyakinkan diri bahwa akarnya ada. Kemudian jelaskan dengan singkat metode apa yang akan Anda gunakan? [Nilai: 8]
Jawab.
Input :
rm(list=ls(all=TRUE)) x1 = seq(-1,0,by=0.001)
f1 = exp(6*x1)+1.441*exp(2*x1)-2.079*exp(4*x1)-0.3330 plot(x1,f1,xlab="x",ylab="f(x)",type="l",col="blue") abline(h=0)
Output :
Metode yang digunakan adalah metode Bisection, dengan kode :
Input :
f = function (x){
exp(6*x)+1.441*exp(2*x)-2.079*exp(4*x)-0.3330 }
Selanjutnya, menentukan nilai-nilai awal Input :
a = -1 b = 0
Menentukan toleransi Input :
tol = 0.000001 #menentukan tolarance fa = f(a)
fb = f(b)
if (fa*fb>0) stop ("f tidak memiliki tanda yang berbeda pada titik ujung!")
Selanjutnya dilakukan iterasi Input :
i = 1
while (i < 100){
p = a + 0.5*(b-a) fp = f(p)
if (fp == 0 || (b-a)/2 < 0.000001){
#return(p)
break("iterasi ke-",i,"akar dari persamaan:",p) }
i = i+1 #kenaikan (increment) if (fa*fp > 0){
a = p fa = fp } else {
b = p }
#return(p)
cat("iterasi ke-",i-1,"nilai p:",p,"\n") }
Output :
iterasi ke- 1 nilai p: -0.5 iterasi ke- 2 nilai p: -0.25 iterasi ke- 3 nilai p: -0.125 iterasi ke- 4 nilai p: -0.1875 iterasi ke- 5 nilai p: -0.15625 iterasi ke- 6 nilai p: -0.171875 iterasi ke- 7 nilai p: -0.1640625
iterasi ke- 8 nilai p: -0.16796875 iterasi ke- 9 nilai p: -0.169921875 iterasi ke- 10 nilai p: -0.1689453125 iterasi ke- 11 nilai p: -0.16943359375 iterasi ke- 12 nilai p: -0.169677734375 iterasi ke- 13 nilai p: -0.1695556640625 iterasi ke- 14 nilai p: -0.16961669921875 iterasi ke- 15 nilai p: -0.169586181640625 iterasi ke- 16 nilai p: -0.1696014404296875 iterasi ke- 17 nilai p: -0.16960906982421875 iterasi ke- 18 nilai p: -0.169605255126953125 iterasi ke- 19 nilai p: -0.1696071624755859375 Input :
(akar = uniroot(function(x){exp(6*x)+1.441*exp(2*x)- 2.079*exp(4*x)-0.3330
},lower=-1,upper=0)) Output :
$root
[1] -0.169588107178668651143
$f.root
[1] 3.61388625136349617151e-08
$iter [1] 14
$init.it [1] NA
$estim.prec
[1] 6.10351562500832667268e-05
b. Gunakan fungsi yang telah saya buat dan fungsi uniroot. Bandingkan hasilnya. Berapakah akar untuk pada soal tersebut? [Nilai: 12]
Input :
rm(list=ls(all=TRUE)) x1 = seq(-1,0,by=0.001)
f1 = exp(6*x1)+ 3*((log(2))^2*exp(2*x1)-(log(8))*exp(4*x1)- (log(2))^3)
plot(x1,f1,xlab="x",ylab="f(x)",type="l",col="blue") abline(h=0)
output :
Metode yang digunakan adalah metode Bisection, dengan kode : Input :
f = function (x){
exp(6*x)+ 3*((log(2))^2*exp(2*x)-(log(8))*exp(4*x)- (log(2))^3)
}
Selanjutnya menentukan nilai-nilai awal Input : a = -1
b = 0 Menentukan toleransi Input :
tol = 0.000001 #menentukan tolarance fa = f(a)
fb = f(b)
if (fa*fb>0) stop ("f tidak memiliki tanda yang berbeda pada titik ujung!")
Output :
Error: f tidak memiliki tanda yang berbeda pada titik ujung!
(karena grafik tidak melewati garis horizontal, jadi dapat disimpulkan bahwa fungsi tidak memiliki akar)