Sistem Pendukung Penentuan Keputusan Distribusi Pengadaan Air Bersih ... · i Sistem Pendukung...
Transcript of Sistem Pendukung Penentuan Keputusan Distribusi Pengadaan Air Bersih ... · i Sistem Pendukung...
i
Sistem Pendukung Penentuan Keputusan Distribusi Pengadaan Air Bersih
Dengan Metode Technique for Order Preference by
Similarity to Ideal Solution (TOPSIS)
(Studi Kasus : Kabupaten Sragen)
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Disusun Oleh :
Henrycus Bagus Handoko
125314049
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
Determination Of Distribution Decision Support System of Supply Clean
Water with Technique for Order Preference by
Similarity to Ideal Solution (TOPSIS) method
(Studi Kasus : Kabupaten Sragen)
A THESIS
Presented as a Meaning
For Gaining Engineering Holder in
Informatics Engineering Study Program
Created by :
Henrycus Bagus Handoko
125314049
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2106
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN MOTTO
“Senyuman adalah sebuah nilai besar pada sebuah kebahagiaan, namun senyuman memiliki
nilai yang jauh lebih besar dimana bisa dihadapkan dengan situasi yang menekan diri”
“Belajar berharap memang sangatlah mudah, tapi cobalah belajar untuk menyikapi sebuah
tantangan”
“Fokus menentukan kecepatan hasil dari tanggung jawab, konsentrasi menentukan hasil
akhir”
“Semakin parah kau jatuh, maka semakin kuat kau untuk bangkit”
“Gagal setelah mencoba, akan jauh lebih baik daripada tak pernah mencoba”
“Suatu pencapaian yang besar, tentu akan menimbulkan risiko yang besar pula”
“Berawal dengan penuh keyakinan, memulai dengan penuh keikhlasan”
“Nilailah setiap langkah usaha dan kemampuanmu, jangan menilai apa yang akan
menjadikan hambatan pada dirimu. Tetap yakin!!“
“TUHAN adalah kekuatanku dan perisaiku; kepada-Nya hatiku percaya. Aku tertolong
sebab itu beria-ria hatiku, dan dengan nyanyianku aku bersyukur kepada-Nya. TUHAN
adalah kekuatan umat-Nya dan benteng keselamatan bagi orang yang diurapi-
Nya!”~Mazmur 28:7-8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN
Skripsi ini saya persembahkan untuk:
Orang tua dan keluarga tercinta yang selalu memberi dukungan, semangat, serta cinta
kasih dalam doanya sehingga selama proses perkuliahan hingga pencapaian saya pada akhir
masa perkuliahan.
Seluruh dosen dan karyawan yang telah memberikan ilmu, pengetahuan, dukungan,
bimbingan, fasilitas, sarana dan prasarana selama proses perkuliahan hingga pembentukan
jati diri.
Teman-teman seperjuangan yang telah memberikan bantuan, dukungan, doa, motivasi,
pencerahan, dan semangat.
Seluruh penghuni Kost 21 (Dwi Tunggal) yang selalu senantiasa memberikan semangat,
mensupport, mengingatkan akan tanggung jawab, fasilitas, motivasi, dan semangat.
Pak Hasan Basri (Pemilik Kost 21) yang telah memberikan kesempatan kepada saya untuk
memperpanjang kost sesuai dengan jenjang dari proses hingga penyelesaian skripsi ini.
Brigita Lusitawati yang telah memberikan semangat, motivasi, saran dan kritik sehingga
meneguhkan saya dalam proses penyelesaian skripsi ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRAK
Sistem Pendukung Penentuan Keputusan Pengadaan Air Bersih adalah sebuah sistem
informasi berbasis komputer yang dapat digunakan untuk membantu menunjang kualitas
hidup manusia dalam hal pengadaan air bersih. Pada sistem ini, akan mendapatkan hasil
berupa keputusan prioritas pengadaan air bersih pada masing – masing calon daerah. Di
Dinsos Kabupaten Sragen sendiri, terdapat kriteria dalam penentuan keputusan sesuai hasil
proposal yang diajukan setiap calon-calon daerah diantaranya jumlah KK yang membutuhkan
air bersih (KK), jumlah jiwa setiap daerah (JIWA), jumlah droppingan air setiap daerah
(TANGKI), dan jumlah dukuh yang membutuhkan air bersih setiap daerah (DUKUH).
TOPSIS (Technique for Order Preference by Similarity to Ideal Solution) adalah
metode yang digunakan dalam sistem ini, menentukan hasil kedekatan relatif terhadap solusi
ideal sehingga dapat menghasilkan nilai prioritas dari beberapa daerah. Metode ini dipilih
karena mempertimbangkan jarak terhadap solusi ideal positif dan jarak terhadap solusi ideal
negatif dengan mengambil kedekatan relatif terhadap solusi ideal positif. Berdasarkan
perbandingan terhadap jarak relatifnya, susunan prioritas alternatif bisa dicapai. Dari hasil
yang diperoleh, dapat digunakan untuk membantu pengadaan air bersih ke daerah yang
memenuhi prioritas, dan sifatnya hanya membantu mencari nilai prioritas sesuai dengan
kedekatan relatif terhadap solusi ideal dan tidak menjadi tujuan akhir untuk pengambilan
keputusan.
Keluaran sistem adalah hasil alokasi debit air bersih terhadap calon-calon desa yang
mejadi alternatif untuk di distribusikan air bersih terhadap penyediaan air bersih dari pihak
DINSOS Kabupaten Sragen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
ABSTRACT
Determination of Decision support system of procurement of clean water is computer-
based information systems that can be used to help bolster the quality of human life in terms
of procurement of clean water. On these systems, will achieve resultsin the form of clean
water procurement priority decision on each candidate region. In the Sragen Dinsos itself,
there is a corresponding decision criteria in the determination of the result of the proposal put
forward any candidates area including the number of FAMILIES in need of clean
water (KK), the number of inhabitants each area(the SOUL), the number of droppingan of
water each area (the TANK), and the number of the host in need of clean water each area (the
HOST).
TOPSIS (Technique for Order Preference by Similarity to Ideal Solution) is a method
used in this system, determine the results of proximity relative to the ideal solutionso that it
can produce a priority value from several areas. This method was chosen because
it considers the distance towards the ideal solution is positive and the distance towards the
ideal solution with a negative take proximity relative to the ideal solution. Based on a
comparison of the relative distance, against the order of priorities of the alternatives can be
achieved. From the results obtained, it can be used to assist in the provision of clean water to
areas that meet your priorities, and its nature is only help find value priorities in
accordance with the proximity relative to ideal solution and not be the final destination for
decision making.
The output of the system is the result of the allocation of clean water discharge
against candidates of the villages which became an alternative to distribute clean water
against a provision of the cleanwater of DINSOS Sragen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
KATA PENGANTAR
Puji dan syukur penulis haturkan kepada Tuhan Yesus atas puji dan syukur, atas berkat
dan rahmat karunia-Nya penulis dapat menyelesaikan skripsi yang berjudul “Sistem
Pendukung Penentuan Keputusan Pengadaan Air Bersih dengan Metode TOPSIS (Technique
for Order Preference by Similarity to Ideal Solution)”. Penulisan skripsi ini diajukan untuk
memenuhi salah satu syarat dalam memperoleh gelar Sarjana Komputer Program Studi
Teknik Informatika Universitas Sanata Dharma Yogyakarta.
Penulis tidak lupa mengucapkan terima kasih pada beberapa pihak yang telah
membantu dalam penyusunan skripsi ini. Ucapan terima kasih ditujukan kepada:
1. Tuhan Yang Maha Esa yang telah memberikan rahmat dan kekuatan selama proses
penyusunan tugas akhir hingga selesai.
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 Eko Hari Permadi,S.Si., M.Kom selaku dosen pembimbing yang telah
memberikan perhatian, arahan, dan motivasi kepada penulis, serta memberikan
solusi pemecahan masalah melalui kritik dan saran yang membangun.
5. Orang tua dan keluarga yang selalu memberikan motivasi, dukungan, dan doa
dalam penyelesaian tugas akhir.
6. Bapak Budi Prayono yang telah bersedia meluangkan waktu untuk pengambilan
data dan refrensi tentang pengadaan air bersih.
7. Brigita Lusitawati yang telah memberikan masukan-masukan bersifat membangun
dalam setiap kesulitan, halangan yang dihadapi dalam penyusunan skripsi.
8. Daniel Risamasu selaku Asisten Laboran Basis Data yang telah memberikan waktu
dan tempat serta membantu dalam proses penyelesaian tugas akhir ini.
9. Anak Kost 21 (Dwi Tunggal) selalu memberi support, saran dan kritik yang bersifat
membangun tanggung jawab dalam penyusunan skripsi.
10. Teman-teman Teknik Informatika 2012 USD yang selalu memberikan support,
dukungan, dan membantu menemukan permasalahan dalam penyusunan skripsi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
DAFTAR ISI
HALAMAN JUDUL .................................................................................................................. i
HALAMAN JUDUL (Bahasa Inggris) ...................................................................................... ii
HALAMAN PERSETUJUAN.................................................................................................. iii
HALAMAN PENGESAHAN .................................................................................................. iv
HALAMAN MOTTO ................................................................................................................ v
HALAMAN PERSEMBAHAN ............................................................................................... vi
PERNYATAAN KEASLIAN KARYA .................................................................................. vii
LEMBAR PERNYATAAN PERSETUJUAN ....................................................................... viii
ABSTRAK ................................................................................................................................ ix
ABSTRACT ............................................................................................................................... x
KATA PENGANTAR .............................................................................................................. xi
DAFTAR ISI ........................................................................................................................... xiii
DAFTAR GAMBAR ............................................................................................................ xviii
DAFTAR TABEL ................................................................................................................... xix
BAB I PENDAHULUAN ..................................................................................................... 1
1.1 Latar Belakang ................................................................................................................. 1
1.2 Rumusan Masalah ............................................................................................................ 3
1.3 Batasan Masalah ............................................................................................................... 3
1.4 Tujuan Penelitian .............................................................................................................. 3
1.5 Langkah Penelitian ........................................................................................................... 3
1.6 Sistematika Penulisan ....................................................................................................... 4
BAB II LANDASAN TEORI ................................................................................................ 5
2.1 Sistem Pendukung Keputusan .......................................................................................... 5
2.1.1 Karakteristik Sistem Pendukung Keputusan ........................................................... 6
2.1.2 Komponen-komponen Sistem Pendukung Keputusan ............................................ 6
2.1.3 Manfaat Sistem Pendukung Keputusan ................................................................... 7
2.1.4 Keterbatasan Sistem Pendukung Keputusan ........................................................... 8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
2.2 Pendistribusian Pengadaan Air Bersih ............................................................................. 8
2.2.1 Distribusi ................................................................................................................. 8
2.2.2 Pengadaan Air Bersih .............................................................................................. 9
2.2.2.1 Pengertian Air Bersih .................................................................................. 9
2.2.2.2 Sistem Pengadaan Air Bersih .................................................................... 10
2.3 Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) .................. 11
2.4 Basis Data ....................................................................................................................... 13
2.4.1 Bentuk Bahasa Basis Data ..................................................................................... 14
2.4.2 Atribut Tabel (Table Atrribute) ............................................................................. 14
2.4.3 Entitas dan Hubungan Antar Entitas ..................................................................... 15
BAB III METODOLOGI PENELITIAN .............................................................................. 17
3.1 Gambaran Umum ........................................................................................................... 17
3.2 Desain Penelitian ............................................................................................................ 17
3.2.1 Studi Literatur ........................................................................................................ 17
3.2.2 Pengumpulan Data ................................................................................................ 17
3.2.2.1 Data yang digunakan ................................................................................. 17
3.2.2.2 Teknik Pengumpulan Data ........................................................................ 17
3.2.3 Perancangan Alat Uji ............................................................................................. 18
3.3 Spesifikasi Software dan Hardware ............................................................................... 18
BAB IV ANALISA DAN PERANCANGAN SISTEM ....................................................... 20
4.1 Definisi Ruang Lingkup ................................................................................................. 20
4.2 Analisa Kebutuhan ......................................................................................................... 20
4.2.1 Use Case ................................................................................................................ 21
4.2.2 Narasi Use Case ..................................................................................................... 21
4.3 Perancangan Proses ........................................................................................................ 25
4.3.1 Algoritma ............................................................................................................... 25
4.3.2 Diagram Dekomposisi ........................................................................................... 28
4.3.3 Diagram Konteks ................................................................................................... 28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
4.3.4 DFD level 1 ........................................................................................................... 29
4.3.5 DFD level 2 ........................................................................................................... 30
4.3.4.1 DFD level 2 Proses 1 ................................................................................ 30
4.3.4.2 DFD level 2 Proses 2 ................................................................................ 30
4.3.4.3 DFD level 2 Proses 3 ................................................................................ 30
4.3.4.4 DFD level 2 Proses 4 ................................................................................ 31
4.4 Perancangan Basis Data ................................................................................................. 31
4.4.1 Perancangan Konseptual ....................................................................................... 31
4.4.2 Perancangan Logikal ............................................................................................. 32
4.4.3 Perancangan Fisikal ............................................................................................... 33
4.5 Perancangan User Interface ............................................................................................ 34
4.5.1 Perancangan Input ................................................................................................. 34
4.5.2 Perancangan Output .............................................................................................. 36
4.6 Penerapan Algoritma TOPSIS ....................................................................................... 36
BAB V IMPLEMENTASI, HASIL, DAN PEMBAHASAN .............................................. 42
5.1 Implementasi Algoritma TOPSIS .................................................................................. 42
5.1.1 Matriks keputusan ternormalisasi .......................................................................... 42
5.1.2 Matriks Normalisasi terbobot ................................................................................ 43
5.1.3 Menentukan solusi ideal positif dan negatif .......................................................... 44
5.1.4 Menentukan kedekatan relative ............................................................................. 45
5.1.5 Perangkingan ......................................................................................................... 46
5.2 Implementasi Interface ................................................................................................... 46
5.2.1 Login ..................................................................................................................... 46
5.2.2 Halaman Utama ..................................................................................................... 47
5.2.3 Form Kriteria ......................................................................................................... 47
5.2.4 Form Kecamatan ................................................................................................... 48
5.2.5 Form Desa ............................................................................................................. 49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
5.2.6 Form Nilai Alternative .......................................................................................... 50
5.2.7 Perhitungan TOPSIS ............................................................................................. 50
5.2.7.1 Matriks Keputusan .................................................................................... 50
5.2.7.2 Matriks Normalisasi .................................................................................. 51
5.2.7.3 Matriks Normalisasi terbobot.................................................................... 51
5.2.7.4 Solusi Ideal Positif .................................................................................... 51
5.2.7.5 Solusi Ideal Negatif ................................................................................... 52
5.2.7.6 Kedekatan Relatif ...................................................................................... 52
5.2.7.7 Perangkingan ............................................................................................. 52
5.2.8 Alokasi air bersih ................................................................................................... 53
5.3 Hasil Pengujian dan Pembahasan .................................................................................. 53
5.3.1 Matriks Normalisasi ............................................................................................ 55
5.3.2 Normalisasi Matriks Terbobot ............................................................................ 58
5.3.3 Menghitung Jarak Separasi Positif dan Negatif .................................................. 59
5.3.4 Menghitung Kedekatan Relative......................................................................... 62
5.3.5 Perangkingan ....................................................................................................... 64
5.3.6 Pengalokasian ..................................................................................................... 65
BAB VI PENUTUPAN ......................................................................................................... 67
6.1 Kesimpulan ..................................................................................................................... 67
6.2 Saran ............................................................................................................................... 67
DAFTAR PUSTAKA .............................................................................................................. 68
LAMPIRAN ............................................................................................................................. 69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
DAFTAR GAMBAR
Gambar 4.1 Use case diagram ............................................................................................. 20
Gambar 4.2 Flowchart metode TOPSIS .............................................................................. 27
Gambar 4.3 Diagram dekomposisi ...................................................................................... 28
Gambar 4.4 Diagram Konteks ............................................................................................. 29
Gambar 4.5 DFD level 1 ...................................................................................................... 29
Gambar 4.6 DFD level 2 proses 1........................................................................................ 30
Gambar 4.7 DFD level 2 proses 2........................................................................................ 30
Gambar 4.8 DFD level 2 proses 3........................................................................................ 30
Gambar 4.9 DFD level 2 proses 4........................................................................................ 31
Gambar 4.10 Entity Relationalship Diagram ......................................................................... 32
Gambar 4.11 Relational Database ......................................................................................... 32
Gambar 4.12 Halaman Utama ............................................................................................... 35
Gambar 4.13 Kriteria ............................................................................................................. 35
Gambar 4.14 Desa.................................................................................................................. 35
Gambar 4.15 Alternative........................................................................................................ 35
Gambar 4.16 Hasil Perhitungan TOPSIS .............................................................................. 36
Gambar 5.1 Form Login ...................................................................................................... 46
Gambar 5.2 Form Halaman Utama ...................................................................................... 47
Gambar 5.3 Form Kriteria ................................................................................................... 47
Gambar 5.4 Form Kecamatan .............................................................................................. 48
Gambar 5.5 Form Desa ........................................................................................................ 49
Gambar 5.6 Form Nilai Alternative ..................................................................................... 50
Gambar 5.7 Matriks Keputusan ........................................................................................... 50
Gambar 5.8 Matriks Normalisasi ......................................................................................... 51
Gambar 5.9 Matriks Normalisasi Terbobot ......................................................................... 51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
Gambar 5.10 Solusi Ideal Positif ........................................................................................... 51
Gambar 5.11 Solusi Ideal Negatif.......................................................................................... 52
Gambar 5.12 Kedekatan Relatif ............................................................................................. 52
Gambar 5.13 Perangkingan dan penyediaan air bersih .......................................................... 52
Gambar 5.14 Alokasi air bersih ............................................................................................. 53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
DAFTAR TABEL
Tabel 4.1 Tabel Narasi Use Case Verifikasi Login ......................................................... 21
Tabel 4.2 Tabel Narasi Use Case Input data Kecamatan ................................................. 22
Tabel 4.3 Tabel Narasi Use Case mereset table ............................................................... 22
Tabel 4.4 Tabel Narasi Use Case Menghapus data Kecamatan ....................................... 22
Tabel 4.5 Tabel Narasi Use Case Input data Desa ........................................................... 23
Tabel 4.6 Tabel Narasi Use Case Mengupdate data Desa ............................................... 23
Tabel 4.7 Tabel Narasi Use Case Menghapus data Desa ................................................. 23
Tabel 4.8 Tabel Narasi Use Case Mengupdate nilai Bobot Kriteria ................................ 24
Tabel 4.9 Tabel Narasi Use Case Input Nilai Alternatif .................................................. 24
Tabel 4.10 Tabel Narasi Use Case Mengupdate nilai Alternatif ....................................... 24
Tabel 4.11 Tabel Narasi Use Case Menghapus nilai Alternatif ......................................... 25
Tabel 4.12 Tabel Narasi Use Case Logout ........................................................................ 25
Tabel 4.13 Tabel Login ...................................................................................................... 33
Tabel 4.14 Tabel Kecamatan ............................................................................................. 33
Tabel 4.15 Tabel Desa ....................................................................................................... 33
Tabel 4.16 Tabel Kriteria ................................................................................................... 34
Tabel 4.17 Tabel Alternative ............................................................................................. 34
Tabel 4.18 Tabel Matriks Keputusan ................................................................................. 37
Tabel 4.19 Tabel nilai 2
ijx ................................................................................................. 38
Tabel 4.20 Tabel akar dari seluruh jumlahan 2
ijx ............................................................. 38
Tabel 4.21 Tabel nilai matriks normalisasi ................................................................. 38
Tabel 4.22 Tabel matriks normalisasi terbobot .......................................................... 39
Tabel 4.23 Tabel solusi ideal positif dan negatif .............................................................. 39
Tabel 4.24 Tabel Nilai ( ) 2 ................................................................................. 40
Tabel 4.25 Tabel Nilai ( ) 2 ................................................................................. 40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xx
Tabel 4.26 Tabel ukuran separasi Positif dan Negatif ...................................................... 41
Tabel 4.27 Tabel Kedekatan Relative ............................................................................... 41
Tabel 5.1 Tabel data pemetaan periode 15 Juli s/d 17 November 2015 ........................ 54
Tabel 5.2 Tabel Perhitungan 2
ijx ................................................................................... 55
Tabel 5.3 Tabel akar dari seluruh jumlahan 2
ijx ............................................................ 56
Tabel 5.4 Tabel nilai matriks normalisasi ................................................................ 57
Tabel 5.5 Tabel Nilai Bobot ............................................................................................ 58
Tabel 5.6 Tabel matriks normalisasi terbobot .......................................................... 58
Tabel 5.7 Tabel Solusi Ideal Postif dan Negatif ............................................................. 59
Tabel 5.8 Tabel Perhitungan ( ) 2 ..................................................................... 60
Tabel 5.9 Tabel Perhitungan ..................................................................................... 60
Tabel 5.10 Tabel Perhitungan ( ) 2 ...................................................................... 61
Tabel 5.11 Tabel Perhitungan ...................................................................................... 61
Tabel 5.12 Tabel perhitungan Kedekatan Relative ........................................................... 62
Tabel 5.13 Tabel Perangkingan ........................................................................................ 64
Tabel 5.14 Tabel nilai total setiap alternative dalam ranking ............................................ 65
Tabel 5.15 Tabel perhitungan Pengalokasian ................................................................... 65
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Kabupaten Sragen merupakan salah satu Kabupaten di Propinsi Jawa Tengah. Secara
geografis Kabupaten Sragen berada di perbatasan antara Jawa Tengah dan Jawa Timur.
Batas-batas wilayah Kabupaten Sragen sebelah timur Kabupaten Ngawi (Propinsi Jawa
Timur), sebelah barat Kabupaten Boyolali, sebelah selatan Kabupaten Karanganyar, dan
sebelah utara Kabupaten Grobogan.
Luas wilayah Kabupaten Sragen adalah 941,55 km2 yang terbagi dalam 20
kecamatan, 8 kelurahan, dan 200 desa. Secara fisiologis, wilayah kabupaten Sragen terbagi
atas 40.037,93 Ha (42,52%) lahan basah (sawah), 54.117,88 Ha(57,48%) lahan kering.
Kabupaten Sragen terletak pada 7 º 15 LS sampai 7 º 30 LS serta 110 º 45 BT sampai 111 º
10 BT. Wilayah Kabupaten Sragen berada di dataran dengan ketinggian rata rata 109 M
diatas permukaan laut. Sragen mempunyai iklim tropis dengan suhu harian yang berkisar
antara 19 - 31 º C. Curah hujan rata-rata di bawah 3000 mm per tahun dengan hari hujan di
bawah 150 hari per tahun.
Jumlah penduduk Sragen berdasarkan data tahun 2005 sebanyak 865.417 jiwa, terdiri
dari 427.253 penduduk laki laki dan 438.164 penduduk perempuan. Kepadatan penduduk rata
rata 919 jiwa/km2. luas wilayah : 94.155 Ha, luas sawah : 40.129 Ha, dan tanah kering :
54.026 Ha
Berdasarkan data dari Dinas Sosial Kabupaten Sragen, pada tahun 2015 di Kabupaten
Sragen terjadi krisis air bersih yang mengancam 6.671 jiwa. Kasus tersebut terjadi pada
daerah Kecamatan Sragen khususnya bagian utara yang memiliki daerah dengan topografi
tanah yang tandus pada saat musim kemarau. Terdapat 11 kecamatan yang rawan kekeringan
di Kabupaten Sragen. Salah satu usaha yang dilakukan pemerintah dalam mengatasi
kekeringan adalah meminta setiap camat untuk memetakan data daerah rawan kekeringan di
wilayah masing-masing. Data pemetaan yang diperoleh akan digunakan untuk pertimbangan
pemerintah dalam penentuan bantuan air bersih.
Pada tahun 2015 pemerintah mengalokasikan dana APBD untuk pengadaan air bersih
demi menunjang kualitas hidup masyarakat Sragen. Dinsos yang bekerjasama dengan PDAM
bertugas mengatur teknis manajemen distribusi untuk pengalokasian air bersih ke daerah
rawan kekeringan. Distribusi air berhubungan dengan ketersedian air dan produksinya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
(supply) serta permintaan air oleh konsumen (demand). Tanggung jawab penyediaan
dan distribusi air bersih ada di PDAM dan sumber-sumber mata air. Standar kebutuhan air
bersih adalah di atas 100 liter per orang. Kebutuhan air bersih semakin lama semakin
meningkat berhadapan dengan masalah produksi air menurun berhubung produksi sumur
dalam yang menurun, degradasi lingkungan, perubahan tata kota yang mengurangi debit
produksi, kurangnya perawatan (maintenance), topografi wilayah yang kering serta
keterbatasan anggaran dan sarana/prasarana. Persoalan yang munsul adalah masalah
pendistribusian air bersih ke desa-desa yang membutuhkan bantuan. Selama ini distribusi air
bersih hanya menjangkau pada wilayah –wilayah yang mempunyai jarak tidak jauh dari
perkotaan seperti Gawan dan Puro. Sedangkan daerah Jenar, Banyurip, dan Gemolong yang
jauh sangat jarang mendapatkan distribusi air bersih.
Pendistribusian air bersih pernah di teliti oleh Arifin dan Hartati dengan judul Sistem
Pendukung Keputusan Air Bersih dengan fuzzy Interger Transportation. Dalam penelitian
tersebut goal yang dihasilkan adalah penyelesaian masalah distribusi dengan pendekatan
model fuzzy integer transportation menunjukkan hasil yang lebih lebih baik, yakni total biaya
distribusi yang minimum dengan total air yang didistribusikan mendekati harapan pelanggan
(Arifin A & Hartati S, 2011).
TOPSIS (Technique for Order Preference by Similarity to Ideal Solution) adalah
salah satu metode pengambilan keputusan multikriteria. Metode ini banyak digunakan untuk
menyelesaikan pengambilan keputusan secara praktis. Hal ini disebabkan konsepnya
sederhana dan mudah dipahami, komputasinya efisien, dan memiliki kemampuan mengukur
kinerja relatif dari alternatif-alternatif keputusan.
Dalam menentukan pengalokasian distribusi pengadaan air bersih, ada beberapa
kriteria yang digunakan oleh Pemerintah kabupaten Sragen. Kriteria tersebut antara lain:
jumlah keluarga dan jumlah dukuh yang membutuhkan air bersih disetiap daerah sesuai dari
proposal yang diajukan tiap-tiap kelurahan, jumlah keseluruhan jiwa per daerah, serta
jumlahnya tangki yang akan di distribusi.
Berdasarkan masalah tersebut, tugas akhir kali ini akan membahas tentang Sistem
Pendukung Penentuan Keputusan dengan metode TOPSIS (Technique for Order Preference
by Similarity to Ideal Solution) untuk menentukan pengalokasian bantuan air bersih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diutarakan di atas, maka rumusan masalah
dalam penelitian ini adalah bagaimana menerapkan algoritma TOPSIS (Technique for
Order Preference by Similarity to Ideal Solution) untuk menentukan lokasi
pendistribusian air bersih?
1.3 Batasan Masalah
Dalam pelaksanaan penelitian ini, berbagai permasalahan yang muncul dalam
konteks objek yang lebih luas akan dibatasi sesuai dengan kebutuhan dan kemampuan
sehingga pembahasan penelitian lebih bisa mencapai tujuan dan sasaran yang
diharapkan. Adapun batasan masalah diantaranya adalah sebagai berikut :
1. Ruang lingkup pembahasan ditekankan pada wilayah kabupaten Sragen terutama
desa yang membutuhkan air bersih.
2. Data jumlah penduduk yang membutuhkan air bersih di daerah rawan kekeringan
mengacu pada data Dinsos.
3. Metode yang digunakan TOPSIS (Technique for Order Preference by Similarity to
Ideal Solution) dalam menyelesaikan masalah pengadaan air bersih di Kabupaten
Sragen.
4. Sistem ini akan dibangun dan dikembangkan dengan bahasa pemrograman Netbeans
8.0.2 dan MySQL sebagai database-nya.
5. Kriteria pendistribusian menitikberatkan pada tingkat kebutuhan KK per desa akan
air bersih, serta diikuti dengan jumlah keseluruhan jiwa per desa, jumlah tangki dan
jumlah dukuh yang didistribusi sebagai faktor pertimbangan penentuan prioritas
dalam meningkatkan kualitas hidup manusia. Kriteria tersebut tidak dapat diubah-
ubah berdasarkan hasil pemetaan dan penentuan.
1.4 Tujuan Penelitian
Tujuan dan manfaat dari pembuatan proyek akhir ini adalah Menghasilkan
pengalokasian air bersih dengan metode TOPSIS (Technique for Order Preference by
Similarity to Ideal Solution).
1.5 Langkah Penelitian
Langkah penelitian pada penyusunan Tugas Akhir ini, adalah :
1. Pengumpulan data pemetaan bantuan air bersih pada Kabupaten Sragen.
2. Studi pustaka Sistem Pendukung Pengambilan Keputusan dengan menggunakan
metode TOPSIS (Technique for Order Preference by Similarity to Ideal Solution).
3. Analisa dan perancangan sistem yang akan dibangun, meliputi:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
- Analisis masalah
- Gambaran umum sistem
- Analisis kebutuhan sistem
- Perancangan sistem menggunakan metode TOPSIS (Technique for Order
Preference by Similarity to Ideal Solution).
- Perancangan proses.
- Perancangan basisdata.
- Perancangan interface.
4. Implementasi rancangan sistem penentuan bantuan distribusi air bersih.
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dengan susunan sebagai berikut :
Bab I Pendahuluan
Pada bagian pendahuluan ini memuat tentang latar belakang, rumusan
masalah, batasan masalah, tujuan, metode penelitian, dan sistematika
penelitian.
Bab II Landasan Teori
Pada bagian ini berisi tentang pengertian tentang geografi Sragen, pengadaan
air bersih, aplikasi Neatbeans yang nantinya digunakan untuk merancang
sistem, metode TOPSIS (Technique for Order Preference by Similarity to
Ideal Solution) yaitu metode yang digunakan untuk penentuan pertimbangan.
Bab III Metodologi Penelitian
Berisi tentang gambaran umum penelitian, desain penelitian (studi literatur,
data penelitian, perancangan alat uji, dna analisis sistem), dan spesifikasi
software dan hardware.
Bab IV Analisa dan Perancangan Sistem
Pada bagian ini akan berisi tentang sistem yang akan dibuat serta langkah -
langkah dan metode yang digunakan dalam pembuatan sistem tersebut.
Bab V Implementasi, Hasil, dan Pembahasan
Pada bagian ini akan berisi mengenai pembuatan sistem dan cara kerja sistem
serta hasil analisa dari sistem yang telah dibuat.
Bab VI Penutup
Pada bagian ini akan berisi tentang kesimpulan dan saran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
LANDASAN TEORI
Bab ini berisikan landasan dari penelitian ini, seperti Sistem Pendukung Keputusan,
pendistribusian pengadaan air bersih, metode Technique for Order Preference by Similarity
to Ideal Solution (TOPSIS), database. Hal tersebut menjadi landasan dari penelitian yang
akan dilakukan. Berikut ini adalah uraian dari landasan - landasan yang ada dalam penelitian
ini :
2.1 Sistem Pendukung Keputusan
Sistem Pendukung Keputusan (SPK) atau Decision Support System (DSS) adalah
sebuah sistem yang mampu memberikan kemampuan pemecahan masalah maupun
kemampuan pengkomunikasian untuk masalah dengan kondisi semi terstruktur dan tak
terstruktur. Sistem ini digunakan untuk membantu pengambilan keputusan dalam situasi semi
terstruktur dan situasi yang tidak terstruktur, dimana tak seorangpun tahu secara pasti
bagaimana keputusan seharusnya dibuat (Turban, 2001).
SPK bertujuan untuk menyediakan informasi, membimbing, memberikan prediksi
serta mengarahkan kepada pengguna informasi agar dapat melakukan pengambilan keputusan
dengan lebih baik. SPK merupakan implementasi teori-teori pengambilan keputusan yang
telah diperkenalkan oleh ilmu-ilmu seperti operation research dan management science.
Perbedaannya adalah bahwa jika dahulu untuk mencari penyelesaian masalah yang dihadapi
harus dilakukan perhitungan iterasi secara manual (biasanya untuk mencari nilai minimum,
maksimum, atau optimum), saat ini komputer PC telah menawarkan kemampuannya untuk
menyelesaikan persoalan yang sama dalam waktu relatif singkat.
Sprague dan Watson mendefinisikan Sistem Pendukung Keputusan (SPK) sebagai
sistem yang memiliki lima karakteristik utama yaitu (Sprague et.al, 1993) :
1. Sistem yang berbasis komputer.
2. Dipergunakan untuk membantu para pengambil keputusan
3. Untuk memecahkan masalah-masalah rumit yang mustahil dilakukan dengan
kalkulasi manual
4. Melalui cara simulasi yang interaktif
5. Dimana data dan model analisis sebagai komponen utama.
Pengambilan keputusan merupakan proses memilih sejumlah alternatif tindakan
dengan maksud mencapai tujuan tertentu (Turban, 2005).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
2.1.1 Karakteristik Sistem Pendukung Keputusan
SPK sangat erat hubungannya dengan sistem yang lain terutama sistem
informasi. SPK jika dilihat sekilas tampak seperti sistem informasi yang kompleks.
Namun sebenarnya SPK adalah sistem yang berada satu tingkat diatas sistem
informasi. Terdapat beberapa karakter dari SPK dari sebuah sistem informasi.
Beberapa karakteristik yang dimiliki adalah sebagai berikut:
1. SPK dirancang untuk membantu pengambilan keputusan dalam
memecahkan masalah yang sifatnya semi terstruktur maupun tidak
terstruktur.
2. Dalam proses pengolahannya, SPK mengkombinasikan penggunaan model-
model atau teknik-teknik analisis dengan teknik pemasukan data
konvensional serta fungsi-fungsi pencari atau interogasi informasi.
3. SPK dirancang sedemikian rupa sehingga dapat dioperasikan atau digunakan
dengan mudah oleh orang-orang yang tidak memiliki dasar kemampuan
pengoperasian komputer yang tinggi. Oleh karena itu pendekatan yang
digunakan biasanya model interaktif.
4. SPK dirancang dengan menekankan pada aspek fleksibilitas serta
kemampuan adaptasi yang tinggi. Sehingga mudah disesuaikan dengan
berbagai perubahan lingkungan yang terjadi dan kebutuhan pemakai.
2.1.2 Komponen-komponen Sistem Pendukung Keputusan
Suatu SPK memiliki tiga subsistem utama yang menentukan
kapabilitas teknik SPK tersebut, yaitu sebagai berikut:
1. Subsistem Managemen Basis Data(Data Base Management Subsystem)
Ada beberapa perbedaan antara database untuk SPK dan non-SPK. Pertama,
sumber data untuk SPK lebih “kaya” daripada non-SPK dimana data harus
berasal dari luar dan dari dalam karena proses pengambilan keputusan,
terutama dalam level managemen puncak, sangat bergantung pada sumber
data luar, seperti data ekonomi. Kedua, proses pengambilan dan ekstrasi data
dari sumber data yang sangat besar. SPK membutuhkan proses ekstraksi dan
DBMS yang dalam pengelolaannya harus cukup fleksibel untuk
memungkinkan penambahan dan pengurangannya secara cepat.
2. Subsistem Managemen Model(Model Management Subsystem)
Salah satu keunggulan SPK adalah kemampuan untuk mengintegrasikan
akses data dan model-model keputusan. Hal ini dapat dilakukan dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
menambahkan model-model keputusan ke dalam sistem informasi yang
menggunakan database sebagai mekanisme integrasi dan komunikasi di
antara model-model. Komunikasi antara berbagai model yang saling
berhubungan diserahkan kepada pengambilan keputusan sebagai proses
intelektual dan manual.
3. Subsistem Perangkat Lunak Penyelenggara Dialog (Dialog Generation and
Management Subsystem)
Komponen dari sistem dialog adalah pemakai, terminal, dan sistem oerangkat
lunak. Susbsitem dialog dibagi menjadi tiga bagian, yaitu:
a. Bahasa aksi, meliputi apa yang dapat digunakan oleh pemakai dalam
berkomunikasi dengan sistem. Hal ini meliputi pemilihan-pemilihan
seperti papan ketik (keyboard), panel-panel sentuh, perintah suara, dan
sebagainya.
b. Bahasa tampilan atau presentasi, meliputi apa yang harus diketahui oleh
pemakai. Bahasa tampilan meliputi pilihan-pilihan seperti printer layer
tampilan, grafik, warna, plotter, keluaran suara, dan sebagainya.
c. Basis pengetahuan, meliputi apa yang harus diketahui oleh pemakai agar
pemakaina sistem bisa efektif. Basis pengetahuan bisa berada dalam
pikiran pemakai, pada kartu refrensi atau petunjuk, dalam buku manual,
dan sebagainya.
2.1.3 Manfaat Sistem Pendukung Keputusan
SPK memberikan beberapa manfaat untuk pemakainya. Secara umum
yang dapat diambil dari SPK adalah sebagai berikut:
1. SPK memperluas kemampuan pengambilan keputusan dalam memproses
data atau informasi bagi pemakainya.
2. SPK membantu pengambilan keputusan dalam hal penghematan waktu yang
dibutuhkan untuk memecahkan masalah terutama untuk masalah yang
sangat kompleks dan tidak terstruktur.
3. SPK dapat menghasilkan solusi dengan lebih cepat seta hasilnya dapat
diandalkan.
4. Walaupun SPK mungkin tidak mampu memberikan maslah yang dihadapi
oleh pengambilan keputusan, namun SPK dapat membantu pengambil
keputusan dalam memahami persoalannya. SPK juga mampu menyajikan
berbagai alternatif.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
5. SPK dapat menyediakan bukti tambahan untuk memberikan pembenaran
sehingga dapat memperkuat posisi pengambilan keputusan.
2.1.4 Keterbatasan Sistem Pendukung Keputusan
Semua sistem memiliki kelemahan dan keterbatasan kemampuan
dalam hal-hal tertentu, demikian juga dengan SPK. Keterbatasan SPK antara
lain:
1. Ada beberapa kemampuan manajemen dan bakat manusia tidak dapat
dimodelkan, sehingga model yang ada dalam sistem tidak semuanya
mencerminkan persoalan sebenarnya.
2. Kemampuan suatu SPK terbatas pada pembendaharaan pengetahuan yang
dimilikinya (pengetahuan dasar serta model dasar).
3. Proses-proses yang dapat dilakukan oleh SPK biasanya tergantung juga pada
kemampuan perangkat lunak yang digunakan.
4. SPK tidak memiliki kemampuan intuisi seperti yang dimiliki oleh manusia.
Karena walau bagaimana pun canggihnya suatu SPK hanyalah merupakan
kumpulan perangkat keras, perangkat lunak dan sistem operasi yang tidak
dilengkapi dengan kemampuan berpikir.
Namun hal yang perlu ditekankan dalam pengertian SPK adalah bahwa
SPK tidak untuk membuat keputusan. Sebab SPK hanya mempunyai
kemampuan untuk mengolah data dan informasi yang diperlukan dalam
pengambilan keputusan. Jadi sistem hanya berfungsi sebagai alat bantu
manajemen. Secara luas, dapat dikatakan bahwa SPK dirancang untuk
menghasilkan berbagai alternatif yang ditawarkan para pengambil keputusan.
2.2 Pendistribusian Pengadaan Air Bersih
2.2.1 Distribusi
Kegiatan distribusi ini juga merupakan kegiatan yang sudah
berlangsung sekian lama di seluruh dunia. Pentingnya kegiatan distribusi ini
juga merupakan penunjang kegiatan perekonomian di seluruh dunia. Berikut
ini kami akan mengulas beberapa pengertian distribusi yang di buat oleh
para ahlinya sebagai berikut:
- Winardi, mengartikan distribusi adalah sekumpulan perantara yang
terhubung erat antara satu dengan yang lainnya dalam kegiatan penyaluran
produk-produk kepada konsumen (pembeli). (Winardi, 1989)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
- Ahli lain Philip Kotler, mengartikan distribusi sebagai sekumpulan
organisasi yang membuat sebuah proses kegiatan penyaluran suatu barang
atau jasa siap untuk di pakai atau di konsumsi oleh para konsumen
(pembeli). (Philip Kotler, 1997)
- Alma, mengartikan distribusi adalah sekumpulan lembaga yang saling
terhubung antara satu dengan lainnya untuk melakukan kegiatan
penyaluran barang atau jasa sehingga tersedia untuk dipergunakan oleh
para konsumen (pembeli). (Alma, 2007)
- Tjiptono mengartikan distribusi adalah suatu proses kegiatan yang
bertujuan untuk mempermudah kegiatan penyaluran barang atau jasa.
(Tjiptono, 2008)
2.2.2 Pengadaan Air Bersih
2.2.2.1 Pengertian air bersih
Berdasarkan Keputusan Menteri Kesehatan Republik Indonesia
Nomor 1405/menkes/sk/xi/2002 tentang Persyaratan Kesehatan
Lingkungan Kerja Perkantoran dan industri terdapat pengertian
mengenai Air Bersih yaitu air yang dipergunakan untuk keperluan
sehari-hari dan kualitasnya memenuhi persyaratan kesehatan air
bersih sesuai dengan peraturan perundang-undangan yang berlaku dan
dapat diminum apabila dimasak.
Berdasarkan Peraturan Menteri Kesehatan Republik Indonesia Nomor
16 Tahun 2005 Tentang Pengembangan Sistem Penyediaan Air
Minum, didapat beberapa pengertian mengenai :
1. Air baku untuk air minum rumah tangga, yang selanjutnya disebut
air baku adalah air yang dapat berasal dari sumber air permukaan,
cekungan air tanah dan air hujan yang memenuhi baku mutu
tertentu sebagai air baku untuk air minum.
2. Air minum adalah air minum rumah tangga yang melalui proses
pengolahan atau tanpa proses pengolahan yang memenuhi syarat
kesehatan dan dapat langsung diminum.
3. Air limbah adalah air buangan yang berasal dari rumah tangga
termasuk tinja manusia dari lingkungan permukiman.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
4. Penyediaan air minum adalah kegiatan menyediakan air minum
untuk memenuhi kebutuhan masyarakat agar mendapatkan
kehidupan yang sehat, bersih, dan produktif.
5. Sistem Pengadaan Air Minum yang selanjutnya disebut SPAM
merupakan satu kesatuan sistem fisik (teknik) dan non fisik dari
prasarana dan sarana air minum.
6. Pengembangan SPAM adalah kegiatan yang bertujuan
membangun, memperluas dan meningkatkan sistem fisik (teknik)
dan non fisik (kelembagaan, manajemen, keuangan, peran
masyarakat, dan hukum) dalam kesatuan yang utuh untuk
melaksanakan pengadaan air minum kepada masyarakat menuju
keadaan yang lebih baik.
7. Penyelenggaraan pengembangan SPAM adalah kegiatan
merencanakan, melaksanakan konstruksi, mengelola, memelihara,
merehabilitasi, memantau, dan mengevaluasi sistem fisik (teknik)
dan non fisik pengadaan air minum.
8. Penyelenggara pengembangan SPAM yang selanjutnya disebut
Penyelenggara adalah badan usaha milik negara/badan usaha
milik daerah, koperasi, badan usaha swasta, dan kelompok
masyarakat yang melakukan pengadaan pengembangan sistem
penyediaan air minum.
2.2.2.2 Sistem Pengadaan Air Bersih
Sistem pengadaan air bersih meliputi besarnya komponen pokok
antara lain: unit sumber air baku, unit pengolahan, unit produksi, unit
transmisi, unit distribusi.
1. Unit sumber air baku merupakan awal dari sistem penyediaan air
bersih yang mana pada unit ini sebagai penyediaan air baku yang
bisa diambil dari air tanah, air permukaan, air hujan yang
jumlahnya sesuai dengan yang diperlukan.
2. Unit pengolahan air memegang peranan penting dalam upaya
memenuhi kualitas air bersih atau minum, dengan pengolahan
fisika, kimia, dan bakteriologi, kualitas air baku yang semula
belum memenuhi syarat kesehatan akan berubah menjadi air bersih
atau minum yang aman bagi manusia.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
3. Unit produksi adalah salah satu dari sistem penyediaan air bersih
yang menentukan jumlah produksi air bersih atau minum yang
layak di distribusikan ke beberapa tandon. Unit produksi
merupakan unit bangunan yang mengolah jenis-jenis sumber air
menjadi air bersih. Teknologi pengolahan disesuaikan dengan
sumber air yang ada.
4. Unit transmisi berfungsi sebagai pengantar air yang diproduksi
menuju ke beberapa tandon atau reservoir.
5. Unit distribusi adalah mengantarkan air bersih atau minum dari
tandon atau reservoir menuju ke wilayah-wilayah sesuai dengan
yang diperlukan konsumen hingga sampai ke rumah warga.
2.3 Technique for Order Preference by Similarity to Ideal Solution (TOPSIS)
TOPSIS (Technique For Others Reference by Similarity to Ideal Solution) adalah
salah satu metode pengambilan keputusan multikriteria. Pertama kali diperkenalkan oleh
Yoon dan Hwang (1981). TOPSIS (Technique For Others Reference by Similarity to
Ideal Solution) menggunakan prinsip bahwa alternatif yang terpilih harus mempunyai
jarak terdekat dari solusi ideal positif dan terjauh dari solusi ideal negatif dari sudut
pandang geometris dengan menggunakan jarak Euclidean untuk menentukan kedekatan
relatif dari suatu alternatif dengan solusi optimal. Solusi ideal positif didefinisikan
sebagai jumlah dari seluruh nilai terbaik yang dapat dicapai untuk setiap atribut,
sedangkan solusi ideal negatif terdiri dari seluruh nilai terburuk yang dicapai untuk setiap
atribut. TOPSIS mempertimbangkan keduanya, jarak terhadap solusi ideal positif dan
jarak terhadap solusi ideal negatif dengan mengambil kedekatan relatif terhadap solusi
ideal. Berdasarkan perbandingan terhadap jarak relatifnya, susunan prioritas alternatif
bisa dicapai. Metode ini banyak digunakan untuk menyelesaikan pengambilan keputusan
secara praktis. Hal ini disebabkan konsepnya sederhana dan mudah dipahami,
komputasinya efisien, dan memiliki kemampuan mengukur kinerja relatif dari alternatif-
alternatif keputusan. (Srikrishna S, dkk, 2014)
Langkah-langkah metode TOPSIS (Technique For Others Reference by Similarity to
Ideal Solution) sebagai berikut :
a. Langkah 1 : menetapkan keputusan matriks
Langkah pertama dari metode TOPSIS melibatkan pembangunan dari matriks keputu
san melalui persamaan (1) di bawah ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
---------------------------- (1)
Keterangan:
i adalah indeks alternatif (i=1….m)
m adalah jumlah alternatif
j adalah indeks kriteria (j = 1….n)
n adalah jumlah kriteria
Cj adalah unsur-unsur C1, C2,…..,Cn merujuk pada kriteria
Li terdiri dari L1, L2,…,Lm merujuk pada alternatif
unsur-unsur dari matriks yang berkaitan nilai alternatif i terhadap kriteria j.
b. Langkah 2 : Menghitung matriks normalisasi
Langkah selanjutnya menentukan Normalisasion Decision Matriks (NDM). Nilai-
nilai matriks keputusan akan di normalisasikan untuk mendapatkan relative
performance dari matriks DM melalui persamaan (2) di bawah ini:
√∑2
ijx
------------------------------(2)
c. Langkah 3 : menentukan matriks normalisasi terbobot
Tidak semua kriteria memiliki tingkat kepentingan yang sama dan karenanya
diperlukan pembobotan menggunakan AHP (Analytical Hierarchy Process). AHP
merupakan teknik untuk mengukur relatif pentingnya kriteria satu dengan kriteria
yang lain. Hasil normalisasi matriks yang dibangun ( dikalikan dengan setiap
elemen dari setiap kolom oleh bobot ( yang telah ditentukan. Perhitungan matriks
normalisasi terbobot dilakukan dengan menghitung persamaan (3) di bawah ini:
V = Vij = Wj x Rij ------------------------------(3)
d. Langkah 4 : mengidentifikasi solusi Ideal positif dan negatif
Ideal positif (A solusi +) dan ideal negative (A solusi -) di definisikan menurut
matriks normalisasi terbobot melalui persamaan (4) dan (5) di bawah ini:
J dikaitkan dengan atribut yang bermanfaat dan J' dikaitkan dengan atribut bebas
bermanfaat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
e. Langkah 5 : menghitung jarak separasi setiap alternatif yang kompetitif dari solusi
ideal positif dan bebas dari solusi ideal negatif. Dapat didefinisikan pada persamaan
(6) dan (7) dibawah ini:
-----------------(6)
-----------------(7)
Mana i = alternatif indeks, j = kriteria indeks.
f. Langkah 6 : kedekatan relatif dari setiap lokasi untuk solusi ideal.
Untuk setiap kompetitif alternatif relatif kedekatan lokasi potensial terhadap solusi
ideal. Dapat didefinisikan pada persamaan (8) dibawah ini:
------------------------------(8)
g. Langkah 7 : Rank urutan preferensi
Menurut nilai Ci semakin tinggi nilai relatif kedekatan, semakin tinggi peringkat
orderand maka semakin baik kinerja alternatif.
2.4 Basis Data
Basis data adalah koleksi data yang berisi informasi yang berhubungan dengan suatu
perusahaan (Silberschatz, 2002). Pengelolaan basis data dilakukan oleh sebuah perangkat
lunak (sistem) yang khusus (Fathansyah, 1999). Perangkat lunak ini disebut Database
Management System (DBMS). DBMS adalah suatu koleksi dari data yang saling
berhubungan dan serangkaian program untuk mengakses data tersebut (Silberschatz,
2002).
Prinsip utama dari Basis data adalah pengaturan data/arsip, sedangkan tujuan
utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip.
Tujuan Basis Data:
a. Kemudahan dan kecepatan dalam pengambilan data (speed)
b. Efisiensi ruang penyimpanan (space) Mengurangi/menghilangkan redudansi
(pengulangan) data
c. Keakuratan (Accuracy) Pembentukan kode & relasi antar data berdasar
aturan/batasan (constraint) tipe data, domain data, keunikan data, untuk menekan
ketidakakuratan saat entry / penyimpanan data.
d. Ketersediaan (Avaibility). Pemilahan data yang sifatnya pasif dari database aktif.
e. Kelengkapan (Completeness) Kompleksnya data menyebabkan perubahan
struktur database.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
f. Keamanan (Security) Memberikan keamanan atas hak akses data.
g. Kebersamaan pemakaian (Sharability) Bersifat multiuser.
2.4.1 Bentuk Bahasa Basis Data
Sebuah bahasa basis data biasanya berbagai dalam dua bentuk yaitu :
1. Data Definition Language (DDL)
DDL adalah bahasa khusus yang menspesifikasikan struktur basis data
yang menggambarkan desain basis data secara keseluruhan. Bahasa ini
mendukung pembuatan table baru, pembuatan indeks, perubahan table, dan
penentuan struktur penyimpanan table. Hasil dari kompilasi perintah DDL
adalah kumpulan table yang disimpan dalam file khusus yang disebut kamus
data (data dictionary).
Kamus Data merupakan suatu metadata (superdata) yaitu data yang
mendeskripsikan data sesungguhnya.
Kamus Data akan selalu diakses dalam suatu operasi basis data sebelum
suatu file data yang sesungguhnya diakses.
2. Data Manipulation Language (DML)
DML merupakan bentuk bahasa basis data yang berguna untuk
melakukan manipulasi dan pengambilan data pada suatu basis data dan dapat
berupa :
a. Penyisipan atau penambahan data baru ke suatu basis data.
b. Penghapusan data dari suatu basis data.
c. Perubahan data di suatu basis data.
DML merupakan bahasa yang bertujuan memudahkan pemakai untuk
mengakses data sebagaimana dipresentasikan oleh model data.
2.4.2 Atribut Tabel (Table Atrribute)
Istilah atribut identik dengan pemakaian istilah kolom data. Dan
umumnya digunakan dalam perancangan basis data karena lebih impresif dalam
menunjukkan fungsinya sebagai pembentuk karakteristik pada sebuah tabel.
Atribut-atribut ini dapat dibedakan berdasarkan sejumlah pengelompokkan,
yaitu :
1. Key
Merupakan satu/gabungan dari beberapa atribut yang dapat
membedakan semua baris data (row) dalam tabel secara unik.
Ada empat macam key pada pada basis data, yaitu :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
a. Kunci kandidat (candidate key)
Kunci kandidat adalah kunci yang secara unik (tidak mungkin kembar)
dapat dipakai untuk mengidentifikasi suatu baris di dalam tabel.
b. Kunci primer (primary key)
Kunci primer adalah kunci kandidat yang dipilih sebagai kunci utama
untuk mengidentifikasi baris dalam tabel.
c. Kunci alternatif (alternate key)
Kunci alternatif adalah semua kunci kandidat yang tidak bertindak
sebagai kunci primer.
d. Kunci tamu (foreign key)
Kunci tamu adalah sembarang atribut yang menunjuk ke kunci primer
pada tabel lain.
2. Atribut Deskripsi
Merupakan atribut-atribut yang tidak menjadi atau merupakan anggota
dari key primer.
2.4.3 Entitas dan Hubungan Antar Entitas
Entitas adalah objek pada dunia nyata yang terbedakan dari objek yang
lain (Silberschatz, 2002). Setiap entitas memiliki serangkaian properti dan
beberapa properti ini secara unik menggambarkan suatu entitas. Rangkaian
entitas (entity sets) adalah serangkaian entitas yang memiliki tipe yang sama dan
berbagai properti atau atribut yang sama.
Suatu entitas direpresentasikan dengan serangkaian atribut. Atribut ini
sendiri adalah properti deskriptif yang dipunyai oleh setiap anggota dari entity
sets. Setiap entitas mempunyai nilai untuk setiap atribut.
Entitas dapat saling berhubungan dengan entitas yang lain. Hubungan ini
disebut sebagai relasi. Adapun relasi antar entitas (misal, entitas A dan entitas
B) dapat dijabarkan sebagai berikut :
1. Relasi satu ke satu (one-to-one)
Merupakan bentuk relasi dengan satu entitas A dapat terhubung dengan
hanya sebuah entitas dalam B, demikian juga sebaliknya yaitu setiap entitas
dalam B dapat terhubung hanya dengan sebuah entitas dalam A.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
2. Relasi satu ke banyak (one-to-many)
Merupakan relasi dengan sebuah entitas dalam A dapat terhubung dengan
sedikitnya nol entitas dalam B, sedangkan setiap entitas B hanya terhubung
dengan satu entitas dalam A.
3. Relasi banyak ke satu (many-to-one)
Merupakan relasi dengan setiap entitas dalam A terhubung dengan
satu entitas dalam B, akan tetapi setiap entitas dalam B dapat terhubung
dengan sedikitnya nol entitas dalam A.
4. Relasi banyak ke banyak (many-to-many)
Merupakan relasi dengan sebuah entitas dalam A dapat terhubung dengan
sedikitnya nol entitas dalam B, begitu juga dengan setiap entitas dalam B
dapat terhubung dengan sedikitnya nol entitas dalam A.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
BAB III
METODOLOGI PENELITIAN
3.1 Gambaran Umum
Penelitian yang dilakukan bertujuan untuk menentukan prioritas daerah bantuan air
bersih. Input yang digunakan berupa data hasil pemetaan yang menjadi kriteria dalam
penentuan diantaranya jumlah KK yang membutuhkan air bersih, jumlah jiwa dalam setiap
daerah, jumlah droppingan air setiap daerah, dan jumlah dukuh yang membutuhkan bantuan
air bersih. Data tersebut akan diolah untuk selanjutnya menghasilkan output hasil akhir
perhitungan. Nantinya sistem diharapkan mampu membantu DINSOS dalam menentukan
prioritas daerah yang membutuhkan air bersih.
3.2 Desain Penelitian
3.2.1 Studi Literatur
Mempelajari teori sistem pembantu pengambil keputusan dan metode TOPSIS
(Technique For Others Reference by Similarity to Ideal Solution) dalam
pembangunan SPPK. Sumber literatur berupa jurnal international, situs-situs
penunjang, dan buku-buku yang berkaitan dengan sistem pendukung pengambilan
keputusan.
3.2.2 Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penulisan tugas akhir ini adalah
sebagai berikut:
3.2.2.1 Data yang digunakan
Data yang digunakan adalah data hasil pemetaan kebutuhan air bersih
pada masing-masing daerah periode 15 Juli s/d 17 November 2015. Data
pemetaan tersebut menghasilkan data jumlah KK, jumlah jiwa, dan dusun
yang membutuhkan air bersih pada masing-masing daerah serta demand
dropping air bersih dalam satuan tangki. Data tersebut juga digunakan
untuk dasar pengujian sistem ini.
3.2.2.2 Teknik Pengumpulan Data
Dilakukan wawancara dengan kepala DINSOS (Dinas Sosial)
Kabupaten Sragen dan staff IT PDAM Kabupaten Sragen. Tujuan
melakukan wawancara tersebut berkaitan dengan prosedur kriteria yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
digunakan dalam pertimbangan pengambilan keputusan. Data yang
diperoleh kemudian dijadikan data pengujian sistem.
3.2.3 Perancangan Alat Uji
Metodologi yang digunakan dalam penelitian adalah model pengembangan alat
uji waterfall. Model pengembangan ini dilakukan secara sistematis. Berikut adalah
beberapa tahapannya :
- Analisa
Dalam tahap ini dilakukan analisa terhadap kebutuhan sistem. Seorang sistem
analis bertugas dalam mencari informasi sebanyak mungkin dari user sehingga
sistem yang dibuat sesuai dengan keinginan user. Tahapan ini biasanya akan
menghasilkan dokumen user requirement yang dapat digunakan sistem analis
untuk menerjemahkan ke dalam bahasa pemrograman.
- Desain
Dalam tahap ini dilakukan proses membuat rancangan alat uji berdasarkan
informasi dari tahap-tahap sebelumnya. Proses ini berfokus pada struktur data,
arsitektur perangkat lunak, representasi interface, dan detail algoritma. Tahapan
ini akan menghasilkan dokumen yang disebut software requirement. Dokumen
ini yang digunakan seorang programmer untuk membangun sistemnya.
- Pengkodean (Coding)
Pengkodean merupakan tahap di mana perancangan yang telah dibuat pada
tahap desain diterjemahkan ke dalam bahasa pemrograman pada komputer.
Pengkodean menghasilkan alat uji dalam bentuk perangkat lunak yang dibuat
berdasarkan rancangan yang telah ada.
- Pengujian
Pada tahap pengujian, alat uji berupa perangkat lunak diuji coba untuk
mengetahui apakah perangkat lunak tersebut sudah sesuai dengan rancangan dan
kebutuhan pengguna. Selain itu, pengujian dilakukan untuk menemukan
kesalahan-kesalahan sistem yang kemudian akan diperbaiki.
3.3 Spesifikasi Software dan Hardware
Spesifikasi software dan hardware yang digunakan dalam implementasi sistem
pendukung keputusan ini adalah sebagai berikut :
a. Software
- Sistem Operasi yang digunakan adalah Microsoft Windows 10 64-bit
- Bahasa pemrograman yang digunakan adalah Java dengan aplikasi Netbeans 8.0.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
- Basisdata yang digunakan adalah mySQL.
b. Hardware
- Processor yang digunakan yaitu Intel ® Pentium® CPU B960 @2.2 Ghz
- Memory yaitu 2 GB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
BAB IV
ANALISA DAN PERANCANGAN SISTEM
4.1 Definisi ruang lingkup
Sistem yang dibuat pada tugas akhir ini merupakan suatu sistem untuk menentukan
pengalokasian distribusi pengadaan air bersih di wilayah Kabupaten Sragen, algoritma yang
diimplementasikan menitik beratkan tingkat kebutuhan pada setiap daerah. Hasil dengan
rangking teratas, yaitu penentuan prioritas utama dalam distribusi pengalokasian pengadaan
air bersih.
4.2 Analisa kebutuhan
Sistem ini memiliki 1 aktor yang terlibat, yaitu seksi bantuan korban bencana
di DINSOS (Dinas Sosial). Diagram usecase dan narasi usecase dapat digunakan
untuk menggambarkan siapa yang akan menggunakan sistem dan apa saja yang
dilakukan aktor terhadap sistem serta feedback sistem terhadap aktor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
4.2.1 Use Case
Seksi Bantuan Korban Bencana
Login
Input Data
Kecamatan
Menghapus Data
Kecamatan
Kelola Data Kecamatan
Input Data Desa
Mengupdate Data
Desa
Kelola Data Desa
Menghapus Data
Desa
Mereset tabel Desa
Mengupdate bobot
kriteria
Kelola Nilai Bobot Kriteria
Input Nilai
Alternative
Mengupdate nilai
Alternative
Kelola Nilai Alternative
Menghapus Nilai
Alternative
Mereset tabel
Alternative
<<Depends On>>
LOGOUT
Gambar 4.1 Use case diagram
4.2.2 Narasi Use Case
1. Nama use case : Verifikasi Login
Aktor : User
Tabel 4.1 Tabel Narasi Use Case Verifikasi Login
Aksi Aktor Reaksi system
1. Melakukan kegiatan Login, dengan
klik button Login yang tersedia.
2. Sistem memverifikasi login jika
username dan password benar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
2. Nama use case : Input data kecamatan
Aktor : User
Tabel 4.2 Tabel Narasi Use Case Input data Kecamatan
Aksi Aktor Reaksi system
1. Melakukan kegiatan input data
kecamatan yang membutuhkan
bantuan air bersih, dengan klik menu
kecamatan yang tersedia.
2. Sistem akan mengarahkan ke form
input kecamatan distribusi
3. Menginputkan dan klik tambah
kecamatan distribusi
4. Sistem akan menambahkan data
kecamatan yang nantinya akan
dimasukan ke database yang
selanjutnya akan diproses oleh sistem
3. Nama use case : Mereset tabel
Aktor : User
Tabel 4.3 Tabel Narasi Use Case Mereset tabel
Aksi Aktor Reaksi system
1. Melakukan kegiatan mereset tabel,
dengan klik reset tabel.
2. Sistem akan menampilkan hasil reset
yang nantinya tabel akan di
kosongkan
4. Nama use case : Menghapus data kecamatan
Aktor : User
Tabel 4.4 Tabel Narasi Use Case Menghapus data Kecamatan
Aksi Aktor Reaksi system
1. Melakukan kegiatan menghapus data
kecamatan yang membutuhkan
bantuan air bersih, dengan klik
kecamatan yang di tabel yang akan di
hapus. Kemudian klik button hapus
2. Sistem akan menghapus data
kecamatan yang terpilih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
5. Nama use case : Input data desa
Aktor : User
Tabel 4.5 Tabel Narasi Use Case Input data Desa
Aksi Aktor Reaksi system
1. Melakukan kegiatan input data desa
yang membutuhkan bantuan air
bersih, dengan klik menu desa
tersedia.
2. Sistem akan mengarahkan ke form
input desa distribusi
3. Menginputkan dan klik tambah desa
distribusi
4. Sistem akan menambahkan data desa
yang nantinya akan dimasukan ke
database yang selanjutnya akan
diproses oleh sistem
6. Nama use case : Mengupdate data desa
Aktor : User
Tabel 4.6 Tabel Narasi Use Mengupdate data Desa
Aksi Aktor Reaksi system
1. Melakukan kegiatan mengupdate data
desa yang membutuhkan bantuan air
bersih, dengan klik data desa yang
ada di tabel.
2. Sistem akan menampilkan data
tersebut di textfield dan combo box.
3. Mengupdate data desa yang
diperlukan.
4. Sistem akan memperbaharui dan
menampilkan data desa yang
dimasukan terbaru.
7. Nama use case : Menghapus data desa
Aktor : User
Tabel 4.7 Tabel Narasi Use Case Menghapus data Desa
Aksi Aktor Reaksi system
1. Melakukan kegiatan menghapus data
desa yang membutuhkan bantuan air
bersih, dengan klik desa yang di tabel
yang akan di hapus. Kemudian klik
button hapus
2. Sistem akan menghapus data desa
yang terpilih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
8. Nama use case : Mengupdate nilai Bobot Kriteria
Aktor : User
Tabel 4.8 Tabel Narasi Use Case Mengupdate nilai Bobot Kriteria
Aksi Aktor Reaksi system
1. Melakukan kegiatan melihat kriteria,
dengan klik menu kriteria yang
tersedia.
2. Sistem menampilkan form kriteria.
3. Melakukan edit nilai bobot kriteria,
dengan klik button masukan bobot
yang tersedia.
4. Sistem menampilkan nilai bobot,
yang selanjutnya akan di proses oleh
sistem didalam perhitungan metode
TOPSIS.
9. Nama use case : Input Nilai Alternatif
Aktor : User
Tabel 4.9 Tabel Narasi Use Case Input Nilai Alternatif
Aksi Aktor Reaksi system
1. Melakukan kegiatan input nilai
alternatif sesuai dengan kriteria yang
ada, dengan klik button tambah yang
tersedia.
2. Sistem menambahkan data yang
nantinya akan melengkapi nilai dari
daerah yang dinputkan berdasarkan
kriteria tertentu, yang selanjutnya
akan di proses oleh sistem.
10. Nama use case : Mengupdate nilai Alternatif
Aktor : User
Tabel 4.10 Tabel Narasi Use Case Mengupdate nilai Alternatif
Aksi Aktor Reaksi system
1. Melakukan kegiatan mengupdate nilai
alternatif yang membutuhkan bantuan
air bersih, dengan klik data yang ada di
tabel.
2. Sistem akan menampilkan data
tersebut di textfield dan combo box.
3. Mengupdate data desa yang diperlukan.
4. Sistem akan memperbaharui dan
menampilkan nilai alternative baru.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
11. Nama use case : Menghapus nilai Alternatif
Aktor : User
Tabel 4.11 Tabel Narasi Use Case Menghapus nilai Alternatif
Aksi Aktor Reaksi system
1. Melakukan kegiatan menghapus nilai
alternatif yang membutuhkan bantuan
air bersih, dengan klik data yang di
tabel yang akan di hapus. Kemudian
klik button hapus
2. Sistem akan menghapus data yang
terpilih.
12. Nama use case : Logout
Aktor : User
Tabel 4.12 Tabel Narasi Use Case Logout
Aksi Aktor Reaksi system
1. Melakukan kegiatan Logout, dengan
klik button Logout yang tersedia.
2. Sistem memverifikasi logout.
4.3 Perancangan Proses
4.3.1 Algoritma
Berdasarkan jumlah kriteria penilaian dan jumah alternatif desa yang
dimasukan oleh user, maka sistem akan membentuk matriks-matriks yang akan
digunakan sebagai perhitungan.
Matriks yang terbentuk akan diolah sesuai dengan metode TOPSIS. Urutan
yang dilakukan sistem adalah sebagai berikut :
1. Input nilai kriteria terhadap masing-masing alternatif, yang nantinya
inputan ini akan dijadikan matrik keputusan.
2. Setelah terbentuk matriks keputusan, maka akan dilakukan normalisasi
terhadap nilai matriks tersebut :
Mengkuadratkan nilai-nilai pada matriks.
Menjumlahkan nilai-nilai dari setiap kolom hasil kuadrat pada
matriks.
Akarkan semua jumlah nilai dari setiap kolomnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Setelah didapat hasil akar, maka nilai matriks akan dibagi dengan
nilai hasil akar tersebut, sehingga akan didapat nilai normalisasi
matriks.
3. Membentuk normalisasi terbobot dari bobot yang telah ditentukan pada
setiap masing-masing kriteria.
Hasil dari nilai matriks normalisasi dikalikan dengan nilai bobot
yang telah ditentukan pada masing - masing kriteria.
4. Menyusun solusi ideal untuk mengetahui apakah penilaian yang dilakukan
pada langkah ke 3 menunjukan nilai alternatif dekat dengan solusi ideal
atau dekat dengan solusi ideal negatif dengan menghitung jarak separasi
postif dan jarak separasi negatif.
Dari nilai normalisasi terbobot maka didapatkan nilai maksimal
dan nilai minimal dari masing-masing kolom.
Setelah mendapatkan nilai maksimal dan minimal maka, pada
masing dicari nilai solusi ideal positif dan solusi ideal negatif.
Untuk solusi ideal positif nilai normalisasi terbobot akan
dikurangkan dengan nilai maksimal yang didapat selanjutnya
dikuadratkan. Untuk solusi ideal negatif nilai normalisasi terbobot
akan dikurangkan dengan nilai minimal yang didapat selanjutnya
dikuadratkan.
Hitung jarak separasinya dengan mengakarkan masing-masing
perhitungan nilai solusi ideal positif maupun negatif.
5. Menyusun Kedekatan Relatif (Ci) dengan membagi nilai jarak separasi
negatif di bagi dengan jarak separasi positif ditambah dengan jarak
separasi negatif.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Mulai
Menginputkan data tiap
kriteria setiap masing-
masing alternatif
Bobot Kriteria (Wj)
Perbaiki bobot kriteria
Selesai
(Normalisasi Matriks Keputusan (Rij))
Menjumlahkan nilai setiap kolom
Matriks Keputusan (Xij)
Mengakarkan nilai jumlah setiap kolom
Membagi nilai matriks dengan nilai hasil
akar
Normalisasi Terbobot (Vij)
Rij x Wj
(Menentukan Solusi Ideal)
Mendapatkan nilai maksimal(A+) dan
minimal(A-) setiap kolom
Menguadratkan nilai normalisasi terbobot
yang dikurangkan dengan A+ dan A-
(Menentukan Jarak Separasi(Si+)/(Si-))
Mengakar nilai hasil kuadrat masing-
masing A+ dan A-
(Kedekatan Relatif (Ci))
Jarak separasi negatif dibagi dengan jarak
separasi positif dan negatif
Gambar 4.2 Flowchart metode TOPSIS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
4.3.2 Diagram dekomposisi
Proses yang perencanaan dilakukan sistem terdapat pada diagram
dekomposisi, seperti yang terdapat pada gambar 4.3
Gambar 4.3 Diagram dekomposisi
4.3.3 Diagram Konteks
Diagram konteks sistem ini digunakan untuk menunjukan antarmuka utama
sistem dengan lingkungannya. Dari seksi bantuan korban bencana akan
diperolah data pemetaan daerah yang membutuhkan air bersih, data pemetaan
akan dimasukan pada nilai alternatif meliputi jumlah KK dan jumlah Dusun
yang masing-masing membutuhkan air bersih serta data jumlah jiwa setiap
daerah dan jumlah demand air bersih dalam satuan tangki, penentuan nilai bobot
menitik beratkan pada setiap masing-masing kriteria. Berikut diagram konteks
yang ditunjukan pada gambar 4.4
Sistem
1.Akses 2.Pengelolaan data 3.Analisis Sistem
1.1Login
1.2Logout
2.1Input daerah distribusi
2.2Input data klasifikasi
3.1Kriteria
3.2Analisis Algoritma
3.3Prioritas daerah distribusi
3.4Alokasi air bersih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Seksi Bantuan Korban Bencana
Sistem Pendukung Penentuan
Keputusan Pengadaan Air Bersih
Data Desa
Informasi Hasil Keputusan
Nilai Bobot Kriteria
Nilai Alternative
Data Kecamatan
Gambar 4.4 Diagram konteks
4.3.4 DFD level 1
Berikut DFD (Data Flow Diagram) level 1 dalam sistem ini. Gambar 4.5
Seksi Bantuan Korban Bencana
1
Kelola Data
Kecamatan
Kecamatan
Desa
Kriteria
Alternative
4
Perhitungan
TOPSIS
Data Alternative
Has
il a
lok
asi
air
ber
sih
Data Kecamatan
Dat
a D
esa
Dat
a n
ilai
bo
bo
t k
rite
ria
Data Desa
Data n
ilai bo
bo
t kriteria
2
Kelola Data
Desa
3
Kelola Data
Kriteria
Data nilai bobot kriteria
Data D
esa
Gambar 4.5 DFD level 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
4.3.5 DFD level 2
4.3.5.1 DFD level 2 Proses 1
Berikut DFD (Data Flow Diagram) level 2 proses 1 dalam sistem ini.
Gambar 4.6
Seksi Bantuan Korban
Bencana
Seksi Bantuan Korban
Bencana
P.1.1
Input
Data
P.1.1
Input
Data
P.1.3
Delete
Data
P.1.3
Delete
Data
ID_Kecamatan, Nama_Kecamatan
ID_Kecamatan
Data Kecamatan
Data Kecamatan
Kecamatan
4.3.5.2 DFD level 2 Proses 2
Berikut DFD (Data Flow Diagram) level 2 proses 2 dalam sistem ini.
Gambar 4.7
P.2.1
Input
Data
P.2.1
Input
Data
P.2.2
Update
Data
P.2.2
Update
Data
P.2.3
Delete
Data
P.2.3
Delete
Data
ID_Desa, Nama_Desa, ID_Kecamatan
ID_Desa, Nama_Desa,
ID_Kecamatan
ID_Desa,
ID_Kecamatan
Seksi Bantuan Korban
Bencana
Seksi Bantuan Korban
Bencana
Data Desa
Data Desa
Data Desa baru
Desa
4.3.5.3 DFD level 2 Proses 3
Berikut DFD (Data Flow Diagram) level 2 proses 3 dalam sistem ini.
Gambar 4.8
P.3.1
Update
Data Nilai
Bobot
P.3.1
Update
Data Nilai
Bobot
ID_Kriteria, Bobot Seksi Bantuan Korban
Bencana
Seksi Bantuan Korban
Bencana
Data Nilai Bobot
KriteriaKriteria
Gambar 4.6 DFD level 2 proses 1
Gambar 4.7 DFD level 2 proses 2
Gambar 4.8 DFD level 2 proses 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
4.3.5.4 DFD level 2 Proses 4
Berikut DFD (Data Flow Diagram) level 2 proses 5 dalam sistem ini.
Gambar 4.9
Seksi Bantuan Korban
Bencana
Seksi Bantuan Korban
Bencana
P.4.1
Ambil
Data
P.4.1
Ambil
DataID_Desa ID_Kriteria
Desa Kriteria
Alternative
P.4.2
Matriks
Keputusan
P.4.2
Matriks
Keputusan
P.4.3
Normalisasi
Matriks
P.4.3
Normalisasi
Matriks
P.4.4
Solusi Ideal
P.4.4
Solusi Ideal
P.4.5
Kedekatan
Relatif
P.4.5
Kedekatan
Relatif
P.4.6
Perangkingan
P.4.6
PerangkinganP.4.7
Pengalokasian
P.4.7
Pengalokasian
ID_Desa, ID_Kriteria, Nilai
Nilai Matriks Keputusan
Nilai Normalisasi Matriks
Nilai Jarak Separasi
Nilai Kedekatan Relatif
Nilai hasil ranking
Informasi jumlah alokasi
debit air
4.4 Perancangan Basisdata
4.4.1 Perancangan Konseptual
Pada tahap perancangan konseptual ini tujuannya adalah menyatukan
pemahaman dalam struktur database, keterhubungan dan batasan-batasannya,
dengan sebuah skema database konseptual menggunakan model data ER/ERD
(Entity Relationship Diagram). Pada perancangan ini terdapat 3 entitas yaitu
Gambar 4.9 DFD level 2 proses 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Kecamatan, Desa, Kriteria. Berikut ER Diagram dalam aplikasi NetBeans,
terdapat pada gambar 4.10
Kecamatan Memiliki
Desa
KriteriaMemiliki
ID_Kecamatan
Nama_Kecamatan
Nama_Desa
ID_Desa
ID_Kriteria
Nilai Nama_Kriteria
1
N
N
N
Bobot
Gambar 4.10 Entity Relationship Diagram
4.4.2 Perancangan Logikal
Perancangan logikal adalah proses membangun model informasi yang
digunakan berdasarkan pada model data khusus. Ada 3 entitas masing-masing
berelasi dan 1 entitas hasil relasi antar 2 entitas, antara lain : Kecamatan, Desa,
Kriteria, dan Alternative (hasil relasi 2 entitas Desa dan Kriteria).
Kecamatan
- ID_Kecamatan : varchar (25) (PK)
- Nama_Kecamatan : varchar (25)
Desa
- ID_Desa : varchar (25) (PK)
- Nama_Desa : varchar (25)
- ID_Kecamatan : varchar2(25)
(FK)
Kriteria
- ID_Kriteria : varchar (25) (PK)
- Nama_Kriteria : varchar (25)
- Bobot : varchar (25)
Alternative
- ID_Desa : varchar (25) (FK)
- ID_Kriteria : varchar (25) (FK)
- Nilai : varchar (25)
Gambar 4.11 Relational Database
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
4.4.3 Perancangan Fisikal
a. Tabel Login
Tabel login digunakan untuk menyimpan data UserName dan Password
dari user.
Tabel 4.13 Tabel Login
Nama Field Tipe Data Ukuran Keterangan
PK Username Varchar 25 Nama user untuk
login
Password Varchar 25 Password user untuk
login
b. Tabel Kecamatan
Tabel Kecamatan digunakan untuk menyimpan data ID_Kecamatan dan
Nama_Kecamatan yang menjadi pertimbangan keputusan.
Tabel 4.14 Tabel Kecamatan
Nama Field Tipe Data Ukuran Keterangan
PK ID_Kecamatan Varchar 25 Kode kecamatan di
Sragen
Nama_Kecamatan Varchar 25 Nama Kecamatan
di Sragen
c. Tabel Desa
Tabel Desa digunakan untuk menyimpan data calon desa meliputi
Nama_Desa, ID_Desa, ID_Kecamatan.
Tabel 4.15 Tabel Desa
Nama Field Tipe Data Ukuran Keterangan
PK ID_Desa Varchar 25 Kode desa
penerima bantuan
FK ID_Kecamatan Varchar 25 Nama Kecamatan
penerima bantuan
Nama_Desa Varchar 25 Nama desa
penerima bantuan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
d. Tabel Kriteria
Tabel Kriteria digunakan untuk menyimpan data ID_Kriteria,
Nama_Kriteria, Bobot.
Tabel 4.16 Tabel Kriteria
Nama Field Tipe Data Ukuran Keterangan
PK ID_Kriteria Varchar 25 Kode kriteria
Nama_Kriteria Varchar 25 Nama kriteria
Bobot Varchar 25 Nilai bobot tiap
kriteria
e. Tabel Alternative
Tabel alternative merupakan relasi antara tabel Desa dan Kriteria data
yang bersifat many to many yang nantinya akan membentuk tabel baru
dengan simpanan ID_Desa, ID_Kriteria, dan Nilai.
Tabel 4.17 Tabel Alternative
Nama Field Tipe Data Ukuran Keterangan
FK ID_Desa Varchar 25 Kode desa penerima
bantuan
FK ID_Kriteria Varchar 25 Kode kriteria untuk
bobot
Nilai Varchar 25 Nilai alternative tiap
kriteria
4.5 Perancangan User Interface
Perangkat user interface pada Penerapan Metode TOPSIS (Technique For Others
Reference by Similarity to Ideal Solution) untuk Penentuan distribusi Pengadaaan Air
Bersih dengan Studi Kasus Kabupaten Sragen ini berisi gambaran dari rancangan input
dan outputnya.
4.5.1 Perancangan Input
Tampilan dibawah ini merupakan tampilan dimana user mengakses pada
saat penerapan belum menggunakan metode TOPSIS (Technique For Others
Reference by Similarity to Ideal Solution) pertama kalinya. Berikut gambar
desain antar muka perancangan Input, gambar 4.12 sampai dengan gambar 4.15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Gambar 4.12 Halaman Utama
Gambar 3.4 Form Utama
Gambar 4.13 Kriteria
Gambar 4.14 Desa
Gambar 4.15 Alternative
File || Analisa Sistem || Logout
Sistem Penentuan Keputusan Distribusi Air Bersih
Id Desa
Kecamatan
Nama Desa
Tambah Reset
Nama Desa Kriteria Nilai
Nama Desa
Kriteria
Nilai
File || Analisa Sistem || Logout
ID_Kriteria Nama Kriteria Bobot
Edit Bobot Kembali
File || Analisa Sistem || Logout
File || Analisa Sistem || Logout
Simpan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
4.5.2 Perancangan Output
Tampilan dibawah ini merupakan hasil dimana penerapan sudah
menggunakan metode TOPSIS (Technique For Others Reference by Similarity
to Ideal Solution).
Gambar 4.16 Hasil Perhitungan TOPSIS
4. 6 Penerapan Algoritma TOPSIS (Technique For Others Reference by Similarity to
Ideal Solution)
Pada contoh penerapan TOPSIS (Technique For Others Reference by Similarity to
Ideal Solution) berikut akan dijelaskan secara detail (langkah demi langkah) pada proses
pemilihan daerah distribusi relatifnya. Data tersebut disesuaikan dengan kriteria - kriteria
setiap desa yang akan dialokasikan air bersih. Berikut perhitungan dalam menentukan
pendistribusian air bersih:
Kriteria - kriteria yang diambil dalam menentukan pendistribusian air bersih:
C1 : KK (jumlah KK yang membutuhkan air bersih)
C2 : JIWA (jumlah jiwa dalam satu daerah)
C3 : TANGKI (jumlah kuantitas tangki yang akan didistribusi sesuai kebutuhan)
C4 : DUKUH (jumlah dukuh dalam setiap desa)
Langkah-langkah penyelesaian permasalahan pengadaan air bersih menggunakan
metode TOPSIS (Technique For Others Reference by Similarity to Ideal Solution) untuk
kasus tersebut adalah sebagai berikut:
a) Menentukan nilai setiap alternatif pada setiap kriteria. Nilai alternatif yang ditentukan
akan membentuk matriks keputusan X, sebagai berikut:
Matriks Ternormalisasi
Perankingan
Nama Desa
File || Analisa Sistem || Logout
prioritas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Keterangan :
DM : Decision Matriks (matriks keputusan)
i : indeks alternatif (i=1….m)
m : jumlah desa (alternatif)
j : indeks kriteria (j = 1….n)
n : jumlah kriteria
Cj : unsur-unsur C1, C2,…..,Cn merujuk pada kriteria
Li : L1, L2,…,Lm merujuk pada desa (alternatif)
: unsur-unsur dari matriks yang berkaitan nilai desa (alternatif) i
terhadap kriteria j.
Tabel 4.18 Tabel Matriks Keputusan
Nama Desa KK JIWA TANGKI DUKUH
Gemolong 12 50 4 2
Banyurip 30 80 4 3
Gawan 35 70 5 3
b) Menentukan bobot untuk setiap kriteria ( ). Bobot setiap atribut kriteria diberikan
sebagai: = [5 ; 2 ; 5 ; 3]. Selanjutnya dilakukan perhitungan dengan metode
TOPSIS.
c) Langkah-langkah penyelesaian menggunakan metode TOPSIS adalah sebagai berikut:
1. Membentuk normalisasi keputusan.
√∑2
ijx
------------ (2)
Keterangan :
= normaliasi desa i terhadap kriteria j
= unsur-unsur dari matriks yang berkaitan dengan desa i
terhadap kriteria j
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
2
ijx = hasil kuadrat unsur-unsur dari matriks yang berkaitan dengan
desa i terhadap kriteria j
√∑ 2
ijx = hasil akar dari seluruh jumlahan hasil kuadrat unsur-unsur
dari matriks nama desa dari m ke i terhadap kriteria j
Mendapatkan nilai 2
ijx :
Tabel 4.19 Tabel nilai 2
ijx
Nama Desa KK JIWA TANGKI DUKUH
Gemolong 12 x12=144 50x50=2500 4x4=16 2x2=4
Banyurip 30x30=900 80x80=6400 4x4=16 3x3=9
Gawan 35x35=1225 70x70=4900 5x5=25 3x3=9
Mendapatkan nilai akar dari jumlah 2
ijx tiap kriteria:
Tabel 4.20 Tabel akar dari seluruh jumlahan 2
ijx
Jumlah 2269 13800 57 22
Akar 47,634 117,4734 7,549 4,69
Maka didapat matriks normalisasi :
Tabel 4.21 Tabel nilai matriks normalisasi
Nama Desa KK JIWA TANGKI DUKUH
Gemolong 12/47,634
=0,2519
50/117,4734=
0,4256
4/7,549=
0,5298
2/4,69=
0,4264
Banyurip 30/47,634
=0,6298
80/117,4734=
0,681
4/7,549=
0,5298
3/4,69=
0,6396
Gawan 35/47,634
=0,7347
70/117,4734=
0,5958
5/7,549=
0,662
3/4,69=
0,6396
2. Membentuk matriks normalisasi terbobot.
Keterangan :
= matriks hasil normalisasi terbobot desa i terhadap kriteria j
= bobot kriteria j
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
= matriks hasil normalisasi desa i terhadap kriteria j
Bobot setiap atribut kriteria diberikan sebagai berikut:
= [5 ; 2 ; 5 ; 3]
Tabel 4.22 Tabel matriks normalisasi terbobot
Nama Desa KK JIWA TANGKI DUKUH
Gemolong 5x0,2519=
1,2595
2x0,4256=
0,8512
5x0,5298=
2,649
3x0,4264=
1,2792
Banyurip 5x0,6298=
3,149
2x0,681=
1,362
5x0,5298=
2,649
3x0,6396=
1,9188
Gawan 5x0,7347=
3,687
2x0,5958=
1,1916
5x0,662=
3,31
3x0,6396=
1,9188
3. Menentukan solusi ideal positif dan solusi ideal negatif.
Solusi pertama mengambil nilai maksimal dan nilai minimal pada masing-masing
kriteria.
Keterangan :
PIS : Positif Ideal Solution (Solusi ideal positif)
NIS : Negative Ideal Solution (Solusi ideal negatif)
Tabel 4.23 Tabel solusi ideal positif dan negatif
KK JIWA TANGKI DUKUH
MAKS 3,687 1,362 3,31 1,9188
MIN 1,2595 0,8512 2,649 1,2792
Menentukan ukuran separasi
√∑ ( ) 2
dengan i=1,2,3,……..m ----------- (6)
√∑ ( ) 2
dengan i=1,2,3,……..m ----------- (7)
Keterangan :
: ukuran separasi positif desa i
: ukuran separasi negatif desa i
: matriks hasil normalisasi terbobot desa i terhadap kriteria j
: solusi ideal positif (nilai maks) kriteria j
: solusi ideal negatif (nilai min) kriteria j
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
( ) 2
: hasil kuadrat dari normalisasi terbobot dikurangi dengan solusi ideal
positif
( ) 2
: hasil kuadrat dari normalisasi terbobot dikurangi dengan solusi ideal
negatif
√∑ ( ) 2
: hasil akar kuadrat dari pengurangan normalisasi terbobot
dengan solusi ideal positif
√∑ ( ) 2
: hasil akar kuadrat dari pengurangan normalisasi terbobot
dengan solusi ideal negatif
Mendapatkan nilai ( ) 2
Tabel 4.24 Tabel Nilai ( ) 2
KK JIWA TANGKI DUKUH
Gemolong =
5,8927
0,2609
0,436
0,409
Banyurip
0,2894
0
0,436
0
Gawan
0
0,02903
0
0
Mendapatkan nilai ( ) 2
Tabel 4.25 Tabel Nilai ( ) 2
KK JIWA TANGKI DUKUH
Gemolong =0
0
0
0
Banyurip
3,57021
0,2609
0
0,409
Gawan
5,8927
0,1158
0,4369
0,409
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Maka di dapat nilai ukuran separasi positif dan negatif pada tiap alternatif
Tabel 4.26 Tabel ukuran separasi Positif dan Negatif
Nama Desa Ukuran Separasi Positif Ukuran Separasi Negatif
Gemolong
√
= 2,6454
√
=0
Banyurip √
= 0,8517
√
= 2,0591
Gawan √
= 0,1703
√
=2,538
4. Mentukan kedekatan relatif.
----------- (8)
Keterangan :
: kedekatan relatif desa i
: ukuran separasi negatif desa i
: ukuran separasi positif desa i
Tabel 4.27 Tabel Kedekatan Relative
Nama Desa Kedekatan relative
Gemolong
Banyurip
Gawan
5. Maka Gawan adalah prioritas utama dalam pendistribusian air bersih, dan
selanjutnya Banyurip dan Gemolong.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
BAB V
IMPLEMENTASI, HASIL, DAN PEMBAHASAN
5.1 Implementasi Algoritma TOPSIS (Technique for Order Preference by Similarity to
Ideal Solution)
Perhitungan untuk menentukan pendistribusian air bersih dengan algoritma TOPSIS
(Technique for Order Preference by Similarity to Ideal Solution) terdapat 5 tahapan
dalam implementasi. Berikut penjelasan lebih lanjut :
5.1.1 Matriks keputusan ternormalisasi
Membuat matriks R yaitu matriks keputusan ternormalisasi Setiap normalisasi
dari nilai .
√∑2
ijx
Nilai hasil matriks keputusan ternormalisasi diambil dari tabel “alternative”,
yang kemudian di normalisasikan. Berikut listing programnya:
===========================================================
for (int i = 0; i < mKeputusanTable.getColumnCount() - 1; i++) {
Double nilaiTambah = 0.0;
for (int j = 0; j < mKeputusanTable.getRowCount(); j++)
{
Double nilai = Double.parseDouble(mKeputusanTable.getValueAt(j,
i + 1).toString());
nilai = Math.pow(nilai, 2);
nilaiTambah += nilai;
pembagi[i] = nilaiTambah;
}
pembagi[i] = Math.sqrt(pembagi[i]);
}
for (int i = 0; i < mKeputusanTable.getColumnCount() - 1; i++) {
for (int j = 0; j < mKeputusanTable.getRowCount(); j++) {
Integer nilai = Integer.valueOf(mKeputusanTable.getValueAt(j,
i + 1).toString());
data[j][i] = (nilai / pembagi[i]);}}
===========================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
5.1.2 Matriks Normalisasi terbobot
Membuat pembobotan pada matriks yang telah dinormalisasi Setelah
dinormalisasi, setiap kolom pada matriks R dikalikan dengan bobot ( ) untuk
menghasilkan matriks.
Nilai bobot diambil dari tabel “kriteria”. Berikut listing program dari method
getBobot:
==========================================================
public double getBobot(String nama)
double bobot = 0;
String sql = "SELECT bobot FROM kriteria WHERE nama_kriteria LIKE
'%"+nama+"%'";
PreparedStatement statement;
ResultSet result;
try {
statement = con.prepareStatement(sql);
result = statement.executeQuery();
while(result.next()) {
bobot = Double.parseDouble(result.getString("bobot"));
}
return bobot;
} catch (SQLException e) {
}
return bobot;
}
==========================================================
Matriks normalisasi terbobot adalah matriks hasil normalisasi dikalikan
dengan nilai bobot yang didapat dari method getBobot. Berikut listing programnya:
==========================================================
for (int i = 0; i < mNormalisasi.getColumnCount() - 1; i++) {
bobotKriteria = analisa.getBobot(mNormalisasi.getColumnName(i
+ 1));
for (int j = 0; j < mNormalisasi.getRowCount(); j++) {
Double nilai = Double.valueOf(mNormalisasi.getValueAt(j, i
+ 1).toString());
data[j][i] = (nilai * bobotKriteria);}}
==========================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
5.1.3 Menentukan solusi ideal postif dan negatif
Menentukan nilai solusi ideal positif dan solusi ideal negatif. Solusi ideal
dinotasikan A+, sedangkan solusi ideal negatif dinotasikan A-.
Solusi pertama mengambil nilai maksimal dan minimal dari hasil normalisasi
terbobot.
Berikut listing programnya :
===========================================================
for (int i = 0; i < mNormalisasiBobot.getColumnCount() - 1; i++) {
Double tempPositif = 0.0;
Double tempNegatif = 0.0;
for (int j = 0; j < mNormalisasiBobot.getRowCount(); j++) {
Double nilai =
Double.valueOf(mNormalisasiBobot.getValueAt
(j, i + 1).toString());
if (nilai > tempPositif) {
tempPositif = nilai;
max[i] = nilai;
}
if (j == 0) {
min[i] =
Double.valueOf(mNormalisasiBobot.getValueAt(j
, i + 1).toString());
} else {
if (nilai < min[i]) {
min[i] = nilai;
}
}
}
}
===========================================================
√∑ ( )
dengan i=1,2,3,……..m
√∑ ( )
dengan i=1,2,3,……..m
Menghitung ukuran separasi. Ukuran separasi ini merupakan
pengukuran jarak dari suatu alternatif ke solusi ideal positif dan solusi ideal
negatif. Berikut listing programnya :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
===========================================================
for (int i = 0; i < mNormalisasiBobot.getColumnCount() - 1; i++) {
for (int j = 0; j < mNormalisasiBobot.getRowCount(); j++) {
Double nilai =
Double.parseDouble(mNormalisasiBobot.getValueA
t(j, i + 1).toString());
datap[j][i] = Math.pow((nilai - max[i]), 2);
datan[j][i] = Math.pow((nilai - min[i]), 2);
}
}
for (int i = 0; i < mNormalisasiBobot.getRowCount(); i++) {
jumlahpositif[i] = 0d;
jumlahnegatif[i] =0d;
for (int j = 0; j < mNormalisasiBobot.getColumnCount() - 1; j++)
{
jumlahpositif[i] += datap[i][j];
jumlahnegatif[i] += datan[i][j];
}
jumlahpositif[i] =Math.sqrt(jumlahpositif[i]);
jumlahnegatif[i] =Math.sqrt(jumlahnegatif[i]);
}
===========================================================
5.1.4 Menentukan kedekatan relatif
Menghitung kedekatan relatif untuk setiap alternatif. Bertujuan
untuk menentukan ranking tiap-tiap alternatif yang ada, maka perlu dihitung
terlebih dahulu nilai yang mendekati solusi ideal dari tiap alternatif.
===========================================================
for (int i = 0; i < SIPositifTable.getRowCount(); i++) {
Double totalPositif =
Double.parseDouble(SIPositifTable.getValueAt(i, 5).toString());
Double totalNegatif
=Double.parseDouble(SINegatifTable.getValueAt(i, 5).toString());
Double hasil = totalNegatif / (totalPositif + totalNegatif);
data[i][0] = SIPositifTable.getValueAt(i, 0).toString();
data[i][1] = hasil;}
===========================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
5.1.5 Perangkingan
Setelah melalui beberapa persamaan matriks, didapat hasil ranking
berdasarkan urutan Ci+. Dari hasil perankingan ini dapat dilihat alternatif terbaik
yaitu alternatif yang memiliki jarak terpendek dari solusi ideal dan solusi ideal
negatif.
===========================================================
Sortingtable.setAutoCreateRowSorter(true);
===========================================================
5.2 Implementasi Interface
5.2.1 Login
Gambar 5.1 Form Login
Saat aplikasi ini dijalankan, menu “Login” akan tampil pertama kali. User atau
pihak Seksi Bantuan Korban Bencana harus memasukan username dan password
untuk dapat masuk ke dalam halaman utama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
5.2.2 Halaman Utama
Gambar 5.2 Form Halaman Utama
Form Utama ini user akan menggunakan beberapa menu yang mana dari setiap
menu tersebut terdapat sub – submenu, sub – submenu tersebut memiliki fungsi
tersendiri yang akan dijadikan sebagai aktivitas user.
5.2.3 Form Kriteria
Gambar 5.3 Form Kriteria
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Form kriteria digunakan untuk melihat kriteria yang digunakan beserta besar
bobot tiap kriteria. Pihak pengambil keputusan dapat menentukan nilai bobot tiap
kriteria dengan menekan tombol “edit bobot”, secara otomatis sistem akan
mengupdate nilai bobot kriteria.
5.2.4 Form Kecamatan
Gambar 5.4 Form Kecamatan
Form kecamatan digunakan untuk menambah atau mengurangi kecamatan
yang akan di alokasikan air bersih sesuai dengan hasil pemetaan setiap daerah.
Kecamatan ini berfungsi untuk menampilkan garis besarnya daerah atau desa. User
akan menambah kecamatan dan disesuaikan dengan ID_Kecamatan bersifat
primary key. Fungsi ID_Kecamatan ini untuk memanggil ID_Kecamatan saat
menginputkan data desa.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
5.2.5 Form Desa
Gambar 5.5 Form Desa
Form input desa digunakan untuk menginputkan desa sesuai dengan data hasil
pemetaan setiap daerah. Form ini diminta untuk memasukan ID_Desa dan
Nama_Desa, ID_Desa bersifat primary key yang akan dipanggil saat memasukan
hasil pemetaan setiap kriteria di form Nilai_Alternative. Dan ID_Kecamatan
bersifat foreign key.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
5.2.6 Form Nilai Alternative
Gambar 5.6 Form Nilai Alternative
Form nilai alternative digunakan untuk menginputkan nilai setiap daerah
sesuai kriteria yang ada, nilai yang didapat adalah hasil dari pemetaan di setiap
daerah. Form ini diminta untuk memasukan desa, kriteria, nilai, masing-masing
memanggil ID_Desa dan ID_Kriteria bersifat foreign key.
5.2.7 Perhitungan TOPSIS
5.2.7.1 Matriks Keputusan
Gambar 5.7 Matriks Keputusan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
5.2.7.2 Matriks Normalisasi
Gambar 5.8 Matriks Normalisasi
5.2.7.3 Matriks Normalisasi Terbobot
Gambar 5.9 Matriks Normalisasi Terbobot
5.2.7.4 Solusi Ideal Positif
Gambar 5.10 Solusi Ideal Positif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
5.2.7.5 Solusi Ideal Negatif
Gambar 5.11 Solusi Ideal Negatif
5.2.7.6 Kedekatan Relatif
Gambar 5.12 Kedakatan Relatif
5.2.7.7 Perankingan
Gambar 5.13 Perangkingan dan penyediaan air bersih
Dari form hasil perangkingan tersebut, pihak Seksi Bantuan Korban
Bencana diminta untuk menginputkan jumlah ketersedian air untuk 5 bulan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
kedepan di beberapa desa yang akan di alokasikan. Hasil pembagian air
bersih akan masuk ke form Alokasi Air Bersih dengan mengklik tombol
“Tampilkan Alokasi”.
5.2.8 Alokasi Air Bersih
Gambar 5.14 Alokasi Air Bersih
Pada Form Alokasi Air Bersih tersebut terdapat nilai alokasi air bersih yang
akan di distribusikan setiap daerahnya. Hasil tersebut akan dijadikan pertimbangan
bagi pihak Seksi Bantuan Korban Bencana, sebagai peningkatan kualitas hidup
masyarakat Sragen.
5.3 Hasil Pengujian dan Pembahasan
Program desktop Sistem Pendukung Penentuan Keputusan Pengadaan Air Bersih
berbasis java ini menggunakan metode TOPSIS (Technique for Order Preference by
Similarity to Ideal Solution). Pengambilan keputusan dengan menggunakan metode
TOPSIS dapat membantu menentukan solusi terbaik dengan menggunakan jarak
Euclidean untuk menentukan kedekatan relatif dari suatu alternatif dengan solusi optimal,
sehingga bantuan alokasi air bersih lebih adil dan tidak terbengkelai. Dan proses
penentuan pengadaan air bersih lebih cepat.
Dalam suatu kasus dari hasil pemetaan bantuan dsitribusi air bersih masing - masing
daerah di kabupaten Sragen pada tahun 2015. Terdapat 30 desa dari 9 kecamatan yang
tercatat kekurangan air bersih, 30 desa tersebut masing – masing memiliki nilai kriteria
berbeda-beda.
Pada kenyataan, pihak DINSOS terkendala dalam menentukan desa yang paling
membutuhkan air bersih. Selama ini pihak DINSOS melakukan proses dropping air bersih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
hanya didasarkan pada jarak yang terdekat dengan kota, wilayah yang berjarak lebih
dekat dengan kota mendapat droppingan lebih banyak daripada yang wilayahnya
berjauhan dengan kota. Padahal kenyataannya desa yang berjauhan dengan kota
mempunyai nilai prioritas besar dibanding dengan desa yang berdekatan dengan kota.
Aspek kondisi tingkat kebutuhan sesuai hasil pemetaan tidak digunakan oleh DINSOS
dalam penentuan bantuan air bersih.
Metode TOPSIS (Technique for Order Preference by Similarity to Ideal Solution)
didasarkan pada konsep bahwa alternatif terpilih terbaik hanya memiliki jarak terpendek
dari solusi ideal positif tetapi juga memiliki jarak terpanjang dari solusi ideal negatif.
Berikut ini salah satu penyelesaian kasus pengalokasian air bersih dari hasil pemetaan
periode 15 Juli s/d 17 November 2015 :
Tabel 5.1 Tabel data pemetaan periode 15 Juli s/d 17 November 2015
Nama Desa KK JIWA TANGKI DUKUH
1 Bagor 169 563 12 2
2 Baleharjo 239 1003 12 2
3 Banyurip 1085 3275 35 4
4 Cepoko 198 292 16 2
5 Dawung 162 642 12 2
6 Dukuh 428 1171 18 3
7 Galeh 125 503 30 3
8 Gebang 184 736 9 1
9 Gemantar 226 1076 16 1
10 Gesi 95 370 8 1
11 Gilirejo 217 1037 25 3
12 Gilirejo Baru 440 1523 36 3
13 Jekawal 350 1050 13 2
14 Jenar 215 938 18 3
15 Jono 120 534 6 1
16 Karanganom 64 301 12 1
17 Karangtalun 109 400 9 2
18 Katelan 98 467 24 2
19 Kedawung 130 353 17 2
20 Ngargotirto 448 2072 18 2
21 Ngebung 38 120 4 1
22 Ngepringan 520 1688 24 4
23 Ngrombo 304 1444 32 3
24 Pare 200 620 18 1
25 Poleng 97 425 16 2
26 Sambiduwur 109 436 8 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
27 Sigit 29 110 6 1
28 Slendro 181 666 16 2
29 Tempelrejo 56 188 14 1
30 Tlogotirto 100 374 18 2
5.3.1 Matriks Normalisasi
Dari hasil Tabel data pemetaan dropping air bersih periode 15 Juli s/d 17
November 2015, maka akan dinormalisasikan. Berikut langkah-langkahnya:
√∑2
ijx
Memperoleh nilai Xij
Diambil kasus dari desa Bagor, pada tabel data pemetaan didapat nilai:
KK : 169
JIWA : 563
TANGKI : 12
DUKUH : 2
Merecord data terhadap nilai 2
ijx didapat:
2
ijx
Tabel 5.2 Tabel Perhitungan 2
ijx
Nama Desa KK JIWA TANGKI DUKUH
Bagor 168 x 169 =
28561
563 x 563 =
316969
12 x 12 = 144 2 x 2 = 4
Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan
yang sama.
Nama Desa KK JIWA TANGKI DUKUH
1 Bagor 28561 316969 144 4
2 Baleharjo 57121 1006009 144 4
3 Banyurip 1177225 10725625 1225 16
4 Cepoko 39204 85264 256 4
5 Dawung 26244 412164 144 4
6 Dukuh 183184 1371241 324 9
7 Galeh 15625 253009 900 9
8 Gebang 33856 541696 81 1
9 Gemantar 51076 1157776 256 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
10 Gesi 9025 136900 64 1
11 Gilirejo 47089 1075369 625 9
12 Gilirejo Baru 193600 2319529 1296 9
13 Jekawal 122500 1102500 169 4
14 Jenar 46225 879844 324 9
15 Jono 14400 285156 36 1
16 Karanganom 4096 90601 144 1
17 Karangtalun 11881 160000 81 4
18 Katelan 9604 218089 576 4
19 Kedawung 16900 124609 289 4
20 Ngargotirto 200704 4293184 324 4
21 Ngebung 1444 14400 16 1
22 Ngepringan 270400 2849344 576 16
23 Ngrombo 92416 2085136 1024 9
24 Pare 40000 384400 324 1
25 Poleng 9409 180625 256 4
26 Sambiduwur 11881 190096 64 1
27 Sigit 841 12100 36 1
28 Slendro 32761 443556 256 4
29 Tempelrejo 3136 35344 196 1
30 Tlogotirto 10000 139876 324 4
Memperoleh nilai akar dari subtotal Xij
√∑ 2
ijx
Dari ke 30 desa hasil 2
ijx tersebut maka dicari masing – masing total setiap
2
ijx , kemudian diambil nilai akar dari nilai 2
ijx tersebut. Berikut hasil yang
didapat:
Tabel 5.3 Tabel akar dari seluruh jumlahan 2
ijx
KK JIWA TANGKI DUKUH
JUMLAH 2760408 32890411 10474 144
AKAR 1661.45 5735.016 102.343 12
Mendapatkan hasil matriks Normalisasi
√∑
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Setelah melewati beberapa tahap mulai dari memperoleh nilai hingga akar
dari nilai total , maka dari ke 30 desa tersebut nilai dari masing – masing
desa tersebut akan di normalisasikan. Nilai normalisasi didapat dari nilai
kemudian di bagi dengan akar dari nilai subtotal . Berikut penyelesaiannya:
Tabel 5.4 Tabel nilai matriks normalisasi
Nama desa KK JIWA TANGKI DUKUH
Bagor 169/1661.45 =
0.101718528
563/5735.016 =
0.098169
12/102.343 =
0.11725
2/12 = 0.16667
Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan
yang sama.
Nama Desa KK JIWA TANGKI DUKUH
1 Bagor 0.101718528 0.098169 0.11725 0.16667
2 Baleharjo 0.143850462 0.174891 0.11725 0.16667
3 Banyurip 0.653044986 0.571053 0.34199 0.33333
4 Cepoko 0.119173186 0.050915 0.15634 0.16667
5 Dawung 0.097505334 0.111944 0.11725 0.16667
6 Dukuh 0.257606686 0.204184 0.17588 0.25
7 Galeh 0.075235597 0.087707 0.29313 0.25
8 Gebang 0.1107468 0.128334 0.08794 0.08333
9 Gemantar 0.13602596 0.187619 0.15634 0.08333
10 Gesi 0.057179054 0.064516 0.07817 0.08333
11 Gilirejo 0.130608997 0.180819 0.24428 0.25
12 Gilirejo Baru 0.264829303 0.265562 0.35176 0.25
13 Jekawal 0.210659673 0.183086 0.12702 0.16667
14 Jenar 0.129405228 0.163557 0.17588 0.25
15 Jono 0.072226174 0.093112 0.05863 0.08333
16 Karanganom 0.038520626 0.052485 0.11725 0.08333
17 Karangtalun 0.065605441 0.069747 0.08794 0.16667
18 Katelan 0.058984708 0.08143 0.23451 0.16667
19 Kedawung 0.078245021 0.061552 0.16611 0.16667
20 Ngargotirto 0.269644381 0.361289 0.17588 0.16667
21 Ngebung 0.022871622 0.020924 0.03908 0.08333
22 Ngepringan 0.312980086 0.294332 0.23451 0.33333
23 Ngrombo 0.182972973 0.251787 0.31268 0.25
24 Pare 0.120376956 0.108108 0.17588 0.08333
25 Poleng 0.058382824 0.074106 0.15634 0.16667
26 Sambiduwur 0.065605441 0.076024 0.07817 0.08333
27 Sigit 0.017454659 0.01918 0.05863 0.08333
28 Slendro 0.108941145 0.116129 0.15634 0.16667
29 Tempelrejo 0.033705548 0.032781 0.1368 0.08333
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
30 Tlogotirto 0.060188478 0.065213 0.17588 0.16667
5.3.2 Normalisasi Matriks Terbobot
Pada permasalahan ini didapat bobot dari masing – masing kriteria
yang bersifat independen, berikut nilai bobot :
Tabel 5.5 Tabel Nilai Bobot
Bobot
KK (w1) JIWA (w2) TANGKI (W3) DUKUH (W4)
5 2 5 3
Dari 30 desa yang tercantum untuk mendapat nilai normalisasi terbobot,
maka nilai hasil normalisasi di kalikan dengan nilai bobot yang tersedia,
berikut penyelesaiannya :
Tabel 5.6 Tabel matriks normalisasi terbobot
Nama Desa KK JIWA TANGKI DUKUH
Bagor 0.101718528 x 5 =
0.50859
0.098169 x 2 =
0.19634
0.11725 x 5 =
0.5863
0.16667 x 3 =
0. 5
Kemudian seterusnya berlanjut pada masing – masing desa dengan
perhitungan yang sama.
Nama Desa KK JIWA TANGKI DUKUH
1 Bagor 0.508592639 0.196338 0.58627 0.5
2 Baleharjo 0.719252312 0.349781 0.58627 0.5
3 Banyurip 3.265224931 1.142107 1.70994 1
4 Cepoko 0.595865932 0.101831 0.78169 0.5
5 Dawung 0.487526672 0.223888 0.58627 0.5
6 Dukuh 1.288033429 0.408369 0.8794 0.75
7 Galeh 0.376177987 0.175414 1.46567 0.75
8 Gebang 0.553733998 0.256669 0.4397 0.25
9 Gemantar 0.680129801 0.375239 0.78169 0.25
10 Gesi 0.28589527 0.129032 0.39084 0.25
11 Gilirejo 0.653044986 0.361638 1.22139 0.75
12 Gilirejo Baru 1.324146516 0.531123 1.7588 0.75
13 Jekawal 1.053298365 0.366172 0.63512 0.5
14 Jenar 0.647026138 0.327113 0.8794 0.75
15 Jono 0.361130868 0.186224 0.29313 0.25
16 Karanganom 0.19260313 0.104969 0.58627 0.25
17 Karangtalun 0.328027205 0.139494 0.4397 0.5
18 Katelan 0.294923542 0.162859 1.17253 0.5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
19 Kedawung 0.391225107 0.123103 0.83054 0.5
20 Ngargotirto 1.348221907 0.722579 0.8794 0.5
21 Ngebung 0.114358108 0.041848 0.19542 0.25
22 Ngepringan 1.564900428 0.588664 1.17253 1
23 Ngrombo 0.914864866 0.503573 1.56338 0.75
24 Pare 0.60188478 0.216216 0.8794 0.25
25 Poleng 0.291914118 0.148212 0.78169 0.5
26 Sambiduwur 0.328027205 0.152048 0.39084 0.25
27 Sigit 0.087273293 0.038361 0.29313 0.25
28 Slendro 0.544705726 0.232257 0.78169 0.5
29 Tempelrejo 0.168527738 0.065562 0.68398 0.25
30 Tlogotirto 0.30094239 0.130427 0.8794 0.5
5.3.3 Menghitung Jarak Separasi Positif dan Negatif
Setelah didapat hasil normalisasi terbobot, maka di cari nilai maksimal
dan minimal setiap kriteria.
Nilai maksimal dan minimal tersebut untuk menentukan solusi ideal
positif dan solusi ideal negatif. Berikut hasil maksimal dan minimal yang
didapat dari tabel normalisasi terbobot :
Tabel 5.7 Tabel Solusi Ideal Postif dan Negatif
KK JIWA TANGKI DUKUH
MAX 3.265224931 1.142107 1.7588 1
MIN 0.087273293 0.038361 0.19542 0.25
Menghitung ukuran separasi. Ukuran separation ini merupakan pengukuran
jarak dari suatu alternatif ke solusi ideal positif dan solusi ideal negatif.
Mendapatkan nilai solusi ideal positif :
√∑ ( )
dengan i=1,2,3,……..m
Dari 30 desa yang tercantum untuk mendapat solusi ideal positif, maka nilai
hasil normalisasi masing-masing alternatif dikurangi dengan nilai maksimal
yang kemudian di kuadratkan, berikut penyelesaiannya :
Mendapatkan nilai :
( )
Tabel 5.8 Tabel Perhitungan ( ) 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Nama Desa KK JIWA TANGKI DUKUH
1 Bagor
= 7.599022
= 0.89448
= 1.37483
= 0.25 Kemudian seterusnya berlanjut pada masing – masing desa dengan
perhitungan yang sama. Setelah setiap alternatif di hitung. Selanjutnya
mencari nilai akarnya, berikut penyelesaiannya:
√∑( )
Tabel 5.9 Tabel Perhitungan
Nama Desa Solusi Ideal (+)
1 Bagor √ =
3.180933
Kemudian seterusnya berlanjut pada masing – masing desa dengan
perhitungan yang sama.
1 Bagor 3.180933
2 Baleharjo 2.955434
3 Banyurip 0.048856
4 Cepoko 3.067963
5 Dawung 3.19117
6 Dukuh 2.298587
7 Galeh 3.070751
8 Gebang 3.230899
9 Gemantar 2.964464
10 Gesi 3.512339
11 Gilirejo 2.789969
12 Gilirejo Baru 2.050265
13 Jekawal 2.647139
14 Jenar 2.890506
15 Jono 3.472485
16 Karanganom 3.529021
17 Karangtalun 3.409162
18 Katelan 3.221075
19 Kedawung 3.226438
20 Ngargotirto 2.20777
21 Ngebung 3.761008
22 Ngepringan 1.881784
23 Ngrombo 2.456137
24 Pare 3.047376
25 Poleng 3.321618
26 Sambiduwur 3.470035
27 Sigit 3.745438
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
28 Slendro 3.071448
29 Tempelrejo 3.530754
30 Tlogotirto 3.291475
Mendapatkan nilai solusi ideal negatif :
√∑ ( )
dengan i=1,2,3,……..m
Dari 30 desa yang tercantum untuk mendapat solusi ideal negatif, maka nilai
hasil normalisasi masing-masing alternatif dikurangi dengan nilai minimal
yang kemudian di kuadratkan, berikut penyelesaiannya :
Mendapatkan nilai :
( ) 2
Tabel 5.10 Tabel Perhitungan ( ) 2
Nama Desa KK JIWA TANGKI DUKUH
1 Bagor
= 0.17751
= 0.02496
= 0.15276
= 0.0625
Kemudian seterusnya berlanjut pada masing – masing desa dengan
perhitungan yang sama. Setelah setiap alternatif di hitung. Selanjutnya
mencari nilai akarnya, berikut penyelesaiannya:
√∑( )
Tabel 5.11 Tabel Perhitungan
Nama Desa Solusi Ideal (-)
1 Bagor √
= 0.6463
Kemudian seterusnya berlanjut pada masing – masing desa dengan
perhitungan yang sama.
1 Bagor 0.64632
2 Baleharjo 0.84359
3 Banyurip 3.76482
4 Cepoko 0.81786
5 Dawung 0.64022
6 Dukuh 1.51544
7 Galeh 1.40206
8 Gebang 0.57001
9 Gemantar 0.89926
10 Gesi 0.29302
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
11 Gilirejo 1.31423
12 Gilirejo Baru 2.11348
13 Jekawal 1.13864
14 Jenar 1.05571
15 Jono 0.3262
16 Karanganom 0.41023
17 Karangtalun 0.4363
18 Katelan 1.03724
19 Kedawung 0.75196
20 Ngargotirto 1.60887
21 Ngebung 0.02731
22 Ngepringan 2.00087
23 Ngrombo 1.73857
24 Pare 0.87423
25 Poleng 0.67835
26 Sambiduwur 0.33027
27 Sigit 0.09771
28 Slendro 0.80811
29 Tempelrejo 0.49601
30 Tlogotirto 0.7645
5.3.4 Menghitung Kedekatan Relatif
Dari hasil solusi ideal positif dan solusi ideal negatif maka dari 30 desa
tersebut dapat dihitung nilai preferensi untuk setiap alternatif.
Dari 30 desa yang tercantum untuk mendapat nilai preferensi, maka nilai
hasil solusi ideal negatif masing-masing alternatif dibagi dengan nilai hasil
solusi ideal negatif yang ditambah dengan solusi ideal positif, berikut
penyelesaiannya :
Tabel 5.12 Tabel perhitungan Kedekatan Relatif
Nama Desa Kedekatan Relatif
1 Bagor
= 0.168872
Kemudian seterusnya berlanjut pada masing – masing desa dengan
perhitungan yang sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
1 Bagor 0.168872
2 Baleharjo 0.222054
3 Banyurip 0.987189
4 Cepoko 0.210474
5 Dawung 0.167099
6 Dukuh 0.397333
7 Galeh 0.313463
8 Gebang 0.149968
9 Gemantar 0.232745
10 Gesi 0.077002
11 Gilirejo 0.320217
12 Gilirejo Baru 0.507592
13 Jekawal 0.300768
14 Jenar 0.267525
15 Jono 0.085873
16 Karanganom 0.10414
17 Karangtalun 0.11346
18 Katelan 0.24358
19 Kedawung 0.189011
20 Ngargotirto 0.421541
21 Ngebung 0.007209
22 Ngepringan 0.515335
23 Ngrombo 0.414468
24 Pare 0.222927
25 Poleng 0.169588
26 Sambiduwur 0.086906
27 Sigit 0.025425
28 Slendro 0.2083
29 Tempelrejo 0.123179
30 Tlogotirto 0.188487
5.3.5 Perangkingan
Dari ke 30 desa tersebut maka didapat, desa yang relatif di alokasikan
air bersih, guna menunjang kualitas hidup manusia. Berikut hasil
perangkingan :
Tabel 5.13 Tabel Perangkingan
1 Banyurip 0.98719
2 Ngepringan 0.51534
3 Gilirejo Baru 0.50759
4 Ngargotirto 0.42154
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
5 Ngrombo 0.41447
6 Dukuh 0.39733
7 Gilirejo 0.32022
8 Galeh 0.31346
9 Jekawal 0.30077
10 Jenar 0.26752
11 Katelan 0.24358
12 Gemantar 0.23274
13 Pare 0.22293
14 Baleharjo 0.22205
15 Cepoko 0.21047
16 Slendro 0.20830
17 Kedawung 0.18901
18 Tlogotirto 0.18849
19 Poleng 0.16959
20 Bagor 0.16887
21 Dawung 0.16710
22 Gebang 0.14997
23 Tempelrejo 0.12318
24 Karangtalun 0.11346
25 Karanganom 0.10414
26 Sambiduwur 0.08692
27 Jono 0.08587
28 Gesi 0.07700
29 Sigit 0.02542
30 Ngebung 0.00721
5.3.5 Pengalokasian
Dari ke 30 desa dengan hasil nilai perangkingan alternatif, maka dari
pihak penyedia di sediakan jumlah debit air dalam bentuk tangki, 1 tangki
truk berisi 5000 liter. Pada periode 15 Juli s/d 17 November 2015 pihak
Dinsos kabupaten Sragen setiap bulannya menyediakan 7 armada truk
dengan jumlah setiap tangki truk berisi 5000 liter. Berikut ulasannya :
Penyediaan air = (7 tangki x 5000 liter) x 5 bulan = 175000 liter
Dari hasil perangkingan, didapat nilai total setiap alternatifnya. Berikut
nilai total yang di dapat :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Tabel 5.14 Tabel nilai total setiap alternatif dalam ranking
Perangkingan
JUMLAH 7.44173
Maka dengan hasil total setiap alternatif dan penyediaan air yang di
dapat, maka di hitung alokasi air bersihnya sebagai berikut :
Tabel 5.15 Tabel perhitungan Pengalokasian
Nama Desa Pengalokasian
1 Banyurip (0.98719/7.44173) x 175000 =
23214.79683 Liter
Kemudian seterusnya berlanjut pada masing – masing desa dengan
perhitungan yang sama.
Tabel 5.16 Tabel Pengalokasian
Nama Desa Liter
Banyurip 23214.79683
Ngepringan 12118.75464
Gilirejo Baru 11936.50536
Ngargotirto 9912.950349
Ngrombo 9746.691965
Dukuh 9343.627087
Gilirejo 7530.305453
Galeh 7371.337041
Jekawal 7072.918528
Jenar 6291.010289
Katelan 5728.036357
Gemantar 5473.122513
Pare 5242.430188
Baleharjo 5221.736075
Cepoko 4949.420363
Slendro 4898.390562
Kedawung 4444.766204
Tlogotirto 4432.537864
Poleng 3988.08476
Bagor 3971.153213
Dawung 3929.529827
Gebang 3526.700109
Tempelrejo 2896.70547
Karangtalun 2668.129588
Karanganom 2448.960121
Sambiduwur 2044.013959
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Jono 2019.32212
Gesi 1810.734869
Sigit 597.7776673
Ngebung 169.5506287
Setelah dilakukan uji sistem dan perhitungan manual pada data periode 15 Juli s/d
17 November 2015 dengan menerapkan metode TOPSIS (Technique For Others
Reference by Similarity to Ideal Solution) diperoleh yang menjadi relatif prioritas
bantuan distribusi air bersih adalah desa banyurip dengan nilai 0.98719, yang berarti
mendekati nilai solusi ideal. Hasil pengalokasian air bersih pada desa banyurip sebanyak
23214.79683 liter. Maka didapatkan output sebagai tolak ukur pertimbangan distribusi
air bersih dari desa yang menjadi prioritas terbesar sampai desa yang memiliki prioritas
terkecil.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
BAB VI
PENUTUP
6.1 Kesimpulan
Berdasarkan hasil penelitian dan pembahasan yang telah diuraikan sebelumnya
maka dapat ditarik kesimpulan bahwa metode TOPSIS (Technique For Others Reference
by Similarity to Ideal Solution) mampu diterapkan dalam Sistem Pendukung Penentuan
Keputusan pemberian bantuan pengadaan air bersih. Hasil pengujian secara manual
menggunakan Microsoft excel dan sistem yang dibuat memberikan hasil yang sama.
6.2 Saran
Pembuatan sistem penentuan pendukung penentuan keputusan dengan algoritma
TOPSIS ini masih sangat sederhana. Beberapa hal yang menjadi saran bagi
pengembangan sistem ini, antara lain :
1. Fasilitas menu untuk menambah atau menghapus kriteria-kriteria.
2. Sistem juga dapat ditambahkan fasilitas google map sehingga dapat melihat langsung
lokasi terdampak yang membutuhkan air bersih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
DAFTAR PUSTAKA
Srikrishna S, Sreenivasulu Reddy. A, Vani S (2014). International Journal of
Engineering Research and General Science: A New Car Selection in the Market using
TOPSIS Technique.
Arifin A & Hartati S, 2011. Jurnal: Aplikasi Pendukung Keputusan Distribusi
Air Bersih dengan Fuzzy Interger Transportation.
Anwar, Khoirul, 2012. 130199274-Topsis-Method.
N.Sora, 2014. Basis data dan Sistem Basis data. Diperoleh 24 November
2015. htpp://www.pengertianku.net/2014/06/pengertian-basis-data-dan-sistem-
basis.html
Humas. Sekilas Kabupaten Sragen. Diperoleh 2 Desember 2015.
http://www.humaskabsragen.com/sekilas-kabupaten-sragen/
Silberschatz A, 2002. Database system concept. Diperoleh 24 November
2015.
USU, 2014. Diperoleh 5 Januari 2016.
http://repository.usu.ac.id/bitstream/123456789/34901/4/Chapter%20II.pdf
Turban Efraim, Jay E. Aronson, Ting-Peng Liang. (2005). Decision Support System
and Inteligent Systems. Yogyakarta : Andi.
Nurochman, 2011. Makalah Air Bersih. Diperoleh 27 November 2015.
https://athaagatha.wordpress.com/2012/11/28/makalah-air-bersih/
Whitten, Jeffrey L. (2004). Systes Analysis and Design Methods.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
LAMPIRAN
Data daerah kekurangan air bersih yang sudah masuk
Kabupaten Sragen 2015
No LOKASI JUMLAH
KET KECAMATAN DESA DUKUH K.K JIWA
1 2 3 4 5 6 7
1 MIRI
Gilirejo baru
(3 dukuh)
Dondong Barat,
01 A, 01 B 70 292
(3 desa)
Sumberejo 04,
05, 06, 07 170 564
Gondang Legi
8A, 8B, 9, 10 200 667
440 1523
Gilirejo
(3 dukuh) Pringanom, 14 56 257
Gunungsono 94 497
Sendangrejo, 14 67 283
217 1037
Bagor
(2 dukuh) Cabe 14, 15, 17 126 421
Sidorejo, 15 43 142
169 563
2 TANGEN
Ngrombo
(3 dukuh) Getas, 01 61 210
(6 desa)
Sanggrahan, 03,
04 99 400
Ngrombo, 11,
12B, 13 144 834
304 1444
Dukuh
(3 dukuh) Dukuh 113 365
Mangir 104 313
Glagah 211 493
428 1171
Jekawal
(2 dukuh)
Silibau, 1, 2, 3,
4, 5, 6, 7 245 735
Ngrancang, 14,
15, 16 105 315
350 1050
Katelan
(2 dukuh) Brak Bunder 43 211
Grabagan 55 256
98 467
Galeh
(3 dukuh) Barong 51 221
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Plosorejo 45 172
Kayen 29 110
125 503
Sigit
(1 dukuh) Singget 29 110
29 110
3 JENAR
Banyurip
(4 dukuh)
Gobang 3, 4, 5,
6 366 1,085
(5 desa) Betek 11, 12, 13 125 364
Jarak, 2, 20, 21 544 1,626
Sempu, 16 50 200
1085 3275
Jenar
(3 dukuh) Jenar, 01, 02 102 398
Godang, 17 65 280
Dukuh, 12 48 260
215 938
Ngepringan
(4 dukuh) Bakpo, 12, 13 92 420
Bago, 15, 16,
17, 18 258 758
Sendangrejo, 14 60 180
Ngampo, 2, 3 110 330
520 1688
Dawung
(2 dukuh) Winong, 02 80 217
Bromo Asri, 23 82 425
162 642
4 MONDOKAN
Tempelrejo
(1 dukuh) Bringinan 56 188
(4 desa) 56 188
Kedawung
(2 dukuh) Kalidoro 85 221
Tlebuk 45 132
130 353
Pare
(1 dukuh)
Dk, Bulakrejo,
16, 17, 18 200 620
200 620
Gemantar
(1 dukuh)
Gemantar, 9, 20,
21, 22, 30 226 1,076
226 1076
5 SBLAWANG
Tlogotirto
(2 dukuh) Kaliwatu, 07 40 176
(3 desa) Temon, 03 60 198
100 374
Cepoko
(2 dukuh) Jaten, 24, 25 96 136
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Gagan, 20, 21 102 156
198 292
Ngargotirto
(2 dukuh)
Sendangsono,
1A, 1B 99 438
Kowang, 5A,
5B, 6B, 6C, 7A,
7B, 8A, 8B 349 1634
448 2072
6 GESI
Poleng
(2 dukuh) Poleng, 08, 09 67 275
(3 desa) Ngreco, 12 30 150
97 425
Slendro
(2 dukuh)
Jumbleng, 20,
21, 22 99 340
Ora-ora Ombo,
13, 14, 15 82 326
181 666
Gesi
(1 dukuh)
Macanmati, 4, 5,
6 95 370
95 370
7 SUKODONO
Gebang
(1 dukuh)
Gebang, 4, 5, 9,
23 184 736
(3 desa) 184 736
Baleharjo
(2 dukuh) Mangen, 25, 26 136 556
Gosek, 17, 20 103 447
239 1003
Karanganom
(1 dukuh) Tisan 64 301
64 301
8 TANON
Sambiduwur
(1 dukuh) Karangtalun 109 436
(3 desa) 109 436
Karangtalun
(2 dukuh)
Karangtalun, 10,
22 74 296
Mojosari, 6 26 104
100 400
Jono
(1 dukuh)
Gondang
Panjen, 11, 12 120 534
120 534
9 KALIJAMBE
Ngebung
(1 dukuh) Mlandingan 38 120
(1 desa) 38 120
6671 24189
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Keterangan :
Jumlah Kecamatan : 9
Jumlah Desa : 30
Dropping air mulai tgl 15 Juli 2015 s/d 17 November 2015, jumlah droping air sebanyak 502
tangki.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
DROPING AIR BERSIH TAHUN 2015
DI KABUPATEN SRAGEN
Periode 15 Juli s/d 17 November 2015
NO KECAMATAN DESA DUKUH
JUMLAH
TANGKI KET
1 MIRI Gilirejo baru Dondong Barat, 01 A, 01 B 12
(3 desa) Sumberejo 04, 05, 06, 07 12
Gondang Legi 8A, 8B, 9, 10 12
36
Gilirejo Pringanom, 14 11
Gunungsono 7
Sendangrejo, 14 7
25
Bagor Cabe 14, 15, 17 6
Sidorejo, 15 6
12
2 TANGEN Ngrombo Getas, 01 12
(6 desa) Sanggrahan, 03, 04 10
Ngrombo, 11, 12B, 13 10
32
Dukuh Dukuh 6
Mangir 6
Glagah 6
18
Jekawal Silibau, 1, 2, 3, 4, 5, 6, 7 5
Ngrancang, 14, 15, 16 8
13
Katelan Brak Bunder 14
Grabagan 10
24
Galeh Barong 10
Plosorejo 10
Kayen 10
30
Sigit Singget 6
6
3 JENAR Banyurip Gobang 3, 4, 5, 6 9
(5 desa) Betek 11, 12, 13 9
Jarak, 2, 20, 21 9
Sempu, 16 8
35
Jenar Jenar, 01, 02 6
Godang, 17 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Dukuh, 12 6
18
Ngepringan Bakpo, 12, 13 6
Bago, 15, 16, 17, 18 10
Sendangrejo, 14 4
Ngampo, 2, 3 4
24
Dawung Winong, 02 6
Bromo Asri, 23 6
12
4 MONDOKAN Tempelrejo Bringinan 14
(4 desa) 14
Kedawung Kalidoro 10
Tlebuk 7
17
Pare Dk, Bulakrejo, 16, 17, 18 18
18
Gemantar Gemantar, 9, 20, 21, 22, 30 16
16
5 SBLAWANG Tlogotirto Kaliwatu, 07 10
(3 desa) Temon, 03 8
18
Cepoko Jaten, 24, 25 8
Gagan, 20, 21 8
16
Ngargotirto Sendangsono, 1A, 1B 6
Kowang, 5A, 5B, 6B, 6C, 7A,
7B, 8A, 8B 12
18
6 GESI Poleng Poleng, 08, 09 10
(3 desa) Ngreco, 12 6
16
Slendro Jumbleng, 20, 21, 22 8
Ora-ora Ombo, 13, 14, 15 8
16
Gesi Macanmati, 4, 5, 6 8
8
7 SUKODONO Gebang Gebang, 4, 5, 9, 23 9
(3 desa) 9
Baleharjo Mangen, 25, 26 6
Gosek, 17, 20 6
12
Karanganom Tisan 12
12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
8 TANON Sambiduwur Karangtalun 8
(3 desa) 8
Karangtalun Karangtalun, 10, 22 6
Mojosari, 6 3
9
Jono Gondang Panjen, 11, 12 6
6
9 KALIJAMBE Ngebung Mlandingan 4
(1 desa) 4
JUMLAH 502
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
PACKAGE DAERAH (DESA, KECAMATAN)
public class DaerahKontrol {
private Connection conn;
String url = "jdbc:oracle:thin:@localhost:3306:xe";
String user = "root";
String pwd = "";
// private Object IdDesaField;
public DaerahKontrol(Connection koneksi) {
this.conn = koneksi;
}
public static DaerahKontrol getKoneksiKategori() throws SQLException {
Koneksi kn = new Koneksi();
DaerahKontrol kon = new DaerahKontrol(kn.getConnection());
return kon;
}
public List<Kecamatan> LihatSeluruhKecamatan() throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String sql = "select ID_Kecamatan, Nama_kecamatan from kecamatan order by
ID_Kecamatan";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
List<Kecamatan> listKecamatan = new ArrayList<Kecamatan>();
while (result.next()) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Kecamatan kecamatan = new Kecamatan();
kecamatan.setId_kecamatan(result.getString("id_kecamatan"));
kecamatan.setNama_kecamatan(result.getString("nama_kecamatan"));
listKecamatan.add(kecamatan);
}
conn.commit();
return listKecamatan;
}
public List<Desa> LihatSeluruhDesa() throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String sql = "select ID_Desa, Nama_Desa, ID_Kecamatan from desa";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
List<Desa> listDesa = new ArrayList<Desa>();
while (result.next()) {
Desa des = new Desa();
Kecamatan kec=new Kecamatan();
des.setId_desa(result.getString("ID_Desa"));
des.setNama_desa(result.getString("Nama_Desa"));
kec.setId_kecamatan(result.getString("ID_Kecamatan"));
kec.setNama_kecamatan(NamaKecamatan(kec.getId_kecamatan()));
des.setKecamatan(kec);
listDesa.add(des);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
conn.commit();
return listDesa;
}
public void DeleteKecamatan(Kecamatan kec) throws SQLException {
PreparedStatement statement = null;
conn.setAutoCommit(false);
String sql = "delete from kecamatan where ID_Kecamatan =?";
statement = conn.prepareStatement(sql);
statement.setString(1, kec.getId_kecamatan());
statement.executeUpdate();
conn.commit();
}
public void DeleteDesa(Desa des) throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
Kecamatan kec=des.getKecamatan();
String id=des.getId_desa();
String namadesa =des.getNama_desa();
String IDKec=CariIDKecamatan(kec.getNama_kecamatan());
System.out.println(IDKec);
System.out.println(id);
String sql = "DELETE from desa WHERE ID_Desa = '"+id+"' AND ID_Kecamatan =
'"+IDKec+"'";
Statement stat = conn.createStatement();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
stat.executeUpdate(sql);
conn.commit();
conn.close();
}
public void DeleteAllDesa() throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String sql = "DELETE from desa";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
conn.close();
}
public boolean tambahKecamatan(Kecamatan kec) throws SQLException {
boolean berhasil=false;
String id = kec.getId_kecamatan();
String kecamatan = kec.getNama_kecamatan();
if (CariIDKecamatanlagi(kec.getNama_kecamatan())){
berhasil=false;
} else {
String sql = "insert into kecamatan(Id_Kecamatan, Nama_Kecamatan)"
+ "values('" + id + "','" + kecamatan + "' )";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
conn.commit();
conn.close();
berhasil=true;
}return berhasil;
}
private boolean CariIDKecamatanlagi(String kecamatan) throws SQLException {//buat
nambah simpan dengan memanggil id kriteria
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
boolean ketemu=false;
String sql = "SELECT * FROM kecamatan WHERE ID_Kecamatan = '" +
CariIDKecamatan(kecamatan) + "'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
if (result.next()) {
ketemu=true;
}
conn.commit();
return ketemu;
}
public boolean tambahDaerah(Desa daerah) throws SQLException {
boolean berhasil=false;
String id = daerah.getId_desa();
String desa=daerah.getNama_desa();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Kecamatan kecamatan =daerah.getKecamatan();
String idKec = CariIDKecamatan(kecamatan.getNama_kecamatan());
if (CariID(daerah.getNama_desa(), kecamatan.getNama_kecamatan())){
berhasil=false;
} else {
String sql = "insert into desa(Id_Desa, Nama_Desa, ID_Kecamatan) "
+ "values('" + id + "','" + desa + "','"+ idKec + "' )";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
conn.close();
berhasil=true;
}return berhasil;
}
private boolean CariID(String desa, String kecamatan) throws SQLException {//buat
nambah simpan dengan memanggil id kriteria
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
boolean ketemu=false;
String sql = "SELECT * FROM desa WHERE ID_Desa = '" + CariIDDesa(desa) + "'
AND ID_Kecamatan='"+CariIDKecamatan(kecamatan)+"'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
if (result.next()) {
ketemu=true;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
}
conn.commit();
return ketemu;
}
private String CariIDDesa(String nama) throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String desa = "";
String sql = "SELECT ID_Desa FROM desa WHERE Nama_Desa = '"+nama+"'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
while (result.next()) {
desa = result.getString("ID_Desa");
}
conn.commit();
return desa;
}
private String CariIDKecamatan(String nama) throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String kecamatan = "";
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
String sql = "SELECT ID_Kecamatan FROM Kecamatan WHERE Nama_Kecamatan =
'"+nama+"'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
while (result.next()) {
kecamatan = result.getString("Id_Kecamatan");
}
conn.commit();
return kecamatan;
}
private String NamaKecamatan(String nama) throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String kecamatan = "";
String sql = "SELECT Nama_Kecamatan FROM kecamatan WHERE ID_Kecamatan =
'"+nama+"'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
while (result.next()) {
kecamatan = result.getString("Nama_Kecamatan");
}
conn.commit();
return kecamatan;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
public void updateKecamatan(Kecamatan kec) throws SQLException {
String id = kec.getId_kecamatan();
String kecamatan = kec.getNama_kecamatan();
String sql = "update kecamatan set ID_Kecamatan='" + id + "',Nama_Kecamatan='" +
kecamatan + "'";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
conn.close();
}
public void updateDesa(Desa daerah) throws SQLException {
PreparedStatement statement = null;
conn.setAutoCommit(false);
String id = daerah.getId_desa();
String desa = daerah.getNama_desa();
Kecamatan kec = daerah.getKecamatan();
String IDKec = CariIDKecamatan(kec.getNama_kecamatan());
String sql = "UPDATE desa SET Nama_Desa='"+desa+"'" +
"WHERE ID_Desa='"+id+"'"+
"AND ID_Kecamatan = '"+IDKec+"'";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
conn.close();
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
PACKAGE ALTERNATIVE
public class AnalisaControl {
private Connection con;
// private List<Alternative> list;
// private Object[][] arr;
public AnalisaControl() throws SQLException {
con = Koneksi2.KoneksiDB();
// list = new ArrayList<>();
}
public double getBobot(String nama) {
double bobot = 0;
String sql = "SELECT bobot FROM kriteria WHERE nama_kriteria LIKE
'%"+nama+"%'";
PreparedStatement statement;
ResultSet result;
try {
statement = con.prepareStatement(sql);
result = statement.executeQuery();
while(result.next()) {
bobot = Double.parseDouble(result.getString("bobot"));
}
return bobot;
} catch (SQLException e) {
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
return bobot;
}
}
private Connection conn;
String url = "jdbc:oracle:thin:@localhost:3306:xe";
String user = "root";
String pwd = "";
public AlternativeKontrol(Connection koneksi) {
this.conn = koneksi;
}
public static AlternativeKontrol getKoneksiAlternative() throws SQLException {
Koneksi kn = new Koneksi();
AlternativeKontrol kon = new AlternativeKontrol(kn.getConnection());
return kon;
}
public List<Desa> LihatSeluruhDesa() throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String sql = "select ID_Desa, Nama_Desa, ID_Kecamatan from desa";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
List<Desa> listDesa = new ArrayList<Desa>();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
while (result.next()) {
Desa des = new Desa();
des.setId_desa(result.getString("ID_Desa"));
des.setNama_desa(result.getString("Nama_Desa"));
listDesa.add(des);
}
conn.commit();
return listDesa;
}
public List<Kriteria> LihatSeluruhKriteria() throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String sql = "select ID_Kriteria, Nama_Kriteria, Bobot from kriteria";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
List<Kriteria> listkriteria = new ArrayList<Kriteria>();
while (result.next()) {
Kriteria krit = new Kriteria();
krit.setKode(result.getString("ID_Kriteria"));
krit.setNama_kriteria(result.getString("Nama_Kriteria"));
listkriteria.add(krit);
}
conn.commit();
return listkriteria;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
}
public boolean tambahAlternative(Alternative alter) throws SQLException {
boolean berhasil=false;
Desa desa = alter.getDesa();
Kriteria kriteria = alter.getKriteria();
String Nilai = alter.getNilai();
String idDesa = CariIDDesa(desa.getNama_desa());
String idKriteria = CariIDKriteria(kriteria.getNama_kriteria());
if (CariID(desa.getNama_desa(), kriteria.getNama_kriteria())){
berhasil=false;
}
else {
String sql = "insert into alternative(ID_Desa, ID_Kriteria, Nilai) "
+ "values('" + idDesa + "','" + idKriteria + "','" + Nilai + "' )";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
conn.close();
berhasil=true;
}
return berhasil;
}
private boolean CariID(String desa, String kriteria) throws SQLException {//buat nambah
simpan dengan memanggil id kriteria
PreparedStatement statement = null;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
ResultSet result = null;
conn.setAutoCommit(false);
boolean ketemu=false;
String sql = "SELECT * FROM alternative WHERE ID_Desa = '" + CariIDDesa(desa)
+ "' AND ID_Kriteria='"+CariIDKriteria(kriteria)+"'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
if (result.next()) {
ketemu=true;
}
conn.commit();
return ketemu;
}
public void DeleteAllAlternative() throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String sql = "delete from alternative";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
}
private String CariIDDesa(String nama) throws SQLException {//buat nambah simpan
dengan memanggil id desa
PreparedStatement statement = null;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
ResultSet result = null;
conn.setAutoCommit(false);
String desa = "";
String sql = "SELECT Id_Desa FROM desa WHERE Nama_Desa = '" + nama + "'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
while (result.next()) {
desa = result.getString("Id_Desa");
}
conn.commit();
return desa;
}
private String CariIDKriteria(String nama) throws SQLException {//buat nambah simpan
dengan memanggil id kriteria
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String kriteria = "";
String sql = "SELECT ID_Kriteria FROM kriteria WHERE Nama_Kriteria = '" + nama
+ "'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
while (result.next()) {
kriteria = result.getString("ID_Kriteria");
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
conn.commit();
return kriteria;
}
public List<Alternative> LihatSeluruhAlternative() throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String sql = "select ID_Desa, ID_Kriteria, Nilai from alternative ORDER BY ID_Desa";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
List<Alternative> listAlternative = new ArrayList<Alternative>();
while (result.next()) {
Alternative alter = new Alternative();
Desa des = new Desa();
des.setId_desa(result.getString("ID_Desa"));
des.setNama_desa(NamaDesa(des.getId_desa()));
alter.setDesa(des);
Kriteria krit = new Kriteria();
krit.setKode(result.getString("ID_Kriteria"));
krit.setNama_kriteria(NamaKriteria(krit.getKode()));
alter.setKriteria(krit);
alter.setNilai(result.getString("Nilai"));
listAlternative.add(alter);
}
conn.commit();
return listAlternative;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
}
private String NamaDesa(String nama) throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String desa = "";
String sql = "SELECT Nama_Desa FROM desa WHERE Id_Desa = '" + nama + "'";
statement = conn.prepareStatement(sql);
result = statement.executeQuery();
while (result.next()) {
desa = result.getString("Nama_Desa");
}
conn.commit();
return desa;
}
private String NamaKriteria(String nama) throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
String kriteria = "";
String sql = "SELECT Nama_Kriteria FROM kriteria WHERE Id_Kriteria = '" + nama
+ "'";
statement = conn.prepareStatement(sql);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
result = statement.executeQuery();
while (result.next()) {
kriteria = result.getString("Nama_Kriteria");
}
conn.commit();
return kriteria;
}
public void updateAlternative(Alternative alter) throws SQLException {
Desa des = alter.getDesa();
Kriteria krit = alter.getKriteria();
String nilai = alter.getNilai();
String IDDesa = CariIDDesa(des.getNama_desa());
String IDKrit = CariIDKriteria(krit.getNama_kriteria());
String sql = "UPDATE alternative SET nilai='"+nilai+"' " +
"WHERE ID_Desa = '"+IDDesa+"' AND ID_Kriteria = '"+IDKrit+"'";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
conn.close();
}
public void deletealterbaru(Alternative alter) throws SQLException {
PreparedStatement statement = null;
ResultSet result = null;
conn.setAutoCommit(false);
Desa des = alter.getDesa();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
Kriteria krit = alter.getKriteria();
String nilai = alter.getNilai();
String IDDesa = CariIDDesa(des.getNama_desa());
String IDKrit = CariIDKriteria(krit.getNama_kriteria());
// System.out.println(IDDesa);
// System.out.println(IDKrit);
String sql = "DELETE from alternative WHERE ID_Desa = '"+IDDesa+"' AND
ID_Kriteria = '"+IDKrit+"'";
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
conn.commit();
conn.close();
}
}
PACKAGE LOGIN
private String driver = "com.mysql.jdbc.Driver";
private String user = "root";
// private String pass = "root";
private String pass = "";
private String url = "jdbc:mysql://127.0.0.1/tugasakhir";
private Connection con = null;
private Statement st = null;
public Koneksi() {
try {
Class.forName("com.mysql.jdbc.Driver");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
return;
} catch (ClassNotFoundException e) {
System.out.println("Koneksi Gagal : " + e.getMessage());
}
}
public void executesql(String sql) throws SQLException {
Connection conn = DriverManager.getConnection(url, user, pass);
Statement stt = conn.createStatement();
stt.executeUpdate(sql);
stt.close();
conn.close();
}
public ResultSet select(String sql) throws SQLException {
con = DriverManager.getConnection(url, user, pass);
st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
return rs;
}
public Connection getConnection() throws SQLException {
con = DriverManager.getConnection(url, user, pass);
return con;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
PACKAGE ANALISA METODE
public class Analisa_Form extends javax.swing.JFrame {
/**
* Creates new form Analis_Form
*/
public Analisa_Form() throws SQLException {
initComponents();
MatriksKeputusan();
NormalizedMatriks();
NormalizedTerbobot();
solusiideal();
KedekatanRelatif();
setLocation((1366 / 2) - (getWidth() / 2), (768 / 2) - (getHeight() / 2));
}
public void MatriksKeputusan() {
try {
Koneksi konek = new Koneksi();
Connection conn = konek.getConnection();
String q = "SELECT a.Nama_Desa AS 'NAMA DESA',\n"
+ "(SELECT nilai FROM alternative b WHERE a.ID_Desa=b.ID_Desa AND
ID_Kriteria='K01') AS 'KK',\n"
+ "(SELECT nilai FROM alternative c WHERE a.ID_Desa=c.ID_Desa AND
ID_Kriteria='K02') AS 'JIWA',\n"
+ "(SELECT nilai FROM alternative d WHERE a.ID_Desa=d.ID_Desa AND
ID_Kriteria='K03') AS 'TANGKI',\n"
+ "(SELECT nilai FROM alternative e WHERE a.ID_Desa=e.ID_Desa AND
ID_Kriteria='K04') AS 'DUKUH'\n"
+ "FROM desa a;";
PreparedStatement ps = conn.prepareStatement(q);
ResultSet rs = ps.executeQuery();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
mKeputusanTable.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException ex) {
throw new RuntimeException(ex);
// JOptionPane.showMessageDialog(this, "Data belum lengkap");
// Logger.getLogger(Analisa_Form.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void NormalizedMatriks() {
Double[][] data = new
Double[mKeputusanTable.getRowCount()][mKeputusanTable.getColumnCount() - 1];
Object[][] datatable = new
Object[mKeputusanTable.getRowCount()][mKeputusanTable.getColumnCount()];
Double[] pembagi = new Double[mKeputusanTable.getColumnCount() - 1];
String[] header = {"NAMA DESA", "KK", "JIWA", "TANGKI", "DUKUH"};
for (int i = 0; i < mKeputusanTable.getColumnCount() - 1; i++) {
Double nilaiTambah = 0.0;
for (int j = 0; j < mKeputusanTable.getRowCount(); j++) {
Double nilai = Double.parseDouble(mKeputusanTable.getValueAt(j, i +
1).toString()); //mengambil data dari tabel matriks
nilai = Math.pow(nilai, 2); //menguadratkan data
nilaiTambah += nilai; //menjumlahkan nilai tiap baris alternative
pembagi[i] = nilaiTambah;//nilai pembagi dari hasil data yang telah dikuadratkan
// System.out.println(nilaiTambah);
}
pembagi[i] = Math.sqrt(pembagi[i]);//hasil dari nilai kuadrat di akar
}
for (int i = 0; i < mKeputusanTable.getColumnCount() - 1; i++) {
for (int j = 0; j < mKeputusanTable.getRowCount(); j++) {
Integer nilai = Integer.valueOf(mKeputusanTable.getValueAt(j, i + 1).toString());
data[j][i] = (nilai / pembagi[i]);
System.out.println("data"+data[j][i]);//Nilai awal matriks di bagi dari hasil akar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
}
}
//------------Menggabungkan Kolom Tabel--------------//
for (int i = 0; i < mKeputusanTable.getRowCount(); i++) {
for (int j = 0; j < mKeputusanTable.getColumnCount(); j++) {
if (j == 0) {
datatable[i][0] = mKeputusanTable.getValueAt(i, 0);
} else if (j != 0) {
datatable[i][j] = String.format("%.5f", data[i][j - 1]);
}
}
}
DefaultTableModel df = new DefaultTableModel(datatable, header);
mNormalisasi.setModel(df);
}
public void NormalizedTerbobot() throws SQLException {
AnalisaControl analisa = new AnalisaControl();
Double[][] data = new
Double[mNormalisasi.getRowCount()][mNormalisasi.getColumnCount() - 1];
Object[][] datatable = new
Object[mNormalisasi.getRowCount()][mNormalisasi.getColumnCount()];
String[] header = {"NAMA DESA", "KK", "JIWA", "TANGKI", "DUKUH"};
double bobotKriteria;
for (int i = 0; i < mNormalisasi.getColumnCount() - 1; i++) {
bobotKriteria = analisa.getBobot(mNormalisasi.getColumnName(i + 1));//memanggil
bobot kriteria
for (int j = 0; j < mNormalisasi.getRowCount(); j++) {
Double nilai = Double.valueOf(mNormalisasi.getValueAt(j, i +
1).toString());//memanggil nilai dari data tabel normalisasi
data[j][i] = (nilai * bobotKriteria);//mengkalikan data normalisasi dengan bobot
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
}
//------------Menggabungkan Kolom Tabel--------------//
for (int i = 0; i < mNormalisasi.getRowCount(); i++) {
for (int j = 0; j < mNormalisasi.getColumnCount(); j++) {
if (j == 0) {
datatable[i][0] = mNormalisasi.getValueAt(i, 0);
} else if (j != 0) {
datatable[i][j] = data[i][j - 1];
}
}
}
DefaultTableModel df = new DefaultTableModel(datatable, header);
mNormalisasiBobot.setModel(df);
}
public void solusiideal() {
Double[][] datap = new
Double[mNormalisasiBobot.getRowCount()][mNormalisasiBobot.getColumnCount() - 1];
Double[][] datan = new
Double[mNormalisasiBobot.getRowCount()][mNormalisasiBobot.getColumnCount() - 1];
Object[][] dataNegatif = new
Object[mNormalisasiBobot.getRowCount()][mNormalisasiBobot.getColumnCount()];
Object[][] dataPositif = new
Object[mNormalisasiBobot.getRowCount()][mNormalisasiBobot.getColumnCount()];
String[] header = {"NAMA DESA", "KK", "JIWA", "TANGKI", "DUKUH"};
Double[] min = new Double[mNormalisasiBobot.getColumnCount() - 1];
Double[] max = new Double[mNormalisasiBobot.getColumnCount() - 1];
Double[] pembagi = new Double[mNormalisasiBobot.getRowCount()];
Double[] jumlahpositif = new Double[mNormalisasiBobot.getRowCount()];
Double[] jumlahnegatif = new Double[mNormalisasiBobot.getRowCount()];
for (int i = 0; i < mNormalisasiBobot.getColumnCount() - 1; i++) {
Double tempPositif = 0.0;
Double tempNegatif = 0.0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
for (int j = 0; j < mNormalisasiBobot.getRowCount(); j++) {
Double nilai = Double.valueOf(mNormalisasiBobot.getValueAt(j, i +
1).toString());
if (nilai > tempPositif) {
tempPositif = nilai;
max[i] = nilai;
}
if (j == 0) {
min[i] = Double.valueOf(mNormalisasiBobot.getValueAt(j, i + 1).toString());
} else {
if (nilai < min[i]) {
min[i] = nilai;
}
}
}
}
for (int i = 0; i < mNormalisasiBobot.getColumnCount() - 1; i++) {
for (int j = 0; j < mNormalisasiBobot.getRowCount(); j++) {
Double nilai = Double.parseDouble(mNormalisasiBobot.getValueAt(j, i +
1).toString());
//System.out.println(nilai);
datap[j][i] = Math.pow((nilai - max[i]), 2); //nilai dikurangi dengan nilai min
kemudian dikuadratkan
datan[j][i] = Math.pow((nilai - min[i]), 2);
}
}
//------------Menggabungkan Kolom Tabel--------------//
for (int i = 0; i < mNormalisasiBobot.getRowCount(); i++) {
for (int j = 0; j < mNormalisasiBobot.getColumnCount(); j++) {
if (j == 0) {
dataPositif[i][0] = mNormalisasiBobot.getValueAt(i, 0);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
dataNegatif[i][0] = mNormalisasiBobot.getValueAt(i, 0);
} else if (j != 0) {
dataPositif[i][j] = String.format("%.5f", datap[i][j - 1]);
dataNegatif[i][j] = String.format("%.5f", datan[i][j - 1]);
}
}
}
for (int i = 0; i < mNormalisasiBobot.getRowCount(); i++) {
jumlahpositif[i] = 0d;
jumlahnegatif[i] = 0d;
for (int j = 0; j < mNormalisasiBobot.getColumnCount() - 1; j++) {
jumlahpositif[i] += datap[i][j];
jumlahnegatif[i] += datan[i][j];
// System.out.println(jumlahnegatif[i]);
}
jumlahpositif[i] = Math.sqrt(jumlahpositif[i]);
jumlahnegatif[i] = Math.sqrt(jumlahnegatif[i]);
}
DefaultTableModel dfPositif = new DefaultTableModel(dataPositif, header);
DefaultTableModel dfNegatif = new DefaultTableModel(dataNegatif, header);
SIPositifTable.setModel(dfPositif);
dfPositif.addColumn("Separasi (+)", jumlahpositif);
SINegatifTable.setModel(dfNegatif);
dfNegatif.addColumn("Separasi (-)", jumlahnegatif);
}
public void KedekatanRelatif() {
Object[][] data = new Object[SIPositifTable.getRowCount()][2];
for (int i = 0; i < SIPositifTable.getRowCount(); i++) {
// for (int j = 0; j < SIPositifTable.getColumnCount()-1; j++) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
Double totalPositif = Double.parseDouble(SIPositifTable.getValueAt(i,
5).toString());
System.out.println("totalpos"+totalPositif);
Double totalNegatif = Double.parseDouble(SINegatifTable.getValueAt(i,
5).toString());
Double hasil = totalNegatif / (totalPositif + totalNegatif);
data[i][0] = SIPositifTable.getValueAt(i, 0).toString();
data[i][1] = hasil;
}
String[] header = {"Nama Desa", "Kedekatan Relatif"};
DefaultTableModel dtm = new DefaultTableModel(data, header);
KedekatanTable.setModel(dtm);
}
DROPPING FORM
public class Dropping_Form extends javax.swing.JFrame {
/**
* Creates new form Dropping_Form
*/
public Dropping_Form() throws SQLException {
initComponents();
setLocation((1366 / 2) - (getWidth() / 2), (768 / 2) - (getHeight() / 2));
drop();
Tabeldrop.setAutoCreateRowSorter(true);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
Tabeldrop = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
ButtonKembali = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
Tabeldrop.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(Tabeldrop);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
jLabel1.setFont(new java.awt.Font("Playbill", 0, 20)); // NOI18N
jLabel1.setText("Hasil Alokasi Air Bersih");
ButtonKembali.setText("Kembali");
ButtonKembali.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ButtonKembaliActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel1)
.addGap(149, 149, 149))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addComponent(ButtonKembali)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
383, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(15, Short.MAX_VALUE))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(15, 15, 15)
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 123,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29)
.addComponent(ButtonKembali)
.addContainerGap(19, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
);
pack();
}// </editor-fold>
private void ButtonKembaliActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
// TODO add your handling code here:
}
public static double tangki=0;
public void drop() throws SQLException{
Sorting_Form sort=new Sorting_Form();
System.out.println(sort);
// Object[][] data = new Object[sort.Sortingtable.getRowCount()][2];
Double[][] data = new
Double[sort.Sortingtable.getRowCount()][sort.Sortingtable.getColumnCount() - 1];
Object[][] datatable = new
Object[sort.Sortingtable.getRowCount()][sort.Sortingtable.getColumnCount()];
// Object[][] dataNegatif = new
Object[sort.Sortingtable.getRowCount()][sort.Sortingtable.getColumnCount()];
String[] header = {"Nama Desa", "Liter"};
Double[] bagi = new Double[sort.Sortingtable.getRowCount()];
Double[] hitung=new Double[sort.Sortingtable.getRowCount()];
System.out.println(sort.Sortingtable.getRowCount());
for (int i = 0; i < sort.Sortingtable.getColumnCount() - 1; i++) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
Double nilaiTambah = 0.0;
hitung[i]=0d;
for (int j = 0; j < sort.Sortingtable.getRowCount(); j++) {
hitung[j]=0d;
Double nilai = Double.parseDouble(sort.Sortingtable.getValueAt(j,i+1).toString());
// System.out.println("no"+j+"nilai"+nilai);
nilaiTambah += nilai;
}
bagi[i]=nilaiTambah;
}
for (int i = 0; i < sort.Sortingtable.getColumnCount() - 1; i++) {
for (int j = 0; j < sort.Sortingtable.getRowCount(); j++) {
Double nilai = Double.parseDouble(sort.Sortingtable.getValueAt(j,i+1).toString());
data[j][i] = (nilai / bagi[i])*tangki;
System.out.println("data"+data[j][i]);//Nilai awal matriks di bagi dari hasil akar
// Math.ceil(data[j][i]);
}
}
for (int i = 0; i < sort.Sortingtable.getRowCount(); i++) {
for (int j = 0; j < sort.Sortingtable.getColumnCount(); j++) {
if (j == 0) {
datatable[i][0] = sort.Sortingtable.getValueAt(i, 0);
} else if (j != 0) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
datatable[i][j] = Math.ceil(data[i][j - 1]);
}
}
}
DefaultTableModel df = new DefaultTableModel(datatable, header);
Tabeldrop.setModel(df);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI