SISTEM PENDUKUNG KEPUTUSAN PENERIMA BANTUAN BEDAH …eprints.unisbank.ac.id/4470/1/SKRIPSI TRI...

119
SISTEM PENDUKUNG KEPUTUSAN PENERIMA BANTUAN BEDAH RUMAH PADA DINAS PERUMAHAN DAN KAWASAN PERMUKIMAN MENGGUNAKAN METODE TOPSIS Tugas Akhir disusun untuk memenuhi syarat Mencapai gelar Kesarjanaan Komputer pada Program Studi Teknik Informatika Jenjang Program Strata-1 oleh: TRI RAHMAWATI 13.01.63.0010 FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG 2017

Transcript of SISTEM PENDUKUNG KEPUTUSAN PENERIMA BANTUAN BEDAH …eprints.unisbank.ac.id/4470/1/SKRIPSI TRI...

SISTEM PENDUKUNG KEPUTUSAN PENERIMA BANTUAN BEDAH RUMAH PADA DINAS PERUMAHAN DAN KAWASAN PERMUKIMAN MENGGUNAKAN METODE TOPSIS Tugas Akhir disusun untuk memenuhi syarat Mencapai gelar Kesarjanaan Komputer pada Program Studi Teknik Informatika Jenjang Program Strata-1

oleh: TRI RAHMAWATI 13.01.63.0010

FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG 2017

ii

PERNYATAAN KESIAPAN UJIAN SKRIPSI

Saya, TRI RAHMAWATI, dengan ini menyatakan bahwa Laporan Skripsi yang berjudul: SISTEM PENDUKUNG KEPUTUSAN PENERIMA BANTUAN BEDAH RUMAH PADA DINAS PERUMAHAN DAN KAWASAN PERMUKIMAN MENGGUNAKAN METODE TOPSIS Adalah benar hasil karya saya dan belum pernah diajukan sebagai karya ilimiah, sebagian atau seluruhnya, atas nama saya atau pihak lain. (TRI RAHMAWATI) NIM : 13.01.63.0010 Disetujui oleh Pembimbing Kami setuju Laporan tersebut diajukan untuk Ujian Skripsi Semarang : 02 Agustus 2017 (Jati Sasongko, S.Kom, M.Cs ) Pembimbing

iii

iv

HALAMAN PENGESAHAN

Telah dipertahankan di depan tim dosen penguji Tugas Akhir Fakultas Teknologi Informasi, Universitas STIKUBANK (UNISBANK) Semarang dan diterima sebagai salah satu syarat guna menyelesaikan jenjang Program Strata 1, Program Studi Teknik Informatika. Semarang : 02 Agustus 2017 Ketua (JATI SASONGKO, S.Kom, M.Cs) Sekretaris (FATKHUL AMIN, S.T, M.Kom) Anggota (TEGUH KHRISTIANTO, S.Kom, M.Kom) MENGETAHUI : UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG Fakultas Teknologi Informasi Dekan Dr. Drs. Yohanes Suhari, M.MSI

v

MOTTO DAN PERSEMBAHAN MOTTO 1. Kesuksesan adalah hasil usaha kerja keras, ketekunan, kesabaran, kebenaran dalam tindak dan berfikir. Akhirnya menyerahkan segala sesuatu Allah SWT. 2. Jika engkau menginginkan kebahagiaan dunia kuasailah ilmu dan jika engkau menginginkan kebahagiaan akherat maka kuasailah ilmu dan bila mengingikan kebahagiaan keduanya maka kuasailah ilmu 3. Semua yang ada di dunia ini tak ada yang abadi. Jadi manfaatkan kesempatan yang ada sebelum kamu menyesalinya 4. Optimis dalam hidup dan pekerjaan 5. Ilmu yang bermanfaat adalah ilmu yang diamalkan 6. Hidup bukan hanya teori tapi perjuangan yang tak pernah henti PERSEMBAHAN 1. Bapak dan Ibu, yang telah memberikan kasih sayang serta doa dan mengajarkan arti kehidupan yang sebenarnya 2. Teman-teman Teknik Informatika yang selalu memberikan semangat sehingga skripsi ini dapat terselesaikan sesuai harapan. 3. Sahabat–sahabat dan saudara –saudara yang memberi semangat.

vi

FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG Program Studi : Teknik Informatika Tugas Akhir Sarjana Komputer Semester Genap Tahun 2017 SISTEM PENDUKUNG KEPUTUSAN PENERIMA BANTUAN BEDAH RUMAH PADA DINAS PERUMAHAN DAN KAWASAN PERMUKIMAN MENGGUNAKAN METODE TOPSIS TRI RAHMAWATI NIM : 13.01.63.0010 Abstrak Dinas Perumahan dan Kawasan Permukiman Kota Semarang merupakan instansi yang didirikan oleh Pemerintah Kota Semarang mempunyai visi untuk mewujudkan penataan ruang Kota Semarang yang terpadu, terkendali dan dinamis menuju kota metropolitan diantaranya dengan melalui program bantuan bedah rumah yang rutin diadakan tiap tahun. Program bantuan bedah rumah harus diberikan kepada penerima yang layak dan pantas untuk mendapatkannya. Metode pengembangan sistem yang digunakan dalam penelitian ini waterfall dengan tahapan permulaan sistem, analisis sistem, perancangan sistem dengan menggunakan DFD dan ERD, implementasi sistem menggunakan PHP dan MySQL, kriteria penilaian meliputi luas lantai, kondisi dinding, kondisi atap, kondisi lantai, fasilitas MCK, kondisi pondasi, kondisi rumah dengan menggunakan metode TOPSIS. Hasil dalam penelitian ini adalah hasil rekomendasi sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS adalah penerima bantuan yang memiliki nilai akhir tertinggi yang diberi warna hijau muda. Kata Kunci Sistem Pendukung Keputusan, Bedah Rumah, TOPSIS, PHP, MySQL Semarang : 02 Agustus 2017 Pembimbing (Jati Sasongko, S.Kom, M.Cs )

vii

KATA PENGANTAR Dengan memanjatkan puji syukur kehadirat Allah SWT. yang telah melimpahkan segala rahmat, hidayah dan inayah-Nya kepada penulis sehingga laporan tugas akhir dengan judul “Sistem Pendukung Keputusan Penerima Bantuan Bedah Rumah Pada Dinas Perumahan Dan Kawasan Permukiman Menggunakan Metode TOPSIS” dapat penulis selesaikan sesuai dengan rencana karena dukungan dari berbagai pihak yang tidak ternilai besarnya. Oleh karena itu penulis menyampaikan terimakasih kepada: 1. Dr. H. Hasan Abdul Rozak, S.H., C.N selaku Rektor Universitas Stikubank Semarang. 2. Dr. Drs. Yohanes Suhari, M.MSI selaku Dekan Fakultas Teknologi Informasi. 3. Jati Sasongko, S.Kom, M.Cs selaku Ketua Program Studi Teknik Informatika. 4. Jati Sasongko, S.Kom, M.Cs selaku Pembimbing yang telah membantu dan memberikan bimbingan serta pengarahan dalam penelitian ini. 5. Dosen-dosen pengampu di Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Stikubank Semarang yang telah memberikan ilmu dan pengalamannya masing-masing, sehingga penulis dapat mengimplementasikan ilmu yang telah disampaikan. Semoga Allah SWT memberikan balasan yang lebih besar kepada beliau-beliau, dan pada akhirnya penulis berharap bahwa penulisan laporan tugas akhir ini dapat bermanfaat dan berguna sebagaimana fungsinya.

Semarang, Agustus 2017 Penulis

viii

DAFTAR ISI HALAMAN JUDUL ................................................................................. i HALAMAN PERSETUJUAN ................................................................... ii SURAT PERNYATAAN KEASLIAN TUGAS AKHIR / SKRIPSI .......... iii HALAMAN PENGESAHAN .................................................................... iv MOTTO DAN PERSEMBAHAN .............................................................. v ABSTRAKSI ............................................................................................. vi KATA PENGANTAR ............................................................................... vii DAFTAR ISI ............................................................................................. viii DAFTAR TABEL ..................................................................................... xi DAFTAR GAMBAR ................................................................................. xii BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ................................................ 1 1.2 Perumusan Masalah ...................................................... 4 1.3 Batasan Masalah ........................................................... 4 1.4 Tujuan dan Manfaat Penelitian ...................................... 4 1.5 Metodologi Penelitian ................................................... 6 1.5.1. Objek Penelitian ................................................ 6 1.5.2. Metode Pengumpulan Data ................................ 6 1.5.3. Metode Pengembangan Sistem .......................... 7 1.6 Sistematika Penulisan ................................................... 8 BAB II TINJAUAN PUSTAKA 2.1 Pustaka Yang Terkait Dengan Penelitian ....................... 11 2.2 Perbedaan Penelitian Yang Dilakukan Dengan Penelitian Terdahulu ..................................................... 14 BAB III LANDASAN TEORI 3.1 Sistem Pendukung Keputusan (SPK) ............................. 16

ix

3.1.1. Tahapan Proses Pengambilan Keputusan ........... 17 3.1.2. Karakteristik dan Nilai Guna Sistem Pendukung Keputusan ......................................................... 18 3.1.3. Manfaat Sistem Pendukung Keputusan Bagi Pemakainya ....................................................... 19 3.1.4. Komponen-Komponen Sistem Pendukung Keputusan ......................................................... 20 3.2 Logika Fuzzy ................................................................ 23 3.2.1. Himpunan Fuzzy ............................................... 24 3.2.2. Fungsi Keanggotaan .......................................... 26 3.2.3. Technique For Order Preference by Similarity to Ideal Solution (TOPSIS) .................................... 30 3.3. Alat Bantu Perancangan Sistem..................................... 33 3.3.1. Data Flow Diagram ........................................... 33 3.3.2. Entity Relationship Diagram .............................. 34 3.4. PHP .............................................................................. 36 3.5. MySQL ......................................................................... 38 BAB IV ANALISA DAN PERANCANGAN SISTEM 4.1 Analisa Sistem .............................................................. 42 4.1.1. Analisa Permasalahan ........................................ 42 4.1.2. Analisa Kebutuhan Perangkat Keras .................. 43 4.1.3. Analisa Kebutuhan Perangkat Lunak ................. 44 4.1.4. Kriteria Penerimaan Bantuan Bedah Rumah ...... 44 4.2 Perancangan Sistem ...................................................... 47 4.2.1. Algoritma TOPSIS ............................................ 47 4.2.2. Diagram Konteks ............................................... 48 4.2.3. DFD Level 0 ..................................................... 48 4.2.4. ERD .................................................................. 49 4.2.5. Perancangan Database ....................................... 49 4.2.6. Perancangan Interface........................................ 51

x

BAB V IMPLEMENTASI SISTEM 5.1 Login ............................................................................ 56 5.2 Penerima Bantuan ......................................................... 57 5.3 Penilaian ....................................................................... 58 5.4 Rekomendasi ................................................................ 59 BAB VI HASIL PENELITIAN DAN PEMBAHASAN 6.1 Login ............................................................................ 62 6.2 Penerima Bantuan ......................................................... 63 6.3 Penilaian ....................................................................... 64 6.4 Rekomendasi ................................................................ 65 6.5 Perhitungan TOPSIS ..................................................... 67 BAB VII PENUTUP 7.1 Kesimpulan ................................................................... 75 7.2. Saran ............................................................................. 76 DAFTAR PUSTAKA LAMPIRAN

xi

DAFTAR TABEL Tabel 2.1. Perbedaan Penelitian .............................................................. 14 Tabel 3.1. DFD ...................................................................................... 33 Tabel 4.1. Kriteria Sistem ....................................................................... 44 Tabel 4.2. Luas Bangunan ...................................................................... 45 Tabel 4.3. Kondisi Dinding .................................................................... 45 Tabel 4.4. Kondisi Atap ......................................................................... 45 Tabel 4.5. Kondisi Lantai ....................................................................... 46 Tabel 4.6. Penghasilan ........................................................................... 46 Tabel 4.7. Kepemilikan Tanah ................................................................ 46 Tabel 4.8. Tabel Penerima ...................................................................... 50 Tabel 4.9. Tabel Nilai ............................................................................. 50 Tabel 4.10. Tabel Hasil ............................................................................ 51 Tabel 6.1. Data Penerima Bantuan Dinas Perumahan dan Kawasan Permukiman .......................................................................... 68 Tabel 6.2. Konversi ................................................................................ 68

xii

DAFTAR GAMBAR Gambar 3.1. Komponen SPK ............................................................... 22 Gambar 3.2. Himpunan Fuzzy Temperatur (°C) ................................... 25 Gambar 3.3. Representasi Linier Naik .................................................. 27 Gambar 3.4. Representasi Linier Turun ................................................ 27 Gambar 3.5. Representasi Kurva Segitiga ............................................ 28 Gambar 3.6. Representasi Kurva Trapesium ......................................... 28 Gambar 3.7. Representasi Kurva Bentuk Bahu ..................................... 29 Gambar 3.8. Simbol Entitas ................................................................. 35 Gambar 3.9. Simbol Relasi................................................................... 35 Gambar 3.10. Simbol Atribut ................................................................. 35 Gambar 4.1. Diagram Konteks ............................................................. 48 Gambar 4.2. DFD Level 0 .................................................................... 48 Gambar 4.3. ERD................................................................................. 49 Gambar 4.4. Halaman Login ................................................................ 52 Gambar 4.5. Perancangan Form Penerima Bantuan .............................. 53 Gambar 4.6. Perancangan Form Penilaian ............................................ 54 Gambar 4.7. Perancangan Rekomendasi ............................................... 55 Gambar 5.1. Login ............................................................................... 56 Gambar 5.2. Pesan Username atau Password Salah .............................. 57 Gambar 5.3. Penerima Bantuan ............................................................ 58 Gambar 5.4. Penilaian .......................................................................... 59 Gambar 5.5. Rekomendasi ................................................................... 60 Gambar 5.6. Cetak Rekomendasi ......................................................... 61 Gambar 6.1. Cuplikan Source Code Pengecekan Login ........................ 62 Gambar 6.2. Login ............................................................................... 62 Gambar 6.3. Cuplikan Source Code Simpan Data Penerima Bantuan ........................................................................... 63 Gambar 6.4. Penerima Bantuan ............................................................ 63 Gambar 6.5. Cuplikan Source Code Simpan Data Penilaian ................. 64

xiii

Gambar 6.6. Penilaian .......................................................................... 64 Gambar 6.7. Cuplikan Source Code Rekomendasi ............................... 66 Gambar 6.8. Rekomendasi ................................................................... 67

1

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Dewasa ini perkembangan teknologi informasi sudah sedemikian pesat. Perkembangan yang pesat tidak hanya teknologi perangkat keras dan perangkan lunak saja, tetapi metode komputasi juga ikut berkembang. Salah satu metode komputasi yang cukup berkembang saat ini adalah metode sistem pengambilan keputusan (Decisions Support System). Dalam teknologi informasi, sistem pengambilan keputusan merupakan cabang ilmu yang letaknya diantara sistem informasi dan sistem cerdas. Pada saat ini terjadi perubahan besar bagaimana para manajer menggunakan dukungan komputerisasi dalam pengambilan keputusan dengan menggunakan sistem pendukung keputusan. Sistem pendukung keputusan (SPK) digunakan sebagai alat bantu bagi para pengambil keputusan untuk memperluas kapabilitas para pengambil keputusan, namun tidak untuk menggantikan penilaian para pengambil keputusan (Kusumadewi, 2010:1). Pada prinsipnya keberadaan SPK, hanya sebagai sistem pendukung untuk pengambilan keputusan, bukan menggantikannya. Termasuk, pengambilan keputusan di dalam penerima bantuan bedah rumah pada Dinas Perumahan Dan Kawasan Permukiman Kota Semarang.

Dinas Perumahan dan Kawasan Permukiman Kota Semarang merupakan instansi yang didirikan oleh Pemerintah Kota Semarang

2

mempunyai visi untuk mewujudkan penataan ruang Kota Semarang yang terpadu, terkendali dan dinamis menuju kota metropolitan diantaranya dengan melalui program bantuan bedah rumah yang rutin diadakan tiap tahun. Program bantuan bedah rumah harus diberikan kepada penerima yang layak dan pantas untuk mendapatkannya.

