# Distribusi Hipergeometrik
# Contoh
set.seed(123)
y <- rhyper(100, 8, 12, 5)
y
## [1] 1 3 2 3 3 0 2 3 2 2 4 2 2 2 1 3 1 0 2 4 3 2 2 4 2 3 2 2 1 1 4 3 2 3 0 2 3
## [38] 1 2 1 1 2 2 2 1 1 1 2 1 3 0 2 3 1 2 1 1 3 3 2 2 1 2 1 3 2 3 3 3 2 3 2 3 0
## [75] 2 1 2 2 2 1 1 2 2 3 1 2 4 3 3 1 1 2 2 2 2 1 3 1 2 2
# Distribusi Poisson
# Contoh
set.seed(0123)
y <- rpois(n=10,lambda =4)
print(y)
## [1] 3 6 3 6 7 1 4 7 4 4
y <- rpois(100, lambda = 4)
barplot(table(y),
main = "Distribusi Poisson",
xlab = "Nilai X",
ylab = "Frekuensi")

y <- rbinom(n=10,size = 1, prob =0.5)
print(y)
## [1] 1 0 0 1 1 0 1 1 1 0
barplot(table(y),
main = "Distribusi binom",
xlab = "Nilai X",
ylab = "Frekuensi")

library(ggplot2)
data <- as.data.frame(table(y))
names(data) <- c("x", "frekuensi")
ggplot(data, aes(x = "", y = frekuensi, fill = x)) +
geom_bar(stat = "identity") +
coord_polar("y") +
labs(
title = "Diagram Lingkaran Distribusi binom",
fill = "Nilai X"
) +
theme_void()

library(ggplot2)
# Distribusi Multinomial
y <- rmultinom(100, size = 1, prob = c(0.2, 0.3, 0.5))
# Data
data <- data.frame(
kategori = c("A", "B", "C"),
frekuensi = as.vector(y)
)
# Diagram lingkaran
ggplot(data, aes(x = "", y = frekuensi, fill = kategori)) +
geom_bar(stat = "identity") +
coord_polar("y") +
labs(
title = "Distribusi Multinomial",
fill = "Kategori"
) +
theme_void()

# Distribusi Multinomial
y <- rmultinom(1, 100, c(0.2, 0.3, 0.5))
data <- data.frame(
kategori = c("A", "B", "C"),
frekuensi = as.vector(y)
)
ggplot(data, aes(x = kategori, y = frekuensi, fill = kategori)) +
geom_col() +
labs(
title = "Bar Chart Distribusi Multinomial",
x = "Kategori",
y = "Frekuensi"
)

library(ggplot2)
# =========================
# 1. SIMULASI DATA PENDIDIKAN
# =========================
y <- rmultinom(1, 100, c(0.10, 0.20, 0.40, 0.30))
data_pendidikan <- data.frame(
pendidikan = c("Tamat SD", "Tamat SMP", "Tamat SMA", "Tamat Perguruan Tinggi"),
jumlah = as.vector(y)
)
# Bar Chart Pendidikan
ggplot(data_pendidikan, aes(x = pendidikan, y = jumlah, fill = pendidikan)) +
geom_col() +
geom_text(aes(label = jumlah), vjust = -0.5) +
labs(
title = "Simulasi Data Pendidikan Responden",
x = "Pendidikan Terakhir",
y = "Jumlah Responden"
)

# Pie Chart Pendidikan
ggplot(data_pendidikan, aes(x = "", y = jumlah, fill = pendidikan)) +
geom_col(width = 1) +
coord_polar("y") +
geom_text(
aes(label = jumlah),
position = position_stack(vjust = 0.5)
) +
labs(
title = "Diagram Lingkaran Pendidikan Responden",
fill = "Pendidikan"
) +
theme_void()

# =========================
# 2. SIMULASI DATA PEKERJAAN
# =========================
y <- rmultinom(1, 100, c(0.25, 0.20, 0.15, 0.25, 0.15))
data_pekerjaan <- data.frame(
pekerjaan = c("Petani", "Pedagang", "PNS", "Karyawan Swasta", "Tidak Bekerja"),
jumlah = as.vector(y)
)
# Bar Chart Pekerjaan
ggplot(data_pekerjaan, aes(x = pekerjaan, y = jumlah, fill = pekerjaan)) +
geom_col() +
geom_text(aes(label = jumlah), vjust = -0.5) +
labs(
title = "Simulasi Data Jenis Pekerjaan Responden",
x = "Jenis Pekerjaan",
y = "Jumlah Responden"
)

