• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI. 2.1 Simulasi. II.1.1 Pengertian Simulasi II-1

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II DASAR TEORI. 2.1 Simulasi. II.1.1 Pengertian Simulasi II-1"

Copied!
14
0
0

Teks penuh

(1)

II-1

DASAR TEORI

Bab dasar teori ini akan dijabarkan teori-teori yang mendasari serta mendukung pelaksanaan tugas akhir. Diantaranya adalah teori tentang simulasi, discrete system simulation, dan sistematika dari GPSS.

2.1 Simulasi

II.1.1 Pengertian Simulasi

Secara umum simulasi adalah sebuah teknik menirukan suatu kejadian (event) dalam skala yang lebih kecil dengan tidak sedikit pun menyentuh kejadian yang sebenarnya (real system). Simulasi dilakukan dengan menggunakan model yang bekerja menyerupai real system dan diharapkan semirip mungkin dengan real system sekaligus sederhana dalam pengertian dapat direalisasikan dan dipahami. Dengan demikian, hasil perhitungan analitik akan menghasilkan hasil yang lebih akurat jika dibandingkan dengan simulasi. Akan tetapi, ada banyak kejadian yang tidak memungkinkan untuk dilaksanakannya perhitungan analitik. Untuk kejadian-kejadian seperti itulah simulasi dibuat dengan harapan hasil dari simulasi dapat mendekati hasil dari kejadian sebenarnya.

Untuk membuat suatu model simulasi, dibutuhkan beberapa asumsi mengenai bagaimana real system itu bekerja, sehingga dapat disederhanakan. Dengan demikian model yang dibuat menjadi lebih sederhana dan lebih mudah direalisasikan.

Dalam simulasi, perubahan-perubahan yang terjadi dan segala kejadian yang muncul (biasanya disebut dengan state) biasanya dikaitkan dengan waktu. Perubahan waktu ini dapat direpresentasikan dengan dua cara : diskrit (discrete) dan kontinu (continuous). Discrete system simulation mengalami perubahan bedasarkan kejadian-kejadian yang muncul secara diskrit terhadap waktu. Sedangkan continuous system simulation memiliki representasi waktu yang kontinu. Bab ini hanya akan membahas discrete system simulation, karena GPSS yang merupakan kajian utama tugas akhir ini merupakan simulasi diskrit (discrete system simulation).

(2)

II.1.2 Discrete System Simulation (Simulasi Diskrit)

Simulasi diskrit digunakan untuk model-model diskrit, yaitu model yang variabel state-nya berubah secara diskrit terhadap waktu. Dengan demikian, event-event (kejadian) yang muncul dapat didaftar dan interval waktu simulasi konstan (tetap). Ada dua macam metode yang digunakan dalam pemajuan waktu dalam simulasi diskrit, yaitu : next-event time advanced

dan fixed-increment time advanced.

Gambar II-1 model waktu diskrit

next-event time advanced adalah pemajuan waktu simulasi dengan cara waktu simulasi langsung dimajukan ke event selanjutnya dan event dijalankan sampai selesai kemudian maju lagi ke event berikutnya dan begitu seterusnya. Sedangkan fixed-increment time advanced

adalah pemajuan waktu dilakukan dalam interval tetap dan jika pada waktu ke-n terdapat event, maka event tersebut dijalankan. Sampai saat ini, next-event time advanced lebih sering digunakan dalam simulasi diskrit.

II.1.3 Bilangan Random

Dalam simulasi, terkadang dibutuhkan pemunculan bilangan random. Hal ini disebabkan oleh kejadian yang ingin disimulasikan bukanlah sesuatu yang pasti, tetapi terdapat beberapa kemungkinan alternatif kejadian dengan peluang kemunculan yang berbeda-beda. Dalam pembangkitan bilangan random, seluruh alternatif kejadian dianggap memiliki peluang yang sama, jadi jika ada beberapa alternatif kejadian yang memiliki peluang berbeda, maka dibuat beberapa alternatif kejadian yang sama sehingga probabilitas semua alternatif kejadian itu sama. Misalnya ada suatu alternatif kejadian a dengan peluang kemunculan 80% dan alternatif kejadian b 20%, maka akan dibuat lima buah alternatif kejadian dengan peluang masing-masing alternatif kejadian 20% di mana empat dari lima alternatif kejadian ini adalah alternatif kejadian a.

