bab 6. pengembangan model

42
BAB6. PENGEMBANGANMODEL Tujuan Instruksional Umum Tujuan Instruksional Khusus Mahasiswa dapat merancang model 1. Mahasiswa dapat membangun model konseptual 2. Mahasiswa dapat membangun modellogika 3. Mahasiswa dapat mengembangkan model simulasi 6.1. Model Konseptual Model konseptual merupakan metode visualisasi (diagram) suatu sistem. Visualisasi dilakukan dengan menggambarkan relasi kausal antar faktor yang diyakini mempengaruhi kinerja sistem. Model yang bagus adalah model yang dapat menggambarkan dengan jelas hubungan antara faktor dalam sistem, baik faktor keunggulan maupun ancaman, dan strategi yang diterapkan untuk mempengaruhi faktor tersebut. Model yang bagus juga akan mengindikasikan tahap atau fase monitoring harus dilakukan, asumsi yang dibuat dalam menggambarkan hubungan kausal, danjalur mana dari aktivitas strategi yang dapat digunakan untuk mengubah atau mempengaruhi secara positif relasi antar faktor. Model konseptual harus dilengkapi dengan deskripsi tekstual dimana penjelasan secara verbal dari model konseptual dibuat. Secara ringkas, model konseptual menggambarkan secara grafis situasi sebenarnya dan menyediakan dasar untuk menentukan dimana kita harus campur tangan dengan aktivitas strategis. Pada dasamya, model konseptual dirancang untuk proyek, tapijuga akhir-akhir ini banyak digunakan untuk pemrograman. Model konseptual dan logika dapat digunakan untuk menggambarkan logika dari suatu sistem. Model konseptual berbeda dari modellogika hanya pada model logika menggambarkan tujuan dan aktivitas sistem dalam bentuk tabular hirarki (mulai dari input dan aktivitas sampai ke output dan tujuan yang diinginkan), dimana model konseptual merepresentasikan keseluruhan sistem, termasuk hubungan yang tidak dipertimbangkan dalam penyelesaian permasalahan. Keunggulan model konseptual adalah sifat visualnya. Ketika model konseptual sederhana, sistem akan mudah diikuti. Penelusuran biasanya dilakukan dengan langkah mundur. Karena penelusuran dilakukan berdasarkan aliran logis penyebab, maka model konseptual dapat dipahami oleh rekan, pihak yang berkepentingan, dan bagian lainnya dalam sistem. Dengan demikian semua pihak 115 --

Upload: lylien

Post on 31-Dec-2016

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Bab 6. Pengembangan Model

BAB6. PENGEMBANGANMODEL

Tujuan Instruksional UmumTujuan Instruksional Khusus

Mahasiswa dapat merancang model1. Mahasiswa dapat membangun model

konseptual2. Mahasiswa dapatmembangun modellogika3. Mahasiswa dapat mengembangkan model

simulasi6.1. Model Konseptual

Model konseptual merupakan metode visualisasi (diagram) suatu sistem.Visualisasi dilakukan dengan menggambarkan relasi kausal antar faktor yangdiyakini mempengaruhi kinerja sistem. Model yang bagus adalah model yang dapatmenggambarkan dengan jelas hubungan antara faktor dalam sistem, baik faktorkeunggulan maupun ancaman, dan strategi yang diterapkan untuk mempengaruhifaktor tersebut. Model yang bagus juga akan mengindikasikan tahap atau fasemonitoring harus dilakukan, asumsi yang dibuat dalam menggambarkan hubungankausal, danjalur mana dari aktivitas strategi yang dapat digunakan untuk mengubahatau mempengaruhi secarapositif relasi antar faktor.

Model konseptual harus dilengkapi dengan deskripsi tekstual dimanapenjelasan secara verbal dari model konseptual dibuat. Secara ringkas, modelkonseptual menggambarkan secara grafis situasi sebenarnya dan menyediakan dasaruntuk menentukan dimana kita harus campur tangan dengan aktivitas strategis. Padadasamya, model konseptual dirancang untuk proyek, tapijuga akhir-akhir inibanyakdigunakan untukpemrograman.

Model konseptual dan logika dapat digunakan untuk menggambarkan logikadari suatu sistem. Model konseptual berbeda dari modellogika hanya pada modellogika menggambarkan tujuan dan aktivitas sistem dalam bentuk tabular hirarki(mulai dari input dan aktivitas sampai ke output dan tujuan yang diinginkan), dimanamodel konseptual merepresentasikan keseluruhan sistem, termasuk hubungan yangtidak dipertimbangkan dalam penyelesaian permasalahan.

Keunggulan model konseptual adalah sifat visualnya. Ketika modelkonseptual sederhana, sistem akan mudah diikuti. Penelusuran biasanya dilakukandengan langkah mundur. Karena penelusuran dilakukan berdasarkan aliran logispenyebab, maka model konseptual dapat dipahami oleh rekan, pihak yangberkepentingan, dan bagian lainnya dalam sistem. Dengan demikian semua pihak

115

--

Page 2: Bab 6. Pengembangan Model

--

dapat mengetahui dan menentukan peran mereka dalam sistem. Model konseptualmemiliki kelemahan dalam hal bisa menjadi sangat kompleks dan tidak dapatdikelola dengan baik. Untuk mengatasi kelemahan ini, biasanya disarankan untukmembuat model konseptual dengan kotak 25 atau kurang dalam satu halaman.

Model konseptual dapat digunakan dalam pengembangan keseluruhanprogram. Pengembangan model lebih baik dimulai dengan penggambaran targetsistem, yaitu elemen sistem yang membuat kita tertarik. Dalam konteks ini, harusditangkap dengan jelas aneaman dan kesempatan langsung maupun tidak langsung,hubungan satu sarna lainnya, dan bagaimana mereka mempengaruhi target. Dalambeberapa situasi, model konseptual berguna dalam menandai tekanan-tekananeksplisit (ataupengaruh aneaman pada target), sekaligusjuga hasil umum aneaman.

Model konseptual berguna dalam mengembangkan eampur tangan, yaituaktivitas strategis yang digunakan untuk mempengaruhi faktor aneaman seearalangsung danyang langsung mengarahkan pada dampak yang diinginkan.

Model konseptual dikenal dengan teknik pemodelan data, bersama denganmodellogika dan fisiko Model konseptual seeara eksplisit dipilih bebas dari detilimplementasi, seperti concurrency atau penyimpanan data. Tujuan dari pemodelankonseptual adalah menggambarkan arti dari terminologi dan konsep yang digunakanoleh para pakar dalam mendiskusikan permasalahan, dan menemukan relasi yangtepat antar konsep berbeda. Model inijuga dikenal sebagai model semantik. Modelkonseptual berusaha mengklarifikasi berbagai terminologi yang umumnya raneu,dan meyakinkan bahwa permasalahan dengan interpretasi terminologi dan konsepberbeda tidak dapat terjadi. Interpretasi berbeda seperti ini dengan mudahnya dapatmenyebabkan proyek perangkat lunak yang didasarkan pada interpretasi konsepakan gagal. Begitu konsep domain telah dimodelkan, model menjadi basis stabiluntuk pengembangan aplikasi selanjutnya. Model konseptual digunakan sebagaidasar desain berorientasi objek dan implementasi ke dalam kode pemrograman, ataulebih tepatnya sebagai kelas dalambahasa berorientasi objek.

Model konseptual dapat digambarkan menggunakan berbagai notasi, sepertiUML atau OMT untuk pemodelan objek, dengan IE atau IDEFIX untuk pemodelanrelasi entitas. Dalam notasi UML, model konseptual sering digambarkanmenggunakan diagram kelas dimana kelas merepresentasikan konsep, penghubungmenggambarkan relasi antara konsep, dan tipe peran penghubung menggambarkantipe peran yang diambil konsep pemodelan dalam berbagai variasi. Dalam notasirelasi entitas, model konseptual digambarkan menggunakan diagram relasi entitasdimana entitas merepresentasikan konsep, kardinalitas dan opsionalmerepresentasikan relasi antarakonsep.

116

Page 3: Bab 6. Pengembangan Model

Skema konseptual atau model data konseptual adalah peta konsep dan relasiantar konsep. Skema ini menggambarkan semantik organisasi dan rangkaiansifatnya. Secara khusus skema konseptual menggambarkan hal-hal yang signifikanterhadap organisasi (kelas entitas), tentang penekanan kecenderungan pengumpulaninformasi, dan karakteristik (atribut) dan asosiasi antar pasangan hal-hal yangsignifikan tersebut (relasi).

Karena diagram konseptual merupakan semantik organisasi, dan bukan desainbasis data, diagram konseptual dapat digambarkan pada berbagai tingkatanabstraksi. Arsitektur diagram-empat ANSI dimulai dengan kumpulan skemaeksternal yang masing-masing mewakili pandangan seseorang dari dunia disekitarnya. Ini adalah konsolidasi ke dalam sebuah diagram konseptual tunggal yangmerupakan himpunan bagian dari semua pandangan eksternal. Sebuah model datasecara spesifik dapat menggambarkan perspektif masing-masing orang, tapicenderung tidak fleksibel. Jika seseorang mengubah dunia, model harus berubah.Data model konseptual lebih ke arah perspektif abstrak, mengidentifikasi hal-halyang mendasar, hal-hal yang merupakan kesepakatan individu dengan hanyamerupakan contoh.

Model konseptual benar-benar mengikuti apa yang disebut warisan dalam halberorientasi objek. Himpunan contoh kelas entitas dapat dibagi ke dalam kelasentitas yang merupakan bagiannya. Jadi, setiap contoh dari kelas entitas sub-jenisjuga merupakan turunan dari jenis super kelas-entitas. Setiap contoh dari kelasentitas super-jenis, akanjuga merupakan sebuah contoh dari salah satu kelas sub-tipeentitas.

Hubungan super-type/sub-type bisa eksklusif atau tidak. Sebuah metodologimungkin memerlukan setiap contoh dari jenis-super dan mungkin hanya sebuahcontoh dari satu sub-tipe. Demikian pula, hubungan super-tipe/sub-tipe bisa lengkapatau tidak. Hal ini lengkap jika metodologi mengharuskan setiap contoh dari jenis-super harnsjuga merupakan sebuah contoh dari tipe-sub.

StrukturDiagram Data (SDD) adalah model data atau diagram yang digunakanuntuk menggambarkan model konseptual data dengan menyediakan notasi grafisdimana dokumen entitas dan hubungan antar mereka, dan kendala-kendala mengikatmereka.

117

Page 4: Bab 6. Pengembangan Model

--- -- --

6.1.1. Penggambaran Sistem

Pada model konseptual, suatu sistem dapat digambarkan dengan beberapacara. Beberapa teknik yang dapat digunakan untuk menggambarkan sistem kedalam model konseptual adalah peta konsep, peta topik, dan grafik konseptual.

Peta konsep adalah diagram yang menunjukkan hubungan antara konsep.Konsep adalah alat grafis untuk mengatur dan mewakili pengetahuan. Konsep,biasanya digambarkan sebagai kotak atau lingkaran, dihubungkan dengan panahdiberi label dalam struktur hirarkis-bercabang ke bawah. Hubungan antara konsepdapat diartikulasikan dalam menghubungkan frase seperti "menimbulkan","menghasilkan" diperlukanuntuk, "atau"menyumbang."

