#Import Data Set dari Excel
library(readxl)
DataTugas1 <- read_excel("~/Documents/S1 Aida/Semester 2 2025/STSI4204 Analisis Visualisasi Data/Tugas 1/Tabel Tugas 1.xlsx")
DataTugas1
## # A tibble: 50 × 3
##      No. `Kecepatan (km/h)` `Jarak (meter)`
##    <dbl>              <dbl>           <dbl>
##  1     1                  4               2
##  2     2                  4              10
##  3     3                  7               4
##  4     4                  7              20
##  5     5                  8              17
##  6     6                  8              13
##  7     7                  9              18
##  8     8                 10              28
##  9     9                 10              33
## 10    10                 11              18
## # ℹ 40 more rows
#Menghitung Rata-Rata Menggunakan Perhitungan Manual
#Membuat Data dalam bentuk matriks
DataTugas1$`Kecepatan (km/h)` <- DataTugas1$`Kecepatan (km/h)`
Data <- cbind(DataTugas1$`Kecepatan (km/h)`, DataTugas1$`Jarak (meter)`)

#Menghitung Rata-Rata
#menghitung jumlah observasi (dalam hal ini jumlah baris)
n <- dim(Data)[1] 
cat("Jumlah observasi (n) adalah", n, "\n")
## Jumlah observasi (n) adalah 50
#menghitung nilai rata-rata (output dalam bentuk matriks)
satu <- c(rep(1,n))
xbar <- (1/n)*t(Data)%*%satu
xbar
##       [,1]
## [1,] 17.50
## [2,] 42.28
cat("Rata-rata kecepatan mobil adalah", xbar[1], "km/h \n")
## Rata-rata kecepatan mobil adalah 17.5 km/h
cat("Rata-rata jarak yang ditempuh mobil adalah", xbar[2], "meter \n")
## Rata-rata jarak yang ditempuh mobil adalah 42.28 meter
#Menghitung Rata-Rata menggunakan fungsi/package dari R
#Metode 1, menggunakan fungsi mean()
Metode_1_1 <- mean(DataTugas1$`Kecepatan (km/h)`)
Metode_1_2 <- mean(DataTugas1$`Jarak (meter)`)
Metode_1 <-c(Metode_1_1, Metode_1_2) 
names(Metode_1) <- c("Kecepatan (km/h)", "Jarak (meter)")
print(Metode_1)
## Kecepatan (km/h)    Jarak (meter) 
##            17.50            42.28
cat("Rata-rata kecepatan mobil adalah", Metode_1[1], "km/h \n")
## Rata-rata kecepatan mobil adalah 17.5 km/h
cat("Rata-rata jarak yang ditempuh mobil adalah", Metode_1[2], "meter \n")
## Rata-rata jarak yang ditempuh mobil adalah 42.28 meter
#Metode 2,menggunakan fungsi sapply () 
Metode_2 <- sapply(DataTugas1[-1], mean)
Metode_2
## Kecepatan (km/h)    Jarak (meter) 
##            17.50            42.28
cat("Rata-rata kecepatan mobil adalah", Metode_2[1], "km/h \n")
## Rata-rata kecepatan mobil adalah 17.5 km/h
cat("Rata-rata jarak yang ditempuh mobil adalah", Metode_2[2], "meter \n")
## Rata-rata jarak yang ditempuh mobil adalah 42.28 meter
#Metode 3, menggunakan colmeans()
Metode_3 <- colMeans(DataTugas1[-1], na.rm = TRUE)
Metode_3
## Kecepatan (km/h)    Jarak (meter) 
##            17.50            42.28
cat("Rata-rata kecepatan mobil adalah", Metode_3[1], "km/h \n")
## Rata-rata kecepatan mobil adalah 17.5 km/h
cat("Rata-rata jarak yang ditempuh mobil adalah", Metode_3[2], "meter \n")
## Rata-rata jarak yang ditempuh mobil adalah 42.28 meter
#Menentukan Standard Deviasi Data Jarak yang Ditempuh Mobil
#menghitung dengan bantuan matriks
satu <- c(rep(1,n))
xbar <- (1/n)*t(Data)%*%satu
Xbar <- satu%*%t(xbar)
D<- Data-Xbar
S <- (1/(n-1))*t(D)%*%D
S <- sqrt(S)
cat("Standard deviasi jarak yang ditempuh mobil adalah", S[2,2], "meter \n")
## Standard deviasi jarak yang ditempuh mobil adalah 24.76505 meter
#Menghitung Standard Deviasi menggunakan fungsi/package dari R
#Metode 1, menggunakan fungsi sd()
Sd_1 <- sd(DataTugas1$`Jarak (meter)`)
cat("Standard deviasi jarak yang ditempuh mobil adalah", Sd_1, "meter \n")
## Standard deviasi jarak yang ditempuh mobil adalah 24.76505 meter
#Metode 2, menggunakan sapply()
Sd_2 <- sapply(DataTugas1[-1], sd)
cat("Standard deviasi jarak yang ditempuh mobil adalah", Sd_2 [2], "meter \n")
## Standard deviasi jarak yang ditempuh mobil adalah 24.76505 meter
#Membuat scatter plot untuk Data Tugas 1
#Membuat scatter plot antara Data Kecepatan (km/h) dan Jarak (m)
# Simple Scatterplot
plot(DataTugas1$`Kecepatan (km/h)`, DataTugas1$`Jarak (meter)`, main="Scatterplot Kecepatan (km/h) dan Jarak (m)",
   xlab="Kecepatan Mobil (km/h)", ylab=" Jarak (m)", pch=19)

