Membuat Applikasi GIS Desktop-2

Find Jalan

1. Klik Project > Add Form untuk menambah form baru, kemudian set property nya seperti berikut :

Tambahkan form tersebut dengan tombel, label dan combobox sehingga akan berbentuk seperti pada gambar berikut :

2. Buat property dari masing-masing bagian seperti berikut :

Combo Box

Tombol

a. Klik tombol Trace Jalan dua kali, isi kodenya seperti berikut :

b. Klik tombol CLOSED dua kali, isi kodenya seperti berikut :

Private Sub Cmdclose_Click()

Formfindjalan.Visible = False

End Sub

Find Universitas

1. Klik Project > Add Form untuk menambah form baru kemudian set propetynya seperti berikut :

Tambah form tersebut dengan tombol, label, text dan ComboBox sehingga akan berbentuk seperti gambar berikut :

2. Buat properti dari masing-masing bagian seperti berikut :

ComboBox

Tombol

Text

a. Klik tombol TRACE Universitas dua kali,isikan kode seperti berikut :

b. Klik tombol CLOSE dua kali,isikan kode seperti berikut :

Private Sub Cmdexit_Click()

Formfinduniv.Visible = False
End Sub

Find Hotel

1. Klik Project ? Add Form untuk menambah form baru, kemudian set propertinya seperti berikut :

Sama seperti diatas tambah form tersebut dengan tombol, label, dan ComboBox sehingga akan berbentuk seperti gambar berikut :

2. Buat propertinya dari masing-masing bagian seperti berikut :

ComboBox

Tombol

Text

a. Klik tombol Trace Hotel dua kali, isikan kode seperti berikut :

b. Klik tombol CLOSE dua kali, isikan kodenya seperti berikut :

Private Sub Cmdclose_Click()

Formfindhotel.Visible = False

End Sub

Dengan demikian kita sudah membuat semua form yang kita rancang, Selanjutnya jalankan applikasi yang telah dibuat dengan menekan F5 dan akan muncul tampilan GIS seperti berikut :

Klik Find Universitas, kemudian pilih Universitas pada combo box, lalu trace universitas yang diinginkan. MapWindows akan menampilkan lokasi unversitas yang kita trace tersebut seperti gambar berikut :

Selesai… Pengembangan lebih lanjut terserah Anda..

Membuat Applikasi GIS Desktop-1

Akan dibuat applikasi GIS desktop sederhana yakni GIS Kota Bandung. Applikasi ini dibuat dengan menggunakan MapInfo Professional 8.0, Ms. Visual Basic untuk perancangan User Interfacenya dan MapBasic sebagai interface antara MapInfo dan Visual Basic. Disini MapBasic berfungsi sebagai DDE (Dynamic Data Exchange).DDE adalah interprocess communication method untuk OS (Operating System) Windows yang berisi passing data antara proses dan sinkronisasi event. DDE menggunakan shared memory untuk mengubah data anatara applikasi dan protokol untuk melakukan sinkronisasi passing data. Peta yangdigunakan adalah peta Kota Bandung dapat segera di download disini.

Tool yang juga digunakan oleh kedua aplikasi yaitu file info.mbx yang merupakan aplikasi dari mapbasic. Cara membuat file info.mbx :

  1. Buka Map Basic, kemudian klik File > New

  2. Ketikkan source code seperti pada tabel -1 berikut kedalam file

  3. Simpan dengan nama info.mb, kemudian klik File > Compile from file sehingga didapatkan file info.mbx

Langkah pertama untuk membuat aplikasi ini adalah pembuatan form utama, caranya :

Gambar 2. Tampilan Menu Utama

  1. Buka Visual Basic. Buat form baru yang akan kita gunakan sebagai form utama. Isi property dari form sebagai berikut :

  2. Letakan PictureBox pada daerah yang akan kita letakan workspace dari MapInfo, set property yang sesuai beri nama mapframe

  3. Letakan tombol-tombol sesuai dengan kebutuhan aplikasi GIS yang kita buat, set propertinya dengan yang sesuai. sebagai contoh buat sesuai dengan gambar 2.

  4. Klik dua kali form lalu ketikan program berikut :

