#Atur seed agar hasil acak selalu sama saat di-run ulang (opsional)
set.seed(123)

# Membangkitkan 1000 data
sampel <- rpois(n = 1000, lambda = 2.5)

# Melihat tabel frekuensi
table(sampel)
## sampel
##   0   1   2   3   4   5   6   7   8   9 
##  79 208 261 215 135  60  28  12   1   1
# Membuat grafik batang (barplot) untuk distribusi diskrit
barplot(table(sampel), 
        main = "Distribusi Poisson (lambda = 2.5)",
        xlab = "Nilai X (Jumlah Kejadian)",
        ylab = "Frekuensi",
        col = "skyblue")

#interpretasi: membangkitkan data y berdistribusi poison sebanyak 10 di mana lamdanya =4






set.seed(0123)
y <- rpois(n = 10, lambda = 4)
print(y)
##  [1] 3 6 3 6 7 1 4 7 4 4
x<-rpois(n=10,lambda = 4)
print(x)
##  [1] 8 4 5 4 2 7 3 1 3 8
barplot(table(sampel), 
        main = "Distribusi Poisson (lambda = 4)",
        xlab = "Nilai X (Jumlah Kejadian)",
        ylab = "Frekuensi",
        col = "pink")

z=rbinom(n=10,size=1,prob=0.3)
z
##  [1] 1 0 0 1 0 1 0 0 0 0
print(z)
##  [1] 1 0 0 1 0 1 0 0 0 0
barplot(table(z),
        main = "Frekuensi Hasil Bernoulli (n = 10, p = 0.3)",
        xlab = "Nilai z",
        ylab = "Frekuensi",
        col = c("skyblue", "coral"),
        names.arg = c("Gagal (0)", "Sukses (1)"))

# 2. Buat Diagram Lingkaran
pie(table(z),
    labels = paste(c("Gagal (0):", "Sukses (1):"),table(z)),
    col = c("skyblue", "coral"),
    main = "Proporsi Hasil Bernoulli (n = 10, p = 0.3)")

#jika peluang nya 0.7 1 nya banyak artinya pasienya banyak yang sakit, kalau 0,5 1 nya cuman 1

library(ggplot2)
library(patchwork) # Untuk menggabungkan plot berdampingan
## Warning: package 'patchwork' was built under R version 4.5.3
set.seed(123)

# 1. Bangkitkan Data & Buat Data Frame
simulasi <- rmultinom(n = 1, size = 500, prob = c(0.15, 0.25, 0.40, 0.20))

df_pendidikan <- data.frame(
  Kategori = factor(c("SD", "SMP", "SMA", "Universitas"), 
                    levels = c("SD", "SMP", "SMA", "Universitas")),
  Jumlah   = as.vector(simulasi)
)

# Palet Warna
warna_kategori <- c("SD" = "#e74c3c", "SMP" = "#3498db", "SMA" = "#f1c40f", "Universitas" = "#2ecc71")

# 2. Diagram Batang
p_bar <- ggplot(df_pendidikan, aes(x = Kategori, y = Jumlah, fill = Kategori)) +
  geom_bar(stat = "identity", width = 0.6) +
  geom_text(aes(label = Jumlah), vjust = -0.5, fontface = "bold") +
  scale_x_discrete(labels = c("SD", "SMP", "SMA", "Universitas")) + # Memastikan label terpasang
  scale_fill_manual(values = warna_kategori) +
  labs(title = "Diagram Batang (Frekuensi)", x = "Tingkat Pendidikan", y = "Jumlah Responden") +
  theme_minimal() +
  theme(legend.position = "none",
        axis.text.x = element_text(face = "bold", size = 10)) # Memperjelas teks sumbu X