(3)

Pada dasarnya, bilangan random yang dibangkitkan hanyalah diantara 0 dan 1 yang kemudian dikalikan dengan N, yang merupakan jumlah alternatif yang ada. Hasilnya kemudian dimunculkan sebagai bilangan random.

Masalah yang ada adalah komputer tidak bisa secara otomatis menghasilkan bilangan random. Untuk itu, generator bilangan random dibuat. Secara umum, deskripsi generator bilangan random adalah sebuah fungsi yang mengambil seed dan kemudian mengkomputasinya dengan menggunakan sebuah algoritma dan hasilnya dinyatakan sebagai bilangan random. Seed ini merupakan sebuah list yang berisi banyak bilangan dan setiap kali di-generate, seed yang digunakan adalah seed yang terdapat pada list setelah yang terakhir kali digunakan.

2.2 General Purpose System Simulation (GPSS)

II.2.1 Pengertian GPSS

General Purpose System Simulation atau disingkat GPSS merupakan sebuah bahasa untuk simulasi diskrit yang dipublikasikan oleh IBM pada tahun 1961. Sistem yang disimulasikan dalam GPSS dideskripsikan sebagai blok yang di dalam masing-masing blok terdapat aktifitas masing-masing (seperti sebuah fungsi). Blok ini dihubungkan dengan garis penghubung yang menandakan aktifitas selanjutnya yang dapat dijalankan. Blok yang saling berhubungan ini akan membentuk suatu jaringan.

Dalam simulasi, terdapat entitas yang bergerak melalui sistem yang disimulasikan yang bergantung terhadap sifat nyata dari sistem. Contohnya adalah pergerakan pesan dalam sistem komunikasi. Entitas ini, dalam simulasi disebut transaksi.

Aktifasi sebuah blok dan eksekusi instruksi dalam GPSS disebabkan oleh kedatangan transaksi yang masuk ke dalam blok tersebut. Hal ini berlaku untuk semua blok dan transaksi kecuali pada transaksi pertama, di mana transaksi dibuat oleh blok GENERATE. Secara umum, GPSS harus membuat sebuah transaksi sebelum model dapat dijalankan. Pergerakan transaksi ini dalam antar blok diatur secara otomatis oleh simulator. Transaksi ini akan dihancurkan dalam blok TERMINATE dan referensi yang mengarah pada transaksi tersebut akan dibuang dari model.

(4)

Blok GENERATE dan TERMINATE yang digunakan untuk membuat dan manghancurkan transaksi dapat digunakan lebih dari satu. GPSS memperbolehkan banyak transaksi berjalan secara simultan dalam blok diagram.

GPSS mengenal dua buah waktu, yaitu absolute clock dan relative clock. Absolute clock

adalah waktu keseluruhan dari pertama kali berjalan hingga berhenti. Sedangkan relative clock adalah waktu untuk penjalanan simulasi yang sedang berjalan saat ini. Karena GPSS mengenal control statement (akan dibahas pada sub bab setelah ini) Clear, maka relative clock tidak selalu sama dengan absolute clock. Jika tidak terdapat ’Clear’, maka relative clock

akan bernilai sama dengan absolute clock.

II.2.2 Operasi-operasi dalam GPSS

Setiap blok yang ada pada blok diagram memiliki nomor identifikasi yang disebut dengan lokasi. Pergerakan transaksi biasanya terjadi dari satu blok ke blok yang lokasinya tertinggi berikutnya. Ketika program dibuat, blok yang ada diurutkan dalam sequential order. Semua blok yang ada dalam GPSS akan dijelaskan dalam tabel 2.1.