Keterangan :

Inisialisasi lingkungan peta

Langkah pertama dalam pembuatan aplikasi GIS ini adalah menghubungkan dengan Program MapInfo. Perintah CreateObject() digunakan untuk memasukan MapInfo ke background Visual Basic ketika Mapinfo belum dibuka.

Set mapinfo = CreateObject(“MapInfo.Application”)

Jika Mapinfo sudah dibuka ( dan belum dimasukan dengan perintah CreateObject) kita harus menggunakan perintah berikut :

Set mapinfo = GetObject(, “MapInfo.Application”)

Didalam program diatas yang menjalankan fungsi untuk inisialisasi peta adalah :

Mengirimkan perintah ke MapInfo

Ketika MapInfo sudah terinisialisasi kita sudah siap untuk mengirimkan perintah ke MapInfo. Pekerjaan ini dengan menggunakan syntak yang ada di MapBasic dikirimkan ke MapInfo melalui OLE dengan menggunkan metode Do, sebagai contoh untuk membuka workspace diaplikasi ini kita gunakan :

Szstr = “Run Application “”bandung.wor””

Mapinfo.do szstr

Atau dengan menggunakan :

Mapinfo.do “Run Application “”bandung.wor”””

Perintah lain dari MapInfo yang meminta nilai adalah dengan perintah Eval. Sebagai contoh untuk mendapatkan window ID dari front active Window Mapinfo :

Szstr = mapinfo.eval(“FrontWindow()”)

Sebagai contoh dibawah ini adalah kombinasi perintah Do dan Eval :

Reparenting MapInfo Windows

Reparenting adalah masalah yang penting untuk bisa menampilkan MapInfo di aplikasi Visual Basic. Ketika window di reparent maka Mapinfo menjadi child windows dari aplikasi Visual Basic. Perintah dibawah ini berarti dialog box Mapinfo dan pesan kesalahan menjadi tanggung jawab program gabungan (integrated mapping)

Mapinfo.do “set application window” & MapViewform.hwnd

Dalam pengesetam diatas , mapviewform adalah nama dari form utama dari aplikasi visual basic (VB). Semua window MapInfo juga harus di reparented jika kita ingin memasukan kedalam penggunaan di aplikasi VB. Nama window dari MapInfo yang mungkin untuk digunakan program aplikasi adalah : MapBasic, Help, Statistics, Legend, Info, Ruler, Message. Sebagai contoh untuk me-reparent ruler window :

Mapinfo.do “set Window ruler parent “ & Mapviewform.hwnd

Menggunakan tombol toolbar

Tombol MapInfo dapat direparent. Untuk membuat fungsi dari tombol MapInfo di program aplikasi dengan menggunakan perintah seperti dibawah ini :

Private Sub ZoomIn_Click()

mapinfo.RunMenuCommand 1705

End Sub

1705 adalah nomor dari tool zoom in di mapbasic.bas . Kita dapat menggunakan fungsi yang lain yang tersedia di menu.def, icons.def, mapbasic.def

    1. Klik dua kali tombol geser layar, isikan kode berikut

    mapinfo.runmenucommand 1702

    2. Klik dua kali tombol Kursor panah, isikan kode berikut

mapinfo.runmenucommand 1701

    3. Klik dua kali tombol zoom in, isikan kode berikut

mapinfo.runmenucommand 1705

    4. Klik dua kali tombol zoom out, isikan kode berikut

mapinfo.runmenucommand 1706

    5. Klik dua kali tombol ruler, isikan kode berikut

mapinfo.runmenucommand 1710

    6. Klik dua kali tombol Info, isikan kode berikut

Dim Direc, Embex As String

Embex = “info”

Direc = “Run Application “”” + Mapviewform.gszAppDir + Embex & “.mbx”””

Mapviewform.mapinfo.do Direc

    7. Klik dua kali tombol Radius, isikan kode berikut

mapinfo.runmenucommand 1703

    8. Klik dua kali tombol layer, isikan kode berikut

mapinfo.runmenucommand 801

    9. Klik dua kali tombol find, isikan kode

