Kuliah Geographic Information System (GIS)

Seperti semester yang lalu dimana saya mengambil mata kuliah wajib jurusan lain yaitu Artificial Intelligent and Neuro-Fuzzy (AI), kali ini saya mengambil mata kuliah wajib jurusan lain yaitu Geographic Information System (GIS). Kalau AI adalah jurusan mechantronic, GIS masuk dalam jurusan Remote Sensing – Geographic Information System (RS-GIS).

Walaupun sudah tiga tahun saya melakukan riset dengan tema GIS saya belum pernah mendapat pengetahuan dasar GIS. Riset yang dibiayai dikti (hibah bersaing) tersebut dengan menggunakan Matlab. Sementara mata kuliah GIS di Asian Institute of Technology (AIT) Thailand (http://www.rsgis.ait.ac.th/main/) menggunakan produk ESRI dan tentu saja yang open source juga dipelajari baik desktop maupun web.

Walaupun produk-produk ARCxxxx dari ESRI tidak gratis tetapi ternyata bajakannya mudah dijumpai di internet, bahkan versi 10 sudah tersedia. Untuk lab sendiri masih menggunakan versi yang lama yang jika diinstall di windows 64 bit akan muncul pesan kesalahan.

Tetapi ternyata sudah ada juga ArcView 3.3 yang 64 bit. Untuk menginstall-nya lumayan sederhana, tinggal klik, tungga dan selesai. Hari ini saya mencoba membuat aplikasi sederhana yang berfungsi memahami konsep tipe data pada GIS (vektor, raster, dan atribut).

Kendala yang ada tentu saja banyak, mungkin karena baru pertama kali menggunakan. Terutama saat join antara dua tabel terkadang tidak berhasil, padahal tidak ada pesan kesalahan. Sistem informasi berbasis data spasial (data dengan koordinat lokasi) saat ini sedang giat-giatnya di explore oleh para periset di seluruh dunia.

Mahkamah Konstitusi – Benteng Terakhir

Setelah kisruh yang berlarut-larut dengan diselingi demonstrasi yang sangat mengganggu akhirnya tanggal 21 Agustus 2014 Mahkamah Konstitusi (MK) mengumumkan keputusannya tentang kasus pilpres yang diajukan oleh kubu Prabowo-Hatta. Hasilnya sangat mengecewakan kubu pemohon dimana seluruh gugatannya ditolah oleh MK yang dipimpin oleh ex aktivis dari partai Bulan Bintang, Hamdan Zoelva. Untungnya pembacaan keputusan dilakukan malam hari setelah para demonstran yang melakukan aksi demo di sekitar gedung mahkamah konstitusi sudah pulang sehingga tidak terjadi aksi pengrusakan di sekitar gedung MK walaupun beberapa tempat, seperti patung kuda, rusak akibat banyaknya massa yang berdemonstrasi (untungnya kendaraan perang dunia kedua, UNIMOG berhasil disita karena akan menerobos pagar berduri).

Penasehat hukum kubu yang kalah melakukan protes karena hakim sama sekali tidak menyebut adanya kesalahan dalam pilpres kali ini. Padahal menurutnya sidang etik KPU, yang berlangsung sebelumnya, telah memecat dan menyatakan beberapa anggotanya telah melanggar etika. Tetapi sepertinya hakim masih menganggap pelanggaran etika tersebut belum sampai melanggar hukum (sama seperti sidang etik perwira pasca kerusuhan Mei 98 yang memutuskan Letjen Prabowo Subianto melanggar etika tetapi tidak melanggar hukum/tidak dihukum). Apa boleh buat, karena keputusan MK adalah keputusan terakhir dan mengikat, tidak boleh ada pihak lain yang keberatan terhadap keputusan itu.

Kubu Prabowo-Hatta, koalisi merah putih, segera mengadakan jumpa pers yang berisi penerimaan mereka terhadap keputusan MK walaupun berpendapat kurang tepat. Sayang tidak dihadiri oleh capres dan cawapresnya yang saat itu sedang mengunjungi para demonstran yang berada di rumah sakit terkena peluru karet, gas air mata, dan lain-lain. Sayangnya pula tidak ada kata-kata selamat terhadap presiden baru Indonesia, Joko Widodo dan wapres Jusuf Kalla.

Keesokan harinya di PRJ, Jokowi-JK mengadakan jumpa pers mengenai tugas-tugasnya yang berat setelah pelantikan nanti. Dimulai dari kasus kementrian yang harus dibenahi (dibuat ramping, sesuai idenya dahulu), hingga kasus subsidi BBM yang terlambat dihapus ketika presiden masih dipegang Susilo Bambang yudhoyono. Jusuf Kala mengatakan tidak menghapus subsidi BBM, hanya saja mengalihkan dari BBM ke rumah sakit, pendidikan, nelayan dan lainnya, dengan kata lain subsidi BBM menjadi subsidi rakyat. Selamat untuk presiden ketujuh Indonesia, Joko Widodo .. Salam tiga jari.

‘Password crypt authentication not supported’ Problem di ODBC postgreSQL

Berhubung aplikasi WebGIS menggunakan Ruby on Rail dengan database PostgreSQL mau tidak mau Matlab menggunakan dua metode koneksi ke database tersebut:

  1. Dengan JDBC
  2. Dengan ODBC

Berhubung error ketika menggunakan JDBC dimana ada pesan kesalahan pada driver, akhirnya saya memutuskan untuk menggunakan ODBC. Buka ODBC di Administrative Tools yang sesuai (32 bit atau 64 bit), dilanjutkan dengan membuat database-nya.

Ketika selesai dibuat, check apakah sudah terbaca di Matlab dengan instruksi di command window:

getdatasources

Jika datasource ODBC Anda berhasil dibuat, akan muncul namanya di antara tanda petik pada variabel ans. Jika tidak, maka Anda harus mengulangi langkah pembuatan ODBC tersebut. Lakukan pembuatan koneksi.

Perhatikan pesan kesalahan (Message) : Password crypt authentication not supported. Pesan ini terjadi karena Windows tidak menerapkan encrypt password. Hal ini terjadi karena ketika membuat ODBC saya memilih PostgreSQL saja (default). Harusnya saya memilih PostgreSQL dengan unicode:

Disable SSL Mode kemudian lakukan ‘Test‘ dengan menekan tombol Test dilanjutkan dengan ‘Save‘. Buat koneksi conn lagi ke PostgreSQL (lihat help untuk koneksi database dengan Matlab). Pastikan tidak ada pesan kesalahan, serta jika Anda ketik isconnection(conn) di command window jawabannya satu bukan nol.

Cek dengan mengambil data:

Tampak isi tabel Projects saya di Ruby on Rail.

Koneksi Matlab dengan Sistem Basis Data

Lama tidak ngeblog tidak enak juga. Banyak hal-hal yang bisa saya sharing ke orang lain yang siapa tahu membutuhkan informasi tertentu yang saya miliki. Terkadang sedih juga membaca komentar-komentar di tulisan saya yang mengatakan “sotoy”, jangan asal tulis, dan lain-lain, bahkan ada yang mengatakan saya asal “copas”. Tapi sesuai dengan prinsip situs saya “just a Little Kindness”, saya coba untuk memberi kebaikan walau hanya sedikit.

Saya dulu pernah membuat tulisan mengenai akses database dengan Visual Query Builder, dan banyak yang tidak puas dengan koneksi seperti itu. Lama saya tidak mencoba “ngoprek” hal itu karena belum merasa perlu karena akses dapat dilakukan dengan menggunakan excel atau notepad. Untuk data kecil sebenarnya tidak ada masalah, tetapi jika data yang berukuran besar, Excel tentu saja tidak sanggup menanganinya. Saya pernah mencoba mengkonversi file CSV ke dalam Access kemudian saya kembalikan lagi menjadi TXT untuk diolah Matlab dalam rangka Data Mining (waktu itu tugas Text Mining dari dosen saya). Tetapi tentu saja tidak efektif. Perlu dilakukan koneksi data langsung dari DBMS ke Matlab.

Berawal dari Hibah Penelitian dari Dikti (Hibah Bersaing) dimana tahun ketiga saya harus mengkoneksikan GIS desktop dengan Web GIS, mau tidak mau saya membutuhkan sistem basis data. Terpaksa saya harus mengkoneksikannya langsung. Cari paling mudah adalah lewat mekanisme Open Data Base Connectivity (ODBC) yang tersedia di Windows. ODBC ini memiliki keunggulan dalam hal fleksibilitas, dimana jika kita sudah merakit ODBC maka program yang telah dibuat dengan Matlab tidak tergantung dengan software DBMS yang telah ada karena koneksi antara program dengan database lewat ODBC, beda jika kita mengkoneksikan Matlab dengan Software DBMS langsung (Access, MysQL, Oracle, PostgreSQL, dll). Jika kita mengganti software DBMS, kita harus mengeset lagi program yang telah kita buat. Dengan DBMS, jika kita akan mengganti Software DBMS, tinggal menghubungkan Software DBMS dengan ODBC lagi, termasuk user dan password jika diperlukan.

Untuk membuat ODBC Anda dapat membaca literatur yang membahas tata caranya. Yang penting Anda ketahui adalah Windows yang Anda miliki, 64 Bit atau 32 Bit. Jika 32 bit sepertinya tidak ada masalah. Nah, masalah muncul jika windows yang digunakan versi 64 bit, karena ODBC yang digunakan harus mundur yang 32 bit karena software DBMS kebanyakan masih berversi 32 bit. Untuk windows 8 dengan searching di control panel, akan ditemukan dua pilihan, ODBC 32 bit atau ODBC 64 bit. Sedangkan jika Windows 7 64 bit, maka Anda harus masuk ke folder SysWOT di C: dan menjalankan file odbcad32.exe. Jika Anda memaksa menggunakan ODBC 64 bit padahal program yang Anda gunakan versi 32 bit, akan memunculkan pesan kesalahan saat melakukan koneksi Matlab dengan ODBC (mismatch .. bla bla).

Untuk menghubungkan Matlab dengan ODBC dapat Anda lakukan dengan langkah sebagai berikut. Misalkan Anda telah memiliki ODBC dari database Anda, misalnya bernama “lokasi” dengan user ID “user” dan password “123”, lakukan koneksi dengan instruksi:

Conn=database(‘lokasi’,’user’,’123)

Cukup sederhana. Cek koneksi dengan instruksi isconnection(Conn). Jika jawabannya 1 maka koneksi berjalan dengan baik, sebaliknya jika jawabannya nol, maka Anda harus mengecek error-nya. Ketik saja Conn.Message untuk melihat instruksi kesalahannya. Jika Database telah terisi, Anda dapat mengecek dengan instruksi sql “select”.

Results=fetch(conn,’select * from lokasi’)

Misalnya tabel yang ada di database kita lokasi. Anda akan menerima data dari database dengan nama Results yang siap Anda olah dengan Matlab. Bagaimana dengan input data ke database? Mudah saja, gunakan instruksi insert. Hanya saja sedikit rumit karena ada tata cara penulisan nama field yang ada di tabel. Misal ada dua field yaitu x dan y. Kemudian akan saya isi data dengan x=1 dan y=2, maka gunakan instruksi sebagai berikut:

Insert(Conn,’lokasi’,[{‘x’} {‘y’}],[1 2])

Jika tidak ada pesan kesalahan sintax di Matlab, cek apakah data sudah masuk di database Anda. Selamat mencoba.