Menyelesaikan masalah “Architecture Mismatch Driver & Application” ketika mengakses Database di Matlab

Melanjutkan postingan yang lalu tentang problematika explore database di Matlab yang melibatkan versi 64 atau 32 bit. Masalah incompatible ini sepertinya tidak direspon dengan baik. Baik oleh Windows maupun Matlab. Sepertinya ada sedikit “paksaan” bagi pengguna versi 32 bit untuk beralih ke versi 64 bit. Padahal banyak yang masih menerapkan versi 32 bit di sistem yang sedang berjalan.

Install Microsoft Access Versi 64 Bit

Pengguna Matlab 64 bit sepertinya sudah harus beralih ke versi 64 bit untuk semua hal yang terlibat dengan Matlab (environment), seperti OS dan sistem basis data-nya. Jika tidak maka akan muncul peringatan adanya ketidaksesuaian dari sisi arsitektur antara driver ODBC dan aplikasi. Perbedaan arsitektur merupakan perbedaan yang tidak sepele dalam suatu sistem perangkat lunak.

Repotnya untuk Microsoft Access, tidak bisa langsung memasang yang 64 bit tanpa meng-uninstall versi yang sebelumnya. Perlu diperhatikan jika ada visio versi 32 bit, windows meminta uninstall juga. Jadi kalau sayang dengan visio yang 32 bit atau tidak punya installer visio yang 64 bit, sebaiknya difikirkan terlebih dahulu, atau siapkan dulu visio versi 64 bitnya.

Tadinya saya masih ragu, jangan-jangan ketika uninstall yang 32 bit dan install yang 64 bit tetap saja database tidak bisa diakses Matlab 64 bit, tetapi ternyata Alhamdulillah bisa. Mungkin ini bisa menjawab pertanyaan dari pembeli buku saya tentang database di Matlab yang tidak bisa terkoneksi dengan access karena beda versi “bit”nya. Oiya, jangan khawatir, semua settingan di office 32 bit yang lalu tetap otomatis terbawa di versi 64 bit yang baru.

Mengecek Koneksi Database di Matlab

Ketika sudah menginstall versi 64 bit, pastikan di ODBC yang 64 bit terisi driver dan platform-nya yang baru (64 bit). Selalu gunakan driver untuk kedua versi access (*.mdb dan *.accdb). Pastikan ketika mengklik Configure… tida ada pesan “architecture mismatch ..” lagi.

Tambahkan satu User DSN baru dan coba buka dengan Matlab 64 bit. Setelah mengetik dexplore di command window Matlab, cari ODBC yang baru saja dibuat. Pastikan database yang dibuat dengan Access dapat dilihat isinya.

Sekian dulu info singkat ini, semoga bermanfaat dan semoga pula naskah tentang data spasial dan bigdata dengan Matlab dapat rampung secepatnya.

Iklan

Problematika Explore Database pada Matlab

Matlab terkini sudah memiliki fasilitas untuk mengeksplore suatu database. Hampir semua database dapat diakses dengan Matlab, khususnya yang berbasis Windows. Hanya saja ada sedikit permasalahan dengan kompatibilitas antara 64 bit dengan yang 32 bit. Berikut beberapa kemungkinan yang terjadi antara Windows, Matlab, dan Sistem database yang digunakan.

Baik Windows, Matlab dan Database 32 Bit atau 64 Bit

Untuk kasus ini tidak ada masalah yang berarti. Banyak tutorial yang membahas bagaimana mengkoneksikan database dengan Matlab dengan versi bit yang sama. Kebanyakan database dapat digunakan dengan menggunakan fasilitas Open Database Connectivity (ODBC) bawaan Windows. Link youtube ini cukup baik menjelaskan bagaimana mengkoneksikan database ke Matlab 64 bit.

Windows 64 Bit, tetapi Matlab dan Database 32 Bit

