File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur:...

19
Business Intelligence Modul Praktikum File Teks sebagai data Input pada Kettle Pentaho Data Integration Topik Membaca file teks tidak terstruktur sebagai data masukan. Tujuan Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu: 1. Mampu menggunakan komponen step Text file input untuk membaca file teks tidak terstruktur. 2. Mampu menggunakan step Modified Java Script Value (yang ada pada Grup Scripting) untuk mengolah data dari file teks tidak terstruktur dengan menambahkan field pada data. 3. Mampu menggunakan step Regex Evaluation melakukan evaluasi menggunakan ekspresi regular atau regular expression (regex) terhadap data yang masuk, serta melakukan split data. 4. Mampu menggunakan step Row denormaliser untuk merubah kolom menjadi baris. 5. Mampu menggunakan step Select values untuk melakukan seleksi terhadap field (menentukan field tertentu) yang akan diloloskan. Alat dan Bahan Komputer dengan Pentaho Data Integration terinstall Pentaho Data Integration dapat diperoleh di: http://community.pentaho.com/ Rangkuman/Teori

Transcript of File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur:...

Page 1: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Business IntelligenceModul Praktikum

File Teks sebagai data Input pada Kettle Pentaho Data Integration

TopikMembaca file teks tidak terstruktur sebagai data masukan.

TujuanSetelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:

1. Mampu menggunakan komponen step Text file input untuk membaca file teks tidak terstruktur.2. Mampu menggunakan step Modified Java Script Value (yang ada pada Grup Scripting) untuk

mengolah data dari file teks tidak terstruktur dengan menambahkan field pada data.3. Mampu menggunakan step Regex Evaluation melakukan evaluasi menggunakan ekspresi

regular atau regular expression (regex) terhadap data yang masuk, serta melakukan split data.4. Mampu menggunakan step Row denormaliser untuk merubah kolom menjadi baris.5. Mampu menggunakan step Select values untuk melakukan seleksi terhadap field (menentukan

field tertentu) yang akan diloloskan.

Alat dan Bahan Komputer dengan Pentaho Data Integration terinstall Pentaho Data Integration dapat diperoleh di: http://community.pentaho.com/

Rangkuman/Teori[Menjelaskan step (job entry) Text file input untuk membaca file teks yang berisi data tidak terstruktur, step Modified Java Script Value, step Regex Evaluation, step Row denormalizer, step Select values]

Step Text File Input untuk Membaca File Teks dengan Data Tidak TerstrukturContoh file teks yang berisi data tidak terstruktur:

Page 2: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation, digunakan untuk membaca isi file teks yang digunakan sebagai input pada suatu transformation. Step text file input juga bisa digunakan untuk membaca file teks CSV. Step Text File Input hanya ada pada lingkungan kerja Transformation.

Simbol:

Properties Text File Input:

Terdapat beberapa tab pada properties Text File Input, yaitu; File, Content, Error Handling, Filters, Fields, dan Additional output fields.

Step Name: Untuk memberikan nama pada step.

Page 3: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Tab File (lihat gambar di atas)

Berikut adalah beberapa item yang sering di-set pada tab file:

File or Directory : menentukan nama file dan lokasi file teks yang akan dibuka.

Tekan tombol untuk mencari file teks yang ingin dibuka, tekan tombol untuk memasukkan file yang kita pilih (melalui browse) ke dalam daftar selected files.

Selected Files : Berisi daftar file yang sudah dipilih untuk dibuka.

Tombol digunakan untuk menghapus file yang sedang dipilih pada daftar.

Tombol digunakan untuk mengubah atau mengganti file yang sedang dipilih pada daftar.

Tab Content

Berikut adalah beberapa item yang sering di-set pada tab content:

Filetype : menentukan tipe file yanga akan dibuka.CSV: untuk membuka file teks tipe CSV (comma-separated values), file teks yang berisi

teks dengan coma atau titik-koma/semicolon (;) sebagai pemisah kolom.Fixed: untuk membuka file teks yang berisi teks dengan lebar kolom fixed Untuk file teks dengan data tidak terstruktur gunakan Filetype CSV.

Header : Menentukan baris header pada data isi file teks.

Page 4: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Karena file teks tidak terstruktur tidak memiliki header data maka un-check pada header.

No Empty Row : Menentukan apakah tidak ada baris kosong pada isi file teks.Karena file teks tidak terstruktur memiliki baris kosong maka un-check pada No Empty Row.

