Hasil dan pembahasan T1 672010033 Full text

8 Perancangan user interface , dilakukan agar pembuatan aplikasi lebih mudah dan terarah. Desain utama adalah halaman beranda atau halaman awal. Pada halaman awal ada delapan komponen yaitu tombol beranda, tombol tentang, tombol kontak, combobox pilih kecamatan, combobox pilih kelurahan, tombol lihat, area peta dan area keterangan. Seperti yang terlihat pada gambar 7. Gambar 7 Form user interface halaman utama Tahapan selanjutnya adalah implementation and unit testing implementasi dan pengujian unit. Pada tahap ini dilakukan implementasi dari rancangan yang telah dibuat. Implementasi dilakukan melalui proses pengkodean. Proses pengkodean menggunakan PHP dan pemanfaatan Google Maps API untuk mendapatkan data peta dan mengambil library visualization untuk penerapan heatmap . Tahap berikutnya adalah system testing pengujian sistem pada tahap ini dilakukan pengujian sistem yang telah dibuat. Pengujian sistem ini menggunakan black box testing . Tahapan terakhir adalah operation and maintenance penerapan dan pemeliharaan sistem. Pada tahap ini dilakukan pemeliharaan terhadap aplikasi. Bentuk pemeliharaan bisa dalam bentuk penambahan fitur dan perubahan layout .

4. Hasil dan pembahasan

