PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 diurapiNya!”~Mazmur 28:7-8
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT Determination of Decision support system of procurement of clean water is computerbased 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.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 xij 2 ................................................................................................. 38
Tabel 4.20
Tabel akar dari seluruh jumlahan xij 2 ............................................................. 38
Tabel 4.21
Tabel nilai matriks normalisasi
Tabel 4.22
Tabel matriks normalisasi terbobot
Tabel 4.23
Tabel solusi ideal positif dan negatif .............................................................. 39
Tabel 4.24
Tabel Nilai (
) 2 ................................................................................. 40
Tabel 4.25
Tabel Nilai (
) 2 ................................................................................. 40 xix
................................................................. 38 .......................................................... 39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 xij 2 ................................................................................... 55
Tabel 5.3
Tabel akar dari seluruh jumlahan xij 2 ............................................................ 56
Tabel 5.4
Tabel nilai matriks normalisasi
Tabel 5.5
Tabel Nilai Bobot ............................................................................................ 58
Tabel 5.6
Tabel matriks normalisasi terbobot
Tabel 5.7
Tabel Solusi Ideal Postif dan Negatif ............................................................. 59
Tabel 5.8
Tabel Perhitungan (
Tabel 5.9
Tabel Perhitungan
Tabel 5.10
Tabel Perhitungan (
Tabel 5.11
Tabel Perhitungan
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
................................................................ 57
.......................................................... 58
) 2 ..................................................................... 60
..................................................................................... 60 ) 2 ...................................................................... 61
...................................................................................... 61
xx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 1
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 diubahubah 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
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).
5
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 modelmodel 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 alternatifalternatif 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). Nilainilai matriks keputusan akan di normalisasikan untuk mendapatkan relative performance dari matriks DM melalui persamaan (2) di bawah ini: ------------------------------(2) √∑
xij
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 ( elemen dari setiap kolom oleh bobot (
dikalikan dengan setiap
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
membedakan semua baris data (row) dalam tabel secara unik. Ada empat macam key pada pada basis data, yaitu :
yang
dapat
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
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
17
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
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.
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
4.2.1 Use Case Login <
> Kelola Data Kecamatan Input Data Kecamatan
Menghapus Data Kecamatan
Kelola Data Desa
Input Data Desa Mengupdate Data Desa
Menghapus Data Desa Mereset tabel Desa
Seksi Bantuan Korban Bencana
Kelola Nilai Bobot Kriteria Mengupdate bobot kriteria
Kelola Nilai Alternative
Input Nilai Alternative Mengupdate nilai Alternative
Menghapus Nilai Alternative Mereset tabel Alternative
LOGOUT
Gambar 4.1 Use case diagram 4.2.2 Narasi Use Case 1. Nama use case Aktor
: Verifikasi Login : 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 username dan password benar.
jika
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
2. Nama use case Aktor
: Input data kecamatan : 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 Aktor
: Mereset tabel : 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 Aktor
: Menghapus data kecamatan : 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 kecamatan yang terpilih.
data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
5. Nama use case Aktor
: Input data desa : 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 Aktor
: Mengupdate data desa : 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 Aktor
: Menghapus data desa : 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 Aktor
: Mengupdate nilai Bobot Kriteria : 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 Aktor
: Input Nilai Alternatif : 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 Aktor
: Mengupdate nilai Alternatif : 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 Aktor
: Menghapus nilai Alternatif : 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 Aktor
: Logout : 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 masingmasing alternatif
Bobot Kriteria (Wj)
Matriks Keputusan (Xij) Perbaiki bobot kriteria (Normalisasi Matriks Keputusan (Rij)) Menjumlahkan nilai setiap kolom
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 masingmasing A+ dan A(Kedekatan Relatif (Ci)) Jarak separasi negatif dibagi dengan jarak separasi positif dan negatif Selesai
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 Sistem
1.Akses
2.Pengelolaan data
1.1Login
2.1Input daerah distribusi
1.2Logout
2.2Input data klasifikasi
3.Analisis Sistem 3.1Kriteria 3.2Analisis Algoritma 3.3Prioritas daerah distribusi 3.4Alokasi air bersih
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29 Data Kecamatan Data Desa
Seksi Bantuan Korban Bencana
Nilai Bobot Kriteria Nilai Alternative
Sistem Pendukung Penentuan Keputusan Pengadaan Air Bersih
Informasi Hasil Keputusan
Gambar 4.4 Diagram konteks 4.3.4
DFD level 1 Berikut DFD (Data Flow Diagram) level 1 dalam sistem ini. Gambar 4.5 1 Kelola Data Kecamatan
Data Kecamatan
Seksi Bantuan Korban Bencana
Data Desa
Desa
Data nilai bobot kriteria
Kriteria
Alternative
Gambar 4.5 DFD level 1
Data Desa
3 Kelola Data Kriteria
4 Perhitungan TOPSIS
Data Alternative
Kecamatan
Data nilai bobot kriteria
Hasil alokasi air bersih
Data Desa
Data nilai bobot kriteria
2 Kelola Data Desa
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
ID_Kecamatan, Nama_Kecamatan
P.1.1 P.1.1 Input Input Data Data
Data Kecamatan
Seksi Seksi Bantuan Bantuan Korban Korban Bencana Bencana
Kecamatan ID_Kecamatan
Data Kecamatan
P.1.3 P.1.3 Delete Delete Data Data
Gambar 4.6 DFD level 2 proses 1 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 P.2.1 Input Input Data Data ID_Desa, Nama_Desa, ID_Kecamatan ID_Desa, Nama_Desa, ID_Kecamatan
Desa
ID_Desa, ID_Kecamatan
P.2.2 P.2.2 Update Update Data Data
Data Desa Data Desa baru
Seksi Seksi Bantuan Bantuan Korban Korban Bencana Bencana
Data Desa
P.2.3 P.2.3 Delete Delete Data Data
Gambar 4.7 DFD level 2 proses 2 4.3.5.3 DFD level 2 Proses 3 Berikut DFD (Data Flow Diagram) level 2 proses 3 dalam sistem ini. Gambar 4.8 Kriteria
ID_Kriteria, Bobot
P.3.1 P.3.1 Update Update Data Data Nilai Nilai Bobot Bobot
Data Nilai Bobot Kriteria
Gambar 4.8 DFD level 2 proses 3
Seksi Seksi Bantuan Bantuan Korban Korban Bencana Bencana
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 Desa
Kriteria P.4.1 P.4.1 Ambil Ambil Data Data
ID_Desa
ID_Kriteria
Alternative ID_Desa, ID_Kriteria, Nilai
P.4.2 P.4.2 Matriks Matriks Keputusan Keputusan
P.4.3 P.4.3 Normalisasi Normalisasi Matriks Matriks
Nilai Matriks Keputusan
Nilai Normalisasi Matriks
P.4.5 P.4.5 Kedekatan Kedekatan Relatif Relatif
Nilai Jarak Separasi
P.4.4 P.4.4 Solusi Solusi Ideal Ideal
Nilai Kedekatan Relatif
P.4.6 P.4.6 Perangkingan Perangkingan
Nilai hasil ranking
P.4.7 P.4.7 Pengalokasian Pengalokasian
Informasi jumlah alokasi debit air Seksi Seksi Bantuan Bantuan Korban Korban Bencana Bencana
Gambar 4.9 DFD level 2 proses 4 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
Kecamatan, Desa, Kriteria. Berikut ER Diagram dalam aplikasi NetBeans, terdapat pada gambar 4.10 ID_Kecamatan
1
Kecamatan
Memiliki
N
ID_Desa
Nama_Kecamatan Desa Nama_Desa
ID_Kriteria
N
Memiliki
N
Kriteria
Nama_Kriteria
Nilai
4.4.2
Bobot
Gambar 4.10 Entity Relationship Diagram 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)
Alternative Kriteria - ID_Kriteria : varchar (25) (PK) - Nama_Kriteria : varchar (25) - Bobot : varchar (25)
- 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
PK
Nama Field
Tipe Data
Ukuran
Username
Varchar
25
Keterangan 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
PK
Nama Field
Tipe Data
Ukuran
Keterangan
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
PK
Nama Field
Tipe Data
Ukuran
Keterangan
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
PK
Nama Field
Tipe Data
Ukuran
Keterangan
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
FK
Nama Field
Tipe Data
Ukuran
Keterangan
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
File || Analisa Sistem || Logout Sistem Penentuan Keputusan Distribusi Air Bersih
Gambar 4.12 Halaman Utama Gambar 3.4 Form Utama
File || Analisa Sistem || Logout ID_Kriteria
Nama Kriteria
Bobot
Edit Bobot
Gambar 4.13 Kriteria File || Analisa Sistem || Logout Id Desa Kecamatan Nama Desa Tambah
Reset
Gambar 4.14 Desa File || Analisa Sistem || Logout Nama Desa Kriteria Nilai Simpan
Nama Desa
Kriteria
Nilai
Gambar 4.15 Alternative
Kembali
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).
File || Analisa Sistem || Logout Matriks Ternormalisasi
Perankingan Nama Desa prioritas
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:
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 ( sebagai:
). Bobot setiap atribut kriteria diberikan
= [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) √∑
xij
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
xij
2
= hasil kuadrat unsur-unsur dari matriks yang berkaitan dengan desa i terhadap kriteria j
√∑
xij
2
= hasil akar dari seluruh jumlahan hasil kuadrat unsur-unsur dari matriks nama desa dari m ke i terhadap kriteria j
Mendapatkan nilai xij 2 : Tabel 4.19 Tabel nilai xij 2 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 xij 2 tiap kriteria: Tabel 4.20 Tabel akar dari seluruh jumlahan xij 2 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 Gemolong
KK
12/47,634 50/117,4734= =0,2519
Banyurip
0,4256
30/47,634 80/117,4734= =0,6298
Gawan
JIWA
0,681
35/47,634 70/117,4734= =0,7347
0,5958
TANGKI
DUKUH
4/7,549=
2/4,69=
0,5298
0,4264
4/7,549=
3/4,69=
0,5298
0,6396
5/7,549=
3/4,69=
0,662
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=
2x0,4256=
5x0,5298=
3x0,4264=
Banyurip
1,2595 5x0,6298=
0,8512 2x0,681=
2,649 5x0,5298=
1,2792 3x0,6396=
Gawan
3,149 5x0,7347=
1,362 2x0,5958=
2,649 5x0,662=
1,9188 3x0,6396=
3,687
1,1916
3,31
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
= 5,8927
0,2609
0,436
DUKUH
Gemolong 0,409
Banyurip 0
0,2894
0,436
0
Gawan 0
Mendapatkan nilai (
0
0,02903
0
)2
Tabel 4.25 Tabel Nilai ( KK
JIWA
)2
TANGKI
DUKUH
Gemolong =0
0
0
0
Banyurip 3,57021
0 0,2609
0,409
Gawan 0,1158 5,8927
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 √
=0 = 2,6454
Banyurip
√
√
= 2,0591 = 0,8517 √
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
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
.
√∑
xij
2
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]);}}
===========================================================
42
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; } } } }
===========================================================
Menghitung
√∑
(
)
dengan i=1,2,3,……..m
√∑
(
)
dengan i=1,2,3,……..m
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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Nama Desa Bagor Baleharjo Banyurip Cepoko Dawung Dukuh Galeh Gebang Gemantar Gesi Gilirejo Gilirejo Baru Jekawal Jenar Jono Karanganom Karangtalun Katelan Kedawung Ngargotirto Ngebung Ngepringan Ngrombo Pare Poleng Sambiduwur
KK 169 239 1085 198 162 428 125 184 226 95 217 440 350 215 120 64 109 98 130 448 38 520 304 200 97 109
JIWA 563 1003 3275 292 642 1171 503 736 1076 370 1037 1523 1050 938 534 301 400 467 353 2072 120 1688 1444 620 425 436
TANGKI 12 12 35 16 12 18 30 9 16 8 25 36 13 18 6 12 9 24 17 18 4 24 32 18 16 8
DUKUH 2 2 4 2 2 3 3 1 1 1 3 3 2 3 1 1 2 2 2 2 1 4 3 1 2 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
27 28 29 30
Sigit Slendro Tempelrejo Tlogotirto
29 181 56 100
110 666 188 374
6 16 14 18
1 2 1 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:
√∑
xij
2
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 xij 2 didapat: xij
2
Tabel 5.2 Tabel Perhitungan xij 2 Nama Desa
KK
JIWA
TANGKI
DUKUH
Bagor
168 x 169 =
563 x 563 =
12 x 12 = 144
2x2=4
28561
316969
Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan yang sama. 1 2 3 4 5 6 7 8 9
Nama Desa Bagor Baleharjo Banyurip Cepoko Dawung Dukuh Galeh Gebang Gemantar
KK 28561 57121 1177225 39204 26244 183184 15625 33856 51076
JIWA 316969 1006009 10725625 85264 412164 1371241 253009 541696 1157776
TANGKI 144 144 1225 256 144 324 900 81 256
DUKUH 4 4 16 4 4 9 9 1 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Gesi Gilirejo Gilirejo Baru Jekawal Jenar Jono Karanganom Karangtalun Katelan Kedawung Ngargotirto Ngebung Ngepringan Ngrombo Pare Poleng Sambiduwur Sigit Slendro Tempelrejo Tlogotirto
9025 47089 193600 122500 46225 14400 4096 11881 9604 16900 200704 1444 270400 92416 40000 9409 11881 841 32761 3136 10000
136900 1075369 2319529 1102500 879844 285156 90601 160000 218089 124609 4293184 14400 2849344 2085136 384400 180625 190096 12100 443556 35344 139876
64 625 1296 169 324 36 144 81 576 289 324 16 576 1024 324 256 64 36 256 196 324
1 9 9 4 9 1 1 4 4 4 4 1 16 9 1 4 1 1 4 1 4
Memperoleh nilai akar dari subtotal Xij √∑
xij
2
Dari ke 30 desa hasil xij 2 tersebut maka dicari masing – masing total setiap 2 2 xij , kemudian diambil nilai akar dari nilai xij tersebut. Berikut hasil yang
didapat: Tabel 5.3 Tabel akar dari seluruh jumlahan xij 2 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 Bagor
KK 169/1661.45 = 0.101718528
JIWA 563/5735.016 = 0.098169
TANGKI 12/102.343 = 0.11725
DUKUH 2/12 = 0.16667
Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan yang sama. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Nama Desa Bagor Baleharjo Banyurip Cepoko Dawung Dukuh Galeh Gebang Gemantar Gesi Gilirejo Gilirejo Baru Jekawal Jenar Jono Karanganom Karangtalun Katelan Kedawung Ngargotirto Ngebung Ngepringan Ngrombo Pare Poleng Sambiduwur Sigit Slendro Tempelrejo
KK 0.101718528 0.143850462 0.653044986 0.119173186 0.097505334 0.257606686 0.075235597 0.1107468 0.13602596 0.057179054 0.130608997 0.264829303 0.210659673 0.129405228 0.072226174 0.038520626 0.065605441 0.058984708 0.078245021 0.269644381 0.022871622 0.312980086 0.182972973 0.120376956 0.058382824 0.065605441 0.017454659 0.108941145 0.033705548
JIWA 0.098169 0.174891 0.571053 0.050915 0.111944 0.204184 0.087707 0.128334 0.187619 0.064516 0.180819 0.265562 0.183086 0.163557 0.093112 0.052485 0.069747 0.08143 0.061552 0.361289 0.020924 0.294332 0.251787 0.108108 0.074106 0.076024 0.01918 0.116129 0.032781
TANGKI 0.11725 0.11725 0.34199 0.15634 0.11725 0.17588 0.29313 0.08794 0.15634 0.07817 0.24428 0.35176 0.12702 0.17588 0.05863 0.11725 0.08794 0.23451 0.16611 0.17588 0.03908 0.23451 0.31268 0.17588 0.15634 0.07817 0.05863 0.15634 0.1368
DUKUH 0.16667 0.16667 0.33333 0.16667 0.16667 0.25 0.25 0.08333 0.08333 0.08333 0.25 0.25 0.16667 0.25 0.08333 0.08333 0.16667 0.16667 0.16667 0.16667 0.08333 0.33333 0.25 0.08333 0.16667 0.08333 0.08333 0.16667 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 KK (w1)
JIWA (w2)
Bobot TANGKI (W3)
5
2
5
DUKUH (W4) 3
Dari 30 desa yang tercantum untuk mendapat nilai normalisasi terbobot, maka nilai hasil normalisasi di kalikan dengan nilai bobot yang tersedia, berikut penyelesaiannya :
Nama Desa Bagor
Tabel 5.6 Tabel matriks normalisasi terbobot KK JIWA TANGKI
DUKUH
0.101718528 x 5 =
0.098169 x 2 =
0.11725 x 5 =
0.16667 x 3 =
0.50859
0.19634
0.5863
0. 5
Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan yang sama.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Nama Desa Bagor Baleharjo Banyurip Cepoko Dawung Dukuh Galeh Gebang Gemantar Gesi Gilirejo Gilirejo Baru Jekawal Jenar Jono Karanganom Karangtalun Katelan
KK 0.508592639 0.719252312 3.265224931 0.595865932 0.487526672 1.288033429 0.376177987 0.553733998 0.680129801 0.28589527 0.653044986 1.324146516 1.053298365 0.647026138 0.361130868 0.19260313 0.328027205 0.294923542
JIWA 0.196338 0.349781 1.142107 0.101831 0.223888 0.408369 0.175414 0.256669 0.375239 0.129032 0.361638 0.531123 0.366172 0.327113 0.186224 0.104969 0.139494 0.162859
TANGKI 0.58627 0.58627 1.70994 0.78169 0.58627 0.8794 1.46567 0.4397 0.78169 0.39084 1.22139 1.7588 0.63512 0.8794 0.29313 0.58627 0.4397 1.17253
DUKUH 0.5 0.5 1 0.5 0.5 0.75 0.75 0.25 0.25 0.25 0.75 0.75 0.5 0.75 0.25 0.25 0.5 0.5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59
19 20 21 22 23 24 25 26 27 28 29 30
Kedawung Ngargotirto Ngebung Ngepringan Ngrombo Pare Poleng Sambiduwur Sigit Slendro Tempelrejo Tlogotirto
0.391225107 1.348221907 0.114358108 1.564900428 0.914864866 0.60188478 0.291914118 0.328027205 0.087273293 0.544705726 0.168527738 0.30094239
0.123103 0.722579 0.041848 0.588664 0.503573 0.216216 0.148212 0.152048 0.038361 0.232257 0.065562 0.130427
0.83054 0.8794 0.19542 1.17253 1.56338 0.8794 0.78169 0.39084 0.29313 0.78169 0.68398 0.8794
0.5 0.5 0.25 1 0.75 0.25 0.5 0.25 0.25 0.5 0.25 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 MAX MIN
KK 3.265224931 0.087273293
JIWA 1.142107 0.038361
TANGKI 1.7588 0.19542
DUKUH 1 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 1
KK
JIWA
TANGKI
DUKUH
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: √∑(
1
)
Tabel 5.9 Tabel Perhitungan Nama Desa Solusi Ideal (+) √ Bagor 3.180933
=
Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan yang sama. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Bagor Baleharjo Banyurip Cepoko Dawung Dukuh Galeh Gebang Gemantar Gesi Gilirejo Gilirejo Baru Jekawal Jenar Jono Karanganom Karangtalun Katelan Kedawung Ngargotirto Ngebung Ngepringan Ngrombo Pare Poleng Sambiduwur Sigit
3.180933 2.955434 0.048856 3.067963 3.19117 2.298587 3.070751 3.230899 2.964464 3.512339 2.789969 2.050265 2.647139 2.890506 3.472485 3.529021 3.409162 3.221075 3.226438 2.20777 3.761008 1.881784 2.456137 3.047376 3.321618 3.470035 3.745438
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61
28 29 30
Slendro Tempelrejo Tlogotirto
3.071448 3.530754 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 : (
Nama Desa 1
)2
Tabel 5.10 Tabel Perhitungan ( KK JIWA
)2
TANGKI
DUKUH
= 0.15276
= 0.0625
Bagor = 0.17751
= 0.02496
Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan yang sama. Setelah setiap alternatif di hitung. Selanjutnya mencari nilai akarnya, berikut penyelesaiannya:
√∑(
1
)
Tabel 5.11 Tabel Perhitungan Nama Desa Solusi Ideal (-) √ Bagor = 0.6463 Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan yang sama. 0.64632 1 Bagor 0.84359 2 Baleharjo 3.76482 3 Banyurip 0.81786 4 Cepoko 0.64022 5 Dawung 1.51544 6 Dukuh 1.40206 7 Galeh 0.57001 8 Gebang 0.89926 9 Gemantar 0.29302 10 Gesi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Gilirejo Gilirejo Baru Jekawal Jenar Jono Karanganom Karangtalun Katelan Kedawung Ngargotirto Ngebung Ngepringan Ngrombo Pare Poleng Sambiduwur Sigit Slendro Tempelrejo Tlogotirto
1.31423 2.11348 1.13864 1.05571 0.3262 0.41023 0.4363 1.03724 0.75196 1.60887 0.02731 2.00087 1.73857 0.87423 0.67835 0.33027 0.09771 0.80811 0.49601 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 1
Kedekatan Relatif
Bagor = 0.168872 Kemudian seterusnya berlanjut pada masing – masing desa dengan perhitungan yang sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Bagor Baleharjo Banyurip Cepoko Dawung Dukuh Galeh Gebang Gemantar Gesi Gilirejo Gilirejo Baru Jekawal Jenar Jono Karanganom Karangtalun Katelan Kedawung Ngargotirto Ngebung Ngepringan Ngrombo Pare Poleng Sambiduwur Sigit Slendro Tempelrejo Tlogotirto
0.168872 0.222054 0.987189 0.210474 0.167099 0.397333 0.313463 0.149968 0.232745 0.077002 0.320217 0.507592 0.300768 0.267525 0.085873 0.10414 0.11346 0.24358 0.189011 0.421541 0.007209 0.515335 0.414468 0.222927 0.169588 0.086906 0.025425 0.2083 0.123179 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 2 3 4
Banyurip Ngepringan Gilirejo Baru Ngargotirto
0.98719 0.51534 0.50759 0.42154
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Ngrombo Dukuh Gilirejo Galeh Jekawal Jenar Katelan Gemantar Pare Baleharjo Cepoko Slendro Kedawung Tlogotirto Poleng Bagor Dawung Gebang Tempelrejo Karangtalun Karanganom Sambiduwur Jono Gesi Sigit Ngebung
0.41447 0.39733 0.32022 0.31346 0.30077 0.26752 0.24358 0.23274 0.22293 0.22205 0.21047 0.20830 0.18901 0.18849 0.16959 0.16887 0.16710 0.14997 0.12318 0.11346 0.10414 0.08692 0.08587 0.07700 0.02542 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 1
Banyurip
Pengalokasian (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 Gesi Sigit Ngebung
2019.32212 1810.734869 597.7776673 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
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.
67
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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-sistembasis.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.
68
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
Data daerah kekurangan air bersih yang sudah masuk Kabupaten Sragen 2015 LOKASI
No KECAMATAN
DESA
DUKUH
K.K
JIWA
2
3 Gilirejo baru (3 dukuh)
4 Dondong Barat, 01 A, 01 B Sumberejo 04, 05, 06, 07 Gondang Legi 8A, 8B, 9, 10
5
6
1 1
MIRI (3 desa)
Gilirejo (3 dukuh)
Bagor (2 dukuh)
2
JUMLAH
TANGEN
Ngrombo (3 dukuh)
(6 desa)
Dukuh (3 dukuh)
Jekawal (2 dukuh)
Katelan (2 dukuh)
Galeh (3 dukuh)
70
292
170
564
200 440
667 1523
Pringanom, 14 Gunungsono Sendangrejo, 14
56 94 67 217
257 497 283 1037
Cabe 14, 15, 17 Sidorejo, 15
126 43
421 142
169
563
61
210
99
400
144 304
834 1444
113 104 211 428
365 313 493 1171
245
735
105 350
315 1050
Brak Bunder Grabagan
43 55 98
211 256 467
Barong
51
221
Getas, 01 Sanggrahan, 03, 04 Ngrombo, 11, 12B, 13
Dukuh Mangir Glagah Silibau, 1, 2, 3, 4, 5, 6, 7 Ngrancang, 14, 15, 16
69
KET 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70
Plosorejo Kayen Sigit (1 dukuh) 3
JENAR (5 desa)
Banyurip (4 dukuh)
Jenar (3 dukuh)
Ngepringan (4 dukuh)
Dawung (2 dukuh)
4
MONDOKAN (4 desa)
Tempelrejo (1 dukuh) Kedawung (2 dukuh)
5
SBLAWANG (3 desa)
45 29 125
172 110 503
29
110
29
110
366 125 544 50 1085
1,085 364 1,626 200 3275
102 65 48 215
398 280 260 938
92
420
258 60 110 520
758 180 330 1688
80 82
217 425
162
642
Bringinan
56 56
188 188
Kalidoro Tlebuk
85 45 130
221 132 353
200 200
620 620
226
1,076
226
1076
Kaliwatu, 07 Temon, 03
40 60 100
176 198 374
Jaten, 24, 25
96
136
Singget Gobang 3, 4, 5, 6 Betek 11, 12, 13 Jarak, 2, 20, 21 Sempu, 16
Jenar, 01, 02 Godang, 17 Dukuh, 12
Bakpo, 12, 13 Bago, 15, 16, 17, 18 Sendangrejo, 14 Ngampo, 2, 3
Winong, 02 Bromo Asri, 23
Pare (1 dukuh)
Dk, Bulakrejo, 16, 17, 18
Gemantar (1 dukuh)
Gemantar, 9, 20, 21, 22, 30
Tlogotirto (2 dukuh)
Cepoko (2 dukuh)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71
Gagan, 20, 21 Ngargotirto (2 dukuh)
6
GESI (3 desa)
Poleng (2 dukuh)
Slendro (2 dukuh)
7
SUKODONO (3 desa)
9
KALIJAMBE (1 desa)
Jumbleng, 20, 21, 22 Ora-ora Ombo, 13, 14, 15 Macanmati, 4, 5, 6
Gebang (1 dukuh)
Gebang, 4, 5, 9, 23
Karanganom (1 dukuh)
TANON (3 desa)
Poleng, 08, 09 Ngreco, 12
Gesi (1 dukuh)
Baleharjo (2 dukuh)
8
Sendangsono, 1A, 1B Kowang, 5A, 5B, 6B, 6C, 7A, 7B, 8A, 8B
Sambiduwur (1 dukuh)
Mangen, 25, 26 Gosek, 17, 20
Tisan
Karangtalun
Karangtalun (2 dukuh)
Karangtalun, 10, 22 Mojosari, 6
Jono (1 dukuh)
Gondang Panjen, 11, 12
Ngebung (1 dukuh)
Mlandingan
102 198
156 292
99
438
349
1634
448
2072
67 30 97
275 150 425
99
340
82 181
326 666
95
370
95
370
184 184
736 736
136 103 239
556 447 1003
64
301
64
301
109 109
436 436
74 26 100
296 104 400
120
534
120
534
38
120
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 1
2
3
KECAMATAN DESA MIRI Gilirejo baru (3 desa)
TANGEN (6 desa)
JENAR (5 desa)
DUKUH Dondong Barat, 01 A, 01 B Sumberejo 04, 05, 06, 07 Gondang Legi 8A, 8B, 9, 10
Gilirejo
Pringanom, 14 Gunungsono Sendangrejo, 14
Bagor
Cabe 14, 15, 17 Sidorejo, 15
Ngrombo
Getas, 01 Sanggrahan, 03, 04 Ngrombo, 11, 12B, 13
Dukuh
Dukuh Mangir Glagah
Jekawal
Silibau, 1, 2, 3, 4, 5, 6, 7 Ngrancang, 14, 15, 16
Katelan
Brak Bunder Grabagan
Galeh
Barong Plosorejo Kayen
Sigit
Singget
Banyurip
Gobang 3, 4, 5, 6 Betek 11, 12, 13 Jarak, 2, 20, 21 Sempu, 16
Jenar
Jenar, 01, 02 Godang, 17
JUMLAH TANGKI 12 12 12 36 11 7 7 25 6 6 12 12 10 10 32 6 6 6 18 5 8 13 14 10 24 10 10 10 30 6 6 9 9 9 8 35 6 6
KET
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74
Dukuh, 12
4
5
6
7
MONDOKAN (4 desa)
SBLAWANG (3 desa)
GESI (3 desa)
SUKODONO (3 desa)
Ngepringan
Bakpo, 12, 13 Bago, 15, 16, 17, 18 Sendangrejo, 14 Ngampo, 2, 3
Dawung
Winong, 02 Bromo Asri, 23
Tempelrejo
Bringinan
Kedawung
Kalidoro Tlebuk
Pare
Dk, Bulakrejo, 16, 17, 18
Gemantar
Gemantar, 9, 20, 21, 22, 30
Tlogotirto
Kaliwatu, 07 Temon, 03
Cepoko
Jaten, 24, 25 Gagan, 20, 21
Ngargotirto
Sendangsono, 1A, 1B Kowang, 5A, 5B, 6B, 6C, 7A, 7B, 8A, 8B
Poleng
Poleng, 08, 09 Ngreco, 12
Slendro
Jumbleng, 20, 21, 22 Ora-ora Ombo, 13, 14, 15
Gesi
Macanmati, 4, 5, 6
Gebang
Gebang, 4, 5, 9, 23
Baleharjo
Mangen, 25, 26 Gosek, 17, 20
Karanganom
Tisan
6 18 6 10 4 4 24 6 6 12 14 14 10 7 17 18 18 16 16 10 8 18 8 8 16 6 12 18 10 6 16 8 8 16 8 8 9 9 6 6 12 12 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 75 8
9
TANON (3 desa)
KALIJAMBE (1 desa)
Sambiduwur
Karangtalun
Karangtalun
Karangtalun, 10, 22 Mojosari, 6
Jono
Gondang Panjen, 11, 12
Ngebung
Mlandingan JUMLAH
8 8 6 3 9 6 6 4 4 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 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 listKecamatan = new ArrayList(); 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 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 listDesa = new ArrayList(); 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 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 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 listDesa = new ArrayList();
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 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 listkriteria = new ArrayList(); 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 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 listAlternative = new ArrayList(); 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(); }//
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); }