Teknik visualisasi hubungan antara konsep yang berbeda disebut "pemetaankonsep." Sebuah standar industri yang mengimplementasikan aturan formal untukmerancang setidaknya himpunan bagian dari diagram tersebut adalah UnifiedModeling Language (UML). Suatu peta konsep merupakan cara untuk mewakilihubungan antara ide, gambar atau kata-kata, dengan cara yang sarna bahwa kalimatmerupakan diagram tata kalimat, peta jalan merupakan lokasi jalan raya dan kota-kota, dan diagram sirkuit merupakan cara kerja suatu alat listrik. Dalam peta konsep,setiap kata atau frase terhubung ke frase lain dan terhubung kembali ke ide awal, kataatau frase. Peta konsep merupakan cara untuk mengembangkan cara berpikir logisdan kemampuan belajar, dengan mengungkapkan hubungan dan membantu dalammelihat bagaimana ide individu membentuk suatu keutuhan yang lebih besar.

Peta konsep dikembangkan dengan maksud untuk meningkatkanpembelajaran yang berarti. Sebuah peta konsep yang dibuat dengan konteks baikdidefinisikan oleh pertanyaan "fokus eksplisit," sementara peta pikiran sering hanyamemiliki cabang yang memancar keluar dari sebuah gambar pusat. Ada bukti bahwapengetahuan penelitian disimpan dalam otak dalam bentuk produksi yang bertindakatas isi memori deklaratif yangjuga disebut sebagaipotongan atau proposisi. KarenaPeta konsep yang dibangun untuk mencerminkan organisasi sistem memorideklaratif memfasilitasi dan merasakan pembelajaran bermakna bagi orang-orangyang membuat peta konsep dan mereka yang menggunakannya.

Peta konsep agak mirip dengan peta topik (dimana pada keduanya konsep atautopik dihubungkan melalui grafik), sementara keduanya bisa dikontraskan denganpemetaan pikiran, yang sering terbatas pada radial hierarki dan struktur pohon. Diantara berbagai skema dan teknik untuk memvisualisasikan ide, proses, danorganisasi, pemetaan konsep, yang dikembangkan oleh Joseph ANovak adalah uniksecara filosofis, yang membuat konsep, dan proposisi yang terdiri dari konsep

118

Page 5: Bab 6. Pengembangan Model

menjadi pusat elemen dalam struktur pengetahuan dan pembangunan makna.Perbedaan lain antara pemetaan konsep dan pemetaan pikiran adalah kecepatan danspontanitas yang dimiliki oleh peta pikiran. Peta Pikiran mencerminkan apa yanganda pikirkan tentang satu topik, yang dapat berupa fokus grup brainstorming.Sebuah peta konsep dapat menjadi folder, pandangan sistem, atau sistem (abstrak)nyata atau seperangkat konsep. Peta konsep lebih bebas dalam bentuk, bisa dalambentuk beberapa hub dan cluster, tidak seperti peta pikiran yang hanya dapat fokuspada pusatkonseptual tunggal.

Teknikpemetaan konsep dikembangkan oleh Joseph D.Novak dan tim penelitidi Cornell University tahoo 1970-an sebagai alat ootuk mewakili ilmu pengetahuanyang muncul dari mahasiswa. Hal ini kemudian digunakan sebagai alat ootukmeningkatkan pembelajaran yang bermakna dalam mata pelajaran ilmupengetahuan dan lainnya serta ootuk mewakili pengetahuan ahli individu dan timdalam pendidikan, pemerintah dan bisnis. Konsep peta memiliki asal dalam gerakanpembelajaran yang disebut konstruktivisme. Secara khusus, konstruktivisberpendapat bahwa pengetahuan peserta didik secara aktif membangunpengetahuan.

Ketja Novak didasarkan pada teori kognitif David Ausubel (teori asimilasi),yang menekankan pentingnya pengetahuan sebelumnya "ootukmampu mempelajarikonsep-konsep barn." Faktor tunggal paling penting yang mempengarnhipembelajaran adalah apa yang sudah diketahui pembelajar. Novak mengajar siswaanak-anak dengan umur enam tahoo dalam membuat peta konsep yang mewakilirespons mereka untuk fokus pertanyaan seperti" Apa itu air? " "Apa yangmenyebabkan musim?" Dalam bukunya "Mempelajari bagaimana Belajar" Novakmengatakan bahwa "belajar bermakna menyangkut asimilasi konsep baru danproposisi ke struktur kognitifyang sudah ada."

Berbagai upaya telah dilakukan ootuk membuat konsep proses pembuatan petakonsep. Ray McAleese, dalam serangkaian artikel, mengusulkan bahwa pemetaanadalah proses pembongkaran. Dalam makalahnya di tahoo 1998,McAleese merujukpada karya Sowa dan artikel Sweller & Chandler. Pada dasarnya, McAleesemenoojukkan bahwa proses pembuatan pengetahuan eksplisit menggunakan simpuldan huboogan, memoogkinkan individu menjadi sadar apa yang mereka ketahui dansebagai hasil yang akan mampu untuk mengubah apa yang mereka ketahui. KonsepArena Pengetahuan adalah sugestif dari ruang virtual dimana peserta didik dapatmengeksplorasi apa yang mereka ketahui dan apa yang mereka tidak tahu.

Konsep peta digunakan ootuk merangsang penurunan ide, dan dipercaya dapatmembantu kreativitas. Sebagai contoh, pemetaan konsep kadang-kadang digunakan

119

Page 6: Bab 6. Pengembangan Model

--

untuk brainstorming. Meskipun sering bersifat pribadi dan aneh, peta konsep dapatdigunakan untuk mengkomunikasikan gagasan yang kompleks.

Peta konsep formal digunakan dalam perancangan perangkat lunak, di manapenggunaan umum adalah pada diagram Unified Modeling Language (UML) diantara konvensi sernpa dan metodologi pengembangan.

Konsep pemetaan juga dapat dilihat sebagai langkah pertama dalampembangunan-ontologi, dan juga dapat digunakan secara t1eksibeluntuk mewakiliargumen formal.Konsep peta banyak digunakan dalam pendidikan dan bisnis untuk:

1. Pencatatan dan peringkasan konsep kunci, hubungannya dan hirarki daridokumen dan sumber daya bahan.

2. Penciptaan pengetahuan barn: misalnya, mengubah pengetahuan tacit menjadisumber daya organisasi, pemetaan pengetahuan tim.

3. Pelestarian (retensi) kelembagaan pengetahuan, misalnya, menjelaskan danmenggambarkan pengetahuan ahlipara karyawan sebelumpensiun.

4. Pemodelan pengetahuan kolaboratif dan transferpengetahuan ahli.

5. Memfasilitasi penciptaan visi bersama dan berbagi pemahaman dalam sebuahtim atau organisasi.

6. Desain instruksional: peta konsep yang digunakan sebagai "organisatormuka", kita memberikan kerangka konseptual awal untuk informasiselanjutnya dan pembelajaran.

7. Pendidikan: konsep peta yang digunakan sebagai "penyelenggaralanjutan" untuk mewakili konteks pelatihan dan hubungannya denganpekeIjaan mereka, untuk tujuan strategis organisasi, dan tujuan pelatihan.

8. Meningkatkan pembelajaran bermakna.

9. Mengkomunikasikan idekompleks dan argumen

10. Evaluasi simetri gagasan kompleks dan argumen dan terminologi yang terkait

11. Rincian struktur secara menyeluruh sebuah ide, jalan pikiran, atau jalurargumen (dengan tujuan khusus mengungkap kesalahan, kegagalan, ataukesenjangan dalampenalaran) untuk pengawasan lainnya.

12. Peningkatan metakognisi (belajar untuk belajar, dan berpikir tentangpengetahuan).

13. Meningkatkan kemampuan bahasa

120

Page 7: Bab 6. Pengembangan Model

14. Elisitasi pengetahuan.

15. Menilai pemahaman pelajar tentang tujuan pembelajaran, konsep, danhubungan diantara konsep

Grafik konseptual adalah notasi untuk logika berdasarkan grafik eksistensialCharles Sanders Peirce dan jaringan semantik kecerdasan buatan. Dalam makalahyang diterbitkan pertama tentang CGS, John F. Sowa menggunakan grafikkonseptual untuk mewakili skema konseptual yang digunakan dalam sistem basisdata. Buku pertama tentang CGS (Sowa 1984) menggunakan grafik konseptualuntuk berbagai topik dalam kecerdasan buatan, ilmu komputer, dan ilmu kognitif.Sebuah notasi linear, yang disebut Conceptual Format Grafik Interchange (CGIF)telah dibakukan dalam standar ISOuntuk Logika umum.

Grafik konseptual ditampilkan menggunakan bentuk kotak dan oval. Setiapkotak disebut simpul konsep, dan masing-masing oval disebut simpul hubungan.Dalam CGIF,kurung menggambarkan informasi di dalam konsep simpul, dan tandakurung menggambarkan informasi di dalam hubungan simpul. Huruf x dan y, yangdisebut label coreference, menunjukkan bagaimana konsep dan hubungan simpulterhubung. Dalam Common Logic Interchange Format (disingkat CLIF), hurufdipetakan ke variabel.

6.1.2. Representasi Kejadian Sistem

Model simulasi kejadian-diskrit dapat digambarkan sebagai sebuah modelinteraksi kejadian diskrit yang terjadi dalam sistem dan variabel .status sistem.Interaksi ini dapat ditunjukkan dengan graf dimana simpul (verteks) menunjukkankejadian dan cabang berarah (ruas) menunjukkan penyebab langsung terjadinyasuatu kejadian hanya jika kondisi dipenuhi. Simbol yang digunakan dapat dilihatpada Gambar 6.1.

PenghubungKejadian,tidak terkondisi Penghubung terkondisi

oGambar 6.1. Simbol Representasi Sistem

121

-- --

Page 8: Bab 6. Pengembangan Model

Jika mas yang menghubungkan dua kejadian adalah garis terputus, itu menunjukkanbahwa terjadinya satu kejadian bisa menyebabkan pembatalan kejadian lainnya.Jika ada penundaan antara dua kejadian terhubung, penundaan ditunjukkan padamas di antara kedua kejadian. Jika terjadinya suatu kejadian bersifat kondisional,referensi terhadap kejadian penting ditunjukkan mas penghubung. Contoh:

Diagram di atas menunjukkan bahwa kejadian i akan mengarah ke kejadianj setelahpenundaan selama t dankondisi 1terpenuhi.

Sebagai contoh sistem kejadian-diskrit, perhatikan sekumpulan mesin yangditangani sekelompok operator. Setiap mesin msak perlu diperbaiki oleh operator.Setelah diperbaiki, mesin akan berfungsi kembali. Variabel status sistem adalahsebagaiberikut:

M(i) status mesin i0= menunggu perbaikan1= sedang diperbaiki2 =beroperasi

O(j) status operator0= menganggur1= sibuk

Kejadian diskrityang terjadi adalah:

1(i) mesin imenunggu diperbaikiM(i) diaturjadi 0

2(ij) operatorj mulai memperbaiki mesin iM(i) bernilai 1O(j) bernilai 1

3(ij) operatorj menyelesaikan perbaikan mesin iO(j) bemilai 0

4(i) mesin i mulaiberoperasiM(i) bernilai 2

122

Page 9: Bab 6. Pengembangan Model

Kondisinya adalah:

C(1) beberapa O(j) = 0 (ada operator menganggur)C(2) beberapa M(i) = 0 (ada mesin sedang menunggu untuk diperbaiki)

Penundaankejadian:

T(r) waktu mesin dijalankan di antara panggilan perbaikanT(s) waktu yang dibutuhkan untuk memperbaiki mesin

Grafkejadian sistemtersebut ditunjukkan Gambar 6.2.

Gambar 6.2. Grafkejadian sistem perbaikan mesin

6.2. Model Logika

Alat penting dalam mendetinisikan sistem adalah diagram alir level tinggi.Diagram alir level tinggi membantu praktisi menemukan pemahaman mendasarlogika sistem. Diagram alir level tinggi secara gratis menggambarkan bagaimanakomponen dan kejadian utama saling berinteraksi. Juga menggambarkanbagaimana input dan output memberikan peran pada model.

