Proposal Klp5 PDS

24
SIMULASI KEDATANGAN PELANGGAN BAZZAR JURUSAN ILMU KOMPUTER (BAZZKOM) UNTUK MEMPREDIKSI JUMLAH MEJA MAKAN TAMBAHAN YANG HARUS DISEWA GUNA MENEKAN BIAYA PEMODELAN DAN SIMULASI OLEH : 1. I GM SURYA A. DARMANA (1208605039) 2. I WAYAN SAFIRA SRI ARTHA (1208605040) 3. I MADE ADI BHASKARA (1208605042) 4. NUSANDIKA PATRIA (1208605043)

description

Pemodelan dan simulasi

Transcript of Proposal Klp5 PDS

Page 1: Proposal Klp5 PDS

SIMULASI KEDATANGAN PELANGGAN BAZZAR JURUSAN ILMU KOMPUTER (BAZZKOM) UNTUK MEMPREDIKSI

JUMLAH MEJA MAKAN TAMBAHAN YANG HARUS DISEWA GUNA MENEKAN BIAYA

PEMODELAN DAN SIMULASI

OLEH :

1. I GM SURYA A. DARMANA (1208605039)

2. I WAYAN SAFIRA SRI ARTHA (1208605040)

3. I MADE ADI BHASKARA (1208605042)

4. NUSANDIKA PATRIA (1208605043)

PROGRAM STUDI TEKNIK INFORMATIKA

JURSUAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS UDAYANA

2014

Page 2: Proposal Klp5 PDS

DAFTAR ISI

DAFTAR ISI.............................................................................................................i

DAFTAR TABEL....................................................................................................ii

BAB I PENDAHULUAN........................................................................................1

1.1. Latar Belakang..............................................................................................1

1.2. Perumusan Masalah......................................................................................1

1.3. Tujuan dan Manfaat......................................................................................2

BAB II TINJAUAN PUSTAKA..............................................................................3

1.1. Sistem, Model, dan Simulasi.........................................................................3

1.2. Pembangkitan Bilangan Acak (Random)......................................................3

1.2.1. LCG (Linear Congruentional Generator).............................................4

2.3. Simulasi Monte Carlo.......................................................................................6

2.4. Sistem Antrian...................................................................................................8

BAB III METODOLOGI SIMULASI...................................................................12

DAFTAR PUSTAKA............................................................................................14

i

Page 3: Proposal Klp5 PDS

DAFTAR TABEL

Tabel 2.1 – Contoh Pembangkitan Bilangan Random menggunakan LCG.............5

Tabel 2.2 - Tabel contoh kasus pemetaan distribusi..............................................10

Tabel 2.3 - Tabel simulasi antrian..........................................................................11

ii

Page 4: Proposal Klp5 PDS

BAB I

PENDAHULUAN

1.1. Latar Belakang

Himpunan Mahasiswa Jurusan Ilmu Komputer (Himakom) Fakultas MIPA

Universitas Udayana setiap tahunnya memiliki program kerja – program kerja

yang membutuhkan dana tinggi. Penggalian dana merupakan cara yang dapat

dilakukan untuk memenuhi kebutuhan dana tersebut, salah satu kegiatan

penggalian dana yang dapat memberikan kontribusi yang besar untuk memenuhi

kebutuhan dana yang tinggi adalah melalui Bazzar Jurusan Ilmu Komputer

(Bazzkom).

Bazzkom dilakukan dengan cara menjual kupon yang berisi beberapa

paket makanan yang dapat ditukarkan oleh pembeli pada tempat pelaksanaannya

yang biasanya dilakukan di restoran-restoran yang berada di wilayah Denpasar

dan sekitarnya. Namun, restoran-restoran tersebut memiliki daya tampung

pelanggan yang terbatas, sehingga untuk memenuhi kebutuhan akan tempat bagi

para pelanggan, panitia pelaksana mempunyai suatu inisiatif untuk menyewa

paket meja dan kursi tambahan. Penyewaan meja dan kursi tambahan tersebut

memerlukan biaya sewa yang relatif mahal, sehingga penentuan waktu untuk

menyewanya harus dilakukan secara tepat agar biaya yang dikeluarkan optimal

