Rhino - Javascript Engine

Rhino adalah javascript engine yang digunakan cukup luas di modul-modul Pentaho terutama pada Pentaho Data Integration, Pentaho BI Platform dan Pentaho Reporting. Rhino merupakan salah satu project yang dikeluarkan oleh Mozilla Foundation.

Dengan Rhino, kita memiliki fleksibilitas dalam pengolahan data karena dapat menggunakan library Java ataupun javascript secara bersamaan.

Bagian berikut berisi artikel tips maupun penggunaan secara komprehensif Rhino secara umum maupun spesifik pada salah satu aplikasi Pentaho.







Daftar Utilitas Javascript

posted Jul 19, 2011, 8:27 AM by Unknown user   [ updated Jul 19, 2011, 8:31 AM ]

Berikut adalah daftar utilitas javascript yang sangat berguna bagi kita dalam melakukan coding. Terutama ketika menggunakan editor javascript Pentaho yang minus fitur highlight, maupun error pointer :)

Konversi Teks Menjadi Numerik

posted Jul 19, 2011, 8:15 AM by Unknown user   [ updated Jul 19, 2011, 8:21 AM ]

Pada Pentaho Design Studio maupun Pentaho Data Integration, ada banyak sekali kemungkinan kita menggunakan script javascript secara intensif. Salah satu kesulitan utama adalah pengolahan tipe data yang berlainan. Operator plus (+) berbeda untuk data bertipe teks dan bertipe angka.

Dan kadang karena banyaknya tipe data yang ditangani, kita menjadi lupa atau sulit menemukan apakah suatu variable didefinisikan bertipe teks atau numerik. Konversi data menjadi sangat penting.

Salah satu konversi yang sering dilakukan adalah dari teks menjadi numerik, bagaimana caranya ? Sangat gampang.. cukup menggunakan fungsi Number().

Syntax

Number(teks_angka)

Contoh Penggunaan

Number("333"); // menghasilkan angka 333
Number("@33"); //menghasillkan NaN
Number(23); //menghasilkan angka 23

Mengurangi Tanggal

posted Jul 18, 2011, 8:08 PM by Unknown user   [ updated Jul 19, 2011, 8:14 AM ]

Berikut adalah contoh cara kita mengurangi sejumlah hari dari suatu tanggal pada javascript :

var hari_ini = new Date();
var kemarin = new Date();
kemarin.setDate(hari_ini.getDate()-1);

Sumber Referensi :

Class dan Interface Yang Berhubungan dengan Row

posted Jul 17, 2011, 8:45 AM by Unknown user   [ updated Jul 17, 2011, 9:10 AM ]

Berikut adalah referensi class dan interface Java yang berhubungan dengan pengolahan row pada Pentaho :
Contoh penggunaan yang berhubungan dengan Resultset.

kolomField = result_set.getMetaData().getColumnIndex("NamaField"); //mengambil index kolom
daftarhasil += result_set.getValueAt(posisi_row, kolomField) + ","; //mengambil nilai


Mengambil Nama Class dari Suatu Objek

posted Jul 17, 2011, 8:19 AM by Unknown user   [ updated Jul 17, 2011, 8:27 AM ]

Jika Anda ingin mengetahui lebih rinci cara kerja Pentaho, tentunya kita perlu mengetahui nama class dan method yang ada di baliknya. 

Dengan menggunakan utilitas library Java pada Rhino kita dapat melakukan hal itu. Tahap pertama, biasanya kita perlu mengambil nama classnya.

Syntax

namaobjek.getClass().getName()

Sumber Referensi

Memisahkan Teks dengan Split

posted Jul 17, 2011, 6:49 AM by Unknown user   [ updated Jul 17, 2011, 7:41 AM ]

Ada kalanya sangat berguna ketika beberapa item teks digabungkan menjadi satu, yang kemudian akan dipisahkan kembali melalui token atau karakter pemisah. Pemisahan ini pada Javascript / Rhino dilakukan dengan menggunakan fungsi split.

Syntax 

hasil_array = sumber_teks.split(token_pemisah)

Contoh Penggunaan

teks = "token=1,value=satu;token=2,value=2"
splittoken = teks.split(";");

for(i = 0; i < splittoken.length; i++){
splitcomma = splittoken[i].split(",");
Alert("Token = " + splitcomma[0].split("=")[1]);
Alert("Value = " + splitcomma[1].split("=")[1]);
}

Mengambil Tanggal pada Javascript

posted Jul 17, 2011, 6:35 AM by Unknown user   [ updated Jul 17, 2011, 7:42 AM ]

Pengolahan tanggal tentunya menjadi porsi terpenting pada bahasa pemograman manapun termasuk Rhino dan Javascript. Untuk mengambil tanggal, kita menggunakan objek Date seperti pada syntax berikut.

Syntax

var objek_tanggal = new Date();

Contoh Penggunaan

//membuat objek Date
var harini = new Date(); 

//mengambil bagian tanggal
var hari = harini.getDate();

//mengambill bagian bulan
var bulan = harini.getMonth() + 1;

//mengambil bagian tahun
var tahun = harini.getFullYear();

Terlampir adalah file contoh penggunaan script di atas pada transformation di Pentaho Data Integration (gambar). 


Sumber Referensi

Menghitung Hasil Bagi Integer

posted Jul 17, 2011, 6:19 AM by Unknown user   [ updated Jul 17, 2011, 7:42 AM ]

Melengkapi artikel menghitung sisa bagi atau modulus, maka pada tips kali ini adalah tips mencari hasil bagi integer dari bagian pembagian.

Syntax

hasil_bagi = Math.floor(angka1 / angka2);

Contoh Penggunaan

Math.floor(15 / 2); // hasil kalkulasi : 7
Math.floor(30 / 14); // hasil kalkulasi : 2

Terlampir adalah file transformation dari Pentaho Data Integration versi 4.



Menghitung Modulus atau Sisa Bagi

posted Jul 17, 2011, 5:39 AM by Unknown user   [ updated Jul 17, 2011, 6:44 AM ]

Penggunaan modulus ataupun sisa bagi tentunya sangat penting di dalam kontrol aplikasi, misalkan menghitung sisa baris dari halaman tertentu.

Modulus dihitung dengan menggunakan operator % ataupun menggunakan method IEEEremainder dari library java.lang.Math. Namun penggunaan yang umum adalah menggunakan operator %.

Syntax

hasil bagi = angka 1 % angka 2

Contoh Penggunaan (Menggunakan Operator %)

30 % 14; //hasil perhitungan => 2 
15 %  2; //hasil perhitungan => 1

Terlampir adalah file transformation untuk menghitung operasi sisa pembagian. File transformation ini hanya bisa dijalankan dengan Pentaho Data Integration versi 4 ke atas.


1-9 of 9