1. Bengkel menduga bahwa ban radial akan mampu menermpuk jarak lebih dari 6.5 km per satu liter bahan bakar. Dengan taraf kepercayaan sebesar 90%, tentukan apakah klaim bersebut benar?
  2. Asumsikan kedua populasi tersebut berdistribusi normal. Dengan taraf signifikansi 5%, berikan konfidensi kepercayaan selisih jarak tempuh km/liter ban biasa dengan ban radial.
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
  1. Dengan taraf signifikansi 5%, uji apakah rata-rata nilai kelompok 1 lebih tinggi dibanding kelompok 2. (independent 2 sample t test),

  2. Dengan tingkat kepercayaan 95%, tentukan confidence interval untuk selisih rata-rata nilai kedua kelompok.

  3. 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.

  1. Dengan taraf signifikansi 5%, uji apakah proporsi mahasiswa yang puas di Universitas A lebih tinggi dibanding Universitas B.

  2. Dengan menggunakan tingkat kepercayaan 95%, tentukan confidence interval untuk selisih proporsi kepuasan antara kedua universitas (pA - pB).

  3. 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