Menggunakan MS4W

Seperti yang telah dijelaskan pada artikel sebelumnya bahwa applikasi MapServer dapat dijalankan di Windows salah satunya dengan menggunakan sebuah paket applikasi yang disebut dengan MS4W. Download aplikasi MS4W di situs http://maptools.org. Jika menggunakan framework chameleon pilih versi 1.x (ms4w1.6) karena untuk MS4W versi 2.x menggunakan PHP5 yang tidak disupport dengan baik oleh Chameleon (chemeleon v 2.4.1). Setelah di download misalnya ms4w_1.6, selanjutnya extract isinya ke hardisk misalnya di D:\ (root saya di D karena pake dual boot) dan akan dibuat secara otomatis folder D:\ms4w. Kemudian eksekusi apache-install.bat. Ini adalah program untuk menjalankan service apache. Apache bawaan MS4W adalah Apache versi 2.0.50. Jika di Komputer sebelumnya sudah terinstall Apache atau webserver lain seperti IIS sebaiknya di uninstall terlebih dahulu atau di non aktifkan melalui Control Panel seperti berikut :

Buka browser dan ketikkan http://localhost kemudian akan muncul tampilan seperti berikut :

Jika proses instalasi masih gagal periksa kegagalannya pada log yang ada di D:\ms4w\Apache\logs.

PHP Mapscript

Ada sedikit konfigurasi yang dilakukan untuk mengaktifkan PHP/MapScript. Edit file php.ini yang berada di D:\ms4w\Apace\cgi-bin\php.ini kemudian tambahkan baris berikut pada Dynamic Extensions :

extension=php_mapscript_44.dll

Kemudian restart service apache dengan mengeksekusi apache-restart.bat.

Untuk memriksa instalai PHP/MapScript buat script PHP berikut

<? php

echo ms_GetVersion( ) ;

?>

Simpan script tersebut dengan nama msinfo.php dan simpan di lokasi D:\ms4w\Apache\htdocs. Kemudian eksekusi script tadi melalui browser dengan mengetikan http://localhost/msinfo.php jika berhasil maka akan muncul tampilan seperti berikut :

MapLab dan Chameleon

MapLab digunakan untuk mempermudah membangun applikasi WebGis. Applikasi ini bisa di download di http://maptools.org/maplab/ untuk download maplab 2.2.1 klik disini. Maplab menggunakan Java applet ROSA jadi membutuhkan Java Runtime Environtment (http://www.maptools.org/rosa/). Download file j2re-1_4_2_06-windows-i586-p.exe.

Download chameleon_ms4w-2.4.1-20060906.zip dan maplab_ms4w-2.2.1.zip. Kemudian install JRE install dengan opsi Typical.

Setelah JRE terinstall ekstrak file yang ada di chameleon_ms4w-2.4.1-20060906 di lokasi D:\ms4w\apps, juga di D:\ms4w\httpd.d dan D:\ms4w\apache\htdocs. Kemudian buka browser dan ketikkan http://localhost/maplab

Tahapan untuk instalasi MS4W selesai…

Perkembangan Web Programming

PHP

PHP adalah akronim untuk Hypertext Preprocessor merupakan script bahasa komputer yang didesain untuk menghasilkan halaman web dinamis. Script tersebut dapat digunakan dalam interface command line tapi juga bisa digunakan pada applikasi grafis standalone.

PHP pertama kali di temukan oleh Rasmus Lerdorf pada tahun 1995 kemudian standart pengembangan PHP dilakukan oleh PHP Group. Lisensi yang digunakan pada PHP berkiblat pada Free Software nya Free Software Foundation.

PHP adalah script bahasa pemprograman yang paling banyak digunakan untuk pengembangan applikasi berbasis web karena script PHP dapat di masukan ke dalam HTML. Pada sebuah web server, kode PHP dapat menjadi sebuah masukan (input) untuk menghasilkan keluaran (output) berupa halaman web. Hal ini dapat dilakukan pada sebagian besar web server dan juga pada sebagian besar sistem operasi yang memiliki platform berbeda. PHP telah di install di lebih dari 20 millar websites dan lebih dari 1 milyar server. Silakan kunjungi web Rasmus Lerdorf’s penemu awal PHP.

MySQL

