15 Januari 2009

DATA MINING - MENGGALI "EMAS" DALAM GUNUNG DATA

Apa Itu Data Mining?

Data mining merupakan cabang ilmu yang relatif baru dalam ilmu komputer, walaupun sejak tahun 1990-an teknik ini telah dikemukakan. Dan sampai sekarang masih terus diperdebatkan data mining ditempatkan di bidang ilmu mana? Karena data mining menyangkut database, kecerdasan buatan, sistem pakar, statistik, dsb. Ada juga yang mengatakan bahwa data mining tidak lebih dari machine learning atau analisa statistik untuk mengeksplorasi pengetahuan dalam sebuah database. Dalam jurnal ilmiah data mining dikenal juga dengan Knowledge Discovery in Databases (KDD).

Walaupun data mining memiliki hubungan dengan beberapa disiplin ilmu, tetapi terdapat perbedaan dalam beberapa aspek :
  1. statistik : model statistik dipersiapkan oleh para ahli statistik, sedangkan data mining mengembangkan statistik untuk menangani data berjumlah besar secara otomatis.
  2. expert system (sistem pakar) : model pada expert system dibuat berupa aturan-aturan berdasar pada pengalaman-pengalaman para ahli.
  3. data warehouse (DW) : sering terjadi kerancuan antara data mining dan data warehouse karena keduanya sering dipakai bersamaan. Pada umumnya data warehouse lebih merujuk pada tempat untuk menyimpan data yang terkonsolidasi sedangkan data mining bisa dianggap sebagai alat untuk menganalisa secara otomatis nilai dari data itu.
  4. OLAP : seperti data warehouse, OLAP juga sering dipakai dalam teknik data mining untuk mendukung proses analisis kompleks dalam rangka mengungkapkan kecenderungan pasar dan faktor-faktor penting dalam bisnis.


Bagaimana Cara Kerjanya?

Sebagai sebuah proses, data mining memiliki beberapa tahapan, yaitu :

1. Pembersihan Data
Tahapan ini bertujuan untuk membuang data-data yang tidak konsisten dan noise, karena pada umumnya data-data yang diperoleh dari database atau pun dari sumber lain data tidak sempurna, antara lain disebabkan oleh data yang hilang, data tidak valid, ataupun hanya sekedar salah ketik. Data-data yang tidak relevan juga dibuang karena dapat mengurangi tingkat akurasi dalam data mining.

2. Integrasi Data
Tahapan ini merupakan penggabungan data dari beberapa sumber, karena tidak jarang sebuah perusahaan menyimpan data dalam beberapa bentuk penyimpanan, seperti : database, file teks, file xls, dsb. Data hasil dari integrasi ini disimpan dalam sebuah media penyimpanan yang disebut dengan data warehouse.

3. Transformasi Data
Pada tahapan ini, data diubah menjadi bentuk yang sesuai untuk di-mining.

Tiga tahapan di atas biasa juga dikenal sebagai proses ETL (Extract, Transform, and Load). Proses ini dapat dilakukan secara otomatis dengan menggunakan perangkat lunak, baik yang free seperti : Kettle, maupun bagi yang memakai database berbayar seperti SQL Server, maupun Oracle, tools untuk ETL sudah dipaketkan bersama-sama dengan Database Engine.

Hasil dari ETL ini disimpan dalam datawarehouse, dan dapat dilakukan analisis dengan menggunakan OLAP (lihat tulisan sebelumnya).

4. Aplikasi Teknik Data Mining
Pada tahapan ini dilakukan implementasi teknik-teknik data mining. Dalam tulisan ini tidak akan dibahas teknik-teknik dalam data mining karena akan terlalu teknis dan luas.

5. Evaluasi Pola
Dalam tahap ini dilakukan evaluasi terhadap pola-pola maupun prediksi yang dihasilkan dari penerapan teknik data mining.

6. Presentasi Pola Untuk Menghasilkan Aksi
Pada tahap ini dilakukan formulasi keputusan atau aksi yang akan dijalankan dari analisis yang didapat.



Impelementasi Data Mining

Kelihatannya sangat rumit, apakah teknik ini bisa dilakukan terhadap bisnis asuransi kesehatan? Tanya teman saya ketika saya bercerita tentang data mining. Jawabannya sangat bisa.

Australian Health Insurance Commision menggunakan data mining untuk mengidentifikasi fraud dan pelayanan yang sebenarnya tidak diperlukan oleh peserta asuransi tetapi tetap dilakukan. Hasilnya? Mereka berhasil menghemat satu juta dollar per tahunnya.



Apa yang Bisa Dilakukan dan Tidak Bisa Dilakukan Oleh Data Mining?

Sehebat dan secanggih apapun teknik data mining tetaplah memiliki keterbatasan terhadap variabel-variabel pendukungnya.