Untuk kasus ini ada sedikit masalah ketika mengeset ODBC karena driver yang tidak muncul. Untungnya Windows 64 bit masih memberikan fasilitas untuk mengelola ODBC versi sebelumnya (ODBC 32 bit). Cara mudahnya adalah dengan mengetik: odbcad32 di menu RUN. Letak file ‘odbcad32.exe’ ada di: C:\Windows\SysWOW64\odbcad32.exe.

Windows dan Matlab 64 Bit, tetapi database 32 Bit

Masalah ini banyak ditanyakan oleh pengguna di internet. Hampir semua jawaban tidak memuaskan, bahkan ketika ditanyakan ke pihak Microsoft. Kebanyakan kasusnya adalah user menginstall microsoft access 32 bit sebagai database tetapi memiliki Matlab versi 64 bit, misalnya Matlab 2013b.

Dikatakan bahwa DSN pada ODBC yang dibuat tidak matching antara arsitektur dengan driver aplikasi. Saran yang paling ampuh adalah menginstall ulang Microsoft Access dengan versi yang sama dengan Matlab tersebut (versi 64 bit). Matlab sendiri menganjurkan menggunakan 64 bit karena memiliki keunggulan tersendiri dalam penggunaan RAM maksimalnya (melebihi 3 Gb).

Menggunakan Database non Microsoft

Sebenarnya saya mencari driver yang bisa menambahkan driver access di kolom isian driver 64 bit. Ternyata selalu saja ada instruksi error bahwa access yang diinstall tidak 64 bit. Jika enggan menguninstall office 32 bit, ada alternatif database lain yang bisa digunakan yaitu MySQL. Ketika menginstall ODBC untuk MySQL maka di driver pada ODBC 64 bit muncul driver baru seperti di bawah ini.

Tampak MySQL ODBC 5.3 pada driver. MySQL sendiri dapat menggunakan aplikasi XAMM yang ringan karena Apache tidak selalu “ON” ketika tidak digunakan. Untuk menjalankannya tinggal men-doble klick XAMM start di explore.

Untuk mengujinya silahkan menggunakan fasilitas dexplore pada Matlab dengan mengetikannya di command window. Tekan “connect” yang terletak di kiri atas Matlab (atau otomatis akan meminta koneksi ke ODBC yang diinginkan). Pilih ODBC yang sudah dibentuk sebelumnya dengan pilihan driver MySQL.

Kemudian pastikan tampak fields yang ada di tabelnya. Silahkan yang suka “ngetik coding” di command window mengecek apakah koneksi sudah berjalan seperti berikut ini.

Pastikan isconnection bernilai “1” yang menandakan bahwa database telah berhasil terkoneksi ke Matlab anda. Selamat mencoba dan semoga bermanfaat.

NB: Silahkan beli buku yang disertai source code untuk melakukan komputasi dengan Matlab yang terintegrasi dengan database (access dan mysql), online maupun di toko buku Gramedia (semoga stok masih ada): https://www.gramedia.com/pemrograman-basis-data-di-matlab-cd.html.

Riset Tentang Web Mining

Lanjutan dari postingan yang lalu. Semua orang pasti memiliki jawaban yang sama tentang pentingnya aplikasi web, yaitu sangat penting. Mulai dari facebook, google, baca berita, dan mencari informasi lainnya selalu menggunakan aplikasi berbasis web. Walaupun saat ini aplikasi android sudah menjamur, tetapi tetap saja web menjadi hub yang menghubungkan client dengan server aplikasi dan server data. Perkembangannya yang sangat cepat membuat riset di bidang ini harus secepat mungkin karena satu teknologi akan segera usang seiring berjalannya waktu.

Banyak Anak Muda yang Tertarik

Web mining merupakan ilmu yang baru. Anak-anak muda karena sudah mengenal web sejak sekolah menengah tidak akan merasa kesulitan untuk mempelajarinya. Terkadang mereka lebih mahir dari pada guru-guru bahkan dosennya. Ketika saya mengikuti wawancara untuk mendapatkan beasiswa S3, saya iseng meminjam proposal milik peserta yang kebanyakan masih muda. Kebanyakan mereka ingin riset yang ada hubungannya dengan web, misalnya semantik web.

