Dr. Danardono
Jurusan Matematika
FMIPA UGM
SIMULASI (MMS-2804)
Pengantar
Materi Kuliah
Sistem, model dan simulasi; Dasar-dasar analisis Simulasi;
Pemodelan dan pemrograman Simulasi; Aplikasi dalam bidang
sains, manajemen dan pengambilan keputusan
Penilaian
Tugas 25%
- Tahap I dikumpulkan saat US
- Tahap II dikumpulkan saat UA
Buku Teks dan Referensi
Hoover & Perry (1989). Simulation, A Problem Solving
Approach. Addison-Wesley Pub. Co.
Averil M. Law & W. David Kelton (1991). Simulation Modeling
and Analysis. Mc. Graw-Hill
Khoshnevis (1994). Discrete Systems Simulation. McGraw-Hill
Intl. Ed.
Krahl (2002). The Extend Simulation Environment. Proceedings
of the 2002 Winter Simulation Conference.
Program
EXCEL
EXTEND
- Download di http://info.ugm.ac.id/simulasi
- Ofcial Webpage:
http://www.imaginethatinc.com/
GPSS World
- Download di http://info.ugm.ac.id/simulasi
- Ofcial Webpage:
http://www.minutemansoftware.com/
Bidang terkait:
- Pemodelan
- Probabilitas dan Statistika
- Pemerogaman Komputer
- Metode heuristik
Simulasi dan Pemodelan
Denisi Simulasi
Proses merancang model (matematika atau logika)
dari suatu sistem dan kemudian menjalankannya
untuk mendeskripsikan, menjelaskan, dan menduga
(memprediksi) tingkah laku (karakteristik dinamis)
sistem.
Simulasi dan Pemodelan
Klasikasi Model
preskriptif deskriptif
diskret kontinu
probabilistik deterministik
statik dinamik
Analisis Inventori
Sistem Distribusi
Penjadualan
Sistem Antrian
Perencanaan
Sistem Penanganan
Material
Permainan
Setting
Pabrik
Kesehatan
Pemerintahan
Administrasi Publik
Pendidikan
Industri
Keuntungan dan Kerugian
Model Analitik Model Simulasi
Keuntungan
keringkasan dan
closed-form
kemudahan
evaluasi menuju
solusi optimal
sarana pelatihan
Kerugian
asumsi tidak
realistis
formula yang
kompleks
model simulasi
yang baik mungkin
mahal
Elemen Analisis Simulasi
Formulasi Masalah
Pengembangan Model
Implementasi
Elemen Analisis Simulasi
Formulasi Masalah
Pengumpulan Data dan Analisis
Pengembangan Model
Verikasi dan Validasi
Eksperimentasi dan Optimisasi
Implementasi
Formulasi Masalah
Memahami sistem
Konstruksi model
- Diagram alur (owchart)
- Pemilihan bahasa pemrograman
- Bilangan random dan statistik
- Pemrograman dan debugging
Verikasi dan Validasi Model
Rancangan percobaan
Analisis output
Implementasi
Sistem stokastik
Contoh:
Antrian (di bank, pompa bensin, supermarket, dst.)
inventori (di pabrik)
Antrian sistem jaringan komputer
Representasi Kejadian
Event graph
i
Kejadian i
Hubungan tak bersyarat
Hubungan bersyarat
Representasi Kejadian
Contoh:
Kejadian i akan menuju ke kejadian j, dalam waktu t, asalkan
kondisi C
1
dipenuhi.
j
i
C
1
t
C
1
t
s
C
2
C
1
t
pesan
Model Inventori
Variabel Keputusan
S : batas inventori dimana perlu pemesanan kembali
Q : Banyaknya barang yang dipesan
Kriteria (fungsi obyektif)
Meminimumkan
C
i
: biaya inventori
C
R
: biaya pemesanan
C
p
: biaya penalti
Model Inventori
Hari Inventori Permintaan Catatan
1 20 5 Hari ke-1 (Senin)
2 15 3
3 12 2 Pesan 30 unit
4 10 4
5 6 1
6 5 0 Sabtu
7 5 0 Minggu
8 5 2
9 3 2
10 1 3 Permintaan tdk dipenuhi
11 30 2 Pesanan datang
12 28 1
13 27 0 Sabtu
14 27 0 Minggu
15 27 3
16 24 5
17 19 4
18 15 2
19 13 4
Model Inventori
rata-rata inventori =
1
T
_
T
0
inv(t)dt
5 10 15
0
5
10
15
20
25
30
waktu
i
n
v
SIMULASI (MMS-2804)
Model Probabilitas
dan Statistika
Peluang dan Variabel Random
Peluang (probabilitas): Harga angka yang menunjukkan
seberapa besar kemungkinan suatu peristiwa akan terjadi.
Peluang dan Variabel Random
Peluang (probabilitas): Harga angka yang menunjukkan
seberapa besar kemungkinan suatu peristiwa akan terjadi.
tidak mungkin
sangat tidak mungkin
mungkin ya mungkin tidak
sangat mungkin
pasti
Peluang dan Variabel Random
Peluang (probabilitas): Harga angka yang menunjukkan
seberapa besar kemungkinan suatu peristiwa akan terjadi.
0 1
tidak mungkin
sangat tidak mungkin
mungkin ya mungkin tidak
sangat mungkin
pasti
Peluang dan Variabel Random
Eksperimen (percobaan, trial): Prosedur yang dijalankan pada
kondisi yang sama dan dapat diamati hasilnya (outcome).
Ruang sampel (semesta, universe: Himpunan semua hasil yang
mungkin dari suatu eksperimen.
Peristiwa (kejadian, event): Himpunan bagian dari suatu ruang
sampel.
Peluang dan Variabel Random
Contoh
Eksperimen : Pelemparan sebuah mata uang logam dua
kali
Hasil : Sisi mata uang yang tampak
Ruang sampel : S = {MM,MB,BM,BB}
dengan M: sisi muka dan B: sisi belakang
Peristiwa : A = paling sedikit muncul satu belakang
= {MB,BM,BB}
B = muncul sisi yang sama
= {MM,BB}
Peluang dan Variabel Random
Peluang Suatu Peristiwa
Denisi klasik, dengan menganggap tiap-tiap elemen ruang
sampel S mempunyai peluang yang sama untuk terjadi.
Peluang terjadinya peristiwa A,
P(A) =
n(A)
n(S)
dengan n(A) = banyaknya anggota dalam peristiwa A, dan
n(S) = banyaknya anggota ruang sampel
Peluang dan Variabel Random
Peluang Suatu Peristiwa
Beberapa ketentuan:
0 P(A) 1
P(A) = 1 P(A
c
) (aturan komplemen)
tx
f(t)
Peluang dan Variabel Random
Distribusi Peluang Diskret
Distribusi peluang X dalam bentuk tabel:
Harga X P(X = x) = f(x)
x
1
P
1
x
2
P
2
. . . . . .
x
k
P
k
Peluang dan Variabel Random
Distribusi Peluang Diskret
Contoh
Distribusi banyaknya sisi muka yang muncul dalam pelemparan
mata uang logam tiga kali.
Harga X P(X = x) = f(x)
0 1/8
1 3/8
2 3/8
3 1/8
P(x) = 1
Peluang dan Variabel Random
Distribusi Peluang Kontinu (Fungsi Densitas)
Distribusi peluang untuk variabel random kontinu.
Fungsi f(x) disebut sebagai fungsi densitas peluang dari
variabel random kontinu X, jika untuk setiap harga x yang
mungkin :
1. f(x) 0
2.
_
f(x)dx = 1
Nilai peluang untuk interval tertentu
P(a X b) =
_
b
a
f(x)dx
Distribusi kumulatif F(x)
F(x) = P(X x) =
_
x
f(u)du
Peluang dan Variabel Random
Distribusi Peluang Kontinu (Fungsi Densitas)
Contoh
Fungsi densitas suatu variabel random X
f(x) =
_
x
2
untuk 0 < x < 2
0 untuk x yang lain
Distribusi Bernoulli
Eksperimen Bernoulli
Eksperimen dengan hanya dua hasil yang mungkin
Contoh
x
x!
, x = 0, 1, 2, . . .
Mean dan Variansi
E(X) = ; Var(X) =
Distribusi Poisson
Contoh
Rata-rata banyaknya partikel radioaktif yang melewati suatu
counter selama 1 milidetik dalam suatu percobaan di
laboratorium adalah 4. Peluang 6 partikel melewati counter
dalam suatu milidetik tertentu adalah
P(X = 6; = 4) =
e
4
4
x
6!
= 0, 1042
Distribusi Poisson
Poisson dengan = 2
0 1 2 3 4 5 6 7 8 9 10
0
.
0
0
0
.
0
5
0
.
1
0
0
.
1
5
0
.
2
0
0
.
2
5
Distribusi Poisson
Poisson dengan = 5
0 1 2 3 4 5 6 7 8 9 11 13 15
0
.
0
0
0
.
0
5
0
.
1
0
0
.
1
5
Distribusi Poisson
Poisson dengan = 8
0 2 4 6 8 10 12 14 16 18 20
0
.
0
0
0
.
0
2
0
.
0
4
0
.
0
6
0
.
0
8
0
.
1
0
0
.
1
2
Distribusi Geometrik
X adalah banyaknya usaha sampai suatu peristiwa terjadi untuk
pertama kalinya.
f(x) = (1 p)
x1
p, x = 1, 2, . . .
Mean dan Variansi,
E(X) = 1/p ; Var(X) = (1 p)/p
2
Distribusi Geometrik
Contoh
Seorang salesman mobil berusaha menjual mobil. Banyaknya
orang (pelanggan) yang dia temui sampai terjadi penjualan yang
pertama kali dapat dimodelkan dengan distribusi Geometrik.
Distribusi Uniform
Digunakan untuk memodelkan proses dimana hasil (outcome)
nya mempunyai peluang yang sama untuk terjadi dalam interval
waktu a dan b
f(x) =
1
b a
, a x b
Mean dan variansi,
E(X) =
a+b
2
; Var(X) =
(ba)
2
12
Distribusi Normal
Distribusi Normal dengan mean E(X) = dan variansi
Var(X) =
2
(ditulis N(,
2
)) mempunyai fungsi peluang,
f(x; ,
2
) =
1
2
2
e
(x)
2
2
2
, < x <
dengan < < ,
2
> 0, = 3, 141593 . . . dan
e = 2, 718282 . . .
Distribusi Normal standar: distribusi Normal dengan mean 0 dan
variansi 1, ditulis N(0, 1)
Distribusi Normal
Kurva Normal
-
Sumbu x : < x <
Distribusi Normal
Kurva Normal
-
Sumbu x : < x <
Fungsi peluang (sumbu y):
f(x; ,
2
) =
1
2
2
e
(x)
2
2
2
, < x <
Distribusi Normal
Kurva Normal
-
Sifat-sifat:
Distribusi Normal
Kurva Normal
-
Sifat-sifat:
Sifat-sifat:
+
Sifat-sifat:
Sifat-sifat:
e
x/
, x > 0
Mean dan variansi
E(X) = ; Var(X) =
2
, sering juga ditulis sebagai E(X) = 1/
; Var(X) = 1/
2
Distribusi Eksponensial
Eksponensial dengan = 1
0 2 4 6 8
0
.
0
0
.
2
0
.
4
0
.
6
0
.
8
1
.
0
x
f
(
x
)
Distribusi Gamma
Fungsi densitas distribusi Gamma
f(x) =
x
1
e
x/
()
, X > 0
bila integer = ( 1)!
Mean dan variansi,
E(X) = ; Var(X) =
2
Distribusi Gamma
Beberapa fenomena yang dapat dimodelkan dengan distribusi
Gamma
, X >
Mean dan Variansi
E(X) = +(1 + 1/) ;
Var(X) =
2
((1 + 2/)
2
(1 + 1/))
Distribusi Lognormal
Distribusi ini dapat diturunkan dari distribusi Normal
Y N(,
2
) dan mendenisikan X = log Y , fungsi densitasnya
f(x) =
1
2
exp(log(x )
2
/2
2
), X > 0
Mean dan variansi
E(X) = exp( +
2
/2);
Var(X) = exp(2 +
2
)(exp(
2
) 1)
Distribusi Beta
Fungsi densitas distribusi Beta,
f(x) =
( +)x
1
(1 x)
1
()()
, 0 x 1
Mean dan variansi
E(X) = /( +);
Var(X) =
(+)
2
(++1)
Identikasi Model Probabilitas
Langkah-langkah identikasi distribusi:
1. Hitung statistik deskriptif data (mean, median, modus,
deviasi standar, dst.) dan gambarkan bentuk distrtibusinya
dengan histogram, boxplot, stemleaf diagram
2. Berdasarkan statistik deskriptif tersebut dan pengetahuan
tentang proses pada sistem tersebut, ajukan suatu dugaan
tentang model probabilitas teoritis data tersebut
3. Ujilah dugaan (hipotesis) tersebut dengan uji goodness
of fit, misalnya dengan Chi-square atau
Kolmogorov-Smirnov test.
Histogram Data
Misalkan X adalah waktu antar kedatangan dalam suatu unit
waktu.
waktu antar kedatangan
f
r
e
k
u
e
n
s
i
r
e
l
a
t
i
f
0.0 0.5 1.0 1.5 2.0
0
.
0
0
.
5
1
.
0
1
.
5
2
.
0
Histogram Data
Misalkan X adalah waktu antar kedatangan dalam suatu unit
waktu.
waktu antar kedatangan
f
r
e
k
u
e
n
s
i
r
e
l
a
t
i
f
0.0 0.5 1.0 1.5 2.0
0
.
0
0
.
5
1
.
0
1
.
5
2
.
0
Uji Independensi
Suatu model simulasi akan dikembangkan untuk sebuah sistem
rumah sakit. Model tersebut akan digunakan untuk memprediksi
pengaruh pola atau kenis kasus-kasus pasien terhadap beban
kerja laboran. Diperoleh data 300 pasien yang diperoleh secara
random dari rekam medis rumah sakit meliputi jenis kasusnya
dan tes laboratoriumnya.
Kategori Banyaknya tes laboratorium
Pasien 0 1-3 4-6 7-10 10+ Total
Umum 14 29 55 31 21 140
Bedah 8 10 18 27 7 70
Pediatri 10 16 14 8 2 50
Obstetrik 8 15 13 4 0 40
Total 40 60 100 70 30 300
Uji Independensi
Hipotesisnya:
H
0
: banyaknya tes independen terhadap kategori pasien
H
1
: banyaknya tes dependen terhadap kategori pasien
Menggunakan statistik Chi-square W,
W =
b
i=1
k
j=1
(O
ij
E
ij
)
2
E
ij
,
dengan b banyaknya baris, k banyaknya kolom, O
ij
obervasi
pada tiap-tiap sel i, j dan E
ij
harga harapan pada tiap-tiap sel
i, j. Statistik W berdistribusi
2
(b1)(k1)
E
ij
= N
i
N
j
/N, N
i
total baris i, N
j
total kolom j, dan N total
observasi
Uji Independensi
Hasil hitungan
W =
4
i=1
5
j=1
(O
ij
E
ij
)
2
E
ij
= 36, 34
Untuk menentukan apakah data mendukung H
0
atau tidak W
dibandingkan dengan tabel
2
(b1)(k1)
atau dengan menghitung
P(X > W) (p-value).
Dengan tabel diperoleh
2
0,9;(b1)(k1)
=
2
12
= 21, 0. Karena
W > 21, 0 data tidak mendukung H
0
(H
0
ditolak)
Dengan p-value diperoleh P(X > W) = 0, 00029 (relatif cukup
kecil) data tidak mendukung H
0
Uji Kerandoman
R
, dengan E(R) =
2n
1
n
2
(n
1
+n
2
)
+ 1
dan
2
R
=
2n
1
n
2
(2n
1
n
2
n
1
n
2
)
(n
1
+n
2
)
2
(n
1
+n
2
1)
Z N(0, 1) (jika n
1
, n
2
> 10 )
Uji Kerandoman
Hasil Hitungan
E(R) = 25,
R
= 3, 36 sehingga
Z =
R E(R)
R
=
23 25
3, 36
= 0, 6
Dibandinglan dengan nilai distribusi Normal standar
Z
0,025
= 1, 96, disimpulkan data tidak mendukung penolakan
H
0
, atau kedatangan pesawat baik itu komersial atau pribadi
independen terhadap kedatangan sebelumnya.
Uji Kerandoman
Data 25 lama proses manual di pabrik dalam suatu unit waktu
adalah
10,0 10,1 10,5 10,9 11,0 10,5 10,4 10,6 10,3
10,2 9,0 9,4 9,5 9,6 10,1 10,2 10,1 10,0
9,6 9,7 10,2 10,5 10,8 9,9 9,6
Hipotesis
H
0
: lama proses manual tersebut random (independen)
H
1
: lama proses manual tersebut tidak random
Karena data tersebut berupa bilangan kontinu (outcome kontinu)
maka digunakan Runs Up and Runs Down Test.
Uji Kerandoman
Menentukan tanda naik (+) atau turun ()
10,0
+
10,1
+
10,5
+
10,9
+
11,0
10,5
10,4
+
10,6
10,3
10,2
9,0
+
9,4
+
9,5
+
9,6
+
10,1
+
10,2
10,1
10,0
9,6
+
9,7
+
10,2
+
10,5
+
10,8
9,9
9,6
diperoleh:
++++ + +++++ ++++
R = 8 run
Statistik yang digunakan adalah Z =
RE(R)
R
, dengan
E(R) = (2n 1)/3 dan
2
R
= (16n 29)/90, dengan Z N(0, 1)
jika n cukup besar.
Uji Kerandoman
Hasil Hitungan
E(R) = 16, 33 dan
R
= 4, 12, sehingga
Z =
RE(R)
R
= (8 16, 33)/2, 03 = 4, 11
Dibandingkan dengan nilai Z
0,025
= 1.96, dapat disimpulkan
bahwa data mendukung penolakan H
0
, jadi lama proses manual
tidak random, bergantung pada proses sebelumnya.
Goodness of t Test
Metode:
Pearsons Chi-square
Kolmogorov-Smirnov
Goodness of t Test
Misal diketahui data penjualan perhari selama 50 hari
8 6 4 2 4 5 6 7 6 11
0 5 5 4 7 7 5 4 3 9
6 8 5 6 1 7 6 3 4 5
4 4 7 3 3 5 8 6 4 8
3 6 4 5 3 2 3 2 1 3
Ujilah apakah data tersebut berdistribusi Poisson?
Goodness of t Test
H
0
: data berdistribusi Poisson
f(x) =
x
e
x!
, x = 0, 1, 2, . . .
Menggunakan Pearsonc Chi-square.
Dihitung mean data
X = 4, 9 sebagai penduga untuk .
Interval Obs. (O
i
) Prob. Harapan (E
i
) (O
i
E
i
)
2
/E
i
0 2 6 0,1332 6,6 0,055
3 8 0,1460 7,3 0,067
4 9 0,1788 8,9 0,001
5 8 0,1752 8,8 0,073
6 8 0,1430 7,2 0,089
7 atau lebih 11 0,2238 11,2 0,004
0,289
Goodness of t Test
Diperoleh Nilai W = 0, 289 Kriteria yang digunakan H
0
ditolak
jika W >
2
1/2,db
, dengan derajad bebas,
db = k 1 (banyak parameter yang diestimasi dari data)
dan k adalah banyaknya interval (kategori).
Karena W <
2
4
= 9, 49, H
0
diterima: data berasal dari distribusi
Poisson.
SIMULASI (MMS-2804)
Metode Pembangkitan
Bilangan Random
Metode Pembangkitan Bilangan Random
Uniform
Kriteria
1. Secara statistik sama seperti mengambil sampel dari
distribusi uniform
f(x) =
_
1 0 u 1
0 u yang lain
2. Dapat direproduksi
3. Esien dalam komputasi
Metode Pembangkitan Bilangan Random
Uniform
Coupled Generator
Metode Linear Congruential
Menggunakan formula rekursif
Z
i
= (AZ
i1
+C) mod M
Z
i
dapat dinormalisasi dalam interval (0, 1) dengan transformasi
U
i
= Z
i
/M
Nilai Z
0
disebut sebagai seed dari bilangan random.
Metode Linear Congruential
Beberapa Nilai A, M dan C
Generator A M C
RANF (CDC 60000 FTN compiler) 44485709377909 2
48
0
GGUBS ( IMSL routine) 7
5
2
31
0
RANDU ( IBM Scientic subroutine) 2
16
+ 3 2
31
0
GGL (IBM subroutine Lib. Math) 7
5
2
31
0
DEC (VAX compiler) 69069 2
32
1
GLIM 8404997 2
35
1
MATLAB (fungsi rand) 7
5
2
31
1 0
Metode Pembangkitan Bilangan Random
Non-Uniform
1. Metode Inverse
2. Metode Acceptance/Rejection
3. Metode Komposisi
4. Metode Konvolusi
Metode Pembangkitan Bilangan Random
Non-Uniform
Kriteria:
1. Akurasi
a. Akurasi Teoritis
b. Akurasi aritmetis dalam algoritma
2. Kecepatan
3. Implementasi mudah
a. Pengkodean
b. Rutin-rutin yang diperlukan
4. Portabilitas
5. Memori yang diperlukan
Metode Inverse
Bila F(x) adalah fungsi distribusi (distribusi kumulatif) dari
fungsi probabilitas f(x), maka
F(x) = u,
dengan u U(0, 1) sehingga
x = F
1
(u)
adalah variabel random dengan fungsi distribusi F(x).
Algoritma:
S1: bangkitkan u
S2: x F
1
(u)
Metode Inverse
F(x) = u
1
0
x = F
1
(u)
Metode Inverse
F(x) = u
1
0
x = F
1
(u)
u
0
Metode Inverse
F(x) = u
1
0
x = F
1
(u)
u
0
x
0
= F
1
(u
0
)
Metode Acceptance/Rejection
Didenisikan fungsi g(x) sedemikian sehingga
g(x) > f(x), < x <
g(x) disebut sebagai fungsi majorizing (yang lebih besar dari
f(x)) dan tidak harus fungsi probabilitas. Misalkan fungsi
probabilitas h(x)
h(x) =
g(x)
_
g(y)dy
, < x <
mudah diperoleh bilangan randomnya. Maka sampel random X
dari f(x) dapat diperoleh melalui sampel random yang diperoleh
dari h(x).
Metode Acceptance/Rejection
Algoritma:
S1: Bangkitkan y dari h(x)
S2: Bangkitkan bilangan random uniform u
S3: Jika u f(y)/g(y), terima X = y sebagai sampel dari
f(x). Jika tidak demikian, kembali ke S1
Metode Komposisi
Bila f(x) dapat di-dekomposisi-kan sebagai jumlahan terbobot
dair k distribusi probabilitas yang lain
f(x) = p
1
f
1
(x) +p
2
f
2
(x) +. . . +p
k
f
k
(x)
maka sampel x dari f(x) dapat dibangkitkan dari jumlahan k
variabel random tersebut.
Metode Konvolusi
Variabel random seperti Normal, Binomial, Poisson, Gamma
dapat didekati dengan kombinasi linear dari variabel random
lain.
x = b
1
x
1
+b
2
x
2
+. . . +b
k
x
k
Distribusi Uniform Diskret
f(x) =
1
b a + 1
, x = a, a + 1, . . . , b
Algoritma
S1: u U(0, 1)
S2: x a + (b a + 1)u
dengan k adalah truncation operator
S3: Hasilkan x
Distribusi Uniform Diskret
Contoh:
f(x) =
1
6
, x = 1, 2, . . . , 6
Algoritma
S1: u U(0, 1), u = 0, 3453
S2: x a + (b a + 1)u
x 3, 0718
S3: Hasilkan x = 3
Distribusi Binomial
f(x | n, p) =
_
n
x
_
p
x
(1 p)
nx
, x = 0, 1, . . . , n
Algoritma 1
Menggunakan metode konvolusi dari n variabel random
Bernoulli
S1: x 0; i 1
S2: u U(0, 1)
S3: jika u < p maka x x + 1
S4: i i + 1
S5: jika i < n ke S2,
jika tidak, hasilkan x
Distribusi Binomial
f(x | n, p) =
_
n
x
_
p
x
(1 p)
nx
, x = 0, 1, . . . , n
Algoritma 2
Menggunakan metode inversi dengan memanfaatkan bentuk
rekursif dari distribusi Binomial,
f(x + 1) = f(x)
(n x + 1)
x
p
1 p
F(x + 1) = F(x) +
f(x)(n x + 1)
x
p
1 p
Distribusi Binomial
Algoritma 2
S1: f (1 p)
n
; F f; x 0
S2: u U(0, 1)
S3: jika u F hasilkan x
jika tidak
x x + 1; f fp(n x + 1)/(1 p)x
S4: F F +f
S5: ke S3
Distribusi Binomial
f(x | n, p) =
_
n
x
_
p
x
(1 p)
nx
, x = 0, 1, . . . , n
Algoritma 3
Menggunakan pendekatan Normal untuk Binomial,
S1: bangkitkan z N(0, 1)
S2: v np +z
_
np(1 p)
S3: jika v > np, x min(x + 1/2, n)
jika tidak,
x max(x 1/2, 0)
S4: hasilkan x
Distribusi Poisson
f(x) =
x
e
x!
, x = 0, 1, 2, . . .
Algoritma 1
Memanfaatkan hubungan antara Poisson dengan eksponensial
X XX X X X XXX
. . .
. . .
Distribusi Poisson
Algoritma 1
S1: u 0; w 0
S2: bangkitkan y eksponensial(1/)
S3: w w +y
S4: jika w 1, hasilkan x
jika tidak x x + 1
S5: ke S2
Distribusi Poisson
f(x) =
x
e
x!
, x = 0, 1, 2, . . .
Algoritma 2
Memanfaatkan bentuk rekursif distribusi Poisson
f(x + 1) = f(x)
(x + 1)
, x = 0, 1, 2, . . .
F(x + 1) = F(x) +f(x)
(x + 1)
, x = 0, 1, 2, . . .
Distribusi Poisson
Algoritma 2
S1: x 0; f e
; F = f
S2: u U(0, 1)
S3: jika u < F, hasilkan x
jika tidak x x + 1; f f/x
S4: F F +f
S5: ke S3
Distribusi Diskret Empiris
Distribusi untuk diskret empiris (discrete empirical distribution)
berupa tabel distribusi probabilitas untuk tiap-tiap variabel
random X.
Algoritma
Menggunakan metode inversi dengan melihat tabel F(x) empiris
S1: u U(0, 1): i 1
S2: jika u F(x
i
), hasilkan x
i
jika tidak
i i + 1
S3: ke S2
Distribusi Uniform Kontinu
f(x) =
1
b a
, a < x < b
Algoritma
S1: u U(0, 1)
S2: x a + (b 1)u
S3: hasilkan x
Distribusi Normal
f(x; ,
2
) =
1
2
2
e
(x)
2
2
2
, < x <
Metode pembangkitan dilakukan melalui Normal Standar
(Normal dengan = 0 dan
2
= 1), kemudian
di-transformasikan ke N(,
2
) dengan X = +Z
Algoritma 1
Menggunakan distribusi Normal bivariat dan metode inversi.
Dengan metode ini satu kali pembangkitan dua variabel random
normal dapat diperoleh.
Distribusi Normal
Algoritma 1
S1: u
1
U(0, 1); u
2
U(0, 1)
S2: r
_
2 log
e
u
1
S3: a 2u
2
S4: x
1
r sin a
x
2
r cos a
S5: hasilkan x
1
, x
2
Distribusi Normal
Algoritma 2
Menggunakan teorema limit sentral. Distribusi Normal Standar
dapat didekati dengan konvolusi variabel random Uniform.
S1: u 0; x 0
S2: u U(0, 1)
S3: x x +u
S4: i i + 1
S5: jika i < 12 ke S2
jika tidak
S6: x x 6
S7: hasilkan x
Distribusi Eksponensial
f(x; ) =
1
e
x/
, x > 0
Algoritma
Menggunakan metode inversi, F(x) = 1 e
x/
, sehingga
u = 1 e
x/
dan diperoleh x = log
e
(1 u). Karena 1 u
juga merupakan variabel random, x = log
e
u
S1: u U(0, 1)
S2: x log
e
(u)
S3: hasilkan x
SIMULASI (MMS-2804)
Pemodelan Simulasi
Pemodelan Simulasi
Hal-hal yang perlu diperhatikan:
W TN/K
Y
TN TN + (T
s
T) N
T T
s
;
N N + 1
pelayanan
T
N = 0
T
s
T + bangkitkan T
s
T
Stop
Y
T
Fixed-Time: Antrian Layanan Tunggal
TN 0; K 0
T 0; SN 0
T T
max
TN = 0
S bangkitkan N
s|TN
TN TN S
SN SN +S
N bangkitkan N
a
TN TN +N
K K +N
S bangkitkan N
s|TN
TN TN S
SN SN +S
T T + T
n
a
K/T
n
s
SN/T
Stop
Y
T
Y T
Perubahan Sistem
Discrete Event Simulation. Hanya diamati perubahan yang
diskret dan berhingga.
Continuous Event Simulation. Perubahan yang diamati kontinu
(banyaknya event tak berhingga).
Pemerograman Simulasi
EXTEND
GPSS
SIMAN
SIMULA
SIMNET
DYNAMO
Pascal
FORTRAN
BASIC
C
Pemerograman Simulasi
Bahasa Khusus Simulasi Bahasa Pemerograman
Umum
Tidak mudah diperoleh Mudah diperoleh
Pembuatan Program sederhana Pembuatan program lebih rumit
Tidak mudah dimodikasi Fleksibel, mudah dimodikasi
Waktu running lebih lama Waktu running lebih cepat
Pemerograman Simulasi
Kemampuan Standar Bahasa Simulasi:
Debugging
Desain Eksperimen
Basic
Transaction
Blocks
Equipment
Facilities
Storages
Logic switches
Statistical
Queues
Distribution tables
Computational
Arithmetic variables
Boolean variables
Functions
Reference
Savevalues
Matrices
Chain
System Chains
User Chains
Mengenal GPSS
Entitas Basic
Transactions. Obyek yang mengalir dalam program (waktu)
Blocks. Elemen yang mengalir pada transaction.
Jenis blok dalam GPSS:
GENERATE
TERMINATE
SEIZE
RELEASE
ADVANCE
QUEUE
DEPART
kemudahan
evaluasi menuju
solusi optimal
relatif mudah
untuk sistem yg
kompleks
sarana pelatihan
Kerugian
asumsi tidak
realistis
formula yang
kompleks
model simulasi
yang baik mungkin
mahal
Rantai Markov
Untuk memodelkan perubahan status atau transisi dari suatu
sistem (analytic state-change models)
Contoh transisi status:
Sistem Status
Elevator gedung bertingkat Tingkat (nomor lantai)
Sistem inventori Banyaknya unit inventori
Sistem komputer Banyaknya proses yang aktif
Epidemik Banyaknya yang terinfeksi
Pasar bebas Pilihan pelanggan
Rumah sakit Banyaknya bangsal yang terisi
Rantai Markov
Proses random atau proses stokastik adalah himpunan dari
variabel random {X(t); t T}, dimana
_
p
11
p
12
. . . p
1c
p
21
p
22
. . . p
2n
.
.
. . . .
p
r1
p
r2
. . . p
rc
_
_
Rantai Markov
Probabilitas suatu proses berada dalam status tertentu dari
S = {s
1
, s
2
, . . . , s
p
} setelah b transisi,
b
= P[X(t
b
) = s
1
, X(t
b
) = s
2
, . . . , X(t
b
) = s
p
]
= (
b
1
,
b
2
, . . . ,
b
p
)
Probabilitas setelah b + 1 transisi
b+1
=
b
P
dan
b
=
0
P
b
,
dimana P
b
= PP. . . P
. .
b suku
Rantai Markov
Contoh: Market share
Suatu Rantai Markov {X(t); t T} dengan T = t
0
, t
1
, . . . adalah
waktu dalam hari, X(t) adalah preferensi pembeli pada hari
tertentu dan S = {A, B, C}
Persentase preferensi pembelian (persen baris):
preferensi berikut
A B C Total
preferensi A 60 20 20 100%
sekarang B 40 30 30 100%
C 40 30 30 100%
Bagaimana persentase pembeli produk A, B dan C setelah
jangka waktu tertentu (100 hari misalnya)?
Rantai Markov
Contoh: Market share
Suatu Rantai Markov {X(t); t T} dengan T = t
0
, t
1
, . . . adalah
waktu dalam hari, X(t) adalah preferensi pembeli pada hari
tertentu dan S = {A, B, C}
Matriks transisi:
_
_
0, 6 0, 2 0, 2
0, 4 0, 3 0, 3
0, 4 0, 3 0, 3
_
_
Rantai Markov
Contoh: Market share
Suatu Rantai Markov {X(t); t T} dengan T = t
0
, t
1
, . . . adalah
waktu dalam hari, X(t) adalah preferensi pembeli pada hari
tertentu dan S = {A, B, C}
Penyelesaian Analitis.
Diasumsikan
0
= (1/3 1/3 1/3) dan dalam suatu periode
tertentu (100 hari misalnya) pelanggan akan membeli sebanyak
3 kali
3
=
0
P
3
= (0, 499 0, 251 0, 251)
Rantai Markov
Contoh: Market share
Suatu Rantai Markov {X(t); t T} dengan T = t
0
, t
1
, . . . adalah
waktu dalam hari, X(t) adalah preferensi pembeli pada hari
tertentu dan S = {A, B, C}
Penyelesaian dengan simulasi.
Disimulasikan seorang pembeli dengan status preferensi produk
tertentu (A, B, atau C). Diasumsikan distribusi waktu antar
pembelian dari masing-masing produk T
A
Uniform(25,45),
T
B
Uniform(28,38) dan T
C
Uniform(20,30).
Sistem Antrian (Kongesti)
Elemen sistem antrian
proses kedatangan
proses pelayanan
disiplin antrian
Sistem Antrian (Kongesti)
Intensitas kedatangan ,
=
tingkat kedatangan
tingkat pelayanan
=
mean waktu pelayanan
mean waktu antar kedatangan(c)
=
tingkat kedatangan
tingkat pelayanan(c)
dengan c adalah banyaknya server (fasilitas pelayanan).
Sistem Antrian (Kongesti)
Notasi Kendall
A/B/s : K/E
dengan A proses kedatangan, B proses pelayanan, s
banyaknya server, K banyaknya pelanggan yang dapat masuk
ke dalam sistem dan E disiplin antrian.
M: distribusi eksponensial
D: konstant pelayanan atau kedatangan
E
k
: distribusi Erlang
k
G : distribusi pelayanan atau kedatangan umum
FIFO: rst-in-rst-out queue discipline
SIRO: serve in random-order queue discipline
PRI: priority queue discipline
GD: general queue discipline
Sistem Antrian (Kongesti)
Ukuran performansi sistem antrian:
L
s
: Harga harapan banyaknya pelanggan dalam
sistem
L
q
: Harga harapan banyaknya pelanggan dalam
antrian
W
s
: Harga harapan lama pelanggan berada dalam
sistem
W
q
: Harga harapan lama pelanggan menunggu
pelayanan
P
i
: Probabilitas tepat i pelanggan berada dalam
sistem, i = 0, 1, . . .
P
n
(t) : Probabilitas tepat n pelanggan berada dalam
sistem saat t
P(W
q
> t) : Probabilitas pelanggan menunggu selama t
atau lebih
Sistem Antrian (Kongesti)
Untuk waktu antar kedatangan dan pelayanan yang berdistribusi
eksponensial,
P(satu kedatangan dalam interval t, t + t) = t
P(satu pelayanan selesai dalam interval t, t + t) = t
dimana
1/ adalah mean antar kedatangan
1/ adalah mean lama pelayanan
atau
adalah tingkat (rate) kedatangan
adalah tingkat (rate) pelayanan
Sistem Antrian (Kongesti)
Sistem Non Steady-State (time-dependent).
Solusi dari persamaan diferensial
dP
0
(t)
dt
= P
0
(t) +P
1
(t)
dP
n
(t)
dt
= P
n1
(t) ( +)P
n
(t) +P
n+1
(t)
untuk n = 1, 2, . . .
Sistem Antrian (Kongesti)
Model M/M/s Steady-State
Sistem antrian dikatakan steady-state jika
P
n
(t)
dt
= 0
Solusi dari persamaan
0
P
0
=
1
P
1
(
n
+
n
)P
n
=
n1
P
n1
+
n+1
P
n+1
untuk n = 1, 2, . . .
Sistem Antrian (Kongesti)
Model M/M/1
Ukuran performansi:
=
P
n
= (1 )
n
, n = 0, 1, . . .
L
s
=
(1 )
L
q
= L
s
=
2
(1 )
W
q
=
(1 )
Sistem Antrian (Kongesti)
Contoh:
Sebuah bank menempatkan sebuah ATM dalam sebuah kantor
dimana banyak nasabah menggunakan ATM tersebut. Mean
lama pelayanan adalah 50 detik dan mean banyaknya nasabah
yang ingin menggunakan ATM tersebut adalah 60 nasabah per
jam. Banyak nasabah yang complain bahwa waktu tunggu
mereka terlalu lama dan mengusulkan satu ATM baru.
Diasumsikan waktu antar kedatangan dan lama pelayanan
berdistribusi Eksponensial. Untuk menentukan apakah
tambahan satu ATM perlu, pihak bank ingin mengetahui
probabilitas seorang nasabah harus menunggu dan lama waktu
tunggunya.
Sistem Antrian (Kongesti)
Contoh: (lanjutan, sistem ATM)
Untuk sistem ini tingkat kedatangannya adalah
= 60/jam
dan tingkat pelayanannya adalah
= 1/50 detik
= 72/jam
Intensitas traknya adalah
= /
= 60/72
= 0, 8333
Sistem Antrian (Kongesti)
Contoh: (lanjutan, sistem ATM)
Harga harapan nasabah menunggu pelayanan
W
q
=
(1 )
=
60/72
72(1 60/72)
= 0, 0694 jam
= 4, 167 menit
Harga harapan panjang antrian
L
q
=
2
(1 )
= 4, 2 nasabah
Sistem Antrian (Kongesti)
Model M/M/s
Ukuran performansi:
=
s
P
0
= 1/
s1
r=1
(s)
i
i!
+
(s)
s
c!(1 )
P(n s) =
(s)
s
P
0
s!(1 )
L
s
=
s + (s)
s+1
P
0
s(s!)(1 )
2
L
q
=
P
0
(s
s+1
s+1
/s)
s!(1 )
2
W
s
= L
s
/
W
q
= L
q
/
Sistem Antrian (Kongesti)
Contoh:
Suatu supermarket dirancang dengan 4 kasa. Saat sibuk
diasumsikan pelanggan akan datang dengan tingkat
kedatangan 100 per jam dan mean lama pelayanan di kasa
untuk seorang pelanggan 2 menit. Perancang sistem
supermarket ini ingin mengetahui mean lama tunggu pelanggan
dan probabilitas bahwa seorang pelanggan tidak perlu harus
menunggu.
Sistem Antrian (Kongesti)
Contoh:(lanjutan supermarket)
Model M/M/4
= 100 pelanggan/jam
= 30 pelanggan per jam per server
= /(s) = 0, 8333
L
q
= 3, 29
P(seorang pelanggan tidak perlu harus menunggu)
= 1 P(n 4) = 0, 658
Model Inventori
Elemen sistem inventori
Inventori merupakan fungsi dari
Inventory policy
Model Inventori
Parameter Biaya
C: Harga pembelian per unit dari barang yang disimpan
C
H
: Biaya menyimpan satu unit barang untuk satu unit waktu
C
R
: Biaya pemesanan kembali
C
P
: Biaya penalti karena tidak tersedianya barang
C
S
: Pemasukan dari barang yang tidak terjual
Variabel tak terkontrol
D: Permintaan pembeli
L: Waktu yang diperlukan sampai pesanan datang
Inventory policy
Q: Kuantitas barang yang dipesan kembali
Aturan kapan harus memesan kembali
Model Inventori
Model Inventori Dinamis Kontinu
Dalam model ini inventori di-review secara kontinu. Variabel
keputusannya adalah Q dan reorder point R
p
. Jika inventori
berada di bawah R
p
, kuantitas sebanyak Q dipesan.
Total biaya untuk sistem seperti ini adalah
Total biaya tahunan = C
H
C
Q
/2 +C
R
D/Q,
dimana D adalah tingkat permintaan tahunan.
Nilai optimal untuk Q adalah
Q =
_
2DC
R
/C
H
C
Reorder point adalah L D, dengan L adalah lama pesanan
datang.
Model Inventori
Contoh:
Seorang supplier barang-barang elektronik mempunyai inventori
suatu barang yang mempunyai permintaan 10.000 unit per
tahun. Tiap unit berharga 1 unit uang dan biaya pertahun untuk
inventori adalah 12% dari harga beli. Biaya pemesanan sebesar
10 unit uang. Lama pesanan datang 10 hari. Saat ini supplier itu
memesan 2000 unit. Supplier itu ingin mengetahui berapa
kuantitas optimal dari pemesanan.
Total biaya tahunan = C
H
C
Q
/2 +C
R
D/Q
= (0, 12)(1)(2000/2) + (10)(10.000/2000)
= 170 unit uang
Model Inventori
Kuantitas optimal pemesanan:
Q =
_
2DC
R
/C
H
C
=
_
2(10.000)(10)/(0, 12)(1)
= 1290 unit barang
Biaya dari optimal inventory policy:
Total biaya tahunan = C
H
C
Q
/2 +C
R
D/Q
= (0, 12)(1)(1290/2) + (10)(10.000/1290)
= 154, 92 unit uang
dengan re-order point :
R
p
= L D
= 10 (10.000/365) = 274 unit
SIMULASI (MMS-2804)
Analisis Output
Analisis Output
Sistem Terminating
Sistem ini akan berhenti pada suatu waktu yang tertentu.
Contoh:
Bank: Mulai buka pukul 08:00 - 16:00. Dimulai dari
keadaan tidak ada pengunjung dan diakhiri dengan tidak
ada pengunjung. Statistik yang diperlukan untuk sistem ini
misalnya waktu tunggu pengunjung bank
Contoh lain: lab. komputasi, supermarket
Analisis Output
Karakteristik (jenis) sistem (lanjutan:)
Sistem Non-terminating
Sistem yang tidak dapat ditentukan kapan akan berhenti.
Contoh:
Bandara (internasional): Selama 24 jam pesawat terbang
datang dan pergi ke dan dari bandara dan tidak dapat
ditentukan kapan sistem ini akan berhenti. Statistik yang
diperlukan untuk sistem ini misalnya rata-rata kedatangan
pesawat, rata-rata banyak pesawat yang menunggu di
landasan.
Contoh lain: pabrik, rumah sakit
Analisis Output
Karakteristik (jenis) sistem (lanjutan:)
Misalkan X(t) adalah status sistem pada saat t dan
P(X(t)) = s adalah probabilitas bahwa sistem tersebut berada
dalam status s pada saat t
Sistem Transient
Bila waktu berpengaruh terhadap sistem (atau jika
persamaan di atas tidak berlaku)
Analisis Output
waktu t
P
(
X
(
t
)
=
s
)
Analisis Output
Metode
Replikasi
Observasi diperoleh dari runtun (run) yang terpisah. Untuk
memperoleh n observasi diperlukan n runtun
Subinterval
Observasi diperoleh dari satu runtun tunggal yang dibagi
menjadi n sub-interval dengan lebar tiap-tiap interval sama
Regeneratif
Untuk mendapatkan n observasi, satu runtun tunggal
dibagi menjadi daur-daur (cycle) berdasarkan status
regeneratif
Analisis Output
Metode (lanjutan)
Runtun Waktu
Analisis menggunakan suatu model parametrik runtun
waktu observasi
Analisis Spektral
Dilakukan estimasi autokovariansi dari observasi, yang
kemudian digunakan dalam analsisi spektral.
Analisis Output
Contoh: Antrian Layanan Tunggal
0 10 20 30 40 50 60
waktu (t)
n
(
t
)
1
2
3
Analisis Output
Ukuran performansi sistem antrian
n =
1
T
_
T
0
n(t)dt
W =
1
k
_
T
0
n(t)dt
n mean banyaknya pengantri dalam sistem