BAB 1
PENDAHULUAN
1.1 Latar Belakang
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.
Setiap nasabah dapat memohon kredit pada suatu waktu dan bankir dapat menyetujui atau menolak permohonan tersebut. Jika ditolak, nasabah masih menggenggam dana yang telah dipinjamkan untuknya dan menunggu selama waktu berhingga sampai permohonannya dapat disetujui. Bankir hanya memberikan permintaan yang menghasilkan state selamat. Permohonan kredit yang akan menghasilkan state tidak selamat secara berulang ditolak sampai permohonan tersebut
2
dapat dipenuhi. Persetujuan atau penolakan permohonan kredit ditentukan dengan menggunakan algoritma Safety dan algoritma Permintaan Pinjaman. 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”.
1.2 Rumusan Masalah
Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah bagaimana menampilkan simulasi proses kerja dari algoritma Banker.
1.3 Batasan Masalah
Adapun batasan-batasan yang diberikan agar penyelesaian masalah tidak terlalu kompleks adalah sebagai berikut: 1. Input dari perangkat lunak adalah, a. Jumlah tipe Pinjaman minimal 1 dan maksimal 5. b. Tersedia, menunjukkan Pinjaman-Pinjaman yang tersedia untuk setiap tipe, memiliki batasan nilai minimal 1 dan maksimal 100. c. Maximum,
mendefinisikan
jumlah
Pinjaman
maksimum
yang
dialokasikan untuk setiap proses, memiliki batasan nilai minimal 1 dan maksimal 30.
3
2. Kondisi simulasi (kondisi awal, permohonan Pinjaman, besarnya Pinjaman dan pengembalian Pinjaman) dihasilkan secara acak (random) oleh komputer. 3. Jumlah tempat pelayanan nasabah (counter) dibatasi sebanyak 5 buah. 4. Perangkat lunak akan menampilkan laporan mengenai data-data nasabah yang melakukan transaksi. 5. Laporan tersebut dapat disimpan ke dalam bentuk text file. 6. Kecepatan animasi dapat diatur secara manual. 7. Waktu atau lamanya proses simulasi dapat ditentukan sendiri.
1.4 Tujuan dan Manfaat
Tujuan penyusunan tugas akhir ini adalah untuk merancang suatu perangkat lunak simulasi algoritma Banker.
Manfaat dari penyusunan tugas akhir ini, yaitu : 1.
Untuk membantu pemahaman mengenai algoritma Banker.
2.
Perangkat lunak juga dapat digunakan sebagai fasilitas pendukung dalam proses belajar mengajar, terutama mengenai mata kuliah Sistem Operasi.
1.5 Metodologi Penyelesaian
Langkah–langkah pembuatan perangkat lunak ini antara lain : a. Membaca dan mempelajari buku–buku yang berhubungan dengan Sistem Operasi. b. Mempelajari proses kerja dari algoritma Banker.
4
c. Mempelajari teknik-teknik dasar pemrograman dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0. d. Merancang interface untuk perangkat lunak simulasi. e. Merancang
suatu
perangkat
lunak
simulasi
algoritma
Banker
dengan
menggunakan bahasa pemrograman Visual Basic 6.0. f. Menguji perangkat lunak dan memperbaiki kesalahan (error) yang muncul.
1.6 Sistematika Penulisan
Agar dapat memberikan gambaran yang jelas pada penulisan tugas akhir ini, maka penulis membaginya dalam beberapa bab sebagai berikut :
Bab 1 : Pendahuluan Bab ini menguraikan latar belakang masalah, identifikasi masalah, batasan masalah, tujuan dan manfaat, metodologi penyelesaian, dan sistematika penulisan.
Bab 2 : Landasan Teori Bab ini berisikan teori-teori pendukung dalam penulisan Tugas Akhir ini. Teori tersebut diperoleh dari berbagai sumber, diantaranya dari buku-buku dan internet mengenai Microsoft Visual Basic 6.0.
Bab 3 : Perancangan Sistem
5
Bab ini menguraikan tentang perancangan sistem yang dirancang yang meliputi perancangan menu, state transition diagram (STD) Program, gambaran sistem informasi yang akan dibuat serta bagaimana algoritma aplikasi tersebut saat dijalankan.
Bab 4 : Implementasi Sistem Bab ini menjelaskan tentang algoritma, implementasi perangkat lunak, defenisi implementasi sistem, tujuan implementasi sistem, komponen yang dibutuhkan dalam implementasi sistem.
Bab 5 : Kesimpulan Dan Saran Bab ini menguraikan kesimpulan dan saran-saran dari hasil pembuatan tugas akhir ini.