Sistem Simulasi & Pemodelan
TUJUAN KULIAH
- Mengenalkan pemodelan sistem dengan menggunakan simulasi komputer dan teknik-teknik matematis.
- Memberikan pengetahuan praktis tentang penerapan teknik-teknik simulasi untuk memodelkan, mensimulasikan dan mempelajari sistem-sistem yang kompleks.
- Membahas tentang teknik-teknik desain model simulasi, eksekusi model, dan analisa model.
SISTEM
- Media yang didukung oleh komponen-komponen yang saling terkait satu sama lain dan dibatasi oleh aturan tertentu guna mencapai tujuan dan sasaran tertentu.
- Sebuah sistem beroperasi dalam ruang dan waktu.
Contoh:
- Sistem Tata surya
- Jaringan Telpon
- Sistem Operasi Komputer
BAGAIMANA MEMPELAJARI SISTEM?
- Mengambil data sampel dan melakukan uji coba.
- Mengangkat suatu permasalahan dari sistem, lalu membuat batasan terhadap pokok bahasan.
- Menyederhanakan pokok bahasan sesuai kebutuhan data dari sistem.
PEMODELAN
Suatu proses penyaringan dan penyeleksian terhadap berbagai data sehingga diperoleh:
- data atau komponen sistem yang dapat dimodelkan
- data atau komponen sistem yang kurang penting / tidak relevan, yang dapat diasumsikan mampu mendukung tujuan yang ingin dicapai.
MODEL
- Representasi sistem yang disederhanakan (pada suatu ruang dan waktu) untuk meningkatkan pengertian terhadap sistem yang sebenarnya.
- Model yang baik?
- “Tradeoff�? dari model sebagai penyederhanaan dari sistem nyata.
KLASIFIKASI MODEL
- Model Fisik
- Model Matematika:
- Model Dinamis
- Model Statis
METODE MODEL MATEMATIKA
- Metode Analitis
Menggunakan teori matematika deduktif untuk menyelesaikan model. - Metode Numerik:
Menggunakan prosedur-prosedur komputasi untuk menyelesaikan persamaaan-persamaan dari suatu model.
Lebih mudah
SIMULASI
- Program (software) komputer yang berfungsi untuk menirukan perilaku sistem nyata.
- Manipulasi sebuah model sedemikian rupa sehingga model tersebut bekerja dalam ruang dan waktu
KAPAN PERLU SIMULASI?
- Ketika model sangat rumit dengan banyak variabel dan komponen yang saling berinteraksi.
- Ketika hubungan antar variabel tidak linear
- Ketika model memiliki variate acak
- Ketika output dari model akan divisualisasikan sebagai animasi komputer 3D.
CONTOH SIMULASI
- Simulasi terbang
- Simulasi sistem ekonomi makro
- Simulasi sistem perbankan
- Simulasi antrian layanan bank
- Simulasi game strategi pemasaran
- Simulasi perang
- Simulasi mobil
- Simulasi tata kota
TUJUAN SIMULASI & PEMODELAN
- Untuk mempelajari “behaviour�? sistem
- Mengembangkan pengertian mengenai interaksi bagian-bagian dari sebuah sistem, dan pengertian mengenai sistem secara keseluruhan.
- Untuk pelatihan / training
- Untuk hiburan / permainan (game)
TAHAPAN SIMULASI & PEMODELAN
- Memahami sistem yang akan disimulasikan
- Mengembangkan model matematika dari sistem
- Mengembangkan model matematika untuk simulasi
- Membuat prgram (software) komputer
- Menguji, memverifikasi, dan memvalidasi keluaran komputer
- Mengeksekusi program simulasi untuk tujuan tertentu
KLASIFIKASI MODEL
Berdasarkan data yang diperoleh:
- Model Fisik:
Data diperoleh dengan pengukuran, contoh: jarak dengan beban dan kecepatan tertentu. - Model Matematika:
Simbol dan persamaan matematika digunakan untuk menggambarkan sistem.
Atribut sistem dipresentasikan oleh variabel.
MODEL MATEMATIKA
Pembagian Model Matematika:
- Model dinamis:
Sangat dipengaruhi oleh perubahan waktu. - Model statis:
Menunjukkan perilaku sistem secara spesifik pada kondisi tertentu saja.
KARAKTERISTIK MODEL MATEMATIKA
- Tujuan:
- Optimisasi
- Deskripsi
- Metode Analisis
- Analitis
- Numerik
- Perlakuan terhadap bilangan acak
- Deterministik
- Probablistik
- Pengembangan aplikasi secara umum
METODE ANALISIS MODEL MATEMATIKA
- Metode Analitis
Menggunakan teori matematika deduktif untuk menyelesaikan model. - Metode Numerik:
Menggunakan prosedur-prosedur komputasi untuk menyelesaikan persamaaan-persamaan dari suatu model.
Lebih mudah (hanya memanfaatkan data dengan menggunakan metode simulasi)
MODEL SIMULASI
- Dapat dipadukan dengan model numerik untuk menganalisa sistem yang lebih kompleks.
- Didukung data yang berhubungan langsung dengan angka acak, dengan tipe data probabilistik.
- Mudah beradaptasi dan mudah digunakan untuk berbagai masalah.
SISTEM BERDASARKAN PERILAKU VARIABEL
- Discrete system:
Variabel-variabelnya berubah hanya pada sejumlah keadaan tertentu dan dapat dihitung pada saat tertentu. - Continous system:
Variabel-variabelnya berubah secara terus-menerus dan dipengaruhi oleh waktu
SIMULASI
- Program (software) komputer yang berfungsi untuk menirukan perilaku sistem nyata.
- Manipulasi sebuah model sedemikian rupa sehingga model tersebut bekerja dalam ruang dan waktu
SIMULASI (2)
Floyd Jerome Gould (dalam buku Introductory Science, 1993):
“The basic idea of simulation is to build an experimental device, or simulator that will ‘actlike’ (simulate) the system of interest in certain important aspect in a quick, cost effective manner.�?
SIMULASI (3)
Sandi Setiawan (dalam buku Teknik Pemrograman, 1991):
“… proses perancangan model dari suatu sistem nyata dan pelaksanaan eksperimen-eksperimen dengan model ini untuk tujuan memahami tingkah laku sistem…�?
METODE SIMULASI
- MONTE CARLO
- DISCRETE-EVENT
- Next-Event Time Advance
- Fixed-Increment Time Advance
TAKSONOMI MODEL
MONTE CARLO vs D-E
- Model Simulasi Monte Carlo:
- Stokastik
- Statis
- Model Simulasi Discrete-Event:
- Stokastik
- Dinamis
- Discrete-Event
METODE MONTE CARLO
Sebutan “Metode Monte Carlo�? diperkenalkan oleh S. Ulam and Nicholas Metropolis (1949). Merujuk pada kasino “games of chance�? di Monte Carlo, Monaco.
Kunci dari metode Monte Carlo adalah penggunaan input acak dan distribusi probabilitas.
PENGGUNAAN MONTE CARLO
- Sains dan Engineering:
- Analisa Ketidakpastian
- Optimisasi
- Desain Berbasis Realitas
- Fabrikasi:
Alokasi toleransi untuk mengurangi biaya. - Bisnis:
Analisa resiko dan keputusan: membantu membuat keputusan dalam ketidakpastian trend pasar, fluktuasi, dan faktor-faktor tak tentu lainnya. - Dapat digunakan dalam hampir segala bidang (kimia, nuklir, pengatur lalu lintas).
LANGKAH-LANGKAH METODE MONTE CARLO
- Mendefinisikan distribusi probabilitas dari data masa lalu atau dari distribusi teoritis.
- Mengonversikan distribusi ke dalam frekuensi kumulatif.
- Melakukan simulasi dengan bilangan acak.
- Menganalisa keluaran simulasi.
CONTOH
Perusahaan XYZ ingin mengetahui seberapa menguntungkan hasil pemasaran produk barunya (dengan adanya ketidakpastian mengenai ukuran pasar, biaya dan pendapatan).
Metode:
Menggunakan Simulasi Monte Carlo untuk memperkirakan keuntungan dan mengevaluasi resiko
Step 1: Membuat Model
Profit = Income – Expenses
(Income dan Expenses adalah parameter yang tidak pasti)�?
Income = S * P = (L*R)*P
- S : number of sales
- L : number of leads per month
- R : conversion rate (the percentage of leads that result in sales).
- P : profit per sale
Expenses = H + L*C
- H : fixed overhead, C: the cost of a single lead
Step 2: Membangkitkan Input Acak
Step 3: Mengevaluasi Model
Step 4: Menjalankan Simulasi
SPIN
SPIN (Simple Promela INterpreter):
- Tool untuk menganalisa kekonsistenan logika dari sistem yang konkuren, terutama untuk protokol komunikasi data.
Sistem dideskripsikan dalam bahasa pemodelan Promela (Process Meta Language).
XSPIN adalah interface grafikal dari SPIN.
SPIN (2)
Kapabilitas SPIN :
- Melakukan simulasi acak/random atau interaktif dari eksekusi sistem
- Menghasilkan sebuah program bahasa C yang melakukan verifikasi lengkap dan cepat terhadap ruang state sistem.
SPIN (3)
Spin:
- Software open-source
- Dikembangkan di Bell Labs pada tahun 1980.
- Ditulis dalam bahasa C standar ANSI, dapat digunakan pada berbagai versi Unix, Linux, cygwin, Plan9, Inferno, Solaris, Mac, and Windows.
- Tersedia secara gratis sejak tahun 1991
APLIKASI SPIN
- Verifikasi Flood Control (yang dibangun akhir dekade 90an di dekat Rotterdam)
- Verifikasi logika dari software pemroses panggilan telepon, switch PathStar yang dirancang dan dikembangkan di Lucent Technologies.
PROMELA
- Bahasa pemodelan untuk verifikasi.
- Memiliki perangkat untuk membuat abstraksi sistem yang menekan detail-detail yang tidak relevan terhadap interaksi proses.
- Beberapa sintaksnya mirip bahasa C.
Kesamaan Sintaks dengan C
- Operator boolean dan arithmetic
- Assignment (“=“) dan equality (“==“)
- Deklarasi variabel dan parameter
- Inisialisasi variabel dan komentar
- Penggunaan kurung kurawal untuk menandai awal dan akhir blok program.
Perbedaan Sintaks dengan C - Titik koma (;) dalam Promela digunakan sebagai pemisah statement
Dalam C: titik koma digunakan sebagai pengakhir statement . - Unit utama eksekusi dalam Promela adalah proses,
Dalam C: fungsi main.
Yang Tidak Ada di Promela
- Fungsi yang mengembalikan nilai. Hal ini membuat Promela hanya memiliki 2 level ruang lingkup, yaitu:
- global terhadap seluruh model Promela,
- lokal terhadap proses tertentu.
- Ekspresi dengan side effect, yang diperbolehkan dalam C, contoh: counter =x++;
- Pointer.
Yang Hanya Ada di Promela
- Spesifikasi struktur kontrol nondeterministic
- Primitif untuk membuat proses.
- Primitif untuk komunikasi antar proses
PROMELA
Program Promela terdiri dari:
- Proses – proses
- Channel pesan
- Variabel
Proses adalah objek global.
- Channel pesan dan variable dapat dideklarasikan baik secara global maupun lokal dalam sebuah proses.
- Proses menspesifikasikan perilaku.
- Channel dan variabel global mendefinisikan lingkungan tempat proses-proses berinteraksi.
0 komentar:
Posting Komentar