Tab Fields

Untuk mendapatkan daftar fields tekan tombol Get Fields

Isi dengan angka 0 untuk Number of sample lines, agar seluruh lines dijadikan sample, kemudian tekan tombol OK. Form yang tampil adalah hasil scan dari sample data pada file teks, yang akan mendapatkan 1 buah field yaitu Field1 dengan tipe String.

Page 5: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Setelah menekan tombol close maka Field1 akan masuk dalam daftar Fields.

Tekan tombol Preview rows pada properties Tab Fields, sehingga kita dapat melihat isi Field1 tersebut:

Perhatikan data preview rows tersebut, nama field adalah Field1 dan terlihat data mengelompok dengan pemisah <null> untuk setiap kelompok.

Langkah selanjutnya yang harus kita lakukan adalah membuat penanda untuk setiap kelompok, sehingga setiap kelompok akan memiliki Field yang berisi nomor kelompoknya.

Untuk itu kita perlu pemrograman, yang dalam hal ini akan digunakan Modified Java Script Value

Step Modifed Java Script Value untuk Menambahkan Field sebagai Penanda (Key)Step Modified Java Script Value merupakan step yang berada dalam grup Script pada suatu Transformation, digunakan untuk memodifikasi data yang masuk ke step ini secara pemrograman. Contohnya, kita akan menambahkan field pada data yang masuk ke step ini, dan mengisi field tersebut sesuai nomor kelompok data.

Berikut adalah isi step pada transformation yang akan digunakan:

Step Modified Java Script Value hanya ada pada lingkungan kerja Transformation.

Simbol:

Kel. 5

Kel. 4

Kel. 3

Kel. 2

Kel. 1

Page 6: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Properties Modified Java Script Value:

Step Name : Untuk memberikan nama pada step.

Script 1 : Tempat menulis script program.Fields : Tempat untuk membuat field baru yang akan ditambahkan pada data.

Misal kita ingin membuat field baru dengan nama Kelompok dan tipe integer, maka isi pada fields;

Setelah kita membuat field Kelompok, selanjutnya kita ingin menghitung baris pada data yang masuk ke step Modified Java Script Value ini, maka kita bisa gunakan fungsi spesial yang terdapat pada Transform Functions Special Functions GetProcessCount(Var)

Untuk menghitung baris gunakan GetProcessCount(‘r’), Var diganti dengan ‘r’, yang artinya adalah row.

Misal kita ingin mengisi Field Kelompok dengan nomor urut baris data, maka setelah kita membuat field Kelompok, tulis pada Script 1 seperti berikut:

var Kelompok;Kelompok=getProcessCount('r');

Page 7: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Untuk melihat hasil dari script tersebut tutup properties modified java script value, kemudian click kanan pada step modified java script value Preview Click tombol Quick Launch pada form yang tampil, sehingga akan tampil output dari script seperti berikut:

Perhatikan output tersebut, terlihat bahwa nomor urut baris data terisi pada field kelompok.

Misal kita ingin mengisi field kelompok sesuai dengan nomor kelompok seperti yang sudah dibahas di atas, maka mulai dari baris pertama data Field Kelompok akan bernilai 1, jika ditemukan nilai Field1 = null maka Kelompok akan di tambah 1.

Untuk itu maka Script 1 harus diubah menjadi:

var Kelompok;if(getProcessCount('r')==1) {

Kelompok = 1;}if(Field1==null) {

Kelompok++;}

Maka jika kita lakukan preview click kanan pada step modified java script value Preview Click tombol Quick Launch, akan tampil seperti berikut:

Pada output preview terlihat bahwa sekarang field Kelompok berisi nilai yang sesuai dengan nomor kelompoknya.Perhatikan preview output dari modified java script value, yaitu; terdapat 2 field pada output (Field1 dan Kelompok).

Field1 KelompokPropinsi: Kalimantan Barat 1Ibu kota: Pontianak 1Populasi: 516737 1

Padahal Propinsi seharusnya merupakan field dengan nilai Kalimantan Barat, demikian juga dengan yang lainnya (seperti: Ibu Kota, Populasi, dsb).Untuk itu maka kita perlu memisahkan nilai pada Field1, menjadi 2 Field (Nama Field dan Nilai):

Nama Field NilaiPropinsi Kalimantan Barat

