No. 1 : Membuat simulasi untuk distribusi diskrit dan distribusi kontinu.

a) Distribusi Random Diskrit : Distribusi Poisson

set.seed(123)
n <- 150 # Jumlah data
lambda <- 9 # Parameter lambda
data_poisson <- rpois(n, lambda) # Membuat simulasi
hist(data_poisson, breaks = 30, main = "Histogram Distribusi Poisson", xlab = "Jumlah Kejadian", col = "blue")

Pada code di atas, contoh distribusi random diskrit yang diambil adalah distribusi poisson. Distribusi Poisson digunakan untuk memodelkan jumlah kejadian yang terjadi dalam suatu interval waktu atau ruang tertentu dengan rata-rata kejadian yang diketahui.

Pada simulasi ini digunakan fungsi “rpois()” untuk menghasilkan 150 data acak dengan parameter “lambda” sebesar 3, yang menunjukkan rata-rata jumlah kejadian dalam satu interval. Hasil simulasi kemudian divisualisasikan menggunakan histogram untuk melihat pola distribusi dari data yang dihasilkan. Distribusi Poisson sering digunakan untuk memodelkan kejadian-kejadian yang jarang terjadi, seperti jumlah kecelakaan, jumlah panggilan telepon yang masuk, atau jumlah pelanggan yang datang dalam periode waktu tertentu.

b) Distribusi Random Kotinu : Distribusi Normal

set.seed(123)
n <- 150 # Jumlah data
mu <- 70 # Rata-rata
sigma <- 8 # Standar deviasi
data_normal <- rnorm(n, mu, sigma) # Membuat simulasi
hist(data_normal, breaks = 30, main = "Histogram Distribusi Normal", xlab = "Nilai", col = "green")

Pada code di atas, contoh distribusi random kontinu yang diambil adalah distribusi normal. Distribusi normal merupakan salah satu distribusi probabilitas yang paling sering digunakan dalam statistika dan memiliki bentuk kurva lonceng yang simetris. Distribusi ini ditentukan oleh dua parameter utama, yaitu rata-rata (mu) yang menunjukkan pusat distribusi dan standar deviasi (sigma) yang menunjukkan tingkat penyebaran data.

Pada simulasi ini digunakan fungsi “rnorm()” untuk menghasilkan 150 data acak dengan rata-rata sebesar 70 dan standar deviasi sebesar 8. Data yang dihasilkan kemudian divisualisasikan menggunakan histogram untuk melihat bentuk distribusi dari data tersebut. Distribusi normal sering digunakan untuk memodelkan berbagai fenomena alami seperti nilai ujian, tinggi badan, dan berat badan manusia.

No. 2 : Membuat studi kasus yang melibatkan simulasi variabel random dari distribusi yang telah dipelajari.

Simulasi kecelakaan di Tol Cipali tiap bulan selama dua tahun menggunakan Distribusi Poisson

set.seed(123)
n_bulan <- 24 # Jumlah bulan selama dua tahun
lambda_kecelakaan <- 36 # Rata-rata kecelakaan tiap bulan
data_kecelakaan <- rpois(n_bulan, lambda_kecelakaan) # Membuat simulasi kecelakaan
tabel_kecelakaan <- data.frame(data_kecelakaan)
tabel_kecelakaan
##    data_kecelakaan
## 1               32
## 2               43
## 3               25
## 4               36
## 5               46
## 6               38
## 7               28
## 8               25
## 9               43
## 10              38
## 11              38
## 12              36
## 13              32
## 14              43
## 15              40
## 16              35
## 17              31
## 18              29
## 19              33
## 20              31
## 21              42
## 22              35
## 23              29
## 24              29

Pada code di atas, jumlah kecelakaan yang terjadi di Tol Cipali tiap bulan selama dua tahun dijadikan simulasi dengan pemodelan menggunakan distribusi Poisson. Pada contoh ini, diasumsikan bahwa rata-rata kecelakaan yang terjadi di Tol Cipali adalah 36 kecelakaan tiap bulannya.

Distribusi Poisson cocok digunakan dalam kasus ini karena kecelakaan lalu lintas merupakan kejadian yang relatif jarang terjadi dan jumlahnya dapat dihitung dalam interval waktu tertentu.