# 3. Diagram Lingkaran
p_pie <- ggplot(df_pendidikan, aes(x = "", y = Jumlah, fill = Kategori)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y", start = 0) +
  scale_fill_manual(values = warna_kategori) +
  labs(title = "Diagram Lingkaran (Proporsi)") +
  theme_void()

# 4. Tampilkan Berdampingan
p_bar + p_pie

library(ggplot2)

set.seed(123)

# 1. Bangkitkan Data Multinomial (8 Kategori)
p_kombinasi <- c(0.10, 0.05, 0.18, 0.07, 0.30, 0.10, 0.16, 0.04)
simulasi <- rmultinom(n = 1, size = 500, prob = p_kombinasi)

# 2. Buat Data Frame
df_gabungan <- data.frame(
  Pendidikan = factor(rep(c("SD", "SMP", "SMA", "Universitas"), each = 2),
                      levels = c("SD", "SMP", "SMA", "Universitas")),
  Status     = factor(rep(c("Bekerja", "Menganggur"), times = 4)),
  Jumlah     = as.vector(simulasi)
)

# 3. Buat Stacked Bar Chart (Batang Ditumpuk)
ggplot(df_gabungan, aes(x = Pendidikan, y = Jumlah, fill = Status)) +
  geom_bar(stat = "identity", width = 0.5) + # Otomatis menumpuk
  geom_text(aes(label = Jumlah), 
            position = position_stack(vjust = 0.5), # Angka tepat di tengah tiap warna
            color = "white", fontface = "bold") +
  scale_fill_manual(values = c("Bekerja" = "#2ecc71", "Menganggur" = "#ff69b4")) + # Hijau & Pink
  labs(title = "Tingkat Pendidikan dan Status Tenaga Kerja",
       x = "Tingkat Pendidikan",
       y = "Jumlah Responden",
       fill = "Status") +
  theme_minimal() +
  theme(axis.text.x = element_text(face = "bold", size = 11),
        legend.position = "top")

set.seed(123)

# 1. Parameter Multinomial (8 Kategori)
# Kombinasi: SD-Kerja, SD-Pengangguran, SMP-Kerja, dst.
p_kombinasi <- c(0.10, 0.05, 0.18, 0.07, 0.30, 0.10, 0.16, 0.04) # Total = 1
n_responden <- 500

# 2. Bangkitkan Data Multinomial
simulasi <- rmultinom(n = 1, size = n_responden, prob = p_kombinasi)

# 3. Ubah Hasil Menjadi Matriks (2 Baris Status x 4 Kolom Pendidikan)
data_matriks <- matrix(simulasi, nrow = 2, 
                       dimnames = list(Status = c("Bekerja", "Menganggur"),
                                       Pendidikan = c("SD", "SMP", "SMA", "Universitas")))

# 4. Buat Diagram Batang Berdampingan
barplot(data_matriks,
        beside = TRUE, # Agar batang digabung/berdampingan, bukan ditumpuk
        main = "Tingkat Pendidikan dan Status Tenaga Kerja",
        xlab = "Tingkat Pendidikan",
        ylab = "Jumlah Orang",
        col = c("#2ecc71", "#e74c3c"), # 2 Warna: Hijau (Bekerja), Merah (Menganggur)
        ylim = c(0, max(data_matriks) + 30))

# Tambahkan Legenda Warna
legend("topright", 
       legend = c("Bekerja", "Menganggur"), 
       fill = c("#2ecc71", "#e74c3c"))

library(ggplot2)

set.seed(123)

# 1. Parameter Kombinasi (4 Pendidikan x 4 Pekerjaan = 16 Probabilitas)
p_kombinasi <- c(
  0.08, 0.02, 0.03, 0.02, # SD (PNS, Swasta, Wiraswasta, Lainnya)
  0.05, 0.10, 0.06, 0.04, # SMP
  0.06, 0.18, 0.10, 0.06, # SMA
  0.08, 0.07, 0.03, 0.02  # Universitas
)

# 2. Bangkitkan Data Multinomial (500 responden)
simulasi <- rmultinom(n = 1, size = 500, prob = p_kombinasi)

# 3. Buat Data Frame Terstruktur
df_gabungan <- data.frame(
  Pendidikan = factor(rep(c("SD", "SMP", "SMA", "Universitas"), each = 4),
                      levels = c("SD", "SMP", "SMA", "Universitas")),
  Pekerjaan  = factor(rep(c("PNS", "Swasta", "Wiraswasta", "Lainnya"), times = 4),
                      levels = c("PNS", "Swasta", "Wiraswasta", "Lainnya")),
  Jumlah     = as.vector(simulasi)
)

# 4. Buat Grouped Bar Chart (Batang Berjejer Samping)
ggplot(df_gabungan, aes(x = Pendidikan, y = Jumlah, fill = Pekerjaan)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) +
  geom_text(aes(label = Jumlah), 
            position = position_dodge(width = 0.8), 
            vjust = -0.5, fontface = "bold", size = 3) +
  scale_fill_manual(values = c("PNS" = "#2ecc71",        # Hijau
                               "Swasta" = "#ff69b4",     # Pink
                               "Wiraswasta" = "#3498db", # Biru
                               "Lainnya" = "#f1c40f")) + # Kuning
  labs(title = "Tingkat Pendidikan berdasarkan Jenis Pekerjaan",
       x = "Tingkat Pendidikan",
       y = "Jumlah Responden",
       fill = "Jenis Pekerjaan") +
  theme_minimal() +
  theme(axis.text.x = element_text(face = "bold", size = 11),
        legend.position = "top")

library(ggplot2)

set.seed(123)

# 1. Parameter Kombinasi (4 Pendidikan x 4 Pekerjaan = 16 Probabilitas)
p_kombinasi <- c(
  0.08, 0.02, 0.03, 0.02, # SD (PNS, Swasta, Wiraswasta, Lainnya)
  0.05, 0.10, 0.06, 0.04, # SMP
  0.06, 0.18, 0.10, 0.06, # SMA
  0.08, 0.07, 0.03, 0.02  # Universitas
)

# 2. Bangkitkan Data Multinomial (500 responden)
simulasi <- rmultinom(n = 1, size = 500, prob = p_kombinasi)

# 3. Buat Data Frame
df_gabungan <- data.frame(
  Pendidikan = factor(rep(c("SD", "SMP", "SMA", "Universitas"), each = 4),
                      levels = c("SD", "SMP", "SMA", "Universitas")),
  Pekerjaan  = factor(rep(c("PNS", "Swasta", "Wiraswasta", "Lainnya"), times = 4),
                      levels = c("PNS", "Swasta", "Wiraswasta", "Lainnya")),
  Jumlah     = as.vector(simulasi)
)

# 4. Grouped Bar Chart dengan Angka di Dalam Batang
ggplot(df_gabungan, aes(x = Pendidikan, y = Jumlah, fill = Pekerjaan)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) +
  # vjust = 1.8 membuat angka turun ke DALAM batang
  geom_text(aes(label = Jumlah), 
            position = position_dodge(width = 0.8), 
            vjust = 1.8, color = "white", fontface = "bold", size = 3.5) +
  scale_fill_manual(values = c("PNS" = "#2ecc71",        # Hijau
                               "Swasta" = "#ff69b4",     # Pink
                               "Wiraswasta" = "#3498db", # Biru
                               "Lainnya" = "#f1c40f")) + # Kuning
  labs(title = "Tingkat Pendidikan berdasarkan Jenis Pekerjaan",
       x = "Tingkat Pendidikan",
       y = "Jumlah Responden",
       fill = "Jenis Pekerjaan") +
  theme_minimal() +
  theme(axis.text.x = element_text(face = "bold", size = 11),
        legend.position = "top")