# Pie Chart Pekerjaan
ggplot(data_pekerjaan, aes(x = "", y = jumlah, fill = pekerjaan)) +
geom_col(width = 1) +
coord_polar("y") +
geom_text(
aes(label = jumlah),
position = position_stack(vjust = 0.5)
) +
labs(
title = "Diagram Lingkaran Jenis Pekerjaan Responden",
fill = "Pekerjaan"
) +
theme_void()

set.seed(789)
# 1. Parameter Simulasi
n_responden <- 200
pendidikan_levels <- c("SD", "SMP", "SMA", "D3", "S1", "S2")
p_pendidikan <- c(0.05, 0.10, 0.35, 0.15, 0.30, 0.05)
jabatan_levels <- c("Intern", "Staff", "Supervisor", "Manager", "Director")
p_jabatan <- c(0.15, 0.45, 0.20, 0.15, 0.05)
# 2. Membuat Data Frame 2 Variabel
df_karyawan <- data.frame(
Pendidikan = factor(sample(pendidikan_levels, n_responden, replace = TRUE, prob = p_pendidikan), levels = pendidikan_levels),
Jabatan = factor(sample(jabatan_levels, n_responden, replace = TRUE, prob = p_jabatan), levels = jabatan_levels)
)
# 3. Membuat Tabel Silang (Cross-Tabulation)
# Baris: Jabatan (untuk warna bertumpuk), Kolom: Pendidikan (untuk sumbu X)
tabel_silang <- table(df_karyawan$Jabatan, df_karyawan$Pendidikan)
print("Tabel Silang Jabatan vs Pendidikan:")
## [1] "Tabel Silang Jabatan vs Pendidikan:"
print(tabel_silang)
##
## SD SMP SMA D3 S1 S2
## Intern 0 2 18 7 13 0
## Staff 2 10 29 15 24 2
## Supervisor 2 3 10 8 7 3
## Manager 0 1 15 5 12 1
## Director 1 1 2 3 3 1
# 4. Warna untuk Setiap Jabatan (5 Warna)
warna_jabatan <- c("#9ECAE1", "#4292C6", "#2171B5", "#08519C", "#08306B")
# 5. Membuat Diagram Batang Bertumpuk (Stacked Barplot)
barplot(tabel_silang,
main = "Distribusi Jabatan Berdasarkan Tingkat Pendidikan",
xlab = "Tingkat Pendidikan",
ylab = "Jumlah Responden",
col = warna_jabatan,
border = "white",
ylim = c(0, max(colSums(tabel_silang)) + 15))
# Menambahkan Legenda Kategori Jabatan
legend("topright",
legend = rownames(tabel_silang),
fill = warna_jabatan,
title = "Jabatan",
bg = "white",
cex = 0.8)

set.seed(789)
# 1. Parameter Simulasi
n_responden <- 200
pendidikan_levels <- c("SD", "SMP", "SMA", "D3", "S1", "S2")
p_pendidikan <- c(0.05, 0.10, 0.35, 0.15, 0.30, 0.05)
jabatan_levels <- c("Intern", "Staff", "Supervisor", "Manager", "Director")
p_jabatan <- c(0.15, 0.45, 0.20, 0.15, 0.05)
# 2. Membuat Data
df_karyawan <- data.frame(
Pendidikan = factor(
sample(pendidikan_levels, n_responden,
replace = TRUE, prob = p_pendidikan),
levels = pendidikan_levels
),
Jabatan = factor(
sample(jabatan_levels, n_responden,
replace = TRUE, prob = p_jabatan),
levels = jabatan_levels
)
)
# 3. Tabel Silang
tabel_silang <- table(
df_karyawan$Jabatan,
df_karyawan$Pendidikan
)
print(tabel_silang)
##
## SD SMP SMA D3 S1 S2
## Intern 0 2 18 7 13 0
## Staff 2 10 29 15 24 2
## Supervisor 2 3 10 8 7 3
## Manager 0 1 15 5 12 1
## Director 1 1 2 3 3 1
# 4. Warna
warna_jabatan <- c(
"#9ECAE1",
"#4292C6",
"#2171B5",
"#08519C",
"#08306B"
)
# 5. Diagram Batang Berdampingan
posisi <- barplot(
tabel_silang,
main = "Distribusi Jabatan Berdasarkan Tingkat Pendidikan",
xlab = "Tingkat Pendidikan",
ylab = "Jumlah Responden",
col = warna_jabatan,
border = "white",
beside = TRUE,
ylim = c(0, max(tabel_silang) + 15)
)
# 6. Menambahkan Angka pada Setiap Batang
text(
x = posisi,
y = as.vector(tabel_silang),
labels = as.vector(tabel_silang),
pos = 3,
cex = 0.8
)
# 7. Legenda
legend(
"topright",
legend = rownames(tabel_silang),
fill = warna_jabatan,
title = "Jabatan",
bg = "white",
cex = 0.8
)