dan kegiatan Bazzkom tidak merugi.

Berdasarkan permasalahan tersebut maka penulis membangun sebuah

model simulasi yang dapat menggambarkan keadaan waktu dan jumlah

kedatangan pelanggan per-jamnya untuk menentukan jumlah meja dan kursi

tambahan yang harus dipesan agar biaya yang dikeluarkan optimal.

1.2. Perumusan Masalah

Adapun masalah yang akan diselesaikan adalah: Bagaimana membangun

sebuah model simulasi yang dapat menirukan keadaan waktu dan jumlah

kedatangan pelanggan per-jamnya untuk menentukan jumlah meja dan kursi

tambahan yang harus dipesan agar biaya yang dikeluarkan optimal?

1

Page 5: Proposal Klp5 PDS

1.3. Tujuan dan Manfaat

Adapun tujuan dari pembangunan model simulasi ini adalah :

1. Menirukan keadaan waktu dan jumlah kedatangan pelanggan per-jamnya

untuk menentukan jumlah meja dan kursi tambahan yang harus dipesan.

2. Menghitung total profit yang didapat dari pemesanan menu lepas dan jumlah

meja dan kursi yang dipesan pada saat simulasi.

Adapun manfaat dari pembangunan model simulasi ini adalah :

1. Model simulasi dapat memperkirakan biaya yang harus dikeluarkan untuk

pembayaran meja dan kursi yang harus di sewa pada saat hari penukaran

bazzar optimal sehingga profit yang didapat maksimal.

2

Page 6: Proposal Klp5 PDS

BAB II

TINJAUAN PUSTAKA

1.1. Sistem, Model, dan Simulasi

Sistem adalah sekumpulan entitas seperti manusia atau mesin yang

bergerak dan berinteraksi bersama-sama untuk mencapai suatu tujuan.

(Dikemukakan oleh Schmidt dan Taylor, 1970). Dalam praktiknya, yang

dinamakan “sistem” tergantung pada objektif atau tujuan dari studi tertentu.

Sistem dapat digolongkan menjadi dua, sistem diskrit dan sistem kontinyu.

Pada sistem diskrit, variabel-variabel keadaan hanya berubah pada set titik waktu

yang diskrit. Contoh: jumlah customer yang menunggu antrian. Sedangkan, pada

sistem kontinyu, variabel-variabel berubah secara kontinyu menurut waktu.

Contoh: arus listrik.

Model merupakan suatu representasi sederhana dari sebuah sistem (atau

proses atau teori), bukan sistem itu sendiri. Model-model tidak harus memiliki

seluruh atribut. Mereka disederhanakan, dikontrol, digeneralisasi, atau diidealkan.

Untuk sebuah model yang akan digunakan, seluruh sifat-sifat relevannya harus

ditetapkan salam suatu cara yang praktis, dinyatakan dalam suatu set deskripsi

terbatas yang masuk akal (reasonably). Sebuah model harus divalidasi. Setelah

divalidasi, sebuah model dapat digunakan untuk menyelidiki dan memprediksi

perilaku-perilaku (sifat) sistem.

Simulasi adalah peniruan operasi, menurut waktu, sebuah proses, atau

sistem di dunia nyata. Simulasi dapat dilakukan secara manual maupun dengan

bantuan komputer. Simulasi menyertakan pembentukan data dan sejarah buatan

(artificial history) dari sebuah sistem, pengamatan data dan sejarah, dan

kesimpulan yang terkait dengan karakteristik sistem-sistem.

1.2. Pembangkitan Bilangan Acak (Random)

Perilaku random diimitasi dalam simulasi dengan menggunakan sebuah

pembangkit bilangan acak (random number generator) atau disingkat RNG. RNG

merupakan kunci utama dalam pembangunan model simulasi, karena RNG

mempunyai suatu fondasi untuk menirukan kejadian-kejadian acak yang terjadi

3

Page 7: Proposal Klp5 PDS

pada sistem yang disimulasikan, contohnya seperti waktu kedatangan, lama suatu

kejadian, atau jumlah pesanan. Masukan (input) yang digunakan pada untuk

membangkitkan tipe dari kejadian ini adalah berupa urutan bilangan yang

