y=rpois(n=10,lambda=4)
print(y)
##  [1] 0 4 4 8 5 2 6 3 9 6
set.seed(123)
print(y)
##  [1] 0 4 4 8 5 2 6 3 9 6
set.seed(2)
print(y)
##  [1] 0 4 4 8 5 2 6 3 9 6
set.seed(3)
print(y)
##  [1] 0 4 4 8 5 2 6 3 9 6
set.seed(0)
print(y)
##  [1] 0 4 4 8 5 2 6 3 9 6
set.seed(2)
print(y)
##  [1] 0 4 4 8 5 2 6 3 9 6
z=rbinom(n=10,size=1,prob=0.3)
print(z)
##  [1] 0 1 0 0 1 1 0 1 0 0
# Distribusi Poisson
lambda <- 4

# Nilai x
x <- 0:15

# Menghitung probabilitas Poisson
prob <- dpois(x, lambda)

# Menampilkan tabel
data.frame(x, prob)
##     x         prob
## 1   0 1.831564e-02
## 2   1 7.326256e-02
## 3   2 1.465251e-01
## 4   3 1.953668e-01
## 5   4 1.953668e-01
## 6   5 1.562935e-01
## 7   6 1.041956e-01
## 8   7 5.954036e-02
## 9   8 2.977018e-02
## 10  9 1.323119e-02
## 11 10 5.292477e-03
## 12 11 1.924537e-03
## 13 12 6.415123e-04
## 14 13 1.973884e-04
## 15 14 5.639669e-05
## 16 15 1.503912e-05
# Membuat diagram batang
barplot(prob,
        names.arg = x,
        main = "Distribusi Poisson (λ = 4)",
        xlab = "Nilai X",
        ylab = "P(X = x)",
        col = "skyblue",
        border = "black")

# ==========================================
# DISTRIBUSI BERNOULLI
# ==========================================

# Probabilitas sukses
p <- 0.6

# Nilai X
x <- c(0, 1)

# Probabilitas Bernoulli
prob <- dbinom(x, size = 1, prob = p)

# Menampilkan tabel
data.frame(
  X = x,
  P_X = prob
)
##   X P_X
## 1 0 0.4
## 2 1 0.6
# Diagram batang
barplot(prob,
        names.arg = x,
        main = "Distribusi Bernoulli (p = 0.6)",
        xlab = "Nilai X",
        ylab = "P(X = x)",
        col = "skyblue",
        border = "black")

# Distribusi Bernoulli
p <- 0.6

# Probabilitas
prob <- c(1 - p, p)

# Label
label <- c("Gagal", "Sukses")

# Diagram lingkaran
pie(prob,
    labels = paste(label, prob * 100, "%"),
    main = "Diagram Lingkaran Distribusi Bernoulli",
    col = c("skyblue", "pink"))

# DISTRIBUSI MULTINOMIAL

kategori <- c("Pelajar", "Wirausaha", "Karyawan", "PNS")

prob <- c(0.30, 0.25, 0.25, 0.20)

# Diagram batang
barplot(prob,
        names.arg = kategori,
        main = "Distribusi Multinomial",
        xlab = "Kategori",
        ylab = "Probabilitas",
        col = c("skyblue", "orange", "lightgreen", "pink"),
        border = "black")

# Diagram lingkaran
pie(prob,
    labels = paste(kategori, prob * 100, "%"),
    main = "Distribusi Multinomial",
    col = c("skyblue", "orange", "lightgreen", "pink"))

# Keterangan warna
legend("topright",
       legend = kategori,
       fill = c("skyblue", "orange", "lightgreen", "pink"))

##Membuat Simulasi Tingkat Pendidikan

# ==========================================
# SIMULASI DISTRIBUSI MULTINOMIAL
# Tingkat Pendidikan
# ==========================================

# Jumlah responden
n <- 100

# Probabilitas masing-masing kategori
prob <- c(0.20, 0.25, 0.30, 0.25)

# Nama kategori
kategori <- c("SD", "SMP", "SMA", "Perguruan Tinggi")

# Membuat data simulasi
set.seed(123)
hasil <- rmultinom(1, size = n, prob = prob)

# Mengubah hasil menjadi data
data_pendidikan <- data.frame(
  Pendidikan = kategori,
  Frekuensi = as.vector(hasil)
)

# Menampilkan data
data_pendidikan
##         Pendidikan Frekuensi
## 1               SD        18
## 2              SMP        29
## 3              SMA        30
## 4 Perguruan Tinggi        23
# ==========================================
# DIAGRAM LINGKARAN
# ==========================================

pie(data_pendidikan$Frekuensi,
    labels = paste(data_pendidikan$Pendidikan,
                   data_pendidikan$Frekuensi,
                   sep = " = "),
    main = "Distribusi Tingkat Pendidikan",
    col = c("skyblue", "orange", "lightgreen", "pink"))

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

barplot(data_pendidikan$Frekuensi,
        names.arg = data_pendidikan$Pendidikan,
        main = "Distribusi Tingkat Pendidikan",
        xlab = "Tingkat Pendidikan",
        ylab = "Frekuensi",
        col = c("skyblue", "orange", "lightgreen", "pink"),
        border = "black")