Setiap blok dalam GPSS memiliki sejumlah data field, yang akan dinamakan field A, field B,

field C, dan seterusnya sesuai dengan jumlah data field yang dimiliki. Data field dalam setiap blok memiliki fungsi yang berbeda-beda dan dalam penulisannya dipisahkankan dengan koma (,).

Dalam GPSS, penulisan yang berlaku untuk setiap barisnya adalah lokasi, operasi (blok), data field dan komentar. Komentar tidaklah diproses, jadi penulisan yang diproses hanyalah lokasi, operasi dan data field. Lokasi hanya dicantumkan apabila dibutuhkan. Jika tidak, maka lokasi ini dikosongkan.

GPSS memiliki dua buah entitas permanen, yaitu : facility dan storage. Facility adalah entitas yang hanya dapat digunakan hanya oleh satu transaksi pada waktu bersamaan ,sedangkan

storage adalah entitas yang dapat digunakan oleh beberapa transaksi secara bersamaan pada suatu waktu. Jumlah transaksi yang dapat ditampung dalam suatu storage terbatas.

Dalam GPSS, ada beberapa blok yang tujuannya adalah untuk mengumpulkan data mengenai performa sistem. Beberapa di antaranya adalah : Queue, Depart, Mark dan Tabulate.

(5)

Setiap transaksi dalam GPSS memiliki prioritas masing-masing. Nilai awal prioritas suatu transaksi didapat dari field E pada blok Generate, dan dapat berubah selama proses berlangsung dengan menggunakan blok Priority. Jika field E kosong, maka nilai prioritas diset 0 (nol). Nilai prioritas ini berselang antara 0..127 dengan 0 sebagai prioritas terendah.

Selain memiliki nilai prioritas, transaksi juga memiliki parameter yang berupa data numerik. Notasi yang digunakan parameter ini adalah Pxn, dengan n sebagai nomor parameter dan x adalah tipenya. Tipe yang dapat digunakan ada 4 : F untuk fullword, H untuk halfword, B untuk byte sized, dan L untuk floating point. Pada saat sebuah transaksi dibuat pada blok Generate, seluruh nilai parameter di set 0 (nol).

Atribut dari entitas-entitas yang ada pada sistem disebut dengan standard numerical attributes

(SNA). Setiap SNA dikenali dengan satu atau dua buah huruf dan sebuah angka. Contohnya : S5 menandakan isi dari Storage yang diidentifikasi dengan 5, Q15 menandakan panjang

queue pada queue beridentifikasi 15. Program mempebolehkan entitas direpresentasikan dengan nama simbolik. Jika nama simbolik digunakan, maka referensi ke entitas dalam SNA harus menggunakan nama yang diawali dengan $. Contoh : sebuah storage bernama BSKT akan dinamakan S$BSKT. [GOR 89]

Selain facility dan storage, GPSS mengenal entitas ketiga, yaitu logic switch. Logic switch ini digunakan untuk merepresentasikan kondisi dua keadaan pada sistem. Setiap switch punya dua kemungkinan, on atau off dan blok Logic digunakan untuk mengganti keadaan switch.

Tabel II-1 Operasi Blok yang Terdapat dalam GPSS

Operasi (Blok) Fungsi Data Field Keterangan Generate Menghasilkan transaksi

secara terus menerus selama simulasi berlangsung A : mean. B : modifier. C* : waktu kedatangan pertama D* : batas maksimum transaksi yang

di-generate di blok ini. E* : prioritas transaksi. F,G,H,I* : parameter. Terminate Menghancurkan

transaksi yang masuk ke blok ini

A* : unit yang menambah jumlah transaksi yang dihancurkan.

Jumlah unit yang masuk akan ditambah sesuai dengan nilai pada field A Advance Membuat transaksi

yang masuk menunggu beberapa saat sebelum diteruskan

A : mean. B : modifier.

(6)

