KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

dokumen-dokumen yang mirip
LISTING PROGRAM. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) ShowInputForm End Sub

LISTING PROGRAM. Script Menu Utama Pada Game Tebak Kata

SURAT KETERANGAN Hasil Uji Program Tugas Akhir

SURAT KETERANGAN. Hasil Uji Program Tugas Akhir

LISTING PROGRAM. Public Declare Sub PortOut Lib "io.dll" (ByVal Port As Integer, ByVal Value As Byte)

Listing Program. 1. Loading. 2. Home. Option Explicit. Dim isplash As Integer. Private Sub Timer1_Timer() On Error Resume Next. isplash = isplash + 5

LISTING PROGRAM. lbljalan.caption = "Selamat Menggunakan Kamus Digital Istilahistilah

Kartu Bimbingan Tugas Akhir Mahhasiswa

Listing Program a. Form Login. Public LoginSucceeded As Boolean

Private Sub cmdprint_click() WebBrowser1.ExecWB OLECMDID_PRINT,OLECMDEXECOPT_DODEFAULT End Sub

LISTING PROGRAM FORM MENU UTAMA. Private Sub Command1_Click() Unload Me Form2.Show End Sub. Private Sub Command3_Click() Form10.

LAMPIRAN. Kode Program Menu Utama

HandleError: MsgBox "Proses tidak bisa dikerjakan.", vbinformation, "Perhatian" On Error GoTo 0 End Sub

MODUL IV PERULANGAN ( LOOPING )

DAFTAR PUSTAKA. Multimedia Control, Steven Holzner. Diakses pada tanggal 14/09/2011 Dari

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

1. Buka Visual Basic 6 sobat. Buat project baru, masukkan componen Microsoft Winsock Control 2. Masukkan coding berikut

LISTING PROGRAM. Kode Form Splash Screen. Private Sub Form_Load() lblversion.caption = "Version " & App.Major & "." & App.Minor & "." & App.

1. Rancangan Input Program Form Menu Utama Form Data Barang [ Input Barang ]

BAB 1 PENDAHULUAN. Algoritma Banker dikemukakan oleh Edsger W.Djikstra dan merupakan salah satu

LAMPIRAN CODING PROGRAM FORM DISPLAY : Private Sub Cmd_Cancel_Click() End End Sub

KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

Lampiran A. Program Visualisasi Cuaca Otomatis

Pertemuan-1 TIPE DATA STRUKTUR

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAHASA PEMROGRAMAN (LISTING PROGRAM)

MODUL 2 Variabel, Val, If tunggal dan If bersarang + case

FUNGSI PENCABANGAN DAN PERULANGAN

PERANGKAT LUNAK SIMULASI ALGORITMA BANKER TUGAS AKHIR JEANY CYNTHYA

BAB IV IMPLEMENTASI DAN PENGUJIAN

MODUL 3 SELEKSI KONDISI

BAB IV PERANCANGAN SISTEM INFORMASI AKUNTANSI BELANJA

DAFTAR PUSTAKA. Azar, Betty Schrampfer Fundamental of English Grammar. New Jersey: Prentice- Hall, Inc.

L A M P I R A N. Universitas Sumatera Utara

LAMPIRAN A: LISTING PROGRAM

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Tutorial, Source code, Request Program Visual Basic

Pre Processing. Memberikan gambaran jenis-jenis pre-processing

Sub Process_Globals 'These global variables will be declared once when the application starts. 'These variables can be accessed from all modules.

Nama Barang Sat Pemakaian Setahun Harga per unit Nilai Setahun. Kardus Aira 240 ml Lembar 1,312,000 Rp 1,420 Rp 1,863,040,000

PRAKTIKUM 4 ARRAY DAN SUB ROUTINE

FORM LOGIN. Option Explicit. Private Sub cmdexit_click() End End Sub

DAFTAR PUSTAKA. 1. Ramadhan, Arif, Seri Penuntun Praktis Microsoft Visual Basic. Jakarta: Elex Media Komputindo.

Pertemuan III MENYIMPAN REKAMAN (RECORD) KE DALAM BASIS DATA

LAMPIRAN. Source Code Program Untuk MDI Utama

Universitas Sumatera Utara

Field Tipe Data Size Keterangan userid Text 12 Primary key namauser Text 30 - password Text 8 - akses Text 10 -

Bab 7 Komponen Dasar Visual Basic 29 BAB VII KOMPONEN DASAR VISUAL BASIC TUJUAN PRAKTIKUM

SISTEM PEMODELAN SIMULASI PERMOHONAN KREDIT MENGGUNAKAN ALGORITMA BANKER

BAB IV IMPLEMENTASI DAN PENGUJIAN. dan menjelasan berbagai hal yang berhubungan dengan pengujian.

Praktekum VB 6.0 I. KOTAK PESAN. Contoh syntax kotak pesan

Struktur kontrol terbagi dalam dua jenis yaitu : Struktur pengambilan keputusan Struktur pengulangan (Loooping)

MetaMessage Desain Form MetaMessage

MODUL PRAKTEK PEMROGRAMAN VISUAL PRODI T. INFORMATIKA UNISLA SEMESTER VI Tanggal 8 Juni 2010 KALKULATOR

BAB IV IMPLEMENTASI DAN PENGUJIAN. dan tempat implementasi dari perangkat lunak ini adalah sebagai berikut :

BAB IV IMPLEMENTASI DAN PENGUJIAN

Pertemuan 7 Pelunasan Hutang

PENGEMBANGAN PERANGKAT LUNAK UNTUK SIMULASI SCHNORR AUTHENTICATION DAN DIGITAL SIGNATURE SCHEME

KODE PROGRAM FORM PENJUALAN

VISUAL BASIC 6.0 SETYO BUDI, M.KOM

Cropping_Merging_Transparent

BAB IV PERANCANGAN. Gambar diatas adalah tampilang awal ketika ingin memulai project baru. Pilih Standart EXE untuk memulai project.

BAB III Struktur Program

BAB IV HASIL DAN UJI COBA

KONEKSI VB DENGAN MYSQL (Wajib, S.Pd.)

Algoritma Pemrograman 2 B

E-Trick Visual Basic 6.0

Basic Programing Visual Basic


Me.Picture = LoadPicture(App.Path & "\pakar.jpg") App.HelpFile = App.Path & "\Help.hlp" End Sub

Keterangan : Integer Long : tipe data untuk angka bulat Single, Double : tipe data untuk angka pecahan/desimal Currency : tipe data untuk angka mata

MODUL 2 SELECTION & LOOPING PADA FORM

Mengerti dan memahami pemrograman berbasis object Mengerti dan memahami pembuatan visualisasi untuk interface

LAMPIRAN : LISTING PROGRAM Visual Basic 6.0

Struktur Data II. Bekerja Dengan Form.

Listing Program. Listing Form Login. Listing Form Menu Utama Private Sub MnDataPenerbangan_Click() FR_Penerbangan.Show 1 End Sub

Bab 4 Hasil dan Pembahasan

BAB IV IMPLEMENTASI DAN PENGUJIAN

PEMROGRAMAN KOMPUTER KODE MODUL: TIN 202 MODUL V PENGENALAN MICROSOFT VISUAL BASIC 6.0

