Soal 1

Buat dataframe dengan kolom Nama dan Nilai (minimal 4 baris) dengan rata-rata nilai = 96. Tampilkan summary().

nama <- c("Lina", "Fandy", "Cindy", "Dewi")
nilai <- c(90, 95, 100, 99)  # total = 384

df_nilai <- data.frame(Nama = nama, Nilai = nilai)
df_nilai
##    Nama Nilai
## 1  Lina    90
## 2 Fandy    95
## 3 Cindy   100
## 4  Dewi    99
summary(df_nilai)
##      Nama               Nilai       
##  Length:4           Min.   : 90.00  
##  Class :character   1st Qu.: 93.75  
##  Mode  :character   Median : 97.00  
##                     Mean   : 96.00  
##                     3rd Qu.: 99.25  
##                     Max.   :100.00

Catatan Jumlah data = 4 Rata-rata nilai = 96 Nilai minimum = 90 dan maksimum = 100 Rentang nilai = 10


Soal 2

Buat barisan 12 elemen dengan aturan berulang: +3 → ×2 → −1, nilai awal 4.

barisan <- numeric(12)
barisan[1] <- 4

for(i in 2:12){
  if((i-2) %% 3 == 0){
    barisan[i] <- barisan[i-1] + 3
  } else if((i-2) %% 3 == 1){
    barisan[i] <- barisan[i-1] * 2
  } else {
    barisan[i] <- barisan[i-1] - 1
  }
}

barisan
##  [1]   4   7  14  13  16  32  31  34  68  67  70 140

Soal 3

Gunakan seq() dan rep() untuk membentuk vektor berikut:

0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6

pola <- rep(rep(seq(0,6,2), each=2), times=3)
pola
##  [1] 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6 0 0 2 2 4 4 6 6

Soal 4

Simulasi pelemparan sebanyak 30 kali koin dengan peluang: 0 = 45%
1 = 55%

set.seed(123)

simulasi_koin <- sample(c(0,1),
                        size = 30,
                        replace = TRUE,
                        prob = c(0.45, 0.55))

summary(simulasi_koin)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.0000  0.4333  1.0000  1.0000

Catatan Frekuensi hasil 0 = 17 Frekuensi hasil 1 = 13 Proporsi hasil 0 = 0.567 Proporsi hasil 1 = 0.433 Perbandingan ini mendekati peluang teoritis (0.45 dan 0.55).


Soal 5

Data penjualan UMKM: Hari, Jumlah Produk Terjual, Harga Satuan, Total Pendapatan.

hari <- c("Senin", "Selasa", "Rabu", "Kamis")
jumlah_terjual <- c(20, 25, 18, 30)
harga_satuan <- c(10000, 10000, 10000, 10000)

total_pendapatan <- jumlah_terjual * harga_satuan

df_umkm <- data.frame(Hari = hari,
                      Jumlah_Terjual = jumlah_terjual,
                      Harga_Satuan = harga_satuan,
                      Total_Pendapatan = total_pendapatan)
df_umkm
##     Hari Jumlah_Terjual Harga_Satuan Total_Pendapatan
## 1  Senin             20        10000           200000
## 2 Selasa             25        10000           250000
## 3   Rabu             18        10000           180000
## 4  Kamis             30        10000           300000
summary(df_umkm)
##      Hari           Jumlah_Terjual   Harga_Satuan   Total_Pendapatan
##  Length:4           Min.   :18.00   Min.   :10000   Min.   :180000  
##  Class :character   1st Qu.:19.50   1st Qu.:10000   1st Qu.:195000  
##  Mode  :character   Median :22.50   Median :10000   Median :225000  
##                     Mean   :23.25   Mean   :10000   Mean   :232500  
##                     3rd Qu.:26.25   3rd Qu.:10000   3rd Qu.:262500  
##                     Max.   :30.00   Max.   :10000   Max.   :300000

Catatan Total hari pengamatan = 4 Rata-rata produk terjual = 23.25 Rata-rata pendapatan = 232500 Pendapatan maksimum = 300000 Pendapatan minimum = 180000 Terlihat adanya variasi jumlah penjualan antar hari.