hitung_jumlah <- function() {
  jumlah <- 0
  for (j in 1:25) {
    jumlah <- jumlah + exp(-3/j - 2*j)
  }
  return(jumlah)
}
hitung_jumlah()
## [1] 0.01192434

#function() digunakan untuk membuat fungsi. jumlah <- 0 menginisialisasi nilai penjumlahan. for (j in 1:25) mengulang perhitungan untuk \(j=1,2,\ldots,25\). exp() menghitung fungsi eksponensial \(e^x\). return(jumlah) mengembalikan hasil penjumlahan.

nilai <- c(65, 70, 75, 80, 80, 85, 95)
mean(nilai)                  
## [1] 78.57143
median(nilai)                
## [1] 80
min(nilai)                   
## [1] 65
max(nilai)                  
## [1] 95
max(nilai) - min(nilai)      
## [1] 30
var(nilai)                   
## [1] 97.61905
sd(nilai)                    
## [1] 9.880235

#1. Mean (78,57): Rata-rata nilai kuis dari tujuh mahasiswa adalah 78,57. 2. Median (80): Nilai tengah dari seluruh data adalah 80, yang berarti separuh data berada di bawah atau sama dengan 80 dan separuh lainnya berada di atas atau sama dengan 80. 3. Minimum (65): Nilai terendah yang diperoleh mahasiswa adalah 65. 4. Maksimum (95): Nilai tertinggi yang diperoleh mahasiswa adalah 95. 5. Rentang (30): Selisih antara nilai tertinggi dan terendah adalah 30 poin. 6. Varians sampel (97,62): Nilai varians menunjukkan tingkat keragaman nilai mahasiswa terhadap rata-ratanya. Varians sebesar 97,62 menunjukkan adanya variasi nilai di antara mahasiswa. 7. Simpangan baku sampel (9,88): Nilai mahasiswa memiliki penyebaran sekitar 9,88 poin dari rata-rata sebesar 78,57. Artinya, nilai mahasiswa cukup bervariasi dan tidak semuanya sama dengan nilai rata-rata.

mahasiswa <- data.frame(
  Nama = c("Ana", "Bima", "Citra", "Dodi", "Eka"),
  JamBelajar = c(4, 6, 3, 8, 5),
  Nilai = c(70, 85, 65, 90, 78)
)
mahasiswa
##    Nama JamBelajar Nilai
## 1   Ana          4    70
## 2  Bima          6    85
## 3 Citra          3    65
## 4  Dodi          8    90
## 5   Eka          5    78
mahasiswa[, c("Nama", "Nilai")]
##    Nama Nilai
## 1   Ana    70
## 2  Bima    85
## 3 Citra    65
## 4  Dodi    90
## 5   Eka    78
mahasiswa[mahasiswa$Nilai >= 80, ]
##   Nama JamBelajar Nilai
## 2 Bima          6    85
## 4 Dodi          8    90
mahasiswa$Status <- ifelse(
  mahasiswa$Nilai >= 75,
  "Lulus",
  "Belum Lulus"
)
mahasiswa
##    Nama JamBelajar Nilai      Status
## 1   Ana          4    70 Belum Lulus
## 2  Bima          6    85       Lulus
## 3 Citra          3    65 Belum Lulus
## 4  Dodi          8    90       Lulus
## 5   Eka          5    78       Lulus

#pppppppppp

nilai <- 80
if (nilai >= 85) {
  kategori <- "A"
} else if (nilai >= 75) {
  kategori <- "B"
} else {
  kategori <- "C"
}
print(kategori)
## [1] "B"
for (i in 1:5) {
  print(i^2)
}
## [1] 1
## [1] 4
## [1] 9
## [1] 16
## [1] 25

#Perbedaan if-else dan for: - if-else digunakan untuk mengambil keputusan berdasarkan kondisi tertentu. - for digunakan untuk mengulang suatu perintah untuk setiap nilai dalam urutan tertentu.

ringkasan_nilai <- function(x) {
  hasil <- list(
    mean = mean(x),
    median = median(x),
    minimum = min(x),
    maksimum = max(x),
    simpangan_baku = sd(x)
  )
  return(hasil)
}

nilai <- c(70, 75, 80, 85, 90)
ringkasan_nilai(nilai)
## $mean
## [1] 80
## 
## $median
## [1] 80
## 
## $minimum
## [1] 70
## 
## $maksimum
## [1] 90
## 
## $simpangan_baku
## [1] 7.905694

#Mean (80): Rata-rata nilai dari lima data mahasiswa adalah 80. Median (80): Nilai tengah dari data yang telah diurutkan adalah 80. Minimum (70): Nilai terendah dalam data adalah 70. Maksimum (90): Nilai tertinggi dalam data adalah 90. Simpangan baku (7,91): Nilai mahasiswa memiliki penyebaran sekitar 7,91 poin dari rata-rata. Hal ini menunjukkan bahwa nilai mahasiswa bervariasi di sekitar rata-rata 80.