DISUSUN OLEH : : Friska Rosalina NIM :

L-2. Listing Program Form Utama. Private Sub Form_Activate() Option3.SetFocus End Sub. Private Sub MnuKeluar_Click() End End Sub

Iman Adrianto

BAB III PERENCANAAN DAN REALISASI

Lampiran A HELP EZTWAIN. crash.

Pertemuan 4 Pelunasan Piutang

LAMPIRAN WAWANCARA. Berikut adalah hasil selengkapnya wawancara dengan pihak perusahaan untuk

LAMPIRAN LISTING PROGRAM. Label1 = "APLIKASI RUMUS BANGUN RUANG MENGGUNAKAN "

LAMPIRAN. Dim WithEvents diagnosa As New DB_MYSQL Dim sql = "select * from gejala order by kode asc"

1.1 Mengenal Visual Basic (VB) 1.2 Mengenal Integrated Development Environment (IDE) VB 6

Bentuk umum penulisan rumusannya, adalah sebagai berikut :

Koneksi Visual Basic 6.0 dengan SQL SERVER 2000

STRUKTUR ORGANISASI BADAN PUSAT STATISTIK (BPS) KEPALA WAKIL KEPALA

Penggunaan Struktur Kontrol Pengulangan. Adi Rachmanto,S.Kom Prodi Akuntansi - UNIKOM

BAB IV IMPLEMENTASI DAN PENGUJIAN

Coding : Coding : Oleh : Uus Rusmawan Hal - 1

BAB 4 Implementasi dan Pengujian

Universitas Sumatera Utara

BAB IV IMPLEMENTASI 4.1. IMPLEMENTASI

BAB V PROSEDUR DAN FUNGSI

ANALISIS DAN PERANCANGAN SISTEM DISTRIBUSI PASIEN RAWAT JALAN DI PUSKESMAS NAILAN KABUPATEN PONOROGO MENGGUNAKAN MICROSOFT SQL SERVER 2000

Transkripsi:

KEMENTERIAN PENDIDIKAN NASIONAL UNIVERSITAS SUMATERA UTARA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM PROGRAM STUDI D.III TEKNIK INFORMATIKA Jl. Bioteknologi No. 1 Kampus USU MEDAN Telp/FAX. 061-8214290 KARTU BIMBINGAN TUGAS AKHIR MAHASISWA Nama Mahasiswa : JEANY CYNTHYA NIM : 082406052 Judul Tugas Akhir : Perangkat Lunak Simulasi Algoritma Banker Dosen Pembimbing : Dra. Normalina Napitupulu, M.Sc Tanggal Mulai Bimbingan : Tanggal Selesai Bimbingan : No. Tanggal Asisten Bimbingan Pembahasan Pada Asisten Mengenai Pada BAB Paraf Dosen Pembimbing Keterangan 1. 2. 3. 4. 5. 6. 7. Kartu ini dikembalikan ke Departemen Matematika bila Bimbingan Mahasiswa telah selesai Diketahui, Departemen Matematika FMIPA USU Ketua Disetujui, Pembimbing Utama/ Penanggung Jawab Prof. Dr. Tulus, M.Si Dra. Normalina Napitupulu, M.Sc NIP. 196209011988031002 NIP. 196311061989022001

SURAT KETERANGAN Hasil Uji Program Tugas Akhir Yang bertanda tangan dibawah ini, menerangkan bahwa Mahasiswa Tugas Akhir Program Diploma III Teknik Informatika/Statistika : Nama : JEANY CYNTHYA NIM : 082406052 Prog. Studi : Teknik Informatika Judul TA : PERANGKAT LUNAK SIMULASI ALGORITMA BANKER Telah melaksanakan test program Tugas Akhir Mahasiswa tersebut di atas pada tanggal. Dengan Hasil : Sukses / Gagal Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja Hijau Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU Medan. Medan, Juli 2011 Dosen Pembimbing Program Studi D3 Teknik Informatika Dra. Normalina Napitupulu, M.Sc NIP. 196311061989022001

LISTING PROGRAM 1. Form Untuk Menampilkan Splash Screen Option Explicit Private nload As Integer Private Sub Form_Load() nload = 0 Private Sub Timer1_Timer() nload = nload + 1 shpload.width = Int(CDbl(nLoad) * 2280 / 100) If nload = 100 Then Sleep 1500 Timer1.Enabled = False Unload Me frminput.show 2. Form Untuk Menampilkan Menu Masukkan Option Explicit Private N As Integer Private nbykpinjaman As Integer Private ctmp(5) As String Private Sub cbobyk_click() 'Banyak Pinjaman nbykpinjaman = cbobyk.listindex + 1 'Tabel Pinjaman Call FormatTabelR 'Tabel Pinjaman Bank Call FormatTabelRBank 'Tabel Pinjaman Call FormatTabelRPlgn Private Sub chkinput_click() TblRPlgn.BackColor = IIf(chkInput.Value, &HFFFFFF, &HC0C0C0)

cmdacak.enabled = chkinput.value Private Sub cmdabout_click() frmabout.show 1 Private Sub cmdacak_click() 'Simpan banyak Pinjaman bank ke variabel Dim R() As Integer ReDim R(TblRBank.Rows - 1) For N = 1 To UBound(R) R(N) = Val(TblRBank.TextMatrix(N, 1)) Next N 'Acak nilai Pelanggan Dim N1 As Integer Dim Acak As Integer For N = 1 To UBound(Plgn) Next N 'Tipe Pinjaman For N1 = 1 To UBound(R) Next N1 'Maksimum Randomize Acak = Int(Rnd * (Int(R(N1) / 3.3) + 1)) TblRPlgn.TextMatrix(N + 1, N1) = Acak 'Allocate Randomize Acak = Int(Rnd * Acak) TblRPlgn.TextMatrix(N + 1, N1 + nbykpinjaman) = Acak Private Sub cmdhelp_click() Dim m_hwndhelp As Long App.HelpFile = App.Path & "\BankerHelp.chm" m_hwndhelp = HtmlHelp(Me.hWnd, App.HelpFile, HH_DISPLAY_TOPIC, ByVal "Simulasi Banker - Help.htm") Private Sub cmdkeluar_click() End Private Sub cmdsimulasi_click() 'Lama Simulasi If Val(Text1.Text) = 0 Then MsgBox "Lama simulasi belum di-input!", vbcritical Exit Sub