Operasi (Blok) Fungsi Data Field Keterangan Transfer Membagi transaksi ke

dalam dua kemungkinan blok yang berbeda A : probabilitas ke blok dalam field C. B : blok a selanjutnya. C : blok b selanjutnya. Seize Membuat sebuah

transaksi menggunakan

facility, bila idle

A : identitas facility. Facility yang diikat

seize dilepaskan dengan operasi release

Release Melepaskan sebuah transaksi dari facility

A : identitas facility. Release hanya dapat digunakan bila facility

sudah diikat seize

Enter Membuat sebuah transaksi menggunakan

storage, bila masih memungkinkan

A : identitas storage. B* : jumlah unit

Storage yang diisi dengan enter dan dikosongkan dengan

leave Leave Melepaskan sebuah

transaksi dari storage

dan meninggalkan ruang kosong

A : identitas storage. B* : jumlah unit

Leave hanya dapat digunakan bila storage

tidak kosong

Queue Menambahkan transaksi yang akan menunggu (wait) untuk diproses ke dalam

queue

A : identitas queue.

B* : Jumlah unit dalam

queue yang berubah setiap transaksi masuk ke blok ini (default : 1). Depart Mengurangi transaksi

yang menunggu dari

queue

A : identitas queue.

B* : Jumlah unit dalam

queue yang berubah setiap transaksi masuk ke blok ini (default : 1). Mark Menandai waktu

kedatangan sebuah transaksi untuk kemudian dihitung dengan Tabulate A* : identitas parameter. Tabulate menghitung jarak waktu antara

Tabulate dan Mark

Tabulate Mengurangi waktu kedatangan transaksi di blok Tabulate dengan waktu kedatangan di Mark (dikenal dengan nama waktu transit), kemudian dimasukan ke dalam tabel

A : identitas table. B* : jumlah unit.

Jika sebuah transaksi masuk ke dalam blok

Tabulate tanpa melalui

Mark, maka yang digunakan sebagai waktu Mark adalah waktu transaksi tersebut dibuat Priority Mengubah nilai

prioritas dari sebuah transaksi (0..127)

A : nilai prioritas yang baru.

Assign Memberikan nilai pada parameter sebuah transaksi A : identitas parameter dan simbol. B : nilai paramater. C : tipe parameter (F, H, B, L). Atau :

Simbol yang dimaksud pada field A adalah tanda + / - / tanpa simbol. + berarti nilai ditmbahkan, - berarti nilai dikurangkan dan

(7)

Operasi (Blok) Fungsi Data Field Keterangan A : identitas parameter dan simbol. B : mean (bentuknya fungsi). C* : modifier

(bentuknya fungsi dan ditulis identitas fungsi). D : tipe parameter.

tanpa simbol berarti parameter ditukar (ditimpa). Bentuk kedua digunakan jika nilai yang di-assign akan digunakan kemudian sebagai action time

Savevalue Menyimpan nilai yang dihasilkan untuk digunakan kemudian A : identitas savevalue B : SNA C* : simbol yang menyatakan tipe (seperti tipe parameter, tetapi diberi simbol X di depannya)

SNA yang

menyatakan savevalue diidentifikasi dengan Xxn, di mana n adalah lokasi dan x adalah tipe savevalue

Logic (S,R,I) Mengganti keadaan

logic switch

A : identitas switch Salah satu dari S,R atau I ditulis di belakang Logic. S untuk set, R untuk

reset, I untuk invert

Gate (LS, LR, U, NU, SF, SNF, SE, SNE)

Mengetes kondisi dari

facility, storage atau

logic switch pada blok diagram

A : identitas entitas yang diuji

B* : alternatif blok, jika ada

Jika kondisi yang diminta terpenuhi, maka transaksi akan masuk ke blok Gate. Test (G, GE,

E, NE, LE, L)

Mengetes berbagai hubungan antara dua SNA

A : identitas entitas A B : identitas entitas B C* : alternatif blok, jika ada