didistribusikan antra 0 dan 1 ( 0 <= x <= 1) atau bersifat uniform. Sehingga secara

garis besar, RNG memiliki peranan dalam pembentukan urutan bilangan tersebut

yang bersifat independen dan terdistribusi secara uniform.

Bilangan random yang dibangkitkan oleh RNG tidak sepenuhnya murni

bilangan random melainkan sebuah bilangan pseudo-random. Karena, RNG dapat

membangktikan urutan bilangan yang berulang pada waktu tertentu, namun dapat

diatasi agar sekuens-nya tidak berulang dengan jarak yang terlalu dekat, salah satu

metode yang digunakan adalah dengan menggunakan Linear Congruentional

Generator.

1.2.1. LCG (Linear Congruentional Generator)

Kebanyakan software simulasi menggunakan LCG untuk membangkitkan

bilangan random-nya. LCG efisien dalam membangkitkan bilangan random

secara cepat tanpa harus menghabiskan sumber daya komputasional yang banyak.

Dengan menggunakan LCG, rangkaian bilangan integer Z1, Z2, Z3, …. Zn

didefinisikan menggunakan formula rekursif :

Dimana konstanta a disebut sebagai multiplier, konstanta c merupakan nilai

increment, dan konstanta m adalah modulus (Law 2007). Dalam LCG, nilai awal

atau seed harus ditentukan terlebih dahulu yang dinotasikan sebagai Z0. Nilai a, c,

m, dan Z0 merupakan bilangan integer positif. Nilai dari Zi dihitung dengan cara

membagi hasil dengan m dan mencari sisa hasil baginya. Batas nilai

dari Zi adalah . Setelah mendapatkan nilai Zi langkah selanjutnya

adalah mengkonversikan nilai tersebut kebentuk uniform(0,1) yang dinotasikan

dengan Ui dan didapatkan dengan cara membagi nilai Zi dengan m. Contoh:

misalkan terdapat nilai a = 23, c = 5, m = 32 dan Z0 = 13, maka pembangkitan 20

bilangan random berdasarkan dari nilai tersebut ditunjukkan pada tabel 2.1

4

Page 8: Proposal Klp5 PDS

Tabel 2.1 – Contoh Pembangkitan Bilangan Random menggunakan LCG

Dengan a = 23, c = 5, m = 32 dan Z0 = 13

i 23(Zi-1) + 3 Zi Ui = Zi /32

0 131 304 48 0,752 1109 21 0,333 488 40 0,634 925 29 0,455 672 32 0,506 741 37 0,587 856 24 0,388 557 45 0,709 1040 16 0,2510 373 53 0,8311 1224 8 0,1312 189 61 0,9513 1408 0 0,0014 5 5 0,0815 120 56 0,8816 1293 13 0,2017 304 48 0,7518 1109 21 0,3319 488 40 0,6320 925 29 0,45

Panjang siklus suatu bilangan pseudo-random yang dapat dibangkitkan

menggunakan LCG adalah sebanyak m. Sehingga untuk memperoleh suatu siklus

yang baik, maka penentuan nilai a, c, dan m harus dipilih secara cermat. Menurut

Pritsker, 1995 ada beberapa pedoman yang digunakan untuk membangkitkan

bilangan random dengan siklus yang panjang, yaitu :

1. m=2b, dimana b ditentukan berdasarkan jumlah bit per word pada

komputer yang digunakan. Secara umum komputer menggunakan 32-bit

per word, sehingga 31 adalah pilihan yang baik untuk nilai b.

2. c dan m sedemikian sehingga factor perseketuan terbesarnya bernilai 1

(sebuah bilangan integer bernilai positif yang tepat membagi baik m dan c

adalah 1).

5

Page 9: Proposal Klp5 PDS

3. a = 1 + 4k, dimana k adalah bilangan integer positif.

Dengan menggunakan pedoman tersebut maka LCG dapat memperoleh panjang

siklus peneuh sebanyak 2,1 Milyar (lebih tepatnya 231) bilangan random.

Ada dua tipe LCG, yaitu Mixed Congruentional Generator yang

dibangkitkan menggunakan nilai c > 0 serta Multiplicative congruentional