Bukan hanya untuk riset, banyak orang menggunakan web untuk mencari uang (affiliate marketing) dengan teknologi-teknologi yang dikembangkan seperti web crawler ataupun robot-robot yang diistilahkan dengan nama bot.

Bidang-bidang Riset Web Mining

Sesuai dengan unsur katanya, web mining berarti menggali informasi yang ada di web. Berbeda dengan data mining yang menggali informasi dari data terstruktur, web mining menggali informasi dari data semi-structure bahkan unstructured. Web mining lebih sulit karena jenis datanya yang tidak terstruktur dan terkadang banyak data “sampah” yang mengganggu proses penggalian data.

Untuk melakukan riset, langkah pertama yang harus ditempuh adalah mempelajari prinsip-prinsip dasar yang sudah baku di buku teks. Jangan sampai kita melakukan riset terhadap sesuatu yang sudah “established”. Teori-teori di buku biasanya sudah fix dan diakui kebenarannya oleh hampir peneliti-peneliti di dunia. Biasanya mahasiswa S3 terkadang mengambil mata kuliah bidang yang akan diriset sebelum masuk ke kandidasi (syarat untuk diperbolehkan meneliti). Langkah berikutnya adalah men-searching jurnal-jurnal terkini tentang web mining.

Untuk buku silahkan baca buku-buku yang beredar, terutama yang bahasa Inggris, misalnya “Mining the web” dan buku-buku semantic web lainnya (Linoff & Berry, 2001; Yu, 2011). Di sini disebutkan ada tiga aktivitas Web mining yang penting:

  • Mining structure
  • Mining usage
  • Mining content

Structure Mining

Silahkan masuk ke salah satu bidang web mining di atas. Yang pertama adalah Mining structure. Penggalian ini bermaksud mencari struktur dari web, biasanya link-link yang ada dalam suatu halaman. Halaman mana saja yang kerap menjadi target dari halaman yang lain? Halaman mana yang menunjuk ke halaman-halaman lain? dan seterusnya. Grafik yang sering dibuat adalah graf berarah yang menunjukan hubungan satu halaman dengan halaman lainnya. Penerapan yang sering dibuat adalah menghitung sitasi terhadap suatu halaman. Istilah yang sering muncul adalah hub, authorities, dan populer site. Tidak hanya melibatkan halaman yang berbeda, struktur lokal pun masuk dalam domain structure mining asalkan melibatkan hubungan-hubungan link.

Mining Usage Pattern

Di sini ada tambahan kata “pattern” karena biasanya yang digali adalah pola penggunaan suatu page. Dua bidang utamanya adalah clickstream analysis dan web logs. Masalah-masalah yang muncul adalah bersih atau tidaknya page yang dikoleksi. Oleh karena itu diperlukan langkah-langkah sebagai berikut:

  • Filtering
  • Despidering (anti spider)
  • User identification
  • Sessionalization, dan
  • Path completian.

Mining Content

Menggali isi web-web yang berserakan di dunia maya membutuhkan keahlian dalam menangani text/string karena sebagian besar web tidak terstruktur. Baca dan pelajari information retrieval dari buku-buku yang tersedia, misalnya buku yang gratis didonlot dari penerbitnya ini. Konsep-konsep stemming, dan sejenisnya (recall, precission, dll) banyak di bahas di buku tersebut. Oiya, sebagian saya tulis di post tentang information retrieval. Silahkan riset jika tertarik, saya sendiri masih meraba-raba, jika tidak sanggup ya back to basic: spatial data optimization.

Ref:

  • Linoff, G. S., & Berry, M. J. A. (2001). Mining the Web. United States of America: Wiley.
  • Yu, L. (2011). A Developer’s Guide to the Semantic Web. New York: Springer.

 

Mining the Web – Bidang Yang Kian Penting Saat ini

