PERANGKAT LUNAK SIMULASI ALGORITMA BANKER DISUSUN OLEH : -- Lius Luaha -- Fiktus Gaurifa PROGRAM STUDY SISTEM INFORMASI UNIVERSITAS SARI MUTIARA INDONESIA MEDAN, 2015
PERANGKAT LUNAK SIMULASI ALGORITMA BANKER Latar Belakang Pemilihan Judul Algoritma Banker dikemukakan oleh Edsger W.Djikstra dan merupakan salah satu metode untuk menghindari deadlock. Algoritma ini disebut algoritma Banker karena memodelkan sebuah bank di kota kecil yang berurusan dengan sekumpulan nasabah yang memohon kredit. Analogi dari algoritma Banker dengan sistem operasi adalah, nasabah merupakan proses-proses yang sedang berjalan, uang (dana yang dimiliki bank) merupakan sumber daya, dan bankir merupakan sistem operasi. Setiap nasabah memiliki batas kredit. Apabila seorang nasabah telah mencapai batas kredit pinjaman, maka diasumsikan nasabah tersebut telah menyelesaikan semua permasalahan bisnisnya dan dapat mengembalikan semua pinjamannya kepada bank. Berdasarkan uraian di atas, penulis ingin merancang suatu perangkat lunak yang mampu untuk mensimulasikan proses kerja dari algoritma Banker dengan judul “Perangkat Lunak Simulasi Algoritma Banker”.
PEMBAHASAN Pembahasan perancangan perangkat lunak simulasi algoritma Banker mencakup alur kerja perangkat lunak, pembuatan objek gambar simulasi dan proses kerja algoritma Banker yang terdiri atas algoritma Safety dan algoritma Resource Request. Masing-masing pembahasan akan dibahas berikut ini. Alur Kerja Perangkat Lunak Perangkat lunak simulasi algoritma Banker dimulai dengan menampilkan splash screen yang berisi nama perangkat lunak dan nama penyusun tugas sebagai pembuat program. Selanjutnya, akan muncul form input. Dalam form ini, user dapat memilih banyak tipe resource yang dimiliki bank, memasukkan nama resource (yang diasumsikan berupa mata uang yang dimiliki bank), besar resource yang dimiliki bank dan mengatur keadaan awal simulasi customer. Keadaan awal simulasi berupa batas maksimum dan besar alokasi resource customer pada saat simulasi akan dimulai. Keadaan awal bersifat optional, artinya dapat di-input atau tidak di-input. Apabila tidak di-input, maka perangkat lunak menganggap tidak ada customer yang berada di dalam bank ketika simulasi akan dimulai dan perangkat lunak akan menghasilkan kondisi-kondisi berikutnya secara acak.
Selanjutnya, pilih ’Mulai Simulasi Banker’ untuk memulai proses simulasi. Form simulasi akan muncul dan mensimulasikan proses permohonan kredit di dalam bank dengan menerapkan algoritma Banker. Setiap transaksi yang terjadi di dalam simulasi dapat ditampilkan ke layar ataupun tidak. Transaksi yang terjadi di dalam simulasi berupa permohonan kredit (request), pemenuhan permohonan kredit (approved), penundaan permohonan kredit (pending) dan pengembalian kredit (return). Penggunaan algoritma Banker (algoritma Resource Request dan algoritma Safety) untuk memutuskan apakah permohonan kredit disetujui (approved) atau permohonan kredit ditunda (pending) juga akan dirincikan proses kerjanya. User juga dapat memilih tombol ’History Transaksi’ untuk menampilkan catatan transaksi yang telah terjadi dalam simulasi. Ketika simulasi sedang berjalan, user dapat menekan tombol ’Stop’ untuk menghentikan proses simulasi untuk sementara dan menekan tombol ’Play’ kembali untuk melanjutkan proses simulasi. Hal ini dimaksudkan agar user dapat mengamati dan mengikuti proses yang sedang terjadi.
Pembuatan Objek Gambar Simulasi Bankir. Bankir merupakan variabel yang berfungsi untuk memutuskan apakah permohonan kredit disetujui atau ditunda / ditolak. Objek gambar yang merepresentasikan bankir dapat. Kasir. Kasir merupakan variabel pelengkap yang berfungsi untuk memberikan uang kepada customer apabila permohonan kredit disetujui. Objek gambar yang merepresentasikan kasir.
Customer. Customer merupakan variabel yang berfungsi untuk memohon kredit kepada bank. Objek gambar yang merepresentasikan customer .
Uang. Uang merupakan variabel yang berfungsi sebagai resource. Objek gambar yang merepresentasikan uang. Gambar pelengkap lainnya, seperti: gambar keadaan di dalam bank, meja bankir, meja kasir, dan beberapa gambar lainnya.
Perancangan Perancangan perangkat lunak simulasi algoritma Banker menggunakan bahasa pemograman Microsoft Visual Basic 6.0. Perangkat lunak ini memiliki beberapa form, antara lain: Form Splash Screen. Form Input. Form Simulasi. Form Note (Laporan). Form About. Inti dari perancangan animasi adalah menggunakan komponen timer dari visual basic. Setiap satu interval waktu, timer memeriksa semua keadaan objek pada perangkat lunak dan menggerakkan objek ke keadaan berikutnya. Misalnya, apabila customer-1 sedang berjalan ke atas dengan menggerakkan kaki kiri, maka pada kondisi berikutnya, timer akan mengganti gambar tersebut dengan gambar customer-1 sedang berjalan ke atas dengan menggerakkan kaki kanan.
Form Input Form input merupakan form yang berfungsi untuk mengatur input perangkat lunak. Input perangkat lunak berupa banyak tipe resource yang dimiliki bank (maksimum 5 tipe), nama resource (diasumsikan berupa mata uang yang dimiliki bank), besar resource yang dimiliki bank (dana yang dimiliki bank) dan mengatur keadaan awal simulasi customer. Keadaan awal simulasi berupa batas maksimum dan besar alokasi resource customer pada saat simulasi akan dimulai. Keadaan awal customer bersifat optional, artinya tidak wajib di-input. Apabila keadaan awal customer tidak di-input, maka perangkat lunak menganggap bank berada dalam keadaan kosong pada saat simulasi dimulai, menunggu customer masuk ke dalam bank satu per satu. Keadaan berikutnya dihasilkan secara acak oleh komputer.
Keterangan: 1 : Title Bar. 2 : tombol ’Close’, untuk menutup form. 3 : combobox ’Tipe Resource’, untuk memilih banyak tipe resource. 4 : textbox ’Lama Simulasi’, untuk memasukkan lama simulasi. 5 : tabel ’Nama Resource’, untuk memasukkan nama resource. 6 : tabel ’Besar Resource Bank’, untuk memasukkan besar resource bank. 7 : checkbox, untuk memilih untuk meng-input keadaan awal simulasi atau tidak. 8 : tombol ’Acak’, untuk menghasilkan keadaan awal secara acak. 9 : tabel ’Keadaan awal Customer’, untuk mengatur keadaan awal customer. 10 : tombol ’About’, untuk menampilkan form About. 11 : tombol ’Help’, untuk menampilkan dokumentasi help. 12 : tombol ’Mulai Simulasi Banker’, untuk menampilkan form Simulasi. 13 : tombol ’Keluar’, untuk menutup perangkat lunak.
Form Simulasi Keterangan: 1 : label, untuk menampilkan waktu (t). 2 : tombol ’Play’, untuk memulai proses simulasi. 3 : tombol ’Pause’, untuk menghentikan proses simulasi. 4 : tombol ’Exit’, untuk menutup form simulasi. 5 : tombol ’History Transaksi’, untuk menampilkan catatan transaksi yang terjadi dalam form note (laporan). 6 : checkbox ’Tampilkan hasil analisis setiap terjadi transaksi’, mengaktifkan pilihan untuk menampilkan hasil analisis setiap terjadi transaksi persetujuan (approved) atau penundaan (pending). 7 : objek gambar bankir. 8 : daerah tampilan progress bar, untuk menampilkan sisa resource bank. 9.a, 9.b, 9.c, 9.d, 9.e : objek gambar kasir. 10.a, 10.b, 10.c, 10.d, 10.e : label, untuk menampilkan urutan customer. 11.a, 11.b, 11.c, 11.d, 11.e : objek gambar customer. 12.a, 12.b, 12.c, 12.d, 12.e : daerah tampilan progress bar, untuk menampilkan sisa resource customer. 13 : slider, untuk mengatur kecepatan animasi. Form Simulasi
Form Note (Laporan) Form note (laporan) merupakan form yang menampilkan hasil analisis algoritma terhadap suatu transaksi permohonan kredit dan catatan transaksi yang terjadi. Rancangan form note (laporan) dapat dilihat pada gambar di bawah ini. Keterangan: 1 : Title Bar. 2 : tombol ’Minimize’, untuk me-minimize form. 3 : tombol ’Maximize’, untuk me-maximize form. 4 : tombol ’Exit’, untuk menutup form. 5 : richtextbox, untuk menampilkan hasil analisis atau catatan transaksi yang terjadi.
Form About Form about merupakan form yang berfungsi untuk menampilkan nama perangkat lunak, nama dan nomor induk mahasiswa pembuat, nama kampus dan teori algoritma Banker. Rancangan form About dapat dilihat pada gambar di bawah ini. Keterangan: 1 : Title Bar. 2 : tombol ’Exit’, untuk menutup form. 3 : image, sebagai logo perangkat lunak. 4 : label, untuk menampilkan nama perangkat lunak. 5 : textbox, untuk menampilkan teori algoritma Banker. 6 : label, untuk menampilkan nama pembuat, nama kampus, nama kampus dan tahun pembuatan perangkat lunak. 7 : tombol ’OK’, untuk menutup form.
Keterangan, 1 : title bar. 2 : tombol ‘Minimize’, untuk me-minimize form. 3 : tombol ‘Maximize’, untuk me-maximize form. 4 : tombol ‘Exit’, untuk menutup form. 5 : tombol ‘Hide’, berfungsi untuk menyembunyikan table of content. 6 : tombol ‘Back’, berfungsi untuk kembali ke halaman sebelumnya. 7 : tombol ‘Print’, berfungsi untuk mencetak halaman yang sedang aktif (tampil). 8 : tombol ‘Options’, terdiri dari beberapa sub menu antara lain, Hide Tabs, berfungsi untuk menyembunyikan table of content. Back, berfungsi untuk kembali ke halaman sebelumnya. Forward, berfungsi untuk menuju ke halaman selanjutnya. Home, berfungsi untuk kembali ke halaman awal. Stop, berfungsi untuk berhenti membuka halaman yang aktif. Refresh, berfungsi untuk me-refresh halaman yang sedang aktif. Internet Options, berfungsi untuk menampilkan form setting internet. Print, berfungsi untuk mencetak halaman yang sedang aktif. 9 : table of content, berisi topik – topik yang tersedia pada help. 10 : daerah teks topik, berisi teks yang berhubungan dengan topik yang dipilih pada table of content. Perancangan Help Help dari perangkat lunak simulasi algoritma Banker ini dirancang dengan menggunakan aplikasi RoboHELP HTML Edition.
SEKIAN DAN TERIMAKASIH