Banyaknya masyarakat yang berhak menerima bantuan bedah rumah menjadikan Dinas Perumahan dan Kawasan Permukiman Kota Semarang harus sangat selektif untuk memberikan bantuan bedah rumah. Permasalahan yang sering muncul yaitu kurang tepatnya penyaluran bantuan bedah rumah terhadap masyarakat, misalnya masyarakat yang sebenarnya tidak layak mendapatkan bantuan bedah rumah tetapi mendapatkan bantuan bedah rumah, sebaliknya masyarakat yang berhak mendapatkan bantuan bedah rumah tetapi tidak mendapatkan bantuan bedah rumah.

Masalah subyektivitas dalam penerima bantuan bedah rumah merupakan hal yang hampir tidak dapat dihindari. Penilaian secara kuantitatif sering dianggap mengecewakan karena sulitnya mengukur parameter-parameter yang ada. Di lain pihak, Dinas Perumahan dan Kawasan Permukiman Kota Semarang membutuhkan proses pemilihan penerima bantuan bedah rumah yang rutin dan cepat sehingga dapat memberikan umpan balik dan perbaikan yang cepat di lingkungan Dinas Perumahan dan Kawasan Permukiman Kota Semarang.

Kriteria penerima program bedah rumah di Dinas Perumahan dan Kawasan Permukiman sesuai dengan Peraturan Walikota Semarang nomor

3

Kota Semarang nomor 13A tahun 2017 saat ini yaitu luas bangunan < 40 m², kondisi dinding, kondisi atap, kondisi lantai, penghasilan max 1,5 juta, kepemilikan tanah. Kriteria-kriteria tersebut yang akan dijadikan pertimbangan untuk menentukan penerima bantuan bedah rumah, untuk itu diperlukan suatu sistem pendukung keputusan (SPK) yang dapat memperhitungkan segala kriteria yang mendukung pengambilan keputusan guna membantu, mempercepat dan mempermudah proses pengambilan keputusan dalam pemberian bantuan bedah rumah.

Metode yang dipakai dalam sistem pendukung keputusan penerimaan program bedah rumah adalah Technique For Order Preference by Similarity to Ideal Solution (TOPSIS). Metode TOPSIS dipilih karena metode TOPSIS merupakan suatu bentuk metode pendukung keputusan yang didasarkan pada konsep bahwa alternatif yang terbaik tidak hanya memiliki jarak terpendek dari solusi ideal positif tetapi juga memiliki jarak terpanjang dari solusi ideal negatif yang dalam hal ini akan memberikan rekomendasi penerima bantuan bedah rumah yang sesuai dengan yang diharapkan. Berdasarkan permasalahan diatas, penulis mengambil judul ”Sistem Pendukung Keputusan Penerima Bantuan Bedah Rumah Pada Dinas Perumahan Dan Kawasan Permukiman Menggunakan Metode TOPSIS”.

4

1.2. Perumusan Masalah Berdasarkan latar belakang permasalahan di atas, penulis dapat

membuat suatu perumusan masalah yaitu bagaimana cara merancang sistem pendukung keputusan yang dapat memperhitungkan segala kriteria guna mempercepat dan mempermudah proses pemberian bantuan bedah rumah yang lebih objektif kepada masyarakat yang berhak menerima bantuan bedah rumah di Dinas Perumahan dan Kawasan Permukiman Kota Semarang.

1.3. Batasan Masalah

Batasan masalah dalam penelitian ini yaitu : 1. Pengambilan keputusan penerima bantuan bedah rumah pada Dinas

Perumahan dan Kawasan Permukiman Kota Semarang berdasarkan luas bangunan < 40 m², kondisi dinding, kondisi atap, kondisi lantai, penghasilan max 1,5 juta, kepemilikan tanah dengan menggunakan metode TOPSIS.

2. Pembuatan aplikasi penulis mengunakan bahasa pemrograman PHP dan MySQL sebagai databasenya dalam penelitian.

1.4. Tujuan Dan Manfaat Penelitian

Tujuan penelitan ini adalah untuk menghasilkan sistem pendukung keputusan yang dapat memperhitungkan segala kriteria yang mendukung pengambilan keputusan guna membantu, mempercepat dan mempermudah

5

proses pengambilan keputusan dalam pemberian bantuan bedah rumah agar pemberian bantuan bedah rumah lebih obyektif sesuai dengan urutan (prioritas) masyarakat yang berhak dan layak menerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman Kota Semarang dengan menggunakan metode TOPSIS.

Manfaat yang diharapkan dapat diperoleh dari penelitian ini adalah sebagai berikut: 1. Bagi Dinas Perumahan dan Kawasan Permukiman Kota Semarang

Hasil penelitian diharapkan dapat membantu Dinas Perumahan dan Kawasan Permukiman Kota Semarang dalam mengambil keputusan dalam seleksi penerima bantuan bedah rumah dan mampu mengurangi kerumitan proses pengambilan keputusan dalam seleksi penerima bantuan bedah rumah.

2. Bagi Akademik Sebagai tambahan dalam literatur kepustakaan akademik dan

membantu mahamasyarakat lain untuk memecahkan permasalahan yang sejenis.

3. Bagi Penulis Membantu menerapkan teori-teori yang diperoleh selama

menjalani pendidikan di bangku perkuliahan dan menambah pengetahuan dan wawasan tentang sistem pendukung keputusan dengan metode TOPSIS.

6

1.5. Metodologi Penelitian Metodologi penelitian merupakan suatu cara atau prosedur yang

digunakan untuk mengumpulkan data, dengan perantara teknik tertentu. Dalam penulisan skripsi ini, akan menggunakan beberapa metodologi penelitian yaitu: 1.5.1. Objek Penelitian

Dalam metodologi penelitian penulis mengambil objek penelitian pada Dinas Perumahan dan Kawasan Permukiman Kota Semarang yang beralamat di jalan Pemuda no 143 Semarang.

1.5.2. Metode Pengumpulan Data Metode yang digunakan dalam proses pengumpulan data

sebagai bahan pembuatan sistem adalah: 1. Wawancara

Teknik wawancara dilakukan dengan cara berkonsultasi langsung kepada Kepala Tata Usaha Dinas Perumahan dan Kawasan Permukiman Kota Semarang untuk mendapatkan gambaran mengenai sistem seleksi penerimaan bantuan bedah rumah di Dinas Perumahan dan Kawasan Permukiman Kota Semarang.

2. Observasi Metode yang digunakan untuk memperoleh data dengan

cara mengadakan pengamatan terhadap objek penelitian dan pencatatan secara sistematis terhadap suatu gagasan yang

7

diselidiki. Kegiatan yang dilakukan adalah melakukan riset untuk mengamati secara langsung proses seleksi penerima bantuan bedah rumah di Dinas Perumahan dan Kawasan Permukiman Kota Semarang.

3. Studi Pustaka Metode studi pustaka merupakan teknik pencarian dengan

melakukan pencarian data lewat literature-literatur yang terkait misalnya buku-buku referensi, artikel tentang masalah sistem pendukung keputusan, Logika Fuzzy, TOPSIS, DFD, ERD, PHP dan MySQL dari perpustakaan Universitas Stikubank Semarang.

1.5.3. Metode Pengembangan Sistem Metode yang digunakan untuk pengembangan sistem adalah

Waterfall (Whitten, 2004). Tahap-tahap pengembangannya adalah 1. Permulaan Sistem

Pada tahap ini menentukan jenis sistem yang tepat dan dapat menjawab persoalan yang dihadapi oleh seleksi penerima bantuan bedah rumah di Dinas Perumahan dan Kawasan Permukiman Kota Semarang serta menenetukan prioritas penanganan masalah dalam seleksi penerimaan bantuan bedah rumah di Dinas Perumahan dan Kawasan Permukiman Kota Semarang.

8

2. Analisis Sistem Pada tahap ini menyiapkan dan menyusun sistem baru,

kemudian mengembangkan secara tertulis. Kegiatan yang dilakukan meliputi mengidentifikasi masalah yang dihadapi dalam pembuatan sistem, mengidentifikasikan kebutuhan perangkat lunak dan perangkat keras.

3. Perancangan Sistem Pada tahap ini menyiapkan dan menyusun sistem baru,

kemudian mengembangkan secara tertulis. Kegiatan yang dilakukan meliputi merancang sistem dengan menggunakan DFD, ERD, perancangan database dan perancangan antar muka sistem.

4. Implementasi Sistem Pada tahap ini membuat sistem pendukung keputusan

penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS dengan PHP dan MySQL.

1.6. Sistematika Penulisan

Untuk memudahkan pemahaman tentang penelitian ini, maka pembahasan akan dibagi dalam beberapa bab sesuai dengan pokok permasalahannya, yaitu:

9

BAB I. PENDAHULUAN Berisi latar belakang masalah, perumusan masalah,

tujuan dan manfaat penelitian, metodologi penelitan dan sistematika penulisan.

BAB II. TINJAUAN PUSTAKA

Berisi tentang informasi hasil penelitian yang telah dilakukan sebelumnya dan menghubungkan dengan masalah yang sedang diteliti.

BAB III LANDASAN TEORI Berisi tentang pembahasan atau penjelasan dari

landasan teori dalam penelitian. BAB IV ANALISA DAN PERANCANGAN SISTEM

Pada bab ini akan dijelaskan mengenai analisa dan perancangan sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS.

BAB V IMPLEMENTASI SISTEM Pada bab ini akan tahapan–tahapan pengembangan

sistem dan disertakan implementasi yang memberikan gambaran tentang program yang dibuat dengan menggunakan PHP dan MySQL.

BAB VI HASIL PENELITIAN DAN PEMBAHASAN

10

Pada bab ini berisi tentang hasil pembahasan dari penelitian sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS.

BAB VII PENUTUP Pada bab ini berisi tentang kesimpulan dan saran

pembuatan sistem.

11

BAB II TINJAUAN PUSTAKA

2.1. Pustaka Yang Terkait Dengan Penelitian Menurut penelitian Ma’ruf (2016) yang berjudul “Pengembangan

Sistem Pendukung Keputusan Pemilihan Supplier Menggunakan Metode TOPSIS Pada Perusahaan Furniture”. Sentra Industri Kecil Mebel Trangsan Sukoharjo adalah beberapa perusahaan yang bergerak di bidang industri furniture. Bahan baku utama yang digunakan perusahaan adalah kayu jati. Ada beberapa supplier yang memasok kebutuhan perusahaan. Sebelumnya memilih supplier dengan cara sederhana dan manual, sehingga proses pemilihan supplier kurang efisien dan hasilnya tidak optimal. Hal ini memunculkan beberapa permasalahan, antara lain supplier tidak dapat memenuhi kebutuhan dalam hal volume kayu, sulitnya perusahaan untuk mendapatkan kebutuhan bahan baku pada harga yang kompetitif, jadwal pengiriman menjadi mundur, dan biaya produksi membengkak. Selain itu kondisi supplier selalu berubah-ubah mengikuti perkembangan dunia usaha. Oleh karena itu, dibutuhkan Sistem Pendukung Keputusan yang bersifat dinamik, sehingga perubahan yang terjadi pada supplier dapat dengan cepat diperhitungkan dan prioritas pemilihan supplier yang terpilih dapat segera tersedia. Perancangan sistem melalui tahapan perancangan proses, perancangan database dan perancangan user interface. Penelitian menggunakan metode TOPSIS, yang digunakan untuk meranking atau

12

menentukan prioritas supplier. Hasil dari penelitian ini adalah sebuah Sistem Pendukung Keputusan yang dapat membantu perusahaan dalam memilih supplier (Ma’ruf, 2016).

Menurut penelitian Marsono, Ahmad Fitri Boy, Wulan Dari (2015) yang berjudul “Sistem Pendukung Keputusan Pemilihan Menu Makanan pada Penderita Obesitas dengan menggunakan Metode TOPSIS”. Penelitian ini dilakukan untuk membuat suatu sistem pendukung keputusan bagi penderita obesitas khususnya dalam penentuan pemilihan menu makanan yang tepat saat akan dikonsumsi para penderita obesitas. Penelitian ini bertujuan untuk membantu para penderita obesitas dalam memilih menu makanan yang tepat dan baik dengan memperhatikan kandungan-kandungan makanan yang baik dikonsumsi ataupun tidak. Perhitungan TOPSIS akan diimplementasikan kedalam program Visual Basic 2008. Dimana data akan diolah dengan program yang mengandung perhitungan TOPSIS ini. Adapun dari hasil pengujian penelitian ini diketahui bahwa metode TOPSIS dapat digunakan dalam menentukan pemilihan menu makanan pada penderita obesitas secara tepat dan baik, dan metode TOPSIS dapat diimplementasikan kedalam program Visual Basic 2008 (Marsono dkk, 2015).

Menurut penelitian Amelia Nur Fitriana, Harliana, Handaru (2015) yang berjudul “Sistem Pendukung Keputusan Untuk Menentukan Prestasi Akademik Siswa dengan Metode TOPSIS”. Pengambilan keputusan pada suatu lembaga/sekolah merupakan hal yang sangat penting. Di MA Darul

13

Masholeh masih terdapat masalah dalam membuat laporan pembelajaran siswa, untuk menentukan siswa yang berprestasi hanya ditentukan menggunakan nilai rapot, belum adanya pemanfaatan secara optimal data laporan penilaian hasil belajar siswa, masih adanya kesulitan untuk mengetahui pencapaian dari kegiatan pembelajaran siswa. Dengan menggunakan metode TOPSIS dapat mempermudah guru untuk menentukan prestasi akademik siswasecara tepat dan cepat. Dari pengujian 20 alternative dengan 6 kriteria yaitu hafalan al-qur’an, nilai rata-rata rapot, absensi, nilai minimal, total nilai dan piagam prestasi. Dari 20 alternative di dapatkan siswa yang berprestasi yaitu diurutan pertama Wildan dengan nilai preferensi relative 0,66, Kedua Ratna (0,64), ketiga Sinta (0,55), keempat Rini (0,50), Kelima Faisal (0,38) dan terakhir Sadriyah dengan nilai preferensi relative (0,00). (Fitriana dkk, 2015).

14 2.2.

Perbedaan

Penelitian

Yang Dilak

ukan Deng

an Peneliti

an Terdahu

lu Tabel

2.1. Perbed

aan Penelit

ian Aspek

Jurna

l I Jurna

l II Jurna

l III Penu

lis Penul

is Ma’ru

f Marso

no, Ahmad

Fitri Boy,

Wulan Dar

i Amel

ia Nur

Fitriana,

Harliana, H

andaru

Tri Rahmaw

ati Unive

rsitas Unive

rsitas Muha

mmadiyah

Surakarta

STMIK Tri

guna Dharm

a STIK

OM Poltek

Cirebon

Universitas

Stikubank

Semarang

Judul

Pengemban

gan Sistem

Pendukung

Kepu

tusan Pemil

ihan Supplie

r Meng

gunakan

Metode T

OPSIS

Pada Perus

ahaan

Furniture

Sistem

Pendukung

Keputusan

Pemilihan

Menu

Makanan

pada Pende

rita Obesi

tas denga

n meng

gunakan

Metode

TOPSIS

Sistem

Pendukung

Keputusan

Untuk

Menentuka

n Presta

si Akad

emik Siswa

dengan

Metode TOP

SIS

Sistem

Pendukung

Keputusan

Penerima

Bantuan B

edah Ruma

h Pada

Dinas Peru

mahan

Dan Kawa

san Permu

kiman

Menggunak

an Metod

e TOPS

IS Metod

e Penge

mbangan

Sistem

- SPK

- Water

fall Peran

cangan

Sistem

DFD, ERD

-

DFD, ERD

DFD,

ERD

Metode SPK

TOPSIS

TOPSIS

TOPSIS

TOPSIS

Kritera SPK

Bahan baku

,harga,

produksi

Karbohidrat

, protein, le

mak, kalori

, kolesterol

Hafal

an quran,

rata-rata,

nilai minim

al, kehadi

ran, total n

ilai, piagam

luas b

angunan <

40 m²,

kondisi din

ding, kondi

si atap,

kondisi

lantai,

penghasilan

max 1,5 ju

ta,

15

kepemilikan

tanah

Program

Microsoft

Visual