Menurut Prof. Rhenald Kasali, beberapa perusahaan ternama akhir-akhir ini jatuh secara tiba-tiba karena fenomena “disruption”. Fenomena ini merupakan bagian dari konsep “the invisible hand” dari Adam Smith kira-kira se-abad yang lalu. Tapi fenome disruptive muncul karena kejatuhannya yang tiba-tiba tanpa adanya gejala-gejala, ibarat serangan jantung, perusahaan-perusahaan raksasa tumbang mengenaskan. Laporan keuangan yang ok, tidak ada indikasi penetrasi atau serangan dari pesaing, tapi entah mengapa tiba-tiba ditinggalkan konsumen dan hancur. Di sisi lain, digrebeknya grup saracen yang berbasis online, dipenjaranya seorang gubernur karena rekamannya yg beredar online, tokoh aliran tertentu yang masih menunggu diperiksa, dan hal-hal lainnya mewarnai dunia digital di tanah air.

Dulu sempat mengajar e-commerce dan data mining tetapi tidak begitu membahas masalah dampaknya di masyarakat. Ternyata sangat besar. Konsumen mulai bergeser dari offline menjadi online (elektronik). Demo besar-besaran perusahaan taksi ternama di tanah air merupakan suatu sinyal akan adanya perubahaan perilaku konsumen dari offline transaction menjadi online. Dari sisi data mining, yang saya ajarkan (maupun buku yang diterbitkan) hanya berfokus ke database konvensional saja (bukan berbasis web). Oleh karena itu, upgrade ke versi web untuk mendukung terapannya dalam e-commerce sepertinya harus dimulai.

Ketika main ke perpustakaan, saya menjumpai buku lama terbitan 2001 yang membahas data mining pada web. Tahun-tahun itu merupakan tahun mulai berkembangnya riset-riset berbasis web yang hasilnya adalah aplikasi-aplikasi yang banyak dijumpai oleh orang-orang seperti sosial media, entertainment, dan sejenisnya. Berikut intro yang sari sarikan dari buku tersebut.

E-Commerce

Sesuai dengan namanya, e-commerce menjembatani antara produsen dengan konsumen lewat kanal/saluran baru yaitu transaksi elektronik, itu saja. Tetapi ternyata dengan pemanfaat media online dampaknya sangat besar walaupun tidak ada yang berubah dari sistem produksi, penentuan harga, laproan penjualan, dan sebagainya. Hal-hal yang membedakannya adalah kemampuan media online untuk menyediakan layanan yang cepat dalam menawarkan barang lewa “search engine”nya dalam bentuk rekomendasi, mampu mengingat history seorang pelanggan di waktu yang lampau, dan mampu secara cepat mengontrol persediaan barang mengikuti tren pemesanan barang oleh konsumen. Itu saja sudah cukup menghajar pemain-pemain lama yang tidak sadar akan bahayanya lengah terhadap media elektronik online.

E-Media

Selain perdagangan barang real, ternyata media terkena imbas dari media online. Mungkin mereka bisa bertahan karena karakter media yang tajam dalam melihat gejala-gejala adanya suatu fenomena, sehingga beberapa surat kabar bisa dengan “smooth” beralih dari media cetak ke online. Tetapi tentu saja media online memiliki keunggulan dibanding versi cetak karena media cetak tidak bisa mengetahui siapa saja yang telah membaca berita di dalamnya. Media online bisa mengetahui berita-berita yang menarik minat konsumen sehingga di masa yang akan bisa menulis berita-berita yang disukainya itu. Selain itu, media online memiliki karakteristik khusus yang “custom” dimana konsumen bisa memilih berita mana yang ingin diakses, khususnya yang berupa video. Inilah sepertinya yang dikhawatirkan oleh televisi-televisi lokal yang berbasis gelombang frekuensi yang dalam satu waktu tertentu hanya menyiarkan satu acara tertentu. Tinggal menunggu iklan yang lewat, jika tidak ada yang beriklan sepertinya siap-siap mengucapkan kata “selamat tinggal” (mungkin masih bisa bertahan untuk kampanye pemilu).

E-Markets

