BAHASA SIMULASI
Pemrograman model simulasi, seperti
yang disebutkan sebelumnya, dapat dilakukan menggunakan bahasa umum komputer
(general purposes language) atau menggunakan bahasa simulasi. Pada bagian ini kita akan mempelajari beberapa
bahasa simulasi, melihat dan memahami kelebihan dan kekurangan dari
masing-masingnya, sehingga kita melakukan pemilihan yang tepat saat kita perlu
menggunakan bahasa simulasi.
Satu bahasa simulasi tidak
dapat menjadi alat yang tepat untuk semua kasus permodelan simulasi. Pembahasan pada bagian ini akan kita mulai
dengan mempelajari anatomi bahasa simulasi;
lalu dilanjutkan dengan penjelasan berbagai bahasa simulasi lengkap
dengan kelebihan dan kelemahannya.
ANATOMI BAHASA SIMULASI
Bahasa Simulasi : Awal Mula
Kesuksesan analisis simulasi merupakan teknik
campuran yang sangat tergantung pada keahlian dan keahlian analis. Elemen dan struktur bahasa komputer umum
seperti Pascal atau FORTRAN, sorce codenya tidak dengan mudah dapat digunakan
untuk memodelkan simulasi sistem.
Msialnya, bahasa itu tidak menyediakan struktur data yang enak digunakan
untuk pemrosesan kejadian, sementara hal ini merupakan elemen logis yang sangat
penting dalam permodelan simulasi. Tidak
ada perintah dalam FORTRAN misalnya yang dengan jelas menambah atau mengurangi
antrian nasabah atau objek lainnya.
Tidak ada perintah dalam FORTRAN yang mengakumulasikan jumlah objek
dalam antrian dan menghitung rata-rata untuk menyediakan output statistik
penting. Variabel waktu lanjt, yang
penting dalam penjalanan model simulasi, juga tidak dapat ditemukan pada
FORTRAN dan bahasa pemrograman umum lainnya.
Untuk memenuhi fungsi-fungsi di atas dan hal-hal
penting lainnya dalam struktur model program komputer, kode pemrograman yang
ekstensif, kompleks dan sulit didebug harus dibuat. Motivasi mengembangkan dan menggunakan bahasa
simulasi berasal dari keinginan untuk mempersingkat waktu yagn dibutuhkan untuk
mengembangkan mdoel valid yang relatif mudah didebug dan yang meneydiakan output statistik yang
dibutuhkan dalam pengambilan keputusan.
Bahasa simulasi pertama yang dihasilkan untuk
tujuan itu adalah GPSS (General Purpose Simulation System) yang dikembangkan
oleh Geoffrey Gordon dan dipublikasikan pertama sekali tahun 1961. bahasa ini telah berevolusi dalam beberapa
versi, yang pada umumnya dikembangkan ole IBM.
Pengembangan terpisah versi GPSS, GPSS/H memungkinkan debugging kode
interaktif. Akhir-akhir ini, GPSS
tersedia pada umumnya untuk mainframe dan minikomputer, dan ada 2 versi untuk
mikrokomputer IBM. Elemen GPSS dieknal
mempunyai derajat isomorfis tinggi dengan elemen sistem diskrit.
GPSS diikuti dengan munculnya SIMSCRIPT tahun
1963, dikembangkan oleh perusahaan RAND.
Bahasa ini memiliki kemampuan untuk permodelan sistem yang lebih
kompleks. Untuk melakukan fungsi ini,
elemen bahasa kurang jelas dihubungkan dengan dunia nyata. Penggunaan himpunan, kejadian, proses dan
sumber daya menggambarkan secara utama pada struktur dan operasi program
SIMSCRIPT.
Bahasa-bahasa pionir ini tidak lama diikuti
pengemabngan bahasa-bahasa simulasi khusus lainnya dan jumlahnya sudah sangat
banyak sampai saat ini.
Struktur Bahasa Simulasi
Kiviat mendefinisikan struktur statis bahasa
simulasi terdiri dari 3, yaitu identifikasi objek dan karakteristik objek,
relasa antara objek dan penurunan objek.
Struktur dinamisnya didefinisikan sebagai metode penambahan waktu
simulasi.
Objek adalah komponen model dan sistem yang
menjadi perhatian utama analisis, misalnya nasabah bank, komponen dalam lini
perakitan, pengguna dalam sistem jaringan, dll.
Bahasa yang berbeda memberikan definisi yang berbeda pada objek,
misalnya dalam SIMAN disebut entities, dalam GPSS disebut transactions. Masing-masing objek dalam sistem yang sama
mempunyai karakteristik yang berbeda.
Nasabah bank misalnya, ada yang ingin melakukan penarikan, ada yang
ingin melakukan setoran, dll.
Pendefinisian karakteristik dalam bahasa yang berbeda juga berbeda. Karakteristik dalam SIMAN dan SIMSCRIPT
misalnya didefinisikan sebagai attributes sedangkan dalam GPSS didefinisikan
sebagai parameters, dan ada juga yang menggunakan definisi properties, dll.
Meskipun objek mempunyai karakteristik unik, untuk
tujuan pemrosesan dalam model, ada baiknya karakteristik itu
dikelompokkan. Setiap bahasa mempunyai
mekanisme berbeda dalam melakukan pengelompokan ini. Bahkan dalam kasus sistem yang relatif kecil,
mempertahankan semua objek dalam model selama penjalanan simulasi bisa tidak
memungkinkan karena keterbatasan memori komputer. Akibatnya, alat untuk menurunkan objek ketika
dibutuhkan dan menghapusnya jika sudah tidak dibutuhkan harus disediakan.
Cara setiap bahasa simulasi memfasilitasi ini
sangat berbeda. Dalam beberapa kasus,
mekanisme digunakan untuk menelusuri karakteristik akar bahasa kompiler
darimana bahasa simulasi dikembangkan.
Bahasa simulasi yang kurang dekat dengan konvensi struktur data dari
kompiler tertentu menurunkan objek yagn sangat mirip dengan sudut pandang dunia
bahasa. Sejalan dengan perbaikan
kemampuan bahasa komputer umum (general purposes), bahasa simulasi khusus pada
umumnya telah dikodean kembali seperti assembly, bahasa bebas mesin seperti
C. Tetapi struktur awal penurunan objek
tetap dalam bahasa simulasi.
Struktur statis bahasa simulasi menempatkan objek
dalam ruangan model, yaitu dimana objek secara fisik ditempatkan dalam
sistem. Struktur dinamis dibutuhkan
untuk menempatkan objek dalam waktu dan memungkinkan keberlanjutan dari satu
titik waktu ke titik lainnya. Seperti
yang sudah dijelaskan dalam topik sebelumnya, ada dua pendekatan dasar yang
digunakan dalam struktur dinamis, yaitu fixed-time step dan event-tracking.
Pendekatan fixed-time memeriksa sistem pada
interval waktu tetap untuk menentukan apakah statusnya sudah berubah atau
belum. Jika status masih sama, variabel
waktu akan ditambahkan sebesar interval waktu-tetap. Meskipuns ecara logika pendekatan ini cukup
sederhana, tapi metodenya sangat tidak efisien.
Mungkin ada beberapa titik waktu dimana sistem tidak berubah statusnya,
dan karenanya akan ada banyak pemeriksaan sistem yang tidak perlu. Akibatnya, tidak ada bahasa simulasi kejadian
diskrit yang menggunakan pendekatan ini ke struktur dinamis.
Pendekatan event-tracking memeriksa sistem hanya
jika ada perubahan status. Logika
diamsukkan dalam model untuk menentukan kapan kejadian atau status sistem
berubah, dan variabel waktu ditambahkan dengan tepat sampai titik sebelum
sistem diperiksa. Logika yang dibutuhkan
untuk melakukan ini lebih kompleks dibandingkan dengan langkah waktu-tetap,
tetapi akan mengehmat waktu eksekusi model secara signifikan.
Karakteristik Bahasa Simulasi
Struktur dinamis dan statis bahasa simulasi
menyediakan kebutuhan jelas untuk mengeksekusi mode simulasi. Beberapa sifat bahasa simulasi lainnya
dibutuhkan atau sangat diinginkan untuk penggunaan efektif analisis simulasi
sebagai teknik pembantu pengambilan keputusan..
Ø Pengembangan kode model. Kebanyakan bahasa simulasi amsih membutuhkan
pemasukan pernyataan kode untuk menciptakan kode model, tetapi kemampuan grafik
mikrokomputer telah memungkinkan input grafik.
Cara ini paling sesuai untuk bahasa yang fokus pada aliran objek melalui
elemen atau blok model.
Ø Debugging model. Begitu mode simulasi sudah dikodekan
menggunakan bahasa simulasi yang dipilih, langkah selanjutnya adalah debugging
kode sehingga model simulasi berjalan ke penghentian normal. Syntax errors (kesalahan sintaks) adalah
permasalahan pertama dalam proses, dan analisis untuk mendeteksi ini sudah
ditanam dalam bahasa simulasi umumnya.
Kesulitan berikutnya yang dihadapi adalah perbaikan kesalahan selama
eksekusi kode. Analisis bahasa simulasi
umumnya tidak sesuai secara total dengan permasalahan ini. Setelah menemukan kesalahan seperti ini,
program berhenti dan tidak memberikan alasan dalam bentuk logika model kenapa
program berhenti.
Ø Penurunan variabel acak. Untuk kebanyakan simulasi probabilistik,
kemampuan mengekstrak sampel acak dari distribusi probabilitas tertentu sangat
penting. Bahasa simulasi melakukannya
dengan mudah.
Ø Pengumpulan statistik. Penjalanan model simulasi tanpa mengumpulkan
data ukuran kinerja sistem sama saja dengan tidak melakukan pengamatan pada
sistem dunia nyata yang sedang berlangsung.
Pengamat ada selama operasi sistem dunia nyata tetapi tidak mengamati
dan mencatat apa yang terjadi. Bahasa
simulasi harus memungkinkan pengguna dengan mudah menspesifikasikan beragam
statistik yang dikumpulkan selama eksekusi model. Juga untuk membantu interpretasi output
simulasi, kemampuan penggambaran grafik dan inferensi statistik diperlukan.
Ø Disain percobaan. Karena analisis simulasi bersifat deskriptif,
kesuksesan aplikasinya tergantung pada percobaan model. Rancangan percobaan efektif dan efisien
benar-benar meningkatkan kualitas solusi yang didapatkan dari model simulasi.
Ø Animasi grafis dan output dinamis. Kemampuan menggunakan bahasa simulasi pada
mikrokomputer memungkinkan kemampuan grafis mesin ini untuk mengilustrasikan
penjalanan mode simulasi atau outputnya.
Ilustrasi objek yang mengalir melalui elemen model disebut sebagai
animasi. Animasi biasanya menggunakan
monitor berwarna dan dengan mudah mengenali simbol objek dan elemen model. Dengan mengamati aliran seperti itu, analisis
dapat memperhatikan penyebaba permasalahan operasi dan dapat memperbaikinya. Animasi model akan memperlambat eksekusi
model. Oleh akrena itu, animasi biasanya
hanya dilakukan pada mikrokomputer cepat dengan memori besar.
Pemilihan Bahasa Simulasi
Beberapa hal yang perlu diperhatikan dalam
pemilihan bahasa simulasi adalah kemudahan untuk dipelajari, kemudahan menjelaskan
pada orang yang bukan teknik, biaya, kode standar untuk semua komputer dan
cakupan permasalahan yang dapat ditangani oleh bahasa. Pada umumnya, semakin mirip elemen bahasa
simulasi dengan elemen dunia nyata, semakin mudah elemen itu dipelajari. Kemudahan menjelaskan fungsi bahasa simulasi
ke manajer yang mengeluarkan dana untuk pembelian perangkat lunak dan yang
tidak memahami secara teknis juga digunakan dalam memilih bahasa simulasi.
Tidak ada komentar:
Posting Komentar