Integrasi Data menggunakan Pentaho


Pentaho adalah kumpulan aplikasi Business Intelligence (BI) yang berkembang dengan pesat dan bersifat free open source software (FOSS) yang berjalan di atas platform Java. Aplikasi-aplikasi Pentaho dikembangkan oleh Pentaho corp yang berpusat di Orlanda, Amerika Serikat.

Selain sifatnya gratis dan adopsi yang semakin hari semakin luas, dukungan Pentaho bisa didapatkan dari Pentaho corp dalam bentuk Service Level Agreement (SLA) dan dipaketkan dalam versi Enterprise Edition yang sifatnya annual subscription atau perlu kontrak tahunan. Selain itu jika Anda tetap menggunakan community edition yang gratis, maka bisa mendapatkan support dari banyak system integrator Pentaho di seluruh dunia termasuk di Indonesia. Berikut ini kumpulan aplikasi pentaho :

1.Pentaho Reporting

  • Adalah aplikasi perancangan Ad Hoc Report di Pentaho. Engine reporting yang bisa di-embed di aplikasi Java.
  • Multi Platform.
  • Dapat mengambil source dari berbagai relational engine. Lihat link berikut untuk database relasional yang didukung oleh Pentaho Reporting.
  • Dapat mengambil source OLAP yang didukung driver OLAP4J seperti Mondrian, SQL Server Analysis Service, PALO Molap, SAP BW, dan lainnya.
  • Memiliki kemampuan mengambil source Pentaho Data Integration step. Ini menjadikan source yang dapat diambil hampir menjadi tidak terbatas.
  • Dilengkapi designer yang intuitif dan koleksi chart yang lengkap untuk keperluan analisa.
  • Output dalam format Format PDF, Excel, HTML dan CSV.

2. Pentaho Analysis / Mondrian OLAP Engine

  • OLAP engine open source terpopuler dan digunakan di berbagai produk BI open source (Pentaho dan Jasper).
  • Multi Platform.
  • Mondrian merupakan tipe ROLAP (Relational OLAP) dimana semua perintah data query diterjemahkan via SQL dan ditujukan kepada datamart.
  • Mendukung datamart dengan rancangan multi dimensional Star Schema maupun Snowflake Schema.
  • Mendukung query MDX (Multidimensional Expression) sebagai standar industri.
  • Didukung oleh beberapa aplikasi interface baik web based maupun desktop seperti JPivot, Pentaho Reporting, Pentaho Analysis Tools, dan Pentaho Analyzer.
  • Semua interface di atas memiliki kemampuan drill down / roll up serta drill through untuk melihat detil penyusun sel-sel nilai analisis.

3. Pentaho Data Integration / Kettle

  • Utilitas ETL (Extract, Transform and Load) open source paling populer.
  • Designer GUI yang intuitif dan sangat mudah digunakan.
  • Multi Platform.
  • Script ETL dapat disimpan dalam bentuk filesystem maupun repository.
  • Mendukung multi pipelining sehingga load balance maupun optimasi pekerjaan data warehouse dapat dilakukan dengan mudah.
  • Mendukung clustering (master-slave) engine ETL
  • Terdiri atas lebih dari 200 steps yang mencakup job (workflow kontrol) dan transformation (data worfklow).
  • Mendukung Apache Virtual Filesystem (Apache VFS) sehingga filesystem seperti HTTP Webdav, FTP, SFTP, dan lain sebagainya dapat dengan mudah diakses dengan konfigurasi yang minimal.

4. Pentaho Data Mining / Weka

  • Utilitas data mining yang sangat populer dan digunakan untuk predictive analysis
  • Multi Platform.
  • Mendukung data sumber / source berformat ARFF (Attribute-Relation File Format), XRRF (XML attribute Relation File Format), CSV (Comma Separated Value), maupun table / view dari relasional database.
  • Mendukung standar PMML (Predictive Model Markup Language).
  • Mendukung data nominal dan numerik (continue maupun discrete).
  • Mendukung algoritma yang cukup banyak untuk operasi dasar data mining seperti Classification, Clustering dan Association. Algoritma tersebut diantaranya adalah J48, M5P, SimpleCart, SimpleKMeans, Apriori, dsbnya.
  • Utilitas grafis yang membantu pengolahan dan pemahaman data mulai dari preprocessing, data visualization dalam bentuk plot maupun curve, tree visualization, dsbnya.

