a href="http://www.fodey.com/generators/animated/ninjatext.asp">

Tuesday, November 25, 2014

Resume data warehouse - data quality

Kualitas Data
Ketika kita bicara tentang DATA, yang terpikirkan saya pertama kali adalah hasil capture/tangkapan berupa fakta-fakta lapangan atau arsip-arsip yang biasanya berserakan dimana-mana, atau data dapat didefinisikan sesuatu yang belum memiliki makna (cikal bakal informasi). Saya membuat artikel ini sebagai salah satu keperluan untuk referensi tugas saya, dan kalau ditulis diblog bisa dibaca lagi suatu saat kalau lupa lagi. Mari kita mulai dengan mendefinisikan data menurut beberapa sumber:
Menurut Turban et al. (2005, p38), data adalah deskripsi dasar tentang sesuatu, kejadian, kegiatan, dan transaksi yang ditangkap, direkam, disimpan, dan diklasifikasikan namun tidak terorganisir untuk menyampaikan suatu arti khusus.
Menurut McLeod dan Schell (2007, p12),data terdiri dai fakta dan gambaran yang secara umum tidak dapat digunakan oleh user (perlu diolah).
Dari kedua definisi diatas, dapat diambil kesimpulan bahwa data adalah fakta yang masih mentah dan belum memiliki arti bagi pengguna karena belum diolah.
Semakin banyaknya data yang menumpuk dalam sebuah perusahaan, maka dibutuhkan sebuah penyortiran atau penilaian apakah data tersebut berkualitas atau tidak, sehingga hanya data yang berkualitas saja yang dipertahankan dan diarsipkan, data yang tidak berkualitas, ya masuk sampah. Jika tidak ada penilaian atau pengukuran seperti ini akan mungkin begitu menumpuknya data tetapi tidak berkualitas. Nah berikut ini akan diberikan penjelasan data yang berkualitas itu seperti apa, sehingga sebuah organisasi dapat memanfaatkan data tersebut untuk kepentingan lain dan akan mengurangi sapce/tempat penyimpanan dan efisien.
Menurut Mark Mosley (2008), dalam bukunya “Dictionary of Data Management”, pengertian kualitas data adalah level data yang menyatakan data tersebut akurat (accurate), lengkap (complete), timely (update), konsisten (consistent) sesuai dengan semua kebutuhan peraturan bisnis dan relevan.
Beberapa indikator data yang berkualitas antara lain sebagai berikut:
  1. ACCURACY = data yang tersimpan nilainya benar (name cocok dengan alamatnya)
  2. DOMAIN INTEGRITY = nilai attributnya sesuai batasan yang diperkenankan (nilai attribut laki n perempuan)
  3. DATA TYPE = Nilai data disimpan dalam tipe data yang sesuai (data nama disimpan dengan tipe text)
  4. CONSISTENCY = nilai sebuah field data akan sama semua dalam berbagai berkas (field produk A dgn kode 123, akan selalu sama kodenya di setiap berkas lain)
  5. REDUDANCY = tidak boleh ada data yang sama disimpan di tempat yang berbeda dalam satu sistem
  6. COMPLETENESS = Tidak ada nilai atttribut salah yang diberikan dalam sistem
  7. DATA ANOMALY = sebuah field hanya digunakan sesuai kegunaannya. (field address3  digunakan untuk mencatat baris ketiga dalam alamat bukan untuk telp atau fax)
  8. CLARITY = Kejelasan arti kegunaan dan cara penulisan sebuah data (penamaan khusus)
  9. TIMELY = merepresentasikan waktu dari data yang dimasukkan (jika data digunakan perhari maka data pada warehaouse harus juga dibuat per hari)
  10. USEFULNESS = setiap data harus benar digunakan oleh user
  11. ADHERENCE TO DATA INTEGRITY RULES = taat pada aturan keterhubungan data
Ada beberapa teknik pengukuran apakah data di organisasi/perusahaan kita berkualitas atau tidak, salah satunya dalam buku “Executing Data Quality Projects: Ten Steps to  Quality Data and Trusted Information” oleh Danette McGilvray dari MIT dengan 10 langkah seperti pada gambar dibawah ini
Pendekatan dalam Pengelolaan Kualitas Data
Pendekatan dalam Pengelolaan Kualitas Data
Selain kita menentukan data yang berkualitas, kita juga sebaiknya memperhatikan siklus hidup dari data tersebut, bagaimana data dibuat, disimpan sampai dengan data tersebut dihancurkan, seperti apa metode dari setiap pase-nya.
Siklus Hidup Data