Basic. Net

2010 Micro

soft Visual B

asic 2008

- PHP

Database

SQL Server

2008 MySQ

L -

MySQL

Kesimpulan

Sistem ini

dapat

memberikan

solusi

terbaik

dalam

pemilihan

supplier

dan kebut

uhan bahan

baku dapa

t terpen

uhi dalam

harga

yang

kompetitif

TOPSIS d

apat digun

akan dalam

mene

ntukan

pemilihan

menu mak

anan pada

penderita

obesitas

secara tepat

dan baik

Hasil dari

perhitungan

TOPS

IS yaitu

siswa

berprestasi

Wildan

menempati

urutan pert

ama denga

n nilai 0,6

6. Ratna

menempati

urutan ke

dua, denga

n nilai 0,

64. Sinta

dengan u

rutan ketiga

denga

n nilai 0,55

. Rini di

urutan kee

mpat denga

n nilai 0

,50. Faisal

di urutan

kelima den

gan nilai 0

,38. Sadriy

ah di urutan

keenam

dengan nila

i 0,00

Mempermud

ah prose

s penga

mbilan ke

putusan

dalam

pemberian

bantuan b

edah rumah

agar

pemberian

bantuan

bedah ru

mah lebih

obyektif se

suai denga

n urutan

(prior

itas) masya

rakat yang

berhak

dan layak

menerim

a bantu

an bedah rum

ah

16

BAB III LANDASAN TEORI

3.1. Sistem Pendukung Keputusan (SPK)

Konsep sistem pendukung keputusan pertama kali diperkenalkan pada tahun 1970-an oleh Michael S.Scott Marton dengan istilah management decision system. Konsep sistem pendukung keputusan ditandai dengan sistem interaktif berbasis komputer yang membantu mengambil keputusan memanfaatkan data dan model untuk menyelesaikan masalah yang tidak terstruktur. (Kusumadewi, 2010:1)

Pada dasarnya sistem pendukung keputusan dirancang untuk mendukung seluruh tahap pengambilan keputusan mulai dari mengidentifikasi masalah, memilih data yang relevan, menentukan pendekatan yang digunakan dalam pengambilan keputusan sampai mengevaluasi pemilihan alternatif.

Sistem pendukung keputusan adalah suatu sistem informasi spesifik yang ditujukan untuk membantu manajemen dalam mengambil keputusan yang berkaitan dengan persoalan yang bersifat (Kusumadewi, 2010:2): 1. Terstruktur, yaitu berhubungan dengan persoalan yang telah

diketahui sebelumnya dengan penyelesaian standar aturan yang telah ditentukan.

2. Semi terstruktur, yaitu berhubungan dengan persoalan yang belum diketahui sebelumnya, dengan parameter yang sudah ada.

17

3. Tidak terstruktur, yaitu berhubungan dengan persoalan baru yang cukup pelik, karena banyaknya data yang belum diketahui

3.1.1. Tahapan Proses Pengambilan Keputusan Tahap-tahap dalam proses pengambilan keputusan yaitu

(Kusumadewi, 2010:4): 1. Penelusuran (Intelligance)

Tahap pendefinisian masalah serta identifikasi informasi yang dibutuhkan dengan persoalan yang dihadapi serta keputusan yang diambil. Langkah ini sangat menentukan tingkat ketepatan keputusan yang akan diambil karena sebelum suatu tindakan diambil tentunya persoalan yang dihadapi harus dirumuskan terlebih dahulu secara jelas.

2. Perancangan (Design) Tahap analisa dalam kaitan mencari atau merumuskan alternatif-alternatif pemecahan masalah. Setelah permasalahan dirumuskan dengan baik, maka tahap berikutnya adalah merancang model pemecahan masalahnya dan menyusun berbagai alternatif pemecahan masalah.

3. Pemilihan (Choice) Mengacu pada rumusan tujuan serta hasil yang diharapkan selanjutnya manajemen memilih alternatif solusi yang diperkirakan paling sesuai. Pemilihan alternatif ini akan mudah

18

dilakukan kalau hasil yang diinginkan terukur atau memiliki nilai kuantitas tertentu.

4. Implementasi (Implementation) Tahap pelaksanaan dari keputusan yang telah diambil. Pada tahap ini perlu disusun serangkaian tindakan yang terencana sehingga hasil keputusan dapat dipantau dan disesuaikan apabila diperlukan perbaikan-perbaikan.

3.1.2. Karakteristik dan Nilai Guna Sistem Pendukung Keputusan Sistem pendukung keputusan berbeda dengan sistem

informasi. Beberapa karakteristik yang membedakannya yaitu (Kusumadewi, 2010:6): 1. Sistem pendukung keputusan dirancang untuk membantu

mengambil keputusan dalam memecahkan masalah yang sifatnya semi terstruktur ataupun tidak terstruktur.

2. Dalam proses pengolahannya, sistem pendukung keputusan mengkombinasikan penggunaan model-model atau teknik-teknik analisis dengan teknik pemasukan data konvensial serta fungsi-fungsi pencari atau integrasi informasi.

3. Sistem pendukung keputusan dirancang sedemikian rupa sehingga dapat digunakan dengan mudah oleh orang-orang yang tidak mempunyai dasar kemampuan pengoperasian komputer yang tinggi. Oleh karena itu pendekatan yang digunakan biasanya model interaktif.

19

4. Sistem pendukung keputusan dirancang dengan menekankan pada aspek fleksibilitas serta kemampuan adaptasi yang tinggi, sehingga mudah disesuaikan dengan berbagai perubahan lingkungan yang terjadi dan kebutuhan pemakai.

3.1.3. Manfaat Sistem Pendukung Keputusan Bagi Pemakainya Manfaat sistem pendukung keputusan bagi pemakainya yaitu

(Kusumadewi, 2010:7): 1. Sistem pendukung keputusan memperluas kemampuan

pengambil keputusan dalam memproses data bagi pemakainya. 2. Sistem pendukung keputusan mengambil keputusan dalam hal

penghematan waktu yang dibutuhkan untuk memecahkan masalah terutama berbagai masalah yang sangat kompleks dan tidak terstruktur.

3. Sistem pendukung keputusan menghasilkan solusi dengan lebih cepat serta hasilnya dapat diandalkan.

4. Walaupun suatu sistem pendukung keputusan tidak mampu memecahkan masalah yang dihadapi pengambil keputusan, namun sistem pendukung keputusan dapat menjadi simulasi bagi pengambil keputusan dalam memahami persoalannya. Karena sistem pendukung keputusan mampu menyajikan berbagai alternatif.

20

5. Sistem pendukung keputusan menyediakan bukti tambahan untuk memberikan pembenaran sehingga dapat memperkuat posisi pengambil keputusan.

3.1.4. Komponen-Komponen Sistem Pendukung Keputusan Sistem pendukung keputusan terdiri dari 3 komponen utama

atau subsistem yaitu (Kusumadewi, 2010:12): 1. Subsistem data (database)

Subsistem data merupakan komponen sistem pendukung keputusan penyedia data bagi sistem. Data yang dimaksud disimpan dalam suatu pangkalan data (database) yang diorganisasikan oleh suatu sistem yang disebut dengan sistem manajemen pangkalan data (Data Base Management System atau DBMS). Melalui DBMS inilah data dapat diambil dan dievakuasi dengan cepat. Pangkalan data dalam sistem pendukung keputusan berasal dari dua sumber yaitu sumber internal (dari dalam perusahaan) dan sumber eksternal (dari luar perusahaan). Data eksternal ini sangat berguna bagi manajemen dalam mengambil keputusan.

2. Subsistem model (model base) Keunikan sistem pendukung keputusan adalah kemampuannya dalam mengintegrasikan data dengan model-model keputusan. Model adalah suatu peniruan dari alam nyata. Kendala yang sering dihadapi dalam merancang suatu model adalah bahwa

21

model yang disusun ternyata tidak mampu mencerminkan seluruh variabel alam nyata. Sehingga keputusan yang diambil yang didasarkan pada model tersebut menjadi tidak akurat dan tidak sesuai dengan kebutuhan. Oleh karena itu dalam menyimpan berbagai model pada sistem pangkalan model harus tetap dijaga fleksibilitasnya, artinya harus ada fasilitas yang mampu membantu pengguna untuk memodifikasi atau menyempurnakan model seiring dengan perkembangan pengetahuan. Hal lain yang perlu diperhatikan adalah pada setiap model yang disimpan hendaknya ditambahkan rincian keterangan dan penjelasan yang kompeherensif mengenai model yang dibuat, sehingga pengguna atau perancang : a. Mampu membuat model yang baru dengan mudah dan

cepat. b. Mampu mengakses dan mengintegrasikan sub rutin model. c. Mampu menghubungkan model dengan model yang lain

melalui pangkalan data. d. Mampu mengelola model base dengan fungsi manajemen

yang analog dengan manajemen database. 3. Subsistem dialog (user system interface)

Keunikan lain dari sistem pendukung keputusan adalah adanya fasilitas yang mampu mengintegrasikan sistem yang terpasang dengan pengguna secara interaktif. Fasilitas atau subsistem ini

22

dikenal sebagai subsistem dialog, inilah sistem diartikulasikan dan diimplementasikan sehingga pengguna atau pemakai dapat berkomunikasi dengan sistem yang dirancang. Fasilitas yang dimiliki oleh subsistem ini adalah : a. Bahasa aksi (action language)

Perangkat lunak yang dapat digunakan pengguna untuk berkomunikasi dengan sistem. Komunikasi ini dilakukan melalui berbagai media seperti keybord.

b. Bahasa tampilan Perangkat lunak yang berfungsi sebagai sarana untuk menampilkan sesuatu. Peralatan yang digunakan merealisasi tampilan diantaranya adalah printer, grafik monitor dan lain-lain.

c. Bahasa pengetahuan Bagian yang mutlak diketahui oleh pengguna sehingga sistem ini dirancang dapat berfungsi secara efektif.

Gambar 3.1. Komponen SPK

23

Komponen SPK terdiri dari 3 komponen yaitu manajemen data yang disimpan dalam subsistem berbasis pengetahuan yang disebut dengan sistem manajemen pangkalan data (DBMS). Pangkalan data berasal dari dua sumber yaitu data eksternal dan internal, manajemen model dan antarmuka pengguna yang digunakan oleh manajer (pengguna) untuk melakukan proses SPK.

3.2. Logika Fuzzy

Logika fuzzy pertama kali ditemukan oleh profesor Lotfi A. Zadeh, dari Universitas California, pada bulan Juni 1965. Logika fuzzy merupakan Generalisasi dari logika klasik yang hanya memiliki dua nilai keanggotaan, yaitu 0 dan 1. Dalam logika fuzzy, nilai kebenaran suatu pernyataan berkisar dari sepenuhnya benar, sampai dengan sepenuhnya salah. Dengan teori himpunan fuzzy, suatu objek dapat menjadi anggota dari banyak himpunan dengan derajat keanggotaan yang berbeda dalam masing-masing himpunan. Konsep ini berbeda dengan himpunan klasik (crisp). Teori himpunan klasik tergantung pada logika dua nilai (two valued logic) untuk menentukan apakah sebuah objek merupakan suatu anggota himpunan atau bukan (Kusumadewi, 2010:52).

24

3.2.1. Himpunan Fuzzy Himpunan fuzzy memiliki 2 atribut, yaitu (Kusumadewi, 2010:53): 1. Linguistik, yaitu penamaan suatu grup yang mewakili suatu

keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti : Muda, Tua, Parobaya.

2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel seperti : 40, 25, 50.

Beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu : 1. Variabel Fuzzy

Variabel fuzzy merupakan variabel yang akan dibahas dalam suatu sistem fuzzy. Contoh : umur, temperatur, permintaan.

2. Himpunan Fuzzy Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh : a. Variabel umur, terbagi menjadi tiga buah himpunan fuzzy,

yaitu: muda, parobaya, dan tua. b. Variabel temperatur, terbagi menjadi lima buah himpunan

fuzzy, yaitu: dingin, sejuk, normal, hangat, dan panas.

25

Gambar 3.2. Himpunan Fuzzy Temperatur (°C) 3. Semesta Pembicaraan

Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Seharusnya nilai semesta pembicaraan ini tidak dibatasi batas atasnya. Contoh : a. Semesta pembicaraan untuk variabel umur : [0+ ~] b. Semesta pembicaraan untuk variabel temperatur : [0 40]

4. Domain Domain himpunan fuzzy adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Seperti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif maupun negatif.

0 15 20 25 30 35 40

Dingin Sejuk Normal Hangat Panas 1 0 µ[x]

26

Contoh domain himpunan fuzzy : a. MUDA = [0, 45] b. PAROBAYA = [35, 55] c. TUA = [45, +∞]

3.2.2. Fungsi Keanggotaan Fungsi keanggotaan (membership function) adalah suatu

kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa fungsi yang dapat digunakan (Kusumadewi, 2010:63): 1. Representasi Linier

Pada representasi linear, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas. Ada 2 keadaan himpunan fuzzy linear, yaitu: a. Representasi Linear Naik

Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol (0) bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi

27

Gambar 3.3. Representasi Linier Naik

b. Representasi Linier Turun Representasi linear turun merupaka kebalikan dari linear naik. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah.

Gambar 3.4. Representasi Linier Turun Fungsi keanggotaan :

2. Representasi Kurva Segitiga

1; x ≥ b b

µ[x]= (x-a)/(b-a); a ≤ x ≤ b 0; x ≥ b

28

Kurva segitiga pada dasarnya merupakan gabungan antara 2 garis (linier).

Gambar 3.5. Representasi Kurva Segitiga Fungsi keanggotaan :

3. Representasi Kurva Trapesium Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1.

Gambar 3.6. Representasi Kurva Trapesium

µ[x]= 0; x ≤ a atau x ≤ c (x-a)/(b-a); a ≤ x ≤ b (c-x)/(c-b); b ≤ x ≤ c

29

Fungsi keanggotaan : 4. Representasi Kurva Bentuk Bahu

Daerah yang terletak di tengah-tengah suatu variabel yang direpresentasikan dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun (misalkan : DINGIN bergerak ke SEJUK bergerak ke HANGAT dan bergerak ke PANAS). Tetapi terkadang salah satu sisi dari variabel tersebut tidak mengalami perubahan. Sebagai contoh, apabila telah mencapai kondisi PANAS, kenaikan temperatur akan tetap berada pada kondisi PANAS. Himpunan fuzzy ’bahu’, bukan segitiga, digunakan untuk mengakhiri variabel suatu daerah fuzzy. Bahu kiri bergerak dari benar ke salah, sebaliknya bahu kanan bergerak dari salah ke benar. Gambar 3.7 menunjukkan variabel TEMPERATUR dengan daerah bahunya.

Gambar 3.7. Representasi Kurva Bentuk Bahu

µ[x]= 0; x ≤ a atau x ≥ d (x-a)/(b-a); a ≤ x ≤ b 1; b ≤ x ≤ c (d-x)/(d-c); x ≥ d

30

3.2.3. Technique For Order Preference by Similarity to Ideal Solution (TOPSIS)

TOPSIS adalah salah satu metode pengambilan keputusan multikriteria yang pertama kali diperkenalkan oleh Yonn dan Hwang pada tahun 1981. Dengan ide dasarnya adalah bahwa alternatif yang dipilih memiliki jarak terdekat dengan solusi ideal positif dan memiliki jarak terjauh dari solusi ideal negatif (Kusumadewi, 2010:102). Prosedur perhitungan dengan TOPSIS : 1. Menentukan matrik ternormalisasi

TOPSIS membutuhkan rating kinerja setiap alternatif Ai pada setiap kriteria Ci yang ternormalisasi.

2. Pembobotan matrik

Nilai bobot (W) yang menunjukkan tingkat kepentingan relatif setiap kriteria harus diberikan untuk menghitung matrik normalisasi terbobot.

Selanjutnya dilakukan perkalian antara bobot pada masing-masing kriteria dengan merupakan rating bobot ternormalisasi (yij) dimana i=1,2,…,m (siswa) dan j=1,2,…,n (kriteria).

31

Berdasarkan persamaan diatas, maka akan terbentuk matrik keputusan ternormalisasi tertbobot Y

3. Menghitung matriks solusi ideal p5sitif dan matrik solusi ideal

