GNU Octave for fast scientific programming on Ubuntu :D

Assalammu’alaikum,

Sudah lama tak bersua hehehe..

Kali ini saya share mengenai octave, yang beberapa hari ini saya gunakan untuk melakukan validasi program saya yang berkaitan dengan tugas eksplorasi dan mengajar di tempat saya bekerja sekarang.

Kenapa octave? hhmmm mungkin saya akan balik bertanya, kenapa tidak??? hahaha

Octave adalah project yang berlisensi GNU, ini situsenya http://www.gnu.org/software/octave/

Berikut seperti yang dikatakan dalam situs octave di gnu mengenai octave sendiri :

“GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.

Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave’s own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.” 

Dan yang sudah kenal matlab pasti tidak aneh dengan si octave ini. Bagi saya octave bahkan bekerja lebih baik, kanapa? ini terasa lebih ringan, dan karena saya mahasiswa, dan saya mengajar mahasiswa juga maka octave jauh lebih murah (gratis) dan opensource. Kita bisa mendapatkan dokumentasi mengenai octave dengan mudah, dan ketika kita membutuhkan package tambahan untuk menambah fungsi scientific dari octave sendiri kita dapat download langsungdari repository yang sudah disediakan, kalau saya biasa dari repo forge.

Ketika kita men-download octave sizenya relatif kecil, hanya sekitar 65 mb, jauh sekali kan dengan matlab? hehehe, gratis lagi, dan mempunyai kemampuan sama bahkan bagi saya lebih baik, dan lebih light weight.

Octave dapat digunakan dalam berbagai kebutuhan scientific, terutama yang memerlukan kecepatan dalam memberikan instruksi kepada komputer untuk mendapat kan hasil yang sesuai. Dan octave relatif mudah untuk dipelajari bahasa pemrograman, karena gnu octave merupakan high-level language.

Saya akan share mengenai bagaimana melakukan instalasi di ubuntu, berikut caranya :

  1. Buka terminal
  2. lalu ketikan command :

$sudo apt-get install octave

Nah selesai, tinggal tunggu download dan instalasi selesai 😀

dan jika yang menggunakan distribusi .rpm seperti fedora biasanya menggunakan yum : # yum install octave-forge

dan ini dia tampilan gnu octave :

octave

keren kan? hahaha

dan octave ketika pertama kali dilakukan instalasi akan dalam keadaan default, tidak semua modul atau fungsi-fungsi untuk kebutuhan scientific tertentu sudah ada, seperti untuk signal processing, image processing, atau control.

Jika kita membutuhkan modul-modul tersebut, kita dapat melakukan download di repository octave di http://octave.sourceforge.net/

nah jika kita ingin mendownloadnya cukup masuk ke octave seperti di atas, lalu ketik perintah :

pkg install -forge package_name

contoh saya ingin download package untuk modul image processing :

octave:1>pkg install -forge control signal image

Nah kenapa kok mau download image processing tapi ada 3 package yang di didownload termasuk package image, ini karena package image membutuhkan depedensi terhadap package lain, untuk image membutuhkan package signal, dan signal membutuhkan package control.

Lalu bagaimana kita bisa tahu bahwa suatu package memiliki depedensi terhadap package lain, mudah, cukup masukan package yang dibutuhkan, nanti kalau butuh package lain pun akan diberi tahukan oleh octave package apa yang menjadi depedensi package tersebut. “don’t worry be  happy” hhehe

atau lewat synaptic package manager ubuntu (biar gampang juga, ada UI nya) hahaha

Screenshot from 2013-10-26 08:35:22

Nah kalau dengan synaptic package manager akan lebih mudah karena difasilitasi dengan User Interface yang cukup mudah, dan ketika kita melakukan checklist terhadap suatu package dan dilakukan apply terhadap penambahan package tersebut, synaptic package manager akan memberi tahukan seluruh depdensi yang dibutuhkan, dan kita tinggal menyetujuinya lalu setelah itu seluruh paket yang dibutuhkan akan terinstall. 😀

Dan cara tersebut dapat digunakan untuk setiap package yang dibutuhkan, dan saya lebih suka memanfaatkan repository forge.

Berikut saya perlihatkan beberapa penggunaan octave, lebih banyak mengenai matriks karena saya lebih banyak berurusan dengan matriks dan machine learning dalam penggunaan octave.

Pertama saya mencoba membuat matriks sederhana :

Screenshot from 2013-10-26 08:49:40

Dan contoh selanjutnya, saya akan mencoba melakukan edge detection dengan operator derajat 8, kirsch

Screenshot from 2013-10-26 08:52:20

Di atas merupakan pengambilan file image untuk di konversi menjadi matriks dalam suatu variable di dalam octave, next…

Screenshot from 2013-10-26 08:53:02

Di atas merupakan hasil dari conversi dari rgb ke grayscale :

Screenshot from 2013-10-26 08:54:35

Dan step selanjutnya adalah mengambil nilai kernel matriks  kirsch, lalu mengenakan operasi edge dengan operasi kirsch, seperti diatas.

Screenshot from 2013-10-26 08:56:10

Di atas adalah hasil dari operasi yang dilakukan sebelumnya.

Nah begitulah kurang lebih mengenai gnu octave, operasinya cepat kan? hehehe

dan ini adalah teknologi opensource. 😀

Semoga bermanfaat…

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s