Jika kondisi terpenuhi, maka transaksi masuk ke dalam blok Test

Link Memasukan transaksi ke dalam chain A : identitas chain B : aturan pengaksesan (FIFO/LIFO) C* : Alternatif blok tujuan

Chain yang digunakan dapat diakses dengan dua cara : FIFO atau LIFO. Jika field B berisi Pxn, maka transaksi diurutkan membesar dengan parameter n. Jika terdapat nilai yang sama, diberlakukan FIFO

Unlink Memperbolehkan sebuah transaksi (di luar chain) untuk mengeluarkan transaksi dari chain. A : identitas chain B : blok tujuan transaksi yang dikeluarkan C : jumlah transaksi yang dikeluarkan D* : nilai dari parameter yang diperiksa

E* : nilai yang harus dimiliki parameter untuk dikeluarkan dari

chain.

(8)

Operasi (Blok) Fungsi Data Field Keterangan tidak ada transaksi yang

dikeluarkan dari chain. Join Memasukan transaksi

ke dalam group.

A : identitas group

B* : jika ada, maka berisi nilai yang dimasukkan

Group dalam GPSS merupakan satu kesatuan kelompok yang anggotanya dapat bergerak bebas dan disimpan dalam bentuk FIFO Remove (G, GE, E, NE, L, LE, MIN, MAX) Mengeluarkan transaksi dari group A : identitas group. B* : jumlah transaksi yang dikeluarkan C* : nilai yang dikeluarkan, jika ada D* : parameter E* : SNA yang dibandingkan (jika digunakan pembandingan) F* : Alternatif blok Karakter di belakang

remove hanya dipakai untuk

membandingkan, tidak harus disertakan.

Examine Mengecek keanggotaan suatu group

A : identitas group. B* : nilai yang dicek C* : alternatif blok Scan(G, GE,

L, LE, E, NE, MIN, MAX)

Melihat apakah ada anggota group yang sesuai dengan kriteria

A : identitas group. B : parameter atau

priority (PR) C* : SNA yang dibandingkan (jika dipakai MIN atau MAX, maka kosong) D* : parameter atau

priority (PR)

E* : identitas parameter transaksi yang menjadi tempat menampung nilai yang dihasilkan F* : Alternatif blok

Field B berisi parameter dari transaksi yang masuk, sedangkan field D berisi parameter yang diinginkan.

Jika field D dan E digunakan, maka field ini akan menghasilkan ekstraksi dari atribut dari transaksi

Alter(G, GE, L, LE, E, NE, MIN, MAX)

Mengganti nilai parameter atau priority

dari anggota group

A : identitas group. B : jumlah yang diubah C : nilai parameter atau

priority yang ingin diubah

D : nilai baru E* : nilai parameter F* : SNA pembanding G* : alternatif blok

Field B dan F kosong jika digunakan MIN atau MAX.

Jika field E dan F digunakan , maka field

ini memilih transaksi mana yang akan dicari

Split Membuat beberapa salinan dari transaksi.

Salinan dan transaksi yang asli kemudian masuk ke blok yang berbeda

A : jumlah salinan yang dibuat

B : lokasi blok tujuan transaksi salinan C* : parameter yang memberi nomor seri pada transaksi asli dan

Transaksi asli melanjutkan ke blok selanjutnya, transaksi salinan masuk ke dalam lokasi yang ada pada field B.

(9)

Operasi (Blok) Fungsi Data Field Keterangan salinan

D,E,F,G* : parameter

transaksi saling dalam himpunan assembly

Match Mengsinkronisasi gerakan dari pasangan transaksi yang terdapat dalam himpunan

assembly yang sama

A : identitas blok konjugasi

Match membuat dua transaksi yang memiliki himpnan

assembly yang sama untuk saling

menunggu. Saat keduanya berada pada posisi, maka kedua transaksi tersebut siap diproses.

Gather Mengumpulkan sejumlah anggota

assembly yang sama sebelum diijinkan diproses