formfind.Visible = True

    10. Klik dua kali tombol select, isikan kode berikut

Mapviewform.mapinfo.runmenucommand 301

    11. Klik dua kali tombol thematic, isikan kode berikut

Mapviewform.mapinfo.runmenucommand 307

    12. Klik dua kali tombol EXIT, isikan kode berikut

End

Kemudian kita tambahkan module pada project window, dalam program ini kita beri 3 module yang juga digunakan pada aplikasi emergency GIS. Untuk pengembangan bisa ditambah dengan module yang lain.

Ikuti langkah berikut :

1.Tambah Modul, beri nama MapBasic. Isi Modul MapBasic ini dengan isi dari MapBasic.def

2. Tambah Modul Browser, isi dengan kode berikut :

3. Tambah Modul PrintOut, isi kode berikut :

Setelah pembuatan form utama, berikutnya yang akan dibuat adalah form find, yang terdiri dari tombol-tombol pilihan pencarian. Langkah-langkahnya :

  1. Pertama kita akan membuat form menu find utama. Pada window project klik kanan kemudian pilih add > form. Tambah form tersebut dengan tombol dan text, serta label, ComboBox sehingga akan berbentuk seperti gambar 3.

Gambar 3. Tampilan Find

isi propertinya seperti berikut :

Buat tombol seperti gambar dan berinama tombol tersebut :

2. Klik Tombol FIND JALAN dua kali, isikan kodenya seperti berikut :

Private Sub Cmdjalan_Click()

Formfind.Visible = False

Formfindjalan.Visible = True

End Sub

3. Klik tombol FIND UNIVERSITAS dua kali, isikan kodenya seperti berikut :

Private Sub Cmduniv_Click()

Formfind.Visible = False

Formfinduniv.Visible = True

End Sub

4. Klik tombol FIND HOTEL dua kali, isikan kodenya seperti berikut :

Private Sub Cmdhotel_Click()

Formfind.Visible = False

Formfindhotel.Visible = True

End Sub

5. Klik tombol EXIT dua kali, isikan kodenya sebagai berikut :

Private Sub Cmdexit_Click()

Formfind.Visible = False

End

Dengan demikian kita telah membuat form find, selanjutnya akan dibuat form find jalan, find universitas, dan find hotel.

to be continued…. (selanjutnya find jalan)

KONSEP DASAR WEB GIS

Pengantar

Geographic Information System (GIS) merupakan sistem yang dirancang untuk bekerja dengan data yang tereferensi secara spasial atau koordinat-koordinat geografi. GIS memiliki kemampuan untuk melakukan pengolahan data dan melakukan operasi-operasi tertentu dengan menampilkan dan menganalisa data. Applikasi GIS saat ini tumbuh tidak hanya secara jumlah applikasi namun juga bertambah dari jenis keragaman applikasinya. Pengembangan applikasi GIS kedepannya mengarah kepada applikasi berbasis Web yang dikenal dengan Web GIS. Hal ini disebabkan karena pengembangan applikasi di lingkungan jaringan telah menunjukan potensi yang besar dalam kaitannya dengan geo informasi. Sebagai contoh adalah adanya peta online sebuah kota dimana pengguna dapat dengan mudah mencari lokasi yang diinginkan secara online melalui jaringan intranet/internet tanpa mengenal batas geografi penggunanya. Secara umum Sistem Informasi Geografis dikembangkan berdasarkan pada prinsip input/masukan data, managemen, analisis dan representasi data. Di lingkungan web prinsip-prinsip tersebut di gambarkan dan di implementasikan seperti pada table berikut :

GIS Prinsip

Pengembangan Web

Data Input Client
Manajemen Data DBMS dengan komponen spasial
Analisys Data GIS Library di Server
Representasi Data Client/server

Arsitektur

Untuk dapat melakukan komunikasi dengan komponen yang berbeda-beda di lingkungan web maka dibutuhkan sebuah web server. Karena standart dari geo data berbeda beda dan sangat spesifik maka pengembangan arsitektur system mengikuti arsitektur ‘Client Server’.