negatif Nilai solusi ideal positif (A+) dan nilai solusi negatif (A-) berdasarkan matrik keputusan ternormalisasi terbobot Y. Untuk memghitung A+ dan A- harus diperhatikan syarat apakah kriteria bersifat keuntungan (benefit) atau kriteria bersifat biaya (cost).

yj+ = nilai dari solusi ideal positif dari kriteria ke 1, 2, ..., j yj- = nilai dari solusi ideal negatif dari kriteria ke 1, 2, ... , j Selanjutnya dicari nilai solusi ideal positif (A+) dan nilai solusi ideal negative (A-)

;

32

4. Menghitung jarak antara nilai setiap alternatif dengan solusi ideal positif (D+) dan jarak antara nilai setiap alternatif dengan solusi ideal negatif (D-).

Dimana i=1,2, ... ,m Di+ = jarak antara nilai setiap alternatif dengan solusi ideal

positif pada kriteria i yj+ = nilai dari solusi ideal positif dari kriteria ke 1, 2, ..., j yij = nilai dari matriks keputusan yang ternormalisasi terbobot

pada alternatif i pada kriteria ke j

Dimana i=1,2, ... ,m Di- = jarak antara nilai setiap alternatif dengan solusi ideal

negatif pada kriteria i yj- = nilai dari solusi ideal negatif dari kriteria ke 1, 2, ..., j yij = nilai dari matriks keputusan yang ternormalisasi terbobot

pada alternatif i pada kriteria ke j 5. Menghitung nilai preferensi untuk setiap siswa (Vi)

Dimana i=1,2, ... ,m Vi = Menghitung nilai preferensi untuk setiap siswa .

33

Di- = jarak antara nilai setiap alternatif dengan solusi ideal negatif pada kriteria i.

Di+ = jarak antara nilai setiap alternatif dengan solusi ideal positif pada kriteria i.

Nilai Vi yang lebih besar menunjukkan alternatif yang lebih dipilih

3.3. Alat Bantu Perancangan Sistem 3.3.1. Data Flow Diagram

Data Flow Diagram merupakan alat pemodelan data yang menggambarkan sistem sebagai suatu jaringan dari fungsi-fungsi atau proses-proses dari sistem yang saling berhubungan satu sama lain dengan aliran data yang digambarkan dengan anak panah (Jogiyanto, 2008:143). Data flow diagram digunakan untuk menggambarkan sistem sebagai jaringan kerja antar fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data. Simbol yang digunakan di DFD dapat dilihat pada tabel 3.1.

Tabel 3.1. DFD No. Simbol Keterangan 1. Notasi Kesatuan Luar

Digunakan untuk memberikan input atau menerima output dari sistem

34

2. Notasi Arus Data

Menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem 3. Notasi Proses

Kegiatan yang dilakukan komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. 4 Menggambarkan model dari kumpulan paket data yang tersimpan. 3.3.2. Entity Relationship Diagram

ERD merupakan suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak (Jogiyanto, 2008:144). Jadi, jelaslah bahwa ERD ini berbeda dengan DFD yang merupakan suatu model jaringan fungsi yang akan dillaksanakan oleh sistem, sedangkan ERD merupakan model jaringan data yang menekankan pada struktur-struktur dan relationship data. Elemen-elemen diagram hubungan entitas antara lain : 1. Pada ERD, entitas digambarkan dengan sebuah bentuk persegi

panjang. Entitas adalah sesuatu apa saja yang ada didalam sistem, nyata maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas diberi nama dengan kata benda dan dapat dikelompokan dalam empat jenis nama, yaitu orang, benda,

35

lokasi, kejadian (terdapat unsur waktu didalamnya). Simbol entitas dapat dilihat pada gambar 3.8.

Gambar 3.8. Simbol Entitas 2. Pada E-R diagram, relationship dapat digambarkan dengan

sebuah bentuk belah ketupat. Relationship adalah hubungan alamiah yang terjadi antara entitas. Pada umumnya penghubung (relationship) diberi nama dengan kata kerja dasar, sehingga memudahkan untuk melakukan pembacaan relasinya (bisa dengan kalimat aktif atau kalimat pasif). Penggambaran hubungan yang terjadi adalah sebuah bentuk belah ketupat dihubungkan dengan dua bentuk empat persegi panjang. Simbol relasi dapat dilihat pada gambar 3.9.

Gambar 3.9. Simbol Relasi 3. Atribut adalah deksripsi data yang mengidentifikasikan suatu

entitas. Simbol atribut dapat dilihat pada gambar 3.10. Gambar 3.10. Simbol Atribut

36

3.4. PHP PHP sendiri sebenarnya merupakan singkatan dari Hypertext

Preprocesso”, yang merupakan sebuah bahasa scripting tingkat tinggi yang dipasang pada dokumen HTML. Sebagian besar sintaks dalam PHP mirip dengan bahasa C, Java dan Perl, namun pada PHP ada beberapa fungsi yang lebih spesifik. Sedangkan tujuan utama dari penggunaan bahasa ini adalah untuk memungkinkan perancang web yang dinamis dan dapat bekerja secara otomatis. (Aditya, 2010:1)

PHP pertama kali dibuat oleh Rasmus Lerdroft, seorang programmer C. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. Jadi semula PHP digunakannya untuk menghitung jumlah pengunjung di dalam webnya. Kemudian Rasmus Lerdroft mengeluarkan Personal Home Page Tools versi 1.0 secara gratis. Versi ini pertama kali keluar pada tahun 1995. Isinya adalah sekumpulan script PERL yang dibuatnya untuk membuat halaman webnya menjadi dinamis. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI, kependekan dari Hypertext Preprocessing/Form Interpreter.

Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Kemudian pada tahun 1996 Rasmus Lerdroft mengeluarkan PHP versi 2.0 yang kemampuannya telah dapat mengakses database dan dapat terintegrasi dengan HTML. Pada rilis ini interpreter PHP sudah diimplementasikan

37

dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.Pada tahun 1998 tepatnya pada tanggal 6 Juni 1998 keluarlah PHP versi 3.0 yang dikeluarkan oleh Rasmus sendiri bersama kelompok pengembang softwarenya.

PHP versi 4.0 keluar pada tanggal 22 Mei 2000 merupakan versi yang lebih lengkap lagi dibandingkan dengan versi sebelumnya. Perubahan yang paling mendasar pada PHP 4.0 adalah terintegrasinya Zend Engine yang dibuat oleh Zend Suraski dan Andi Gutmans yang merupakan penyempurnaan dari PHP scripting engine. Yang lainnya adalah build in HTTP session, tidak lagi menggunakan library tambahan seperti pada PHP. Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi-aplikasi yang dijalankan di atas teknologi web. Dalam hal ini, aplikasi pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan web server.

PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.

38

Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain (Aditya, 2010:5) : 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak

melakukan sebuah kompilasi dalam penggunaannya. 2. Web Server yang mendukung PHP dapat ditemukan dimana-mana, mulai

dari apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.

3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan.

4. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.

5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.

3.5. MySQL

MySQL adalah relational database management system (RDBMS) yang diditribusikan secara gratis dibawah licensi GPL (General Public License). MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database terutama untuk pemilihan/seleksi dan pemasukan data yng memungkinkan pengoperasian data dikerjakan dengan mudah dan secara otomatis. (Prasetyo, 2006:1)

39

Keandalan suatu sistem database dapat diketahui dari cara kerja optimizer nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebuh unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query My SQL dapat sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.

Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak sekali keistimewaan diantaranya (Prasetyo, 2006:4): 1. Portability

MySQL dapat berjalan stabnil pada berbagai sistem operasi diantaranya seperti Windows, Linux, FreeBSD, Mac OS X Server dan masih banyak lagi.

2. Open Source MySQL didistribusikan secara open source (gratis) dibawah licensi GPL.

3. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. Hal ini memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan.

40

4. Performance Tuning MySQL memliki kecepatan yang menakjubkan dalam menangani query sederhana dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

5. Column Types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char dan masih banyak lagi.

6. Command dan Function MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.

7. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan ijin akses user dengan sistem perijinan yang mendetail serta password terenkripsi.

8. Scalability dan Limits MySQL mampu menangani database dalam skala besar, dengan jumlah record lanih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pad tiap tabelnya.

9. Localisation MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa.

41

10. Interface MySQL memiliki interface terhadap berbagai aplikasi dan bahasa pemograman dengan menggunakan fungsi API.

11. Client dan Tools MySQL dilengakapi dengan berbagai tools yang dapat digunakan untuk administrasi database dan pada setiap tool yang ada disertakan petunjuk online.

12. Struktur Tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan database lainnya semacam PostgreeSQL ataupun Oracle.

42

BAB IV ANALISA DAN PERANCANGAN SISTEM

4.1. Analisa Sistem

4.1.1. Analisa Permasalahan Banyaknya masyarakat yang berhak menerima bantuan bedah

rumah menjadikan Dinas Perumahan dan Kawasan Permukiman Kota Semarang harus sangat selektif untuk memberikan bantuan bedah rumah. Permasalahan yang sering muncul yaitu kurang tepatnya penyaluran bantuan bedah rumah terhadap masyarakat, misalnya masyarakat yang sebenarnya tidak layak mendapatkan bantuan bedah rumah tetapi mendapatkan bantuan bedah rumah, sebaliknya masyarakat yang berhak mendapatkan bantuan bedah rumah tetapi tidak mendapatkan bantuan bedah rumah.

Masalah subyektivitas dalam penerima bantuan bedah rumah merupakan hal yang hampir tidak dapat dihindari. Penilaian secara kuantitatif sering dianggap mengecewakan karena sulitnya mengukur parameter-parameter yang ada. Di lain pihak, Dinas Perumahan dan Kawasan Permukiman Kota Semarang membutuhkan proses pemilihan penerima bantuan bedah rumah yang rutin dan cepat sehingga dapat memberikan umpan balik dan perbaikan yang cepat di lingkungan Dinas Perumahan dan Kawasan Permukiman Kota Semarang. Kriteria penerima program bedah rumah di Dinas

43

Perumahan dan Kawasan Permukiman sesuai dengan Peraturan Walikota Semarang nomor Kota Semarang nomor 13A tahun 2017 saat ini yaitu luas bangunan < 40 m², kondisi dinding, kondisi atap, kondisi lantai, penghasilan max 1,5 juta, kepemilikan tanah. Kriteria-kriteria tersebut yang akan dijadikan pertimbangan untuk menentukan penerima bantuan bedah rumah, untuk itu diperlukan suatu sistem pendukung keputusan (SPK) yang dapat memperhitungkan segala kriteria yang mendukung pengambilan keputusan guna membantu, mempercepat dan mempermudah proses pengambilan keputusan dalam pemberian bantuan bedah rumah.

4.1.2. Analisa Kebutuhan Perangkat Keras Perangkat keras yang digunakan dalam pengembangan sistem

pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS yaitu: 1. Processor Intel (R) Pentium IV Core I3 2. Memori 4 GB DDR3 3. HDD 500 Gb 4. DVD RW 24 X 5. LCD 14”

44

4.1.3. Analisa Kebutuhan Perangkat Lunak Perangkat lunak yang digunakan dalam pengembangan

sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS yaitu : 1. Sistem Operasi : Microsoft Window 7 2. Editor Web : Adobe Dreamweaver CS3 3. HTTP Server : Apache (2.2.4) + PHP (5.2.3) 4. Database Server : MySQL (5.1) 5. Browser : Mozilla Firefox

4.1.4. Kriteria Penerimaan Bantuan Bedah Rumah Kriteria yang digunakan dalam proses sistem pendukung

keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS seperti pada tabel 4.1.

Tabel 4.1. Kriteria Sistem Kriteria Nama Kriteria C1 Luas Bangunan C2 Kondisi Dinding C3 Kondisi Atap C4 Kondisi Lantai C5 Penghasilan C6 Kepemilikan Tanah

45

1. Kriteria Luas Bangunan Kriteria luas bangunan dikonversikan dengan bilangan fuzzy seperti pada tabel 4.2.

Tabel 4.2. Luas Bangunan Luas Bangunan(C 1) Nilai <=40 m² 1 > 40 m² 0 2. Kriteria Kondisi Dinding

Kriteria kondisi dinding dikonversikan dengan bilangan fuzzy seperti pada tabel 4.3.

Tabel 4.3. Kondisi Dinding Kondisi Dinding (C 2 ) Nilai Papan 1 Batako 0,5 Plester 0 3. Kriteria Kondisi Atap

Kriteria kondisi atap dikonversikan dengan bilangan fuzzy seperti pada tabel 4.4.

Tabel 4.4. Kondisi Atap Kondisi Atap (C 3 ) Nilai Rusak Berat 1 Rusak Ringan 0,5 Bagus 0

46

4. Kriteria Kondisi Lantai Kriteria kondisi lantai dikonversikan dengan bilangan fuzzy seperti pada tabel 4.5.

Tabel 4.5. Kondisi Lantai Kondisi Lantai (C 4 ) Nilai Tanah 1 Plester 0,5 Tegel 0 5. Kriteria Penghasilan

Kriteria penghasilan dikonversikan dengan bilangan fuzzy seperti pada tabel 4.6.

Tabel 4.6. Penghasilan Penghasilan (C 5 ) Nilai <= 1,5 Juta 1 >1.5 Juta 0

6. Kriteria Kepemilikan Tanah Kriteria kepemilikan tanah dikonversikan dengan bilangan fuzzy seperti pada tabel 4.7.

Tabel 4.7. Kepemilikan Tanah Kondisi Kepemilikan Tanah (C 6 ) Nilai HM 1 Letter C 0,5 Letter D 0

47

4.2. Perancangan Sistem 4.2.1. Algoritma TOPSIS

Algoritma TOPSIS dalam sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS yaitu : 1. Membuat matriks keputusan yang ternormalisasi. 2. Membuat matriks keputusan yang ternormalisasi terbobot. 3. Menentukan matriks solusi ideal positif dan matriks solusi ideal

negatif. 4. Menentukan jarak antara nilai setiap alternatif dengan matriks solusi

ideal positif dan matriks solusi ideal negatif. 5. Menentukan nilai preferensi untuk setiap alternatif.

4.2.2. Diagram Konteks Gambar 4.2 menjelaskan tentang panitia seleksi mengisi data

penerima bantuan, data penilaian yang terdiri dari luas lantai, kondisi dinding, kondisi atap, kondisi lantai, fasilitas MCK, kondisi pondasi, kondisi rumah. Panitia seleksi mencetak seleksi penerima bantuan bedah rumah dengan memilih periode dan dihasilkan daftar ranking penerima bantuan bedah rumah yang diberikan kepada ketua panitia.

Gambar 4.1. Diagram Konteks

0SPKPenerima Bantuan Bedah RumahPanitiaSeleksi KetuaPanitiaCetak_penerima_bantuan

Daftar penerimabantuanLoginData penerima_bantuanData_penilaian_bantuan

48

4.2.3. DFD Level 0 Gambar 4.2 menjelaskan tentang panitia seleksi mengisi data

penerima bantuan ke tabel penerima dan data penilaian bantuan bedah rumah yang terdiri dari luas lantai, kondisi dinding, kondisi atap, kondisi lantai, fasilitas MCK, kondisi pondasi, kondisi rumah ke tabel nilai. Panitia seleksi mencetak seleksi penerima bantuan bedah rumah dengan memilih periode dan dihasilkan daftar ranking penerima bantuan bedah rumah yang diberikan kepada ketua panitia yang hasilnya di simpan di tabel hasil.

Gambar 4.2. DFD Level 0

PanitiaSeleksi

KetuaPanitia

1Pendataan

2Rekomendasi

Penerima

Hasil

Nilai

LoginData penerima_bantuan

Penerima

Data_penilaian_bantuanCetak_penerima_bantuan

Daftar penerimabantuan

Penerima

NilaiNilai

Hasil

49

4.2.4. ERD Gambar 4.3 menjelaskan tentang entitas penerima berelasi

dengan entitas nilai dengan derajat satu ke banyak. Entitas penerima berelasi dengan entitas hasil dengan derajat satu ke satu.

Gambar 4.3. ERD

50

4.2.5. Perancangan Database Perancangan database sistem pendukung keputusan penerima

bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS diwujudkan dari ERD pada gambar 4.3. 1. Tabel Penerima

Tabel penerima digunakan untuk menyimpan data penerima bantuan bedah rumah dengan kunci utama idpenerima. Tabel penerima ditunjukkan seperti pada tabel 4.8.

Tabel 4.8. Tabel Penerima Field Tipe Ukuran Keterangan Idpenerima Varchar 8 ID Penerima Nama Varchar 30 Nama Alamat Varchar 30 Alamat Kota Varchar 30 Kota Tgllhr Date Tanggal Lahir Tmplhr Varchar 30 Tempat Lahir Jenkel Varchar 6 Jenis Kelamin Telepon Varchar 15 Telepon

2. Tabel Nilai Tabel nilai digunakan untuk menyimpan data penilaian

penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman. Perancangan tabel nilai ditunjukkan seperti pada tabel 4.9.

51

Tabel 4.9. Tabel Nilai Field Tipe Ukuran Keterangan Idnilai Bigint ID Nilai Idpenerima Varchar 8 ID Penerima Periode Year 4 Periode Penilaian Luas Varchar 10 Luas Lantai Luasf Int 1 Nilai Fuzzy Luas Lantai Dinding Varchar 6 Kondisi Dinding Dindingf Double Nilai Fuzzy Dinding Atap Varchar 6 Kondisi Atap Atapf Double Nilai Fuzzy Atap Lantai Varchar 6 Kondisi Lantai Lantaif Double Nilai Fuzzy Lantai Penghasilan Varchar 20 Penghasilan Penghasilanf Int 1 Nilai Fuzzy Penghasilan Tanah Varchar 15 Kepemilikan Tanah Tanahf Double Nilai Fuzzy Tanah

3. Tabel Hasil Tabel hasil digunakan untuk menyimpan hasil

rekomendasi penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman. Perancangan tabel hasil ditunjukkan seperti pada tabel 4.10.

Tabel 4.10. Tabel Hasil Field Tipe Ukuran Keterangan Idpenerima Varchar 8 ID Penerima Nilai Double Nilai Akhir Fuzzy TOPSIS

52

4.2.6. Perancangan Interface 1. Perancangan Form Login

Gambar 4.4 menjelaskan tentang halaman login yang digunakan panitia seleksi untuk masuk ke sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS. Isi username dan password kemudian klik login untuk masuk ke sistem, jika data valid akan ditampilkan halaman sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS.

. Gambar 4.4. Halaman Login 2. Perancangan Form Penerima Bantuan

Gambar 4.5 menjelaskan tentang halaman penerima bantuan yang digunakan untuk menyimpan data penerima bantuan Dinas Perumahan dan Kawasan Permukiman. Pada halaman ini panitia seleksi dapat menambah, mengubah, menghapus data penerima bantuan Dinas Perumahan dan Kawasan Permukiman.

53

Gambar 4.5. Perancangan Form Penerima Bantuan

3. Perancangan Penilaian Gambar 4.6 menjelaskan tentang halaman penilaian yang

digunakan untuk menyimpan data penilaian bantuan bedah rumah dari Dinas Perumahan dan Kawasan Permukiman. Pada halaman ini panitia seleksi dapat menambah, mengubah, menghapus data penilaian bantuan bedah rumah dari Dinas Perumahan dan Kawasan Permukiman.

54

Gambar 4.6. Perancangan Form Penilaian

4. Perancangan Rekomendasi Gambar 4.7 menjelaskan tentang halaman rekomendasi yang

digunakan untuk menampillkan rekomendasi penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman.

55

Gambar 4.7. Perancangan Rekomendasi

56

BAB V IMPLEMENTASI SISTEM

5.1. Login

Halaman login pada gambar 5.1 merupakan implementasi dari rancangan tampilan seperti pada gambar 4.4. Login digunakan panitia seleksi untuk login ke sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS. Untuk masuk ke sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS, isi username dan password kemudian klik login, jika username dan password benar maka dapat masuk ke sistem, jika salah maka akan ditampilkan pesan ”Username atau Password Salah” seperti gambar 5.2.

Gambar 5.1. Login

57

Gambar 5.2. Pesan Username atau Password Salah

5.2. Penerima Bantuan Penerima bantuan pada gambar 5.3 merupakan implementasi dari

rancangan tampilan seperti pada gambar 4.5 dan menggunakan tabel penerima seperti pada tabel 4.10. Penerima bantuan digunakan untuk memasukkan data penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman ke tabel penerima. ID penerima akan terisi secara otomatis dengan format YYMM9999 dimana YY merupakan tahun pengisian, MM merupakan bulan pengisian dan 9999 merupakan urutan data dari tabel penerima. Isi nama, alamat, kota, tempat/tanggal lahir, jenis kelamin, telepon kemudian klik simpan untuk menyimpan data penerima bantuan ke tabel penerima. Klik tombol edit, kemudian isi nama, alamat, kota, tempat/tanggal lahir, jenis kelamin, telepon dan klik simpan untuk mengubah data penerima bantuan dari tabel penerima. Klik tombol hapus dan pilih ok untuk menghapus data penerima bantuan yang dipilih dari tabel penerima.

58

Gambar 5.3. Penerima Bantuan 5.3. Penilaian

Penilaian pada gambar 5.4 merupakan implementasi dari rancangan tampilan seperti pada gambar 4.6 dan menggunakan tabel nilai seperti pada tabel 4.11. Penilaian digunakan untuk memasukkan data penilaian bantuan bedah rumah dari Dinas Perumahan dan Kawasan Permukiman. Isi penerima bantuan, periode, luas lantai, kondisi dinding, kondisi atap, kondisi lantai, penghasilan, kepemilikan tanah kemudian klik simpan untuk menyimpan data penilaian bantuan bedah rumah dari Dinas Perumahan dan Kawasan Permukiman ke tabel nilai. Klik tombol edit, kemudian isi luas lantai, kondisi dinding, kondisi atap, kondisi lantai, penghasilan, kepemilikan tanah dan klik simpan untuk mengubah data penilaian dari tabel nilai. Klik tombol hapus dan pilih ok untuk menghapus data penilaian yang dipilih dari tabel nilai.

59

Gambar 5.4. Penilaian

5.4. Rekomendasi Rekomendasi pada gambar 5.5 merupakan implementasi dari

rancangan tampilan seperti pada gambar 4.7 dan menggunakan tabel hasil seperti pada tabel 4.12. Rekomendasi digunakan untuk mencetak rekomendasi penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman ke tabel hasil. Pilih periode penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman kemudian klik proses untuk menampilkan rekomendasi penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman. Penerima bantuan yang direkomendasikan untuk menerima bantuan bedah rumah akan ditampilkan dengan warna hijau muda.

60

Gambar 5.5. Rekomendasi Klik tombol printer untuk mencetak rekomendasi penerima bantuan

bedah rumah seperti gambar 5.6.

61

Gambar 5.6. Cetak Rekomendasi

62

BAB VI HASIL PENELITIAN DAN PEMBAHASAN

6.1. Login

Login pada gambar 6.2 merupakan implementasi dari program pada gambar 5.1. Login digunakan panitia seleksi untuk login ke sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS. Cuplikan source code untuk pengecekan login yaitu

case "login": switch($_GET['action']){ case "submit": if($jc->cekUser($_POST['txtuser'],$_POST['userpass'])>0){ $jc->gotox("wait.php"); }else{$jc->alert('Username atau Password Salah'); $jc->gotox("login.php");}break;}break;} Gambar 6.1. Cuplikan Source Code Pengecekan Login

Gambar 6.2. Login

63

6.2. Penerima Bantuan Penerima bantuan pada gambar 6.4 merupakan implementasi dari

program pada gambar 5.3. Penerima bantuan digunakan untuk memasukkan data penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman ke tabel penerima. Cuplikan source code untuk menyimpan data penerima bantuan yaitu $q = "replace into penerima set "." idpenerima='".$_POST[idpenerima]."',nama=\"".$_POST[nama]."\" "." ,alamat='".$_POST[alamat]."',kota='".$_POST[kota]."',tmplhr='".$_POST[tmplhr]."',telepon='".$_POST[telepon]."' "." ,tgllhr='".$_POST[tgllhr]."',jenkel=\"".$_POST[jenkel]."\" "; $jp->sql($q); Gambar 6.3. Cuplikan Source Code Simpan Data Penerima Bantuan

Gambar 6.4. Penerima Bantuan

64

6.3. Penilaian Penilaian pada gambar 6.6 merupakan implementasi dari program

pada gambar 5.4. Penilaian digunakan untuk memasukkan data penilaian bantuan bedah rumah dari Dinas Perumahan dan Kawasan Permukiman. Cuplikan source code untuk menyimpan penilaian bantuan bedah rumah yaitu $q = "replace into nilai set " ." idpenerima=\"".$_POST[idpenerima]."\",periode=\"".$_POST[periode]."\" "." , luas='".$_POST[luas]."',luasf='".$luas."',dinding='".$_POST[dinding]."',dindingf='".$dinding."',atap='".$_POST[atap]."',atapf='".$atap."',lantai='".$_POST[lantai]."',lantaif='".$lantai."',penghasilan='".$_POST[penghasilan]."',penghasilanf='".$penghasilan."',tanah='".$_POST[tanah]."',tanahf='".$tanah."'"; Gambar 6.5. Cuplikan Source Code Simpan Data Penilaian

Gambar 6.6. Penilaian

65

6.4. Rekomendasi Rekomendasi pada gambar 6.8 merupakan implementasi dari

program pada gambar 5.5. Rekomendasi digunakan untuk mencetak rekomendasi penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman ke tabel hasil. Pilih periode penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman kemudian klik proses untuk menampilkan rekomendasi penerima bantuan bedah rumah Dinas Perumahan dan Kawasan Permukiman. Penerima bantuan yang direkomendasikan untuk menerima bantuan bedah rumah akan ditampilkan dengan warna hijau muda. Cuplikan source code untuk menampilkan rekomendasi dengan metode TOPSIS yaitu <?php $r = $jp->sql("delete from bobot"); $r = $jp->sql("delete from hasil"); //1. Matriks keputusan ternormalisasi $r = $jp->sql("SELECT sqrt(SUM(pow(luasf,2))) as c1, sqrt(SUM(pow(dindingf,2))) as c2, sqrt(SUM(pow(atapf,2))) as c3, sqrt(SUM(pow(lantaif,2))) as c4,sqrt(SUM(pow(penghasilanf,2))) as c5,sqrt(SUM(pow(tanahf,2))) as c6 FROM nilai WHERE periode='".$_POST[periode]."'"); $bobot = $jp->fetch($r); //2.Matriks keputusan yang ternormalisasi terbobot (matriks Y) $q=$jp->sql("SELECT * FROM nilai WHERE periode='".$_POST[periode]."'"); while($hasil = $jp->fetch($q)){ $c1 = number_format(($hasil[luasf] / $bobot[c1])*0.2, 4, '.', ' '); $c2 = number_format(($hasil[dindingf] / $bobot[c2])*0.1, 4, '.', ' '); $c3 = number_format(($hasil[atapf] / $bobot[c3])*0.1, 4, '.', ' '); $c4 = number_format(($hasil[lantaif] / $bobot[c4])*0.1, 4, '.', ' '); $c5 = number_format(($hasil[mckf] / $bobot[c5])*0.2, 4, '.', ' '); $c6 = number_format(($hasil[pondasif] / $bobot[c6])*0.1, 4, '.', ' '); $simpan=$jp->sql("replace into bobot set idpenerima='".$hasil[idpenerima]."',c1='".$c1."',c2='".$c2."',c3='".$c3."',c4='".$c4."',c5='".$c5."',c6='".$c6."'"); } //3. Matrik solusi ideal positif (A+) dan matriks solusi ideal negatif (A-) berdasarkan rating bobot ternormalisasi yij $r = $jp->sql(" SELECT max(c1) kc1,max(c2) kc2,max(c3) kc3, max(c4) kc4, max(c5) kc5, max(c6) kc6, min(c1) mc1, min(c2) mc2, min(c3) mc3,min(c4) mc4, min(c5) mc5, min(c6) mc6 FROM bobot "); $bobot = $jp->fetch($r);

66

//4.Jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan matriks solusi ideal negatif. Jarak antara nilai terbobot setiap alternatif terhadap solusi ideal positif $q=$jp->sql("SELECT * FROM bobot"); while($hasil = $jp->fetch($q)){ $plus = number_format(sqrt(pow(($hasil[c1]-$bobot[kc1]),2) + pow(($hasil[c2]-$bobot[kc2]),2) + pow(($hasil[c3]-$bobot[kc3]),2) + pow(($hasil[c4]-$bobot[kc4]),2) + pow(($hasil[c5]-$bobot[kc5]),2)+ pow(($hasil[c6]-$bobot[kc6]),2), 4, '.', ' '); $min = number_format(sqrt(pow(($hasil[c1]-$bobot[mc1]),2) + pow(($hasil[c2]-$bobot[mc2]),2) + pow(($hasil[c3]-$bobot[mc3]),2) + pow(($hasil[c4]-$bobot[mc4]),2) + pow(($hasil[c5]-$bobot[mc5]),2)+pow(($hasil[c6]-$bobot[mc6]),2), 4, '.', ' ') ; //5.Nilai preferensi untuk setiap alternatif (Vi) $nilai = number_format($min / ($plus+$min), 4, '.', ' '); //echo $nilai. " " ; $simpan=$jp->sql("replace into hasil set idpenerima='".$hasil[idpenerima]."',nilai='".$nilai."' "); }?> Gambar 6.7. Cuplikan Source Code Rekomendasi

67

Gambar 6.8. Rekomendasi

6.5. Perhitungan TOPSIS Panitia seleksi akan menilai melakukan penilaian penerima bantuan

bedah rumah pada pada Dinas Perumahan dan Kawasan Permukiman dengan kriteria penilaian yaitu: C1 = Luas Bangunan C2 = Kondisi Dinding C3 = Kondisi Atap C4 = Kondisi Lantai C5 = Penghasilan C6 = Kepemilikan Tanah

68

Diketahui data penerima bantuan Dinas Perumahan dan Kawasan Permukiman seperti pada tabel 6.1.

Tabel 6.1. Data Penerima Bantuan Dinas Perumahan dan Kawasan Permukiman Nama C1 C2 C3 C4 C5 C6 Barep Tasmadi <=40 m2 Papan Rusak Berat Tanah <= 1,5 Juta HM Agus Setyawan <=40 m2 Batako Rusak Ringan Tanah <= 1,5 Juta HM Sukaimi <=40 m2 Plester Rusak Berat Plester <= 1,5 Juta HM Painem > 40 m2 Batako Rusak Ringan Tanah <= 1,5 Juta HM Sariyah <=40 m2 Papan Rusak Ringan Plester >1.5 Juta HM Data penerima bantuan Dinas Perumahan dan Kawasan Permukiman

dikonversi menjadi nilai Fuzzy TOPSIS seperti pada tabel 6.2. Tabel 6.2. Konversi

Nama C1 C2 C3 C4 C5 C6 Barep Tasmadi 1 1 1 1 1 1 Agus Setyawan 1 0,5 0,5 1 1 1 Sukaimi 1 0 1 0,5 1 1 Painem 0 0,5 0,5 1 1 1 Sariyah 1 1 0,5 0,5 0 1 1. Matriks keputusan ternormalisasi dengan bobot W = 0,2, 0,2, 0,2,

0,1,0,2, 0,1 |��| = �1� + 1� + 1� + 0� + 1� = 2,0000 |��| = �1� + 0,5� + 0� + 0,5� + 1� = 1,5811 |��| = �1� + 0,5� + 1� + 0,5� + 0,5� = 1,6583 |��| = �1� + 1� + 0,5� + 1� + 0,5� = 1,8708 |��| = �1� + 1� + 1� + 1� + 0� = 2,0000 |��| = �1� + 1� + 1� + 1� + 1� = 2,2361 ��� = ���|��| = 12,0000 = 0,5000

69