A : Jumlah anggota yang harus

dikumpulkan

Assemble Sama seperti gather, tetapi seluruh transaksi yang masuk

dihancurkan kecuali yang pertama masuk.

A : Jumlah anggota yang harus

dikumpulkan

Assemble menjadikan beberapa transaksi yang sama menjadi satu transaksi saja.

* : field boleh dikosongkan

Pada blok Logic, Gate dan Test terdapat satu atau dua huruf yang mengikuti blok. Pada blok Logic, sudah dicantumkan artinya, tetapi yang lainnya akan dijelaskan sebagai berikut :

o LS n Logic switch n set o LR n Logic switch n reset

o U n Facility n sedang digunakan (use)

o NU n Facility n tidak digunakan (not use)

o SF n Storage n penuh (full)

o SNF n Storage n tidak penuh (not full)

o SE n Storage n kosong (empty)

o SNE n Storage n tidak kosong (not empty)

o G n Lebih besar dari (greater than)

o GE n Lebih besar dari atau sama dengan (greater than or equal)

o E n Sama dengan (equal)

o NE n Tidak sama dengan (not equal)

o LE n Lebih kecil dari atau sama dengan (less than or equal)

o L n Lebih kecil dari (less than)

Blok dalam GPSS yang disebutkan dalam tabel II-1 dapat direpresentasikan dengan simbol – simbol yang terdapat dalam gambar II-2. Simbol – simbol ini dapat dibentuk menjadi sebuah diagram blok, di mana blok merepresentasikan aktivitas sebuah blok dan garis yang

(10)

menghubungkan antar blok menandakan urutan blok – blok tersebut dieksekusi atau dijalankan. Jika terjadi pemecahan jalan (pilihan), maka akan ada lebih dari satu garis yang keluar dari sebuah blok dan kondisi pemilihan dituliskan dalam blok.

Gambar II-2 Simbol blok diagram dalam GPSS

Khusus pada blok transfer, simbol blok yang digambarkan tergantung pada jenis atau mode transfer yang digunakan. Untuk keterangan mengenai jenis pada blok transfer ini dapat terlihat pada tabel II-3. Bentuk dasar dari simbol blok transfer dapat dilihat pada gambar II-2 di atas.

Selain blok, GPSS juga mengenal control statement. Control statement ini biasanya terdapat setelah sekumpulan blok atau di akhir program. Fungsi dari control statement ini adalah untuk mendeklarasikan entitas yang digunakan dalam program dan juga perintah eksekusi program (seperti SIMULATE).

(11)

Penulisan control statement ini mirip dengan penulisan blok. Beberapa blok yang memerlukan entitas, membuat entitasnya melalui control statement ini. Blok yang menggunakan satu entitas untuk satu transaksi seperti SEIZE, tidak memerlukan control statement.

Tabel II-2 Control Statement yang terdapat dalam GPSS

Control Statement Fungsi Data field Keterangan Simulate Mengeksekusi

program

Start Menjalankan program secara penuh, dan bila

telah selesai, simulasi dapat dijalankan kembali dengan menambahkan control statement ini A : Jumlah unit yang diproduksi B* : NP jika ingin menghapus penjalanan sebelumnya; jika tidak maka dikosongkan Reset Membersihkan semua

statistik yang telah didapat, namun sistem masih dipenuhi dengan transaksi

Relative clock di reset, tetapi absolute clock tidak.

Clear membersihkan semua statistik yang didapat,

termasuk menghapus semua transaksi yang ada

Walaupun clear

membersihkan semuanya, seed dari bilangan random tidak di reset. Jadi, bilangan random yang digunakan berbeda dengan penjalanan sebelumnya Job memerintahkan program menghapus seluruh model sebelum perintah ini dan menjalankan model yang terdapat setelahnya

Job mereset seed dari bilangan random

End meng-terminate

seluruh transaksi yang ada

Storage menentukan batas maksimum kapasitas

transaksi yang dapat ditampung