Komponen dan logika sistem seharusnya sudah diamati sebelumnya dalamaktivitas orientasi yang berhubungan dengan fase perumusan masalah. Karenadiagram alir simulasi yang kita bicarakan adalah diagram alir level tinggi, praktisiharus mengusahakan tidak memasukkan begitu banyak data yang sulit untuk diikuti.Diagram dimaksudkan hanya untuk memberikan informasi umum aliran proses.Dapat dipahami bahwa program aktual model simulasi akan membutuhkan detiltambahan.

Sayangnya, pengembangan diagram alir level tinggi yang relatif sederhanapuntetap membutuhkan level disipilin tertentu. Sering praktisi duduk dan mulai

123

---

Page 10: Bab 6. Pengembangan Model

-- -- --

memodelkan sistem tanpa diagram alir fungsionallevel tinggi. Pendekatan sepertiini biasanya akan menghasilkan output yang mengecewakan. Tanpa diagram alir,sangat diragukan bahwa praktisi memiliki pemahaman model yang fundamental.Penulisan program simulasi mernpakan pekerjaan yang sangat sulit. Prosespenulisan program simulasi akan semakin sulit jika praktisi bernsaha secarabersamaan mengerjakan pemrograman dan logika model.

6.2.1. SimbolDiagram Alir Standar

Ada empat simbol dasar diagram alir, yaitu oval, persegi, jajaran jenjang, danketupat. Ada ANSI dasar spesifik untuk keempat simbol ini. Untuk penggunaanpraktis pada pemodelan simulasi, standar tersebut dapat dikurangi lagi menjadihanya beberapa aturan umum. Aturan pertama adalah simbol hams diatur sehinggaurutan alur proses ke bawah dan ke kanan sebisa mungkin. Aturan kedua adalahsembarang simbol hanya memiliki satu jalur penghubung masuk (input) dan keluar(output). Untuk simbolkeputusan, aturan ini tidak berlaku.

Bagaimanapun meskipun dengan ikon keputusan, hanya satujalur output yangbisa keluar pada waktu tertentu. Dan saran terakhir, adalah menolong mencobamempertahankan diagram alir dalam lembar kertas sesedikit mungkin. Jika detiltambahan diperlukan, sebaiknya menggunakan diagram alir level rendah dari prosestertentu, bukan tambahan dalam bentuk diagram alur level tinggi.

Simbol oval digunakan untuk menunjukkan awal dan akhir proses. Simbolawal adalah simbol pertama yang muncul dalam diagram alir. simbol awal biasanyamemiliki hanya satu penghubung output. simbol akhir atau henti adalah simbolterakhir yang muncul pada diagram alir. Meskipun proses mungkin memilikibeberapa jalur berbeda, tapi hanya akan ada satu simbol akhir dari keseluruhan jalurtersebut. Semua proses hams berakhir dalam satu simbol. simbol oval yangdigunakan seperti yang ditunjukkan Gambar 6.4. Simbol itu juga digunakan untukmenunjukkan akhir diagram alir.

o1

Gambar 6.4. Simbol oval

124

Page 11: Bab 6. Pengembangan Model

Segi empat digunakan untuk merepresentasikan proses tujuan umum yangtidak secara khusus sudah ditunjukkan simbollainnya. Segi empat biasanya masukdari atas atau sisi kiri. Simbol ini keluar dari bawah atau sisi kanan. Dalam diagramalir level tinggi, penundaan waktu pelayanan merupakan contoh yang menggunakanproses ini. Simbol ini dilihatpada Gambar 6.5.

1

process

1

Gambar 6.5. Simbol proses

Jajaran genjang digunakan untuk menunjukkan proses yang ada, input danoutputnya. Jajaran genjang biasanya masuk dari atas atau sisi kiri. Simbol ini keluardari bawah atau sisi kanan. Contoh penggunaanjajaran genjang dalam diagram alirprogram simulasi adalahpenciptaan atau kedatangan entitas ke dalam sistem.

1

Input/output

1

Gambar 6.6. Simbol jajaran genjang

Simbol ketupat digunakan untuk menunjukkan keputusan dalam logikadiagram alir. Ketupat mempunyai satu penghubung input dan dua penghubungoutput. Penghubung input tunggal masuk ke sisi atas verteks simbol ketupat.Penghubung output dapat keluar dari kedua sisi verteks atau salah satunya daribawah. Penghubung output harns secara khusus diberi label sebagai "benar" dan"salah" ,atau dengan "ya" dan "tidak." Karena output ini bersifat mutually eksklusif,hanya satu jalur output tentunya yang akan teIjadi pada waktu tertentu.

125

-- --

Page 12: Bab 6. Pengembangan Model

---------

6.3. Model Simulasi

6.3.1. Pendahuluan

Tujuan dari fase penerjemahan model adalah menerjemahkan sistem ke dalammodel komputer yang dapat digunakan untuk menurunkan data percobaan. Fasepenerjemahan ini terdiri dari dua (2) fase. Fase pertama dalam penerjemahan iniadalah keputusan akan program komputer yang akan digunakan. Fase kedua adalahpemrograman model simulasi.

Fase kedua ini termasuk pemrograman sistem aktual. Meskipun adalah halyang tidak mungkin menyediakan contoh pemrograman untuk setiap tipe modelsimulasi dalam setiap tipe bahasa pemrograman, filosofi pemrograman simulasiumum berikut dapat digunakan untuk mengembangkan model simulasi fungsionaldan robust: (1) mulai; (2) manajemen versi; (3) jalankan pemrograman; (4)organisasikan pemrograman; (5) konvensi penamaan Mnemonic; (6) perencanaanpemrograman lanjut; dan (7)pengembangan program dengan banyak praktisi.

Kadang-kadang bagian yang paling sulit dari pemrograman simulasi adalahmemulai. Untungnya, jika model konseptual dan model logika dikembangkandengan baik dan tepat, praktisi dengan mudah dapat memulai pemrograman. Padamodel logika, praktisi harusnya sudah memiliki diagram alur level tinggiberdasarkan perspektif entitas sistem. Dengan diagram alur level tinggi, praktisidengan mudah dapat membuat pemrograman. Beda diagram alur level tinggi danpemrograman hanya terletak pada derajat kedetailan. Jika praktisi memilikipemahaman konseptual level tinggi tentang bagaimana mengoperasikan sistem,akan jauh lebih mudah mengembangkan level tinggi diagram alir ke level rendahkode program. Sayangnya, banyak praktisi awallangsung yakin menerjemahkan kefase pemrograman tanpa fase model konseptual dan logika. Individu seperti iniberusaha menyerang program dari pemahaman mental mereka tentang prosessistem. Jika diagram alir level tinggi benar-benar dibutuhkan, diagram alir inibiasanya dikembangkan setelah pembuatan kode program selesai. Karena diagramalir level tinggi baru dikembangkan setelah pembuatan kode program selesai,diagram alir ini tidak selalu mewakili level kualitas proyek keseluruhan. Pendekatanini pasti menyia-nyiakan waktu dan usaha yang dapat dengan mudah dihindarkanj ika diagram alir fungsionallevel tinggi sudah tersedia.

126

Page 13: Bab 6. Pengembangan Model

Situasi lainnya yang sama-sama bisa diabaikan adalah jika praktisimengijinkan pengembangan program untuk menjalankan diagram alir level tinggi.Salah satu penyebabnya adalah penemuan informasi sistem tambahan setelahdiagram alir level tinggi dikembangkan. Penyebab lainnya adalah peningkatanpemahaman akan sistem saat proses pemodelan dilakukan. Penyebab mana punyang teIjadi, itu menunjukkan bahwa praktisi bekeIja dalam kegelapan, mungkintanpa manfaat pemahaman konseptual proses yang barn ditemukan. Salah satu caraterbaik mengatasi ini adalah menunda sementara proses peneIjemahan model sampaidiagram alir level tinggi sistem sudah diperbaharui.

Manajemen versi berhubungan dengan pekeIjaan administrasi dalammenciptakan dan memelihara sistem berkas program terorganisasi. Kegiatan initerdiri dari subdirektori proyek, penyimpanan program simulasi, teknik manajemenversi berkas, dan pembuatan duplikat berkas proyek simulasi. Praktisi harnsmemulai semua proyek simulasi dengan pembuatan subdirektori terpisah untuksetiap individu proyek. Subdirektori ini dapat ditempatkan di subdirekrtori programsimulasi asli, yang menyimpan berkas program simulasi yang dapat dijalankan, ataudikumpulan subdirektori data tersendiri. Setiap metode memiliki kelebihan dankelemahannya. Keuntungan menggunakan subdirektori program simulasi adalah:1. berkas proyek dapat segera diakses begitu program simulasi dijalankan.2. berkas proyek ada di tempat yang sama.3. hanya sedikit navigasi yang dibutuhkan dalam mengakses perpustakaan

simulasi pendukung.

Keuntungan menggunakan subdirektori tersendiri adalah:1. subdirektori program simulasi tetap tidak terkluster2. mudah membuat duplikatnya

Meskipun praktisi harns memutuskan lokasi subdirektori secara sendiri, padaumumnya lebih menguntungkan menggunakan subdirektori data tersendiri terpisah.Faktor utama dalam hal ini adalah kebanyakan praktisi sudah membuat duplikatsubdirektori data secara teratur tapi tidak keseluruhan driver komputer. Sehinggaketika teIjadi masalah dengan harddisk, akan sangat penting hanya memasang ulangperangkat lunak pada drive lokal barn dan membuat kopi berkas proyek kesubdirektori data barn.

Praktisi hams menggunakan pendekatan "penyederhanaan danpendekorasian" dan "divide and conquer" untuk mengembangkan program simulasi.

127

Page 14: Bab 6. Pengembangan Model

-- --

Pendekatan ini dapat mengurangi usaha pengembangan sangat banyak.Menggunakan pendekatan ini, praktisi akan memulai dengan program simulasirelatif sederhana. Begitu simulasi sudah dapat dijalankan dengan benar, praktisidapat menambahkan komponen dan bagian-bagian lainnya. Cara ini akanmenghasilkan aliran seimbang model berbeda secara bertambah. Praktisi harnsmenyimpan model secara kontinu meskipun hanya sesi pengembangan tunggal.

Berkas Tunggal Manajernen VersiPilihan pertama adalah tetap menggunakan nama sarna ke berkas yang sarna.

Hal ini berarti bahwa versi tunggal berkas selalu dikembangkan. Jika berkas rnsak,maka semua pekerjaan akan hilang. Sarnaburuknya denganjika praktisi tidak dapatmempertahankan modifikasi terbarn. Waktu signifikan dapat disia-siakan untukusaha menemukan kembali kode yang sudah berjalan dengan benar. Meskipunmetode ini kelihatannya tidak bagus, tapi banyak praktisi menggunakannya.Kadang-kadang praktisi mengatasi permasalahan ini dengan membuat duplikatberkas ke direktori lain atau media penyimpanan di luar komputer. Dalam kasusseperti ini praktisi harns selalu mengingat menyimpan dan menggunakan versiterbarn. Mengingat harga hardisk yang tidak mahal saat ini, tidak ada alasan kuatbagi praktisi untuk menggunakan pendekatan ini. Sayangnya, masih banyak praktisipemula menggunakan pendekatan ini. Bahkan beberapa praktisi berpengalamanyang sudah kehilangan data menggunakan metode ini, tetap mempertahankanmenggunakan pendekatan ini.

Berkas Jarnak Manajernen VersiTeknik manajemen berkas kedua dan yang paling sesuai adalah secara kontinu