Pada hasil dan pembahasan akan dibahas beberapa proses yang terjadi dalam penerapan heatmap , antara lain bagaimana heatmap memproses data koordinat yang diberikan dan mengambil peta dari google maps menggunakan Google Maps API . Heatmap akan membentuk lapisan-lapisan layer untuk setiap titik koordinat kemudian divisualisasikan menggunakan gradien warna default . Titik yang berdekatan akan mencampur warnanya menjadi warna yang dominan sehingga terbentuk sebuah gradien warna dengan intensitas warna yang berbeda. Pada Gambar 8 diambil sampel 10 titik koordinat dan dibentuk dalam layer - layer . Setiap titik pada masing-masing layer mempunyai warna gradien default . Langkah selanjutnya heatmap akan melebur gradien warna yang dimiliki setiap titik koordinat yang ada. Sebelum melebur warna yang dimiliki oleh 9 masing-masing titik koordinat heatmap akan menghitung jarak tiap-tiap titik koordinat dan mendapatkan perpotongan diantara radius warna sebuah titik koordinat. Setelah menemukan perpotongan heatmap akan melebur warna dari lapisan paling dalam sampai lapisan terluar. Gambar 8 Contoh proses layer heatmap Gambar 9 merupakan perkiraan hasil gradien warna yang terbentuk dari 10 titik koordinat pada Gambar 8. Gradien warna yang terbentuk dari 10 titik koordinat tersebut akan terlihat seperti pada gambar 9. Sebenarnya setiap titik koordinat mempunyai semua warna yang ada pada gradien warna default heatmap . Tetapi titik bagian tengah hanya memiliki beberapa warna saja dan bahkan hanya memiliki satu warna saat titik koordinat sangat rapat. Hal tersebut dikarenakan peleburan warna atau percampuran warna yang dilakukan heatmap . Gambar 9 Perkiraan hasil dari gambar 8 10 Sebelum menggunakan heatmap pada aplikasi peta diharuskan mereferensikan library heatmap pada coding aplikasi peta. Kode program 1 merupakan script yang harus ada dalam pembuatan aplikasi peta yang menggunakan heatmap . Script tersebut berisikan referensi visualization dari library Google Maps API . Library visualization digunakan jika aplikasi akan menggunakan Maps Engine dan Heatmap. Kode Program 1 Referensi Visualisasi[7] Isi dari library visualization adalah fungsi-fungsi yang digunakan untuk memanggil data peta dan fungsi heatmap . Pada library visualization semua data yang diambil oleh heatmap diolah dan kemudian ditampilkan pada heatmap layer yang ada pada data peta Google Maps . Agar warna peta yang ditampilkan berbeda dengan warna default dari Google maka perlu style tambahan seperti yang terlihat pada Kode Program 2. Kode Program 2 Custom style peta Google Maps[8] Pada kode program 2 pada baris tiga merupakan fungsi featureType yang berfungsi untuk mendefinisikan tipe fitur dari peta yang akan di rubah warnanya. Jenis-jenis featureType yang digunakan adalah administrative wilayah administrasi yang digunakan untuk mengatur custom style dari area administrasi suatu wilayah, poi point of interest tempat tujuan yang digunakan untuk mengatur style tempat-tempat tujuan seperti gereja, masjid, kampus dan lain sebagainya, road jalan yang digunakan untuk mengatur custom style dari jalan, water air yang digunakan untuk mengatur custom style dari air, dan transit yang digunakan untuk mengatur custom style dari area pemberhentian. Pada baris empat merupakan fungsi elementType yang berfungsi untuk menentukan elemen tipe apa saja yang akan di kostum warnanya. Jenis-jenis elementTipe yang digunakan adalah geometry yang berfungsi untuk mengatur fill dan stroke dari featureType dan label yang berfungsi untuk mengatur elemen text dan icon dari featureType . Terdapat juga fungsi stylers yang berfungsi sebagai tempat peletakan dan pengaturan style dari Google Maps . Berikutnya membuat array titik koordinat yang diambil dari database menggunakan variabel javascript seperti yang terlihat pada Kode Program 3. 1. var style = [ 2. { 3. featureType: administrative, 4. elementType: all, 5. stylers: [{visibility: off}]}, 6. ... 7. ... 8. ]; 1. script src=https:maps.googleapis.commapsapijs?v=3.expsensor=falselibraries= visualization 2. script 11 Kode Program 3 Kode array titik Kode Program 3 pada baris 1 merupakan kode untuk membuat variabel pada javascript. Baris 3 merupakan kode untuk mengambil data koordinat dari database . Baris 4-8 merupakan kode untuk membuat perulangan data koordinat dari database sehingga membentuk array . Pada baris 7 merupakan kode untuk mencetak koordinat pada fungsi LatLng dari Google Maps . Berikutnya memanggil fungsi initialize dari Google Maps API . Didalam fungsi ini terdapat pengaturan untuk peta, membuat layer baru untuk heatmap , memasukkan array titik dan memanggil event untuk memunculkan peta seperti yang terlihat pada kode program 4. Kode Program 4 Fungsi pengaturan peta dan heatmap Kode Program 4 baris 2 merupakan kode untuk membuat variabel mapOptions yang berfungsi untuk menyimpan pengaturan peta. Baris 3 merupakan kode untuk menentukan zoom peta default saat pertama peta di load . Baris 4 merupakan kode untuk menentukan titik tengah dari peta. Baris 5 merupakan kode untuk menentukan jenis peta yang akan ditampilkan. Baris 6 merupakan kode untuk memanggil style peta yang sudah didefinisikan sebelumnya. Baris 8 merupakan kode untuk menampilkan peta. Baris 9-14 merupakan kode untuk mengambil array titik dan membuat layer heatmap kemudian memasukkan layer heatmap pada peta. Baris 15 merupakan kode untuk menjalankan fungsi initialize . 1. var ukmData = [ 2. ?php 3. query = mysql_querySELECT FROM data WHERE kategori 0; 4. while row = mysql_fetch_arrayquery{ 5. lat=row[Lat]; 6. lon=row[Lng]; 7. echo new google.maps.LatLnglat, lon,\n; 8. } 9. ? 10. ]; 1. function initialize { 2. var mapOptions = { 3. zoom: 12, 4. center: new google.maps.LatLngdeflat, deflng, 5. mapTypeId: google.maps.MapTypeId.MAP, 6. styles: style 7. }; 8. map = new google.maps.Mapdocument.getElementByIdmap-canvas,mapOptions; 9. var pointArray = new google.maps.MVCArrayukmData; 10. heatmap = new google.maps.visualization.HeatmapLayer{ 11. data: pointArray 12. }; 13. heatmap.setMapmap; 14. } 15. google.maps.event.addDomListenerwindow, load, initialize; 12 Kode Program 5 Potongan javascript google maps API untuk visualization dan heatmap Kode Program 5 merupakan potongan dari javascript google maps API untuk visualization dan heatmap . Pada Kode Program 5 terdapat fungsi sebagai berikut polygonOptions yang berfungsi untuk menbuat sebuah bentuk dari sekumpulan garis, strokeColor yang berfungsi untuk menentukan warna garis, strokeColorStyle yang berfungsi untuk menentukan style dari warna sebuah garis, strokeOpacity berfungsi sebagai pengatur transparansi sebuah garis, strokeOpacityStyle berfungsi sebagai penentu style transparansi dari sebuah garis, strokeWeight berfungsi untuk menentukan ketebalan sebuah garis, fillColor berfungsi untuk memberi warna sebuah polygon , fillColorStyle berfungsi sebagai pengatur style warna sebuah polygon , fillOpacity berfungsi sebagai pengatur transparansi sebuah polygon , dan fillOpacityStyle berfungsi sebagai pengatur style transparansi sebuah polygon . Fungsi-fungsi yang lain merupakan fungsi yang digunakan untuk menentukan bentuk dari peta sesuai data yang diambil dari server dan menampikan pada halaman web . Terdapat juga fungsi untuk heatmap layer didalam fungsi tersebut terdapat fungsi untuk menentukan posisi sebuah titik dan menentukan warna dari titik tersebut. Hasil dari visualisasi heatmap adalah gradien warna, pada Gambar 10 merupakan hasil dari visualisasi untuk Kota Salatiga dan gradien warna yang terlihat adalah warna merah yang berarti kerapatan UKM yang memproduksi makanan dan minuman sangat rapat, kemudian warna kuning yang berarti kerapatannya sedang, dan warna hijau berarti kerapatannya jarang. Salah satu kelebihan heatmap adalah heatmap mampu memecah bentuk dan merubah intensitas warna ketika data berubah atau tampilan diperbesar. Pada Gambar 10 bagian atas, peta di perbesar 12x sehingga terlihat bentuk persebaran data UKM yang memproduksi makanan dan minuman sedikit memencar dan warna dominan merah yang berarti kepadatan UKM yang memproduksi makanan dan minuman sangat padat. Pada Gambar 10 bagian bawah peta diperbesar 13x terlihat bentuk visualisasi data UKM yang memproduksi makanan dan minuman berubah lebih terpencar dan intensitas warna berubah karena ketika peta diperbesar kerapatan 1. functionb{ 2. b.Ama 3. }}; LfUm[F], {map: Dg, query: Tm, style: Qm}; 4. Ug.visualization = functiona { 5. evala 6. }; 7. var Vm = Cd[Jc].maps.visualization = {DynamicMapsEngineLayer: Mm, HeatmapLayer: Gm, MapsEngineLayer: Nm, MapsEngineStatus: {OK: od, INVALID_LAYER: id, UNKNOWN_ERROR: rd}}; 8. cl[16] SdVm, {DemographicsLayer: Um}; 9. cl[15] || delete Nm[F][ad]; 10. Bfvisualization, {}; 11. functionb{b.Ama}}; LfUm[F], {map: Dg, query: Tm, style: Qm}; 12. Ug.visualization = functiona { 13. evala 14. }; 15. var Vm = Cd[Jc].maps.visualization = {DynamicMapsEngineLayer: Mm, HeatmapLayer: Gm, MapsEngineLayer: Nm, MapsEngineStatus: {OK: od, INVALID_LAYER: id, UNKNOWN_ERROR: rd}}; 16. cl[16] SdVm, {DemographicsLayer: Um}; 17. cl[15] || delete Nm[F][ad]; 18. Bfvisualization, {}; 13 antar titik posisi UKM yang memproduksi makanan dan minuman berubah secara skala dan bukan posisi sebenarnya yang berubah. Gambar 10 Hasil visualisasi heatmap pada zoom 12x dan 13x untuk Kota Salatiga Pada Gambar 11 merupakan hasil visualisasi heatmap untuk Kecamatan Tingkir yang terdiri dari 555 data UKM yang memproduksi makanan dan 66 data UKM yang memproduksi minuman dan total dari kedua kategori adalah 601 data. Perbedaan bentuk dan intensitas warna sangat terlihat saat peta diperbesar 12x Gambar 11 bagian atas dan saat peta diperbesar 13x Gambar 11 bagian bawah. Hal ini terjadi karena perbedaan kerapatan titik posisi UKM yang memproduksi makanan dan minuman, saat peta diperbesar maka kerapatan titik posisi UKM yang memproduksi makanan dan minuman secara skala akan melebar. Karena kerapatan titik posisi UKM yang memproduksi makanan dan minuman berubah maka bentuk visualisasi heatmap dan warnanya pun berubah. Gambar 11 Hasil visualisasi heatmap pada zoom 12x dan 13x untuk Kecamatan Tingkir 14 Gambar 12 merupakan hasil visualisasi heatmap untuk Kelurahan Salatiga yang berada di Kecamatan Sidorejo yang terdiri dari 282 UKM yang memproduksi makanan dan 61 UKM yang memproduksi minuman dan total dari kedua kategori tersebut adalah 343. Bentuk dan warna dari visualisasi heatmap saat peta diperbesar 12x Gambar 12 bagian atas dan saat peta diperbesar 13x Gambar 12 bagian bawah tidak banyak berubah karena data sangat padat. Perenggangan antar titik tidak begitu berpengaruh karena wilayahnya juga kecil. Warna visualisasi heatmap didominasi oleh warna merah karena kerapatan titik lokasi UKM yang memproduksi makanan dan minuman di kelurahan Salatiga sangat rapat. Gambar 12 Hasil visualisasi heatmap pada zoom 12x dan 13x untuk Kelurahan Salatiga Pengujian black box merupakan pengujian yang fokus pada persyaratan fungsi. Dengan metode black box pengujian dilakukan dengan mencari fungsi-fungsi yang tidak benar, menguji kesalahan-kesalahan yang mungkin terjadi pada tampilan aplikasi yang telah dikembangkan[9]. Metode pengujian yang digunakan pada penelitian ini adalah metode black box . Tujuannya adalah untuk memperkecil kesalahan pada saat pengembangan dan dengan mudah melakukan koreksi terhadap kekurangan yang terjadi setelah aplikasi selesai dikerjakan. Hasil pengujian bisa dlihat pada Tabel 3. Tabel 3 Tabel Uji Aplikasi Pemetaan pada zoom 12x Pengelompokan Hasil yang diharapkan Hasil pengujian Kesimpulan Kota Memvisualisasikan semua data UKM yang memproduksi makanan dan minuman menggunakan gradien warna Gradien warna keluar sesuai dengan seluruh data UKM yang memproduksi makanan dan minuman Hasil Valid 15 Kecamatan Memvisualisasikan data UKM yang memproduksi makanan dan minuman berdasarkan kecamatan yang dipilih menggunakan gradien warna Gradien warna keluar sesuai dengan seluruh data UKM yang memproduksi makanan dan minuman dikelompokkan berdasarkan kecamatan Hasil Valid Kelurahan Memvisualisasikan data UKM yang memproduksi makanan dan minuman berdasarkan kelurahan yang dipilih menggunakan gradien warna Gradien warna keluar sesuai dengan seluruh data UKM yang memproduksi makanan dan minuman dikelompokkan berdasarkan kecamatan Hasil Valid Pada Tabel 3 memperlihatkan hasil uji black box testing atas uji pengelompokan berdasarkan wilayah saat peta diperbesar 12x. Pada pengujian ini dipastikan semua wilayah memiliki hasil yang sesuai harapan. Pengujian ini akan berperngaruh pada pengujian pengelompokan berdasarkan wilayah dengan peta diperbesar 13x seperti yang terlihat pada Tabel 4. Tabel 4 Tabel Uji Aplikasi Pemetaan pada zoom 13x Pengelompokan Hasil yang diharapkan Hasil pengujian Kesimpulan Kota Memvisualisasikan semua data UKM yang memproduksi makanan dan minuman menggunakan gradien warna dengan bentuk lebih menyebar dari pada zoom 12x dan intensitas gradien warna berubah. Gradien warna keluar sesuai dengan seluruh data UKM yang memproduksi makanan dan minuman dengan bentuk lebih menyebar dari pada zoom 12x dan intensitas warna berubah Hasil Valid Kecamatan Memvisualisasikan data UKM yang memproduksi makanan dan minuman berdasarkan kecamatan yang dipilih menggunakan gradien warna dengan bentuk lebih menyebar dari pada zoom 12x dan intensitas gradien warna berubah. Gradien warna keluar sesuai dengan seluruh data UKM yang memproduksi makanan dan minuman dikelompokkan berdasarkan kecamatan dengan bentuk lebih menyebar dari pada zoom 12x dan intensitas warna berubah Hasil Valid Kelurahan Memvisualisasikan data UKM yang memproduksi makanan dan minuman berdasarkan kelurahan yang dipilih menggunakan gradien warna dengan bentuk lebih menyebar dari pada zoom 12x dan intensitas gradien warna berubah. Gradien warna keluar sesuai dengan seluruh data UKM yang memproduksi makanan dan minuman dikelompokkan berdasarkan kecamatan dengan bentuk lebih menyebar dari pada zoom 12x dan intensitas warna berubah Hasil Valid 16 Pada Tabel 4 menunjukan hasil uji saat peta diperbesar 13x yang mengharapkan hasil yang berbeda dari peta yang diperbesar 12x. Perbedaan yang diinginkan adalah perubahan bentuk dan perubahan intensitas warna pada gradien warna heatmap . Pada Tabel 4 menyatakan bahwa perbedaan yang diinginkan sesuai dengan harapan.

5. Kesimpulan