MySQL adalah sistem manajemen database SQL yang Open Source dan paling populer saat ini yang multithreaded, multi-user SQL database managemen sistem (DBMS). Ulf Micheal Widenius adalah penemu awal versi pertama MySQL kemudian pengembangan selanjutnya dilakukan oleh perusahaan MySQL AB. MySQL AB adalah sebuah perusahaan komersial yang didirikan oleh para pengembang MySQL. MySQL sudah digunakan lebih dari 11 millar instalasi saat ini. Informasi-informasi terbaru mengenai MySQL dapat diperoleh dengan mengunjungi websitesnya di http://www.mysql.com/.

Berikut ini adalah pengembangan-pengembangan yang terjadi pada MySQL :

1. Release pertama MySQL dilakukan pada 23 May 1995

2. Versi Windowsnya di release pada 8 Januari 1998 untuk Windows 95 dan NT

3. Versi beta 3.23 dikenalkan pada Juni 2000 dan releasenya pada Januari 2001

4. Versi 4.0 beta dikenalkan pada Agustus 2002 dan direlease pada Maret 2003

5. Versi 4.1 beta dikenalkan pada Juni 2004 dan di release pada Oktober 2004

6. Versi 5.0 beta dikenalkan pada Maret 2005 dan di release pada Oktober 2005

7. Versi 5.1 saat ini sedang dalam tahap re produksi sejak November 2005.

8. MySQL untuk Sun Microsystems dikenalkan pada 26 February 2008.

Seorang administrator database MySQL biasanya menggunakan tools command line seperti perintah mysql atau msqladmin. Juga dapat mendownload tools GUI administration untuk MySQL seperti MySQL Administrator atau MySQL Query Browser. Kedua paket tersebut biasanya disebut dengan MySQL GUI Tools. Kita juga mengenal phpMyAdmin yakni software yang free merupakan interface berbasis web untuk inplementasi MySQL pada PHP. Informasi lebih lanjut dapat menghubungi situs MySQL AB Team, atau Ulf Micheal Widenius

AJAX

Ajax adalah singkatan dari asynchronous Javascript and XML juga merupakan kelompok yang terkait dengan teknik pengembangan web interaktif. Ajax bukanlah bahasa programming, Ajax adalah teknik lintas platform yang dapat digunakan pada sistem operasi yang berbeda, arsitektur komputer yang berbda dan sampai pada web browser yang berbeda berdasarkan pada standart opensource seperti JavaScript dan DOM. Jesse James Garrett adalah orang yang memberikan nama Ajax pada tulisannya yang berjudul Ajax : A New Approach to Web Applications yang dipublikasikan pada 18 Oktober 2005.

Perbandingan Model Aplikasi Web Tradisional dengan Model Web Ajax

Artinya Ajax sebenarnya hanya sebuah nama, sebelumnya Google map telah menggunakan applikasi pada Ajax sebelum Ajax dijadikan sebagai nama. Ajax dibangun dari teknologi yang saling terkait yakni (XHTML, CSS, DOM, XML, JavaScript) yang digunakan dalam pengembangan applikasi web dinamis. Silakan kunjungi websites Jesse James Garrett.

jQuery

jQuery adalah sebuah library pada JavaScript yang mengatur interaksi antara JavaScript dan HTML. Di release pertama kali pada Januari 2006 di BarCamp Oleh John Resig. jQuery memiliki dua lisensi yakni dibawah Lisensi MIT dan Lisensi GNU Public License. jQuery adalah free Software dan Open Software. jQuery terdiri dari file JavaScript didalamnya terdapat DOM, Event, Effect dan Fungsi Ajax.

jQuery terdiri dari fitur-fitur berikut :

1. DOM element selection

2. DOM transversal and modification (termasuk support pada CSS 1-3 dan basic XPath)

3. Events

4. CSS manipulasi

5. Effek dan animasi

6. Ajax

7. Extensibility

8. Utiliti seperti browser

9. JavaScript Plugins

Zend Framework

Zend Framework adalah open source, aplikasi web objek oriented yang di implementasikan pada PHP 5 dan berlisensi dari New BSD License. Zend Framework yang sering disebut dengan ZF dikembangkan dengan tujuan mempermudah pengembangan web.

ZF mulai dikenal ditahun 2005 bersamaan juga dengan munculnya beberapa framework baru seperti Ruby on Rails dan Spring Framework yang mulai populer dikalangan pengembang web. ZF dipublikasikan pertama kali pada Zend Conference.

