# 1. Dataframe dengan kolom Nama & Nilai

nama <- c("Ghina", "Ezra", "Gibran", "Arsila")
nilai <- c(95, 96, 97, 96)  # rata-rata = 96

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

cat("Dataframe Nama dan Nilai:\n")
## Dataframe Nama dan Nilai:
print(df_nilai)
##     Nama Nilai
## 1  Ghina    95
## 2   Ezra    96
## 3 Gibran    97
## 4 Arsila    96
cat("\nRata-rata Nilai:\n")
## 
## Rata-rata Nilai:
print(mean(df_nilai$Nilai))
## [1] 96
cat("\nSummary Dataframe:\n")
## 
## Summary Dataframe:
print(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
cat("\nInterpretasi:\n")
## 
## Interpretasi:
cat("Rata-rata nilai adalah", mean(df_nilai$Nilai),
    "yang berarti sesuai dengan ketentuan yaitu 96.\n")
## Rata-rata nilai adalah 96 yang berarti sesuai dengan ketentuan yaitu 96.
cat("Nilai minimum =", min(df_nilai$Nilai),
    "dan maksimum =", max(df_nilai$Nilai),
    "menunjukkan rentang nilai yang relatif sempit.\n\n")
## Nilai minimum = 95 dan maksimum = 97 menunjukkan rentang nilai yang relatif sempit.
# 2. Barisan 12 elemen (+3 → *2 → -1), dengan nilai awal 4

barisan <- numeric(12)
barisan[1] <- 4
pola <- c("+3", "*2", "-1")

for(i in 2:12){
  aturan <- pola[(i-2) %% length(pola) + 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
}

cat("Barisan 12 elemen:\n")
## Barisan 12 elemen:
print(barisan)
##  [1]   4   7  14  13  16  32  31  34  68  67  70 140
cat("\nInterpretasi:\n")
## 
## Interpretasi:
cat("Barisan terbentuk dengan pola berulang +3, dikali 2, lalu dikurangi 1.\n")
## Barisan terbentuk dengan pola berulang +3, dikali 2, lalu dikurangi 1.
cat("Nilai berkembang secara fluktuatif karena adanya operasi perkalian.\n\n")
## Nilai berkembang secara fluktuatif karena adanya operasi perkalian.
# 3. Membentuk vektor dengan hasil akhir sebagai berikut: 0 0 2 2 4 4 6 6 (diulang 3 kali)

vektor_seq <- seq(0,6,by=2)
hasil <- rep(vektor_seq, each=2, times=3)

cat("Hasil vektor:\n")
## Hasil vektor:
print(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
cat("\nInterpretasi:\n")
## 
## Interpretasi:
cat("seq(0,6,by=2) menghasilkan 0,2,4,6.\n")
## seq(0,6,by=2) menghasilkan 0,2,4,6.
cat("each=2 menggandakan setiap elemen.\n")
## each=2 menggandakan setiap elemen.
cat("times=3 mengulang pola tersebut sebanyak 3 kali.\n\n")
## times=3 mengulang pola tersebut sebanyak 3 kali.
# 4. Simulasi dengan peluang berbeda (0=45%, 1=55%)

set.seed(123)
simulasi <- sample(c(0,1), 
                   size=30, 
                   replace=TRUE,
                   prob=c(0.45,0.55))

cat("Hasil simulasi 30 kali:\n")
## Hasil simulasi 30 kali:
print(simulasi)
##  [1] 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1
cat("\nProporsi hasil:\n")
## 
## Proporsi hasil:
print(table(simulasi)/30)
## simulasi
##         0         1 
## 0.5666667 0.4333333
cat("\nInterpretasi:\n")
## 
## Interpretasi:
cat("Proporsi kemunculan 1 cenderung lebih besar dari 0\n")
## Proporsi kemunculan 1 cenderung lebih besar dari 0
cat("karena peluang 1 ditetapkan sebesar 55%.\n\n")
## karena peluang 1 ditetapkan sebesar 55%.
# 5. Dataframe Penjualan UMKM: Seorang pemilik UMKM mencatat data penjualan selama beberapa hari. Informasi yang dikumpulkan meliputi Hari, Jumlah Produk Terjual, Harga Satuan, Total Pendapatan. 

hari <- c("Senin","Selasa","Rabu","Kamis")
jumlah <- c(10,15,12,20)
harga <- c(5000,5000,5000,5000)
total <- jumlah * harga

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

cat("Dataframe Penjualan UMKM:\n")
## Dataframe Penjualan UMKM:
print(df_umkm)
##     Hari Jumlah_Terjual Harga_Satuan Total_Pendapatan
## 1  Senin             10         5000            50000
## 2 Selasa             15         5000            75000
## 3   Rabu             12         5000            60000
## 4  Kamis             20         5000           100000
cat("\nSummary Dataframe UMKM:\n")
## 
## Summary Dataframe UMKM:
print(summary(df_umkm))
##      Hari           Jumlah_Terjual   Harga_Satuan  Total_Pendapatan
##  Length:4           Min.   :10.00   Min.   :5000   Min.   : 50000  
##  Class :character   1st Qu.:11.50   1st Qu.:5000   1st Qu.: 57500  
##  Mode  :character   Median :13.50   Median :5000   Median : 67500  
##                     Mean   :14.25   Mean   :5000   Mean   : 71250  
##                     3rd Qu.:16.25   3rd Qu.:5000   3rd Qu.: 81250  
##                     Max.   :20.00   Max.   :5000   Max.   :100000
cat("\nInterpretasi:\n")
## 
## Interpretasi:
cat("Total pendapatan diperoleh dari jumlah terjual dikali harga satuan.\n")
## Total pendapatan diperoleh dari jumlah terjual dikali harga satuan.
cat("Hari dengan penjualan tertinggi adalah",
    df_umkm$Hari[which.max(df_umkm$Jumlah_Terjual)],
    "dengan jumlah terjual",
    max(df_umkm$Jumlah_Terjual), "produk.\n")
## Hari dengan penjualan tertinggi adalah Kamis dengan jumlah terjual 20 produk.
cat("Rata-rata produk terjual per hari adalah",
    mean(df_umkm$Jumlah_Terjual), "produk.\n")
## Rata-rata produk terjual per hari adalah 14.25 produk.