IMPLENTASI ALGORITMA BANKER UNTUK OPTIMALISASI
RESOURCE REQUEST MESIN PRODUKSI BARANG PECAH
BELAH PT.KEDAUNG MEDAN IND.LTD
SUSI PUSPITA SARI (12110372)Mahasiswa Program Studi Teknik Informatika STMIK Budidarma Medan Jl. Sisingamangaraja No. 338 Simpang Limun Medan
http://stmik-budidarma.ac.id//Email: Susipuspita16@gmail.com
ABSTRAK
Manajemen sumber daya alat/mesin dalam kegiatan produksi pabrik sangat diperlukan agar setiap bidang kerja dari awal sampai selesai dapat bekerja dengan baik. Kesalahan-kesalahan dalam bekerja oleh karyawan tidak hanya dipicu kelalaian atau kecerobohan saja. Kesalahan pekerjaan ini bisa karena tidak baiknya tata kelola penjadwalan pemakaian alat/mesin produksi, ketersediaan alat/mesin produksi di lapangan yang kurang memadai atau dapat juga karena bahan produksi tidak seimbang dengan alat/mesin dan karyawan yang mengoperasikannya. Permasalahan deadlock terjadi karena sekumpulan proses-proses yang di blok dimana setiap proses membawa sebuah sumber daya dan menunggu mendapatkan sumber daya yang dibawa oleh proses lain. Kita asumsikan masing-masing proses meminta batas maksimum sumber daya. Jika bankir memiliki cukup sumber daya yang tersisa untuk memastikan bahwa semua proses dapat berakhir dengan aman. Ini menunjukan keadaan dalam safe state dan peminjam disetujui. Tetapi apabila setelah peminjaman, bankir tidak dapat menjamin semua proses dapat berakhir dengan semestinya, maka ini disebut unsafe state.dalam kasus ini, peminjam akan ditunda atau diblok hingga peminjaman tidak menyebabkan unsafe state pada sistem.
Kata kunci : Optimalisasi, Resource Request, Mesin Produksi, Algoritma Banker. 1. PENDAHULUAN
1.1 Latar Belakang Masalah
Manajemen sumber daya alat/mesin dalam kegiatan produksi pabrik sangat diperlukan agar setiap bidang kerja dari awal sampai selesai dapat bekerja dengan baik. Kesalahan-kesalahan dalam bekerja oleh karyawan tidak hanya dipicu kelalaian atau kecerobohan saja. Kesalahan pekerjaan ini bisa karena tidak baiknya tata kelola penjadwalan pemakaian alat/mesin produksi, ketersediaan alat/mesin produksi di lapangan yang kurang memadai atau dapat juga karena bahan produksi tidak seimbang dengan alat/mesin dan karyawan yang mengoperasikannya. PT. Kedaung Medan Ind.Ltd adalah perusahaan barang pecah belah dan bahan baku yang digunakan adalah pasir putih atau pasir halus. PT. Kedaung Medan Ind.Ltd termasuk perusahan yang berada di Jalan Medan Raya – Lubuk Pakam KM.18,5 Tanjung Morawa di Kabupaten Deli Serdang.
Dalam usaha perindustrian yang dilakukan PT. Kedaung Medan Ltd.Ind untuk mengoptimalkan produksi sebagai upaya kesinambungan bidang-bidang kerja terhadap hasil produksi hanya dengan penjadwalan kerja yang telah menjadi standar aturan kerja. Mekanisme ini dapat berjalan dengan baik tetapi perlu diperhatikan juga masalah-masalah dalam produksi seperti jumlah bahan olahan tidak sesuai dengan waktu pengerjaan produksi, gagal produksi dikarenakan terjadinya deadlock
(Kebuntuan) resource request (permintaan sumberdaya) alat/mesin produksi sehigga tidak
tercapai target produksi. Dengan demikian diperlukan suatu pemecahan masalah tersebut pada PT. Kedaung Medan Ind.Ltd untuk mengetahui produksi pecah belah.
Permasalahan deadlock terjadi karena sekumpulan proses-proses yang di blok dimana setiap proses membawa sebuah sumber daya dan menunggu mendapatkan sumber daya yang dibawa oleh proses lain (Dion Jogi Parlinggoman, 2011; 3). 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 sumberdaya, dan banker 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 (Sari, H Utawi dan Wahyuni, Linda; 2011; 2).
1.2 PerumusanMasalah
Berdasarkan latar belakang masalah di atas, maka penulis membuat beberapa perumusan masalah sebagai berikut :
1. Bagaimana mengoptimalkan proses permintaan sumberdaya mesin produksi dengan Algoritma Banker ?
2. Bagaimana menerapkan Algoritma Banker untuk optimalisasi resources reques tmesin produksi dalam bentuk sistem ?
3. Bagaimana mengimplementasikan Algoritma Banker untuk optimalisasi resources request mesin produksi ?
1.3 Batasan Masalah
Agar pembahasan penelitian ini tidak menyimpang dariapa yang telah dirumuskan, maka diperlukan batasan-batasan dalam penelitian ini yaitu :
1. Peminjam merupakan karyawan bagian produksi, Uang (Resource) adalah mesin produksi dan Bankir adalah bagian pengelola mesin produksi (staf mesin).
2. Pembahasan deadlock yang dimaksudkan untuk mengetahui penggunaan mesin produksi secara optimal.
3. Mesinproduksi yang
dimaksudkanadalahmesinproduksipecah belah yang terdapatpada PT. Kedaung Medan Ind.Ltd.
4. Penulis tidak membahas penjadwalan secara
akurat, tidak membahas algoritma
penjadwalan, dan tidak membahas Sistem Operasi.
5. Penulis hanya menganalisa, menerapkan dan menguji dengan aplikasi Visual Studio 2008 (VB.Net 2008).
1.4 Tujuan Penelitian Dan Manfaat Penelitian
Adapun tujuan penyusunan skripsi ini adalah sebagai berikut ini:
1. Mengetahui alokasi permintaan sumberdaya mesin produksi yang berjalan pada PT. Kedaung Medan Ind.Ltd.
2. Melakukan analisa pengoptimalan proses permintaan sumberdaya mesin produksi dengan Algoritma Banker.
3. Mengimplementasikan Algoritma Banker untuk optimalisasi resources request mesin produksi dalam bentuk sistem.
Adapun manfaat yang diharapkan berdasarkan tujuan penelitian yang telah disebutkan di atas, maka penilitian ini mempunyai manfaat sebagai berikut :
1. Agar dapat melakukan analisa pengoptimalan proses permintaan sumberdaya mesin produksi dengan Algoritma Banker.
2. Agar dapat mengimplementasikan Algoritma Banker untuk optimalisasi resources request mesin produksi dalam bentuk sistem.
3. Agar dapat diterapkan di PT. Kedaung Medan Ind.Ltd dalam kegiatan produksi barang pecah belah.
2. LANDASAN TEORI 2.1 Implementasi
Menurut kamus besar Bahasa Indonesia, Implementasi adalah pelaksanaan atau penerapan. Sedangkan menurut Susilo, Implementasi merupakan suatu penerapan ide, konsep, kebijakan atau inovasi dalam suatu tindakan praktis sehingga memberikan dampak baik, berupa perubahan pengetahuan, keterampilan maupun nilai dan sikap. (Umar Usman, 2004).
2.2 Algoritma
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
Diagram Alur sering digunakan untuk menggambarkan sebuah kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
2.3 Algoritma Banker
Algoritma Banker dikemukakan oleh Edsger W.Dijkstra dan merupakan sebuah strategi untuk menghindari proses yang ditolak atau ditunda. Algoritma ini disebut algoritma Banker karena memodelkan banker di kota kecil yang berurusan dengan sekumpulan nasabah yang memohon kredit.Model ini menggunakan suatu kota kecil sebagai percontohan dengan suatu bank sebagai sistem operasi, pinjaman sebagai sumber daya dan peminjam sebagai proses yang membutuhkan sumber daya. Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya. (Bambang Hariyanto, 2009)
Dalam buku Bambang Hariyanto Beberapa kelemahan algoritma Bankir menurut Tanenbaum (1992), Stallings (1995) dan Deitel (1990) adalah sebagai berikut:
Sulit untuk mengetahui seluruh sumber daya yang dibutuhkan proses pada awal eksekusi.
1. Jumlah proses yang tidak tetap dan berubah-ubah.
2. Sumber daya yang tadinya tersedia dapat saja menjadi tidak tersedia kembali.
3. Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi antar proses.
4. Algoritma ini menghendaki memberikan semua permintaan selama waktu yang berhingga. Algoritma ini mencegah terjadinya proses yang ditolak atau ditunda dengan memutuskan apakah menyetujui atau menunda permintaan sumber daya oleh proses. Ketika sebuah proses meminta sumber daya, maka permintaan tersebut harus diperiksa oleh bankir.
2.4 Struktur Algoritma Banker
Dalam buku masyarakat digital gotong royong 2006 Secara umum algoritma bankir dapat dibagi menjadi empat struktur data, anggap variabel n adalah jumlah proses dalam sistem dan m jumlah sumber daya yang ada (MDGR, 2006):
1. Available: Sebuah vektor m mengindikasikan sumber daya yang tersedia untuk setiap tipe. Jika Avilable[j] = k, dimana k instansi dari tipe Rj yang tersedia.
2. Max: Matriks n x m mendefinisikan maksimal permintaan tiap proses. Jika Max[i,j] = k, maka proses Pi meminta paling banyak k instansi dari sumber daya tipe Rj.
3. Allocation: Matriks n x m mendefinsikan jumlah sumber daya setiap tipe yang dialokasian oleh setiap proses. Jika Allocation[i,j] = k, maka proses Pi dialokasikan k instansi dari sumber daya Rj.
4. Need: Matriks n x m yang mengindikasikan sisa sumber daya yang dibutuhkan setiap proses. Jika Need[i,j] = k, maka proses Pi membutuhkan lebih k instansi dari sumber daya Rj untuk menyelesaikan tugasnya. Need[i,j]= Max[i,j] – Allocation[i,j].
Bentuk penyajian algoritma ini secara sederhana, misalkan X dan Y adalah vektor dengan panjang n. sehingga X ≤ Y jika dan hanya jika X[i] ≤ Y[i] untuk semua I = 1,2,..,n. contohnya, jika X=(1,7,3,2) dan
Y = (0,3,2,1) maka Y≤X. Y<X jika Y≤X dan Y≠X.
2.5 Algoritma Aman (Safety)
Algortima ini mencari apakah system dalam status amanatautidak. Penjelasan algoritma adalah sebagai berikut (MDGR, 2006):
1. Anggap Work dan Finish adalah vector dengan panjang masing-masing m dan n. Nilai awal Work=Available dan Finish[i]=FALSE untuk i=1,2,…,n;
2. Cari i sehingga didapatkan Finish[i]=FALSE, dan Need ≤ Work, jika i tidak ditemukan, diteruskan ke langkah 4.
3. Work=Work + Allocation Finish[i]=TRUE
Kelangkah 2
Jika Finish[i]=TRUE untuk semua i,maka system dalam status aman.
2.6 Algoritma Resource-Request
Request merupakan vector permintaan untuk proses Pi. Jika Request [j]=k, maka proses Pi menginginkan k instasi sumberdaya Rj. Ketika permintaan sumberdaya dibuat oleh proses Pi, beberapa aksi berikut diikut sertakan:
1. Jika Requesti ≤ Needi, kelangkah 2.Selain itu
berikan status kondisi error, karena melebihi batas maksimal kebutuhan.
2. Jika Requesti ≤ Available, kelangkah 3.Selain
itu, Pi harus menunggu, karena sumberdaya belum tersedia.
3. Sistem menganggap telah mengalokasikan sumberdaya yang dibutuhkan untuk proses Pi, denganmemodifikasi status sebagai berikut:
Available = available - Requesti ;
Allocationi = Allocationi + Requesti ;
Needi = Needi– Requesti ;
Jika hasil pengalokasian sumberdaya dengan status aman, transaksi telah selesai dan proses Pi mengalokasikan sumberdaya tersebut. Namun jika status tidak aman, maka Pi harus menunggu selama Requesti dan sumberdaya telah dikembalikan.
3. ANALISA DAN PERANCANGAN 3.1 Analisa Masalah
Kegiatan produksi yang dilakukan berdasarkan jadwal yang telah disusun. Ada 3 shift dalam penjadwalan PT. Kedaung Medan Industrial, Ltd, yaitu shift 1, shift 2, dan shift 3. Penjadwalan ini dilakukan secara rutinitas setiap waktu kerja. Sehingga tidak terdapat masalah-masalah dalam penjadwalan tersebut. tetapi masalah dapat terjadi pada saat terdapatnya bahan olahan yang harus diselesaikan pada saat jadwal rutin produksi, seperti salah satu shift secara ketentuannya mampu mengerjakan.
3.2 Proses Algortima Banker
Langkah pertama dalam penerapan algoritma banker untuk menyelesaikan masalah optimasi resource request mesin produksi yaitu melihat pemetaan jadwal produksi, peta jadwal produksi secara rutinitas. Pemetaan jadwal produksi yang penulis gunakan adalah alternatif dengan maksud sebagai penganti pemetaan jadwal yang telah di sepakati oleh pihak PT. Kedaung Medan
Industrial, Ltd. Hal ini dikarenakan permintaan PT. Kedaung Medan Industrial, Ltd untuk tidak menyertakan jadwal produksi yang sebenarnya. Adapun jadwal tersebut dapat dilihat pada tabel 4.4 di bawah.
Tabel 4.4 Jadwal Produksi No. Nama Proces s Gelas (GL) gross/hari Piring (PR) gross/h ari Mangk okSayu r (MS) gross/h ari MangkokC uciTangan (MC) gross/hari Mangkok ATL(MA ) gross/hari 1. Shift 1 1000 400 200 200 200 2. Shift 2 1000 400 200 200 200 3. Shift 3 1000 400 200 200 200
3.3 Kondisi Aman Max = Allocation
Dari tabel 4.4 di atas untuk setiap hari kerja shift 1, shift 2, dan shift 3 melakukan produksi GL, PR, MS, MC, dan MA dengan nilai capaian yang sama, yaitu GL sebanyak 1000 gross, PR sebanyak 400 gross, MS sebanyak 200 gross, MC sebanyak 200 gross, dan MA sebanyak 200 gross. Maka pembuatan matriks Max dan Allocation yang mana nilai Allocation sama dengan nilai Max dapat dilakukan, berikut tabel 4.5 matrik Max dan
Allocation.
Tabel 4.5 NilaiMatrikMax Dan AllocationSama N o . N a m a Pr oc es s M a x All oca tio n G L PR M S M C M A G L P R M S M C M A 1 . Sh ift 1 1 0 0 0 40 0 2 0 0 2 0 0 2 0 0 1 0 0 0 4 0 0 2 0 0 2 0 0 2 0 0 2 . Sh ift 2 1 0 0 0 40 0 2 0 0 2 0 0 2 0 0 1 0 0 0 4 0 0 2 0 0 2 0 0 2 0 0 3 . Sh ift 3 1 0 0 0 40 0 2 0 0 2 0 0 2 0 0 1 0 0 0 4 0 0 2 0 0 2 0 0 2 0 0
Karena nilai Max dan Allocation sama atau produksi maksimal dan alokasi produksi sama maka kebutuhan (Need) untuk setiap shift 0. Hasil tersebut di dapatkan dari Need = Max – Allocation. Matrik Need dapat dilihat pada tabel 4.6.
Tabel 4.6 Matrik Need
No. Nama Process Need GL PR MS MC MA 1. Shift 1 0 0 0 0 0 2. Shift 2 0 0 0 0 0 3. Shift 3 0 0 0 0 0 3.4 KondisiAmanMax>Allocation
Pada bagian ini harus mengetahui nilai Resource dan Available. Nilai Resources adalah total produksi untuk setiap shift diketahui dari tabel 4.2 yaitu table maksimal produksi perhari. Nilai
Resources yaitu GL = 3300 gross, PR = 1500 gross,
MS = 900 gross, MC = 900 gross, dan MA = 900 gross.Sedangkan available didapatkan Available = nilai Resources – matrik total Allocation. Berikut untuk setiap hari kerja shift 1, shift 2, dan shift 3 melakukanproduksi GL, PR, MS, MC, dan MA dengan nilai Allocation tidak sama dari tabel 4.4, Tabel 4.7 Nilai Matrik Max > Allocation
N o . Na ma Pr oc ess Max Allocation G L P R M S M C M A G L P R M S M C M A 1 . Sh ift 1 1 0 0 0 4 0 0 2 0 0 2 0 0 2 0 0 9 5 0 4 0 0 1 8 0 1 8 5 1 8 5 2 . Sh ift 2 1 0 0 0 4 0 0 2 0 0 2 0 0 2 0 0 9 1 0 3 9 0 1 8 0 1 8 0 1 8 0 3 . Sh ift 3 1 0 0 0 4 0 0 2 0 0 2 0 0 2 0 0 9 0 0 3 7 0 1 7 0 1 8 0 1 7 0 Total Allocation : 2 7 6 0 1 1 6 0 5 3 0 5 4 5 5 3 5
Dari tabel 4.7 di atas untuk nilai matrik total Allocation = [2760, 1160, 530, 545, 535], maka dapat di cari nilai Available, yaitu
Available = nilai Resources – matrik total
Allocation.
= [3300,1500,900,900,900] –
[2760,1160,530,545,535]
= [540,340,370,355,365]
Untuk Matrik Need setiap proses (shift) dapat dilihat pada tabel 4.8.
Tabel 4.8 Matrik Need
No. Nama Process Need GL PR MS MC MA 1. Shift 1 50 0 20 15 15 2. Shift 2 90 10 20 20 20 3. Shift 3 100 30 30 20 30
Setelah diketahui Need, maka langkah selanjutnya melihat kondisi apakah ada deadlock atau tidak yaitu dengan cara :
Jika NEED [i] ≤ Available, maka Finish[i]=True lakukan work = work + Allocation[i], Work adalah Nilai Available. Dan jika NEED [i] >Available,
Finish[i]=False dan lakukan pemeriksaan untuk process berikutnya,
Untuk Shift 1, NEED Shift 1 ≤ Available,
[50 0 20 15 15] ≤
[540 340 370 355 365]
Finish[Shift 1]=True
work = work + Allocation[Shift 1]
=[540 340 370 355 365]+
[950 400 180 185 185]
= [1490 749 550 540 550]
work Available
Untuk Shift 2, NEED Shift 2 ≤ Available,
[50 0 20 15 15] ≤
[1490 749 550 540 550]
Finish[Shift 2]=True
work = work + Allocation[Shift 2]
=[1490 749 550 540 550]+ [910 390 180 180 180]
= [2400 1130 730 720 730]
work Available
Untuk Shift 3, NEED Shift 3 ≤ Available,
[50 0 20 15 15] ≤
[2400 1130 730 720 730]
Finish[Shift 3]=True
work = work + Allocation[Shift 3]
=[2400 1130 730 720 730]+ [900 370 170 180 170]
= [3300 1500 900 900 900]
work Available
Dari pemeriksaan diketahui :
Finish[Shift 1]=True, Finish[Shift 2]=True, Finish[Shift 3]=True,
Maka status safe atau tidak ada deadlock : Nilai Resources= Work[n]
[3300 1500 900 900 900] =
[3300 1500 900 900 900] (Shift 1, Shift 2, Shift 3)
3.5 Kesimpulan Hasil
Jika Max = Allocation, maka kondisi Aman, dan jika Max > dari Allocation, maka kondisi juga aman. Tetapi kondisi tidak aman (deadlock) jika Total Max > Nilai Resources, dan dapat juga salah satu shift Finish = false tidak pernah true.
3.6 Pemodelan Unified Modelling Language(UML
Unified Modelling Language (UML) pada
sistem yang dirancang terdapat actor yaitu User
Administrator. Pemodelan UML yang penulis
3.7 Perancangan Database
Berikut adalah tabel-tabel yang terdapat dalam basis data yang digunakan dalam sistem yang akan dibangun.
1. PerancanganTabeljadwal
Tabel 4.9 Jadwal
Nama Database : produksi
Nama Tabel : tjadwal
Field Name
Type Size Descript
ion Kdj Varchar 5 Kode shift Nmj Varchar 35 Nama shift 2. PerancanganTabelMesin Tabel 4.10 Mesin
Nama Database : produksi
Nama Tabel : tmesin
Field Name
Type Size Descript
ion Kdm Varchar 5 KodeM esin Nmm Varchar 35 NamaM esin Jmlm Varchar 4 Jumlah Mesin 3. PerancanganTabelProduksi Tabel 4.11 Produksi
Nama Database : produksi
Nama Tabel : tproduksi
Field Name
Type Size Descript
ion Nmm Varchar 35 NamaJa dwal Shift mms1 Varchar 5 Jumlah max gl mms2 Varchar 5 Jumlah max pr mms3 Varchar 5 Jumah max ms mms4 Varchar 5 Jumlah max mc mms5 Varchar 5 Jumlah max ma
ams1 Varchar 5 Jumlah
allocatio n gl
ams2 Varchar 5 Jumlah
allocatio n pr
ams3 Varchar 5 Jumlah
allocatio n ms
allocatio n mc
ams5 Varchar 5 Jumlah
allocatio n ma
4. ALGORITMA DAN IMPLEMENTASI 4.1 Algoritma
Algoritma Banker dalam komputer dikenal pada perkembangan sistem operasi yang mampu memanajemen sumber daya untuk berbagi pakai. Penerapan algoritma banker pada sistem operasi berjalan dengan sistem penjadwalan. Sementara penerapan algoritma banker pada optimasi mesin produksi tidak menyertakan penjadwalan karena penjadwalan pada mesin produksi PT.Kedaung dilakukan secara rutinitas. Tetapi sewaktu-waktu dapat terjadi perubahan produksi dikarenakan adanya peningkatan pesanan produk.
Algoritma untuk tahapan algoritma banker pada PT. Kedaung dilakukan dengan input data jadwal (shift), data mesin, data max dan allocation mesin. Sedangkan output yang dihasilkan adalah pernyataan safe (aman) atau unsafe (tidak aman). Safe berarti tidak terjadi deadlock sedangkan unsafe dapat terjadi deadlock dan jika deadlock maka produksi dari mesin cetakan tidak dapat dilakukan.
4.2 Algoritma Banker
Input : i ← pembacaan reources
(mesin cetakan)
j ← pembacaan shift
sebagai jadwal produksi
datamesin ← data input dari tabel mesin
datashift ← data input dari tabel shift
rvalue1(n) ← nilai awal resources maxvalue ← nilai max shift allovalue ← nilai allocation shift Output : navailable ← variabel available awal
nwork ← variabel available dalam pemeriksaan
needvalue ← variabel nilai need konstate ← variabel kondisi state yang menyatakan safe dan unsafe
Proses : Buka database produksi Baca datamesin dan datajadwal navailable = datamesin(i) input nilai max (maxvalue) urutkan nilai maxvalue input nilai allocation (allovalue)
akumulasi nilai work untuk available awal
nwork = allovalue(i) +
allovalue(j)
memproses nilai need
needvalue=maxvalue – allovalue periksa state/kondisi
for i = 0, need value (i) for j = 0, konstate(j) if needvalue(i) ≤ allovalue (i)then nwork = nwork(j) + allovalue(i) else if konstate to j end if next i next j selesai 4.3 Implementasi
Komputer sebagai sarana pengolahan program haruslah menyediakan fasilitas-fasilitas pendukunng dalam pengolahan nantinya. Secara proposional haruslah memenuhi akses yaitu Perangkat Keras (Handware) dan Perangkat Lunak (Software).
1. Form Menu Utama
Form Menu Utamaterdiri dari beberapa menu yaitu pilihan file, proses, dan keluar. Form menu utama dapat dilihat pada gambar 4.1.
Gambar 4.1 Form Menu Utama
2. Form Input Data Jadwal
Form input data jadwal akan tampil setelah memilih sub menu data jadwal pada menu file yang terfapat pada form menu utama. Form input data jadwal terdiri dari input kode shift dan nama shift. Sedangkan untuk pengoperasian data ke database terdiri tombol simpan, batal, edit, dan hapus serta tombol baru untuk memulai
input dan tombol keluar untuk menutup aplikasi. Pada bagian bawah form terdapat tampilan data pada database.
Gambar 4.2 Form Input data jadwal 3. Form Input Data Mesin
Form input data mesin akan tampil setelah memilih sub menu data mesin pada menu file yang terfapat pada form menu utama. Form input data mesin terdiri dari input kode mesin, nama mesin dan jumlah produksi. Sedangkan untuk pengoperasian data ke database terdiri tombol simpan, batal, edit, dan hapus serta tombol baru untuk memulai input dan tombol keluar untuk menutup aplikasi. Pada bagian bawah form terdapat tampilan data pada database.
Gambar 4.3 Form Input data mesin 4. Form input Max dan Allocation
Form input data max dan allocation mesin akan tampil setelah memilih sub menu max dan allocation data mesin pada menu file yang terfapat pada form menu utama. Form input data mesin terdiri dari input pilihan shift, jumlah max dari setiap mesin, dan jumlah allocation dari setiap mesin. Sedangkan untuk pengoperasian data ke database terdiri tombol simpan, batal, edit, dan hapus serta tombol baru untuk memulai input dan tombol keluar
untuk menutup aplikasi. Pada bagian bawah form terdapat tampilan data pada database.
Gambar 4.4 Form Input Max dan Allocation
5. Form Proses
Form proses terdapat bagian input kode proses, input shift, nilai max, dan nilai allocation diambil dari tabel mesin. Proses nilai need berlaku setelah penginputan nilai terakhir nilai allocation, setelah nilai need selesai diproses langsung memberikan status/kondisi state dan urutan shift. Berikutnya jika ada request dari shift lain maka diinput shift yang merequest dan jumlah produksi yang diinginkan. Setelah diinput untuk diproses maka pada inputan terakhir dienter, hasil kondisi/state ditampilkan. Untuk menyimpan terdapat tombol simpan dan untuk memulai baru dapat menggunakan tombol hapus, serta untuk kembali ke menu utama dapat menekan tombol keluar.
Gambar 5.5 Form Proses algoritma Banker
5. KESIMPULAN DAN SARAN 5.1 Kesimpulan
Setelah penelitian ini pada bagian akhir penulis membuat beberapa kesimpulan yaitu,
1. Pengoptimalan proses permintaan sumberdaya mesin produksi dilakukan dengan pemeriksaan jadwal produksi yang berlaku pada PT. Kedaung.
2. Mendefenisikan bagian-bagian algoritma banker sebagai entiti pada PT. Kedaung yaitu Bagian Produksi sebagai bankir, Mesin sebagai
resources, dan shift jadwal sebagai proses
3. Penerapan algoritma banker untuk optimalisasi resource request produksi mesin per shift dilakukan sebelum pengerjaan produksi diberlakukan. Jika perubahan produksi menghasilkan status safe maka produksi dari algoritma banker dapat dilaksanakan tettapi jika status unsafe berarti tidak boleh dilaksanakan.
5.2 Saran
Hasil penelitian ini tidak dapat dikatakan sempurna karena dalam melakukan penelitian penulis dapat mengetahui kendala-kendala dan kelemahan. Untuk itu penulis memberikan saran, yaitu.
1. Penulis berharap aplikasi ini dapat diterapkan pada PT. Kedaung Medan dan PT. Kedaung Medan dapat melakukan penginputan data secarareal time.
2. Supaya pengoptimalisian dapat berjalan dengan baik perlu pengembangan untuk tahap perancangan yang memfokuskan waktu yaitu waktu produksi dan waktu pengembalian.
3. Jumlah resources atau sumberdaya seperti mesin dapat ditambahkan lebih banyak lagi dan jumlah peminjam dapat ditentukan langsung dalam proses algoritma banker.
DAFTAR PUSTAKA
1. Adi Nugroho, 2006, “Analisis Dan Perancangan Sistem Informasi Dengan Metodologi Berorientasi Objek”,
Informatika, Bandung.
2. Bambang Hariyanto, 2009, “SISTEM
OPERASI” (Revisi Keempat), Informatika,
Bandung.
3. Masyarakat Digital Gotong Royong (MDGR), 2006, “ Sistem Operasi” Jakarta.
4. Bunafit Nugroho. 2008 “Aplikasi
Pemrograman Web Dinamis Dengan PHP dan. MySQL”, Gava Media, Yogyakarta.
5. Jogiyanto, 2007,“Analisis dan Desain Sistem
Informasi”, Andi, Yogyakarta
6. Rahmat Priyanto,”Belajar Visual Basic.Net
2008”, Graha Ilmu, Yogyakarta, 2009.
7. Utami Handika Tari dan Linda Wahyuni, 2015, ”Sistem Pemodelan Simulasi Permohonan Kredit Menggunakan Algoritma Banker”, Jurnal CCIT ISSN :
1978-8282, Tangerang.
8. http://www.id.wikipedia.org/pengenalan-algoritma dikunjungi tanggal 04 Juni 2016