Minggu, 13 Mei 2012

Koneksi MATLAB ke MySQL

Koneksi MATLAB ke MySQL Database

Sudah lama tidak posting apapun di sini, hari ini muncul niat untuk posting sesuatu yang mungkin kelak aku sendiri jadi lupa naruh dimana dan bagaimana caranya yaitu tentang "Koneksi MATLAB ke MySQL database". Mungkin agak menyimpang dari tema utama blog ini tentang Visual Basic.  
Hal yang membangkitkan niat posting adalah permintaan seorang teman yang ingin tahu bagaimana koneksi database MySQL ke MATLAB. MATLAB yang aku pakai versi 2007a atau Versi 7.4.0, sedangkan MySQL-nya versi 5.0. Sebenarnya sudah lama sekali hal ini saya otak-atik tapi lupa naruh dimana dalam komputerku, akhirnya ketemu.... inilah caranya:

Terdapat beberapa cara dalam koneksinya, setahu saya (yang sdh berhasil digunakan) terdapat dua cara yaitu menggunakan JDBC Driver dan menggunakan ODBC. Langsung saja akan saya uraikan bagaimana cara singkat kode programnya.

A. Menggunakan JDBC Driver.
Terdapat sejumlah syarat atau cara jika ingin menggunakan metode ini yaitu:

  1. harus punya JDBC Driver dulu, jika tidak ada masalah teknis dapat di unduh di sini
  2. pasang JDBC Driver-nya dalam MATLAB, untuk memasangnya harus ditempatkan (di copy) pada folder instalasi MATLAB yaitu di "C:\Program Files\MATLAB\R2007a\java\jarext" (atau sesuaikan dengan drive/folder saat instalasi MATLAB).
  3. ubah ClassPath dalam MATLAB, editlah file classpath.txt yang berada dalam folder "C:\Program Files\MATLAB\R2007a\toolbox\local". Tambahkan kaliman ini " $matlabroot/java/jarext/mysql-connector-java-3.1.12-bin.jar" dibawah "$matlabroot/java/jarext/xml-apis.jar", atau tinggal copy saja file yang sudah saya ubah yang dapat diunduh dari sini (classpath.txt) 
  4. buat programnya, untuk membuktikan berhasil atau tidaknya, buatlah program menggunakan MATLAB atau m-file dengan kode sebagai berikut;
%==============================================
  1. clc;
  2. clear;
  3. Koneksi = database('NamaDatabasenya','UserName','Password','com.mysql.jdbc.Driver',    'jdbc:mysql://localhost:3306/');
  4. ping( Koneksi );
  5. query='select * from NamaTabel';  
  6. Hasilnya= fetch( Koneksi , query);
  7. close(conn);
%==============================================

Keterangan:

  • NamaDatabasenya, UserName dan Password sesuaikan dengan seting ketika instalasi MySQL.
  • untuk variabel query: anda dapat merubahnya sesuai keinginan dengan syarat harus memiliki pemahaman dalam bahasa SQL untuk memanipulasi tabel baik menambahkan, menampilkan/pencarian data, merubah maupun menghapus data.

B. Menggunakan ODBC
Cara ini mungkin akan lebih sederhana dibandingkan dengan cara pertama, tetapi sebenarnya memiliki bentuk yang sama, yang membedakan hanya terletak pada koneksinya yaitu dengan cara seting ODBC. Langkah-langkahnya yaitu:
  1. Install dulu MySQL ODBC kalau tidak punya bisa diunduh di sini, atau jika tidak tersedia cari dulu dari "mbah" Google.
  2. Seting dulu ODBC untuk memperoleh DSN, dengan cara, Control Panel, Administrative Tools, Data Source (ODBC), klik Add, pilih MySQL ODBC 3.51 Driver, klik Finish, kemudian setinglah nama Data Source Name (DSN), Server, User, password dan jika perlu pilih databasenya langsung.Untuk menguji koneksitasnya klik Test, pastikan koneksi sukses.
  3. Buat programnya. 
%==============================================


  1. clc;
  2. clear;
  3. Koneksi = database('NamaDSN','UserName','Password');
  4. query= 'select * from NamaTabel'
  5. Kursor= exec( Koneksi,query);
  6. setdbprefs('DataReturnFormat','cellarray');  
  7. Kursor =fetch( Kursor );
  8. NamaKolom = columnnames( Kursor ); 
  9. Hasil= Kursor.Data;


%==============================================
Keterangan:

  • NamaDSN sesuaikan dengan pada saat seting ODBC pada langkah 2, UserName dan Password sesuaikan dengan seting ketika instalasi MySQL.
  • untuk variabel query: anda dapat merubahnya sesuai keinginan dengan syarat harus memiliki pemahaman dalam bahasa SQL untuk memanipulasi tabel baik menambahkan, menampilkan/pencarian data, merubah maupun menghapus data.
  • Nomor 6. merubah hasil agar dalam bentuk array
  • Nomor 8. menampilkan nama kolom
Jika ada masukan lain atau ada ketidakjelasan paparan saya silahkan kirim komentar. Semoga bermanfaat dan selamat mencoba.

2 komentar:

  1. makaasih mas atas bantuannya sangat membantu...klo blh nanya gmn cara insert datanya mas ya??

    BalasHapus
    Balasan
    1. pada bagian query= 'insert into NamaTabel .... dst'

      Hapus