Zend Framework memberikan komponen yang dibutuhkan dalam pengembangan web termasuk didalamnya adalah authentikasi dan authorisasi melalui access control list (ACL), konfigurasi applikasi, data caching, filtering/validasi data user, internationalization, fungsi interface ke AJAX, e-mail, Lucene format searc index dan queri, dan Google Data API.

Phyton

Python ditemukan pertama kali oleh Guido von Rossum pada tahun 1990 dimana nama tersebut terinspirasi dari pertunjukan sirkus. Selanjutnya Phyton dikembangkan secara sukarela oleh para volentir dan dapat diperoleh secara gratis dari Python Software Foundation. Versi terakhir Python yang di release pada september 2006 adalah versi 2.5.

Phyton memiliki banyak varian. Phyton yang terdapat pada Python Software Foundation ditulis dengan bahasa C. Belakangan ini python juga di tulis berbasis java yang disebut dengan Jython. Kemudian IronPython adalah Phyton dalam versi C# yang terdapat pada applikasi .Net dan mono platform.


Install MapServer

Mapserver dapat dijalankan pada banyak platform Sistem Operasi. Ada beberapa Sistem Operasi dan prosesor yang dapat menjalankan Mapserver dengan baik. Beberapa Sistem Operasi tersebut adalah :

  • RedHat/SuSe/Debian/Mandrake Linux, versi 6 sampai 9

  • Solaris

  • Mac OS X

  • Vmware yang dijalankan di Windows dan Linux seperti Virtual Box

  • FreeBSD

  • SCO Open Server

  • SGI IRIX

  • Windows 2000, XP, 98, 95

Kecepatan prosesor minimal 120 MHz dengan memori paling tidak 64 MB.

Mandapatkan File Binary MapServer

Windows

