digilib@itb.ac.id +62 812 2508 8800

Data spasial yang semakin lama semakin banyak beredar di internet membuat kemampuan untuk mengolah data spasial pada basis data NoSQL semakin penting. Hal ini disebabkan karena basis data NoSQL, seperti MongoDB, dirancang untuk mampu menyimpan data yang besar dan bertambah seiring berjalannya waktu. Namun sampai saat ini fungsi-fungsi yang tersedia pada MongoDB masih sangat minim. Oleh karena itu, pada tugas akhir ini dirancang sebuah cara untuk melakukan pengolahan data spasial yang tersimpan di dalam basis data MongoDB. Salah satu cara untuk mengolah data spasial yang tersimpan di dalam MongoDB adalah dengan mengambil data yang dibutuhkan dari MongoDB, lalu mengolahnya dengan menggunakan fungsi spasial di luar MongoDB. PostgreSQL, dengan ekstensinya PostGIS, dapat menjadi pilihan sebagai tempat pengolahan data spasial dengan menggunakan fungsi spasial yang tersedia di PostGIS. Dengan mempertimbangkan fungsi-fungsi PostGIS yang dapat dengan mudah diakses menggunakan SQL, maka digunakan SQL sebagai bahasa query-nya. Query pengambilan data PostgreSQL dan MongoDB memiliki beberapa kesamaan komponen, yaitu sama-sama memanfaatkan nama tabel, atau collections pada MongoDB, dan selection. Ketiga informasi tersebut dapat dimanfaatkan untuk membangun query pengambilan data pada MongoDB. Data dari MongoDB kemudian disisipkan ke dalam query SQL, sebagai tabel konstan, untuk menjadi sumber datanya. Implementasi dilakukan dengan memanfaatkan library node-sql-parser yang tersedia pada Node.js. Library tersebut mengubah query menjadi bentuk pohon sintaks, sehingga mempermudah apabila ingin menambah atau menghapus komponen-komponen yang ada dalam pohon query tersebut. Pengujian dilakukan menggunakan query yang mengandung berbagai fungsi spasial dan subquery. Hasil pengujian sesuai dengan keluaran yang diharapkan. Aplikasi ini selanjutnya dapat dikembangkan untuk mendukung basis data NoSQL lainnya.