A : kapasitas dari

storage

Storage ini diisi dengan operasi enter dan dikosongkan dengan operasi leave

(12)

Control Statement Fungsi Data field Keterangan Table menghitung jumlah

yang ditabulasikan A : jumlah yang ditabulasi B : berisi batas bawah table C : ukuran interval tabulasi D : jumlah interval Variable perhitungan aritmatika sederhana Variable ini menggunakan SNA dan operator aritmatika seperti + untuk tambah, - untuk kurang, * untuk kali, / untuk bagi dan @ untuk modulo. Jika yang dihitung adalah nilai

float, maka

digunakan FVariable yang fungsinya sama dengan Variable. Jika boolean, maka digunakan BVariable Initial memberi nilai awal

pada savevalue dan menginisialisasinya

A : notasi Xxn (lihat tabel 2.1)

B : nilai awal Function membuat fungsi linier

dari sekumpulan pasangan x dan y

A : SNA yang akan diinput

B : Cn bila fungsi continuous atau Dn bila Discontinuous dengan n sebagai jumlah titik yang ada pada fungsi

Fungsi yang dikenal ada dua buah,

continuous dan

discontinuous.

Continuous akan membuat program berinterpolasi antara titik-titik yang ada sedangkan

discontinuous akan membuat fungsi menyerupai anak tangga

* : field boleh dikosongkan

Blok transfer memiliki sedikit perbedaan jika dibandingkan dengan blok lainnya pada GPSS. Perbedaan itu adalah blok transfer memiliki beberapa mode yang dapat dipilih. Mode-mode tersebut adalah : unconditional, random, conditional, parameter dan function. Perbedaan mode-mode ini dapat terlihat jelas pada tabel II-3 di bawah. Dengan adanya beberapa mode ini, maka user dapat memilih mode blok transfer yang paling sesuai dengan model yang ingin dibuat.

(13)

Tabel II-3 Mode Blok Transfer pada GPSS

Mode Field A Field B Field C

Unconditional Blok a selanjutnya

Random .xxx (0..1) Blok a selanjutnya Blok b selanjutnya

Conditional BOTH Blok a selanjutnya Blok b selanjutnya

Parameter Px Identitas parameter Nilai pertambahan

Function FN Identitas fungsi Nilai pertambahan

II.2.3 Fungsionalitas GPSS

GPSS dapat digunakan untuk mensimulasikan beberapa model seperti simulasi sebuah supermarket atau simulasi sistem telepon sederhana. Sebagai dasar, berikut akan diberikan contoh simulasi sebuah manufacturing shop sederhana dalam bahasa GPSS yang diambil dari [GOR89].

Sebuah mesin pada manufacturing shop membuat sebuah parts setiap 5 menit. Setelah selesai, parts ini akan diperikasa oleh tiga orang inspektor yang masing-masing inspektor memerlukan waktu 3 – 21 menit (12 +- 9 dalam bahasa GPSS) untuk memeriksa sebuah

parts. Inspektor-inspektor ini memiliki kecenderungan 10% untuk menyatakan parts yang diperiksanya ditolak (reject) atau dengan kata lain tidak memenuhi syarat.

Contoh kasus ini dapat dibuat menjadi blok diagram yang terlihat dalam gambar II-3. Pertama-tama, parts yang akan dibuat di-generate dalam blok GENERATE dengan mean 5 dan modifier 0 (lihat tabel II-1), kemudian parts masuk ke dalam tiga inspektor yang dilambangkan dengan blok ENTER berlokasi (identitas STORAGE) 1 yang berkapasitas 3. Setelah mendapatkan satu dari tiga inspektor (keluar dari blok ENTER), maka parts akan masuk ke dalam lamanya pemeriksaan yang dilakukan oleh inspektor atau dilambangkan dengan blok ADVANCE pada blok diagram dengan mean 12 dan modifier 9. Setelah selesai diperiksa, maka parts akan meninggalkan inspektor yang dilambangkan dengan blok LEAVE dengan identitas 1. Parts yang telah meninggalkan inspektor akan memilih jalan diterima atau ditolak yang dilambangkan dengan blok TRANSFER mode random (lihat tabel II-3) dengan probabilitas 0.1 ditolak. Parts yang diterima masuk ke garis ACC (kemungkinan 0.9), sedangkan yang ditolak, ke garis REJ (kemungkinan 0.1) yang kemudian masing – masing masuk ke dalam blok TERMINATE yang menandakan parts tersebut telah selesai melakukan tugasnya (dengan kata lain akhir dari simulasi sebuah parts).