menyimpan setiap versi barn dengan nama berkas berbeda. Teknik penamaan bisamenggunakan nomor urnt, seperti antrian, antrianO1, antrian02, dan seternsnya.Model harns selalu disimpan dengan nomor barn setiap perkembangan barndiperoleh atau model telah berhasil debugged. Jika model terlalu kompleks, praktisimungkin bisa mempertimbangkan penggunaan subdirektori terpisah dalamsubdirektori proyek. Pada akhir fase penerjemahan model, praktisi akan memilikisejumlah model yang merepresentasikan peningkatan program secara nyata. Jikaterjadi masalah dalam bentuk apapun, akan jauh lebih sedikit kerja yang hilangdibandingkan dengan berkas tunggal. Begitu model awal sudah lengkap, praktisijuga harns membuat modifikasi untuk merepresentasikan ke konfigurasi percobaanlainnya. Setiap konfigurasi percobaan harns disimpan sebagai model berbeda.Sekali lagi, praktisi harns menggunakan seperti metode rasional untuk menjelaskanversi percobaan berbeda.

128

Page 15: Bab 6. Pengembangan Model

Menggunakan Banyak Komputer untuk Pengembangan Proyek

Situasi versi berkas lainnya adalah menggunakan banyak komputer dalammengembangkan program simulasi. Hal ini dapat terjadi ketika praktisi melakukanbeberapa pengembangan pada komputer kerja kantor, notebook, dan komputer dirnmah. Penggunaan banyak komputer dapat menjadi pentingjika komputer kantormisalnya memiliki monitor atau prosesor yang sangat bagus, perjalanan jauh yangmembutuhkan notebook, dan perlunya tetap bekerja dari rnmah. Alasan apapunyang menyebabkan penggunaan lebih dari satu komputer,usaha untuk melacak versiberbeda model bisa menjadi masalah. Salah satu cara untuk mengatasi ini adalahmenggunakan beberapa ukuran. Ukuran ini tidak dapat menjamin bahwa tidak akanada data yang hilang, tapi dapat meminimisasi kemungkinan hilangnya data.Ukuran tersebut adalah:1. Yakinkanbahwa semua pewaktuan komputer tersinkronisasi. Jika pewaktuan

semua komputer tersinkronisasi, praktisi dapat mernjuk ke tanggal dan waktuketika berkas disimpan. Dalam hal bahwa praktisi mengakhiri berkas dengandua versi berbeda dari berkas dan nama yang sarna,masih ada harapan bahwaversi terakhir dapat diidentifikasi. Indeks tanggal dan waktu dapat jugadigunakan sejalan dengan ukuran berkas untuk membantu identifikasi tepatdari berkas terbarn. Hal ini berlaku dengan asumsi bahwa praktisi secarakontinu mengembangkan model danukuran model secara kontinu bertambah.

2. Mulai nomor berkas barn pada setiap sesi. Ini mernpakan pendekatan yanglebih aman. Metode ini akan membantu menjamin bahwa tidak ada dua versiberkas terbarn pada waktu tertentu pada dua komputer berbeda. Jika adakeraguan akan urutan bilangan, praktisi harns menggunakan penambahanyang cukup untuk menghindari keraguan. Penambahan nomor urnt dapatdilakukan bukan denganpenambahan satuunit tapi sepuluhan unit.

3. Gunakan perangkat lunak pensinkronisasi. Perangkat lunak ini biasanyatersedia sebagai bagian media penyimpan di luar komputer. Perangkat lunakakan mensinkronisasi versi berkas berbeda dengan level otomasi berbeda.Jika praktisi memilih cara ini, perangkat lunak harns diperiksa secara periodikuntuk meyakinkan bahwa perangkat lunak bekerja denganbenar.

Membuat Duplikat Berkas SimulasiIsu penyimpanan berkas terakhir adalah pembuatan duplikat berkas program.

Meskipun praktisi memiliki banyak versi arsip program,jika semuaberkas disimpanpada alat yang sarna,praktisi mungkin berhadapan dengan risiko. Praktisi mungkinmerasa bahwa mereka sudah memiliki cukup duplikat berkas karena masing-masing

129

Page 16: Bab 6. Pengembangan Model

tim menyimpannya. Mereka merasa tidak akan kehilangan data, padahalkemungkinan kehilangan data tetap mereka dapat alami. Pada kebanyakankomputer pribadi, permasalahan bukan apakah hard drive akan rusak melainkankapan hard drive rusak. Karena itu sebagai praktisi perlu memikirkan hal ini. Tidakcukup hanya membuat duplikat program pada hard drive atau komputer yang sarna.Praktisi harus membuat duplikat program pada mesia terpisah lain atau komputerlainnya. Saat ini banyak media penyimpanan murah yang bisa digunakan, sepertiflash disk, dvd, cd, atau hard disk ekstemal.

Komentar

Seperti program komputer lainnya, program simulasi juga akan mendapatkanmanfaat dari komentar liberal. Komentar liberal tidak hanya menolong saatpengembangan program tapi juga ketika kita berusaha memahami kembali programyang sudah dibangun tahunan lalu. Beberapa praktisi menggunakan komentarkeamanan pekeIjaan untuk menyesuaikan dengan komentar kelemahan program.Lagipula, jika anda tidak memahami program yang anda buat, siapa lagi yang bisaanda harapkan memahaminya? Mengingat hal ini, salah satu saran yang diberikanadalah pertimbangkan memberikan perhatian pada pekeIjaan yang memerlukanwaktu lebih banyak dan lebih sedikit waktu mengkhawatirkan penyimpanannya.

Komentar liberal program simulasi pada kenyataannya lebih bermanfaatdaripada komentar bahasa pemrograman tujuan umum. Alasannya, pada umumnyapencapaian programmer tujuan umum adalah mengembangkan pengkodean elegandimana segmen pengkodean tertentu muncul hanya sekali dalam keseluruhanprogram. Setiap kali fungsi tersebut dibutuhkan, program mengalihkan ke subrutinyang umumnya dapat diakses.

Sebaliknya, banyak proyek simulasi mempunyai segmen kode yang hampirsemuanya identik. Meskipun demikian, segmen kode akan melaksanakan fungsiyang berhubungan dengan banyak bagian berbeda dari model. Karena itu tidakumum bagi beberapa segmen kode simulasi muncul sangat mirip pada permukaan.Hanya ketika praktisi memeriksa parameter kode, maka perbedaan akan terlihatdenganjelas. Untuk situasi seperti ini, komentar efektif tidak hanya akan menolongmenjelaskan kode tetapi juga membantu praktisi lebih cepat mengakses kodesegmen yang diinginkan dari antara berbagai segmen serupa yang ada. Pemberiankomentar dalam program simulasi dapat dilakukan dalam dua cara berbeda, yaitupada level struktur dan level model.

130

Page 17: Bab 6. Pengembangan Model

Pemberian komentar pada level struktur mernpakan eara paling umum dankonvensional. Beberapa program simulasi biasanya memasukkan field komentarpada struktur setiap kotak dialog. Praktisi harns bekerja keras untuk membuatkomentar bernpa penjelasan bukan deskriptif. Jika praktisi sedang mempraktekkanmnemonic struktur penamaan yang tepat, seharnsnya tidak akan ada lagi kebutuhanteks tambahan deskriptif. Sebaliknya, teks penjelasan mungkin tidak diperlukan,sebaliknya teks penjelasan membawa nilai yang besar,khususnya ketika struktur tipepeneabangan digunakan.

Organisasi Program

Pengantarmukaan kebanyakan program simulasi tertentu sering kelihatannyamengarahkan ke pengembangan tidak terorganisasi dari komponen model berbeda.Sebaliknya, bahasa pemrograman level tinggi berbasis teks, tidak ada garis jelasuntuk menempatkan struktur program. Faktanya, adalah mungkin menempatkanrepresentasi ikonik komponen model berbeda seeara virtual di sembarang jendelakomputer.

Meskipun praktisi bernsaha menyimpan program awal terorganisasi, filosofi"penyederhanaan dan pengorganisasian" mungkin akan merepotkan praktisi.Daripada berkutat dengan kode tingkat tinggi yang ada di mana saja jendela padarnangan yang tersedia, lebih baik praktisi bernsaha mengatur semua struktur kodeyang ada sehinggaprogram kelihatan mengalir seeara natural. Kegagalan mengatasiprinsip ini akan menghasilkan struktur penghubung muneul seperti spagetti padasemuajendela program. Kode spagetti muneul karena terlalu banyak menggunakanpemyataan "goto" dalam program. Sarna halnya dengan susahnya mengikutirangkaian spagetti, juga akan sangat sulit mengikuti kode spagetti yang loneat sanaloneat sinidalam bagian program.

Dalam usaha untuk mempertahankan program yang terorganisasi, praktisiharns selalu mengingat level berbeda yang dapat digunakan untuk menyajikanprogram. Praktisi harns bernsaha mempertahankan komponen sernpa ataukomponen yang berhubungan satu sarna lain dalam sajian yang sarna. Meskipunsemua komponen harns disajikan, level penyajian tidak bisa sangat rendah sehinggatidak memungkinkan untuk mengidentifikasi komponen program individual.Praktisi juga harns bernsaha keras untuk meyakinkan bahwa tidak ada komponenyang saling tidak berhubungan lainnya pada bagian lain model juga terlihatdisajikan. Komponen lain ini mungkin akan menjadi selingan yang tidak bemilaibagi praktisi. Dalam hal ini, perbesaran dalam level tertentu dapat dipertimbangkansarnadengan subroutine program berbasis teks.

131

--

Page 18: Bab 6. Pengembangan Model

Biasanya praktisi juga akan bernsaha membuat posisi spasial tersaji denganjelas. Dalam kata lain, meskipun penyajian subroutine digunakan, subroutine yangberhubungan harns secara geografis sejajar. Hal ini akan membantu percepatanperpindahan antara subroutine yang berhubungan. Pendekatan penyajian subroutineini harns digunakan dalam semua model untuk mempertahankan programterorganisasi sebaikmungkin.

Teknik yang paling bermanfaat untuk menavigasi penyajian subroutine modelsimulasi terorganisasi dengan benar adalah program "hot keys." Hot keysmemungkinkan praktisi menghubungkan penyajian tertentu dari suatu modeldengan sebuah kunci pada papan ketik komputer, sehingga kapanpun praktisimenginginkan menavigasi ke daerah tertentu, maka yang perlu dia lakukan adalahmenekan kunci yang sesuai dengan bagian model tersebut. Meskipun pemrogramanawal "hot keys" membutuhkan beberapa menit, tapi penghematan waktu berikutnyaakan berlipat ganda.

Praktisi harns mengusahakan menggunakan penamaan konvensionalmnemonic yang konsisten untuk antrian model, sumber daya, pengangkut, dankonveyor. Konvensi penamaan harns menggambarkan sifat alami dan tipekomponen. Praktisi akan menemukan bahwa teknik mnemonic ini akan sangatmempercepat laju pengembangan program. Jika praktisi gagal menggunakan teknikmnemonic, maka dia akan dipaksa untuk mernjuk secara kontinu bagian lainprogram. Contoh penamaan mnemonic adalah: Checkoutclrk, Checkoutclerkq,Golfcart, Golfcartq, Bagconv, danBagconvq.

Checkoutclrk misalnya mungkin digunakan sebagai nama sumber dayapetugas pemeriksa. Checkoutclrkq bisa digunakan sebagai antrian pada petugaspemeriksaan. Golfcart bisa saja digunakan sebagai nama pengangkut sementaraGolfcartq bisa digunakan untuk menunjukkan antrian alat pengangkut. Bagconvbisa digunakan untuk menunjukkan konveyor dan Bagconvq sebagai nama antrianyang mendahului konveyor.

