INTEGRASI DATA SPASIAL MENGGUNAKAN TEKNOLOGI JAVA RESTFUL WEB SERVICES (JAX-RS) UNTUK PENGEMBANGAN APLIKASI SISTEM INFORMASI GEOGRAFIS DENGAN SISTEM BASIS DATA RELASIONAL MAJEMUK Khabib Mustofa1, Adi Nugroho2 Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Gadjah Mada 2 Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana 1 Jl. Sekip Utara Bulak Sumur, Jogyakarta 2 Jl. Diponegoro 52-60, Salatiga e-mail:
[email protected],
[email protected]
1
Abstract Right now almost GIS (Geographic Information System) applications use spatial data type (special data type that is relatively new to the relational database systems today), which are stored in different systems/computer. The objective of this paper is the discussion of methods and techniques that can be used to integrate spatial data stored in many different systems using the latest Java Web Services technology, namely Restful Web Services (API for JAX-RS/Java RESTful XML Web Service). The study was conducted using the database system SQL Server 2008 and Oracle 11g. However, a similar concept could certainly be used for integration of spatial data stored in systems other relational database. Keywords: GIS Web Service, RESTful Web Service.
1. PENDAHULUAN Pada awalnya, aplikasi-aplikasi GIS (Geographic Information System) (atau yang selanjutnya akan kita sebut sebagai SIG [Sistem Informasi Geografis] saja), pada dasarnya merupakan aplikasi-aplikasi yang bersifat mandiri (yang berjalan di komputer desktop) [1]. Selanjutnya, karena berkembangnya teknologi jaringan komputer dan Internet dan berkembangnya juga sistem-sistem operasi serta aplikasi-aplikasi yang dapat berjalan di atasnya, beberapa aplikasi SIG yang ada selanjutnya berkembang menjadi aplikasi-aplikasi yang mampu berjalan di atas jaringan komputer dan Internet [1]. Dalam hal ini, seringkali data spasial yang diperlukan untuk mengembangkan aplikasi SIG yang bersifat terpadu/terintegrasi berada di berbagai komputer yang berbeda dan seringkali tentunya juga berada di dalam berbagai sistem basis data relasional yang berbeda [1,2].
Di masa yang lalu, sistem basis data relasional (RDBMS-Relational Database Management System) yang mendasari aplikasiaplikasi SIG menggunakan tipe-tipe data yang bersifat baku (misalnya text, integer, char, varchar2, dan sebagainya) [3,4] sehingga sebagian besar visualisasi data mutlak dilakukan pada aras aplikasi SIG, dimana hal ini membutuhkan algoritma-algoritma yang sangat kompleks. Saat ini teknologi sistem basis data relasional sudah berkembang lebih lanjut, sehingga sistem-sistem basis data masa kini pada umumnya memiliki tipe-tipe data khusus yang memang digunakan untuk menyimpan data yang bersifat spasial (keruangan), misalnya tipe data geography dan geometry di SQL Server 2008 [3] dan tipe data SDO_GEOMETRY dan turunanturunannya di Oracle 11g [4], dimana hal ini secara umum akan mengurangi kompleksitas algoritma di aras aplikasi SIG. Aplikasi SIG tentu saja merupakan aplikasi yang sangat kompleks, yang menyangkut di dalamnya teknik-teknik dan algoritma-algoritma visualisasi data spasial dan di dalamnya juga terkait perangkat-perangkat keras dan perangkat lunak pemetaan, pencitraan jarak jauh (remote sensing), pemetaan tanah (land surveying), model-model matematika dan geografi, dan sebagainya[1]. Dalam suatu SIG terpadu/terintegrasi, yang berjalan di atas jaringan komputer dan/atau Internet -seperti telah disebutkan sebelumnya- data yang diperlukan untuk visualisasi mungkin saja berada di berbagai komputer yang berbeda. Konteks ‘berada di berbagai komputer yang berbeda’, dalam kasus yang umum terjadi, adalah berada di dalam sistem basis data relasional (RDBMS) yang berbeda. Dalam hal ini, tentu saja harus ada teknik tertentu yang dapat digunakan sehingga data yang berada di berbagai sistem basis data yang berbeda itu dapat diintegrasikan sedemikian rupa sehingga pemrogram bisa mengembangkan suatu aplikasi SIG terpadu. Teknik/teknologi yang dimaksud adalah Web Services [5,6,7,8].
Integrasi Data Spasial … (K. Mustofa, A. Nugroho)
111
Dalam hal ini, seperti juga teknologi informasi pada umumnya, teknologi Web Services juga berkembang pesat [7]. Dalam tulisan ini, kami mencoba mengeksplorasi berbagai tipe data spasial yang dimiliki oleh sistem basis data SQL Server 2008 dan Oracle 11g dan kemudian mengintegrasikannya ke dalam suatu SIG menggunakan teknologi Java Web Services yang terbaru, yaitu Java RESTful Web Service (JAXRX). Selanjutnya, hasil integrasi data menggunakan Java RESTful Web Service itu bisa divisualisasikan oleh aplikasi SIG atau peramban (browser) tertentu yang mampu menampilkan/memvisualisasikan data berformat SVG (Scalable Vector Graphics) [1].
2. METODE Data Spasial Data spasial, yaitu data yang berkaitan dengan lokasi geografis tertentu, saat ini merupakan data yang sangat penting. Penelitian yang dilakukan di Amerika Serikat menunjukkan bahwa sekitar 80% data yang disimpan di dalam sistem basis data, misalnya alamat, kota, negara, dan sebagainya, sesungguhnya merupakan data yang berkaitan dengan lokasi geografis tertentu [4]. Aplikasi yang secara khusus digunakan untuk mengelola data spasial, sering dinamakan sebagai aplikasi SIG. SIG merupakan aplikasi yang secara khusus diciptakan dan digunakan untuk menyimpan, memproses, memvisualisasikan, menganalisis, dan menampilkan data spasial [3,4]. Dalam hal format, data spasial cukup berbeda dengan data lainnya seperti yang tersimpan dalam tabel basis data relasional pada umumnya, karena data spasial disamping menggambarkan posisi geografis tertentu juga menggambarkan bentuk-bentuk spasial dan/atau bentuk-bentuk geometri tertentu. Secara umum, data spasial memiliki 2 bentuk, dan keduanya diimplementasikan dengan baik di sistem-sistem basis data SQL Server 2008 dan Oracle 11g yang digunakan dalam penelitian. Kedua tipe data spasial itu adalah [3,4,a]: 1) Raster. Pada data raster, data spasial disimpan dalam bentuk tampilannya perpiksel di layar monitor. Beberapa format data raster yang dikenal SIG adalah BMP, JPEG, JPEG 2000, GIFF, TIFF, PCX, ICO, DRG, GeoTIFF, Esri Grid, dan sebagainya. 2) Vector. Pada data vector, data spasial disimpan berdasarkan bentuk geometri penampilannya di layar monitor, misalnya titik, garis, poligon, multipoligon, dan sebagainya, serta bagaimana hubungan yang terjadi di antara bentuk-bentuk geometri
112
tersebut (bersebelahan, berpotongan, suatu bentuk geometri ada di dalam bentuk geometri yang lainnya, dan sebagainya). Secara umum, tipe data raster cukup disimpan di dalam basis data kemudian dipanggil saja oleh SIG-SIG yang ada karena bersifat statis (meskipun tentunya teknik pemanggilannya akan sangat bergantung pada sintaks bahasa pemrogramannya, misalnya untuk bahasa pemrograman Java kita bisa menggunakan JDBC [Java Database Connectivity] [10]). Dengan demikian, yang kami ekplorasi lebih jauh melalui tulisan ini adalah data spasial yang berjenis vector untuk sistem basis data yang digunakan. Tabel 1. Perbandingan operasi CRUD dasar untuk sistem basis data SQL Server 2008 dan Oracle 11g [3,4] SQL Server Oracle 11g 2008 CREATE Pembentukan CREATE TABLE TABLE City ( Tabel
Query
[dbo].[City] ( [CityName] [Varchar] (100) Not Null, [CityLocation] [geometry] Not Null ) SELECT * FROM [dbo].[City] WHERE [CityName] LIKE ‘Salatiga’
CityName Varchar (100) Not Null, CityLocation sdo.geometry Not Null )
SELECT * FROM City WHERE CityName LIKE ‘Salatiga’
Microsoft SQL Server 2008 memiliki 2 tipe data spasial yang berjenis vector, yaitu geography dan geometry [3]. Ada beberapa perbedaan di antara keduanya, tetapi perbedaan yang terpenting adalah bahwa tipe data geography menyimpan data posisi dalam bentuk lattitude dan longitude, sementara tipe data geometry menyimpan data posisi dalam bentuk kordinat x dan y, berdasarkan rujukannya terhadap titik referensi tertentu [3]. Untuk aplikasi-aplikasi SIG yang besar, yang meliputi area yang relatif luas, kelihatannya tipe data geography lebih sesuai; untuk aplikasiaplikasi SIG yang relatif kecil, tipe data geometry kelihatannya lebih sesuai. Sementara itu, Oracle 11g memiliki 1 tipe data spasial khusus yang berjenis vector, yaitu SDO_GEOMETRY dan turunan-turunannya (SDO_GTYPE, SDO_SRID, SDO_POINT, SDO_ELEM_INFO,
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 111-117
SDO_ORDINATES, dan sebagainya), yang bisa menyimpan data posisi baik dalam bentuk lattitude dan longitude, maupun dalam bentuk kordinat x dan y yang merujuk pada titik referensi tertentu[4]. Kelebihan tipe data SDO_GEOMETRY milik Oracle 11g dibandingkan dengan tipe data geography dan geometry milik Microsoft SQL Server 2008 adalah bahwa yang disebutkan terdahulu mampu menyimpan data spasial bertipe 3 matra/dimensi dengan baik [4]. Baik Microsoft SQL Server 2008 maupun Oracle 11g menggunakan pernyataan-pernyataan SQL (Structured Query Language) yang diperluas untuk melakukan operasi-operasi CRUD (CreateRead/Retrieve-Update-Delete) terhadap data spasial yang tersimpan di dalamnya [3,4]. Sebagai bahan perbandingan, perhatikan tabel 1 di atas yang memperlihatkan operasi CRUD dasar (CREATE dan SELECT) untuk masing-masing sistem basis data, dimana sintaks SQL untuk keduanya terlihat cukup serupa (kecuali nama dan karakteristik tipe data spasialnya yang berbeda). Pada prinsipnya, kita bisa melakukan operasioperasi CRUD pada kedua sistem basis data dengan cara yang serupa. Dalam hal ini, jika kita mau mengintegrasikan kedua jenis sistem basis data untuk mengembangkan aplikasi SIG terintegrasi, pada aras sistem basis data kita bisa menggunakan pernyataan-pernyataan SQL dan prosedur-prosedur tersimpan (stored procedure), kemudian mengolahnya sehingga data menjadi berformat seragam, dan mengintegrasikannya dengan cara yang akan kita bahas selanjutnya. Java RESTful Web Services Web Services merupakan suatu konsep dan teknologi yang memungkinkan suatu aplikasi bertindak sebagai layanan-layanan (services) bagi aplikasi-aplikasi lainnya [5,6,7]. Web Services memungkinkan suatu aplikasi tertentu (aplikasi server) menyediakan satu atau lebih layanan yang kelak dapat dimanfaatkan oleh aplikasi lainnya (aplikasi klien) tanpa mempedulikan platform perangkat keras dan perangkat lunaknya masing-masing [5,6,7,8]. Dalam hal ini, baik server maupun klien saling berkomunikasi menggunakan protokol HTTP (HyperText Transport Protocol) [11,7]. Secara teoritis, sebuah Web Services yang ditulis menggunakan bahasa pemrograman Java, dapat dimanfaatkan oleh klien-klien yang ditulis menggunakan bahasa-bahasa dari keluarga .NET, PHP, dan sebagainya [5,6,7]. Dengan demikian, saat kita menuliskan suatu layanan (Web Services) dan layanan tersebut dapat
dimanfaatkan oleh berbagai klien yang beragam, maka aplikasi yang terbentuk nantinya akan memiliki interoperabilitas dan portabilitas yang tinggi [11]. HTTP … 200 OK SERVER DATE ACCEPT CONTENT-TYPE <XML> …
Klien Web Services
Server Web Services
PUT HOST DATE CONTENT TYPE <XML> …
Gambar 1. Arsitektur RESTful Web Services [7] Dalam konteks bahasa pemrograman Java, saat ini dikenal 2 teknologi Web Services, yaitu JAX-WS (Java API for XML Web Services) (yang sering juga disebut sebagai ‘Big’ Web Services) dan JAX-RS (Java API for RESTful Web Services) [7]. “Big” Web Service menggunakan berkasberkas XML (eXtensible Markup Language) yang mengikuti standar SOAP (Simple Object Access Protocol) sebagai sarana dan format pertukaran pesan (message) antarsistem/ antaraplikasi [11,7,1]. Dalam hal ini, jika “Big” Web Service menggunakan berkas-berkas SOAP sebagai sarana pertukaran pesannya, “Big” Web Service juga menggunakan berkas XML lain yang disebut sebagai WSDL (Web Services Description Language) sebagai sarana bagi “Big” Web Service yang bersangkutan untuk mendefinisikan layanan-layanan yang dimilikinya sedemikian rupa sehingga kelak dapat diakses dengan mudah oleh klien-kliennya [11,7,1]. Dalam hal ini, “Big” Web Service menuntut pemahaman pengembang yang mendalam tentang berbagai hal yang berkait dengan transaksi, keamanan, kordinasi, dan sebagainya. Jika hal ini tidak terlalu dipenuhi oleh pemrogram, alternatif lain bisa digunakan, yaitu JAX-RS (Java API for XML RESTful Web Services). RESTful Web Services yang tidak membutuhkan definisi-definisi pesan dan antarmuka layanan berbasis SOAP dan WSDL, memungkinkan pengembang dapat
Integrasi Data Spasial … (K. Mustofa, A. Nugroho)
113
mengembangkan Web Services dengan cara yang relatif lebih mudah dan lebih alamiah, hanya saja tentunya pengembang yang bersangkutan perlu memahami dengan baik konsep-konsep dan implementasi protokol HTTP untuk aplikasi yang akan dikembangkannya [7]. RESTful Web Service yang diprakarsai oleh Roy Fielding dalam disertasinya di Universitas California di Amerika Serikat (2000) [2], pada dasarnya menggunakan metoda-metoda operasional yang sederhana, yang dimiliki oleh protokol HTTP, untuk saling berkomunikasi. Pada umumnya API (Application Programming Interface) RESTfull Web Service menggunakan metoda-metoda standar HTTP itu sebagai parameter-parameter untuk URL (Uniform Resource Locator) yang dikirimkan klien ke server RESTful Web Service [8,12]. Dalam mengimplementasikan RESTful Web Service, para pengembang/pemrogram aplikasi pada umumnya mengimplementasikan Project Jersey, sebuah implementasi ‘kode terbuka’ (open source) dari JAX-RS. Dalam JDK (Java Development Kit) 6 yang diluncurkan oleh Sun Microsystem Inc., Project Jersey dikembangkan, dirakit, dan dikemas dalam server aplikasi Glashfish [7,8]. Dalam hal ini, JAX-RS mendefinisikan 4 anotasi umum yang dapat secara langsung dipetakan ke operasi-operasi HTTP yang bersifat spesifik, yang memiliki padanannya dengan operasi-operasi CRUD yang terdapat di sistem basis data relasional yang digunakan. Operasi-operasi HTTP itu adalah sebagai berikut (Perhatikan juga Gambar 1 yang memperlihatkan arsitektur RESTful Web Services secara umum) [7]. @javax.ws.rs.POST (aksi CREATE) @javax.ws.rs.GET (aksi READ) @javax.ws.rs.PUT (aksi UPDATE) @javax.ws.rs.DELETE (aksi DELETE) Pada prinsipnya, seperti yang dilakukan pada penelitian kami, kami harus melakukan teknikteknik sedemikian rupa sehingga sistem-sistem basis data relasional yang digunakan sebagai sumber data spasial mampu bertindak sebagai layanan (services) bagi aplikasi SIG yang memanfaatkan data spasial tersebut. Pendekatan ini agak berbeda dengan aplikasi-aplikasi basis data konvensional, dimana sistem basis data hanya menyediakan data yang diperlukan oleh aplikasi, sehingga kita akan mengalami kesulitan saat ada berbagai sistem basis data yang akan digunakan sebagai sumber data bagi aplikasi [10].
114
3. DISKUSI Integrasi Data Spasial Menggunakan Java Web Services (JAX-RX/Java API XML for RESTful Web Services) Integrasi data spasial yang dilakukan menggunakan RESTful Web Services tentu saja sangat memerlukan pengetahuan teknis yang sangat memadai, selain tentu saja penstrukturan penyelesaian masalah. Sebab itu, sebelum kami melakukan penelitian yang melibatkan banyak pemahaman teknis, kami mencoba membuat arsitektur sistem untuk permasalahan ini. Arsitektur yang kami maksud adalah seperti yang diperlihatkan melalui gambar 2 di bawah.
SISTEM INFORMASI GEOGRAFIS (SIG) TERINTEGRASI
SVG
Java RESTful Web Services (JAX-RS) G M L
G M L
ADAPTER
ADAPTER
Oracle 11g
SQL Server 2008
Gambar 2. Arsitektur aplikasi SIG dengan basis data relasional majemuk yang difasilitasi menggunakan RESTful Web Service Perhatikan gambar 2 di atas. Agak berbeda dengan aplikasi basis data biasa, yang melakukan pengambilan data secara langsung ke sistem basis data relasional [10], aplikasi SIG yang diperlihatkan melalui gambar 2 di atas melakukan pengambilan data dengan metoda layanan (service) (dalam konteks Web Services) yang dimiliki oleh sistem basis data (baik SQL Server 2008 maupun Oracle 11g) [11]. Hal ini dimaksudkan agar lapisan (layer) RESTful Web Services bisa bekerja dengan cara yang relatif
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 111-117
seragam saat ada sistem-sistem basis data relasional lain yang ditambahkan ke dalam sistem. Berkaitan dengan hal ini juga, agar lapisan RESTful Web Services menerima hasil yang seragam, data yang diambil dari sistem basis data harus seharusnya dikonversi menjadi suatu bentuk data tertentu yang bisa dimanipulasi oleh RESTful Web Service. (Dalam hal ini data dalam format XML bisa digunakan sehingga RESTful Web Service sering disebut memiliki arsitektur POXHTTP/Plain Old XML over HTTP.) Komponen yang bertugas untuk melakukan konversikonversi ini, yang harus ditambahkan di atas sistem basis data relasional, sering dinamakan sebagai komponen adapter [10]. Adapter-adapter RESTful Web Service ini bisa dikembangkan menggunakan prosedurprosedur/fungsi-fungsi tersimpan (stored procedure/function) yang memiliki sintaks sesuai dengan sistem basis data yang digunakan [3,4,13] dan bertindak sebagai server Web Services untuk sistem basis data yang digunakan [11]. (Catatan: prosedur-prosedur tersimpan untuk Microsoft SQL Server 2008 memiliki sintaks yang sedikit berbeda dengan sintaks prosedur-prosedur tersimpan untuk Oracle 11g [dan juga memiliki sintaks yang sedikit berbeda dengan sistem-sistem basis data relasional lainnya yang mungkin akan ditambahkan]. [3,4]) Masing-masing komponen adapter ini harus mampu menghasilkan data dalam bentuk XML (atau GML [Geographic Markup Language] saat datanya bersifat data spasial) dari data yang berasal tabel-tabel yang tersimpan di sistem basis data relasional. Setelah adapter ini bisa dikembangkan dengan baik dan mampu menghasilkan data XML/GML dari masing-masing sistem basis data relasional, barulah RESTful Web Service bisa digunakan untuk mengintegrasikan seluruh data yang berasal dari berbagai sistem basis data relasional yang digunakan. Dalam hal ini, GML sangat layak untuk digunakan sebagai data asupan untuk SIG karena GML saat ini sudah menjadi standar bagi banyak SIG masa kini (sudah dibakukan oleh Open Geospatial Consortium, Inc. sehingga interoperabilitas antarsistem/antaraplikasi SIG terjaga dengan baik [5,6,8,b]). Adapter sesungguhnya merupakan komponen sistem terintegrasi yang sangat penting. Tanpa
adapter, sistem SIG terintegrasi sama sekali tidak akan bisa bekerja sesuai dengan yang diharapkan. Dalam hal ini, konversi data berformat XML/GML dari tabel-tabel yang ada di dalam sistem basis data bisa dilakukan secara langsung menggunakan prosedur-prosedur tersimpan yang ditulis menggunakan SQL atau T-SQL (TransactSQL) (pada sistem basis data Microsoft SQL Server 2008) [3,13]), atau prosedur-prosedur tersimpan yang ditulis menggunakan SQL atau paket-paket PL/SQL (Procedural Language/Structured Query Language) yang tersedia untuk itu (pada sistem basis data Oracle 11g [11]). Satu hal yang khusus untuk sistem basis data Oracle 11g adalah bahwa kita bisa mengembangkan prosedur-prosedur tersimpan menggunakan bahasa pemrograman Java [11], dimana hal ini tidak bisa dilakukan pada sistem basis data SQL Server 2008. Jika kita ingin mengembangkan prosedur tersimpan dalam bahasa pemrograman Java, kita memiliki alternatif-alternatif untuk menggunakan beberapa API yang ada, misalnya DOM (Document Object Model), SAX (Simple API for XML Processing), JAXP (Java API for XML Processing), JAXB (Java API for XML Binding), StAX (Stream API for XML Processing), dan sebagainya, untuk melakukannya [11,8]. Seperti telah diungkapkan sebelumnya, RESTful Web Service mampu melakukan integrasi data berformat XML (dan/atau GML). Karena RESTful Web Service ini memiliki anotasi-anotasi yang berpadanan dengan operasi CRUD maka, bergantung dengan apa yang diharapkan oleh pengguna aplikasi SIG terintegrasi, pengembang dan pemrogram bisa mengembangkan aplikasi SIG yang bersifat 2 arah, yaitu sekedar memanfaatkan dan memvisualisasikan data GML yang berasal dari sistem basis data (operasi READ/SELECT), atau melakukan modifikasimodifikasi (CREATE, UPDATE, DELETE) terhadap data GML yang ada di sistem basis data. Saat diperlukan data lain yang ada di sistem basis data yang lain, yang harus dilakukan adalah menambahkan komponen adapter di atas sistem basis data yang ditambahkan itu [10]. Dengan demikian, data GML dari sistem basis data yang ditambahkan, bisa langsung diintegrasikan menggunakan RESTful Web Service.
Integrasi Data Spasial … (K. Mustofa, A. Nugroho)
115
CSS (Cascading Stylesheet)
SVG Viewer (Browser) SVG Trans forma tion
SVG
XSLT
XSLT
GML
Application Geometry Schema (geometry.xsd)
Feature Schema (feature.xsd)
XLink Schema
Gambar 3. Visualisasi data GML menggunakan SVG Menggunakan langkah-langkah di atas, data yang berasal dari masing-masing sistem basis data relasional yang digunakan bisa diintegrasikan menggunakan RESTful Web Service. Hasil akhirnya adalah berkas (lebih tepat dokumen) GML terintegrasi, yang datanya berasal dari masing-masing sistem basis data relasional yang digunakan. Terakhir, agar data dalam bentuk GML itu dapat ditampilkan oleh SIG yang berada di sisi pengguna (user), kita selanjutnya perlu mengkonversinya menjadi berkas berformat SVG (Scalable Vector Graphics) menggunakan suatu standar pemformatan XML yang dinamakan sebagai prosesor XSLT (eXtensible Stylesheet Language Transformation) dengan memanfaatkan XSLT Stylesheet yang memang dibuat/disesuaikan untuk itu [c]. Gambar 3 adalah diagram yang menunjukkan langkah-langkah bagaimana caranya mentransformasi data GML yang berasal dari sistem basis data menjadi data berformat SVG yang kemudian dapat divisualisasikan di penampil SVG (SVG Viewer) (dalam hal ini, beberapa perambah [browser] saat ini, misalnya Internet Explorer dengan tambahan komponen Flash di dalamnya, Mozzila Firefox 2.0 atau yang lebih baru, Opera 9.0 atau yang lebih baru,
116
mampu menampilkan data berformat SVG dengan baik). Merujuk gambar 3 di atas, berkaitan dengan visualisasi dokumen GML, sesungguhnya yang terjadi adalah transformasi antardokumen menggunakan stylesheet yang sesuai dengan arah kemana transformasi akan dilakukan (misalnya kita bisa mentransformasi dokumen GML ke SVG menggunakan XSLT Stylesheet [c], atau menampilkan dokumen SVG di perambah/penampil dokumen SVG menggunakan CSS [Cascading Stylesheet], dan seterusnya). Dalam hal ini, pengembang aplikasi SIG juga mendapatkan sedikit kemudahan karena baik Geometry Schema maupun Feature Schema sudah didefinisikan dengan baik oleh Open Geospatial Consortium, Inc. sementara XLink Schema juga sudah didefinisikan dengan baik oleh W3C (World Wide Web Consortium) [10]. Saat ini juga, berbagai API berbasis Java untuk melakukan hal ini banyak tersedia di jaringan Internet. Beberapa berbayar, tetapi yang lainnya dapat diunduh secara bebas karena bersifat kode terbuka (open source).
4. HASIL Mengembangkan aplikasi SIG yang datanya berasal dari berbagai sistem basis data relasional yang berbeda saat ini merupakan hal yang sangat mungkin untuk dilakukan. Data bisa diambil dari sistem-sistem basis data relasional yang digunakan menggunakan bahasa nirprosedural SQL, dikonversi menjadi data berformat GML menggunakan prosedur/fungsi tersimpan (stored procedure/function) di aras sistem basis data relasional, diintegrasikan menggunakan RESTful Web Service, dan terakhir, menggunakan prosesor XSLT, data berformat GML itu dapat dikonversi menjadi data berformat SVG sedemikian rupa sehingga bisa ditampilkan di SIG menggunakan perambah (browser) yang memang mendukung penampilan dokumen SVG. Menggunakan konsep dasar yang dikembangkan di dalam tulisan ini, merupakan hal yang tidak terlalu ‘mahal’ (baik dari sudutpandang penggunaan uang, waktu, serta tenaga pemrogram berketerampilan tinggi), karena bahasa pemrograman Java bersifat kode terbuka (open source) dan sebagian besar API yang dibutuhkan sudah tersedia. Dari sudutpandang ini, yang lebih diperlukan sesungguhnya adalah memahami dengan baik apa yang sesungguhnya pengguna SIG lakukan saat mereka melakukan pekerjaannya, dimana hal ini sesungguhnya sangat berkaitan dengan operasi-operasi CRUD yang akan terjadi atas sistem-sistem basis data
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 111-117
relasional yang digunakan. Saat kebutuhan pengguna (user requirements) terdefinisi dengan baik, selanjutnya aplikasi SIG yang melibatkan beberapa sistem basis data dapat dilakukan dengan ‘biaya’ yang tidak terlalu tinggi.
5. DAFTAR PUSTAKA [1] Shekar, Sashi, H. Xiong, Encyclopedia of GIS. SpringerScience+Business Media, LLC., New York, USA, 2007. [2] Vckovsky, Andrej, “Interoperable and Distributed Processing in GIS”, Disertasi di Universitas Zurich, Published by Taylor & Francis, Ltd., London, UK, 2005. [3] Aitchison, Alastair. Beginning Spatial with SQL Server 2008. Springer-Verlag, New York, USA, 2009. [4] Kothuri, Ravi, A. Godfrind, E. Beinat, Pro Oracle Spatial for Oracle 10g. SpringerVerlag, New York, USA, 2007. [5] Amirian, Pouria, A. A. Alesheikh, “Publishing Geospatial Data through Geospatial Web Services and XML Database System”, American Journal of Applied Science, 5 (10): 1358-1368. ISSN 1546:9239, 2008. [6] Amirian, Pouria, A. A. Alesheikh, “A Hybrid Architecture for Implementing Efficient Geospatial Web Services: Integrating .NET Remoting and Web Services Technologies”, American Journal of Applied Science, 5 (10): 730-742. ISSN 1812:5654, 2008. [7] A. Nugroho, “Implementasi Java Web Services Menggunakan ‘Big’ Web Services dan REST (REpresentational State Transfer): Sebuah Studi Perbandingan”, KNSI (Konferensi Nasional Sistem Informasi),
STMIK Potensi Utama, Medan, Indonesia, 2011. [8] C. Yon-Seop, P. Hyeong-Dong, “XML Web Service-based Development Model for Internet GIS Applications”. International Journal of Geographical Information Science, Vol 20, No 4, April 2006, 371-399. Published by Taylor & Francis Group, London, UK, 2006. [9] W.T.S.M.B Tennakoon, “Visualization of GML Data Using XSLT”, Thesis di International Institute for Geo-Information Science and Earth Observation, Enschede, The Netherland, 2003. [10] A. Nugroho, Pemrograman Java untuk Aplikasi Basis Data dengan Teknik XP Menggunakan IDE Eclipse, Penerbit ANDI, Jogyakarta, Indonesia, 2007. [11] K. Mensah, Oracle Database Programming Using Java and Web Services, Elsevier Digital Press, Oxford, UK, 2008. [12] B. Zurke, RESTful Java with JAX-RX. O’Reily Media, Inc., Sebastopol, USA, 2010. [13] R. Vieria, Proffesional Microsoft SQL Server 2008 Programming. Wiley Publishing, Inc., Indianapolis, USA, 2009. Websites: [a] Spesifikasi Data Raster, http://en.wikipedia.org/wiki/Raster_graphics dan http://en.wikipedia.org/wiki/GIS_file_format s, 2011. [b] Spesifikasi GML, www.opengeospatial.org/legal/, 2011. [c] Spesifikasi XSLT, http://id.wikipedia.org/wiki/Extensible_Style sheet_Language_Transformations, 2011.
Integrasi Data Spasial … (K. Mustofa, A. Nugroho)
117