y= rpois (n=10, lambda=4)
print(y)
## [1] 4 6 3 6 5 4 1 4 2 7
y= rpois (n=10, lambda=4)
print(y)
## [1] 3 9 6 2 5 5 2 2 1 4
set.seed(123)
set.seed(1)
set.seed(2)
set.seed(123)
z = rbinom (n=10, size=1, prob = 0.5)
print(z)
## [1] 0 1 0 1 1 0 1 1 1 0
z = rbinom (n=10, size=1, prob = 0.3)
print(z)
## [1] 1 0 0 0 0 1 0 0 0 1
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
set.seed(123)
df <- data.frame(x = rpois(n = 10, lambda = 4))
ggplot(df, aes(x = x)) +
geom_bar(fill = "steelblue", color = "black", alpha = 0.8) +
scale_x_continuous(breaks = min(df$x):max(df$x)) +
labs(title = "Distribusi Poisson (lambda = 4)",
x = "Nilai (x)",
y = "Frekuensi") +
theme_minimal()

library(ggplot2)
set.seed(123)
# n = jumlah sampel, size = jumlah percobaan per sampel, prob = peluang sukses
df <- data.frame(x = rbinom(n = 100, size = 10, prob = 0.5))
ggplot(df, aes(x = x)) +
geom_bar(fill = "steelblue", color = "black", alpha = 0.8) +
scale_x_continuous(breaks = min(df$x):max(df$x)) +
labs(title = "Distribusi Binomial (size = 10, prob = 0.5)",
x = "Nilai (x)",
y = "Frekuensi") +
theme_minimal()

# Menggunakan titik (.) untuk angka desimal 0.7
z = rbinom(n = 10, size = 1, prob = 0.5)
set.seed(1)
# Menampilkan hasil variabel z
print(z)
## [1] 1 0 0 1 0 1 1 1 0 0
# Menampilkan Diagram
# 1. Atur seed di paling atas agar hasil konsisten
set.seed(1)
# 2. Bangkitkan data Bernoulli (probabilitas diganti 0.5 sesuai kode Anda)
z = rbinom(n = 10, size = 1, prob = 0.5)
# 3. Menampilkan hasil variabel z ke console
print("Data z:")
## [1] "Data z:"
print(z)
## [1] 0 0 1 1 0 1 1 1 1 0
# 4. Membuat tabel frekuensi untuk menghitung jumlah 0 dan 1
tabel_z <- table(z)
# 5. MENAMPILKAN DIAGRAM BATANG
barplot(tabel_z,
main = "Diagram Batang Distribusi Bernoulli (z)",
xlab = "Nilai (0 = Gagal, 1 = Sukses)",
ylab = "Frekuensi / Jumlah Muncul",
col = c("tomato", "skyblue"),
names.arg = c("0 (Gagal)", "1 (Sukses)"))

# 1. Bangkitkan data
data_multinomial <- rmultinom(n = 1, size = 100, prob = c(0.2, 0.5, 0.3))
# 2. Buat tabelnya (PASTIKAN BARIS INI IKUT TER-RUN)
tabel_multinomial <- as.table(setNames(as.vector(data_multinomial), c("Kategori A", "Kategori B", "Kategori C")))
# 3. Cetak dan buat Pie Chart
print(tabel_multinomial)
## Kategori A Kategori B Kategori C
## 17 53 30
label_multinomial <- paste(names(tabel_multinomial), "\n(", tabel_multinomial, " Sampel)", sep="")
pie(tabel_multinomial,
labels = label_multinomial,
main = "Pie Chart Distribusi Multinomial",
col = c("#ff9999", "#66b3ff", "#99ff99"))

# ==========================================
# 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("#999", "#3ff", "#f99", "#c99")
# 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

# =====================================================================
# 1. PENGATURAN DATA
# =====================================================================
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 tabel silang
tabel_gabungan <- table(
pekerjaan_responden,
data_kampung
)
# =====================================================================
# 2. MEMBUAT DIAGRAM BATANG BERTUMPUK
# =====================================================================
# Warna untuk masing-masing jenis pekerjaan
warna_pekerjaan <- c(
"#999999",
"#3FF3FF",
"#F99999",
"#C99999"
)
# Membuat diagram dan menyimpan posisi batang
posisi <- 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),
args.legend = list(
x = "topright",
bty = "n",
inset = c(-0.05, 0)
),
ylim = c(0, max(colSums(tabel_gabungan)) + 2)
)
# =====================================================================
# 3. MENAMPILKAN ANGKA PADA SETIAP BAGIAN BATANG
# =====================================================================
# Menghitung posisi tengah setiap bagian batang
for (i in 1:ncol(tabel_gabungan)) {
# Nilai kumulatif untuk menentukan posisi Y
nilai_kumulatif <- cumsum(tabel_gabungan[, i])
# Posisi tengah masing-masing bagian
posisi_y <- nilai_kumulatif - tabel_gabungan[, i] / 2
# Menampilkan angka
text(
x = posisi[i],
y = posisi_y,
labels = tabel_gabungan[, i],
cex = 0.9,
font = 2
)
}
