PENDAHULUAN Latar Belakang Analisis data historis dan pengolahan data multidimensi bukan merupakan hal yang baru untuk mendukung suatu pengambilan keputusan. Namun perubahan objek data yang dicatat, membuat analisis data historis dan penelusuran terhadap data menjadi sulit untuk dilakukan. Misalnya, pada tahun 2003, objek yang dicatat oleh perusahaan adalah produksi padi dan jagung, sementara itu pada tahun 2004, objek yang dicatat oleh perusahaan adalah produksi padi sawah, padi gogo, jagung komposit dan jagung hybrida. Oleh karena itu, jika pengguna ingin mengetahui total produksi padi dari tahun 2003 hingga 2004, maka akan sulit memperoleh informasi total produksi padi, karena perubahan atribut yang dicatat tersebut. Untuk itu, teknologi data warehouse saat ini sudah dikembangkan dengan melakukan pendekatan secara temporal atau data warehouse berorientasi waktu untuk menangani perubahan objek. Penelitian mengenai temporal data warehouse sudah pernah dilakukan oleh Eder (2001). Penelitian tersebut memberi penjelasan mengenai model untuk temporal data warehouse bagi penelitian selanjutnya. Selanjutnya, penelitian Eder (2001) tersebut coba diterapkan oleh Malau (2009) untuk data tanaman pangan dan hortikultura di Kabupaten Karo. Penelitian lanjutan tersebut telah mampu menangani masalah split dan merge serta fungsi agregat sum. Namun ada beberapa kekurangan dari temporal data warehouse yang dilakukan oleh Malau (2009) tersebut, yaitu belum dapat mendukung operasi OLAP seperti slicing, dicing, drill down, dan roll up. Oleh karena itu, sebagai pelengkap dari temporal data warehouse yang sudah dibuat, diperlukan penambahan operasi OLAP seperti slicing, dicing, drill down, roll up serta fungsi agregat seperti min, max, dan average agar menjadi temporal data warehouse yang lebih baik. Tujuan Merancang dan membangun suatu model temporal data warehouse yang memiliki fitur operasi dasar data warehouse yaitu roll up, drill down, slicing, dan dicing serta fungsi agregat seperti min, max, dan average. Ruang Lingkup Penelitian ini difokuskan pada operasi dasar data warehouse yaitu slicing, dicing,
roll up, drill down, dan penggunaan fungsi agregasi summary, max, min, dan average pada data tanaman pangan terutama padi dan jagung.
TINJAUAN PUSTAKA Temporal Data Warehouse Temporal data warehouse merupakan suatu perbaikan dari teknologi data warehouse dengan melakukan pendekatan temporal, sehingga mampu menangani operasi dasar data warehouse seperti roll up, drill down, slicing dan dicing serta operasi-operasi yang kompleks seperti split (pembagian) dan merge (penggabungan). Temporal data warehouse menitikberatkan pada fungsi transformasi yang berasal dari versi struktur (Eder et al 2001). Contoh permasalahan yang tidak dapat ditangani oleh data warehouse biasa, misalnya diketahui sebuah divisi A mengalami pembagian divisi yaitu divisi A1 dan divisi A2 pada bulan Maret tahun 2000, jika ingin diketahui perkembangan divisi A, maka tanpa pendekatan temporal data warehouse tersebut tidak akan mampu memberikan informasi mengenai seluruh perkembangan divisi A. Informasi yang diperoleh oleh pengguna mengenai divisi A hanya sampai pada bulan Februari 2000, sebelum divisi A mengalami perubahan struktur. Namun demikian, apabila data warehouse tersebut telah menggunakan pendekatan temporal, maka akan diperlihatkan seluruh data melalui penelusuran structure version yang didukung fungsi transformasi. Dengan demikian, operasi split (pembagian) dan merge (penggabungan) yang terjadi pada divisi A dapat diketahui dan query pengguna mengenai seluruh data divisi A dapat dipenuhi. Versi Struktur Versi struktur merepresentasikan sudut pandang pada temporal data warehouse yang menangani struktur valid untuk interval waktu [Ts,Te]. Modifikasi anggota dimensi atau relasi hirarki memastikan berada pada suatu versi struktur. Jika interval waktu tertentu tidak ada berada dalam suatu versi struktur maka diperlukan suatu versi struktur baru yang dapat memastikan interval waktu tersebut dapat tertangani (Eder et al 2001). Secara umum structure version (SV) terdiri atas empat tuple dengan format <SVid, T, {DMDi, SVid, …, DMDN, SVid, DMF,SVid}, HSVid> dimana SVid adalah unique identifier, T merepresentasikan waktu yang valid dari
1
structure version dengan selang waktu [Ts, Te], Ts adalah start time atau waktu awal, dan Te adalah end time atau waktu akhir. DMDi, SVid adalah himpunan dari semua anggotaanggota dimensi, dimana merupakan bagian dari dimensi Di dan valid untuk waktu P dengan Ts ≤ P ≤ Te. DMF,SVid adalah himpunan dari seluruh fakta-fakta yang valid pada waktu P dengan Ts ≤ P ≤ Te, HSvid adalah himpunan dari penambahan hirarki yang valid pada waktu P dengan Ts ≤ P ≤ Te. Ilustrasi untuk structure version (SV) seperti diperlihatkan pada Gambar 1, mengenai dimensi divisi untuk penjualan (sales) yang disertai interval (selang) waktu (Eder et al 2001): Divisions <M1, ∞> <M1, ∞> Div. A <M1, ∞> 1, ∞> <M<M 1, ∞>
SubDiv.D <M1, ∞> Divisions <M4, <M1∞> , M3>
<M1, ∞> <M4, ∞> Div. B <M1, ∞>
Div. C <M1, ∞>
1, ∞> <M , M > <M1, ∞> <M<M 4, ∞> 1 3
SubDiv.E <M4, ∞> <M4, ∞>
Gambar 1 Dimensi divisi sales. Pada Gambar 1 terlihat bahwa SubDiv.D telah dimodifikasi pada waktu M4, SubDiv. yang baru yaitu SubDiv.E dimasukkan pada saat waktu M4, Div.C merupakan subdivisi dari Div.B pada waktu M1 sampai M3 (pada gambar ditandai dengan garis putus-putus). Berdasarkan Gambar 1, diperoleh beberapa structure version (SV), yaitu: 1. <SV1, [M1, M3], {{Divisions, Div.A, Div.B, Div.C, SubDiv.D}, {Sales}}, {Div.A → Divisions, SubDIv.D→ Div.A, …}> 2. <SV2, [M4, ∞], {{Divisions, Div.A, Div.B, Div.C, SubDiv.D, SubDiv.E}, {Sales}}, {Div.A → Divisions, SubDiv.D → Div.A, SubDiv.E → Div.A, …}> Structure version yang diperoleh ada dua yaitu SV1 dan SV2. SV1 dan seluruh anggotaanggota dimensi (Divisions, Div.A, Div.B,…) dan penambahan hirarki (Div.A → Divisions,…) valid pada saat M1 ke M3, sedangkan untuk SV2 valid pada saat M4 sampai dengan waktu yang belum ditentukan.
Transformation Function (TF) Transformation function dalam temporal data warehouse dinamakan dengan MapF (Mapping Function) dan menggunakan operasi dasar penjumlahan (sum). Misalnya suatu divisi A mengalami split pada bulan Maret tahun 2000 menjadi divisi A1 dan A2. Jika kita ingin menganalisis semua bulan pada tahun 2000 untuk divisi A, perusahaan hanya memiliki data untuk bulan Januari dan Februari, dimana untuk bulan Maret ke depan, perusahaan memiliki data untuk divisi A1 dan A2. Contoh jika ingin merepresentasikan omset dari divisi A1 untuk periode sebelum Maret tahun 2000 maka sebagai fungsi omset (A1, periode) = 30% dari omset (A, periode). Contoh lainnya, jika kita ingin mengetahui seluruh periode pada bulan Maret ke depan pada tahun 2000, maka jumlah dari karyawan M# dari divisi A terkait dengan fungsi M# (A, periode) = M# (A1, periode) + M# (A2, periode). Fungsi inilah yang disebut transformation function (MapF) dan untuk operasi yang digunakan adalah operasi sum (Eder et al 2001). Pada data tanaman pangan, operasi MapF akan digunakan untuk data jumlah produksi, luas tanam dan luas panen dari tanaman pangan, padi dan jagung. Misalnya, pada tahun 2003, padi yang ditanam berasal dari satu varietas saja (A), untuk itu pencatatan total padi untuk semua kecamatan dapat dikumulatifkan. Namun, pada tahun 2004, terdapat 2 varietas padi yaitu B dan C yang ditanam pada beberapa kecamatan. Dengan demikian, apabila pengguna ingin mengetahui hasil padi pada 2003 hingga 2004, sistem tidak akan mampu menjawab query tersebut. Pada kasus ini, jika struktur pencatatan padi tidak berubah, maka sistem tidak akan mampu menjawab query tentang berapa hasil produksi padi jenis A, B, atau C, karena pencatatan sebelumnya tidak membedakan jenis padi. Untuk itu diperlukan sebuah struktur baru dan bentuk MapF yang sesuai bagi struktur tersebut sehingga dapat menjawab query mengenai berapa hasil produksi padi di tahun 2003 hingga 2004 di setiap kecamatan. OLAP ( On-Line Analytical Processing) OLAP adalah sistem yang memfokuskan pada interaktif analisis data dan biasanya memiliki kemampuan luas mengenai visualisasi data dan membangkitkan ringkasan statistika. Karena alasan ini, pendekatan analisis multidimensional data didasarkan
2
pada terminologi dan konsep OLAP ( Tan et al 2006). Data yang biasanya ditampilkan oleh OLAP adalah fungsi agregasi seperti summary, max, min, dan average. OLAP menyediakan proses kalkulasi dan perbandingan data serta dapat menampilkan hasil dalam bentuk tabel dan grafik. Operasi-Operasi pada OLAP Operasi-operasi OLAP adalah sebagai berikut (Han dan Kamber 2006): -
Petal length
Petal width
Species type
Count
high
high
Versicolour
2
high
high
Virginica
Operasi slicing yang dilakukan pada data di Tabel 1 digambarkan pada Tabel 2, Tabel 3, dan Tabel 4 sebagai berikut. Tabel 2 Cross-tabulation dari bunga yang berdasarkan panjang dan lebar daun bunga untuk tipe spesies Setosa.
Slicing Width
Slicing adalah proses melakukan pemilihan satu dimensi dari suatu kubus data sehingga menghasilkan subcube. -
Length
Dicing
Dicing adalah proses melakukan pemilihan dua atau lebih dimensi dari suatu kubus data sehingga menghasilkan subcube. -
Roll up
Operasi roll up dilakukan pada kubus data dengan cara menaikkan tingkat suatu hirarki. Pada saat roll up dilakukan, maka jumlah dimensi akan berkurang. Contohnya, operasi roll up yang dilakukan pada kubus data di tingkat kecamatan menjadi tingkat kabupaten. -
44
medium
High
low medium
46 2
2 0
0 0
high
0
0
0
Tabel 3 Cross-tabulation dari bunga berdasarkan pada panjang dan lebar daun bunga untuk spesies Versicolour. Width
Length
Drill down
Drill down adalah operasi yang berkebalikan dengan roll up. Operasi ini merepresentasikan kubus data dengan lebih terperinci.
low
Petal length
Petal width
Species type
Low
Low
Setosa
46
Low
Medium
Setosa
2
Medium
Low
Setosa
2
Medium
Medium
Versicolour
43
Medium
High
Versicolour
3
Medium
High
Virginica
3
High
Medium
Versicolour
2
High
Medium
Virginica
3
Count
medium
high
0 0 0
0 43 2
0 3 2
low medium high
Tabel 4 Cross-tabulation dari bunga berdasarkan pada panjang dan lebar daun bunga untuk spesies Virginica.
Ilustrasi mengenai operasi slicing dan dicing dapat dilihat pada Tabel 1 berikut ini (Tan et al 2006). Tabel 1 Jumlah bunga yang memiliki bagian kombinasi antara lebar daun bunga, panjang daun bunga, dan tipe spesies.
low
Width
Length
low
medium
high
low medium
0 0
0 0
0 3
high
0
3
44
Berdasarkan pada Tabel 2, Tabel 3, dan Tabel 4 telah dihasilkan tiga slice dari operasi slicing yang telah dilakukan pada data iris yang diperoleh dari tiga nilai terpisah untuk dimensi spesies. Di sisi lain, hasil dari operasi dicing merupakan suatu subset dari ketiga tabel tersebut dengan memilih ukuran panjang daun bunga atau lebar daun bunga. Misalnya dicing yang dilakukan untuk spesies Virginica dengan panjang daun bunga „high‟.
3
Tabel 5 Cross-tabulation untuk operasi dicing pada spesies Virginica dengan panjang daun bunga „high‟.
Query Data ringkasan Data atomik
Width Length -
high
low
medium
high
0
3
44
Model Data Multidimensi Model data multidimensi adalah model data yang digunakan pada data warehouse. Model data multidimensi terdiri atas dua data yaitu (Mallach 2000 dalam Kusumaningtias 2007) : Data dimensi
Data dimensi adalah entitas yang ingin disimpan oleh perusahaan (organisasi). Data dimensi akan berubah jika analisis kebutuhan pengguna berubah. Data dimensi mendefinisikan label yang membentuk isi laporan. Setiap dimensi diulang untuk setiap kelompok. Atribut data dimensi diletakkan pada tabel dimensi. Tabel dimensi berukuran lebih kecil daripada tabel fakta, berisi data bukan numerik yang berasosiasi dengan atribut dimensi. -
Gambar 2 Empat level data. 1. Data operasional
Pivoting
Pivoting merupakan suatu kemampuan OLAP yang dapat melihat data dari berbagai sudut pandang (view point). Kita dapat mengatur sumbu pada cube sehingga memperoleh data yang diinginkan sesuai dengan sudut pandang analisis yang diperlukan.
-
Data operasional
Data fakta
Data fakta adalah data utama dari data multidimensi yang merupakan kuantitas yang ingin diketahui dengan menganalisis hubungan antar dimensi. Data fakta diekstrak dari berbagai sumber. Data fakta cenderung stabil dan tidak berubah seiring waktu. Atribut data fakta diletakkan pada tabel fakta. Data Level Lingkungan data warehouse terdiri atas 4 tingkatan data, dapat dilihat pada Gambar 2 (Mallach 2000) berikut ini.
Data yang berada di data warehouse berasal dari database operasional perusahaan. Data warehouse tidak akan berjalan tanpa data operasional. Contoh, hari ini saya menabung Rp. 150.000. 2. Data atomik Data atomik terdiri atas data barang itu sendiri. Data atomik merupakan tingkat data terendah dari data dalam data warehouse. Semua fungsi data warehouse dimulai dengan data atomik atau dengan data yang berasal dari data atomik. Data atomik sesuai untuk data transaksi dengan penambahan dimensi waktu. Tingkat ini merupakan data yang dimasukkan ke dalam database data warehouse dari database operasional perusahaan. Contoh, saldo tabungan pada bulan Agustus adalah Rp. 240.000. 3. Data ringkasan data warehouse Para analis memerlukan pengetahuan yang cukup mengenai kegunaan data warehouse. Ringkasan suatu data akan diperlukan pada proses analisis sehingga ringkasan tersebut akan digunakan secara berulang. Contoh, pada akhir bulan Agustus perusahaan memiliki pelanggan sebanyak 1487 yang berada di kode pos 16610-16180. 4. Data yang dapat menjawab pertanyaan yang spesifik Tingkat ini biasanya dibuat sebagai kebutuhan dan disimpan hanya sampai pengguna yang meminta itu selesai menggunakan data tersebut. Jika pengguna ingin menyimpan itu, microcomputer pengguna tersebut biasanya memiliki fasilitas untuk menyimpan data tersebut. Data warehouse sendiri tidak mementingkan proses penyimpanan tersebut. Contoh, pelanggan yang berada dalam kode pos 16610-16180 memiliki pertumbuhan sebesar 3.95 persen selama tiga bulan dari Juni hingga Agustus.
4
Arsitektur Data Warehouse Arsitektur data warehouse yang umum digunakan adalah arsitektur three-tier. Arsitektur ini memiliki tiga lapisan yaitu lapisan bawah, lapisan tengah, dan lapisan atas (Han & Kamber 2006). Ilustrasi arsitektur three-tier dapat lihat pada Gambar 3.
Gambar 4 menjelaskan bahwa lapisan bawah dari arsitektur temporal data warehouse ini adalah data warehouse yang direpresentasikan dengan model dimensi, yaitu skema bintang. Lapisan tengah dari arsitektur temporal data warehouse adalah penyimpanan struktur kubus data yang dilakukan oleh tools Palo server. Lapisan atas dari arsitektur temporal data warehouse ini berupa aplikasi untuk enduser, aplikasi yang digunakan adalah Microsoft Office Excel.
METODE PENELITIAN Data yang digunakan pada penelitian ini adalah data tanaman pangan yang berupa padi dan jagung di Kabupaten Karo dari tahun 2003 hingga tahun 2007 pada ruang lingkup jumlah produksi, luas tanam dan luas panen. Data diperoleh dari Dinas Pertanian, Peternakan, Perikanan dan Perkebunan Kabupaten Karo. Analisis Data
Gambar 3 Arsitektur three-tier (Han and Kamber 2006). Penelitian ini mengacu pada arsitektur data warehouse three-tier, tiga lapisan tersebut adalah: 1. Lapisan bawah (bottom tier) Lapisan bawah merupakan tempat pengolahan sumber data warehouse yang bertujuan agar data tersebut dapat digunakan dengan baik. 2. Lapisan tengah (middle tier) Lapisan tengah merupakan OLAP server yang berfungsi menyimpan struktur dari kubus data. 3. Lapisan atas (top tier) Lapisan atas adalah lapisan untuk end-user yang berisi query dan menampilkan informasi atau ringkasan. Query yang diuji pada penelitian ini dilakukan di Palo Add-in Win32 3.0 yang terintegrasi dengan Microsoft Office Excel. Arsitektur data warehouse dalam penelitian ini dapat diilustrasikan pada Gambar 4 berikut.
Data tanaman pangan yang telah diperoleh selanjutnya dianalisis untuk mendapatkan atribut-atribut yang tepat dalam pembuatan temporal data warehouse. Hasil analisis ini digunakan untuk menentukan dimensi, fakta, dan skema yang tepat untuk model data multidimensi. Pembuatan Data warehouse Setelah dilakukan analisis data, dilakukan proses pembuatan data warehouse. Input data dilakukan berdasarkan skema yang telah dirancang. Data yang dimasukkan berdasarkan pada versi struktur yang terbentuk. Penambahan Operasi OLAP Pada tahap ini, dilakukan penambahan operasi dasar OLAP seperti slicing, dicing, roll up, dan drill down. Proses ini dilakukan dengan menransformasikan lower level dari setiap dimensi. Penambahan Fungsi Agregat Fungsi agregat yang ditambahkan pada temporal data warehouse ini adalah min, max, dan average. Fungsi agregat tersebut merupakan suatu measure untuk melihat informasi nilai minimum, nilai maksimum, dan rata-rata produksi dari setiap kecamatan setiap tahunnya.
Gambar 4 Ilustrasi arsitektur penelitian
5