(14)

Gambar II-3 Blok diagram contoh kasus 5,0 12,9 GENERATE ENTER ADVANCE 1 LEAVE 0,1 TRANSFER 1 1 TERMINATE ACC REJ 1

Contoh kasus tersebut di atas dapat diterjemahkan ke dalam bahasa GPSS sebagai berikut :

GENERATE 5 membuat parts

ENTER 1 mendapatkan seorang inspektor

ADVANCE 12,9 waktu lamanya inspeksi

LEAVE 1 membebaskan inspektor

TRANSFER .1,ACC,REJ memilih parts diterima atau ditolak

ACC TERMINATE 1 parts diterima

REJ TERMINATE 1 parts dtolak

1 STORAGE 3 jumlah inspektor

START 1000 jumlah parts yang dibuat

Hasil keluaran dari GPSS atau hasil simulasi terhadap masukan diatas adalah sebagai berikut :

RELATIVE CLOCK 5355 ABSOLUTE CLOCK 5355 BLOCK COUNTS

BLOCK CURRENT TOTAL

1 1 1003 2 0 1002 3 2 1002 4 0 1000 5 0 1000 6 0 893 7 0 107 STORAGES

STORAGE CAPACITY AVR CONTENTS ENTRIES AVR TIME/ UNIT AVR TOTAL TIME AVAIL TIME CURRENT CONTENTS MAXIMUM CONTENTS 1 3 2.256 1002 12.059 .752 2 3

Gambar

Gambar II-1 model waktu diskrit
Tabel II-1 Operasi Blok yang Terdapat dalam GPSS
Gambar II-2 Simbol blok diagram dalam GPSS
Tabel II-2 Control Statement yang terdapat dalam GPSS
+3

Referensi

Dokumen terkait

Berdasarkan tabel di atas, terdapat campur kode pada Tajwid Nazom Batu Ngompal yang merupakan campuran kode kata-kata berupa campur kode kata benda sebanyak tujuh

Penilaian anak jalanan terhadap pelayanan Rumah Singgah Bina Anak Pertiwi ternyata tidak berhubungan dengan usia anak jalanan, tingkat pendidikan, jenis pekerjaan,

Berdasarkan uraian diatas, maka peneliti tertarik unutuk meneliti lebih lanjut tentang bagaimana penerapan peraturan daerah tentang retribusi mendirikan bangunan di

Sistem yang dirancang selanjutnya akan diuji coba menggunakan simulator berdasarkan skenario pengujian yang telah dirancang agar sistem yang dibuat dapat berjalan sesuai dengan

Menurut UU No. Berhubungan darah dalam garis keturunan lurus ke bawah atau ke atas; Misalnya, antara anak perempuan/laki-laki dan bapak/ibu, antara cucu laki-laki/perempuan

Penelitian mengenai makna Hinamatsuri di zaman sekarang akan penulis.. uraikan dalam penelitian yang berjudul “Makna Hinamatsuri di

Semua kelas ini dirancang untuk memberikan penjelasan lebih mendalam tentang hal-hal penting yang perlu anda pelajari dalam Kekristenan: siapa itu Tuhan Yesus, bagaimana

Sesuai terbuka yang telah dikembangkan oleh Kim dengan teori Theory of Correspondent (2008) dan kemudian disusun kembali oleh Inference - Jones dan Davis,