Saya, atau mungkin kita, pernah kecewa ketika telah membeli sesuatu ternyata ada tempat lain yang menjual dengan harga lebih murah, sakitnya tuh di sini. Dengan e-markets beberapa situs telah menyediakan fasilitas yang membandingkan harga-harga produk, seperti tike pesawat, hotel, dan lain sebagainya. Konsumen tinggal menilai sendiri, cari yang murah atau yang mahal tapi lebih nyaman. Selain itu, situs e-markets bisa menawarkan sesuatu selain yang dibeli, sehingga lebih banyak kemungkinan barang yang berhasil dijual. Sebenarnya ini menguntungkan konsumen juga karena tidak perlu jalan atau naik ekskalator mencari produk tertentu, kecuali memang ingin jalan-jalan.

Brands/Merk

Ini merupakan hal penting yang menunjukan kualitas suatu produk terhadap konsumen. Dari jaman dulu, konsep tentang “branding” tidak berubah. Konsumen cenderung membeli produk yang telah dikenalnya lama. Kematian suatu merk terkadang mengindikasikan kematian suatu perusahaan. Namun saat ini kualitas merk sangat-sangat tergantung dengan media online. Dua kali kecelakaan pada maskapai MAS sudah cukup menurunkan brand maskapai itu. Dan sialnya lagi, maraknya media sosial terkadang menyediakan hoax-hoax yang mengganggu brand suatu produk. Oleh karena itu tiap perusahaan sepertinya menyediakan tim yang memantau pergerakan brand di media online.

Sungguh pembahasan yang menarik. Masih banyak aspek-aspek lain yang bisa dipelajari dari aplikasi web, seperti periklanan, target marketing, customer value, real time considerations, understanding customers and business processes, experimental design for marketing, dll. Semoga tulisan ini bisa berlanjut.

Ref

Linoff, G. S., & Berry, M. J. A. (2001). Mining the Web. United States of America.

Melihat Data Network Hasil Training JST – Versi GUI

Pada postingan yang lalu telah dibahas cara mengetahui hasil training Jaringan Syaraf Tiruan (JST) dengan command window. Begitu juga bagaimana mengupdate salah satu parameternya, misalnya bias dan bias, sudah dibahas. Tetapi beberapa pembaca sepertinya agak kesulitan dengan instruksi-instruksi lewat command window. Oleh karena itu di sini akan dibahas cara yang jauh lebih mudah yaitu dengan “nntool”, salah satu GUI bawaan Matlab untuk merakit JST.

Sebenarnya masalah ini muncul ketika saya mencari kembali hasil training JST untuk peramalan (lihat post peramalan dengan JST di sini). Masalah yang sering dijumpai adalah “lupa”, karena banyaknya yang harus dikerjakan terkadang membuat seseorang lupa. Untungnya saya aktif menulis, tinggal masukan kata kunci di kolom “search” blog, catatan terdahulu yang dicari langsung ketemu. Jadi blog itu seperti catatan yang disimpan di “awan (cloud)” yang bisa diakses di mana saja dan kapan saja. Buka Matlab dan ketik nntool di command window.

Sebelumnya load terlebih dahulu Mat-file hasil training yang berisi variabel-variabel network. Di sini saya ada 7 variabel network yang saya sendiri lupa konfigurasinya. Setelah menekan “Import” di nntool maka muncul pilihan variabel yang akan dilihat. Ambil salah satu variabel hasil loading yang ada di workspace Matlab, dilanjutkan dengan kembali menekan Import setelah memilihnya.

Tekan Ok ketika ada informasi bahwa netwok telah berhasil diimpor. Tutup lagi sementara jendela Import to network/Data Manger. Perhatikan nntool kini telah muncul Network1 hasil impor. Untuk melihat isi dari variabel itu dobel klik saja di variabel tersebut.