generator yang dibangkitkan menggunakan nilai c=0. Tipe Multiplicative lebih

efisien dibandingkan dengan tipe Mixed karena tidak membutuhkan penjumlahan

nilai c. ProModel menggunakan multiplicative generator berikut:

Secara khusus, formula diatas merupakan sebuah prime modulus multiplicative

linear congruentional generator (PMMLCG) dengan a = 630.360.016, c = 0, m =

. Itu sudah diuji secara ekstensif dan diketahui sebagai RNG yang handal

untuk keperluan simulasi (Law and Kelton 2000).

2.3. Simulasi Monte Carlo

Metode simulasi Monte Carlo adalah suatu metode untuk mengevaluasi

suatu model deterministik yang melibatkan bilangan acak sebagai salah satu input.

Metode ini sering digunakan jika model yang digunakan cukup kompleks,

nonlinear, atau melibatkan lebih dari sepasang parameter tidak pasti.

Suatu model memerlukan parameter input dan beberapa persamaan yang

digunakan untuk menghasilkan output (atau variabel respon). Dengan

menggunakan parameter input berupa bilangan random, maka dapat mengubah

suatu model deterministic menjadi model stokastik, dimana model deterministic

merupakan suatu model pendekatan yang diketahui dengan pasti, sedangkan

stokastik tidak.

Simulasi Monte Carlo adalah metode untuk menganalisa perambatan

ketidakpastian, dimana tujuannya adalah untuk menentukan bagaimana variasi

random atau error mempengaruhi sensitivitas, performa, atau reliabilitas dari

sistem yang sedang dimodelkan. Simulasi Monte Carlo digolongkan sebagai

metode sampling karena input dibangkitkan secara random dari suatu distribusi

6

Page 10: Proposal Klp5 PDS

probabilitas untuk proses sampling dari suatu populasi nyata. Oleh karena itu,

suatu model harus memilih suatu distribusi input yang mendekati data yang

dimiliki (Rubinstein, 1981).

Komponen penting yang harus disiapkan untuk melakukan simulasi Monte

Carlo adalah model distribusi beserta parameternya yang bisa didapat dari

observasi/pengamatan dari sistem nyata. Langkah-langkah metode Monte Carlo

adalah sebagai berikut:

Langkah-langkah Simulasi Monte Carlo

1. Lakukan observasi terhadap parameter yang akan dimodelkan

2. Hitung frekuensi tiap nilai parameter

3. Hitung distribusi frekuensi kumulatif dan distribusi probabilitas

kumulatif.

4. Pasangkan nilai kelas dari tiap parameter dengan bilang random

dengan rentang 0 hingga 99.

5. Tarik suatu bilangan random dengan menggunakan tabel random.

6. Dapatkan nilai parameter yang sesuai dengan memasangkan

bilangan random yang dihasilkan.

Contoh:

Misalkan dari hasil pengamatan diperoleh 20 waktu proses yang berbeda seperti di

bawah ini.

Maka, dari data tersebut, kemudian dapat dibentuk tabel distribusi frekuensi

menurut nilai (waktu proses) yang ada.

7

Page 11: Proposal Klp5 PDS

Dari probabilitas kumulatif yang didapatkan, kemudian dapat dibentuk pemetaan

jangkauan setiap kelas sebagai range bilangan random. Tabel range bilangan

random seperti tabel di bawah. Misalkan dari penarikan bilangan random

didapatkan angka 27. Diketahui 27 berada dalam rentang jarak 15 - 44, dalam

tabel termasuk kelas nilai 0.2.

Lakukan pemetaan yang sama untuk setiap bilangan random pada tabel bilangan

random hingga didapatkan semua nilai parameter seperti berikut:

Nilai parameter tersebut yang akan digunakan sebagai input pada simulasi.

2.4. Sistem Antrian

Antrian (queue) adalah suatu line/garis tunggu dari satuan yang

memerlukan layanan. Dalam antrian dikenal aturan “Yang lebih dahulu datang,

yang lebih dahulu dilayani” (first come first serve / First in first out (FIFO)).

Teori antrian pertama kali diperkenalkan oleh seorang ahli matematika

asal Denmark, Agner Kramp Erlang (1878-1929), yang pada awalnya digunakan