WaktuSimulasi = Val(Text1.Text) JlhIndeks = 0 'Nama Pinjaman ReDim NamaPinjaman(nBykPinjaman) For N = 1 To nbykpinjaman NamaPinjaman(N) = Trim(TblR.TextMatrix(N, 1)) If NamaPinjaman(N) = "" Then MsgBox "Nama Pinjaman R" & N & " belum di-input!", vbcritical Exit Sub Next N 'Alokasi Bank ReDim Bank.MaximumR(nBykPinjaman) ReDim Bank.TersediaR(nBykPinjaman) ReDim Bank.TempTersediaR(nBykPinjaman) For N = 1 To nbykpinjaman Bank.MaximumR(N) = Val(TblRBank.TextMatrix(N, 1)) Bank.TersediaR(N) = Val(TblRBank.TextMatrix(N, 1)) If Bank.TersediaR(N) = 0 Then MsgBox "Banyak Pinjaman R" & N & " pada bank belum diinput!", vbcritical Exit Sub ElseIf Bank.TersediaR(N) > 100 Then MsgBox "Banyak Pinjaman R" & N & " pada bank dibatasi maksimum 100!", vbcritical Exit Sub Next N 'Default Properti Pelanggan For N = 1 To UBound(Plgn) Plgn(N).Tipe = 0 Plgn(N).Aktif = False Plgn(N).Aktivitas = "" ReDim Plgn(N).RequestR(nBykPinjaman) ReDim Plgn(N).MaximumR(nBykPinjaman) ReDim Plgn(N).PenempatanR(nBykPinjaman) ReDim Plgn(N).TempPenempatanR(nBykPinjaman) ReDim Plgn(N).NeedsR(nBykPinjaman) ReDim Plgn(N).TempPenempatanR(nBykPinjaman) Next N 'Keadaan awal ditentukan If chkinput.value Then Dim N1 As Integer For N = 1 To UBound(Plgn) With Plgn(N).Aktif = True.Aktivitas = "PROSES" JlhIndeks = JlhIndeks + 1.Indeks = JlhIndeks 'Banyak Pinjaman