MapServer menyediakan Paket file Binary untuk digunakan pada Sistem Operasi keluaran Microsoft. Paket file tersebut disimpan dalam bentuk kompres file dan dapat didownload pada websites MapServer (http://mapserver.gis.umn.edu/win32binaries.html) atau di MapTools.org di link berikut http://dl.maptools.org/dl.

Khusus MapTools.org ini memberikan paket yang mudah untuk digunakan dan sangat dianjurkan bagi yang baru ingin memulai MapServer menggunakan Windows. Paket di sini disebut dengan MapServer For Windows (MS4W) dapat didownload lokasi ini http://maptools.org/ms4w/ . MS4W ini dikembangkan oleh DM Solutions Group di Ottawa Canada. Sebuah perusahaan yang melibatkan diri dalam mengembangan, implementasi, dan support teknologi MapServer. Paket MS4W merupakan file ZIP yang sangat mudah digunakan karena satu paket dengan Apache Web Server. Tidak perlu banyak konfigurasi untuk menginstallnya cukup ekstrak file ZIP tersebut di hardisk misalnya C:\. Secara otomatis akan dibuat subfolder C:\MS4W\. Untuk memulai aplikasi webserver klik file exe Apache dari C:\ms4w\apache\bin\apache.exe. Buka browser masuk ke http://localhost kita akan disambut dengan halaman selamat datang ke MS4W. Artinya bahwa apache sudah aktif dan dan berjalan dengan baik. Komponen-komponen yang ada pada MS4W (MapServer For Windows) adalah :

Komponen

Gambaran

Apache

Web Server

PHP

Script

mapserv.exe

MapServer CGI program

php-mapscript.dll

PHP/ MapScript libraries

proj.exelcs2cs.exe

Utiliti dan libraries PROJ.4 proyeksi

shp2img.exelshptree.exelscalebar.exe

Utiliti MapServer command line

ogr2ogr.exelogrinfo.exeloggrtindex.exe

Utiliti OGR command line

Linux binary

Projectnya dikenal dengan Free Open Source Software GIS Suite (FGS) yang dapat dilihat di http://maptools.org/fgs/. Project ini memberikan paket-paket yang dibutuhkan seperti file binaries, libraries, dan file-file lain yang mendukung applikasi FGS. Applikasi-apliksi tersebut didesain untuk dapat bekerja dalam lingkungan Apache, PHP, dan MapServer. Ada sekitar empat Distro Linux yang memasukan MapServer sebagai applikasinya yakni :

DebianGIS

Applikasi GIS dengan support MapServer yang dikembangkan berdasarkan Distro dengan basis Debian dapat dilihat pada http://pkg-grass.alioth.debian.org/cgi-bin/wiki.pl

HostGIS

Applikasi ini memasukan MapServer, PostGIS, PHP, Phyton, Perl, dan beberapa standard Applikasi GNU/Linux. Applikasi ini bebasis distro Slackware Linux dapat dilihat di http://hostgis.com/linux.html

STARCD

Applikasi GIS berbasis pada distro Mandrake Linux yang mempaketkan MapServer, QGIS, dan applikasi GIS lainnya seperti GRASS GIS. Dapat dilihat di http://rslultra.star.ait.ac.th/~yann/starcd/.

GIS-Knoppix

Applikasi GIS yang berbasis pada distro Knoppix Linux. Dapat dilihat pada http://www.sourcepole.com/sources/software/gis-knoppix/.

Versi Linux RPM

File dalam bentuk RedHat Package Manager dapat diperoleh pada bebersa websites. Berikut adalah beberapa diantaranya :

LinGIS

LinGIS adalah paket RPM yang di khususkan untuk Suse. Dapat dilihat di http://lingis.org

Mapping Hack untuk Fedora

Merupakan file RPM yang dikhususkan untuk distro Fedora dapat dilihat di http://mappinghacks.com/rpm/.

Versi Debian Linux

Untuk paket MapServer versi file debian (.deb) dapat di lihat repository nya di http://agrogeomatic.educagri.fr/debian/.

Mac OS X

Instalasi paket MapServer untuk Mac OS X dapat dilihat di http://www.serverlogistics.com/mapserver.php. Informasi lebih lanjut juga dapat di lihat di link berikut http://webpages.charter.net/kyngchaos/macosx/mapservinstall.html.

Meng-Compile Source Code MapServer

Sebagai software opensource MapServer memungkinkan bagi kita untuk melakukan modifikasi source code sesuai dengan keinginan kita dan baru kemudian melakukan compile sendiri. Tapi jika ‘sulit’ melakukan modifikasi sendiri kita bisa saja langsung meng compile filenya dari source code. Berikut ini akan dicontohkan melakukan compile MapServer menggunakan Linux. Tools dan perintah dijalankan pada command line atau shell consule. Untuk beberapa Sistem Operasi lain tergantung dari tools yang digunakan pada Sistem Operasi tersebut. Disini diasumsikan dengan menggunakan compiler C seperti GCC dan tools configurasi seperti autoconf dan automake.

Download

Surce code yang dapat di download pada MapServer websites adalah di link http://mapserver.gis.umn.edu/dload.html. Setelah paket tersebut selesai di download maka ekstrak atau unzip isi file tersebut disini menggunakan perintah tar :

# tar -xzvf mapserver-4.4.0.tar.gz

File yang di Unzip akan membuat struktur subfolder yang berisi semua kode. Masuk kedirektori tersebut dan lakukan konfigurasi.

Konfigurasi Source

Dibutuhkan konfigurasi untuk mengkompile program MapServer. Diperlukan tahap persiapan untuk melakukan kompilasi source code. Disini kita menggunakan program configure tanpa menyebutkan beberapa pilihan dan menggunakan setting default. Jalankan perintah configure seperti pada contoh dibawah ini :

# ./configure

loading cache ./config.cache

checking for gcc… (cached) gcc

checking whether the C compiler (gcc ) works… yes

checking whether the C compiler (gcc ) is a cross-compiler… no

checking whether we are using GNU C… (cached) yes

checking whether gcc accepts -g… (cached) yes

checking for c++… (cached) c++

checking whether the C++ compiler (c++ ) works… yes

checking whether the C++ compiler (c++ ) is a cross-compiler… no

….

checking where PNG is installed…

checking for png_init_io in -lpng… no

PNG (libpng) library cannot be found, possibly needed for GD

checking where libXpm is installed…

checking for XpmFreeXpmImage in -lXpm… no

XPM (libXpm) library cannot be found, possibly needed for GD

checking where libiconv is installed…

checking for libiconv_open in -liconv… no

libiconv library cannot be found, possibly needed for GD

checking for GD 2.0.12 or higher…

checking for gdImageSetAntiAliased in -lgd… yes

using libgd 2.0.12 (or higher) from system libs

(-L/usr/lib -lgd -ljpeg -lfreetype -lz ).

….

checking whether we should include PROJ.4 support…

PROJ.4 support not requested.

checking whether we should include thread safe support…

thread safe support disabled.

checking whether we should include ESRI SDE support…

ESRI SDE support not requested.

checking whether we should compile in MPATROL support…

MPATROL support not requested.

checking whether we should include OGR support…

OGR support not requested.

checking if GDAL support requested… no

checking if PostGIS support requested… no

checking if MyGIS support requested… no

checking if OracleSpatial support requested… no

checking if MING/Flash support requested… no

checking whether we should include WMS Server support…

OGC WMS Compatibility not enabled (PROJ.4 is required for WMS).

checking whether we should include WFS Server support…

OGC WFS Server support not requested.

checking whether we shou install/erase scriptlets from package(s)

ld include WMS Client Connections support…

OGC WMS Client Connections not enabled (PROJ.4 and libcurl required).

checking whether we should include WFS Client Connections support…

OGC WFS Client Connections not enabled (PROJ.4, libcurl and OGR required).

….

updating cache ./config.cache

creating ./config.status

creating Makefile

Melakukan Kompilasi

Setelah proses konfigurasi selesai maka kita dapat memulai melakukan kompilasi program. Untuk melakukan kompilasi gunakna perintah make. Setelah menjalankan make kita akn melihat beberapa informasi pada layer. Setelah proses kompilasi selesai dan tidak ditemukan adanya pesan kesalahan maka kita akan kembali ke command prompt. Berikut ini adalah contoh mencompile dengan proses make.

# make

gcc -c -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG

-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -I/usr/include maptemplate.c -o maptemplate.o

gcc -c -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG

-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -I/usr/include mapbits.c -o mapbits.o

[ *………80+ lines removed………..* ]

gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG

-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -I/usr/include sortshp.o

-L. -lmap -lgd -L/usr/lib -lgd -ljpeg -lfreetype -lz -ltiff -ljpeg

-lfreetype -lz -ljpeg -lm -lstdc++ -o sortshp

touch mapscriptvars

pwd > mapscriptvars

echo -DIGNORE_MISSING_DATA -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG

-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT >> mapscriptvars

echo -I. -I/usr/include >> mapscriptvars

echo -L. -lmap -lgd -L/usr/lib -lgd -ljpeg -lfreetype -lz -ltiff -ljpeg

-lfreetype -lz -ljpeg -lm -lstdc++ >> mapscriptvars

echo >> mapscriptvars

gcc -c -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG

-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -I/usr/include tile4ms.c -o tile4ms.o

gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG

-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -I/usr/include tile4ms.o

-L. -lmap -lgd -L/usr/lib -lgd -ljpeg -lfreetype -lz -ltiff -ljpeg

-lfreetype -lz -ljpeg -lm -lstdc++ -o tile4ms

#

Setelah kompilasi selesai maka lakukan instalasi dengan menggunakan perintah make install seperti pada contoh dibawah ini :

# make install

***** MapServer Installation *****

To install MapServer, copy the ‘mapserv’ file to your web server’s cgi-bin

directory.

If you use MapScript then see the documentation for your specific MapScript

version for installation instructions.

Perintah make akan menghasilkan file mapserv executable. Kita dapat mencoba file mapserv executable dengan menambahkan parameter –v seperti pada contoh dibawah ini :

# ./mapserv -v

MapServer version 4.4.0 OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP

SUPPORTS=FREETYPE INPUT=TIFF INPUT=JPEG INPUT=SHAPEFILE

Contoh diatas menunjukan beberapa format input dan output data yang dipilih saat melakukan instalasi. Kita dapat menjalankan mapserv dengan mengetikan perintah ./mapserv tanpa memberikan parameter –v seperti pada contoh berikut :

# ./mapserv

This script can only be used to decode form results and

should be initiated as a CGI process via a httpd server

atau menjalankan program mapserv melalui browser dengan mengetikan perintah berikut :

http://localhost/cgi-bin/mapserv

akan muncul tampilan seperti berikut pada browser :

Tampilan seperti diatas menunjukan bahwa mapserv telah berhasil di install dan berjalan dengan baik.

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 Sistem Client-Server

Pendahuluan

Diawal perkembangannya perangkat komputer adalah barang yang mahal dan mewah. Pengembangan dan pengoperasiannya rumit dan terpusat. Namun seiring dengan berjalannya waktu yang tadinya proses tersentralisasi dikembangakan menjadi proses terdistribusi sampai pada end user. Hal ini sangat dipengaruhi oleh adanya perkembangan teknologi LAN (Local Area Network) di pertengahan tahun 1980 an. Dengan LAN sebuah PC dapat melakukan komunikasi satu dengan lainnya dan dapat saling berbagi resource baik perangkat keras ataupun database. LAN mampu memberikan interkonektivitas yang tidak pernah ada sebelumnya. Untuk dapat melakukan hal tersebut dibutuhkan sebuah komputer pemproses yang memfasilitasi dan melayani proses sharing semua resource yang ada. Perangkat ini disebut dengan Server. Untuk melakukan Sharing File biasanya dibutuhkan sebuah File Server begitu juga untuk sharing Printer dibutuhkan sebuah Printer Server. Namun ternyata hal seperti ini belumlah cukup. Jumlah PC yang bertambah dengan sangat cepat seiring dengan berkembangnya sebuah organisasi. Jumlah end user dan client juga bertambah banyak. Kebutuhan akan perangkat menjadi bertambah pula, tidak hanya membutuhkan sebuah printer server, juga dibutuhkan server-server lainnya seperti server pengolahan gambar, server pengolahan suara, dan lainnya. Server-server ini dengan database dan applikasinya harus dapat diakses oleh beberapa PC, ataupun diakses oleh sebuah komputer mainframe melalui sebuah LAN. Sistem seperti ini disebut Sistem Client Server seperti digambarkan pada Gambar 1 dibawah ini.

Gambar 1. Skema Sistem Client-Server

Komponen dan Fungsi Sistem Client Server

Gambaran umum konfigurasi Client Server diperlihatkan pada gambar 2. Dengan pendekatan Client Server setiap PC dapat melakukan secara independen sebuah pemrosesan lokal dan mensharing perangkat enterprise melalui LAN. Untuk kasus yang lebih luas kemampuan akses dapat dilakukan melalui MAN (Metropolita Area Network) atau WAN (Wide Area Network). Sebuah database dan program applikasi enterprise misalnya diletakan pada sebuah server dimana setiap end user dapat melakukan akses melalui Client Processor, LAN dan Server seperti pada gambar 3.

Gambar-2 Host Sistem dan Sistem Client Server

User

User disini adalah end user yang mengakses client untuk mendapatkan sebuah layanan. End user bisa saja seorang manager perusahaan, professional, karyawan di sebuah perusahaan, atau pelanggan. Ada timbul sedikit kerancuan. Pelanggan dalam sebuah bisnis atau perdagangan disebut dengan client, tapi client ini adalah manusia, jangan dibingungkan dengan istilah client pada pemrosesan komputer. Dapat kita katakan sebuah user atau end user adalah ketika melakukan proses akhir menggunakan sistem client server.

Gambar 3. Komponen Sistem Client Server

Client

Client dapat berupa sebuah pemproses yang powerful atau dapat juga berupa terminal tua dengan kemampuan proses yang terbatas. Secara mendasar client adalah sebuah PC dengan sistem operasinya sendiri. Sebagian besar pemrosesan banyak dilakukan di sebuah server dimana bagian-bagian dalam lingkup pekerjaannya ditentukan oleh program komputer, inilah yang menyebabkan sistem client server berbeda dengan sistem transaksi tradisional. Sistem client server memungkinkan sebuah teknologi dan applikasinya digunakan bersamaan. Applikasi disini termasuk didalamnya adalah pemroses pesan seperti e-mail, pemproses file lokal seperti DBMS untuk browsing dan penghitungan, atau sharing resource seperti sistem image processing, sistem optical character, sistem advance grafic processing, plotter warna, atau sebuah printer. Perangkat-perangkat ini bisa saja berasal dari berbagai vendor yang ada. Untuk memfasilitasi query pemprosesan dari client, sebagian besar sistem client server menggunkaan Structured Query Language (SQL) yang merupakan struktur bahasa tingkat tinggi. SQL dengan database relationalnya adalah standar de facto untuk hampir sebagian besar sistem client server. Salah satu komponen terpenting sistem client server adalah User Interface (UI), yang digunakan user untuk berkomunikasi. Bagi user yang seorang programmer, UI tidak mesti user friendly, tapi untuk end user yang bukan programmer sangat dibutuhkan UI yang user friendly. Dibutuhkan Graphical User Interface (GUI) untuk end user karena GUI menampilkan grafis untuk melakukan akses dengan icon-icon tanpa perlu memasukan perintah pemrograman. Kedepannya GUI tidak hanya digunakan untuk menggantikan akses perintah pemprograman tapi juga digunakan untuk grafik, voice, video, animasi, untuk selanjutnya menjadi sebuah teminal multimedia.

Network dan Transmisi

Server dan client dapat terkoneksi dengan sebuah media transmisi. Media transmisi ini dapat berupa kabel, wireless, atau fiber. Dengan media ini memungkinkan sebuah perusahaan untuk melakukan enterprice network lebih besar dalam sebuah workgroup atau departemen. Untuk itu dibutuhkan interoperability sebagai contoh operasi dan pertukaran informasi yang heterogen melalui berbagai perangkat software dalam jaringan. Esensinya adalah keterbukaan dalam melakukan pertukaran baik komponen dan software yang berasal dari vendor yang berbeda-beda. Dengan interoperability baik vendor dan customer akan mendapatkan keuntungan.

Interoperability memberikan dampak pada arsitektur jaringan. Awal sebuah arsitektur jaringan adalah SNA namun arsitektur ini bersifar proprietary dan tidak terbuka dengan vendor lainnya. Kemudian sebagian besar orang beralih ke OSI yang di standarkan oleh ISO (International Standards Organization). OSI banyak di gunakan di Eropa namun kurang berkembang di Amerika Serikat. Di Amerika Serikat muncul TCP/IP yang kemudian di dukung oleh Unix User Group.

Servers

Konektivitas adalah hal yang terpenting namun bukan satu-satunya faktor untuk mendapatkan efisiensi dan efektivitas sharing resource yang dimiliki. Dibutuhkan sebuah perangkat yang memiliki kemampuan mengontrol software, menjalankan program applikasi, dan mengakses database dengan mudah dan cepat. Untuk itulah diperlukan sebuah Server. Sebuah Server harus mendukung spesifikasi yang mendukung resource sharing seperti Network Server Operating System, Multiple User Interface, GUI (Graphic User Interface), dialog oriented cleint – server languange seperti SQL dan database arsitektur. Saat ini resuorce bisa tersebar secara spasial tidak hanya berada dalam batasan sebuah negara namun sudah antar negara yang membutuhkan interkoneksi yang tinggi.

Beberapa software dapat diperoleh dari vendor atau software house. Software tersebut bisa bersifat mainframe centric (sentral) atau PC server centric. Namun selain semua hal yang tersedia pada paket software tersebut tetap dibutuhkan in house sofware development. Juga perlu untuk mengintegrasikan sistem client server dengan sistem informasi yang telah ada dan menggunakan sistem tersebut tidak hanya sebagai end user tapi juga bekerja diantara group end user.

Server melakukan pemprosesan mirip dengan pemrosesan yang ada disisi client. Namun ada sedikit perbedaan, biasanya sebuah server tidak mempunyai User Interface karena didesain untuk networking, memproses database dan memproses applikasi. Pembeda antara pemrosesan client dan server ada pada tanggungjawab dan fungsi dari pemrosesan yang dilakukan. Sebagai contoh sebuah server dapat bertindak sebagai repository dan penyimpanan informasi dalam kasus pada file server. Tipe dari Server tergantung pada kebutuhan dan tujuan sistem. Dalam beberapa kasus sebuah server harus mampu melakukan multitaskting (membentuk multi fungsi secara simultan), menggunakan multiple operating system, lebih portable, memiliki skalabilitas, dan memiliki waktu respon yang cepat untuk melakukan teleprosesing. Dengan kapabilitas seperti itu menjadikan server memiliki harga yang relatif mahal. Penyebab mahalnya harga server adalah :

  1. Network Management

  2. Gateway function termasuk akses keluar dan e-mail publik

  3. Penyimpanan

  4. File Sharing

  5. Batch processing

  6. Bulletin Board access

  7. Facsimile transmission

Pemrosesan Database

Beberapa prinsip pemrosesan data pada server termasuk didalamnya adalah integritas, sekuriti, dan recovery data. Enterprise data yang dibutuhkan oleh sebuah perusahaan membutuhkan sebuah integrasi, pengaksesan data yang di kendalikan dan kelola dengan securiti yang baik, dan recovery data dapat dilakukan jika terjadi kegagalan sistem.

Beberapa data management dilakukan secara otomatis. Biasanya dilakukan oleh DBMS yang berada di Server yang mengontrol akses diantara pemprosesan multiple sistem dan mengintegrasikan akses data melalui network management.

Pemrosesan Applikasi

Data digunakan oleh program applikasi yang mana sebagian besarnya berada di server. Ada beberapa applikasi client server yang disediakan oleh vendor. Tools applikasi ini menjadikan pengembangan sistem client-server menjadi lebih kompetitif. Pengembangan applikasi client-server dapat dilakukan dengan beberapa cara yakni :

  1. Fungsi pemprosesan didistribusikan diantara client dan server. Porsi dari client dijalankan oleh end user dengan menggunakan bahasa pemrograman database seperti SQL yang memberikan semacam request data dan kemudian mengekstrak data tersebut dari lokasinya dimana semua proses tersebut dikontrol oleh sistem operasi.

  2. UI dan GUI menjadi lebih sering digunakan karena tingkat kemudahan penggunaan menjadi lebih penting.

  3. Digunakannya Advance networking seperti LAN

  4. Code generator juga digunakan, Metodelogi Objeck Oriented akan menambah tingkat penggunan.

  5. Tools pengembangan seperti SQL Server, FLOWMARK, Progress, ObjectView, Oracle menjadi sangat diperlukan

Ketika sebuah applikasi diproses dan permintaan akan data dilakukan oleh client, maka hasilnya dikirimkan melalui LAN. Hasil dari applikasi tersebut dapat saja dilakukan perubahan bentuk untuk mendapatkan tampilan yang lebih baik. Semuanya ini dilakukan di sisi client oleh end user melalui UI (User Interface). Diagram skematik pendekatan client server ditunjukan pada gambar 4.

Gambar 4- Applikasi Sistem Client Server

Keuntungan Sistem Client Server

  1. Mengurangi tanggung jawab dan biaya overhead

  2. Kontrol biaya operasional dan pengembangan yang lebih mudah

  3. Waktu respon yang lebih baik dalam pemrosesan.

  4. Akses data yang lebih besar bagi perusahaan. Sistem Client server mengamankan transaksi data dan menyimpannya pada server untuk kemudian dapat di sharing, dimanipulasi, dianalisa secara lokal.

  5. Memungkinkan pendistribusian proses dari tersentralisasi menjadi desktop computing

  6. Menawarkan kooperatif prosesing antara individu dan group antar departemen, geografis dan zona waktu.

  7. Rewriting software pada sistem client server memberikan keuntungan untuk mendapatkan sistem yang terintegrasi dan memberikan efisiensi.

  8. Menawarkan friendlu interface pada end user khususnya pada knowledge worker dan customer.

  9. Keterlibatan yang lebih untuk end user pada implementasi IT.

  10. Arsitektur terbuka dan sistem terbuka memberikan fleksibilitas dalam memilih konfigurasi hardware yang berbeda, network, dan DBMS dari berbagai vendor.

Hambatan Implementasi Sistem Client Server

Organisasi

  1. Skill personel yang kurang memadai untuk implementasi sistem client server.

  2. Anti perubahan terhadap teknologi baru.

  3. Biaya konversi

  4. Membutuhkan koordinasi dan kontrol yang lebih pada end user.

Teknologi

  1. Membutuhkan infrastruktur LAN dan WAN

  2. Skill dan peralatan yang belum memadai

  3. Belum adanya pemahaman dan pengalaman dalam merencanakan sistem client server

  4. Tidak tersedianya produk dan tools pengembangan sistem client server

  5. Sedikitnya applikasi client server

  6. Sedikitnya standar nasional dan internasional untuk sistem client server.

Artikel ini Disadur dari : The Client Server Paradigm, Bill Foy, Vice President of Micro Systems, 1998