untuk mempelajari kemacetan lalu lintas telepon.

8

Page 12: Proposal Klp5 PDS

Dalam sistem antrian terdapat komponen-komponen penting sebagai

berikut:

a) Kedatangan (Arrival)

Misal: orang, mobil, panggilan telepon, dsb.

Unsur ini dinamakan proses input. Proses input tersebut meliputi sumber

pemanggilan (calling population) dan cara terjadinya kedatangan (variabel

acak).

b) Pelayanan (Service)

Pelayan atau mekanisme pelayanan dapat terdiri dari satu atau lebih pelayan,

atau satu atau lebih fasilitas pelayanan. Pelayanan tiap pelanggan/pengunjung

dapat berbeda-beda.

c) Antrian (queue)

Timbulnya antrian tergantung pada sifat kedatangan dan proses pelayanan.

Jika kedatangan lebih cepat dari pada pelayanan, maka akan menyebabkan

antrian. Pelanggan/pengunjung yang mengantri harus menunggu (waiting)

hingga mendapat gilirannya untuk dilayani.

Sistem antrian memiliki karakteristik berorientasi pada waktu. Sehingga,

waktu menjadi suatu titik kritis/bagian yang perlu perhatikan selama proses

simulasi. Oleh karena itum sistem antrian akan menghasilkan analisa mengenai

waktu kedatangan, waktu pelayanan, dan waktu tunggu antrian. Selain itu, sistem

antrian juga memiliki karakteristik-karakteristik lainnya, sebagai berikut:

a) Distribusi kedatangan

b) Distribusi waktu pelayanan

c) Rancangan sarana pelayanan

d) Peraturan pelayanan

e) Ukuran antrian

f) Sumber pemanggilan

g) Perilaku manusia

Dalam simulasi yang menggunakan variabel acak, diperlukan

pemetaan/mapping distibusi probabilitas waktu antar-kedatangan pengunjung

9

Page 13: Proposal Klp5 PDS

(inter-arrival time), waktu pelayanan (service time), dan waktu tunggu antrian

(waiting time).

Waktu antar-kedatangan pengunjung (I) merupakan selang/selisih waktu

kedatangan pengunjung saat ini (ai) dengan waktu kedatangan pengunjung

sebelumnya (ai-1).

I = ai - ai-1 (1)

Waktu pelayanan (S) tiap pelayan dapat berbeda-beda tergantung

kemampuan pelayan. Waktu pelayanan adalah selisih waktu awal pelayanan (Sa)

dengan waktu akhir/selesai dilayani (St).

S = Sa - St (2)

Waktu tunggu antrian (W) merupakan lama tunggu pelanggan untuk

dilayani selama pelanggan sebelumnya belum rampung dilayani, atau dapat

dikatakan selisih waktu kedatangan (ai) dengan waktu awal pelayanan pelanggan

tersebut (Sa).

W = Sa - ai (3)

Pada akhir simulasi, data waktu tunggu antrian dapat diolah kembali untuk

mencari rata-rata waktu tunggu antrian (average waiting time) yang

menunjukkan/merepresentasikan kualitas pelayanan.

avg W = ΣW / n (4)

Dimana avg W adalah average waiting time, ΣW total waiting time, dan n

adalah jumlah pelanggan.

Contoh kasus:

Terdapat tabel pemetaan distribusi antar-waktu kedatangan pengunjung dan waktu

pelayanan sebagai berikut:

Inter-arrival Time Frekuensi Probabilitas Interval

2.5 8 0.32 0 - 31

3 11 0.44 32 - 75

5 6 0.24 76 - 99

Total 25 1

Service Time Frekuensi Probabilitas Interval

10

Tabel 2.2 - Tabel contoh kasus

pemetaan distribusi

Page 14: Proposal Klp5 PDS

1 13 0.52 0 - 51

2.5 9 0.36 52 - 87

4.5 3 0.12 88 - 99

Total 25 1

Akan dilakukan simulasi sistem antrian selama 30 menit dengan bilangan random

sebagai berikut:

Random inter-

arrival time2 17 47 53 94 66 61 65 7 33

Random service

time75 41 90 57 88 59 73 21 92 64