Tuesday, November 18, 2014

Resume Datawarehouse - ETL

ETL  merupakan  sebuah  proses  penting  yang merupakan  bagian  dari  Data  Warehouse  yang  berfungsi  untuk  mentransfer  data  yang  ada  pada basisdata  transaksi  kedalam  basisdata  Data Warehouse yang sudah dimodelkan sedemikian rupa berdasarkan  hypercubes  yang  dibentuk  berdasarkan  laporan - laporan  yang  sering  dipakai  manajemen tingkat  atas.

1)  Ekstraksi,  Mengambil  data  dari  sistem  OLTP,
Ekstraksi (Extraction) adalah operasi ekstraksi data dari sebuah sistem sumber untuk digunakan lebih jauh dalam lingkungan Data Warehouse. Tahapan ini adalah yang paling pertama dalam proses ETL. Setelah Ekstraksi, data ini akan ditransformasikan dan di-load ke dalam Data Warehouse.
Secara Umum
a.   Statis, umumnya dilakukan pada saat pemuatan data  awal  dan  dilakukan  pada  saat  sistem OLTP  tidak berjalan.
b.  Terjadwal,  ada  2  model  pengambilan  data terjadwal yaitu :
a)  Berdasarkan  waktu,  setiap  pengaksesan record  basisdata  OLTP  ditandai  dengan waktu  berupa tanggal dan jam  dan secara terjadwal  sebuah  aplikasi  program  akan dijalankan  untuk  mengakses  Data  Warehouse  berdasarkan  perubahan  waktu  pada basisdata  OLTP.
b)  Berdasarkan  perbedaan  berkas  lama  dan baru,  adanya  backup  harian  terhadap basisdata  OLTP,  dan  secara  terjadwal sebuah  aplikasi  program  akan  dijalankan untuk  mengakses  Data  Warehouse  jika sebuah tabel hari ini dan duplikat tabel hari sebelumnya berbeda.
c.   Seketika,  ada  3  model  pengambilan  data seketika yaitu:
a)  Dengan  mekanisme  log  transaksi,  setiap transaksi  insert,update  dan  delete  terhadap sebuah  record,  maka  basisdata   seketika akan  menulis  pada  log   berkas  yang digunakan  untuk  mem ilih  transaksi  yang telah berhasil dilaksanakan ( Committ).  Logberkas tidak berlaku jika kita menggunakan sistem data yang menggunakan indeks atau berkas teks.
b)  Dengan  mekanisme  basis  data  trigger, sama seperti log transaksi pilihan ini hanya untuk  sistem  yang  menggunakan  aplikasi basisdata.  Trigger  adalah  sebuah  program kecil  yang  akan dijalankan  ketika  sebuah event yang telah didefinisikan terjadi.
c)  Dengan  sumber  aplikasi,  modifikasi program  aplikasi  OLTP  agar  secara seketika mengakses Data Warehouse  setiap ada  proses  insert,update  dan  delete  pada sebuah  record .
Secara Logical
i.                     Ekstraksi Full(Full Extraction)
·         Data diekstrak secara lengkap dari sistem sumber (OLTP). Ekstraksi ini melibatkan seluruh data yang sedang tersedia dalam sistem sumber. Sebuah contoh ekstraksi penuh adalah ekspor file dari sebuah tabel yang berbeda atau kueri remote SQL  yang membaca sumber data lengkap
ii.                   Ekstraksi Inkremental (Incremental Extraction)
·         Pada poin waktu tertentu, hanya data yang memiliki histori data akan diekstrak. Event ini adalah proses ekstraksi yang dilakukan paling akhir atau sebagai contoh sebuah event bisnis yang komplek seperti hari booking terakhir dari suatu periode fiskal. Informasi ini juga dapat disediakan oleh data sumber itu sendiri seperti sebuah kolom aplikasi, merefleksikan time-stamp perubahan yang paling akhir atau sebuah perubahan tabel dimana sebuah mekanisme tambahan yang sesuai menjaga track perubahan selain transaksi yang permulaan. Dalam banyak hal, menggunakan metode ini berarti menambah logika ekstraksi ke dalam sistem sumber.
Kebanyakan Data Warehouse tidak menggunakan teknik menangkap perubahan sebagai bagian proses ekstraksi. Sebaliknya seluruh tabel dari sistem sumber diekstrak ke Data Warehouse atau staging area, dan tabel-tabel ini dibandingkan dengan yang telah diekstrak sebelumnya dari sistem sumber untuk mengidentifikasi data yang berubah. Pendekatan ini boleh jadi tidak memiliki pengaruh yang signifikan terhadap sistem sumber, namun secara jelas dapat menciptakan sebuah beban yang dapat dipertimbangkan pada proses Data Warehouse, terutama sekali jika volume data sangat besar.
Bergantung pada metode ekstrasi logikal yang dipilih dan kapabilitasnya serta restriksi pada sisisumber data, dta yang diekstrak secara fisik diekstrak dengan dua mekanisme. Data dapat diekstrak online dari sistem sumber atau dari sebuah struktur offline. Struktur offline demikian boleh jadi ada atau dapat dihasilkan oleh sebuah fungsi ekstraksi.
Secara Fisik
·         Online Extraction
o   Data diekstrak langsung dari sistem sumber itu sendiri. Proses ekstraksi dapat berhubungan secara langsung dengan sistem sumber untuk mengakses tabel sumber atau ke sebuah sistem perantara yang menyimpan data dengan sebuah cara yang dikonfigurasikan terlebih dahulu (sebagai contoh log atau tabel perubahan). Dengan catatan bahwa sistem perantara secara fisik tidak berbeda dari sistem sumber.
·         Offline Extraction
o   Data tidak diekstrak secara langsung dari sistem sumber namun dibatasi secara eksplisit diluar sistem sumber orisinil. Data telah memiliki struktur atau telah dibuat melalui prosedur ekstraksi.
Beberapa struktur yang harus dipertimbangkan antara lain :
                    Flat file
                    Dump File, informasi mengenai objek yang dimasukkan atau tidak dimasukkan, bergantung pada utility yang dipilih.
                    Log Archive dan Redo
                    Transportable Tablespaces, cara ekstrak dan memindahkan data bervolume besar antar Database.