# ==========================================
# DATA SIMULASI MULTINOMIAL
# ==========================================

# Kategori tingkat pendidikan
pendidikan <- c("SD", "SMP", "SMA", "Perguruan Tinggi")

# Frekuensi tingkat pendidikan
frekuensi_pendidikan <- c(15, 20, 30, 35)

# Frekuensi pekerjaan
frekuensi_pekerjaan <- c(20, 25, 30, 25)

# Menggabungkan data
data <- rbind(
  "Tingkat Pendidikan" = frekuensi_pendidikan,
  "Pekerjaan" = frekuensi_pekerjaan
)

# ==========================================
# DIAGRAM BATANG BERTUMPUK
# ==========================================

barplot(data,
        names.arg = pendidikan,
        col = c("skyblue", "pink"),
        main = "Distribusi Tingkat Pendidikan dan Pekerjaan",
        xlab = "Tingkat Pendidikan",
        ylab = "Frekuensi",
        border = "black")

# Legenda
legend("topright",
       legend = c("Tingkat Pendidikan", "Pekerjaan"),
       fill = c("skyblue", "pink"))

# ==========================================
# DATA TINGKAT PENDIDIKAN DAN PEKERJAAN
# ==========================================

# Data frekuensi
data <- matrix(c(
  12,  2,  1,  0,   # SD
   8,  5,  3,  1,   # SMP
  10,  8, 15,  5,   # SMA
   5, 10, 20, 15    # Perguruan Tinggi
),
nrow = 4,
byrow = TRUE)

# Nama baris
rownames(data) <- c(
  "SD",
  "SMP",
  "SMA",
  "Perguruan Tinggi"
)

# Nama pekerjaan
colnames(data) <- c(
  "Pelajar",
  "Wirausaha",
  "Karyawan",
  "PNS"
)

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

barplot(t(data),
        beside = TRUE,
        col = c("skyblue", "orange", "lightgreen", "pink"),
        main = "Distribusi Pekerjaan berdasarkan Tingkat Pendidikan",
        xlab = "Tingkat Pendidikan",
        ylab = "Frekuensi",
        border = "black",
        ylim = c(0, 25))

# Legenda
legend("topright",
       legend = c("Pelajar", "Wirausaha", "Karyawan", "PNS"),
       fill = c("skyblue", "orange", "lightgreen", "pink"))

# ==========================================
# DATA TINGKAT PENDIDIKAN DAN PEKERJAAN
# ==========================================

data <- matrix(c(
  12, 2, 1, 0,     # SD
   8, 5, 3, 1,     # SMP
  10, 8, 15, 5,    # SMA
   5, 10, 20, 15   # Perguruan Tinggi
),
nrow = 4,
byrow = TRUE)

rownames(data) <- c(
  "SD",
  "SMP",
  "SMA",
  "Perguruan Tinggi"
)

colnames(data) <- c(
  "Pelajar",
  "Wirausaha",
  "Karyawan",
  "PNS"
)

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

posisi <- barplot(t(data),
                  beside = TRUE,
                  col = c("skyblue", "orange", "lightgreen", "pink"),
                  main = "Distribusi Pekerjaan berdasarkan Tingkat Pendidikan",
                  xlab = "Tingkat Pendidikan",
                  ylab = "Frekuensi",
                  border = "black",
                  ylim = c(0, 25))

# ==========================================
# MENAMPILKAN ANGKA DI ATAS BATANG
# ==========================================

text(x = posisi,
     y = as.vector(t(data)),
     labels = as.vector(t(data)),
     pos = 3,
     cex = 0.8)

# ==========================================
# LEGENDA
# ==========================================

legend("topright",
       legend = c("Pelajar", "Wirausaha", "Karyawan", "PNS"),
       fill = c("skyblue", "orange", "lightgreen", "pink"))

data <- matrix(c(
  12, 4, 2, 1,
   9, 6, 4, 2,
  11, 9, 15, 6,
   5, 11, 19, 14
), nrow = 4, byrow = TRUE)

rownames(data) <- c("SD", "SMP", "SMA", "Perguruan Tinggi")
colnames(data) <- c("Pelajar", "Wirausaha", "Karyawan", "PNS")

# Membuat diagram batang
posisi <- barplot(
  t(data),
  beside = TRUE,
  col = c("skyblue", "orange", "lightgreen", "pink"),
  main = "Distribusi Pekerjaan berdasarkan Tingkat Pendidikan",
  xlab = "Tingkat Pendidikan",
  ylab = "Frekuensi",
  border = "black",
  ylim = c(0, 22)
)

# Menampilkan angka DI DALAM batang
text(
  x = posisi,
  y = as.vector(t(data)) / 2,
  labels = as.vector(t(data)),
  col = "black",
  cex = 0.9,
  font = 2
)

# Keterangan warna
legend(
  "topright",
  legend = c("Pelajar", "Wirausaha", "Karyawan", "PNS"),
  fill = c("skyblue", "orange", "lightgreen", "pink")
)