Bab II DASAR TEORI II.1 Sistem Informasi Geografi Sistem Informasi Geografi adalah suatu sistem untuk menangkap, menyimpan, menganalisa dan mengelola data spasial dan atribut yang terkait secara lokasi ke bumi (2). Karakteristik dari data geografi adalah data yang merupakan representasi dari obyek geografi yang mempunyai atribut lokasi dalam suatu sistem koordinat. Penyajian obyek–obyek geografi umumnya dilakukan dengan menggambarkannya pada peta grafis. Elemen grafis dapat terdiri atas titik, garis, poligon, teks dan simbol. Semuanya direferensikan terhadap suatu sistem koordinat. Elemen grafis pada sig dapat diorganisasikan dalam lapisan-lapisan (layer, /theme/coverage). Setiap lapisan dapat digunakan untuk mengelompokkan obyekobyek lokasi sesuai kelompoknya, misalnya kelompok sungai terpisah dengan kelompok jalan raya atau berdasarkan jenis elemen grafisnya, misalnya kelompok garis terpisah dengan teks. Pada sig dapat didefinisikan relasi antara elemen-elemen grafisnya sehingga membentuk suatu jaringan. Suatu jaringan mengidentifikasikan elemen-elemen yang saling berhubungan. Keterhubungan ini dinyatakan dalam data tersendiri. Sebagai contoh, apabila ada dua garis yang saling berpotongan, maka relasi perpotongan elemen grafis anggota relasi dan koordinat titik potongnya dapat didefinisikan sebagai data tambahan. Obyek-obyek geografi tersebut memiliki data atribut yang sifatnya non spasial/non geometris. Atribut non spasial ini bisa disimpan dalam tabel data terpisah dan dihubungkan dengan elemen data grafis dengan suatu nomor identifikasi yang unik atau bisa disimpan dalam tabel yang sama (contoh spatial 6 databases). Atribut yang bersifat non lokasi ini dapat menjelaskan karakteristik dari obyek lokasinya, misalnya nama, ukuran, kapasitas, jenis dan lain-lain. Relasi lokasi (atau topologi) antar obyek-obyek pada data geografi dapat ditentukan. Konversi ini tidak hanya menentukan lokasi dan bentuk geometri dari obyek-obyek data geografi, tapi juga dapat mendeskripsikan bagaimana mereka saling berhubungan, bagaimana suatu area dibatasi dan area-area yang saling bertetangga. II.2 Representasi Data Geografi Model data yang digunakan dalam aplikasi sistem informasi geografi untuk merepresentasikan tiga identitas yaitu titik, garis dan luasan adalah 1. Raster Pada raster, suatu kenampakan didefinisikan sebagai suatu sel pada grid. Semua sel pada grid memiliki ukuran dan bentuk yang sama dan masingmasing diidentifikasi oleh koordinat lokasi sebagai nilai dalam model raster. Pada tesis ini dikhususkan untuk representasi data dalam bentuk vektor, jadi untuk data raster tidak akan dibahas lebih panjang. 2. Vektor Pada vektor, penampakan direpresentasikan sebagai kumpulan dari titik awal dan titik akhir yang digunakan untuk mendefinisikan suatu titik, garis atau poligon yang menggambarkan bentuk dan ukuran suatu permukaan. Menurut (7), format data penyimpan yang dipakai dalam representasi data vektor adalah a. File Based (Shapefile, MapInfoFile (MIF)). Secara kasat mata penggunaaan file based atau menggunakan database file, keterangan mengenai data lokasi dan data atribut disimpan dalam tempat yang berbeda. Sebagai contoh file shp, data lokasinya disimpan dengan file dengan ekstensi .shp, sedangkan data atributnya disimpan dalam file dengan ekstensi *.dbf. b. DBMS Spatial (Postgre, MySQL, Oracle). Penyimpanan data atribut dan data lokasinya berada pada satu tempat. Untuk cara 7 koneksinya dapat menggunakan connector, misalkan untuk DBMS Postgre dapat menggunakan jdbc (java database connector). Analisa mengenai bentuk, keterangan detail mengenai struktur data dapat di lihat di Bab III. II.3 Konsep SIG Web (Web GIS) Konsep awal dari sig web adalah sig terdistribusi (distributed gis) yang mana sig terdistribusi didefinisikan sebagai sentris network (kabel atau non kabel) perangkat sig yang menggunakan internet atau network tanpa kabel sebagai alat untuk menyediakan akses ke data tersebar (distributed data) dan informasi lain, informasi lokasi atau melaksanakan analisa sig. Sig web merupakan bagian dari sig terdistribusi yang menggunakan protokol HTTP (HyperText transfer Protocol) yang jalan di atas internet (7). Pemakai sig web dapat menggunakan aplikasi ini menggunakan web browser. Web Browser adalah sebuah aplikasi perangkat lunak yang memungkinkan pemakai untuk menampilkan dan berinteraksi dengan text, images, vides, musik dan informasi lain yang terletak di halaman web pada suatu website. Web browser berkomunikasi dengan web server utamanya menggunakan HTTP untuk mengambil data tertentu dan menampilkan data geografi tersebut pada layar komputer. II.4 Konsep Layanan Web (Web Service) Terdapat sebuah definisi layanan web yang bagus yaitu sebuah web service adalah berbagai layanan yang tersedia di internet dan menggunakan standar sistem pemesanan xml dan tidak terikat oleh sistem operasi dan bahasa pengembang (3). Layanan web mengacu pada satu protokol komunikasi internet yaitu HTTP yang digunakan untuk menghubungkan antara aplikasi aplikasi yang ada. Layanan web bersifat penting karena dapat memainkan bagian integral dari interoperability 8 antara aplikasi-aplikasi sehingga aplikasi-aplikasi ini dapat saling berhubungan dan tidak terikat pada bahasa program maupun sistem operasi. Layanan web ini menyediakan suatu metoda yang distandarisasi sehingga berkomunikasi antara aplikasi-aplikasi dapat dengan mudah dilakukan. Pada tesis ini banyak menggunakan teknologi xml dalam melakukan pertukaran informasi antara penyedia data. II.5 Teknologi XML Pada tahun 1999, World Wide Consurtium (W3C) memulai proses untuk merancang sebuah extensible markup language yang mengkombinasikan antara fleksiblitas dan kekuatan dari SGML (Standard Generalized Markup Language) dengan HTML (Hyper Text Markup Language) bahasa ini kemudian menjadi xml. Tujuan xml untuk mencapai lebih sederhana daripada sgml dikarenakan mempertimbangkan kemudahan penggunaan yaitu pembacaan dan penulisan dari markup dengan menggunakan kakas yang sederhana dan umum digunakan tetapi juga kemudahan melakukan proses pada dokumen tersebut oleh komputer dan pertukaran sekumpulan data (5). Keuntungan dari penggunaan xml adalah sebagai berikut : 1. Portability, karena xml secara sederhana adalah sebuah teks, sehingga xml dapat digunakan di platform manapun tanpa melakukan perubahan konfigurasi. 2. Self Describing, dokumen xml dapat dengan mudah dimengerti karena merupakan arsip terstruktur dengan menggunakan definisi sendiri yang merepresentasikan semantik data. 3. Parser untuk xml dapat dengan mudah diperoleh dan terbuka untuk umum (open source). 4. Dapat digunakan untuk pertukaran data tanpa memperhatikan platform. 9 II.5.1 Konsep – konsep XML Ada beberapa konsep atau pendefinsian isi xml yaitu 1. Struktur xml Struktur sebuah dokumen xml ditandai dengan markup berupa tag. Tag digunakan untuk membatasi elemen dokumen. Berbeda dengan html yang hanya memiliki sekumpulan tag, pada dokumen xml tag bebas didefinisikan sendiri untuk lebih memberi arti dari semantik data yang dibatasi olehnya (5). Sebuah dokumen xml dapat dibagi menjadi dua bagian yaitu header dan content. Bagian header memberikan informasi untuk xml validasi / parser (xsl) dan aplikasi tentang cara menangani dokumen, kemudian content yang berisi data dalam bentuk markup. Dokumen xml minimal harus mempunyai satu elemen, yaitu root elemen, root elemen adalah elemen level teratas dari dokumen xml, yang harus menjadi tag pembuka pertama dan menjadi tag penutup dalam sebuah dokumen xml. Elemen ini memberikan acuan pada parser xml untuk menentukan awal dan akhir dari sebuah dokumen. Sebuah elemen dalam dokumen xml dapat mempunyai atribut. Atribut pada elemen dinyatakan pada text yang berada di dalam start-tag sebelah deklarasi elemen. 2. DTD dan XML Schema Agar suatu dokumen xml disebut valid jika memenuhi spesifikasi dalam DTD atau XMLSchema. Jika ada dokumen xml tanpa DTD hal ini tidak dilarang, namun konsekuensinya tidak bisa diperiksa validitasnya.DTD juga menentukan elemen dan atribut mana saja yang tidak wajib dicantumkan maupun elemen yang harus ada. DTD bisa diletakkan diluar dokumen XML. XMLSchema diharapkan bisa menggantikan fungsi DTD sebagai suatu cara untuk memvalidasi xml dokumen ini disebabkan dalam XMLSchema terdapat sebuah mekanisme yang baik untuk menangani struktur hierarki. 10 3. Xml namespace. Namespace adalah sebuah mekanisme untuk memberikan pengertian kepada perangkat lunak parser tentang suatu elemen pada dokumen xml jika elemen tersebut ada yang sama namun beda konteks, sehingga nama elemen dan nama atribut dapat dibuat dengan mereferensikan nama tersebut ke URI (Uniform Resource Identifier) tertentu. II.5.2 Parser XML dan Pengolahan XML Terdapat lebih dari tiga macam pengolahan xml, tetapi yang paling banyak digunakan adalah sax, dom dan xsl/xslt. 1. simple api for xml (sax). Sax menyediakan sebuah cara pengaksesan berdasarkan event (kejadian), sebagai contoh interface sax yang menggunakan org.xml.sax.ContentHandler yang mendefinisikan metode seperti startElement() dan endElement(). Mengimplementasi kode / interface tersebut membolehkan secara lengkap mengontrol dalam proses parsing xml dokumen. Penangkapan suatu isi elemen dapat dilakukan pada metode – metode tersebut. 2. document object model (dom). DOM adalah salah satu rekomendasi, dalam bentuk spesifikasi dari w3c untuk melakukan proses terhadap dokumen terstruktur antara lain xml dan html. DOM didefinisikan sebagai sebuah spesifikasi API yang bebas bahasa dan platform yang mendefinisikan secara logik struktur dari dokumen dan cara untuk melakukan akses dan manipulasi terhadap isi dari dokumen. DOM akan membentuk representasi struktur logik dari suatu dokumen xml yang akan dimanipulasi dalam bentuk pohon. Manipulasi terhadap bagian isi dari dokumen dilakukan dengan cara memanipulasi terhadap elemen – elemen pohon ini. 3. extensible stylesheet language transformation (xslt) adalah bagian dari xsl yang fungsinya untuk mengubah dokumen xml ke format dokumen lain. Sebuah xsl processor (program) akan membaca data (dokumen xml) dan template (dokumen xslt). xslt akan memenuhi beberapa keuntungan xml yaitu 11 a. menampilkan dokumen xml, sehingga lebih enak dilihat, misalnya diubah ke html. b. mengubah file xml sehingga bisa sesuai antara dtd yang satu dengan dtd yang lain. c. mengurutkan dan menyaring data pada dokumen xml. transformasi dokumen xml ini bisa terjadi di web browser, server. II.6 Standar Pelayanan Data Geografi Layanan web dalam bidang geografi untuk tujuan pemetaan datang dari sebuah badan yang bernama OGC (Open Geospatial Consortium). OGC telah mengembangkan standar atau spesifikasi untuk layanan web pemetaan. Tujuan dari badan ini adalah untuk meningkatkan interoperability (suatu keadaan dimana bagian-bagian sistem sukses disatukan) antara aplikasi dengan menyediakan bahasa pertukaran umum (common interchange language) melalui standar yang umum (common standard). OGC spesifikasi dapat dilihat pada Tabel II-1 yaitu : Tabel II-1 Standar Layanan Web Data Geografi Nama Standar WMS Singkatan Tujuan Web Map Service Membagi dan meminta data peta dalam bentuk format image standar (png, jpg) WFS Web Feature Service Membagi dan meminta data peta dalam format GML. WCS Web Coverage Service Membagi data peta dengan menggunakan data peta yang asli/original. WMC Web Map Context Menyimpan dan load tampilan dari aplikasi WMS sebagai XML. SLD Styled Layer Descriptors Meminta simbol dan style tertentu dalam aplikasi WMS. GML Geographic Markup Language Format XML untuk pertukaran data geografi. Filter Filter Encoding XML pemfilteran dalam 12 Nama Standar Singkatan Tujuan pendefinisian pertanyaan ke data geografi. Pada tesis ini diterapkan 3 standar yaitu WMS, WFS, dan GML, sehingga studi literatur dikhususkan pada ketiga standar tersebut. II.6.1 WMS (Web Map Service) Secara sederhana WMS adalah suatu cara standar yang digunakan untuk meminta sebuah peta ke suatu aplikasi, dan aplikasi tersebut menghasilkan suatu image standar (png, gif, jpg) (6). Parameter-parameter yang dapat digunakan adalah : 1. tipe dari service, contoh service=WMS 2. jenis permintaan, contoh request=getmap 3. spesifikasi versi, contoh version=1.1.1 4. proyeksi yang digunakan, contoh srs=EPSG:4326 5. format image standar, contoh format=image/png 6. nama layer yang diinginkan, contoh layers=road 7. ukuran dari image yang akan dihasilkan, contoh width=”7200” height=”1440”. 8. Koordinat batas dari layer tersebut (bounding box), contoh bbox=-170 0,50 90. II.6.2 WFS (Web Feature Service) WFS adalah sebuah cara standar untuk meminta keterangan kenampakan (feature) dalam sebuah peta yang dihasilkan WMS. Permintaan yang dihasilkan oleh suatu klien kemudian dikirim ke aplikasi yang menerapkan WFS menggunakan HTTP. Aplikasi yang menerapkan wfs ini kemudian membaca dan mengeksekusi permintaan tersebut. Permintaan tersebut dapat berupa : a. permintaan untuk meminta keterangan terhadap kenampakan disuatu peta yang dihasilkan oleh aplikasi wms. 13 b. Permintaan untuk melakukan pengeditan (tambah, ubah dan hapus) pada kenampakan tersebut. Permintaan atau tanggapan terhadap wfs ini menggunakan format khusus yang standar yaitu GML. II.6.3 GML (Geographic Markup Language) Gml adalah sebuah pengkodean xml (encoding xml) yang digunakan untuk interoperability aplikasi pemetaan yang didalamnya terdapat properti mengenai data spasial ataupun data atribut. Contoh dari dokumen gml sederhana yaitu : <wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0"> <wfs:Update typeName="topp:pg_jabar_bts"> <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"> <wfs:Property> <wfs:Name>topp:KETERANGAN</wfs:Name> <wfs:Value>TestingUpdate</wfs:Value> </wfs:Property><wfs:Property> <wfs:Name>topp:the_geom</wfs:Name> <wfs:Value> <gml:MultiPoint xmlns:gml="http://www.opengis.net/gml" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:pointMember> <gml:Point> <gml:coordinates decimal="." cs="," ts=" ">106.2125,7.05605 </gml:coordinates> </gml:Point> </gml:pointMember> </gml:MultiPoint> </wfs:Value> </wfs:Property> </wfs:Update> </wfs:Transaction> Di atas adalah contoh dokumen gml sederhana tentang wfs transaksi pengubahan sebuah titik dengan keterangan sebagai berikut : 1. koordinat titiknya (the_geom) adalah 106.2125,-7.05605 2. layer yang akan di update topp:pg_jabar_bts. 3. Data atribut yang akan diubah mempunyai nama kolom KETERANGAN dan nilai yang baru adalah TestingUpdate. 4. Jenis geometri yang ditangani adalah MultiPoint. 14