Model adalah representasi dari suatu objek, benda, ide dalam bentuk yang lain dari entitasnya. Fungsi model : 1. Sebagai Alat Bantu Berpikir, menyajikan deskripsi sistematis suatu sistem sehingga mudah mempelajarinya 2. Sebagai Alat Bantu Komunikasi, mempermudah menjelaskan suatu sistem terhadap orang lain 3. Sebagai Alat Bantu Latihan, melatih ketrampilan dari orang yang berhubungan dengan sistem yang dimodelkan 4. Sebagai Alat Bantu Prediksi, untuk menentukan kelakuan sistem yang akan datang termasuk pengaruh yang ingin diketahui jika ada perubahan sistem dan operasinya 5. Sebagai Alat Bantu Percobaan, jika tidak mungkin eksperimen langsung maka dapat dilakukan terhadap alat yang mirip dengan sebenarnya Klasifikasi model dapat dibedakan berdasarkan : a. Perubahan keadaan dengan waktu (statik vs dinamik) b. Keteraturan hubungan antara Input/Output (deterministik vs statik) c. Sifat dari perubahan keadaan (kontinu vs diskrit) Model dapat dilihat berdasarkan pengujian : Model Matematika, Model Ikonik, Model Analog Gambar 1.1. Proses model 1.2. MENURUT PENDAPAT BEBERAPA ILMUAN TENTANG MODEL - Emshoff dan Simon (1970) menyatakan suatu model sistem dimana komponennya direpresentasikan oleh proses aritmatika dan logika yang dijalankan oleh komputer untuk memperkirakan sifat-sifat dinamis sistem tersebut. - Shannon (1975) menyatakan proses perancangan model dari sistem nyata yang diawali oleh suatu eksperimen untuk mempelajari perilaku sistem atau evaluasi strategi - Banks and Carson (1984) menyatakan model merupakan tiruan dari sistem nyata yang dikerjakan secara manual/ komputer kemudian diobservasi dan disimpulkan untuk mempelajari karakterisasi sistem - Hoover dan Perry (1990) menyatakan adalah proses perancangan model matematis/ logis dari sistem nyata, melakukan eksperimen terhadap model dengan menggunakan komputer untuk menggambarkan, menjelaskan, dan memprediksi perilaku sistem - Law dan Kelton (1991) menyatakan adalah sekumpulan metode dan aplikasi untuk menirukan/ merepresentasikan perilaku dari suatu sistem nyata, yang biasanya dilakukan pada komputer dengan menggunakan software tertentu 1.3. PROSES MEMBUAT MODEL Tidak dapat dijabarkan dengan rumus secara pasti akan tetapi lebih berupa seni (art) sebagai pegangan dalam membuat model, dengan memperhatikan aspek berikut : I. Memecahkan masalah melalui penyederhanaan, seperti : 1. Defenisikan sasaran masalah dengan statemen yang menentukan model sistem 2. Cari analogi sistem (sebelumnya jika ada) untuk mempermudah konstruksinya 3. Tentukan komponen-komponen yang akan dimodelkan 4. Tentukan variabel, parameter konstruksi, hubungan fungsional diantara konstruksi dengan fungsi kriteria 5. Buat model matematik dan pikirkan permasalahan tersebut secara numerik jika ingin disimulasikan dengan komputer 6. Nyatakan dalam simbol-simbol untuk menginterpretasikan sesuatu 7. Tulis parameter matematiknya 8. Jika dianggap terlalu rumit lakukan penyederhanaan atau sebaliknya. II. Cara menyederhanakan model, sebagai berikut : 1. Buat harga variabel menjadi parameter 2. Eliminasi/ kombinasikan variabel-variabel 3. Asumsikan linearitas 4. Tambahkan asumsi 5. Perjelas batasan sistem. Tools untuk mempelajari sistem antara lain menggunakan : 1. Flow chart (Bagan alur) 2. Flow diagram (diagram alur) 3. Multiple activity chart (Bagan aktivitas jamak) 4. Process chart (Bagan proses) Untuk menilai model apakah baik atau tidak, terdapat beberapa kriteria : 1. Harus mudah dimengerti user, 2. Memiliki tujuan yang jelas, 3. Dinyatakan dalam deskripsi yang jelas dan lengkap, 4. Mudah dikontrol dan dimanipulasi user, 5. Mengandung pecahan masalah penting dan jelas, 6. Mudah diubah serta memiliki prosedur modifikasi/ update, 7. Dapat berkembang dari sederhana menjadi kompleks. BAB 2 SISTEM SIMULASI 2.1. SIMULASI Proses merancang sistem yang sebenarnya dari suatu model yang diambil, mengadakan percobaan, mengevaluasi hasil percobaan dengan suatu proses yang mendekati keadaan sebenarnya. Pendapat lainnya menyatakan proses aplikasi dengan membangun model dari sistem nyata atau usulan sistem, melakukan eksperimen terhadap model tersebut. Untuk menjelaskan perilaku sistem, mempelajari kinerja sistem, membangun sistem baru sesuai kinerja yang diinginkan. Dalam proses simulasi dibutuhkan : 1. Pendefenisian sistem 2. Analisis Sistem Perbedaan pokok pada bahasa simulasi, sebagai berikut : 1. Organisasi waktu dan aktivitas 2. Penamaan dan struktur entitas 3. Efektivitas kondisi pengetesan 4. Variansi jenis uji statistik 5. Kemudahan mengubah struktur model Kesimpulan defenisi : Simulasi bukanlah suatu teori melainkan suatu metodologi untuk memecahkan masalah, dimana hanya satu cara yang dipakai untuk analisis serta mencoba menyelesaikan masalah. Masalah-masalah yang sering ditimbulkan oleh simulasi : • Dapat mengganggu operasi sistem • Manusia yang diamati cenderung bertingkah laku lain dari biasanya (effect Hawthorn) • Sulit membuat kondisi yang sama untuk setiap percobaan yang berulang • Untuk memperoleh sampel yang sama dibutuhkan waktu dan biaya • Sulit menggali banyak alternatif Keuntungan : Dapat mendidik dan melatih bakat/potensi pengembangan, serta dapat memberikan kesempatan bagi para pembuat model dan pelaku simulasi dalam membuat/ melihat/ bermain dengan sistemnya. 2.2. TIPE-TIPE SIMULASI 1. Simulasi Statik Merupakan proses yang bersifat random (stochastic) dimana waktu statik dan variasi waktu dinamik menggambarkan stokastik, secara statistik untuk mengestimasi nilai yang tidak mudah diturunkan secara matematik, contohnya simulasi Monte Carlo. Misalnya : • Mengestimasi ukuran shaded area Untuk mengestimasi secara numerik digunakan simulasi statistik, misal : shape int Panjang 100 unit, Tinggi 50, Areanya = 500 unit Digambarkan dalam koordinat sumbu x dan y (sudut kiri bawah (0,0) dimana x = 0-100, dan y = 0-50 • Jika pasangan koordinat dipilih random maka sukses (dalam area) dan gagal (di luar area) dapat diprediksi Jika A = size tune pada area shaded dan M = bilangan sukses dan N = generalisasi dari pasangan random Maka : = sebagai n trend untuk infinity (tak terbatas) Variabel random dengan nilai 1 jika sukses dan nilai 0 jika gagal. Gunakan Distribusi Bernouli, parameternya p dilestimasi dengan sebagai n trend ke infiniti umumnya simulasi statik sample bilangan random dan menurunkan hasil berdasarkan nilai bilangan yang disample. 2. Simulasi Kontinu Digunakan model sistem kontinu dengan waktu non deterministik/ non stokastik. Contoh model operasi dari Electric Kettle, Setrika (gosokan), saat switch on elemen pamanas air bergerak pada temperatur tertentu. Beberapa model simulasi kontinu dikomposisi pada nilai loop pembalik dan ratusan persamaan differential untuk ; • Mekanikal • Produksi • Electrical 3. Simulasi Diskrit Untuk kasus kettle, bahwa aksi kettle didasarkan 2 event yaitu : • Switch kettle on. • Switch kettle off Contoh : Model aktivitas dapur pada penggunaan kettle yaitu Discrete event simulation : simulasi ini menggambarkan masing-masing event diskrit pemindahan dari satu ke yang lain sebagaimana progress, waktu sapat dimodelkan dinamis, dan hampir invariably, stochastic. • Jika permintaan pada item dan waktu pada setiap order sampai tiba dari supplier diasumsi deterministik maka ukuran setiap order dapat dikalkulasikan secara analitis. • Jika variabel stokastik masalah lebih komplikasi dan simulasi describle event dapat menentukan ukuran order terbaik dalam sistem stokastik menurunkan sample distribusi • operasi sistem. • Panjang waktu aktivitas. Manfaat Simulasi : - Diperoleh Tool set yang fleksibel, biasanya memecahkan masalah yang sulit untuk dipecahkan dengan model matematis biasa (+ , x , : , -) - Model ini menjadi efektif bila digunakan untuk sistem yang relatif kompleks untuk pemecahan analitis - Simulasi akan memberikan wawasan yang lebih luas, dengan berbagai tool set bagi seorang perancang sistem akan mencapai mencapai kinerja maksimum baik dalam tahapan perancangan sistem maupun tahap operasional Klasifikasi simulasi model 1. Menurut Waktu a. Simulasi statis, output modelnya tidak mempengaruhi waktu b. Simulasi dinamis, output modelnya dipengaruhi waktu 2. Menurut Perubahan Status Variable a. Simulasi kontinu, bahwa status variable berubah berkesinambungan b. Simulasi diskrit, bahwa status variablenya berubah-ubah pada saat tertentu, contoh : investasi 3. Menurut Derajat Ketidakpastian a. Simulasi deterministik, bahwa outputnya bisa ditentukan secara pasti Contoh : aX2 + bX + c = 0 b. Simulasi stokastik, bahwa outputnya tidak bisa ditentukan secara pasti, contoh : perilaku manusia Keuntungan Simulasi : 1. Compress Time : menghemat waktu, misalnya : integral dalam kalkulus 2. Expand Time : ekspansi waktu misalnya : dalam statistik, digunakan menunjukkan perubahan waktu sistem real 3. Control Sources of Variation : evaluasi source bervariasi, misalnya variable bebas dan tidak bebas 4. Error in Measurement Correction : koreksi kesalahan dalam perhitungan, misalnya : y = ax2 + b dalam komputer maupun manual 5. Stop Simulation and Restart : dapat distop dan dijalankan kembali, misalnya pencatatan semua keadaan yang relevan tanpa akibat buruk pada program simulasi. Percobaan ini tidak dapat dihentikan begitu saja pada sistem nyata 6. Easy to Replicate : mudah diperbanyak, misalnya : dalam program, dapat diulang dalam perhitungan dengan menggunakan pengulangan (loop) untuk mengubah berbagai komponen dan variabelnya Kekurangan Simulasi : 1. Kualitas dan analisis model tergantung si pembuat model Hanya mengestimasi karakteristik sistem berdasarkan masukan tertentu 2.3. JENIS-JENIS SIMULASI 1. Identity Simulation Merupakan suatu kegiatan yang memberikan pernyataan secara representatif dengan model simbolik yang dapat dimanipulasi dengan mudah untuk menghasilkan angka-angka atau bilangan-bilangan numerik. Penggunaan identity simulasi dapat dilihat secara langsung. Pendekatannya pun cukup sederhana dan pada umumnya banyak meniadakan berbagai hal fundamental dari aturan pemodelan. 2. Simulasi Ouasi (simulasi identitas semu) Simulasi identitas semu ini memodelkan berbagai aspek yang terkait dari sistem yang sebenarnya serta menghasilkan unsur-unsur yang dapat membuat setiap identitas simulasi tidak berfungsi dengan baik 3. Simulasi Laboratory (simulasi laboratorium) Simulasi ini dapat memberikan jawaban lebih esensial pada masa akan datang, dan biasanya memerlukan berbagai komponen, seperti : - Operating Planning, menggunakan komputer untuk mengumpulkan data dan mengelola informasi dari para user. Komputer memainkan peran penting untuk menjalankan berbagai aksi secara random yang merupakan jawaban dari para user - Main machine simulation, menyelidiki berbagai konsep teknik dengan tujuan tertentu 4. Computer Simulation (simulasi komputer) Menggunakan komputer memecahkan masalah sesuai kebutuhan dalam bentuk program komputer. Simulasi komputer banyak digunakan dalam berbagai sistem, hanya saja jangan mengacaukan simulasi komputer dengan studi simulasi dari suatu komputer sistem. Struktur dasar model Simulasi : E = F (xi, xj) Dimana : E = efek performansi sistem F = hubungan antara xi dan xj ¬yang menghasilkan E xi = variable dan parameter yang tidak terkontrol xj = variable dan parameter yang terkontrol 2.4. LANGKAH-LANGKAH SIMULASI Perhatikan diagram berikut ini yang merupakan bentuk simulasi : Gambar 2.1. Diagram Alir Proses Simulasi 1. Pendefenisian Sub Sistem Formulasi masalah yang belum ada solusinya/ belum jelas, terutama spesifikasi, tujuan, batasan sistem agar sistem tersebut terdefenisi dengan jelas. 2. Formulasi model Sistem direduksi menjadi diagram aliran/ bentuk-bentuk lain yang tidak terlalu kompleks dan tidak terlalu detail (sudah diperoleh prototype model) dengan menyertakan aspek-aspek yang relevan dengan tujuan kajian. 3. Pengumpulan data Bukan berarti hanya pengumpulan angka-angka secara kuantitatif. Jika pengumpulan data stokastik (data teoritis/ empiris). Pemilihan dilakukan dengan : a. Memakai data mentah, yang diperoleh dari pengamatan : melakukan simulasi sistem yang sebelumnya. b. data berasal dari suatu periode waktu yang hanya memberikan gambaran tentang sistem pada periode tersebut bukan pada masa yang akan datang c. Pemakaian distribusi frekuensi teoritis untuk menghemat waktu dan storage komputer dari pada membangkitkan harga-harga variabel random untuk model tersebut d. Test sensitivitas terhadap input data secara implisit atau eksplisit 4. Penerjemahan model (skenario) Menerjemahkan model ke komputer yang sering menimbulkan masalah yaitu untuk simulasi dengan memakai bahasa umum/ khusus (pemilihan bahasa pemograman yang tepat) yang mempunyai batasan yang ketat atau ketidaktersediaan fungsi terbatas. Penyusunan skenario terhadap odel setelah model valid, maka langkah selanjutnya adalah membuat beberapa skenario untuk memperbaiki kinerja sistem sesuai dengan keinginan. Jenis–jenis skenario dibagi atas 2 yaitu : a. Senario parameter, dapat dilakukan dengan jalan mengubah nilai parameter model. Skenario jenis ini relatif mudah dilakukan karena hanya melakukan perubahan pada nilai parameter model dan dampaknya terhadap output model. b. Skenario terstruktur, dilakukan dengan jalan mengubah struktur model. skenario jenis ini memerlukan pengetahuan yang cukup tentang sistem agar struktur baru yang diusulkan dapat memperbaiki kinerja sistem. 5. Validasi Model Proses menguji dan memperbaiki model sampai ketaraf yang dapat diterima (kesimpulan dari model tersebut benar). Secara kuantitatif/ kualitatif diberikan beberapa pokok validasi sebagai berikut : a. Apakah model memberikan jawaban yang tidak masuk akal bila diberi harga ekstrim b. Apakah hasil simulasi dengan data percobaan akan masuk akal jika dibandingkan dengan hasil simulasi pada pengamatan data sebenarnya. Ada 2 Cara pengujian “multiple test for validation of system dynamics type of simulasi model” : 1. Perbandingan rata–rata/ Mean Comparrison 2. Perbandingan variasi amplitudo (amplitude variation comparison) untuk mendapatkan variasi output, simulasi dan data historis yang tersedia dengan rumus : Dimana : Ss = standard deviasi model SA = nilai rata – rata data aktual E2 = percent error in the variations, E2 ≤ 30% maka dianggap valid 6. Perencanaan Strategi Merancang eksperimen untuk memperoleh informasi yang diinginkan baik berupa kombinasi harga parameter yang akan memberikan variabel respons optimal serta menjelaskan hubungan antara variabel respons dan faktor yang dapat dikontrol oleh sistem. Tujuan adalah untuk mengurangi jumlah percobaan serta membuat percobaan menjadi terstruktur dan efisien dari segi waktu, usaha dan cost. 7. Perencanaan Taktis Melibatkan pertanyaan tentang efisiensi khusus proses RUN percobaan berdasarkan percobaan disain. Masalah yang sering timbul : Kondisi awal dan pengaruhnya pada keadaan seimbang. Keadaan awal harus dipilih untuk mencapai keseimbangan dengan cepat tanpa mengganggu proses simulasi, memiliki ketelitian agar hasil eksperimen cukup memadai. 8. Eksperimen (percobaan) Untuk mendapatkan informasi aktual biasanya dilakukan analisa sensitivitas 9. Implementasi Pemakaian model simulasi untuk mendapatkan proses legitimasi dan sukses 10. Dokumentasi Proses membukukan dan dapat berupa referensi simulasi berikutnya. BAB 3 SIMULASI DISTRIBUSI SAMPLING 3.1. KEBUTUHAN DISTRIBUSI Kebutuhan distribusi dalam proses simulasi, dapat berupa : 1. Pengambilan Sampling, biasanya stokastik. Contoh : dalam sistem antrian, rata-rata kedatangan dan pelayanan waktu rata-rata yang terukur, tetapi tidak mungkin memprediksi kapan orang atau siapa yang akan datang. Dalam simulasi menggambarkan kedatangan dan aktivitas untuk mendemonstrasikan alam stokastik dalam sistem 2. Membangkitkan Bilangan Random, random bila kejadiannya bukan prediksi/ tidak terdefenisi. Pembangkitan bilangan random untuk bilangan real dalam range (0,1) secara independen paket simulasi yang menggunakan bilangan pseudo random 3. Membangkitkan bilangan Pseudo Random, bilangan yang diperoleh dari hasil suatu formulasi. Standar error rata-rata = Ukuran sample: Gambar 3.1. Distribusi sampling Metode umum didasarkan pada produksi dari rangkaian integer, dengan proses iteratif : ni+1 = f(ni); Bilangan ni+1 direlasikan pada ni dan pada bilangan sebelumnya serta sequensi yang mungkin. Dalam order untuk menghasilkan bilangan real pada range (0,1) integer dibagi lebar range integer m. Bilangan pseudo random Ui dengan : m = besar sequensi bilangan real ui = hasil sample dari distribusi kontinu. Semua generator pada tipe ini memiliki cycle Misalnya : Jika ni = nj maka f(ni) = f(nj) oleh karena itu ni+1= nj+1 (berarti berada pada order yang sama). Untuk membuat cycle panjang selama mungkin maka generation menghasilkan integer berbeda sebelum recycle. Fungsi ini di formulasikan : f(ni) = (an + c) mod m ; a, c, m = konstanta integer. f(ni) = sisa pada saat transformasi linier dari bilangan ni dibagi m. Integer berikutnya berada pada ni+1 diset bersama dengan f(ni) ; Jika c>0 maka generator disebut mixed Congruential generator Suatu formulasi yang dapat menghasil bilangan dalam range tertentu, misalnya : 0-(m-1), dimana m dikatakan panjang cycle maximum (sangat besar) tetapi masih lebih kecil dari beberapa bilangan integer Contoh : Jika semua konstanta dipilih genap maka tidak satu pun bilangan ganjil dihasilkan untuk menjamin panjang cycle maximum yang rumit, dimana : 1. c dan m adalah relatif premier (tidak memiliki faktor umum ) 2. Jika p adalah faktor premier dari m, maka pilih a=1 (mod p) 3. Jika a adalah faktor premier dari m maka pilih a =1 (mod a) 4. Stream Dalam pascal procedure make-stream menginisialisasi semua 32 stream dengan setting nilai pada masing-masing stream point berkisar 1000i + 7 untuk tujuan menyediakan spasi generator 16 bit sampai dengan 32 bit. Array original seeds (benih asli) mengandung bilangan random integer pada setiap stream, dan secara individual stream j dapat di set kembali dengan n, Seed [j] = orginal _seed [j] Fungsi ini menyampel sebuah bilangan 0 dan 1 untuk stream 32 bit sehingga : Function random (s: stream _num ) : real 3.2. SAMPLING Sampling dilakukan pada distribusi probabilistic diskrit yang merupakan nilai peluang pengambilan bilangan diantara nilai diskrit tertentu, misalnya : x1,x2,x3,x4,x5,...,xn dimana Xi=Xi+1 dan nilai n=0,1,2,3,4,...,m sehingga Pi adalah : Penggunaan sampling, umumnya dilakukan terhadap : A. Distribusi diskrit umum, dimana : 1. Terdapat simulasi model sedemikian hingga pemilihan cabang terhadap setiap entitas adalah random serta tidak terhubung dengan aktivitas sebelumnya/ karakteristik entitas 2. Setiap entitas baru harus memiliki sifat terdistribusi diskrit B. Distribusi Poisson Merupakan metode sampling yang mirip dengan distribusi umum, dimana setiap pertengahan bilangan dinotasi Sampling Distribusi Dengan Parameter Kontinu Untuk menyampel bilangan real misalnya panjang waktu aktivitas digunakan probability density function mengambarkan probabilitas x dalam range kontinu. Jika f(x) kontinu dan antara limit a dan b maka X1 dan X2 berada antara nilai a dan nilai b A. Uniform : Distribusi uniform dengan formula : B. Negative Exponential Fungsi : F(t)= exp(-) ; t>0 maka fungsi kontinu dengan nilai f(x) antara : C. Normal : Standar fungsi distribusi normal D. Log normal Digunakan pada waktu pelayanan antrian dengan 2 parameter rata-rata m dan standard deviasi S sehingga Log normal dihubungkan dengan distribusi normal. Sampling histrogram Jika bilangan random u antara f(x) dan f(x+1) maka nilai sampel s antara x dan x+4 adalah : Bentuk pseudo code : While do x := x+1 3.3. PROBABILITAS Proses probalibilitas dibedakan dengan : 1. Variabel Stokastik (Variabel Random) Event yang mengubah state ditentukan oleh input disebut deterministik. Jika terdapat suatu event dimana outputnya random (acak) dan tidak dapat ditentukan oleh input disebut dengan stokastik dimana variabelnya random. Contoh : - Variabel random dan diskrit, misalnya mewakili tanggal dalam 1 bulan yaitu bilangan tersebut antara 1 sampai dengan 31 - Variabel random kontinu, misalnya mewakili kecepatan angin, lamanya pemrosesan, pertambahan penduduk 2. Fungsi Probabilitas, antara lain : - Fungsi probabilitas diskrit - Fungsi probabilitas kontinu Fungsi Probabilitas Diskrit Variabel random dengan n buah nilai, misal : xi ; i = 1,2,….,n maka probabilitas xi adalah P(xi) Contoh variabel random dalam simulasi : - Jenis barang yang akan dibeli oleh pelanggan dalam suatu toko yang mempunyai n macam barang - Terminal yang akan dipakai dalam suatu instalasi komputer, dimana terminal dari : 1..n Fungsi distribusi kumulatif P(Xi) adalah memberi probabilitas bahwa suatu variabel random
Q maka Profit = 12 D – 7,5 Q 3. Misalkan Q=60 unit dan D=40 unit dimana jika D ≤ Q sehingga : Profit = 12 (40) – 7,5(60) + 6 (60 - 40) = 480 – 450 +120 = 30 + 120 = 150 Jika D > Q maka Profit = 12 (40) – 7,5 (60) = 480 – 450 = 30 4. Perusahaan memesan sebanyak 60 unit maka rincian keuntungan masing-masing data di atas sebagai berikut : Demand Profit 40 150 80 270 60 270 90 270 40 150 50 210 Average 220 5. Distribusi frekwensi sebagai berikut : Profit Probabilitas Frekwensi 150 0,2 2 270 0,3 3 210 0,1 1 P = frekwensi 10 6. Grafik Gambar 3.6. Grafik Profit Pemesanan Tugas: Sebuah perusahaan coklat memberikan penawaran khusus pada event – event spesial spt: hari valentine. Untuk keperluan, perusahaan memesan paket spesial pada supplier yaitu coklat love. Harga coklat 6,5/unit, harga jual 15/unit, jika tidak terjual pada tanggal 14 February maka produk ini akan dijual dengan harga 40% dari coklat semua. Lakukan simulasi untuk 100 kali trial of order quantity dan demand bervariasi secara random : 1. Tentukan order quantity dimana menghasilkan profit maksimum. 2. Gambarkan grafik histogram profit pada order quantity yang memberikan average profit maksimal. Penyelesaian: 1. demand (kebutuhan) D pesanan (order) Q profit (keuntungan) π 2. Jika D < Q maka Profit = 15 D – 6,5 Q + 6 (Q - D) Jika D ≥ Q maka Profit = 15 D – 6,5 Q 3. Misalkan Q = 60 unit, ; D = 10 Unit jika D ≤ Q maka Profit = 15 (10) – 6,5 (60) + 6 (60-10) = 150 – 390 + 300 = 60 Misalkan Q = 60 unit; D = 100 unit jika D > Q maka Profit = 15 (60) – 6,5 (60) = 900 – 390 = 150 4. perusahaan memesan sebanyak 60 unit Demand Profit 10 50 60 90 100 60 420 510 510 510 Average 402 5. Table Frekwensi Profit Probabilitas Frekwensi 60 420 510 0,1 0,1 0,3 1 1 3 6. Grafik Histograf Gambar 3.7. Bentuk histogram profit 3.5. ANTRIAN Antrian berhubungan dengan pelayanan dimana jumlah yang akan dilayani umumnya jauh lebih besar dari jumlah pelayan (server). Karakteristik pelayanan sebagai berikut : a) Pola kedatangan : menjelaskan sifat-statistik dari kedatangan entitas b) Proses pelayanan : menjelaskan bagaimana suatu entitas dilayani c) Displin antrian : menjelaskan bagaimana entitas berikutnya dipilih Proses pelayanan ada 3 faktor : 1. Waktu pelayanan (time service) 2. Kapasitas (capacity) 3. Ketersediaan (availability) I. Pola kedatangan Menyangkut waktu antar kedatangan yaitu : antar kedatangan yang berurutan, dengan kriteria sebagai berikut : Bila kedatangan yang tidak bervariasi (jarang terjadi ) berarti pola kedatangan adalah konstan Bila kedatangan stokastik (random) maka probabilitasnya 2 atau kedatangan lebih maka dapat terjadi layanan bersamaan artinya (n-1) diantaranya mempunyai waktu antar kedatangan nol dengan notasinya : Ta (time average) = waktu antar kedatangan rata-rata = laju kedatangan rata-rata Hubungan kedua variabel adalah : Pola kedatangan poisson Pola kedatangan dinyatakan random (terjadi kapan saja) dimana pembatasnya hanya waktu antar kedatangan rata-rata antara satu kedatangan dengan kedatangan berikutnya yang tidak saling ketergantungan Distribusi eksponensial Fungsi distribusi kumulatif dari suatu distribusi eksponensial : Koefisien variasi (derajat keterbatasan) Salah satu ukuran untuk mengetahui apakah sekelompok data mempunyai distribusi tertentu tentang koefisien variasi yaitu hasil bagi kedatangan standar deviasi dari waktu antar kedatangan (Sa) terhadap waktu antar kedatangan rata-rata Ta sehingga diperoleh sehingga Koefisien variasi = Sa/Ta Distribusi Er Lang Khusus untuk pemakaian sistem tetap (m) dimana setiap variabel random yang diambil dari rerata variabel random yang tidak bergantungan Fungsi kepadatan (density) sebagai berikut : Distribusi Hyper eksponensial Sekumpulan data dengan koefisien variasi lebih besar dari 1 Gambar 3.8. Bentuk Distribusi Hyper Eksponensial Tahap pelayanan yang paralel mempunyai distribusi waktu pelayanan yang eksponensial II. Proses Pelayanan Suatu situasi dimana waktu pelayanan tidak random (hampir konstan) tetapi dapat berfluktuasi pada distribusi normal, fluktuasi terjadi karena situasi yang tidak dapat terkontrol. Displin pelayanan antrian sebagai berikut : A. FIFO (first in first out) : urutan pelayanan sesuai dengan urutan kedatangan entitas. Contoh : Loket karcis B. LIFO (last in first out) : entitas membentuk antrian yang sesuai dengan urutan kedatangan, tetapi pelayanan diberikan kepada entitas yang terakhir, contoh orang masuk kereta api, jumlah orang sangat banyak, yang turun lebih dahulu adalah orang yang datang terakhir C. Random : entitas yang dilayani dipilih secara acak diantara antrian entitas yang sedang menunggu Pengukuran antrian Sering disebut dengan “traffic intensity“ (lalu lintas entitas), adalah perbandingan antar waktu pelayanan rata-rata dan waktu antar kedatangan rata-rata. Jika terjadi renaging (penataan ulang) maka akan ada entitas yang tidak mendapatkan pelayanan (misalnya pada telepon), bedakan laju kedatangan yang sebenarnya dan laju kedatangan entitas yang dilayani berdasarkan perbedaan waktu secara matematis. Mengunakan simulasi untuk membuat keputusan Mempersiapkan beberapa informasi pada pengambilan keputusan oleh manajemen, atau siapa saja pengguna simulasi dalam proses serta hasil analisa untuk memudahkan perancangan . Beberapa model dalam proses tersebut : 1. Model on-off 2. Model penggunaan jangka panjang 3. Model cost BAB 4 RANDOM NUMBER GENERATOR 4.1. BILANGAN RANDOM Random Number Generation adalah suatu algoritma yang digunakan untuk menghasilkan urutan/ sequence dari angka-angka sebagai hasil perhitungan angka-angka pada komputer, dan yang diketahui distribusinya sehingga angka-angka tersebut muncul secara random dan digunakan terus-menerus. Dapat disimpulkan bahwa : 1. Sequence atau Urutan Sequence adalah random number dihasilkan secara urut dalam jumlah yang mengikuti algoritma tertentu dan sesuai dengan distribusi yang akan terjadi. 2. Distribution Berhubungan dengan probabilitas yang digunakan untuk meninjau atau terlibat langsung dalam pembangkitan bilangan random tersebut. 3. Bilangan random Menghasilkan angka yang akan berperan dalam pemunculan angka pada proses pada komputer. 4.2. DESKRIPSI RANDOM NUMBER Dalam penentuan random number, pada umumnya terdapat beberapa sumber yang akan digunakan antara lain : 1. Table Random Number : tabel ini menentukan digit bilangan 2. Electronic Random Number : digunakan untuk percobaan penelitian 3. Congruential Pseudo RNG o Additive RNG o Multiplicate RNG o Mixed Congruential RNG Additive Random Number Generator (ARNG) Rumus RNG Zi = ( a.Zi – 1 + c) mod m dimana : Zi = angka RN yang baru Zi – 1 = angka RN yang lama / semula c = angka konstan yang bersyarat m = angka modulo syarat : a. Konstanta harus lebih besar yang dinyatakan dengan : atau b. Konstanta c harus bernilai ganjil apabila m bernilai pangkat dua, dan tidak boleh berkelipatan m. c. Modulo m harus bilangan prima, sehingga memudahkan dan melancarkan perhitungan komputer. d. Untuk Z0 harus merupakan angka integer dan ganjil mencakup bilangan yang cukup besar Multiplicate Random Number Generator (RNG) RNG = Zi+1 = (a.z) mod m ; Dimana : Zi = angka RN semula Zi+1 = angka RN yang baru A > 1 ; c = 0 ; m > 1 Syarat sama dengan additive RNG : m = 2n-1 : harus lebih kecil dari integer. Tiga variabel untuk menentukan nilai-nilai RN yang dapat diperoleh sebagai berikut : a. Pemilihan nilai m (modulo) merupakan suatu angka integer yang cukup besar dan merupakan satu kata (word) dari yang dipakai komputer. b. Pemilihan konstanta multiplier a harus tepat dimana a harus bilangan ganjil dan a = 2 b/2 ± 3. c. Pemilihan untuk Z01 dikenal dengan Seed=Z0 mengharuskan relative prima terhadap m. Apabila dicari m adalah angka berpangkat 2 angka eksponen dari angka 2 untuk Z0 adalah setiap angka-angka ganjil (add number) seperti : I seed = I0 = 12357 d. Bilangan c yang dipilih bukan merupakan kelipatan dari m juga harus bilangan ganjil sehingga : Zi+1 = (aZi +c ) mod m Mixed Pseudo (congruential) Ramdom Number Generator (RNG) Rumus : Syarat : a. n harus dari sejumlah bilangan integer (bulat) dan lebih besar dari 0 dikenal dengan “Linear Congruential RNG” b. Apabila nilai c=0 maka rumus yang digunakan ”multiplicate congruential RNG”. disebabkan storage memory yang dibutuhkan harus efisien. c. Mixed congruential generator, dengan beberapa kondisi syarat sebagai berikut : • c adalah bilangan relatif prima terhadap n • = 1 (mod g) untuk setiap faktor prima g dari m • = 1 (mod 4) apabila 4 adalah faktor prima dari m d. Kondisi 1 berarti : bahwa pembagi umum yang terbesar dari c, m adalah 1 dan kondisi ini mudah dicapai. e. Kondisi 2 berarti : Apabila k = akan diperoleh a = 1+gk ; dimana g adalah faktor prima dari m. f. Kondisi 3 berarti : a = 1+4k ; apabila m/4 adalah integer artinya m bilangan bulat dapat dibagi 4 Congruential Pseudo RNG mempunyai sifat-sifat yang terpenting sebagai berikut : 1. Independent Pengertian independent berarti masing-masing komponen atau variabelnya harus bebas dari ketentuan-ketentuan sendiri, seperti Zi-1 = hasil akhir Z0 = angka pertama yang bebas tertentu a = merupakan angka konstan yang dapat bebas dengan ketentuan tersendiri. C = angka bebas tetapi tidak ada ada hubungan tertentu dengan m (modulo) 2. Uniform Uniform merupakan distribusi yang umum yakni distribusi probabilitas diusahakan sama untuk semua besaran yang dikeluarkan/ diambil. Berarti probabilitasnya diusahakan sama untuk setiap penarikan random number tersebut. 3. Dense Density Probabilitas Distribution yang tentunya harus mengikuti syarat probabilitas yaitu terletak antara a dan i. Ini berarti dalam penarikan angka-angka yang dibutuhkan Random Number Generator (RNG) cukup banyak dan dibuat sedemikian rupa sehingga 0 ≤ RN ≤ 1 4. Efficient Efisiensi merupakan RNG yang dapat dilakukan dengan sederhana dan dalam menggunakan cara ini terlebih dahulu memilih angka untuk variabel yang cocok. Ini berarti dalam penarikan RN tersebut harus dapat menentukan angka untuk variablenya yang sesuai sehingga dapat berjalan terus menerus. Multiplicate RNG. Diketahui: Z0 = 12357 a = 19 m = 128 c = 237 Cari Operasi modulo. Jawab. I = 0 Z0 + 1 = (19.12357 + 237) mod 128 ZI = 12 RI = 12/128 = 0,09375 R = 1 Zi + 1 = ( 19.12 + 237) mod 128 Z2 = 81 R2 = 81/128 = 0, 6328. Latihan : Bila menggunakan aritmatik additive Random Number Generator (RNG) dengan mengambil Z0 = 1357, a=197, m=1387, dan c = 2375, uraikan secara berurut bagaimana agar random number 10 kali dihasilkan, cari multiplicative. Dik: Z0 = 1357 Zi+1 = (aZi + c) mod m a = 197 m = 1387 c = 2375 Jawab. Z0 + 1 = (197.1357 + 2375) mod 1387 Z1 = 269704 mod 1387 = 626 R1 = 626/1387 = 0,451333814. Z1 + 1 = (197.626 + 2375) mod 1387 Z2 = 125697 mod 1387 = 867 R2 = 867/1387 = 0,625090122. Z2 + 1 = (197.1357 + 2375) mod 1387 Z3 = 173174 mod 1387 = 1186 R3 = 1186/1387 = 0,855082912 Z3 + 1 = (197.1186 + 2375) mod 1387 Z4 = 236017 mod 1387 = 227 R4 = 227/1387 = 0,163662581 Z4 + 1 = (197.227 + 2375) mod 1387 Z5 = 47094 mod 1387 = 1323 R5 = 1323/1387 = 0,953857245 Z5 + 1 = (197.1323 + 2375) mod 1387 Z6 = 263006 mod 1387 = 863 R6 = 863/1387 = 0,6222062. Z6 + 1 = (197.863 + 2375) mod 1387 Z7 = 172386 mod 1387 = 398 R7 = 398/1387 = 0,283950252 Z7 + 1 = (197.398 + 2375) mod 1387 Z8 = 80781 mod 1387 = 335 R8 = 335/1387 = 0,241528478. Z8 + 1 = (197.335+ 2375) mod 1387 Z9 = 68370 mod 1387 = 407 R9 = 407/1387 = 0,293439077. Z9+ 1 = (197.407 + 2375) mod 1387 Z10 = 82554 mod 1387 = 721 R10 = 626/1387 = 0,519826964. Additive Zi = (az + c) mod m Zi = (197.1357 + 2375) mod 1387 Zi = 269704 mod 1387 = 626 4.3. BILANGAN RANDOM TERDISTRIBUSI UNIFORM Dikatakan kontinu dan uniform jika probabilitas variabel random x jatuh pada setiap interval pada suatu daerah tertentu sebanding dengan ukuran daerah tsb,dengan kata lain tiap titik pada daerah tsb mempunyai kemungkinan yang sama untuk dipilih. Membangkitkan bilangan random dengan komputer Tabel bilangan random dapat dibaca dan diasumsi ke dalam komputer tetepi kesulitannya dalam penyiapan data dan memerlukan banyak tempat dalam memori ,maka lebih baik dengan membangkitkan saat dibatalkan, dengan cara uniform pada range tertentu (0 dan 1) metode yang sering digunakan adalah congruence method atau residue method Dengan 3 buah konstanta ; prosedur menurunkan bilangan ke (i+1)dari bilangan ke I adalah : Bilangan ke (i+1) dari bilang ke i adalah : Identifikasi distribusi Untuk mengetahui hasil pengamatan sesuai distribusi teori maka harus dianalisis dengan mengumpulkan data dengan distribusi frekuensi kemudian diuji dengan : 1. Permeriksaan harga rata data variansi 2. Uji-chi sguere 3. Uji Kolmogorov-Smirnov Harga rata-rata dan variansi Kesimpulan data diperoleh sesuai dengan distribusi frekuensi poisson k = jumlah kelas atau interval Mi = titik tengah dari interval Fi = frekuensi pada interval ke i BAB 5 PEMBANGKIT RANDOM VARIATE 5.1. PEMBANGKIT RANDOM VARIATE DISKRIT Random variate : Nilai varibel random yang mempunyai distribusi tertentu untuk mengambil random variate dari beberapa distribusi yang berbeda-beda fungsinya harus terlebih dahulu mengatur distribusi CDF dari suatu random variabel Pengambilan Random variate melalui CDF biasanya dikenal dengan ” inverse tranformation method ” (method invers tranformasi) Biasanya metode ini dapat dipergunakan untuk membangkitkan random variate baik dari data distribusi yang aktual terjadi maupun dari berbagai teori distribusi probabilitas Apabila suatu fungsi distribusi itu adalah diskrit, maka prosedur yang diperlukan untuk random variate dari f(x) adalah sebagai berikut : 1. Plot f (x) maka cari CDF dari random variate x 2. Pilih/ generate, RN = Ri dari rumus pseudo random number generator dar i komputer untuk : 0 < Ri < 1 dimana i = 1, 2, 3 .... 3. Tempatkan random number yang diperoleh pada f(x) axis dan memotong fungsi diskrit melalui garis horizontal 4. Garis horizontal dari axis f(x) ini dapat memotong fungsi f(x) atau pada tempat yang tidak tersambung pada f(x) 5. Menurunkan garis dari titik potong pada fungsi f(x) yang diskontinue itu pada sumbu x sehingga diperoleh nilai dari x adalah random variate dari f(x) Contoh : Diketahui suatu random variabel dinyatakan dengan f(x) sebagai berikut : X = demand 0 10 20 30 40 F(x) = p (x=x) 1/8 1/4 ½ 1/16 1/16 Distribusi kumulatif dari demand PEMBANGKIT RANDOM VARIATE KONTINUE Sifat dari fungsi kumulatif ini adalah : Kontinu Tidak menurun Apabila xa = 0,3 dan xb = 0,7 maka f(xa) = Ra f (xb)= Rb untuk 0 ≤ Ra ≤ 1 Bila R berada di antara Ra dan Rb dengan simbol Ra 0 berarti distribusi makin simetris (distribusi normal) 5. Kurtosis (lebar sempitnya puncak kurva) Distribusi normal memiliki koefisien kurtosis 3 - jika Ck < 3 distribusi datar dengan dispersi yang sangat lebar - jika Ck > 3 distribusi lebih tinggi sehingga dispersi yang lebih kecil 6. Korelasi koefisien korelasi memiliki range : -1 sampai dengan +1 - Korelasi = 0 dua variabel tidak berhubungan - Korelasi = 1 dua variabel berhubungan - Korelasi = -1 dua variabel memiliki hubungan yang berlawanan BAB 6 ACTIVITY SCANNING TUJUAN : 1. Menjelaskan pendekatan aktivitas dalam model simulasi 2. Melakukan simulasi terhadap sistem inventory dengan pendekatan aktivitas 6.1 ACTIVITY SCANNING PADA MODEL INVENTORY Activity Scanning : Menjelaskan aktivitas-aktivitas yang terjadi selama interval waktu tertentu seperti Minggu, Hari dan Jam. Misal : Model sistem inventory. Didalamnya terdapat variabel demand, order, stock berubah untuk kurun waktu tertentu. Beberapa entitas dalam model sistem inventory : 1. Demand Kebutuhan 2. Ordering new stock Order stock baru 3. Receiving stock Penerimaan stock Contoh-contoh inventory : a. Raw material kapas b. Semifinished product lembaran plastik c. Finished product kaleng d. Human resource karyawan e. Financial rexource cash money 6.2 KONSEP DASAR MODEL INVENTORY Dua hal yang perlu ditentukan dalam model inventory diantaranya yaitu : 1. Berapa banyak harus diorder 2. Kapan harus mengorder Tujuan : meminimalkan total inventory cost Economic Order Quantity (EOQ) Dimana : Q = Order Quantity OC = Order Cost D = Annual Demand HC = Holding Cost/Unit/Tahun EOQ Inventory Process Gambar 6.1. EOQ Inventory Process Contoh Perhitungan EOQ Jika diasumsikan : - Annual demand = 5200 unit - Holding Cost = $ 0.2 / unit / minggu - Lead Time = 2 minggu - Ordering Cost = $ 50 Tentukan order quantity optimal (Q*) supaya diperoleh total cost minimal Penyelesaian : Safety Stock : Inventory tambahan untuk menjaga fluktuasi demand Misal : • Demand berdistribusi normal dengan mean = 200 unit & variasi = 100 unit • Manajemen menginginkan 90% jaminan supaya tidak terjadi kekurangan • Tentukan order quantity x Penyelesaian : = 2 = 100 = 10 z = x - = x – 200 = z0.9 = 1.28 (lihat tabel) x = 12.8 + 200 = 212.8 = 213 Dengan demand rata-rata = 200, maka 13 unit digunakan untuk safety stock Bagaimana jika demand berfluktuasi ? Jika demand berfluktuasi, perlu safety stock. Jika order quantity Q diperbesar : - Biaya shortage cost rendah - Biaya holding cost mahal Sumulasi Inventory dengan Lost Sales Data Pendukung - Order Quantity = 224 unit - Reorder Point = 200 unit - Initial inventoty = 224 unit - Lead Time = 2 minggu - Order Cost = $ 50 - Holding Cost = $ 0.2 / unit - Lost Sales = $ 100 Gambar 6.2. Diagram Alur Sistem Inventory dengan Lost Sale Hasil Simulasi Tentukan pada reorder point didapat Diskusi : 1. Bagaiman cara mendapatkan total inventory cost yang minimum? 2. Apa permasalahan yang mendasar ada sistem inventory? Pertanyaan : 1. Apa yang dimaksud dengan order point? 2. Apa manfaat WOQ model pada sistem inventory? 3. Sebutkan dan jelaskan jenis-jenis model sistem inventory ditinjau dari tipe kebutuhan (demand) Tugas : Lakukan simulasi untuk 10 minggu jika diketahui data berikut : Order Quantity 500 pada recorder point 500, 550, 600, 650, 700 jika diketahui data sebagai berikut : Initial Inventory = 500 unit, Lead Time = 2 minggu, Order Cost = $ 100, Holding Cost = $ 0.5 / unit Lost Sales Cost = $ 100 total inventory cost yang minimal. BAB 7 MODEL PROSES EVENT-DRIVEN QUEUEING SYSTEM TUJUAN : 1. Menjelaskan proses - driven model 2. Menjelaskan konsep Queueing dan komponen dasarnya 3. Melakukan simulasi waiting line dengan proses driven model 4. Meminimalkan total biaya ekspektasi dari sistem waiting line 7.1 WAITING LINE (QUEUEING) Waiting Line (Queueing) merupakan proses yang sering dijumpai pada operasi bisnis seperti restoran cepat saji, bank, pom bensin, maupun telpon line. Arrival time customer dan service timenya sangat probabilistic. Berikut akan diberikan komponen sistem waiting line (queueing). 7.2 KOMPONEN SISTEM QUEUEING 1. Arrival (kedatangan) biasanya berdistribusi poisson, sedangkan Time between arrival (TBA) berdistribusi Exponensial 2. Queue : menggunakan aturan FCFS (Forst Come First Serve) 3. Service facility : berdistribusi tertentu misal : Exponensial 7.3 ANALISA MODEL QUEUEING = rata-rata kedatangan (dist. Poisson) = rata-rata service time (dist. Eksponensial) 1. Average waiting time = 2. Average number in queue = Lq = 3. Probabilitas server idle = P0 = 4. Persentase busy = Contoh : Sebuah perusahaan mobil memiliki : Rate kedatangan customer = 15 mobil/jam Rate service time = 3 menit = 60/3 mobil/jam = 20 mobil/jam Perusahaan ingin mengetahui berapa banyak line yang diperlukan agar pekerjaan lebih cepat. Penyelesaian : Average waiting time = Average number in queue Probabilitas server idle P0 = 1 = 1 = 0.25 Expected value di atas tidak representatif jika interval waktunya pendek. Mekanisme Process Driven Simulation Proses pengembangan model didasarkan pada urutan aktivitasnya 1. Customer datang 2. Customer menuggu service jika service busy 3. Customer diservis 4. Customer meniggalkan sistem Flow Diagram Process Driven Simulation Gambar 7.1 Diagram Alur Procss Driven Model Diskusi : Lakukan simulasi untuk 20 customer dengan Format CN TBA AT NIQ Start ST CT WT IT CWT AWT CIT AIT 1 2 Dimana : CN = Customer Number CT = Completion Time TBA = Time Between Arrival WT = Wait Time AT = Arrival Time IT = Idle Time NIQ = No. In Queue CWT = Cummulative Wait Time Start = Start Time AWT = Average Wait Time = CWT / CT ST = Service Time CIT = Cummulative idle Time AIT = Average Idle Time = CIT / CT Pertanyaan : 1. Jelaskan perbedaan antara process driven model dan activity scanning! 2. Sebutkan beberapa komponen dalam queueing sistem! 3. Bagaiman cara melakukan analisa kinerja terhadap sistem waiting line? Tugas : Lakukan simulasi terhadap 2 server dengan ketentuan sebagai berikut : Kedatangan customer berdistribusi Poisson dengan mean = 10 Service time berdistribusi Eksponensial dengan mean = 15 a. Gambar grafik average wait time tiap customer b. Hitung idle time untuk tiap server BAB 8 MODEL SIMULASI EVENT DRIVEN TUJUAN : a. Menjelaskan perbedaan-perbedaan model even-driven dengan activity scanning dan process driven b. Menjelaskan jenis-jenis event pada model queueing dan inventory c. Melakukan simulasi model Queueing dengan even-driven 8.1 EVENT-DRIVEN MODEL Even merupakan kejadian dalam sistem yang dapat mengubah output sistem. Contoh : Dalam sistem antrian, queueing merupakan event terjadi saat customer datang atau meninggalkan sistem. Sedangkan dalam model inventory event terjadi saat ada kebutuhan (demand) atau order diterima (order received). Diagram Alur untuk Arrival Event Gambar 8.1 Diagram Alur Arrival Event Diagram Alur Departure Event Gambar 8.2 Diagram Alur Departure Event Diagram Alur Logika Kontrol Gambar 8.3 Diagram Alur Logika Kontrol 8.2. Queueing Dengan Event Driven Model Contoh : Customer Time Between Arrival (TBA) Service Time (ST) 1 0.0034 0.0167 2 0.1174 0.0679 3 0.0060 0.1097 4 0.939 0.0015 5 0.0240 0.0045 Jika periode simulasi = 30 menit, maka pada T = 0 Event Time Current Time = 0 Arrival 0.0034 Endsim 30 Event berikutnya pada T = 0.0034 Event Time Current Time = 0.0034 Departure (1) 0.0201 Arrival (2) 0.1208 Endsim 30 Keterangan : Departure time customer 1 = 0.0034 + 0.167 = 0.0201 Arrival customer 2 = 0.0034 + 0.1174 = 0.1208 Event berikutnya pada T = 0.0201 Event Time Current Time = 0.0201 Arrival (2) 0.1208 Endsim 30 Keterangan : Tidak ada customer yang datang; server idle Event berikutnya pada T = 0.1208 Event Time Current Time = 0.1208 Arrival (3) 0.1268 Departure (2) 0.1887 Endsim 30 Keterangan : Arrival (3) = TBA(1) + TBA(2) + TBA(3) = 0.0034 + 0.1174 + 0.0060 = 0.1268 Departure (2) = Start Service(2) + ST(2) = 0.1208 + 0.067 = 0.1886 Event berikutnya pada T = 0.1268 Event Time Current Time = 0.1268 Departure (2) 0.1887 Arrival (4) 0.2207 Endsim 30 Keterangan : Departure (2) = Start Service(2) + ST(2) = 0.1208 + 0.067 = 0.1886 Arrival (4) = TBA(1) + TBA(2) + TBA(3) + TBA(4) = 0.0034 + 0.1174 + 0.0060 + 0.0939 = 0.2207 Event berikutnya pada T = 0.1268 Event Time Current Time = 0.1268 Departure (2) 0.1887 Arrival (4) 0.2207 Endsim 30 Keterangan : Departure (2) = Start Service(2) + ST(2) = 0.1208 + 0.067 = 0.1886 Arrival (4) = TBA(1) + TBA(2) + TBA(3) + TBA(4) = 0.0034 + 0.1174 + 0.0060 + 0.0939 = 0.2207 Ringkasan tiap event Customer Arrival Time Service Time (ST) Completion Time Time in Queue 1 0.0034 0.0167 0.0201 - 2 0.1208 0.0679 0.1887 - 3 0.1268 0.1097 0.2984 0.0619 Event Event Type Clock Time Number in Sistem Number in Queue Server Status Idle Time 1 Arrival 0.0034 1 0 Busy 0.0034 2 Departure 0.0201 0 0 Idle 3 Arrival 0.1208 1 0 Busy 0.1007 4 Arrival 0.1268 2 1 Busy 5 Departure 0.1887 1 0 Busy Diskusi : 1. Jelaskan perbedaan antara event driven model dengan activity scanning pada model inventory? 2. Sebutkan kelebihan event driven model jika dibandingkan dengan activity scanning Pertanyaan : 1. Jelaskan apa yang dimaksud event? 2. Berilah contoh-contoh event dalam sistem manufacturing BAB 9 MODEL SIMULASI KONTINU TUJUAN : a. Menjelaskan konsep simulasi kontinu b. Menjelaskan karakteristik model sistem dinamik c. Menjelaskan komponen model sistem dinamik d. Menjelaskan tahapan pengembangan model sistem dinamik e. Membuat causatic Diagram sistem f. Membuat flow diagram simulasi sistem dinamik g. Membuat persamaan flow diagram dengan bahasa simulasi dynamo 9.1 MODEL SIMULASI KONTINU Variabel sistem bersifat kontinyu, dan terdapat persamaan hubungan antar state variabel sehingga perilaku dinamis sistem dapat dipelajari. Simulasi sistem dinamik merupakan simulasi kontinyu yang dikembangkan oleh Jay Forrester (MIT) tahun 1960-an, berfokus pada struktur dan perlaku sistem yang terdiri dari interaksi antar variabel dan loop feedback (umpan balik). Hubungan dan interaksi antar variabel dinyatakan dalam diagram kausatik. Proses umpan balik dapat dikelompokkan menjadi dua bagian yaitu : 1. Umpan balik positif Jenis umpan balik ini menciptakan proses pertumbuhan, dimana suatu kejadian dapat menimbulkan akibat yang akan memperbesar kejadian berikutnya secara terus menerus. Umpan balik ini dapat menyebabkan ketidakstabilan, ketidakseimbangan, serta pertumbuhan yang kontinyu. Contoh : sistem pertumbuhan penduduk. 2. Umpan balik negatif Jenis uman balik ini berusaha menciptakan keseimbangan dengan memberikan koreksi agar tujuan dapat dicapai. Contoh : sistem pengatur suhu ruangan. 9.2 KARAKATRISTIK MODEL SISTEM DINAMIK Model sistem dinamik memiliki beberapa karakteristik seperti berikut : 1. Dinamika sistem yang kompleks 2. Perubahan prilaku sistem terhadap waktu 3. Adanya sistem umpan balik tertutup 4. Adanya umpan balik ini menggambarkan informasi baru tentang keadaan sistem, yang kemudian akan menghasilkan keputusan selanjutnya KONTRIBUSI MODEL SISTEM DINAMIK Dengan karakteristik yang sudah dijelaskan sebelumnya, model sistem dinamik memiliki beberapa kontribusi diantaranya yaitu : 1. Tersedianya kerangka bagi aspek kausalitas, nonlinearitas, dinamika dan perilaku endogen dari sistem. 2. menciptakan pengalaman eksperimental bagi para pengambil kebijakan berdasarkan perilaku faktor-faktor pendukung sistem. 3. Adanya kemudahan untuk mengatur skenario simulasi sesuai dengan yang dikehendaki. 4. Tersedianya sumber informasi dari yang difatnya mental, tertulis, maupun numerik sehingga model yang dihasilkan lebih berisi dan representatif. 5. menghasilkan struktur model dari input-input manajerial dan mensimulasikan lewat prosedur komputasi yang kuantitatif. KELEMAHAN MODEL SISTEM DINAMIK Setiap model memiliki kelebihan dan kekurangan tersendiri, demikian juga dengan model sistem dinamik. Beberapa kelemahan model sistem dinamik diantaranya adalah : 1. Ketetapan model sangat bergantung pada si pembuat model. Makin banyak pengetahuan dan wawasan si pembuat model, maka model yang dibuat akan makin tinggi derajatnya dan makin banyak permasalahan yang dapat diselesaikan dengan model tersebut. Sebaliknya jika pengetahuan dan wawasan si pembuat model tidak mencukupi, model yang dibuat akan semakin dangkal, sehingga masalah yang diselesaikan juga sangat terbatas. 2. Sangat dipengaruhi ketepatan pembuatan batasan model. Batasan model erat kaitannya dengan penentuan variabel sistem. Terdapat beberapa variabel yang langsung terlebat pada sistem (variabel endogen), adapula variabel yang berada di luar sistem, tetapi memiliki pengaruh pada model (variabel exogen). 9.3 TAHAPAN PENGEMBANGAN MODEL SISTEM DINAMIK Secara skematis, tahapan pengembangan model sistem dinamik dapat dilihat pada gambar 9.1. Supaya model yang dibuat dapat berhasil dengan baik, sebaiknya banyak melibatkan para ahli dari sistem yang sedang dipelajari, sehingga pemahaman sistem akan sangat baik dan rinci. Untuk memudahkan proses pembuatan model, maka model dipecah menjadi beberapa sub model supaya lebih fokus dalam pembuatannya. Setelah membagi model menjadi beberapa sub model, selanjutnya dilakukan konseptualisasi sistem yang terdiri dari identifikasi masalah serta penentuan batasan model. Batasan model hasrus didefinisikan terlebih dahulu dengan jelas sebelum model dibuat. Batas model merupakan suatu garis imajiner yang memisahkan bagian yang dianggap menyebabkan kecenderungan intern terhadap bagian-bagian di luat sistem. Dalam batasan model digambarkan cakupan analitis dan seharusnya didasarkan pada masalah yang menimbulkan perilaku yang menjadi fokus perhatian. Dalam penentuan batasan sistem sudah mulai dilakukan penggolongan terhadap variabel menjadi variabel endogen (internal) dan eksogen (eksternal). Para ahli yang terlibat sebaiknya memiliki persepsi yang sama terhadap tujuan pembuatan model untuk menyelesaikan masalah yang dihadapi. Tujuan pembuatan model akan memberikan gambaran secara luas terhadap kerangka sistem yang akan dibentuk. Setelah dilakukan identifikasi variabel, langkah berikutnya adalah membentuk keterkaitan antar variabel yang dinyatakan dalam formulasi (persamaan). Untuk melihat apakah model yang dibuat sudah sesuai sistem nyatanya maka perlu dilakukan validasi terhadap model dengan membandingkan output model dengan data historis. Setelah model dinyatakan valid, barulah dapat dilakukan eksperimen terhadap model (skenarionisasi model). Gambar 9.1 Tahapan Pengembangan Model Sistem Setiap skenario (alternative kebijakan/keputusan) tentunya memiliki benefit dan cost. Dalam analisis kebijakan umumnya dipilih alternative yang memiliki benefit terbesar dengan cost terkecil (sesuai yang diinginkan oleh pihak manajemen). Tahap terakhir adalah tahap implementasi. Dalam tahap ini, alternative kebijakan yang dipilih akan diterapkan dalam sistem, untuk kemudian dievaluasi apakah dalam penerapannya sudah sesuai dengan direncanakan. 9.4 VARIABEL MODEL SISTEM DINAMIK Beberapa variabel model sistem dinamik dapat dilihat pada gambar 9.2. Variabel sistem dinamik dapat dibagi menjadi tiga bagian diantaranya yaitu : Gambar 9.2 Tahapan Pengembangan Model Sistem 1. Variabel Level Variabel level merupakan akumulasi aliran dari waktu. Level digambarkan dalam bentuk segi empat seperti terlihat pada gambar 9.3. Gambar 9.3.Variabel Level Terdapat 2 jenis level : a. Subsistem fisik material, tenaga kerja, uang, order, dan lain-lain b. Subsistem informasi aliran informasi dalam sistem Level dipengaruhi oleh aliran masuk (input rate) dan aliran keluar (output rate). 2. Rate Variabel Rate merupakan laju yang menentukan aliran masuk atau keluar atau ke level. Simbol variabel rate dapat dilihat pada gambar 9.4 Gambar 9.4.Variabel Rate 3. Auxiliary Variabel Auxiliary merupakan variabel bantu untuk menyederhanakan hubungan antar variabel. Simbol variabel auxiliary dapat dilihat pada gambar 9.5. Gambar 9.5.Variabel Auxiliary 4. Parameter & Konstanta Parameter merupakan input informasi untuk rate maupun auxiliary. Konstanta memiliki nilai tetap sepanjang periode simulasi, sedangkan parameter merupakan nilai yang tetap pada saat tertentu namun bisa berubah disaat yang lain. Parameter (konstanta) disimbolkan garis penuh sebagaimana terlihat pada gambar 9.6 Gambar 9.6.Parameter (Konstanta) Diagram Model Sistem Dinamik 1. Diagram sebab akibat (Causatic diagram) Menggambarkan hubungan kausal antar variabel sistem. Polaritas aliran dibagi dua yaitu polaritas aliran positif (+) dan negatif (-). Disebut positif bila perubahan variabel pada awal aliran menyebabkan bertambahnya nilai variabel pada akhir aliran. Sebaliknya disebut negatif bila perubahan variabel pada awal aliran menyebabkan berkurangnya nulai variabel pada akhir aliran (berlawanan). 2. Diagram alir (Flow diagram) Menggambarkan struktur aliran secara rinci sehingga digunakan untuk menyusun model matematis. Diagram aliran (simulasi) menggambarkan hubungan antar variabel dan sudah dinyatakan dalam bentuk simbol-simbol. 9.5 BAHASA SIMULASI DINAMO Dinamo adalah bahasa simulasi komputer yang khusus dirancang untuk sistem dinamik. Nama Dynamo merupakan singkatan dari Dynamic Modeling. Model yang disimulasikan dianggap bersifat kontinyu sepanjang waktu. Semua persamaan ditandai dengan huruf-huruf tertentu sesuai dengan jenis persamaanya seperti : - L untuk Level - R untuk Rate - A untuk Auxiliary - C untuk Konstanta - T untuk Tabel Untuk lebih jelasnya berikut dijelaskan beberapa konsep Dynamo yang meliputi selang waktu simulasi, Persamaan Level, Persamaan Rate, Persamaan Auxiliary, Table dan beberapa fungsi khusus. 1. Selanga Waktu Simulasi Dalam perhitungan persamaan dilakukan secara bertahap terhadap waktu. Pertambahan waktu yang kontinyu, dibagi menjadi selanga waktu dengan interval pendek yang besarnya sama yaitu DT. Persamaan-persamaan sistem memiliki urutan penyelesaian tertentu berdasarkan urutan waktu pada variabelnya yang ditandai dengan huruf J, K, L, JK, KL. Simbol ini diletakkan di belakang variabel persamaan. Untuk lebih jelasnya urutan waktu simulasi dapat dilihat pada gambar 9.7. Gambar 9.7. Urutan Simulasi Keterangan gambar : - K menyatakan nilai variabel saat ini - J menyatakan nilai variabel di saat sebelumnya - L menyatakan nilai variabel di saat berikutnya (setelah K) - JK menyatakan nilai variabel selama interval waktu J sampai dengan K - KL menyatakan nilai variabel selama interval waktu K sampai dengan L Simbol waktu yang digunakan untuk variabel Level dan Auxiliary adalah J, K atau L. Simbol waktu yang digunakan untuk variabel Rate adalah JK atau KL. Contoh : Level saat K dinyatakan dengan Level.K Auxiliary saat L dinyatakan dengan AUX.L Rate saat JK dinyatakan dengan RATE.JK 2. Persamaan Konstanta Suatu konstanta memiliki nilai tetap spanjang waktu simulasi, sehingga memerlukan simbol waktu. Contoh : C = 123 3. Persamaan Level Nilai variabel level menyatakan akumulasi aliran pada suatu saat. Nilai level saat ini tergantung pada nilai level sebelumnya dan rate yang masuk ke level atau yang keluar dari level. Bentuk persamaannya adalah sebagai berikut : L LEVEL.K = LEVEL.J + DT*(RATE.JK-RATE2.JK) Dimana : - LEVEL.K level pada saat K - LEVEL.J level pada saat J - DT selang waktu perhitungan - RATE.JK rate yang masuk ke level L selama selang waktu JK - RATE2.JK rate yang keluar dari level L selama selang waktu JK 4. Persamaan Rate Variabel rate menunjukkan aliran yang keluar dan masuk ke dalam level. Diasumsikan besar rate konstanta sepanjang waktu DT. Beberapa Format Rate diantaranya yaitu : - R RATE.KL = KONSTANTA * LEVEL.K * KONSTANTA - R RATE.KL = (LEVEL.K – LEVEL2.K) / KONSTANTA - R RATE.KL = AUX.K * LEVEL.K - R RATE.KL = LEVEL.K / AUX.K 5. Persamaan Auxiliary Auxiliary merupakan variabel bantu yang dihitung pada saat K, bisa dilakukan setelah perhitungan level atau sebelum perhitungan rate. Bentuk persamaan auxiliary diantaranya yaitu : - A AUX.K = LEVEL.K * KOSTANTA - A AUX.K = KONSTANTA + LEVEL.K - A AUX.K = (LEVEL1.K – LEVEL2.K) / LEVEL3.K 6. Persamaan Fungsi-fungsi Khusus Pada dynamo terdapat beberapa fungsi khusus, seperti fungsi delay, fungsi tabel, fungsi logika, fungsi matematika, dan fungsi tes input. a. Fungsi Delay Fungsi ini merupakan penundaan terhadap waktu terhadap aliran informasi atau aliran fisik. Terdapat beberapa jenis fungsi delay seperti DELAY1, DELAY3, DELAYP. DELAY1 : delay eksponensial orde satu. Format persamaannya dituliskan sebagai berikut : R RATEO.KL = DELAY (RATE.KL, DEL) Dimana : - RATEO.KL = rate output setelah delay - RATEO.KL = rate output setelah delay - DEL = delay waktu antara Input dan Output DELAY3 : delay eksponensial orde tiga, artinya terdapat 3 level internal DELAY1 dengan nilai masing-masing : LEVEL / DEL / 3). Format persamaannya dituliskan sebagai berikut : R RATEO.KL = DELAY3 (RATEI.KL, DEL) DELAYP : digunakan untukk mengerahui akumulasi tiga level internal dalam DELAY3. format persamaanya dituliskan sebagai berikut : R RATEO.KL = DELAYP (RATE.JK, DEL, LEVEL.K) b. Fungsi Tabel Fungsi ini membventuk hubungan antar dua variabel. Format persamaannya dituliskan sebagai berikut : A TOUT.K = TABLE (TNAMA, INPUT.K, MIN, MAX, INCR) TNAMA = Y1 / Y2 / ........................... / Yn Dimana : A TOUT : variabel output yang nilainya tergantung pada variabel input (terletak pada sumbu Y) TNAMA : nama tabel INPUT.K : variabel input (terletak pada sumbu X) MIN : nilai input terkecil MAX : nilai input terbesar INCR : interval nilai input dari MIN s/d MAX c. Fungsi Matematika Fungsi ini terdiri dari beberapa fungsi diantaranya yaitu : COS, DIN, EXPN, LOGN dan SQRT. Formatnya dapat dituliskan sebagai berikut : - COS (X) cosinus X - SIN (X) sinus X - EXPN (X) ekponential natural X - LOGN (X) logaritma natural X - SQRT (X) akar posotif X d. Fungsi Tes Input Fungsi ini terdiri dari beberapa fungsi diantaranya yaitu fungsi STEP, RAMP, PULSE. FUNGSI STEP : mengubah nilai dengan cepat dan mendadak pada waktu tertentu. Format persamaannya dituliskan sebagai berikut : STEP (A, B) Dimana A : besarnya kenikan B : waktu terjadinya step FUNGSI RAMP : digunakan menyatakan nilai pertumbuhan atau penurunan linear sebagai fungsi waktu. Format persamaannya dituliskan sebagai berikut : RAP (A, B) Dimana A : kemiringan fungsi linear B : waktu mulainya fungsi RAMP FUNGSI PULSE : digunakan untuk membangkitkan pulsa (kejutan) pada satu variabel. Format persamaannya dituliskan sebagai berikut : PULSE (A, B, C) Dimana A : tinggi pulsa B : waktu dimulainya pulsa awal C : interval waktu antar pulsa Contoh Model Sistem Dinamik : 1. Sistem Inventory Inventory saat ini (current inventory) dipengaruhi oleh beberapa faktor seperti : a. Inventory sebelumnya (INV past) b. Order Received (ORDRCV) c. Shipments (SHPMTS) Setelah identifikasi beberapa variabel yang significant maka langkah berikutnya adalah membentuk diagram kausatik. Gambar 9.8. Diagram kausatik sistem inventory 2. Sistem Populasi Jumlah populasi dipengaruhi oleh beberapa variabel seperti kalahiran dan kematian. Kelahiran dipengaruhi tingkat kesuburan (fertility rate), sedangkan rate kematian dipengaruhi oleh rata-rata umur (average life time). Gambar 9.9. Diagram kausatik Populasi Dengan menggunakan bahasa simulasi Dynamo, maka model inventory di atas dapat dinyatakan dalam persamaan berikut : Misal untuk inventory di atas nilai untuk variabel Shipments ditentukan = 100 unit/ bln dan Order Receive = 80 unit/ bln. Curreny Inventory dapat dihitung dengan menggunakan persamaan berikut : Current Inv = INV past + (intervening time)*(constant rate of change) J, K, L = time script dalam dynamo INV.(k) = INV.(j) + DT * (ORDRCV - SHPMTS.JK) Gambar 9.10. Diagram waktu bahasa simulasi dinamo Diskusi : 1. Jelaskan perbedaan antara variabel : - Level - Rate - Auxiliary 2. Beri contoh sistem yang di dalamnya terdiri dari ketiga variabel tersebut. Pertanyaan : 1. Jelaskan beberapa komponen model sistem dinamik 2. Jelaskan beberapa tahapan pengembangan model sistem dinamik 3. Jelaskan kontribusi dan keterbatasan model sistem dinamik 4. Jelaskan bagaimana proses validasi model 5. Kapan bisa dilakukan skenario terhadap model dan jelaskan pula jenis-jenis skenario model Tugas : Diketahui sistem berikut : - Pembangkit Listrik Tenaga Air - Manufacturing - Telekomunikasi - Pertanian - Perkebunan - Medis - Social (crime, corruption) Dari beberapa sistem di atas buatlah : 1. Causatic Diagram 2. Flow Diagram BAB 10 SIMULASI VENTANA TUJUAN : 1 Menjelaskan berbagai macam fungsi dalam Vensim 2 Membuat persamaan pada model 3 Melakukan simulasi dengan Vensim 4 Membuat Strip Graph 5 Membuat Custom Graph 10.1 MODEL VENTANA Ventana Simulation (vensim) merupakan bahasa simulasi yang dapat digunakan sebagai tool untuk membantu menyelesaikan masalah-masalah bisnis maupun teknis. Software ini dikembangkan oleh Ventana Sistems, Inc yang dikembangkan sebagai respon terhadap kebutuhan dengan mengembangkan model-model simulasi. Vensim terdiri dari : tool untuk pembuatan model, simulasi, optimisasi, data, serta analisa untuk memahami dan meningkatkan pengetahuan. Persamaan dalam Vensim Beberapa persamaan dalam vensim diantaranya yaitu : 1. Level : persamaan dimana proses akumulasi dihitung Contoh kasus simulasi Bentuk umum persamaannya : Population = INTEG (births-deaths, 100) a. INTEG fungsi baku dalam level b. Birth & death 2 rate yang mempengaruhi besar-kecil nya perubahan level populasi c. Angka 100 nilai awal level 2. Inisialisasi : sebuah level selalu memerlukan nilai awal (initial) 3. Rate : persamaan rate dipakai untuk nilai aliran masuk (inflow) ataupun aliran keluar (outflow) dari sebuah level 4. Auxiliary : variabel dinamis yang dihitung dari variabel lain dalam satu waktu tertentu 5. Konstanta : nilai yang selalu tetap Fungsi-fungsi Dalam Vensim 1. ABS (x) : Menghasilkan nilai absolut dari x 2. ACTIVE_INITIAL (pers. Aktiv, initial eq) Menghasilkan nilai persamaan aktif sepanjang priode simulasi, terkecuali jika diperlukan untuk menentukan nilai awal. Biasanya digunakan untuk persamaan ‘loop dengan nilai awal simultan. 3. ALLOC_P (permintaan, prioritas, lebar, mp) Menghasilkan sejumlah permintaan yang dialokasikan atas permintaan dan prioritas tertentu. Lebar menentukan skema alokasi yang diperlukan. Lebar menentukan skema alokasi yang diperlukan, sedangkan mp adalah nilai yang dihasilkan oleh fungsi MARKET_P untuk jumlah permintaan, prioritas, dan lebar yang sama. 4. CUMULATE (X) : Mengambil input data X untuk kemudian menghasilkan kumulasi data tersebut. 5. DELAY_FIXED (input, waktu delay, niali awal) Menghasilkan nilai input yang tertunda (delay) selama waktu delay. Nilai awal adalah nilai variabel di sisi kiri persamaan pada awal dimulainya simulasi. Waktu delay bisa berupa ekspresi 6. FORECAS (input, waktu rata-rata, horizon) Menghasilkan suatu peramalan atas nilai input untuk selang waktu horizon. Fungsi ini dapat meramalkan tren ekstrapolasi sederhana untuk menghasilkan nilai variabel di masa mendatang berdasarkan nilai-niali yang sebelumnya. 7. GAME (X) : Menghasilkan nilai X sepanjang periode simulasi 8. IF_THEN_ELSE (kondisi, nilai benar, nilai salah) Menghasilkan nilai benar jika kondisi bernilai benar, nilai salah jika kondisi nilai salah. Kondisi haruslah persamaaan Boolea atau sebuah ekspresi atau variabel yang dapat diinterpretasikan sebagai sebuah nilai Boolean 9. INITIAL (A) Menghasilkan nilai A pada awal simulasi dan bersifat tetap sepanjang periode simulasi. Fungsi ini digunakan untuk mencatat nilai awal sebuah variabel. 10. INTEG (rate, nilai awal) Merupakan nilai integral dari rate, atau rate yang diintegralkan secara numeric. Nilai awal adalah nilai variabel di sisi kiri persamaan pada saat awal simulasi 11. INTEGER (X) Menghasilkan nilai integer terbesar yang lebih kecil atau sama dengan X. 12. LOOKUP_AREA (lookup, awal, akhir) Menghasilkan area di bawah table lookup diantara awal dan akhir. Dapat digunakan untuk menormalisasi lookup 13. MARKETP (permintaan [PERTAMA], prioritas [PERTAMA], ukuran, lebar, supply) Bila digunakan secara konjungtif dengan ALLOC_P, menghasilkan prioritas sedemikian hingga total alokasi atas sumber daya yang langka dapat dengan tepat memenuhi supply dari sumber daya tersebut. 14. MAX (A, B) : Menghasilkan nilai terbesar antara A dan B 15. MIN (A, B) : Menghasilkan nilai terkecil dari A dan B 16. PULSE (aeal, lebar) Menghasilkan 1.0, dimulai pada saat awal dan berlangsung selama selang interval 17. QUANTUM (A, B) Menghasilkan nilai bilangan terkecil atau sama dengan A yang merupakan integer kelipatan B. Kegunaan utama fungsi ini adalah untuk menghapus bagian non integer dari sebuah nilai 18. RAMP (slope, waktu mulai, waktu akhir) Menghasilkan nilai 0 sampai dengan waktu mulai , lalu kemudian bertambah dengan kemiringan slope sampai waktu akhir, untuk kemudian menjadi konstan 19. RANDOM_0_1( ) Fungsi ini berdistribusi seragam (uniform) dengan range antara 0 sampai 1. user dapat mengganti dengan rentang yang lain secara bebas 20. RANDOM_EXPONENTIAL( ) Menghasilkan distribusi eksponensial dengan mean = 1. 21. RANDOM_NORMAL( ) Menghasilkan distribusi normal dengan mean = 1 dan variansi = 1. 22. SAMPLE IF TRUE (kondisi, input, nilai awak) Menghasilkan nilai input jika kondisi bernilai benar, selain itu nilainya akan tetap. Pada awalnya fungsi ini akan tetap pada nilai awal. Fungsi ini berguna untuk memperoleh informasi perihal perilaku variabel 23. SMOOTH (input, waktu delay) Menghasilkan sebuah pemulusan eksponensial terhadap input. 24. STEP (height, waktu step) : Menghasilkan nilai nol sampai dengan waktu step, lalu menghasilkan height setelahnya 25. TIME_BASE (awal, slope) Menghasilkan basis waktu baru yang memiliki nilai awal ketika waktu adalah 0 lalu meningkat dengan kemiringan slop relative terhadap 26. TREND (input, waktu rata-rata, tren awal) Menghasilkan laju pertumbuhan pecahan rata-rata (pertumbuhan negatif) dalam input 27. XIDZ (A, B, X) : Merupakan operasi pembagian A dengan B. Jika nilai B adalah 0, maka hasil perhitungan adalah X. XIDZ biasanya dipakai untuk mengungkapkan keterbatasan dari A/B jika B mendekati 0 28. ZIDZ (A, B) Membagi A dengan B, jika B = 0, maka hasil perhitungan adalah 0. Biasanya digunakan untuk mengekspresikan kasus khusus dimanan keterbatasan A/B adalah ketika B mendekati 0, hasilnya adalah 0 29. Fungsi tabel dipakai dalam merepresentasikan hubungan non linear diantara variabel model apabila persamaan hubungan ini begitu rumit jika dituliskan secara matematis Dalam Vensim, penulisan koordinat tabel dilakukan di pilihan “Graph Lookup” di pojok kanan atas window. Contoh penulisannya adalah sebagai berikut : Effect of crowding on deaths Fox ([(0, 0) - (10, 20)], (0, 0.75), (1, 1), (2, 0.25, (5,2), (10, 20)). Gambar 10.1. Bentuk Simulasi Ventana Contoh-contoh Model dalam Simulasi Ventana 1. Model Populasi Jumlah populasi dipengaruhi oleh jumlah kelahiran dan jumlah kematian, seperti terlihat pada gambar 10.2. Gambar 10.2 Diagram simulasi model populasi Persamaan diagram populasi di atas adalah sebagai berikut : - Population = INTEG (births-deaths, 100) - births = FERTILITY RATE * Population - deaths = Population / AVERAGE LIFETIME - FERTILITY RATE = 0.1 - AVERAGE LIFETIME = 16 2. Model Persediaan Barang dan Harga Pada model ini terdiri dari 2 sub model yaitu sub model prsediaan (stock of goods) dan sub model harga (price) seperti terlihat pada gambar 10.3 dan 10.4. Gambar 10.3. Diagram simulasi model persediaan barang Gambar 10.4. Diagram simulasi model harga Persamaan diagram simulasi kedua sub model di atas adalah sebagai berikut : • AVERAGE LIFE GOODS = 8 • Average Markup = INTEG ((markup - Average Markup) / TIME AVERAGE MARKUP, TARGET MARKUP) • cost = FIXED COST + sales * MARGINAL COST • discards = Stock of Goods / AVERAGE LIFE GOODS • effect price target = effect price target lookup (price / REFERENCE PRICE) • effect price target lookup ([0, 0)-(4, 6)], (0.2, 5), (0.5, 2), (1, 1), (2, 0.5), (4, 0.02)) • FINAL TIME = 60 • FIXED COST = 500000 • INITIAL PRICE = 1 • INITIAL TIME = 0 • MARGINAL COST = 0.5 • Markup = revenue/cost • NORMAL TARGET = 2.4e + 007 • price = INTEG (price change, INITIAL PRICE) • price change = (target price-price) / TIME TO ADJUST PRICE • purchases = MAX (0, discards + (Target Stock of Goods - Stock of Goods) / TIME ADJUST GOODS) • REFERENCE PRICE = 1 • Revenue = sales * price • sales = purchases • Stock of Goods = INTEG (purchases – discards, target stock of goods) • TARGET MARKUP = 1.5 • target price = price * TARGET MARKUP / Average Markup • target stock of goods = NORMAL TARGET * effect price target • TIME ADJUST GOODS = 5 • TIME AVERAGE MARKUP = 4 • TIME STEP = 0.25 • TIME TO ADJUCT PRICE = 3 3. Model Jumlah Order dalam Proses Jumlah order dalam proses dipengaruhi oleh beberapa variabel seperti terlihat pada gambar 10.5. Gambar 10.5. Diagram simulasi model order dalam proses Persamaan diagram simulasi model order dalam proses : • activating = MIN (Awaiting Activation / TIME STEP, activating capacity) • New Customers = INTEG (activating, 0) • activating capacity = 100 • Awaiting Activation = INTEG (dispatching + testing * fraction facilities good - activating, (dispatching + testing * fraction facilities good) * target activation delay) • target activation delay = 1 • dispatching = MIN (dispatching capacity, Order Requiring Service / TIME STEP) • dispatching capacity = 44 • fraction facilities good = 0.8 • fraction facilities delay = 0.7 • orders = start orders * (1 + STEP (0.1, 10)) • start orders = 100 • Orders in Process = INTEG (orders – processing, orders * target process delay) • target process delay = 1 • Orders Requiring Service = INTEG (processing * (1 - fraction facilities ready) + testing * (1 - fraction facilities good) - dispatching, processing * (1 - fraction facilities ready) + testing * (1 - fraction facilities good)) * target service delay) • target service delay = 3 • Orders Requiring Testing = INTEG (processing * fraction facilities ready - testing, (processing * fraction facilities ready) * target test delay) • target test delay = 1 • processing = MIN (Orders in Process / TIME STEP, processing capacity) • processing capacity = 100 • testing = MIN (Orders Requiring Testing / TIME STEP, testing capacity) • testing capacity = 70 10.2 MEMBUAT STRIP GRAPH Strip Graph dibuat, untuk memudahkan kita dalam menganalisa hubungan kausatik diantara beberapa variabel model secara grafis dengan menekan ikon Strip Graph yang terletak di sebelah kiri layar. Seperti pada contoh berikut ditampilkan strip graph model populasi yang dipengaruhi oleh variabel births dan deaths, strip graph model Persediaan Barang dan Harga, dan strip graph model Jumlah Order dalam Proses. Gambar 10.6. Strip Graph Model Populasi Dari gambar 10.7 dapat dilihat bahwa populasi memiliki nilai yang terus bertambah sehingga mencapai jumlah 3970 di akhir periode simulasi. Gambar 10.7. Strip Graph Model Persediaan Barang dan Harga Dari gambar 10.8. dapat dilihat bahwa stock barang memiliki nilai yang tetap yaitu sebesar 24 Juta (24 M). Gambar 10.8. Strip Graph Model Order dalam Proses Dari gambar 10.9. dapat dilihat bahwa order dalam proses terus meningkat dan mencapai 1000 order di akhir periode simulasi 10.3 MEMBUAT CUSTOM GRAPH Custom Graph dibuat jika diinginkan untuk menampilkan grafik terhadap beberapa variabel model sesuai dengan yang diinginkan. Langkah-langkah pembuatannya afalah sebagai berikut : • Pilih Graph, New ; akan tampil kotak dialog berikut : Gambar 10.9. Kotak Dialog Custom Graph Hasil garfiknya dapat dilihat pafa gambar 10.10 Gambar 10.10. Grafik kelahiran dan kematian model populasi Diskusi : 1. Apa saja yang diperlukan dalam pembuatan model sistem dinamik? 2. Ambil contoh satu sistem, identifikasi variabel yang dignificant dalam sistem tersebut. Dari variabel-variabel yang ada, kelompokkan dalam level, rate, auxiliary, konstanta. Lalu buat diagram simulasinya. Pertanyaan : 1. Sebutkan karakteristik variabel level, rate, auxiliary dan konstanta. 2. Jelaskan persamaan umum variabel level. 3. Jelaskan perbedaan antara konstanta dan parameter. 4. Apa yang dimaksud dengan parameterisasi model? Tugas : Lakukan simulasi untuk salah satu sistem berikut dengan menggunakan Ventana Simulation. 1. Pembangkit Listrik Tenaga Air 2. Manufacturing 3. Telekomunikasi 4. Pertanian, Perkebunan 5. Medis, Social (crime, corruption), dan lain-lain Buatlah grafik hasil simulasinya (sesuaikan dengan tujuan pembuatan modelnya). BAB 11 DYNAMIC PROJECTS TUJUAN : • Mengembangkan model sistem dinamik • Membuat model dengan menggunakan pendekatan iteratif • Melakukan simulasi terhadap model • Melakukan eksperimen terhadap model • Menganalisa putput hasil simulasi 11.1. PROJECT 1 : PENYELESAIAN PEKERJAAN (TASK ACCOMPLISHMENT) Dalam proyek ini model akan dibangun secara gradual, untuk memudahkan pembuatan model. Langkahnya adalah sebagai berikut : 1. Dimulai dengan 2 level : 2. Perlu nama untuk rate. 3. Tentukan nilai inisialisasi project. Misal = 1000 INITIAL PROJECT DEFINITION 4. Tentukan nilai work flow. Misal = 100 (Project selesai dalam 10 bulan) 5. Tentukan persamaannya • Work Remaining = INTEG (-work flow, INITIAL PROJECT DEFINITION) • Work Accomplished = INTEG (work flow, 0) • INITIAL PROJECT DEFINITION = 1000 • Work flow = 100 hasil simulasi project 1 dapat dilihat pada gambar 11.1. Gambar 11.1. Hasil simulasi project 1 Analisa hasil simulasi : Project 1 1. Setelah 10 bulan Work Remaining = 0, tapi waktu terus berlalu 2. Tidak ada logic untuk menghentikan project 11.2. PROJECT 2 : MENGHENTIKAN PEKERJAAN (STOPPING WORK) Terdapat 2 alasan untuk menghentikan project : 1. Menghentikan simulasi ketika project selesai (Bisa pula ditentukan dari FINAL TIME) 2. Menghentikan aktivitas saat project selesai Diagram simulasi Stopping Work dapat dilihat pada gambar 11.2 Gambar 11.2 Diagram simulasi Stopping Work Persamaan tambahan pada model • Project in done = IF THEN ELSE (Work Accomplish >= INITIAL PROJECT DEFINITION, 1, 0) • Work flow = IF THEN ELSE (project is done, 0, 100) Hasil simulasi Project 2 dapat dilihat padfa gambar 11.3. Analisa hasil simulasi : Project 2 • Project selesai pada waktunya, sesuai dengan anggaran (Model ini dapat digunakan untuk software project manajemen) Gambar 11.3 Hasil simulasi project 2 11.3. PROJECT 3 : ERRORS DAN REWORK Bebapa penyebab error yang sering terjadi diantaranya yaitu : 1. Miskomunikasi antar personil 2. Kesalahan teknis Ketika error terjadi, segera dilakukan perbaikan Diagram simulasi Error & Rework dapat dilihat pada gambar 10.4 Persamaan Model : • Rework discovery rate = undiscoverd rework / TIME TO DETECT ERROR • TIME TO DETECT ERROR = 3 • Undiscoverd rework = INTEG (work flow * WORK QUALITY – rework discovery rate, 0) • Work Accomplished = INTEG (work flow – rework discovery rate, 0) • WORK QUALITY = 0.9 • Work Remaining = INTEG (rework discovery rate-work flow, INITIAL PROJECT DEFINITION) Gambar 11.4. Diagram simulasi errpr & rework Output simulasi project 3 dapat filihat pada gambar 10.5 dan 10.6. Gambar 11.5. Output Simulasi Work Remaining, Work Accomplished dan Work Flow Gambar 11.6 Output Simulasi Undiscovered Rework Analisa hasil simulasi : Project 3 Dua hal yang perlu diperhatikan : 1. Waktu penyelesaian pekerjaan lebih lama 2. Setelah 4 bulan project berjalan, Undiscover rework menjadi lebih sedikit, dan perlu pengerjaan kembali 11.4. PROJECT 4 : REWORK DISCOVERY Diagram simulasi rework discovery dapat dilihat pada gambar 11.7 Persamaan tambahan : • Fraction complete = Work Accomplished / INITIAL PROJECT DEFINITION • Project is done = IF THEN ELSE (fraction complete >= 1, 1,0) • TIME TO DETECT ERROR = time to detect error lookup (fraction complete) • Time to detect error lookup ([(0,0)-(10,10)],(0,5),(0,5,3),(1,0.5)) Gambar 11.7 Diagram Simulasi Rework Discovery Output simulasi project 4 dapat dilihat pada gambar 10.8 dan 10.9 Gambar 11.8 Ouput Simulasi Project 4 – rework discovery rate Gambar 11.9 Ouput Simulasi Project 4 – rework discovery rate Analisa hasil simulasi : Project 4 1. Dengan menggunakan fungsi look-up pada time to detect error, maka rework discovery rate project 4 akan lebih tinggi nilainya dibandingkan dengan project 3. 2. Work Remaining menjadi lebih kecil pada project 4. 11.5. PROJECT 5 : SCHEDULE Diagram simulasi project 5 dapat dilihat pada gambar 11.10. Persamaan model • Required work flow = MIN (MAX WORK FLOW, XIDZ (Work Remaining, Schedule time remaining, MAX WORK FLOW)) • Schedule time remaining = MAX (0, SCHEDULE COMPLETION DATE – Time) • MAX WORK FLOW = 500 • Work flow = IF THEN ELSE (project is done, 0, required work flow) Gambar 11.10 Diagram simulasi project 5 Output simulasi project 5 dapat dilihat pada gambar 11.11. Gambar 11.11 Output simulasi project 5 Analisa hasil simulasi : Project 5 1. Project selesai pada waktunya 2. Work flow pada saat bulan ke-10 = 0 karena sudag selesai Diskusi : 1. Menurut pendapat anda, keuntungan apa saja yang didapat dengan membangun model secara gradual? 2. Sebutkan pula kerugian membangun model secara gradual. 3. Bagaimana sebaiknya membangun model supaya tercipta model yang representatif? 4. Sebutkan langkah yang perlu dilakukan sebelum melakukan eksperimen terhadap model? Pertanyaan : 1. Sebutkan beberapa contoh project yang memiliki karakteristik yang sangat dinamis 2. jelaskan fungsi eksperimen simulasi terhadap model 3. Apa yang dimaksud dengan konseptualisasi model? BAB 12 ANALISA OUTPUT SISTEM SIMULASI TUJUAN : • Menjelaskan karakteristik short term behaviour • Menjelaskan karakteristik steady state behaviour • Menanalisa output terminating simulation • Menganalisa output non terminating simulation • Menjelaskan prinsip kerja metode batch mean • Membandingkan beberapa kebijakan dengan Independent Sampling & Correlated Sampling 12.1 PERILAKU SISTEM DINAMIS DALAM SISTEM SIMULASI Terdapat dua perilaku output dalam sistem dinamis, yaitu short term behaviour (terminating sistem) dan steady state behaviour (non-terminating sistem). 1. Short Term Behaviour (Terminating Sistem) : Waktunya dapat ditentukan dengan pasti (ada start dan stop) Contoh : Simulasi terhadap service/fasilitas yang start dan stopnya bisa ditentukan secara pasti (bank : buka jam 8-16). 2. Steady State Behaviour (Nonterminating Sistem) Dijalankan secara kontinyu selama periode waktu yang sangat panjang. Contoh : ATM di airport yang selalu penuh dengan customer. Untuk aplikasi praktis, sistem dapat dipertimbangkan mendekati steady state yang akan dicapai setelah periode transient. Warm-up periode digunakan untuk menghilangkan bias. 12.2 ANALISA OUTPUT PADA TERMINATING SIMULATION Misal dari hasil simulasi waiting line didapat data berikut : Number in Queue Waiting Time Percent Indle Time Mean 1.0948 0.0752 32.14 Standard Deviasi 1.1745 0.0740 18.29 Standard Error 0.0371 0.0023 0.58 Analisa Output Pada Terminating Simulation • Dengan interval kepercayaan 95% • Standard Error = 0.0371 • z( / 2) = z (1 - / 2) = z (1 – 0.05/2) = z(0.975) = 1.96 • Mean number in queue = x ± z(/2) * standard error = 1.0948 ± 1.96 (0.0371) = 1.022 atau 1.168 Initial Condition : 4 Customer di Sistem Number in queue Percent Idle Time Mean 2.22 24% Standard Deviation 1.976 11% Standard Error 0.062 0.34% Jika expecte value Lq (Number in queue) = 2.25 dan % idle time = 25% maka simulasi dengan nilai condition lebih mendekati kondisi yang diharapkan (Mean Arrival Rate = 15 mobil/jam dan Mean Servis Rate = 20 mobil/jam). Perhitungan Lq dan Idle Time • Average number in queue = Lq = Lq = (15)2/20(20-15) = 225 / 100 = 2.25 • Probabilitas server idle P0 = P0 = 1 – (15/20) = 0.25 Contoh simulasi dengan initial number in sistem = 2 Event Type Clock Time Sistem Status No. In Sistem No. In Queue Server Status Idle Time Next Arrival Next Departure 1 Init 0.00 Open 2 1 Busy 0 0.048 0.018 2 Depart 0.018 Open 1 0 Busy 0 0.048 0.026 3 Depart 0.026 Open 0 0 Idle 0 0.048 - 4 Arrival 0.048 Open 1 0 Busy 0.022 0.071 0.087 12.3 METODE BATCH MEAN Metode ini merupakan satu pendekatan untuk mendapatkan replikasi data long run simulation. Prinsip kerja metode Batch Mean : 1. Simulasi di run cukup lama untuk menghilangkan efek transient dan menyediakan data yang cukup representatif untuk steady state. 2. Membagi sisa waktu menjadi sub interval waktu yang dihubungkan dengan batch data. 3. Menghitung performance rata-rata tiap batch, dan menggunakan teknik klasik untuk mengembangkan estimasi, menggunakan batch mean sebagai replikasi independen. Contoh ilustrasi batch mean, terhadap 1000 customer kasus pencucian mobil. Misal dilakukan perhitungan terhadap 500 customer yang terakhir dengan batch = 100, didapat hasil berikut : Batch Average Waiting Time 1 0.0512 2 0.2536 3 0.1797 4 0.2080 5 0.0899 Mean 0.1565 Standard Deviasi 0.0839 Standard Error 0.0375 Dengan interval kepercayaan 95%, maka nilai average wait time adalah : • X ± tα/2 * s/√n = 0.1565 ± t0.025,4 * 0.0375 0.1565 ± (2.776) * 0.0375 = 0.26 atau 0.0524 Jika nilai mean = 0.15, berarti bahwa dengan sample yang kecil akan didapat sampling error yang significant (500 customer tidak cukup representatif untuk steady state simulation) Metode batch ini dapat menimbulkan beberapa autokorelasi. Efek autokorelasi dapat dikurangi dengan menghilangkan batch-batch yang lain, walaupun dengan cara ini mengurangi jumlah observasi independent dan dapat menurunkan interval kepercayaan. Menjalankan simulasi beberapa kali akan mendapatkan hasil yang lebih baik. 12.4 MEMBANDINGKAN BEBERAPA KEBIJAKAN DAN SISTEM Membandingkan order quantity dan reorder point yang berbeda pada model inventory. Misal kita membandingkan untuk order quantity 70 dan 80. Metode yang digunakan diantaranya yaitu : 1. Independent Sampling 2. Correlated Sampling Independent Sampling : berisi pengulangan simulasi untuk tiap order quantity. Contoh : Pada kasus perusahaan coklat Order Quantity Profit Mean Standard Deviasi 70 247.70 68.572 80 259.20 96.061 Dengan jumlah trial = 100 kali Jika digunakan interval kepercayaan 90%, dan sample size cukup besar, maka difference mean adalah sbb : X1 + X2 ± z (α / 2) √ ((S12) / n1 + (S22) / n2) Dimana X1 = profit mean untuk order quantity 80 X2 = profit mean untuk order quantity 70 z(α / 2) = z (1 – α/2) = z (1 – 0.1/2) = z (0.95) = 1.645 sehingga didapat : 259.20 + 247.70 ± 1.645 √((96.061)2 / 100 + (68.572)2 / 100) = (-7.915, 30.915) Karena nol termasuk dalam interval kepercayaan, maka hipotesa mean-nya sama. Sehingga tidak ada perbedaan significant order 70 kotak dan 80 kotak. Ukuran interval kepercayaan dapat dikurangi dengan mengambil sampel yang lebih besar atau menggunakan korelasi sampling. Correlated Sampling : menggunakan korelasi antar observasi Langkah : 1. Hitung difference antara 2 sistem (D) 2. Hitung mean dari difference (D) 3. Hitung standard deviasi 4. Hitung interval kepercayaan dengan menggunakan rumus berikut : Interval kepercayaan = D ± z (α / 2) * Sd / √n Trial Demand Q = 70 Profit ($) Q = 80 Profit ($) Difference (D) 1 90 315 360 (45) 2 60 255 240 15 3 60 255 240 15 4 40 135 120 15 5 40 135 120 15 ... ... 100 Misal dari hasil simulasi didapat data berikut : D = 6 ; Sd = 28.76 ; CL = 90% z (a/2) = 1 – (0.1/2) = 1 – 0.05 = 0.95 z = 1.645 Interval kepercayaan = D ± z(à/2) * Sd/’’ n = 6 ± 1.645 * 28.76/’’ 100 = [-10.73, -1.27] Karena dalam interval tidak melewati nol, berarti ada perbedaan significant diantara kedua alternatif. Diskusi : 1. Jelaskan apa yang dimaksud transient state? 2. Mengapa transient state penting dalam menganalisa output hasil simulasi? 3. Jelaskan apa yang dimaksud steady state? 4. Jelaskan fungsi warm-up periode pada output model simulasi Pertanyaan : 1. Berapa lama proses Running Simulasi supaya menghasilkan output yang cukup representatif? 2. Jelaskan metode batch means. Apa saja keuntungan yang didapat dari metode ini? TUGAS : Suatu perusahaan memiliki 2 mesin yaitu mesin 1 dan mesin 2. Dari mesin-mesin ini dapat dihasilkan kunci yang dijual dengan harga $1/unit. Mesin I berharga $1000 dan unit cost kunci = $0.5. Mesin II berharga $2050 dan unit cost kunci = $0.3. Jika diasumsikan demand berdistribusi uniform antara 3000 dan 7000 dan simulasi di run sebesar 100x, maka : a. Tentukan sistem (mesin) yang menghasilkan profit terbaik b. Jika digunakan 90% tingkat kepercayaan, apakah ada perbedaan profit significant antara mesin 1 dan mesin 2 c. Berdasarkan correlated sampling, apakah ada perbedaan profit significant antara mesin 1 dan mesin 2. BAB 13 OPTIMASI DALAM SIMULASI TUJUAN : • Mendefinisikan fungsi payoff • Menspesifikasi parameter-parameter optimasi • Menentukan pilihan-pilihan optimasi • menginterpretasikan dan menggunakan output optimasi 13.1 OPTIMASI Optimasi merupakan proses untuk meningkatkan performansi model. Jenis-jenis performansi ditentukan oleh 2 hal yaitu : kemampuan model untuk membentuk evebt yang sama dengan sistem nyatanya serta kemampuan model untuk mencapai tujuan pembuatannya. Jenis-jenis Optimasi : 1. Estimasi parameter berupa perkiraan terhadap nilai parameter 2. optimasi kebijakan berupa pemilihan beberapa kebijakan untuk memaksimalkan beberapa aspek performansi ANALISA OUTPUT PADA TERMINATING SIMULATION Payoff merupakan proses membandingkan variabel-variabel model dengan data aktual. JENIS-JENIS PAYOFF Payoff Kalibrasi • Berisi variabel-variabel yang dibandingkan dengan nilai bobotnya • Nilai bobot (E1) dihitung dengan menggunakan rumus berikut : Dimana : S = nilai rata-rata hasil simulasi A = nilai rata-rata data aktual Contoh : pada model market.vmf Persamaan model market.vmf adalah sebagai berikut : • Accurued revenue = unit sales * PRICE • Adv budget = FRAC BUDGET ADV * cash revenue • Adv Budget Effective = INTEG ((adv budget-Adv Budget Effective) / ADV IMPACT DELAY = 12 • Cash revenue = Receivables / TIME TO CLEAR RECEIVABLES • Cum Retained Cash = INTEG (retained cash flow, 0) • DEMOS PER PERSON MONTH = 12 • eff of lead avail on demos = TABLE FOR EFF OF LEADS (Potential Orders / Int Dir Salespeople) • effect of advertising = TABLE FOR EFFECT OF ADV (Adv. Budget Effective / Products) • DURATION OF NEGOTIATION = 1 • EXT SALES REP FEE = 400 • external sales reps = cash revenue * FRAC BUDGET EXT SALES REPS / EXT SALES REP FEE • FRAC BUDGET ADV = INITIAL (PERCENT BUDGET ADV / 100) • FRAC BUDGET EXT SALES REPS = INITIAL (PERCENT BUDGET EXT SALES REPS / 100) • FRAC BUDGET INT DIR SALES = INITIAL (PERCENT BUDGET INT DIR SALES / 100) • FRAC BUDGET MFG = 0.47 • FRAC NUDGET R AND D = 0.15 • frac cash retained = (1-FRAC BUDGET MFG-FRAC BUDGET R AND D) • FRAC BUDGET ADV-FRAC BUDGET EXT SALES REPS FRAC BUDGET INT DIR SALES) • frastion custs buying = TABLE FOR FRAC BUYING (Pot Orders In Negotiation / Potential Orders) • INT DIR SALES COST = 2400 • Int Dir Salespeople = INTEG ((target int dir sales-Int Dir Salespeople) / THIDS, target int dir sales) • LIFETIME OF MAILING LIST = 60 • NORMAL LEAD GEN EFFIC = 7 • NORMAL SHARE OF SALES = 0.8 • PERCENT BUDGET ADV = 4 • PERCENT BUDGET INT DIR SALES = 6 • pot order creation = NORMAL LEAD GEN EFFIC * Products * effect of advertising • Pot Orders In Negotiatin =INTEG(pot ords mov to negot - unit sales - pot orders lost to comp = Pot Orders In Negotiation * fraction custs buying) / DURATION OF NEGOTIATION • pot orders not buying = Pot Orders In Negotiation (1 - fraction ords mov to negot = • Int Dir Salespeople • DEMOS PER PERSON MONTH • eff of lead avail on demos • sales rep effect multpot ords obs rate = Potential Orders / LIFETIME OF MAILING LIST • Potential Orders = INTEG (pot order creation - pot ords obs rate pot ords mov to negot + pot orders not buying + unit sales, POTENTIAL ORDERS I) • POTENTIAL ORDERS I = 2400 • PRICE = 7000 • prod dev budget = cash revenue FRAC BUDGET R AND D • PROD DEV EFFICIENCY = 3e-005 • PROD OBS TIME = 60 • Prod obsolescence rate = Products / PROD OBS TIME • Products = INTEG (Prod Gen Rate-prod obsolescence rate, 10) • Receivables = INTEG (accrued revenue - cash revenue, accrued revenue TIME TO CLEAR RECEIVABLES) • Retained cash flow = cash revenue - frac cash retained | • sales rep effect mult = TABLE FOR SALES REP EFFECT (external sales reps / Potential Orders) • TABLE FOR EFF OF LEADS (0, 100, 200, 300, 400, 500, 0, 0.32, 0.6, 0.8, 0.9, 1) • TABLE FOR EFFECT OF ADV (0, 40, 80, 120, 160, 200, 240, 280, 320, 360, 400, 0.01, 0.2, 0.5, 0.7, 0.8, 1, 1.03, 1.06, 1.08, 1.09, 1.1) • TABLE FOR FRAC BUYING (0, 0.005, 0.01, 0.015, 0.02, 0.025, 0.03, 1, 0.75, 0.55, 0.43, 0.38, 0.35, 0.34) • TABLE FOR SALES REP EFFECT (0.0017, 0.0027, 0.0037, 0.0047, 0.0057, 0.0067, 0.0077, 0.0087, 0.0097, 0.0107, 0.0107, 0.4, 0.55, 0.7, 0.85, 1, 1.1, 1.2, 1.3, 1.4, 1.4) • target int dir sales = cash revenue FRAC BUDGET INT DOR SALES / INT DIR SALES COST • THIDS = 10 • TIME TO CLEAR RECEIVABLES = 6 • unit sales = Pot Orders In Negotiation * NORMAL SHARE OF SALES * fraction custs buying / DURATION OF NEGOTIATION Variabel yagn akan di validasi : 1. Cash_revenue 2. Fraction_cust_buying Format file payoff kalibrasinya adalah sebagai berikut : Penentuan parameter adjustment untuk mengoptimalkan performansi model : • Untuk model market.vmf diperlukan 2 parameter adjustment yaitu produktivitas tenaga sales (DEMOS_PER_PERSON_MONTH) dan fraksi jumlah customer yang akan membeli produk jika produknya tersedia (NORMAL_SHARE_OF_SALES) - NORMAL_SHARE_OF_SALES = 0.8 - DEMOS_PER_PERSON_MONTH = 12 • Penentuan parameter disesuaikan dengan tujuan pembuatan model, misal untuk memaksimalkan pendapatan (revenue) atau efektivitas marketing • Nilai parameter payoff kebijakan ditentukan berdasarkan pengetahuan tentang struktur model, dan pemahaman tentang statistik • File disimpan dalam ekstensi.prm Penggunaan Data Untuk Kalibrasi 1. Data ditulis dalam ekstensi .dat • cash_revenue 1. 96261.289063 2. 86660.515625 3. 89859.250000 4. 90356.820313 • fraction_custs_buying 1. 0.436255 2. 0.444935 3. 0.460067 4. 0.460469 2. Data dikonversi melalui dat2vdf, sehingga file menjadi berekstensi .vdf dan akan keluar tampilan sebagai berikut. Contoh : - Writing 61 values for cash revenue - Writing 60 values for frdtion custs buying - Writing 61 values for time base Time - Loading market.vdf as MARKET. Origin is market.dat converted to dataset on Sun Apr 17 19:41:20 2005 13.2. Simulation Control Dialog kalibrasi Kontrol dialog yang harus diisi untuk kalibrasi adalah sebagai berikut : Gambar 13.1. Simulation Control Dialog kalibrasi Output Hasil Simulasi Initial point of search. NORMAL SHARE OF SALES = 0.8 DEMOS PER PERSON MONTH = 12 Simulations = 1 Pass = 0 Payoff = -9.91482 Maximum payoff found at : *NORMAL SHARE OF SALES = 0.884077 *DEMOS PER PERSON MONTH = 14.4851 Simulations = 146 Pass = 3 Payoff = -0.0120737 Grafik output simulasi di atas dapat dilihat pada gambar 13.1 Gambar 13.2 Grafik output hasil simulasi untuk variabel cash revenue Payoff Kebijakan (Policy) Digunakan untuk menilai performansi sistem Langkah : 1. Definisikan File Payoff Dalam contoh ini dimisalkan nama filenya adalah mkt_ppay.prm Format penulisannya adalah sebagai berikut : *Policy Retained_cash / 1 Definisikan File Optimasi Dalam contoh ini dimisalkan nama filenya adalah mkt_p.prm Format penulisannya adalah sebagai berikut : 0 <= PERCENT_BUDGET_INT_DIR_SALES = 6 <= 50 Definisikan File Changes Dalam contoh ini dimisalkan nama filenya adalah mkt_cal.cin NORMAL SHARE OF SALES = 0.88414 DEMOS PER PERSON MONTH = 14.4868 13.3. Simulation Control Dialog-Policy Kontrol dialog yang harus diisi untuk policy adalah sebagai berikut : Gambar 13.3. Simulation Control Dialog- Policy Output Hasil Optimasi Reading changes from file mkt_cal.cin. Initial point of search. PERCENT BUDGET INT DIR SALES = 6 Simulation = 1 Pass = 3 Payoff = 1.62306e+006 Maximum payoff found at : *PERCENT BUDGET INT DIR SALES = 12.185 Simulations = 16 Pass = 3 Payoff = 3.38713e+006 Grafik output hasil simulasi di atas dapat dilihat pada gambar 13.2 dan 13.3 Gambar 13.4 Grafik output hasil simulasi untuk variabel accrued revenue Gambar 13.5 Grafik output hasil simulasi untuk variabel retained cash flow Interpretasi Model Dari kedua jenis payoff (kalibrasi dan policy) ternyata payoff policy dapat memberikan nilai yang lebih optimal. Diskusi : 1. Bagaimana cara melakukan optimasi terhadap model simulasi ? 2. Langkah apa saja yang diperlukan untuk optimasi tersebut ? 3. Kapan dapat dilakukan payoff kalibrasi dan kapan dapat dilakukan pay off policy ? 4. bagaimana cara menentukan variabel payoff ? 5. Bagaimana cara menentukan nilai parameter payoff ? Pertanyaan : 1. Apa yang dimaksud dengan payoff ? 2. Sebutkan jenis-jenis payoff yang anda ketahui dan sebutkan pula fungsi dari tiap jenis payoff tersebut. 3. Mengapa perlu dilakukan payoff terhadap model ? 4. Bagaimana cara penentuan bobot pada file payoff ? Tugas : 1. Lakukan simulasi untuk salah satu sistem berikut dengan menggunakan Vensim. 2. Buat grafiknya hasil simulasinya dan berilah interpretasi dari hasil simulasi yang didapat. Sebagai model dapat diperbuat dari berbagai sistem seperti : • Pembangkit Listrik Tenaga Air • Manufacturing • Telekomunikasi • Pertanian, Perkebunan • Medis, Sosial (crime, corruption), dan lain-lain. BAB 14 KALMAN FILTERING TUJUAN : • Menjelaskan bagaimana menentukan nilai variansi noise • Menjelaskan mekanisme Kalman Filtering • Memberikan contoh Kalman Filtering • Menggabungkan Kalman Filtering dan optimasi model 14.1 TEKNIK KALMAN FILTERING Dalam sistem dinamik adakalanya terdapat beberapa variabel yang tidak teramati tetapi diinginkan. Oleh karena itu jika terdapat beberapa nilai variabel yang diketahui, maka dapat dibuat estimasi beberapa nilai variabel yang lain. Proses inilah yang disebut dengan Kalman Filtering. Untuk menggunakan filter ini diperlukan file payoff dan control filter. DRIVING NOISE Driving Noise merupakan noise dapat mempengaruhi level. Spesifikasi noise menggunakan format berikut : • Lev_1/0.34/1000 artinya : noise mempengaruhi level 1 memiliki varian 0.34 dan inisial variansi = 1000. nilai variansi merupakan pengukuran ketidakpastian inisial state yang dihitung dari model. Contoh : Model Inventory Dua pengukuran yang terdapat di dalam sistem yaitu variabel meas workforce dan meas inventory. Variabel sales merupakan variabel eksogen. Noise yang memasuki sistem melalui net hire noise dan productivity noise. Gambar 14.1 Diagram Model Inventory Grafik Penjualan (Sales) Gambar 14.2 Grafik Penjualan 14.2 KONTROL SIMULASI (SIMULATION CONTROL) Nilai-nilai yang akan digunakan dalam Kalman Filtering diperoleh dari data hasil simulasi. Dalam proses simulasi memerlukan file change variabel, yang dalam contoh ini diberi nama wfinv_n.cin. Format penulisannya adalah sebagai berikut : • File wfinv_n.cin inventory meas_noise = 0.4 workforce meas noise = .025 productivity_noise = .20 net hire noise = 4 Gambar 14.3 Kontrol dialog file change variabel Mekanisme Kalman Filtering 1. Mengkombinasi data dan model dalam membuat pengukuran secara tidak langsung pada variabel model. 2. Menggunakan model untuk menciptakan data Variansi Noise • Dengan menggunakan fungsi random_0_1 (bilangan random antara 0 dan 1), didapat bilangan random dengan mean 0.5 dan variasi 0.08333. • Meas inventory = inventory * (1+(random 0 1()-0.5)*inventory meas noise) • Meas workforce = workforce * (1+(random 0 1()-0.5)*workforce meas noise) Formula Variansi σ2 = (xi - µ)2 / (n – 1) Dimana : σ2 = variansi n = jumlah observasi xi = hasil output Konstanta Kontrol Filter 1. Meas workforce variance = 0.5 • The variance in measurement 0.0833*(.025*100)^2 = 0.5 Nilai 100 diperoleh dari output hasil simulasi untuk meas workforce pada saat t = 0 Workforce meas noise = .025 2. Meas inventory variance = 1200 • The variance in measurement 0.0833*(0.4*300)^2 = 1200 Nilai 300 diperoleh dari output hasil simulasi untuk meas inventory pada saat t = 0 Inventory meas_noise = 0.4 3. Inventory drive variance = 33 • The variance in driving noise (production rate) = 0.0833*(.2*1*100)^2 Nilai 100 diperoleh dari output hasil simulasi untuk variabel level workforce (mendrive rate untuk inventory) pada saat t = 0. Nilai 0.2 diperoleh dari konstanta PRODUCTIVITY NOISE Nilai 1 diperoleh dari konstanta NORM PRODUCTIVITY 4. Workforce drive variance = 1.3 • The variance in driving workforce noise 0.0833*(4)^2 = 1.3 Nilai 4 diperoleh dari konstanta NET HIRE NOISE Terdapat 2 alternatif yang dapat dipakai untuk filter : 1. Dengan menggunakan 2 variabel yaitu : MEAS_WORKFORCE dan MEAS_INVENTORY 2. Dengan hanya menggunakan 1 variabel yaitu MEAS_WORKFORCE. Kontrol simulasi pada kalman filtering untuk alternatif 1 File payoff wfinv_p.prm * Calibration MEAS_WORKFORCE / MEAS_WORKFORCE_VARIANCE MEAS_INVENTORY / MEAS_INVENTORY_VARIANCE Gambar 14.4 Dialog Kontrol untuk Kalman Filtering Hasil simulasi Variabel Inventory Gambar 14.5 Grafik hasil simulasi variabel inventory dengan alternatif Kontrol simulasi untuk alternatif 2 : Misal tidak memiliki pengukuran pada variabel inventory File payoff wfinv_p2.prm * Calibration MEAS_WORKFORCE / MEAS_WORKFORCE_VARIANCE Gambar 14.6 Grafik hasil simulasi variabel inventory dengan alternatif Analisa Terhadap Kedua Filter Dari kedua simulasi, ternyata walaupun hanya dilakukan filter terhadap variabel MEAS WORKFORCE diperoleh hasil yang sama seperti terlihat pada gambar 14.5 dan 14.6. Mengkombinasikan Filter dan Optimasi Untuk mengoptimalkan model dapat digunakan file optimasi (Opt. File) yang dalam contoh ini adalah file wfinv_o.prm. format penulisannya dilakukan dengan menggunakan fungsi sensitivitas = payoff_value untuk mengoptimalkan hasil output. Contoh : :SENSITIVITY = payoff_value 1 <= time_correct_inventory = 20 <= 50 1 <= time_adjust_workforce = 20 <= 50 Kontrol dialog untuk mengkombinasikan filter dan optImasi adalah sebagai berikut : Gambar 14.7. Kontrol dialog Hasil report dari running terhadap simulasi : Initial point of search TIME CORRECT INVENTORY = 20 TIME ADJUST WORKFORCE = 20 Simulations = 1 Pass = 3 Payoff = -108.109 Maximum payoff found at : TIME CORRECT INVENTORY = 7.94143 *TIME ADJUST WORKFORCE = 8.39206 Simulations = 156 Pass = 3 Payoff = -105.792 Diskusi : 1. Bagaimana menentukan nilai variansi terhadap variabel level yang di drive oleh noise? 2. Jelaskan fungsi sensitivitas pada model 3. Jelaskan mekanisme kombinasi Kalman Filtering dan optimasi model Pertanyaan : 1. Jelaskan bagaiman mekanisme Kalman Filtering! 2. Dapatkah dilakukan optimasi terhadap variabel yang sudah difilter? 3. Jika dapat dilaukan (soal no. 2), jelaskan bagaimana mekanismenya? 4. Apa yang dimaksud dengan parameter sensitivitas? Tugas : Dari tugas pada Bab 11 (lakukan simulasi untuk salah satu sistem berikut denga menggunakan Ventana Simulation : Pembangkit Listrik Tenaga Air, Manufacturing, Telekomunikasi, Pertanian, Perkebunan, Medis, Social, (crime, corruption, dll). 1. Tambahkan variabel noise pada salah satu rate variabel level (bisa langsung maupun tak langsung) 2. Lakukan simulasi dengan menggunakan control change (simulation control) terhadap variabel noise) 3. Gunakan Kalman Filtering untuk memfilter variabel level yang dipengaruhi noise 4. Buat file optimasinya untuk memaksimalkan variabel yang sudah difilter. BAB 15 SIMULASI ARENA TUJUAN : • Menjelaskan konsep dasar bahasa simulasi konsep Arena • Menjelaskan modul-modul yang terdapat dalam Arena • Melakukan simulasi model dengan Arena • Membuat perhitungan statistik terhadap variabel model • Menganalisa output hasil simulasi 15.1 ARENA Arena merupakan paket simulasi general purpose, yang memiliki kemampuan memodelkan sistem manufaktur dan no manufaktur. Sistem manufaktur : Flow lones, assembly lines, job shop, conveyors. Sistem non manufaktur : Health care, maintenance sistem, computer network, logistic sistem. Arena mendeskripsikan model dalam blok-blok module yang dibentuk dengan bahasa SIMAN yang terdiri dari 2 object yaitu block dan elemen. Block terdiri dari SEIZE block, RELEASE block. Sedangkan elemen terdiri dari dua komponen yaitu RESOURCES, QUEUES. Fasilitas-fasilitas Arena : 1. Graphical User Interface yang dibentuk dengan bahasa SIMAN 2. Modul-modul 3. Statistik 4. Animasi simulasi 5. Output report Contoh : Sebuah sistem work station yang sederhana. Misal terdapat work station tunggal dari sebuah mesin. Job datang secara random dan menunggu di buffer selama mesin sibuk (busy). Jika job datang berdestribusi eksponensial dengan mean 30 menit dan job processing time berdistribusi eksponensial dengan mean 24 menit. Gambaran sistemnya dapat dilihat pada gambar 15.1. Gambar 15.1 Work station tunggal 15.2 MODUL CREATE Transaksi (entitas Arena) dibentuk dengan menggunakan modul create dari Basic Process. Kontrol dialog pada modul create dapat dilihat pada gambar 15.2. Gambar 15.2 Kontrol dialog pada modul create 15.3 MODUL PROCESS Dalam action field option dipilih Seize Delay Release untuk resoueces (mesin). Jika kapasitas resource busy, entitas harus menunggu sampai resource idle. SEIZE block berfungsi sebagai gate antara entitas dan resource, kontrol dialog untuk modul process dapat dilihat pada gambar 15.3. Gambar 15.3 Kontrol dialog pada modul process 15.4 MENJALANKAN SIMULASI Simulasi dijalankan dengan jumlah replikasi = 1, dan panjang replikasi dilakukan selama 600000 menit. Dari hasil simulasi terhadap variabel Resources didapat data berikut : Usage Num Busy Num Schedule Utilization Num Seize Schedule Utilization Machine 0.81 1 0.81 20,005 0.81 Sedangkan hasil simulasi terhadap variabel Queues didapat output seperti berikut : Time Waiting Time 107.09 Number Waiting 3.57 Analisa hasil simulasi : 1. Dari hasil simulasi didapat utilitas mesin = 0.81 Jika dibandingkan dengan perhitunganmanual : p = λ/µ i. λ = 1/30 arrival rate ii. µ = 1/24 processing rate iii. p = 1/30 = 24/30 = 0.8 iv. 1/24 2. Jadi antara hasil simulasi dan perhitungan manual untuk utilitas mesin didapat hasil yang sama yaitu 0.8 15.5 OBJEK PENYIMPANAN DATA PADA ARENA (ARENA DATA STORAGE OBJECTS) Pada arena terdapat tiga jenis data storage objects, diantaranya yaitu : 1. Variabel merupakan tempat menyimpan dan memodifikasi informasi pada saat running simulasi. Contoh : variabel NQ (Machine_Q) menyimpan nilai jumlah entitas di dalam queue yang disebut Machine_Q. 2. Atribut merupakan sifat dari entitas Contoh : customer arrival time disimpan dalam customer attribute 3. Ekspresi merupakan variabel khusus yang menyimpan suatu formula (ekspresi) matematika. 15.6 STATISTIK OUTPUT PADA ARENA Arena memiliki dua mekanisme dasar yang dapat digunakan untuk perhitungan statistik output, yaitu : Modul Statistik Jenis-jenis modul statistik : 1. Time Persistent : digunakan untuk mencatat sample mean, minimum, maximum, dan final value seperti rata-rata panjang antrian, utilitas server. 2. Tally : untuk memperoleh observasi statistik spserti penghitungan flow time. 3. Counter : digunakan untuk menjaga track perhitungan. 4. Output : digunakan untuk mendefinisikan semua ESPRESSION dimana nilai-nilainya akan di catat di summary report. 5. Frequency : digunakan untuk membuat distribusi frekuensi dari ekspresi. Modul Record Jenis-jenis modul record : 1. Count : digunakan menghitung maju atau mundur. Perhitungan dapat dinyatakan dalam bentuk ekspresi atau fungsi tertentu, Counter akan naik jika entitas memasuki modul record. 2. Entity Statistiks : dapat menyediakan informasi tentang entitas, seperti waktu atau durasi informasi. 3. Time interval : digunakan untuk menghitung interval waktu entitas. 4. Time Between : digunakan untuk mencatat interval waktu antar masuknya entitas yang berurutan dalam modul record, seperti inter departure time. 5. Expression : digunakan untuk mencatat suatu ekspresi, yang nilainya dihitung lagi apabila entitas memasuki modul record. 15.7 SIMULASI DAN OUTPUT REPORT Simulasi pada Arena dapat dijalankan dengan dua cara : 1. Dengan menggunakan Standard Toolbar 2. Dengan menggunakan pull-down menu Output Arena meliputi ringkasan dari statistik simulasi, sesuai dengan yang diinginkan oleh si pembuat model baik secara implicit maupun eksplisit. Secara umum digolongkan dalam dua kategori : 1. Report otomatis (Automatic reports). Sejumlah komponen Arena seperti entitas, queue dan resources akan secara otomatis membentuk report statistic pada saat akhir simulasi dijalankan. 2. Report yang ditetapkan user (User-Specified Reports). Report jenis ini dapat diperoleh dari Modul statistik dan modul record. Report Entitas secara otomatis akan menghitung beberapa perhitungan seperti : 1. Report Frekuensi yang menunjukkan waktu rata-rata dari ekspresi. 2. Report Proses yang berkaitan dengan statistik modul proses, termasuk jumlah entitas yang masuk dan keluar, rerata service time, dan rerata waktu tunda (delay). 3. Report Queue berisi statistik tiap queue dalam model seperti average delay in queue dan average queue size. 4. Report Resources berisi statistik tiap resource dalam model seperti utilitas, rata-rata waktu kerja resource. Diskusi : 1. Dalam menjalankan simulasi, bagaimana cara mengetahui bahwa sistem telah mencapai steady state? 2. Jelaskan kelebihan arena jika dibandingkan pada bahasa simulasi seperti AWSIM 3. Masalah apa yang penting dalam pencatatan statistik simulasi? Pertanyaan : 1. Sebutkan beberapa komponen model yang terdapat dalam Arena 2. Apa yang dimaksud dengan istilah-istilah berikut dan berilah contohnya. Entity Resources Variabels Attributes Queue 3. Jelaskan fungsi beberapa analisis statistik berikut : d. Time Persistent e. Tally Statistiks f. Counter g. Outputs h. Frequencies Tugas : Pada suatu sistem pabrikasi diketahui job datang berdistribusi exponensial dengan mean 8 jam. Job yang datang ini selanjutnya akan diassembling. Proses assembling berdistribusi uniform dengan min = 2 jam dan max = 6 jam setelah proses assembling selesai.
0 Komentar