biasa <- c(4.1, 4.9, 6.2, 6.9, 6.8, 4.4, 5.7,5.8,6.9,4.7,6.0, 4.9)
radial <- c(4.2,4.7,6.6, 7.0,6.7,4.5,5.7,6.0,7.4,4.9,6.1,5.2)
miu0 <- 0
tk <- 1-0.9
paired_t <- function(biasa, radial, miu0,tk){
ban <- c()
#selisih
if(length(biasa)==length(radial)){
for(i in 1:(length(biasa))){
ban <- c(ban, biasa[i]-radial[i])
}
}
#mean
sum <- 0
for(j in 1:(length(ban))){
sum = sum + ban[j]
}
rerata <- sum/length(ban)
#mencari standar deviasi
sumvar <- 0
for (k in 1:(length(ban))){
sumvar <- sumvar + (ban[k]-rerata)^2
}
varii <- sumvar/(length(ban)-1)
std <- sqrt(varii)
#t test
ttes <- (rerata - miu0)/(std/sqrt(length(ban)))
#bikin hipotesis
a <- 1-tk #karena lebih dr 6.5
df <- length(ban)-1
ttabel<-qt(a,df)
#ambil keputusan
if(ttes > ttabel){
keputusan <-"tolak h0"
} else{
keputusan <- "terima h0"
}
#selang kepercayaan
a2 <- 1-(0.05/2)
tci <- qt(a2,df)
error <- tci * (std/sqrt(length(ban)))
up <- rerata + error
down <-rerata - error
return(list(
t_hitung = ttes,
t_tabel = ttabel,
keputusan = keputusan,
confidence_interval = c(down,up)
))
}
paired_t(biasa, radial, miu0, tk)
## $t_hitung
## [1] -2.484515
##
## $t_tabel
## [1] 1.36343
##
## $keputusan
## [1] "terima h0"
##
## $confidence_interval
## [1] -0.26716650 -0.01616684
Dengan taraf signifikansi 5%, uji apakah rata-rata nilai kelompok 1 lebih tinggi dibanding kelompok 2. (independent 2 sample t test),
Dengan tingkat kepercayaan 95%, tentukan confidence interval untuk selisih rata-rata nilai kedua kelompok.
Berikan interpretasi hasil uji hipotesis dan confidence interval yang diperoleh.
nilai <- c(95,86,76,78,87,81,100,76,69,82,78,90,56,86)
kelompok <- c(1,1,1,1,1,1,1,2,2,2,2,2,2,2)
df <- data.frame(Nilai = nilai, Kelompok = kelompok)
kelompok1 <- df$Nilai[df$Kelompok == 1]
kelompok2 <- df$Nilai[df$Kelompok == 2]
#bikin fungsi mean
rata2 <- function(data){
sum <- 0
for(i in 1:length(kelompok1)){
sum <- sum + data[i]
}
return(sum/length(kelompok1))
}
#bikin fungsi varians
variansi <- function(data){
xbar <- rata2(data)
sum <- 0
p <- length(data)-1
for(i in 1:length(data)){
sum <- sum + (data[i] - xbar)^2
}
return(sum/p)
}
i2stt <- function (kelompok1, kelompok2,alpha){
x1bar <- rata2(kelompok1)
x2bar <- rata2(kelompok2)
s1 <- variansi(kelompok1)
s2 <- variansi(kelompok2)
n1 <- length(kelompok1)
n2 <- length(kelompok2)
sp <- ((s1*(n1-1))+(s2*(n2-1)))/(n1+n2-2)
penyebut <- sp*((1/n1)+(1/n2))
thit <- (x1bar-x2bar)/sqrt(penyebut)
a <- 1-alpha
df <- n1+n2-2
ttabel <- qt(a,df)
if(thit > ttabel){
kep <- "tolak h0"
} else{
kep <- "terima h0"
}
#selang kepercayaan
kiri <- (x1bar-x2bar)
akar <- (s1/n1)+(s2/n2)
tci <- qt(a/2,df)
margin <- tci * sqrt(akar)
up <- kiri + margin
down <- kiri - margin
return(list(
t_hitung = thit,
t_tabel = ttabel,
keputusan = kep,
confidence_interval = c(down,up)
))
}
i2stt(kelompok1,kelompok2, 0.05)
## $t_hitung
## [1] 1.729472
##
## $t_tabel
## [1] 1.782288
##
## $keputusan
## [1] "terima h0"
##
## $confidence_interval
## [1] 9.777648 9.079495
Sebuah platform e-learning nasional baru saja meluncurkan fitur AI Tutor yang mampu memberikan penjelasan materi secara personal, latihan soal adaptif, dan umpan balik otomatis. Untuk mengevaluasi efektivitas fitur tersebut, tim riset melakukan survei kepuasan pada mahasiswa dari dua universitas yang berbeda.
Pada Universitas A, dari 420 mahasiswa yang menggunakan fitur tersebut, sebanyak 315 mahasiswa menyatakan puas. Sementara itu, pada Universitas B, dari 380 mahasiswa, sebanyak 247 mahasiswa menyatakan puas.
Dengan taraf signifikansi 5%, uji apakah proporsi mahasiswa yang puas di Universitas A lebih tinggi dibanding Universitas B.
Dengan menggunakan tingkat kepercayaan 95%, tentukan confidence interval untuk selisih proporsi kepuasan antara kedua universitas (pA - pB).
Jika target minimal perusahaan adalah selisih kepuasan minimal 8% agar fitur dianggap layak dipasarkan nasional. Berdasarkan hasil confidence interval pada bagian (b), apakah fitur ini layak diperluas secara nasional?
p1<- 315/420
p2 <- 247/380
proporsi <- function(p1,p2, alpha3){
x1 <- 315
n1<- 420
x2 <- 247
n2 <- 380
ptopi<- (x1+x2)/(n1+n2)
#z hitung
pembilang <- (p1-p2)
bkiri <- ptopi*(1-ptopi)
bkanan <- (1/n1)+(1/n2)
zhit <- pembilang/sqrt(bkiri*bkanan)
#z tabel
ztabel<- qnorm(1-alpha3)
#uji hipotesis
if(zhit > ztabel){
kep <- "tolak h0"
} else{
kep <- "terima h0"
}
#confidence interval
alf <- 0.95
zci <- qnorm(1-((1-alf)/2))
satu <- (p1*(1-p1))/n1
dua <- (p2*(1-p2))/n2
up <- (p1-p2) + zci * sqrt(satu+dua)
down <- (p1-p2) - zci * sqrt(satu+dua)
#apakah mepet dgn 0.08?
if(down >= 0.08){
layak <- "ya, fitur ini layak untuk disebarkan skala nasional"
} else if(up >= 0.08 && down < 0.08){
layak <- "Mungkin fitur ini layak untuk disebarkan skala nasional"
} else {
layak <- "tidak, fitur ini harus dilakukan uji dan pengembangan lagi"
}
return(list(
z_hitung = zhit,
z_tabel = ztabel,
keputusan = kep,
confidence_interval = c(down, up),
kelayakan = layak
))
}
proporsi(p1,p2, 0.05)
## $z_hitung
## [1] 3.089618
##
## $z_tabel
## [1] 1.644854
##
## $keputusan
## [1] "tolak h0"
##
## $confidence_interval
## [1] 0.03663788 0.16336212
##
## $kelayakan
## [1] "Mungkin fitur ini layak untuk disebarkan skala nasional"
simpson13 <- function(a,b,n,fungsi){
h <- (b-a)/n
m <- f(a)+f(b)
#looping
x <-a
sum <- 0
for(i in 1:(n-1)){
if(i %% 2 == 0){
x <- x+h
sum <- sum + 2*fungsi(x)
} else{
x <- x+h
sum <- sum + 4*fungsi(x)
}
}
hasil <- (h/3)*(sum+m)
return(hasil)
}
f <- function(x){
hasil <- 6*x*(1-x)
return(hasil)
}
ex <- function(x){
hasil <- x * f(x)
}
ex2 <- function(x){
hasil <- x^2 * f(x)
}
estimasi <- simpson13(0,1,100,ex)
varians <- simpson13(0,1,100,ex2) - (estimasi)^2
estimasi
## [1] 0.5
varians
## [1] 0.04999999