For N1 = 1 To nbykpinjaman 'Maksimum R.MaximumR(N1) = Val(TblRPlgn.TextMatrix(N + 1, N1)) If.MaximumR(N1) > 30 Then MsgBox "Maksimum Pinjaman R" & N1 & " pada Pelanggan dibatasi " & _ "maksimum 30!", vbcritical Exit Sub N1 + nbykpinjaman)) 'Alokasi R.PenempatanR(N1) = Val(TblRPlgn.TextMatrix(N + 1, 'Kurangi Pinjaman pada banker Bank.TersediaR(N1) = Bank.TersediaR(N1) -.PenempatanR(N1) If Bank.TersediaR(N1) < 0 Then MsgBox "Alokasi Pinjaman R" & N1 & " pada Pelanggan melebihi " & _ "maksimum Pinjaman pada bank!", vbcritical Exit Sub 'Needs R = Maksimum - Alokasi.NeedsR(N1) =.MaximumR(N1) -.PenempatanR(N1) If.NeedsR(N1) < 0 Then MsgBox "Alokasi Pinjaman R" & N1 & " pada -" & N & " melebihi maksimum Pinjaman!", vbcritical Exit Sub Next N1 End With Next N 'Simulasi algoritma banker frmsimulasibanker.show vbmodal Private Sub Form_Load() 'Isi combo banyak Pinjaman For N = 1 To 5 cbobyk.additem N & " tipe" Next N cbobyk.listindex = 4 'Tabel Pinjaman Call FormatTabelR 'Tabel Pinjaman Bank Call FormatTabelRBank 'Tabel Pinjaman Pelanggan

Call FormatTabelRPlgn 'Contoh Data With TblR.TextMatrix(1, 1) = "Rp".TextMatrix(2, 1) = "Rp".TextMatrix(3, 1) = "Rp".TextMatrix(4, 1) = "Rp".TextMatrix(5, 1) = "Rp" 'Isi ctmp For N = 1 To.Rows - 1 ctmp(n) =.TextMatrix(N, 1) Next N End With With TblRBank.TextMatrix(1, 1) = "100".TextMatrix(2, 1) = "100".TextMatrix(3, 1) = "100".TextMatrix(4, 1) = "100".TextMatrix(5, 1) = "100" End With 'Format Tabel Pinjaman Private Sub FormatTabelR() 'Tabel Pinjaman With TblR.Rows = nbykpinjaman + 1.Cols = 2.ColWidth(0) = 2000.ColAlignment(0) = 4.TextMatrix(0, 0) = "Tipe Pinjaman".ColWidth(1) = 2500.ColAlignment(1) = 4.TextMatrix(0, 1) = "Nama Pinjaman" 'Isi For N = 1 To.Rows - 1.TextMatrix(N, 0) = "R" & N.TextMatrix(N, 1) = ctmp(n) Next N End With 'Format Tabel Pinjaman Bank Private Sub FormatTabelRBank() 'Tabel Pinjaman With TblRBank.Rows = nbykpinjaman + 1.Cols = 2.ColWidth(0) = 2000.ColAlignment(0) = 4.TextMatrix(0, 0) = "Tipe Pinjaman"

.ColWidth(1) = 2500.ColAlignment(1) = 4.TextMatrix(0, 1) = "Banyak Pinjaman" 'Isi For N = 1 To.Rows - 1.TextMatrix(N, 0) = "R" & N '.TextMatrix(N, 1) = "0" Next N End With 'Format Tabel Pinjaman Pelanggan Private Sub FormatTabelRPlgn() 'Tabel Pinjaman Pelanggan With TblRPlgn.Redraw = False.Rows = 7.Cols = 1 + (2 * nbykpinjaman).colwidth(0) = 1850.ColAlignment(0) = 4.TextMatrix(0, 0) = "Pelanggan".TextMatrix(1, 0) = "Pelanggan" 'Tulis Pelanggan For N = 2 To.Rows - 1.TextMatrix(N, 0) = "Pelanggan - " & N - 1 Next N 'Tulis Kolom For N = 1 To nbykpinjaman.colwidth(n) = Int(3970 \ nbykpinjaman).colalignment(n) = 4.TextMatrix(0, N) = "MAKSIMUM".TextMatrix(1, N) = "R" & N.ColWidth(N + nbykpinjaman) = Int(3970 / nbykpinjaman).colalignment(n + nbykpinjaman) = 4.TextMatrix(0, N + nbykpinjaman) = "PENEMPATAN".TextMatrix(1, N + nbykpinjaman) = "R" & N Next N.MergeCells = flexmergefree.mergecol(0) = True.MergeRow(0) = True.Redraw = True End With Private Sub TblR_KeyPress(KeyAscii As Integer) Dim ckey As String ckey = Chr(KeyAscii) With TblR

Select Case KeyAscii Case vbkeyreturn 'Enter Key - pindah baris If.Row <.Rows - 1 Then.Row =.Row + 1 End Select End With Case vbkeyback 'BackSpace - hapus satu karakter If Len(.Text) > 0 Then.Text = Left(.Text, Len(.Text) - 1) Case Else 'Only character allowed If Len(.Text) >= 3 Then Exit Sub If IsNumeric(Chr(KeyAscii)) = False Then.Text =.Text & ckey Private Sub TblRBank_KeyPress(KeyAscii As Integer) Dim ckey As String ckey = Chr(KeyAscii) With TblRBank Select Case KeyAscii Case vbkeyreturn 'Enter Key - pindah baris If.Row <.Rows - 1 Then.Row =.Row + 1 End Select End With Case vbkeyback 'BackSpace - hapus satu karakter If Len(.Text) > 0 Then.Text = Left(.Text, Len(.Text) - 1) Case Else 'Only number allowed If Len(.Text) >= 3 Then Exit Sub If ckey Like "#" Then.Text =.Text & ckey Private Sub TblRPlgn_KeyPress(KeyAscii As Integer) If cmdacak.enabled Then Dim ckey As String ckey = Chr(KeyAscii) With TblRPlgn Select Case KeyAscii Case vbkeyreturn 'Enter Key - pindah baris If.Col <.Cols - 1 Then.Col =.Col + 1

ElseIf.Row <.Rows - 1 Then.Col = 1.Row =.Row + 1 karakter Case vbkeyback 'BackSpace - hapus satu If Len(.Text) > 0 Then.Text = Left(.Text, Len(.Text) - 1) Case Else 'Only number allowed If Len(.Text) >= 3 Then Exit Sub If ckey Like "#" Then.Text = Val(.Text & ckey) maksimum bank 'Cek maksimum, tidak boleh lebih besar dari If.Col < nbykpinjaman + 1 Then If Val(.Text) > Val(TblRBank.TextMatrix(.Col, 1)) Then MsgBox "Maksimum Pinjaman " &.TextMatrix(1,.Col) & " tidak boleh " & _ "melebihi batas maksimum Pinjaman bank!", vbcritical.text = "" ElseIf.Col >= nbykpinjaman + 1 Then 'Cek alokasi, tidak boleh lebih besar dari maksimum If Val(.Text) > Val(.TextMatrix(.Row,.Col - nbykpinjaman)) Then MsgBox "Alokasi Pinjaman " &.TextMatrix(1,.Col) & " tidak boleh " & _ "melebihi maksimum Pinjaman Pelanggan-" &.Row - 1 & "!", vbcritical.text = "" End Select End With Private Sub Text1_KeyPress(KeyAscii As Integer) If IsNumeric(Chr(KeyAscii)) = False And KeyAscii <> vbkeyback Then KeyAscii = 0 3. Form Untuk Menampilkan Tentang Program

Private Sub cmdok_click() Unload Me 4. Form Untuk Menampilkan Laporan Option Explicit Public TipeForm As String Public Isi As String Private Sub Form_Load() Me.Caption = IIf(TipeForm = "H", "Hasil Transaksi", "Hasil Analisis Transaksi") RTB.Text = Isi Private Sub Form_Resize() RTB.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight 5. Form Untuk Menampilkan Menu Simulasi Banker Option Explicit Private ndelayrequest As Long Private N As Integer Private Temp1 As Integer Private Temp2 As Integer Private Temp3 As Integer Private Temp4 As Integer Private Temp5 As Integer Private stemp1 As String Private btemp1 As Boolean Private TBanker As Integer Private TBankerRnd As Integer Private bisproses As Boolean Private Sub cmdexit_click() Unload Me Private Sub cmdhasil Transaksi_Click() Dim ctmp As String

If Timer1.Enabled Then ctmp = "STOP" Timer1.Enabled = False frmnote.tipeform = "H" frmnote.isi = H frmnote.show vbmodal If ctmp = "STOP" Then Timer1.Enabled = True Private Sub cmdpause_click() Timer1.Enabled = False DoEvents DoEvents cmdplay.enabled = True cmdpause.enabled = False cmdexit.enabled = True Private Sub cmdplay_click() Timer1.Enabled = True cmdplay.enabled = False cmdpause.enabled = True cmdexit.enabled = False Private Sub Form_Load() 'Kecepatan proses Slider1.Value = 2 'Hasil Transaksi & Hasil Analisis H = "SIMULASI ALGORITMA BANKER" & vbcrlf & _ "-------------------------" & vbcrlf HA = "" 'T = 0 sekon lblt = "0" 'Nama Pinjaman For N = 1 To UBound(NamaPinjaman) lblr0(n).caption = NamaPinjaman(N) lblr1(n).caption = NamaPinjaman(N) lblr2(n).caption = NamaPinjaman(N) lblr3(n).caption = NamaPinjaman(N) lblr4(n).caption = NamaPinjaman(N) lblr5(n).caption = NamaPinjaman(N) Next N 'Progress bar banker Call AturProgressBar(0) 'Tempat Progress Bar For N = 0 To UBound(Plgn) PProses(N).Height = 75 + (210 * UBound(NamaPinjaman)) Next N 'Keadaan awal disetting - langsung aktif

If Plgn(1).Aktif Then For N = 1 To UBound(Plgn) PPlgn(N).Top = 6945 'Indeks lblindeks(n).caption = "Pelanggan " & Plgn(N).Indeks lblindeks(n).visible = True 'Progress Bar Call AturProgressBar(N) PProses(N).Visible = True 'Tipe Randomize Temp1 = 1 + Int(Rnd * 3) Plgn(N).Tipe = Val(Temp1) PPlgn(N).Picture = PlgnUp1(Plgn(N).Tipe).Picture PPlgn(N).Tag = "1" Next N Private Sub Form_Unload(Cancel As Integer) Cancel = bisproses Private Sub Slider1_Change() Timer1.Interval = Slider1.Value * 100 ndelayrequest = Slider1.Value * 200 lbldelay.caption = "Kecepatan (Delay = " & Slider1.Value * 100 & ")" Private Sub Slider1_Scroll() Call Slider1_Change Private Sub Timer1_Timer() bisproses = True 'Tambah t (waktu) lblt = Val(lblT) + 1 'Untuk 5 orang Pelanggan For N = 1 To UBound(Plgn) With Plgn(N) If.Aktif = False Then '~~~~~~~~~~~~~~~~~~~~ 'PELANGGAN BELUM AKTIF '~~~~~~~~~~~~~~~~~~~~ 'Random untuk mengaktifkan Pelanggan Randomize Temp1 = 1 + Int(Rnd * 30) If Temp1 = 10 Then '+ Indeks

Else JlhIndeks = JlhIndeks + 1 'Aktifkan Pelanggan.Aktif = True.Indeks = JlhIndeks.Aktivitas = "UP" 'Tipe Randomize Temp1 = 1 + Int(Rnd * 3).Tipe = Val(Temp1) '~~~~~~~~~~~~~~~~~~~~ 'PELANGGAN SUDAH AKTIF '~~~~~~~~~~~~~~~~~~~~ Select Case.Aktivitas '~ Case "UP" 'Kurangi TOP PPlgn(N).Top = PPlgn(N).Top - 75 If PPlgn(N).Tag = "1" Then PPlgn(N).Picture = PlgnUp2(.Tipe).Picture PPlgn(N).Tag = "2" Else PPlgn(N).Picture = PlgnUp1(.Tipe).Picture PPlgn(N).Tag = "1" 'Pengaturan Pintu If PPlgn(N).Top = 11445 Then Pintu(N).Visible = Not Pintu(N).Visible ElseIf PPlgn(N).Top = 9945 Then Pintu(N).Visible = Not Pintu(N).Visible 'Sampai ke atas -> Ganti jadi Proses If PPlgn(N).Top = 6945 Then.Aktivitas = "PROSES" 'Acak Max Pinjaman For Temp1 = 1 To UBound(NamaPinjaman) Randomize.MaximumR(Temp1) = 1 + Int(Rnd * Int(Bank.MaximumR(Temp1) * 0.5)).PenempatanR(Temp1) = 0.NeedsR(Temp1) =.MaximumR(Temp1).RequestR(Temp1) = 0 Next Temp1 'Progress Bar Call AturProgressBar(N) PProses(N).Visible = True

.Indeks _ kredit." 'Indeks lblindeks(n).caption = "Pelanggan " & lblindeks(n).visible = True 'Hasil Transaksi H = H & vbcrlf & _ "t = " & lblt & ", Pelanggan-" &.Indeks & " masuk ke dalam proses permohonan '~ Case "PROSES" 'Status If lblstatus(n).visible = True Then lblstatus(n).visible = False If PicState.Visible Then PicState.Visible = False 'Cek sudah pernah ada alokasi Pinjaman Temp2 = 0 For Temp1 = 1 To UBound(NamaPinjaman) If.PenempatanR(Temp1) > 0 Then Temp2 = 1 Exit For Next Temp1 Then 'Cek sudah memenuhi maksimum Temp3 = 1 For Temp1 = 1 To UBound(NamaPinjaman) If.PenempatanR(Temp1) <.MaximumR(Temp1) Temp3 = 0 Exit For Next Temp1 'Random Randomize Temp1 = Int(Rnd * 100) Then 'Cek Return atau Request If (Temp3 = 1) Or (Temp1 = 20 And Temp2 = 1) 'Mengembalikan uang.aktivitas = "RETURN" ElseIf Temp1 <= 10 Then 'Memohon Kredit.Aktivitas = "REQUEST" '~

Case "REQUEST" 'Jenis Request Randomize Temp1 = Int(Rnd * 10) ",".NeedsR(Temp2)) "," stemp1 = "(" If Temp1 = 9 Then 'Request maximum Pinjaman For Temp2 = 1 To UBound(NamaPinjaman).RequestR(Temp2) =.NeedsR(Temp2) If Temp2 > 1 Then stemp1 = stemp1 & stemp1 = stemp1 &.RequestR(Temp2) Next Temp2 Else 'Request not maximum Pinjaman For Temp2 = 1 To UBound(NamaPinjaman) If.NeedsR(Temp2) > 0 Then Randomize.RequestR(Temp2) = 1 + Int(Rnd * Else.RequestR(Temp2) = 0 If Temp2 > 1 Then stemp1 = stemp1 & stemp1 = stemp1 &.RequestR(Temp2) Next Temp2 stemp1 = stemp1 & ")" bankir." bankir." ----- ALGORITHM ----- _ 'Hasil Transaksi H = H & vbcrlf & _ "t = " & lblt & ", Plgn-" &.Indeks & _ " memohon kredit " & stemp1 & " kepada 'Delay sebentar - REQUEST lblstate.forecolor = 0 Shape1.FillColor = &HFFFF& lblstate.caption = "PERMINTAAN" lblstate1.caption = "Pelanggan-" &.Indeks & _ " memohon kredit " & stemp1 & " kepada PicState.Visible = True DoEvents Sleep ndelayrequest '--------------------------------------------- ' HASIL ANALISIS DENGAN PINJAMAN REQUEST '--------------------------------------------- HA = "KEJADIAN: " & vbcrlf & "---------" & _ vbcrlf & "t = " & lblt & ", Plgn-" &.Indeks &

bankir." " memohon kredit " & stemp1 & " kepada 'If Request <= Tersedia HA = HA & vbcrlf & vbcrlf & _ "ANALISIS DENGAN PINJAMAN REQUEST ALGORITHM:" & vbcrlf & _ "-------------------------------------------" & vbcrlf & vbcrlf & _ "1. CEK REQUEST HARUS <= TERSEDIA." & vbcrlf btemp1 = True For Temp1 = 1 To UBound(NamaPinjaman) If.RequestR(Temp1) <= Bank.TersediaR(Temp1) Then _ 'REQUEST <= TERSEDIA HA = HA & vbcrlf & _ " - " &.RequestR(Temp1) & " <= " & Bank.TersediaR(Temp1) & " (TRUE)" Else _ 'REQUEST > TERSEDIA HA = HA & vbcrlf & _ " - " &.RequestR(Temp1) & " <= " & Bank.TersediaR(Temp1) & " (FALSE)" 'TUNDA HA = HA & vbcrlf & _ " Permintaan lebih besar dari dana yang tersedia." & vbcrlf & _ " Permohonan kredit Plgn-" &.Indeks & " ditunda (TUNDA)." Pelanggan-" &.Indeks & _ Pelanggan-" &.Indeks & _ (TUNDA)." 'Hasil Transaksi H = H & vbcrlf & _ "t = " & lblt & ", Permohonan kredit " ditunda (TUNDA)." 'Delay sebentar - TUNDA lblstatus(n).visible = True lblstate.forecolor = &HFFFFFF Shape1.FillColor = &HFF& lblstate.caption = "TUNDA" lblstate1.caption = "Permohonan kredit PicState.Visible = True DoEvents Sleep ndelayrequest " ditunda 'Tunjukkan Hasil Analisis If Check1.Value Then frmnote.tipeform = "HA"

Next Temp1 frmnote.isi = HA frmnote.show vbmodal.aktivitas = "TUNDA" btemp1 = False Exit For 'Jika Request <= Tersedia If btemp1 Then PERMOHONAN PELANGGAN." '~~~~~~~~~~~ HA = HA & vbcrlf & vbcrlf & _ "2. BANKER BERPURA-PURA UNTUK MEMENUHI Plgn(Temp1).PenempatanR Plgn(Temp1).NeedsR 'COBA ALOKASI For Temp1 = 1 To UBound(Plgn) Plgn(Temp1).TempPenempatanR = Plgn(Temp1).TempNeedsR = Plgn(Temp1).Finish = False Next Temp1 'KURANGI & TAMBAH PINJAMAN For Temp1 = 1 To UBound(NamaPinjaman) 'NamaPinjaman stemp1 = NamaPinjaman(Temp1) 'Kurangi bank Bank.TempTersediaR(Temp1) = Bank.TersediaR(Temp1) _ -.RequestR(Temp1) HA = HA & vbcrlf & vbcrlf & " " & _ stemp1 & "_Bank = " & stemp1 & "_Bank - " & stemp1 & "_Request = " & _ Bank.TersediaR(Temp1) & " - " &.RequestR(Temp1) & " = " & _ Bank.TempTersediaR(Temp1) 'Tambah Penempatan di Pelanggan.TempPenempatanR(Temp1) =.PenempatanR(Temp1) +.RequestR(Temp1) HA = HA & vbcrlf & _ " Penempatan_" & stemp1 & "_Plgn" &.Indeks & " = " & _ "Penempatan_" & stemp1 & "_Plgn" &.Indeks & " + " & _ stemp1 & "_Request = " &.PenempatanR(Temp1) & " + " & _.RequestR(Temp1) & " = " &.TempPenempatanR(Temp1) 'Kurangi Needs di Pelanggan

.RequestR(Temp1).Indeks & " = " & _ & " - " & _.NeedsR(Temp1) & " - " & _.TempNeedsR(Temp1).TempNeedsR(Temp1) =.NeedsR(Temp1) - HA = HA & vbcrlf & _ " Needs_" & stemp1 & "_Plgn" & "Needs_" & stemp1 & "_Plgn" &.Indeks stemp1 & "_Request = " &.RequestR(Temp1) & " = " & Next Temp1 SAFETY ALGORIGHTM" '~~~~~~~~~~~ HA = HA & vbcrlf & vbcrlf & _ "3. PERIKSA APAKAH KEADAAN SAFE DENGAN 'Indeks yang akan diselesaikan Temp1 = 1 'Cari dimana Need <= Tersedia While Temp1 > 0 Temp1 = 0 And _ Then Then 'Looping cari temp1 berikutnya For Temp2 = 1 To UBound(Plgn) If Plgn(Temp2).Aktif And _ Plgn(Temp2).Aktivitas <> "UP" Plgn(Temp2).Aktivitas <> "DOWN" 'Finish = False btemp1 = False If Plgn(Temp2).Finish = False 'Cek apakah semua need <= Tersedia Temp1 = Temp2 btemp1 = True For Temp3 = 1 To UBound(NamaPinjaman) If Plgn(Temp2).TempNeedsR(Temp3) > Bank.TempTersediaR(Temp3) Then btemp1 = False Exit For Next Temp3 'Sesuai kriteria If btemp1 Then Temp1 = Temp2 Exit For

Next Temp2 'Selesaikan Pelanggan Temp1 If Temp1 > 0 Then Plgn(Temp1).Finish = True Plgn(Temp1).Indeks & "." UBound(NamaPinjaman) HA = HA & vbcrlf & vbcrlf & _ " Selesaikan kredit Plgn-" & 'Tambah di bank For Temp2 = 1 To 'NamaPinjaman stemp1 = NamaPinjaman(Temp2) 'Bank = Bank + Plgn HA = HA & vbcrlf & _ " " & stemp1 & "_Bank = " & _ stemp1 & "_Bank + Penempatan_" & stemp1 & "_Plgn" & Plgn(Temp1).Indeks & " = " & _ Bank.TempTersediaR(Temp2) & " + " & Plgn(Temp1).TempPenempatanR(Temp2) & " = " & _ Bank.TempTersediaR(Temp2) + Plgn(Temp1).TempPenempatanR(Temp2) Bank.TempTersediaR(Temp2) + _ 'Perhitungan Bank.TempTersediaR(Temp2) = Plgn(Temp1).TempPenempatanR(Temp2) Next Temp2 HA = HA & vbcrlf & " Finish(Plgn" & Plgn(Temp1).Indeks & ") = TRUE." Wend _ 'Cek ada Pelanggan = false For Temp1 = 1 To UBound(Plgn) If Plgn(Temp1).Aktif And _ Plgn(Temp1).Aktivitas <> "UP" And _ Plgn(Temp1).Aktivitas <> "DOWN" And Plgn(Temp1).Finish = False Then HA = HA & vbcrlf & vbcrlf & _ " Kredit Pelanggan-" & Plgn(Temp1).Indeks & _ " tidak bisa diselesaikan (UNSAFE STATE)." & vbcrlf & _ " Oleh karena itu, permohonan kredit Pelanggan-" &.Indeks & " ditunda (TUNDA)." 'Hasil Transaksi H = H & vbcrlf & _

kredit Plgn-" &.Indeks & _ kredit -" &.Indeks & _ (TUNDA)." "t = " & lblt & ", Permohonan " ditunda (TUNDA)." 'Delay sebentar - TUNDA lblstatus(n).visible = True lblstate.forecolor = &HFFFFFF Shape1.FillColor = &HFF& lblstate.caption = "TUNDA" lblstate1.caption = "Permohonan PicState.Visible = True DoEvents Sleep ndelayrequest " ditunda Next Temp1 'Tunjukkan Hasil Analisis If Check1.Value Then frmnote.tipeform = "HA" frmnote.isi = HA frmnote.show vbmodal.aktivitas = "TUNDA" Exit For 'BUKAN TUNDA - BERARTI APPROVED If.Aktivitas <> "TUNDA" Then HA = HA & vbcrlf & vbcrlf & _ " Semua kredit terselesaikan (SAFE STATE)." & vbcrlf & _ " Oleh karena itu, permohonan kredit Pelanggan-" &.Indeks & " disetujui (SETUJU)." 'Delay sebentar - APPROVED lblstate.forecolor = 0 Shape1.FillColor = &HFF00& lblstate.caption = "SETUJU" lblstate1.caption = "Permohonan kredit Pelanggan-" &.Indeks & " disetujui (SETUJU)." PicState.Visible = True PUang(N).Visible = True PKasir(N).Picture = Kasir(2).Picture DoEvents Sleep ndelayrequest 'Tunjukkan Hasil Analisis If Check1.Value Then frmnote.tipeform = "HA" frmnote.isi = HA frmnote.show vbmodal

PicState.Visible = False PUang(N).Visible = False PKasir(N).Picture = Kasir(1).Picture Pelanggan-" &.Indeks & _ 'Hasil Transaksi H = H & vbcrlf & _ "t = " & lblt & ", Permohonan kredit " disetujui (SETUJU)." 'Tambah Penempatan For Temp1 = 1 To UBound(NamaPinjaman) 'Alokasi.PenempatanR(Temp1) =.PenempatanR(Temp1) +.RequestR(Temp1).RequestR(Temp1) 'Needs.NeedsR(Temp1) =.NeedsR(Temp1) - 'Kurangi Bank Bank.TersediaR(Temp1) = Bank.TersediaR(Temp1) -.RequestR(Temp1) Next Temp1 '~ Case "TUNDA" 'Bank Call AturProgressBar(0) 'Plgn Call AturProgressBar(N).Aktivitas = "PROSES" stemp1 = "(" For Temp1 = 1 To UBound(NamaPinjaman) If Temp1 > 1 Then stemp1 = stemp1 & "," stemp1 = stemp1 &.RequestR(Temp1) Next Temp1 stemp1 = stemp1 & ")" '--------------------------------------------- ----- ' HASIL ANALISIS DENGAN PINJAMAN REQUEST ALGORITHM '--------------------------------------------- ----- HA = "KEJADIAN: " & vbcrlf & "---------" & _ vbcrlf & "t = " & lblt & ", Permintaan Pelanggan-" &.Indeks & _ " atas kredit " & stemp1 & " dicek kembali." 'If Request <= Tersedia HA = HA & vbcrlf & vbcrlf & _

"ANALISIS DENGAN PINJAMAN REQUEST ALGORITHM:" & vbcrlf & _ "-------------------------------------------" & vbcrlf & vbcrlf & _ "1. CEK REQUEST HARUS <= TERSEDIA." & vbcrlf btemp1 = True For Temp1 = 1 To UBound(NamaPinjaman) If.RequestR(Temp1) <= Bank.TersediaR(Temp1) Then _ 'REQUEST <= TERSEDIA HA = HA & vbcrlf & _ " - " &.RequestR(Temp1) & " <= " & Bank.TersediaR(Temp1) & " (TRUE)" Else _ 'REQUEST > TERSEDIA HA = HA & vbcrlf & _ " - " &.RequestR(Temp1) & " <= " & Bank.TersediaR(Temp1) & " (FALSE)" 'TUNDA HA = HA & vbcrlf & _ " Permintaan lebih besar dari dana yang tersedia." & vbcrlf & _ " Permohonan kredit Pelanggan-" &.Indeks & " ditunda (TUNDA)." Next Temp1 btemp1 = False Exit For 'Jika Request <= Tersedia If btemp1 Then PERMOHONAN PELANGGAN." '~~~~~~~~~~~ HA = HA & vbcrlf & vbcrlf & _ "2. BANKER BERPURA-PURA UNTUK MEMENUHI Plgn(Temp1).PenempatanR Plgn(Temp1).NeedsR 'COBA ALOKASI For Temp1 = 1 To UBound(Plgn) Plgn(Temp1).TempPenempatanR = Plgn(Temp1).TempNeedsR = Plgn(Temp1).Finish = False Next Temp1 'KURANGI & TAMBAH PINJAMAN For Temp1 = 1 To UBound(NamaPinjaman) 'NamaPinjaman stemp1 = NamaPinjaman(Temp1)

'Kurangi bank Bank.TempTersediaR(Temp1) = Bank.TersediaR(Temp1) _ -.RequestR(Temp1) HA = HA & vbcrlf & vbcrlf & _ stemp1 & "_Bank = " & stemp1 & "_Bank - " & stemp1 & "_Request = " & _ Bank.TersediaR(Temp1) & " - " &.RequestR(Temp1) & " = " & _ Bank.TempTersediaR(Temp1) 'Tambah Penempatan di Pelanggan.TempPenempatanR(Temp1) =.PenempatanR(Temp1) +.RequestR(Temp1) HA = HA & vbcrlf & _ "Penempatan_" & stemp1 & "_Plgn" &.Indeks & " = " & _ "Penempatan_" & stemp1 & "_Plgn" &.Indeks & " + " & _ stemp1 & "_Request = " &.PenempatanR(Temp1) & " + " & _.RequestR(Temp1) & " = " &.TempPenempatanR(Temp1).RequestR(Temp1) & " = " & _ & " - " & _.NeedsR(Temp1) & " - " & _.TempNeedsR(Temp1) 'Kurangi Needs di Pelanggan.TempNeedsR(Temp1) =.NeedsR(Temp1) - HA = HA & vbcrlf & _ "Needs_" & stemp1 & "_Plgn" &.Indeks "Needs_" & stemp1 & "_Plgn" &.Indeks stemp1 & "_Request = " &.RequestR(Temp1) & " = " & Next Temp1 SAFETY ALGORIGHTM" '~~~~~~~~~~~ HA = HA & vbcrlf & vbcrlf & _ "3. PERIKSA APAKAH KEADAAN SAFE DENGAN 'Indeks yang akan diselesaikan Temp1 = 1 'Cari dimana Need <= Tersedia While Temp1 > 0 Temp1 = 0 And _ Then 'Looping cari temp1 berikutnya For Temp2 = 1 To UBound(Plgn) If Plgn(Temp2).Aktif And _ Plgn(Temp2).Aktivitas <> "UP" Plgn(Temp2).Aktivitas <> "DOWN"

Then 'Finish = False btemp1 = False If Plgn(Temp2).Finish = False 'Cek apakah semua need <= Tersedia Temp1 = Temp2 btemp1 = True For Temp3 = 1 To UBound(NamaPinjaman) If Plgn(Temp2).TempNeedsR(Temp3) > Bank.TempTersediaR(Temp3) Then btemp1 = False Exit For Next Temp3 Next Temp2 'Sesuai kriteria If btemp1 Then Temp1 = Temp2 Exit For 'Selesaikan Pelanggan Temp1 If Temp1 > 0 Then Plgn(Temp1).Finish = True & Plgn(Temp1).Indeks & "." UBound(NamaPinjaman) HA = HA & vbcrlf & vbcrlf & _ " Selesaikan kredit Pelanggan-" 'Tambah di bank For Temp2 = 1 To 'NamaPinjaman stemp1 = NamaPinjaman(Temp2) 'Bank = Bank + Plgn HA = HA & vbcrlf & _ " " & stemp1 & "_Bank = " & _ stemp1 & "_Bank + Penempatan_" & stemp1 & "_Plgn" & Plgn(Temp1).Indeks & " = " & _ Bank.TempTersediaR(Temp2) & " + " & Plgn(Temp1).TempPenempatanR(Temp2) & " = " & _ Bank.TempTersediaR(Temp2) + Plgn(Temp1).TempPenempatanR(Temp2) Bank.TempTersediaR(Temp2) + _ 'Perhitungan Bank.TempTersediaR(Temp2) = Plgn(Temp1).TempPenempatanR(Temp2) Next Temp2

HA = HA & vbcrlf & " Finish(Plgn" & Plgn(Temp1).Indeks & ") = TRUE." Wend _ 'Cek ada Pelanggan = false.aktivitas = "" For Temp1 = 1 To UBound(Plgn) If Plgn(Temp1).Aktif And _ Plgn(Temp1).Aktivitas <> "UP" And _ Plgn(Temp1).Aktivitas <> "DOWN" And Plgn(Temp1).Finish = False Then HA = HA & vbcrlf & vbcrlf & _ " Kredit Plgn-" & Plgn(Temp1).Indeks & _ " tidak bisa diselesaikan (UNSAFE STATE)." & vbcrlf & _ " Oleh karena itu, permohonan kredit Pelanggan-" &.Indeks & " ditunda (TUNDA)." Next Temp1.Aktivitas = "TUNDA" Exit For 'BUKAN TUNDA - BERARTI APPROVED If.Aktivitas <> "TUNDA" Then HA = HA & vbcrlf & vbcrlf & _ " Semua kredit terselesaikan (SAFE STATE)." & vbcrlf & _ " Oleh karena itu, permohonan kredit Pelanggan-" &.Indeks & " disetujui (SETUJU)." Pelanggan-" & _ disetujui (SETUJU)." 'Delay sebentar - APPROVED lblstate.forecolor = 0 Shape1.FillColor = &HFF00& lblstate.caption = "SETUJU" lblstate1.caption = "Permohonan kredit.indeks & " PicState.Visible = True PUang(N).Visible = True PKasir(N).Picture = Kasir(2).Picture DoEvents Sleep ndelayrequest 'Tunjukkan Hasil Analisis If Check1.Value Then frmnote.tipeform = "HA" frmnote.isi = HA

frmnote.show vbmodal PicState.Visible = False PUang(N).Visible = False PKasir(N).Picture = Kasir(1).Picture Pelanggan-" &.Indeks & _ (SETUJU)." 'Hasil Transaksi H = H & vbcrlf & _ "t = " & lblt & ", Permohonan kredit " yang tertunda telah disetujui 'Tambah Penempatan For Temp1 = 1 To UBound(NamaPinjaman) 'Alokasi.PenempatanR(Temp1) =.PenempatanR(Temp1) +.RequestR(Temp1).RequestR(Temp1) 'Needs.NeedsR(Temp1) =.NeedsR(Temp1) - 'Kurangi Bank Bank.TersediaR(Temp1) = Bank.TersediaR(Temp1) -.RequestR(Temp1) Next Temp1 '~ Case "RETURN" 'Bank Call AturProgressBar(0) 'Plgn Call AturProgressBar(N).Aktivitas = "PROSES" stemp1 = "(" For Temp1 = 1 To UBound(NamaPinjaman) If Temp1 > 1 Then stemp1 = stemp1 & "," stemp1 = stemp1 &.PenempatanR(Temp1) Next Temp1 stemp1 = stemp1 & ")" 'Hasil Transaksi H = H & vbcrlf & _ "t = " & lblt & ", Pelanggan-" &.Indeks & _ " telah menyelesaian semua permasalahan bisnisnya dan mengembalikan " & _ " semua pinjamannya " & stemp1 & " kepada bank." 'Pengembalian uang For Temp1 = 1 To UBound(NamaPinjaman)

Bank.TersediaR(Temp1) = Bank.TersediaR(Temp1) +.PenempatanR(Temp1) Next Temp1 Call AturProgressBar(0) End With Next N '~ Case "DOWN" End Select 'Turun ke bawah.aktivitas = "DOWN" PProses(N).Visible = False lblindeks(n).visible = False 'Tambah TOP PPlgn(N).Top = PPlgn(N).Top + 75 If PPlgn(N).Tag = "1" Then PPlgn(N).Picture = PlgnDw2(.Tipe).Picture PPlgn(N).Tag = "2" Else PPlgn(N).Picture = PlgnDw1(.Tipe).Picture PPlgn(N).Tag = "1" 'Pengaturan Pintu If PPlgn(N).Top = 11520 Then Pintu(N).Visible = Not Pintu(N).Visible ElseIf PPlgn(N).Top = 9945 Then Pintu(N).Visible = Not Pintu(N).Visible 'Sampai ke bawah -> Aktif = FALSE If PPlgn(N).Top = 11520 Then.Aktif = False.Aktivitas = "" 'ANIMASI BANKER TBanker = TBanker + 1 If Left(PBanker.Tag, 1) = "1" Then 'Berpikir PBanker.Picture = Banker(1).Picture 'Acak waktu berpikir If TBanker = 1 Then Randomize TBankerRnd = 1 + Int(Rnd * 20) 'Ganti jadi menulis If TBanker = TBankerRnd Then PBanker.Tag = "21" TBanker = 0

Else 'Menulis PBanker.Picture = Banker(Val(Right(PBanker.Tag, 1)) + 1).Picture 'Acak waktu menulis If TBanker = 1 Then Randomize TBankerRnd = 1 + Int(Rnd * 30) If TBanker = TBankerRnd Then 'Ganti jadi berpikir TBanker = 0 PBanker.Tag = "1" Else PBanker.Tag = "2" & IIf(Right(PBanker.Tag, 1) = "1", "2", "1") bisproses = False 'Batas waktu simulasi If Val(lblT) = WaktuSimulasi Then Timer1.Enabled = False MsgBox "Simulasi telah berakhir!", vbinformation cmdplay.enabled = False cmdpause.enabled = False cmdhasil Transaksi.Enabled = True cmdexit.enabled = True 'ProgressBar Private Sub AturProgressBar(nPlgn As Integer) Dim P As Integer Select Case nplgn Case 0 For P = 1 To UBound(NamaPinjaman) shpr0(p).width = Hitung(Bank.TersediaR(P), 1170, Bank.MaximumR(P)) lblp0(p).caption = Bank.TersediaR(P) & "/" & Bank.MaximumR(P) 'Bagi(Bank.TersediaR(P) * 100, Bank.MaximumR(P)) & "%" Next P Case 1 For P = 1 To UBound(NamaPinjaman) shpr1(p).width = Hitung(Plgn(1).PenempatanR(P), 795, Plgn(1).MaximumR(P)) lblp1(p).caption = Plgn(1).PenempatanR(P) & "/" & Plgn(1).MaximumR(P) 'Bagi(Plgn(1).PenempatanR(P) * 100, Plgn(1).MaximumR(P)) & "%" Next P

Case 2 For P = 1 To UBound(NamaPinjaman) shpr2(p).width = Hitung(Plgn(2).PenempatanR(P), 795, Plgn(2).MaximumR(P)) lblp2(p).caption = Plgn(2).PenempatanR(P) & "/" & Plgn(2).MaximumR(P) 'Bagi(Plgn(2).PenempatanR(P) * 100, Plgn(2).MaximumR(P)) & "%" Next P Case 3 For P = 1 To UBound(NamaPinjaman) shpr3(p).width = Hitung(Plgn(3).PenempatanR(P), 795, Plgn(3).MaximumR(P)) lblp3(p).caption = Plgn(3).PenempatanR(P) & "/" & Plgn(3).MaximumR(P) 'lblp3(p).caption = Bagi(Plgn(3).PenempatanR(P) * 100, Plgn(3).MaximumR(P)) & "%" Next P Case 4 For P = 1 To UBound(NamaPinjaman) shpr4(p).width = Hitung(Plgn(4).PenempatanR(P), 795, Plgn(4).MaximumR(P)) lblp4(p).caption = Plgn(4).PenempatanR(P) & "/" & Plgn(4).MaximumR(P) 'lblp4(p).caption = Bagi(Plgn(4).PenempatanR(P) * 100, Plgn(4).MaximumR(P)) & "%" Next P Case 5 For P = 1 To UBound(NamaPinjaman) shpr5(p).width = Hitung(Plgn(5).PenempatanR(P), 795, Plgn(5).MaximumR(P)) lblp5(p).caption = Plgn(5).PenempatanR(P) & "/" & Plgn(5).MaximumR(P) 'lblp5(p).caption = Bagi(Plgn(5).PenempatanR(P) * 100, Plgn(5).MaximumR(P)) & "%" Next P End Select 'Hitung Private Function Hitung(ByVal A1 As Double, ByVal A2 As Double, ByVal A3 As Double) As Double If A3 = 0 Then Hitung = A2 Else Hitung = Round(A1 * A2 / A3) End Function 6. Form Modul Banker Option Explicit 'Hasil Transaksi

Public H As String 'Hasil Analisis Public HA As String 'Indeks Pelanggan Public JlhIndeks As Long 'Nama Pinjaman Public NamaPinjaman() As String 'Waktu Simulasi Public WaktuSimulasi As Long 'Properti Banker Public Type PropBanker MaximumR() As Integer TersediaR() As Integer TempTersediaR() As Integer End Type 'Bank Public Bank As PropBanker 'Properti Pelanggan Public Type PropPlgn 'Indeks Indeks As Integer 'Tipe Tipe As Integer 'Sedang aktif / tidak Aktif As Boolean 'Aktivitas Aktivitas As String 'Request Pinjaman RequestR() As Integer 'Maksimum Pinjaman MaximumR() As Integer 'Alokasi Pinjaman PenempatanR() As Integer TempPenempatanR() As Integer 'Maximum - Penempatan NeedsR() As Integer TempNeedsR() As Integer 'u/ Pinjaman Request Alg Finish As Boolean End Type

'Pelanggan Public Plgn(5) As PropPlgn 'Delay Public Declare Sub Sleep Lib "kernel32" (ByVal dwmilliseconds As Long) 'Help Public Const HH_DISPLAY_TOPIC = &H0 Public Const HH_CLOSE_ALL = &H12 Public Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" _ (ByVal hwndcaller As Long, ByVal pszfile As String, ByVal ucommand As Long, _ dwdata As Any) As Long