Gambar 1. Arsitektur WEB GIS

Gambar diatas menunjukan arsitektur minimum sebuah system Web GIS. Applikasi berada disisi client yang berkomunikasi dengan Server sebagai penyedia data melalui web Protokol seperti HTTP (Hyper Text Transfer Protocol). Applikasi seperti ini bisa dikembangkan dengan web browser (Mozzila Firefox, Opera, Internet Explorer, dll). Untuk menampilkan dan berinteraksi dengan data GIS, sebuah browser membutuhkan Pug-In atau Java Applet atau bahkan keduanya. Web Server bertanggung jawab terhadap proses permintaan dari client dan mengirimkan tanggapan terhadap respon tersebut. Dalam arsitektur web, sebuah web server juga mengatur komunikasi dengan server side GIS Komponen. Server side GIS Komponen bertanggung jawab terhadap koneksi kepada database spasial seperti menterjemahkan query kedalam SQL dan membuat representasi yang diteruskan ke server. Dalam kenyataannya Side Server GIS Komponen berupa software libraries yang menawarkan layanan khusus untuk analisis spasial pada data. Selain komponen hal lain yang juga sangat penting adalah aspek fungsional yang terletak di sisi client atau di server. Gambar berikut dua pendekatan yang menunjukan kemungkinan distribusi fungsional pada system client/server berdasarkan konsep pipeline visualization.

Gambar 2. Thin Vs Thick system pada Client Server

Pendekatan-1 : Thin Client : Memfokuskan diri pada sisi server. Hampir semua proses dan analisa data dilakukan berdasarkan request disisi server. Data hasil pemrosesan dikirimkan ke client dalam format HTML, yang didalamnya terdapat file gambar sehingga dapat dilihat dengan browser. Pada pendekatan ini interaksi pengguna terbatas dan tidak fleksibel

Pendekatan-2 : Thick / Fat Client : Pemrosesan data dilakukan disisi client, data dikirim dari server ke client dalam bentuk data vector yang disederhanakan. Pemrosesan dan penggambaran kembali dilakukan disisi client. Cara ini menjadikan user dapat berinteraksi lebih interaktif dan fleksibel.

Manajemen Data

Untuk melakukan menajeman data geografis paling tidak dibutuhkan sebuah DBMS (Databese Management System). Pemodelan berorientasi objek menjadi sangat dibutuhkan karena pemodelan basisdata relational tidak mampu melakukan penyimpanan data spasial. Pada analisis spasial system manajemen database memberikan beberapa keragaman. Ada beberapa keragaman applikasi yang dapat digunakan sebagai database seperti Oracle Spatial, PostgreSQL, Informix, DB2, Ingres dan yang paling popular saat ini adalah MySQL. Untuk mendapatkan pengembangan fungsional analisis pada level database beberapa DBMS telah mendukung procedural bahasa pemrograman. Oracle DBMS menawarkan dua kemungkinan untuk menghasilkan individual operation dilevel database. Yang pertama adalah PL/SQL sebuah procedural bahasa pemrograman. Yang kedua adalah Java Virtual Machine (JVM) untuk proses Java classes di level database.

Mendesain GUI

Untuk berinteraksi, berkomunikasi dan mendapatkan informasi perlu dirancang sebuah Graphical User Interface (GUI). GUI berinteraksi langsung dengan user. Karena informasi geografis biasanya sangat kompleks maka akan ditemui banyak kesulitan dalam pengarsipannya. Menciptakan aspek Dunia Virtual menjadi hal penting dalam mendesain GUI. Karakteristik untuk menciptakan dunia virtual adalah Level of Detail (LOD).

Gambar 3. Menciptakan Virtual World

