Loading...

GIS Part 2 - Pencarian Informasi Spasial menggunakan Hibernate Search/Lucene

Posted on 19 December 2012 by Dian Aditya Other

Pernah pakai aplikasi yang berhubungan dengan point of interest seperti foursquare atau google latitude? Ya dua aplikasi yang saya sebutkan tersebut adalah contoh implementasi dari sebuah service yang sangat berkaitan erat dengan lokasi dan koordinat. Ketika kita membuka aplikasi, melalui browser atau perangkat mobile misalnya, aplikasi akan secara otomatis membaca koordinat dimana perangkat berada melalui GPS (dengan seizin pemilik perangkat tentunya) dan kemudian menamplikan lokasi-lokasi terdekat dengan radius tertentu dari lokasi user berada. Pada bagian ini saya akan membahas bagaimana implementasi pengolahan data spatial menggunakan Hibernate Search.

Read more...

[Kuliah] Diksi (pilihan kata) dan Analisis

Posted on 09 November 2012 by Dian Aditya Kampus oh Kampus

Dikutip dari inet.detik.com/read/2012/11/08/182826/2086426/328/arpu-data-btel-lebih-tinggi-dari-voice-sms

Read more...

GIS Part 1 - Mengkonsumsi Data Tiles dengan Leaflet

Posted on 14 October 2012 by Dian Aditya Other

Sesuai dengan prefix judul posting saya kali ini, GIS (Geographic Information System) atau dalam bahasa Indonesia disebut SIG (Sistem Informasi Geografis), saya akan membahas secara tuntas implementasi sederhana dari GIS dari awal hingga akhir. Ya, saya ulangi lagi, tuntas dari awal hingga akhir (jangan lupakan kata sederhana). Kasus yang akan saya jadikan contoh kali ini adalah pengolahan informasi lokasi berdasarkan koordinat, contoh paling populer dari kasus ini adalah Foursquare dan Google Latitude. Karena pembahasan kasus ini cukup panjang, saya akan membagi postingan ini menjadi 4 bab, diantaranya:

Lengkap bukan?

Mengkonsumsi Data Tiles dengan Leaflet

Tiles adalah ubin, lalu apa hubungannya ubin dengan peta? Analogi sederhananya adalah sebagai berikut, untuk melapisi dinding kamar mandi ataupun dapur di rumah anda, diperlukan kumpulan keramik berbentuk persegi yang ditempelkan secara rapi dalam susunan grid. Konsep inilah yang mendasari tiles pada peta, yaitu kumpulan bitmap berbentuk persegi yang disusun untuk membentuk sebuah peta.

Tiles secara umum adalah gambar berukuran 256 x 256 pixel, meskipun tidak selalu begitu, sebagai contoh CloudMade menyediakan gambar berukuran 64 x 64 pixel untuk kebutuhan mobile, namun secara keseluruhan gambar 256 x 256 pixel menjadi standart secara de facto yang dipimpin oleh Google Maps.

Dalam implementasinya banyak pustaka yang disediakan di internet untuk mengkonsumsi tiles. Untuk menampilakan ke dalam web umumnya pustaka dibangun diatas javascript, beberapa pustaka javascript yang populer digunakan adalah:

  • Google Maps API. Sedikit catatan untuk penggunaan GMaps API, layanan ini bersifat komersial untuk kondisi tertentu. Google juga menentukan kebijakan dengan menyertakan iklan di dalamnya. Ingin menggunakan kode javascript GMaps pada local intranet? Sepertinya anda perlu membayar sekitar $10.000 per tahun untuk dapat melakukannya.
  • Openlayers, digunakan oleh OpenstreetMap, kaya fitur, serta opensource. Akan tetapi cukup kompleks dan memiliki ukuran yang cukup besar untuk sebuah file javascript.
  • Leaflet, dikembangkan oleh CloudMade dibawah lisensi BSD. Cukup ringan, stabil dan cepat jika dibandingkan dengan Openlayers, serta desain kode berbasis OOP yang sangat mudah dipahami. Foursquare adalah salah satu website yang menggunakan Leaflet.

Dalam contoh kali ini saya akan menggunakan leaflet sebagai pustaka untuk mengkonsumsi dan menampilkan data tiles dari Osmosa salah satu reimplementasi dari OpenstreetMap. Untuk menampilkan sebuah peta menggunakan leaflet adalah cukup mudah, berikut beberapa baris kode yang perlu ditulis untuk menampilkan sebuah peta dan menampilkan lokasi dimana anda berada.

(function() {
	var map = new L.Map('map', {zoom: 10});
	
	var markers = new L.LayerGroup();
	map.addLayer(markers);
	
	// Mengambil tiles dari Osmosa.net
	var tile = new L.TileLayer('http://www.osmosa.net/osm_tiles3/{z}/{x}/{y}.png', {
		attribution: 'Tiles CC-BY-SA Osmosa, data © OpenStreetMap contributors.',
		maxZoom: 18, minZoom: 3
	});
	
	map.addLayer(tile);

	// Mengambil posisi user, menampilkan titik dimana user berada
	navigator.geolocation.getCurrentPosition(function(p) {
		map.setView(new L.LatLng(p.coords.latitude, p.coords.longitude), 13);
		var marker = new L.Marker([p.coords.latitude, p.coords.longitude]);
		marker.addTo(markers).bindPopup('Anda berada di sini!').openPopup();
	});
})();

Live Demo!

Browser anda mungkin akan meminta persetujuan karena contoh kode diatas mencoba melacak lokasi dimana anda berada, ijinkan untuk dapat melihat live demo. Jangan khawatir karena saya tidak akan menyimpan data lokasi atau apapun yang melanggar privasi anda.

Menggunakan method POST, GET, PUT, DELETE pada HTML form tag, bisakah?

Posted on 27 July 2012 by Dian Aditya Java

Pernahkah anda menggunakan menggunakan http method selain GET dan POST pada browser. Yah, tentunya hanya hanya client seperti apache http client yang mensupport http request method seperti PUT, DELETE, ataupun OPTION. Sebenarnya saat ini hampir seluruh browser sudah dapat mengirimkan request dengan menggunakan http method tersebut melalui XMLHttpRequest, yap kuncinya ada di AJAX. Lalu bagaimana dengan html form tag?

Read more...

Dian Aditya

Newsfeed