Javascript Step : Pencocokan Pola dengan Regex

Pendahuluan

Di dalam step Javascript yang melibatkan perhitungan dari berbagai field dengan pola tertentu, akan sangat sulit jika hanya menggunakan operator komparasi biasa seperti =, <, >, dan lain sebagainya.

Sering sekali dengan kompleksnya pola yang harus dicocokkan, maka penggunaan regular expression (regex) tidak dapat terhindari untuk kesederhanaan code kita.

Dalam artikel berikut, penulis coba menjelaskan contoh penggunaan regex pada step javascript di Kettle.


Contoh Transformation

  • Versi yang digunakan : Kettle 3.1 ke atas
  • Contoh transformation yang diberikan adalah sebagai berikut. Transformation tersebut terdiri dari 4 step yaitu :
    • "Generate Rows" : Digunakan untuk menghasilkan 100 baris data


    • "Generate Random Value" : Digunakan untuk menghasilkan 2 nilai random yang akan digunakan untuk sebagai basis kriteria / filter


    • "Menggabungkan kolom" (Javascript) : Digunakan untuk menghasilkan 1 kolom baru dari hasil penggabungan 2 field sebelumnya. Hasil penggabungan akan disimpan di field "hasil" dengan pola teks ber-prefix "kode" diikuti angka.



    • "Regex di JS" (Javascript) : Digunakan untuk mencocokkan pola dengan kriteria nilai dari field "hasil" memiliki awalan "kode1..." dan "kode2..." serta memiliki nilai dari field "nilai" di atas 100,000,000. Gambar berikut adalah penggunaan pola tersebut. Field "lolos" menentukan apakah kriteria tersebut terpenuhi atau tidak.


    • Berikut adalah data hasil operasi dari transformation tersebut. Terlihat bahwa data yang terpenuhi kriterianya akan memiliki nilai "lolos" = true / Y, demikian juga sebaliknya akan bernilai "false" / N apabila kriteria tidak terpenuhi.



    • Selesai

Catatan Tambahan

  • Untuk penggunaan karakter khusus seperti [, ], ., dsbnya, pada Regex umum kita cukup menggunakan escape character (\). Contoh untuk mengenali "[" kita menuliskan "\[". Di step Javascript kita harus menambahkan penulisan escape sebanyak 2 karakter lagi. Jadi pada contoh sebelumnya kita harus menuliskan "\\\[".

Kesimpulan

Penggunaan pola regex akan menyederhanakan code untuk penyaringan kritieria dari data kita. Penyederhanaan diperlukan agar kita dapat beradaptasi terhadap perubahan dengan cepat dan efisien. Artikel ini menunjukkan contoh dari hal berikut.

Contoh transformation juga dapat didownload di akhir dari artikel ini atau melalui situs googlecode

Semoga artikel ini bisa berguna bagi kita semua, dan jika ada yang kurang jelas Anda dapat bergabung dengan komunitas kami di Pentaho User Group Indonesia.
ċ
regex_matching.ktr
(46k)
Feris Thia,
May 22, 2010, 1:25 AM
Comments