Download - 03 & 04 Simulasi Kejadian Diskret
2
Simulasi Kejadian Diskret
Simulasi kejadian diskret (discrete time
simulation) merupakan simulasi dengan
perubahan status dari model simulasi terjadi
pada titik-titik waktu yang diskret yang dipicu
oleh kejadian.
3
Beberapa Contoh Kejadian
Sistem antrian
Kedatangan pelanggan pada antrian
Kepergian pelanggan
Sistem pemeliharaan mesin
Kerusakan mesin
Beroperasinya mesin
Sistem parkir kendaraan
Kedatangan mobil
Kepergian mobil
4
Perubahan Variabel Status dalam
Simulasi Kejadian Diskret vs Kontinyu
Dalam simulasi kejadian diskret, variabel status
berubah jika suatu kejadian terjadi
Dalam simulasi kontinyu, variabel status berubah
dengan berubahnya waktu.
5
Perubahan Variabel Status dalam
Simulasi Kejadian Diskret vs Kontinyu
Continuous-change
state variable
Discrete-change
state variable
Time
Value
6
Pendefinisian Perubahan Variabel
Status dalam Simulasi Kontinyu
Pendefinisian laju perubahan dalam variabel
status sepanjang waktu:
Differential equations
Difference equations
7
Differential Equation
Perubahan dari variabel status dinyatakan
dengan turunan (derivative) dari variabel status.
Persamaan yang mencakup turunan disebut
persamaan diferensial (differential equation).
Contoh:
Kv
ttvdt
tdv
)0(
22
8
Difference Equation
Waktu didekomposisi ke dalam periode-
periode waktu dengan panjang t.
Nilai dari variabel status pada akhir periode k
+ 1 didasarkan atas nilai dari variabel status
pada akhir periode k.
Contoh:
trkvkv 1
9
Kombinasi Kejadian Diskret dan
Kontinyu
Sistem dapat mengandung kombinasi kejadian diskret dan kontinyu.
Empat interaksi dasar:
Nilai variabel status kontinyu tiba-tiba naik/turun sebagai akibat suatu kejadian diskret
Inisiasi kejadian diskret dapat terjadi akibat nilai variabel kontinyu mencapai ambang batas tertentu.
Laju perubahan variabel kontinyu berubah sebagai akibat suatu kejadian diskret.
Inisiasi atau penghentian perubahan variabel kontinyu dapat terjadi karena adanya suatu kejadian diskret.
10
Model simulasi umumnya didefinisikan secara
process-oriented.
Sistem digambarkan sebagai aliran proses (process
flow).
Dalam simulasi kejadian diskret, definisi aliran proses
diterjemahkan ke dalam suatu urutan kejadian
Kejadian dalam simulasi kejadian diskret:
Kejadian terjadwal (scheduled event)
Kejadian kondisional (conditional event)
Bagaimana Simulasi Kejadian Diskret
Bekerja?
11
Kejadian Terjadwal
Kejadian yang saat terjadinya sudah ditentukan
sebelumnya
Contoh untuk sistem antrian:
Kejadian kedatangan pelanggan
Kejadian pelanggan selesai dilayani
12
Kejadian Kondisional
Kejadian yang dipicu oleh suatu kondisi
tertentu
Contoh dalam sistem antrian:
Kejadian seorang pelanggan mulai dilayani (yang
dipicu oleh kejadian orang sebelumnya selesai
dilayani)
13
Pemrosesan Kejadian
Kejadian memicu eksekusi dari logika yang berkaitan dengan kejadian
Contoh:
Jika suatu entitas membebaskan suatu sumberdaya, variabel status dan statistik diperbarui dan daftar tunggu diperiksa untuk memeriksa aktivitas apa yang akan diproses berikutnya.
Dalam sistem nyata, kejadian-kejadian dapat terjadi bersamaan.
Dalam simulasi komputer, hanya ada satu aktivitas yang diproses pada suatu saat.
Diperlukan suatu metode atau aturan untuk menentukan kejadian yang terjadi pada saat yang bersamaan.
14
Garis Besar Simulasi
Kejadian Diskret
Start
Create simulation
database and schedule
initial events
Advance clock to next
event time
Termination event?Update statistics and
generate output report
Process event and
schedule any new
events.
Update statistics, state
variables, and animation.
Any conditional
events?
Stop
No
No
Yes
Yes
15
Ilustrasi Simulasi Kejadian Diskret
Secara Manual
Sistem Anjungan Tunai Mandiri (ATM).
Sistem antrian pelayan tunggal.
Asumsi-asumsi:
Waktu antar kedatangan pelanggan berdistribusi eksponensial dengan rata-rata 3 menit.
Waktu pelayanan berdistribusi eksponensial dengan rata-rata 2.4 menit.
Jumlah pelayan adalah tunggal (pelayan hanya dapat melayani satu pelanggan pada suatu saat).
Jumlah (kapasitas) antrian adalah tak terbatas
Jumlah input populasi adalah tak terbatas
16
Pada saat awal, tidak ada pelanggan dalam sistem, sehingga antrian dalam keadaan kosong dan ATM menganggur.
Waktu perpindahan dari antrian ke ATM (pelayan) diabaikan
Pelanggan dilayani dari antrian mengikuti aturan first-in, first-out (FIFO).
ATM tidak pernah mengalami kerusakan.
Asumsi Lain
17
8 7 6 5 4 3 2 1
Arriving customers
(entities)ATM queue
(FIFO)
ATM server
(resource)
Departing customers
(entities)
Diagram Alir Entitas dalam Sistem
ATM
18
Jam Simulasi
Karena adanya transisi simulasi dari suatu
kejadian ke kejadian berikutnya, jam simulasi
(simulation clock) bergerak ke saat waktu dari
kejadian yang terjadwal.
Jam simulasi maju melalui serangkaian
langkah waktu.
19
Atribut Entitas
Atribut entitas (entity atribut) adalah
karakteristik dari entitas yang dipertahankan
hingga entitas tersebut keluar dari sistem.
Atribut ini memberikan informasi statistik
selama entitas tersebut diproses dalam sistem.
20
Variabel Status
Variabel status (state variable) digunakan
untuk melacak bagaimana status dari sistem
berubah karena kedatangan dan kepergian
pelanggan
Jumlah entitas (pelanggan dalam antrian pada saat
i, NQi)
Status ATM yang menunjukkan apakah ATM
sibuk (= 1) atau menganggur (= 0), Statusi
21
Akumulator Statistik
(Statistical Accumulators) Dalam simulasi, diinginkan untuk menentukan ekspektasi
waktu menunggu pelanggan dalam antrian dan ekspektasi jumlah pelanggan yang menunggu dalam antrian
Waktu rata-rata pelanggan menunggu dalam antrian adalah simple average dan untuk menghitungnya diperlukan catatan berapa pelanggan yang meninggalkan antrian dan waktu yang dibutuhkan tiap pelanggan yang menunggu dalam antrian.
Jumlah rata-rata pelanggan dalam antrian merupakan time-weighted average (atau time average) dan untuk menghitungnya memerlukan jumlah pelanggan dalam antrian selama simulasi dan memerlukan waktu bahwa antrian dipertahankan pada tiap nilai yang teramati.
22
Akumulator Statistik
(Statistical Accumulators)
Simple-average time dalam antrian.
Catat jumlah pelanggan yang meninggalkan
antrian
Untuk pelanggan, catat waktu yang dihabiskan
dalam antrian
Time-average number of customer dalam
antrian
Catat perkalian (ti – ti-1)NQi-1, yaitu, jumlah
waktu tertimbang dari entitas dalam antrian
23
Kejadian (Event)
Dua kejadian yang mengubah status sistem: Kedatangan (arrival)
Kepergian (departure)
Kejadian kedatangan terjadi jika pelanggan tiba di antrian.
Tiap pemrosesan kedatangan pelanggan mencakup penjadwalan kedatangan pelanggan berikutnya.
Jika pelanggan dilayani ATM, kepergian dijadwalkan berdasarkan lamanya waktu pelayanan.
Untuk penghentian simulasi Kejadian penghentian (termination).
24
Untuk menjadwalkan entitas pelanggan yang
selanjutnya datang ke sistem, simulasi memerlukan
pembangkitan waktu antar kedatangan dan
menambahkannya pada jam simulasi saat ini, ti.
Waktu antar kedatangan berdistribusi eksponensial
dengan mean 3 menit.
Penjadwalan kedatangan berikutnya: ti + E(3.0).
Waktu pelayanan berdistribusi eksponensial dengan
mean 2.4 menit.
Penjadwalan kepergian: ti + E(2.4).
25
Kalender Kejadian
Kalender kejadian (event calendar) mempertahankan
daftar kejadian aktif (kejadian yang sudah terjadwal
yang menunggu untuk diproses) dalam urutan
kronologis.
Simulasi bergerak dengan menghilangkan kejadian
pertama dalam daftar pada kalender kejadian,
menetapkan jam simulasi, ti , dan equal to the time at
which the event is scheduled to occur, and processing
the event.
26
Diagram Logika
dari Sistem Antrian
(tanpa akumulator statistik)
Mulai
Tipe Kejadian?
Jadwalkan kejadian kedatangan untuk pelanggan berikutnya pada saat t[i] +
IAT
Server menganggur?
Jadwalkan kejadian kepergian untuk pelanggan saat ini yang
masuk ke server pada saat t[i] + ST
Ubah status server menjadi sibuk
Tempatkan pelanggan saat ini pada posisi pertama dari
antrian
Tempatkan pelanggan saat ini pada posisi terakhir dari
antrian
Terdapat pelanggan dalam antrian?
Perbarui antrian dengan menghapus pelanggan pada
posisi pertama dan menggeser pelanggan yang menunggu
Jadwalkan kejadian kepergian untuk pelanggan yang masuk ke server pada saat t[i] + ST
Ubah status server menjadi menganggur
Kedatangan Kepergian
Perbarui kalender kejadian
Majukan waktu t[i] ke saat kejadian pertama pada
kalender kejadian
i = i + 1
i = 0
Jadwalkan kejadian kedatangan pertama dan
kejadian terminasi simulasi
i = i + 1
i = i + 1
Berhenti
Terminasi
Ya Tidak TidakYa
28
Jam simulasi 0.00
0 0
1 2.18 2.18
T 22.00
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
30
Jam simulasi 2.18
0 0
2 5.73 7.91
T 22.00
1
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
31
Jam simulasi 2.18
1 0
1
1 0.10 2.28
T 22.00
2 7.91 Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
32
Jam simulasi 2.18
1 0
1
1
T 22.00
2 7.91
2.28
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
33
Jam simulasi 2.28
1 0
T 22.00
2 7.91
1
1
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
35
Jam simulasi 7.91
0 0
3 7.09 15.00
T 22.00
2
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
36
Jam simulasi 7.91
1 0
3
2
2 4.46 12.37
15.00
T 22.00
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
37
Jam simulasi 7.91
1 0
3 15.00
T 22.00
2 12.37
2
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
38
Jam simulasi 12.37
1 0
3 15.00
T 22.00
2
2
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
39
Jam simulasi 12.37
0 0
3 15.00
T 22.00
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
40
Jam simulasi 15.00
0 0
3
4 0.17 15.17
T 22.00
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
41
Jam simulasi
1 0
4
3
3 3.25 18.25
15.17
15.00
T 22.00
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
42
Jam simulasi
1 0 4
3
3 18.25
15.17
15.00
T 22.00
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
43
Jam simulasi 15.17
1 0
5 0.57 15.74
3
3 18.25
T 22.00
4
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
44
Jam simulasi 15.17
1 1
3 4
3 18.25
T 22.00
5 15.74
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
45
Jam simulasi 15.74
1 1
3 4
5
6 3.01 18.75
3 18.25
T 22.00
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
46
Jam simulasi 15.74
1 2
3 4 5
3 18.25
T 22.00
6 18.75 Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
47
Jam simulasi 18.25
1 2
T 22.00
6 18.75
3
3 4 5
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
48
Jam simulasi 18.25
1 1
4 2.25 20.50
T 22.00
6 18.75
4 5
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
49
Jam simulasi 18.25
1 1
4 20.50
T 22.00
6 18.75
4 5
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
50
Jam simulasi 18.75
1 1
4 20.50
T 22.00
6
4 5
7 1.13 19.88
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
51
Jam simulasi 18.75
1 2
4 20.50
T 22.00
6 4 5
7 19.88
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
52
Jam simulasi 19.88
1 2
4 20.50
T 22.00
6 4 5
7
8 2.65 22.63
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
53
Jam simulasi 19.88
1 3 4 20.50
T 22.00
6 4 5 7
8 22.63
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
54
Jam simulasi 20.50
1 3
4
T 22.00
6 4 5 7
8 22.63
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
55
Jam simulasi 20.50
1 2
T 22.00
7 5 6
8 22.63
5 4.12 24.62
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
56
Jam simulasi 20.50
1 2 T 22.00
7 5 6
8 22.63
5 24.62
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
57
Jam simulasi 22.00
1 2
T
7 5 6
8 22.63
5 24.62
Status ATM Jumlah
pelanggan
dalam
antrian
Kelender kejadian
58
No
. P
ela
ng
gan
Tip
e K
eja
dia
n
Saat
Jam
No
. P
ela
ng
gan
Tip
e K
eja
dia
n
No
. P
ela
ng
gan
yan
g
sed
an
g d
ilayan
i
Saat
Data
ng
Uru
tan
No
. P
ela
ng
gan
yan
g m
en
un
gg
u
Saat
Data
ng
Ju
mla
h p
ela
ng
gan
dala
m
an
tria
n
Sta
tus A
TM
Ju
mla
h y
an
g d
ipro
ses
(men
ing
galk
an
) an
tria
n
Waktu
dala
m a
ntr
ian
, t[
i] -
arr
ival
tim
e
Waktu
dala
m a
ntr
ian
(Ku
mu
lati
f)
Ju
mla
h a
ntr
ian
den
gan
waktu
tert
imb
an
g,
(t[i
] -
t[i-
1])
NQ
[i-1
]
Ju
mla
h a
ntr
ian
den
gan
waktu
tert
imb
an
g
(ku
mu
lati
f)
No
. P
ela
ng
gan
Tip
e K
eja
dia
n
Bil
an
gan
Ran
do
m
Vari
at
Ran
do
m
Saat
Keja
dia
an
0 0.00 0 0 1 D 0.516 2.18 2.18
- E 22.00
1 1 D 2.18 2.18 1 D 1 2.18 0 1 1 0.00 0.00 0.00 0.00 2 D 0.852 5.73 7.91
- E 22.00 1 P 0.039 0.10 2.28
2 1 P 2.28 2.28 1 P 0 0 0.00 0.00
2 D 7.91
- E 22.00
3 2 D 7.91 7.91 1 P 2 7.91 0 1 2 0.00 0.00 0.00 0.00 3 D 0.906 7.09 15.00
- E 22.00 2 P 0.844 4.46 12.37
4 2 P 12.37 12.37 2 P 0 0 0.00 0.00
3 D 15.00
- E 22.00
5 3 D 15.00 15.00 3 D 3 15.00 0 1 3 0.00 0.00 0.00 0.00 4 D 0.055 0.17 15.17
- E 22.00 3 P 0.742 3.25 18.25
6 4 D 15.17 15.17 4 D 3 15.00 4 15.17 1 1 0.00 0.00 0.00 5 D 0.172 0.57 15.74
3 P 18.25
- E 22.00
7 5 D 15.74 15.74 5 D 3 15.00 4 15.17 2 1 0.00 0.57 0.57 6 D 0.633 3.01 18.75
3 P 18.25 5 15.74
- E 22.00
8 3 P 18.25 18.25 3 P 4 15.17 5 15.74 1 1 4 3.08 3.08 5.02 5.59 4 P 0.609 2.25 20.50
6 D 18.75
- E 22.00
9 6 D 18.75 18.75 6 D 4 15.17 5 15.74 2 1 3.08 0.50 6.09 7 D 0.313 1.13 19.88
4 P 20.50 6 18.75
- E 22.00
10 7 D 19.88 19.88 7 D 4 15.17 5 15.74 3 1 3.08 2.26 8.35 8 D 0.586 2.65 22.53
4 P 20.50 6 18.75
- E 22.00 7 19.88
11 4 P 20.50 20.50 4 P 5 15.74 6 18.75 2 1 5 4.76 7.84 1.86 10.21 5 P 0.820 4.12 24.62
- T 22.00 7 19.88
8 D 22.53
12 - E 22.00 22.00 End 2 1 5 7.84 3.00 13.21
8 D 22.53
5 P 24.62
Kalender
Kejadian
Pemrosesan
Kejadian
Kejadian Berikutnya yang
Terjadwal
i
Status Sistem Akumulator Statistik
2 D
59
Hasil-Hasil Perhitungan
Statistik rata-rata sederhana (simple average statistic) dihitung dengan membagi jumlah semua nilai observasi dari variabel respon dengan jumlah obervasi
Contoh:
Waktu rata-rata yang dihabis dalam sistem atau lokasi tertentu
Dalam simulasi ATM
Waktu rata-rata pelanggan yang menunggu dalam antrian
n
xn
i
i 1average Simple
61
Statistik rata-rata waktu (time average
statistic) melaporkan nilai rata-rata dari
variabel respon yang ditimbang dengan durasi
waktu untuk tiap nilai variabel yang diamati.
dengan Ti menyatakan durasi waktu observasi
ke-i (faktor penimbang) dan T adalah total
durasi observasi dikumpulkan
T
xTn
i
ii 1average Time
62
Rata-rata jumlah pelanggan dalam antrian
pelanggan 60.022
13.21
)()(
Average
12
1
11
12
1
T
NQtt
T
xT
NQ i
iii
i
ii
65
Simulasi Sistem Kerusakan Mesin (1)
Sistem terdiri atas 1 mesin.
Terdapat 1 operator perbaikan.
Waktu antar kerusakan mesin
~ Eksponensial(30 menit)
Waktu perbaikan
~ Eksponensial(5 menit)
Simulasikan selama 200 menit pertama.
66
Mulai
Jadwalkan Kejadian Kerusakan Mesin
serta Kejadian Terminasi Simulasi
Perbarui Kalender Kejadian
Jenis
Kejadian?
Kerusakan
Jadwalkan kejadian
working untuk Mesin
t[i] + WB
Working
Ubah status operator
menjadi menganggur
Jadwalkan kejadian
Kerusakan untuk Mesin
t[i] + WR
Berhenti
Terminasi
Inisialisasi saat mulai t[0] =0,
status operator menganggur, Mesin
dalam keadaan working
i = 0
i = i + 1
Ubah status operator
menjadi sibuk
Diagram Logika
(tanpa akumulator statistik)
67
Simulasi Sistem Kerusakan Mesin (2)
Sistem terdiri atas 2 mesin.
Terdapat 1 operator perbaikan.
Waktu antar kerusakan mesin
Mesin 1: ~ Eksponensial(30 menit)
Mesin 2: ~ Eksponensial(20 menit)
Waktu perbaikan
Mesin 1 & Mesin 2: ~ Eksponensial(5 menit)
Simulasikan selama 200 menit pertama.
68
Mulai
Jadwalkan Kejadian Kerusakan Mesin
1 dan 2, serta Kejadian Terminasi
Simulasi
Perbarui Kalender Kejadian
Jenis
Kejadian?
Mesin?
Kerusakan
Operator
menganggur?
Mesin 1
Jadwalkan kejadian
working untuk Mesin 1,
t[i] + WB
Ya
Tempatkan Mesin 1
pada daftar tunggu
TidakOperator
menganggur?
Jadwalkan kejadian
working untuk Mesin 2,
t[i] + WB
Ya
Tempatkan Mesin 2
pada daftar tunggu
Tidak
Mesin?
Working
Ubah status operator
menjadi sibuk
Ubah status operator
menjadi sibuk
Ada mesin
menunggu?
Hapus Mesin 2 pada
daftar tunggu
Jadwalkan kejadian
Kerusakan untuk Mesin
1, t[i] + WR
Jadwalkan kejadian
Working untuk Mesin 2,
t[i] + WB
Ubah status operator
menjadi menganggur
Jadwalkan kejadian
Kerusakan untuk Mesin
1, t[i] + WR
Ada mesin
menunggu?
Hapus Mesin 1 pada
daftar tunggu
Jadwalkan kejadian
Kerusakan untuk Mesin
2, t[i] + WR
Jadwalkan kejadian
Working untuk Mesin 1,
t[i] + WB
Ubah status operator
menjadi menganggur
Jadwalkan kejadian
Kerusakan untuk Mesin
2, t[i] + WR
Berhenti
TerminasiMesin 2 Mesin 2Mesin 1
Ya Ya TidakTidak
Inisialisasi saat mulai t[0] =0,
status operator menganggur, Mesin 1
dan 2 dalam keadaan working
i = 0
i = i + 1
Diagram Logika (tanpa akumulator statistik)