2)  Transformation,  adalah  proses  pengambilan  data mentah  yang  belum  bisa  disimpan  pada  Data Warehouse,  oleh  karena  itu  data  harus  sesuai standar  struktur  Data  Warehouse  yang  telah ditentukan  sehingga  bisa  disimpan  ke  Data Warehouse.  Transformation  data  terdiri  dari beberapa tahap yaitu:
a.       Seleksi, men- select record  dari tabel basisdata OLTP, tahap ini merupakan bagian dari proses pengambilan data.
b.      Pemisahan  dan  Penggabungan,  manipulasi data yang dibutuhkan untuk men- select record OLTP, yaitu melakukan proses pemisahan dan penggabungan bila dibutuhkan.
c.       Konversi,   dilakukan untuk 2 alasan yaitu:
a.       Standarisasi  pengambilan  data  dari  berbagai sumber
b.      Membuat  field   dapat  digunakan  Data Warehouse  dan dipahami oleh  pengguna
d.      Ringkasan, data yang terlalu detail tidak selalu dibutuhkan pada Data Warehouse  oleh karena itu  perlu  diringkas  berdasarkan  kebutuhan Data Warehouse.
e.      Pengayaan,  menggunakan  sebuah  atau  beberapa  field   untuk  membuat  hasil  data  yang terbaik  pada  Data  Warehouse ,  prinsip  ini merupakan  pengembangan  dari  kumpulan sebuah atau beberapa  field   dari beragam record yang  menghasilkan  sebuah  field   untuk  Data Warehouse.
Dalam mentransformasikan data ada beberapa tipe fungsi transformasi yaitu:
b)      Revisi Format, merubah tipe data dan panjang field   agar  dapat  distandarkan  dan  disesuaikan dengan  standar  struktur  penyimpanan  pada Data Warehouse.
c)       Penghilangan  pengkodean  field,  p engkodean harus  dihilangkan  agar  mudah  dimengerti pengguna.  Contoh:  kode  1,  2  untuk  jenis kelamin harus dirubah menjadi Pria, Wanita.
d)      Menghitung  dan  menghasilkan  nilai,  Menghitung  dan  menghasilkan  nilai  rata- rata  yang dibutuhkan.
e)      Memecah  field,  dibutuhkan  agar  Data  Warehouse  mudah  dipelihara  dan  dimengerti pengguna. Contoh: Nama harus dipecah menjadi  nama  depan,  nama  panggilan,  nama keluarga.
f)       Penggabungan informasi, bukan kebalikan dari memecah field , tapi menggabungkan data dari bermacam - macam sumber data.
g)      Konversi kumpulan karakter, jika data berasal dari  sumber  yang  berbeda  arsitekturnya  baik dari perangkat keras atau sistem operasi yang berbeda.  Contoh:  konversi  dari  EBCDIC  ke ASCII.
h)      Konversi  unit  pengukuran,  digunakan  untuk perusahaan  yang  mempunyai  cabang  di  luar negeri.
i)        Konversi  tanggal  dan  jam,  menggunakan format tanggal dan jam yang satu  dan standar.
j)        Ikhtisar, m enjumlahkan transaksi
k)      Restrukturisasi  kunci,  hindarkan  pembuatan kunci yang  mempunyai arti membingungkan. Ubahlah beberapa kunci ke kunci yang bersifat umum.
l)        Deduplikasi,  menghilangkan  duplikasi  data yang berasal dari sistem yang berjalan.