Algoritma khusus dibutuhkan untuk mampu menampilkan se-invisible mungkin tampilan. Penggunaan PHP dan VRML (Virtual Reality Modeling Language) adalah sebuah ideal perancangan GUI untuk applikasi Web GIS. PHP menjadi bahasa yang paling popular untuk menciptakan web dinamis pada saat ini. VRML dikenalkan oleh Konsorsium Web3D untuk menghasilkan tampilan peta interaktif dalam web. PHP dapat menghasilkan banyak text informasi. Dalam PHP, salah satunya menjadi pengendali dari banyak informasi tersebut. Permintaan dikirimkan oleh VRML MIME (‘model/vrml’) dan kemudian menuliskan VRML nodenya. Server mengkomunikasikan semua kode PHP saat mengirimkan respon. Jadi pada line dimana kode JSP ditampilkan server mengirimkan kembali blank line kepada browser. Sangat perlu untuk memasukan header PHP dan VRML dan content type nya harus berubah sebelum VRML header ditentukan, hasil akhirnya bisa menjadi seperti dibawah ini :

<?php

Header (“Tipe-kontent : model/vrml”);

Echo “#VRML V2.0 utf8\n”;

?>

Contoh tersebut menggambarkan integrasi antara PHP dan VRML untuk membangun sebuah objek.

Detail Proses

Objek Geo Spasial terdiri dari informasi data spasial dan data non spasial. Informasi Spasial dapat divisualisasikan dengan mengkonversinya VRML dan data non Spasial ditampilkan secara dinamis di halaman HTML. Gambar berikut menunjukkan proses request data standart. Request memanggil desain dari PHP yang berinteraksi dengan database. Setelah menerima respon system mengikuti alur seperti pada gambar.

Gambar 4. Proses Request dan Respon

Database mengirimkan request data ke PHP, hasil respon dari request berupa format data dikirimkan kembali melalui browser. Disaat client melakukan request koneksi dilakukan ke DBMS, kemudian informasi spasial yang dipilih dari DBMS di convert kedalam bentuk VRML. Browser Plug In di sisi client menampilkan keluaran VRML sebagai keluaran menjadi peta. VRML juga menyediakan script yang memungkinkan sebuah proses disaat user mengklik objek. Melalui VRML ini request dikirimkan ke applikasi di server. Server menerima dan menterjemahkan menjadi informasi dan mengirimkanya ke HTML untuk di tampilkan ke Browser.

Untuk menerima data spasial dan non spasial dari DBMS dibutuhkan sebuah teknik yang mampu mengkomunikasikan antara client dan database pada server. Teknik seperti ini sudah tersedia di PHP, ASP, ASP.net, atau JSP. Pemilihan tekniknya disesuaikan dengan web Server yang digunakan. Detail arsitektur untuk menampilkan data GIS melalui web seperti pada gambar berikut :

Gambar 5. Arsitektut Publikasi Web GIS

Contoh Pemanfaatan Web GIS

Ketika terjadi Tsunami di Aceh bukti kehebatannya baru dapat kita analisa jika sudah ditampilkan kedalam bentuk peta. Gambar tersebut dapat memberikan banyak arti dan informasi lebih jika dilengkapi dengan data-data yang akurat.

Wilayah Uleule Sebelum Tsunami

Wilayah Uleule setelah Tsunami

Berikut ini adalah beberapa pengembangan applikasi GIS Web yang memungkinkan untuk dikembangkan :

Sektor

Gambaran

Contoh

Facility Management Manajemen Gedung Besar yang kompleks Organisasi ruangan seperti Kampus dan Rumah Sakit
Navigation Support Navigasi kendaraan Bermotor Location Base service yang menampilkan posisi saat ini dan
lingkungannya
Lingkungan Lingkungan perkotaan seperti karakteristik kebisingan, arah
angina, emisi, dll
Menampilkan pengurangan emisi
Bencana Alam Mengorganisasi aliran kerja penanganan bencana Mengarahkan team penyelamatan, menentukan dan mengontrol lokasi
pengungsian dengan real time data
Supply engineering Manajemen Supply Mengorganisasi jaringan

Referensi :

[1] Charter, Denny, Desain dan Applikasi GIS, PT. Elex Media Komputindo, Jakarta, 2004.

[2] Rahman, Abdul, Spasial Data Modelling For 3D GIS, Springer, Berlin, 2008

[3] Darmawan, Mulyanto, Pedoman Dasar Pembuatan Geospasial, Geospasial.com, 2006