Jika metode menmonik konsisten digunakan untuk penamaan komponendalam model, maka pendekatan yang sarna harns digunakan untuk penamaanberbagai sumber daya dan antrian. Sebagai contoh, jika model tertentu disebutsebagai machine, kecendernngan alamiah adalah menyebut sumber daya sepertimacho Jika ada banyak machine, praktisi harns membuat pembedaan, seperti machb,mach2, dan mach02. Jika sistem penomoran misalnya digunakan, maka mesin

132

Page 19: Bab 6. Pengembangan Model

pertama dinamai "mach," kedua "mach2," dan seternsnya. Artinya, praktisidimungkinkan menamai ulang mesin awal yang disebut sebagai "mach" dengan"macha" (jika sistem hurnf digunakan), atau "machl" (jika sistem penomoran satudigit digunakan), atau "machO1" (jika sistem penomoran dua digit digunakan)misalnya.

Artinya praktisi hams memodifikasi program yang sudah dikembangkansebelumnya. Tentu saja penamaan ulang kode awal dapat dihindarkan jikasebelumnya telah dipikirkan pemberian nama sebagai mach1,atau machO1.

Dengan cara sarna, label rujukan struktur program dapat menggunakannama dasar sarna dengan struktur huruf akhir "lbl" pada nama, sepertiCheckoutclrklbl dan Checkoutclrkqlbl. Checkoutclrklbl adalah label untuk pekerjadi bagian pemeriksaan. Checkoutclrkqlbl adalah label untuk antrian pekerja padabagian pemeriksaan.

Dalam situasi tertentu, praktisi mungkin membutuhkan bantuan praktisilainnya dalam menyelesaikan semuakomponen program proyek simulasi. Situasi inimungkin muncul sebagai hasiljadwal yang sangat ketat atau keahlian tertentu yangdimiliki praktisi lainnya. Dalam kasus waktu yang sangat sempit, praktisi mungkinmempunyai keleluasaan memilih dan memanfaatkan praktisi lainnya. Tapi jikamasalahnya adalah keahlian, praktisi mempunyai keterbatasan dalam memilih danmemberdayakan praktisi lainnya.

Meskipun pendekatan ini kelihatannya sangat bermanfaat dalampengembangan program, tapi bukan berarti tanpa bahaya yang nyata. Pertama,praktisi hams menjaga pengawasan dalam level tertentu atas komponen yangdikembangkan bersamaan. Permasalahan potensial kedua adalah waktu yang cukuphams dialokasikan untuk mengintegrasikan berbagai komponen sebelum waktuakhir proyek dicapai. Bukan karena komponen individual sudah berhasildioperasikan dapat diasumiskan bahwa penggabungan program tidak akan menemuikesulitan. Lagi pula program masih hams melewati verifikasi dan validasi sebelumpercobaan dapat dimulai. Idealnya, praktisi hams memformalkan penugasankomponen pemrograman berbeda dalam bagan pertanggungjawaban linear yangada. Jika ini tidak dilakukan sebelumnya, praktisi akan disarankan untukmengunjungi kembali bagan pertanggungjawaban linear dan memasukkan detilnya.Bagan pertanggungjawaban linear hasil perbaikan hams didistribusikan ke semuapraktisi. Tanpapenugasan formal tanggungjawab seperti ini, praktisi mungkin akandiabaikan ketika bernsaha mengumpulkan hasil kerja praktisi lainnya.

133

Page 20: Bab 6. Pengembangan Model

-- --

6.3.1 Model Simulasi Sederhana

Model simulasi harns merefleksikan sifat-sifat penting sistem nyata. Untukmenjelaskan proses pemodelan akan digunakanpercobaanjarum Buffon.

Percobaan Disimulasikan

Percobaan Jarum Buffon. Jarum sepanjang I dijatuhkan secara acak padabidang yang memuat sekumpulan garis paralel dengan jarak antar garis d, yangdapat direpresentasikan keramik lantai (lihat Gambar 6.7.). Panjang jarumdiasumsikan lebih kecil atau sarna denganjarak antar garis paralel. Jika percobaanmenjatuhkan jarum dilakukan secara berulang-ulang, probabilitas (P) jarum akanmenyentuh atau memotong garis dapat diperoleh dari hasil bagi jumlah jarummenyentuh atau memotong garis (NI) dengan jumlah percobaan (NT), atau P =NI/NT. Dilihat dari prosedurnya, percobaan jarum Buffon adalah simulasi MonteCarlo, karena kita menggunakan angka acak dan sampel acak untuk memperkirakanhasil percobaan.

---0

Gambar 6.7. Bidang percobaan jarum

Untuk mensimulasikan percobaan ini, kita harns dapat menempatkan jarumsecara acak, relatif terhadap garis. Dalam percobaan fisik, hal ini tidak sulitdilakukan, kita hanya perlu menjatuhkanjarum pada bidang yang sudah ditentukan.Tetapi dalam simulasi komputer percobaan akan berbeda. Jarum pada bidang harusditempatkan secara unik, untuk itu kita harus menentukan lokasi spesifik jarum.Anggap lokasi jarum terhadap garis mempunyai titik tengah m dan sudut 8. Untukmemenuhi posisi acak, variabel jarak diperlakukan sebagai variabel acak danberdistribusi uniform.

134

Page 21: Bab 6. Pengembangan Model

Kita hanya perlu mempertimbangkan satu area yang diapit oleh dua garis,karena area lainnya biasanya duplikat dari area ini (Gambar 6.8). Begitu titik tengahjarum m sudah ditentukan, kita harns menentukan garis mana dari antara kedua garistersebut yang terdekat. Posisi acak bersifat simetris, oleh karena itu kita hanyamemerlukan setengah dari jarak kedua garis. Oleh karena itu a yang mernpakanjarak dari m ke garis adalah variabel acak berdistribusi uniform pada kisaran 0 -d/2.Karena sifat simetris, juga variabel acak yang berdistribusi uniform pada kisaran O-nradian.

r_~ r_~_._._.

-.- .-. t-.-.-.-.-..

Itm

a+ 1/2 sin ()

Gambar 6.8. Jarak Jarnm dengan garis

Diberikan a dan e acak, metode untuk menentukan apakah jarnm menyentuhatau memotong garis adalah sebagai berikut: hitunglah proyeksi vertikal jarak m keakhir jarum sebagai (//2) sin, dan bandingkan denganjarak a. Jika a ~ (//2) sin,jarum menyentuh atau memotong garis, seperti yang ditunjukkan di atas. Jika a>(//2) sin , jarum tidak menyentuh atau memotong. Untuk menyelesaikanpengembangan model, kita harns menentukan rata-rata nilai a dan e.

Untuk mendapatkan sampel acak a dan e, akan lebih baik menggunakan bilanganpseudo-random, r, dengan 0 ~ r~ 1. Kemudian kita dapat mendefinisikan nilai a dane untuk percobaan tertentu sebagai :

a=(d/2)re= nr

kisaran adan e yang diinginkan adalah:o ~a~ d/2o~e~n

Logika pemrograman untuk mensimulasikan percobaanjarum ditunjukkan Gambar6.9.

135

Page 22: Bab 6. Pengembangan Model

-- -- --

Program akan dijalankan sebanyak 3000 kali dengan panjangjarum (I)= 10cmdan jarak garis (d) = 20cm. Hasil simulasi memperkirakan p (probabilitas jarumakan menyentuh atau memotong garis) sebesar 0.3133. Pertanyaan berikutnyaadalah seberapa akuratperkiraan ini?

I Pilih 1dan d

~

I Turunkanf, I

~~

I Turunkan f2

~

Hitung e

Hitung 1/2 sin e

ya ~

l a e 1/2sine J

~tidak

] + I Tambahkan NT I

~

(Jumlah running sudah cukup ]~ ya

Cetak hasil

tidak

rI Tambahkan NI

~

SGambar 6.9. Logika pemrograman percobaanjarum Buffon

136

Page 23: Bab 6. Pengembangan Model

Keakuratan p ditentukan oleh jumlah ulangan setiap percobaan yangdisimulasikan. Dalam pembentukan selang kepercayaan untuk presisi ini, halberikut dilakukan. Jatuhnya jarum merupakan percobaan Bernoulli, jumlahkesuksesan (NI) dalam ulangan NT adalah variabel acak Binomial, dan P = NI/NTyang merupakan penduga bagi parameter Binom p (probabilitas sukses). Denganmenggunakan P= Pmaka dapat dinyatakan:

EIF]= E[NI / NT]= P karenaE[NI]= px NT