Dari perspektif arsitektural, Data dapat ditransformasikan dengan dua cara :
·         Multistage Data Transformation
Logika transformasi data bagi kebanyakan Data Warehouse terdiri dari beberapa tahapan. Sebagai contoh, dalam transformasi rekod baru yang dimasukkan ke dalam sebuah tabel penjualan (sales), boleh jadi terdapat tahapan transformasi logik yang terpisah untuk memvalidasi masing-masing key dimensi. Gambaran secara grafis dari proses transformation logic adalah sbb :

·         Pipelined Data Transformation
Arus proses ETL dapat diubah secara dramatis dan database menjadi sebuah bagian integral solusi ETL. Fungsionalitas barunya melukiskan beberapa pembentukan tahapan proses penting yang kuno ketika beberapa yang lainnya dapat dimodel kembali untuk menambah arus data dan transformasi data menjadi lebih dapat diukur. Kegiatannya bergeser dari transformasi serial hingga proses load (dengan kebanyakan kegiatan dilakukan diluar database) atau load-kemudian proses transformasi untuk meningkatkan transformasi selagi loading.


3)  Loading, ada 4 mode Loading  yaitu:
a)      Panggil, jika data sudah ada pada tabel  Data Warehouse  maka  proses  panggil  ini  akan menghapus  data  yang  sudah  ada  dan menggantinya,  jika  data  belum  ada  maka proses ini akan mengisi tabel Data Warehouse. abc
b)      Tambah, jika data sudah ada pada tabel  Data Warehouse  maka  proses  tambah  ini  akan menambah  data  dan  ada  kemungkinan terdapat duplikat  record  dan jika dikehendaki dimungkinkan duplikat record  ditolak.
c)       Destructive  Merge,  jika  kunci  record  yang datang  cocok  dengan  kunci  record  yang  ada maka akan merubah record  yang ada dan jika record  yang datang adalah  record  baru maka akan menambah record   baru.
d)      Constructive  Merge,  jika  kunci  record  yang datang  cocok  dengan  kunci  record  yang  ada maka  akan  menambah  record  baru  dan menandai  record  baru  tersebut  sebagai penghubung  ke  record  lama  yang  cocok dengan record   yang akan datang.

Kesimpulan ETL
ETL merupakan sebuah konsep yang dibutuhkan pada  Data  Warehouse  yang  berfungsi  mentransformasikan  data  pada  basis data  OLTP  ke dalam Data Warehouse. ETL didalam pelaksanaannya membutuhkan proses  ETL,  Pilihan  penerapan  algoritma  ETL  yang  akan digunakan  dapat  disesuaikan  dengan  desain  model Data  Warehouse  yang  digunakan,  teknologi  manajemen  basis data  dan  aplikasi  perangkat  lunak  yang digunakan  yang  akan  lebih  baik  jika  sama  dengan aplikasi perangkat lunak untuk menampilkan laporan dan  query  dari  Data Warehouse  dan  teknologi manajemen  basis data  yang  digunakan  untuk  menyimpan data pada Data Warehouse.