HASIL DAN PEMBAHASAN
9. Integrasi dan Perancangan Antarmuka
Antarmuka sistem ini terdiri atas peta Bogor, navigasi perbesaran dan pengecilan skala peta, perubahan tipe peta, fungsi pencarian tempat, pemilihan layer, pencarian rute optimum, penambahan tempat, penambahan jalan dan spatial query (Gambar 10).
Gambar 10 Rancangan antarmuka sistem sebelum login.
Panel perbesaran dan pengecilan skala peta Panel ini terletak di samping kiri antarmuka, bentuknya berupa scale bar. Pengguna dapat memperbesar skala peta dengan menekan tombol ‘+’ atau menggeser
9 scale bar ke atas. Untuk memperkecil skala
peta, pengguna dapat menekan tombol ‘-’ atau menggeser scale bar ke bawah.
Panel pilihan tipe peta
Terletak dibagian kanan atas antarmuka, panel ini digunakan untuk mengubah tipe peta. Ada empat tipe peta, yaitu:
1. Tipe map, tipe peta ini menunjukkan peta dengan jalan dan tempat.
2. Tipe satellite, tipe peta ini menunjukkan citra yang diambil oleh satelit.
3. Tipe hybrid, tipe peta ini menunjukkan citra satelit beserta nama jalan.
4. Tipe terrain, tipe peta ini menunjukkan peta jalan beserta kontur permukaan tanah. Panel Cari Bogor
Panel ini terletak di bagian kanan antarmuka tepat di bawah panel pilihan tipe peta. Panel ini digunakan pengguna untuk mencari tempat di Kota Bogor. Dalam panel ini terdapat text input yang digunakan pengguna untuk memasukkan nama tempat yang dicarinya dan tombol ‘cari’ untuk memulai pencarian tempat.
Panel Lihat Bogor
Panel ini terletak di bagian kanan antarmuka dibawah panel pilihan Cari Bogor. Dalam panel ini terdapat 12 check box untuk memilih layer berdasarkan kelompok layer yang telah tercantum dalam kebutuhan data. Panel Petunjuk Jalan Bogor
Panel ini terletak di bawah panel Lihat Bogor. Panel ini digunakan untuk mencari jalur optimum antara dua tempat. Terdapat dua text input untuk memasukkan dua tempat yang akan dicari jalur optimumnya, tombol ‘cari’ untuk memulai pencarian jalur optimum dan tombol ‘batal’ untuk membersihkan text input.
Panel Spatial Query
Terletak di bawah panel Petunjuk Jalan Bogor. Bagian atas panel ini adalah drop down untuk mencari kelompok tempat yang ingin pengguna cari. Kemudian di bawahnya terdapat drop down untuk memilih kriteria jarak. Sementara di bawahnya terdapat text input atau drop down untuk memilih kelompok tempat sebagai acuan.
Panel Login
Panel ini terletak di bawah panel spatial query. Terdapat dua text input untuk memasukkan username dan password. Setelah pengguna login, maka Panel Tambah Tempat Bogor dan Pabel Tambah Jalan Bogor akan muncul (Gambar 11).
Gambar 11 Rancangan antamuka sistem setelah Login.
Panel Tambah Tempat Bogor
Terletak di bawah panel Petunjuk Jalan Bogor, panel ini akan muncul jika pengguna telah login. Panel ini disediakan agar pengguna dapat menambah tempat secara langsung pada sistem. Terdapat tiga text input untuk memasukkan nama, latitude dan longitude tempat tersebut. Serta satu drop down list untuk menentukan kelompok tempat tersebut. Untuk text input latitude dan longitude, pengguna dapat memasukkannya secara manual atau cukup mengklik pada peta bogor maka secara otomatis text inputlatitude dan longitude akanterisi.
Panel Tambah Jalan Bogor
Panel ini terletak di bawah panel Petunjuk Jalan Bogor, panel ini akan muncul jika pengguna telah login. Panel ini digunakan untuk menambahkan jalur antara dua tempat. Terdapat tiga text input untuk memasukkan jalur antara dua tempat beserta panjang jaraknya, dua check box untuk memberi keterangan apakah jalurnya satu atau dua arah dan dua tombol yaitu tombol ‘ok’ untuk menambahkan jalur tersebut pada database dan tombol ‘batal’ untuk membersihkan text input dan check box sekaligus menutup panel ini.
10 10. Pengembangan Sistem
Pada tahap ini dilakukan pembangunan antarmuka yang telah dirancang pada tahap sebelumnya, kemudian sistem dikembangkan dengan menambahkan sistem pencarian tempat, memilih layer, menambah tempat, menambah jalan, pencarian jalur optimum dan spatial query.
Pembangunan Antarmuka
Antarmuka dibangun dengan menggunakan Flex framework. Untuk menampilkan peta, pertama kali kita harus
mendaftarkan diri di
http://code.google.com/apis/maps/signup.html
untuk mendapatkan API key. API key tersebut diperlukan agar aplikasi dapat mengakses dan mengambil peta dari Google Map.
Peta yang ditampilkan dari kode pemograman di atas baru menampilkan peta dunia, untuk fokus pada lokasi tertentu kita harus mengetahui letak latitude dan longitude lokasi tersebut. Latitude dan longitude Kota Bogor adalah -6.5897222 dan 106.7913889.
Panel-panel antarmuka tempat pengguna melakukan kueri pencarian, spatial query, menambah tempat, dan menambah jalan dibangun dengan menggunakan XML. Di bawah ini adalah salah satu contoh XML yang digunakan untuk membangun panel Cari Bogor.
Tambah Tempat
Fungsi ini dimaksudkan agar pengguna dapat menambah tempat secara langsung pada sistem, sehingga nantinya akan didapatkan sebuah sistem informasi geografis dengan informasi yang lebih lengkap karena informasi tempat dan jalan dalam sistem ini tidak terbatas dari pengetahuan satu atau beberapa orang saja. Skema tambah tempat dapat dilihat pada Gambar 12.
Gambar 12 Skema tambah tempat.
Ketika panel tambah tempat bogor di- expand dan pengguna meng-klik pada Peta Bogor, maka sistem akan mengambil informasi latitude dan longitude dari tempat tersebut. Pengguna hanya tinggal menambahkan nama tempat tersebut dan memilih kelompok yang sesuai dengan tempat tersebut (Gambar 13). Atribut tempat dikelompokkan menjadi 10 kelompok, yaitu :
1. Pemerintahan, 2. Wisata, 3. Kuliner, 4. Penginapan, 5. Rumah sakit, 6. Pusat perbelanjaan, 7. Transportasi umum, 8. Perumahan, 9. Sekolah, dan 10. Kategori lainnya.
11 Gambar 13 Memasukkan atribut verteks.
Tambah Jalan
Pengguna dapat menambahkan jalan yang menghubungkan dua tempat, tetapi pengguna harus mengetahui jarak antara dua tempat tersebut. Penambahan jalur tidak harus mengikuti jalan pada peta tetapi bisa keluar dari jalan tersebut (Gambar 14). Skema tambah jalan dapat lihat pada Gambar 15. Pemilihan jalur dibedakan menjadi dua, yaitu: 1. Satu jalur, posisi awal menuju posisi akhir
dan posisi akhir menuju posisi awal ditempuh dengan jalur yang berbeda. 2. Dua jalur, baik posisi awal menuju posisi
akhir atau sebaliknya dapat ditempuh dengan jalur yang sama.
Gambar 14 Memasukkan atribut edge.
Gambar 15 Skema tambah jalan.
Cari Tempat
Sistem ini akan mencari dan memunculkan tempat tertentu pada peta Kota Bogor. Pengguna memasukkan nama tempat sebagai kueri, kemudian sistem akan tersambung pada database dan melakukan eksekusi kueri SQL. Sistem akan mengambil data latitude dan longitude yang diperlukan untuk menampilkan tempat tersebut dalam peta Bogor (Gambar 16).
Gambar 16 Skema pencarian tempat. Pilih Layer
Tempat-tempat dalam SIG Kota Bogor ini dimasukkan ke dalam 10 kategori, pengguna dapat memunculkan tempat-tempat tersebut berdasarkan kelompoknya masing-masing. Ketika pengguna mencentang pada salah satu checkbox pada panel lihat bogor, maka sistem akan melakukan eksekusi SQL pada database untuk mengambil latitude dan longitude tempat-tempat tersebut kemudian dimunculkan pada Peta Bogor.
Masing-masing kelompok disimbolkan dengan lambang yang berbeda. Ketika disentuh oleh kursor, nama tempat akan muncul dan bila dilakukan klik maka secara otomatis sistem akan mengisi nama tempat tersebut pada panel yang lain.
Khusus pada layer administrasi kelurahan dan kecamatan. Karena datanya berupa berkas KML, maka ketika pengguna memilih checkbox untuk menampilkan salah satu dari tiga layer di atas maka sistem akan membaca berkas KML kemudian melakukan parsing untuk mengambil keterangan beserta longitude dan longitude untuk kemudian ditampilkan dalam sistem (Gambar 17).
12 Gambar 17 Skema pemilihan layer.
Pencarian Jalur Optimum
Fungsi ini memungkinkan pengguna untuk dapat melihat jalur optimum pada peta, jarak total yang ditempuh dan keterangan tempat- tempat mana saja yang dilewati untuk sampai ketempat yang dituju. Algoritma Dijkstra digunakan dalam fungsi ini untuk menentukan jalur optimum antara dua tempat.
Algoritma Dijkstra adalah algoritma untuk mencari jalur terpendek pada suatu graph sampai semua node dalam graph dilalui. Tetapi dalam SIG Kota Bogor, Algoritma Dijkstra akan berhenti menelusuri ketika sudah mencapai node yang dituju.
Implementasi Algoritma Djikstra pada pencarian jalur optimum diawali dengan penentuan:
1. Posisi awal → node tempat algoritma Dijkstra memulai penelusuran graph. 2. Posisi akhir → node tempat algoritma
Dijkstra berhenti menelusuri graph. Setelah itu dilanjutkan dengan pembentukan adjacency matrix. Adjacency matrix merupakan representasi matriks n x n yang menyatakan hubungan antar node dalam suatu graph. Kolom dan baris dari matriks ini merepresentasikan node, dan nilai entri dalam matriks ini menyatakan hubungan antar node, apakah terdapat sisi yang menghubungkan kedua node tersebut (bertetangga).
Bila bertetangga, nilai entri akan menyimpan nilai sesuai dengan panjang jalan yang menghubungkan dua node tersebut. Bila tidak, maka nilai yang tersimpan adalah nol.
Setelah pembentukan adjacency matrix, setiap node direpresentasikan dalam sebuah object yang memiliki:
1. id → identitas unik yang membedakan satu node dengan node lainnya.
2. min → bobot path paling optimum yang melewati node tersebut.
3. predecessor→node terpilih sebelum node tersebut.
4. sudahDikunjungi → inisialisasi suatu node tertentu sudah dikunjungi atau belum. Penelusuran jalur optimum dimulai dari posisi awal, algoritma kemudian akan memilih node adjacent yang belum dikunjungi dengan jarak paling optimum. Penelusuran terhadap node-node yang adjacent dilakukan terus dan akan berhenti ketika mencapai posisi akhir. Langkah- langkahnya sebagai berikut:
1. Status (sudahDikunjungi) node yang belum terpilih diinisialisasikan dengan ‘0’ dan yang sudah terpilih diinisialisasi dengan ‘1’, dimulai dari posisi awal sebagai posisi terpilih.
2. Algoritma akan menelusuri node yang bertetangga dengan posisi terpilih yang belum dikunjungi, kemudian memilih node dengan bobot paling optimum untuk dijadikan posisi terpilih selanjutnya. 3. Predecessor posisi terpilih sekarang adalah
posisi terpilih sebelumnya.
4. Ulangi dari langkah 2 sampai posisi terpilih sekarang adalah posisi akhir. 5. Bila posisi akhir telah dipilih menjadi
posisi terpilih, maka untuk melihat jalur mana yang dipilih dapat ditelusuri predecessornya.
13 Hasil dari Algoritma Dijkstra yang akan
ditampilkan pada sistem adalah overlay jalur terpendek pada peta, total jarak yang ditempuh, dan tempat-tempat yang dilewati. Skema pencarian jalur optimum dapat dilihat pada Gambar 18.
Gambar 18 Skema pencarian jalur optimum.
Spatial Query
Sistem ini dibuat untuk menemukan tempat yang sesuai dengan kriteria jarak yang kita masukkan. Jarak yang menjadi acuan bukanlah jarak Euclidean, tetapi panjang akses jalan untuk menuju ke tempat tersebut. Skema spatial query dapat dilihat pada Gambar 19.
Gambar 19 Skema spatial query.
Ada dua sistem spatial query yang dibangun pada SIG Kota Bogor, yaitu :
Titik acuan satu tempat
Posisi awal dalam sistem ini berjumlah satu, sedangkan posisi akhir berjumlah lebih dari satu. Algoritma Djikstra akan digunakan
dalam penentuan jarak terpendek dari posisi awal ke posisi akhir. Panjang jarak tersebut kemudian akan disimpan dalam suatu array. Penggunaan Algoritma Djikstra akan berakhir ketika semua nilai panjang jarak dari posisi awal ke posisi akhir telah didapatkan semua.
Nilai-nilai tersebut kemudian akan difilter sesuai dengan kriteria jarak (dekat, sekitar, jauh) atau ditentukan sendiri jaraknya oleh pengguna (Lampiran 6). Langkah-langkahnya sebagai berikut:
1. Menentukan posisi awal dan posisi akhir. Posisi awal satu sedangkan posisi akhir berjumlah lebih dari satu.
2. Mencari jarak optimum dari posisi awal ke semua posisi akhir. Nilai-nilai jarak tersebut kemudian akan disimpan dalam sebuah array.
3. Nilai-nilai tersebut difilter berdasarkan kriteria jarak (dekat, disekitar, jauh) atau ditentukan sendiri jaraknya oleh pengguna. 4. Tempat yang jaraknya memenuhi kriteria akan dimasukkan ke dalam sebuah array untuk kemudian dimunculkan pada peta Bogor.
Titik acuan beberapa tempat
Prinsip kerjanya hampir sama dengan sistem sebelumnya, hanya saja posisi awal pada sistem ini berjumlah lebih dari satu. Karena itu, Algoritma Djikstra akan berhenti ketika jarak dari semua posisi awal dengan semua posisi akhir didapatkan (Lampiran 7). Langkah-langkah sistem ini sebagai berikut: 1. Menentukan posisi awal dan posisi akhir.
Posisi awal dan posisi akhir masing- masing berjumlah lebih dari satu.
2. Mencari jarak optimum dari semua posisi awal ke semua posisi akhir. Nilai-nilai jarak tersebut kemudian akan disimpan dalam sebuah array.
3. Nilai-nilai tersebut difilter berdasarkan kriteria jarak (dekat, disekitar, jauh) atau ditentukan sendiri oleh pengguna.
4. Tempat yang jaraknya memenuhi kriteria akan dimasukkan ke dalam sebuah array untuk kemudian dimunculkan pada peta Bogor.