03 & 04 Simulasi Kejadian Diskret

68
1 Simulasi Kejadian Diskret (Discrete Event Simulation)

description

simulasi antrian diskrit

Transcript of 03 & 04 Simulasi Kejadian Diskret

1

Simulasi Kejadian Diskret

(Discrete Event Simulation)

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

27

Jam simulasi 0.00

0 0

T 22.00

Status ATM Jumlah

pelanggan

dalam

antrian

Kelender kejadian

28

Jam simulasi 0.00

0 0

1 2.18 2.18

T 22.00

Status ATM Jumlah

pelanggan

dalam

antrian

Kelender kejadian

29

Jam simulasi 0.00

0 0

1 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

34

Jam simulasi 2.28

0 0

T 22.00

2 7.91 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

60

Rata-rata waktu dalam sistem

minutes 57.1

5

4.763.08000

5queuein timeAverage

5

1

i

ix

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

63

0

0.5

1

1.5

2

2.5

3

3.5

0 5 10 15 20

Waktu

Ju

mla

h p

ela

ng

gan

dala

m a

ntr

ian

64

0

1

0 5 10 15 20

Waktu

Sta

tus A

TM

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)