Sebenarnya gambar di atas sudah cukup untuk mengetahui struktur JST yang telah dilatih dahulu. Misalnya input yang berjumlah 4 variabel dengan 1 keluaran. Hidden layer yang terletak di tengah tampak berjumlah sembilan. Gambar di atas khusus untuk Matlab versi 2013 ke atas, sementara Matlab versi yang terdahulu tidak memunculkan informasi tentang neuron-neuronnya. Silahkan tekan View/Edit Weights jika ingin melihat konfigurasi bobot-bobotnya. Kebetulan saya memiliki 4 variabel data yang akan dicoba prediksi dengan JST tersebut. Atau jika tidak ada, buat saja sendiri di command window. Tambahkan data input di nntool.

Tekan tombol Simulate pada network untuk memprediksi. Cara ini bisa juga dengan command window lewat instruksi sim.

Ada pesan untuk melihat nntool karena hasilnya dikirim ke sana. Jika sudah kembali ke nntool, tekan dua kali Output. Tampak hasilnya.

Sepertinya dengan nntool tidak banyak mengetik, alias tinggal klak-klik mouse saja. Jadi dengan empat masukan pada data akan menghasilkan satu keluaran (0.48). Di sini sebaiknya kita menggunakan normalisasi data, kalau bisa normal Euclidean, karena matrix yang dibuat dengan normal euclidean ortogonal yang disukai JST.

Cluster Data dari ArcGIS ke Matlab

Postingan kali ini bermaksud mencoba membuat video tutorial bagaimana mengkluster data dari arcgis dengan software matlab. Iseng-iseng dengan pengisi suara dari translate google, ternyata oke juga. Hasilnya pun lumayan jelas dibanding saya yang ngomong .. haha.

Ada dua kandidat software perekam yang digunakan yaitu ‘screen-o-matic’ dan ‘microsoft expression’ yang keduanya gratis untuk menggunakannya. Hanya saja microsoft expression kali ini unggul karena bisa merekam suara dari ‘translate google’ dan saya belum berhasil dengan ‘screen-o-matic’ yang unggul jika ingin ada cam-nya. Silahkan lihat videonya.

Ups .. ternyata terpotong karena lebih 10 menit. Hasilnya adalah berikut ini.

Instal WEKA untuk Data Mining

Untuk yang berkecimpung dengan dunia Data Mining sepertinya tidak asing dengan software WEKA yang dibuat oleh Universitas Waikato Selandia Baru. Sebelumnya saya menggunakan Matlab yang “bisa diotak-atik” dan Microsoft SQL Server Development Management yang cukup tangguh menangani data besar (lihat kategori “data mining“). WEKA sendiri setahu saya banyak dipakai oleh mahasiswa pascasarjana bidang ilmu komputer di tanah air. Postingan ini sekedar sharing informasi WEKA yang kebetulan saya instal untuk membantu rekan yang ingin lulus M.Kom di satu universitas swasta komputer yang cukup terkenal di Jakarta.

Source Software Weka

WEKA dapat diunduh gratis di situs resminya (klik di sini) milik Waikato University, suatu kampus ternama di New Zealand yang menurut rangking “top univerisities” masuk 200 besar. Saat tulisan ini dibuat masuk versi 3.8 (walaupun ada yang 3.9 tapi masih beta). Pilih sistem operasi yang cocok ketika mengunduh, misalnya 64 bit windows seperti laptop saya. Ukurannya sekitar seratusan Mb.

Instalasi

Dobel klik file yang baru saja diunduh untuk menginstal Weka. Setelah proses ekstraksi selesai, lanjut dengan instalasi, klik saja Next

Tampak persetujuan lisensi untuk Weka versi 3.8.1 yang akan diinstal. Tekan saja “I Agree” untuk lanjut. Saat muncul menu pilihan komponen, pilih saja yang disarankan Weka.

Tunggu hingga proses ekstrasi dan menginstal selesai. Sepertinya Weka menggunakan bahasa pemrograman Java dalam kolaborasi.

Ikuti saja ketika diminta menginstal Java. NOTE: jika sebelumnya sudah terinstal Weka, biasanya ada permintaan untuk uninstalling Jave versi sebelumnya. Namun demikian, proses instalasi terus berlanjut. Proses instlasi selesai setelah ditekan Next, selamat mencoba, semoga bisa segera posting mengenai Weka ini.