Sistem pendukung pengambilan keputusan optimasi anggaran ini merupakan sebuah
sistem pendukung pengambilan keputusan yang dibuat untuk membantu pengguna dalam
mengelola anggaran sesuai dengan bobot dan proiritas barang agar optimal sesuai dengan
maksimal anggaran.
Sistem pendukung pengambilan keputusan optimasi anggaran ini menggunakan metode
knapsack problems dengan penyelesaian greedy by weigh, semakin tinggi bobot barang yang
diberikan maka barang tersebut semakin penting dan di prioritaskan. Data masukkan pada
sistem ini berupa file excel yang berekstensi .xlxs. Sistem ini dibangun menggunakan bahasa
pemrograman Java dengan database MySql yang berbasis dekstop.
Hasil akhir dari sistem ini yaitu, sistem ini melakukan perhitungan dari jumlah total
anggaran yang akan di bandingkan dengan maksimal anggaran yang di-input-kan. Jika jumlah
total anggaran melebihi maksimal anggaran maka akan dilakukan penghapusan dan atau
pemotongan jumlah barang yang tidak di prioritaskan. Data output rekomendasi dari sistem ini
berupa file excel yang berekstensi .xlxs.
The making support system of optimization of this budget is a
decision-making support system created to aid users in managing the budget in accordance with the
weights and proiritas the goods in order for optimal fit with a maximum budget.
Decision-making support system this budget optimization method using knapsack
problems with greedy finalization by weigh, the higher the weighting of goods that are given
then the goods are increasingly important and in priority. The data entered on the system in the
form of an excel file with extension. xlxs. The system is built using the Java programming
language with database MySql based desktop.
The end result of the system, the system performs the calculation of the total amount of
the budget that will be compared with the maximum budget that you input. If the total amount
of the budget exceeded the maximum budget it will be done the removal and or cutting the
number of items that are not in priority. Output data the recommendations of this system in the
form of an excel file with extension. xlxs.
i
SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN OPTIMASI
ANGGARAN MENGGUNAKAN ALGORITMA KNAPSACK
HALAMAN JUDUL
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana
Komputer
Jurusan Teknik Informatika
Disusun oleh :
Yohanes Satrio Prabowo
115314039
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
DECISION SUPPORT SYSTEM OPTIMIZE BUDGET USING
KNAPSACK ALGORITHM
TITLE PAGE
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Komputer Degree
In Informatics Engineering Study Program
By:
Yohanes Satrio Prabowo
115314039
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
iii
iv
v
HALAMAN MOTTO
“Jangan mencari ketakutanmu melainkan carilah harapan dan mimpimu. Jangan
berpikir tentang frustrasimnu, tapi tentang potensi yang belum terpenuhi.
Perhatikan dirimu bukan dengan apa yang telah kamu coba dan gagal, tapi dengan
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis
tidak mengandung atau memuat hasil karya orang lain, kecuali yang telah
disebutkan dalam daftar pustaka dan kutipan selayaknya karya ilmiah
vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma
Yogyakarta
Nama : Yohanes Satrio Prabowo
NIM : 115314039
Demi pengembangan ilmu pengetahuan, saya memeberkan kepada perpustakaan
Universitas Sanata Dharma kataya ilmiah yang berjudul :
SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN OPTIMASI
ANGGARAN MENGGUNAKAN ALGORITMA KNAPSACK
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada perpustakaan Universitas Sanata Dharma Yogyakarta hak untuk
menyimpan, mengalihkan dalam bentuk media lain, mengelola dalam bentuk
pangkalan data, mendistribusikan sercara terbatas, dan mempublikasikan di internet
atau media lain untuk kepentingan akademis tanpa meminta ijin dari saya maupun
memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai
penulis.
Demikian pernyataan yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta,
Pada Tanggal : 8 Desember 2016
viii
ABSTRAK
Sistem pendukung pengambilan keputusan optimasi anggaran ini
merupakan sebuah sistem pendukung pengambilan keputusan yang dibuat untuk
membantu pengguna dalam mengelola anggaran sesuai dengan bobot dan proiritas
barang agar optimal sesuai dengan maksimal anggaran.
Sistem pendukung pengambilan keputusan optimasi anggaran ini
menggunakan metode knapsack problems dengan penyelesaian greedy by weigh,
semakin tinggi bobot barang yang diberikan maka barang tersebut semakin penting
dan di prioritaskan. Data masukkan pada sistem ini berupa file excel yang
berekstensi .xlxs. Sistem ini dibangun menggunakan bahasa pemrograman Java
dengan database MySql yang berbasis dekstop.
Hasil akhir dari sistem ini yaitu, sistem ini melakukan perhitungan dari
jumlah total anggaran yang akan di bandingkan dengan maksimal anggaran yang
di-input-kan. Jika jumlah total anggaran melebihi maksimal anggaran maka akan
dilakukan penghapusan dan atau pemotongan jumlah barang yang tidak di
prioritaskan. Data output rekomendasi dari sistem ini berupa file excel yang
berekstensi .xlxs.
Kata Kunci : Knapsack Problems, Greedy, Sistem Pendukung Pengambilan
ix
ABSTRACT
The decision-making support system of optimization of this budget is a
decision-making support system created to aid users in managing the budget in
accordance with the weights and proiritas the goods in order for optimal fit with a
maximum budget.
Decision-making support system this budget optimization method using
knapsack problems with greedy finalization by weigh, the higher the weighting of
goods that are given then the goods are increasingly important and in priority. The
data entered on the system in the form of an excel file with extension. xlxs. The
system is built using the Java programming language with database MySql based
desktop.
The end result of the system, the system performs the calculation of the total
amount of the budget that will be compared with the maximum budget that you
input. If the total amount of the budget exceeded the maximum budget it will be
done the removal and or cutting the number of items that are not in priority. Output
data the recommendations of this system in the form of an excel file with extension.
xlxs.
x
KATA PENGATAR
Puji syukur kehadirat Tuhan Yesus Kristus, atas segala berkat, penyertaan,
dan anugrah_Nya sehingga penulis dapat penyelesaikan skripsi dengan judul
“Sistem Pendukung Pengambilan Keputusan Optimasi Anggaran Menggunakan
Algoritma Knapsack” dengan baik dan lancar. Skripsi ini disusun sebagai salah satu
syarat guna memperoleh gelar Sarjana Komputer Program Studi Teknik
Informatika Universitas Sanata Dharma.
Penulis menyadari banyak hal yang terjadi selama proses pengerjaan skripsi
ada begitu banyak pihak yang telah memberikan bantuan dan perhatiaannya selama
penulis mengerjakan skripsi ini. Oleh karena itu penulis ingin menyampaikan
terima kasih kepada :
1. Orang tua saya Pramudiyamurti dan Ch Niken Sumekar yang telah
memberikan dukungan moral, priritual dan financial dalam penyusunan
skripsi.
2. Sudi Mungkasi,S.Si.,M.Math.Sc.,Ph.D selaku Dekan Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
3. Dr.Anastasia Rita selaku Ketua Program Studi Teknik Informatika
Universitas Sanata Dharma Yogyakarta.
4. Bapak Albertus Agung Hadhiamta S.T., M.T., selaku dosen pembimbing
skripsi yang telah bersedia meluangkan waktu dan tenaga untuk
memberikan bimbingan, bantuan, dukungan, serta masukan dari awal
samapi akhir penulisan skripsi ini.
5. Bapak JB. Budi Darmawan, S.T.,M.Sc., selaku dosen pembimbing
akademik Jurusan Teknik Informatika angjatan 2011.
6. Mas Susilo selaku Kepala pada laboratorium komputer dasar Universitas
Sanata Dharma yang telah meluangkan waktu dan tenaga untuk
memberikan penjelasan, pengarahan serta dukungan dalam proses
xi
7. Bapak dan Ibu dosen Program Studi Teknik Informatika yang telah
memberikan ilmu selama proses perkuliahan.
8. Adik saya Stephani Nindya Kirana yang telah mendukung, support, dan
mendoakan sehingga terselesaikan skripsi ini.
9. Teman yang selalu support saya Beny, Bagus, Dio, Tea, Bee, Priska, Monik,
Agung, Kevin, Lukas, Candra, Bagus 2012, Angela Risma Viani dalam
proses penulisan skripsi ini
10.Teman-teman Teknik Informatika angkatan 2011, terima kasih banyak atas
semangat dan kebersamaannya.
11.Semua pihak yang tidak dapat disebutkan satu persatu yang telah membantu
penulis dalam menyelesaikan tugas akhir ini.
Dalam penulisan skripsi ini tentunya masih banyak kekurangan. Oleh
karena itu penulis mengharapkan saran dan kritik dari pembaca agar skripsi
xii
DAFTAR ISI
HALAMAN JUDUL ...i
TITLE PAGE ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN MOTTO ... v
PERNYATAAN KEASLIAN KARYA ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
ABSTRAK ... viii
1.5 Metodologi Penelitian ... 3
1.6 Sistematika Penulisan ... 3
LANDASAN TEORI ... 5
2.1 Sistem Pendukung Pengambilan Keputusan (SPPK) ... 5
2.1.1 Tujuan SPPK ... 5
2.1.2 Struktur Keputusan ... 6
2.1.3 Karateristik Sistem Pendukung Pengambil Keputusan ... 7
2.1.4 Arsitektur Sistem Pendukung Pengambil Keputusan ... 9
2.1.5 Langkah – langkah Pemodelan dalam Sistem Pengambil Keputusan ... 10
xiii
2.2.1. Knapsack Interger 0/1 ... 12
2.3 Greedy ... 12
2.3.1. Penyelesaian Dengan Kriteria Greedy ... 13
BAB III ... 15
METODOLOGI PENELITIAN ... 15
3.1 Rumusan Masalah ... 15
3.1.1 Tahap Perencanaan ... 15
3.1.2 Pengumpulan Data ... 16
3.2 Pengembangan Sistem ... 16
3.2.1 Metode Pengembangan Sistem ... 16
BAB IV ... 19
ANALISA DAN PERANCANGAN SISTEM ... 19
4.1 Analisa Sistem ... 19
4.1.1 Gambaran Umum Sistem Lama ... 19
4.1.2 Fase Definisi Ruang Lingkup (Scope Definition Phase) ... 19
4.1.3 Analisis Masalah (Problem analysis) ... 20
4.1.4 Gambaran Umum Sistem Yang Akan Dibuat ... 20
4.2 Analisis Kebutuhan (Requirement Analysis) ... 22
4.2.1 Use Case Diagram ... 22
4.3 Desain Subsistem Manajemen Data ... 32
4.3.1 Diagram Conceptual Design ... 32
4.3.2 Physical Database Design ... 32
4.4 Desain Manajemen Model ... 35
4.5 Desain Subsistem Manajemen Dialog ... 37
4.5.1 Antarmuka Pengguna ... 38
4.6 Perancangan Sistem ... 43
4.6.1 Diagram Kelas ... 43
BAB V ... 45
IMPLEMENTASI DAN ANALISA HASIL ... 45
5.1 Implementsi ... 45
5.1.1 Implementasi GUI ... 45
5.1.2 Implementasi Sistem ... 52
xiv
5.2.1 Kompleksitas Algoritma ... 55
5.2.2 Pengujian Sistem... 56
5.3 Kelebihan dan Kekurangan Sistem ... 67
5.3.1 Kelebihan Sistem ... 67
5.3.2 Kekurangan Sistem ... 67
BAB VI ... 68
Tambah Golongan Pos... 70
Update Golongan Pos ... 70
Tambah Data Prioritas Barang ... 75
Update Data Prioritas Barang ... 76
Hapus Data Prioritas Barang ... 76
Insert File Excel ... 77
Knapsack... 77
DIAGRAM AKTIVITAS ... 78
Input Excel ... 78
Tambah Golongan Pos... 78
xv
Hapus Golongan Pos ... 79
Tambah Jenis Pos ... 80
Update Jenis Pos ... 80
Hapus Jenis Pos ... 81
Tambah Data RAB ... 81
Update Data RAB ... 82
Hapus Data RAB ... 83
Tambah Data Prioritas Barang ... 84
Update Data Prioritas Barang ... 84
Hapus Data Prioritas Barang ... 85
Tambah Data Pos ... 85
Update Data Pos ... 86
Hapus Data Pos ... 87
xvi
DAFTAR TABEL
Tabel 2.0.1 Penghitungan Knapsack menggunakan Greedy ... 14
Tabel 4.0.1 Analisis Masalah ... 20
Tabel 4.0.2 Komponen Use Case... 22
Tabel 3 Skenario Import file xlxs ... 24
Tabel 4 Skenario Tambah Data RAB ... 25
Tabel 5 Skenario Update DataRAB ... 25
Tabel 6 Skenario Hapus DataRAB ... 25
Tabel 7 Skenario Tambah Data Prioritas Barang ... 26
Tabel 8 Skenario Update Data Prioritas Barang ... 26
Tabel 9 Skenario Hapus Data Prioritas Barang ... 27
Tabel 10 Skenario Tambah Golongan Pos ... 27
Tabel 11 Skenario Update Golongan Pos ... 28
Tabel 12 Skenario Hapus Golongan Pos ... 28
Tabel 13 Skenario Tambah Jenis Pos ... 28
Tabel 14 Skenario Update Jenis Pos ... 29
Tabel 15 Skenario Hapus Jenis Pos ... 29
Tabel 16 Skenario Tambah Data Pos ... 30
Tabel 17 Skenario Update Data Pos ... 30
Tabel 18 Skenario Hapus Data Pos ... 31
Tabel 25 Penghitungan Knapsack 1 ... 35
Tabel 26 Penghitungan Knapsack 2 ... 36
Tabel 27 Penghitungan Knapsack 3 ... 36
xvii
DAFTAR GAMBAR
Gambar 2.0.1.4 Arsitektur Sistem Pengambil Keputusan ... 10
Gambar 0.1 Use Case ... 24
Gambar 4.0.3 Diagram Conceptual Design ... 32
Gambar 4.0.4 Physical Database Design ... 32
Gambar 4.0.5 Flowchart Algoritma Knapsack ... 37
Gambar 4.0.6 Menu Home ... 38
Gambar 4.0.7 Menu Import Excel ... 38
Gambar 4.0.8 Menu Golongan Pos... 39
Gambar 4.0.9 Menu Jenis Pos... 39
Gambar 4.0.10 Menu Data RAB... 40
Gambar 4.0.11 Menu Data Pos ... 40
Gambar 4.0.12 Menu Data Prioritas Barang ... 41
Gambar 4.0.13 Menu Knapsack ... 41
Gambar 4.0.14 Data Tidak Optimal... 42
Gambar 4.0.15 Diagram Kelas 1... 43
Gambar 4.0.16 Diagram Kelas 2... 44
Gambar 5.0.1 Implementasi Tampilan Home ... 45
Gambar 5.0.2 Implementasi Import File Excel ... 46
Gambar 5.0.3 Implementasi Windows Explorer ... 46
Gambar 5.0.4 Implementasi Data RAB ... 47
Gambar 5.0.5 Implementasi Data Pos ... 48
Gambar 5.0.6 Implemetasi Data Prioritas Barang Knapsack ... 49
Gambar 5.0.7 Implementasi Golongan Pos ... 50
Gambar 5.0.8 Implementasi Jenis Pos ... 51
Gambar 5.0.9 Implementasi Knapsack ... 52
Gambar 5.0.10 Pengujian Bobot Barang Default ... 56
Gambar 5.0.11 Hasil Penghitungan Sistem 1 ... 57
Gambar 5.0.12 Penghitungan Manual 1 ... 59
Gambar 5.0.13 Penghitungan Manual 2 ... 60
Gambar 5.0.14 Penghitungan Manual 3 ... 60
Gambar 5.0.15 Penghitungan Manual 4 ... 61
Gambar 5.0.16 Penghitungan Manual 5 ... 61
Gambar 5.0.17 Pengujian Bobot Barang Masukkan Pengguna ... 62
Gambar 5.0.18 Penghitungan Sistem 2 ... 62
Gambar 5.0.19 Penghitungan Manual 6 ... 64
Gambar 5.0.20 Penghitungan Manual 7 ... 65
Gambar 5.0.21 Penghitungan Manual 8 ... 65
Gambar 5.0.22 Penghitungan Manual 9 ... 66
Gambar 5.0.23 Penghitungan Manual 10 ... 66
Gambar 5.0.24 Penghitungan Manual 11 ... 66
Gambar 7.0.1 Diagram Squence Tambah Golongan Pos ... 70
Gambar 7.0.2 Diagram Squence Update Golongan Pos ... 70
xviii
Gambar 7.0.4 Diagram Squence Tambah Jenis Pos ... 71
Gambar 7.0.5 Diagram Squence Update Jenis Pos ... 71
Gambar 7.0.6 Diagram Squence Hapus Jenis Pos ... 72
Gambar 7.0.7 Diagram Squence Tambah Data RAB ... 72
Gambar 7.0.8 Diagram Squence update Data RAB... 73
Gambar 7.0.9 Diagram Squence Hapus Data RAB ... 73
Gambar 7.0.10 Diagram Squence Tambah Data Pos ... 74
Gambar 7.0.11 Diagram Squence Update Data Pos ... 74
Gambar 7.0.12 Diagram Squence Hapus Data Pos ... 75
Gambar 7.0.13 Diagram Squence Tambah Data Prioritas Barang ... 75
Gambar 7.0.14 Diagram Squence Update Data Prioritas Barang ... 76
Gambar 7.0.15 Diagram Squence Hapus Data Prioritas Barang ... 76
Gambar 7.0.16 Diagram Squence Insert File Excel ... 77
Gambar 7.0.17 Diagram Squence Knpasack ... 77
Gambar 7.0.18 Diagram Input Excel ... 78
Gambar 7.0.19 Diagram Tambah Golongan Pos ... 78
Gambar 7.0.20 Diagram Update Golongan Pos ... 79
Gambar 7.0.21 Diagram Hapus Golongan Pos ... 79
Gambar 7.0.22 Diagram Tambah Jenis Pos ... 80
Gambar 7.0.23 Diagram Update Jenis Pos ... 80
Gambar 7.0.24 Diagram Hapus Jenis Pos ... 81
Gambar 7.0.25 Diagram Tambah Data RAB ... 81
Gambar 7.0.26 Diagram Update Data RAB ... 82
Gambar 7.0.27 Diagram Hapus Data RAB ... 83
Gambar 7.0.28 Diagram Tambah Data Prioritas Barang ... 84
Gambar 7.0.29 Diagram Update Data Prioritas Barang ... 84
Gambar 7.0.30 Diagram Hapus Data Prioritas Barang ... 85
Gambar 7.0.31 Diagram Tambah Data Pos ... 85
Gambar 7.0.32 Diagram Update Data Pos ... 86
Gambar 7.0.33 Diagram Hapus Data Pos ... 87
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Penyusun anggaran pada umumnya akan memasukkan biaya yang
menurut mereka penting untuk dimasukkan kedalam proses penganggaran
tersebut. Dari sekian banyak hal yang ditemukan dalam penyusunan anggaran
banyak dijumpai permasalahan dalam penyusunan anggaran tersebut.
Dalam Rancangan Rencana Anggaran Pendapatan dan Belanja akan
melalui beberapa proses. Proses tersebut adalah rencana pengajuan, anggaran
telah disetujui dan anggaran yang direalisasikan. Dalam rencana pengajuan
pada umumnya tidak ditemukan masalah yang terlalu rumit. Masalah yang
terdapat pada rencana pengajuan umumnya berkaitan dengan kebutuhan
barang atau item yang terdapat pada rencana anggaran tersebut. Penganggar
anggaran akan memasukkan barang yang menurutnya penting dan segera harus
didanai.
Pada umumnya masalah akan muncul setelah rencana anggaran tersebut
diajukan kepada pihak yang mendanai anggaran tersebut. Seringkali tidak
semua anggaran yang diajukan akan disetujui oleh pihak pendana. Pihak
pemberi dana pasti akan memberikan batas maksimal untuk membatasi
anggaran yang telah diajukan tersebut. Masalah umum yang kerap terjadi dana
anggaran yang telah diajukan mengalami pemotongan dari pihak memberi
dana. Dari hal tersebut masalah akan bertambah lagi jika semua barang yang
dianggap penting oleh penganggar harus masuk kedalam anggaran. Seringkali
akibat dari pemotongan dana anggaran, fungsi dari anggaran yang semula
menjadi tidak optimal karena keterbatasan data yang disetujui.
Masalah lain saat anggaran tersebut telah disetujui dan ditetapkan adalah
anggaran yang direalisasikan. Anggaran realisasi pasti akan dilaporankan
kembali kepada pihak pemberi dana untuk laporan pertanggungjawaban atas
Untuk mengatasi beberapa masalah yang terjadi dalam persoalan
anggaran tersebut terdapat cara yang dapat digunakan untuk mengatasinya.
Cara tersebut salah satunya dengan mengganti jumlah item yang dapat
dikurangkan agar barang tersebut dapat dibeli tetapi jumlah banyak dikurangi.
Selain itu item pada anggaran dapat dihilangkan dan atau diganti dengan item
yang lebih penting atau lebih diprioritaskan.
Dalam dunia teknologi terdapat pula solusi yang dapat digunakan dalam
mengatasi masalah tersebut. Salah satu algoritma dalam teknologi yang dapat
dipakai untuk menangani masalah tersebut dengan knapsack. Knapsack dapat
digunakan untuk mengoptimalkan anggaran yang telah disetujui agar semua
prioritas yang penting dapat diatasi dengan biaya yang terbatas.
1.2 Rumusan Masalah
Berdasarkan latar belakang diatas maka dapat dibuat beberapa rumusan
masalah antara lain :
1. Bagaimana memperoleh hasil optimal dengan batas maksimal anggaran?
2. Bagaimana cara memperoleh hasil optimal suatu anggaran dengan metode
knapsack?
3. Bagaimana membantu pengguna untuk menentukan prioritas anggaran
dengan cepat?
1.3 Tujuan
Tujuan dari tugas akhir ini adalah membantu pengguna dalam mengolah
anggaran dengan memberikan hasil optimal menggunakan metode knapsack.
1.4 Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut:
1. File hasil optimasi hanya berupa file teks berformat .xlxs
2. File import data hanya berupa file excel berformat .xlxs
3. File bisa di proses harus sesuai format.
1.5 Metodologi Penelitian
Metode pengembangan perangakat lunak dengan metode Waterfall :
a. Pengumpulan Data
Tahapan ini digunakan untuk mengumpulkan data anggaran yang ada di
lab untuk melakukan analisis perancangan sistem.
b. Analisis Sistem
Tahapan ini digunakan untuk menganalisa proses bisnis yang ada dalam
suatu anggaran serta fungsi yang akan digunakan dalam sistem beserta
user interface program.
c. Perancangan Perangkat Lunak
Tahapan ini memusatkan pada karakteristik dan user interface dan
prosedur atau fungsi secara mendetail.
d. Implementasi
Tahapan ini merubah semua rancangan ke dalam program.
e. Pengujian Sistem
Tahapan ini merupakan pengujian atau analisa sejauh mana program yang
telah dibangun dapat memenuhi kebutuhan user atau pengguna.
1.6 Sistematika Penulisan
Dokumen tugas akhir ini akan memuat 6 bab, yaitu:
1. BAB I Pendahuluan
Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah,
tujuan, metodologi dan sistematika penulisan.
2. BAB II Landasan Teori
Dalam bab ini akan dijelaskan mengenai pengetahuan yang menjadi dasar
teori untuk mengimplementasikan Knapsack Problems dengan
penyelesaian Greedy
3. BAB III Metodologi Penelitian
Bab ini berisi metodologi penelitian yang akan digunakan pada penelitian
yang terdiri dari rumusan masalah yang diselesaikan, metodologi
survei awal, data, studi literatur, pengembangan sistem, dan metode
pengembangan sistem.
4. BAB IV Analisa Dan Perancangan
Bab ini berisi tentang penjelasan mengenai proses implementasi program
sesuai dengan analisa dan perencanaan yang telah dibut. Dalam bab ini
juga menjelaskan hasil analisa sistem yang telah dibuat.
5. BAB V Implementasi Dan Analisa Hasil
Bab ini memuat implementasi metode dan hasil implementasi dari
algoritma yang digunakan, yaitu algoritma Knapsack dengan penyelesaian
Greedy.
6. BAB VI Penutup
Bab ini berisi penjelasan tentang kelebihan dan kekurangan sistem,
5
BAB II
LANDASAN TEORI
2.1 Sistem Pendukung Pengambilan Keputusan (SPPK)
Pengambilan keputusan merupakan hasil suatu proses pemilihan dari
berbagai alternatif tindakan yang mungkin dipilih dengan mekanisme tertentu,
dengan tujuan untuk menghasilkan keputusan yang terbaik. Dimana proses
keputusan secara bertahap, sistematik, konsisten, dan dalam setiap langkah
sejak awal telah mengikutsertakan semua pihak, akan memberikan hasil yang
baik (Suryadi, 1998).
2.1.1 Tujuan SPPK
Menurut Turban (2005) Tujuan dari Sistem Pendukung Keputusan
adalah:
1. Membantu manajer dalam pengambilan keputusan atas masalah
semi-terstruktur.
2. Memberikan dukungan atas pertimbangan manajer bukan untuk
menggantikan fungsi manajer.
3. Meningkatkan efektivitas keputusan yang diambil manajer lebih dari
pada perbaikan efisiensinya.
4. Kecepatan komputasi. Komputer memungkinkan para pengambil
keputusan untuk melakukan banyak komputasi secara cepat dengan
biaya yang rendah.
5. Peningkatan produktivitas. Membangun satu kelompok pengambil
keputusan, terutama para pakar. Pendukung terkomputerisasi bisa
mengurangi ukuran kelompok dan memungkinkan para anggotanya
untuk berada di berbagai lokasi yang berbeda-beda (menghemat
biaya perjalanan). Selain itu, produktivitas staff pendukung
(misalnya analis keuangan dan hukum) bisa ditingkatkan.
optimalisasi yang menentukan cara terbaik untuk menjalankan
sebuah bisnis.
6. Dukungan kualitas. Komputer bisa meningkatkan kualitas keputusan
yang dibuat. Sebagai contoh, semakin banyak data yang diakses,
makin banyak juga alternatif yang bisa dievaluasi. Analisis risiko
bisa dilakukan dengan cepat dari para pakar (beberapa dari mereka
berada di lokasi yang jauh) bisa di kumpulkan dengan cepat dan
dengan biaya lebih rendah. Keahlian bahkan bisa diambil langsung
dari sebuah sistem komputer melalui metode kecerdasan tiruan.
Dengan komputer, para pengambil keputusan bisa melakukan
simulasi yang kompleks, memeriksa banyak skenario yang
memungkinkan, dan menilai berbagai pengaruh secara cepat dan
ekonomis. Semua kapabilitas tersebut mengarah kepada keputusan
yang lebih baik.
7. Berdaya saing. Manajemen dan pemberdayaan sumber daya
perusahaan. Tekanan persaingan menyebapkan tugas pengambilan
keputusan menjadi sulit. Persaingan didasarkan tidak hanya pada
harga, tetapi juga pada kualitas, kecepatan, kustomasi produk, dan
dukungan pelanggan. Organisasi harus mampu secara sering dan
cepat mengubah mode operasi, merekayasa ulang proses dan
struktur, memberdayakan karyawan, serta berinovasi. Teknologi
pengambilan keputusan bisa menciptakan pemberdayaan yang
signifikan dengan cara memperbolehkan seseorang untuk membuat
keputusan yang baik secara cepat, bahkan jika mereka memiliki
pengetahuan yang kurang.
8. Mengatasi keterbatasan kognitif dalam pemrosesan dan
penyimpanan.
2.1.2 Struktur Keputusan
Sistem Pengambil Keputusan dapat menyelesaikan masalah dilihat
1. Keputusan terstruktur (structured decision).
Keputusan terstruktur adalah keputusan yang dilakukan secara
berulang-ulang dan bersifat rutin. Prosedur pengambilan keputusan
sangatlah jelas. Keputusan tersebut terutama dilakukan pada
manajemen tingkat bawah.
2. Keputusan semiterstruktur (semistructured decision).
Keputusan semiterstruktur adalah keputusan yang memiliki dua
sifat. Sebagian keputusan bisa ditangani oleh komputer dan yang lain
tetap harus dilakukan oleh pengambil keputusan. Prosedur dalam
pengambilan keputusan tersebut secara garis besar sudah ada, tetapi
ada beberapa hal yang masih memerlukan kebijakan dari pengambil
keputusan. Biasanya keputusan seperti ini diambil oleh manajer
level menengah dalam suatu organisasi.
3. Keputusan tak terstruktur (unstructured decision).
Keputusan tak terstruktur adalah keputusan yang penanganannya
rumit karena tidak terjadi berulang-ulang atau tidak selalu terjadi.
Keputusan tersebut menuntut pengalaman dan berbagai sumber yang
bersifat eksternal. Keputusan tersebut umumnya terjadi pada
manajemen tingkat atas.
2.1.3 Karateristik Sistem Pendukung Pengambil Keputusan
Terdapat 14 karateristik dalam Sistem Pengambil Keputusan
(Turban, E.,2005) diantaranya yaitu:
1. Dukungan kepada pengambil keputusan, terutama pada situasi
semi-terstruktur dan tak semi-terstruktur, dengan menyertakan penilaian manusia
dan informasi terkomputerisasi.
2. Dukungan untuk semua level manajerial, dari eksekutif sampai
manajer lini.
3. Dukungan untuk individu dan kelompok. Masalah yang kurang
dan tingkat organisasional yang berbeda atau bahkan dari organisasi
lain.
4. Dukungan untuk keputusan independen atau sekuensial. Keputusan
bisa dibuat satu kali, atau berulang (dalam interval yang sama).
5. Dukungan disemua fase proses pengambilan keputusan: inteligensi,
desain, pilihan, dan implementasi.
6. Dukungan diberbagai proses dan gaya pengambilan keputusan.
7. Adaptivitas sepanjang waktu. Pengambilan keputusan harusnya
reaktif, bisa menghadapi perubahan kondisi secara cepat, dan
mengadaptasi sistem pengambil keputusan untuk memenuhi
perubahan tersebut. Sistem pengambil keputusan bersifat fleksibel.
Oleh karena itu, pengguna bisa menambahkan, menghapus,
menggabungkan, mengubah, atau menyusun kembali elemen-elemen
dasar.
8. Pengguna merasa seperti dirumah. Ramah-pengguna, kapabilitas
grafis yang sangat kuat, dan antarmuka manusia-mesin yang interaktif
dengan satu bahasa alami bisa sangat meningkatkan efektivitas sistem
pengambil keputusan.
9. Peningkatan efektifitas pengambilan keputusan (akurasi, timelines,
kualitas) ketimbang efisiensinya (biaya pengambilan keputusan).
Ketika sistem pengambil keputusan disebarkan, pengambil keputusan
sering membutuhkan waktu lebih lama, tetapi hasilnya lebih baik.
10. Kontrol penuh oleh pengambil keputusan terhadap semua langkah
proses pengambil keputusan dan memecahkan suatu masalah. Sistem
pengambil keputusan secara khusus menekankan untuk mendukung
pengambilan keputusan, bukan menggantikannya.
11. Pengguna akhir bisa mengembangkan dan memodifikasi sendiri
sistem sederhana. Sistem yang lebih besar bisa dibangun dengan
bantuan ahli sistem informasi.
12. Biasanya, model-model digunakan untuk menganalisis situasi
eksperimen dengan berbagai strategi yang berbeda di bawah
konfigurasi yang berbeda.
13. Akses disediakan untuk berbagai sumber data, format dan tipe, mulai
dari sistem informasi geografis sampai sistem, berorientasi-objek.
Dapat digunakan sebagai alat standalone oleh seorang pengambil
keputusan pada satu lokasi atau didistribusikan disuatu organisasi.
Secara keseluruhan dan dibeberapa organisasi sepanjang persediaan.
Dapat diintegrasikan secara dengan sistem pengambil keputusan lain
atau aplikasi lain, serta bisa didistribusikan secara internal dan
eksternal menggunakan networking dan teknologi web.
2.1.4 Arsitektur Sistem Pendukung Pengambil Keputusan
Aplikasi sistem pendukung keputusan bisa terdiri dari beberapa
subsistem, diantaranya yaitu:
1. Subsistem manajemen data
Subsistem manajemen data memasukkan satu database yang berisi
data yang relevan untuk suatu situasi dan dikelola oleh perangkat
lunak yang disebut sistem manajemen database (DBMS/Data Base
Management System).
2. Subsistem manajemen model
Merupakan paket perangkat lunak yang memasukkan model
kuantitatif lain yang memberikan kapabilitas analitik dan
manajemen perangkat lunak yang tepat. Perangkat lunak disebut
manajemen basis model (MBMS).
3. Subsistem antarmuka pengguna
Pengguna berkomunikasi dengan sistem pendukung keputusan
melalui subsistem tersebut. Pengguna adalah bagian yang
dipertimbangkan dari sistem.
4. Subsistem manajemen berbasis-pengetahuan
Subsistem tersebut mendukung semua subsistem lain atau bertindak
Berikut merupakan gambar arsitektur dari sistem pengambil keputusan.
Gambar 2.0.1.4 Arsitektur Sistem Pengambil Keputusan
2.1.5 Langkah – langkah Pemodelan dalam Sistem Pengambil Keputusan
1. Studi kelayakan (Intelligence).
Pada langkah ini, sasaran ditentukan dan dilakukan pencarian
prosedur, pengumpulan data, identifikasi masalah, identifikasi
kepemilikan masalah, hingga akhirnya terbentuk sebuah pernyataan
masalah. Kepemilikan masalah berkaitan dengan bagian apa yang
akan dibangun oleh DSS dan apa tugas dari bagian tersebut sehingga
model tersebut bisa relevan dengan kebutuhan pemilik pemasalah.
2. Perancangan (Design)
Pada tahap ini akan diformulasikan model yang akan digunakan
dan kriteria-kriteria yang ditentukan. Setelah itu, dicari alternatif
model yang bisa menyelesaikan permasalahan tersebut. Langkah
selanjutnya adalah memprediksi keluaran yang mungkin. Kemudian,
ditentukan variabel-variabel model.
3. Pemilihan (Choice).
Setelah pada tahap design ditentukan berbagai alternatif model
modelnya, termasuk solusi dari model tersebut. Selanjutnya,
dilakukan analisis sensitivitas, yakni dengan mengganti beberapa
variabel.
4. Membuat Sistem Pengambil Keputusan.
Setelah menentukan modelnya, berikutnya adalah
mengimplementasikan-nya dalam aplikasi DSS.
2.2 Knapsack Problem
Knapsack adalah tas atau karung yang digunakan untuk memasukkan sesuatu. Tetapi tidak semua barang dapat ditampung kedalam karung tersebut.
Karung tersebut hanya dapat menyimpan beberapa objek dengan total
ukurannya lebih kecil atau sama dengan ukuran kapasitas karung.
Knapsack problem merupakan masalah dimana orang dihadapkan pada persoalan optimasi pada pemilihan benda yang dapat dimasukkan ke dalam
sebuah wadah yang memiliki keterbatasan ruang atau daya tampung. Dengan
adanya optimasi dalam menghasilkan keuntungan yang maksimum.
Benda-benda yang akan dimasukkan ini masing-masing memiliki berat dan sebuah
nilai yang digunakan untuk menentukan prioritasnya dalam pemilihan tersebut.
Nilainya dapat berupa tingkat kepentingan, harga barang, nilai sejarah, atau
yang lainnya.
Wadah yang dimaksud disini juga memiliki nilai konstanta yang
merupakan nilai pembatas untuk benda-benda yang akan dimasukkan kedalam
wadah tersebut sehingga harus diambil sebuah cara memasukkan benda-benda
tersebut kedalam wadah sehingga menghasilkan hasil yang optimum tetapi
tidak melebihi kemampuan wadah untuk menampungnya.
Jenis –jenis knapsack problem :
0/1 Knapsack Problem
Barang boleh dibawa sebagian saja. Versi problem ini menjadi masuk akal
apabila barang yang tersedia dapat dibagi-bagi. Sebagai contoh : gula,
tepung, garam, dan sebagainya. Bounded Knapsack Problem
Setiap barang tersedia sebanyak N unit (jumlahnya terbatas). Unbounded Knapsack Problem
Setiap barang tersedia lebih dari 1 unit, jumlahnya tidak terbatas.
2.2.1. Knapsack Interger 0/1
Didalam persoalan ini terdapat n buah berat (Wi) dan n buah nilai
benda (Pi) serta sebuah nilai M yang merupakan kapasitas knapsack.
Dalam memilih sebuah subset dari berat benda tersebut, ditentukan nilai
maksimal = ∑��= Pi Xi dengan batasan ∑��= Wi Xi ≤ M , (2.1)
dan nilai maksimum dengan z bernilai vektor zero-one. Ruang solusi ini
terdiri dari dua permasalahan, menentukan secara jelas pada nilai 0 dan
1 pada nilai x. Jadi pada ruang solusi ini sama seperti pada penjumlahan
permasalahan subset.
2.3 Greedy
Pada penyelesaian Knapsack Problem terdapat tiga jenis algoritma
Greedy yang dapat digunakan yaitu: A. Greedy By Weight
Pada setiap langkah pilih objek yang mempunyai berat teringan. Mencoba
memaksimumkan keuntungan dengan memasukkan sebanyak mungkin
objek kedalam knapsack.
Pertama kali yang dilakukan adalah program mengurutkan secara menaik
objek-objek berdasarkan weight-nya. Kemudian baru diambil satu-persatu
objek yang dapat ditampung oleh knapsack sampai knapsack penuh atau
B. Greedy By Profit
Pada setiap langkah, pilih objek yang mempunyai keuntungan terbesar.
Mencoba memaksimumkan keuntungan dengan memilih objek yang
paling menguntungkan terlebih dahulu.
Pertama kali yang dilakukan adalah program mengurutkan secara menurun
objek-objek berdasarkan profit-nya. Kemudian baru diambil satu-persatu
objek yang dapat ditampung oleh knapsack sampai knapsack penuh atau
sudah tidak ada objek lagi uang bisa dimasukkan.
C. Greedy By Density
Pada setiap langkah knapsack di isi dengan objek yang mempunyai p1/w1
terbesar, dimana p adalah keuntungan dan w adalah berat barang. Mencoba
memaksimumkan keuntungan dengan memilih objek yang mempunyai
density per unit berat terbesar.
Pertama kali yang dilakukan adalah program mencari nilai profit per berat
tiap-tiap unit (density) dari tiap-tiap objek. Kemudian objek-objek tersebut
diurutkan berdasarkan density-nya. Kemudian baru diambil satu-persatu
objek yang dapat ditampung oleh knapsack sampai knapsack penuh atau
tidak ada objek lagi yang bisa dimasukkan.
2.3.1. Penyelesaian Dengan Kriteria Greedy
Kriteria Greedy merupakan salah satu metode untuk mendapatkan
solusi optimal. Dengan metode ini solusi optimal bisa diperoleh dengan
cepat, efisien, dan efektif. Konsep dari kriteria greedy adalah :
Pilih objek dengan nilai Pi maksimal atau objek dengan ukuran
terbesar.
Pilih objek dengan berat Wi yang minimal terlebih dahulu.
Pilih objek dengan nilai rasio berat (Pi/Wi) yang terbesar.
Dalam metede Greedy hanya dibutuhkan tiga kemungkinan dari
sekian banyak solusi feasible yang mungkin. Dengan demikian
perhitungan yang dilakukan tidak terlalu banyak dan tidak perlu waktu
dimuat dalam knapsack. Kelemahan pada metode ini adalah jika jumlah
objek atau barang yang akan dimuat lebih dari tiga, maka akan ditemui
banyak perhitungan untuk beberapa solusi feasible dan memmerlukan
waktu relatif lama.
Tinjauan persoalan Integer Knapsack dengan n = 3. Misalkan
objek-objek tersebut kita beri nomor 1, 2, 3. Setiap objek i dan kapasitas
knapsack adalah sebagai berikut :
w1 = 4; p1 = 10
w2 = 6; p2 = 20
w3 = 5; p3 = 30
kapasitas Knapsack W = 10
Maka tabel solusi dengan menggunakan algoritma greedy
adalah sebagai berikut :
Tabel 2.0.1 Penghitungan Knapsack menggunakan Greedy
Properti Objek Greedy by Solusi
Optimal i wi pi wi/pi Weight Profit Density
1 4 10 2,5 1 0 0 1
2 6 20 3,3 0 1 1 0
3 5 30 6 1 1 1 1
Total Bobot 9 11 11 9
Total Keuntungan 40 50 50 40
Dari tabel diatas objek yang akan dimasukkan kedalam knapsack
adalah objek no 1 dan no 3, sedangkan objek no 2 tidak dimasukkan
15
BAB III
METODOLOGI PENELITIAN
Bab ini berisi bagaimana cara pengambilan data untuk penelitian. Cara
pengambilan data dapat dilakukan dengan berbagai langkah seperti yang akan
dijelaskan dibawah ini.
3.1 Rumusan Masalah
Rumusan masalah dalam penelitan ini adalah bagaimana membangun
SPPK untuk membantu pengguna dalam optimasi anggaran sesuai dengan
kebutuhan dan tidak melebihi maksimal anggaran menggunakan algoritma
knapsack problems dengan penyelesaian greedy. Untuk menjawab masalah tersebut maka metode penelitan yang akan digunakan dalam penelitan ini
terdiri dari :
1. Tahap Perencanaan
2. Pengumpulan Data
3. Studi Literatur
4. Pengembangan Sistem
3.1.1 Tahap Perencanaan
Pada tahap ini dilakukan penentuan tujuan dibangunnya Sistem
Pendukung Pengambilan Keputusan. Langkah ini merupakan langkah
awal yang sangat penting, karena akan menentukan pemilihan jenis
Sistem Pendukung Pengambilan Keputusan yang akan dirancang serta
metode pendekatan yang akan dipergunakan dalam penelitian ini. Proses
yang akan dilakukan yaitu mempelajari kebutuhan sistem yang akan
digunakan dalam penelitian dan kriteria apa saja yang digunakan untuk
proses pendukung keputusan. Setelah proses perencanaan dilakukan
3.1.2 Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penulisan tugas
akhir ini adalah sebagai berikut :
3.1.2.1 Survei Awal
Dilakukan wawancara dengan menemui Kepala
Laboratorium Komputer Dasar Kampus 3 Universitas Sanata
Dharma Yogyakarta berkaitan dengan proses dan prosedur yang
menjadi pertimbangan dalam pengambilan keputusan pengolahan
anggaran yang selama ini telah diterapkan.
3.1.2.2 Sumber Data
Data yang digunakan pada penelitian ini diperoleh dari
Kepala Laboratorium Komputer Dasar Kampus 3 Universitas
Sanata Dharma Yogyakarta. Data yang diperoleh merupakan data
asli dari anggaran Laboratorium Komputer Dasar Kampus 3
Universitas Sanata Dharma Yogyakarta.
3.1.2.3 Studi Literatur
Mempelajari teori Sistem Pendukung Pengambilan
Keputusan dan metode Knapsack dengan penyelesaian Greedy
dalam pembuatan SPPK untuk optimasi anggaran. Sumber
literatur berupa buku teks, situs-situs penunjang, dan karya
ilmiah.
3.2 Pengembangan Sistem
3.2.1 Metode Pengembangan Sistem
Pembangunan sistem untuk SPPK Optimasi Anggaran dilakukan
menggunakan metode FAST (Framework for the Applications of Systems
Thingking). Terdapat 6 tahapan dalam metode FAST (Whitten, 2001), yaitu:
sistem yang ada saat ini dan problem statement yang didefinisikan
dalam PIECES (Performance, Information, Economic, Control
Problem, Efficiency, Service).
b) Problem Analysis, pada tahap ini yaitu menganalisa masalah yang ada pada saat ini. Oleh sebab itu, dari hasil analisa tersebut diketahui layak
apa tidaknya sistem baru dibangun. Tahap ini meliputi tahap: PIECES
Cause Efect Analysis dan System Improvement Objective, serta gambaran sistem yang baru.
c) Requirements Analysis, tahap ini merupakan tahap analisa kebutuhan sistem yang akan dibangun. Fase ini meliputi: use-case diagram, dan
use-case narrative.
d) Logical Design (analisis terstruktur), tahap ini merupakan tahap untuk menterjemahkan kebutuhan pengguna ke dalam sistem model dan
desain. Fase ini meliputi: Diagram berjenjang, diagram konteks, DFD
(Data Flow Diagram), dan desain data model.
e) Physical Design and integration, tahap ini merupakan tahap menterjamahkan syarat kebutuhan sistem ke sebuah perancangan
perangkat lunak yang dapat diperkirakan sesuai dengan rancangan
yang telah ada. Hasil yang didapatkan dari fase ini yaitu design of
spesification dan design of prototyping.
f) Construction and Testing, tahap ini merupakan tahap untuk implementasi sistem sesuai dengan rancangan yang telah dibuat.
Setelah itu, tahap testing dilakukan dengan memfokuskan pada logika
internal dari perangkat lunak, fungsi eksternal, dan mencari segala
kemungkinan kesalahan. Tujuan testing adalah menemukan
kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa
diperbaiki. Sedangkan pengujian, akan dilakukan dengan menguji
Uji coba sistem dilakukan dengan dua tahap yaitu :
1. Perbandingan perhitungan manual Excel dan perhitungan Sistem
Perbandingan perhitungan manual Excel dan perhitungan sistem
yaitu pengujian terhadap proses-proses dalam sistem yang dibuat
untuk memastikan bahwa sistem sudah berjalan dengan baik. Uji coba
proses yaitu dengan mencoba seluruh proses yang ada di dalam sistem
apakah sudah berjalan dengan benar. Proses selanjutnya yaitu
mencocokkan hasil perhitungan dengan metode Knapsack Problems
menggunakan penyeselaian Greedy secara manual, dan kemudian
mencocokan hasil perhitungan metode Knapsack Problems
menggunakan penyeselaian Greedy sesuai dengan sistem yang telah
dibuat. Hasil yang akan didapatkan yaitu berupa perhitungan secara
manual yang harus sama dengan hasil perhitungan yang dihasilkan
oleh sistem.
2. Pengujian oleh Kepala LKD Kampus 3 Universitas Sanata Dharma
Yogyakarta
Tahap Pengujian oleh Kepala LKD Kampus 3 Universitas
Sanata Dharma Yogyakarta dilakukan dengan menguji sistem yang
telah dibuat kepada pengguna untuk memastikan bahwa sistem sudah
sesuai dengan kriteria kebutuhan pengguna dan sesuai dengan tujuan
yang diharapkan. Proses pengujian dilakukan dengan meminta Kepala
Laboran untuk mencoba sistem yang dibuat dengan metode Knapsack
Problems menggunakan penyeselaian Greedy, untuk memastikan apakah sistem yang telah dibuat sesuai dengan sistem yang diinginkan
pengguna, dan apakah sistem yang dibuat menggunakan metode
19
BAB IV
ANALISA DAN PERANCANGAN SISTEM
4.1 Analisa Sistem
4.1.1 Gambaran Umum Sistem Lama
Pengolahan data anggaran belanja pada laboratorium masih
menggunakan cara manual dengan Microsoft Excel. Data belanja
tersebut disimpan berdasarkan posnya masing-masing. User
memasukkan data, menambah, serta mengurangi barang secara manual
menurut batas anggaran yang disetujui. Pada sistem lama ini pengguna
mengajukan Rencana Anggaran Belanja (RAB) kepada bagian
keuangan. Bagian keuangan akan membatasi maksimal dana yang akan
dikeluarkan, jika RAB yang telah diajukan melebihi batas maksimal
pengguna akan merevisi RAB-nya, dengan memotong atau menghapus
data barang yang terdapat didalamnya. Pemotongan tersebut berdasarkan
apa saja yang dibutuhkan di dalam labroraturium. Setelah direvisi, RAB
tersebut diajukan kembali kepada bagian keuangan.
4.1.2 Fase Definisi Ruang Lingkup (Scope Definition Phase)
Sistem anggaran yang dikelola dengan cara yang masih manual ini
mengakibatkan berbagai kesulitan. Kesulitan-kesulitan tersebut seperti :
Performance : proses pengambilan keputusan pemotongan dana untuk
prioritas barang masih kurang cepat dan efektif, dikarenakan sistem yang
dikelola saat ini masih manual.
Control : belum ada kontrol dalam sistem, karena sistem yang ada saat
ini masih dikelola dengan cara manual.
Service : tidak adanya sistem yang membantu pengguna atau user dalam
4.1.3 Analisis Masalah (Problem analysis)
4.1.3.1Analisis Sebab Akibat (Cause-effect analysis)
Tabel 4.0.1 Analisis Masalah
Analisis Penyebab dan Akibat Tujuan Memperbaiki sistem
Masalah Sebab dan Akibat Tujuan Sistem Batasan Sistem
Memperoleh
lama dan belum
tentu optimal
4.1.4 Gambaran Umum Sistem Yang Akan Dibuat
Sistem baru yang akan dibuat diharapan dapat mempermudah kerja
membuat secara manual. Keluaran dari aplikasi ini berupa file excel
(.xlxs).
File excel yang di-input-kan akan dipecah atau dibagi sesuai pos dan dimasukkan ke dalam database sesuai tabel pos masing-masing.
Fungsi database disini hanya bersifat sementara dan untuk membantu
proses optimasi saja. Database yang digunakan tidak bisa untuk
menyimpan berbagai masukkan file excel. Setiap user meng-input-kan
file excel secara otomatis, yang kemudian isi dalam tabel database akan dihapus dan digantikan oleh data yang baru saja diinputkan.
Setelah itu, data excel yang masuk akan dicek apakah termasuk
barang yang dianggap penting oleh pengguna atau tidak. Barang yang
masuk akan diberi bobot secara otomatis untuk mengetahui prioritas
barang tersebut. Bobot default berdasarkan urutan dalam tabel excel,
tetapi pengguna bisa merubah bobot tersebut jika memang barang
tersebut termasuk barang yang dianggap penting.
4.1.4.1 Optimasi Anggaran
Sebelum melakukan optimasi anggaran, pengguna diminta
memasukkan maksimal anggaran. Maksimal anggaran tersebut
berfungsi sebagai pembatas anggaran yang disetujui dan sebagai
patokan anggaran yang akan dioptimasi. Maksimal anggaran
dapat di-input-kan oleh pengguna karena setiap tahun dan setiap
laboratorium memiliki maksimal anggaran yang berbeda. Selain
dapat meng-input-kan maksimal anggaran, pengguna juga dapat
meng-input-kan, meng-edit, dan menghapus data yang telah
masuk ke dalam sistem.
Langkah kerja optimasi pada penelitian ini yaitu semua
harga total dari semua pos dijumlahkan, lalu dibandingkan
dengan maksimal anggaran. Jika total harga melebihi maksimal
anggaran, maka sistem akan memotong atau menghapus barang
yang tidak masuk dalam kategori penting, sesuai dengan bobot
tidak akan dihapus. Sistem ini dapat memotong jumlah barang
yang dianggap penting jika kapasitas anggaran melebihi
maksimal anggaran.
4.2 Analisis Kebutuhan (Requirement Analysis)
4.2.1 Use Case Diagram
Use Case merupakan dokumen behavior sistem dari sudut pandang user, yang melibatkan dua elemen, yaitu sistem (dengan komponen dan deskripsinya) dan user (elemen eksternal) (Jacobson, 1991). Use case
merupakan dokumen naratif yang mendeskripsikan rangkaian kegiatan
yang ditampilkan aktor dalam menggunakan sistem.
Diagram Use Case mengandung tiga komponen, yaitu :
• Use cases (komponen sistem) : unit fungsionalitas yang saling berkaitan.
• Actors (user sistem) : segala sesuatu yang mengakses sistem, tidak hanya orang.
• Asosiasi komunikasi : menghubungkan antara aktor dan use case.
Komponen yang digunakan dalam pembuatan use-case diagram,
digambarkan dengan simbol berikut :
Tabel 4.0.2 Komponen Use Case
Simbol Deskripsi
Nama Use Case
Fungsi yang disediakan sistem
sebagai unit-unit yang saling
bertukar pesan antara unit dan aktor,
biasanya dinyatakan dengan
menggunakan kata kerja di awal
Aktor
Proses atau sistem lain yang
berinteraksi dengan sistem informasi
yang akan dibuat, di luar sistem
informasi yang akan dibuat itu
sendiri. Sehingga, walaupun simbol
dari aktor adalah gambar orang, tapi
aktor belum tentu merupakan orang.
Biasanya dinyatakan menggunakan
kata benda di awal frase nama aktor.
Asosiasi Komunikasi antara aktor dan use
case yang berpartisipasi pada use case, atau use case memiliki interaksi dengan aktor.
<<ekstensi>> Relasi use case tambahan ke sebuah
use case, dimana use case yang ditambah dapat berdiri sendiri walau
tanpa use case tambahan itu, mirip
dengan prinsip inheritance pada
Pemrograman Berorientsi Objek.
Biasanya use case tambahan
memiliki nama depan yang sama
Menambah
Gambar 0.1 Use Case
Tabel 3 Skenario Import file xlxs
Case : ImportXlsx Aktor : Pengguna
Kondisi Awal : -
Kondisi Akhir : Berhasil Meng-input File
Aksi Aktor Reaksi Sistem
1. Aktor klik tombol browse 2. Sistem membuka windows
explorer
3. Aktor membuka file xlxs 4. File masuk kedalam kolom browse
5. Aktor klik tombol Proses File 6. Sistem input-kan dan
Tabel 4 Skenario Tambah Data RAB
Case : DataRAB Aktor : Pengguna
Kondisi Awal : Data Sudah di-load
Kondisi Akhir : Berhasil Meng-input Data
Aksi Aktor Reaksi Sistem
1. Aktor meng-input-kan data
melalui text area
2. Aktor klik tombol Tambah 3. Sistem meng-input kedalam
database
4. Sistem menampilkan data update
terakhir kedalam JTabel
Tabel 5 Skenario Update DataRAB
Case : DataRAB Aktor : Pengguna
Kondisi Awal : Data sudah di-load
Kondisi Akhir : Berhasil meng-update data
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
di-update
2. Sistem menampilkan data kedalam
text area
3. Aktor meng-edit data
4. Aktor klik tombol Update 5. Sistem meng-update data kedalam
database
6. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 6 Skenario Hapus DataRAB
Kondisi Awal : Data sudah di-load
Kondisi Akhir : Berhasil menghapus data
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
dihapus
2. Sistem menampilkan data kedalam
text area
3. Aktor klik tombol Hapus 4. Sistem menghapus data didalam
database
5. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 7 Skenario Tambah Data Prioritas Barang
Case : DataKataPrioritasBarang Aktor : Pengguna
Kondisi Awal : -
Kondisi Akhir : Berhasil Menambahkan Data
Aksi Aktor Reaksi Sistem
1. Aktor meng-input-kan data
melalui text area
2. Aktor klik tombol Tambah 3. Sistem meng-input kedalam
database
4. Sistem menampilkan data update
terakhir kedalam JTabel
Tabel 8 Skenario Update Data Prioritas Barang
Case : DataKataPrioritasBarang Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil Di-update
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
di-update
2. Sistem menampilkan data kedalam
3. Aktor meng-edit data
4. Aktor klik tombol Update 5. Sistem meng-update data kedalam
database
6. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 9 Skenario Hapus Data Prioritas Barang
Case : DataKataPrioritasBarang Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil dihapus
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
dihapus
2. Sistem menampilkan data kedalam
text area
3. Aktor klik tombol Hapus 4. Sistem menghapus data didalam
database
5. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 10 Skenario Tambah Golongan Pos
Case : GolonganPos Aktor : Pengguna
Kondisi Awal : Data Sudah di-load
Kondisi Akhir : Berhasil Menambah Data
Aksi Aktor Reaksi Sistem
1. Aktor menginputkan data melalui
text area
2. Aktor klik tombol Tambah 3. Sistem meng-input kedalam
database
4. Sistem menampilkan data update
Tabel 11 Skenario Update Golongan Pos
Case : GolonganPos Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil Di-update
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
di-update
2. Sistem menampilkan data kedalam
text area
3. Aktor meng-edit data
4. Aktor klik tombol Update 5. Sistem meng-update data kedalam
database
6. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 12 Skenario Hapus Golongan Pos
Case : GolonganPos Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil dihapus
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
dihapus
2. Sistem menampilkan data kedalam
text area
3. Aktor klik tombol Hapus 4. Sistem menghapus data didalam
database
5. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 13 Skenario Tambah Jenis Pos
Kondisi Awal : Data Sudah di-load
Kondisi Akhir : Berhasil Menambah Data
Aksi Aktor Reaksi Sistem
1. Aktor meng-input-kan data
melalui text area
2. Aktor klik tombol Tambah 3. Sistem meng-input kedalam
database
4. Sistem menampilkan data update
terakhir kedalam JTabel
Tabel 14 Skenario Update Jenis Pos
Case : JenisPos Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil Di-update
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
di-update
2. Sistem menampilkan data kedalam
text area
3. Aktor meng-edit data
4. Aktor klik tombol Update 5. Sistem meng-update data kedalam
database
6. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 15 Skenario Hapus Jenis Pos
Case : JenisPos Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil dihapus
1. Aktor memilih data yang akan
dihapus
2. Sistem menampilkan data kedalam
text area
3. Aktor klik tombol Hapus 4. Sistem menghapus data didalam
database
5. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 16 Skenario Tambah Data Pos
Case : DataPos Aktor : Pengguna
Kondisi Awal : Data Sudah di-load
Kondisi Akhir : Berhasil Menambah Data
Aksi Aktor Reaksi Sistem
1. Aktor meng-input-kan data
melalui text area
2. Aktor klik tombol Tambah 3. Sistem meng-input kedalam
database
4. Sistem menampilkan data update
terakhir kedalam JTabel
Tabel 17 Skenario Update Data Pos
Case : DataPos Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil Di-update
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
di-update
2. Sistem menampilkan data kedalam
text area
3. Aktor meng-edit data
4. Aktor klik tombol Update 5. Sistem meng-update data kedalam
6. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 18 Skenario Hapus Data Pos
Case : DataPos Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data berhasil dihapus
Aksi Aktor Reaksi Sistem
1. Aktor memilih data yang akan
dihapus
2. Sistem menampilkan data kedalam
text area
3. Aktor klik tombol Hapus 4. Sistem menghapus data didalam
database
5. Sistem menampilkan data update
terakhir kedalam Jtable
Tabel 19 Knapsack
Case : Knapsack Aktor : Pengguna
Kondisi Awal : Data telah di-load
Kondisi Akhir : Data di konversi ke file excel (.xlxs)
Aksi Aktor Reaksi Sistem
1. Data di-load kedalam Jtable
2. Aktor memasukkan maksimal
anggaran
3. Aktor klik tombol Optimalkan
Anggaran
4. Sistem memotong data anggaran
yang terdapat didalam Jtabel
5. Aktor klik tombol Konversi Ke
File Excel
6. Sistem mengkonversi Jtable
kedalam file excel(xlxs) dan
menyimpan didalam windows
4.3 Desain Subsistem Manajemen Data
4.3.1 Diagram Conceptual Design
Gambar 4.0.2 Diagram Conceptual Design
4.3.2 Physical Database Design
Physical Database Design merupakan gambaran implementasi database yang digunakan dalam sistem. Tabel-tabel Physical Database Design adalah sebagai berikut:
1. Tabel Data Pos
Tabel 20 Data Pos
Nama Field Tipe Keterangan
ID_POS Int (10) PK untuk tabel Data
Pos
ID_GOLONGAN Int (10) Field untuk id
golongan
TAHUN_POS Varchar(10) Field untuk tahun
pos
JUMLAH Varchar(20) Field untuk jumlah
barang
SISA_UANG Varchar(20) Field untuk sisa
uang
2. Tabel Data RAB
Tabel 21 Data RAB
Nama Field Tipe Keterangan
NO Int(10) Field untuk no
barang
ID_POS Int(10) PK untuk Data
RAB
NAMA_BARANG Varchar(50) Field untuk nama
barang
NON_USD Varchar(20) Field untuk harga
barang
JADWAL Varchar(20) Field untuk jadwal
JUMLAH Varchar(20) Field untuk jumlah
HARGA_SATUAN Varchar(20) Field unutk harga
satuan
USD Varchar(20) Field untuk USD
ISSELECTED Enum(‘Y’,’N’) Untuk mengetahui
barang termasuk
penting atau tidak
BOBOT Int(5) Untuk memberi
bobot prioritas
knapsack
3. Tabel Golongan Pos
Tabel 22 Golongan Pos
Nama Field Tipe Keterangan
ID_GOLONGAN Int(10) PK untuk tabel
golongan pos
NAMA_GOLONGAN Varchar(50) Field untuk nama
golongan
4. Tabel Jenis Pos
Tabel 23 Jenis Pos
Nama Field Tipe Keterangan
ID_JENIS_POS Int(20) PK untuk tabel
jenis pos
NAMA_JENIS_POS Varchar(50) Field untuk nama
5. Tabel Kata Kunci
Tabel 24 Kata Kunci
Nama Field Tipe Keterangan
NO Int(10) Field untuk no
KATA_KUNCI Text Field untuk kata
kunci knapsack
4.4 Desain Manajemen Model
Sistem Pendukung Pengambilan Keputusan Optimasi Anggaran ini
menggunakan metode Knapsack dengan penyelesaian Greedy, untuk
menentukan bobot kepentingan serta pemotongan dana anggaran nantinya.
Langkah-langkah proses SPPK Optimasi Anggaran :
1. Maksimal anggaran kita tetapkan 100.000.000
wi = bobot berat barang
pi = jumlah atau keuntungan barang
M = 100.000.000
Tabel 25 Penghitungan Knapsack 1
wi pi pi/wi Weigh Profit Density Solusi Optimal
21 * 5.250.000 = 110.250.000
1 * 6.750.000 = 6.750.000
1 * 1.000.000 = 1.000.000
Jumlah = 118.000.000 > 100.000.000
2. Hasil total anggaran masih lebih besar dibandingkan maksimal anggaran
yang telah ditetapkan, maka barang dengan bobot paling besar dihilangkan
Tabel 26 Penghitungan Knapsack 2
wi pi pi/wi Weigh Profit Density Solusi Optimal
2 21 10,5 1 1 1 1
1 1 1 1 0 0 1
Total Bobot 3 2 2 3
Keuntungan 22 21 21 22
21 * 5.250.000 = 110.250.000
1 * 6.750.000 = 6.750.000
Jumlah = 117.000.000 > 100.000.000
3. Hasil total anggaran masih lebih besar dibandingkan maksimal anggaran
yang telah ditetapkan, maka barang dengan bobot paling besar, jumlah
barangnya dikurangi dan dilakukan proses knapsack lagi, yaitu sebagai
berikut:
Tabel 27 Penghitungan Knapsack 3
wi pi pi/wi Weigh Profit Density Solusi Optimal
2 17 8,5 1 1 1 1
1 1 1 1 0 0 1
Total Bobot 3 2 2 3
Keuntungan 18 17 17 18
17 * 5.250.000 = 89.250.000
1 * 6.750.000 = 6.750.000
Jumlah = 96.000.000 ≤ 100.000.000
4. Jika maksimal anggaran sudah lebih besar sama dengan jumlah anggaran,
maka proses knapsack dihentikan. Hasil tersebut telah dianggap paling