BAB II LANDASAN TEORI 2.1. Data Warehouse Menurut Raplh Kimball (2004,p23), Data warehouse adalah system yang mengekstrak, membersihkan, menyesuaikan dan mengirimkan sumber data operasional ke sebuah penyimpanan data dimensional yang mendukung implementasi query dan analisa untuk pengambilan keputusan. Menurut W.H Inmon (2005,p29), Data warehouse adalah koleksi data yang mempunyai sifat berorientasi subjek, terintegrasi, time-variant, dan bersifat tetap dari koleksi data dalam mendukung proses pengambilan keputusan management. Dari definisi – definisi diatas Data warehouse merupakan suatu metode dalam perancangan database yang menunjang dalam menganalisa data dan merupakan suatu tempat penyimpanan data yang mengintegrasikan data – data dari berbagai sumber data yang telah disesuaikan untuk query dan analisa yang bersifat orientasi subject, terintegrasi, time-variant, tidak berubah yang digunakan untuk membantu pengambilan keputusan. Data warehouse digunakan untuk mendukung proses pembuatan keputusan, bukan proses transaksi. Database yang ada merupakan database yang berorientasikan pada transaksi mendukung Online Transaction Processing (OLTP). Data warehouse tidak berorientasikan pada transaksi, data warehouse ada untuk mendukung berbagai macam pekerjaan pengambilan keputusan sehingga data warehouse mendukung metode Online Analytical Processing (OLAP). 2.2. Karakteristik Data Warehouse Karakteristik data warehouse menurut W.H Inmon (2005,p29) adalah sebagai berikut :
6
7
Berorientasi Subjek Data warehouse berorientasi subjek adalah data warehouse yang didesain dengan kebutuhan untuk menganalisa penyimpanan data yang mendukung subjek-subjek dalam pengambilan keputusan bukan data yang berorientasi pada aplikasi. Analisa data menjadi lebih baik jika data diorganisasikan berdasarkan subjek, sehingga pengambilan keputusan bisa dilakukan secara khusus dan cepat berdasarkan data yang telah disesuaikan dengan kebutuhan.
Gambar 2.1 Beriorentasi subjek (W.H Inmon, 2005)
8
Terintegrasi Data yang berasal dari sumber data yang berbeda – beda dalam suatu perusahaan menyebabkan sumber data yang ada tidak konsisten, karena adanya perbedaan format. Data warehouse merupakan suatu wadah tunggal yang yang secara konsiten menggabungkan berbagai format yang berasal dari sumber data yang terpisah dan disesuaikan kedalam format yang konsisten dan saling terintegrasi satu dengan lainnya. Syarat untuk mengintegrasikan data dapat dilakukan dengan berbagai cara seperti konsistensi penamaan, ukuran dan struktur dalam atribut fisik dari data. Dibawah ini adalah tabel perbandingan antara system OLTP dengan system data warehouse (Connoly dan Begg, 2005, p1153) : Sistem OLTP
Sistem Data Warehouse
Mengandung data terkini
Mengandung data historis (data lama)
Menyimpan data yang rinci
Menyimpan data yang rinci, sedang ringkas
Data bersifat dinamis
Data bersifat statis dan berukuran besar
Prosesnya berulang
Prosesnya tidak terstruktur, ditujukan untuk maksud tertentu
Digunakan untuk transaksi
Digunakan untuk analisis
Transaksi tingkat tinggi
Transaksi tingkat menengah sampai rendah
Berorientasi pada aplikasi
Berorientasi pada subjek
Penggunaannya dapat diprediksi
Penggunaannya
tidak
dapat
diprediksi
sebelumnya Mendukung keputusan harian
Mendukung
keputusan
yang
bersifat
strategis Digunakan
oleh
banyak
user Digunakan oleh sedikit user manajerial
operasional Tabel 2.1 Perbandingan Sistem OLTP dan Sistem Data Warehouse
9
Gambar 2.2 Integrasi Data (W.H Inmon, 2005)
Tidak berubah Data warehouse tidak diupdate secara real time, namun dilakukan secara periodik dari system operasional. Data yang ada dalam suatu data warehouse tidak mengalami penghapusan, sehingga berbeda dengan database operasional yang dapat melakukan update insert dan delete terhadap data yang mengubah isi dari database sedangkan pada data warehouse hanya ada dua kegiatan manipulasi data yaitu loading data (mengambil data) dan akses data (mengakses data warehouse seperti melakukan query atau menampilkan laporan yang dibutuhkan) , tidak ada kegiatan updating data, kecuali untuk perawatan dan koreksi terhadap kesalahan yang terjadi.
10
Data baru yang ada selalu ditambahkan sebagai tambahan sebagai supplement dari data warehouse, bukan sebagai pengganti data yang ada di data warehouse lalu data yang ada kemudian di integrasikan dengan data yang sebelumnya ada pada data warehouse .
Gambar 2.3 Non Volatile (W.H Inmon, 2005)
Variasi waktu Data warehouse Variasi waktu artinya bahwa data yang ada pada datawarehouse bersifat valid dan akurat berdasarkan rentang interval jangka waktu tertentu. Data pada data warehouse menunjukkan data operasional yang diambil pada suatu waktu tertentu.
11
Gambar 2.4 Time-varian (W.H Inmon, 2005)
Keempat karakteristik di atas saling terkait dan harus diimplementasikan agar terbentuk suatu data warehouse yang dapat mendukung pengambilan keputusan secara efektif. Implementasi dari keempat karakteristik di atas membutuhkan struktur data dari data warehouse, data dari berbagai sumber operasional akan diekstrak dan diintegrasikan ke dalam data warehouse sehingga data yang dihasilkan tidak lagi bersifat operasional melainkan informatif. 2.3. Struktur Data Warehouse Menurut Inmon (2005, p33), Struktur data warehouse menunjukkan level detil yang berbeda dalam data warehouse. Terdapat older level of detail, current level of detail, level of lightly summarized data (level data mart), dan level of highly summarized data. Data mengalir ke dalam data warehouse dari lingkaran operasional. Biasanya transformasi penting dari data terjadi pada jalur dari level data operasional ke level data warehouse.
12
Gambar 2.5 Struktur Data Warehouse (W.H Inmon, 2005 – p34)
Current Detail Data Current detail data adalah data detail yang sedang aktif saat ini, mencerminkan keadaan yang sedang berjalan saat ini dan merupakan tingkat terendah dalam data warehouse. Current detail data ini biasanya memerlukan media penyimpanan data yang cukup besar. Alasan perlu diperhatikan current detail data adalah sebagai berikut:
Menggambarkan kejadian yang baru terjadi dan selalu menjadi perhatian utama.
Hampir selalu disimpan di media penyimpanan karena cepat diakses tetapi mahal dan kompleks dalam pengaturannya
Dapat digunakan dalam membuat rekapitulasi sehingga current detail data harus akurat.
Jumlahnya sangat banyak dan disimpan pada tingkat penyimpanan rendah.
13
Old Detail Data Old detail data adalah data historis dapat berupa hasil back-up yang dapat disimpan dalam media penyimpanan yang terpisah dan dapat diakses kembali pada saat tertentu. Data ini jarang diakses sehingga disimpan dalam media penyimpanan alternatif seperti tape dan disk. Data ini biasanya memiliki tingkat frekuensi akses yang rendah. Penyusunan file atau directory dari data ini disusun berdasarkan umur dari data yang bertujuan mempermudah untuk pencarian atau pengaksesan kembali.
Lightly Summarized data Data ini merupakan ringkasan atau rangkuman dari current detail data. Data ini dirangkum berdasarkan periode atau dimensi lainnya sesuai dengan kebutuhan. Ringkasan dari current detail data belum bersifat total summary. Data-data ini memiliki detil tingkatan yang lebih tinggi dari current detail data dan mendukung kebutuhan warehouse pada tingkat departemen. Tingkatan data ini disebut juga dengan data mart. Akses terhadap data jenis ini banyak digunakan untuk view suatu kondisi yang sedang atau sudah berjalan.
Highly Summarized Data Data ini merupakan tingkat lanjutan dari lightly summarized data, yang merupakan hasil ringkasan yang bersifat totalitas, dapat diakses misalnya untuk melakukan analisis perbandingan data berdasarkan urutan waktu tertentu dan analisis menggunakan data multidimensi.
Metadata Metadata adalah data tentang data atau merupakan gambaran dari sebuah struktur, isi, kunci, indeks dari data. Metadata itu sendiri menjelaskan struktur dan atribut dari data.
14
2.4. Arsitektur Data Warehouse Menurut Connolly dan Begg (2005, p1156), arsitektur utama dari data warehouse adalah sebagai berikut :
Gambar 2.6 Arsitektur Data Warehouse (Connolly dan Begg , 2005 – p1157)
Operasional Data Sumber data dari data warehouse dapat berasal dari mainframe, dan database jaringan, selain itu dapat melalui Operasional Data Source(ODS). ODS menampung data yang di ekstrak dari system utama atau sumber – sumber data yang ada dan kemudian data hasil ekstrasi tersebut di sesuaikan.
Load Manager Load Manager (disebut juga frond-end component) mengerjakan semua operasi yang berkaitan dengan fungsi extracting (menyaring data) dan fungsi loading (mengisi) ke dalam data warehouse. Data diekstrak langsung dari sumber data atau pada umumnya dari ODS. Operasi yang dilakukan oleh
15
load manager dapat berupa transformasi data yang sederhana untuk mempersiapkan pemasukan data ke data warehouse.
Warehouse manager Warehouse manager melakukan seluruh operasi -
operasi yang
berhubungan dengan kegiatan manajemen data didalam warehouse operasi – operasi tersebut meliputi : o Melakukan analisa data untuk memastikan konsistensi data. o Melakukan trasformasi dan merging (penggabungan) sumber data dari penyimpanan sementara kedalam tabel – tabel di data warehouse. o Menciptakan indeks – indeks dan view berdasarkan tabel – tabel dasar. o Melakukan denormalisasi (jika diperlukan) o Melakukan agregasi (jika diperlukan) o Melakukan back-up dan archiving data.
Query Manager Query manager juga disebut komponen back end, melakukan operasi – operasi yang berhubungan dengan manajemen user queries. Operasi – operasi yang dilakukan oleh komponen ini termasuk mengarahkan query kepada tabel – tabel dan menjadwalkan eksekusi dari query tersebut.
Detailed Data Komponen ini menyimpan semua detail dalam skema database. Pada umumnya, detailed data tidak disimpan secara langsung tetapi dengan melakukan agregasi data. Akan tetapi, pada detailed data ditambahkan ke data warehouse untuk mendukung data yang telah teraggregasi.
Lightly dan Highly Summarized Data Komponen ini menyimpan semua yang sudah diringkas oleh warehouse manager. Tujuan dari peringkasan informasi adalah untuk mempercepat performa queries. Walaupun ada peningkatan usaha operasional yang dilakukan terkait dengan peringkasan data pada mulanya, hal ini terbayar dengan
menghilangkan
kebutuhan
untuk
melakukan
operasi-operasi
16
peringkasan (seperting sorting atau grouping) untuk menjawab user queries. Summarized data terus diperbarui (update) seiring masuknya data baru ke dalam data warehouse.
Archive / Back-up Data Komponen ini menyimpan detailed dan summarized data dengan tujuan untuk arsip (penyimpanan dokumen) dan cadangan. Walaupun summary data dihasilkan dari detailed data, melakukan backup terhadap online summary data merupakan hal penting jika data ini tersimpan diluar waktu penahanan (retention) detailed data.
Metadata Komponen ini menyimpan semua definisi – definisi metadata (data tentang data) yang digunakan oleh semua proses yang ada didalam data warehouse. Metadata digunakan untuk bermacam-macam tujuan, antara lain : o Untuk prose extraction (menyaring data) dan loading (mengisi), metadata digunakan untuk memetakan sumber data menjadi view biasa dari data yang berada didalam data warehouse. o Untuk proses manajemen data warehouse – metadata digunakan untuk mengendalikan secara otomatis produksi tabel-tabel summary. o Sebagai bagian dari proses manejemen query – meta data digunakan untuk mengarahkan query ke sumber data yang paling tapat.
End-User Access Tools Tujuan utama pembuatan data warehouse adalah untuk menyediakan informasi kepada business user untuk strategi pengambilan keputusan. User berinteraksi dengan data warehouse menggunakan end-user acces tools. Menurut Berson and Smith (Connolly, 2005, p1160), end-user access tools dikategorikan menjadi lima kelompok utama : o Reporting ad Query Tools Reporting tools meliputi production reporting tools dan report writers. Production reporting tools digunakan untuk menghasilkan laporan
17
operasional berkala. Report writers adalah desktop tools yang dirancang end-user. Query tools untuk relational data warehouse dirancang untuk menerima SQL atau menghasilkan SQL statement untuk melakukan penggalian/pencarian data yang tersimpan dalam data warehouse. Tools ini melindungi end user dari kompleksitas SQL dan struktur database dengan memasukkan sebuah meta-layer diantara user dan database. Meta-layer yang dimaksud adalah software yang menyediakan subject-oriented view dari sebuah database dan mendukung pembuatan ‘point and click’ SQL. o Application Development Tools Kebutuhan end-user tidak dapat terpenuhi oleh kemampuan reporting and query tools yang terbatas baik karena analisis yang diperlukan tidak dapat dilakukan maupun karena interaksi user yang ada memerlukan user dengan tingkat keahlian yang tinggi. Pada situasi seperti ini, akses user memerlukan pengembangan in house application menggunakan graphical data access tools yang dirancang terutama untuk lingkungan client-server beberapa dari application development tools ini berinteraksi dengan OLAP tools, dan dapat mengakses semua system database utama termasuk Oracle, Sybase dan Informix. o Executive Information System (EIS) tools EIS, sering dikenal sebagai ‘everybody’s information systems’, sejak awal dikembangkan untuk mendukung strategi pengambilan keputusan tingkat tinggi. Namun, focus daris system ini berkembang luas hingga meliputi dukungan untuk manjemen untuk segala tingkatan. EIS tools pada awalnya berhubungan dengan mainframes yang memungkinkan para pengguna untuk membangun aplikasi pendukung keputusan dalam bentuk grafik yang dapat dipersonalisasi untuk mendukung pengambilan keputusan untuk menyediakan overview dari data
18
organisasi dan akses ke sumber data eksternal. Sekarng ini, pembatasan antara EIS tools dan decision-support tools lainnya menjadi semakin tidak jelas seiring penambahan fasilitas query dan penyandian custom-built application oleh EIS developers untuk area bisnis seperti penjualan,pemasaran, dan keuangan. o Online Analytical Processing (OLAP) tools OLAP tools berdasarkan pada konsep multi-dimensional database dan OLAP tools memungkinkan user yang berpengalaman untuk menganalisa data menggunakan views yang multi-dimensional dan kompleks. Business applications yang diperuntukan bagi OLAP tools biasanya meliputi penilaian keefektifan kampanye pemasaran, peramalan penjualan produk, perencanaan kapasitas. Tools ini diasumsikan bahwa data disusun dalam sebuah model multidimensional didukung oleh sebuah multi-dimensional database (MDDB) yang special oleh sebuah relational database yang dirancang untuk memungkinkan multi-dimensional queries. o Data Mining Tools Data mining adalah proses menemukan korelasi, pola dan tren baru yang berarti
dengan
menggali
sejumlah
besar
data
dengan
menggunakan teknik statistic, matematik, Artificial Intelligence (AI). Data mining mempunyai potensi untuk menggantikan kemampuan OLAP tools, karena daya tarik utama data mining adalah kemampuannya untuk membangun model yang berpandangan kedepan (predictive), bukan berpandangan ke belakang (restrospective). 2.5. Bentuk Data Warehouse Penentuan Bentuk data warehouse yang akan digunakan disesuaikan dengan kebutuhan yang diperlukan dalam menjalankan aplikasi yang digunakan. Seiring dengan perkembangan teknologi Client – Server maka
19
bentuk data warehouse dapat diterapkan dalam berbagai cara untuk menampung kebutuhan secara proporsional. Bentuk yang sering digunakan dalam data warehouse adalah :
Functional Data Warehouse Bentuk ini menerapkan data warehouse yang dibuat lebih dari satu yang digunakan sesuai fungsinya seperti fungsi keuangan, fungsi personalia dan lain – lain. Keuntungan dari bentuk ini adalah system ini mudah dibuat dengan biaya yang lebih efisien, sedangkan kerugiannya adalah resiko kehilangan konsistensi data.
Gambar 2.7 Functional Data Warehouse
Centralized Data Warehouse Bentuk ini mengumpulkan data pada satu tempat terpusat, kemudian data disebar ke unit-unit sesuai dengan fungsinya. Keuntungan dari system ini adalah data yang ada menjadi konsisten karena sebelum data digunakan data sudah melalui proses sinkronisasi. Penerapan system ini membutuhkan biaya maintenance yang tinggi.
20
Gambar 2.8 Centralized Data Warehouse
Distributed Data Warehouse Pada bentuk ini data warehouse menggunakan gateway yang fungsinya sebagai jembatan antara data warehouse dengan workstation. User dimungkinkan untuk dapat secara langsung berhubungan dengan sumber data atau pemasok data akan ditampilkan kepada user seolah-olah dari satu sumber, namun sebenarnya dari berbagai sumber.
Gambar 2.9 Dsitributed Data Warehouse Menurut Connoly dan Begg (2005, p1152), keberhasilan dari implementasi data warehouse akan membawa keuntungan utama pada organisasi, yaitu :
Tingkat pengembalian investasi yang tinggi Sebuah organisasi harus menyediakan sumber daya dalam jumlah yang besar untuk memastikan keberhasilan implementasi data warehouse dan biayanya
21
dapat sangat bervariasi antara £50.000 hingga diatas £10 juta dikarenakan bermacam-macam solusi teknis yang dapat digunakan. Namun sebuah studi oleh International Data Corporation (IDC) pada tahun 1996 dilaporkan bahwa rata-rata 3 tahun return on investment (ROI) pada data warehouse mencapai 401% dengan lebih dari 90% dari perusahaan tersurvei mencapai lebih dari 40% ROI, setengah dari perusahaan yang tersurvei mencapai lebih dari 160% ROI, dan seperempatnya dengan lebih dari 600%ROI
Keuntungan kompetitif Keuntungan kompetitif didapat dengan memungkinkan pembuat keputusan mengakses data yang dapat menunjukkan informasi yang sebelumnya tidak ada, tidak diketahui, dan tidak tersimpan. Contoh : Pelanggan, tren dan permintaan.
Meningkatkan produktivitas para pembuat keputusan perusahaan. Data warehouse meningkatkan produktivitas dari pembuat keputusan perusahaan dengan menciptakan database yang terintegrasi, konsisten, berorientasi subject dan data historis. Dengan merubah data menjadi informasi yang berarti, data warehouse memungkinkan manager untuk melakukan analisa dengan lebih akurat dan konsisten.
2.6. Model Dimensional Menurut Connoly dan Begg (2005, p1183), Model dimensional adalah teknik rancangan logical yang bertujuan untuk menampilkan data dalam bentuk standart, intuitive sehigga memungkinkan performa akses yang tinggi. Model dimensional menggunakan konsep model hubungan antar entity (ER) dengan beberapa batasan yang penting. Setiap model dimensi terdiri dari sebuah tabel dengan sebuah komposit primary key, disebut dengan tabel fakta, dan satu set tabel yang lebih kecil disebut tabel dimensi. Setiap tabel dimensi memiliki sebuah simple primary key yang merespon tepat pada satu komponen primary key pada tabel
22
fakta. Dengan kata lain primary key pada tabel fakta terdiri dari dua atau lebih foreign key. Struktur karakteristik ini disebut dengan skema bintang atau join bintang. Fitur terpenting dalam model dimensional ini adalah semua natural keys diganti dengan kunci pengganti (surrogate keys). Maksudnya yaitu setiap kali join antar tabel fakta dengan tabel dimensi selalu didasari kunci pengganti. Kegunaan dari kunci pengganti adalah memperbolehkan data pada data warehouse untuk memiliki beberapa kebebasan dalam penggunaan data, tidak seperti halnya yang diproduksi oleh sistem OLTP. Star Schema memanfaatkan karakteristik data factual, seperti fact yang dihasilkan oleh kejadian yang berlangsung dimasa lampau dan yang tidak akan berubah, tanpa memperhatikan bagaimana data tersebut akan dianalisis dikarenakan sebagian besar data didata data warehouse direprensentasikan oleh fact, maka tabel fakta dapat berukuran sangat besar, namun relative terhadap dimension tables. Memperlakukan data fakta sebagai read-only references yang tidak akan berubah seiring waktu berjalan merupakan hal yang penting. Fact tabel yang paling berguna mengandung satu atau lebih pengukuran secara numeric atau ‘facts’, yang ada disetiap record. Fakta yang paling berguna didalam sebuah tabel faktas adalah numeric dan penambahan (additive) karena aplikai data warehouse hampir tidak pernah mengakses sebuah single record, melainkan ratusan, ribuan, bahkan jutaan record dalam satu waktu dan yang paling berguna untuk dilakukan dengan begitu banyak record yang ada adalah dengan mengagregasi record tersebut. Sebaliknya, dimension tables pada umumnya berisi informasi deskriptif berupa teks. Dimension attributes digunakan sebagai constrain didalam data warehouse queries. Kegunaan data warehouse akan terlihat dalam relasinya ke data yang tepat yang tersimpan dalam dimension tables.
23
Gambar 2.10 Star Schema (Connolly dan Begg , 2005 – p1184)
Star Schema dapat digunakan untuk mempercepat perfoma query dengan melakukan denormalisasi terhadap references information ke dalam sebuah dimension table. Denormalisasi tepat untuk dilakukan saat terdapat sejumlah entitas yang berelasi dengan dimension table yang sering diakses menghindari overhead sebagai akibat dari join tabel-tabel tambahan untuk mengakses attributes. Denormalisasi tidak tepat dilakukan saat data data tambahan tidak sering diakses, karena overhead untuk melakukan scanning pada expanded dimension table tidak setimpal dengan hasil dari performa query yang didapat. Terdapat variasi terhadap star schema yang dikenal sebagai snowflake schema dimana dimensionnya mempunyai dimension lain. Dengan kata lain, snowflake
24
schama adalah variasi dari star schema dimana dimension tables tidak mengandung data yang terdenormalisasi.
Gambar 2.11 Snowflake Schema (Connolly dan Begg , 2005 – p1185) Apapun schema yang digunakan, bentuk standar maupun yang dapat diprediksi pada dasarnya menawarkan keuntungan – keuntungan utama dalam lingkungan sebuah data warehouse, yaitu :
Efisiensi Konsistensi dari struktur database yang mendasar dimungkinkan akses yang lebih efisien ke data dengan tools yang bervariasi termasuk report writers dan query tools.
Kemampuan untuk menangani kebutuhan yang berubah Star schema dapat beradaptasi terhadap perubahan dalam kebutuhan user, sebab semua dimension adalah ekuivalen dalam menyediakan akses ke tabel fakta. Ini berarti rancangan ini lebih mampu untuk mendukung ad hoc user queries.
Ekstensibilitas Dimensional model extensible, maksudnya dapat dikembangkan lagi. Contoh perubahan – perubahan umum yang harus dapat didukung oleh dimensional model:
25
o Penambahan fact baru selama fact tersebut konsisten dengan fundamental granularity dari tabel fakta yang ada. o Penambahan dimensions baru, selama ada nilai tunggal di dimension tersebut yang didefinisikan untuk setiap fact record. o Penambahan dimensional attributes baru. o Mengurai dimension records yang ada ke tingkat granularity yang lebih rendah.
Kemampuan untuk membuat model situasi bisnis umum Ada banyak pendekatan umum untuk menangani situasi umum pembuatan model dalam dunia bisnis. Setiap situasi mempunyai kumpulan alternative, yang dimengerti dengan baik, dapat di program secara spesifik didalam report writers, query tools, dan user interface lainnya.
Query processing yang dapat diprediksi Aplikasi data warehouse yang drill down akan secara sederhana menambahkan dimension attributes lebih dari dalam sebuah star schema tunggal. Aplikasi yang drill across akan menghubungkan tabel faktas yang terpisah melalui dimensions yang dipakai bersama (the shared/comformed dimension). Walaupun secara keseluruhan, star schema yang ada didalam DM perusahaan rumit, proses query sangat mudah diprediksi karena pada tingkat terendah, query dapat dilakukan pada setiap tabel faktas secara mandiri.
2.7. Metodologi Perancangan Data Warehouse Menurut Kimball yang dikutip oleh Connoly dan Begg (Connolly, 2005, p1187), metodologi untuk merancang database adalah dengan
‘Nine-Step
Methodology’ (Kimball,1996). Nine-Step Methodology menjelaskan langkah-langkah yang diperlukan untuk merancang sebuah data marts. Namun, metodologi ini juga menyatukan data marts yang terpisah sehingga dalam jangka waktu tertentu data marts tersebut akan menyatu menjadi data warehouse yang koheren secara keseluruhan.
26
Langkah – langkah pada Nine-Step Methodology :
Step 1 : Memilih proses bisnis Proses/fungsi yang dimaksud adalah persoalan utama dari data mart tertentu. Data mart pertama yang dibuat seharusnya adalah data mart yang paling mungkin selesai tepat waktu, yang tidak melewati biaya/budget yang telah ditentukan dan yang paling menjawab pertanyaan bisnis yang paling penting dan komersil. Pilihan terbaik untuk data marts pertama yang dibuat cenderung pada yang berhubungan dengan penjualan. Sumber data ini dapat dipastikan mudah diakses dan tinggi kualitasnya.
Step 2 : Menentukan grain dari proses bisnis Memilih grain adalah memutuskan apa yang direpresentasikan records dari tabel fakta secara pasti. Hanya pada saat grain untuk tabel fakta sudah dipilih, dimensions untuk tabel fakta dapat diidentifikasi. Keputusan memilih grain untuk tabel fakta juga menentukan grain dari setiap dimensions tables.
Step 3 : Identifikasi dan membuat dimensi yang sesuai Dimensions mengatur konteks untuk menanyakan pertanyaan tentang fact didalam tabel faktas. Kumpulan dimensions, yang dibuat dengan baik membuat data mart dapat dimengerti dan mudah untuk digunakan. Identifikasi dimensions dilakukan dengan detil yang cukup untuk mendeskripsikan suatu seperti pelanggan dan property pada grain yang benar. Sebuah kumpulan dimensions yang tidak lengkap atau disajikan dengan buruk akan mengurangi kegunaan dari sebuah data mart untuk
perusahaan. Jika ada dimensions
terdapat dalam dua data marts, maka dimensions tersebut harus sama persis, atau salah satunya harus merupakan sebuah subset matematik dari yang lainnya. Hanya dengan cara ini, kedua data marts dapat berbagi satu atau lebih
27
dimensions dalam aplikasi yang sama. Ketika sebuah dimension digunakan pada lebih dari satu data mart, dimension tersebut disebut ‘being conformed’. Jika dimensions yang sama tersebut tidak tersinkronisasi atau dimension tersebut dibiarkan menyimpang dari sinkronisasi antara data marts, keseluruhan data wareheouse akan gagal, karena data marts yang terkaitdengan dimension tersebut tidak akan dapat dipakai bersama-sama.
Step 4 : Memilih fakta Grain dari tabel fakta menentukan fact yang mana yang dapat digunakan didalam data mart. Semua facts harus ditegaskan pada tingkatan yang dinyatakan oleh grain. Dengan kata lain, jika grain dari tabel fakta adalah penjualan property individu, maka semua facts yang numeric harus merujuk kepada penjualan ini. Juga, facts tersebut harus berupa numeric atau penambahan. Facts tambahan dapat ditambahkan sebuah tabel fakta kapan saja asalkan disediakan konsisten dengan grain pada tabel fakta
Step 5 : Menyimpanan pre-kalkulasi dalam tabel fakta Setelah fact telah dipilih, masing-masing dikaji ulang untuk menentukan apakah ada kesempatan untuk menggunakan pre-calculation. Contoh umum dari kebutuhan untuk menyimpan pre-calculations adalah ketika facts mengandung sebuah profit dan loss statement. Situasi ini akan sering muncul ketika tabel fakta berdasarkan pada faktur atau penjualan.
Step 6 : Melengkapi tabel dimensi Pada langkah ini, dimension pada dimension tables ditambahkan dengan deskripsi tesk sebanyak-banyaknya. Deskripsi teks tersebut harus intuitif dan dapat dimengerti oleh user. Kegunaan dari sebuah data mart ditentukan oleh ruang lingkup dan sifat dasar dari atribut-atribut pada dimension tables.
28
Step 7 : Memilih durasi dari database Durasi mengukur seberapa jauh tabel fakta melihat ke belakang pada banyak perusahaan, terdapat kebutuhan untuk meninjau pada jangka waktu yang sama setahun atau dua tahun yang lalu untuk perusahaan lain, seperti perusahaan asuransi, mungkin ada kebutuhan untuk menahan data sejauh lima tahun kebelakang atau lebih. Tabel faktas yang amat besar akan menimbulkan setidaknya dua permasalahan yang signifikan dalam perancangan data warehouse. Pertama, hal tersebut seringkali memperbanyak kesulitan (to source) data lama yang terus bertambah. Semakin lama datanya, semakin banyaknya permasalahan dalam membaca dan mengartikan files dan tapes lama. Permasalahan kedua adalah sebuah keharusan untuk menggunakan versi lama dari dimensions yang penting untuk digunakan, bukan versi tersbaru ini dikenal sebagai masalah ‘slowly changing dimensions’, dimana akan dibahas pada langkah berikutnya
Step 8 : Melacak perubahan dari dimensi secara perlahan Masalah ‘slowly changing dimensions’ berarti, sebagai contoh deksripsi yang tepat dari pelanggan lama dan cabang lama harus digunakan dengan history transaksi lama. Biasanya data warehouse harus menentukan sebuah generaolized key untuk dimensions penting tersebut untuk membedakan multiple snapshot dari pelanggan-pelanggan dan cabang – cabang dalam jangka waktu tertentu. Terdapat tiga tipe dasar dari ‘slowly changing dimensions’ : o Tipe 1, dimana sebuah dimension attribute yang berubah dihapus dan digantikan dengan yang nilai baru (overwritten).
29
o Tipe
2,
dimana
sebuah
dimension
attribute
yang
berubah
yang
berubah
menyebabkan dimensions record baru tercipta. o Tipe
3,
dimana
sebuah
dimension
attribute
menyebabkan sebuah attribute alternatife tercipta sehingga nilai attribute dengan nilai lama dan attribute dengan baru dapat diakses secara besamaan didalam dimension record data yang sama.
Step 9 : Memutuskan prioritas dan cara query Pada langkah ini, masalah perancangan fisik dipertimbangkan. Masalah perancangan fisik yang paling kritis dan mempengaruhi persepsi end-user tentang data mart adalah urutan atau susunan secar fisik dari tabel fakta pada disk dan keberadaan dari pre-stored summaries dan aggregation. Dibalik permasalahan ini terdapat sekumpulan permasalahn fisik tambahan yang mempengaruhi administrasi, backup, perfoma indexing, dan keamanan. Pada akhirnya, perancangan untuk data mart yang mendukung kebutuhan dari sebuah proses bisnis tertentu yang juga memungkinkan integrasi yang mudah dengan data marts berkaitan bisa digunakan untuk membentuk enterprisewide data warehousue.
2.8. Multi Dimensional Expression (MDX) MDX merupakan suatu query yang digunakan untuk mengekspresikan seleksi, kalkulasi dan definisi metadata OLAP terhadap data warehouse, dan memiliki kemampuan menentukan bagaimana query ditampilkan. 1. MDX Query Query merupakan struktur bahasa yang digunakan untuk akses dan mengambil data oleh client. Syntax dasar Query :
30
Select {Column Header set} on Column, {Row Header set ) on Rows From [Cube] Where [Slicer Dimension/Measure] 2. Tupple dan Set Tuple merupakan kelompok dari saru dan hanya satu member yang diambil dari beberapa dimensi didalam sebuah cube. Set merupakan kumpulan lebih tuple yang memiliki karateristik dimensi yang sama. Didalam Multi dimensional expression tuple ditandai dengan kurung biasa (), sedangkan set ditandai dengan kurung kurawal {}. 3. MDX Expression MDX Expression merupakan statement yang dapat digunakan untuk mendefinisikan calculated member, set, atau member property. Expression/expresi dari MDX ini bisa mengambil tupple atau set sebagai parameternya. 4. MDX Functions Merupakan bagian dari expresi MDX yang sering digunakan untuk berbagai keperluan dan tujuan. Beberapa contoh function yang terdapat di MDX adalah parent, count, member, children, ytd dan sebagainya. 5. Navigasi Member
31
Untuk melakukan navigasi terhadap member dari level dimension digunakan fungsi sebagai berikut :
Currentmember merupakan fungsi yang mereferensikan ke node member saat ini
Prevmember merupakan fungsi yang mereferensikan ke node member sebelumnya dari member yang diacu saat ini
Nextmember merupakan fungsi yang mereferensikan ke node member selanjutnya dari member yang diacu saat ini.
Children merupakan fungsi yang drill member yang diacu saat ini
Parent merupakan fungsi yang mengembalikan node member satu tingkat diatas level dari ember yang diacu.
Descendants merupakan fungsi yang mengembelika set semua node turunan dari level tertentu dari level yang diacu.
Ancestor mengembalikan set seuma node dari level teratas sampai dengan level sebelum node member yang diacu tersebut.
6. Filter dan slice Fungsi MDX yang digunakan untuk filter dan slice adalah : Filter (set, logical expression) 7. Sorting Fungsi MDX yang digunakan untuk melakukan sort adalah : Order(set, numeric expression, [asc|desc|basc|bdesc|) 8. Function dengan waktu
32
YTD merupakan fungsi yang mengembalikan semua set measures dari titik periode awal sampai titik periode berjalan.
ParallelPeriod merupakan member untuk titik member yang sama pada periode yang lalu atau ke depan.
2.9. Online Transaction Processing (OLTP) Menurut Connolly and Begg (2005, P1153), sebuah organisasi menerapkan beberapa sistem OLTP yang berbeda untuk menjalankan proses bisnis seperti kendali inventori, invoicing, dan point-of-sale. Sistem ini menghasilkan data operasional yang mendetil, up-to-date, dan dapat diubah-ubah. Data di dalam OLTP diorganisir berdasarkan kebutuhan transaksi yang berhubungan dengan aplikasi bisnis serta mendukung pengambilan keputusan operasional harian. 2.10. Online Analytical Processing (OLAP) Menurut Connolly dan Beeg (2005, P1205), Online Analytical Processing (OLAP) adalah sintesis yang dinamis, analitis, dan konsolidasi dari sejumlah besar data multi-dimensional. OLAP menjadikan data warehouse dapat digunakan unttuk proses analisis, memberikan respon yang cepat terhadap analytical queries yang kompleks. OLAP menyediakan cara untuk menampilkan data multi-dimensional dalam mengorganisasikan data yang direpresntasikan dengan cube, sehingga membuat query yang lebih efisien untuk summary data. OLAP merupakan metode yang digunakan para user untuk mengakses dan menganalisa data warehouse untuk mendapatkan informasi yang lebih spesifik. OLAP menggambar cara pandang multi dimensional data cara ini memberikan teknik dasar untuk summary dan analisa data oleh sebuah aplikasi bisnis.
33
Gambar 2.12 Cube (Robert W dan Christian K , 2007 – P2) 2.10.1. Karakteristik OLAP 1. Arsitektur client – server 2. Mendukung Multi user 3. Teknik analisa multi dimensional 4. Report yang dinamis 5. Interface yang mudah dipahami 2.10.2. Teknik Penyimpanan Data OLAP Menurut Connly dan Begg (2005,P1214), Teknik penyimpanan data didalam OLAP terdiri dari 4 kategori :
Multidimensional On-Line Analytical Processing (MOLAP) MOLAP digunakan untuk membangun cube multidimensional dari data yang disimpan dalam data warehouse. Metode ini sering dipilih jika data set awal terlalu besar sehingga pemrosesan cube dari data warehouse asli memerlukan proses batch. Alasan utama menggunakan metode ini adalah karena
34
mekanisme penyimpananMOLAP sangat efektif dalam meretrieve data secara cepat.
Gambar 2.13 Arsitektur MOLAP (Connolly dan Begg , 2005 – P1214)
Relational On-Line Analytical Processing (ROLAP) Mekanisme penyimpanan ROLAP menggunakan DBMS orisinil,seperti SQL Server 2000, untuk menyimpan agregasi dalam bentuktabung yang kemudian dapat digunakan oleh mesin OLAP.Metode penyimpanan ini memiliki beberapa kekurangan. Struktur tabung ROLAP tidak cukup efisien bagi mesin OLAP untuk melakukan query. Ketidakefisienan itu memicu performansi yang buruk pada sistem.
Gambar 2.14 Arsitektur ROLAP (Connolly dan Begg , 2005 – P1215)
35
Hybrid On-Line Analytical Processing (HOLAP) HOLAP didesain dengan mengkombinasikan keuntungan MOLAP dan ROLAP dengan menyimpan agregasi level tinggi pada cube MOLAP dan menyimpan agregasi level rendah dan line item pada tabel relational database. Karena HOLAP membuat tabel jauh dari kompleks untuk mengatur bagian relational database, data lebih mudah dioptimasi melalui indexing.
Gambar 2.15 Arsitektur HOLAP (Connolly dan Begg , 2005 – P1216)
Desktop On-Line Analytical Processing (DOLAP) Peningkatan kategori yang terkenal dari OLAP adalah DOLAP (Desktop OLAP). System DOLAP menyimpan data OLAP didalam file berbasis
klien
menggunakan
dan
mendukung
sebuah
sistem
proses multi
multi dimensi
dimensi klien.
Kebutuhankebutuhan ekstrak data untuk DOLAP relatif kecil yang berada pada mesin klien.
36
Gambar 2.16 Arsitektur DOLAP (Connolly dan Begg , 2005 – P1217)
2.10.3. Operasi OLAP Beberapa operasi OLAP menurut Malinowski dan Zim’anyi (2008) dengan representasi kubus awal yaitu :
Gambar 2.17 Kubus awal (Malinowski dan Zim’anyi, 2008 – P48)
Roll up (drill up) : Ringkasan data, yaitu dengan menaikkan hirarki atau mengurangi dimensi.
37
Gambar 2.18 Roll up pada level negara (Malinowski dan Zim’anyi, 2008 – P48)
Drill down (roll down) : kebalikan dari roll-up, yaitu melihat data secara lebih detail atau spesifik dari level tinggi ke level rendah.
Gambar 2.19 Drill down pada level bulan (Malinowski dan Zim’anyi, 2008 – P48)
Pivot (rotate) : memvisualisasikan operasi yang merotasi sumbu data dalam view sebagi alternative dalam presentasi data.
38
Gambar 2.20 Pivot (Malinowski dan Zim’anyi, 2008 – P48)
Slice dan dice : Slice adalah pemilihan data satu dimensi dari kubus data yang bersangkuta dan dice mendefinisikan sub cube dengan memilih dua dimensi atau lebih.
Gambar 2.21 Slice (Malinowski dan Zim’anyi, 2008 – P48)
Gambar 2.22 Dice (Malinowski dan Zim’anyi, 2008 – P48)
39
2.11. FLOWCHART Flowchart merupakan simbol-simbol representasi dari algoritma yang masingmasing memiliki fungsi khusus untuk menggambarkan langkah – langkah dari suatu system untuk penyelesaian tahapan dari suatu masalah. Berikut beberapa symbol yang digunakan :
Terminator
Memulai suatu langkah proses/akhir suatu proses Menyatakan representasi
Input / Output
dari input dan ouput dari data yang dproses
Flow/arus
Proses
Decision
Menyatakan
jalannya
arus suatu proses Menyatakan suatu proses atau pengolahan data Menyatakan
kondisi
dalam penyelesasian data Penghubung dari proses
Connector
ke proses lainnya dalam halaman yang sama. Penghubung dari proses
Off Page Connector
ke proses lainnya dalam halaman yang berbeda.
Preparation Display
Tabel 2.2 Tabel Flowchart
Proses Inisialisasi data Proses
Mencetak
tampilan dilayar monitor
40
2.12. MYSQL MYSQL merupakan software system manajemen database relasional yang juga berguna sebagai suatu Database server. Mysql menjadi populer karena sifatnya yang free (tidak perlu membayar lisensi dalam menggunakannya) dan cocok pada banyak platform. MYSQL dapat didownload melalui http://www.mysql.com. Database server merupakan suatu software yang bertugas untuk melayani permintaan dari client. MySQL sebagai suatu database server mempunyai beberapa kemampuan, salah satunya harus menyediakan suatu sistem manajemen database yang dapat mengatur bagaimana menyimpan, menambah, mengakses data dan transaksitransaksi database lainnya. Menurut situs resmi dari MySQL, http://www.mysql.com. MySQL memiliki beberapa keistimewaan, antara lain:
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris dan masih banyak lagi.
Open Source. MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cumacuma.
Multiuser. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
Performance
tuning.
MySQL
memiliki
kecepatan
yang
menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
41
Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
Antar Muka. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
Pada saat instalasi, secara default MySQL akan membuat sebuah database bernama mysql. Salah satu isi dari database ini adalah tabel user, tabel ini berisi nama
42
dan password user yang dapat mengakses data pada database yang dibuat di mysql. Database ini juga berisi hak-hak yang diberikan pada setiap user. Berikut adalah penjelasan singkat tentang field atau kolom yang terdapat pada tabel user yang perlu diketahui :
Host menyatakan nama host tempat pemakai melakukan perintah.
User menyatakan nama pemakai.
Password menyatakan password pemakai.
Select_priv menyatakan pemakai bisa melakukan instruksi SQL SELECT (melihat isi tabel) atau tidak. Nilai N berarti tidak bisa dan Y berarti bisa.
Insert_priv menyatakan pemakai bisa melakukan instruksi SQL INSERT (menambah data) atau tidak. Nilai N berarti tiak bisa nilai Y berarti bisa.
Update_priv menyatakan pemakai bisa melakukan instruksi SQL UPDATE (mengganti data) atau tidak. Nilai N berarti taidak bisa nilai Y berarti bisa.
Delete_priv menyatakan pemakai bisa melakukan instruksi SQL DELETE (menghapus data) atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
Create_priv menyatakan pemakai bisa melakukan penciptaan database/tabel atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
Drop_priv menyatakan pemakai bisa melakukan penghapusan database/tabel atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
Alter_priv menyatakan pemakai bisa melakukan instruksi ALTER TABLE (mengubah struktur tabel) atau tidak.Nilai N berarti tidak bisa nilai Y berarti bisa.
43
File_priv menyatakan pemakai bisa membaca atau merekam berkas pada server menggunakan perintah LOAD DATA INFILE dan SELECT…..INTO OUTFILE atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
Grant_priv menyatakan pemakai bisa melakukan pemberian izin wewenang ke pemakai lain atau tidak. Niali N berarti tidak bisa nilai Y berarti bisa.
Reload_priv menyatakan pemakai bisa melakukan instruksi seperti FLUSHPREVILEGES dan RELOAD (membaca kembali tabel wewenang) atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
Shutdown_priv menyatakan pemakai bisa melakukan instruksi untuk mematikan server atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
Process_priv menyatakan pemakai bisa melakukan instruksi SHOW PROCESSLIST (menampilkan informasi proses yang sedang berjalan) atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
Index_priv menyatakan pemakai bisa melakukan instruksi menciptakan dan menghapus indeks atau tidak. Nilai N berarti tidak bisa nilai Y berarti bisa.
2.13. PENTAHO Pentaho adalah kumpulan aplikasi yang mempunyai focus terhadap Business Intelligence yang bersifat free open source software (FOSS) dan berjalan di atas platform Java. Aplikasi-aplikasi Pentaho dikembangkan oleh Pentaho corp yang berpusat di Orlanda, Amerika Serikat.
44
Gambar 2.23 Logo Pentaho Pentaho Corporation berdiri pada tahun 2004 dan didirikan oleh Richard Daley. Richard sebelumnya telah bekerja di IBM pada bagian BI. Pentaho dalam perjalanannya melakukan akuisisi terhadap berbagai proyek open source terkenal dan melakukan perbaikan terhadapnya seperti contohnya JFreeReport. Disusul oleh Mondrian, Kettle dan Weka dimana semua lead developer dari proyek ini tetap dipertahankan. 2.11.1. Pentaho BI Server Pentaho BI Server merupakan portal yang memiliki layanan web service, workflow engine, dan sebagai user interface untuk menampilkan laporan operasional maupun analisis di aplikasi Pentaho. Aplikasi pada BI Server terdiri dari 2 aplikasi yaitu :
PUC (Pentaho User Console) : aplikasi berbasis web yang digunakan untuk membuat report, analysis, dan dashboard dan mengakses dan mengeksekusi workflow Pentaho.
45
Gambar 2.24 Pentaho Use Console Analisis OLAP dilakukan di Pentaho User Console dengan menampilkan beberapa toolbar pendukung agar dapat melihat data dari sudut pandang yang berbeda. Berikut toobal jpivot yang terdapat di Pentaho User Console :
Keterangan : Toolbar
Nama
Keterangan
Open OLAP Navigator
Digunakan untuk mengatur paramater dimensi atau measures yang digunakan dalam menganalisis data OLAP
MDX Editor
Digunakan untuk menampilkan MDX Editor yang sedang berjalan atau membuat MDX untuk menampilkan analisis data OLAP
Config OLAP Table
Mengatur urutan tampilan OLAP
46
Show Parent Members
Menampilkan parent members dari query yang telah ditampikan
Hide Spans
Menghilangkan tampilan berulang dari header.
Show Properties
Menampilkan tombol property
Suppress Empty Rows/Columns
Menghilangkan baris yang kosong
Swap axes
Merotasi dimensi
Drill Members
Memunculkan/menghilangkan drill pada Pentaho analyer
Drill Position
Memunculkan/menghilangkan position pada Pentaho analyer
Drill Replace
Menukar posisi Drill pada dimensi
Drill Through
Menukar posisi Drill pada meansure
Show Chart
Memunculkan grafik dari hasil pentaho analyzer
Chart Config
Menunculkan grafik dan bisa melakukan kostumisasi pada grafik tsb
Congfiguration Print Settings
Konfigurasi printer setting
Print this page via pdf
Export data ke PDF
Start Excel
Export data ke Excel
Tabel 2.3 Toolbar jpivot
47
Pentaho Administration Console : aplikasi berbasis web yang digunakan untuk membuat dan mengoganisasikan administrasi user/role, serta pengaturan akses ke database yang digunakan oleh workflow Pentaho User Console.
Gambar 2.25 Pentaho Administration Console 2.11.2. Pentaho Data Integration Pentaho Data Integration atau biasanya disebut kettle adalah aplikasi berbasis GUI (Graphical User Interface) bagian dari Pentaho yang digunakan untuk proses ETL (Extract, Transformation and Load) dan memiliki kemampuan dalam mengelola proses integrasi data, dan sangat populer karena sifatnya yang open source dan free.
48
Gambar 2.26 Pentaho Data Integration
Gambar 2.27 Proses ETL Pentaho Data Integration Komponen Kettle terdiri dari 4 aplikasi, yaitu :
Spoon, yaitu aplikasi grafis berbasis GUI yang digunakan untuk merancang file skema job dan transformation
Pan, yaitu script yang digunakan untuk menjalankan file skema transformation melalui terminal / command line
49
Kitchen, yaitu script yang digunakan untuk menjalankan file skema job melalui terminal / command line
Carte, yaitu temporary web server yang digunakan untuk mengeksekusi job/transformation secara cluster atau parallel Kesemua aplikasi tersebut di atas dijalankan melalui shell atau batch script yang berkaitan. Pentaho Data Integration memiliki fitur – fitur diantaranya :
Memiliki utilitas grafik yang dapat digunakan merancang control flow umum maupun data flow (aliran data).
Multi platform - karena dikembangkan di atas Java yang notabene berjalan di banyak platform sistem operasi.
Bersifat concurrent, dalam arti row-row data diambil oleh suatu step dan diserahkan ke step lain secara parallel.
Scalable - dapat beradaptasi dengan penambahan kapasitas memori RAM atau pun storage (scale up) dan dapat node komputer / cluster (scale out).
Koleksi step transformation dan job yang cukup banyak
Extensible, kita dapat membuat step transformation dan job baru dengan sistem plugin.
Dukungan luas berbagai produk database yang terkenal di pasaran baik itu proprietary maupun free open source seperti Oracle, SQL Server, MySQL, PostgreSQL dan lain sebagainya.
Pentaho Data Integration memiliki banyak plugin yang digunakan untuk melakukan proses ETL (Extract, Transformation and Load). Berikut ini merupakan beberapa plugin yang digunakan dalam impelementasi ini
50
yang terdapat pada aplikasi Pentaho Data Integration beserta penjelasan dari masing-masing plugins : Plugins
Keterangan Digunakan untuk mengambil sumber data dari sistem operasional dalam bentuk excel Digunakan untuk menyaring atau menghilang kan record - record tertentu. Digunakan untuk mengurutkan baris-baris pada data yang telah diambil Digunakan untuk menghilangkan baris yang double Digunakan untuk membuat inisialisasi urutan penambahan angka Digunakan untuk mengambil field – field yang diperlukan Digunakan untuk memasukkan data – data yang telah
mengalami
penyesuain
dari
proses
tranformasi ke table di database Digunakan untuk membuat inisialisasi baris
Digunakan memetakan kode
Digunakan untuk lookup atau join ke suatu field tertentu
51
Digunakan membuat perhitungan dan membuat field berdasarkan field-field tertentu. Mengganti text yang sesuai di sebuah baris
Tabel 2.4 Plugin Pentaho Data Integration 2.11.3. Pentaho Schema Worbench Pentaho Schema Worbench adalah aplikasi yang berbasis java dengan kemampuan Graphica User Interface yang digunakan untuk memetakan cube,dimension dan measure dengan relational database untuk merancang skema XML Mondrian.
Gambar 2.28 Pentaho Schema Worbench