Post on 23-Nov-2020
TUGAS AKHIR – KS09 1336
PEMBUATAN VISUALISASI PEMETAAN LAHAN PERUMAHAN MENGGUNAKAN GOOGLE MAPS API DENGAN FASILITAS REKOMENDASI BERDASARKAN METODE AHP (STUDI KASUS: KOTA MOJOKERTO) ADHITYA ILHAM NUSANTARA NRP 5210 100 057 Dosen Pembimbing Bambang Setiawan, S.Kom., M.T. Renny Pradina Kusumawardani, S.T., M.T. JURUSAN SISTEM INFORMASI Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2015
FINAL PROJECT – KS09 1336 VISUALIZATION OF DEVELOPMENT MAPPING RESIDENTIAL LAND USE GOOGLE MAPS API BY FACILITY RECOMMENDATIONS BASED ON AHP (CASE STUDY : MOJOKERTO CITY)
ADHITYA ILHAM NUSANTARA NRP 5210 100 057 Supervisor Bambang Setiawan, S.Kom., M.T. Renny Pradina Kusumawardani, S.T., M.T. INFORMATION SYSTEM DEPARTEMENT Faculty of Information Technology Institut Teknologi Sepuluh Nopember Surabaya 2015
v
PEMBUATAN VISUALISASI PEMETAAN LAHAN PERUMAHAN MENGGUNAKAN GOOGLE MAPS API
DENGAN FASILITAS REKOMENDASI BERDASARKAN METODE AHP (STUDI KASUS:
KOTA MOJOKERTO) Nama Mahasiswa : Adhitya Ilham Nusantara NRP : 5210 100 057 Jurusan : Sistem Informasi FTIF-ITS Dosen Pembimbing I : Bambang Setiawan, S.Kom., M.T. Dosen Pembimbing II : Renny Pradina K. S.T, M.T ABSTRAK
Kota Mojokerto merupakan sebuah wilayah terkecil di
Provinsi Jawa Timur dan Indonesia dengan luas 16,465
km2.Luas yang terbatas dapat menimbulkan permasalahan
berupa penggunaan dan pemanfaatan lahan khususnya dalam
menentukan pembangunan perumahan bagi
masyarakat.Mengacu kepermasalahan tersebut peran
teknologi yang terus mengalami perkembangan yang begitu
pesat dapat membantu mengatasi permasalah tersebut serta
telah menjadi pendukung berbagai sektor bisnis dan mampu
meningkatkan value bisnis seperti meningkatkan produktivitas,
pelayanan dan lain sebagainya.
Pemanfaatan teknologi pembuatan visualisasi peta
digital berbasis web dengan menggunakan Google Maps API
dan beberapa bahasa pemrograman akan membangun sebuah
Visualisasi Pemetaan Penggunaan Lahan berbasis web untuk
menentukan pemetaan yang tepat bagi pembangunan
perumahan baru. Metode AHP digunakan sebagai
rekomendasi lokasi lahan untuk perumahan dengan meneliti
kondisi wilayah Kota Mojokerto berdasarkan kuisioner,data
spasial dan data non spasial.
vi
Diharapkan dengan terciptanya sistem informasi ini
dapat membantu proses pemetaan secara tepat mengenai
penggunaan lahan di wilayah kota Mojokerto serta mampu
memberikan informasi yang sesuai dan tepat mengenai
keadaan lahan.
Kata kunci: Google Maps API, data spasial, data non spasial,
penggunaan, perumahan, AHP.
vii
VISUALIZATION OF DEVELOPMENT MAPPING
RESIDENTIAL LAND USE GOOGLE MAPS API BY
FACILITY RECOMMENDATIONS BASED ON AHP (CASE
STUDY : MOJOKERTO CITY)
Student Name : Adhitya Ilham Nusantara NRP : 5210 100 057 Department : Sistem Informasi FTIF-ITS Supervisor I : Bambang Setiawan, S.Kom., M.T. Supervisor II : Renny Pradina K. , S.T., M.T ABSTRACT
Mojokerto is a small region in the province of East Java and Indonesia, with an area of 16.465 km2. Limited area can cause problems such as the utilization and use of land, especially in determining residential area development for its inhabitants. Referring to the problem, the role of technology that continues to experience rapid development can help addressing these issues and support a range of business sectors also be able to increase the business value such as increased productivity, service and so forth. Technology utilization in making web-based digital map using Google Maps API and some programming languages will be used to assist in building a web-based Land-use Visualization Mapping to determine appropriate mapping for residential area development. AHP is used as a field site recommendation for residential area by examining the condition of the city of Mojokerto based on questionnaire, spatial data and non-spatial data. It is expected that the creation of the information system can assist the process of accurately mapping the land-
viii
use in the city of Mojokerto and able to provide appropriate and timely information about the state of the land. Keyword : Google Maps API, spatial data,non spatial data,
land use, residential area, AHP.
ix
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT, karena berkat rahmat dan bimbingan-Nya penulis dapat menyelesaikan tugas akhir yang berjudul “Pembuatan Visualisasi Pemetaan Lahan Perumahan Menggunakan Google Maps API dengan Fasilitas Rekomendasi Berdasarkan Metode AHP (Studi Kasus: Kota Mojokerto)” yang merupakan salah satu syarat kelulusan pada Jurusan Sistem Informasi, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Surabaya. Terima kasih yang sebesar-besarnya dengan hati yang tulus ditujukan kepada: 1. Allah SWT yang telah memberikan kesempatan dan
petunjuk kepada penulis dalam menyelesaikan Tugas Akhir.
2. Orang Tua, Harol Kristiyandoko & Latifa Engeni Ambarwati yang selalu memberikan doa dan motivasi.
3. Kakak dan adik, Arsvira Dani Ardhala dan Astrid Tiara Bening yang selalu memberikan dukungan dan keceriaan selama mengerjakan tugas akhir ini.
4. Bapak Bambang Setiawan S.Kom, M.T selaku dosen pembimbing I, terima kasih atas motivasi, bimbingan dan arahan sehingga penulis dapat menyelesaikan tugas akhir ini.
5. Ibu Renny Pradina Kusumawardani, S.T, M.T selaku dosen pembimbing II, terimakasih atas motivasi, bimbingan dan arahan sehingga penulis dapat menyelesaikan tugas akhir ini.
6. Bapak Edwin Riksakomara S.Kom, M.T., selaku dosen penguji proposal dan progres yang telah bersedia menguji.
x
7. Bapak Nisfu Asrul Sani, S.Kom, MSc dan Arif Wibisono S.Kom, M.Sc., selaku dosen penguji sidang akhir yang telah bersedia menguji.
8. Bapak Dr.Eng, Febrian Samopa, S.Kom, M.Kom selaku selaku Ketua Jurusan Sistem Informasi terima kasih atas fasilitas yang diberikan selama menjadi mahasiswa di Jurusan Sistem Informasi.
9. Bapak Mudjahidin S.T, M.T selaku dosen wali, terima kasih atas motivasi dan arahan selama proses perkuliahan.
10. Mas Bambang Wijanarko yang telah memberikan tempat dan kenyamanan di laboratorium EBisnis.
11. Bapak dan Ibu Dosen pengajar di Jurusan Sistem Informasi ITS, yang telah memberikan ilmu yang berharga kepada penulis.
12. Bapak/Ibu dari berbagai macam instansi (Kantor Pertanahan, Bappeko, Perumnas, Perum Swasta, Kesbangpol, DPPKA) yang telah mengijinkan saya untuk kesediannya melakukan survey kuisioner serta diskusi untuk mendukung proses pengerjaan studi kasus Tugas Akhir saya.
13. Devota Rachmania Hardask, yang selalu memberikan dukungan, doa dan semangat selama pengerjaan tugas akhir ini.
14. Saudara-saudara seperjuangan Aji, Ekky, Adhika, Nanda, Imam, Febri, Rio, Fino, Bisma, Afif, Ivo,Dilo, Tasya, Yogantara, Yance, Yan, Faridl, Amal, Hamzah, Dita, Muci, Vicka, Farroh, Alin, Blantik, Tika yang selalu membantu dan memberikan inspirasi kepada penulis.
15. Teman–teman Ebisnis, AE9IS, FOXIS, BASILISK, SOLA12IS, Hublu HMSI Progresif, Hublu HMSI
xi
Berdedikasi, crew ISE 2012, teman-teman ITS. Terima kasih atas kebersamaan dan semua kenangan.
16. Berbagai pihak yang telah membantu penulis dalam menyelesaikan tugas akhir ini dan belum sempat penulis sebutkan satu per satu.
Akhir kata, penulis berharap tugas akhir ini dapat bermanfaat bagi kita semua.
Surabaya, 12 Januari 2015
Penulis
xiii
DAFTAR ISI
ABSTRAK ............................................................................. v ABSTRACT ......................................................................... vii KATA PENGANTAR ........................................................... ix DAFTAR ISI ....................................................................... xiii DAFTAR GAMBAR .......................................................... xvii DAFTAR TABEL ................................................................ xx BAB I PENDAHULUAN ...................................................... 1
1.1 Latar Belakang ........................................................... 1 1.2 Perumusan Masalah ................................................... 2 1.3 Batasan Tugas Akhir .................................................. 2 1.4 Tujuan Tugas Akhir ................................................... 3 1.5 Relevansi atau Manfaat Tugas Akhir ......................... 3
1.5.1 Relevansi ........................................................ 4 1.5.2 Manfaat ........................................................... 4
1.6 Keterkaitan dengan Road Map Laboratorium E – Bisnis dan SPK .................................................................. 4 1.7 Target Luaran ............................................................. 6 1.8 Penelitian Sebelumnya ............................................... 6 1.9 Sistematika Penulisan ................................................ 7
BAB II TINJAUAN PUSTAKA ............................................. 9 2.1 Pengertian Lahan ....................................................... 9 2.2 Penggunaan dan Pemanfataan Lahan ....................... 10 2.3 Perumahan ............................................................... 10 2.4 Kota Mojokerto ........................................................ 12 2.5 Badan Pertanahan Nasional (BPN) .......................... 14 2.6 ArcGIS ..................................................................... 14
2.6.1 ArcMap 10 .................................................... 15 2.7 Google Maps ............................................................ 15
2.7.1 Google Maps API ......................................... 15 2.8 KML (Key Markup Language) ................................ 15 2.9 Bahasa Pemrograman ............................................... 16
xiv
2.9.1 JavaScript ..................................................... 16 2.9.2 AJAX ............................................................ 17 2.9.3 HTML........................................................... 18 2.9.4 PHP .............................................................. 18 2.9.5 CSS ............................................................... 19
2.10 MySQL .................................................................... 19 2.11 AHP (Analytical Hierarchy Process) ....................... 21
2.11.1 Dasar Analytical Hierarchy Process (AHP) .. 21 2.11.2 Model Inputan .............................................. 25
BAB III METODOLOGI ...................................................... 29 3.1 Identifikasi Masalah ................................................. 30 3.2 Studi Literatur .......................................................... 30
3.2.1 Mempelajari teknologi visualisasi pemetaan 30 3.2.2 Mempelajari Analytical Hierarchy Process (AHP) 31
3.3 Penetapan Tujuan ..................................................... 31 3.4 Survey Kebutuhan (Data yang didapatkan) .............. 31 3.5 Verifikasi ................................................................. 32 3.6 Perancangan Sistem ................................................. 32
3.6.1 Membuat Arsitektur Sistem .......................... 32 3.6.2 Membuat Desain GUI Story Board ............... 32 3.6.3 Membuat Desain UML ................................. 32
3.7 Validasi .................................................................... 32 3.8 Implementasi Aplikasi ............................................. 33 3.9 Uji Coba ................................................................... 33 3.10 Pembuatan Laporan ................................................. 33
BAB IV ANALISIS KEBUTUHAN DAN DESAIN SISTEM ................................................................................ 35
4.1 Gambaran Umum Sistem ......................................... 35 4.2 Proses Wawancara Penentuan Kriteria ..................... 35 4.3 Pengumpulan Data ................................................... 35
4.3.1 Survey Peninjauan Lokasi Lahan .................. 36 4.4 Analisis AHP (Analytical Hierarchy Process) .......... 39 4.5 Analisis AHP Pemilihan Lahan Kota Mojokerto ..... 39
4.5.1 Penyebaran Kuesioner AHP ......................... 40
xv
4.6 Analisis Kebutuhan .................................................. 66 4.6.1 Analisis Kebutuhan User .............................. 67 4.6.2 Analisis Kebutuhan Fungsional .................... 67 4.6.3 Analisis Kebutuhan Non Fungsional ............ 70
4.7 Arsitektur Aplikasi ................................................... 71 4.8 Desain Sistem .......................................................... 71
4.8.1 Pembuatan Graphical User Interface
Storyboard Menggunakan Software \GUI Design Studio 72 4.8.2 Halaman Beranda ......................................... 72 4.8.3 Halaman Pemetaan Lahan ............................ 73 4.8.4 Halaman Rekomendasi Lahan ...................... 75 4.8.5 Halaman Galeri ............................................. 75 4.8.6 Halaman Peraturan ....................................... 76 4.8.7 Halaman Link Terkait ................................... 77 4.8.8 Halaman Informasi Aplikasi ......................... 77 4.8.9 Pembuatan Use Case Diagram ...................... 77 4.8.10 Pembuatan Robustness Diagram ................... 77 4.8.11 Pembuatan Sequence Diagram .................... 78
BAB V IMPLEMENTASI DAN UJICOBA ........................ 79 5.1 Lingkungan Implementasi ........................................ 79 5.2 Pembuatan Peta dan Konversi Peta .......................... 80 5.3 Merubah file .shp dalam ArcGIS ke file KML (Keyhole Markup Language) ........................................... 80 5.4 Pembuatan Database dengan menggunakan Basis Data MySQL ............................................................................ 85 5.5 Pembuatan Visualisasi Pemetaan ............................. 86
5.5.1 Halaman Beranda ......................................... 86 5.5.2 Halaman Pemetaan Lahan ............................ 87 5.5.3 Halaman Rekomendasi Lahan – Hitung Manual AHP 92 5.5.4 Halaman Rekomendasi Lahan - Hasil Penghitungan AHP................................................... 93 5.5.5 Halaman Rekomendasi Lahan – Detail Info Hasil Hitung AHP .................................................. 109
xvi
5.5.6 Halaman Rekomendasi Lahan – Lihat Peta Rekomendasi .......................................................... 111 5.5.7 Halaman Cari Lahan ................................... 113 5.5.8 Halaman Peraturan ..................................... 116 5.5.9 Halaman Link Terkait ................................. 117
5.6 Uji Coba ................................................................. 119 5.6.1 Uji Coba Fungsional ................................... 119 5.6.2 Uji Coba Non-Fungsional ........................... 123 5.6.3 Uji Coba Server .......................................... 129
BAB VI KESIMPULAN DAN SARAN............................ 145 6.1 Kesimpulan ............................................................ 145 6.2 Saran ...................................................................... 146
DAFTAR PUSTAKA ......................................................... 147 BIODATA PENULIS ......................................................... 149 LAMPIRAN A Kuesioner AHP......................................... A-1 LAMPIRAN B Hasil Kuesioner AHP ............................... B-1 LAMPIRAN C DIAGRAM USE CASE............................. C-1 LAMPIRAN D DESKRIPSI DIAGRAM USE CASE ....... D-1 LAMPIRAN E DIAGRAM ROBUSTNESS ...................... E-1 LAMPIRAN F DIAGRAM SEQUENCE ............................F-1 LAMPIRAN G TEST CASE .............................................. G-1 LAMPIRAN H FOTO KONDISI LAHAN ........................ H-1 LAMPIRAN I SOURCE CODE .......................................... I-1
xvii
DAFTAR GAMBAR
Gambar 1. 1 Road Map Lab E-Business .................................. 5 Gambar 1. 2 Road Map Lab SPK............................................. 5 Gambar 2. 1 Peta Kota Mojokerto (http://mojokertokota.go.id/media.php/profil/kondisi_geo) ... 12 Gambar 2. 2 Peta Kota Mojokerto (Google Maps) ................ 13 Gambar 2. 3 Logo BPN ......................................................... 14
Gambar 3. 1 Metodologi Penelitian ....................................... 29
Gambar 4. 1 Flowchart Metode AHP..................................... 40 Gambar 4. 2 Hierarchy Penentuan Kriteria ............................ 41 Gambar 4. 3 Arsitektur Sistem ............................................... 71 Gambar 4. 4 UI Halaman Beranda ......................................... 72 Gambar 4. 5 UI Pemetaan Lahan ........................................... 73 Gambar 4. 6 UI Rekomendasi Lahan ..................................... 75 Gambar 4. 7 UI Gallery ......................................................... 76 Gambar 4. 8 UI Peraturan ...................................................... 76
Gambar 5. 1 Tampilan ArcGIS 10 ......................................... 81 Gambar 5. 2 Layer Vektor ..................................................... 82 Gambar 5. 3 Load Peta .shp ................................................... 82 Gambar 5. 4 Pilih Peta Shapefile ........................................... 83 Gambar 5. 5 Hasil Load Peta Shapefile ................................. 83 Gambar 5. 6 Konversi Peta .................................................... 84 Gambar 5. 7 Opsi Penyimpanan ke KML .............................. 84 Gambar 5. 8 File KML Penggunaan Lahan............................ 85 Gambar 5. 9 Data Perbandingan Lahan.................................. 85 Gambar 5. 10 Data Lokasi Lahan .......................................... 86 Gambar 5. 11 Tampilan UI Beranda VIS ............................... 87 Gambar 5. 12 Tampilan UI Pemetaan Lahan ......................... 88 Gambar 5. 13 Checkbox Penggunaan Lahan ......................... 89
xviii
Gambar 5. 14 Tampilan UI Rekomendasi Lahan Hitung AHP 1 ............................................................................................... 92 Gambar 5. 15 Tampilan UI Rekomendasi Lahan Hitung AHP 2 ............................................................................................... 93 Gambar 5. 16 Tampilan UI Hasil Hitung AHP ...................... 93 Gambar 5. 17 Tampilan Aplikasi Input Kriteria -1 ................ 97 Gambar 5. 18 Tampilan Aplikasi Hasil AHP - 1 .................. 100 Gambar 5. 19 Tampilan Aplikasi Input Kriteria - 2 ............. 100 Gambar 5. 20 Tampilan Aplikasi Hasil AHP ....................... 103 Gambar 5. 21 Tampilan Aplikasi Input Kriteria - 3 ............. 104 Gambar 5. 22 Tampilan Aplikasi Hasil AHP ....................... 106 Gambar 5. 23 Tampilan Aplikasi Input Kriteria - 4 ............. 107 Gambar 5. 24 Tampilan Aplikasi Hasil AHP - 4 .................. 109 Gambar 5. 25 UI Detail Info Lahan ..................................... 110 Gambar 5. 26 Lihat Peta Rekomendasi Lahan ..................... 112 Gambar 5. 27 Tampilan UI Cari Lahan ................................ 113 Gambar 5. 28 UI Peraturan Daerah ...................................... 116 Gambar 5. 29 Website Pemerintah Kota Mojokerto ............ 117 Gambar 5. 30 Website Kantor Pertanahan Kota Mojokerto . 118 Gambar 5. 31 Website Bappeko Mojokerto ......................... 118 Gambar 5. 32 Pemilihan Kriteria ......................................... 119 Gambar 5. 33 Tampilan Hitung AHP................................... 120 Gambar 5. 34 Hasil Perhitungan AHP ................................. 120 Gambar 5. 35 Halaman Cari Lahan ..................................... 121 Gambar 5. 36 Halaman Hasil Cari Lahan ............................ 121 Gambar 5. 37 Lihat Peta Cari Lahan .................................... 122 Gambar 5. 38 Detail Info PxL Lahan ................................... 122 Gambar 5. 39 Logo BrowserStack ....................................... 123 Gambar 5. 40 Logo Acunetix ............................................... 130 Gambar 5. 41 Tampilan Umum Accunetix Metode SQL ..... 130 Gambar 5. 42 Pengisian URL dan Metode Uji Coba ........... 131 Gambar 5. 43 Hasil Scan Metode Blind SQL Injection ....... 131 Gambar 5. 44 Activity Windows Acunetix .......................... 132 Gambar 5. 45 Peringatan Hasil Scan Ancaman Metode Blind SQL Injection ...................................................................... 132
xix
Gambar 5. 46 Hasil Scan Metode Default ............................ 133 Gambar 5. 47 Hasil Scan MetodeDefault – 2 ....................... 133 Gambar 5. 48 Peringatan Hasil Scan Metode Default .......... 134 Gambar 5. 49 Tampilan Umum Acunetix Metode AcuSensor ............................................................................................. 135 Gambar 5. 50 Hasil Scan Metode AcuSensor ..................... 135 Gambar 5. 51 Peringatan Hasil Metode AcuSensor ............. 136 Gambar 5. 52 Tampilan Awal LOIC .................................... 137 Gambar 5. 53 LOIC - Lock On IP Target ............................ 138 Gambar 5. 54 Opsi Penyerangan Web ................................. 138 Gambar 5. 55 Hasil Penyerangan LOIC ............................... 139 Gambar 5. 56 Logo Apache JMeter ..................................... 139 Gambar 5. 57 Tampilan Awal Jmeter .................................. 140 Gambar 5. 58 Membuat Thread Group ................................ 140 Gambar 5. 59 Input Thread Group ....................................... 141 Gambar 5. 60 Memulai HTTP Request ................................ 141 Gambar 5. 61 Input HTTP Request ...................................... 142 Gambar 5. 62 Pengaturan Proxy .......................................... 142 Gambar 5. 63 Memulai View Result in Table ...................... 143 Gambar 5. 64 Tombol Memulai Eksekusi ............................ 143 Gambar 5. 65 Persetujuan Penyimpanan Hasil Uji .............. 143 Gambar 5. 66 Direktori Penyimpanan .................................. 144 Gambar 5. 67 Hasil Uji JMeter ............................................ 144
1
BAB I PENDAHULUAN
Pada bab ini, akan dijelaskan tentang Latar Belakang Masalah, Perumusan Masalah, Batasan Masalah, Tujuan Tugas Akhir, dan Relevansi atau Manfaat Kegiatan Tugas Akhir.
1.1 Latar Belakang
Kota Mojokerto merupakan sebuah wilayah terkecil di Provinsi Jawa Timur dengan luas 16,465 km2[1]. Luas yang terbatas dapat menimbulkan permasalahan mengenai penggunaan dan pemanfataan lahan antara lain ketidak akuratan informasi penggunaan lahan dan pemetaan pemanfaatan lahan yang tidak sesuai dengan kondisi yang sebenarnya. Masalah tersebut didukung dengan kebutuhan data yang konkrit dan sesuai dengan kondisi eksisting Kota Mojokerto dalam hal pemanfaatan lahan menurut Undang – Undang (UU) no.26 tahun 2007 mengenai rencana taat ruang dan Undang-Undang Pokok Agraria (UUPA) no. 5 1960 [2]. Sehingga data dan informasi penggunaan dan pemanfaatan lahan belum mampu dimanfaatkan oleh instansi pemerintah setempat seperti Kantor Pertanahandan Badan Pengembangan Kota (Bappeko).
Data dan informasi lahan digunakan oleh instansi pemerintah setempat dan masyarakat guna memantau kondisi penggunaan dan pemanfaatan lahan di wilayah Kota Mojokerto.Agar informasi penggunaan lahan bisa digunakan dengan capat, akurat dan informatif, harus dapat ditampilkan visualisasi secara geografis dengan menggunakan teknologi berbasis web. Dengan menggunakan metode AHP (Analytical Hierarchy Process) sebagai pendukung keputusan mengenai penggunaan lahan sebagai perumahan dari kriteria-kriteria yang telah ditentukan juga dilakukan pembobotan sehingga
2
lokasi yang didapatkan sesuai dengan harapan. Sehingga, melalui Visualisasi Pemetaan ini dapat membantu instansi terkait untuk memantau kondisi pemetaan lahan di Kota Mojokerto secara visual juga dapat mempertimbangkan rencana pembangunan yang tepat guna bagi kemajuan tata Kota Mojokerto.
Harapannya melalui visualisasi pemetaan ini terciptanya informasi berbasis web dengan peta digital menggunakan Google Maps API, KML, MySQL ini untuk membantu mengetahui kondisi dan memberikan rekomendasi yang sesuai mengenai pembangunan lahan perumahan baru di Kota Mojokerto dengan informasi yang akurat dan tepat mengenai kondisi riil di lapangan.
1.2 Perumusan Masalah
Berdasarkan latar belakang yang telah disebutkan pada sub bab sebelumnya, permasalahan yang akan diangkat dalam tugas akhir ini adalah:
1. Bagaimana menentukan kebutuhan aplikasi Visualisasi Pemetaan Lahan Perumahan Kota Mojokerto?
2. Bagaimana menentukan rekomendasi lokasi perumahan dengan metode AHP pada visualisasi peta?
3. Bagaimana merancang aplikasi visualisasi pemetaan lahan perumahan Kota Mojokerto?
4. Bagaimana implementasi Visualisasi Pemetaan Lahan Perumahan dapat memberikan informasi yang lengkap dan detail sesuai kondisi dunia nyata?
1.3 Batasan Tugas Akhir
Batasan dalam pengerjaan tugas akhir ini antara lain: 1. Sistem Informasi ini dibuat hanya mencakup area
sebagai studi kasus yaitu Kota Mojokerto 2. Data yang digunakan merupakan data spasial peta
tematik yang terkait mengenai penggunaan lahan dari
Kantor Pertanahan Kota Mojokerto, data statistik Kota Mojokerto dari Dinas Pendapatan dan Pengelolaan Aset Daerah Kota Mojokerto dan BPS dan
3. Kuisioner AHP dilakukan untuk mengetahui penentuan rekomendasi lahan perumahan dengan stakeholder yang telah ditentukan.
4. Visualisasi Pemetaan Lahan Perumahan berbasis web dengan membuat digitasi menggunakan tool ArcGIS dari ESRI yakni ArcMap, Google Maps API sebagai Web Mapping Server, KML (Keyhole Markup Language) sebagai overlay peta, MySQL sebagai database spasial peta, Bahasa pemrograman yang digunakan yakni JavaScript, PHP, HTML dan CSS Bootstrap untuk tampilan.
1.4 Tujuan Tugas Akhir
Adapun tujuan dari pengerjaan tugas akhir ini: 1. Membantu instansi terkait memetakan secara tepat
mengenai kondisi penggunaan dilahan di Kota Mojokerto
2. Memberikan pendukung keputusan berupa rekomendasi terhadap rencana penggunaan lahan untuk perumahan.
3. Memberikan kemudahan pemantauan secara geografis dengan adanya visualiasasi pemetaan lahan.
1.5 Relevansi atau Manfaat Tugas Akhir
Berikut ini adalah relevansi dan manfaat yang diharapkan dari penelitian tugas akhir ini bagi instansi terkait di Kota Mojokerto adalah:
4
1.5.1 Relevansi
Relevansi sebagai berikut:
1. Memahami dan mengetahui bagaimana model pemetaan penggunaan lahan perumahan dengan metode AHP pada Kota Mojokerto.
2. Memahami dan mengetahui penerapan yang digunakan untuk membuat aplikasi Visualisasi Pemanfaatan dan Penggunaan Lahan Kota Mojokerto.
1.5.2 Manfaat
Sebagai sebuah aplikasi visualisasi pemetaan berbasis web yang bisa bermanfaat oleh beberapa instansi terkait di Kota Mojokerto seperti Kantor Pertanahan, Dinas Pendapatan dan Pengelolaan Aset Daerah, dan Bappeko Kota untuk mengetahui informasi kondisi kekinian penggunaan dan pemanfaatan lahan. Serta mampu memberikan rekomendasi lahan perumahan yang tepat guna. 1.6 Keterkaitan dengan Road Map Laboratorium E –
Bisnis dan SPK
Pembuatan tugas akhir ini tidak lepas dari road map laboratorium E – Bisnis dan SPK (Sistem Pendukung Keputusan) seperti yang tertera pada gambar 1. Hal ini berkaitan dengan rencana pengembangan dan penelitian yang dilaksanakan oleh laboratorium E – Bisnis. Terdapat 4 aspek penelitian yang dilakukan diantaranya Perencanaan Proses E – Bisnis, Teknologi dan Infrastruktur E – Bisnis, Proses dan Masalah Etika – Sosial E – Bisnis, dan Pengukuran Kerja E – Bisnis.
Gambar 1. 1 Road Map Lab E-Business
Topik pada tugas akhir ini terdapat pada ruas ketiga di pohon penelitian laboratorium E – Bisnis (Gambar 1) yaitu tentang proses dan Masalah Etika Sosial – Legal dan termasuk dalam sub Ethical and Political Issue
Gambar 1. 2 Road Map Lab SPK
6
1.7 Target Luaran
Target luaran yang diharapkan dari pengerjaan tugas akhir ini adalah
1. Dokumentasi berupa Tugas Akhir. 2. Aplikasi Visualisasi Pemetaan Lahan Kota Mojokerto
berbasis web. 3. Dokumentasi berupa Jurnal Ilmiah (POMITS).
1.8 Penelitian Sebelumnya
1. Sistem Informasi Geografis (SIG) Tempat Peribadatan
Wilayah Surabaya oleh Lisa Ambarwati dari Teknik Informatika PENS 2011. Penulis menjelaskan mengenai salah satu teknologi SIG yang dipakai dengan menggunakan Mapserver untuk melakukan pemetaan tempat ibadah khususnya Masjid dengan metode AHP (Analytical Hierarchy Process) yang ditampilkan dalam basis web.
2. Pengembangan Database Spasial untuk pembuatan aplikasi berbasis GIS oleh Saefurrohman dari Fakultas Teknologi Informasi, Universitas Stikubank Semarang 2010. Penulis menjelaskan bagaimana menghasilkan database yang layak dalam pembuatan Sistem Informasi Geografis.
3. Penggunaan SIG untuk Pengembagan Potensi Pekeretapian oleh Firman Prasetyo dari Fakultas Teknologi Sipil dan Perencanaan, Teknik Geomatika ITS 2010. Penulis menjelaskan bagaimana menghasilkan peta informasi mengenai potensi perkeretaapian dengan studi kasus stasiun Pasar Turi menuju statiun Bojonegoro dengan menggunakan berbagai macam tools seperti Autocad Land Desktop, Arcview 3.3, dan Visual Basic.
4. Pembuatan Sistem Informasi Geografis Reklame Menggunakan Teknologi Google Maps pada Platform Ruby on Rail dan Flex (Studi Kasus: Tim Reklame Kota Surabaya) Oleh Riyanto Jayadi dari Jurusan Sistem Informasi, ITS 2011.
5. Design for Information System of the Regional Land Use Change Based on GIS oleh Ren Xuehui dari Lioning Normal University Dalian, China.
6. Sistem Informasi Geografis untuk Penentuan Lokasi SPBU baru di Surabaya oleh Mokhamad Nurdiansyah dari Teknik Informatika PENS.2011
1.9 Sistematika Penulisan
Sistematika penulisan buku tugas akhir dibagi menjadi 6 bab sebagai berikut.
BAB I PENDAHULUAN Pada bab ini dipaparkan mengenai hal-hal yang melatarbelakangi penelitian, rumusan dan batasan permasalahan dalam penelitian, tujuan dan relevansi atau manfaat penelitian terhadap permasalahan, keterkaitan roadmap, target luaran, penelitian sebelumnya, serta sistematika penulisan dalam penulisan laporan tugas akhir ini. BAB II TINJAUAN PUSTAKA Pada bab ini diberikan uraian mengenai konsep penjelasan mengenai pustaka-pustaka yang menjadi referensi seperti lahan, penggunaan dan pemanfaatan, perumahan, AHP, ArcGIS, Google Maps API, KML JavaScript dan lain sebagainya.
8
BAB III METODOLOGI PENELITIAN Pada bab ini diuraikan secara rinci mengenai tahapan-tahapan yang dilakukan untuk melakukan penelitian mulai dari studi pendahuluan sampai pembuatan kesimpulan dalam penyelesaian tugas akhir.
BAB IV ANALISIS KEBUTUHAN DAN DESAIN SISTEM
Pada bab ini berisi penjelasan tentang analisis kebutuhan sistem informasi berdasarkan hasil pengumpulan data di lapangan serta penjelasan mengenai desain rancangan sistem informasi berupa desain UML (Unified Modeling Languages) sesuai dengan kebutuhan.
BAB V IMPLEMENTASI DAN UJI COBA Bab ini menjelaskan tentang implementasi hasil sistem maupun tahap ujicoba dengan menggunakan analisis dan desain yang telah dijelaskan pada baba sebelumnya. BAB VI KESIMPULAN DAN SARAN Bagian ini berisi kesimpulan dari seluruh proses pengerjaaan tugas akhir beserta saran yang diajukan untuk proses pengembangan selanjutnya.
9
BAB II TINJAUAN PUSTAKA
Untuk memudahkan pemahaman tentang apa yang akan dilakukan pada tugas akhir ini, berikut ini akan di paparkan tentang konsep dan teknologi apa saja yang akan digunakan atau di terapkan. Adapun penerapan teknologi yang akan dilakukan pada tugas akhir ini adalah sebagai berikut.
2.1 Pengertian Lahan
Pada sebuah Negara keberadaan lahan merupakan komoditas yang bernilai ekonomis,dan kebutuhan lahan selalu meningkat tiap tahunnya. Menurut Kivvell, berikut ini merupakan factor yang menyebabkan meningkatnya kebutuhan lahan
1. Penduduk yang berkembang pesat menyebabkan tingginya tingkat kebutuhan akan lahan
2. Meningkatnya tingkat kemakmuran seseorang mempengaruhi kebutuhan akan lahan
3. Peraturan Sistem trasnportasi dan komunikasi.[5]
Lahan di dalam penggunaanya memiliki karakteristik khusus yang unik apabila kita bandingkan dengan sumberdaya lainnya, yaitu:
1. Lahan merupakan aset ekonomis yang tidak terpengaruh oleh penurunan nilai dan harganya tidak terpengaruh oleh faktor waktu
2. Jumlah lahan terbatas dan tidak dapat bertambah, kecuali melalui reklamasi
3. Lahan secara fisik tidak dapat dipindahkan, sehingga lahan yang luas di suatu daerah merupakan keuntungan
10
bagi daerah yang tidak dapat dialihkan dan dimiliki oleh daerah lain
4. Lahan mempunyai nilai dan harga 5. Hak atas lahan dapat dimiliki dengan aturan tertentu[6].
2.2 Penggunaan dan Pemanfataan Lahan
Menurut UUPA (Undang-Undang Pokok Agraria) no 5 tahun 1960, hak atas lahan bisa secara individu, komunal, badan usaha, instansi, dan lain sebagainya. Hak atas lahan terdiri dari:
1. Hak milik (hak yang mempunyai kekuasaan tertinggi)
2. Hak guna bangunan (hak mendirikan dan menggunakan bangunan yang ada di atas tanah bukan miliknya dalam jangka waktu tertentu)
3. Hak guna usaha (hak untuk mengusahakan tanah milik negara dalam jangka waktu tertentu untuk kegiatan produksi-pertanian, peternakan dan perikanan)
4. Hak pakai (hak menggunakan dan memungut hasil yang ada di atasnya dari tanah milik negara atau orang lain)
5. Hak sewa (hak menggunakan tanah dan bangunan dengan perjanjian sewa menyewa dengan jangka waktu tertentu)[7].
2.3 Perumahan
Secara harfiah perumahan merupakan kelompok rumah yang berfungsi sebagai lingkungan tempat tinggal atau lingkungan hunian yang dilengkapi dengan infrastruktur dan sarana prasarana lingkungan. Menurut SNI 03-1733-2004 tentang Tata Cara Perencanaan Lingkungan Perumahan di Perkotaan lokasi lingkungan perumahan harus memenuhi ketentuan sebagai berikut:
11
Lokasi perumahan harus sesuai dengan rencana peruntukan lahan yang diatur dalam Rencana Tata Ruang Wilayah (RTRW) setempat atau dokumen perencanaan lainnya yan ditetapkan dengan Peraturan Daerah yang dilakukan penelitian. Kriteria tersebut sebagai berikut:
1. Kriteria keamanan, dicapai dengan mempertimbangkan bahwa lokasi tesebut bukan merupakan kawasan lindung (catchment area), olahan pertanian, hutan produksim daerah buangan limbah pabrik,daerah bebas bangunan pada area Bandara, daerah dibawah jaringan tegangan tinggi.
2. Kriteria kesehatan, dicapai dengan mempertimbangkan bahwa lokasi tersebut bukan daerah yang mempunyai pencemaran udara diatas ambang batas, pencemaran air permukaan dan air tanah dalam.
3. Kriteria kenyamanan, dicapai dengan kemudahan pencapaian (aksesibilitas), kemudahan berkomunikasi (internal/eksternal, langsung atau tidak langsung), kemudahan berkegiatan (sarana dan prasarana lingkungan tersedia).
4. Kriteria keindahan/ keserasian/ keteraturan (kompatibilitas), dicapai dengan penghijauan, mempertahankan karakteristik topografi dan lingkungan yang ada, misalnya tidak meratakan bukit, mengurug seluruh seluruh rawa atau danau / setu/ sungai/ kali dan sebagainya.
5. Kriteria fleksibilitas, dicapai dengan mempertimbangkan kemungkinan pertumbuhan fisik/ pemekaran lingkungan perumahan dikaitkan dengan kondisi fisik lingkungan dan keterpanduan prasarana.
12
6. Kriteria keterjangkauan jarak, dicapai dengan mempertimbangkan jarak pencapaian ideal kemampuan orang berjalan kaki sebagai pengguna lingkungan terhadap penempatan sarana dan prasarana utilitas lingkungan.
7. Kriteria lingkungan berjati diri, dicapai dengan mempertimbankan keterkaitan dengan karakter social budaya masyarakat setempat, terutama aspek konstektual terhadap lingkungan tradisional/ local setempat.
8. Lokasi perencanaan perumahan harus berada pada lahan yang jelas status kepemilikannya dan memenuhi persyaratan administratif, teknis, dan ekologis
2.4 Kota Mojokerto
Kota Mojokerto merupakan sebuah kota terkecil yang ada di Indonesia dengan luas wilayah sebesar 16,465 km2 .
Gambar 2. 1 Peta Kota Mojokerto (http://mojokertokota.go.id/media.php/profil/kondisi_geo)
13
Pada Gambar 2.1 dan Gambar 2.2 merupakan penampakan peta Kota Mojokerto yang dibagi menjadi 2 kecamatan yaitu kecamatan Magersari dan kecamatan PrajuritKulon.
Gambar 2. 2 Peta Kota Mojokerto (Google Maps)
Wilayah Kota Mojokerto adalah sebuah kota kecil di sebelah barat daya Surabaya. Secara geografis Kota Mojokerto berada di antara 7°33' LS dan 122°28' BT dengan batas-batas wilayah sebagai berikut:
Sebelah Utara : Sungai Brantas Sebelah Timur : Kecamatan Puri Kabupaten Mojokerto Sebelah Selatan : Kecamatan Sooko dan Puri Kabupaten Mojokerto Sebelah Barat : Kecamatan Sooko Kabupaten
Mojokerto [1]
14
2.5 Badan Pertanahan Nasional (BPN)
Gambar 2. 3 Logo BPN
Badan Pertanahan Nasional (BPN) adalah Lembaga Pemerintah Non Departemen yang berada di bawah dan bertanggung jawab kepada Presiden dan dipimpin oleh Kepala.(Sesuai dengan Perpres No. 10 Tahun 2006).Badan Pertanahan Nasional mempunyai tugas melaksanakan tugas pemerintahan di bidang pertanahan secara nasional, regional dan sektoral[8].
2.6 ArcGIS
ArcGIS merupakan salah satu tools dalam proses pengembangan visualisasi pemetaanyang dikembangkan oleh Environmental System Research Institute (ESRI) yang bisa dipakai di banyak di berbagai sektor, mulai dari sektor pemerintahan, akademisi, maupun di sektor masyarakat. Dalam tools ArcGIS terdapat beberapa komponen aplikasi yang terintegrasi yaitu ArcMap, ArcCatalog, dan ArcToolbox, dimana semua komponen tersebut sangat membantu dalam hal proses pembuatan dan menampilkan obyek geografis dalam bentuk peta yang memuat beberapa informasi atau data spasial yang masing-masing ditampilkan dalam bentuk layer per layer.
15
2.6.1 ArcMap 10
ArcMap merupakan komponen utama dari aplikasi ArcGIS yang berfungsi untuk membuat dan memanipulasi data set spasial yang digunakan sebagai infommasi dan dapat melakukan operasi, reporting query, edit, komposisi, publikasi peta [13].
2.7 Google Maps
Google Maps merupakan sebuah layanan yang diciptakan oleh perusaahan mesin pencari terbesar di dunia yaitu Google pada bidang aplikasi peta secara online. Fitur yang dimiliki Google Maps sangat bermanfaat untuk melakukan pencariaan lokasi berdasarkan lokasi dengan menggunakan kata kunci yang telah ditentukan seperti nama kota, tempat, fasilitas dan lainnya.
2.7.1 Google Maps API
Google Maps API (Application Programming Interface) adalah sebuah interface yang disediakan Google untuk membangun sebuah perangkat lunak yang terdiri dari fungsi, kelas dan sebagainya. API dapat membantu mengembangkan perangkat lunak yang kemudian mengintegrasikan dengan aplikasi satu dan aplikasi lainnya. Beberapa bahasa pemrograman yang dapat digunakan antara lain HTML,
Javascript , XML dan AJAX. Keunggulan dari API adalah memungkinkan suatu aplikasi dengan aplikasi lainnya dapat saling berhubungan dan berinterkasi.
2.8 KML (Key Markup Language)
Keyhole Markup Language (KML) adalah sebuah XML berbasis bahasa geografis skema untuk mengungkapkan penjelasan dan visualisasi yang ada atau masa depan Web-
16
based, peta dua dimensi dan tiga dimensi Bumi browser. KML menggunakan struktur berbasis tag dengan elemen bersarang dan atribut dan didasarkan pada standar XML. Semua tag adalah case-sensitive dan harus muncul persis seperti yang tercantum dalam Referensi KML. Referensi ini menunjukkan tag yang bersifat opsional. Dalam suatu unsur tertentu, tag harus muncul dalam urutan yang ditunjukkan dalam Referensi. KML ini dikembangkan untuk digunakan dengan Google Earth, yang awalnya bernama Keyhole Earth Viewer. KML diciptakan oleh Keyhole, Inc, yang diakuisisi oleh Google pada tahun 2004.
2.9 Bahasa Pemrograman
2.9.1 JavaScript
Javascript adalah bahasa scripting yang digunakan untuk membuat aplikasi web, sifatnya client-side sehingga dapat diolah langsung di browser tanpa harus terhubung keserver terlebih dahulu. Walaupun namanya menggunakan kata “Java”, Javascript tidak berhubungan dengan bahasa program Java, meskipun keduanya memiliki kemiripan dalam hal syntax yang meniru bahasa C. Kegunaan utama JavaScript adalah untuk menuliskan fungsi yang disisipkan kedalam HTML baik secara langsung disisipkan maupun diletakan ke file teks dan di link dari dokumen HTML
JavaScript memiliki standar, yaitu ECMAScript. Sejak 2012, semua perangkat terbaru mendukung ECMAScript 5.1. Perangkat yang lebih tua mendukung sedikitnya ECMAScript 3.
17
2.9.2 AJAX
AJAX merupakan singkatan dari Asynchorus JavaScript and XMLHTTP adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada computer web surfer, melakukan pertukaran data dengan server dibelakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan dan usabilitiy. AJAX merupakan kombinasi dari:
DOMA yang diakses dengan client side scripting
language, seperti VBScript dan implementasi ECMAScript seperti JavaScript dan Jscript untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan
Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum diimplementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa framework AJAX, elemen HTML IFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk melakukan pertukaran data dengan web server.
XML umumnya digunakan sebagai dokumen transfer, walaupun format lain juga memungkinkan, seperti HTML, plain text. XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses penanganannya dengan memakai DOM
JSON dapat menjadi pilihan alternatif sebagai dokumen transfer, mengingat JSON adalah JavaScript itu sendiri sehingga penanganannya lebih mudah.
18
2.9.3 HTML
HTML5 (Hypertext Markup Language version 5) adalahsebuah bahasa markah yang menstrukturkan isi dari WorldWide Web yang merupakan teknologi utama pada internet. HTML5 juga mempunyai standar untuk menyempurnakan elemen-elemen yang terdapat pada standar sebelumnya dan menambahkan beberapa fitur-fitur yang baru untuk mendukung pembuatan aplikasi website yang lebih kompleks.[16]
2.9.4 PHP
PHP, yang merupakan singkatan dari Hypertext
Preprocessor, digunakan sebagai bahasa script.server-side dalam pengembangan web yang disisipkan pada dokumen HTML . PHP adalah bahasa server-side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Pembuatan web merupakan kombinasi antara PHP sebagai bahasa pemrograman dan HTML sebagai pembangun halaman web.PHP merupakan software yang Open Source dan mampu lintas platform, yaitu yang dapat digunakan dengan sistem operasi dan web server apapun.
Adapun kelebihan-kelebihan dari PHP yaitu:
1. PHP mudah dibuat dan kecepatan akses tinggi 2. PHP dapat berjalan dalam web server yang
berbeda dan dalam sistem operasi yang berbeda pula.
3. PHP diterbitkan secara gratis 4. PHP termasuk server-side programming 5. PHP digunakan pada semua sistem operasi
Linux, Unix, Microsoft Windows, Macintosh. 6. PHP tidak terbatas hasil keluaran HTML
(Hypertext Markup Languages)
19
Sistem database yang didukung PHP adalah:
1. Oracle 2. Sybase 3. mSQL 4. MySQL 5. Solid 6. Generic ODBC 7. Postgres SQL[12]
2.9.5 CSS
CSS (Cascading Style Sheet) merupakan alat yang berfungsi untuk mengatur tampilan dengan kemampuan jauh lebih baik dari tag maupun atribut standar HTML. CSS sebenarnya merupakan suatu kumpulan atribute untuk mengontrol tampilan, bahkan tampilan banyak dokumen secara bersamaan.Keuntungan menggunakan CSS yaitu jika ingin mengubah format dokumen, maka tidak perlu mengedit satu per satu.
Penggunaan CSS ada dua cara, yaitu dengan menyisipkan kode CSS langsung dalam kode HTML atau simpan menjadi file tersendiri berekstensi .css. Dengan menyimpan sebagai file tersendiri akan lebih memudahkan untuk mengontrol tampilan dan banyak dokumen secara langsung. CSS mendapat dukungan penuh pada browser versi 4 dan pada versi sebelumnya, hanya dengan Internet Explorer yang masih mampu mengenali CSS.Perlu diketahui bahwa tampilan CSS dapat berubah bila ditampilkan pada menu browser yang berbeda pula [16].
2.10 MySQL
MySQL merupakan database yang dikembangkan dari bahasa SQL(Structure Query Language). SQL sendiri
20
merupakan bahasa yang terstruktur yang digunakan untuk interaksi antara script program dengan database server dalam hal pengolahan data. Dengan SQL, kita dapat membuat tabel yang nantinya akan diisi dengan data, memanipulasi data (misalnya menambah data, menghapus data dan memperbaharui data ), serta membuat suatu perhitungan dengan berdasarkan data yang ditemukan. MySQL merupakan software resmi yang dikembangkan oleh perusahaan Swedia bernama MySQL AB, yang waktu itu bernama TcX Data Konsult AB.
MySQL memiliki beberapa kelebihan antara lain: MySQL dapat berjalan stabil pada berbagai sistem
operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik (multi user).
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
MySQL mampu menangani basis data dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
21
2.11 AHP (Analytical Hierarchy Process)
Analytical Hierarchy Process diperkenalkan oleh Thomas L. Staaty pada periode 1971-1975 di Wharton School.AHP adalah sebuat metode untuk memecahkan permasalahan yang kompleks dalam situasi tidak terstruktur menjadi bagian – bagian komponen.Mengatur bagian atau variable ini untuk suatu bentuk susunan hierarki, kemudian memberikan nilai numeric untuk penilaian subjektif terhadap kepentingan relative dari setiap variable yang memiliki prioritas tertinggi yang mempengaruhi penyelesaian masalah tersebut.AHP menggabungkan pertimbangan dan penilaian logis dan dipengaruhi imajinasi, pengalaman dan pengetahuan untuk menyusun hierarki dari suatu masalah untuk memberikan pertimbangan. AHP merupakan suatu proses mengidentifikasi dan memberikan perkiraan interaksi sistem secara keseluruhan [17].
2.11.1 Dasar Analytical Hierarchy Process (AHP)
Dalam menyelesaikan persoalan dengan AHP ada beberapa prinsip yang harus dipahami, diantaranya adalah: decomposition, comparative judgment, synthesis of prioritity dan logical consistency.
1. Decomposition
Setelah tujuan dari sebuah permasalahan sudah didefinisikan, maka perlu dilakukan decomposition yaitu memecah persoalan menjadi beberapa unsur. Jika ingin mendapatkan hasil yang akurat, pemecehan dilakukan terhadap unsur sampai tidak mungkin dilakukan pemecehan lebih lanjut, sehingga didapatkan beberapa tingkatan dari persoalan tadi. Oleh karena itu dinamakan “Hierarchy”. Ada dua jenis hierarchy, yaitu lengkap dan tak lengkap.
22
2. Comparative Judgment
Prinsip ini berarti melakukan penilaian tentang kepentingan dua elemen pada suatu tingkatan tertentu dalam kaitannya dengan tingkatan diatasnya. Penilaian ini merupakan inti dari AHP, karena prinsip ini akan berpengaruh terhadap prioritas elemen-elemen. Hasil dari penilaian ini akan tampak lebih enak bila disajikan dalam bentuk matriks yag dinamakan matrix pairwise comparasion. Agar memperoleh skala yang bermanfaat ketika dibandingkan dengan dua elemen dan relevansinya terhadap kriteria atau tujuan yang dipelajari. Dalam penyusunan skala seperti pada tabel 2.1 merupakan dasar perbandingan berpasangan dalam melakukan penilaian kriteria.
Tabel 2. 1 Skala dasar perbandingan berpasangan (Saaty)
Intesitas Kepentingan Keterangan 1 Kedua elemen sama pentingnya 3 Elemen yang satu sedikit lebih
penting daripada elemen lainnya 5 Elemen yang satu lebih penting
daripada elemen lainnya 7 Satu elemen jelas lebih mutlak
penting daripada elemen lainnya 9 Satu elemen mutlak penting daripada
elemen lainnya 2,4,6,8 Nilai-nilai antara dua nilai
pertimbangan yang berdekatan
Dalam penilaian kepentingan relative dua elemen berlaku aksiosma reciprocal artinya jika elemen i dinilai 5 kali lebih penting dibandingkan j, maka elemen j harus sama dengan ¼ kali pentingnya dibandingkan dengan emelen i. Disamping itu, perbandingan dua elemen yang sama akan
23
menghasilkan angka 1, artinya sama penting. Dua elemen yang berlainan dapat saja dinilai sama penting. Jika terdapat n elemen, aka akan diperoleh matriks pairwise comparision berukuran n x n. Banyaknya penilaian dalam menyusun matriks adalah n(n-1)/2 kaena matriksnya reciprocal dan elemen-elemen diagonal sama dengan 1.
3. Synthesis of Priority
Dari setiap matriks pairwise comparision kemudian dicari eigen vector untuk mendapatkan local priority. Karena matriks pairwise comparision terdapat pada setiap tingkat, maka untuk mendapatkan global priority harus dilakukan sintesa diantara local priority.
4. Logical Consistency
Konsistensi memiliki dua makna, pertama adalah bahwa objek yang serupa dapat dikelompokan sesuai dengan keseragaman dan relevansi.
5. Hubungan Prioritas sebagai Eigen Vektor Terhadap Konsistensi Terdapat benyak cara untuk mencari vector prioritas dari matriks pairwise comparision. Tetapi penekenan pada konsistensi menyebabkan digunakan rumus eigen
value.
Diketahui elemen-elemen daris suatu tingkat dalam suatu hierarki adalah B1, B2…Bn dan bobot pengaruhnya adalah z1,z2.. zn. Misalkan aij = zi / zj menunjukan kekuatan Bi jika dibandingkan dengan Bj. Matriks dari angka-angka aij ini dinamakan matriks pairwise comparision, yang diberi symbol A. Karena A merupakan matriks reciprocal, sehingga aij = 1/aij. Jika penilaian yang didapatkan sempurna pada setiap perbandingan, maka aij = aij, ajk untuk semua i, j, k
24
dan matriks A dinamaka konsisten. Kemudian perhitungan manipulasi matematika sebagai berikut: aij = zi / zj dimana i,j = 1… n aij ( zi / zj) = 1 dimana i,j = 1… n konsekuensi,
∑ 𝑎𝑖𝑗 . 𝑧j . 1/zi = dimana i = 1 … n atau
𝑛
𝑗=1
∑ 𝑎𝑖𝑗 . 𝑧j = n . zi = dimana i = 1 … n
𝑛
𝑗=1
Dalam bentuk matriks: Az = nz Rumus ini menunjukan bahwa z merupakan eigen vector dari matriks a dengan eigen value n. Jika aij tidak dasarkan pada ukuran pasti (seperti zi.. zn), tetapi pada penilaian subjektif maka aij akan menyimpag dar rasio zi/zj yang sesungguhnya, dan akibatnya Az=nz tak dipenuhi lagi. Dua kenyataan dalam teori matriks memberikan kemudahan, pertama jika y1...yn adalah angka-angka yang memenuhi persamaan Az=Yz dimana Y merupakan eigen value dari matriks A dan aij = 1 untuk i, maka:
∑ 𝑦i = n
𝑛
𝑗=1
Karena itu, jika Az=Yz dipenuhi maka semua eigen value sama dengan nol,kecuali eigen value yang satu yaitu sebesar n. Maka jelas dalam kasus konsisten, n merupakan eigen value A terbesar.Kedua, jika salah satu aij dari matriks reciprocal A berubah sangat kecil,maka eigen value juga berubah sangat kecil. Kombinasi keduanya jelas menjelaskan bahwa matriks diagonal matriks A terdiri dari aij = 1 dan jika A konsisten, maka perubahan kecil pada aij menahan
25
eigen value terbesar, Y max, dekat ke n, dan eigen value sisanya dekat dengan nol. Karena itu persoalannya adalah jika A merupakan matriks A pairwise comparison untuk mencari vektor prioritas, harus dicari z yang memenuhi:
Az = Y mak . z
Perubahan kecil aij menyebabkan perubahan Y maksimum, persimpangan Y maksimum dari n merupakan ukuran konsistensi diukur melalui Consistenci Index (CI) sebagai berikut:
Cl = (Y mak - n)/(n-1) AHP mengukur secara keseluruhan konsistensi dari penilaian dengan menggunakan Consistency Ratio,
yang dirumuskan:
CR = CI/RI
Pada tingkat konsistensi yang tertentu diperlukan dalam penentuan prioritas untuk mendapatkan hasil yang sah. Nilai CR semestianya tidak lebih dari 10%.
Tabel 2. 2 Consistency Index (CI)
N 1 2 3 4 5 6 7 8 9 10 RI 0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49
2.11.2 Model Inputan
Model inputan dari AHP dapat berupa matriks pembanding dan nilai riil. Nilai maksimum yang dimiliki oleh AHP bernilai 9 serta nilai minimumnya adalah 1. Berikut ini merupakan macam model inputan serta cara konversi nilai.
26
1. Matriks perbandingan.
Bila membandingkan suatu kriteria dalam matriks dengan kriteria itu sendiri, misalnya sub krt=iteria dalam matriks dengan kriteria itu sendiri maka sisi diagonal pembanding bernilai 1.
Tabel 2. 3 Model Matriks Pembanding
Kriteria 1 Kriteria 2 Kriteria 3 Kriteria - n
Kriteria 1 1 Kriteria 2 1 Kriteria 3 1 Kriteria-n 1
2. Nilai riil
Bentuk inputan dari model pengisian yang dibutuhkan nilai riil, dimana nilai ini berupa nilai satuan, yang sesuai dengan nilai yang dimiliki oleh AHP, mulai dari nilai 1 hingga 9. Hanya saja perbedaannya adalah karena tidak dilakukan pembandingan terhadap kriteria yang lain, maka model inputan tidak akan menerima nilai seperti: ½ 1/5… 1/9.
Tabel 2. 4 Model Nilai Riil
Kriteria Nilai Kriteria 1 Kriteria 2 Kriteria 3
Cara mendapatkan penghitungan prioritas lokal adalah sebagai berikut:
27
1. Jika inputan sebagai berikut:
Tabel 2. 5 Model input nilai riil
Kriteria Nilai Kriteria 1 3 Kriteria 2 4 Kriteria 3 5
2. Hitung secara keseluruhan/total dari kriteria 1 hingga kriteria 3 (3+4+5 = 12), kemudian bagilah kriteria 1 dengan total (3/12 = 0.25), demikian pula pada kriteria 2 (4/12=0.33) dan kriteria 3 (5/12 = 0.42).
3. Sehingga akan mendapatkan prioritas lokal sebagai berikut:
Tabel 2. 6 Model prioritas nilai riil
Kriteria Nilai Kriteria 1 0.25 Kriteria 2 0.33 Kriteria 3 0.42
29
BAB III METODOLOGI
Pada bab ini dibahas mengenai langkah-langkah penelitian yang dilakukan. Diawali dengan melakukan studi literature, penetapan tujuan, survey kebutuhan, proses verfikasi, perancangan sistem, validasi, implementasi aplikasi, uji coba hingga pada tahap pembuatan laporan tugas akhir. Berikut ini merupakan diagram secara umum alur pengerjaan tugas akhir:
Mulai
Selesai
Identifikasi
Masalah
Survey Kebutuhan
Uji CobaPenetapan Tujuan
Pembuatan
Laporan
Apakah Sistem
sudah sesuai?
Perancangan
Sistem
Implementasi
Aplikasi
Verifikasi
Validasi
Studi Literatur
Ya
Tidak
Tidak
Ya
Ya
Tidak
Gambar 3. 1 Metodologi Penelitian
30
Berikut penjelasan metodologi penelitian tugas akhir:
3.1 Identifikasi Masalah
Pada tahap awal identifikasi masalah yang akan dilakukan dengan proses pengkajian permasalahan,pemahaman kondisi keterkinian pada beberapa instansi yang terkait. Sehingga dapat diketahui garis merah permasalahan yang didapatkan untuk menentukan pemanfaatan teknologi menjadi sebuah aplikasi yang tepat guna dengan metode yang akan dikerjakan dalam tugas akhir ini.
3.2 Studi Literatur
Studi literatur merupakan tahapan dimana terdapat proses pembelajaran yang terkait dengan semua metode yang digunakan dalam pembuatan tugas akhir. Pembelajaran dilakukan dengan mencari suatu sumber referensi dan acuan yang relevan terhadap studi kasus. Literatur bisa digunakan dan didapatkan dari sejumlah paper dan jurnal yang terakreditasi, e-book, dan tesis, serta sumber bacaan yang ada di internet. Point penting yang harus dilakukan pada tahapan ini yaitu:
3.2.1 Mempelajari teknologi visualisasi pemetaan
Visualisasi pemetaan adalah keadaan pemetaan dan analisis terhadap segala yang terjadi di bumi. Banyak hal yang perlu dipelajari dari visualisasi juga dapat digunakan untuk memanggil, menyimpan, mengelola data yang bersifat geografis maupun spasial untuk mendukung keputusan.
31
3.2.2 Mempelajari Analytical Hierarchy Process (AHP)
Dalam melakukan keputusan untuk memberikan rekomendasi pemetaan lahan perumahan yang tepat melalui AHP yang diambil dari para stakeholder (Expert Judgement) untuk menghasilkan kriteria yang mempengaruhi terciptanya lokasi lahan perumahan tersebut sehingga dapat ditentukan dan ditampilkan dalam peta.
3.3 Penetapan Tujuan
Tahap ini dilakukan dengan melakukan penetapan tujuan dari aplikasi yang akan dibuat dengan melihat dari aspek identifikasi masalah pada langkah sebelumnya. Dengan adanya penetapan tujuan diharapkan dapat membantu mengarahkan manfaat dari pembuatan aplikasi Visualisasi pemetaan lahanKota Mojokerto.
3.4 Survey Kebutuhan (Data yang didapatkan)
Tahap ini dilakukan berupa pengambilan data yang dapat dikembangkan dalam proses pembuatan aplikasi untuk tugas akhir berupa data spasial, data geografis dan data pendukung lainnya di Kantor Pertanahan Kota Mojokerto, dan Bappeko Kota dan melakukan kuisioner AHP penentuan lokasi perumahan terhadap beberapa stakeholder terkait dan informasi lain yang berhubungan agar Visualisasi pemetaan lahan akurat, informatif dan sesuai dengan lingkungan nyata. Data yang dikumpulkan akan diolah dan dianalisa untuk mendukung proses rancang bangun Visualisasi pemetaan lahan Kota Mojokerto.
32
3.5 Verifikasi
Tahapan verifikasi berupa tahapan pemeriksaan kebenaran data dari hasil pengolahan dan analisa kuisioner AHP yang sudah dilakukan pada tahap sebelumnya.Untuk melakukan verifikasi kebenaran data yang didapatkan oleh pihak penulis kepada pihak sumber yaitu Kantor Pertanahan Kota Mojokerto, Dinas Pendapatan dan Pengelolaan Aset Daerah Kota Mojokerto dan Bappeko Kota. Dan pada hasil kuisioner ke beberapa stakeholder dilakukan verifikasi dengan melihat hasil hitung konsistensi.
3.6 Perancangan Sistem
Pada tahapan ini akan terbagi menjadi beberapa tahapan yang dilakukan selama proses perancangan sistem:
3.6.1 Membuat Arsitektur Sistem
Arsitektur Sistem akan dibuat untuk menggambarkan rancangan proses bisnis mengenai alur kerja Visualisasi pemetaan lahan yang akan dirancang sebelum menuju tahap implementasi aplikasi.
3.6.2 Membuat Desain GUI Story Board
GUI Story Board menggambarkan tampilan dari perancangan sistem untuk memenuhi kebutuhan pengguna.
3.6.3 Membuat Desain UML
UML (Unified Modelling Language) membantu untuk menghasilkan spesifikasi fungsi hak akses seperti Use Case, Robustness.
3.7 Validasi
Proses validasi dilakukan yakni untuk pengecekan hasil rancangan dari yang disusun berdasarkan telah didapat yang
33
berguna untuk implementasi aplikasi Visualisasi pemetaan lahan Kota Mojokerto Pemetaan Lahan berupa checklist sesuai use case pada spesifikasi kebutuhan perangkat lunak.
3.8 Implementasi Aplikasi
Tahap implementasu aplikasi akan dimulai ketika kebutuhan aplikasi sudah tercapai. Proses ini akan mengkonversikan peta digital ke web-based dengan mengintegrasikan data baik spasial maupun non-spasial dengan menggunakan teknologi ArcGIS untuk membangun peta digital dan didukung dengan Google Maps API sebagai layer dasar memetakan hasil KML (Keyhole Markup Language) ke dalam web dan menggunakan beberapa bahasa pemrograman.
3.9 Uji Coba
Uji coba dilakukan berdasarkan fungsional dan non fungsional untuk mengetahui keseluruhan sistem berdasarkan Bila terjadi sesuatu kesalahan pada aplikasi maka akan kembali ke tahap pengembangan dan kemudian akan dilakukan uji coba kembali.
3.10 Pembuatan Laporan
Pembuatan laporan merupakan tahap terakhir dimana membuat semua dokumentasi dari proses rancang bangun aplikasi, berupa langkah-langkah dan juga analisa. Laporan berguna untuk memberikan informasi berupa pemahaman proses pembuatan aplikasi visualisasi pemetaan lahan berbasis Web dan diharapkan mampu memberikan solusi dan menyelesaikan masalah yang ada.
35
BAB IV ANALISIS KEBUTUHAN DAN DESAIN SISTEM
Pada bab ini akan dijelaskan mengenai gambaran umum sistem, pengumpulan data, analisis kebutuhan user dan fungsional, arsitektur sistem, serta proses desain sistem yang berisi pembuatan user interface serta diagram-diagram yang dapat membantu proses perancangan aplikasi.
4.1 Gambaran Umum Sistem
Aplikasi ini akan berfungsi sebagai media informasi untuk mengetahui secara visual geografis pada kondisi pemetaan lahan Kota Mojokerto serta dapat dijadikan sebagai pendukung keputusan untuk mengetahui lokasi lahan perumahan baru yang tepat dengan memasukan urutan prioritas dari kriteria yang telah ditentukan seperti luas lahan, harga lahan, kepadatan penduduk, infrastruktur, dan fasilitas umum. Aplikasi ini menyediakan kumpulan foto dari masing-masing lokasi lahan yang telah ditentukan untuk pemilihan lokasi perumahan.
4.2 Proses Wawancara Penentuan Kriteria
Pada proses ini didapatkan dari melakukan wawancara dengan para pemegang keputusan megenai kriteria perumahan di Kota Mojokerto. Beberapa diantaranyaa dalah Kepala Bapekko Kota Mojokerto, Kepala Seksi bidang pengukuran tanah Kantor Pertanahan.
4.3 Pengumpulan Data
Tahap pengumpulan data dilakukan dengan beberapa cara yaitu survey peninjauan lokasi lahan secara langsung serta melalui penyebaran kuesioner AHP.
36
4.3.1 Survey Peninjauan Lokasi Lahan
Survey peninjauan lokasi lahan secara langsung dilakukan dengan tujuan untuk mengetahui kondisi nyata lingkungan yang akan dijadikan rekomendasi lahan pembangunan perumahan yang akan datang. Tabel 4.1 akan menunjukkan hasil luas penggunaan lahan yang diketahui melalui survey kondisi kekinian lingkungan lahan.
Tabel 4. 1 Luas Penggunaan Lahan
Kecamatan/ Keluaragan
Penggunaan Lahan Luas Wilayah (Ha)
Kawasan
Pertanian (Ha)
Kawasan
Pemukiman (Ha)
Kawasan
Perdagangan dan Jasa (Ha)
Kawasan
Perdagangan dan
pergudangan (Ha)
Kawasan
Terbuka
Hijau (Ha)
Prajurit Kulon
Surodinawan
131.275
70.631
49.705 - - -
Kranggan
104.711
15.960
70.089 - - -
Miji 34.946
- 24.947 - - 2.051
Prajurit Kulon
107.697
30.749
54.556 - - 5.451
Blooto 168.455
91.069
55.989 - - -
Mentikan
33.492
- 20.069 9.532 - 1.183
37
Kecamatan/ Keluaragan
Penggunaan Lahan Luas Wilayah (Ha)
Kawasan
Pertanian (Ha)
Kawasan
Pemukiman (Ha)
Kawasan
Perdagangan dan Jasa (Ha)
Kawasan
Perdagangan dan
pergudangan (Ha)
Kawasan
Terbuka
Hijau (Ha)
Kauman
21.736
- 20.167 8.394 - 14.686
Pulorejo
170.957
85.743
46.338 - - 9.684
Magersari
- -
Meri 129.556
59.099
3.113 - - -
Gunung Gedangan
212.377
90.074
75.870 5.225 - -
Kedundung
209.116
68.860
117.821 6.163 - -
Balongsari
39.021
- 25.828 3.930 - -
Jagalan
24.383
- 14.621 7.753 - -
Sentanan
28.118
1.089 18.639 4.999 - -
Purwotengah
31.050
- 20.032 4.085 - 3.853
18.38 - 12.154 2.188 - -
38
Kecamatan/ Keluaragan
Penggunaan Lahan Luas Wilayah (Ha)
Kawasan
Pertanian (Ha)
Kawasan
Pemukiman (Ha)
Kawasan
Perdagangan dan Jasa (Ha)
Kawasan
Perdagangan dan
pergudangan (Ha)
Kawasan
Terbuka
Hijau (Ha)
Gedongan
7
Magersari
39.539
- 27.373 0.734 - 11.027
Wates 141.011
7.922 87.303 - 4.234 8.948
Jumlah 1646,828
521.196
744.623 52.289 4.234 56.843
Sedangkan tabel 4.2 menunjukkan data kecamatan dan
kelurahan yang ada di Kota Mojokerto beserta informasi detail terkait jumlah lingkungan RT dan RW.
Tabel 4. 2 Data Kecamatan dan Kelurahan
Kecamatan/Kelurahan Banyaknya Lingkungan RW RT
Prajurit Kulon 33 71 285 Surodinawan 5 9 37 Kranggan 5 13 54 Miji 4 11 49 Prajurit Kulon 4 10 30 Blooto 3 8 32 Mentikan 4 9 33 Kauman 3 3 16 Pulorejo 5 8 34 Magersari 37 106 376
39
Meri 3 11 40 Gunung Gedangan 6 9 30 Kedundung 4 15 63 Balongsari 4 14 46 Jagalan 2 6 18 Sentanan 2 6 14 Purwotengah 3 5 18 Gedongan 3 4 14 Magersari 4 10 35 Wates 7 26 98 Jumlah 70 177 661
4.4 Analisis AHP (Analytical Hierarchy Process)
AHP (Analytical Hierarchy Process) digunakan dalam metode pengerjaan tugas akhir ini untuk mendapatkan hasil urutan peringkat dari kriteria serta peringkat rekomendasi lokasi lahan. Kriteria didapatkan didasarkan dengan RTRW (Rencana Tata Ruang dan Wilayah) dan Expert Judgment Berikut ini merupakan penjelasan langkah-langkah analisis AHP adalah sebagai berikut:
4.5 Analisis AHP Pemilihan Lahan Kota Mojokerto
Berdasarkan dari proses wawancara dengan beberapa orang sebagai stakeholder (Kepala Bappeko Kota Mojokerto, Kepala Seksi Bidang Pengukuran Tanah Kantor Pertanahan) serta pemahaman mengenai RTRW (Rencana Tata Ruang dan Wilayah) dan kriteria perumahan yang ideal. Sehingga ditentukan kriteria sebagai berikut :
Luas Lahan Harga Lahan Kepadatan Penduduk Infrastruktur Fasilitas Umum Kedekatan dengan Pusat Kota Desain Rumah
40
4.5.1 Penyebaran Kuesioner AHP
Penyebaran kuesioner AHP dilakukan untuk dapat mengetahui hasil urutan prioritas kriteria yang telah ditentukan dan rekomendasi lahan perumahan. Langkah-langkah analisis AHP adalah sebagai berikut:
Mulai
Selesai
Pembuatan
Matriks
Perbandingan
Penilaian Matriks
Perbandingan
Penilaian Eigen
Vektor
Perhitungan
Indeks Konsistensi
Perhitungan Ratio
Konsistensi
Proses
Perhitungan
Prioritas Global
Penentuan Kriteria
Penentuan
Alternatif
Pemberian Bobot
Kriteria
Pemberian Bobot
Alternatif
Hasil
Rekomendasi
Lahan
Gambar 4. 1 Flowchart Metode AHP
41
4.5.1.1 Membuat struktur hierarki Pada Gambar 4.7 ditunjukkan sebuah struktur
hierarki untuk pemilihan lokasi lahan. Terdapat lima jenis kriteria pilihan yaitu luas lahan, harga lahan, kepadatan penduduk, infrastruktur, dan fasilitas umum.
Gambar 4. 2 Hierarchy Penentuan Kriteria
4.5.1.2 Mengumpulkan data melalui pembuatan kuesioner AHP
Untuk dapat mengetahui peringkat-peringkat dari masing-masing kriteria yang ada, maka terlebih dahulu harus melakukan pengumpulan data melalui kuesioner AHP yang disebarkan kepada beberapa stakeholder di beberapa instansi dan swasta yang berhubungan dengan lahan dan perumahan. Dalam pengambilan data kuisoner dilakukan oleh 10 orang dengan perbandingan yakni: 3 orang Bappeko Mojokerto, 2 orang Kantor Pertanahan, 3 orang Perum Nasional (Perumnas), 2 orang Perum Swasta. Pada Tabel 1 terdapat skala dasar perbandingan berpasangan yang dapat digunakan sebagai
42
penilaian untuk masing-masing kriteria yang akan dituliskan di dalam kuesioner.
Tabel 4. 3 Skala dasar perbandingan berpasangan (Saaty)
Tingkat Kepentingan Definisi
1 Sama Penting 3 Sedikit Lebih
Penting 5 Lebih Penting 7 Sangat Lebih
Penting 9 Mutlak Lebih
Penting 2,4,6,8 Nilai Tengah
Setelah mengetahui skala perbandingan tersebut, maka disusunlah kuesioner seperti pada Lampiran A Kuisioner AHP.
4.5.1.3 Membuat matriks perbandingan berpasangan Setelah mendapatkan hasil kuesioner maka langkah
selanjutnya adalah membuat matriks perbandingan berpasangan untuk dapat menggambarkan pengaruh kriteria yang satu dengan kriteria yang lainnya. Hal ini dilakukan pula untuk dapat mengetahui kriteria apa saja yang mendominasi dan didominasi, seperti yang ditunjukkan pada Tabel 4.4. Berikut ini merupakan singkatan masing-masing kriteria untuk memudah proses penghitungan: Luas Lahan = LL
Harga Lahan = HL Kepadatan Penduduk = KP Infrastruktur = IN Fasilitas Umum = FU
43
Kedekatan Pusat Kota = PK Desain Rumah = DR
Tabel 4. 4 Pengisian matrik perbandingan berpasangan
LL HL KP IN FU PK DR LL 1 3 7 1/7 1/3 1/7 1/3 HL 1/3 1 5 1/3 1/3 1/3 5 KP 1/7 1/5 1 1/5 1/3 1/5 1/5 IN 7 3 5 1 1/3 1/5 3 FU 3 3 3 3 1 1/7 1/3 PK 7 3 5 5 7 1 7 DR 3 1/5 5 1/3 3 1/7 1
4.5.1.4 Menghitung normalisasi matriks Pada Tabel 4.5 tampak bahwa normalisasi matriks
responden 1 (Asmen Perumnas Cbg. Mojokerto) telah melakukan penilaian masing-masing kriteria. Untuk dapat mempermudah perhitungan maka dibentuklah menjadi angka decimal seperti yang ditunjukkan pada Tabel 4.6. Kemudian masing-masing kolom dijumlahkan.
Tabel 4. 5 Normalisasi matriks
LL HL KP IN FU PK DR LL 1 3 7 0.143 0.333 0.143 0.333 HL 0.333 1 5 0.333 0.333 0.333 5 KP 0.143 0.200 1 0.200 0.333 0.200 0.200 IN 7 3 5 1 0.333 0.200 3 FU 3 3 3 3 1 0.143 0.333 PK 7 3 5 5 7 1 7 DR 3 0.200 5 0.333 3 0.143 1
Kemudian tiap cell dari kolom dibagi berdasarkan hasil penjumlahan matriks decimal dari perbandingan berpasangan.
LH = (1+0.333+0.143+7+3+7+3) = 21.476 HL = (3+1+0.200+3+3+3+0.200) = 13.400 KP = (7+5+1+5+3+5+5) = 31 IN = (0.143+0.333+0.200+1+3+5+0.333) = 10.009 FU = (0.333+0.333+0.333+0.333+1+7+3) = 12.332
44
PK = (0.143+0.333+0.2+0.2+0.143+1+0.143) = 2.162 DR = (3 + 0.200 +5+0.333+3+0.143+1) = 16.866 Pada Tabel 4.6 dilakukan penghitungan decimal normalisasi matriks dari masing-masing kolom kriteria dengan cara dilakukan pembagian.
Tabel 4. 6 Desimal normalisasi matriks
LL HL KP IN FU PK DR LL 1/21.476 3/13.4 7/3
1 0.143/10.
009 0.333/12.
332 0.143/2.
162 0.333/16.8
866 HL
0.333/21.476 1/13.4 5/3
1 0.333/10.
009 0.333/12.
332 0.333/2.
162 5/16.8866
KP
0.143/21.476
0.200/13.4
1/31
0.200/10.009
0.333/12.332
0.200/2.162
0.200/16.8866
IN 7/21.476 3/13.4 5/3
1 1/10.009 0.333/12.332
0.200/2.162 3/16.8866
FU 3/21.476 3/13.4 3/3
1 3/10.009 1/12.332 0.143/2.162
0.333/16.8866
PK 7/21.476 3/13.4 5/3
1 5/10.009 7/12.332 1/2.162 7/16.8866
DR 3/21.476 0.200/1
3.4 5/31
0.333/10.009 3/12.332 0.143/2.
162 1/16.8866
Tabel 4.7 merupakan hasil dari desimal normalisasi matriks. Untuk menghitung nilai total keseluruhan masing-masing kriteria dilakukan penambahan tiap baris.
Tabel 4. 7 Hasil desimal normalisasi matriks
LL HL KP IN FU PK DR Jumlah LL 0.047 0.224 0.226 0.014 0.027 0.066 0.020 0.623 HL 0.016 0.075 0.161 0.033 0.027 0.154 0.296 0.762 KP 0.007 0.015 0.032 0.020 0.027 0.093 0.012 0.205 IN 0.326 0.224 0.161 0.100 0.027 0.093 0.178 1.108 FU 0.140 0.224 0.097 0.300 0.081 0.066 0.020 0.927 PK 0.326 0.224 0.161 0.500 0.568 0.463 0.415 2.656 DR 0.140 0.015 0.161 0.033 0.243 0.066 0.059 0.718
45
LH = (0.047 + 0.224 + 0.226 + 0.014 + 0.027 +0.066 + 0.020) = 0.623
HL = (0.016 + 0.075 + 0.161 + 0.033 +0.027 +0.157 + 0.269) = 0.762
KP = (0.007 + 0.015 + 0.032 +0.020 + 0.027 + 0.093 + 0.012) = 0.205
IN = (0.326 + 0.224 + 0.161 + 0.100 + 0.027 + 0.093 + 0.178) = 1.108
FU = (0.140 + 0.224 + 0.097 + 0.300 +0.081 + 0.066 + 0.020 ) = 0.927
PK = (0.326 + 0.224 + 0.161 + 0.50 + 0.568 + 0.463 + 0.415 ) = 0.927
DR = (0.140+ 0.015 + 0.161 + 0.033 + 0.243 + 0.066 + 0.059) = 0.718
4.5.1.5 Menghitung Eigen Vektor Langkah selanjutnya adalah menghitung eigen vector
dengan cara mengalikan masing-masing cell di setiap barisnya, untuk mengetahui eigen vector dari masing-masing kriteria. Kemudian hasil perkalian tersebut dipangkatkan dengan 1 dibagi jumlah kriteria sebanyak 7, jadi dipangkatkan 1/7. Hasil yang didapatkan adalah seperti pada Tabel 4.8
Tabel 4. 8 Hasil Eigen Vektor
Kriteria Nilai Eigen Value Luas Lahan 0.647
Harga Lahan 0.845 Kepadatan Penduduk 0.258
Infrastruktur 1.545 Fasilitas Umum 1.213
Kedekatan dengan Pusat Kota 4.266 Desain Rumah 0.886
Total 9.660
46
LH = (0.047 x 0.224 x 0.226 x 0.014 x 0.027 x 0.066 x
0.020)^(1/7) = 0.647 HL = (0.016 x 0.075 x 0.161 x 0.033 x 0.027 x 0.157 x
0.269)^(1/7) = 0.845 KP = (0.007 x 0.015 x 0.032 x 0.020 x 0.027 x 0.093 x
0.012)^(1/7) = 0.258 IN = (0.326 x 0.224 x 0.161 x 0.100 x 0.027 x 0.093 x
0.178)^(1/7) = 1.545 FU = (0.140 x 0.224 x 0.097 x 0.300 x 0.081 x 0.066 x
0.020)^(1/7) = 1.213 PK = (0.326 x 0.224 x 0.161 x 0.50 x 0.568 x 0.463 x
0.415)^(1/7) = 4.266 DR = (0.140 x 0.015 x 0.161 x 0.033 x 0.243 x 0.066 x
0.059)^(1/7) = 0.886 Total Nilai Eigen Vektor = 0.647 + 0.845 +0.258 + 1.545 +
1.213 + 4.266 + 0.886 = 9.660
Kemudian hasil eigen vector tersebut dijumlahkan. Hasil penjumlahan tersebut akan menjadi pembagi dari masing-masing eigen vector untuk dapat menemukan bobot prioritas. Seperti pada Tabel 4.9, terlihat adanya bobot prioritas. Dari hasil bobot prioritas tersebut jika diurutkan berdasarkan besarnya jumlah bobot prioritas maka dapat diketahui urutan/ranking dari masing-masing kriteria berdasarkan penilaian dari responden 1.
47
Tabel 4. 9 Bobot Prioritas dan Bobot Sintesis
Kriteria Bobot Prioritas Rangking Bobot
Prioritas Luas Lahan LL 0.067 6
Harga Lahan HL 0.087 5
Kepadatan Penduduk KP 0.027 7
Infrastruktur IN 0.160 2 Fasilitas Umum FU 0.126 3
Kedekatan dengan
Pusat Kota PK 0.442 1 Desain Rumah DR 0.092 4
LH = 0.647 / 9.660 = 0.067 HL = 0.845 / 9.660 = 0.087 KP = 0.258 / 9.660 = 0.027 IN = 1.545 / 9.660 = 0.160 FU = 1.213 / 9.660 = 0.126 PK = 4.266 / 9.660 = 0.442 DR = 0.886 / 9.660 = 0.092
4.5.1.6 Memeriksa konsistensi hierarki Setelah mengetahui bobot prioritas maka dilakukan
pemeriksaan konsistensi hierarki untuk mengetahui apakah keputusan yang dihasilkan nantinya adalah hasil yang valid.
48
Tabel 4. 10 Bobot sintesis
Kriteria Bobot Sintesis Luas Lahan 0.623
Harga Lahan 0.762 Kepadatan Penduduk 0.205
Infrastruktur 1.108 Fasilitas Umum 0.927
Kedekatan dengan Pusat Kota 2.656 Desain Rumah 0.718
Pada Tabel 4.9 menunjukkan adanya perhitungan bobot sintesis dengan cara menjumlahkan hasil pembagian yang ada pada Tabel 4.6 di setiap barisnya. Kemudian dilakukan penghitungan nilai eigen maksimum untuk mengecek apakah matriks yang dibuat adalah konsisten atau tidak konsisten. Hal tersebut dilakukan dengan cara membagi bobot sintesis dengan bobot prioritas ditunjukkan pada Tabel 4.10.
Tabel 4. 11 Bobot sintesis / bobot prioritas
Kriteria Nilai Eigen Maksimum Luas Lahan 9.299
Harga Lahan 8.759 Kepadatan Penduduk 7.593
Infrastruktur 6.925 Fasilitas Umum 7.357
Kedekatan dengan Pusat Kota 6.009 Desain Rumah 7.804
Total 53.745
49
Mengitung Nilai Eigen Maksimum = Bobot Sintesis / Bobot Prioritas
LH = 0.623 / 0.067 = 9.299 HL = 0.762 / 0.087 = 8.759 KP = 0.205 / 0.027 = 7.593 IN = 1.108 / 0.160 = 6.925 FU = 0.927 / 0.126 = 7.357 PK = 2.656 / 0.442 = 6.009 DR = 0.718 / 0.092 = 7.804
Total Eigen Maksimum = 9.299 + 8.759 + 7.593 + 6.925 + 7.357 + 6.009 + 7.804 = 53.745
Kemudian dilakukan penghitungan nilai eigen maksimum dengan cara membagi jumlah pembagian bobot sintesis dan bobot prioritas dengan jumlah kriteria yang ada yaitu 7.
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 53.745/7 𝜆𝑚𝑎𝑘𝑠 = 7.677
Kemudian menghitung nilai Consistency Index (CI) atau indeks konsistensi dengan cara pengurangan nilai eigen maksimum dengan jumlah kriteria kemudian dibagi kembali dengan jumlah kriteria-1. Sehingga didapatkan hasil sebagai berikut :
Cl = (𝜆 max - n)/(n-1) = (7.677−7)
7−1
= 0.113
50
Batas konsistensi dan tidak konsistensi diukur dengan menggunakan rasio konsistensi (CR). Perhitungan tersebut dilakukan dengan cara membagi CI dengan IR. IR adalah indeks random, yaitu melihat pada Tabel 4.12.
Tabel 4. 12 Table Index Random
N 1 2 3 4 5 6 7 8 9 10 RI 0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49 Berdasarkan ukuran matriks, yaitu dalam hal ini adalah 5, sehingga mendapatkan indeks random yaitu 1,12. Maka hasil yang didapatkan nilai perhitungan di bawah ini :
CR = CI/RI 0.113
1.32 = 0.086
Apabila nilai CR lebih kecil dari 10% atau 0,1 maka dapat dikatakan bahwa konsisten. Karena nilainya adalah 0,086 maka dapat dikatakan bahwa matriks berdasarkan penilaian responden 1 adalah konsisten. Kemudian langkah-langkah ini dilakukan untuk responden kedua dan seterusnya, (Lampiran B. Hasil Kuisioner AHP). Sehingga seperti Tabel 4.13 Merupakan hasil rekapitulasi dari bobot prioritas dari 7 responden.
51
Tabel 4. 13 Rata-rata Hasil Kuisioner
1 2 3 4 5 6 7 8 9 10 Rata- rata
Rangking
LH
0.089
0.13
0.068
0.09
0.075
0.06
0.062
0.13
0.089
0.089
0.0882 6
HL
0.109
0.022
0.037
0.075
0.076
0.09
0.085
0.078
0.229
0.229
0.1030 5
KP
0.029
0.061
0.193
0.049
0.083
0.057
0.206
0.076
0.019
0.019
0.0792 7
IN
0.158
0.155
0.267
0.372
0.337
0.103
0.197
0.146
0.098
0.098
0.1931 2
FU
0.132
0.098
0.126
0.239
0.169
0.201
0.11
0.181
0.242
0.242
0.1740 3
PK
0.379
0.167
0.016
0.091
0.198
0.341
0.223
0.194
0.183
0.183
0.1975 1
DR
0.103
0.44
0.293
0.084
0.062
0.147
0.117
0.193
0.14
0.14
0.1719 4
Dari hasil rekapitulasi data bobot prioritas keseluruhan responden dihasilkan urutan rangking kriteria pada Tabel 4.14 yaitu Kedeketan dengan Pusat Kota (1), Infrastruktur (2), Fasilitas Umum (3), Desain Rumah (4), Harga Lahan (5), Luas Lahan (6), Kepadatan Penduduk (7) . Sehingga hasil ini dapat dijadikan pedoman untuk menentukan kriteria yang cocok untuk pemetaan lahan perumahan berdasarkan para stakeholder yang terkait.
Tabel 4. 14 Rata-rata hasil bobot prioritas
Rata-rata Hasil bobot prioritas
Rangking
Luas Lahan 8.82% 6 Harga Lahan 10.30% 5 Kepadatan Penduduk 7.92% 7 Infrastruktur 19.31% 2
52
Fasilitas Umum 17.40% 3 Kedekatan dengan Pusat Kota 19.75% 1 Desain Rumah 17.19% 4
Berikut ini merupakan tabel mengenai kondisi masing-masing lahan yang akan digunakan sebagai alternative rekomendasi lokasi perumahan dengan menggunakan metode AHP :
Tabel 4. 15 Bobot Lokasi Meri
Lokasi LH HL KP IN FU PK DR Meri 3,2
H ±700rb/m2
3.632 3 8 ±3Km
2
Tabel 4. 16 Bobot Lokasi Wates
Lokasi LH HL KP IN FU PK DR Wates 2,2
H ±900rb/m2
11.309 5 14 ±2Km
3
Tabel 4. 17 Bobot Lokasi Pulo
Lokasi LH HL KP IN FU PK DR Pulo 3,2
H ±750rb/m2
2.963 1 3 ±1Km
2
Tabel 4. 18 Bobot Lokasi Surodinawan
Lokasi LH HL KP IN FU PK DR Surodinawan
1,8 H
±800rb/m2
2.655 6 10 ±4Km
2
53
Tabel 4. 19 Bobot Lokasi Kedungsari
Lokasi LH HL KP IN FU PK DR Kedungsari
2,1 H
±850rb/m2
4.679 3 7 ±1Km
2
Pada Tabel 4.20 menjelaskan tentang definisi dari bobot masing kriteria yang dimana memberikan nilai bobot dari 1 hingga 3
Tabel 4. 20 Definisi Bobot Kriteria
LH HL KP IN FU PK DR Kurang
Luas (1)
Murah (1)
Kurang Padat
(1)
Tidak memadai
(1) Jarang
(1) Dekat
(1) Murah (1) Cukup Luas (2)
Terjangkau (2)
Cukup Padat
(2)
Cukup Memadai
(2) Cukup
(2)
Cukup Jauh (2)
Menengah (2)
Sangat Luas (3)
Mahal (3)
Sangat Padat
(3) Memadai
(3) Lengka
p (3) Jauh (3) Mahal (3)
Berikut ini pada tabel 4.21 merupakan pembobotan alternative lokasi sesuai dengan kondisi riil.
Tabel 4. 21 Pembobotan Lokasi
Meri Wates Kedungsari Surodinawan Pulo LH 3 2 2 2 3 HL 2 3 2 2 2 KP 2 3 2 3 3 IN 3 2 3 3 3 FU 3 3 3 3 2 PK 2 2 1 3 2 DR 2 3 2 2 2
54
Tabel 4.22 merupakan matriks berpasangan dari luas lahan dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 22 Matriks Berpasangan - Luas Lahan
Luas Lahan M W K S P M 3/3 3/2 3/2 3/2 3/3 W 2/3 2/2 2/2 2/2 2/3 K 2/3 2/2 2/2 2/2 2/3 S 2/3 2/2 2/2 2/2 2/3 P 3/3 3/2 3/2 3/2 3/3 Tabel 4.23 merupakan hasil decimal matriks berpasangan dari luas lahan dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 23 Hasil Desimal - Luas Lahan
Luas Lahan M W K S P M 1.000 1.500 1.500 1.500 1.500 W 0.667 1.000 1.000 1.000 0.667 K 0.667 1.000 1.000 1.000 0.667 S 0.667 1.000 1.000 1.000 0.667 P 1.000 1.500 1.500 1.500 1.500 Total 4.000 6.000 6.000 6.000 5.000 Tabel 4.24 merupakan normalisasi matriks dari luas lahan dari alternative lokasi rekomendasi pemilihan lahan perumahan dan kemudian dilakukan penghitungan 𝜆𝑚𝑎𝑘𝑠, Consistency Index.
55
Tabel 4. 24 Normalisasi Matriks - Luas Lahan
Luas Lahan M W K S P Normalisasi M 0.250 0.250 0.250 0.250 0.300 0.260 W 0.167 0.167 0.167 0.167 0.133 0.160 K 0.167 0.167 0.167 0.167 0.133 0.160 S 0.167 0.167 0.167 0.167 0.133 0.160 P 0.250 0.250 0.250 0.250 0.300 0.260
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = (4.000 x 0.260) + (6.000 x 0.160) + (6.000 x 0.160) +
(6.000 x 0.160 ) + (5.000 x 0.260) 𝜆𝑚𝑎𝑘𝑠 = 5.22 Cl = (Y max - n)/(n-1) = (5.22−5)
5−1
= 0.049107
Tabel 4.25 merupakan ratio index sebagai pembagi dari hasil Consistency Index (CI).
Tabel 4. 25 Index Ratio
N 1 2 3 4 5 6 7 8 9 10 RI 0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49
CR = CI/RI 0.049107
1.12 = 0.05
Kriteria luas lahan dinyatakan konsisten karena dibawah ≤ 0.1 Tabel 4.26 merupakan matriks berpasangan dari harga lahan dari alternative lokasi rekomendasi pemilihan lahan perumahan.
56
Tabel 4. 26 Matriks Berpasangan - Harga Lahan
Harga Lahan M W K S P M 2/2 2/3 2/2 2/2 2/2 W 3/2 3/3 3/2 3/2 3/2 K 2/2 2/3 2/2 2/2 2/2 S 2/2 2/3 2/2 2/2 2/2 P 2/2 2/3 2/2 2/2 2/2 Tabel 4.27 merupakan hasil decimal matriks berpasangan dari harga lahan dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 27 Hasil Desimal - Harga Lahan
Harga Lahan M W K S P M 1.000 0.667 1.000 1.000 1.000 W 1.500 1.000 1.500 1.500 1.500 K 1.000 0.667 1.000 1.000 1.000 S 1.000 0.667 1.000 1.000 1.000 P 1.000 0.667 1.000 1.000 1.000 Total 5.500 3.667 5.500 5.500 5.500 Tabel 4.28 merupakan normalisasi matriks dari harga lahan dari alternative lokasi rekomendasi pemilihan lahan perumahan dan kemudian dilakukan penghitungan 𝜆𝑚𝑎𝑘𝑠, Consistency Index (CI) serta Consistency Ratio (CR).
Tabel 4. 28 Normalisasi - Harga Lahan
Harga Lahan M W K S P Normalisasi M 0.182 0.182 0.182 0.182 0.182 0.182
57
Harga Lahan M W K S P Normalisasi W 0.273 0.273 0.273 0.273 0.273 0.273 K 0.182 0.182 0.182 0.182 0.182 0.182 S 0.182 0.182 0.182 0.182 0.182 0.182 P 0.182 0.182 0.182 0.182 0.182 0.182
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = (5.000 x 0.182) + (3.667 x 0.273) + (5.500 x 0.182) +
(5.500 x 0.182 ) + (5.500 x 0.182) 𝜆𝑚𝑎𝑘𝑠 = 5.000 Cl = (Y max - n)/(n-1) = (5−5)
5−1
= 0 CR = CI/RI
0
1.12 = 0
Kriteria harga lahan dinyatakan konsisten karena dibawah ≤ 0.1. Tabel 4.29 merupakan matriks berpasangan dari kepadatan penduduk dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 29 Matriks Berpasangan - Kepadatan Penduduk
Kepadatan Penduduk M W K S P M 2/2 2/3 2/2 2/3 2/3 W 3/2 3/3 3/2 3/3 3/3 K 2/2 2/3 2/2 2/3 2/3 S 3/2 3/3 3/2 3/3 3/3 P 3/2 3/3 3/2 3/3 3/3
58
Tabel 4.30 merupakan hasil decimal matriks berpasangan dari kepadatan penduduk dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 30 Hasil Desimal - Kepadatan Penduduk
Kepadatan Penduduk M W K S P M 1.000 0.667 1.000 1.000 0.667 W 1.500 1.000 1.500 1.000 1.000 K 1.000 0.667 1.000 0.667 0.667 S 1.500 1.000 1.500 1.000 1.000 P 1.500 1.000 1.500 1.000 1.000 Total 6.500 4.333 6.500 4.667 4.333 Tabel 4.31 merupakan normalisasi matriks dari kepadatan penduduk dari alternative lokasi rekomendasi pemilihan lahan perumahan dan kemudian dilakukan penghitungan 𝜆𝑚𝑎𝑘𝑠, Consistency Index (CI) serta Consistency Ratio (CR).
Tabel 4. 31 Normalisasi - Kepadatan Penduduk
KP M W K S P Normalisasi M 0.154 0.154 0.154 0.214 0.154 0.166 W 0.231 0.231 0.231 0.214 0.231 0.227 K 0.154 0.154 0.154 0.143 0.154 0.152 S 0.231 0.231 0.231 0.214 0.231 0.227 P 0.231 0.231 0.231 0.214 0.231 0.227
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = (6.500 x 0.166) + (4.333 x 0.227) + (6.500 x 0.152) +
(4.667 x 0.227 ) + (4.333 x 0.227) 𝜆𝑚𝑎𝑘𝑠 = 5.097252747
𝜆𝑚𝑎𝑘𝑠 = 5.12
59
Cl = (Y max - n)/(n-1) = (5.12−5)
5−1
= 0.03 CR = CI/RI
0.03
1.12 = 0.027
Kriteria kepadatan penduduk dinyatakan konsisten karena dibawah ≤ 0.1. Tabel 4.32 merupakan matriks berpasangan dari infrastruktur dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 32 Matriks Berpasangan - Infrastruktur
Infrastruktur M W K S P M 3/3 3/3 3/3 3/3 3/2 W 3/3 3/3 3/3 3/3 3/2 K 3/3 3/3 3/3 3/3 3/2 S 3/3 3/3 3/3 3/3 3/2 P 2/3 2/3 2/3 2/3 2/2 Tabel 4.33 merupakan hasil desimal matriks berpasangan dari infrastruktur dari alternatif lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 33 Hasil Desimal - Infrastruktur
Infrastruktur M W K S P M 1.000 1.000 1.000 1.000 1.500 W 1.000 1.000 1.000 1.000 1.500 K 1.000 1.000 1.000 1.000 1.500 S 1.000 1.000 1.000 1.000 1.500
60
Infrastruktur M W K S P P 0.667 0.667 0.667 0.667 1.000 Total 4.667 4.667 4.667 4.667 7.000 Tabel 4.34 merupakan normalisasi matriks dari infrastruktur dari alternative lokasi rekomendasi pemilihan lahan perumahan dan kemudian dilakukan penghitungan 𝜆𝑚𝑎𝑘𝑠, Consistency Index (CI) serta Consistency Ratio (CR).
Tabel 4. 34 Normalisasi - Infrastruktur
IN M W K S P Normalisasi M 0.214 0.214 0.214 0.214 0.214 0.214 W 0.214 0.214 0.214 0.214 0.214 0.214 K 0.214 0.214 0.214 0.214 0.214 0.214 S 0.214 0.214 0.214 0.214 0.214 0.214 P 0.143 0.143 0.143 0.143 0.143 0.143
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = (4.667 x 0.214) + (4.667 x 0.214) + (4.667 x 0.214) +
(4.667 x 0.214 ) + (7.000 x 0.143) 𝜆𝑚𝑎𝑘𝑠 = 5
Cl = (Y max - n)/(n-1) = (5−5)
5−1
= 0 CR = CI/RI
0
1.12 = 0
Kriteria infrastruktur dinyatakan konsisten karena dibawah ≤ 0.1.
61
Tabel 4.35 merupakan matriks berpasangan dari fasilitas umum dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 35 Matriks Berpasangan - Fasilitas Umum
Fasilitas Umum M W K S P M 3/3 3/3 3/3 3/3 3/2 W 3/3 3/3 3/3 3/3 3/2 K 3/3 3/3 3/3 3/3 3/2 S 3/3 3/3 3/3 3/3 3/2 P 2/3 2/3 2/3 2/3 2/2 Tabel 4.36 merupakan hasil decimal matriks berpasangan dari fasilitas umum dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 36 Hasil Desimal - Fasilitas Umum
Fasilitas Umum M W K S P M 1.000 1.000 1.000 1.000 1.500 W 1.000 1.000 1.000 1.000 1.500 K 1.000 1.000 1.000 1.000 1.500 S 1.000 1.000 1.000 1.000 1.500 P 0.667 0.667 0.667 0.667 1.000 4.667 4.667 4.667 4.667 7.000 Tabel 4.37 merupakan normalisasi matriks dari fasilitas umum dari alternative lokasi rekomendasi pemilihan lahan perumahan dan kemudian dilakukan penghitungan 𝜆𝑚𝑎𝑘𝑠, Consistency Index (CI) serta Consistency Ratio (CR).
62
Tabel 4. 37 Normalisasi - Fasilitas Umum
FU M W K S P Normalisasi M 0.214 0.214 0.214 0.214 0.214 0.214 W 0.214 0.214 0.214 0.214 0.214 0.214 K 0.214 0.214 0.214 0.214 0.214 0.214 S 0.214 0.214 0.214 0.214 0.214 0.214 P 0.143 0.143 0.143 0.143 0.143 0.143
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = (4.667 x 0.214) + (4.667 x 0.214) + (4.667 x 0.214) +
(4.667 x 0.214 ) + (7.000 x 0.214) 𝜆𝑚𝑎𝑘𝑠 = 5.33 Cl = (Y max - n)/(n-1) = (5−5)
5−1
= 0 CR = CI/RI
0
1.12 = 0
Kriteria fasilitas umum dinyatakan konsisten karena dibawah ≤ 0.1. Tabel 4.38 merupakan matriks berpasangan dari kedekatan dengan pusat kota dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 38 Matriks Berpasangan - Pusat Kota
Pusat Kota M W K S P M 2/2 2/2 2/1 2/3 2/1 W 2/2 2/2 2/1 2/3 2/1 K 1/2 1/2 1/1 1/3 1/1
63
Pusat Kota M W K S P S 3/2 3/2 3/1 3/3 3/1 P 1/2 1/2 1/1 1/3 1/1 Tabel 4.39 merupakan hasil decimal matriks berpasangan dari kedekatan dengan pusat kota dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 39 Hasil Desimal - Pusat Kota
Pusat Kota M W K S P M 1.000 1.000 2.000 0.667 2.000 W 1.000 1.000 2.000 0.667 2.000 K 0.500 0.500 1.000 0.333 1.000 S 0.500 0.500 3.000 1.000 3.000 P 1.500 1.500 1.000 0.333 1.000 4.500 4.500 9.000 3.000 9.000 Tabel 4.40 merupakan normalisasi matriks dari kedekatan dengan pusat kota dari alternative lokasi rekomendasi pemilihan lahan perumahan dan kemudian dilakukan penghitungan 𝜆𝑚𝑎𝑘𝑠, Consistency Index (CI) serta Consistency Ratio (CR).
64
Tabel 4. 40 Normalisasi - Pusat Kota
Pusat Kota M W K S P Normalisasi M 0.222 0.222 0.222 0.222 0.222 0.222 W 0.222 0.222 0.222 0.222 0.222 0.222 K 0.118 0.118 0.118 0.118 0.118 0.118 S 0.111 0.111 0.333 0.333 0.333 0.238 P 0.333 0.333 0.111 0.111 0.111 0.183
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = (4.500 x 0.222) + (4.500 x 0.222) + (9.000 x 0.118) +
(3.000 x 0.238 ) + (9.000 x 0.183) 𝜆𝑚𝑎𝑘𝑠 = 5.333 Cl = (Y max - n)/(n-1) = (5.33−5)
5−1
= 0.0825 CR = CI/RI 0.0825
1.12 = 0.074
Kriteria kedekatan dengan pusat kota dinyatakan konsisten karena dibawah ≤ 0.1. Tabel 4.41 merupakan matriks berpasangan dari desain rumah dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 41 Matriks Berpasangan - Desain Rumah
Desain Rumah M W K S P M 2/2 2/3 2/2 2/2 2/2 W 3/2 3/3 3/2 3/2 3/2 K 2/2 2/3 2/2 2/2 2/2 S 2/2 2/3 2/2 2/2 2/2 P 2/2 2/3 2/2 2/2 2/2
65
Tabel 4.42 merupakan hasil decimal matriks berpasangan dari desain rumah dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 42 Hasil Desimal - Desain Rumah
Desain Rumah M W K S P M 1.000 0.667 1.000 1.000 1.000 W 1.500 1.000 1.500 1.500 1.500 K 1.000 0.667 1.000 1.000 1.000 S 1.000 0.667 1.000 1.000 1.000 P 1.000 0.667 1.000 1.000 1.000 5.500 3.667 5.500 5.500 5.500 Tabel 4.43 merupakan hasil decimal matriks berpasangan dari desain rumah dari alternative lokasi rekomendasi pemilihan lahan perumahan.
Tabel 4. 43 Normalisasi - Desain Rumah
Desain Rumah M W K S P Normalisasi M 0.182 0.182 0.182 0.182 0.182 0.182 W 0.273 0.273 0.273 0.273 0.273 0.273 K 0.182 0.182 0.182 0.182 0.182 0.182 S 0.182 0.182 0.182 0.182 0.182 0.182 P 0.182 0.182 0.182 0.182 0.182 0.182
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = (5.500 x 0.260) + (3.667 x 0.160) + (5.500 x 0.160) +
(5.500 x 0.160 ) + (5.500 x 0.260) 𝜆𝑚𝑎𝑘𝑠 = 5
Cl = (Y max - n)/(n-1)
66
= (5−5)
5−1
= 0 CR = CI/RI
0
1.12 = 0
Kriteria desain rumah dinyatakan konsisten karena dibawah ≤ 0.1. Dari keseluruhan nilai bobot kriteria kemudian akan dihasilkan sebagai Prioritas Global yang akan menentukan lokasi yang paling sesuai dengan angka input prioritas kriteria. Tabel 4.44 merupakan hasil dari perkalian antara nilai prioritas kriteria dengan masing-masing bobot lokasi lahan dan urutan rangking lokasi lahan.
Tabel 4. 44 Prioritas Global
Alternatif
LL HL KP IN FU PK DR
Total Rangk
ing 0.107
0.071
0.036
0.214
0.179
0.25
0.143
Meri 0.260
0.182
0.165
0.214
0.214
0.236
0.182
0.21581 2
Wates 0.160
0.273
0.228
0.214
0.214
0.236
0.273
0.226852 1
Kedungsari
0.160
0.182
0.152
0.214
0.214
0.118
0.182
0.175142 5
Surodinawan
0.160
0.182
0.228
0.214
0.214
0.228
0.182
0.205378 3
Pulo 0.260
0.182
0.228
0.143
0.143
0.183
0.182
0.176925
4
4.6 Analisis Kebutuhan
Setelah melakukan analisis proses bisnis, maka akan dapat diketahui kebutuhan yang diperlukan oleh intansi di dalam sistem yang akan dibangun. Berikut ini akan dibahas mengenai kebutuhan-kebutuhan yang harus sebelum dapat
67
melakukan pembangunan sistem, yaitu analisis kebutuhan user dan analisis kebutuhan fungsional.
4.6.1 Analisis Kebutuhan User
Untuk melakukan kontak dengan sistem hanyalah user. User hanya bisa melihat tampilan map apabila memilih beberapa menu yang diinginkan setelah memilih beberapa menu maka tampilan baru akan muncul, sehingga dengan munculnya tampilan baru tersebut menandakan user telah memilih pemetaan lahan Kota Mojokerto yang ingin dilihat dalam Visualisasi Pemetaan Lahan Kota Mojokerto. Selanjutnya dapat beberapa menu untuk melakukan input kriteria dalam penentuan lokasi lahan perumahan baru dalam tampilan form dan tersedia peta Kota Mojokerto, user bisa melihat kondisi lahan yang tersedia untuk perumahan dan memilih menu lainnya untuk mencari luas lahan yangs sesuai untuk pengembang perumahan di Kota Mojokerto
4.6.2 Analisis Kebutuhan Fungsional
Setelah mengetahui kebutuhan user maka dapat diketahui bahwa kebutuhan fungsional sistem adalah berupa aplikasi Visualisasi pemetaan lahan berbasis Web. Terdapat beberapa pengelolaan fitur yang akan dibuat di dalam aplikasi tersebut, yaitu sebagai berikut:
4.6.2.1 Interaksi Peta Pemetaan Lahan Di dalam sistem aplikasi, seluruh pengguna dapat
melakukan interaksi pada halaman Pemetaan Lahan yang menampilkan hasil peta pemetaan lahan Kota Mojokerto.
4.6.2.2 Rekomendasi Lahan Di dalam melakukan penentuan rekomendasi lahan
untuk perumahan menggunakan AHP pengguna melakukan input urutan prioritas ke masing-masing kriteria yang telah ditentukan sehingga ketika dilakukan hitung maka akan
68
menghasilkan rekomendasi lokasi lahan berdasarkan nilai AHP dari yang tertinggi hingga terendah.
4.6.2.3 Cari Luas Lahan Dalam sistem aplikasi ini fungsi cari luas lahan digunakan untuk mencari lahan berdasarkan panjang dan lebar lokasi yang diinginkan untuk pemetaan lahan perumahan baru di Kota Mojokerto.
4.6.2.4 Detail Info Setelah melakukan penghitungan AHP maka akan
menampilkan hasil dari penghitungan tersebut. Kemudian pengguna dapat mengetahui detail info mengenai hasil lokasi lahan lebih lanjut dengan menekan tombol “Detail Info” pada halaman rekomendasi lahan.
4.6.2.5 Lihat Peta Kemudian pengguna juga dapat melihat lokasi
koordinat dari hasil pengitungan AHP yang telah dilakukan. Sehingga dari hasil tersebut dapat menghasilkan keputusan mengenai rekomendasi lokasi lahan dalam tampilan peta dengan marker.
4.6.2.6 Gallery Di dalam menu Gallery tersedia berbagai hasil foto
secara langsung mengenai kondisi kawasan sekitar lokasi lahan yang direkomendasikan sesuai dengan penghitungan AHP. Gallery dapat diakses oleh semua pengguna.
4.6.2.7 Peraturan Menu peraturan diperlukan untuk mengetahui
peraturan daerah mengenai rencana tata ruang wilayah Kota Mojokerto berupa dokumen.
69
4.6.2.8 Link Terkait Pengguna aplikasi ini akan dapat melakukan akses ke
situs-situs pemerintahan yang tersedia untuk memberikan kemudahan mendapatkan informasi yang relevan mengenai kondisi Kota Mojokerto.
Dapat disimpulkan untuk kebutuhan fungsionalnya adalah sebagai berikut :
Tabel 4. 45 Kebutuhan Fungsional
Kebutuhan Fungsional
1. Sistem harus dapat menampilkan peta Kota Mojokerto
2. Sistem harus dapat menampilkan peta Kota Mojokerto berdasarkan pemetaan lahan.
3. Sistem harus dapat menampilkan list kriteria pemilihan lahan perumahan
4. Sistem harus dapat menampilkan lokasi lahan perumahan yang sesuai dengan hasil perhitungan dengan metode AHP
5. Sistem harus dapat menampilkan informasi detail mengenai kondisi lokasi lahan perumahan tersebut
6. Sistem harus dapat menampilkan foto kondisi lahan perumahan
7. Sistem harus dapat menampilkan informasi mengenai peraturan daerah Kota Mojokerto
70
4.6.3 Analisis Kebutuhan Non Fungsional
Setelah melakukan analisis kebutuhan fungsional, selanjutnya adalah menentukan analisisi kebutuhan non fungsional dari sistem aplikasi tersebut. Analisis kebutuhan non fungsional meliputi :
Tabel 4. 46 Kebutuhan Non Fungsional
Kebutuhan Non Fungsional
Faktor kinerja sistem aplikasi
1. Sistem harus dapat bekerja selama 24 jam sehari dan 7 hari seminggu.
2. Akan dilakukannya sistem maintenace untuk proses pemeliharaan sistem.
Faktor kebutuhan perangkat keras (Minimal)
1. Intel Core i3 2. RAM 4 GB 3. VGA 2 GB 4. 64-bit Operating System 5. Hardisk Drive 500 GB
Faktor kebutuhan perangkat lunak
1. Sistem operasi : Microsoft Windows 7 2. Excel untuk pengolahan analisis data 3. Aplikasi pengolahan data SIG : arcMap,
QuantumGIS 4. Notepad ++ 5. Database server : MYSQL 6. Web browser : Google chrome, Opera, Firefox dan
sebagainya.
71
4.7 Arsitektur Aplikasi
Aplikasi ini memiliki desain arsitektur yang sesuai dengan kebutuhan sistem untuk Visualisasi pemetaan lahanPemetaan Lahan Kota Mojokerto. Berikut ini adalah desain arsitektur digambarkan seperti pada gambar 4.3.
4.8 Desain Sistem
Setelah melakukan analisis kebutuhan, maka tahapan selanjutnya adalah proses perancangan desain. Perancangan desain terdiri dari beberapa tahapan yaitu pembuatan graphical
user interface, usecase diagram, robustness diagram, sequence diagram, hingga pembuatan test case. Berikut ini adalah penjelasan perancangan desain sistem secara lebih rinci.
Gambar 4. 3 Arsitektur Sistem
72
4.8.1 Pembuatan Graphical User Interface Storyboard
Menggunakan Software \GUI Design Studio
Pembuatan Graphical User Interface (GUI) Storyboard bertujuan untuk membantu proses perancangan desain sistem dalam bentuk prototype. GUI StoryBoard dibuat berdasarkan menu yang diperoleh dari kebutuhan fungsional. Berikut ini GUI Storyboard Aplikasi Visualisasi Pemetaan Lahan Kota Mojokerto:
4.8.2 Halaman Beranda
Grapichal User Interface (GUI) pada gambar 4.3 akan menjelaskan mengenai tampilan halaman beranda aplikasi VisualisasiPemetaan Lahan Perumahan yang berupa peta Kota Mojokerto dan sekitarnya.
Gambar 4. 4 UI Halaman Beranda
73
4.8.3 Halaman Pemetaan Lahan
Gambar 4.4 menjelaskan mengenai Grapichal User Interface (GUI) tampilan halaman pemetaan lahan Kota Mojokerto beranda aplikasi yang berupa peta Kota Mojokerto dan fungsi checkbox untuk mengetahui fungsi penggunaan lahan.
Gambar 4. 5 UI Pemetaan Lahan
Berikut ini merupakan tabel 4.13 memaparkan pemetaan lahan yang akan ditampilkan dalam Visualisasi pemetaan:
Tabel 4. 47 Pemetaan Lahan Kota
No. Pemetaan Lahan 1 Aneka Industri 2 Gedung Olahraga 3 Instalasi 4 Jalan Aspal
74
No. Pemetaan Lahan 5 Jasa Kesehatan 6 Jasa Keuangan 7 Jasa Lainnya 8 Jasa Pemerintah 9 Jasa Pendidikan 10 Jasa Perdagangan 11 Jasa Perhubungan/Transportasi 12 Jasa Peribadatan 13 Jasa Profesi 14 Jasa Sewa 15 Jasa Telekomunikasi 16 Kampung Jarang Teratur 17 Kampung Padat Teratur 18 Kampung Padat Tidak Teratur 19 Kebun Campuran 20 Kolam Air Tawar 21 Kuburan/Pemakaman 22 Lapangan Olahraga 23 Padang Rumput 24 Pergudangan 25 Perkebunan Sudah Menghasilkan 26 Perumahan Padat 27 Sawah Irigasi Lebih dari 2x
Padi/Tahun 28 Semak 29 Sungai 30 Tanah Kosong Sudah Diperuntukan 31 Tanah Terbuka Lainnya 32 Tegalan/Ladang 33 Alang-Alang
75
4.8.4 Halaman Rekomendasi Lahan
Grapichal User Interface (GUI) pada gambar 4.5 akan menjelaskan mengenai tampilan halaman rekomendasi lahan yang akan melakukan penghitungan AHP untuk menentukan rekomendasi lahan perumahan yang cocok.
Gambar 4. 6 UI Rekomendasi Lahan
4.8.5 Halaman Galeri
Grapichal User Interface (GUI) pada Gambar 4.6 merupakan tampilan foto kondisi lahan yang akan digunakan untuk perumahan pada masing-masing kawasan di Kota Mojokerto.
76
Gambar 4. 7 UI Gallery
4.8.6 Halaman Peraturan
Pada halaman peraturan akan ditampilkan dokumen berisi mengenai peraturan daerah yang mendukung kebijakan mengenai Rencana Tata Ruang dan Wilayah (RTRW) Kota Mojokerto seperti pada Gambar 4.7.
Gambar 4. 8 UI Peraturan
77
4.8.7 Halaman Link Terkait
Menu halaman Link Terkait akan meyediakan beberapa situs website dari masing-masing instansi yang berhubungan dengan pembuatan Visualisasi pemetaanini. Seperti website Pemerintah Kota Mojokerto, Kantor Pertanahan Kota Mojokerto, dan Badan Pengembangan Kota Mojokerto yang berfungsi memberikan informasi secara aktual.
4.8.8 Halaman Informasi Aplikasi
Halaman informasi aplikasi akan memberikan informasi mengenai kredit pembuatan aplikasi yang berisikan keterangan.
4.8.9 Pembuatan Use Case Diagram
Use case diagram merupakan penggambaran interaksi yang dilakukan oleh sistem dan aktor. Hal ini dilakukan untuk dapat mengetahui interaksi apa saja yang akan dilakukan di dalam sistem dan siapa aktor yang akan menjalankan interaksi tersebut, serta interaksi yang dilakukan sistem. Use case diagram tersebut dapat terlihat pada lampiran C.
4.8.10 Pembuatan Robustness Diagram
Robustness diagram merupakan diagram yang hampir menyerupai use case diagram, akan tetapi lebih rinci di dalam penggambarannya. Terdapat tiga jenis klasifikasi yaitu boundary object, entity object, dan controller. Ketiga klasifikasi tersebut berfungsi untuk memvisualisasikan dan menjembatani antara desain yang telah dibuat dengan entitas sistem yang akan dibangun. Robustness diagram tersebut dapat terlihat pada lampiran E.
78
4.8.11 Pembuatan Sequence Diagram
Sequence diagram meruapan sebuah scenario dimana memberikan kejelas sejumlah objek dan pesan yang diletakkan diantaranya dalam sebuah use case. Sequence diagram tersebut dapat terlihat pada lampiran F.
79
BAB V IMPLEMENTASI DAN UJICOBA
Pada bab ini diuraikan hal-hal terkait implementasi dan uji coba Visualisasi Pemetaan Lahan Perumahan Kota Mojokerto. Teknologi yang diimplementasikan dalam sistem ini meliputi bahasa pemrograman yang digunakan, basis data MYSQL, dan file KML (Keyhole Markup Language). Implementasi akan dipaparkan dengan menggunakan potongan gambar dari user interface dan potongan kode program.
5.1 Lingkungan Implementasi
Aplikasi Visualisasi Pemetaan Lahan dikembangkan menggunakan perangkat keras PC. Spesifikasi perangkat keras yang digunakan dalam pengembangan aplikasi dapat dilhat pada tabel 5.1.
Perangkat lunak utama yang digunakan sebagai editor adalah Notepad++. Web server menggunakan XAMPP 3.0.12, dengan basis data MYSQL. File KML untuk overlay fungsi pemetaan lahan. Tabel 5.2 menunjukkan perangkat lunak yang digunakan dalam implementasi.
Tabel 5. 1 Perangkat Keras yang digunakan dalam Implementasi dan Uji Coba Sistem
Perangkat Keras Spesifikasi PC Prosesor Intel Core i5- M520
CPU @ 2.40 GHz RAM 6144 MB
Modem Wireless CDMA Huawei Provider Smartfren
80
Tabel 5. 2 Perangkat Lunak Yang Digunakan Dalam Implementasi danUji Coba Sistem
Perangkat Lunak / Tools Versi Sistem Operasi Windows 7 Home Basic Web Server Apache 2.4.3 Basis Data MYSQL 5.0.10 Bahasa Pemrograman JavaScript, PHP, HTML CSS Boostrap Editor Notepad++
5.2 Pembuatan Peta dan Konversi Peta
Dalam proses pembuatan visualiasasi pemetaan, pasti tentunya membutuhkan sebuah peta untuk menunjukan daerah yang nantinya akan dibentuk dalam visualisasi informasinya. Pembuatan peta bisa dilakukan segala cara bisa melalui citra satelit maupun dalam bentuk gambar, akan tetapi dalam tugas akhir ini untuk proses pembuatan peta bisa menggunakan tools
yang sudah dijelaskan dalam bab sebelumnya sehingga nantinya peta tersebut mempermudah dalam pengerjaan tugas akhir ini.
5.3 Merubah file .shp dalam ArcGIS ke file KML (Keyhole Markup Language)
Pada tahapan ini file .shp dari ArcGIS akan dilakukan perubahan menjadi file KML untuk dapat ditampilkan dalam halaman web sebagai pemetaan lahan pada Kota Mojokerto. Tampilan .shp ArcGIS seperti pada Gambar 5.1
81
Gambar 5. 1 Tampilan ArcGIS 10
Dalam konversi shapefile ke keyhole markup languange disini menggunakan software Quantum GIS, yang mana dalam software tersebut menyediakan konversi untuk ke dalam bentuk format .kml. Dan langkah-langkah untuk konversi shapefile ke dalam bentuk .kml adalah sebagai berikut :
1. Mulailah dengan membuka aplikasi Quantum GIS yang sudah diinstall dalam komputer.
2. Setelah aplikasi sudah terbuka, maka langkah selanjutnya adalah pilih tools layer Vektor seperti pada gambar 5.2 dibawah ini.
82
Gambar 5. 2 Layer Vektor
3. Setelah memilih tools tersebut maka halaman akan berubah menjadi gambar dibawah ini, dan halaman ini menandakan untuk mengupload hasil peta .shp yang sudah dikerjakana dalam proses sebelumnya seperti pada gambar 5.3 dibawah ini.
Gambar 5. 3 Load Peta .shp
83
4. Pilih Navigasi, setelah itu mencari file folder dari hasil
peta shapefile yang sudah dikerjakan sebelumnya seperti gambar 5.4.
Gambar 5. 4 Pilih Peta Shapefile
5. Setelah memilih, maka hasil dari peta shapefile akan muncul dalam halaman yang seperti gambar 5.5 dibawah ini.
Gambar 5. 5 Hasil Load Peta Shapefile
84
6. Untuk mengkonversi peta shapefile ke dalam bentuk
kml, klik kanan pada layer peta – setelah itu pilih Simpan Sebagai yang seperti gambar 5.6 dibawah ini.
Gambar 5. 6 Konversi Peta
7. Pilih format dalam bentuk KML dan simpan file tersebut ke dalam direktori, seperti gambar 5.7 dibawah ini.
Gambar 5. 7 Opsi Penyimpanan ke KML
85
8. Dengan menggunakan QuantumGIS file .shp dirubah menjadi KML.
Gambar 5. 8 File KML Penggunaan Lahan
5.4 Pembuatan Database dengan menggunakan Basis Data MySQL
Untuk dapat melakukan perhitungan perbandingan menentukan rekomendasi lokasi lahan berdasarkan perhitungan AHP dengan menggunakan teknologi basis data MySQL. Berawal dengan bantuan perangkat lunak XAMPP, kemudian membuat database dengan tabel-tabel sesuai dengan kebutuhan sistem. Berdasarkan Gambar 5.9 bahwa diciptakan tabel perbandingan nilai bobot lahan yaitu nilai luas lahan, nilai harga lahan,nilai kepadatan penduduk,nilai infastruktur,nilai fasilitas umum, dan lokasi.
Gambar 5. 9 Data Perbandingan Lahan
86
Tabel kedua seperti pada Gambar 5.10 menjelaskan mengenai infomasi dari hasil data masing-masing lahan yang akan ditampilkan dalam halaman web setelah melakukan penghitungan AHP sebagai rekomendasi lahan.
Gambar 5. 10 Data Lokasi Lahan
5.5 Pembuatan Visualisasi Pemetaan
Setelah melakukan peruban file .shp ke file KML serta membuat tabel-tabel yang dibutuhkan, selanjutnya membuat aplikasi berbasis web dengan menggunakan beberapa bahasa pemrogaman untuk dapat menampilkan dan memberikan fungsi dalam Visualisasi Pemetaan Lahan Perumahan. Berikut ini merupakan tampilan dan fungsi dari sistem.
5.5.1 Halaman Beranda
Pada halaman beranda merupakan halaman awal sistem yang menampilkan peta digital Kota Mojokerto dan sekitarnya. Seperti pada Gambar 5.11.
87
Gambar 5. 11 Tampilan UI Beranda VIS
Berikut ini merupakan fungsi untuk menampilkan peta umum untuk koordinat Kota Mojokerto : var peta; function peta_awal(){ var mojokerto = new google.maps.LatLng(-7.472003, 112.439617); var petaoption = { zoom: 13, center: mojokerto, mapTypeId: google.maps.MapTypeId.ROADMAP }; peta = new google.maps.Map(document.getElementById("map-1"),petaoption);
5.5.2 Halaman Pemetaan Lahan
Halaman pemetaan lahan kota mojokerto digunakan untuk menampilkan informasi secara geografis tentang penggunaan lahan Kota Mojokerto seperti pada Gambar 5.12
88
Gambar 5. 12 Tampilan UI Pemetaan Lahan
Menurut data yang didapatkan seperti pada Table 5.3 terdapat 785 data objek penggunaan lahan di Kota Mojokerto,
Tabel 5. 3 Objek Penggunaan Lahan
Objek Jumlah Alang-Alang 8 Aneka Industri 4 Gedung Olahraga 1 Instalasi 1 Jalan Aspal 7 Jasa Kesehatan 36 Jasa Keuangan 22 Jasa Lainnya 105 Jasa Pemerintah 41 Jasa Pendidikan 57 Jasa Perdagangan 49 Jasa Perhubungan/Transportasi 3 Jasa Peribadatan 18 Jasa Profesi 11 Jasa Sewa 7 Jasa Telekomunikasi 3 Kampung Jarang Teratur 6 Kampung Padat Teratur 52
89
Kampung Padat Tidak Teratur 8 Kebun Campuran 2 Kolam Air Tawar 1 Kuburan/Pemakaman 4 Lapangan Olahraga 9 Padang Rumput 2 Pergudangan 4 Perkebunan Sudah Menghasilkan 1 Perumahan Padat 18 Sawah Irigasi Lebih dari 2x Padi/Tahun 17 Semak 164 Sungai 4 Tanah Kosong Sudah Diperuntukan 7 Tanah Terbuka Lainnya 91 Tegalan/Ladang 22 Jumlah 785
Berikut ini merupakan script untuk membangun halaman pemetaan lahan untuk memanggil file KML dan fungsi checkbox untuk menampilkan pemetaan dari penggunaan lahan Kota Mojokerto (Lampiran I: Source Code).
5.5.2.1 Pembuatan Fungsi Checkbox Penggunaan Lahan
Gambar 5. 13 Checkbox Penggunaan Lahan
90
Berikut ini merupakan beberapa potongan koding dari fungsi checkbox penggunaan lahan pada pemetaan lahan Kota Mojokerto : <table> <tr> <td> <input type="checkbox" onchange="showhideAll()" id="show_checkbox" name="show_checkbox" value="show" style="color:#80BFFF">Show / Hide All</br> </td> </tr> </table> <div id="map-page-1"> <input type="checkbox" onchange="showhidePlacemark('Perumahan Padat', 'ppt');" id="ppt" name="ppt" value="Perumahan Padat" style="color:#80BFFF">Hide Perumahan Padat</br> <input type="checkbox" onchange="showhidePlacemark('Kampung Padat Teratur', 'kpt');" id="kpt" name="kpt" value="Kampung Padat Teratur" style="color:#80BFFF">Hide Kampung Padat Teratur</br> <input type="checkbox" onchange="showhidePlacemark('Kampung Jarang Teratur', 'kjt');" id="kjt" name="kjt" value="Kampung Jarang Teratur" style="color:#80BFFF">Hide Kampung Jarang Teratur</br> <input type="checkbox" onchange="showhidePlacemark('Kampung Padat Tidak Teratur', 'kptt');" id="kptt" name="kptt" value="Kampung Padat Tidak Teratur" style="color:#80BFFF">Hide Kampung Padat Tidak Teratur</br>
91
<input type="checkbox" onchange="showhidePlacemark('Sawah Irigasi Lebih dari 2x Padi/Tahun', 'sil')" name="sil" id="sil" value="Sawah Irigasi Lebih dari 2x Padi/Tahun" style="color:#80BFFF">Hide Sawah Irigasi Lebih dari 2x Padi/Tahun</br> <input type="checkbox" onchange="showhidePlacemark('Tanah Kosong Sudah Diperuntukan', 'tsd');" id="tsd" name="tsd" value="Tanah Kosong Sudah Diperuntukan" style="color:#80BFFF">Hide Tanah Kosong Sudah Diperuntukan</br> <input type="checkbox" onchange="showhidePlacemark('Tanah Terbuka Lainnya', 'ttl');" id="ttl" name="ttl" value="Tanah Terbuka Lainnya" style="color:#80BFFF">Hide Tanah Terbuka Lainnya</br> <input type="checkbox" onchange="showhidePlacemark('Tegalan/Ladang', 'tlg')" name="tlg" id="tlg" value="Tegalan/Ladang" style="color:#80BFFF">Hide Tegalan/Ladang</br> <input type="checkbox" onchange="showhidePlacemark('Padang Rumput', 'pru')" name="pru" id="pru" value="Padang Rumput" style="color:#80BFFF">Hide Padang Rumput</br> <input type="checkbox" onchange="showhidePlacemark('Perkebunan Sudah Menghasilkan', 'pks')" name="pks" id="pks" value="Perkebunan Sudah Menghasilkan" style="color:#80BFFF">Hide Perkebunan Sudah Menghasilkan</br>
92
5.5.3 Halaman Rekomendasi Lahan – Hitung Manual AHP
Pada halaman ini terdapat berbagai macam fungsi untuk melakukan penghitungan sebagai rekomendasi lahan perumahan yang tepat sesuai dengan input nilai prioritas kriteria kemudian dilakukan proses penghitungan dengan database perbandingan pada MySQL. Pada Gambar 5.14 sistem akan menampilkan kriteria yang ada.
Gambar 5. 14 Tampilan UI Rekomendasi Lahan Hitung AHP 1
Setelah proses pemilihan kriteria maka akan menampilkan halaman dari kriteria yang telah di pilih seperti Gambar 5.15 yang terdapat peta Google Maps Kota Mojokerto, kolom input prioritas kriteria, hitung, tabel hasil penghitungan, detail info dan lihat peta hasil rekomendasi.
93
Gambar 5. 15 Tampilan UI Rekomendasi Lahan Hitung AHP 2
5.5.4 Halaman Rekomendasi Lahan - Hasil Penghitungan AHP
Pada Gambar 5.16 merupakan tampilan hasil penghitungan dari input prioritas kriteria pada kolom kriteria.
Gambar 5. 16 Tampilan UI Hasil Hitung AHP
Berikut ini merupakan koding untuk melakukan perhitungan ketika pengguna sudah melakukan input prioritas kriteria dan proses penghitungan sehingga menampilkan tabel hasil :
94
<?php $luas_lahan=$_POST ['dropluaslahan']; $fasiltas_umum=$_POST ['dropfasilitasumum']; $harga_lahan=$_POST ['drophargalahan']; $infrastruktur=$_POST ['dropinfrastruktur']; $kepadatan_penduduk=$_POST ['dropkepadatanpenduduk']; $pusat_kota=$_POST ['droppusatkota']; $desain_rumah=$_POST ['dropdesainrumah']; $konversi=$luas_lahan+$fasiltas_umum+$harga_lahan+$infrastruktur+$kepadatan_penduduk+$pusat_kota+$desain_rumah; $prioritas5= $kepadatan_penduduk/$konversi; $prioritas4= $infrastruktur/$konversi; $prioritas3= $harga_lahan/$konversi; $prioritas2= $fasiltas_umum/$konversi; $prioritas1= $luas_lahan/$konversi; $prioritas6= $pusat_kota/$konversi; $prioritas7= $desain_rumah/$konversi; echo $luas_lahan; mysql_connect("localhost", "root", ""); mysql_select_db("sig_ahp"); $all_area_res = mysql_query('SELECT * FROM perbandingan as P JOIN lokasi as L WHERE L.id = P.id'); $all_area = array(); while($row = mysql_fetch_array($all_area_res)){ if (!empty($prioritas1)) { $row['luas_lahan_index'] = $row['luas_lahan'] / $prioritas1; } else { $row['luas_lahan_index'] = 0; } if (!empty($prioritas3)) {
95
$row['harga_lahan_index'] = $row['harga_lahan'] / $prioritas3; } else { $row['harga_lahan_index'] = 0; } if (!empty($prioritas5)) { $row['kepadatan_penduduk_index'] = $row['kepadatan_penduduk'] / $prioritas5; } else { $row['kepadatan_penduduk_index'] = 0; } if (!empty($prioritas4)) { $row['infrastruktur_index'] = $row['infrastruktur'] / $prioritas4; } else { $row['infrastruktur_index'] = 0; } if (!empty($prioritas2)) { $row['fasilitas_umum_index'] = $row['fasilitas_umum'] / $prioritas2; } else { $row['fasilitas_umum_index'] = 0; } if (!empty($prioritas6)) { $row['pusat_kota_index'] = $row['pusat_kota'] / $prioritas6; } else { $row['pusat_kota_index'] = 0; } if (!empty($prioritas7)) { $row['desain_rumah_index'] = $row['desainrumah'] / $prioritas7; } else { $row['desain_rumah_index'] = 0; } $row['total_AHP'] = $row['luas_lahan_index'] + $row['harga_lahan_index'] + $row['kepadatan_penduduk_index'] +
96
$row['infrastruktur_index'] + $row['fasilitas_umum_index']+ $row['pusat_kota_index']+ $row['desain_rumah_index']; $all_area[] = $row; } $all_area = sortAHP($all_area); function sortAHP($array){ $result = array(); for($i=count($array)-1; $i>=0; $i--){ for($j=0; $j<$i; $j++){ $num1 = $array[$j]['total_AHP']; $num2 = $array[$j+1]['total_AHP']; if($num2 < $num1){ $tmp = $array[$j+1]['total_AHP']; $array[$j+1]['total_AHP'] = $array[$j]['total_AHP']; $array[$j]['total_AHP'] = $tmp; } } } return $array; } ?>
Uji Coba Cara Penghitungan AHP – 1
Pada uji coba pertama, dipilih 7 kriteria yang akan dilakukan perhitungan. Pemberian bobot prioritas kriteria seperti pada Gambar 5.17
97
Gambar 5. 17 Tampilan Aplikasi Input Kriteria -1
Dengan pemberian bobot prioritas bobot sebelumnya, maka dimulai langkah perhitungan.
Tabel 5. 4 Input Bobot Prioritas - 1
Kriteria Input Bobot Prioritas
Luas Lahan 1 Harga Lahan 2 Kepadatan Penduduk 3 Infrastruktur 4 Fasilitas Umum 5 Kedekatan dengan Pusat Kota
6
Desain Rumah 7
98
Angka dari bobot prioritas dilakukan konversi sesuai dengan urutan sehingga akan mendapatkan nilai dari proritas lokal seperti pada Tabel 5.5
Tabel 5. 5 Perhitungan Prioritas Lokal - 1
Kriteria Bobot Prioritas
Konversi Prioritas Lokal
Luas Lahan 1 7 7/28 0.2500 Harga Lahan 2 6 6/28 0.2143 Kepadatan Penduduk
3 5 5/28 0.1786
Infrastruktur 4 4 4/28 0.1429 Fasilitas Umum 5 3 3/28 0.1071 Kedekatan dengan Pusat Kota
6 2 2/28
0.0714 Desain Rumah 7 1 1/28 0.0357 Total 28 Tabel 5.6 merupakan nilai bobot kriteria dari masing-masing lokasi lahan di Kota Mojokerto.
Tabel 5. 6 Nilai Bobot Lokasi - 1
Kriteria LH HL KP IN FU PK DR Meri 0.26 0.182 0.165 0.214 0.214 0.236 0.182 Wates 0.16 0.273 0.228 0.214 0.214 0.236 0.273 Kedungsari 0.16 0.182 0.152 0.214 0.214 0.118 0.182 Surodinawan 0.16 0.182 0.228 0.214 0.214 0.228 0.182 Pulo 0.26 0.182 0.228 0.143 0.143 0.183 0.182
99
Untuk menghasilkan nilai AHP, nilai kriteria prioritas lokal dikalikan dengan nilai bobot lokasi masing-masing lahan. Sehingga akan ditampilkan nilai seperti pada Tabel 5.7
Tabel 5. 7 Hasil Hitung AHP - 1
Kriteria LH
HL KP IN FU PK DR Total
Meri 0.065
0.039
0.029
0.031
0.023
0.017
0.007
0.2103
Wates 0.040
0.059
0.041
0.031
0.023
0.017
0.010
0.2193
Kedungsari 0.040
0.039
0.027
0.031
0.023
0.008
0.007
0.1746
Surodinawan
0.040
0.039
0.041
0.031
0.023
0.016
0.007
0.1960
Pulo 0.065
0.039
0.041
0.020
0.015
0.013
0.007
0.2000
Ketika hasil nilai AHP sudah selesai dihitung, maka dilakukan pengurutan dari nilai AHP tertinggi hingga terendah untuk mengetahui lokasi lahan yang sesuai dengan urutan input kriteria lahan yang diinginkan seperti pada Tabel 5.8.
Tabel 5. 8 Rangking Lokasi Lahan - 1
Rangking Lokasi Lahan Total AHP 1 Wates 0.2193 2 Meri 0.2103 3 Pulo 0.2000 4 Surodinawan 0.1960 5 Kedungsari 0.1746
Gambar 5.18 merupakan hasil perhitungan AHP setelah memasukan input kriteria lokasi lahan (luas lahan, harga
100
lahan, kepadatan penduduk, infrastruktur, fasilitas umum, kedekatan dengan pusat kota dan desain rumah).
Gambar 5. 18 Tampilan Aplikasi Hasil AHP - 1
Uji Coba Cara Penghitungan AHP – 2
Pada uji coba pertama, dipilih 5 kriteria yang akan dilakukan perhitungan. Pemberian bobot prioritas kriteria seperti pada Gambar 5.19
Gambar 5. 19 Tampilan Aplikasi Input Kriteria - 2
101
Dengan pemberian bobot prioritas bobot sebelumnya, maka dimulai langkah perhitungan.
Tabel 5. 9 Input Bobot Prioritas - 2
Kriteria Input Bobot Prioritas
Luas Lahan 2 Harga Lahan 1 Kepadatan Penduduk 5 Infrastruktur 3 Fasilitas Umum 4
Angka dari bobot prioritas dilakukan konversi sesuai dengan urutan sehingga akan mendapatkan nilai dari proritas lokal seperti pada Tabel 5.10
Tabel 5. 10 Perhitungan Prioritas Lokal - 2
Kriteria Bobot Prioritas
Konversi Prioritas Lokal
Luas Lahan 2 4 4/17 0.2353 Harga Lahan 1 5 5/17 0.2941 Kepadatan Penduduk
5 1 1/17 0.0588
Infrastruktur 3 3 3/17 0.1765 Fasilitas Umum 4 2 2/17 0.2353 Total 17 Tabel 5.11 merupakan nilai bobot kriteria dari masing-masing lokasi lahan di Kota Mojokerto.
102
Tabel 5. 11 Nilai Bobot Lokasi - 2
Kriteria LH HL KP IN FU Meri 0.26 0.182 0.165 0.214 0.214
Wates 0.16 0.273 0.228 0.214 0.214
Kedungsari 0.16 0.182 0.152 0.214 0.214
Surodinawan 0.16 0.182 0.228 0.214 0.214
Pulo 0.26 0.182 0.228 0.143 0.143
Untuk menghasilkan nilai AHP, nilai kriteria prioritas lokal dikalikan dengan nilai bobot lokasi masing-masing lahan. Sehingga akan ditampilkan nilai seperti pada Tabel 5.12
Tabel 5. 12 Nilai Hitung AHP - 2
Kriteria LH HL KP IN FU Total Meri 0.061
2 0.053
5 0.165
0 0.037
8 0.050
4 0.367
8 Wates 0.037
6 0.080
3 0.228
0 0.037
8 0.050
4 0.434
1 Kedungsari 0.037
6 0.053
5 0.152
0 0.037
8 0.050
4 0.331
3 Surodinawan
0.0376
0.0535
0.2280
0.0378
0.0504
0.4073
Pulo 0.0612
0.0535
0.2280
0.0252
0.0336
0.4016
Ketika hasil nilai AHP sudah selesai dihitung, maka dilakukan pengurutan dari nilai AHP tertinggi hingga terendah untuk mengetahui lokasi lahan yang sesuai dengan urutan input kriteria lahan yang diinginkan seperti pada Tabel 5.13.
Tabel 5. 13 Rangking Lokasi Lahan - 2
Rangking Lokasi Lahan Total AHP 1 Wates 0.4341
103
Rangking Lokasi Lahan Total AHP 2 Surodinawan 0.4073 3 Pulo 0.4016 4 Meri 0.3678 5 Kedungsari 0.3313
Gambar 5.20 merupakan hasil perhitungan AHP setelah memasukan input kriteria lokasi lahan (luas lahan, harga lahan, kepadatan penduduk, infrastruktur, fasilitas umum).
Gambar 5. 20 Tampilan Aplikasi Hasil AHP
Uji Coba Cara Penghitungan AHP – 3
Pada uji coba pertama, dipilih 5 kriteria yang akan dilakukan perhitungan. Pemberian bobot prioritas kriteria seperti pada Gambar 5.21
104
Gambar 5. 21 Tampilan Aplikasi Input Kriteria - 3
Dengan pemberian bobot prioritas bobot sebelumnya, maka dimulai langkah perhitungan.
Tabel 5. 14 Input Bobot Prioritas - 3
Kriteria Input Bobot Prioritas
Luas Lahan 2 Harga Lahan 1 Infrastruktur 5 Fasilitas Umum 4 Kedekatan dengan Pusat Kota
3
Angka dari bobot prioritas dilakukan konversi sesuai dengan urutan sehingga akan mendapatkan nilai dari proritas lokal seperti pada Tabel 5.15
105
Tabel 5. 15 Perhitungan Prioritas Lokal - 3
Kriteria Bobot Prioritas
Konversi Prioritas Lokal
Luas Lahan 2 4 4/15 0.2667 Harga Lahan 1 5 5/15 0.3333 Infrastruktur 5 1 1/15 0.0667 Fasilitas Umum 4 2 2/15 0.1333 Kedekatan dengan Pusat Kota
3 3 3/15 0.2000
Total 15 Tabel 5.16 merupakan nilai bobot kriteria dari masing-masing lokasi lahan di Kota Mojokerto.
Tabel 5. 16 Nilai Bobot Lokasi Lahan - 3
Kriteria LH HL IN FU PK Meri 0.26 0.182 0.214 0.214 0.236
Wates 0.16 0.273 0.214 0.214 0.236
Kedungsari 0.16 0.182 0.214 0.214 0.118
Surodinawan 0.16 0.182 0.214 0.214 0.228
Pulo 0.26 0.182 0.143 0.143 0.183
Untuk menghasilkan nilai AHP, nilai kriteria prioritas lokal dikalikan dengan nilai bobot lokasi masing-masing lahan. Sehingga akan ditampilkan nilai seperti pada Tabel 5.17
Tabel 5. 17 Nilai Hitung AHP - 3
Kriteria LH HL IN FU PK Total Meri 0.069 0.061 0.014 0.029 0.047 0.2200 Wates 0.043 0.091 0.014 0.029 0.047 0.2237
106
Kedungsari 0.043 0.061 0.014 0.029 0.024 0.1697 Surodinawan 0.043 0.061 0.014 0.029 0.046 0.1917 Pulo 0.069 0.061 0.010 0.019 0.037 0.1952
Ketika hasil nilai AHP sudah selesai dihitung, maka dilakukan pengurutan dari nilai AHP tertinggi hingga terendah untuk mengetahui lokasi lahan yang sesuai dengan urutan input kriteria lahan yang diinginkan seperti pada Tabel 5.18.
Tabel 5. 18 Rangking Lokasi Lahan - 3
Rangking Lokasi Lahan Total AHP 1 Wates 0.2237 2 Meri 0.2200 3 Pulo 0.1952 4 Surodinawan 0.1917 5 Kedungsari 0.1697
Gambar 5.18 merupakan hasil perhitungan AHP setelah memasukan input kriteria lokasi lahan (luas lahan, harga lahan, infrastruktur, fasilitas umum dan kedekatan dengan pusat kota).
Gambar 5. 22 Tampilan Aplikasi Hasil AHP
107
Uji Coba Cara Penghitungan AHP – 4
Pada uji coba pertama, dipilih 4 kriteria yang akan dilakukan perhitungan. Pemberian bobot prioritas kriteria seperti pada Gambar 5.23
Gambar 5. 23 Tampilan Aplikasi Input Kriteria - 4
Dengan pemberian bobot prioritas bobot sebelumnya, maka dimulai langkah perhitungan.
Tabel 5. 19 Input Bobot Prioritas - 4
Kriteria Input Bobot Prioritas
Luas Lahan 2 Harga Lahan 1 Kepadatan Penduduk 3 Infrastruktur 4
Angka dari bobot prioritas dilakukan konversi sesuai dengan urutan sehingga akan mendapatkan nilai dari proritas lokal seperti pada Tabel 5.20
108
Tabel 5. 20 Perhitungan Prioritas Lokal - 4
Kriteria Bobot Prioritas
Konversi Prioritas Lokal
Luas Lahan 2 3 3/10 0.3000 Harga Lahan 1 4 4/10 0.4000 Kepadatan Penduduk
3 2 2/10 0.2000
Infrastruktur 4 1 1/10 0.1000 Total 10 Tabel 5.21 merupakan nilai bobot kriteria dari masing-masing lokasi lahan di Kota Mojokerto.
Tabel 5. 21 Nilai Bobot Lokasi - 4
Kriteria LH HL KP IN Meri 0.26 0.182 0.165 0.214 Wates 0.16 0.273 0.228 0.214 Kedungsari 0.16 0.182 0.152 0.214 Surodinawan 0.16 0.182 0.228 0.214 Pulo 0.26 0.182 0.228 0.143
Untuk menghasilkan nilai AHP, nilai kriteria prioritas lokal dikalikan dengan nilai bobot lokasi masing-masing lahan. Sehingga akan ditampilkan nilai seperti pada Tabel 5.22
Tabel 5. 22 Nilai Hitung AHP - 4
Kriteria LH HL KP IN Total Meri 0.0780 0.0728 0.0330 0.0214 0.2052 Wates 0.0480 0.1092 0.0456 0.0214 0.2242 Kedungsari 0.0480 0.0728 0.0304 0.0214 0.1726 Surodinawan 0.0480 0.0728 0.0456 0.0214 0.1878 Pulo 0.0780 0.0728 0.0456 0.0143 0.2107
109
Ketika hasil nilai AHP sudah selesai dihitung, maka dilakukan pengurutan dari nilai AHP tertinggi hingga terendah untuk mengetahui lokasi lahan yang sesuai dengan urutan input kriteria lahan yang diinginkan seperti pada Tabel 5.23.
Tabel 5. 23 Rangking Lokasi Lahan - 4
Rangking Lokasi Lahan Total AHP 1 Wates 0.2242 2 Pulo 0.2052 3 Meri 0.2107 4 Surodinawan 0.1878 5 Kedungsari 0.1726
Gambar 5.24 merupakan hasil perhitungan AHP setelah memasukan input kriteria lokasi lahan (luas lahan, harga lahan, kepadatan penduduk dan infrastruktur).
Gambar 5. 24 Tampilan Aplikasi Hasil AHP - 4
5.5.5 Halaman Rekomendasi Lahan – Detail Info Hasil Hitung AHP
Pada Gambar 5.25 menjelaskan mengenai tampilan detail info lahan dari hasil hitung input prioritas AHP.
110
Gambar 5. 25 UI Detail Info Lahan
Berikut ini merupakan koding untuk menampilkan detail info dengan memanggil data pada MySQL : <button class=”btn btn-primary btn-lg” name=”detail<?php echo $i; ?>” id=”detail<?php echo $i; ?>”>Detail</button> <div id="detail_div<?php echo $i; ?>" style="display: none;" title="Detail"> <br>Nama Lokasi : <?php echo $all_area[$i]['nama_lokasi']; ?></br> <br>Estimasi Luas Lahan : <?php echo $all_area[$i]['estimasi_luas']; ?></br> <br>Kepadatan Penduduk : <?php echo $all_area[$i]['tingkat_kepadatan_penduduk']; ?></br> <br>Infrastruktur : <?php echo $all_area[$i]['kondisi_infrastruktur']; ?></br> <br>Fasilitas Umum : <?php echo $all_area[$i]['kondisi_fasilitas_umum']; ?></br> <br>Kedekatan dengan Pusat Kota : <?php echo
111
$all_area[$i]['kedekatan_pusat_kota']; ?></br> <br>Desain Rumah : <?php echo $all_area[$i]['desain_rumah']; ?></br> <br>Penggunaan Lahan sebelumnya : <?php echo $all_area[$i]['penggunaan_lahan_penduduk_sebelumnya']; ?></br> <br>Longitude: <?php echo $all_area[$i]['longitude']; ?></br> <br>Latitude: <?php echo $all_area[$i]['latitude']; ?></br> </div> <script> $('#detail<?php echo $i; ?>').click(function(event){ $('#detail_div<?php echo $i; ?>').show(); $("#detail_div<?php echo $i; ?>").dialog({ width: 500 }); });
5.5.6 Halaman Rekomendasi Lahan – Lihat Peta
Rekomendasi
Setelah melakukan perhitungan pada input kriteria maka pada tabel hasil rekomendasi lahan terdapat tombol “Lihat Peta”. Sehingga tampilan peta rekomendasi lahan seperti pada Gambar 5.26
112
Gambar 5. 26 Lihat Peta Rekomendasi Lahan
Berikut ini merupakan koding untuk menampilkan hasil peta rekomendasi lahan :
<button class="btn btn-primary btn-lg" name="peta<?php echo $i; ?>" id="peta<?php echo $i; ?>">Lihat Peta</button>
$('#peta<?php echo $i; ?>').click(function(event){ var lon = <?php echo $all_area[$i]['longitude']; ?>;
var lat = <?php echo $all_area[$i]['latitude']; ?>;
var myLatlng = new google.maps.LatLng(lon,lat);
var marker = new google.maps.Marker({position: myLatlng, title:"Lokasi Lahan" }); peta.setCenter(myLatlng); marker.setMap(peta); });
113
5.5.7 Halaman Cari Lahan
Pada halaman cari lahan ini akan menentukan luas lahan berdasarkan panjang dan lebar lahan yang akan diinginkan oleh user seperti pada Gambar 5.27.
Gambar 5. 27 Tampilan UI Cari Lahan
Berikut ini merupakan koding untuk mencari luas lahan : <?php mysql_connect("localhost", "root", ""); mysql_select_db("sig_ahp"); $lebar1=$_POST ['lebar1']; $lebar2=$_POST ['lebar2']; $panjang1=$_POST ['panjang1']; $panjang2=$_POST ['panjang2']; $sql = "SELECT * FROM lokasi WHERE (lebar BETWEEN '$lebar1' AND '$lebar2') and (panjang between '$panjang1' and '$panjang2')";
114
$query = mysql_query( $sql ); ?> <table> <tr> <table class="table table-hover"> <thead> <tr> <th>Nama Lokasi</th> <th>Estimasi Luas</th> </tr> </tr> <?php $i = 1; if (!empty($lebar2) && !empty($lebar1) && !empty($panjang2) && !empty($panjang1) ) { while( $rows = mysql_fetch_row($query) ){ ?> <div id="detail_div<?php echo $i;?>" style="display: none;" title="Detail"> <br>Panjang :<?php echo $rows[11]; ?></br> <br>Lebar :<?php echo $rows[12]; ?></br> </div> <tr> <td><?php echo $rows[1];?></td> <td><?php echo $rows[2];?></td> <td> <button class="btn btn-primary btn-lg" name="detail<?php echo $i;?>" id="detail<?php echo $i;?>">Detail</button> </td>
115
<td> <button class="btn btn-primary btn-lg" name="peta<?php echo $i;?>" id="peta<?php echo $i;?>">Lihat Peta</button> </td> </tr> <script type="text/javascript"> $('#detail<?php echo $i; ?>').click(function(event){ $('#detail_div<?php echo $i; ?>').show(); $("#detail_div<?php echo $i; ?>").dialog({ width: 500 }); }); $('#peta<?php echo $i; ?>').click(function(event){ var lon = "<?php echo $rows[9]; ?>"; var lat = "<?php echo $rows[10]; ?>"; var myLatlng = new google.maps.LatLng(lon,lat); var marker = new google.maps.Marker({ position: myLatlng, title:"Lokasi Lahan" }); peta.setCenter(myLatlng); marker.setMap(peta); }); </script> <?php $i++; } } else{ ?> <?php } ?>
116
5.5.8 Halaman Peraturan
Pada halaman peraturan akan menampilkan dokumen mengenai peraturan daerah mengenai Rencana Tata Ruang dan Wilayah Kota Mojokerto seperti pada Gambar 5.11
Gambar 5. 28 UI Peraturan Daerah
Berikut ini merupakan koding untuk memanggil dokumen peraturan : <div class="row"> <div id="breadcrumb" class="col-md-12"> <ol class="breadcrumb"> <li><a href="index.html">Peraturan</a></li> <li><a href="#">Raperda</a></li> <li><a href="#">Rencana Tata Ruang dan WIlayah</a></li> </ol> </div> </div> <object data="RAPERDA.pdf " type="application/pdf" width="1000px" height="500px"></object>
117
5.5.9 Halaman Link Terkait
Pada menu link terkait disini akan menampilkan situs dari instansi yang berhubungan dengan Visualisasi Kota Mojokerto yaitu Website Pemerinta Kota Mojokerto seperti pada Gambar 5.29 dengan url (http://mojokertokota.go.id/ )
Gambar 5. 29 Website Pemerintah Kota Mojokerto
Pada Gambar 5.30 terdapat situs dari kantor pertanahan Kota Mojokerto dengan url (http://kot-mojokerto.bpn.go.id/home.aspx )
118
Gambar 5. 30 Website Kantor Pertanahan Kota Mojokerto
Dan juga situs dari Bappeko Mojokerto seperti pada Gambar 5.31 dengan url (http://210.247.250.144/bappeko_mojokerto/87-featured/81-welcome.html )
Gambar 5. 31 Website Bappeko Mojokerto
119
5.6 Uji Coba
Uji coba dibagi menjadi 2 tahap yakni uji coba fungsional dan non fungsional. Dalam uji coba fungsional akan dibahas tentang fungsi-fungsi inti pada aplikasi Visualisasi Pemetan Lahan Perumahan di Kota Mojokerto.
5.6.1 Uji Coba Fungsional
Pada uji coba fungsional akan dilakukan percobaan untuk penggunaan fungsi pada menu aplikasi.
5.6.1.1 Fungsi Hitung AHP Awal penggunaan fungsi ini aplikasi akan menawarkan kepada user untuk memilih kriteria yang dibutuhkan dalam melakukan perhitungan AHP untuk mengetahui lokasi lahan perumahan mana yang sesuai dengan kebutuhan. Pada gambar 5.32 terdapat 7 kriteria yang tersedia yakni : : luas lahan, harga lahan, kepadatan penduduk,infrastruktur, fasilitas umum, kedekatan dengan pusat kota dan desain rumah.
Gambar 5. 32 Pemilihan Kriteria
120
Kemudian setelah selesai memilih kriteria yang dibutuhkan dilanjutkan dengan tombol pilih. Maka akan keluar tampilan perhitungan AHP pada Gambar 5.33.
Gambar 5. 33 Tampilan Hitung AHP
Pada kolom pengisian rangking prioritas lahan apabila angka yang sudah dimasukan ke kriteria sebelumnya maka angka tersebut tidak berlaku di kriteria selanjutnya. Sehingga tidak terjadi rangking ganda yang terjadi. Setelah selesai user menekan tombol “Hitung”. Dan hasilnya berupa tabel seperti Gambar 5.34
Gambar 5. 34 Hasil Perhitungan AHP
121
5.6.1.2 Fungsi Cari Lahan Pada Gambar 5.35 aplikasi ini user dapat mencari lokasi lahan yang diinginkan sesuai kebutuhan berdasarkan ukuran panjang dan lebar lahan. Sehingga memudahkan untuk mendukung keputusan yang terbaik.
Gambar 5. 35 Halaman Cari Lahan
Gambar 5.36 menjelaskan bahwa sebelum proses eksekusi pencarian user diharuskan untuk mengisikan ukuran yang diinginkan. Setelah selesai, user segera menekan tombol “Cari”.
Gambar 5. 36 Halaman Hasil Cari Lahan
122
Sistem akan menampilkan hasil cari lahan yang sesuai dengan jangka ukuran yang telah dimasukan sebelumnya. Jika ingin mengetahui lokasi lahan, user tinggal menekan tombol “Lihat Peta” akan muncul di tampilan seperti Gambar 5.37.
Gambar 5. 37 Lihat Peta Cari Lahan
Dan jika ingin detail ukuran masing-masing lahan, user tinggal menekan tombol “Detail” seperti pada Gambar 5.38
Gambar 5. 38 Detail Info PxL Lahan
123
5.6.2 Uji Coba Non-Fungsional
Pada uji coba non fungsional, dilakukan uji coba kompabilitas browser. Hal ini dilakukan dengan tujuan untuk mengetahui apakah aplikasi yang telah dibuat mampu di operasikan dengan baik di beberapa browser yang telah ditentukan,serta menilai apakah aplikasi dapat beroperasi dengan baik.
Gambar 5. 39 Logo BrowserStack
Gambar 5.39 merupakan logo BrowserStack dari salah satu tools online yang dipergunakan untuk melakukan uji kompabilitas browser. Terdapat banyak variasi sistem operasi dan browser didalam website tersebut, sehingga pengguna dapat melakukan uji kompabilitas dengan baik.
124
No
Jenis OS/
Browser Hasil Uji Keterangan
1.
OS Windows 7 Browser Mozilla Firefox 29.0
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
2.
OS Windows 7 Browser Safari 5.1
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown
125
untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
3.
OS Windows 7 Browser Google Chrome 35.0
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
4 OS
Fungsi
126
. Windows 7 Browser Opera 21.0
view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
5.
OS Windows 8 Browser Internet Explorer
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu
127
tidak berfungsi dengan baik (-)
Overlays maps tidak dapat ditampilan (-)
6.
OS Windows 8 Browser Mozilla Firefox 29.0
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
7.
OS Windows 8 Browser Safari 5.1
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown
128
untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
8.
OS Windows 8 Browser Google Chrome 35.0
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
129
5.6.3 Uji Coba Server
Dalam uji coba server dilakukan dengan melakukan hosting. Alamat hosting yang digunakan adalah http://ilham.bidjim.com. Berikut ini uji coba menggunakan perangkat lunak sebagai berikut :
5.6.3.1 Accunetix Accunetix merupakan sebuag program alat scanning
website yang sangat popular di dunia hacking. Kemampuannya adalah menscan secara total dari sebuah sistem dan mendapatkan informasi secara mendetail. Acunetix ini juga bisa mendeteksi
9.
OS Windows 7 Browser Opera 21.0
Fungsi view,hitung,kembali berjalan dengan semestinya
Jika ukuran jendela layar dikecilkan, maka tampilan aplikasi akan memyesuaikan
Tombol dropdown untuk mengisikan prioritas kriteria berfungsi dengan semestinya
Tampilan icon menu berfungsi dengan baik
Overlays maps dapat ditampilkan dengan baik
130
kelemahan pada sistem aplikasi pada website sepertivuln pada SQL Blind, SQL Injection, Cross Sire Scripting (XSS). Dan dari Acunetix ini mampu melihat isi direktori dari sebuah website dan bisa mencari halaman login.
Gambar 5. 40 Logo Acunetix
Dalam melakukan testing menggunakan Accunetix, ada beberapa jenis yang akan di uji coba yaitu : Blind_SQL_Injection, Default dan AcuSensor.
Blind SQL Injection
Pada Gambar 5.41 merupakan tampilan hasil secara umum dalam uji coba Acunetix terhadap halaman web http://ilham.bidjim.com menggunakan metode Blind SQL Injection.
Gambar 5. 41 Tampilan Umum Accunetix Metode SQL
131
Gambar 5.42 merupakan aksi awal penggunaan Acunetix dengan mengisikan url http://ilham.bidjim.com
Gambar 5. 42 Pengisian URL dan Metode Uji Coba
Setelah pengisian url maka pengujian dimulai maka akan menampilkan hasil pemindai secara cepat seperti Gambar 5.43.
Gambar 5. 43 Hasil Scan Metode Blind SQL Injection
Gambar 5.44 adalah aktifitas windows pada acunetix selama proses pemindai url yang telah ditargetkan.
132
Gambar 5. 44 Activity Windows Acunetix
Selama proses pemindai juga ditampilkan hasil peringatan secara detail tentang kondisi url apabila dilakukan testing metode Blind SQL Injection. Pada Gambat 5.45 menunjukan bahwa url memiliki ancaman berwarna orange level 2 yaitu medium.
Gambar 5. 45 Peringatan Hasil Scan Ancaman Metode Blind SQL Injection
Default
Pada Gambar 5.46 merupakan tampilan hasil secara umum dalam uji coba Acunetix terhadap halaman web http://ilham.bidjim.com menggunakan metode Default.
133
Gambar 5. 46 Hasil Scan Metode Default
Setelah pengisian url maka pengujian dimulai maka akan menampilkan hasil pemindai secara cepat seperti Gambar 5.43.
Gambar 5. 47 Hasil Scan MetodeDefault – 2
134
Selama proses pemindai juga ditampilkan hasil peringatan secara detail tentang kondisi url apabila dilakukan testing metode Default. Pada Gambat 5.48 menunjukan bahwa url memiliki ancaman berwarna orange level 2 yaitu medium.
Gambar 5. 48 Peringatan Hasil Scan Metode Default
ACU SENSOR
Pada Gambar 5.49 merupakan tampilan hasil secara umum dalam uji coba Acunetix terhadap halaman web http://ilham.bidjim.com menggunakan metode Acu Sensor
135
Gambar 5. 49 Tampilan Umum Acunetix Metode AcuSensor
Setelah pengisian url maka pengujian dimulai maka akan menampilkan hasil pemindai secara cepat seperti Gambar 5.50.
Gambar 5. 50 Hasil Scan Metode AcuSensor
136
Selama proses pemindai juga ditampilkan hasil peringatan secara detail tentang kondisi url apabila dilakukan testing metode AcuSensor. Pada Gambat 5.51 menunjukan bahwa url memiliki ancaman berwarna orange level 3 yaitu High berarti memiliki tingkatan tinggi apabila dilakukan secara AcuSensor
Gambar 5. 51 Peringatan Hasil Metode AcuSensor
137
5.6.3.2 Low Orbit Ion Cannon Low Orbit Ion Cannon atau disingkat LOIC merupakan salah satu aplikasi gratis untuk melakukan penyerangan dengan cara DDOS Attack atau singkatan dari Distributed Denial of Service Attack yang menggunakan banyak host penyerang (computer dipaksa menjadi zombie)untuk menyerang satu buah host targer dalam sebuah jaringan. Serangan DDOS memiliki sifat yang lebih canggih dengan menggunakan beberapa computer sehingga dapat mengakibatkan server atau keseluruhan jaringan dapat menjadi tidak berfungsi bagi klien. Uji Coba penggunaan LOIC untuk DDOS Attack
Gambar 5. 52 Tampilan Awal LOIC
Pada Gambar 5.52 merupakan tampilan awal dari perangkat lunak LOIC. Untuk melakukan uji coba terhadap situs yang akan diserang dengan cara mengisikan di bagian URL dengan http://www.ilham.bidjim.com. Setelah memasukan halaman URL, klik tombol “Lock On” untuk melakukan kunci dan mendapatkan IP target sesuai dengan URL tersebut seperti pada Gambar 5.53 IP target yaitu 49.128.177.80
138
Gambar 5. 53 LOIC - Lock On IP Target
Tab Attack Option digunakan untuk melakukan opsi penyerangan yang akan dilakukan. Dalam tes ini penyerangan menggunakan metode TCP dengan jumlah threads 999 dan timeout 1200.
Gambar 5. 54 Opsi Penyerangan Web
Proses konfigurasi sudah terlaksana kemudian dengan menekan tombol IMMA CHARGIN MAH LAZER akan memulai untuk melakukan penyerangan. Dan hasilnya yang akan ditampilkan seperti pada Gambar 5.54 merupakan keterangan berapa jumlah paket yang telah connecting, requesting, downloading,downloaded,request, dan failed.
139
Gambar 5. 55 Hasil Penyerangan LOIC
5.6.3.3 Apache JMeter
Gambar 5. 56 Logo Apache JMeter
Apache JMeter adalah sebuah perangkat lunak open
source yang berfungsi sebagai stress testing yaitu pengujian untuk mengetahui dan mengkur kemampuan aplikasi dalam menerima kondisi yang tidak normal dalam segi kapasitas jumlah pengguna dan uji fungsional. Gambar 5.57 merupakan tampilan awal ketika aplikasi JMeter digunakan.
140
Gambar 5. 57 Tampilan Awal Jmeter
Untuk memulai stress testing, langkah pertama adalah dengan menambahkan ancaman yang akan dilakukan terhadap sebuah aplikasi. Add Threads (Users) Thread Group seperti Gambar 5.58
Gambar 5. 58 Membuat Thread Group
141
Ketika memasuki opsi Thread Group. Masukan jumlah ancaman berupa berapa banyak user yang akan mengakses dalam detik pada kolom Number of Threads(Users) seperti pada Gambar 5.59. Pada uji ini dicoba dengan jumlah 150.
Gambar 5. 59 Input Thread Group
Selanjutnya menentukan Sampler dengan opsi HTTP Request seperti pada Gambar 5.60 Add Sampler HTTP Request.
Gambar 5. 60 Memulai HTTP Request
142
Gambar 5.61 merupakan tampilan opsi HTTP Request, kemudian ditentukan Web Server yang akan diuji. Pada uji ini Server Name or IP berisikan url ilham.bijdim.com.
Gambar 5. 61 Input HTTP Request
Apabila pada uji ini terdapat proxy tidak lupa melakukan pengaturan seperti pada Gambar 5.62.
Gambar 5. 62 Pengaturan Proxy
Tahap selanjutnya yaitu menentukan bentuk hasil yang akan dilakukan uji dengan cara Add Listener View Result in Table seperti pada Gambar 5.63
143
Gambar 5. 63 Memulai View Result in Table
Setelah ke 3 tahap sudah dipersiapkan mulai dari Thread Group, HTTP Request dan Listener View. Kemudian tekan tombol play seperti pada Gambar 5.64 untuk memulai uji coba dengan JMeter.
Gambar 5. 64 Tombol Memulai Eksekusi
Sistem JMeter akan meminta pesetujuan sebelum melakukan eksekusi pengujian seperti pada Gambar 5.65
Gambar 5. 65 Persetujuan Penyimpanan Hasil Uji
144
Gambar 5.66 menampilkan direktori penyimpanan file testing JMeter dengan format .jmx
Gambar 5. 66 Direktori Penyimpanan
Setelah proses telah dilakukan maka akan menampilkan hasil seperti tabel yang menggambarkan status setiap virtual user yang mengakses ke alamat url ilham.bidjim.com seperti pada Gambar 5.67
Gambar 5. 67 Hasil Uji JMeter
145
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan
Dari hasil uji coba perangkat lunak yang telah dibangun ini dapat ditarik kesimpulan :
Pada pemetaan lahan Kota Mojokerto dapat menampilkan secara geografis mengenai kondisi dari penggunaan lahan yang tersedia.
Aplikasi perangkat lunak ini dapat melakukan sebuah analisa yang menghasilkan rekomendasi permasalahan penentuan alternative lokasi pembangunan perumahan baru di Kota Mojokerto berdasarkan kriteria dengan memasukan inputan berupa rangking prioritas.
Pemilihan kriteria sangat berpengaruh terhadap hasil keputusan dari aplikasi visualisasi ini.
Pemberian rangking pada prioritas kriteria sangat berpengaruh terhadap hasilnya, jika rentang berbedaan antar kriteria satu dan lainnya semakin besar maka hasil perhitungan dengan metode AHP juga sangat berbeda dan tingkat dominasi dari masing-masing kriteria akan berbeda pula tergantung besar kecilnya prioritas.
Pada hasil uji coba program terlihat dominan pada alternative lahan Wates dan Meri. Karena dari kedua kawasan tersebut memiliki penilaian bobot yang lebih menonjol daripada kawasan lain di Kota Mojokerto. Seperti dalam hal luas lahan, harga lahan, infrastruktur, fasilitas umum, kedeketan dengan pusat kota dan desain rumah.
146
Alternatif lokasi sudah sesuai dengan rencana RTRW Pemerintahan Kota Mojokerto yang akan digunakan sebagai lahan perumahan baru.
Pada pencarian luas lahan perumahan tergantung dari inputan panjang dan lebar lahan.
6.2 Saran
Hasil dari tugas akhir ini belum sempurna untuk meningkatkan hasil yang dicapai maka diperlukan beberapa kriteria tambahan yang berhubungan sehingga dapat lebih lengkap dan dapat mengasilkan keputusan terbaik.
Apabila pembobotan dari masing-masing alternative lokasi berubah maka hasilnya akan mempengaruhi dari nilai AHP.
Jika aplikasi ini dikembangkan selanjutnya diharapkan user dapat menambahkan kriteria tentang penggunaan dan pemetaan lahan perumahan.
147
DAFTAR PUSTAKA
[1] Pemerintah Kota Mojokerto, ”Profil Kota Mojokerto,” [Online].
Available: http://www.mojokertokota.go.id. [Använd 24 10 2013].
[2] H. H. Petir, ”Asas - asas hukum agraria dalam UUPA,” [Online]. Available: http://herlindahpetir.lecture.ub.ac.id/. [Använd 24 10 2013].
[3] K. Chang, Introduction to Geographic Information Systems, Singapore: 2008, 2008.
[4] A. F. Indarto, Tutorial Ringkas Arcgis 10, Jakarta: PT Gramedia, 2013.
[5] Nashrudin, Arahan Pengendalian Konversi Lahan Hutan sebagai Lahan Hutan Produktif Kab. Palalawan Riau, Surabaya: Digilib ITS, 2010.
[6] A. Komariyah, Studi Perubahan Lahan Pertanian ke non Pertanian di Kabupaten Tulungagung, Surabaya: Digilib ITS, 2010.
[7] M. R. Noor, Aspek Hukum Teknologi Digital dan Dokumentasi Pertanahan, BPN RI, Jakarta, 2013.
[8] Badan Pertanahan Nasional Kota Mojokerto, ”Tentang Badan Pertanahan Nasional RI,” [Online]. Available: http://www.bpn.go.id/tentangbpn.aspx. [Använd 2013].
[9] DPPKA Kota Mojokerto, ”DPPKA Kota Mojokerto,” [Online]. Available: http://wikimapia.org/12689628/id/DPPKA-Kota-Mojokerto. [Använd 2013].
[10] Kantor Pajak Kota Mojokerto, ”Kantor Pajak Kota Mojokerto,” [Online]. Available: www.pajak.go.id/node/463. [Använd 20 11 2013].
[11] R. Husein, ”Konsep Dasar Sistem Informasi Geografis,” 2006. [Online]. Available: http://ilmukomputer.com. [Använd 2013].
[12] I. A. Denny Carter, Desain dan Aplikasi SIG, Jakarta: PT.Elex
148
Komputindo, 2003. [13] Esri, ”About ArcGIS,” ESRI, [Online]. Available:
http://resources.arcgis.com/content. [Använd 2013]. [14] Geoserver, ”About Geoserver,” [Online]. Available:
http://geoserver.org/display/GEOS/Welcome. [Använd 2013]. [15] PostGIS, ”About PostGIS,” [Online]. Available:
http://postgis.net/. [Använd 2013]. [16] S. Mavrody, HTML5 & CSS3 : Quick Reference, Chicago:
Belisso, 2012. [17] Yang, Xiumei. 2001, Landslide hazard assessment based on GIS and AHP Northwest Research Insitute of China Railway Engineering Corporation, China.
A-1
LAMPIRAN A Kuesioner AHP
I. Umum Responden yang terhormat, Bersama ini saya mengharapkan kesediaan waktu Anda untuk melakukan pengisian kuisioner sesuai dengan penilaian Anda. Pertanyaan yang ada di kuisoner ini bertujuan untuk pengambilan data dalam rangka penyusunan tugas Akhir Sistem Informasi ITS Surabaya dengan judul: “Pembuatan Visualiasasi Pemetaan Lahan Perumahan Menggunakan Google Maps API dengan Fasilitas Rekomendasi Berdasarkan Metode AHP (Studi Kasus: Kota Mojokerto)” Atas bantuan dan perhatiannya saya ucapkan terimakasih.
A-2
II. Identitas Responden Nama : Usia : Pekerjaan/Jabatan : Instansi :
III. Petunjuk Pengisian Berilah tanda cek (√) pada kolom skala kriteria (A) atau pada kolom skala kriteria (B) yang sesuai dengan pendapat Anda. Definisi Angka: 1: Kedua Kriteria sama penting 3: Kriteria (A) sedikit lebih penting dibanding dengan (B) 5: Kriteria (A) lebih penting dibanding dengan (B) 7: Kriteria (A) sangat penting dibanding dengan (B) 9: Kriteria (A) sangat lebih penting dibanding dengan (B) *berlaku sebaliknya Contoh: Dalam penentuan keputusan untuk lahan perumahan seberapa pentingkah pertimbangan:
A-3
No. Kriteria A Skala Skala Kriteria B 9 7 5 3 1 3 5 7 9
1. Luas Lahan √ Harga Lahan
Jika Anda memberi tanda (√) pada skala 7 di kolom A, maka artinya adalah kriteria A dalam contoh ini luas lahan sangat lebih penting dibanding dengan kriteria B dalam contoh ini harga lahan. Akan tetapi jika anda merasa kriteria B sangat lebih penting dibanding dengan kriteria A (luas lahan) maka seperti berikut: No. Kriteria A Skala Skala Kriteria B
9 7 5 3 1 3 5 7 9
1. Luas Lahan √ Harga Lahan
A-4
Daftar Pertanyaan 1. Pertanyaan Kriteria
Dalam melakukan penentuan pemetaan perumahan, seberapa pentingkah mempertimbangkan kriteria di bawah ini :
No. Kriteria A Skala Skala Kriteria B 9 7 5 3 1 3 5 7 9
1. Luas Lahan Harga Lahan
2. Luas Lahan Kepadatan penduduk
3. Luas Lahan Infrastruktur
4. Luas Lahan Fasiitas Umum
5. Luas Lahan Kedekatan dengan Pusat Kota
6. Luas Lahan Desain Rumah
A-5
No. Kriteria A Skala Skala Kriteria B 9 7 5 3 1 3 5 7 9
1. Harga Lahan
Kepadatan Penduduk
2. Harga Lahan
Infrastruktur
3. Harga Lahan
Fasilitas Umum
4. Harga Lahan
Kedekatan dengan Pusat Kota
5. Harga Lahan
Desain Rumah
No. Kriteria A Skala Skala Kriteria B
9 7 5 3 1 3 5 7 9
1. Kepadatan Penduduk
Infrastruktur
A-6
2. Kepadatan Penduduk
Fasilitas Umum
3. Kepadatan Penduduk
Kedekatan dengan Pusat Kota
4. Kepadatan Penduduk
Desain Rumah
No. Kriteria A Skala Skala Kriteria B
9 7 5 3 1 3 5 7 9
1. Infrastruktur Fasilitas Umum
2. Infrastruktur Kedekatan dengan Pusat Kota
3. Infrastruktur Desain Rumah
A-7
No. Kriteria A Skala Skala Kriteria B 9 7 5 3 1 3 5 7 9
1. Fasilitas Umum
Kedekatan dengan Pusat Kota
2. Fasilitas Umum
Desain Rumah
No. Kriteria A Skala Skala Kriteria B
9 7 5 3 1 3 5 7 9
1. Kedekatan dengan Pusat Kota
Desain Rumah
TERIMAKASIH
B-1
LAMPIRAN B Hasil Kuesioner AHP
Responden 2 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 5 1/3 1/7 1/5 1/7 1/3 HL 1/5 1 1/5 1/3 1/5 1/7 1/9 KP 3 5 1 1/5 1/3 1/3 1/9 IN 7 3 5 1 5 1/3 1/9 FU 5 5 3 1/5 1 1/3 1/5 PK 7 7 3 3 3 1 1/9 DR 3 9 9 9 5 9 1
Normalisasi Matriks LL HL KP IN FU PK DR
LL 1 5 0.333 0.143 0.200 0.143 0.333 HL 0.200 1 0.200 0.333 0.200 0.143 0.111 KP 3 5 1 0.200 0.333 0.333 0.111 IN 7 3 5 1 5.000 0.333 0.111 FU 5 5 3 0.200 1 0.333 0.200 PK 7 7 3 3 3 1 0.111 DR 3 9 9 9 5 9 1
Total 26.200 35.000 21.533 13.876 14.733 11.285 1.977 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.038 0.143 0.015 0.010 0.014 0.013 0.168 0.401 HL 0.008 0.029 0.009 0.024 0.014 0.013 0.056 0.152 KP 0.115 0.143 0.046 0.014 0.023 0.030 0.056 0.426 IN 0.267 0.086 0.232 0.072 0.339 0.030 0.056 1.082 FU 0.191 0.143 0.139 0.014 0.068 0.030 0.101 0.686 PK 0.267 0.200 0.139 0.216 0.204 0.089 0.056 1.171 DR 0.115 0.257 0.418 0.649 0.339 0.798 0.506 3.081 Hasil Hitung Eigen Value
Kriteria Nilai Eigen Value Luas Lahan 0.419
Harga Lahan 0.237 Kepadatan Penduduk 0.624
B-2
Infrastruktur 1.528 Fasilitas Umum 1.000
Kedekatan dengan Pusat Kota 2.040 Desain Rumah 5.168
Total 11.015 Bobot Prioritas dan Bobot Sintesis
Bobot Prioritas Rangking Bobot Prioritas
Bobot Sintesis
LL 0.038 6 0.401 HL 0.022 7 0.152 KP 0.057 5 0.426 IN 0.139 3 1.082 FU 0.091 4 0.686 PK 0.185 2 1.171 DR 0.465 1 3.081
LL = 0.401/0.038 = 10.553 HL= 0.152/0.022 = 6.909 KP= 0.426/0.057 =7.474 IN= 1.082/ 0.139 = 7.784 FU= 0.686/0.091 = 7.538 PK= 1.171/0.185 = 6.330 DR = 3.081/0.465 = 6.626
Total Nilai Eigen Maksimum = 53.214
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 53.214/7 𝜆𝑚𝑎𝑘𝑠 = 7.602
Cl = (𝜆 max - n)/(n-1) = (7.602−7)
7−1
= 0.1003 CR = CI/RI 0.076
1.32 = 0.076 (Konsisten)
B-3
Karena Nilai Ratio Konsistensi ≤ 0.1 maka dinyatakan konsisten. Responden 3 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 7 1/7 1/9 1/3 5 1/7 HL 1/7 1 1/7 1/5 1/3 5 1/7 KP 7 7 1 1/7 1/5 5 3 IN 9 5 7 1 7 7 1/5 FU 3 3 5 1/7 1 7 1/5 PK 1/5 1/5 1/5 1/7 1/7 1 1/9 DR 7 7 1/3 5 5 9 1
Normalisasi Matriks
LL HL KP IN FU PK DR LL 1 7 0.143 0.111 0.333 5 0.143 HL 0.143 1 0.143 0.200 0.333 5 0.143 KP 7 7 1 0.143 0.200 5 3 IN 9 5 7 1 7 7 0.200 FU 3 3 5 0.143 1 7 0.200 PK 0.200 0.200 0.200 0.143 0.143 1 0.111 DR 7 7 0.333 5 5 9 1
Total 27.343 30.200 13.819 6.740 14.009 39.000 4.797 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.037 0.232 0.010 0.016 0.024 0.128 0.030 0.477 HL 0.005 0.033 0.010 0.030 0.024 0.128 0.030 0.260 KP 0.256 0.232 0.072 0.021 0.014 0.128 0.625 1.349 IN 0.329 0.166 0.507 0.148 0.500 0.179 0.042 1.870 FU 0.110 0.099 0.362 0.021 0.071 0.179 0.042 0.885 PK 0.007 0.007 0.014 0.021 0.010 0.026 0.023 0.109 DR 0.256 0.232 0.024 0.742 0.357 0.231 0.208 2.050 Hasil Hitung Eigen Value
Kriteria Nilai Eigen Luas Lahan 0.595 Harga Lahan 0.371
Kepadatan Penduduk 1.545 Infrastruktur 3.151
Fasilitas Umum 1.369 Kedekatan dengan Pusat Kota 0.210
Desain Rumah 3.230
B-4
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.057 5 0.477 HL 0.035 6 0.26 KP 0.148 3 1.349 IN 0.301 2 1.87 FU 0.131 4 0.885 PK 0.02 7 0.109 DR 0.308 1 2.05
LL = 0.477/0.057 = 8.368 HL= 0.26/0.035 = 7.429 KP= 1.349/0.148 = 9.115 IN= 1.87/ 0.301 = 6.213 FU= 0.885/0.131 = 6.756 PK= 0.109/0.02 = 5.450 DR = 2.05/0.308 = 6.656
Total Nilai Eigen Maksimum = 49.986
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 49.986/7 𝜆𝑚𝑎𝑘𝑠 = 7.1408
Cl = (Y max - n)/(n-1) = (7.1408−7)
7−1
= 0.0235 CR = CI/RI 0.235
1.32 = 0.018 (Konsisten)
Responden 4 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 7 1/5 1/7 1/9 1/3 7
B-5
HL 1/7 1 7 1/9 1/7 1/7 5 KP 5 1/7 1 1/7 1/7 1/5 1/5 IN 7 9 7 1 5 7 7 FU 9 7 7 1/5 1 9 7 PK 3 7 5 1/7 1/9 1 1/7 DR 1/7 1/5 5 1/7 1/7 7 1
Normalisasi Matriks LL HL KP IN FU PK DR
LL 1 7 0.200 0.143 0.111 0.333 7 HL 0.143 1 7 0.111 0.143 0.143 5 KP 5 0.143 1 0.143 0.143 0.200 0.200 IN 7 9 7 1 5 7 7 FU 9 7 7 0.200 1 9 7 PK 3 7 5 0.143 0.111 1 0.143 DR 0.143 0.200 5 0.143 0.143 7 1
Total 25.286 31.343 32.200 1.883 6.651 24.676 27.343 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.040 0.223 0.006 0.076 0.017 0.013 0.256 0.631 HL 0.006 0.032 0.217 0.059 0.022 0.006 0.183 0.524 KP 0.198 0.005 0.031 0.076 0.022 0.008 0.007 0.346 IN 0.277 0.287 0.217 0.531 0.752 0.284 0.256 2.604 FU 0.356 0.223 0.217 0.106 0.150 0.365 0.256 1.674 PK 0.119 0.223 0.155 0.076 0.017 0.041 0.005 0.636 DR 0.006 0.006 0.155 0.076 0.022 0.284 0.037 0.585 Hasil Hitung Eigen Value
Kriteria Nilai Eigen Luas Lahan 0.655 Harga Lahan 0.527
Kepadatan Penduduk 0.345 Infrastruktur 5.237
Fasilitas Umum 3.427 Kedekatan dengan Pusat Kota 0.815
Desain Rumah 0.574
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.057 4 0.631 HL 0.046 6 0.524
B-6
KP 0.03 7 0.346 IN 0.452 1 2.604 FU 0.269 2 1.674 PK 0.07 3 0.636 DR 0.308 5 2.05
LL = 0.631/0.057 = 11.070 HL= 0.524/0.046= 11.391 KP= 0.346/0.03= 11.533 IN= 2.604/ 0.452 = 5.761 FU= 1.674/0.269 = 6.223 PK= 0.63/0.07 = 9.086
DR = 2.05/0.308 = 11.700 Total Nilai Eigen Vektor = 66.765
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎
𝜆𝑚𝑎𝑘𝑠 = 66.765/7 𝜆𝑚𝑎𝑘𝑠 = 9.538
Cl = (Y max - n)/(n-1) = (9.538−7)
7−1
= 0.423 CR = CI/RI 0.423
1.32 = 0.32 (Tidak konsisten)
Responden 5 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 7 1/7 1/5 1/7 1/7 1/3 HL 1/7 1 1/3 1/3 1/3 1/3 5 KP 7 3 1 1/5 1/7 1/5 1/3 IN 5 3 5 1 5 3 7 FU 7 3 7 1/5 1 1/3 5 PK 7 3 5 1/3 3 1 3 DR 3 1/5 3 1/7 1/5 1/3 1
Normalisasi Matriks
B-7
LL HL KP IN FU PK DR LL 1 7 0.143 0.200 0.143 0.143 0.333 HL 0.143 1 0.333 0.333 0.333 0.333 5 KP 7 3 1 0.200 0.143 0.200 0.333 IN 5 3 5 1 5 3 7 FU 7 3 7 0.200 1 0.333 5 PK 7 3 5 0.333 3 1 3 DR 3 0.200 3 0.143 0.200 0.333 1
Total 30.143 20.200 21.476 2.410 9.819 5.343 21.667 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.033 0.347 0.007 0.083 0.015 0.027 0.015 0.526 HL 0.005 0.050 0.016 0.138 0.034 0.062 0.231 0.535 KP 0.232 0.149 0.047 0.083 0.015 0.037 0.015 0.578 IN 0.166 0.149 0.233 0.415 0.509 0.561 0.323 2.356 FU 0.232 0.149 0.326 0.083 0.102 0.062 0.231 1.185 PK 0.232 0.149 0.233 0.138 0.306 0.187 0.138 1.383 DR 0.100 0.010 0.140 0.059 0.020 0.062 0.046 0.437 Hasil Hitung Eigen Value
Kriteria Nilai Eigen Luas Lahan 0.390 Harga Lahan 0.509
Kepadatan Penduduk 0.631 Infrastruktur 3.603
Fasilitas Umum 1.744 Kedekatan dengan Pusat Kota 2.275
Desain Rumah 0.559
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.04 7 0.526 HL 0.052 6 0.535 KP 0.065 4 0.578 IN 0.371 1 2.356 FU 0.18 3 1.185 PK 0.234 2 1.383 DR 0.058 5 0.437
B-8
LL = 0.526/0.04 = 13.150 HL= 0.535/0.052 = 10.288 KP= 0.578/0.065 = 8.892 IN= 2.356/ 0.371 = 6.350 FU= 1.185/0.18 = 6.583 PK= 1.383/0.234 = 5.910 DR = 0.437/0.058 = 7.534
Total Nilai Eigen Maksimum = 58.709 𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎
𝜆𝑚𝑎𝑘𝑠 = 58.709/7 𝜆𝑚𝑎𝑘𝑠 = 8.387
Cl = (𝜆 max - n)/(n-1) = (8.387−7)
7−1
= 0.231 CR = CI/RI 0.231
1.32 = 0.175 (Tidak Konsisten)
Responden 6 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 7 1/7 1/5 1/7 1/7 1/5 HL 1/7 1 5 1/5 3 1/7 1/5 KP 7 1/5 1 1/5 1/7 1/5 1/5 IN 5 5 5 1 1/5 1/5 1/5 FU 7 1/3 7 5 1 1/5 5 PK 7 7 5 5 5 1 5 DR 5 5 5 5 1/5 1/5 1
Normalisasi Matriks LL HL KP IN FU PK DR
LL 1 7 0.143 0.200 0.143 0.143 0.200 HL 0.143 1 5 0.200 3 0.143 0.200 KP 7 0.200 1 0.200 0.143 0.200 0.200 IN 5 5 5 1 0.200 0.200 0.200 FU 7 0.333 7 5 1 0.200 5 PK 7 7 5 5 5 1 5 DR 5 5 5 5 0.200 0.200 1
Total 32.143 25.533 28.143 16.600 9.686 2.086 11.800
B-9
Hasil pembagian tiap cell LL HL KP IN FU PK DR Jumlah
LL 0.031 0.274 0.005 0.012 0.015 0.068 0.017 0.423 HL 0.004 0.039 0.178 0.012 0.310 0.068 0.017 0.628 KP 0.218 0.008 0.036 0.012 0.015 0.096 0.017 0.401 IN 0.156 0.196 0.178 0.060 0.021 0.096 0.017 0.723 FU 0.218 0.013 0.249 0.301 0.103 0.096 0.424 1.404 PK 0.218 0.274 0.178 0.301 0.516 0.479 0.424 2.390 DR 0.156 0.196 0.178 0.301 0.021 0.096 0.085 1.032 Hasil Hitung Eigen Value
Kriteria Nilai Eigen Luas Lahan 0.362 Harga Lahan 0.533
Kepadatan Penduduk 0.399 Infrastruktur 1.000
Fasilitas Umum 1.876 Kedekatan dengan Pusat Kota 4.374
Desain Rumah 1.584
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.036 7 0.423 HL 0.053 5 0.628 KP 0.039 6 0.401 IN 0.099 4 0.723 FU 0.185 2 1.404 PK 0.423 1 2.39 DR 0.156 3 1.032
LL = 0.423/0.036 = 11.750 HL= 0.628/0.053 = 11.849 KP= 0.401/0.039 = 10.282 IN= 0.724/ 0.099 = 7.303 FU= 1.404/0.185 = 7.589
B-10
PK= 2.39/0.423 = 5.650 DR = 1.032/0.156 = 6.615
Total Nilai Eigen Maksimum = 61.039
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 61.039/7 𝜆𝑚𝑎𝑘𝑠 = 8.72
Cl = (Y max - n)/(n-1) = (8.72−7)
7−1
= 0.287 CR = CI/RI 0.287
1.32 = 0.22 (Tidak Konsisten)
Responden 7 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 5 1/5 1/7 1/5 1/7 1/3 HL 1/5 1 1 1/3 1/3 1/5 3 KP 5 1 1 3 3 1 3 IN 7 3 1/3 1 5 1/3 5 FU 5 3 1/3 1/5 1 1/3 3 PK 7 5 1 3 3 1 1/3 DR 3 1/3 1/3 1/5 1/3 3 1
Normalisasi Matriks LL HL KP IN FU PK DR
LL 1 5 0.200 0.143 0.200 0.143 0.333 HL 0.200 1 1 0.333 0.333 0.200 3 KP 5 1 1 3 3 1 3 IN 7 3 0.333 1 5 0.333 5 FU 5 3 0.333 0.200 1 0.333 3 PK 7 5 1 3 3 1 0.333 DR 3 0.333 0.333 0.200 0.333 3 1
Total 28.200 18.333 4.200 7.876 12.867 6.010 15.667 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.035 0.273 0.048 0.018 0.016 0.024 0.021 0.435
B-11
HL 0.007 0.055 0.238 0.042 0.026 0.033 0.191 0.593 KP 0.177 0.055 0.238 0.381 0.233 0.166 0.191 1.442 IN 0.248 0.164 0.079 0.127 0.389 0.055 0.319 1.381 FU 0.177 0.164 0.079 0.025 0.078 0.055 0.191 0.770 PK 0.248 0.273 0.238 0.381 0.233 0.166 0.021 1.561 DR 0.106 0.018 0.079 0.025 0.026 0.499 0.064 0.818 Hasil Hitung Eigen Value
Kriteria Nilai Eigen Luas Lahan 0.390 Harga Lahan 0.540
Kepadatan Penduduk 2.015 Infrastruktur 1.788
Fasilitas Umum 1.000 Kedekatan dengan Pusat Kota 1.944
Desain Rumah 0.679 Total 8.355
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.047 7 0.435 HL 0.065 6 0.593 KP 0.241 1 1.442 IN 0.214 3 1.381 FU 0.12 4 0.77 PK 0.233 2 1.561 DR 0.081 5 0.818
LL = 0.435/0.047 = 9.255 HL= 0.593/0.065 = 9.123 KP= 1.442/0.241 = 5.983 IN= 1.328/ 0.214 = 6.453
FU= 0.77/0.12 = 6.417 PK= 1.561/0.233 = 6.7
DR = 0.818/0.081 = 10.099 Total Nilai Eigen Maksimum = 54.030
B-12
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 54.030/7 𝜆𝑚𝑎𝑘𝑠 = 7.72
Cl = (Y max - n)/(n-1) = (7.72−7)
7−1
= 0.120 CR = CI/RI 0.120
1.32 = 0.09 (Konsisten)
Responden 8 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 7 5 5 1/5 1/7 1/5 HL 1/7 1 1/3 1/3 1/5 1/5 5 KP 1/5 3 1 5 1/7 1/5 1/5 IN 1/5 3 1/5 1 1/5 3 5 FU 5 5 7 5 1 1/3 1/3 PK 7 5 5 1/3 3 1 1/3 DR 5 1/5 5 1/5 3 3 1
Normalisasi Matriks
LL HL KP IN FU PK DR LL 1 7 5 5 0.200 0.143 0.200 HL 0.143 1 0.333 0.333 0.200 0.200 5 KP 0.200 3 1 5 0.143 0.200 0.200 IN 0.200 3 0.200 1 0.200 3 5 FU 5 5 7 5 1 0.333 0.333 PK 7 5 5 0.333 3 1 0.333 DR 5 0.200 5 0.200 3 3 1
Total 18.543 24.200 23.533 16.867 7.743 7.876 12.067 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.054 0.289 0.212 0.296 0.026 0.018 0.017 0.913
B-13
HL 0.008 0.041 0.014 0.020 0.026 0.025 0.414 0.549 KP 0.011 0.124 0.042 0.296 0.018 0.025 0.017 0.534 IN 0.011 0.124 0.008 0.059 0.026 0.381 0.414 1.024 FU 0.270 0.207 0.297 0.296 0.129 0.042 0.028 1.269 PK 0.378 0.207 0.212 0.020 0.387 0.127 0.028 1.358 DR 0.270 0.008 0.212 0.012 0.387 0.381 0.083 1.353 Hasil Hitung Eigen Value
Kriteria Nilai Eigen Luas Lahan 1.000 Harga Lahan 0.440
Kepadatan Penduduk 0.559 Infrastruktur 0.864
Fasilitas Umum 1.923 Kedekatan dengan Pusat Kota 1.788
Desain Rumah 1.369 Jumlah 7.943
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.126 4 0.913 HL 0.055 7 0.549 KP 0.07 6 0.534 IN 0.109 5 1.024 FU 0.242 1 1.269 PK 0.225 2 1.358 DR 0.172 3 1.353
LL = 0.913/0.126 = 7.246 HL= 0.549/0.055 = 9.982 KP= 0.534/0.07 = 7.629
IN= 1.024/ 0.109 = 9.394 FU= 1.269/0.242 = 5.244 PK= 1.358/0.225 = 6.036 DR = 1.353/0.172 = 7.866
Total Nilai Eigen Vektor = 53.397
B-14
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 53.397/7 𝜆𝑚𝑎𝑘𝑠 = 7.63
Cl = (Y max - n)/(n-1) = (7.63−7)
7−1
= 0.105 CR = CI/RI 0.105
1.32 = 0.079 (Konsisten)
Responden 9 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 1/7 5 1/7 1/9 5 1/7 HL 7 1 9 3 3 1 1 KP 1/5 1/9 1 1/9 1/9 1/7 1/3 IN 7 1/3 9 1 1/7 1/3 1/2 FU 9 1/3 9 7 1 5 1 PK 1/5 1 7 3 1/5 1 5 DR 7 1 3 2 1 1/5 1
Normalisasi Matriks LL HL KP IN FU PK DR
LL 1 0.143 5 0.143 0.111 5 0.143 HL 7 1 9 3 3 1 1 KP 0.200 0.111 1 0.111 0.111 0.143 0.333 IN 7 0.333 9 1 0.143 0.333 0.500 FU 9 0.333 9 7 1 5 1 PK 0.200 1 7 3 0.200 1 5 DR 7 1 3 2 1 0.200 1
Total 31.400 3.921 43.000 16.254 5.565 12.676 8.976 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.032 0.036 0.116 0.009 0.020 0.394 0.016 0.624 HL 0.223 0.255 0.209 0.185 0.539 0.079 0.111 1.601 KP 0.006 0.028 0.023 0.007 0.020 0.011 0.037 0.133 IN 0.223 0.085 0.209 0.062 0.026 0.026 0.056 0.686 FU 0.287 0.085 0.209 0.431 0.180 0.394 0.111 1.697 PK 0.006 0.255 0.163 0.185 0.036 0.079 0.557 1.281 DR 0.223 0.255 0.070 0.123 0.180 0.016 0.111 0.978
B-15
Hasil Hitung Eigen Value Kriteria Nilai Eigen
Luas Lahan 0.503 Harga Lahan 2.474
Kepadatan Penduduk 0.201 Infrastruktur 0.906
Fasilitas Umum 2.661 Kedekatan dengan Pusat Kota 1.228
Desain Rumah 1.355 Total 9.327
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.054 6 0.624 HL 0.265 2 1.601 KP 0.022 7 0.133 IN 0.097 5 0.686 FU 0.285 1 1.697 PK 0.132 4 1.281 DR 0.145 3 0.978
LL = 0.624/0.054 = 11.556 HL= 1.601/0.265 = 6.042 KP= 0.133/0.022 = 6.045 IN= 0.686/ 0.097 = 7.072 FU= 1.697/0.285 = 5.954 PK= 1.281/0.132 = 9.705 DR = 0.978/0.145 = 6.745
Total Nilai Eigen Vektor = 53.118
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 53.118/7 𝜆𝑚𝑎𝑘𝑠 = 7.58
B-16
Cl = (Y max - n)/(n-1) = (7.58−7)
7−1
= 0.098 CR = CI/RI 0.074
1.32 = 0.098 (Konsisten)
Responden 10 Matriks Perbandingan Kriteria
LL HL KP IN FU PK DR LL 1 1 1/5 1/3 1/5 1/7 1 HL 1 1 7 1/3 1/5 1 1 KP 5 1/7 1 1/5 1/3 1/3 1/5 IN 3 3 5 1 1 5 1 FU 5 5 3 1 1 5 1/5 PK 7 1 3 1/5 1/5 1 3 DR 1 1 5 1 5 1/3 1
Normalisasi Matriks LL HL KP IN FU PK DR
LL 1 0.143 5 0.143 0.111 5 0.143 HL 7 1 9 3 3 1 1 KP 0.200 0.111 1 0.111 0.111 0.143 0.333 IN 7 0.333 9 1 0.143 0.333 0.500 FU 9 0.333 9 7 1 5 1 PK 0.200 1 7 3 0.200 1 5 DR 7 1 3 2 1 0.200 1
Total 31.400 3.921 43.000 16.254 5.565 12.676 8.976 Hasil pembagian tiap cell
LL HL KP IN FU PK DR Jumlah LL 0.032 0.036 0.116 0.009 0.020 0.394 0.016 0.624 HL 0.223 0.255 0.209 0.185 0.539 0.079 0.111 1.601 KP 0.006 0.028 0.023 0.007 0.020 0.011 0.037 0.133 IN 0.223 0.085 0.209 0.062 0.026 0.026 0.056 0.686 FU 0.287 0.085 0.209 0.431 0.180 0.394 0.111 1.697 PK 0.006 0.255 0.163 0.185 0.036 0.079 0.557 1.281 DR 0.223 0.255 0.070 0.123 0.180 0.016 0.111 0.978
B-17
Hasil Hitung Eigen Value Kriteria Nilai Eigen
Luas Lahan 0.503 Harga Lahan 2.474
Kepadatan Penduduk 0.201 Infrastruktur 0.906
Fasilitas Umum 2.661 Kedekatan dengan Pusat Kota 1.228
Desain Rumah 1.355 Total 9.327
Bobot Prioritas dan Bobot Sintesis Bobot Prioritas Rangking
Bobot Prioritas
Bobot Sintesis
LL 0.054 6 0.624 HL 0.265 2 1.601 KP 0.022 7 0.133 IN 0.097 5 0.686 FU 0.285 1 1.697 PK 0.132 4 1.281 DR 0.145 3 0.978
LL = 0.624/0.054 = 11.556 HL= 1.601/0.022 = 6.042 KP= 0.133/0.057 = 6.045 IN= 0.686/ 0.139 = 7.042 FU= 1.697/0.091 = 5.945 PK= 1.281/0.185 = 9.705 DR = 0.978/0.465 = 6.745
Total Nilai Eigen Maksimum = 53.118
𝜆𝑚𝑎𝑘𝑠 = (𝑥)/𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝜆𝑚𝑎𝑘𝑠 = 53.118/7 𝜆𝑚𝑎𝑘𝑠 = 7.58
B-18
Cl = (Y max - n)/(n-1) = (7.58−7)
7−1
= 0.098 CR = CI/RI 0.098
1.32 = 0.074 (Konsisten)
C-1
LAMPIRAN C DIAGRAM USE CASE
C.1 Diagram Use Case
uc Actors
User
Lihat Pemetaan
Lahan
Hitung Rekomendasi
AHP
Hapus Rekomendasi
AHP
Lihat Detail Info
Rekomendasi AHP
Lihat Peta Hasil
Rekomendasi
Lihat Rekomendasi
Stakeholder
Lihat Gallery Kondisi
Lahan
Lihat Peraturan
Daerah
Simpan Peraturan
Daerah
Lihat Link Terkait
Lihat Informasi
Aplikasi
Input Prioritas
Kriteria
Lihat Peta
Cari Lahan
C-2
Halaman ini sengaja dikosongkan
D-1
LAMPIRAN D
DESKRIPSI DIAGRAM USE CASE
D.1 Deskripsi Use Case Lihat Peta Use Case name : Lihat Peta ID : UC01 Primary actor : Semua User Brief Description : use case ini digunakan untuk menampilkan peta kota Mojokerto pada halaman beranda sistem. Pre-condition : Pengguna berada pada tampilan halaman beranda Trigger : Pengguna mengakses visualisasi pemetaandengan memasukan url. Basic Course:
1. Sistem melakukan pengambilan koordinat lokasi Kota Mojokerto dari server google maps.
2. Sistem menampilkan peta kota Mojokerto. Subflow : - Alternate course :
1. Jika halaman beranda tidak dapat menampilkan peta maka periksa jaringan koneksi internet.
Post Condition : Sistem menampilkan peta ke halaman beranda. D.2 Deskripsi Use Case Lihat Pemetaan Lahan Use Case name : Lihat Pemetaan Lahan
ID : UC02
Primary actor : Semua User Brief Description : use case ini digunakan untuk menampilkan pemetaan lahan Kota Mojokerto sesuai dengan penggunaannya. Pre-condition : Pengguna berada pada tampilan halaman beranda. Trigger : Pengguna memilih checkbox keterangan untuk
D-2
pemetaan lahan. Basic Course:
1. User memilih menu “Pemetaan Lahan” pada sistem 2. Sistem menampilkan halaman peta pemetaan lahan 3. User memilih fungsi checkbox untuk menampilkan
pemetaan lahan. 4. Sistem menampilkan hasil peta berdasarkan checkbox
penggunaan lahan sesuai dengan pilihan user. Subflow : - Alternate course :
1. Jika halaman pemetaam lahan tidak dapat menampilkan peta maka periksa jaringan koneksi internet.
Post Condition : Sistem menampilkan hasil pemetaan lahan ke halaman sistem. D.3 Deskripsi Use Case Input Prioritas Kriteria Use Case name : Input Prioritas Kriteria
ID : UC03
Primary actor : Semua User Brief Description : use case ini digunakan untuk melakukan input nilai prioritas kriteria sebagai masukan untuk menentukan rekomendasi lokasi lahan. Pre-condition : Pengguna berada pada tampilan halaman Rekomendasi Lahan Hitung Manual. Trigger : Pengguna memilih urutan angka (1-5) untuk memberikan prioritas kriteria lahan. Basic Course:
1. User memilih menu Hitung Manual AHP 2. Sistem menampilkan halaman hitung manual AHP
pada menu Rekomendasi Lahan 3. User menginputkan nilai (1-5) secara berurutan ke
masing-masing kriteria untuk menentukan prioritas kriteria lahan yang paling penting hingga yang tidak terlalu penting.
D-3
Subflow : - Alternate course : Post Condition : Sistem menampilkan halaman hitung AHP. D.4 Deskripsi Use Case Hitung Rekomendasi AHP Use Case name : Hitung Rekomendasi AHP
ID : UC04
Primary actor : Semua User Brief Description : use case ini digunakan untuk melakukan eksekusi penghitungan dari proses input nilai prioritas kriteria. Pre-condition : Pengguna berada pada tampilan halaman Rekomendasi Lahan Hitung AHP. Trigger : Pengguna menekan tombol “Hitung” untuk melakukan eksekusi. Basic Course:
1. User menekan tombol “Hitung” 2. Sistem akan melakukan proses penghitungan dengan
data lokasi yang sudah tersedia. 3. Sistem menampilkan hasil hitung rekomendasi lahan
perumahan pada halaman yang sama. Subflow : - Alternate course :
1. Inputan prioritas kriteria harus diisi. Jika tidak maka tidak dapat menghasilkan perhitungan rekomendasi lahan.
Post Condition : Sistem menampilkan hasil penghitungan AHP pada halaman hitung AHP. D.5 Deskripsi Use Case Kembali Input Rekomendasi AHP Use Case name : Kembali Input Rekomendasi AHP
ID : UC05
Primary actor : Semua User Brief Description : use case ini digunakan untuk melakukan pengisian ulang kolom prioritas kriteria dari awal pemilihan
D-4
kriteria. Pre-condition : Pengguna berada pada tampilan halaman Rekomendasi Lahan Hitung Manual. Trigger : Pengguna menekan tombol “Kembali” untuk melakukan pemilihan ulang prioritas kriteria. Basic Course:
1. User ingin melakukan penghitungan ulang untuk melakukan input prioritas kriteria.
2. User menekan tombol “Kembali” 3. Sistem melakukan proses pengosongan field prioritas
kriteria Subflow : - Alternate course : - Post Condition : Sistem menampilkan halaman hitung AHP dengan pemilihan kriteria. D.6 Deskripsi Use Case Lihat Detail Info Rekomendasi Use Case name : Lihat Detail Info Rekomendasi
ID : UC06
Primary actor : Semua User Brief Description : use case ini digunakan untuk memberikan informasi mengenai kondisi lahan setelah melakukan proses hitung rekomendasi lahan. Pre-condition : Pengguna berada pada tampilan halaman Rekomendasi Lahan Hitung AHP. Trigger : Pengguna menekan tombol “Detail” pada table hasil perhitungan prioritas kriteria. Basic Course:
1. User berada pada table urutan nilai AHP setelah melakukan proses hitung AHP.
2. User menekan tombol “Detail” pada table hasil hitung 3. Sistem menampilkan pop up informasi mengenai
kondisi lahan yang telah dipilih oleh user. Subflow : -
D-5
Alternate course : Jika peta halaman rekomendasi lahan tidak dapat menampilkan peta maka periksa jaringan koneksi internet. Post Condition : Sistem menampilkan marker lokasi penentuan lahan berdasarakan hasil penghitungan AHP. D.7 Deskripsi Use Case Lihat Peta Hasil Rekomendasi Use Case name : Lihat Peta Hasil Rekomendasi
ID : UC07
Primary actor : Semua User Brief Description : use case ini digunakan sebagai penampilkan lokasi penentu lokasi lahan yang sesuai dengan hasil rekomendasi hitung AHP. Pre-condition : Pengguna berada pada tampilan halaman Rekomendasi Lahan Hitung AHP. Trigger : Pengguna menekan tombol “Lihat” pada table hasil rekomendasi penghitungan AHP. Basic Course:
1. User berada pada table hasil rekomendasi penghitungan AHP
2. User menekan tombol “Lihat Peta” 3. Sistem menampilkan lokasi (marker) lahan yang
sesuai dengan pilihan user terhadap lokasi lahan yang dipilih.
Subflow : - Alternate course : Post Condition : Sistem menampilkan halaman hitung AHP. D.8 Deskripsi Use Case Galeri Use Case name : Galeri ID : UC08 Primary actor : Semua User Brief Description : use case ini digunakan sebagai penampillkan galeri foto keadaan lokasi lahan perumahan yang telah ditentukan.
D-6
Pre-condition : Pengguna berada pada tampilan halaman Galeri. Trigger : Pengguna memilih foto kondisi lahan yang diinginkan. Basic Course:
1. User berada pada halaman galeri 2. User memilih foto kondisi lahan yang diinginkan 3. Sistem menampilkan foto kondisi lahan dengan
membuka pop up berupa foto tersebut. Subflow : - Alternate course : Post Condition : Sistem menampilkan halaman Galeri Kondisi Lahan. D.9 Deskripsi Use Case Lihat Peraturan Daerah Use Case name : Lihat Peraturan Daerah
ID : UC09
Primary actor : Semua User Brief Description : use case ini digunakan sebagai penampilkan dokumen mengenai peraturan daerah yang relevan dengan sistem. Pre-condition : Pengguna berada pada tampilan halaman web. Trigger : Pengguna memilih menu “Peraturan” Basic Course:
1. User memilih menu “Peraturan” 2. Sistem menampilkan dokumen peraturan daerah yang
terkait. Subflow : - Alternate course : - Post Condition : Sistem menampilkan halaman berisikan dokumen peraturan daerah .
D-7
D.10 Deskripsi Use Case Simpan Peraturan Daerah Use Case name : Simpan Peaturan Daerah
ID : UC10
Primary actor : Semua User Brief Description : use case ini digunakan sebagai menyimpan dokumen peaturan daerah. Pre-condition : Pengguna berada pada tampilan halaman dokumen peraturan daerah. Trigger : Pengguna menekan tombol “Simpan” pada dokumen terkait. Basic Course:
1. User berada pada halaman peraturan daerah yang berisi dokumen.
2. User menekan tombol “Simpan” 3. Sistem menampilkan lokasi direktori penyimpanan. 4. User menekan tombol “OK” 5. Sistem melakukan penyimpanan ke direktori yang
dituju. Subflow : - Alternate course : Post Condition : Sistem menampilkan halaman berisikan dokumen peraturan daerah . D.11 Deskripsi Use Case Lihat Link Terkait Use Case name : Lihat Link Terkait
ID : UC11
Primary actor : Semua User Brief Description : use case ini digunakan sebagai menampilkan halaman situs dari instasi-intansi terkait yang berhubungan dengan sistem ini. Pre-condition : Pengguna berada pada di sembarang halaman
D-8
Trigger : Pengguna memilih menu “Link Terkait. Basic Course:
1. User memilih menu “Link Tekait”. 2. Sistem menampilkan beberapa link 3. User memilih salah satu link yang diinginkan 4. Sistem membuka tab baru untuk membuka link
tersebut. Subflow : - Alternate course :
1. Jika link yang dipilih tidak dapat ditampilkan maka periksa jaringan koneksi internet.
Post Condition : D.12 Deskripsi Use Case Lihat Informasi Aplikasi Use Case name : Lihat Informasi Aplikasi
ID : UC12
Brief Description : Use case ini menjelaskan kepada pengguna mengenai informasi aplikasi. Pre-condition : Pengguna berada pada berbagai macam halaman sistem . Trigger : Pengguna menekan menu ”Tentang Aplikasi” Basic Course:
1. Sistem akan menampilkan halaman Tentang Aplikasi
Subflow : - Alternate course : - Post Condition : Pengguna berada pada halaman Tentang Aplikasi D.13 Deskripsi Use Case Cari Luas Lahan Use Case name : Cari Luas lahan
ID : UC13
Primary actor : Semua User Brief Description : use case ini digunakan sebagai pencarian
D-9
lokasi lahan berdasarakan luas dengan memasukan panjang dan lebar. Pre-condition : Pengguna berada pada di sembarang halaman Trigger : Pengguna memilih menu “Rekomendasi Lahan”. Basic Course:
5. User memilih menu “Rekomendasi Lahan”. 6. Kemudian pilih “Cari Luas Lahan” 7. Sistem menampilkan tampilan Cari Luas Lahan 8. User memasukan angka pada kolom panjang dan
lebar 9. User menekan tombol “Cari Luas Lahan” 10. Sistem menampilkan hasil pencarian lokasi luas lahan
sesuai dengan kebutuhan berdasarkan panjang dan lebar lahan.
Subflow : - Alternate course : Post Condition :
D-10
Halaman ini sengaja dikosongkan
E-1
LAMPIRAN E
DIAGRAM ROBUSTNESS E.1 Diagram Robustness Lihat Peta
E.2 Diagram Robustness Input Prioritas Kriteria
analysis Lihat Peta
User
Menampilkan Peta
Kota MojokertoGagal menampilkan
peta
Halaman Browser
Mengambil data dari
Web Server
Halaman Beranda
tidak menampilkan
peta
Halaman Beranda
analysis Input Prioritas Kriteria
User
Halaman Rekomendasi
Lahan - AHP
Memilih Kolom Input
Priroritas
Sistem membaca input
userHalaman Hitung AHP
user input prioritas sesuai kebutuhan
E-2
analysis Hitung Rekomendasi AHP
User Halaman rekomendasi
lahan
Sistem memproses
penghitungan
Kolom Hitung AHP
Sistem menampilkan
hasil tabel urutan AHPTabel hasil hitung AHP
user menekan tombol hitung
E.3 Diagram Robustness Hitung Rekomendasi AHP
E.4 Diagram Robustness Kembali Input Rekomendasi
analysis Hapus Rekomendasi AHP
User
Halaman Rekomendasi
Lahan
Kolom Hitung AHP
kembali ke pemilihan
kriteria
Halaman Awal
Pemilihan Kriteria
menekan tombol
kembali
input prioritas
Halaman Pengisian Prioritas
Kriteria
E-3
E.5 Diagram Robustness Detail Info Rekomendasi AHP
E.6 Diagram Robustness Galeri Kondisi Lahan
analysis Lihat Detail Info Rekomendasi AHP
lokasi
UserHalaman Rekomendasi
Lahan
Tabel hasil hitung AHP
Sistem memanggil
data ke halaman web
Sistem menampilkan
pop up detail informasi
Halaman rekomendasi
lahan
user menekan tombol detail
analysis Lihat Gallery Kondisi Lahan
User
Halaman GaleriSistem mengambil
data foto
Folder Image
Menampilkan foto
kondisi lahan dan
sekitarnya
Halaman Galeri
user memilih foto pada galeri
E-4
E.7 Diagram Robustness Lihat Peraturan Daerah
E.8 Diagram Robustness Simpan Peraturan Daerah
analysis Lihat Peraturan Daerah
User
Halaman Sistem
Sistem menampilkan
halaman peraturan
Halaman Peraturan
dokumen peraturan
menampilkan dokumen
peraturan
user memilih menu peraturan
analysis Simpan Peraturan Daerah
User
Halaman Peraturan
Daerah
Menampilkan
document peraturan
Sistem melakukan
pencarian direktori
Sistem melakukan
penyimpanan data
Halaman Peraturan
Daerah
user menekan tombol simpan
E-5
E.9 Diagram Robustness Lihat Link Terkait
E.10 Diagram Robustness Informasi Aplikasi
analysis Lihat Link Terkait
UserHalaman Sistem
Sistem melakukan
dropdown pemilihan
link
Link tersebut terbuka
pada tab baru
Halaman Link sesuai
pil ihan user
Gagal menampilkan
link
Halaman Link tidak
dapat ditampilkan
tidak tersedianya jaringanuser memilh link
user menekan menu link terkait
analysis Lihat Informasi Aplikasi
User
Halaman Sistem
Sistem menampilkan
halaman informasi
aplikasi
Halaman Informasi
Aplikasi
User memilih menu "Informasi Aplikasi"
E-6
E.11 Diagram Robustness Lihat Peta Hasil Rekomendasi
E.12 Diagram Robustness Lihat Pemetaan Lahan
analysis Lihat Peta Hasil Rekomendasi
UserHalaman Rekomendasi
LahanTabel hasil hitung AHP
Sistem mengambil
database koordinatlokasi
Sistem menampilkan
marker lokasiPeta Halaman
Rekomendasi Lahan
user menekan tombol "Lihat Peta"
analysis Lihat Pemetaan Lahan
UserHalaman Pemetaan
Lahan
file KMLMengambil lokasi pada
web server
Sistem menampilkan
pemetaan peta
Gagal menampilkan
peta
Halaman Pemetaan
Lahan
Halaman terdapa peta
pemetaan
Halaman Pemetaan
Lahan
E-7
E.13 Diagram Robustness Cari Luas Lahan
analysis Cari Lahan
User
Halaman Cari LahanSistem merespon
inputanKolom Pengisian Luas
Lahan
Sistem memproses
pencarian
Tabel Hasil Pencarian
Lahan
Peringatan
panjang & lebar
user menekan tombol "Cari"
E-8
Halaman ini sengaja dikosongkan
F-1
sd User
User Halaman
Rekomendasi
Lahan
Kolom Hitung AHP Sistem memproses
penghitungan
Sistem
menampilkan data
hasil hitung
Tabel hasil hitung
User menekan tombol Hitung()
LAMPIRAN F DIAGRAM SEQUENCE
F.1 Diagram Sequence Input Prioritas Kriteria
F.2 Diagram Sequence Hitung AHP
sd Input Prioritas Kriteria
User Halaman
Rekomendasi
Lahan
Kolom Pemilihan
Kriteria
Pilih Kriteria pil ih Kriteria Sistem membaca
inputan user
Halaman
Perhitungan AHP
F-2
F.3 Diagram Sequence Kembali Rekomendasi AHP
F.4 Diagram Sequence Detail Info Rekomendasi
sd Kembali Ke Pemilihan Kriteria
User Halaman
Rekomendasi
lahan
Kolom Hitung AHP Memperbarui
kriteria lahan
Halaman
rekomendasi lahan
User menekan tombol
Kembali()
sd Lihat Detail Info Rekomendasi AHP
User Halaman
Rekomendasi
Lahan
Tabel Hasil Hitung
AHP
Sistem memanggil
data ke halaman
web
lokasi Sistem
menampilkan pop
up window info
F-3
F.5 Diagram Sequence Galeri Kondisi Lahan
sd Lihat Gallery Kondisi Lahan
User Halaman Galeri Sistem mengambil
data
Folder Image Sistem
menampilkan foto
yang dipil ih
Halaman Galeri
User memilih foto kondisi lahan()
F-4
sd Lihat Peraturan Daerah
User Halaman Sistem Sistem
menampilkan
halaman peraturan
Dokumen
peraturan
Sistem
menampilkan
dokumen peraturan
Halaman
Peraturan
F.6 Diagram Sequence Informasi Aplikasi
F.7 Diagram Sequence Lihat Peraturan Daerah
sd Lihat Informasi Aplikasi
User Halaman Sistem Sistem
menampilkan
informasi aplikasi
user memilih menu informasil aplikasi()
F-5
sd Simpan Peraturan Daerah
User Halaman
Peraturan Daerah
Menampilkan
dokumen peraturan
daerah
Sistem melakukan
pencarian direktori
Sistem melakukan
penyimpanan
F.8 Diagram Sequence Simpan Peraturan Daerah
F.9 Diagram Sequence Lihat Peta
sd Lihat Peta
User Halaman Browser
Aplikasi
Menampilkan peta
kota
Sistem mengambil
data peta dari
sever utama
halaman Beranda
User memulai aplikasi()
memasuki halaman utama()
F-6
F.10 Diagram Sequence Lihat Pemetaan Lahan
F.11 Diagram Sequence Lihat Peta Rekomendasi
sd Lihat Pemetaan Lahan
User Halaman
Pemetaan Lahan
Sistem
menampilkan peta
pemetaan
File KMLMengambil lokasi
pada web servis
Halaman
Pemetaan Lahan
sd Lihat Peta Hasil Rekomendasi
User Tabel Hasil Hitung
AHP
Sistem melakukan
aksi
Sistem mengambil
koordinat lokasi
yang diinginkan
user
Halaman
Rekomendasi
Hitung AHP
User menekan tombol "Lihat Peta"()
F-7
F.12 Diagram Sequence Lihat Link Terkait
F.13 Diagram Sequence Cari Luas lokasi
sd Lihat Link Terkait
User Halaman Aplikasi Menu Link Terkait Sistem melakukan
load link terkait
Menampilkan
halaman baru
tentang link terkait
User membuka menu link terkait()
sd Cari Lahan
User Halaman Cari
Lahan
Kolom Pengisian
Luas Lahan
Sistem
memverifikasi
inputan
Sistem melakukan
proses pencarian
Menampilkan hasil
cari lahan
user memasukan panjang dan lebar()
user menekan tombol "Hitung"()
G-1
LAMPIRAN G TEST CASE
No.
Requirment Use Case Name
Priority Test Case Nam
e
Testing Development Berfun
gsi Tidak
Berfungsi
Ekspektasi Realisasi
1. User melakukan aksi untuk melihat peta Kota Mojokerto
Beranda TC-01
Sistem
menampilkan halaman peta Kota Mojokerto
Sistem menampilkan halaman peta Kota Mojokerto
2. User melakukan aksi untuk
melihat gallery kondisi Lahan
Galeri TC-02
Sistem
menampilkan berbagai
gambar tentang kondisi
lokasi lahan
Sistem menampilkan berbagai
gambar tentang kondisi
lokasi lahan
G-2
perumahan di Kota
Mojokerto
perumahan di Kota
Mojokerto 3. User
melakukan aksi untuk
melihat link yang
berkaitan
Link Terkait
TC-03
Sistem
membuka halaman baru tentang link yang terkait sesuai user
Sistem membuka
halaman baru tentang link yang terkait sesuai user
4. User melakukan aksi untuk
melihat informasi aplikasi
Kredit Aplikasi
TC-04
Sistem
menampilkan informasi
aplikasi visualisasi pemetaan
Sistem menampilkan informasi
aplikasi visualisasi pemetaan
5. User melakukan aksi untuk
melihat rekomendasi stakeholder
Rekomendasi Stakeholder
TC-05
Sistem
membuka menampilkan halaman prioritas kriteria
Sistem membuka
menampilkan halaman prioritas kriteria
G-3
rekomendasi stakeholder untuk lokasi
lahan.
rekomendasi stakeholder untuk lokasi lahan dengan
pemilihan kriteria pada
tahap sebelumnya.
6. User melakukan aksi untuk
melihat peraturan
daerah
Lihat PerDa
TC-06
Sistem
menampilkan dokumen peraturan
daerah Kota Mojokerto.
Sistem menampilkan dokumen peraturan
daerah Kota Mojokerto.
7. User melakukan aksi untuk
menyimpan peraturan
daerah
Simpan PerDa
TC-07
Sistem
melakukan penyimpanan ke direktori
yang diinginkan
user.
Sistem melakukan
penyimpanan ke direktori
yang diinginkan
user.
G-4
8. User melakukan aksi untuk
menampikan pemetaan
lahan Kota Mojokerto
Pemetaan Lahan
TC-08
Sistem
menampilkan pemetaan
peta berdasarkan penggunaan lahan Kota Mojokerto
Sistem menampilkan pemetaan
peta berdasarkan penggunaan lahan Kota Mojokerto
9. User melakukan aksi hitung
rekomendasi AHP
Hitung Rekomendasi AHP
TC-09
Sistem
melakukan perhitungan
AHP prioritas dari kriteria yang
telah terinput.
Sistem melakukan perhitungan
AHP prioritas dari kriteria yang
telah terinput.
10. User melakukan aksi hapus / reset form
rekomendasi
Hapus /Reset Form
TC-10
Sistem
menampilkan
penghitungan ulang
Sistem menampilka
n penghitunga
n ulang
G-5
AHP dengan form rekomendasi
kosong
dengan form rekomendasi
kosong 11. User
melakukan aksi kembali ke form pemilihan kriteria
Kembali TC-11
Sistem
menampilkan form kriteria pemilihan lahan
Sistem menampilkan form kriteria pemilihan lahan
12. User melakukan aksi lihat detail info lokasi hasil perhitungan
AHP
Info Detail
TC-12
Sistem
menampilkan pop-up informasi mengenai
lokasi lahan yang telah dipilih oleh
user.
Sistem menampilka
n pop-up informasi mengenai
lokasi lahan yang telah dipilih oleh
user. 13. User
melakukan Lihat Peta
TC-13
Sistem
menampilkaSistem
menampilka
G-6
aksi lihat lokasi peta
hasil rekomendasi
Hasil Rekomendasi
n marker lokasi lahan yang dipilih
oleh user
n marker lokasi lahan yang dipilih
oleh user 14. User
melakukan aksi input pilih luas
lahan
Cari Luas Lahan
TC-14
Sistem
menampilkan urutan
lokasi dari yang terbesar
hingga terkecil
Sistem menampilka
n urutan lokasi dari
yang terbesar hingga terkecil
15. User melakukan aksi lihat petunjuk
penggunaan
Petunjuk Penggunaan
TC-15
Sistem
menampilkan informasi
tentang petunjuk
penggunaan aplikasi
Sistem menampilkan informasi
tentang petunjuk
penggunaan aplikasi
G-1
Halaman ini sengaja dikosongkan
H-1
LAMPIRAN H FOTO KONDISI LAHAN
H.1 Lokasi Lahan Meri
H.2 Fasilitas Umum Meri - Perkantoran
H-2
H.3 Infrastruktur Meri Jalan Meri
H.4 Fasilitas Umum Meri – SMP Negeri 5 Kota
H-3
H.5 Fasilitas Umum Meri – Sekolah Dasar
H.6 Infrastruktur 2 – Jalan Meri
H-4
H.7 Infrastruktur – Jalan Kedungsari
H.8 Fasilitas Umum – Jalan Kedungsari
H-5
H.9 Lokasi Kawasan – Jalan Kedungsari
H.10 Infrastruktur 2 – Jalan Kedungsari
H-6
H.11 Lokasi – Jalan Pulo
H.12 Infrastruktur – Jalan Pulo
H-7
H.13 Fasilitas Umum – Jalan Pulo
H.14 Fasilitas Umum 2 – Jalan Pulo
H-8
H.15 Lokasi – Jalan Wates
H.16 Infrastruktur – Jalan Wates
H-9
H.17 Infrastruktur – Jalan Wates
H-10
Halaman ini sengaja dikosongkan
I-1
LAMPIRAN I SOURCE CODE
Script Pemetaan Lahan <script type="text/javascript"> function changePage(page){; for(var i=1; i<=3; i++){ if(i == page) { $('#map-page-'+i).show(); } else $('#map-page-'+i).hide(); } } // Load OpenLayers library and create map function OpenLayersMap(){ //LoadOpenLayersScript(LoadTestMap); peta_awal(); } var geoXml = null; var geoXmlDoc = null; var map = null; var myLatLng = null; var myGeoXml3Zoom = true; var sidebarHtml = ""; var infowindow = null; var kmlLayer = null; var tipeArea = {}; var placemarkID = {};
I-2
function showAll() { if (!geoXmlDoc || !geoXmlDoc.bounds) return; map.fitBounds(geoXmlDoc.bounds); if (!geoXmlDoc.placemarks) return; for (var i=0;i<geoXmlDoc.placemarks.length;i++) { var placemark = geoXmlDoc.placemarks[i]; if (placemark.polygon) placemark.polygon.setMap(map); if (placemark.polyline) placemark.polyline.setMap(map); if (placemark.marker) placemark.marker.setMap(map); } } var peta; function peta_awal(){ var mojokerto = new google.maps.LatLng(-7.472003, 112.439617); var petaoption = { zoom: 13, center: mojokerto, mapTypeId: google.maps.MapTypeId.ROADMAP }; peta = new google.maps.Map(document.getElementById("map-1"),petaoption); /** disini kita panggil function dari geoXML3 untuk memparsing file kml */ geoXml = new geoXML3.parser({ map: peta, afterParse: useTheData }); /** letak file kml */
I-3
geoXml.parse('penggunaan_lahan_mojokerto.kml'); } function useTheData(doc){ geoXmlDoc = doc[0]; if (!geoXmlDoc || !geoXmlDoc.placemarks) return; for (var i = 0; i < geoXmlDoc.placemarks.length; i++) { var placemark = geoXmlDoc.placemarks[i]; var name = geoXmlDoc.placemarks[i].name; if(typeof(tipeArea[name]) == "undefined") { tipeArea[name] = new Array(); tipeArea[name].push(i); } else { tipeArea[name].push(i); } } } function showhideAll(){ if (document.getElementById('show_hide_checkbox').checked) { geoXml.showDocument(); } else { geoXml.hideDocument(); } }
I-4
function showhidePlacemark(placemarkName, id){ var placemarkUsed = tipeArea[placemarkName]; for(var i=0; i<placemarkUsed.length; i++){ var placemark = geoXmlDoc.placemarks[tipeArea[placemarkName][i]]; if (document.getElementById(id).checked) { placemark.polygon.setMap(null); } else { placemark.polygon.setMap(peta); } } } $(document).ready(function() { // Load Google Map API and load OpenLayers in callback $.getScript('http://maps.google.com/maps/api/js?sensor=false&callback=OpenLayersMap'); // Add Drag-n-Drop feature WinMove(); }); </script>
Script GeoXML if (!!window.google && !! google.maps) { function MultiGeometry(multiGeometryOptions) { function createPolyline(polylineOptions, mg) { var polyline = new google.maps.Polyline(polylineOptions); google.maps.event.addListener(polyline,'click', function(evt) {
I-5
google.maps.event.trigger(mg,'click',evt);}); google.maps.event.addListener(polyline,'dblclick', function(evt) { google.maps.event.trigger(mg, 'dblclick', evt);}); google.maps.event.addListener(polyline,'mousedown', function(evt) { google.maps.event.trigger(mg, 'mousedown', evt);}); google.maps.event.addListener(polyline,'mousemove', function(evt) { google.maps.event.trigger(mg, 'mousemove', evt);}); google.maps.event.addListener(polyline,'mouseout', function(evt) { google.maps.event.trigger(mg, 'mouseout', evt);}); google.maps.event.addListener(polyline,'mouseover', function(evt) { google.maps.event.trigger(mg, 'mouseover', evt);}); google.maps.event.addListener(polyline,'mouseup', function(evt) { google.maps.event.trigger(mg, 'mouseup', evt);}); google.maps.event.addListener(polyline,'rightclick', function(evt) { google.maps.event.trigger(mg, 'rightclick', evt);}); return polyline; } this.setValues(multiGeometryOptions); this.polylines = []; for (i=0; i<this.paths.length;i++) { var polylineOptions = multiGeometryOptions; polylineOptions.path = this.paths[i]; var polyline = createPolyline(polylineOptions,this); // Bind the polyline properties to the MultiGeometry properties this.polylines.push(polyline); } } MultiGeometry.prototype = new google.maps.MVCObject(); MultiGeometry.prototype.changed = function(key) { // alert(key+" changed"); if (this.polylines) { for (var i=0; i<this.polylines.length; i++) { this.polylines[i].set(key,this.get(key)); } } }; MultiGeometry.prototype.setMap = function(map) {
I-6
this.set('map',map); }; MultiGeometry.prototype.getMap = function() { return this.get('map'); }; } // Extend the global String object with a method to remove leading and trailing whitespace if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^\s+|\s+$/g, ''); }; } // Declare namespace geoXML3 = window.geoXML3 || {instances: []}; // Constructor for the root KML parser object geoXML3.parser = function (options) { // Inherit from Google MVC Object to include event handling google.maps.MVCObject.call(this); // Private variables var parserOptions = geoXML3.combineOptions(options, { singleInfoWindow: false, processStyles: true, zoom: true }); var docs = []; // Individual KML documents var lastPlacemark; var parserName; if (typeof parserOptions.suppressInfoWindows == "undefined") parserOptions.suppressInfoWindows = false; if (!parserOptions.infoWindow && parserOptions.singleInfoWindow && !!window.google && !!google.maps) parserOptions.infoWindow = new google.maps.InfoWindow(); geoXML3.xhrTimeout = 150000;
I-7
if (!!parserOptions.xhrTimeout) geoXML3.xhrTimeout = parserOptions.xhrTimeout; var parseKmlString = function (kmlString, docSet) { // Internal values for the set of documents as a whole var internals = { parser: this, docSet: docSet || [], remaining: 1, parseOnly: !(parserOptions.afterParse || parserOptions.processStyles) }; thisDoc = new Object(); thisDoc.internals = internals; internals.docSet.push(thisDoc); render(geoXML3.xmlParse(kmlString),thisDoc); } var parse = function (urls, docSet) { // Process one or more KML documents if (!parserName) { parserName = 'geoXML3.instances[' + (geoXML3.instances.push(this) - 1) + ']'; } if (typeof urls === 'string') { // Single KML document urls = [urls]; } // Internal values for the set of documents as a whole var internals = { parser: this, docSet: docSet || [], remaining: urls.length, parseOnly: !(parserOptions.afterParse || parserOptions.processStyles) };
I-8
var thisDoc, j; for (var i = 0; i < urls.length; i++) { var baseUrl = urls[i].split('?')[0]; for (j = 0; j < docs.length; j++) { if (baseUrl === docs[j].baseUrl) { // Reloading an existing document thisDoc = docs[j]; thisDoc.reload = true; break; } } if (j >= docs.length) { thisDoc = new Object(); thisDoc.baseUrl = baseUrl; internals.docSet.push(thisDoc); } thisDoc.url = urls[i]; thisDoc.internals = internals; var url = thisDoc.url; if (parserOptions.proxy) url = parserOptions.proxy+thisDoc.url; fetchDoc(url, thisDoc); } }; function fetchDoc(url, doc) { geoXML3.fetchXML(url, function (responseXML) { render(responseXML, doc);}) } var hideDocument = function (doc) { if (!doc) doc = docs[0]; // Hide the map objects associated with a document var i; if (!!window.google && !!google.maps) { if (!!doc.markers) { for (i = 0; i < doc.markers.length; i++) { if(!!doc.markers[i].infoWindow) doc.markers[i].infoWindow.close();
I-9
doc.markers[i].setVisible(false); } } if (!!doc.ggroundoverlays) { for (i = 0; i < doc.ggroundoverlays.length; i++) { doc.ggroundoverlays[i].setOpacity(0); } } if (!!doc.gpolylines) { for (i=0;i<doc.gpolylines.length;i++) { if(!!doc.gpolylines[i].infoWindow) doc.gpolylines[i].infoWindow.close(); doc.gpolylines[i].setMap(null); } } if (!!doc.gpolygons) { for (i=0;i<doc.gpolygons.length;i++) { if(!!doc.gpolygons[i].infoWindow) doc.gpolygons[i].infoWindow.close(); doc.gpolygons[i].setMap(null); } } } }; var showDocument = function (doc) { if (!doc) doc = docs[0]; // Show the map objects associated with a document var i; if (!!window.google && !!google.maps) { if (!!doc.markers) { for (i = 0; i < doc.markers.length; i++) { doc.markers[i].setVisible(true); } } if (!!doc.ggroundoverlays) { for (i = 0; i < doc.ggroundoverlays.length; i++) {
I-10
doc.ggroundoverlays[i].setOpacity(doc.ggroundoverlays[i].percentOpacity_); } } if (!!doc.gpolylines) { for (i=0;i<doc.gpolylines.length;i++) { doc.gpolylines[i].setMap(parserOptions.map); } } if (!!doc.gpolygons) { for (i=0;i<doc.gpolygons.length;i++) { doc.gpolygons[i].setMap(parserOptions.map); } } } }; var defaultStyle = { color: "ff000000", // black colorMode: "normal", width: 1, fill: true, outline: true, fillcolor: "3fff0000" // blue }; function processStyle(thisNode, styles, styleID) { var nodeValue = geoXML3.nodeValue; styles[styleID] = styles[styleID] || clone(defaultStyle); var styleNodes = thisNode.getElementsByTagName('IconStyle'); if (!!styleNodes && !!styleNodes.length && (styleNodes.length > 0)) { styles[styleID].scale = parseFloat(nodeValue(styleNodes[0].getElementsByTagName('scale')[0])); } if (isNaN(styles[styleID].scale)) styles[styleID].scale = 1.0; styleNodes = thisNode.getElementsByTagName('Icon');
I-11
if (!!styleNodes && !!styleNodes.length && (styleNodes.length > 0)) { styles[styleID].href = nodeValue(styleNodes[0].getElementsByTagName('href')[0]); } styleNodes = thisNode.getElementsByTagName('LineStyle'); if (!!styleNodes && !!styleNodes.length && (styleNodes.length > 0)) { styles[styleID].color = nodeValue(styleNodes[0].getElementsByTagName('color')[0],defaultStyle.color); styles[styleID].colorMode = nodeValue(styleNodes[0].getElementsByTagName('colorMode')[0], defaultStyle.colorMode); styles[styleID].width = nodeValue(styleNodes[0].getElementsByTagName('width')[0],defaultStyle.width); } styleNodes = thisNode.getElementsByTagName('PolyStyle'); if (!!styleNodes && !!styleNodes.length && (styleNodes.length > 0)) { styles[styleID].outline = getBooleanValue(styleNodes[0].getElementsByTagName('outline')[0],defaultStyle.outline); styles[styleID].fill = getBooleanValue(styleNodes[0].getElementsByTagName('fill')[0],defaultStyle.fill); styles[styleID].colorMode = nodeValue(styleNodes[0].getElementsByTagName('colorMode')[0], defaultStyle.colorMode); styles[styleID].fillcolor = nodeValue(styleNodes[0].getElementsByTagName('color')[0],defaultStyle.fillcolor); } return styles[styleID]; } // from http://stackoverflow.com/questions/122102/what-is-the-most-
I-12
efficient-way-to-clone-a-javascript-object // http://keithdevens.com/weblog/archive/2007/Jun/07/javascript.clone function clone(obj){ if(obj == null || typeof(obj) != 'object') return obj; var temp = new obj.constructor(); for(var key in obj) temp[key] = clone(obj[key]); return temp; } function processStyleMap(thisNode, styles, styleID) { var nodeValue = geoXML3.nodeValue; var pairs = thisNode.getElementsByTagName('Pair'); var map = new Object(); // add each key to the map for (var pr=0;pr<pairs.length;pr++) { var pairkey = nodeValue(pairs[pr].getElementsByTagName('key')[0]); var pairstyle = nodeValue(pairs[pr].getElementsByTagName('Style')[0]); var pairstyleurl = nodeValue(pairs[pr].getElementsByTagName('styleUrl')[0]); if (!!pairstyle) { processStyle(pairstyle, map[pairkey], styleID); } else if (!!pairstyleurl && !!styles[pairstyleurl]) { map[pairkey] = clone(styles[pairstyleurl]); } } if (!!map["normal"]) { styles[styleID] = clone(map["normal"]); } else { styles[styleID] = clone(defaultStyle); } if (!!map["highlight"] && !!parserOptions.processStyles) { processStyleID(map["highlight"]); } styles[styleID].map = clone(map); }
I-13
function getBooleanValue(node) { var nodeContents = geoXML3.nodeValue(node); if (!nodeContents) return true; if (nodeContents) nodeContents = parseInt(nodeContents); if (isNaN(nodeContents)) return true; if (nodeContents == 0) return false; else return true; } function processPlacemarkCoords(node, tag) { var parent = node.getElementsByTagName(tag); var coordListA = []; for (var i=0; i<parent.length; i++) { var coordNodes = parent[i].getElementsByTagName('coordinates') if (!coordNodes) { if (coordListA.length > 0) { break; } else { return [{coordinates: []}]; } } for (var j=0; j<coordNodes.length;j++) { var coords = geoXML3.nodeValue(coordNodes[j]).trim(); coords = coords.replace(/,\s+/g, ','); var path = coords.split(/\s+/g); var pathLength = path.length; var coordList = []; for (var k = 0; k < pathLength; k++) { coords = path[k].split(','); if (!isNaN(coords[0]) && !isNaN(coords[1])) { coordList.push({ lat: parseFloat(coords[1]), lng: parseFloat(coords[0]), alt: parseFloat(coords[2]) }); }
I-14
} coordListA.push({coordinates: coordList}); } } return coordListA; } var render = function (responseXML, doc) { // Callback for retrieving a KML document: parse the KML and display it on the map if (!responseXML) { // Error retrieving the data geoXML3.log('Unable to retrieve ' + doc.url); if (parserOptions.failedParse) { parserOptions.failedParse(doc); } } else if (!doc) { throw 'geoXML3 internal error: render called with null document'; } else { //no errors var i; var styles = {}; doc.placemarks = []; doc.groundoverlays = []; doc.ggroundoverlays = []; doc.networkLinks = []; doc.gpolygons = []; doc.gpolylines = []; doc.markers = []; // Declare some helper functions in local scope for better performance var nodeValue = geoXML3.nodeValue; // Parse styles var styleID, styleNodes; nodes = responseXML.getElementsByTagName('Style'); nodeCount = nodes.length;
I-15
for (i = 0; i < nodeCount; i++) { thisNode = nodes[i]; var thisNodeId = thisNode.getAttribute('id'); if (!!thisNodeId) { styleID = '#' + thisNodeId; processStyle(thisNode, styles, styleID); } } // rudamentary support for StyleMap // use "normal" mapping only nodes = responseXML.getElementsByTagName('StyleMap'); for (i = 0; i < nodes.length; i++) { thisNode = nodes[i]; var thisNodeId = thisNode.getAttribute('id'); if (!!thisNodeId) { styleID = '#' + thisNodeId; processStyleMap(thisNode, styles, styleID); } } doc.styles = styles; if (!!parserOptions.processStyles || !parserOptions.createMarker) { // Convert parsed styles into GMaps equivalents processStyles(doc); } // Parse placemarks if (!!doc.reload && !!doc.markers) { for (i = 0; i < doc.markers.length; i++) { doc.markers[i].active = false; } } var placemark, node, coords, path, marker, poly; var placemark, coords, path, pathLength, marker, polygonNodes, coordList; var placemarkNodes = responseXML.getElementsByTagName('Placemark'); for (pm = 0; pm < placemarkNodes.length; pm++) {
I-16
// Init the placemark object node = placemarkNodes[pm]; placemark = { name: geoXML3.nodeValue(node.getElementsByTagName('name')[0]), description: geoXML3.nodeValue(node.getElementsByTagName('description')[0]), address: geoXML3.nodeValue(node.getElementsByTagName('address')[0]), styleUrl: geoXML3.nodeValue(node.getElementsByTagName('styleUrl')[0]) }; placemark.style = doc.styles[placemark.styleUrl] || clone(defaultStyle); // inline style overrides shared style var inlineStyles = node.getElementsByTagName('Style'); if (inlineStyles && (inlineStyles.length > 0)) { var style = processStyle(node,doc.styles,"inline"); processStyleID(style); if (style) placemark.style = style; } if (/^https?:\/\//.test(placemark.description)) { placemark.description = ['<a href="', placemark.description, '">', placemark.description, '</a>'].join(''); } // process MultiGeometry var GeometryNodes = node.getElementsByTagName('coordinates'); var Geometry = null; if (!!GeometryNodes && (GeometryNodes.length > 0)) { for (var gn=0;gn<GeometryNodes.length;gn++) { if (!GeometryNodes[gn].parentNode || !GeometryNodes[gn].parentNode.nodeName) { } else { // parentNode.nodeName exists var GeometryPN = GeometryNodes[gn].parentNode;
I-17
Geometry = GeometryPN.nodeName; // Extract the coordinates // What sort of placemark? switch(Geometry) { case "Point": placemark.Point = processPlacemarkCoords(node, "Point")[0]; if (!!window.google && !!google.maps) placemark.latlng = new google.maps.LatLng(placemark.Point.coordinates[0].lat, placemark.Point.coordinates[0].lng); pathLength = 1; break; case "LinearRing": // Polygon/line polygonNodes = node.getElementsByTagName('Polygon'); // Polygon if (!placemark.Polygon) placemark.Polygon = [{ outerBoundaryIs: {coordinates: []}, innerBoundaryIs: [{coordinates: []}] }]; for (var pg=0;pg<polygonNodes.length;pg++) { placemark.Polygon[pg] = { outerBoundaryIs: {coordinates: []}, innerBoundaryIs: [{coordinates: []}] } placemark.Polygon[pg].outerBoundaryIs = processPlacemarkCoords(polygonNodes[pg], "outerBoundaryIs"); placemark.Polygon[pg].innerBoundaryIs = processPlacemarkCoords(polygonNodes[pg], "innerBoundaryIs"); } coordList = placemark.Polygon[0].outerBoundaryIs; break; case "LineString": pathLength = 0;
I-18
placemark.LineString = processPlacemarkCoords(node,"LineString"); break; default: break; } } // parentNode.nodeName exists } // GeometryNodes loop } // if GeometryNodes // call the custom placemark parse function if it is defined if (!!parserOptions.pmParseFn) parserOptions.pmParseFn(node, placemark); doc.placemarks.push(placemark); if (!!window.google && !!google.maps) { if (placemark.Point) { if (!!window.google && !!google.maps) { doc.bounds = doc.bounds || new google.maps.LatLngBounds(); doc.bounds.extend(placemark.latlng); } if (!!parserOptions.createMarker) { // User-defined marker handler parserOptions.createMarker(placemark, doc); } else { // !user defined createMarker // Check to see if this marker was created on a previous load of this document var found = false; if (!!doc) { doc.markers = doc.markers || []; if (doc.reload) { for (var j = 0; j < doc.markers.length; j++) { if (doc.markers[j].getPosition().equals(placemark.latlng)) { found = doc.markers[j].active = true; break; }
I-19
} } } if (!found) { // Call the built-in marker creator marker = createMarker(placemark, doc); marker.active = true; } } } if (placemark.Polygon) { // poly test 2 if (!!doc) { doc.gpolygons = doc.gpolygons || []; } if (!!parserOptions.createPolygon) { // User-defined polygon handler poly = parserOptions.createPolygon(placemark, doc); } else { // ! user defined createPolygon // Check to see if this marker was created on a previous load of this document poly = createPolygon(placemark,doc); poly.active = true; } if (!!window.google && !!google.maps) { doc.bounds = doc.bounds || new google.maps.LatLngBounds(); doc.bounds.union(poly.bounds); } } if (placemark.LineString) { // polyline if (!!doc) { doc.gpolylines = doc.gpolylines || []; } if (!!parserOptions.createPolyline) { // User-defined polyline handler poly = parserOptions.createPolyline(placemark, doc);
I-20
} else { // ! user defined createPolyline // Check to see if this marker was created on a previous load of this document poly = createPolyline(placemark,doc); poly.active = true; } if (!!window.google && !!google.maps) { doc.bounds = doc.bounds || new google.maps.LatLngBounds(); doc.bounds.union(poly.bounds); } } } } // placemark loop if (!!doc.reload && !!doc.markers) { for (i = doc.markers.length - 1; i >= 0 ; i--) { if (!doc.markers[i].active) { if (!!doc.markers[i].infoWindow) { doc.markers[i].infoWindow.close(); } doc.markers[i].setMap(null); doc.markers.splice(i, 1); } } } // Parse ground overlays if (!!doc.reload && !!doc.groundoverlays) { for (i = 0; i < doc.groundoverlays.length; i++) { doc.groundoverlays[i].active = false; } } if (!!doc) { doc.groundoverlays = doc.groundoverlays || []; } // doc.groundoverlays =[];
I-21
var groundOverlay, color, transparency, overlay; var groundNodes = responseXML.getElementsByTagName('GroundOverlay'); for (i = 0; i < groundNodes.length; i++) { node = groundNodes[i]; // Init the ground overlay object groundOverlay = { name: geoXML3.nodeValue(node.getElementsByTagName('name')[0]), description: geoXML3.nodeValue(node.getElementsByTagName('description')[0]), icon: {href: geoXML3.nodeValue(node.getElementsByTagName('href')[0])}, latLonBox: { north: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('north')[0])), east: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('east')[0])), south: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('south')[0])), west: parseFloat(geoXML3.nodeValue(node.getElementsByTagName('west')[0])) } }; if (!!window.google && !!google.maps) { doc.bounds = doc.bounds || new google.maps.LatLngBounds(); doc.bounds.union(new google.maps.LatLngBounds( new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east) ));
I-22
} // Opacity is encoded in the color node var colorNode = node.getElementsByTagName('color'); if ( colorNode && colorNode.length && (colorNode.length > 0)) { groundOverlay.opacity = geoXML3.getOpacity(nodeValue(colorNode[0])); } else { groundOverlay.opacity = 0.45; } doc.groundoverlays.push(groundOverlay); if (!!window.google && !!google.maps) { if (!!parserOptions.createOverlay) { // User-defined overlay handler parserOptions.createOverlay(groundOverlay, doc); } else { // ! user defined createOverlay // Check to see if this overlay was created on a previous load of this document var found = false; if (!!doc) { doc.groundoverlays = doc.groundoverlays || []; if (!!window.google && !!google.maps && doc.reload) { overlayBounds = new google.maps.LatLngBounds( new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east)); var overlays = doc.groundoverlays; for (i = overlays.length; i--;) { if ((overlays[i].bounds().equals(overlayBounds)) && (overlays.url_ === groundOverlay.icon.href)) { found = overlays[i].active = true; break; }
I-23
} } } if (!found) { // Call the built-in overlay creator overlay = createOverlay(groundOverlay, doc); overlay.active = true; } } if (!!doc.reload && !!doc.groundoverlays && !!doc.groundoverlays.length) { var overlays = doc.groundoverlays; for (i = overlays.length; i--;) { if (!overlays[i].active) { overlays[i].remove(); overlays.splice(i, 1); } } doc.groundoverlays = overlays; } } } // Parse network links var networkLink; var docPath = document.location.pathname.split('/'); docPath = docPath.splice(0, docPath.length - 1).join('/'); var linkNodes = responseXML.getElementsByTagName('NetworkLink'); for (i = 0; i < linkNodes.length; i++) { node = linkNodes[i]; // Init the network link object networkLink = { name: geoXML3.nodeValue(node.getElementsByTagName('name')[0]), link: { href:
I-24
geoXML3.nodeValue(node.getElementsByTagName('href')[0]), refreshMode: geoXML3.nodeValue(node.getElementsByTagName('refreshMode')[0]) } }; // Establish the specific refresh mode if (networkLink.link.refreshMode === '') { networkLink.link.refreshMode = 'onChange'; } if (networkLink.link.refreshMode === 'onInterval') { networkLink.link.refreshInterval = parseFloat(geoXML3.nodeValue(node.getElementsByTagName('refreshInterval')[0])); if (isNaN(networkLink.link.refreshInterval)) { networkLink.link.refreshInterval = 0; } } else if (networkLink.link.refreshMode === 'onChange') { networkLink.link.viewRefreshMode = geoXML3.nodeValue(node.getElementsByTagName('viewRefreshMode')[0]); if (networkLink.link.viewRefreshMode === '') { networkLink.link.viewRefreshMode = 'never'; } if (networkLink.link.viewRefreshMode === 'onStop') { networkLink.link.viewRefreshTime = geoXML3.nodeValue(node.getElementsByTagName('refreshMode')[0]); networkLink.link.viewFormat = geoXML3.nodeValue(node.getElementsByTagName('refreshMode')[0]); if (networkLink.link.viewFormat === '') { networkLink.link.viewFormat = 'BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]'; } } }
I-25
if (!/^[\/|http]/.test(networkLink.link.href)) { // Fully-qualify the HREF networkLink.link.href = docPath + '/' + networkLink.link.href; } // Apply the link if ((networkLink.link.refreshMode === 'onInterval') && (networkLink.link.refreshInterval > 0)) { // Reload at regular intervals setInterval(parserName + '.parse("' + networkLink.link.href + '")', 1000 * networkLink.link.refreshInterval); } else if (networkLink.link.refreshMode === 'onChange') { if (networkLink.link.viewRefreshMode === 'never') { // Load the link just once doc.internals.parser.parse(networkLink.link.href, doc.internals.docSet); } else if (networkLink.link.viewRefreshMode === 'onStop') { // Reload when the map view changes } } } } if (!!doc.bounds && !!window.google && !!google.maps) { doc.internals.bounds = doc.internals.bounds || new google.maps.LatLngBounds(); doc.internals.bounds.union(doc.bounds); } if (!!doc.markers || !!doc.groundoverlays || !!doc.gpolylines || !!doc.gpolygons) { doc.internals.parseOnly = false; } doc.internals.remaining -= 1; if (doc.internals.remaining === 0) {
I-26
// We're done processing this set of KML documents // Options that get invoked after parsing completes if (parserOptions.zoom && !!doc.internals.bounds && !doc.internals.bounds.isEmpty() && !!parserOptions.map) { parserOptions.map.fitBounds(doc.internals.bounds); } if (parserOptions.afterParse) { parserOptions.afterParse(doc.internals.docSet); } if (!doc.internals.parseOnly) { // geoXML3 is not being used only as a real-time parser, so keep the processed documents around for (var i=0;i<doc.internals.docSet.length;i++) { docs.push(doc.internals.docSet[i]); } } google.maps.event.trigger(doc.internals.parser, 'parsed'); } }; var kmlColor = function (kmlIn, colorMode) { var kmlColor = {}; kmlIn = kmlIn || 'ffffffff'; // white (KML 2.2 default) var aa = kmlIn.substr(0,2); var bb = kmlIn.substr(2,2); var gg = kmlIn.substr(4,2); var rr = kmlIn.substr(6,2); kmlColor.opacity = parseInt(aa, 16) / 256; kmlColor.color = (colorMode === 'random') ? randomColor(rr, gg, bb) : '#' + rr + gg + bb; return kmlColor; }; // Implemented per KML 2.2 <ColorStyle> specs
I-27
var randomColor = function(rr, gg, bb) { var col = { rr: rr, gg: gg, bb: bb }; for (var k in col) { var v = col[k]; if (v == null) v = 'ff'; // RGB values are limiters for random numbers (ie: 7f would be a random value between 0 and 7f) v = Math.round(Math.random() * parseInt(rr, 16)).toString(16); if (v.length === 1) v = '0' + v; col[k] = v; } return '#' + col.rr + col.gg + col.bb; }; var processStyleID = function (style) { if (!!window.google && !!google.maps) { var zeroPoint = new google.maps.Point(0,0); if (!!style.href) { var markerRegEx = /\/(red|blue|green|yellow|lightblue|purple|pink|orange|pause|go|stop)(-dot)?\.png/; if (markerRegEx.test(style.href)) { //bottom middle var anchorPoint = new google.maps.Point(16*style.scale, 32*style.scale); } else { var anchorPoint = new google.maps.Point(16*style.scale, 16*style.scale); } // Init the style object with a standard KML icon style.icon = new google.maps.MarkerImage( style.href, new google.maps.Size(32*style.scale, 32*style.scale), zeroPoint, // bottom middle anchorPoint,
I-28
new google.maps.Size(32*style.scale, 32*style.scale) ); // Look for a predictable shadow var stdRegEx = /\/(red|blue|green|yellow|lightblue|purple|pink|orange)(-dot)?\.png/; var shadowSize = new google.maps.Size(59, 32); var shadowPoint = new google.maps.Point(16,32); if (stdRegEx.test(style.href)) { // A standard GMap-style marker icon style.shadow = new google.maps.MarkerImage( 'http://maps.google.com/mapfiles/ms/micons/msmarker.shadow.png', shadowSize, zeroPoint, shadowPoint, shadowSize); } else if (style.href.indexOf('-pushpin.png') > -1) { // Pushpin marker icon style.shadow = new google.maps.MarkerImage( 'http://maps.google.com/mapfiles/ms/micons/pushpin_shadow.png', shadowSize, zeroPoint, shadowPoint, shadowSize); } else { // Other MyMaps KML standard icon style.shadow = new google.maps.MarkerImage( style.href.replace('.png', '.shadow.png'), shadowSize, zeroPoint, shadowPoint, shadowSize); }
I-29
} } } var processStyles = function (doc) { for (var styleID in doc.styles) { processStyleID(doc.styles[styleID]); } }; var createMarker = function (placemark, doc) { // create a Marker to the map from a placemark KML object // Load basic marker properties var markerOptions = geoXML3.combineOptions(parserOptions.markerOptions, { map: parserOptions.map, position: new google.maps.LatLng(placemark.Point.coordinates[0].lat, placemark.Point.coordinates[0].lng), title: placemark.name, zIndex: Math.round(placemark.Point.coordinates[0].lat * -100000)<<5, icon: placemark.style.icon, shadow: placemark.style.shadow }); // Create the marker on the map var marker = new google.maps.Marker(markerOptions); if (!!doc) { doc.markers.push(marker); } // Set up and create the infowindow if it is not suppressed if (!parserOptions.suppressInfoWindows) { var infoWindowOptions = geoXML3.combineOptions(parserOptions.infoWindowOptions, { content: '<div class="geoxml3_infowindow"><h3>' +
I-30
placemark.name + '</h3><div>' + placemark.description + '</div></div>', pixelOffset: new google.maps.Size(0, 2) }); if (parserOptions.infoWindow) { marker.infoWindow = parserOptions.infoWindow; } else { marker.infoWindow = new google.maps.InfoWindow(infoWindowOptions); } marker.infoWindowOptions = infoWindowOptions; // Infowindow-opening event handler google.maps.event.addListener(marker, 'click', function() { this.infoWindow.close(); marker.infoWindow.setOptions(this.infoWindowOptions); this.infoWindow.open(this.map, this); }); } placemark.marker = marker; return marker; }; var createOverlay = function (groundOverlay, doc) { // Add a ProjectedOverlay to the map from a groundOverlay KML object if (!window.ProjectedOverlay) { throw 'geoXML3 error: ProjectedOverlay not found while rendering GroundOverlay from KML'; } var bounds = new google.maps.LatLngBounds( new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east) );
I-31
var overlayOptions = geoXML3.combineOptions(parserOptions.overlayOptions, {percentOpacity: groundOverlay.opacity*100}); var overlay = new ProjectedOverlay(parserOptions.map, groundOverlay.icon.href, bounds, overlayOptions); if (!!doc) { doc.ggroundoverlays = doc.ggroundoverlays || []; doc.ggroundoverlays.push(overlay); } return overlay; }; // Create Polyline var createPolyline = function(placemark, doc) { var paths = []; var bounds = new google.maps.LatLngBounds(); for (var j=0; j<placemark.LineString.length; j++) { var path = []; var coords = placemark.LineString[j].coordinates; for (var i=0;i<coords.length;i++) { var pt = new google.maps.LatLng(coords[i].lat, coords[i].lng); path.push(pt); bounds.extend(pt); } paths.push(path); } // point to open the infowindow if triggered var point = paths[0][Math.floor(path.length/2)]; // Load basic polyline properties var kmlStrokeColor = kmlColor(placemark.style.color,placemark.style.colorMode); var polyOptions = geoXML3.combineOptions(parserOptions.polylineOptions, { map: parserOptions.map, strokeColor: kmlStrokeColor.color, strokeWeight: placemark.style.width,
I-32
strokeOpacity: kmlStrokeColor.opacity, title: placemark.name }); if (paths.length > 1) { polyOptions.paths = paths; var p = new MultiGeometry(polyOptions); } else { polyOptions.path = paths[0]; var p = new google.maps.Polyline(polyOptions); } p.bounds = bounds; // setup and create the infoWindow if it is not suppressed if (!parserOptions.suppressInfoWindows) { var infoWindowOptions = geoXML3.combineOptions(parserOptions.infoWindowOptions, { content: '<div class="geoxml3_infowindow"><h3>' + placemark.name + '</h3><div>' + placemark.description + '</div></div>', pixelOffset: new google.maps.Size(0, 2) }); if (parserOptions.infoWindow) { p.infoWindow = parserOptions.infoWindow; } else { p.infoWindow = new google.maps.InfoWindow(infoWindowOptions); } p.infoWindowOptions = infoWindowOptions; // Infowindow-opening event handler google.maps.event.addListener(p, 'click', function(e) { p.infoWindow.close(); p.infoWindow.setOptions(p.infoWindowOptions); if (e && e.latLng) { p.infoWindow.setPosition(e.latLng); } else { p.infoWindow.setPosition(point); } p.infoWindow.open(p.map || p.polylines[0].map); });
I-33
} if (!!doc) doc.gpolylines.push(p); placemark.polyline = p; return p; } // Create Polygon var createPolygon = function(placemark, doc) { var bounds = new google.maps.LatLngBounds(); var pathsLength = 0; var paths = []; for (var polygonPart=0;polygonPart<placemark.Polygon.length;polygonPart++) { for (var j=0; j<placemark.Polygon[polygonPart].outerBoundaryIs.length; j++) { var coords = placemark.Polygon[polygonPart].outerBoundaryIs[j].coordinates; var path = []; for (var i=0;i<coords.length;i++) { var pt = new google.maps.LatLng(coords[i].lat, coords[i].lng); path.push(pt); bounds.extend(pt); } paths.push(path); pathsLength += path.length; } for (var j=0; j<placemark.Polygon[polygonPart].innerBoundaryIs.length; j++) { var coords = placemark.Polygon[polygonPart].innerBoundaryIs[j].coordinates; var path = []; for (var i=0;i<coords.length;i++) { var pt = new google.maps.LatLng(coords[i].lat, coords[i].lng); path.push(pt); bounds.extend(pt); } paths.push(path);
I-34
pathsLength += path.length; } } // Load basic polygon properties var kmlStrokeColor = kmlColor(placemark.style.color,placemark.style.colorMode); var kmlFillColor = kmlColor(placemark.style.fillcolor,placemark.style.colorMode); if (!placemark.style.fill) kmlFillColor.opacity = 0.0; var strokeWeight = placemark.style.width; if (!placemark.style.outline) { strokeWeight = 0; kmlStrokeColor.opacity = 0.0; } var polyOptions = geoXML3.combineOptions(parserOptions.polygonOptions, { map: parserOptions.map, paths: paths, title: placemark.name, strokeColor: kmlStrokeColor.color, strokeWeight: strokeWeight, strokeOpacity: kmlStrokeColor.opacity, fillColor: kmlFillColor.color, fillOpacity: kmlFillColor.opacity }); var p = new google.maps.Polygon(polyOptions); p.bounds = bounds; if (!parserOptions.suppressInfoWindows) { var infoWindowOptions = geoXML3.combineOptions(parserOptions.infoWindowOptions, { content: '<div class="geoxml3_infowindow"><h3>' + placemark.name + '</h3><div>' + placemark.description + '</div></div>', pixelOffset: new google.maps.Size(0, 2) }); if (parserOptions.infoWindow) { p.infoWindow = parserOptions.infoWindow;
I-35
} else { p.infoWindow = new google.maps.InfoWindow(infoWindowOptions); } p.infoWindowOptions = infoWindowOptions; // Infowindow-opening event handler google.maps.event.addListener(p, 'click', function(e) { p.infoWindow.close(); p.infoWindow.setOptions(p.infoWindowOptions); if (e && e.latLng) { p.infoWindow.setPosition(e.latLng); } else { p.infoWindow.setPosition(p.bounds.getCenter()); } p.infoWindow.open(this.map); }); } if (!!doc) doc.gpolygons.push(p); placemark.polygon = p; return p; } return { // Expose some properties and methods options: parserOptions, docs: docs, parse: parse, render: render, parseKmlString: parseKmlString, hideDocument: hideDocument, showDocument: showDocument, processStyles: processStyles, createMarker: createMarker, createOverlay: createOverlay, createPolyline: createPolyline, createPolygon: createPolygon };
I-36
}; // End of KML Parser // Helper objects and functions geoXML3.getOpacity = function (kmlColor) { // Extract opacity encoded in a KML color value. Returns a number between 0 and 1. if (!!kmlColor && (kmlColor !== '') && (kmlColor.length == 8)) { var transparency = parseInt(kmlColor.substr(0, 2), 16); return transparency / 255; } else { return 1; } }; // Log a message to the debugging console, if one exists geoXML3.log = function(msg) { if (!!window.console) { console.log(msg); } else { alert("log:"+msg); } }; // Combine two options objects: a set of default values and a set of override values geoXML3.combineOptions = function (overrides, defaults) { var result = {}; if (!!overrides) { for (var prop in overrides) { if (overrides.hasOwnProperty(prop)) { result[prop] = overrides[prop]; } } } if (!!defaults) { for (prop in defaults) { if (defaults.hasOwnProperty(prop) && (result[prop] ===
I-37
undefined)) { result[prop] = defaults[prop]; } } } return result; }; // Retrieve an XML document from url and pass it to callback as a DOM document geoXML3.fetchers = []; // parse text to XML doc /** * Parses the given XML string and returns the parsed document in a * DOM data structure. This function will return an empty DOM node if * XML parsing is not supported in this browser. * @param {string} str XML string. * @return {Element|Document} DOM. */ geoXML3.xmlParse = function (str) { if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') { var doc = new ActiveXObject('Microsoft.XMLDOM'); doc.loadXML(str); return doc; } if (typeof DOMParser != 'undefined') { return (new DOMParser()).parseFromString(str, 'text/xml'); } return createElement('div', null); } geoXML3.fetchXML = function (url, callback) { function timeoutHandler() {
I-38
geoXML3.log('XHR timeout'); callback(); }; var xhrFetcher = new Object(); if (!!geoXML3.fetchers.length) { xhrFetcher = geoXML3.fetchers.pop(); } else { if (!!window.XMLHttpRequest) { xhrFetcher.fetcher = new window.XMLHttpRequest(); // Most browsers } else if (!!window.ActiveXObject) { xhrFetcher.fetcher = new window.ActiveXObject('Microsoft.XMLHTTP'); // Some IE } } if (!xhrFetcher.fetcher) { geoXML3.log('Unable to create XHR object'); callback(null); } else { if (xhrFetcher.fetcher.overrideMimeType) { xhrFetcher.fetcher.overrideMimeType('text/xml'); } xhrFetcher.fetcher.open('GET', url, true); xhrFetcher.fetcher.onreadystatechange = function () { if (xhrFetcher.fetcher.readyState === 4) { // Retrieval complete if (!!xhrFetcher.xhrtimeout) clearTimeout(xhrFetcher.xhrtimeout); if (xhrFetcher.fetcher.status >= 400) { geoXML3.log('HTTP error ' + xhrFetcher.fetcher.status + ' retrieving ' + url); callback(); } else { // Returned successfully var xml = geoXML3.xmlParse(xhrFetcher.fetcher.responseText);
I-39
if (xml.parseError && (xml.parseError.errorCode != 0)) { geoXML3.log("XML parse error "+xml.parseError.errorCode+", "+xml.parseError.reason+"\nLine:"+xml.parseError.line+", Position:"+xml.parseError.linepos+", srcText:"+xml.parseError.srcText); } callback(xml); } // We're done with this fetcher object geoXML3.fetchers.push(xhrFetcher); } }; xhrFetcher.xhrtimeout = setTimeout(timeoutHandler, geoXML3.xhrTimeout); xhrFetcher.fetcher.send(null); } }; //nodeValue: Extract the text value of a DOM node, with leading and trailing whitespace trimmed geoXML3.nodeValue = function(node, defVal) { var retStr=""; if (!node) { return (typeof defVal === 'undefined' || defVal === null) ? '' : defVal; } if(node.nodeType==3||node.nodeType==4||node.nodeType==2){ retStr+=node.nodeValue; }else if(node.nodeType==1||node.nodeType==9||node.nodeType==11){ for(var i=0;i<node.childNodes.length;++i){ retStr+=arguments.callee(node.childNodes[i]); } } return retStr; };
149
BIODATA PENULIS
Penulis dilahirkan di Mojokerto pada tanggal 28 April 1992. Penulis merupakan anak kedua dari tiga bersaudara. Penulis telah menempuh pendidikan formal yaitu di SD Balongsari I Kota Mojokerto, SMPN 1 Kota Mojokerto dan SMAN 16 Surabaya. Pada tahun 2010 penulis diterima di jurusan Sistem Informasi –
Institut Teknologi Sepuluh Nopember (ITS) dan terdaftar dengan NRP 5210100057. Selain kesibukan akademik, penulis juga mengikuti berbagai kegiatan kemahasiswaan dan kepanitiaan (BEM ITS, DPM ITS). Tahun 2012 penulis dipercayakan untuk menjadi Ketua Panitia Information System Expo dan juga merangkap sebagai Kepala Departmen Hubungan Luar HMSI. Tugas akhir yang dipilih penulis di Jurusan Sistem Informasi ini masuk ke dalam bidang minat E-Bisnis. Penulis dapat dihubungi melalui e-mail adhityailhamn@gmail.com.