Penyelesaian:

Tabel 2.3 - Tabel simulasi antrian

Selama 30 menit simulasi, ada 9 pengunjung yang datang. Total waiting time =

4.5 menit. Average waiting time = 4.5/9 = 0.5 menit.

11

Page 15: Proposal Klp5 PDS

BAB III

METODOLOGI SIMULASI

Adapun tahapan-tahapan yang ada pada metodologi simulasi ini adalah :

1. Analisis Kebutuhan Sistem

Analisis kebutuhan sistem merupakan tahapan pertama yang dilakukan,

dimana pada tahapan ini dilakukan proses pengumpulan data primer maupun data

sekunder. Data primer didapatkan dari proses observasi mengenai informasi dari

keadaan nyata pada Bazzkom melalui rincian data Sie. Kupon dua tahun terakhir

dari simulasi ini dibuat untuk Bazzkom selanjutnya. Informasi tersebut meliputi:

waktu kedatangan, waktu pergi, dan jumlah pelanggan yang menukar kupon

setiap jam-nya serta rata-rata profit dari rentang waktu Bazzar dibuka hingga

ditutup yaitu dari pukul 17.00 WITA hingga pukul 23.00 WITA, dimana data

tersebut akan dijadikan sebagai acuan dalam menghitung probabilitas waktu

kedatangan pelanggan dan lama pelanggan berada di restoran. Sedangkan untuk

data sekunder diperoleh dari hasil survey mengenai : harga penyewaan meja dan

kursi tambahan per-jamnya, kapasitas meja dan kursi pada restoran yang akan

digunakan pada acara Bazzkom 2014, serta kapasitas kursi antrian yang

ditempatkan pada restoran bagi para pengunjung yang sedang mengantri ataupun

menunggu makanan yang dibungkus.

2. Perancangan dan Pembangunan Model Konseptual

Setelah data terkumpul maka tahapan selanjutnya adalah perancangan dan

pembangunan model konseptual. Pada tahapan ini hal-hal yang dilakukan adalah

menentukan variabel-variabel masukan dan keluaran dari hasil simulasi sesuai

dengan tujuan yang telah ditetapkan untuk model ini. Selain itu, pada tahap ini

juga dilakukan pembuatan aturan-aturan dan asumsi-asumsi yang akan digunakan

dalam simulasi. Hal-hal tersebut kemudian direpresentasikan ke dalam bentuk

diagram alir (flowchart) proses dan logic simulasi yang akan dijalankan.

3. Pembangunan Model Simulasi

12

Page 16: Proposal Klp5 PDS

Pembangunan model simulasi dilakukan setelah tahapan perancangan dan

pembangunan model konseptual telah selesai. Pada tahapan ini model konseptual

yang telah dibangun akan diimplementasikan dalam bentuk software berbasis

desktop yang dibangun menggunakan Bahasa pemrograman Visual C#

menggunakan IDE Microsoft Visual Studio 2013.

4. Pengujian Model Simulasi

Tahapan pengujian model simulasi dilakukan dengan cara mencocokkan

serta melakukan pengecekan terhadap kesesuaian antara masukan dan keluaran

pada model simulasi apakah sudah sesuai dengan tujuan yang diharapkan atau

tidak. Serta memastikan bahwa model simulasi sudah terimplementasi dengan

baik sesuai dengan model konseptual yang telah dirancang dan dibangun

sebelumnya. Pengujian dilakukan beberapa kali iterasi sampai mendapatkan hasil

yang stabil.

5. Analisis Hasil Simulasi dan Pelaporan

Tahapan akhir adalah tahap analisis hasil simulasi dan pelaporan. Pada

tahap ini data hasil pengujian akan ditampilkan dalam bentuk tabel dan grafik

yang akan dijadikan pedoman dalam penarikan kesimpulan dari model simulasi

yang dibuat.

13

Page 17: Proposal Klp5 PDS

DAFTAR PUSTAKA

Law, Averill M. & Kelton, W. David. 2000. Simulation Modelling and

Analysis 3rd Edition. USA: McGraw Hill.

Robinson, Stewart. 2003. Simulation: The Practice of Model Development

and Use. UK: John Wiley & Son Inc.

14