��� = ���|��| = 11,5811 = 0,6325 ��� = ���|��| = 11,6583 = 0,6030 ��� = ���|��| = 11,8708 = 0,5345 ��� = ���|��| = 12,0000 = 0,5000 ��� = ���|��| = 12,2361 = 0,4472 ��� = ���|��| = 12,0000 = 0,5000 ��� = ���|��| = 0,51,5811 = 0,3162 ��� = ���|��| = 0,51,6583 = 0,3015 ��� = ���|��| = 11,8708 = 0,5345 ��� = ���|��| = 12,0000 = 0,5000 ��� = ���|��| = 12,2361 = 0,4472 ��� = ���|��| = 12,0000 = 0,5000 ��� = ���|��| = 01,5811 = 0,0000 ��� = ���|��| = 11,6583 = 0,6030 ��� = ���|��| = 0,51,8708 = 0,2673

70

��� = ���|��| = 12,0000 = 0,5000 ��� = ���|��| = 12,2361 = 0,4472 ��� = ���|��| = 02,0000 = 0,0000 ��� = ���|��| = 0,51,5811 = 0,3162 ��� = ���|��| = 0,51,6583 = 0,3015 ��� = ���|��| = 11,8708 = 0,5345 ��� = ���|��| = 12,0000 = 0,5000 ��� = ���|��| = 12,2361 = 0,4472 ��� = ���|��| = 12,0000 = 0,5000 ��� = ���|��| = 11,5811 = 0,6325 ��� = ���|��| = 0,51,6583 = 0,3015 ��� = ���|��| = 0,51,8708 = 0,2673 ��� = ���|��| = 02,0000 = 0,0000 ��� = ���|��| = 12,2361 = 0,4472 Diperoleh matriks ternormalisasi R

71

� = �����0,5000 0,6325 0,6030 0,5345 0,5000 0,44720,5000 0,3162 0,3015 0,5345 0,5000 0,44720,5000 0,0000 0,6030 0,2673 0,5000 0,44720,0000 0,3162 0,3015 0,5345 0,5000 0,44720,5000 0,6325 0,3015 0,2673 0,0000 0,4472����

� 2. Matriks keputusan yang ternormalisasi terbobot (matriks Y)

y11 = w1 r11 = (0,2) (0,5000) = 0,1000 y12 = w2 r12 = (0,2) (0,6325) = 0,1265 y13 = w3 r13 = (0,2) (0,6030) = 0,1206 y14 = w4 r14 = (0,1) (0,5345) = 0,0535 y15 = w5 r15 = (0,2) (0,5000) = 0,1000 y16 = w6 r16 = (0,1) (0,4472) = 0,0447 = ����

�0,1000 0,1265 0,1206 0,0535 0,1000 0,04470,1000 0,0632 0,0603 0,0535 0,1000 0,04470,1000 0,0000 0,1206 0,0267 0,1000 0,04470,0000 0,0632 0,0603 0,0535 0,1000 0,04470,1000 0,1265 0,0603 0,0267 0,0000 0,0447�����

3. Matrik solusi ideal positif (A+) dan matriks solusi ideal negatif (A-) berdasarkan rating bobot ternormalisasi yij Solusi ideal positif (A+) dihitung sebagai berikut: A+ = {0,1000; 0,1265; 0,1206; 0,0535 ; 0,1000; 0,0447} Solusi ideal negatif (A-) dihitung sebagai berikut : A-= {0,0000; 0,0000; 0,0603; 0,0267; 0,0000; 0,0447}

4. Jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan matriks solusi ideal negatif. Jarak antara nilai terbobot setiap alternatif terhadap solusi ideal positif :

72

$�% = &'0,1000 − 0,1000)� + '0,1265 − 0,1265)� + '0,1206 − 0,1206)� + '0,0535 − 0,0535)� +'0,1000 − 0,1000)� + '0,0447 − 0,0447) � = 0

$�% = &'0,1000 − 0,1000)� + '0,0632 − 0,1265)� + '0,0603 − 0,1206)� + '0,0535 − 0,0535)� +'0,1000 − 0,1000)� + '0,0447 − 0,0447) � = 0,0874

$�% = &'0,1000 − 0,1000)� + '0,0000 − 0,1265)� + '0,1206 − 0,1206)� + '0,0267 − 0,0535)� +'0,1000 − 0,1000)� + '0,0447 − 0,0447) � = 0,1293

$�% = &'0,0000 − 0,1000)� + '0,0632 − 0,1265)� + '0,0603 − 0,1206)� + '0,0535 − 0,0535)� +'0,1000 − 0,1000)� + '0,0447 − 0,0447) � = 0,1328

$�% = &'0,1000 − 0,1000)� + '0,1265 − 0,1265)� + '0,0603 − 0,1206)� + '0,0267 − 0,0535)� +'0,0000 − 0,1000)� + '0,0447 − 0,0447) � = 0,1198

Jarak antara nilai terbobot setiap alternatif terhadap solusi ideal negatif : $�) = &'0,1000 − 0,0000)� + '0,1265 − 0,0000)� + '0,1206 − 0,0603)� + '0,0535 − 0,0267)� +'0,1000 − 0,0000)� + '0,0447 − 0,0447) �

= 0,2009

73

$�) = &'0,1000 − 0,1000)� + '0,0632 − 0,0000)� + '0,0603 − 0,0603)� + '0,0535 − 0,0267)� +'0,1000 − 0,0000)� + '0,0447 − 0,0447) � = 0,1572

$�) = &'0,1000 − 0,0000)� + '0,0000 − 0,0000)� + '0,1206 − 0,0603)� + '0,0267 − 0,0267)� +'0,1000 − 0,0000)� + '0,0447 − 0,0447) � = 0,1537

$�) = & '0,0000 − 0,0000)� + '0,0632 − 0,000)� + '0,0603 − 0,0603)� + '0,0535 − 0,0267)� +'0,1000 − 0,0000)� + '0,0447 − 0,0447) � = 0,1213

$�) = &'0,1000 − 0,0000)� + '0,1265 − 0,0000)� + '0,0603 − 0,0603)� + '0,0267 − 0,0267)� +'0,0000 − 0,0000)� + '0,0447 − 0,0447) � = 0,1613

5. Nilai preferensi untuk setiap alternatif (Vi) *� = +,�++,+,�++,%+ = 1,0000'Barep Tasmadi) *� = +,��-�+,��-�%+,+.-� = 0,6427 (Agus Setyawan) *� = +,���-+,���-%+,��,� = 0,5431 (Sukaimi) *� = 0,12130,1213 + 0,1328 = 0,4774 'Painem) *� = 0,16130,1613 + 0,1198 = 0,5738 'Sariyah)

74

Berdasarkan hasil perhitungan nilai tertinggi adalah V1 sehingga rekomendasi untuk penerima bantuan bedah rumah adalah Barep Tasmadi dengan nilai 1,0000 seperti gambar 6.8.

75

BAB VII PENUTUP

Berdasarkan hasil yang telah dicapai dalam penelitian ini, penulis

berharap dengan tercapainya sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS. Dalam penelitian ini dapat ditarik suatu kesimpulan dan saran yang tentunya tidak melupakan saran-saran dari pembaca sebagai bahan masukan bilamana pembaca tertarik untuk mengembangkan aplikasi ini lebih lanjut 7.1. Kesimpulan

Setelah melakukan penelitian pada Dinas Perumahan dan Kawasan Permukiman, maka penulis dapat menarik kesimpulan sebagai berikut : 1. Terciptanya sistem pendukung keputusan penerima bantuan bedah

rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS yang dapat memperhitungkan segala kriteria guna mempercepat dan mempermudah proses pemberian bantuan bedah rumah yang lebih objektif kepada orang yang berhak menerima bantuan bedah rumah di Dinas Perumahan dan Kawasan Permukiman.

2. Sistem pendukung keputusan penerimaan bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS menghasilkan nilai akhir antara 0 sampai dengan 1.

3. Hasil rekomendasi sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan

76

metode TOPSIS adalah penerima bantuan yang memiliki nilai akhir tertinggi yang diberi warna hijau muda. .

7.2. Saran Berikut ini saran penulis terhadap pengembangan dan penerapan

sistem pendukung keputusan penerima bantuan bedah rumah pada Dinas Perumahan dan Kawasan Permukiman menggunakan metode TOPSIS lebih lanjut yaitu : 1. Pengembangan selanjutnya, sistem diharapkan dapat menggabungkan

metode Fuzzy TOPSIS dengan metode yang lain agar hasil seleksi penerimaan bantuan bedah rumah lebih komplek.

2. Data penerimaan bantuan bedah rumah yang ada dalam sistem ini akan lebih baik lagi apabila disesuaikan dengan data penerimaan bantuan bedah rumah di sistem yang ada di Dinas Perumahan dan Kawasan Permukiman sehingga data secara otomatis dapat diperbarui apabila terjadi penambahan, pengurangan ataupun perbaikan data penerimaan bantuan bedah rumah.

77

DAFTAR PUSTAKA Aditya, A.N, (2010) Jago PHP & MySQL Dalam Hitungan Menit, Dunia Komputer, Bekasi Fitriana, A.N., Harliana, Handaru, (2015), Sistem Pendukung Keputusan Untuk Menentukan Prestasi Akademik Siswa dengan Metode TOPSIS, Skripsi, STIKOM Poltek Cirebon Jogiyanto.H.M, (2008), Analisis dan Desain Sistem Informasi, Andi Offset, Yogyakarta Kusumadewi, S., (2010) Aplikasi Logika Fuzzy untuk Pendukung Keputusan, Graha Ilmu, Yogyakarta. Marsono, Boy, A.F., Wulan, D., (2015), Sistem Pendukung Keputusan Pemilihan Menu Makanan pada Penderita Obesitas dengan menggunakan Metode TOPSIS, Skripsi, STMIK Triguna Dharma Ma’ruf, (2016), Pengembangan Sistem Pendukung Keputusan Pemilihan Supplier Menggunakan Metode TOPSIS Pada Perusahaan Furniture, Skripsi, Universitas Muhammadiyah Surakarta Prasetyo, D.D, (2006), Administrasi Database Server MySQL, Elex Media Komputindo, Jakarta. Whitten, J.L. (2004), Metode Desain dan Analisa Sistem, Andi Offset, Yogyakarta

78

LAMPIRAN I LISTING PROGRAM

1. Login.php <? include_once ($_SERVER['DOCUMENT_ROOT']."/bedahrumah/includes/class.inc.php"); $jc = new jcore(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Login Admin</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../design/style.css" rel="stylesheet" type="text/css"> <script> function doFocus(){ var set = document.flogin; set.username.focus(); } function cekSubmit(){ var set = document.flogin; if(set.username.value==''){ alert('username tidak boleh kosong...'); set.username.focus(); return false; } if(set.userpass.value==''){ alert('password tidak boleh kosong'); set.userpass.focus(); return false; } return true; } </script> <style type="text/css"> <!-- .style2 {color: #FFFF00} .style3 {color: #0000FF} --> </style> <style> body { margin:0;padding:0;background-size:100% 170%;

79

background-repeat:no-repeat; } </style> </head> <body onLoad="doFocus()"> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <link href="css/sites.css" rel="stylesheet" type="text/css" /> <script> $(document).ready(function(){ $('#login-box').center(); }); </script> <span class="style3"></span><span class="style2"></span> </head> <body > <div id="login-box"> <form id="flogin" name="flogin" method="post" action="script.php?page=login&action=submit"> <table align="center"> <tr> <td colspan="5" align="center"><h2>Login</h2></td> </tr> <tr> <td rowspan="3"><img src="images/logo.png" width="128" height="128" /></td> <td>Username</td> <td>:</td> <td><div align="justify" style="display:inline "> <input name="txtuser" type="text" id="txtuser" size="20" maxlength="30" > </div> <div id="hasilcek" style="display:inline "></div> </td> </tr> <tr> <td>Password</td> <td>:</td> <td> <input name="userpass" type="password" id="userpass" size="15" maxlength="20" /> </td> </tr>

80

<tr> <td>&nbsp;</td> <td>&nbsp;</td> <td> <input name="button" type="submit" class="button blue " id="button" value="Login" /> <input type="reset" name="Submit2" class="button white" value="Batal" onclick="window.location='/smkislamnusantara/admin/index.php'"> </td> </tr> </table> </form> </div> </body> </html> 2. Script.php <? session_start(); include_once ($_SERVER['DOCUMENT_ROOT']."/bedahrumah/includes/class.inc.php"); $jc = new jcore(); switch($_GET['page']){ case "login": switch($_GET['action']){ case "submit": if($jc->cekUser($_POST['txtuser'],$_POST['userpass'])>0){ $jc->gotox("wait.php"); }else{ $jc->alert('Username atau Password Salah'); $jc->gotox("login.php"); } break; } break; } if (!isset($_SESSION["login"])) { session_destroy(); } ?> 3. Index.php <?php session_start(); include '../includes/lib.inc.php'; include APP_ROOT."/includes/class.inc.php"; include APP_ROOT."/includes/auth.inc.php"; include INCLUDES_DIR."/class.paging.php"; $jp = new jcore(); ?> <script type="text/javascript" src="script.js"></script>

81

