Latihan

  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().
# Membuat dataframe dengan 4 baris
df_nilai <- data.frame(
  Nama = c("Andi", "Budi", "Citra", "Dewi"),
  Nilai = c(95, 97, 96, 96)  # Rata-rata = (95+97+96+96)/4 = 96
)

# Menampilkan dataframe
print(df_nilai)
##    Nama Nilai
## 1  Andi    95
## 2  Budi    97
## 3 Citra    96
## 4  Dewi    96
# Menampilkan ringkasan statistik
summary(df_nilai)
##      Nama               Nilai      
##  Length:4           Min.   :95.00  
##  Class :character   1st Qu.:95.75  
##  Mode  :character   Median :96.00  
##                     Mean   :96.00  
##                     3rd Qu.:96.25  
##                     Max.   :97.00
  1. Buat satu barisan sepanjang 12 elemen dengan aturan berulang +3 → ×2 → −1 dengan nilai awal 4.
# Membuat barisan sepanjang 12 elemen dengan aturan berulang
# Aturan: +3 → ×2 → -1, nilai awal = 4

barisan <- numeric(12)
barisan[1] <- 4  # nilai awal

# Daftar operasi berulang
operasi <- c("+3", "*2", "-1")

for (i in 2:12) {
  # Menentukan operasi berdasarkan pola berulang (siklus 3)
  aturan <- operasi[((i-2) %% 3) + 1]
  
  if (aturan == "+3") barisan[i] <- barisan[i-1] + 3
  if (aturan == "*2") barisan[i] <- barisan[i-1] * 2
  if (aturan == "-1") barisan[i] <- barisan[i-1] - 1
}

# Menampilkan hasil
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
# Pola yang diinginkan: 0 0 2 2 4 4 6 6 diulang 3 kali
# Membuat pola dasar dengan seq()
pola_dasar <- rep(seq(0, 6, by = 2), each = 2)
pola_dasar
## [1] 0 0 2 2 4 4 6 6
# Mengulang pola sebanyak 3 kali
vektor_hasil <- rep(pola_dasar, times = 3)
vektor_hasil
##  [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
# Memeriksa panjang vektor
length(vektor_hasil)
## [1] 24
  1. 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
# Simulasi pelemparan dadu 30 kali
# Hasil 0 peluang 45%, hasil 1 peluang 55%
set.seed(1)  # agar hasil dapat direproduksi

# Menggunakan sample dengan probabilitas
hasil_simulasi <- sample(
  x = 0:1, 
  size = 30, 
  replace = TRUE, 
  prob = c(0.45, 0.55)
)

# Menampilkan hasil
hasil_simulasi
##  [1] 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 1
  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().
# Membuat dataframe penjualan UMKM
df_penjualan <- data.frame(
  Hari = c("Senin", "Selasa", "Rabu", "Kamis", "Jumat"),
  Jumlah_Produk_Terjual = c(15, 22, 18, 25, 30),
  Harga_Satuan = c(5000, 5000, 5500, 5500, 5000),
  Total_Pendapatan = c(75000, 110000, 99000, 137500, 150000)
)

# Menampilkan dataframe
print(df_penjualan)
##     Hari Jumlah_Produk_Terjual Harga_Satuan Total_Pendapatan
## 1  Senin                    15         5000            75000
## 2 Selasa                    22         5000           110000
## 3   Rabu                    18         5500            99000
## 4  Kamis                    25         5500           137500
## 5  Jumat                    30         5000           150000
# Menampilkan ringkasan statistik
summary(df_penjualan)
##      Hari           Jumlah_Produk_Terjual  Harga_Satuan  Total_Pendapatan
##  Length:5           Min.   :15            Min.   :5000   Min.   : 75000  
##  Class :character   1st Qu.:18            1st Qu.:5000   1st Qu.: 99000  
##  Mode  :character   Median :22            Median :5000   Median :110000  
##                     Mean   :22            Mean   :5200   Mean   :114300  
##                     3rd Qu.:25            3rd Qu.:5500   3rd Qu.:137500  
##                     Max.   :30            Max.   :5500   Max.   :150000
# Verifikasi: Total Pendapatan = Jumlah_Produk_Terjual * Harga_Satuan
df_penjualan$Total_Pendapatan == df_penjualan$Jumlah_Produk_Terjual * df_penjualan$Harga_Satuan
## [1] TRUE TRUE TRUE TRUE TRUE