5. Pentaho BI Server / Platform

  • Server BI yang berjalan sebagai web application portal yang terdiri dari layanan web service, workflow pada space JVM (Java Virtual Machine), dan sebagai user interface untuk laporan operasional maupun analisis.
  • Multi Platform.
  • Workflow berupa integrasi dari produk Pentaho yang telah disebutkan sebelumnya (Pentaho Data Integration, Pentaho Reporting, dan Pentaho Analysis) dalam bentuk solution.
  • Scheduler berjalan di atas platform BI ini untuk melakukan proses batching, misalkan mengirim laporan dalam bentuk PDF ataupun Excel secara periodik.
  • Script JSP (Java Server Pages) dapat dengan mudah diintegrasikan ke dalam platform.
  • User dapat memiliki space sendiri untuk menyimpan report dan tipe solution lainnya.
  • Ad hoc report yang bisa digunakan untuk membuat rancangan report on the fly tanpa keterlibatan IT.

Referensi

Import Data dari file Excel CSV ke MySQL PHPMyAdmin


mysql

Latar Belakang

Saya pernah membuat artikel import-data-excel-kedalam-database-mysql. namun saya rasa terdapat kelebihan dan kekurangan.

Kelebihan :

  1. Bisa di integrasikan dengan aplikasi web dengan PHP
  2. Untuk membuat aplikasi migrasi data

Kekurangan :

  1. Harus coding dan menyesuaikan query dan databasenya
  2. Butuh waktu lama untuk menyesuaikan query, coding, dan struktur tabelnya.

Alternatif yang pernah saya lakukan saat migrasi data dari file-file excel kedalam database MySQL adalah dengan memanfaatkan file CSV dan Fitur PHPMyAdmin.

Struktur Tabel

Download

http://www.4shared.com/zip/Iz2ObAKh/CSV-Ri32.html

File-file

  • tbl_provinsi.sql.zip
  • tbl_provinsi.xlsx
  • tbl_provinsi.csv

Langkah-langkah

  1. Buka tbl_provinsi.xlsx yg berisi data kode, dan nama-nama provinsi
  2. Save as file tbl_provinsi.xlsx dengan format CSV(comma delimited) atau hasilnya bisa di buka dengan notepad atau notepad++ file tbl_provinsi.csv
  3. Buat tabel di phpmyadmin dengan nama tbl_provinsi atau bisa import file tbl_provinsi.sql.zip
  4. Setelah tbl_provinsi dibuat, maka import data yang ada di file tbl_provinsi.csv melalui menu import
  5. Setelah itu klik tombol Go, jika proses import berhasil akan ada bacaan Import has been successfully finished, 33 queries executed.
  6. Selesai

Sekian artikel dari saya, semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Cibubur, 06-08-2012

NuriGusna

Import data Excel kedalam database MySQL


 

Latar Belakang

Terkadang dalam membuat aplikasi, sumber data itu berbagai macam. ada yang langsung di input (data entry) ada juga dari sumber file yang lain. Bagaimana jika kita ingin mengimport data yang ada di file excel kedalam sebuah database.

Konsep

  1. Aplikasi ini menggunakan library excel reader.
  2. File excel yang dapat dibaca adalah xls.
  3. Buat terlebih dahulu databasenya dalam contoh ini adalah db_mahasiswa.
  4. Buat tabel dan struktur field nya.
  5. Tombol kosongkan table akan menjalankan query truncat untuk mengosongkan semua nilai tabel.
  6. Yang di import disini hanya nilai data di excel yang kolom2 nya sama dengan urutan field2 yang ada di database.
  7. Aplikasi akan membaca setiap baris dalam setiap kolom dan memasuknanya ke dalam database sesuai field2 yang sudah di tentukan.

Script Import

<?php
include “koneksi.php”;
include “excel_reader2.php”;
$data = new Spreadsheet_Excel_Reader($_FILES[‘userfile’][‘tmp_name’]);
$baris = $data->rowcount($sheet_index=0);

$sukses = 0;
$gagal = 0;

for ($i=2; $i<=$baris; $i++) //akan membaca data excel mulai dari baris dua. karena baris satu di excel untuk judul field
{
$nama = $data->val($i, 2); //baca data di kolom ke dua yaitu untuk nama
$npm = $data->val($i, 3); //baca data di kolom ke dua yaitu untuk npm
$kelas = $data->val($i, 4); //baca data di kolom ke dua yaitu untuk kelas

if(!empty($nama)){ //cek salah satu inputan
$query=mysql_query(“INSERT INTO tbl_biodata(nama,npm,kelas) VALUES (‘$nama’,’$npm’,’$kelas’)”) or die(mysql_error());

if ($query) $sukses++;
else $gagal++;
}
}
echo “<h3>Proses import data selesai. <a href=’?pg=index.php’>Refresh</a></h3>”;
echo “<p>Jumlah data yang sukses diimport : “.$sukses.”<br>”;
echo “Jumlah data yang gagal diimport : “.$gagal.”</p>”;
?>

Download

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

 

