# 1. Peluang tepat 2 kejadian terjadi: P(X = 2)
dpois(x = 2, lambda = 3)
## [1] 0.2240418
# 2. Peluang kumulatif paling banyak 2 kejadian: P(X <= 2)
ppois(q = 2, lambda = 3)
## [1] 0.4231901
# 3. Membangkitkan 8 data acak berdistribusi Poisson
set.seed(3)
rpois(n = 10, lambda = 4)
##  [1] 2 6 3 3 4 4 2 3 4 5
rbinom(n=10,size=1,prob=0.7)
##  [1] 1 1 1 1 0 0 1 0 0 1
#===============================================================#
set.seed(123)

hasil_multi <- rmultinom(n = 1, size = 30, prob = c(0.2, 0.5, 0.3))

rownames(hasil_multi) <- c("Kategori A", "Kategori B", "Kategori C")
print(hasil_multi)
##            [,1]
## Kategori A    5
## Kategori B   14
## Kategori C   11
data_grafik <- as.vector(hasil_multi)
names(data_grafik) <- c("Kategori A", "Kategori B", "Kategori C")

# ==========================================
#  MEMBUAT GRAFIK BATANG (BARPLOT)
# ==========================================
barplot(data_grafik, 
        col = c("coral", "skyblue", "lightgreen"), 
        main = "Grafik Batang Data Multinomial (Size=30)",
        xlab = "Kategori", 
        ylab = "Frekuensi (Jumlah)",
        ylim = c(0, max(data_grafik) + 5),
        border = "black")

# ==========================================
#  MEMBUAT DIAGRAM LINGKARAN (PIE CHART)
# ==========================================
pie(data_grafik, 
    col = c("coral", "skyblue", "lightgreen"), 
    main = "Diagram Lingkaran Data Multinomial (Size=30)",
    labels = paste(names(data_grafik), "\n(", data_grafik, " item)"))

# ==========================================
# STUDI KASUS KUESIONER 50 RESPONDEN
# DISTRIBUSI MULTINOMIAL
# ==========================================

# 1. Data tingkat pendidikan
pendidikan <- c(
  SD = 5,
  SMP = 10,
  SMA = 20,
  Kuliah = 15
)

# 2. Data jenis pekerjaan
pekerjaan <- c(
  "Pelajar/Mahasiswa" = 20,
  PNS = 10,
  Swasta = 12,
  Wirausaha = 8
)

# ==========================================
# DIAGRAM BATANG PENDIDIKAN
# ==========================================

barplot(pendidikan,
        main = "Tingkat Pendidikan 50 Responden",
        xlab = "Tingkat Pendidikan",
        ylab = "Jumlah Responden",
        col = c("tomato", "skyblue", "lightgreen", "gold"))

# ==========================================
# PIE CHART PENDIDIKAN
# ==========================================

pie(pendidikan,
    main = "Tingkat Pendidikan 50 Responden",
    labels = paste(names(pendidikan),
                   pendidikan, "orang"),
    col = c("tomato", "skyblue", "lightgreen", "gold"))

# ==========================================
# DIAGRAM BATANG PEKERJAAN
# ==========================================

barplot(pekerjaan,
        main = "Jenis Pekerjaan 50 Responden",
        xlab = "Jenis Pekerjaan",
        ylab = "Jumlah Responden",
        col = c("tomato", "skyblue", "lightgreen", "gold"))

# ==========================================
# PIE CHART PEKERJAAN
# ==========================================

pie(pekerjaan,
    main = "Jenis Pekerjaan 50 Responden",
    labels = paste(names(pekerjaan),
                   pekerjaan, "orang"),
    col = c("tomato", "skyblue", "lightgreen", "gold"))

# =====================================================================
# 1. PENGATURAN DATA (Menggunakan data dari contoh sebelumnya)
# =====================================================================
set.seed(42)
kategori_pendidikan <- c("SD", "SMP", "SMA", "S1")
data_kampung <- sample(kategori_pendidikan, size = 10, replace = TRUE, prob = c(0.2, 0.2, 0.4, 0.2))

pekerjaan_responden <- sapply(data_kampung, function(edu) {
  if (edu == "S1") return(sample(c("PNS/Guru (Mengajar)", "Swasta"), size = 1, prob = c(0.8, 0.2)))
  else if (edu == "SMA") return(sample(c("Swasta", "Petani", "Belum Bekerja"), size = 1, prob = c(0.5, 0.3, 0.2)))
  else return(sample(c("Petani", "Swasta", "Belum Bekerja"), size = 1, prob = c(0.7, 0.1, 0.2)))
})

# Membuat matriks tabel silang (Wajib untuk membuat diagram batang gabungan)
tabel_gabungan <- table(pekerjaan_responden, data_kampung)


# =====================================================================
# 2. MEMBUAT DIAGRAM GABUNGAN (STACKED BAR CHART)
# =====================================================================

# Menyiapkan warna berbeda untuk setiap kategori pekerjaan
warna_pekerjaan <- c("#ff9999", "#66b3ff", "#99ff99", "#ffcc99")

# Membuat Diagram Batang Bertumpuk
barplot(tabel_gabungan, 
        main = "Diagram Hubungan Pendidikan dan Pekerjaan Responden",
        xlab = "Tingkat Pendidikan",
        ylab = "Jumlah Orang (Frekuensi)",
        col = warna_pekerjaan,
        legend.text = rownames(tabel_gabungan), # Menampilkan kotak keterangan (legend) jenis pekerjaan
        args.legend = list(x = "topright", bty = "n", inset = c(-0.05, 0)), # Posisi legend
        ylim = c(0, max(colSums(tabel_gabungan)) + 2)) # Memberikan ruang di atas batang