Page 8: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Ibu Kota PontianakPopulasi 516737

Untuk melakukan pemecahan field tersebut maka diperlukan script yang dapat mendeteksi karakter yang menjadi pemisah. Perhatikan data berikut;

Field1 Nama Field NilaiPropinsi: Kalimantan Barat Propinsi Kalimantan BaratIbu kota: Pontianak Ibu Kota PontianakPopulasi: 516737 Populasi 516737

Karakter pemisahnya adalah karakter : Untuk itu diperlukan script yang dapat melakukan evaluasi terhadap karakter : dan memisahkan nilai yang di kiri dan kanan karakter :

Step Regex Evaluation untuk Split Nilai suatu FieldStep Regex Evaluation merupakan step yang berada dalam grup Script pada suatu Transformation, digunakan untuk melakukan evaluasi menggunakan ekspresi regular atau regular expression (regex) terhadap data yang masuk ke step ini.

Hasil evaluasi terhadap regular expression tersebut kemudian bisa digunakan untuk memodifikasi data yang masuk ke step ini secara pemrograman. Contohnya, kita akan memecah (split) nilai suatu field pada data yang masuk ke step ini, dan menjadikannya sebagai nilai untuk 2 field baru.

Berikut adalah isi step pada transformation yang akan digunakan:

Step Regex Evaluation hanya ada pada lingkungan kerja Transformation.

Simbol:

Properties Regex Evaluation:

Page 9: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Step Name : Untuk memberikan nama pada step.

Field to evaluate : Nama field dari input yang akan dievaluasi.

Create fields for capture groups : checked agar dibuatkan field dari hasil evaluasi sebagai penampung hasil split.

Regular expression : Ekpresi yang akan dicari dievaluasi pada field. Tuliskan pola ini (.+):(.+)

Pola ekspresi yang digunakan pada disini memakai aturan pola dan simbol dari RegExp Java Script, seperti;

( : start capture group) : end capture group. : any character* : any number+ : one or more expression

Contoh:(.+) : artinya, ambil setiap karakter dan beberapa ekspresi selanjutnya.(.+):(.+) : artinya, ambil setiap karakter dan beberapa ekspresi selanjutnya yang

berada di sebelah kiri simbol : dan ambil setiap karakter dan beberapa ekspresi selanjutnya yang berada di sebelah kanan simbol : (simbol : tidak diambil).

Page 10: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Capture Group Fields : Berisi daftar nama field yang akan menampung ekspresi hasil dari evaluasi dengan pola regex yang kita tuliskan pada isian regular expression.

Dalam hal ini kita membuat field Nama Field untuk menampung nilai yang di sebelah kiri simbol : dan field Nilai untuk menampung nilai yang di seblah kiri simbol :

Jika kita lakukan preview click kanan pada step Regex Evaluation Preview Click tombol Quick Launch, akan tampil seperti berikut:

Perhatikan hasil preview di atas, sekarang data memiliki 4 field, yaitu; Field1, Kelompok, Nama Field, Nilai.Selanjutnya kita akan membuat baris data dengan fields; Propinsi, Ibu Kota, dan Populasi. Sedangkan field tersebut merupakan isi dari field Nama Field, dan nilai untuk field tersebut berada pada field Nilai. Dengan demikian maka kita harus mengubah kolom menjadi baris, untuk mengubah kolom menjadi baris bisa digunakan step Row Denormaliser.

Page 11: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Step Row Denormaliser untuk Mengubah Baris Menjadi KolomStep Row Denormaliser merupakan step yang berada dalam grup Transform pada suatu Transformation, digunakan untuk mengubah kolom menjadi baris terhadap data yang masuk ke step ini.

Berikut adalah isi step pada transformation yang akan digunakan:

Step Row Denormaliser hanya ada pada lingkungan kerja Transformation.

Simbol:

Properties Row Denormaliser:

Step Name : Untuk memberikan nama pada step.

The key field : Untuk menentukan field yang isinya akan menjadi kunci pencocokan dalam pengambilan nilai. (isi dari field yang dimasukkan dalam key field ini akan menjadi nilai yang akan dicocokkan dengan key value pada target fields).

Pada contoh kita menggunakan field Nama Field sebagai key field, yang berisi nilai diantaranya; Propinsi, Ibu kota, Populasi.

