1. Buat dataframe dengan kolom Nama dan Nilai (minimal 4 baris). Atur nilai pada kolom Nilai sehingga rata-rata (mean) dari nilai tersebut adalah 96.Selanjutnya, tampilkan ringkasan statistik dari dataframe tersebut menggunakan fungsi summary().
# Nilai: 90, 100, 95, 99 (Totalnya 384, jadi rata-ratanya pasti 96)
nama <- c("Andi", "Budi", "Citra", "Dewi")
nilai <- c(90, 100, 95, 99)

df_nilai <- data.frame(Nama = nama, Nilai = nilai)

# Cek Rata-rata (Wajib 96)
print(paste("Rata-rata Nilai:", mean(df_nilai$Nilai)))
## [1] "Rata-rata Nilai: 96"
# Tampilkan Summary
print(df_nilai)
##    Nama Nilai
## 1  Andi    90
## 2  Budi   100
## 3 Citra    95
## 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
  1. Buat satu barisan sepanjang 12 elemen dengan aturan berulang +3 → ×2 → −1 dengan nilai awal 4.
barisan <- numeric(12)
barisan[1] <- 4  # Nilai awal

# pakai Looping (Perulangan)
for (i in 2:12) {
  # Cek urutan langkah (modulo 3)
  # Langkah ke-2, 5, 8, 11 -> Pola 1 (+3)
  # Langkah ke-3, 6, 9, 12 -> Pola 2 (*2)
  # Langkah ke-4, 7, 10    -> Pola 3 (-1)
  
  sisa_bagi <- (i - 1) %% 3
  
  if (sisa_bagi == 1) {
    barisan[i] <- barisan[i-1] + 3
  } else if (sisa_bagi == 2) {
    barisan[i] <- barisan[i-1] * 2
  } else {
    barisan[i] <- barisan[i-1] - 1
  }
}

print(barisan)
##  [1]   4   7  14  13  16  32  31  34  68  67  70 140
  1. Gunakan fungsi seq() dan rep() di R untuk membentuk satu vektor dengan hasil akhir sebagai 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
vektor <-rep(seq(0, 6, by = 2), each = 2, times = 3) 

vektor
##  [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

4.Lakukan simulasi pelemparan dadu sebanyak 30 kali menggunakan fungsi sample() di R, dengan ketentuan sebagai berikut: Hasil 0 memiliki peluang kemunculan 45% Hasil 1 memiliki peluang kemunculan 55% Gunakan set.seed() agar hasil simulasi dapat direproduksi

set.seed(120)

# Simulasi 30 kali pelemparan koin
# prob = c(0.45, 0.55) artinya urut sesuai x (0 dapat 45%, 1 dapat 55%)
simulasi_pelemparan_koin <- sample(x = c(0, 1), 
                        size = 30, 
                        replace = TRUE, 
                        prob = c(0.45, 0.55))

print(simulasi_pelemparan_koin)
##  [1] 1 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1
# Bonus: Cek proporsi (mendekati 45% dan 55% ngga?)
table(simulasi_pelemparan_koin) / 30
## simulasi_pelemparan_koin
##         0         1 
## 0.4333333 0.5666667
  1. Seorang pemilik UMKM mencatat data penjualan selama beberapa hari. Informasi yang dikumpulkan meliputi Hari, Jumlah Produk Terjual, Harga Satuan, Total Pendapatan. Buat sebuah dataframe dengan keempat kolom tersebut (minimal 4 baris), lalu tampilkan summary().
hari <- c("Senin", "Selasa", "Rabu", "Kamis", "Jumat")
terjual <- c(10, 25, 15, 30, 20)
harga <- c(15000, 15000, 15000, 15000, 16000) # Misal jumat naik harga

# Hitung Total Pendapatan
total <- terjual * harga

df_umkm <- data.frame(
  Hari = hari,
  Jumlah_Terjual = terjual,
  Harga_Satuan = harga,
  Total_Pendapatan = total
)

print(df_umkm)
##     Hari Jumlah_Terjual Harga_Satuan Total_Pendapatan
## 1  Senin             10        15000           150000
## 2 Selasa             25        15000           375000
## 3   Rabu             15        15000           225000
## 4  Kamis             30        15000           450000
## 5  Jumat             20        16000           320000
print("--- Ringkasan Statistik ---")
## [1] "--- Ringkasan Statistik ---"
summary(df_umkm)
##      Hari           Jumlah_Terjual  Harga_Satuan   Total_Pendapatan
##  Length:5           Min.   :10     Min.   :15000   Min.   :150000  
##  Class :character   1st Qu.:15     1st Qu.:15000   1st Qu.:225000  
##  Mode  :character   Median :20     Median :15000   Median :320000  
##                     Mean   :20     Mean   :15200   Mean   :304000  
##                     3rd Qu.:25     3rd Qu.:15000   3rd Qu.:375000  
##                     Max.   :30     Max.   :16000   Max.   :450000