Depok, 10-02-2012

noname

Memasukan file gambar kedalam database dengan tipe data BLOB


Pendahuan Ada dua teknik yang digunakan dalam mengupload file khususnya file gambar yaitu :

  1. Cara pertama : Mengupload file gambar dan menyimpan file gambar tersebut kedalam sebuah folder image, sedangkan nama atau alamat gambar tersebut disimpan kedalam sebuah database gambar.
  2. Cara Kedua : Mengupload dan menyimpan gambar tersebut kedalam sebuah database dengan tipe data BLOB

Cara Kedua Pada artikel ini saya akan menjelaskan cara yang kedua yaitu dengan cara menyimpan file gambar kedalam sebuah database.  kita membutuhkan sebuah file dengan tipedata BLOB atau Binary Large OBject.  untuk itu kita membuat sebuah tabel “gambar”  di database “test” misalnya :

CREATE TABLE gambar ( id INT NOT NULL AUTO_INCREMENT, file_content BLOB, file_name varchar(256) NOT NULL, file_type varchar(256) NOT NULL, file_size int(50) NOT NULL, PRIMARY KEY(id) ) ;

Sehingga jika sudah ada datanya akan tampil seperti dibawah ini. (saya menggunakan PHPMyAdmin)

Tabel Gambar

Adapun file-file yang dibutuhkan adalah :

  1. koneksi.php untuk koneksi ke database
  2. index.php untuk halaman utama dan form upload gambar
  3. upload.php untuk memproses input gambar dan menyimpan ke database
  4. view.php untuk menampilkan data sebuah file gambar yang tersimpan
  5. view2.php untuk menampilkan salah satu gambar yang dipilih

Setelah gambar di upload dan dijadikan file temporial di server, gambar tersebut dibaca dan diubah dalam bentuk biner. setelah itu nilainya di ubah lagi menjadi serangkaian nilai string untuk selanjutnya disimpan dalam sebuah field dengan tipedata Blob.

Menampilkan Gambar

Setelah saya coba ternyata gambar yang ditampilkan dalam satu halaman hanya satu. berbeda dengan teknik pertama yang memungkinkan gambar bisa ditampilkan banyak dalam satu halaman karena hanya memanggil alamat gambarnya saja. setelah saya perhatikan ini ada masalah pada syntax header(“Content-type: $data[file_type]”);  dimana dalam sebuah halaman hanya diperbolehkan satu header untuk satu gambar.

Output

Free Download :

http://sourcecode.kangagus.id/script-gambar-blob

Koleksi Buku :

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Depok, 13-06-2011

noname

Aplikasi pencarian data berdasarkan tanggal di PHP dan MySQL


Artikel ini menjelaskan sebuah aplikasi sederhana yang digunakan untuk menampilkan data berdasarkan pencarian nama dan range tanggal yang ditentukan.

Potongan Syntaxnya

