ANATOMI PROGRAM SIMULASI Materi ke-5 ANATOMI PROGRAM SIMULASI DISUSUN OLEH : IPHOV KUMALA SRIWANA
ANATOMI PROGRAM SIMULASI Sosok sebuah program simulasi terdiri atas beberapa komponen penting yang masing-masing komponen mempunyai tugas dan wewenang yang berbeda. Seluruh komponen terkait satu dengan yang lain bukan hanya keterkaitan tugas dan wewenang saja namun juga karena keterkaitan fungsional.
KOMPONEN-KOMPONEN SIMULASI Komponen inisialisasi (initialization routine) Komponen pengaturan waktu (timing routine) Komponen operasi (event routine) Komponen pustaka (library routine) Komponen pembangkit laporan (report generator) Komponen utama (main routine)
KOMPONEN INISIALISASI Subprogram ini merupakan bagian program yang pertama kali dieksekusi. Bagian ini digunakan untk memberikan harga awal variabel statistik, daftar event dan status sistem pada saat jam simulasi t=0. Harga awal pada umumnya nol, tetapi sebenarnya juga dapat tidak sama dengan nol.
KOMPONEN PENGATURAN WAKTU Komponen ini bertugas untuk menetapkan waktu kapan kedatangan event berikutnya terjadi dari event list, kemudian bertugas untuk menyesuaikan jam simulasinya.
KOMPONEN OPERASI Sub program yang bertugas untuk membangkitkan kejadian event berikutnya dan meremajakan ulang atas status sistem dan data statistik sebagai akibat terjadinya event tersebut.
KOMPONEN PUSTAKA Subprogram yang berisi fungsi-fungsi dan atau prosedur-prosedur tertentu yang digunakan membantu komponen operasi
KOMPONEN PEMBANGKIT LAPORAN Subprogram yang digunakan untuk menghasilkan laporan jika simulasi telah berakhir.
KOMPONEN UTAMA Merupakan bagian yang terpenting dari keseluruhan program karena bertugas sebagai koordinator yang mengkoordinir keberadaan komponen-komponen Inisialisasi, pengaturan waktu, operasi dan laporan.
Koordinasi dari komponen-komponen di atas terus menerus dilakukan selama eksekusi simulasi berlangsung, dan akan berhenti kalau jam simulasi telah menunjukkan batas waktu yang dieksekusi. Keterkaitan dari kelima komponen tersebut dapat dilihat pada Gambar 1.
GAMBAR 1.
JENJANG PROGRAM Dilihat dari tugas yang harus dilakukan, keberadaan sebuah program simulasi terbagi atas tiga jenjang program yang masing-masing jenjang mempunyai deskripsi tugas dan hirarki yang berbeda-beda, yaitu: Jenjang eksekutif (komponen utama, komponen inisialisasi, dan komponen waktu) Jenjang operasi (komponen operasi) Jenjang rinci (Komponen pustaka)
JENJANG PERTAMA (EKSEKUTIF) Bertanggung jawab untuk mengendalikan seluruh operasi yang berada pada tingkat dua atau sebagai koordinator secara keseluruhan modul. Di jenjang ini akan terdapat rutin yang mengidentifikasikan kapan operasi berikutnya akan berakhir dan menjamin bahwa operasi yang dilakukan benar dikerjakan saat itu.
JENJANG PERTAMA (EKSEKUTIF) Jika program simulasi ditulis dengan menggunakan program terpaket seperti promodel, GPSS, dll, perwujudan eksekutif tidak perlu diperhatikan karena pada program terpaket itu sudah dilengkapi program eksekutif, sehingga tinggal menuliskan dua jenis tingkatan yang lainnya saja.
JENJANG KEDUA Bertugas sebagai pelaksana segala macam operasi Kumpulan pernyataan program guna menguraikan operasi yang ada dalam model sistem. Di bagian inilah perwujuadan model sistem diwujudkan Interaksi antar entiti beserta atribut-atribut dominan yang menyertai digambarkan. Pada keadaan khusus yang memerlukan routin khusus, maka jenjang ini dibantu oleh modul pada jenjang je-3.
JENJANG KETIGA/RINCI Bertugas sebagai pembantu jenjang kedua. Berisi rutin-rutin rinci yang digunakan untuk membantu pelaksanaan operasi-operasi yang berada di modul pada jenjang operasi, naum kekompleksannya tidak membuat eksekusi yang simpang siur. Pembangkitan bilangan acak, pembuatan laporan, pengumpulan data statistik, dsb, merupakan contoh dari modul yang berada pada jenjang ini. Untuk mengaktifkannya, dapat dilakukan pad ajenjang kedua.
HIERARKI KOORDINASI
PENDEKATAN PEMROGRAMAN SIMULASI Pendekatan Peristiwa (Event Approach) Pendekatan Aktivitas (Activity Approach) Pendekatan Interaksi Proses (Process Approach)
PENDEKATAN PERISTIWA Yaitu merancang program secara umum dengan fokus perhatian dicurahkan pada terjadinya peristiwa-peristiwa dalam sistem kajian sehingga rutin-rutin programnya akan berisi uraian operasi yang semuanya mengacu pada kapan dan berapa lama peristiwa itu terjadi.
PENDEKATAN PERISTIWA Keunggulannya adalah waktu eksekusi program sangat cepat, sehingga akan sanagt cocok untuk persoalan sistem nyata yang besar. Kelemahannya adalah bahwa programnya memerlukan perancangan secara rinci mengikuti setiap perubahan statsu sistem.
PENDEKATAN PERISTIWA CONTOH : Sebuah mesin pembuat kotak dari karton untuk pengemasan buah-buahan dioperasikan oleh seorang operator. Mesin akan bekrja bila lembaran karton telah dimasukkan ke dalam jig opel operator dan berhenti dengan sendidinya bila karton itu sudah terbentuk (Lihat Gambar 3)
GAMBAR 3.
PENDEKATAN PERISTIWA CONTOH : Selanjutnya operataor mengeluarkan kotak karton tersebut dari jignya untuk diproses pada mesin selanjutnya. Lembaran karton sebelum diubah menjadi kotak karton berasal dari aktivitas manual di bagian hulu lintasan produksi sebelumnya. Asumsi, pelayanan job dilakukan secara bergiliran satu per satu secara FIFO. Lihat Tabel 1 yang menyatakan perumpamaan status sistem dari waktu ke waktu.
TABEL 1 - Kondisi awal 0.4 1 Kedatangan ke-1 1.6 1.2 Kedatangan ke-2 Clock Waktu antar Kedatangan Waktu Layanan Tipe Event Jumlah Antrian State Mesin Keterangan - Kondisi awal 0.4 1 Kedatangan ke-1 1.6 1.2 Kedatangan ke-2 2.1 0.5 2 Kedatangan ke-3 2.4 Akhir layanan ke-1 3.1 0.7 Akhir layanan ke-2 3.3 0.2 Akhir layanan ke-3 3.8 1.7 Kedatangan ke-4 4 Kedatangan ke-5 4.9 Akhir layanan ke-4 5.6 Kedatangan ke-6 5.8 Kedatangan ke-7 7.2 1.4 3 Kedatangan ke-8 8.6 17 Akhir layanan ke-5 Dan seterusnya
PENDEKATAN PERISTIWA Berdasarkan Tabel 1 dapat dilihat bahwa sistem akan mempunyai dua macam event yaitu event/peristiwa kedatangan job (lembaran karton) dari proses sebelumnya dan event kepergian job (kotak karton telah jadi). Karena hanya ada dua macam event, maka hanya akan ada dua macam rutin yaitu rutin kedatangan job dan rutin kepergian (selesainya) job. Pembuatan program komputernya akan mengacu pada kejadian-kejadian event di atas, yaitu kapan event-event itu datang dan pergi seperti dalam Gambar 4 dan 5.
Diagram alir event kedatangan Job
Diagram alir event kepergian Job
PENDEKATAN PERISTIWA Dalam mengeksekusi masing-masing bagian rinci tersebut (kedatangan dan keberangkatan event) dikendalikan oleh bagian operasi ini, sementara untuk mengendalikan bagian operasi dilakukan oleh eksekutif.
PENDEKATAN PERISTIWA Pembuatan modul eksekutif berkaitan dengan upaya mengendalikan operasi-operasi simulasi akibat adanya event-event yang terdapat dalam daftar event. karena itu di dalam eksekutif mempunyai tugas-tugas sebagai berikut : Pelacakan waktu (menetapkan waktu kejadian berikutnya dengan memeriks daftar event, menyesuaikan waktu simulasi yang mana kejadian simulasi berikutnya terjadi, menerbitkan event list yang baru setelah disesuaikan event yang tereksekusi) Identifikasi peristiwa (menghasilkan daftar peristiwa Eksekusi peristiwa
PENDEKATAN PERISTIWA Tugas dari eksekutif akan terus dilakukan hingga simulasi usai, seperti yang dapat dilihat pada Gambar 4.
GAMBAR 4.
PENDEKATAN AKTIVITAS Keunggulannya adalah pembuatan program simulasi lebih mudah Kelemahannya adalah waktu eksekusi program lama
PENDEKATAN INTERAKSI PROSES Menggabungkan kelebihan-kelebihan dari kedua pendekatan pertama Contoh : bahasa SIMULA, PROMODEL, GPSS, dll