6. Timimg routine: Sebuah subprogram yang menentukan event selanjutnya dari event list.
7. Event routine. Sebuah subprogram yang mengapdute state sistem ketika tipe khusus pada terjadinya event.
8. Library routines. Kumpulan subprogram yang digunakan untuk
membangkitkan observasi random dari distribusi probabilitas yang mana ditentukan sebagai bagian dari model simulasi.
9. Report Generator. Sebuah subprogram yang menghitung estimasi dari statistical counters
pada ukuran yang diharapkan pada bentuk dan hasil laporan ketika simulasi berakhir.
10. Main program. Sebuah subprogram yang membangkitkan kembali timing routine
untuk menentukan event selanjutnya dan kemudian mentransferkan kontrol ke event routine yang berkaitan untuk mengupdate sistem state yang
tersedia. Main program bisa juga untuk mengecek pada akhir program dan membangkitkan kembali report generator ketika simulasi telah selesai.
2.9.7 Souce Kode Visual Basic 2010
Program Ugha Cement RF 68 adalah salah satu program untuk menghitung waktu aktual pemuatan semen di unit terminal pengantongan semen dengan
menggunakan Visual Basic 2010. Adapun langkah-langkah menyusun program Ugha Cement RF 68 adalah
sebagai berikut:
Universitas Sumatera Utara
1. Menentukan waktu efektif pemuatan semen ke truk dengan asumsi kecepatan rata-rata rotary parker permenit.
Private Sub btnWaktuMuat_Click sender As System.Object, e As
System.EventArgs If IsNumeric
txtKecRataRata.Text And txtKecRataRata.Text vbNullString Then
If cbTruk.Text = Colt Then txtWaktu.Text = 250 txtKecRataRata.Text
ElseIf cbTruk.Text = Engkel Then
txtWaktu.Text = 400 txtKecRataRata.Text ElseIf cbTruk.Text = Tronton Then
txtWaktu.Text = 600 txtKecRataRata.Text ElseIf cbTruk.Text = Intercooler Then
txtWaktu.Text = 700 txtKecRataRata.Text Else
MsgBoxInput tidak di kenal End If
Else MsgBox
Harap masukkan Angka End If
2. Jumlah hari kerja dan jumlah quota perbulan dan perhari. Private Sub
cboHarikerja_SelectedIndexChangedsender As System.Object, e As System.EventArgs
Universitas Sumatera Utara
txtQuota.Text = 32500
If cboHarikerja.Text vbNullString And txtQuota.Text vbNullString
And cboSak1.Text vbNullString Then calc
End If Private Sub txtQuota_TextChangedsender As System.Object, e As
System.EventArgs If
cboHarikerja.Text vbNullString And txtQuota.Text vbNullString And cboSak1.Text vbNullString Then
calc End If
3. Jumlah waktu normal Private Sub
btWaktuNormal_Click_1sender As System.Object, e As System.EventArgs Handles bt
WaktuNormal. Click Dim jam As Double
If IsNumerictxtTotBag.Text And txtTotBag.Text vbNullString And IsNumerictxtKec
RataRata.Text And txtKecRataRata.Text vbNullString And IsNumerictxtJRP.Text And txtJRP.Text vbNullString Then
txtWN.Text=Math.RoundValtxtTotBag.Text Val
txtKecRataRata.Text ValtxtJRP.Text, 2 jam = ValtxtWN.Text 60
txtJam.Text = Math.Roundjam, 2 If Valtxt
Jam.Text 8 Then
Universitas Sumatera Utara
lblSum.Text = Pemuatan dapat di selesaikan dalam 1 shift ElseIf Val
txtJam.Text 8 And ValtxtJam.Text = 16 Then lblSum.Text
= Pemuatan dapat di selesaikan dalam 2 shift ElseIf ValtxtJam.Text 16 And ValtxtJam.Text = 24 Then
lblSum.Text = Pemuatan dapat di selesaikan dalam 3 shift ElseIf ValtxtJam.Text 24 Then
lblSum.Text = Pemuatan dapat di selesaikan lebih dari 3 shift
Else lblSum.Text
= Maaf, terjadi kesalahan, harap periksa data yang diinputkan
End If Else
MsgBoxInput tidak di kenal End If
End Sub 4. Lama waktu manuver truk, jumlah truk dan waktu aktual
Private Sub btnWaktuMuat_Click_2sender As System.Object, e As
System.EventArgs Handles btnWaktuMuat.Click
If IsNumerict xtKecRataRata.Text And txtKecRataRata.Text
vbNullString Then If cbTruk.Text = Colt Then
txtWaktu.Text = Math.Round250 txtKecRataRata.Text, 2 ElseIf cb
Truk.Text = Engkel Then
Universitas Sumatera Utara
txtWaktu.Text = Math.Round400 txtKecRataRata.Text, 2 ElseIf cbTruk.Text = Tronton Then
txtWaktu.Text = Math.Round600 txtKecRataRata.Text, 2 ElseIf
cbTruk.Text = Intercooler Then txtWaktu.Text = Math.Round700 txtKecRataRata.Text, 2
Else MsgBox
Input tidak di kenal End If
Else MsgBoxInput tidak lengkap
End If Private Sub btnWA2_Clicksender As System.Object, e As System.EventArgs
Handles btnWA2.Click If IsNumerictxtmanuver2.Text And txtmanuver2.Text vbNullString
And IsNumerictxtjmltruk2.Text And txtjmltruk2.Text vbNullString Then
Dim wa, a, b, c As Double a = Valtxtmanuver2.Text Valtxtjmltruk2.Text
b = Valtxtmanuver2.Text ValtxtJRP.Text c = ValtxtTotBag.Text ValtxtKecRataRata.Text ValtxtWN.Text
wa = c + a - b ValtxtJRP.Text MsgBox
wa 2 txtWAA.Text = Math.Roundwa 2, 2
Universitas Sumatera Utara
txtWAA2.Text = Math.RoundValtxtWAA.Text 60, 2 If Val
txtWAA2.Text 8 Then lblAktual1.Text = Pemuatan dapat di selesaikan dalam 1 shift
ElseIf ValtxtWAA2.Text 8 And ValtxtWAA2.Text = 16 Then
lblAktual1.Text = Pemuatan dapat di selesaikan dalam 2 shift ElseIf
ValtxtWAA2.Text 16 And ValtxtWAA2.Text = 24 Then lblAktual1.Text = Pemuatan dapat di selesaikan dalam 3 shift
ElseIf ValtxtWAA2.Text 24 Then
lblAktual1.Text = Pemuatan dapat di selesaikan lebih dari 3 shift Else
lblAktual1.Text = Maaf, terjadi kesalahan, harap periksa data yang diinputkan
End If Else
MsgBox Harap masukkan angka
End If End Sub
2.9.8 Langkah–Langkah Dalam Proses Simulasi