if(isset($_POST[‘cari’])){
//menangkap nilai form
$nasabah=$_POST[‘nasabah’];
$tanggal_awal=$_POST[‘tanggal_awal’];
$tanggal_akhir=$_POST[‘tanggal_akhir’];

if(empty($nasabah) and empty($tanggal_awal) and empty($tanggal_akhir)){
//jika tidak menginput apa2
$query=mysql_query(“select * from tabel_nasabah”);
$jumlah=mysql_fetch_array(mysql_query(“select sum(uang) as total from tabel_nasabah”));
}else{
?><i><b>Informasi : </b> Pencarian nama nasabah <b><?php echo ucwords($_POST[‘nasabah’]);?></b> dari tanggal <b><?php echo $_POST[‘tanggal_awal’]?></b> sampai dengan tanggal <b><?php echo $_POST[‘tanggal_akhir’]?></b></i><?php

$query=mysql_query(“select * from tabel_nasabah where nama_nasabah like ‘%$nasabah%’ and tanggal between ‘$tanggal_awal’ and ‘$tanggal_akhir’“);
$jumlah=mysql_fetch_array(mysql_query(“select sum(uang) as total from tabel_nasabah where nama_nasabah like ‘%$nasabah%’ and tanggal between ‘$tanggal_awal’ and ‘$tanggal_akhir'”));
}

Adapun tabelnya terdiri dari field id, tanggal, nama nasabah, dan jumlah uang setiap record nasabah.

Tabel Nasabah

Sedangkan untuk mengatur format tanggal dapat di ubah di file normal.js tujuannya untuk menyesuaikan format tanggal di aplikasi dengan format tanggal atau date di database MySQL  (Y-m-d).

File normal.js

Free Download :

http://sourcecode.kangagus.id/aplikasi-pencarian-data-dengan-tanggal

Koleksi Buku :

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…amin

Depok, 16-02-2011

noname

Menampilkan data berdasarkan pilihan di listbox pada PHP


Ada teman saya mas kaka yang bertanya :

Bagaiamana caranya menampilkan data berdasarkan pilihan yg ada di listbox. bagaiamana caranya menampilkan data berdasarkan pilihan yg ada di listbox. Misalnya di list box itu berdasarkan nama_staff. mohon bantuannya, saya lagi buat TA. terimakasih

Alur Program :

  1. Buat koneksi ke database
  2. Buat Form
  3. Fungsi javascript
  4. Proses tampilkan data

Script Koneksi

<?php
$host=”localhost”;
$user=”root”;
$pass=””;
$db=”test”;
//koneksi
$koneksi=mysql_connect($host,$user,$pass);
mysql_select_db($db,$koneksi);
?>

Potongan Script Form

<td width=”241″>
<select multiple=”multiple” name=”id” id=”id” onChange=”pilih(this.value)”>
<?php
$query_limit=mysql_query(“select * from guestbook“);
while($row=mysql_fetch_array($query_limit))
{
?><option value=”<?php  echo $row[‘id_gb’]; ?>”><?php  echo $row[‘nama’]; ?></option><?php
}
?>
</select>
</td>
<td width=”195″ valign=”top”>
<select name=”id” id=”id” onChange=”pilih(this.value)“>
<option value=”0″ selected=”selected”>Pilih Nama</option>
<?php
$query_limit=mysql_query(“select * from guestbook”);
while($row=mysql_fetch_array($query_limit))
{
?><option value=”<?php  echo $row[‘id_gb’]; ?>”><?php  echo $row[‘nama’]; ?></option><?php
}
?>
</select>
</td>

Fungsi Javascript

function pilih(id){
location.replace(“list-ri32.php?id=”+id);
}

Script menampilkan data

<?php
include “conn.php”;
if($_GET[”]!==””){
$id=$_GET[‘id’];
$query=mysql_query(“select * from guestbook where id_gb=’$id'”);
?>
<table border=”1″>
<tr><th>No</th><th>Nama</th><th>Email</th><th>Pesan</th></tr>
<?php
while($row=mysql_fetch_array($query)){
?>
<tr><td><?php echo $c=$c+1;?></td><td><?php echo $row[‘nama’];?></td><td><?php echo $row[’email’]; ?></td><td><?php echo $row[‘pesan’]; ?></td></tr>
<?php
}
?></table><?php
}
?>

Download

http://www.4shared.com/file/9EmUx_MU/listbox.html

Download Tabel

http://www.4shared.com/file/qfhiRDTt/guestbooksql.html

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…amin

Depok, 25-01-2011

noname

Menampilkan data kedalam tabel PDF berwarna menggunakan PHP, MYSQL, dan FPDF


Artikel ini masih berhubungan dan melengkapi artikel sebelumnya. artikel ini juga masih membahas tentang tutorial menampilkan data yang ada didalam database kedalam sebuah file pdf dalam bentuk tabel yang lebih menarik.

adapun langkah yang perlu dilakukan dalam konfigurasi script adalah :

1) script untuk judul table yang ditampilkan

function Header()
{
//Select Arial bold 15
$this->SetFont(‘Arial’,’B’,15);
//Move to the right
$this->Cell(80);
//Framed title
$judul=’Chart Of Account‘;
$this->Cell(50,10,$judul,0,0,’C’);
//Line break
$this->Ln(20);
}

2) script untuk query database

//Queri untuk Menampilkan data
$query =”SELECT * FROM tabel_master order by kode_rekening asc”;
$db_query = mysql_query($query) or die(“Query gagal”);

3) script untuk judul field

//Column titles
$header=array(‘Rekening’,’Nama’,’Posisi’,’Normal’);

4) script untuk menampilkan data

while($data=mysql_fetch_array($db_query))
{
$this->Cell($w[0],7,$data[‘kode_rekening’],’LR’,0,’C’,$fill);
$this->Cell($w[1],7,$data[‘nama_rekening’],’LR’,0,’L’,$fill);
$this->Cell($w[2],7,$data[‘posisi’],’LR’,0,’C’,$fill);
$this->Cell($w[3],7,$data[‘normal’],’LR’,0,’C’,$fill);
$this->Ln();
$fill=!$fill;
}

5) script untuk warna, garis, dan pengaturan huruf

//Colors, line width and bold font
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont(”,’B’);

Free Download :

http://sourcecode.kangagus.id/script-export-data-ke-table-pdf

Koleksi Buku :

Sekian tutorial dari saya, semoga dapat bermanfaat untuk teman-teman dan anda semua…aamiin

 

Depok, 07-12-2010

noname

%d bloggers like this: