Menggunakan Class Java pada Octave

Octave.. mainan lainnya sebagai alternatif MATLAB bagi orang yang gak punya duit untuk beli MATLAB, atau yang gak suka ngecrack MATLAB 😀

matlab ??!

yoa , ceritanya saya mau siap – siap untuk kuliah lagi, masalahnya kuliah lagi ini mau gak mau harus lebih “scientific” sedikit lah… alkisah akhirnya belajar octave ini.

Namanya juga peneliti dadakan yang sehari – hari lebih banyak mroyek ngoding ketimbang mbuat paper, ya hal pertama yang diliat gak jauh jauh dari dunia perkodingan. hahahaha payah..!

yang diliat bukannya bagaimana ngitung FFT atau nyelesaikan intergral lipat 10 pake octave, tapi malah bagaimana menggunakan class Java yang kita buat di dalam octave.

[percobaan 1]

  1. jalankan octave (owh ya, octave yang saya pakai ini versi 3.8.2 portable, di windows 8 )
  2. lalu kita coba langsung ketikkan
    1. x = javaObject (“java.lang.StringBuffer”)

    2. maka kita akan punya variabel x yang merupakan object dari class java.lang.StringBuffer. wah mudah ya !!
  3. lalu kita coba utak atik sedikit
    1. y = javaMethod(“append”,x,”hello”)

    2. itu sama aja seperti
      1. y = x.append(“hello”);

    3. z = javaMethod(“toString”,y)

    4. itu sama seperti
      1. z = y.toString();

      2. dengan ini kita punya z yang bertipe char sebanyak 5 karakter yang isinya adalah “hello”

wah cukup mudah ya, ternyata santai jaya…

bagaimana kalau class yang mau digunakan adalah buatan kita sendiri ?

[percobaan 2]

    1. kita buat class sederhana yang namanya Dicoba.java  [1]
    2. kita ketikkan
      1. javaaddpath(“<LOKASI folder yang ada dicoba/Dicoba.class atau .jar>”)

    3. lalu setelah itu, kita bisa coba coba deh
      1. x = javaObject(“dicoba.Dicoba”)

      2. y = javaMethod(“masukin”,x)

        1. maka y akan bernilai “hello”
      3. z = javaMethod(“masukin”,x,”world”)

        1. maka z akan bernilai “hello world”

 

wah simple dan nyantai banget.. dengan ini sebenarnya kita yang bisa Java dapat mengembangkan fitur yang tidak dimiliki oleh octave.. 😀

happy coding …

[1] https://gist.github.com/radityopw/17d0fd3ad701d91f6c31