VAR[P]=p(l- PXT karena VAR[NI]= NT x p(l- p)

Z ~ ( (f;- Pt~(l- p)t

Dapat diasumsikan bahwa Pmenyebar normal (percobaan sebanyak 3000jauhlebih besar dibandingkan 30), dan oleh karena itu Z diasumsikan berdistribusinormal dengan rata-rata 0 danragam 1. Lalu kita dapatmenulis probabilitasnya:

1-Z0.025((f;- pt{l- p))1/2 ,;ZO.025] ~ 0.95

J(

-(1- -))

1/2

(-Q _ _)

)

1/2

].LlP-ZO.025 p NTP :::;p:::;P+ZO.025 p NTP =0.95

Menggunakan P = 0.3133 (nilai probabilitas hasil simulasi di atas), kita akanmendapatkan:

P[0.2967 S ps0.3299] = 0.95

Program simulasi menggunakan FORTRAN adalah sbb:C PERMASALAHAN JARUM BUFFONTYPE *, 'MASUKKAN PANJANG JARUM, LEBAR AREA (JARAKANTARADUAGARIS), JUMLAH PERCOBAAN'TYPE *,READ *,FNEEDLE,DIST,NTRIALSTYPE*,PANJANG JARUM = ',FNEEDLE, 'LEBAR AREA = ',DIST,'JUMLAH PERCOBAAN = ',NTRIALSWRITE (6,100) FNEEDLE,DIST,NTRIALS100 FORMAT (' PANJANG JARUM = ',F7.0,'LEBAR AREA =',F7.0,

137

Page 24: Bab 6. Pengembangan Model

- -

JUMLAH PERCOBAAN =',16)DO lI=l,NTRIALSY=RAN(ISEED)A=Y*DISTI2Y=RAN(ISEED)THETA=Y*3.1417IF(A.LE.(FNEEDLE/2.)*SIN(THETA)) THENCROSS=CROSS+ IEND IFIF(MOD(I,50) .EQ.O)THENTYPE *,'PERCOBAAN NO. = ',I,'FRACTION CROSSING=',CROSS/FLOAT(I)101 FORMAT(' PERCOBAANNO.= ',I,' FRACTION CROSSING='F5.4)END IFI CONTINUETHEO_PROB=2.*FNEEDLE/(3.1417*DIST)TYPE*,'PELUANGTEORITIS= ',THEO_PROBWRITE(6,102)THEO PROB102 FORMAT(' PROB. TEORITIS= ',F6.5)END

Sebelum mengembangkan model simulasi kompleks, kita bicarakan duludaftar pemrosesan dalam simulasi. Untuk model simulasi sederhana, kita dapatmenemukan tidak ada daftar atau maksimum hanya satu daftar record dengan Iatribut. Tapi untuk model simulasi kompleks kita harns berhadapan denganbeberapa daftar yang memuat banyak records juga dengan banyak atribut. Seringpemrosesan FIFO (First In First Out-yang pertama masuk pertama diproses) tidakefisien. Jika jumlah besar informasi ini tidak disimpan dan dimanipulasi secaraefisien, eksekusi model akan membutuhkan waktu yang lama dan memoripenyimpanan yang besar akanmengakibatkan model simulasi tidak layak.

Ada dua cara penyimpanan daftar records dalam komputer yaitu alokasisekuensial dan terhubung (linked). Pendekatan alokasi-sekuensial meletakkanrecords berdekatan secara fisik dalam lokasi penyimpanan, satu demi satu recordsesuai dengan hubungannya. Dalam pendekatan alokasi penyimpanan terhubung,setiap record memuat atribut dan pointer (link). Pointer menunjukkan relasi logisdari satu record ke record lainnya dalam daftar. Sehingga record dalam daftar yang

138

Page 25: Bab 6. Pengembangan Model

saling berhubungan tidak harus diletakkan berdekatan. Pendekatan kedua ini(alokasi penyimpanan terhubung) lebih disukai dalam pemodelan simulasi karenamemiliki beberapa keuntungan, yaitu:1. waktu pemrosesan yang dibutuhkan untuk jenis list tertentu dapat dikurangi

secara signifikan.2. pemrosesan list-kejadian untuk model simulasi dimana daftar (list) kejadian

memuat sejumlahbesar record kejadian secara simultan dapat dipercepat3. untuk beberapa model simulasi, kapasitas memori komputer yang dibutuhkan

untuk menyimpan bisa lebihkecil.4. menyediakan kerangka umum yang memungkinkan menyimpan dan

memanipulasi banyak daftar secara simultan dengan mudah, dimana recordsdalam daftar berbeda dapat diproses dengan cara berbeda.

6.3.2. Model Simulasi Kompleks

Simulasi kejadian diskrit memodelkan sistem yang berubah sesuai waktumelalui suatu representasi dimana variabel status berubah secara langsung pada titikterpisah dalam waktu. Titik terpisah dalam waktu adalah keadaan dimana suatukejadian terjadi. Kejadian didefinisikan sebagai kejadian langsung yang dapatmengubah status sistem. Meskipun simulasi kejadian diskrit dapat dilakukan secaramanual, jumlah data yang harus disimpan dan dimanipulasi dalam dunia nyatamengharuskan penggunaan komputer digital.

Simulasi jarum Buffon adalah simulasi kejadian-diskrit statis dalam artianbahwa simulasi itu terdiri dari serangkaian kejadian acak dimana setiap kejadiantidak dipengaruhi oleh kejadian sebelumnya. Waktu bukan bagian dari simulasi.Menjatuhkan jarum dilakukan berulang-ulang, memberikan perkiraan yang lebihbaik akan probabilitas jarum menyentuh atau memotong garis, tapi simulasi akantetap sarnajika ke 3000jarum dijatuhkan secara bersama-sama atau dijatuhkan satudemi satu sebanyak 3000kali.

Lebih sering, simulasi bersifat dinamis, dimana interaksi antara kejadian acakdan waktu adalah bagian dari simulasi. Karena sifat dinamis ini, kita harnsmengikuti nilai waktu tersimulasi selama simulasi dijalankan, dan kita juga perlumekanisme mengembangkan waktu tersimulasi dari satu nilai ke nilai lainnya. Kitasebut variabel model simulasi yang memberikan nilai waktu tersimulasi saat inidengan simulation clock. Unit waktu simulation clock tidak pemah dinyatakan

139

Page 26: Bab 6. Pengembangan Model

- -- -- --

secara eksplisit ketika pemrograman model dibuat dengan bahasa pemrogramanumum seperti FORTRAN, Pascal atau C, dan diasumsikan dalam unit yang sarnadengan parameter input. Juga, secara umum tidak ada hubungan antara waktutersimulasi dengan waktu menjalankan simulasi dalamkomputer.

Dua pendekatan prinsipal disarankan untuk menjalankan simulation clockyaitu next-event time advance dan fixed-increment time advance. Pendekatanpertama digunakan hampir semua bahasa simulasi dan bahasa umum, karena itu kitaakan menggunakan pendekatan ini.

Dalam next-event time advance, simulation clock diinisiasi dengan 0 danwaktu terjadinya kejadian di masa mendatang ditentukan. Simulation clockkemudian bertambah (maju) dengan waktu terjadinya kejadian berikutnya yangpertama, dimana pada suatu titik status sistem diperbaharui setelah terjadinya suatukejadian, dan pengetahuan kita akan waktu kejadian berikutnya juga diperbaiki.Proses penambahan simulation clock berlanjut terus dari satu kejadian ke kejadianlainnya sampai kondisi penghentian yang sudah didetinisikan dipenuhi. Karenasemua status berubah hanya pada waktu kejadian model simulasi kejadian-diskrit,periode tidak aktif diloncat dari waktu kejadian ke waktu kejadian. Harusdiperhatikan bahwa loncatan berurutan simulation clock secara umum bervariasidalam ukuran (tidak sarna).

6.3.3. Simulasi Monte Carlo

Simulasi Monte Carlo adalah proses menurunkan secara acak nilai variabeltidak pasti secara berulang-ulang untuk mensimulasikan model. Metode MonteCarlo karena itu merupakan teknik stokastik. Kita dapat menemukan metode MonteCarlo diaplikasikan dalam berbagai bidang, mulai dari ekonomi sampai tisika nukliruntuk pengaturan lalu lintas aliran. Tentu saja cara aplikasinya berbeda dari satubidang ke bidang lainnya, dan ada banyak sekali himpunan bagian Monte Carlomeskipun dalam satu bidang yang sarna. Hal yang menyamakan semua itu adalahbahwa percobaan Monte Carlo membangkitkan bilangan acak untuk memeriksapermasalahan.

Metode Monte Carlo dianggap sebagai penemuan dari Stanislaw Ulam,seorang matematikawan cemerlang yang bekerja untuk John Von Neumann diproyek United State's Manhattan selama perang dunia II. Ulam adalah orang utama

140

Page 27: Bab 6. Pengembangan Model

yang diketahui merancang born hidrogen dengan Edward Teller tahun 1951. Diamenemukan metode Monte Carlo tahun 1946 sewaktu memikirkan peluangmemenangkan permainan kartu soliter. Percobaan jarum di atas merupakan contohmetode Monte Carlo.

Hal yang kita lakukan dalam lembar kerja adalah mendefinsikan nilai yangmungkin dengan distribusi peluang untuk setiap variabel tidak tentu. Tipe distribusiyang dipilih didasarkan pada kondisi di sekeliling variabel.

Metode Monte Carlo, sebagaimana yang dipahami saat ini, melingkupisampling statistik yang digunakan untuk memperkirakan solusi permasalahankuantitatif. Ulam tidak menciptakan sampling statistik. Metode ini sebelumnyadigunakan untuk menyelesaikan permasalahan kuantitatif dengan proses fisik,seperti pelemparan dadu atau pengocokan kartu untuk menurunkan sampel. W.S.Gosset, yang mempublikasikan karyanya dengan nama "Student", secara acakmenarik sampel ukuran jari tengah dari 3000 kriminal untuk mensimulasikan duadistribusi normal berhubungan. Dia mendiskusikan metode Monte Carlo dalam duapublikasinya (1908a dan 1908b). Kontribusi Ulam diakui dalam potensi penemuanbaru komputer elektronik untuk mengotomasi penarikan sampel. Bekerja denganJohn yon Neuman dan Nicholas Metropolis, dia mengembangkan algoritma untukimplementasikomputer,juga mengeksploralat transformasipermasalahantidak .

acak ke dalam bentuk acak yang akan memfasilitasi solusinya melalui penarikansampel acak. Nama Monte Carlo diberikan oleh Metropolis, dipublikasikan pertamasekali tahun 1949.

Nama simulasi Monte Carlo diberikan sesuai dengan nama salah satu kota diMonaco, yaitu Monte Carlo, tempat utama kasino yang mengandung permainanpeluang (kesempatan). Permainan peluang seperti roda rolet, dadu dan mesin slotmenunjukkan perilaku acak.

Perilaku acak dalam permainan peluang adalah sarna dengan bagaimanasimulasi memilih nilai variabel secara acak untuk mensimulasikan model. Ketikakita melempar dadu, kita mengetahui bahwa yang akan muncul mungkin 1,2, 3,4, 5atau 6, tapi kita tidak mengetahui yang mana pastinya untuk lemparan tertentu. Halitu sarna dengan variabel yang mempunyai kisaran nilai diketahui tapi tidakdiketahui nilaipasti untuk waktu atau kejadian tertentu.

141

Page 28: Bab 6. Pengembangan Model

Pemahaman metode Monte Carlo dapat dilakukan dengan memikirkan bahwaitu merupakan teknik umum integrasi numerikal. Setiap aplikasi metode MonteCarlo dapat direpresentasikan sebagai integral terbatas.

Misalkan kita ingin mengevaluasi integral terbatas multi-dimensional dari:

1 1 1

\.fI =J r.. J f(ul'u2,,,. ,u~)du1du2... dUn= J f(lI)dllo 0 0 (0,1)"

[I]

Kebanyakan integral dapat dikonversi ke dalam bentuk ini dengan perubahanvariabel yang sesuai, sehingga kita dapat mempertimbangkan ini menjadi aplikasiumum yang sesuai untuk metode Monte Carlo. Integral mereprensentasikanpermasalahan bukan acak, tetapi metode Monte Carlo memperkirakan solusi denganmemperkenalkan vector acak U yang berdistribusi normal dapat area integrasi.Dengan mengaplikasikan fungsi f ke U, kita mendapatkan variabel acak f(U).Variabelacak f(U) mempunyai ekspektasi:

E[f( V)] =J f(lI) ~(II) dll(0,1)"

[2]

Dimana cradalah fungsi densitas peluang U. Karena crsarna dengan 1 pada areaintegrasi, maka ekspektasi di atasmenjadi:

E[f( V)] =J f(lI) dll(0,1)"

Dengan membandingkan [1]dan [3]didapatkan ekspresipeluang untuk integral 'I' :

[3]

\.fI=E[f( lJ)] [4]

Sehingga variabel acak f(U) mempunyai rata-rata 'I' dan standar deviasi A. Kitadetinisikan:

[5]

142

Page 29: Bab 6. Pengembangan Model

Sebagai penduga tidak bias untuk '¥ dengan kesalahan standar (standar error) A.Inikurang konvensional, karena [5] adalah penduga yang tergantung pada sampel{Ull]}denganukuran 1,tetapi itu tetap sebagaipenduga valid.

Untuk memperkirakan '¥ dengan kesalahan standar kurang dari A, mari kitageneralisasikan penduga kita untuk mengakomodasi sampel yang lebih besar {lP\U [2], ... , U [m]}. Aplikasikan fungsi f ke setiap sampel ini, akan menghasilkansejumlah m variabel acak independent and identically distributed (IID)j{UII]),j{U[2]),... , j{U [m]),dimanamasing-masingnyamempunyaiekspektasi dan standardeviasi A. Generalisasi [5]:

H =~i: f(U[k]) [6]m k=l

Adalah penduga tidak bias untuk '¥ dengankesalahan standar:

(j

...f; [7]

Jika kita mempunyai realisasi {ull], U[2],... , u[m]}untuk sampel kita, kita dapatmemperkirakan sebagai:

[8]

Kita sebut [6] sebagai estimator Monte Carlo kasar. Persamaan [7] adalah pentingkarena dua alasan. Pertama, persamaan itu menunjukkan bahwa kesalahan standaranalisis Monte Carlo menurun sebesar pangkat dua dari ukuran sampel. Kedua,kesalahan standar tidak tergantung pada dimensionalitas integral. Kebanyakanteknik integrasi numerikal, seperti aturan trapezoidal atau metode Simpson,tergantung pada dimensionalitas. Ketika digeneralisasikan ke dimensi jarnak,jumlah perhitungan yang dibutuhkan meningkat secara eksponensial sesuai dengandimensionalitas integral. Metode Monte Carlo tidak tergantung dengandimensionalitas.

143

Page 30: Bab 6. Pengembangan Model

- -- -- ---

Dalam analisis Monte Carlo, peningkatan jumlah sampel akan mengurangikesalahan standar, tapi itu akan bernilai mahal. Teknik reduksi ragam dapatdigunakan untuk memperbaiki solusi. Teknik ini menggabungkan informasitambahan tentang analisis secara langsung kedalam penduga. Hal inimemungkinkan penduga Monte Carlo lebih deterministik, dan karenanyamempunyai kesalahan standar lebih rendah. Teknik standar pengurangan ragamtermasuk antithetic variates, control variates, importance sampling, danstratified sampling.

6.3.4. Sistem KomputerTime-Shared

Perhatikan sistem komputer time-shared, dimana pemakai dihubungkan ke sistemmelalui jaringan telepon. Hanya ada sedikit jumlah port Ulltukkoneksi seperti ini,dan ketika semua port digunakan saat panggilan masuk, maka pengguna akanmenerima signal sibuk dan hams mencoba membuat koneksi di lain waktu. Sekalikoneksi tersambung, port tidak akan dapat digunakan lagi oleh pemakai lain sampaipemakai saat itu memutus hubungan dengan menutup telepon. Skematik sistemditunjukkan oleh Gambar 6.1O.

CPU

Kports

Memory

Gambar 6.10. Sistem komputer time-shared

144

Page 31: Bab 6. Pengembangan Model

Dengan maksud menyederhanakan permasalahan, kita akan mengasumsikanbahwa pemakai berusaha menghubungi komputer pada waktu acak sepanjang haridengan laju rata-rata panggilan 35 per jam. Data historis rata-rata waktu, termasukperhitungan dan bukan perhitungan, 25 menit. Meskipun saat ini ada 14port, tidakjarang pemakai menemukan bahwa semua port sibuk saat mereka melakukanpemanggilan. Permintaan memperbesar memori CPU dan menambah jumlah portdan kecepatan transmisi sudah sering diajukanuntuk meningkatkan level pelayanan.

Port relatif mahal karena biaya perangkat keras dan biaya pelayanan teleponper bulan. Harga perangkat keras untUksetiap port sekitar Rp10,000,000,- dan biayapelayanan telepon serta perawatan setiap port per bulan sebesar Rp250,000,-.Sistem komputer hanya dapat mendukung 32 port dan kapasitas perhitungan sistemterbatas.

Dipercaya bahwa dengan meningkatkan laju transmisi antara sistem komputerdengan pemakai yang memanggil dari 120kpd (karakter per detik) menjadi 960 kpd,lama sesi dapat dikurangi. Diyakini bahwa lama sesi rata-rata dapat dikurangi tigamenit menggunakan laju transmisi lebih tinggi. Peningkatan dari 120 ke 960 kpdmembutuhkan biaya Rp4,000,000,- untuk setiap 100 terminal yang dapatdikoneksikan ke sistem.

Studi pendahuluan menunjukkan bahwa kinerja sistem akan diperbaiki jikamemori CPU diperbesar. Pengaruh peningkatan seperti itu akan menjadi sesi palingsensitif dimana pemakai akan terhubung ke sistem dalam jangka waktu singkat.Memori CPU saat ini 1MB dan dapat diperbesar ke 2 MB atau 3 MB. Tabel 1menunjukkan biaya dan pengurangan waktu koneksi untuk memori 1MB,2 MB dan3MB.

Dengan maksud mengevaluasi kegunaan penambahan port, peningkatankecepatan transmisi, atau menambah memori, disarankan untuk mempelajari kinerjasistem dan biaya yang berhubungan dengan bantuan model analitik, model simulasidan keduanya.

145

Page 32: Bab 6. Pengembangan Model

-- - --

Tabel 6.1. Biaya dan pengurangan waktu koneksiDengan beberapa altematif memori

6.3.4.1. Formulasi Masalah

Untuk:memformulasikan masalah, kita perlu menjawab pertanyaan :1. Apa yang kita harapkan untuk:dipelajari dengan membangun model simulasi

kasus ini?2. Informasi apa yang kita inginkan disediakan simulasi?

Pertanyaan-pertanyaan ini bisa dikembangkan lagi dan tidak se1alu diungkapkansecara eksplisit.

Kita dapat menggunakan model simulasi untuk:memprediksi kinerja sistem sebagaiparameter pembahan sistem atau lebih disukai, model simulasi dapat digunakanuntuk:mengarahkan pengoptimuman beberapa tujuan yang dibatasi oleh sumberdaya terbatas.

Untuk: kasus di atas, dengan mencoba konfigurasi sistem berbeda, kita dapatmengamati ukuran kinerja sistem. Pertanyaan yang akan dijawab bisa dalambentuk::

1. Berapa probabilitas keterhubungan ke sistem sebagai fungsi jumlah koneksiterminal (port)? atau

2. Berapa jumlah rata-rata port sibuk, sebagai fungsi memori, koneksi terminaldan kecepatan transmisi? atau

3. Berapa level kepuasanpemakai sebagai fungsi peningkatan sumber daya?

Berbagai pertanyaan lain dapat dibentuk:,setiap pertanyaan membantu analis untukfokus,padatujuan pemodelan simulasi.

Altematifnya, kita dapat menyatakan fungsi objektif yang akan dioptimalkanbersamaan dengan pembatas yang hams dipenuhi untuk:mendapatkan solusi layak.

146

WaktuPerhitungan Biaya(dolar) PeningkatanRata-rata

10 0 Konfigurasisaatini8 20,000 Memori2M-Byte7 30,000 Memori3M-Byte

Page 33: Bab 6. Pengembangan Model

Sebagai contoh, kita mungkin memilih dari salah satu bentuk di bawah ini untuktujuan dan pembatas :

1. maksimumkan (kepuasanpengguna)terhadap :biaya total pengeluaran < Coatau

2. minimumkan (total pengeluaran)terhadap :kepuasan pemakai > Soatau

3. minimumkan (lamarata-rata sesiper pemakai)terhadap :biaya total < Coatau

4. minimumkan (total biaya)termasuk biaya pemakai danbiaya sumber daya

Beberapa dari tujuan dan pembatas ini perlu diklaritikasi, yang mernpakanlangkah penting dalam formulasi masalah. Tanpamengidentitikasi denganjelas danlebih dini pertanyaan yang hams dijawab dari model simulasi, proses pemodelansimulasi akan berakhir dengan sendirinya dan analisis akan sangat mudahkehilangan wawasan tujuan akhir dari pemodelan. Detil dan level kompleksitasmodel hams merefleksikan penggunaan akhir model. Model tidak perlu lebihkompleks atau lebih detil dari pertanyaan yang hams dijawab yang dibuat di awalanalisis.

Kita akan detinisikan variabel danparamater sistem.

Variabel Eksogenus tidak dapat dikontrol

147

Simbol penjelasanko Jumlah port saat ini9(t) Rata-rata laju kedatangan pada waktu tCr Biaya per bulan setiap penambahan satuCH line teleponCu Biaya perangkat keras untuk setiapL penambahan port

Biaya upgrading semua pemakai ke 960kpd umur ekspekstasi perangkat keras

Page 34: Bab 6. Pengembangan Model

- -

Variabel Eksogenus dapat dikontrol (variabel keputusan)

Variabel Endogenus / varia bel status

N(t) I Jumlah pemakai terkoneksi ke sistempada -waktu t

Variabel Endogenus / ukuran kinerja

Karena tujuan pengembangan model adalah untuk mendukung pengambilankeputusan, maka selanjutnya kita harns mempertimbangkan kriteria pengambilankeputusan termasuk tujuan dan kendala yang dihadapi. Berbagai kriteria keputusanada, tapijika kita membatasi pilihan pada pengukuran biaya dan levelpelayanan, kitadapat mempertimbangkan kriteria seperti berikut:

1. minimumkan TC2. minimumkan TC dengan kendala PK < Po3. minimumkan PKdengankendala TC <Tco4. minimumkan biaya total sistem (termasuk nilai waktu pemakai, biaya

perangkat keras dan telepon).

Kriteria terakhir ini adalah yang umum, tapi kita akan menghadapi modelyang lebih kompleks. Kompleksitasnya ada karena kita hams mengukur nilai waktupemakai. Untuk selanjutnya kita akan menggunakan kriteria keputusan no. 2. NilaiPodibuat 0.02 dan level pelayanan paling tidak 0.98.

148

Simbol penjelasan

Kl Jumlah port tambahanCR Investasi sumberdava komputer tambahanK Jumlah total po rt = k 0 + k 1U Biayaupgrading semua pemakai sampai 960 kpd,Cu [0,jk

pemakai tdk diupgradelE(T) Ekspektasijumlah pemakai terhubung per sesi

Simbol penjelasanTC Biaya total per tahun = CR + klCH + UjL+12klCTPK Peluang pemakai berusaha koneksi dan menemukan semua port

terpakaiPc Peluang pemakai berusaha koneksi dan menemukan tidak

semua port terpakai(juga disebut level pelayanan) = I-PK

Page 35: Bab 6. Pengembangan Model

6.3.4.2.ModelAnalitik

Sebelum mengembangkan model simulasi, pertama-tama harns selaludipertimbangkan apakah model analitik dapat digunakan. Pengembangan danpenggunaan model analitik lebih murah dibandingkan model simulasi, dan bahkanjika model analitik sempuma tidak dapat dikembangkan, model analitik pendekatanakan sangatberguna untuk menganalisis sistem.

Model analitik untuk kasus komputer time-shared di atas dapat dikembangkandengan membuat beberapa asumsi terlebih dahulu :

1. Waktu koneksi berdistribusi secara eksponensial dengan rata-ratakonstan.

2. Waktu antara dua panggilan berdistribusi eksponensial dengan rata-ratakonstan.

3. Pengaruh jumlah awal pemakai yang terhubung ke sistem padapermulaan hari menghilang dengan cepat

4. Distribusi waktu di antara panggilan tidak berubah (paling tidak secaramendasar) ketika semuaport terpakai.

Misalkan :Pi=peluang secara tepat sejumlah ipemakai terhubung, i=0, 1, ...,KA = lIwaktu rata-rata antara kedatanganJ..L= lIrata-ratawaktuterhubung

Maka,

-1K

L~/J..LJi=O

.JI.(I) (2) l~i~KPo= dan

Dalam model ini, PK adalah probabilitas bahwa semua port digunakan atauprobabilitas bahwa pengguna yang akan masuk ke sistem tidak dapat terhubung.Menggabungkan kedua persamaan di atas akan diperoleh:

[AIJ..L f)1

K! K

L[A/J..LJP _ i=O

K- .I

149

Page 36: Bab 6. Pengembangan Model

- -- ---

Ada 108 pilihan altematif berbeda(2 kecepatantransmisi, 3 ukuran memoridan sampai 18 ports). Dari sudut pandang model antrlan, setiap altematif pilihandapat direpresentasikandengan waktu koneksi rata-rata (1/~) dan jumlah port K.Menggunakan Persamaan (3), level pelayanan Pc dapat dihitung untuk setiapaltematif. Tabel 6.2. menunjukkan waktu terhubung rata-rata untuk himpunanbagian pilihan kecepatan transmisi dan 3 memori.

Tabel 6.2. Waktu terhubung rata-rata

6.3.4.3 Model Simulasi

Diagram (graf) kejadian untuk sistem di atas adalah:t(a)

~(:;\ t(s)CD c(l) 0~Gambar 6.11. Grafkejadian untuk sistem komputer time-shared

Variabel status:

N(t) = jumlah port sibuk

Kejadian :1. pemakai berusaha koneksi ke sistem2. pemakai terhubung dan sesi mulai3. pemakai menyudahi sesi

Kondisi :C(1):n(t)<K

Penundaan:t(a) = waktu sampai pemakai berikutnya berusaha masukt(s)=j angka waktu pemakai terhubung dengan sistem

150

memonKecepatan

transmisi (kpd)1M byte 2Mbyte 3M byte

30 25 22 20

22 19 17120

Page 37: Bab 6. Pengembangan Model

Variabel model:

Variabel Eksogenus tidak dapat dikontrolSimbol penjelasan

MEAN_CALL_TIME Ekspektasi waktu antara dua panggilan

VariabelEksogenus-dapat dikontrol (variabelkeputusan)

Simbol penjelasanK JumlahportMEAN_CONNECT_TIME Ekspektasilamasesipemakai

VariabelEndogenus- variabelstatus

N JumlahportyangsedangdigunakanT_NEXT_CALL WaktupemanggilanberikutnyaT_CALL_END(i) Waktuakhirkoneksiportke-iPORT_STATUS(i) MengindikasikanapakahportsibukataumenganggurVariabelEndogenus- ukurankinerja

Simbol penjelasan

CUM_CONNECT_TIME Waktu kumulatif pemakai terhubung ke sistem

N_CALLS Jumlah total pemakai memanggil sistem

N_CONNECT Jumlah total panggilan yang terhubung

N_FAIL_CONNECT lumlah total panggilan yang gagal terhubungPROB CONNECT N CONNECTIN CALLS- --

PROBFAIL CONNECT N FAIL CONNECTIN CALLS- - - - -AVE NUM USER CUM CONNECTTIME/TFINAL- - - - -Parameter simulasi

T

SEEDI

SEED2

T FINAL

Waktu sekarang

Pembangkitan bilangan acak pemanggilan ke sistem

Pembangkitan bilangan acak untuk waktu koneksiLama simulasi

Function danSubroutines

F NEXT CALL- -

F CONNECT TIME- -FREE PORT

NEXT CALL END- -RANDOM

Hitung waktu sampai ada panggilan masuk berikutnyaHitung lamanya sesi pemakai

Tempatkanport yang tersedia

Tempatkanport yang sesinya selesai terlebih dahulu

Kembalikan distribusi uniform bilangan acak[0,I ]

151

Page 38: Bab 6. Pengembangan Model

-- - -- --

Logika pemrograman menggunakan metode penjadwalan kejadian waktu berlanjutditunjukkan Gambar 6.12.

6.4. Pertimbangan Pemrograman dan Struktur Data

Usaha perhitungan dalam simulasi pada umumnya melibatkan banyakkejadian, seperti identifikasi kejadian paling dekat berikutnya dan penjadwalankejadian berikutnya. Program simulasi akan jauh lebih efisien jika kejadian yangdieksekusi diurutkan berdasarkan waktu kejadian berikutnya, daripada disimpantidak terurut. Daripada mencari sekumpulan kejadian berikutnya secara fisik didalam komputer, akan lebih baik melakukan pencarian secara logika. Menggunakanmetode penstruktur data, efisiensi simulasi komputer dapat ditingkatkan secarasignifikan, khususnya saat simulasi mempunyai banyak kejadian terjadwalberikutnya.

6.4.1 Penambahan Waktu dalam Model Simulasi

Penambahan waktu dalam model simulasi harus diperhatikan. Dua sisi seringharus dihadapi dalam penambahan waktu model simulasi. Pertama, dalam banyakkasus, waktu (T) ditambah dengan selisih waktu (T+delta) tanpa ada kejadian selamainterval waktu (T,T+delta), menyebabkan pencarian kejadian selama interval waktumenjadi sia-sia. Kedua, akan terjadi kehilangan akurasijika kejadian dimungkinkanterjadi hanya pada waktu delta dan kelipatannya. Jika delta dinaikkan, permasahihanyang pertama akan dikurangi tetapi akan menyebabkan penurunan akurasi.Sebaliknya, ukuran delta dikurangi. Keakuratan akan lebih baik, tetapi frekuensipembaharuan (dan pencarian berurutan kejadian) meningkat, menyebabkankomputasi model tidak efisien.

Metode altematif untuk memperbaharui waktu (T) adalah dengan memeriksasemua kejadian di masa mendatang secara berurut dan memperbaharui T denganwaktu kejadian paling dulu terjadi. Dengan melangkah ke kejadian terjadwalterdekat, baik permasalahan pembaharuan yang tidak penting dan akurasi dapatdihilangkan, tapi logikanya akan lebih kompleks pada kebanyakan simulasikejadian-diskrit. Pelacakan kejadian adalah metode yang paling disukai dalampenambahan waktu dan merupakan metode paling banyak dilakukan dalam bahasasimulasi.

152

Page 39: Bab 6. Pengembangan Model

READ:K,T _FINAL;MEAN _CONNECT _TIME;MEAN _CALL_TIME;RANDOM_NUMBER_SEEDS

T=O;N=O;N _ CALLS=O;N _ CONNE

CT=O;CUM_ CONNECT _TIME=O;T_NEXT_CALL=F _NEXT_CALL;Set all ports idle

Panggilan pemakai

PRINT: CUM _CONNECT _TIME/T

; I-(CUM _CONNECT IN_CALLS)

Panggilan berakhit palla port (i)

N _ CALLS=N_ CALLS+ I;CUM_CONNECT_TIME=CUM_CONNECT_ TIME+(T_NEXT _CALL_ T)*N;T=T_NEXT-CALL;T_NEXT _CALL=T+F_NEXT_CALL

CUM_CONNECT_ TIME=CUM _CONNECT _TIME+(T _CALL_END(i)-T)*N.N=N-I.T=T CALL-

· END(i); set poin_sTATUs (i)menganggur

noes

N=N + I; cari port yang menganggur(i);T_CALL_END(i)=T+F _CONNECT_ TIME;CUM_ CONNECT=CUM._CONNECT+l

Gambar 6.12. Logika pemrogaman time-shared computer

153

Page 40: Bab 6. Pengembangan Model

6.4.2. Manajemen Kejadian :Daftar Terhubung

Kejadian dalarn sistem perIu disimpan sehingga mudah dieari, karena itumanajemen kejadian harus dilakukan dengan baik. Struktur data yang diperIukanuntuk tujuan ini dinarnakan daftar terhubung (Linked list). Dalarn model simulasi,kita harus memiliki metode penarnbahan dan penghapusan elemen ke/dari daftar.Jika elemen tersortir pertama dihilangkan, kepala (head) elemen baru akan menjadielemen yang akan ditunjukkan oleh kepala saat ini. Jika elemen baru ditarnbahkanke daftar, penunjuk daftar harus diubah untuk memasukkan elemen baru ke dalarnurutan terhubung. Penyisipan elemenbaru ke dalam daftarmemerIukan tiga operasi:1. Tempatkanelemen baru di lokasi yang sesuai.2. Atur ulang penunjuk elemen sebelumnya sehingga penunjuk sekarang

menunjuk elemen baru.3. atur penunjuk ke elemen baru sehingga penunjuk mengarah ke elemen yang

pendahulunya tadi ditunjuk.

Logika simulasi perIu diubah untuk memungkinkan metode baru dalampenempatan kejadian yang paling dekat (pemilihan elemen pada kepala daftar) danmenyisipkan kejadian mendatang ke dalam daftar terhubung.

6.5. ImplementasiAntrian dalam Model Simulasi

Jika kita mensimulasikan sistem dimana kedatangan dapat mengantri, menungguketersediaan fasilitas, mungkin akan diinginkan mengumpulkan informasi tentangpengalarnan kedatangan, seperti rata-rata, ragam dan kisaran waktu kedatangan.Ada beberapa metode untuk menangani informasi kedatangan:1. array tidak tersortir yang memuat prioritas pada setiap kedatangan.2. daftar terhubung dengan kedatangan tersortir sesuaidengan prioritas.3. array kedatangan tersortir sesuai dengan prioritas.

Metode pertarna mudah diimplementasikan tapi tidak efisien jika arraynyapanjang, karena penearian harus dilakukan terhadap semua array dengan tujuanuntuk meneari kedatangan berikutnya yang akan dilayani. Pendekatan yang keduasarna,menyimpan daftar untuk kejadian mendatang dan disortir sesuai dengan daftarterhubung, tetapi informasi kedatangan dihubungkan sesuai dengan prioritas setiapkedatangan. Kebanyakan simulasi menggunakan metode ini untuk antrian. '

154

Page 41: Bab 6. Pengembangan Model

6.5.1. Manajemen Memori dalam model Simulasi

Dalam kebanyakan model simulasi adalah sulit memprediksi jumlahmaksimum kejadian yang akan datang yang akan dijadwalkan, panjang maksimumsetiap antrian atau jumlah maksimum entitas (seperti pelanggan) yang akan hadir.Salah satu solusi untuk permasalahan ini adalah mengalokasikan memori besaruntuk daftar, antrian dan entitas dengan kemungkinan kecil memori kurang dariyangdibutuhkan dalam penjalanan simulasi. Tetapi tentu saja hal ini tidak diinginkan.Altematif lain adalah mengalokasikan memori sesuai dengan kebutuhan sewaktusimulasi dijalankan. Ketika satu elemen ditambahkan ke daftar, memori untuk itudialokasikan dari memori penyimpanan umum yang tidak digunakan. Dengan carasarna, ketika memori tidak dibutuhkan lagi, akan dikembalikan ke memoripenyimpanan umum untuk tujuan penggunaan di masa mendatang. Dengan caraseperti ini, memori tidak dikhususkan untuk penggunaan tertentu, tetapi dapatdialokasikan sesuai dengan kebutuhan.

Struktur data yang memungkinkan pengalokasian dan penarikan kembaliadalah stack. Stack adalah lokasi memori terhubung bersama dimana urutan yangterakhir masuk akan menjadi yang pertama keluar. Awalnya,stack memuat sejumlahL elemen dimana elemen 2 menunjuk ke elemen 1,elemen 3 menunjuk ke elemen 2,dan seterusnya. Variabel yang disebut penunjuk stack diatur ke elemen terakhirdalam daftar. Awalnya, penunjuk stack diatur ke L, atau menunjuk ke elementerakhir dalam daftar yang pada gilirannya akan menunjuk ke elemen L-l, danseterusnya.

Menghilangkan elemen dari stack biasanya disebut denganpopping stack danpenambahan elemen ke stack umumnya disebut dengan pushing stack. Ketikasebuah elemen dibutuhkan untuk penjadwalan kejadian masa mendatang, elemen Ldipilih dan penunjuk stack diatur ke nilai elemen itu. Untuk mengembalikan elemenke stack setelah kejadian dijalankan, kita hanya membutuhkan himpunan nilaielemen dikembalikan ke nilai penunjuk stack dan kemudian diatur penunjuk stack keindeks elemen yang sedang dikembalikan.

155

--

Page 42: Bab 6. Pengembangan Model

Daftar Pustaka

1. Hoover, Stewart V. Dan Perry, Ronald F. Simulation: A Problem SolvingApproach. Addison-WesleyPublishing-Company, Massachusetts. 1989.

2. Banks, Jerry, Carson II, J. Dan Nelson, B.L. Discrete-Event SystemSimulation. Prentice-Hall International, Inc., London. 1984.

3. Law, Averill M. Dan Kelton, David W. Simulation Modeling and Analysis.McGraw-Hill Inc., Singapore. 1991.

4. Pegden, C. Dennis, Shannon, Robert E. Dan Sadowski, Randall P.Introduction to Simulation Using SIMAN. McGraw-Hill, Inc., Singapore.1995.

156