<style type="text/css"> <!-- .style10 {color: #FF0000} .style20 { font-size: 16px; font-weight: bold; } --> </style> <style type="text/css"> #content-slider { position: relative; width: 960px; height: 200px; overflow: hidden; } #content-slider img { display: block; width: 960px; height: 200px; } </style> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="jquery.cycle.all.latest.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#content-slider').cycle({ fx: 'fade', speed: 1000// millisecond }); }); </script> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Dinas Perumahan dan Kawasan Permukiman</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <link href="style.css" rel="stylesheet" type="text/css" media="screen" /> <link href="css/sites.css" rel="stylesheet" type="text/css" media="screen" /> </head> <body> <div id="logo"> <h1><a href="#">Dinas Perumahan dan Kawasan Permukiman</a></h1>

82

<h2></h2> </div> <div id="menu"> <ul> <li class="first"><a href="index.php?page=penerima" accesskey="0" title="">Penerima</a></li> <li><a href="index.php?page=nilai" accesskey="5" title="">Penilaian</a></li> <li><a href="index.php?page=cetak" accesskey="5" title="">Rekomendasi</a></li> <li><a href="logout.php" accesskey="5" title="">Logout</a></li> </ul> </div> <hr /> <div id="banner"> <div id="content-slider"> <img src="images/header.jpg" width="960" height="200" /> <img src="images/header1.jpg" width="960" height="200" /> <img src="images/header2.jpg" width="960" height="200" /> </div> </div> <!-- start page --> <div id="page"> <!-- start content --> <div id="content"> <div class="post"> <? if ($_REQUEST[page] =='') { ?> <h2 class="title"><a href="#">DATA PENERIMA BANTUAN</a></h2> <? } else if ($_REQUEST[page] =='penerima') { ?> <h2 class="title"><a href="#">DATA PENERIMA BANTUAN</a></h2> <? } else if ($_REQUEST[page] =='nilai') { ?> <h2 class="title"><a href="#">PENILAIAN BANTUAN</a></h2> <? } else if ($_REQUEST[page] =='cetak') { ?> <h2 class="title"><a href="#">PROSES REKOMENDASI</a></h2> <? } ?>

83

<div class="entry"> <?php switch($_REQUEST[page]){ case "nilai": include "nilai.php"; break; case "penerima": include "penerima.php"; break; case "cetak": include "cetak.php"; break; case "keputusan": include "keputusan.php"; break; default: include "penerima.php"; break; } ?> </div> </div> </div> <!-- end content --> <!-- start sidebar --> <div id="sidebar"> </div> <!-- end sidebar --> <div style="clear: both;">&nbsp;</div> </div> <!-- end page --> <div id="footer"> <p class="legal">Copyright (c) 2017 Dinas Perumahan dan Kawasan Permukiman. All rights reserved.</p> <p class="credit">Designed by <a href="">Dinas Perumahan dan Kawasan Permukiman</a>.</p> </div> </body> </html> 4. Penerima.php <?php $hari = date("ym"); if($_REQUEST[idpenerima]!='')

84

{ $q = "select * from penerima where idpenerima='".$_REQUEST[idpenerima]."'"; $r = $jp->sql($q); $o = $jp->fetch($r); $kode = $o[idpenerima]; } else { $q1= "SELECT max(RIGHT(idpenerima,4))+1 as maks from penerima WHERE LEFT(idpenerima,4)=(SELECT DATE_FORMAT(CURRENT_DATE,'%y%m'))"; $r1 = $jp->sql($q1); $o1 = $jp->fetch($r1); if (strlen($o1[maks])<=0) { $kode= $hari.'0001'; } else if (strlen($o1[maks])==1) { $kode= $hari.'000'.$o1[maks]; } else if (strlen($o1[maks])==2) { $kode= $hari.'00'.$o1[maks]; } else if (strlen($o1[maks])==3) { $kode= $hari.'0'.$o1[maks]; } else if (strlen($o1[maks])==4) { $kode= $hari.$o1[maks]; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>::: <?=$title?> :::</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script src="js/advviewer.js"></script> <script type="text/javascript" src="js/jquery-ui.js"></script> <script> //==============================SCRIPT TAMBAHAN UNTUK FILTER KEYBOARD====================================================== function numbersonly(e) { var unicode = e.charCode ? e.charCode : e.keyCode if ((unicode != 8) && (unicode != 13) && (unicode != 37) && (unicode != 39) && (unicode != 9)) { //if the key isn't the backspace key (which we should allow) if (unicode < 48 || unicode > 57) //if not a number return false //disable key press

85

} } function ConfirmDel(idpenerima){ if(confirm('Hapus..?')){ window.location="proses.php?page=penerima&action=delete&idpenerima="+idpenerima; } } </script> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery-ui.js"></script> <script type="text/javascript"> $(function(){ $("#tgllhr").datepicker({dateFormat: 'yy-mm-dd' }); }) </script> <link href="flora.datepicker.css" rel="stylesheet" type="text/css"> <style type="text/css"> <!-- .style12 {font-family: Georgia, "Times New Roman", Times, serif; font-size: 12px; color: #000000; } .style14 {font-size: 16px; font-family: "Courier New", Courier, mono; color: #000000; } .style19 {font-size: 16px; font-family: "Courier New", Courier, mono; color: #000000; } --> </style> </head> <body> <script src="js/gen_validatorv31.js" language="javascript"></script> <form action="proses.php?page=penerima&action=input" method="post" enctype="multipart/form-data" name="Formpenerima" id="Formpenerima" > <input name="id_edit" type="hidden" value="<?=$o[idpenerima]?>"> <table width="800" border="0" align="left" cellpadding="2" cellspacing="0"> <tr> <td width="210"><span class="style19">ID Penerima</span> </td> <td width="11" align="center"><span class="style19">:</span></td> <td width="258">

86

<input name="idpenerima" type="text" id="idpenerima" value="<?=$kode?>" size="8" maxlength="8" readonly> </td> </tr> <tr> <td ><span class="style19">Nama</span> </td> <td align="center"><span class="style19">:</span></td> <td ><span class="style19"><input name="nama" type="text" id="nama" size="30" maxlength="30" value="<?=$o[nama]?>" ></span></td> </tr> <tr> <td><span class="style19">Alamat</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><input name="alamat" type="text" id="alamat" value="<?=$o[alamat]?>" size="30" maxlength="30"> </td> </tr> <tr> <td><span class="style19">Kota</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><input name="kota" type="text" id="kota" value="<?=$o[kota]?>" size="30" maxlength="30"> </td> </tr> <tr> <td><span class="style19">Tempat/Tanggal Lahir </span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><input name="tmplhr" type="text" id="tmplhr" value="<?=$o[tmplhr]?>" size="30" maxlength="30">/<input name="tgllhr" type="text" id="tgllhr" size="12" maxlength="12" value="<?=$o[tgllhr]?>"> </td> </tr> <tr> <td><span class="style19">Jenis Kelamin</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="jenkel" id="jenkel"> <option>---</option> <option value="Pria" <?=(($o[jenkel]=='Pria')?"selected":"")?>>Pria</option> <option value="Wanita" <?=(($o[jenkel]=='Wanita')?"selected":"")?>>Wanita</option> </select></td> </tr> <tr> <td><span class="style19">Telepon</span></td>

87

<td align="center"><span class="style19">:</span></td> <td colspan="2"><input name="telepon" type="text" id="telepon" value="<?=$o[telepon]?>" size="15" maxlength="15"> </td> </tr> <tr> <td>&nbsp;</td> <td align="center">&nbsp;</td> <td colspan="2"><input type="submit" name="Submit" class="button blue" value="Simpan" onClick="return doSubmit()"> <input type="reset" name="Submit2" class="button gray" value="Batal" onclick="window.location='index.php?page=penerima'"></td><td width="6">&nbsp;</td> </tr> </table> </form> <br><br><br><br><br><br><br><br><br><br><br><br><br> <?php $file = "index.php?page=penerima"; $p = new Paging; $limit = 20; $start = $p->cariPosisi($limit); $q="select a.* from penerima a " ." limit $start,$limit"; $result=$jp->sql($q); $no=$start+1; $jmldata = mysql_num_rows($jp->sql("SELECT * FROM penerima")); $jmlhalaman = $p->jumlahHalaman($jmldata, $limit); $linkHalaman = $p->navHalaman($_GET[halaman], $jmlhalaman,$file); ?> <table width="909" border="1" cellpadding="0" cellspacing="0" class="table-record" bgcolor="#FFFFFF"> <tr bgcolor="#6cb5d5"> <th width="60" align="center" valign="middle"><span class="style14">No.</span></th> <th width="91" valign="middle"><span class="style14">ID Penerima</span></th> <th width="215" valign="middle"><span class="style14">Nama</span></th> <th width="198" valign="middle"><span class="style14">Alamat</span></th> <th width="88" valign="middle"><span class="style14">Tempat/Tanggal Lahir</span></th> <th width="138" valign="middle"><span class="style14">Jenis Kelamin</span></th> <th width="138" valign="middle"><span class="style14">Telepon</span></th> <th width="103"> <span class="style14">Proses</span> </th> </tr>

88

<?php $n = 0;while($row = $jp->fetch($result)){ $n++; ?> <tr> <td width="60" align="center" valign="top"><span class="style12"> <?=$n?> .</span></td> <td width="91" valign="top" align="center"> <span class="style12"><b> <?=$row[idpenerima]?> </b> </span> <td width="215" valign="top" align="justify"> <span class="style12"> <?=$row[nama]?> </span> </td> <td width="198" align="justify" valign="top"><span class="style12"> <?=$row[alamat]?> </span></td> <td width="88" align="justify" valign="top"><span class="style12"> <?=$row[tmplhr]?> / <?=$jp->todate($row[tgllhr])?> </span> </td> <td width="138" align="justify" valign="top"> <span class="style12"> <?=$row[jenkel]?> </span></td> <td width="138" align="justify" valign="top"> <span class="style12"> <?=$row[telepon]?> </span></td> <td width="103" align="center" valign="top"> <a href="index.php?page=penerima&idpenerima=<?=$row[idpenerima]?>"> <img src="images/edit.png" width="32" height="32" border="0" title="Edit" /></a> <a href="#" onclick="return ConfirmDel('<?=$row[idpenerima]?>')"> <img src="images/remove.png" width="32" height="32" border="0" title="Hapus" /> </a></td> </tr> <?php } ?> </table> <?=$linkHalaman?> <script> function doSubmit(){ var v = new Validator("Formpenerima"); v.addValidation("idpenerima","req","idpenerima tidak boleh kosong");

89

v.addValidation("nama","req","Nama penerima tidak boleh kosong"); } </script> </body> </html> 5. Nilai.php <?php if($_REQUEST[idnilai]!='') { $q = "select a.*,b.nama from nilai a inner join penerima b on a.idpenerima=b.idpenerima where idnilai='".$_REQUEST[idnilai]."'"; $r = $jp->sql($q); $o = $jp->fetch($r); $disabled = " readonly='true' "; $dis="disabled"; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head> <title>::: <?=$title?> :::</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script src="js/advviewer.js"></script> <script type="text/javascript" src="js/jquery-ui.js"></script> <script> //==============================SCRIPT TAMBAHAN UNTUK FILTER KEYBOARD====================================================== function numbersonly(e) { var unicode = e.charCode ? e.charCode : e.keyCode if ((unicode != 8) && (unicode != 13) && (unicode != 37) && (unicode != 39) && (unicode != 9) && (unicode != 46)) { //if the key isn't the backspace key (which we should allow) if (unicode < 48 || unicode > 57) //if not a number return false //disable key press } } //=========================================================================================== function ConfirmDel(idnilai){ if(confirm('Hapus..?')){ window.location="proses.php?page=nilai&action=delete&idnilai="+idnilai; } }

90

</script> <script type="text/javascript" src="jquery-min.js"> </script> <script> var $j = jQuery.noConflict(); $j(document).ready(function(){ $j('#idpenerima').focus(); $j('#idpenerima').on('change',function(){ if ($j(this).val()!=''){ $j.ajax({ type: 'post', url: 'tampil.php', data: {'idpenerima': $j(this).val()}, beforeSend: function(){ $j('#idpenerima').after("<div id=\"page-loader\"></div>"); $j('#page-loader').fadeIn(1500).delay(10).fadeOut(1000); }, success: function(response){ var ret = $j.parseJSON(response); $j('#nama').val(ret.nama); $j('#idpenerima').focus(); } }); } }); }); </script> <style type="text/css"> #page-loader { background:url(images/spinner20.gif) no-repeat; display:block; height:33px; } </style> <link href="flora.datepicker.css" rel="stylesheet" type="text/css"> <style type="text/css"> <!-- .style12 {font-family: Georgia, "Times New Roman", Times, serif; font-size: 12px; color: #000000; }

91

.style14 {font-size: 16px; font-family: "Courier New", Courier, mono; color: #000000; } .style19 {font-size: 16px; font-family: "Courier New", Courier, mono; color: #000000; } --> </style> </head> <body> <script src="js/gen_validatorv31.js" language="javascript"></script> <form action="proses.php?page=nilai&action=input" method="post" enctype="multipart/form-data" name="Formnilai" id="Formnilai" > <input name="id_edit" type="hidden" value="<?=$o[idnilai]?>"> <table width="788" border="0" align="center" cellpadding="2" cellspacing="0"> <tr> <td width="260"><span class="style19">Penerima Bantuan</span> </td> <td width="10" align="center"><span class="style19">:</span></td> <td width="264" > <select name="idpenerima" id="idpenerima" <?=$disabled?> <?=$dis?>> <option>---</option> <?php $r = $jp->sql("select * from penerima order by idpenerima"); while ($oKel = $jp->fetch($r)){ $isSelKel = (($oKel[idpenerima]==$o[idpenerima])?"selected":""); ?> <option value="<?=$oKel[idpenerima]?>" <?=$isSelKel?>><?=$oKel[idpenerima]?> </option> <?php } ?> </select> </td> </tr> <tr> <td><span class="style19">Nama Penerima</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><input name="nama" type="text" id="nama" value="<?=$o[nama]?>" size="30" maxlength="30" readonly> </td> </tr> <tr> <td><span class="style19">Periode</span></td> <td align="center"><span class="style19">:</span></td>

92

<td colspan="2"><input name="periode" type="text" id="periode" value="<?=$o[periode]?>" size="4" maxlength="4" onKeyPress="return numbersonly(event);" <?=$disabled?>> </td> </tr> <tr> <td><span class="style19">Luas Lantai</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="luas" id="luas"> <option value=""> --- </option> <option value="<=9 m2" <?=(($o[luas]=='<=9 m2')?"selected":"")?>><=9 m2</option> <option value="> 9 m2" <?=(($o[luas]=='> 9 m2')?"selected":"")?>>> 9 m2</option> </select> </td> </tr> <tr> <td><span class="style19">Kondisi Dinding</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="dinding" id="dinding"> <option value=""> --- </option> <option value="Rusak" <?=(($o[dinding]=='Rusak')?"selected":"")?>>Rusak</option> <option value="Sedang" <?=(($o[dinding]=='Sedang')?"selected":"")?>>Sedang</option> <option value="Bagus" <?=(($o[dinding]=='Bagus')?"selected":"")?>>Bagus</option> </select> </td> </tr> <tr> <td><span class="style19">Kondisi Atap</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="atap" id="atap"> <option value=""> --- </option> <option value="Rusak" <?=(($o[atap]=='Rusak')?"selected":"")?>>Rusak</option> <option value="Sedang" <?=(($o[atap]=='Sedang')?"selected":"")?>>Sedang</option> <option value="Bagus" <?=(($o[atap]=='Bagus')?"selected":"")?>>Bagus</option> </select> </td> </tr> <tr>

93

<td><span class="style19">Kondisi Lantai</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="lantai" id="lantai"> <option value=""> --- </option> <option value="Rusak" <?=(($o[lantai]=='Rusak')?"selected":"")?>>Rusak</option> <option value="Sedang" <?=(($o[lantai]=='Sedang')?"selected":"")?>>Sedang</option> <option value="Bagus" <?=(($o[lantai]=='Bagus')?"selected":"")?>>Bagus</option> </select> </td> </tr> <tr> <td><span class="style19">Fasilitas MCK</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="mck" id="mck"> <option value=""> --- </option> <option value="Ada" <?=(($o[mck]=='Ada')?"selected":"")?>>Ada</option> <option value="Tidak Ada" <?=(($o[mck]=='Tidak Ada')?"selected":"")?>>Tidak Ada</option> </select> </td> </tr> <tr> <td><span class="style19">Kondisi Pondasi</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="pondasi" id="pondasi"> <option value=""> --- </option> <option value="Safety" <?=(($o[pondasi]=='Safety')?"selected":"")?>>Safety</option> <option value="Tidak Safety" <?=(($o[pondasi]=='Tidak Safety')?"selected":"")?>>Tidak Safety</option> </select> </td> </tr> <tr> <td><span class="style19">Kondisi Rumah</span></td> <td align="center"><span class="style19">:</span></td> <td colspan="2"><select name="rumah" id="rumah"> <option value=""> --- </option> <option value="Bukan Rumah Sehat" <?=(($o[rumah]=='Bukan Rumah Sehat')?"selected":"")?>>Bukan Rumah Sehat</option> <option value="Rumah Sehat" <?=(($o[rumah]=='Rumah Sehat')?"selected":"")?>>Rumah Sehat</option> </select> </td> </tr>

94

<tr> <td>&nbsp;</td> <td align="center">&nbsp;</td> <td colspan="2"><input type="submit" name="Submit" class="button blue" value="Simpan" onClick="return doSubmit()"> <input type="reset" name="Submit2" class="button gray" value="Batal" onclick="window.location='index.php?page=nilai'"></td><td width="6">&nbsp;</td> </tr> </table> </form> <?php $file = "index.php?page=nilai"; $p = new Paging; $limit = 20; $start = $p->cariPosisi($limit); $q="select periode from nilai group by periode" ." limit $start,$limit"; $result=$jp->sql($q); $no=$start+1; $jmldata = mysql_num_rows($jp->sql("select periode from nilai group by periode")); $jmlhalaman = $p->jumlahHalaman($jmldata, $limit); $linkHalaman = $p->navHalaman($_GET[halaman], $jmlhalaman,$file); ?> <table width="898" border="1" cellpadding="0" cellspacing="0" class="table-record" bgcolor="#FFFFFF"> <?php while($row1 = $jp->fetch($result)){ ?> <tr bgcolor="#6cb5d5"> <th align="center" valign="middle" colspan="11"><span class="style14">Periode <?=$row1[periode]?> </span></th> </tr> <tr bgcolor="#6cb5d5"> <th width="20" valign="middle"><span class="style14">No</span></th> <th width="97" valign="middle"><span class="style14">Penerima Bantuan</span></th> <th width="122" valign="middle"><span class="style14">Luas Lantai</span></th> <th width="105" valign="middle"><span class="style14">Kondisi Dinding</span></th> <th width="83" valign="middle"><span class="style14">Kondisi Atap</span></th> <th width="95" valign="middle"><span class="style14">Kondisi Lantai</span></th> <th width="77" valign="middle"><span class="style14">Fasilitas MCK</span></th>

95

<th width="118" valign="middle"><span class="style14">Kondisi Pondasi</span></th> <th width="86" valign="middle"><span class="style14">Kondisi Rumah</span></th> <th width="73"> <span class="style14">Proses</span> </th> </tr> <?php $n = 0; $q1=$jp->sql("select a.*,b.nama from nilai a left join penerima b on a.idpenerima=b.idpenerima where periode='".$row1[periode]."' "); while($row = $jp->fetch($q1)){ $n++; ?> <tr> <td width="20" align="center" valign="top"><span class="style12"> <?=$n?> .</span></td> <td width="97" valign="top" align="justify"> <span class="style12"><b> <?=$row[idpenerima]?> <br> <?=$row[nama]?> </b> </span> <td width="122" align="right" valign="top"><span class="style12"> <?=($row[luas])?><br> <?=$row[luasf]?> </span></td> <td width="105" align="right" valign="top"> <span class="style12"> <?=($row[dinding])?><br> <?=$row[dindingf]?> </span> <td width="83" align="right" valign="top"><span class="style12"> <?=($row[atap])?><br> <?=$row[atapf]?> </span> </td> <td width="95" align="right" valign="top"><span class="style12"> <?=($row[lantai])?><br> <?=$row[lantaif]?> </span> </td> <td width="77" align="right" valign="top"><span class="style12"> <?=($row[mck])?><br> <?=$row[mckf]?> </span> </td> <td width="118" align="right" valign="top"><span class="style12"> <?=($row[pondasi])?><br> <?=$row[pondasif]?>

96

</span> </td> <td width="86" align="right" valign="top"><span class="style12"> <?=($row[rumah])?><br> <?=$row[rumahf]?> </span> </td> <td width="73" align="center" valign="top"> <a href="index.php?page=nilai&idnilai=<?=$row[idnilai]?>"> <img src="images/edit.png" width="32" height="32" border="0" title="Edit" /></a> <a href="#" onclick="return ConfirmDel('<?=$row[idnilai]?>')"> <img src="images/remove.png" width="32" height="32" border="0" title="Hapus" /> </a></td> </tr> <?php } ?> <?php } ?> </table> <?=$linkHalaman?> <script> function doSubmit(){ var v = new Validator("Formnilai"); v.addValidation("idpenerima","req","idpenerima tidak boleh kosong"); } </script> </body> </html> 6. Keputusan.php <?php $r = $jp->sql("delete from bobot"); $r = $jp->sql("delete from hasil"); //1. Matriks keputusan ternormalisasi $r = $jp->sql("SELECT sqrt(SUM(pow(luasf,2))) as c1, sqrt(SUM(pow(dindingf,2))) as c2, sqrt(SUM(pow(atapf,2))) as c3, sqrt(SUM(pow(lantaif,2))) as c4,sqrt(SUM(pow(mckf,2))) as c5,sqrt(SUM(pow(pondasif,2))) as c6,sqrt(SUM(pow(rumahf,2))) as c7 FROM nilai WHERE periode='".$_POST[periode]."'"); $bobot = $jp->fetch($r); //2.Matriks keputusan yang ternormalisasi terbobot (matriks Y) $q=$jp->sql("SELECT * FROM nilai WHERE periode='".$_POST[periode]."'"); while($hasil = $jp->fetch($q)){ $c1 = number_format(($hasil[luasf] / $bobot[c1])*0.2, 4, '.', ' '); $c2 = number_format(($hasil[dindingf] / $bobot[c2])*0.1, 4, '.', ' '); $c3 = number_format(($hasil[atapf] / $bobot[c3])*0.1, 4, '.', ' '); $c4 = number_format(($hasil[lantaif] / $bobot[c4])*0.1, 4, '.', ' ');

97

$c5 = number_format(($hasil[mckf] / $bobot[c5])*0.2, 4, '.', ' '); $c6 = number_format(($hasil[pondasif] / $bobot[c6])*0.1, 4, '.', ' '); $c7 = number_format(($hasil[rumahf] / $bobot[c7])*0.2, 4, '.', ' '); $simpan=$jp->sql("replace into bobot set idpenerima='".$hasil[idpenerima]."',c1='".$c1."',c2='".$c2."',c3='".$c3."',c4='".$c4."',c5='".$c5."',c6='".$c6."',c7='".$c7."'"); } //3. Matrik solusi ideal positif (A+) dan matriks solusi ideal negatif (A-) berdasarkan rating bobot ternormalisasi yij $r = $jp->sql(" SELECT max(c1) kc1,max(c2) kc2,max(c3) kc3, max(c4) kc4, max(c5) kc5, max(c6) kc6, max(c7) kc7, min(c1) mc1, min(c2) mc2, min(c3) mc3,min(c4) mc4, min(c5) mc5, min(c6) mc6, min(c7) mc7 FROM bobot "); $bobot = $jp->fetch($r); //4.Jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan matriks solusi ideal negatif. Jarak antara nilai terbobot setiap alternatif terhadap solusi ideal positif $q=$jp->sql("SELECT * FROM bobot"); while($hasil = $jp->fetch($q)){ $plus = number_format(sqrt(pow(($hasil[c1]-$bobot[kc1]),2) + pow(($hasil[c2]-$bobot[kc2]),2) + pow(($hasil[c3]-$bobot[kc3]),2) + pow(($hasil[c4]-$bobot[kc4]),2) + pow(($hasil[c5]-$bobot[kc5]),2)+ pow(($hasil[c6]-$bobot[kc6]),2)+pow(($hasil[c7]-$bobot[kc7]),2)), 4, '.', ' '); $min = number_format(sqrt(pow(($hasil[c1]-$bobot[mc1]),2) + pow(($hasil[c2]-$bobot[mc2]),2) + pow(($hasil[c3]-$bobot[mc3]),2) + pow(($hasil[c4]-$bobot[mc4]),2) + pow(($hasil[c5]-$bobot[mc5]),2)+pow(($hasil[c6]-$bobot[mc6]),2) +pow(($hasil[c7]-$bobot[mc7]),2)), 4, '.', ' ') ; //5.Nilai preferensi untuk setiap alternatif (Vi) $nilai = number_format($min / ($plus+$min), 4, '.', ' '); //echo $nilai. " " ; $simpan=$jp->sql("replace into hasil set idpenerima='".$hasil[idpenerima]."',nilai='".$nilai."' "); }?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>::: <?=$title?> :::</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="flora.datepicker.css" rel="stylesheet" type="text/css"> <style type="text/css"> <!--

98

.style12 {color: #000000; font-family: Georgia, "Times New Roman", Times, serif; font-size: 14px; } .style14 {color: #000000; font-size: 12px; } .style16 {font-family: Georgia, "Times New Roman", Times, serif;color: #000000;} .style17 {font-size: 24px; font-weight: bold; color: #000000;} .style171 {font-size: 14px; font-weight: bold; color: #000000;} --> </style> </head> <body> <?php $file = "index.php?page=keputusan"; $p = new Paging; $limit = 20; $start = $p->cariPosisi($limit); $q="SELECT a.*,b.nama,c.nilai from nilai a left join penerima b on a.idpenerima=b.idpenerima INNER JOIN hasil c ON b.idpenerima=c.idpenerima where a.periode='".$_POST[periode]."' order by nilai desc " ." limit $start,$limit"; //echo $q; $result=$jp->sql($q); $no=$start+1; $jmldata = mysql_num_rows($jp->sql("SELECT a.idpenerima,b.nama from nilai a left join penerima b on a.idpenerima=b.idpenerima INNER JOIN hasil c ON b.idpenerima=c.idpenerima where a.periode='".$_POST[periode]."'")); $jmlhalaman = $p->jumlahHalaman($jmldata, $limit); $linkHalaman = $p->navHalaman($_GET[halaman], $jmlhalaman,$file); ?> <img src="images/print.png" width="32" height="32" border="0" onClick="doCetak('<?=$_POST[periode]?>')"> <span class="style171">Cetak Rekomendasi</span> <table width="100%" border="1" cellpadding="0" cellspacing="0" class="table-record" bgcolor="#FFFFFF"> <tr> <td colspan="13"><div align="center" class="style16"><span class="style17">Rekomendasi Penerima Bantuan Bedah Rumah Periode <?=$_POST[periode]?> </span></div></td> </tr> <tr bgcolor="#6cb5d5"> <th width="58" align="center" valign="middle"><span class="style14">No.</span></th> <th width="220" valign="middle"><span class="style14">Penerima</span></th> <th width="120" valign="middle"><span class="style14">Luas Lantai <br> C1</span></th> <th width="129" valign="middle"><span class="style14">Kondisi Dinding<br> C2</span></th>

99

<th width="114" valign="middle"><span class="style14">Kondisi Atap<br> C3</span></th> <th width="133" valign="middle"><span class="style14">Kondisi Lantai<br> C4</span></th> <th width="133" valign="middle"><span class="style14">Fasilitas MCK<br> C5</span></th> <th width="133" valign="middle"><span class="style14">Kondisi Pondasi<br> C6</span></th> <th width="133" valign="middle"><span class="style14">Kondisi Rumah<br> C7</span></th> <th width="133" valign="middle"><span class="style14">Nilai Akhir</span></th> </tr> <?php $n = 0;$hit=0;while($row = $jp->fetch($result)){ $n++; $z=$jp->sql("SELECT max(nilai) as maks, min(nilai) as ke from hasil "); $re=$jp->fetch($z); ?> <? if ($re[maks]==$row[nilai]) { $hit++; ?> <tr bgcolor="#CCFF66"> <? } else if ($re[ke]==$row[nilai]) { ?> <tr bgcolor="#FF0066"> <? } else { ?> <tr bgcolor="#FFFFFF"> <? } ?> <td width="58" align="right" valign="top"><span class="style12"> <?=$n?> .</span></td> <td width="220" valign="top" align="justify"><span class="style12"><b> <?=$row[idpenerima]?> <br> <?=$row[nama]?> </b> </span> <td width="120" align="right" valign="top"><span class="style12"> <?=($row[luas])?><br><?=$row[luasf]?> </span></td> <td width="129" align="right" valign="top"><span class="style12"> <?=$row[dinding]?><br><?=$row[dindingf]?> </span></td> <td width="114" align="right" valign="top"><span class="style12"> <?=$row[atap]?> <br><?=$row[atapf]?>

100

</span></td> <td width="114" align="right" valign="top"><span class="style12"> <?=$row[lantai]?> <br><?=$row[lantaif]?> </span></td> <td width="114" align="right" valign="top"><span class="style12"> <?=$row[mck]?> <br><?=$row[mckf]?> </span></td> <td width="114" align="right" valign="top"><span class="style12"> <?=($row[pondasi])?> <br><?=$row[pondasif]?> </span></td> <td width="114" align="right" valign="top"><span class="style12"> <?=$row[rumah]?> <br><?=$row[rumahf]?> </span></td> <td width="133" align="center" valign="top"><span class="style12"> <?=number_format($row[nilai], 4, '.', ' ');?> </span> </td> </tr> <?php } ?> </table> <?=$linkHalaman?> <script> function doCetak(tg1){ window.open("rkep.php?periode="+tg1+"&ctk=1", "stream", "width=1000,height=500,scrollbars=yes,menubar=yes,statusbar=no,toolbar=no,resizable=no "); } </script> </body> </html> 7. Proses.php <?php session_start(); include '../includes/lib.inc.php'; include APP_ROOT."/includes/class.inc.php"; include APP_ROOT."/includes/auth.inc.php"; include INCLUDES_DIR."/class.paging.php"; $jp = new jcore(); switch($_REQUEST[page]){ case "penerima": switch($_REQUEST[action]){ case "input":

101

$r = $jp->sql("select count(*) as j from penerima WHERE idpenerima='".$_REQUEST['idpenerima']."' "); $o=$jp->fetch($r); $kata = $_POST['id_edit']; $jumlah = strlen($kata); if(($o['j']>0) && ($jumlah<=0)){ $jp->alert('Data Penerima Sudah Dimasukan...'); $jp->gotox("index.php?page=penerima"); } else if($jumlah>0){ $q = "update penerima set " ." nama=\"".$_POST[nama]."\" " ." ,alamat='".$_POST[alamat]."',kota='".$_POST[kota]."',tmplhr='".$_POST[tmplhr]."',telepon='".$_POST[telepon]."' " ." ,tgllhr='".$_POST[tgllhr]."',jenkel=\"".$_POST[jenkel]."\" WHERE idpenerima='".$kata."' "; //echo $q; $jp->sql($q); $jp->alert('Data Penerima\nTelah Diubah...'); $jp->gotox("index.php?page=penerima"); } else { $q = "replace into penerima set " ." idpenerima='".$_POST[idpenerima]."',nama=\"".$_POST[nama]."\" " ." ,alamat='".$_POST[alamat]."',kota='".$_POST[kota]."',tmplhr='".$_POST[tmplhr]."',telepon='".$_POST[telepon]."' " ." ,tgllhr='".$_POST[tgllhr]."',jenkel=\"".$_POST[jenkel]."\" "; $jp->sql($q); $jp->alert('Data Penerima\nTelah Tersimpan...'); $jp->gotox("index.php?page=penerima"); } break; case "delete": $r = $jp->sql("delete from penerima where idpenerima=\"".$_REQUEST[idpenerima]."\""); $jp->alert('Data Penerima\nTelah Terhapus...'); $jp->gotox("index.php?page=penerima"); break; default: $jp->gotox("index.php?page=penerima"); break;

102

} break; case "nilai": switch($_REQUEST[action]){ case "input": $r = $jp->sql ("select count(*) as j from nilai WHERE idpenerima='".$_POST['idpenerima']."' and periode='".$_POST['periode']."' "); $o=$jp->fetch($r); $kata = $_POST['id_edit']; if ($_POST[luas] == '<=9 m2') { $luas = 1; } else { $luas = 0; } if ($_POST[dinding] == 'Rusak') { $dinding = 1; } else if ($_POST[dinding] == 'Sedang') { $dinding = 0.5; } else { $dinding = 0; } if ($_POST[atap] == 'Rusak') { $atap = 1; } else if ($_POST[atap] == 'Sedang') { $atap = 0.5; } else { $atap = 0; } if ($_POST[lantai] == 'Rusak') { $lantai = 1; } else if ($_POST[lantai] == 'Sedang') { $lantai = 0.5; } else { $lantai = 0; } if ($_POST[mck] == 'Tidak Ada') { $mck = 1; } else { $mck = 0; } if ($_POST[pondasi] == 'Tidak Safety') { $pondasi = 1; } else { $pondasi = 0; } if ($_POST[rumah] == 'Bukan Rumah Sehat') { $rumah = 1; }

103

else { $rumah = 0; } $jumlah = strlen($kata); if(($o['j']>0) && ($jumlah<=0)){ $jp->alert('Data Nilai Sudah Dimasukkan...'); $jp->gotox("index.php?page=nilai"); } else if($jumlah>0){ $q = "update nilai set " ." luas='".$_POST[luas]."',luasf='".$luas."',dinding='".$_POST[dinding]."',dindingf='".$dinding."',atap='".$_POST[atap]."',atapf='".$atap."',lantai='".$_POST[lantai]."',lantaif='".$lantai."',mck='".$_POST[mck]."',mckf='".$mck."',pondasi='".$_POST[pondasi]."',pondasif='".$pondasi."',rumah='".$_POST[rumah]."',rumahf='".$rumah."' WHERE idnilai='".$kata."' "; //echo $q; $jp->sql($q); $jp->alert('Data Nilai\nTelah Diubah...'); $jp->gotox("index.php?page=nilai"); } else { $q = "replace into nilai set " ." idpenerima=\"".$_POST[idpenerima]."\",periode=\"".$_POST[periode]."\" " ." , luas='".$_POST[luas]."',luasf='".$luas."',dinding='".$_POST[dinding]."',dindingf='".$dinding."',atap='".$_POST[atap]."',atapf='".$atap."',lantai='".$_POST[lantai]."',lantaif='".$lantai."',mck='".$_POST[mck]."',mckf='".$mck."',pondasi='".$_POST[pondasi]."',pondasif='".$pondasi."',rumah='".$_POST[rumah]."',rumahf='".$rumah."'"; //echo $q; $jp->sql($q); $jp->alert('Data Nilai\nTelah Tersimpan...'); $jp->gotox("index.php?page=nilai"); } break; case "delete": $r = $jp->sql("delete from nilai where idnilai='".$_REQUEST['idnilai']."' "); $jp->alert('Data Nilai\nTelah Terhapus...'); $jp->gotox("index.php?page=nilai"); break; default: $jp->gotox("index.php?page=nilai");

104

break; } break; } ?>

105

106