matlab

Dulu saya enggak suka pakai matlab. Menurut saya matlab lambat, editornya tampilannya jelek, sintaksnya aneh, dan harus bayar. Saya juga baca blog https://abandonmatlab.wordpress.com/ untuk cari alasan-alasan tambahan untuk tidak pakai matlab. Malah pernah untuk kuliah S1 kelas analisis numerik, saya nekat pakai Java, tambah package JAMA untuk operasi matriks, untuk mengerjakan tugas lab-nya, walaupun disuruh pakai matlab sama asisten. Sebegitu tidak sukanya saya dengan matlab.

Tapi kini semua berubah.

Di KTH, matlab tersedia gratis untuk semua mahasiswa dan banyak tugas lab yang didesain untuk diselesaikan menggunakan matlab. Selain itu untuk thesis saya karena library pendukung banyak di matlab, mau tak mau saya juga harus pakai matlab. Setelah berkutat dengan cukup intens selama beberapa waktu, akhirnya saya menoleransi pemakaiannya dan kini cukup fasih menggunakannya.

Yah, kalau mau adil, di luar kekurangannya yang saya sebut di atas, Matlab memiliki bagian-bagian yang bersinar. Seperti kata peribahasa, “kalau alat yang kita punya cuma palu, maka semua permasalahan akan terlihat seperti paku“. Selain itu, Alan Perlis pernah bilang, “A language that doesn’t affect the way you think about programming is not worth knowing“. Matlab, secara paradigma memang cukup berbeda dibanding bahasa lain, untuk beberapa hal bisa terlihat deklaratif, walau tidak semurni bahasa seperti Haskell. Berikut kelebihan dari matlab dan contoh kasus dimana penggunaannya bisa dijustifikasi.

  • Natural dan cepat untuk masalah operasi matriks.

Misalkan matrix A dengan ukuran mxn akan dikalikan dengan matrix B dengan ukuran nxk, dengan hasilnya matriks C dengan ukuran mxk.

C = A * B;

jauh lebih ringkas dan sederhana dibanding memakai 2 for-loop. Selain itu, jauh lebih cepat juga. Yah, namanya juga matlab (matrix laboratory). Karena itu, untuk tugas yang banyak menggunakan operasi matriks, seperti pengolahan citra, matlab bisa diandalkan.

  • Debugging support

Namanya manusia pasti berbuat salah. dan kesalahan dalam menulis kode ini keluar dalam bentuk bug. Cukup klik sebelah kiri nomor baris di text editor untuk mengeset breakpoint, sehingga ketika di-run, program akan berhenti tepat sebelum baris itu dieksekusi. Dalam debugging, kita bisa menjalankan kode baris per baris sekaligus mengecek nilai variabel pada saat itu.

breakpoint
Breakpoint itu bulatan yang warna merah.
  • Built-in profiler

IDE matlab juga punya built-in profiling yang bisa digunakan untuk mengetahui bottleneck di dalam kode kita sehingga bagian yang lambat bisa dioptimisasi agar bisa berjalan lebih kencang. Cukup klik Run & Time atau ketik profile on, jalankan kodenya yang ingin di-profile, lalu ketik profile viewer.

profile
Contoh hasil profiling. Ternyata paling lama adalah fungsi ApplyDetector2.

 

Jangan gunakan matlab untuk misalkan string processing, atau interfacing dengan hardware. Bisa sih, tapi akan agak menyakitkan dan ada alat lain yang lebih cocok dan tepat untuk tugas tersebut.

Tutorial dan tips triks mempercepat matlab lebih lengkap bisa dilihat di http://www.matlabtips.com/

One thought on “matlab

  1. Seperti kata peribahasa, “kalau alat yang kita punya cuma palu, maka semua permasalahan akan terlihat seperti paku“.

    setuju. peribahasa emang filosofis. (kalimatnya) sederhana tapi mengena. // soal matlab, maaf, tidak belum bisa kasih komentar…

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s