Page 12: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Group field : Untuk menentukan field yang berisi nomor group. (pada contoh group field adalah field Kelompok)

Target fields : Untuk menentukan field baru (kolom) yang akan dibuat dari baris.

Target fieldname : Untuk membuat nama field yang akan ditampilkan.Pada contoh kita akan membuat field dengan nama; Propinsi, Ibu Kota, dan Populasi.

Value fieldname : Diisi dengan field yang akan digunakan nilainya sebagai isi pada tiap field baru (kolom menjadi baris).Pada contoh field yang akan digunakan isinya adalah field Nilai.

Key value : Diisi dengan kata-kata yang akan dicari kesesuaiannya dengan nilai yang ada pada field yang ditulis pada the key field.Pada contoh kita menggunakan kata: Propinsi, yang nantinya kata tersebut akan dicari pada

the key field (Nama Field), kemudian nilai Value fieldname (field Nilai) pada baris yang sama akan diambil untuk diisikan pada field baru (Propinsi).

Ibu kota, yang nantinya kata-kata tersebut akan dicari pada the key field (Nama Field), kemudian nilai Value fieldname (field Nilai) pada baris yang sama akan diambil untuk diisikan pada field baru (Ibu Kota).

Populasi, yang nantinya kata-kata tersebut akan dicari pada the key field (Nama Field), kemudian nilai Value fieldname (field Nilai) pada baris yang sama akan diambil untuk diisikan pada field baru (Populasi).

Jika kita lakukan preview click kanan pada step Row Denormaliser Preview Click tombol Quick Launch, akan tampil seperti berikut:

Page 13: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Perhatikan hasil dari preview pada step Row Denormaliser, sudah tidak ada field Nama Field dan field Nilai, terdapat 3 field baru (Propinsi, Ibu Kota, Populasi) yang memiliki isi yang didapat dari baris pada field Nilai.

Yang kita inginkan adalah field Propinsi, Ibu Kota, dan Populasi, tapi masih ada field lain yang tidak diperlukan. Untuk melakukan seleksi atau memilih field tertentu yang akan diloloskan, kita gunakan step Select values.

Step Select Values untuk Menyeleksi FieldStep Select values merupakan step yang berada dalam grup Transform pada suatu Transformation, digunakan untuk menyeleksi atau memilih field yang akan diloloskan sebagai keluarannya.

Berikut adalah isi step pada transformation yang akan digunakan:

Step Select values hanya ada pada lingkungan kerja Transformation.

Simbol:

Properties Select values:

Step Name : Untuk memberikan nama pada step.

Fields : Untuk menentukan field mana saja yang akan diloloskan.

Page 14: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

Fieldname : Untuk menentukan nama field mana saja yang akan diloloskanRename to : Untuk merubah nama field (jika diinginkan)

Jika kita lakukan preview click kanan pada step Select values Preview Click tombol Quick Launch, akan tampil seperti berikut:

Page 15: File Teks sebagai data Input pada · Web viewContoh file teks yang berisi data tidak terstruktur: Step Text File Input merupakan step yang berada dalam grup Input pada suatu Transformation,

PraktekPada bagian ini, akan dibahas mengenai praktek yang akan dilakukan.

Praktek 1: Mengakses data dari file teks tipe CSVIkuti langkah-langkah berikut ini untuk membuat transformation yang akan membaca data nama dari file teks tipe CSV daftar nama.csv!

Langkah 1: Jalankan spoon.batLangkah 2: Buat transformation baru, file new transformation.Langkah 3: Click & Drag (atau shift+double click) Text file input dari entries Input ke ruang kerjaLangkah 4: Double Click pada step Text file input, untuk membuka propertiesLangkah 5: Pada properties step name, isikan nama step (=daftar nama anggota).Langkah 6: Click tombol browse untuk mencari file Daftar Nama Anggota.txt.Langkah 7: Karena file Daftar Nama Anggota.txt merupakan file teks tidak terstruktur, lakukan

pembacaan data dari file teks tersebut dengan menggunakan beberapa step (seperti; Modified Java Script Value, Reges Evaluation, Row Denormaliser, dan Select values) agar data keluaran memiliki baris data dengan field; Nama, Jenis Kelamin, dan Tanggal Lahir.

Analisa Hasil PraktekBerdasarkan praktek yang telah Anda lakukan, jawablah beberapa pertanyaan berikut ini:

1. …?

Tugas1. ….!