Tulisan ini juga di Publikasikan di IlmuKomputer.com

Installasi Secara Manual di Ubuntu

Di Ubuntu proses install dan remove program/applikasi sangat mudah dilakukan dengan menggunakan Synaptic Package Manager apalagi kalo terkoneksi dengan internet. Tapi ada kalanya kita perlu melakukan instalasi sebuah applikasi secara manual yang juga bisa disebabkan karena Synaptic Manager gagal melakukan instalasi. Download paket-paket dalam format .deb, .rpm, .tar.gz, .sh, .bin, .exe, kemudian lakukan cara-caranya seperti berikut ini ,

Paket Debian (.deb)

Waktu kita mendownload paket dalam format .deb maka cara singkat untuk menginstallnyanya adalah doble klik kemudian akan muncul tampilan seperti berikut :

Klik Install Package maka package akan terinstall. Cara lainnya untuk menginstall paket debian adalah dengan menggunakan perintah dpkg. Cara mengunakannya adalah seperti berikut misalnya nama paketnya adalah linux-backports-modules-generic_2.6.22.14.21_i386.deb paket tersimpan di folder /media/sda2/Linux/Master/ maka masuk ke terminal sebagai root kemudian ketikan perintah seperti berikut ini :

dpkg -i /media/sda2/Linux/Master/linux-backports-modules-generic_2.6.22.14.21_i386.deb

Packet RPM (.rpm)

RPM adalah packet yang paling populer, paket ini adalah bawaan dari distribusi RedHad, Fedora Core, SUSE Linux dan Mandriva. RPM tidak di support oleh Ubuntu Packet Manager namun ada sebuah perintah yang dapat digunakan untuk mengubah format RPM menjadi format Deb yang di support oleh Ubuntu. Sebagai contoh kita akan mengubah file AdobeReader_enu-8.1.2-1.i486.rpm yang terletak di folder /media/sda2/Linux/Master/ . Masuk keterminal kemudian ketikan perintah berikut :

alien -i media/sda2/Linux/Master/ AdobeReader_enu-8.1.2-1.i486.rpm

Source Package (.tar, .tar.gz, .tgz, .tar.bz …)

Terkadang kita mendapatkan file paket dalam bentuk file berupa source code yang belum di compile. Untuk dapat mengkompile paket tersebut langkah pertamax yang dilakukan adalah meng extract file ke tempat tertentu. Cara yang paling mudah adalah dengan klik kanan filenya kemudian tekan Extract Here.

Kemudian masuk kedirektori tempat file tadi di extrak kita bisa mengeksekusi dengan script ./configure. Kemudian compile dengan perintah make. Seperti contoh sebuah file dengan nama xampp-linux-1.6.6.tar.gz berada di Desktop seperti ini /home/denny/Desktop. File tersebut di ekstrak di Desktop dengan nama folder lammp, maka masuk ke direktori hasil ekstrak tersebut cd /home/denny/Desktop/lammp. Kemudian ketik ./configure di terminal. Setelah itu compile dengan perintah make install. Untuk menghilangkan temporary files gunakan perintah make clean. Untuk uninstall program gunakan perintah make uninstall.

Shell Script Installer (.sh, .bash,..)

Kita bisa menjalankan script shell di terminal dengan perintah sh. Sebagai contoh jika script nya adalah test.sh dan terletak di Desktop maka kita bisa menginstallnya dengan perintah seperti berikut :

sh/home/denny/Desktop/test.sh.

Windows Executeable (.exe)

Jika kita ingin menginstall applikasi windows di Linux kita bisa melakukannya dengan menggunakan wine. Jika wine telah terinstall dengan baik maka untuk menggunakannya dilakukan dengan perintah wine diikuti lokasi file .exe yang akan di eksekusi. Seperti contoh file .exe dengan nama TennisTitansInstall.exe berada di direktori /home/denny/TennisTitans/. Ketikan perintah berikut di terminal :

wine /home/denny/Desktop/TennisTitans/TennisTitansInstall.exe

Kotak dialog instalasi seperti di Windows akan ditampilkan. Lanjutkan seperti biasa…