Perintah “set.seed(123)” digunakan untuk menetapkan nilai awal generator bilangan acak sehingga hasil simulasi yang dihasilkan akan sama setiap kali kode dijalankan. Hal ini bertujuan agar hasil analisis dapat direproduksi kembali.

Variabel “n_bulan <- 24” menunjukkan bahwa simulasi dilakukan selama 24 bulan, yang merepresentasikan periode pengamatan selama dua tahun. Selanjutnya “lambda_kecelakaan <- 36” menyatakan bahwa rata-rata jumlah kecelakaan yang diasumsikan terjadi adalah 36 kecelakaan setiap bulan.

Fungsi “rpois(n_bulan, lambda_kecelakaan)” digunakan untuk menghasilkan data acak sebanyak 24 nilai yang mengikuti distribusi Poisson dengan parameter lambda = 36. Data yang dihasilkan kemudian disimpan dalam variabel data_kecelakaan.

Selanjutnya data tersebut dimasukkan ke dalam sebuah tabel menggunakan “data.frame()” dan disimpan dalam variabel “tabel_kecelakaan”. Perintah “tabel_kecelakaan” digunakan untuk menampilkan hasil simulasi jumlah kecelakaan per bulan selama dua tahun.

Melalui simulasi ini dapat dilihat bagaimana variasi jumlah kecelakaan yang mungkin terjadi setiap bulan di sekitar nilai rata-ratanya.

1) Menghitung rata-rata simulasi kecelakaan

# 1. Rata-rata jumlah simulasi kecelakaan tiap bulannya
mean_kecelakaan <- mean(data_kecelakaan)
cat("Rata-rata jumlah simulasi kecelakaan tiap bulannya adalah", mean_kecelakaan, "\n", "kecelakaan")
## Rata-rata jumlah simulasi kecelakaan tiap bulannya adalah 34.875 
##  kecelakaan

Pada code di atas, perintah “mean()” digunakan untuk menghitung nilai rata-rata dari data simulasi kecelakaan yang tersimpan dalam variabel “data_kecelakaan”. Nilai ini menunjukkan perkiraan jumlah kecelakaan rata-rata yang terjadi setiap bulan selama periode simulasi dua tahun.

2) Menghitung probabilitas simulasi kecelakaan lebih dari rata-rata simulasi

# 2. Probabilitas simulasi jumlah kecelakaan lebih dari rata-rata simulasi tiap bulannya
prob <- sum(data_kecelakaan > mean_kecelakaan) / n_bulan
cat("Probabilitas simulasi jumlah kecelakaan lebih dari rata-rata simulasi tiap bulannya adalah", prob, "\n")
## Probabilitas simulasi jumlah kecelakaan lebih dari rata-rata simulasi tiap bulannya adalah 0.5416667

Code di atas digunakan untuk menghitung probabilitas simulasi kejadian dimana jumlah kecelakaan dalam satu bulan lebih dari rata-rata simulasi.

Langkah yang dilakukan adalah:

  • “data_kecelakaan > mean_kecelakaan” digunakan untuk memeriksa bulan-bulan yang memiliki jumlah kecelakaan lebih dari rata-rata simulasi.

  • “sum()” menghitung berapa kali kondisi tersebut terjadi.

Hasilnya kemudian dibagi dengan “n_bulan” (jumlah bulan dalam simulasi) untuk memperoleh nilai probabilitas empiris dari kejadian tersebut.

3) Menampilkan ringkasan data statistik

summary(data_kecelakaan)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   25.00   30.50   35.00   34.88   38.50   46.00

Fungsi “summary()” digunakan untuk menampilkan ringkasan statistik deskriptif dari data simulasi kecelakaan. Ringkasan tersebut meliputi:

  • Min : jumlah kecelakaan minimum = 25

  • 1st Qu. : kuartil pertama (25% data terendah) = 30.50

  • Median : nilai tengah data = 35

  • Mean : rata-rata data = 34.88

  • 3rd Qu. : kuartil ketiga (75% data terendah) = 38.50

  • Max : jumlah kecelakaan maksimum = 46

Informasi ini membantu memberikan gambaran mengenai sebaran dan karakteristik data simulasi kecelakaan yang dihasilkan.