# High Density Scatterplot with Color Transparency
plot(DataTugas1$`Kecepatan (km/h)`, DataTugas1$`Jarak (meter)`, main="Scatterplot Kecepatan (km/h) dan Jarak (m)",
   xlab="Kecepatan Mobil (km/h)", ylab=" Jarak (m)", col=rgb(0,100,0,100, maxColorValue=255), pch=19)

#Membuat histogram data Kecepatan Mobil (km/h)
Kec <- seq(min(DataTugas1$`Kecepatan (km/h)`), max(DataTugas1$`Kecepatan (km/h)`), length = 50)
fun <- dnorm(Kec, mean = mean(DataTugas1$`Kecepatan (km/h)`), sd = sd(DataTugas1$`Kecepatan (km/h)`))
histogram<- hist(DataTugas1$`Kecepatan (km/h)`, main="Histogram Kecepatan Mobil (km/h)",breaks = 10, xlab="Kecepatan Mobil (km/h)", xlim=c(0, 120), ylim = c(0,60))
fun<- fun * diff(histogram$mids[1:2]) * length(DataTugas1$`Kecepatan (km/h)`)
histogram
## $breaks
##  [1]   0  10  20  30  40  50  60  70  80  90 100 110 120
## 
## $counts
##  [1]  9 32  8  0  0  0  0  0  0  0  0  1
## 
## $density
##  [1] 0.018 0.064 0.016 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002
## 
## $mids
##  [1]   5  15  25  35  45  55  65  75  85  95 105 115
## 
## $xname
## [1] "DataTugas1$`Kecepatan (km/h)`"
## 
## $equidist
## [1] TRUE
## 
## attr(,"class")
## [1] "histogram"
lines(Kec, fun, col = "darkred", lwd = 2)
text(x = histogram$mids[histogram$counts > 0], y = histogram$counts[histogram$counts > 0], labels = (histogram$counts [histogram$counts > 0]), pos = 3, cex = 0.8)

#Diketahui Data
Nilai_Matematika <- 80
Mean_Matematika <- 75
SD_Matematika <- 10

Nilai_BInggris <- 75
Mean_BInggris <- 70
SD_BInggris <- 8

#Menghitung Nilai Koefisien Keragaman
CV_Matematika <- (SD_Matematika/Mean_Matematika)*100
CV_Matematika
## [1] 13.33333
CV_BInggris <- (SD_BInggris/Mean_BInggris)*100
CV_BInggris
## [1] 11.42857
#Intepretasi
cat("Koefisien Keragaman Matematika adalah ", round(CV_Matematika, 2), "%\n")
## Koefisien Keragaman Matematika adalah  13.33 %
cat("Koefisien Keragaman Bahasa Inggris adalah ", round(CV_BInggris, 2), "%\n")
## Koefisien Keragaman Bahasa Inggris adalah  11.43 %