Hal-hal yang bisa dilakukan oleh data mining :
  1. Kemampuan pencarian secara hampir otomatis.
  2. Kemampuan data mining untuk menangani data dalam jumlah besar memungkinkan data mining diterapkan pada masalah-masalah kompleks yang ukurannya tidak dibatasi lagi oleh otak manusia.
  3. Analisis pasar dan manajemen, dengan demikian dapat digunakan sebagai solusi untuk menembak target pasar, cross market analysis, identifikasi kebutuhan konsumen.
  4. Analisis perusahaan dan manajemen resiko, dapat digunakan sebagai analisis untuk perencanaan keuangan dana analisis asset, resource planning, peningkatan daya saing, dsb.

Keterbatasan dan hal-hal yang tidak bisa dilakukan dengan data mining :

  1. Kendala database, karena data mining merupakan penggalian data dalam database, tentu hasilnya sangat tergantung dari mutu database itu sendiri. Sesuai kaidah GIGO (Garbage in garbage out), hasil analisis yang akurat tidak dapat diperoleh dari data yang tidak valid.
  2. Data mining tidak dapat melakukan analisis sendiri, analisis harus dilakukan oleh manusia/user untuk memperoleh hasil.

Perangkat Lunak untuk Data Mining

Sekarang ini sudah banyak vendor yang menyediakan perangkat lunak untuk implementasi data mining dan OLAP yang dikenal dengan istilah Business Intelligence (BI). Para vendor yang menyediakan perangkat lunak ini antara lain :

  1. Pentaho, dengan produk Pentaho BI Platform dengan dual lisensi dan open source berbasis Java, mendukung berbagai macam database engine seperti MySQL, SQL Server, Oracle, PostgreSQL.
  2. Microsoft, kemampuan data mining sudah ditambahkan sejak SQL Server 7 dan semakin disempurnakan pada SQL Server 2005 dan 2008
  3. Oracle, tools untuk BI sudah dipaketkan bersama dengan database engine.

Kesemua perangkat lunak tersebut dibuat bertujuan untuk memudahkan pengguna dalam menerapkan data mining, sehingga didapat hasil yang akurat dan cepat.

Let's make things better..... :D

05 Januari 2009

OLAP dan Analisis Data

Apa Itu OLAP?

OLAP adalah singkatan dari On-Line Analytical Processing. Konsep ini pertama kali diusulkan oleh E.F. Codd, bapak dari basis data relasional. Secara mendasar OLAP adalah sebuah metode untuk melakukan analisis terhadap data yang terdapat dalam media penyimpanan (basis data) dan kemudian menyajikan laporan sesuai permintaan user.

Mengapa Harus Memakai OLAP?

Tidak ada yang mengharuskan Anda memakai OLAP. Tapi, jika Anda menginginkan menganalisis data secara cepat, atau Anda ingin mendapatkan data dengan format yang sering berubah sesuai keinginan Anda mungkin OLAP dapat Anda jadikan alat bantu. OLAP menampilkan data secara dinamis, dan secara otomatis meringkas data ke dalam irisan-irisan data yang berbeda. User diizinkan untuk merotasi data, menelusuri dan meringkas data, dan membuat laporan sesuai keinginan user dengan hanya menggunakan manipulasi mouse.

Bagaimana Cara Kerja OLAP?

OLAP bekerja dengan mengelompokkan data ke dalam kelompok-kelompok yang memiliki kesamaan dengan mengadopsi model kubus (cube) yang merupakan representasi multidimensi dari data. Sesuai filosofi kubus, Anda hanya dapat melihat paling banyak 3 (sisi) dalam satu waktu, OLAP memiliki 3 (tiga) komponen, yaitu :

1. Dimension (Dimensi)
Dimension adalah sebuah garis (axis) atau poros yang merupakan kelompok-kelompok data. Seperti pada sistem koordinat Cartesian xyz, Anda dapat membayangkan bahwa dimensi merupakan sumbu x dan y.

2. Time Dimension (Dimensi Waktu)
Lho, ini kan juga dimensi? Apa bedanya dengan yang di atas? Sebenarnya sama saja :) Saya pisahkan agar kita bisa membayangkan dimensi ini sebagai sumbu z pada sistem koordinat Cartesian xyz. Dimensi ini merupakan tipe khusus dari dimensi yang didefenisikan sebagai detail waktu dari sebuah peristiwa/kejadian.

3. Measures (Ukuran/Nilai)
Adalah sesuatu yang dapat diukur dan mempunyai nilai. Contoh : Pendapatan rata-rata karyawan dan jumlah penjualan.

Contoh Implementasi OLAP
Teknologi secanggih apapun tidak akan bermanfaat bagi manusia jika tidak diimplementasikan. Berikut ini adalah screenshot aplikasi YaMT yang merupakan aplikasi sederhana untuk implementasi OLAP dalam bisnis asuransi kesehatan :

Gbr. 1 : Collapse Row and Columns



Gbr. 2 : Expand Row and Columns



Gbr. 3 : Swap Row and Columns



Gbr. 4 : Add Row Dimension


Dari gambar-gambar di atas dapat dilihat bahwa dengan OLAP kita dapat melihat data dengan berbagai cara dan membuat laporan sesuai dengan keinginan kita dengan mudah.

Selanjutnya? Terserah Anda... :p Life is in Your Hand...