Minggu, 24 Februari 2013

Pemrograman Simulasi

Simulasi adalah sebuah cara yang digunakan untuk meniru kejadian nyata yang ada dilapangan kedalam bentuk maya untuk keperluan hiburan, pelatihan dan studi perilaku sistem untuk menghindari terjadinya kerusakan sistem. Simulasi bekerja dengan menyesuaikan sifat-sifat objek yang sebenarnya. Sehingga dalam praktek, antara modeling dan sistem sangat berkaitan erat. Simulasi sering digunakan untuk memprediksi kemungkinan kejadian yang tidak mungkin dilakukan dalam kehidupan nyata karena kendala waktu ataupun kendala rusaknya sistem sebenarnya.
Simulasi memiliki banyak manfaat di berbagai bidang. Simulasi bersifat relatif, fleksibel dan apa adanya. Seringkali simulasi digunakan sebelum mengaplikasikannya kedalam kehidupan nyata. Sehingga dengan simulasi tersebut, kekeliruan/kesalahan yang terjadi bisa diminimalisir. Karena sebab tertentu, terkadang simulasi adalah satu-satunya jalan yang bisa digunakan oleh peneliti untuk melakukan observasi. Dengan demikian, gangguan sistem di dunia nyata bisa dihindari. Dengan simulasi pula, para peneliti dapat menghemat waktu. Alangkah kurang bijaknya jika harus mengamati pertumbuhan buah durian yang memakan waktu yang cukup lama untuk mendapatkan hasil yang diinginkan. Sehingga digunakanlah simulasi. Selain itu, simulasi juga memungkinkan adanya pertanyaan "bagaimana jika" (what if question).  Dalam kehidupan nyata, sistem coba-coba sangat berbahaya untuk dilakukan. Maka dari itu, digunakanlah simulasi.
Adapun kelebihan yang didapat dari penggunaan simulasi yaitu sebagai berikut:
  1. Dapat dipadukan dengan model numerik untuk menganalisa sistem yang lebih kompleks.
  2. Didukung data yang berhubungan langsung dengan angka acak, dengan tipe data probabilistik.
  3. Mudah beradaptasi dan mudah digunakan untuk berbagai masalah.
Selain kelebihan, simulasi juga memiliki kekurangan sebagai berikut :
  1. Model simulasi masih bisa menyita waktu.
  2. Waktu eksekusi simulasi bisa sangat besar.
  3. Simulasi secara esensial adalah suatu proses eksperimen yang memerlukan perencanaan yang hati-hati
  4. Sulit untuk menggeneralisir hasil.
  5. Sulit untuk mempertimbangkan semua nilai kasus/parameter.
  6. Sulit untuk menentukan sensitivitas.
Salah satu contoh simulasi adalah Komputer Permainan (game) komputer merupakan salah satu jenis simulasi komputer. Beberapa tipe game komputer antara lain : permainan strategi (strategic game), permainan ketrampilan tangan dan mata, permainan tantangan (adventure game). Permainan strategi (strategic game) merupakan permainan papan (board), kartu (card) atau permainan yang dimainkan pada suatu grid (biasanya imajiner), dimana kemenangan dihitung berdasarkan aturan tertentu. Contoh : permainan olah yudha (war game), catur (chess), bridge, go-moku, command and conquer generals. Permainan ketrampilan tangan dan mata adalah permainan yang melibatkan kecepatan dan koordinasi antara ketrampilan tangan dan mata manusia terhadap mesin komputer, umumnya menggunakan tampilan (screen display) resolusi tinggi. Ex: simulasi mobil (driving game), simulasi terbang (flight simulation), dxball game. Dalam permainan tantangan (adventure game), program komputer mentranslasikan tanggapan pemain (player response) terhadap suatu kejadian (event) baik atau buruk dalam menyelesaikan persoalan. Contoh : puzzle, zork, delta force black hawk down, beach head. Bagian-bagian game komputer terdiri dari: struktur data (data structure), metode evaluasi (evaluation method), dan antarmuka pengguna (user interface). Struktur data dalam permainan (game) adalah organisasi logis informasi perihal papan (board), potongan permainan (playing piece), gerakan (move) dan kemenangan (winning) serta kekalahan (losing). Misal: representasi agregat (dalam simulasi olah yudha), variabel record (dalam permainan catur).  Metode fungsi evaluasi dalam permainan (game) akan menguji gerakan (move) yang mungkin, memberi nilai (score) gerakan tersebut. Kemampuan melihat ke depan (search) merupakan putusan kritis dalam permainan strategi komputer. Beberapa metode melihat ke depan (looking ahead): minimax search algorithm, alpha beta search algorithm. Antar muka pengguna (user interface) dengan komputer (machine) dirancang sedemikian rupa sehingga pemain (player) hanya akan berkonsentrasi pada permainan dan tidak dibebani perihal cara operasi program komputer. Antarmuka pengguna saat ini melibatkan multimedia (suara, gambar dan animasi).