Anda di halaman 1dari 16

Discrete Event Simulation

Discrete Event Simulation


Suatu Simulasi kejadian diskret (DES):
Memodelkan sistem dimana statusnya hanya berubah pada titik waktu
tertentu (diskret).
Sistem
Merupakan kumpulan obyek (entitas) yang masing-masing mempunyai sifat-
sifat tertentu (properties) yang disebut sebagai atribut.
Status
Suatu kumpulan atribut (kombinasi atribut) atau variable status yang
menyatakan entitas-entitas dalam sistem.
Event
Suatu kejadian dalam waktu yang bisa merubah status dari sistem.
Suatu event akan memulai/memicu suatu aktivitas, yang terjadi selama
entitas berada dalam suatu operasi/pekerjaan.
Entitas, atribut, event dan aktivitas dan kaitan-kaitannya didefinisikan
dalam model dari sistem.
Contoh: Sistem Single Server
Entitas: Pelanggan, Server
Atribut pelanggan: layanan yang diperlukan
Atribut server: kemampuan server(service rate)
Event: kedatangan pelanggan, selesainya pelanggan
dilayani server.
Aktivitas: server melayani pelanggan, menunggu
pelanggan.
antrian server
Pelanggan
Kedatangan
Selesai
pelanggan
Discrete Event Simulation
Diskret event simulation: stokastik, dinamis dan diskret
Stokastik = probalistik
Waktu antar kedatangan dan waktu layanan adalah variabel random
Mempunyai fungsi distribusi kumulatif
Diskret = kejadian-kejadian dipisahkan oleh selang waktu.
Variabel status berubah pada waktu tertentu
Status sistem bisa berubah dalam jumlah terbatas titik dalam waktu.
Titik-titik waktu ini adalah waktu dimana suatu kejadian terjadi.
Dinamis = berubah dalam waktu
Waktu simulasi (simulation clock)
Menyimpan informasi nilai waktu pada saat proses simulasi.
Suatu mekanisme memajukan waktu (berganti waktu) dari satu nilai ke
nilai waktu berikutnya
Waktu berikutnya = waktu dimana kejadian berikutnya terjadi.
Mekanisme memajukan waktu
Dasar dari semua studi simulasi adalah mekanisme
untuk memodelkan bagaimana waktu berjalan.
Setiap model berisi suatu variabel yang dinamakan
internal clock atau simulation clock.
Waktu bisa dimodelkan dalam beberapa cara dalam
simulasi
Bagaimana memajukan waktu?
Waktu dalam kaitan event (next-event time advance)
discrete event simulation
Waktu dibagi dalam selang yang sama (fixed increment
time advance) discrete time simulation
Next event time advance
Simulation clock diinisialisasi ke 0
Waktu terjadinya event berikutnya ditentukan
Simulation clock diset ke waktu dari event yang lebih
awal terjadi, dimana status dari sistem diperbaharui
karena sudah terjadi event,
Event yang baru saja terjadi, ditentukan waktu
berikutnya akan terjadi.
Simulation clock diset lagi ke waktu dari event yang
lebih awal akan terjadi.
Dst, proses diteruskan lagi sampai kondisi berhenti
tercapai.
Next event time advance
Karena semua perubahan status terjadi hanya
pada saat waktu terjadinya event, pada
discrete-event simulation perioda waktu pada
saat tidak ada event akan dilewati dengan
mengatur nilai simulation clock ke waktu
terjadinya event berikutnya.
Next event time advance
Untuk contoh server tunggal:
ti = waktu kedatangan pelanggan ke i (t0 = 0)
Ai = ti ti-1 = interval waktu kedatangan antara
pelanggan ke (i-1) dan ke i
Si = lama waktu server melayani pelanggan ke i
Di = delay dalam antrian untuk pelanggan ke i
ci = ti + Di + Si = waktu pada pelanggan ke i selesai
dilayani dan keluar
ei = waktu terjadinya event ke i ( dari semua jenis
event)
Next event time advance
Semua kuantitas dari masing-masing variabel
di slide sebelumnya pada umumnya akan
menjadi variabel random.
Dengan asumsi distribusi probabilitas dari
waktu antar kedatangan A1, A2, ... dan waktu
layanan S1, S2, ... diketahui mempunyai fungsi
distribusi kumulatif FA dan FS.
Next event time advance
Pada waktu e0 = 0, server idle dan t1 (waktu
kedatangan pelanggan pertama) didapatkan
dengan membangkitkan A1 dari FA, (dan
ditambahkan ke 0)
Waktu simulasi di set ke event pertama e1 = t1
Pelanggan pertama datang dan server idle, maka
dia langsung dilayani dan waktu dalam antrian D1
= 0, dan status server diubah dari idle ke busy.
Waktu c1, saat pelanggan yang datang selesai
dilayani, didapatkan dengan membangkitkan S1
dari FS dan menambahkannya ke t1.
Next event time advance
Waku kedatangan pelanggan kedua t2 didapatkan
dari t2 = t1 + A2, dimana A2 dibangkitkan dari FA.
Jika t2 < c1, waktu simulasi dimajukan dari e1 ke
waktu event berikutnya e2 = t2.
Karena pelanggan kedua mendapatkan server
dalam kondisi busy, jumlah pelanggan mengantri
ditingkatkan dari 0 ke 1 dan waktu kedatangan
pelanggan ini disimpan.
Waktu kedatangan pelanggan ketiga t3 juga
ditentukan dari t3 = t2 + A3
Next event time advance
Jika c1 < t3, waktu simulasi dimajukan dari e2
ke event berikutnya yaitu e3 = c1, dimana
pelanggan kesatu selesai dilayani, keluar,
pelanggan di antrian terdepan (waktu datang
t2) mulai dilayani, dan lamanya dia di antrian
dan waktu pelayanannya dihitung sebagai D2 =
c1 t2 dan c2 = c1 + S2 (S2 dibangkitkan dari FS),
dan jumlah pelanggan dalam antrian
diturunkan dari 1 ke 0
Komponen dan organisasi
model simulasi discrete-event
Status sistem:
kompulan variabel status untuk menyatakan kondisi
sistem pada suatu waktu
Simulation clock:
Sebuah variabel yang memberikan nilai waktu simulasi
Event list:
Daftar dari event berikutnya yang akan terjadi
Statistical counter
Variabel-variabel yang digunakan untuk menyimpan
informasi tentang performansi sistem
Komponen dan organisasi
model simulasi discrete-event
Initialization routine
Bagian program untuk inisialisasi simulasi pada waktu
t=0
Timing routine
Bagian program yang menentukan event berikutnya
dari event list dan kemudian memajukan waktu
simulasi ke waktu pada saat event terjadi.
Event routine
Bagian program yang memperbaharui status sistem
pada saat suatu event terjadi.
Komponen dan organisasi
model simulasi discrete-event
Library routine
Sekumpulan sub program yang digunakan untuk
membangkitkan nilai random dari distribusi probabilitas
yang ditentukan sebagai bagian dari simulasi.
Report generator
Bagian dari program yang menghitung perkiraan dan
menghasilkan laporan
Main program
Bagian program yang memanggil timing routine untuk
menentukan event berikutnya dan mengalihkan kontrol ke
event routine yang sesuai untuk memperbaharui status
sistem. Bagian ini juga berisi bagian untuk menghentikan
simulasi.
Struktur data event
Event disimpan secara terurut waktu
Struktur data
Bisa berbentuk list atau set atau antrian dengan data
terurut berdasarkan waktu
Berisi semua event yang akan terjadi
E0 E1 E2 E3
Waktu
T0 T1 T2 T3

... E3 E2 E1 E0

Anda mungkin juga menyukai