PENERAPAN DATABASE MANAGEMENT SYSTEM (DBMS) NON-RELASIONAL MONGODB DALAM PENGEMBANGAN PORTAL KATALOG DATA SPASIAL
RAMADHAN DWI HARYONO
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Penerapan Database Management System (DBMS) Non-Relasional MongoDB dalam Pengembangan Portal Katalog Data Spasial adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Januari 2015 Ramadhan Dwi Haryono NIM G64124010
ABSTRAK RAMADHAN DWI HARYONO. Penerapan Database Management System (DBMS) Non-Relasional MongoDB dalam Pengembangan Portal Katalog Data Spasial. Dibimbing oleh HARI AGUNG ADRIANTO. Sebagian besar aplikasi saat ini menggunakan basis data sebagai tempat penyimpanan utamanya, tidak terkecuali untuk Sistem Informasi Geografis (SIG) berbasis web. Basis data non relasional lebih tepat digunakan pada SIG web karena basis data tersebut mampu mengelola data yang tidak terstruktur maupun semi terstruktur dengan tingkat ketersediaan dan skalabilitas yang tinggi secara efisien. Terdapat beberapa Database Management System (DBMS) yang menangani basis data non relasional. Sistem yang dibangun pada penelitian ini menggunakan MongoDB karena kemampuannya dalam menyimpan data ke dalam bentuk dokumen. Selain itu, penelitian ini juga menggunakan Opengeo Suite untuk menampilkan data atribut yang telah disimpan pada MongoDB. Sistem ini mampu menampilkan data atribut yang diambil dari Application Programming Interface (API) Twitter sehingga pengguna dapat melihat informasi yang tersedia. Kata kunci: data atribut, MongoDB, Opengeo Suite
ABSTRACT RAMADHAN DWI HARYONO. Implementation of MongoDB Non-Relational Database Management System (DBMS) in Spatial Portal Catalog Data Development. Supervised by HARI AGUNG ADRIANTO. Most of applications nowadays use database as a primary storage, there is even no exception for web-based Geographic Information System (GIS). Nonrelational database is more appropriate to be used in webGIS for its ability to process unstructured and semi structured data with high availability and scalability level efficiently. There are several Database Mangement System (DBMS) handle non-relational database. This study aims to build a system using MongoDB for its ability to store data into document form. Furthermore, Opengeo used in this study to display attribute data stored at MongoDB. This system able to display attribute data taken from Twitter Application Programming Interface (API) that user can view available information. Keywords: data attributes, MongoDB, Opengeo Suite
PENERAPAN DATABASE MANAGEMENT SYSTEM (DBMS) NON-RELASIONAL MONGODB DALAM PENGEMBANGAN PORTAL KATALOG DATA SPASIAL
RAMADHAN DWI HARYONO
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015
Penguji 1: Dr Imas Sukaesih Sitanggang, SSi MKom Penguji 2: Rina Trisminingsih, SKom MT
Judul Skripsi : Penerapan Database Management System (DBMS) Non-Relasional MongoDB dalam Pengembangan Portal Katalog Data Spasial Nama : Ramadhan Dwi Haryono NIM : G64124010
Disetujui oleh
Hari Agung Adrianto, SKom MSi Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Alhamdulillahi rabbil' alamin, puji syukur penulis panjatkan ke hadirat Allah subhanahu wa Ta'ala atas berkat, rahmat, taufik, dan hidayah-Nya sehingga penyusunan skripsi yang berjudul Penerapan Database Management System (DBMS) Non-Relasional MongoDB Dalam Pengembangan Portal Katalog Data Spasial dapat diselesaikan dengan baik. Sholawat serta salam semoga selalu tercurahkan kepada Nabi Muhammad shalallahu 'alaihi wassalam beserta keluarga, sahabat, dan para pengikutnya yang telah memberikan contoh dalam meraih kebahagiaan di dunia dan akhirat. Ucapan terima kasih penulis sampaikan kepada Ayahanda Sugiono, Ibunda Suwartini, serta seluruh keluarga atas doa, kasih sayang, semangat, dan dukungan kepada penulis. Ungkapan terima kasih juga penulis sampaikan kepada Bapak Hari Agung Adrianto, SKom MSi selaku pembimbing yang telah membantu penulis dalam menyusun tugas akhir ini. Di samping itu, ucapan terima kasih juga penulis sampaikan kepada Ibu Dr Imas Sukaesih Sitanggang, SSi MKom dan Ibu Rina Trisminingsih, SKom MT selaku penguji dalam tugas akhir ini. Terima kasih kepada seluruh staf dan dosen Departemen Ilmu Komputer IPB atas segala bimbingan dan kemudahan layanan, seluruh teman-teman Ilmu Komputer AJ 7 khususnya teman-teman satu bimbingan atas kebersamaan dan semangatnya. Serta semua pihak lain yang telah membantu penulis yang tidak dapat disebutkan satu persatu, jazakumullah khairan.
Bogor, Januari 2015 Ramadhan Dwi Haryono
DAFTAR ISI DAFTAR TABEL
vii
DAFTAR GAMBAR
vii
DAFTAR LAMPIRAN
vii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
2
Manfaat Penelitian
3
Ruang Lingkup Penelitian
3
TINJAUAN PUSTAKA
3
Not-only Structured Query Language (NoSQL)
3
MongoDB
4
Geoserver
5
Web Feature Service (WFS)
5
METODE PENELITIAN
5
Analisis Kebutuhan
6
Praproses Data
6
Data Modelling
7
Integrasi Data
7
Pengujian
7
HASIL DAN PEMBAHASAN
7
Analisis Kebutuhan
7
Praproses Data
9
Data Modelling
10
Integrasi Data
11
Pengujian
14
SIMPULAN DAN SARAN
15
Simpulan
15
Saran
15
DAFTAR PUSTAKA
16
RIWAYAT HIDUP
22
DAFTAR TABEL 1 Perbandingan basis data NoSQL yang mendukung data spasial 2 Kerangka basis data 3 Hasil pengujian
4 10 14
DAFTAR GAMBAR 1 11 12 13 14 15 16 17 18 19 10 11 12
Perangkat lunak SDI (Hunter dan Steiniger 2012) Tahapan penelitian Ilustrasi penelitian Arsitektur sistem Konsol API Twitter Proses pengisian basis data Pemodelan fisik pada Robomongo Integrasi data Parameter pembuatan Store Parameter pembuatan Layer Pembuatan lapisan vektor Hasil proyeksi
1 5 6 8 9 9 11 11 12 13 14 15
DAFTAR LAMPIRAN 1 Data kembalian API Twitter
17
1
PENDAHULUAN Latar Belakang Pengelolaan informasi tentang perubahan tutupan lahan melibatkan data yang berasal dari berbagai pihak yang mungkin saja memiliki format, tipe, dan lokasi penyimpanan yang berbeda. Untuk itu diperlukan sebuah Infrastruktur Data Spasial (SDI) yang mampu memungkinkan para penggunanya untuk mengakses data spasial yang tersimpan di tempat lain, atau disebut juga data sharing. Tujuan utama yang diharapkan dengan dibangunnya SDI yaitu dapat menghemat sumber daya, waktu, dan tenaga dengan menghindari upaya dalam mendapatkan dan mengelola data yang berulang-ulang (Rajabifard dan Williamson 2001). SDI bukan hanya sebuah fasilitas yang menghubungkan data spasial dengan penggunanya melalui internet, namun SDI juga merupakan sebuah kerangka besar yang mempertimbangkan aspek politik, teknis, bisnis, sosial, dan aspek lainnya. Keseluruhan aspek yang terdapat pada SDI dapat dibagi ke dalam lima komponen besar, yaitu: data spasial; teknologi; kebijakan; masyarakat; dan ketentuan bagaimana data diakuisisi, direpresentasikan, dan dipertukarkan (Hunter dan Steiniger 2012). Komponen teknologi pada SDI terdiri atas perangkat lunak dan perangkat keras. Perangkat lunak dasar dari sebuah SDI terdiri atas lima bagian penting sebagaimana dapat dilihat pada Gambar 1. Catalogue Service Server GIS Software
Internet
Data Service Server
Client Software
GIS Service Server
Spatial Data Storage
Gambar 1 Perangkat lunak SDI (Hunter dan Steiniger 2012) Gambar 1 menunjukkan perangkat lunak yang membangun sebuah SDI. Perangkat lunak tersebut yaitu: software client yang dapat menampilkan, melakukan kueri, dan menganalisa data spasial; catalogue service untuk melakukan penelusuran pada metadata atau spatial services, spatial datasets dan sebagainya; spatial data services yang memungkinkan pertukaran data melalui
2
internet; spatial data repository; dan Geographic Information System (GIS) software yang menangani pembuatan dan pemeliharaan data (Hunter dan Steiniger 2012). Sebagai upaya dalam mengembangkan SDI pada kasus perubahan penutupan lahan, Hidayat (2013) telah melakukan penelitian untuk membangun sebuah GIS web mengenai penutupan lahan di Kalimantan Tengah menggunakan Opengeo Suite. Opengeo Suite merupakan perangkat lunak geospasial yang terdiri atas tiga lapisan utama, yaitu: basis data, server aplikasi, dan antarmuka pengguna. Pada masing-masing lapisan tersebut, Hidayat (2013) menggunakan PostGIS, Geoserver, dan Openlayer. Pada struktur SDI, PostGIS berperan sebagai spatial data storage/repository, Geoserver berperan sebagai spatial data services, dan Openlayer berperan sebagai client software. Struktur tabel PostGIS yang digunakan pada sistem yang dikembangkan Hidayat (2013) bersifat tetap atau terstruktur, sedangkan menurut Amirian et al. (2013) data pada dunia geospasial umumnya merupakan data yang tidak terstruktur atau semi terstruktur, misalnya data pada Twitter yang digunakan pada penelitian ini. Data tersebut membutuhkan tingkat ketersediaan dan skalabilitas yang tinggi. Permasalahan tersebut dapat diatasi oleh DBMS relasional namun dengan proses yang tidak mudah, sehingga basis data non relasional dapat mengatasi permasalahan tersebut dengan lebih efisien. Oleh karena itu, pengolahan atribut data spasial untuk mengakomodasi portal katalog data spasial pada penelitian ini dilakukan dengan menggunakan basis data non relasional MongoDB. Hal tersebut dipilih karena setiap titik koordinat pada tweet dapat memiliki keterangan atau informasi dengan jumlah maupun jenis yang berbeda-beda. Keterangan itu dapat berupa nama tempat, foto, waktu kejadian, maupun keterangan lainnya. Tipe basis data non relasional memiliki kelebihan dalam hal skalabilitas dan ketersediaan meskipun mengorbankan beberapa aspek yang biasanya dimiliki Relational Database Management System (RDBMS) yaitu aspek Atomicity, Consistency, Isolation, Durability (ACID) yang lebih kompleks (Cattell 2010). Perumusan Masalah Berdasarkan latar belakang di atas, maka perumusan masalah dalam penelitian ini adalah bagaimana mengintegrasikan atribut data spasial berupa vektor dengan basis data non relasional. Penelitian ini terbatas pada pengolahan atribut data spasial dengan format vektor menggunakan basis data non relasional. Data atribut yang digunakan pada penelitian ini diperoleh dari tweet pengguna sosial media Twitter yang mengandung kata "kebakaran" di sekitar Kalimantan. Tujuan Penelitian Penelitian ini bertujuan membangun basis data non relasional serta mengintegrasikan atribut data spasial berbasis vektor dengan basis data non relasional menggunakan DBMS bebas lisensi, yaitu MongoDB, sehingga dapat digunakan pada proses pengembangan portal katalog data spasial berikutnya terkait terwujudnya SDI yang baik.
3
Manfaat Penelitian Sistem yang dihasilkan dari penelitian ini diharapkan dapat membuktikan bahwa basis data non relasional merupakan solusi untuk menyimpan atribut data spasial yang beragam dan memberi dukungan pada pengembangan SDI secara luas.
Ruang Lingkup Penelitian Sistem ini dikembangkan pada sistem operasi Windows 8.0. Atribut data spasial yang digunakan pada penelitian ini merupakan tweet yang mengandung kata "kebakaran" di Kalimantan yang diperoleh melalui API Twitter.
TINJAUAN PUSTAKA NoSQL NoSQL adalah sebuah konsep penyimpanan basis data secara non relasional. Not-only SQL mempunyai arti bahwa basis data NoSQL tidak memakai bahasa SQL pada proses pengolahan data. NoSQL dapat menangani sekumpulan struktur data hirarkis secara cepat dan mudah. Pada basis data relasional dibutuhkan banyak tabel dengan berbagai macam key yang unik untuk menangani sekumpulan data yang saling berkaitan. Lain halnya dengan NoSQL yang di rancang untuk mendistribusikan data berskala besar dan bersifat dinamik dengan tidak relasional (Damayanti et al. 2013). Cattell (2010) mengklasifikasikan basis data NoSQL berdasarkan model datanya, yaitu sebagai berikut: Key-value: menyimpan nilai yang diindeks untuk dikembalikan menggunakan key. Basis data dengan model ini memiliki skalabilitas yang tinggi serta performa yang baik namun sulit untuk diterapkan pada permasalahan nyata. Contoh: Amazon Dynamo. Document-oriented: menyimpan dan memperlakukan data seperti koleksi dari dokumen, tidak seperti tabel terstruktur yang mengharuskan setiap record memiliki jumlah field yang sama. Sejumlah field dengan ukuran yang berbeda dapat ditambahkan ke dalam dokumen. Contoh: CouchDB dan MongoDB. Column-based: menyimpan record yang dapat disambungkan, serta dapat dipartisi secara vertikal maupun horizontal. Model basis data ini juga dikenal dengan wide column systems. Contoh: Cassandra dan BigTable. Graph-oriented: menyimpan objek dan relasinya ke dalam bentuk node dan edge dari sebuah graph. Model data ini lebih cepat dibandingkan dengan model data lain ketika permasalahannya sesuai, misalnya data hirarki. Contoh: Neo4j.
4
de Souza et al. (2014) melakukan perbandingan terhadap beberapa basis data NoSQL yang mendukung penyimpanan data spasial. Perbandingan tersebut dapat dilihat pada Tabel 1. Tabel 1 Perbandingan basis data NoSQL yang mendukung data spasial Basic Concepts Indexing
CouchDB Documentoriented R-Tree Only2D
MongoDB Documentoriented 2D 2Dsphere
Vector Data Fully Types
Fully
Topological functions
Only Within(Point) Contains(Point) Only Distance(Point)
Only Within() Contains() Analysis and Only metric Distance() functions Set functions Not supported Input/output Input: Format .SHP Output: .KML .CSV .GeoJSON
Only Intersection(Point) Input: GeoJSON Output: GeoJSON
Neo4j Networkoriented R-Tree 2D and partially3D Fully Basic Types and Limited MultiGeometry Types Almost fully
BigTable Columnoriented B-Tree Only2D
Fully
Only Distance()
Fully Basic Types
Not supported
Fully
Not supported Input: Input: .SHP .JSON .OSM .KML Output: Output: SLD styled .JSON PNG .KML
MongoDB MongoDB merupakan sebuah DBMS non relasional yang berorientasi dokumen dan bersifat open source yang ditulis dalam C++. MongoDB dikembangkan oleh perusahaan 10gen. Sebuah basis data pada MongoDB berisi satu atau lebih collections dari documents. Documents pada MongoDB dapat berisi nilai yang nilai tersebut dapat berisi sebuah document lain, kumpulan document, atau tipe data dasar seperti Double, String, dan Date. MongoDB menyediakan tipe pengindeksan geospasial guna mendukung keperluan kueri geospasial seperti 2D dan 2DSphere. Indeks 2D digunakan untuk menyimpan data sebagai titik pada bidang datar dua dimensi. Sedangkan apabila titik tersebut disimpan pada bidang lengkung maka indeks 2DSphere dapat digunakan. Secara default, sistem referensi koordinat yang digunakan MongoDB pada objek lengkung seperti bumi yaitu WGS84. MongoDB mendukung tipe data geospasial seperti Point, LineString, Polygon, MultiPoint, MultiLineString,
5
MultiPolygon, Feature, FeatureCollection, dan GeometryCollection (de Souza et al. 2014). Geoserver Geoserver adalah sebuah perangkat lunak open source yang dibangun dengan menggunakan Java yang memungkinkan pengguna untuk menampilkan dan memanipulasi data geospasial. Geoserver dirancang untuk interoperability yaitu menerbitkan data dari semua sumber data spasial dengan menggunakan standar terbuka. Sebagai project berbasis komunitas, Geoserver dikembangkan, diuji, dan didukung oleh berbagai kelompok individu dan organisasi dari seluruh dunia. Geoserver adalah implementasi dari Open Geospatial Consortium (OGC) Web Feature Service (WFS) dan Web Coverage Service (WCS) standar, serta high performance Web Map Service (WMS) (Geoserver 2014). WFS Web Feature Service (WFS) adalah standar yang dibuat oleh OGC yang mengacu pada pengiriman dan penerimaan data geospasial melalui protokol HTTP. Versi saat ini dari WFS adalah 1.1.0. GeoServer mendukung versi 1.1.0 (bawaan sejak GeoServer 1.6.0) dan versi 1.0.0. WFS yang digunakan sekarang adalah versi 1.1.0 tetapi WFS versi 1.0.0 masih digunakan sampai sekarang. Ada beberapa perbedaan di antara kedua versi tersebut tetapi secara keseluruhan sintaks yang dipakai hampir sama (Geoserver 2014).
METODE PENELITIAN Pelaksanaan penelitian ini meliputi beberapa tahapan proses yang digambarkan melalui suatu metode penelitian pada Gambar 2. Mulai
Analisis Kebutuhan
Praproses Data Data Modelling Integrasi Data Pengujian
Tidak Berhasil?
Gambar 2 Tahapan penelitian
Ya
Hasil
6
Analisis Kebutuhan Analisis kebutuhan dilakukan untuk mengetahui spesifikasi minimum yang dibutuhkan untuk mengolah atribut data spasial. Selain itu, tahap ini juga dilakukan untuk mengetahui perangkat lunak apa saja yang dibutuhkan untuk mengolah atribut data spasial tersebut, karena data yang digunakan berasal dari pengguna Twitter yang berbeda-beda atributnya. Dari tahap ini diperoleh juga ilustrasi penelitian. Ilustrasi penelitian ini dapat dilihat pada Gambar 3.
Shapefile
MongoDB
Twitter
OSM
P r a p r o s e s
Text
<… >
Integrasi
browser "kebakaran" titik pusat Gambar 3 Ilustrasi penelitian Ilustrasi penelitian pada Gambar 3 menunjukkan alur penelitian. Pertama data dari Twitter memasuki tahap praproses dengan dua batasan yaitu tweet yang mengandung kata "kebakaran" dan pada titik pusat tertentu. Data teks yang dihasilkan dari tahap praproses kemudian dibuat modelnya. Setelah itu data disimpan pada MongoDB. Data yang telah disimpan kemudian diintegrasikan dengan data vektor dan service OpenStreet Map sebagai dasarnya pada Geoserver agar dapat ditampilkan pada browser. Praproses Data Data diperoleh dari beragam tweet mengenai kebakaran yang diekstrak secara manual dari sosial media Twitter. Data yang diekstrak merupakan poin penting dari sebuah tweet, di antaranya lokasi, waktu, nama, ilustrasi maupun keterangan lainnya mengenai suatu kejadian.
7
Data Modelling Data modelling dilakukan untuk merancang kerangka basis data. Hasil dari tahap ini adalah sebagai acuan minimum isi dari setiap dokumen. Data modelling terdiri dari tiga tahap pemodelan, yaitu: pemodelan konsep, pemodelan logika, dan pemodelan fisik. Integrasi Data Pada tahap ini dilakukan integrasi terhadap data yang telah melalui tahap praproses pada MongoDB dengan Geoserver. MongoDB dipilih karena penelitian ini bertujuan agar pengguna dapat memasukkan atau menampilkan informasi yang jenisnya berbeda-beda. Selain itu pada tahap ini dilakukan juga integrasi terhadap atribut id dari data vektor. Hal ini bertujuan untuk mereferensikan lokasi pada data atribut dengan titik koordinat pada bidang proyeksi peta. Pengujian Pengujian dilakukan dengan metode blackbox. Bagian-bagian yang diuji meliputi kemampuan portal dalam menampilkan data atribut pada titik koordinat tertentu melalui web browser. Apabila pada tahap pengujian sistem ditemukan kegagalan maka kembali ke tahap integrasi data.
HASIL DAN PEMBAHASAN Analisis Kebutuhan Pada tahap ini dilakukan analisis terhadap sistem yang sebelumnya dikembangkan oleh Hidayat (2013). Hidayat (2013) menggunakan Opengeo Suite 3.0 sebagai paket perangkat lunak untuk mengolah data spasial dan menampilkan informasinya. Opengeo Suite 3.0 belum mendukung penggunaan ekstensi MongoDB, sehingga penggunaannya pada penelitian ini masih terbatas. Analisis juga dilakukan dengan melihat data yang digunakan pada penelitian ini. Data yang digunakan pada penelitian ini merupakan data tweet diperoleh melalui API yang disediakan oleh Twitter. Data tersebut terdiri atas berbagai atribut dengan jumlah dan tipe yang berbeda untuk setiap tweet-nya, termasuk data spasial. Oleh karena itu diperlukan sebuah DBMS yang mampu mengelola data yang beragam tersebut. Selain itu, DBMS yang digunakan harus dapat menampung data spasial. Oleh karena itu diperlukan sebuah basis data NoSQL. Berdasarkan perbandingan pada Tabel 1, diperoleh kesimpulan bahwa basis data yang akan digunakan pada penelitian ini yaitu MongoDB meskipun fitur yang dimiliki tidak selengkap Neo4j. MongoDB dipilih karena menyesuaikan dengan data API Twitter yang digunakan pada penelitian ini. Data tersebut belum terlalu
8
kompleks sehingga fitur yang dimiliki MongoDB masih dapat mengakomodasinya. Berdasarkan hasil analisis yang dilakukan, diperoleh kebutuhan perangkat lunak yang diperlukan dalam melakukan penelitian. Penelitian ini menggunakan beberapa komponen perangkat lunak, yaitu sebagai berikut: DBMS MongoDB 2.6. Robomongo 0.8.4 sebagai antarmuka MongoDB. Opengeo Suite 4.1 sebagai proyeksi peta. Sistem operasi Microsoft Windows 8.0. Selain itu, penelitian ini dilakukan menggunakan perangkat keras sebagai berikut: Prosesor AMD E-350 1.60 GHz. RAM 4GB DDR3. Hard disk 100 GB. Tahap analisis kebutuhan juga menghasilkan arsitektur sistem yang menggambarkan penyusun sistem secara umum. Arsitektur sistem dapat dilihat pada Gambar 4.
mongod
doc1 … MongoDB
Gambar 4 Arsitektur sistem MongoDB terdiri atas beberapa komponen. Mongod atau mongo daemon merupakan komponen utama MongoDB yang menangani permintaan data, mengatur pengaksesan data, dan melakukan operasi pengelolaan pada latar belakang. Di sisi lain, Geoserver memiliki library atau toolkit yang dikembangkan oleh komunitasnya. Salah satu library yang dikembangkan yaitu Geotools. Geotools berkomunikasi dengan basis data MongoDB melalui komponen mongod. Setelah Geotools terhubung dengan MongoDB maka Geoserver akan menyediakan akses melalui web browser.
9
Praproses Data Setelah memperoleh perangkat lunak yang digunakan dari hasil analisi kebutuhan, tahap selanjutnya adalah melakukan pengambilan data tweet. Data tersebut diekstrak melalui API yang disediakan oleh pihak Twitter pada situs https://dev.twitter.com/rest/tools/console. Kueri yang digunakan pada konsol tersebut dapat dilihat pada Gambar 5, sedangkan proses pengisian basis data dapat dilihat pada Gambar 6.
Gambar 5 Konsol API Twitter Gambar 5 menunjukkan parameter yang digunakan untuk mendapatkan data. Parameter https://api.twitter.com/1.1/search/tweets.json? merupakan API method yang digunakan untuk menemukan tweet mengenai sesuatu. q=kebakaran merupakan kata kunci yang dicari dalam penelitian ini. geocode=-2.44565%2C117.8888%2C300mi merupakan parameter yang digunakan sebagai titik koordinat pusat pencarian tweet. count=100 menandakan jumlah maksimal tweet yang akan dikembalikan.
Gambar 6 Proses pengisian basis data
10
Proses pengisian basis data pada Gambar 6 dilakukan dengan menggunakan Robomongo. Selanjutnya agar data atribut yang telah dimasukkan ke dalam basis data dapat dikenali sebagai data spasial, data tersebut perlu dikenakan sebuah perintah db.collection.ensureIndex({“coordinates”: “2dsphere”}). Indeks 2dsphere merupakan sebuah kueri yang mendukung perhitungan geometris pada bangun ruang bola mirip bumi. Sistem referensi koordinat yang digunakan oleh MongoDB untuk objek lengkung seperti bumi adalah WGS84 dengan urutan sumbu koordinat longitude diikuti latitude (MongoDB 2013). Data Modelling Pengolahan data dimulai dengan membuat suatu kerangka awal basis data untuk menyimpan suatu atribut beserta isinya. Tahap ini terdiri atas tiga pemodelan. Pemodelan pertama adalah pemodelan secara konsep. Pemodelan ini menggambarkan bagaimana bentuk awal data. Bentuk awal data pada suatu tweet yang dikembalikan API Twitter secara utuh dapat dilihat pada Lampiran 1. Secara singkat, pemodelan konsep digambarkan melalui kerangka yang disusun sebagai berikut: <… >
> , lat:
>
Pemodelan kedua merupakan pemodelan secara logika. Pemodelan logika digambarkan melalui kerangka yang menjelaskan keterangan dari masing-masing atribut. Keterangan dari kerangka tersebut dapat dilihat pada Tabel 2. Tabel 2 Kerangka basis data Atribut Tipe Keterangan Id ObjectId menunjukkan identitas dari masing-masing koordinat Coordinates Point terdiri atas longitude dan latitude Text String menunjukkan keterangan dari suatu titik koordinat … * menunjukkan bahwa model data ini dapat berubah secara dinamis Pemodelan terakhir yaitu pemodelan secara fisik bagaimana data atribut tersebut disimpan DBMS. Bentuk data pada pemodelan fisik ini dapat dilihat pada Gambar 7.
11
Gambar 7 Pemodelan fisik pada Robomongo Integrasi Data Geoserver dapat membaca data dari berbagai sumber, misalkan basis data dari PostGIS, basis data MongoDB serta service OpenStreet Map. Penelitian ini terfokus pada Geoserver yang menyimpan dan mengalokasikan data atribut pada MongoDB. Secara default Geoserver tidak mendukung penggunaan basis data non relasional sebagai sumber datanya, namun pada Geoserver 2.5 telah dikembangkan ekstensi yang memungkinkan penggunaan basis data non relasional, khususnya MongoDB. Ekstensi tersebut ditambahkan dengan cara menyalin secara manual fail ekstensi MongoDB ke dalam direktori pemasangan Geoserver. Data yang diintegrasikan dapat dilihat pada Gambar 8.
Gambar 8 Integrasi data
12
Data pertama merupakan data tweet yang diperoleh dari API Twitter. Data tersebut dihubungkan dengan Geoserver menggunakan ekstensi yang disediakan Geotools. Data kedua merupakan data tutupan lahan Kalimantan Tengah tahun 2005 yang diperoleh dari penelitian Hidayat (2013). Data tersebut diperoleh dalam format shapefile. Data terakhir merupakan sebuah service yang disediakan OpenStreet Map. Data tersebut digunakan sebagai dasar dari peta. Tahapan pembuatan layer sehingga bisa ditampilkan pada halaman web adalah sebagai berikut: 1 Pembuatan Workspace, yaitu membuat area kerja untuk menyimpan layer yang memuat peta. Pada penelitian ini dibuat sebuah workspace dengan nama opengeo dan namespace URI dengan http://opengeo.org. 2 Penyimpanan fail ke Store. Store merupakan ruang untuk menyimpan data langsung dari sebuah fail spasial. Pada penelitian ini fail spasial yang digunakan adalah sebuah data berformat GeoJSON dalam basis data MongoDB. Parameter yang dimasukkan dapat dilihat pada Gambar 9.
Gambar 9 Parameter pembuatan Store Data Store diisi dengan localhost sebagai servernya lalu dilanjutkan dengan nama basis data yang digunakan. Basis data yang digunakan diberi nama landcover. Schema Store merupakan parameter yang diperlukan oleh Geoserver untuk menyimpan fail-fail yang berhubungan dengan basis data pada MongoDB.
13
3 Pembuatan Layer. Setelah pembuatan layer yang diisi dengan workspace yang dipilih maka layer tersebut dapat di-publish dan Geoserver akan menampilkan jendela konfigurasi sebelum mendapatkan peta berdasarkan aplikasi untuk menampilkan peta yang dipilih dengan sistem kerja WFS misalnya Openlayer ataupun GeoExplorer. Saat jendela konfigurasi terbuka layer yang di-publish tersebut butuh informasi lain seperti referensi sistem koordinat. Terdapat bounding box yang nilainya dapat dibangkitkan oleh latitude dan longitude dari data yang sudah dimasukan pada layer tersebut. Parameter yang diperlukan pada saat membuat layer dapat dilihat pada Gambar 10.
Gambar 10 Parameter pembuatan Layer EPSG merupakan singkatan dari European Petroleum Survey Group. EPSG mendefinisikan sistem referensi spasial. EPSG:4326 merupakan sistem referensi geografis latitude (lat) dan longitude (lon) dengan elipsoid World Geodetic System (WGS) 84 yang sesuai untuk koordinat Indonesia. 4 Layer Preview. Setelah layer dibuat maka selanjutnya peta dapat dilihat melalui menu layer preview dan terdapat tiga pilihan aplikasi untuk menampilkan peta (Openlayer, Google Earth dan GeoExplorer) tergantung kebutuhan. Pada penelitian ini aplikasi yang digunakan adalah GeoExplorer untuk lapisan user interface yang secara default terintegrasi dengan OpenStreetMap. 5 Setelah layer atribut data yang mengambil data dari MongoDB selesai dibuat, tahap selanjutnya yaitu membuat layer untuk data vektor. Parameter yang digunakan pada tahap ini dapat dilihat pada Gambar 11.
14
Gambar 11 Pembuatan lapisan vektor Data vektor yang digunakan pada Gambar 11 merupakan data yang diperoleh dari penelitian Hidayat (2013) sebelumnya. Data tersebut merupakan data tutupan lahan Kalimantan Tengah tahun 2005. Data diperoleh dalam format shapefile. Pengujian Pengujian dilakukan secara langsung dengan metode blackbox. Bagian yang diuji dan hasilnya dapat dilihat pada Tabel 3. Pengujian dilakukan dengan mengakses sistem melalui web browser. Informasi pada titik koordinat tertentu dapat tampil ketika pengguna melakukan klik pada titik koordinat yang telah diberi tanda. Hasil proyeksi koordinat pada peta dapat dilihat pada Gambar 12. Tabel 3 Hasil pengujian Kasus Uji Tampil informasi
Cari informasi
Skenario Pengujian Pengguna melakukan klik pada koordinat tertentu Pengguna memasukkan kata kunci pencarian
Hasil yang diharapkan Informasi pada koordinat ditampilkan.
Status OK
Informasi pencarian dapat ditampilkan
Gagal
15
Gambar 12 Hasil proyeksi Sistem menampilkan peta dengan service OpenStreet Map sebagai dasarnya. Lalu pada lapisan berikutnya ditampilkan data vektor tutupan lahan Kalimantan Tengah tahun 2005 berupa shapefile yang diperoleh pada penelitian Hidayat (2013) yang ditunjukkan dengan warna abu-abu. Lapisan terakhir merupakan atribut data tweet yang sebelumnya telah disimpan pada MongoDB yang ditunjukkan dengan titik-titik merah. Namun sistem ini belum mampu mengakomodasi pengguna yang ingin melakukan pencarian mengenai suatu keyword tertentu.
SIMPULAN DAN SARAN Simpulan Berdasarkan hasil pengujian, dapat disimpulkan bahwa pengolahan data atribut spasial dari awal hingga dapat ditampilkan berjalan dengan baik. Basis data non relasional dapat dibangun pada MongoDB dengan menggunakan data tweet mengenai "kebakaran". Selain itu penelitian ini mampu mengintegrasikan atribut data spasial berupa NoSQL pada MongoDB, RDBMS pada PostGIS serta OpenStreet Map sebagai WMS. Saran Pada penelitian selanjutnya diharapkan agar dapat membandingkan secara langsung kinerja dari sistem ini ketika dibangun menggunakan basis data MongoDB dengan basis data lainnya. Selain itu sistem ini dapat dikembangkan lagi agar tidak hanya menampilkan informasi, tetapi sistem dapat menerima masukan data spasial dari pengguna, dapat diterapkan pada server dengan sistem operasi Linux, serta dapat menampilkan data atribut berupa citra secara langsung.
16
DAFTAR PUSTAKA Amirian P, Basiri A, Winstanley A. 2013. NoSQL storage and management of geospatial data with emphasis on serving geospatial data using standard geospatial web services [Internet]. [diunduh 2014 November 29]. Maynooth (IE): Maynooth University. Tersedia pada: http://www.geos.ed.ac.uk/~gisteac/proceedingsonline/GISRUK2013/gisruk2 013_submission_42.pdf. Cattell R. 2010. Scalable SQL and NoSQL data stores [Internet]. SIGMOD Record, Vol. 39 No. 4, Desember 2010, pp 12 – 27. [diunduh 2014 Desember 6] Tersedia pada: http://www.cattell.net/datastores/Datastores.pdf. Damayanti DP, Nasrun M, Sabril MS. 2013. Analisis performansi sharding/partitioning pada document-oriented database (NoSQL). Bandung (ID): Institut Teknologi Telkom. de Souza Baptista C, Pires CES, Leite DFB, de Oliveiraa MG. 2014. NoSQL geographic databases: an overview. Geographical Information Systems: Trends and Technologies, 73. Pourabbas E, editor. Boca Raton (US): CRC Press. Geoserver. 2014. Geoserver manual [Internet]. [diakses 2014 November 23]. Tersedia pada: http://docs.geoserver.org/stable/en/user/introduction/ overview.html. Hidayat. 2013. Webgis penutupan lahan Kalimantan Tengah menggunakan Opengeo Suite 3.0. [skripsi]. Bogor (ID): Institut Pertanian Bogor. Hunter AJS, Steiniger S. 2012. Free and open source GIS software for building a spatial data infrastructure [Internet]. [diunduh 2014 November 22]. Calgary (CA): University of Calgary. Tersedia pada: http://www.geo.uzh.ch/~sstein/manuscripts/sstein_hunter_fosgis4sdi_v10_fi nal.pdf. MongoDB. 2013. MongoDB manual [Internet]. [diakses 2014 Oktober 16]. Tersedia pada: http://docs.mongodb.org/manual/core/2dsphere/. Rajabifard A, Williamson IP. 2001. Spatial data infrastructures: concepts, SDI hierarchy and future directions [Internet]. [diunduh 2014 Desember 8]. Victoria (AU): University of Melbourne. Tersedia pada: https://minervaaccess.unimelb.edu.au/bitstream/handle/11343/33897/66253_00001151_01 _4_01Raj_Iran.pdf?sequence=1.
17
Lampiran 1 Data kembalian API Twitter HTTP/1.1 200 OK x-frame-options: SAMEORIGIN content-type: application/json;charset=utf-8 x-rate-limit-remaining: 179 last-modified: Thu, 08 Jan 2015 02:18:49 GMT status: 200 OK x-response-time: 228 date: Thu, 08 Jan 2015 02:18:49 UTC Connection: keep-alive x-transaction: ab0fd39d70c5cd21 pragma: no-cache cache-control: no-cache, no-store, must-revalidate, pre-check=0, postcheck=0 x-connection-hash: ba8c3b3e8be1e85d8ba9d179b6d932f4 x-xss-protection: 1; mode=block x-content-type-options: nosniff x-rate-limit-limit: 180 expires: Tue, 31 Mar 1981 05:00:00 GMT set-cookie: lang=en set-cookie: guest_id=v1%3A142068352924427458; Domain=.twitter.com; Path=/; Expires=Sat, 07-Jan-2017 02:18:49 UTC content-length: 153327 x-rate-limit-reset: 1420684429 server: tsa_b x-twitter-response-tags: BouncerCompliant
18
strict-transport-security: max-age=631138519 x-access-level: read-write-directmessages { "statuses": [ { "metadata": { "iso_language_code": "in", "result_type": "recent" }, "created_at": "Wed Jan 07 21:14:52 +0000 2015", "id": 552936428020047900, "id_str": "552936428020047873", "text": "NOMOR PANGGILAN DARURAT KEBAKARAN : (0517). 43184 - 42859 | Jl. Lorong Said Alwi BARABAI - HST", "source": "Twitter for BlackBerry®", "truncated": false, "in_reply_to_status_id": null, "in_reply_to_status_id_str": null, "in_reply_to_user_id": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "user": { "id": 2903256061, "id_str": "2903256061", "name": "RAJAWALI FIRE RESCUE", "screen_name": "Bpkrajawali123", "location": "WALAU NYAWA KAMI TARUHAN NYA", "profile_location": null, "description": "Official Account Rajawali Fire Rescue PEMADAM KEBAKARAN SWASTA. kota Barabai kab.HST Kal-Sel. Menolong Dengan Ketulusan Hati Nurani", "url": null, "entities": { "description": { "urls": [] } }, "protected": false, "followers_count": 138, "friends_count": 426, "listed_count": 0, "created_at": "Tue Nov 18 03:06:23 +0000 2014",
19
"favourites_count": 35, "utc_offset": null, "time_zone": null, "geo_enabled": true, "verified": false, "statuses_count": 548, "lang": "id", "contributors_enabled": false, "is_translator": false, "is_translation_enabled": false, "profile_background_color": "C0DEED", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "profile_background_tile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/54837756458292 0192/ZYY8BLQX_normal.jpeg", "profile_image_url_https": "https://pbs.twimg.com/profile_images/5483775645829 20192/ZYY8BLQX_normal.jpeg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/2903256061/1 419725177", "profile_link_color": "0084B4", "profile_sidebar_border_color": "C0DEED", "profile_sidebar_fill_color": "DDEEF6", "profile_text_color": "333333", "profile_use_background_image": true, "default_profile": true, "default_profile_image": false, "following": false, "follow_request_sent": false, "notifications": false }, "geo": { "type": "Point", "coordinates": [ -2.5895, 115.38173 ] }, "coordinates": { "type": "Point", "coordinates": [ 115.38173, -2.5895 ]
20
}, "place": { "id": "67ee4e65b49cb758", "url": "https://api.twitter.com/1.1/geo/id/67ee4e65b49cb75 8.json", "place_type": "admin", "name": "South Borneo", "full_name": "South Borneo, Indonesia", "country_code": "ID", "country": "Indonesia", "contained_within": [], "bounding_box": { "type": "Polygon", "coordinates": [ [ [ 114.345859, -5.585365 ], [ 116.5559, -5.585365 ], [ 116.5559, -1.3150365 ], [ 114.345859, -1.3150365 ] ] ] }, "attributes": {} }, "contributors": null, "retweet_count": 0, "favorite_count": 0, "entities": { "hashtags": [], "symbols": [], "user_mentions": [], "urls": [] }, "favorited": false, "retweeted": false, "lang": "in"
21
} ], "search_metadata": { "completed_in": 0.16, "max_id": 552936428020047900, "max_id_str": "552936428020047873", "query": "kebakaran", "refresh_url": "?since_id=552936428020047873&q=kebakaran&geocode=2.44565%2C117.8888%2C275mi%20&include_entities=1", "count": 100, "since_id": 0, "since_id_str": "0" } }
22
RIWAYAT HIDUP Penulis dilahirkan di Serang pada Tanggal 25 Maret 1991 dari Bapak Sugiono dan Ibu Suwartini. Penulis adalah putra kedua dari tiga bersaudara. Tahun 2009 penulis lulus dari SMA Negeri 1 Cilegon kemudian pada tahun yang sama penulis diterima sebagai mahasiswa Diploma IPB jurusan Teknik Komputer melalui jalur Undangan Seleksi Masuk IPB. Penulis menyelesaikan studi di Diploma IPB pada tahun 2012 kemudian melanjutkan studi pada Program Sarjana Ilmu Komputer, Alih Jenis, Fakultas Matematika dan Ilmu Pengetahuan Alam IPB untuk meraih gelar Sarjana Komputer.