BAB 2 LANDASAN TEORI
2.1 Teori Database Database adalah suatu koleksi / kumpulan dari data yang persistent, yaitu ada yang berbeda satu dengan yang lainnya dan biasanya merupakan data yang bersifat sementara dimana kumpulan data tersebut dapat digunakan oleh sistem – sistem aplikasi dari suatu perusahaan (Date, 2000, p10 ). Database dikatakan merupakan suatu tempat untuk menyimpan data. Pada sebuah database bisa terdapat satu atau lebih tabel dan query. Operasi yang biasanya dilakukan pada database berhubungan erat dengan pengaksesan tabel atau query (Alexander, 2003, p137). Selain itu menurut Fathansyah (1999, p2), database dapat didefinisikan dalam sejumlah sudut pandang, seperti: •
Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
•
Kumpulan data yang saling berhubungan yang disimpan bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
•
Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
6
7 Database adalah sebuah kumpulan data yang berhubungan secara logikal dan deskripsi dari data tersebut didesain untuk memenuhi kebutuhan akan informasi yang dibutuhkan oleh sebuah organisasi atau perusahaan (Connolly, 2002, p14).
2.2 Teori Data Warehouse Inmon ( 2002, p31 ) menjelaskan bahwa data warehouse adalah koleksi data yang mempunyai sifat subject oriented, integrated, time variant, dan non volatile dalam mendukung proses pengambilan keputusan dalam manajemen. 2.2.1 Karakteristik Data Warehouse Menurut Inmon ( Conolly, 2002, p1047 ), data warehouse memiliki karakteristik : •
Subject Oriented Pembangunan data warehouse difokuskan pada subyek utama dari perusahaan (seperti pelanggan, produk dan jumlah penjualan), bukan pada area aplikasi utama (seperti invoice pelanggan, kontrol stok, dan penjulan produk). Ini menunjukan kebutuhan untuk menyimpan data untuk pengambilan keputusan bukan data untuk aplikasi.
•
Integrated Sumber data berasal dari macam-macam sistem aplikasi perusahaan yang berbeda. Data-data yang sama harus diintegrasikan di sebuah basis data, termasuk formatnya.
8 •
Time Variant Data dalam data warehouse hanya akurat dan valid pada interval waktu tertentu. Di dalam data warehouse sering disimpan macam-macam waktu seperti kapan transaksi terjadi, diubah, dibatalkan, kapan efektifnya dan sebagainya.
•
Nonvolatile Sekali masuk ke dalam data warehouse, data-data tidak akan pernah di-update atau di-delete. Data baru selalu ditambahkan sebagai tambahan data di data warehouse daripada harus me-replace data yang sudah ada.
Data warehouse
Data Operasional
Menangani data historis
Menangani data terbaru
Menyimpan detailed, lightly dan
Menyimpan detailed data.
highly summarized data. Data bersifat statis.
Data bersifat dinamis.
Analysis driven
Transaction Driven
Berorientasi subjek
Berorientasi aplikasi
Mendukung keputusan strategis
mendukung keputusan day-to-day
Tabel 2.1 Tabel Perbandingan Data Warehouse dengan Data Operasional
9 2.2.2 Struktur Data Warehouse Data warehouse mempunyai struktur yang spesifik dengan melakukan perbedaan pada tingkatan summary data dan umur data. Komponen data warehouse dalam struktur data warehouse, seperti yang dapat dilihat dari gambar 2.1, terdiri dari : •
Current Detail Data Merupakan detail data yang aktif sekarang, yang mencerminkan keadaan yang sedang berjalan dan merupakan level terendah dari data warehouse. Current detail data ini biasanya memerlukan tempat yang besar sebagai tempat penyimpanannya.
•
Old Detail Data Merupakan data historis yang bisa berupa hasil back up yang disimpan dalam tempat penyimpanan yang terpisah dan pada saat tertentu dapat diakses kembali. Penyusunan direktori untuk data harus mencerminkan umur data agar memudahkan pengaksesan kembali.
•
Lightly Summary Data Merupakan data ringkasan level menengah yang berupa data hasil ringkasan dari detail data, tetapi belum bersifat total summary. Akses terhadap data jenis ini banyak digunakan untuk view dari kondisi yang sedang dan sudah berjalan.
•
Highly Summary Data Merupakan data ringkasan level tinggi yang berupa hasil proses summary yang bersifat totalitas, mudah diakses, terutama untuk melakukan analisis
10 perbandingan data berdasarkan urutan waktu dan analisis yang menggunakan data multidimensi. •
Metadata Bukan data hasil dari kegiatan operasional seperti 4 jenis data di atas, tetapi metadata memuat informasi penting dalam data warehouse yang dapat digunakan dalam banyak fungsi, seperti : 1. Sebagai direktori yang dipakai user data warehouse dalam mencari letak atau lokasi data dalam data warehouse. 2. Sebagai panduan pemetaan dalam proses transformasi dari data operasional ke data warehouse. 3. Sebagai panduan untuk proses summary data dari detail data menjadi lightly summary data dan dari lightly summary data menjadi highly summary data. (Connolly, 2002, p1055)
11
Highly summarized
Lightly summarized (datamart) M E T A D A T A
current detail
operational transformation old detail
Gambar 2.1 Struktur Data warehouse (Inmon, 2002, p36) 2.2.3 Anatomi Data warehouse Terdapat beberapa pendekatan dalam perancangan sebuah data warehouse, yaitu: 2.2.3.1 Data Warehouse Fungsional Data warehouse fungsional menggunakan pendekatan kebutuhan dari tiap bagian pada fungsi bisnis yang ada, untuk mendefinisikan jenis data yang ditampung oleh sistem. Pendekatan ini banyak digunakan karena mudah dibangun dengan biaya yang relatif rendah dan
12 memberikan kemampuan sistem pengumpulan data yang terbatas kepada kelompok user. Bila pendekatan ini diperbesar dari lingkungan fungsional menjadi lingkup perusahaan, konsistensi data tidak dapat terjamin lagi. 2.2.3.2 Data Warehouse Terpusat Data warehouse central adalah pendekatan yang dipikirkan paling banyak oleh orang-orang ketika mereka diperkenalkan pertama kali kepada konsep data warehouse. Data warehouse central adalah database tunggal yang berisi semua data data untuk area functional, departemen, divisi atau perusahaan. Data warehouse central biasa dipilih ketika terdapat kebutuhan umum untuk data informasional dan terdapat banyak end user yang sudah terhubung ke komputer pusat. Data warehouse central mungkin berisi data untuk beberapa periode waktu tertentu. Biasanya, data warehouse terpusat berisi data dari banyak sistem operasi. Data yang disimpan dalam data warehouse dapat diakses dari satu tempat dan harus di-load dan di-maintenance secara regular. 2.2.3.3 Data Warehouse Terdistribusi Data
warehouse
terdistribusi
memungkinkan
user
dapat
berhubungan langsung dengan sumber data maupun dengan pusat pengumpulan data lainnya. Data warehouse ini juga memungkinkan tiap departemen untuk membangun sistem operasionalnya sendiri serta dapat membangun pengumpulan data fungsionalnya masing – masing dan menggabungkan bagian – bagian tersebut dengan teknologi client
13 server. Pendekatan data warehouse terdistribusi memerlukan biaya yang sangat besar karena pengumpulan data fungsional dan sistem operasinya
dikelola
secara
terpisah.
( http://www.kenorrinst.com/dwpaper.html ) 2.2.4 Kegunaan Data Warehouse Menurut Williams ( 1998, P533 ), data warehouse biasanya digunakan dalam empat tugas yang berbeda, yaitu : 1.
Pembuatan laporan Merupakan kegunaan data warehouse yang paling umum. Penggunaan query sederhana dalam data warehouse dapat menghasilkan informasi per tahun, per kuartal, per bulan, atau bahkan per minggu. Query – query umum diterapkan dalam data warehouse dengan tujuan memperoleh jawaban terhadap pertanyaan - pertanyaan khusus, seperti pertanyaan tentang siapa, apa, kapan, dimana, dan berapa banyak.
2.
OLAP ( Online Analytical Processing ) Data warehouse digunakan dalam melakukan analisa bisnis untuk menyelidiki kecenderungan pasar dan faktor penyebabnya. Dalam hal ini, data warehouse merupakan tool yang handal untuk analisa data yang kompleks.
3.
Data Mining Penggunaan data warehouse dalam pencarian pola dan hubungan data dengan tujuan membuat keputusan bisnis. Dalam hal ini, software dirancang
untuk
pola
kecenderungan yang ada.
statistik
dalam
data
untuk
mengetahui
14 4.
Proses informasi eksekutif Data warehouse digunakan untuk mencari informasi summary kunci yang penting, dengan tujuan membuat keputusan bisnis, tanpa harus menjelajahi keseluruhan data yang ada.
2.3 Teori Perancangan Data Warehouse 2.3.1 Perancangan Logikal Beberapa tahap dalam perancangan logikal sebuah data warehouse yang menggunakan metode Kimball, yaitu: 1. Mengidentifikasi proses bisnis Pada tahap ini ditentukan pada proses bisnis apa data warehouse akan digunakan. Tahap ini akan menjadi sumber dari penentuan measurement. 2. Mengidentifikasi grain Pada tahap ini akan ditentukan tingkat detail data yang bisa didapatkan dari model dimensional. 3. Mengidentifikasi dimensi Dimensi harus menggambarkan sejelas mungkin dan memperkuat grain. Tabel dimensi berisi data yang menggambarkan dimensi dari bisnis. Pada model dimensional, hubungan dari measurement diwakili dalam tabel dimensi. Hubungan dari measurement juga dapat berupa karakteristik seperti siapa, apa, di mana, kapan, bagaimana dari measurement. Jika proses bisnisnya adalah penjualan, karakteristik dari measurement jumlah penjualan bulanan dapat berupa lokasi (di mana), waktu (kapan) dan produk yang terjual (apa).
15 Dimension atribut adalah kolom yang lain di dalam tabel dimensi. Pada dimensi lokasi, atributnya dapat berupa Kode Lokasi, Kota, Negara, Kode Pos. Secara umum, atribut dimensi digunakan dalam label dalam laporan dan batasan dalam query 4. Mengidentifikasi fakta Pada tahap ini akan diidentifikasi apakah measurement yang diperlukan, fakta harus berupa angka dan harus memperkuat grain yang ditetapkan pada tahap dua. Pada model dimensional, tabel fakta berisi measurement atau fakta dari proses bisnis. Jika proses bisnisnya adalah penjualan maka, measurement dari proses bisnis ini misalnya jumlah penjualan per bulan yang ditampung di dalam tabel fakta. Sebagai tambahan pada measurement, hal lain yang dimuat di dalam tabel fakta adalah foreign key untuk tabel dimensi. (http://freedatawarehouse.com) 5. Perancangan Skema Bintang Skema bintang merupakan struktur logikal yang mempunyai tabel fakta yang mengandung data faktual di pusat, dikelilingi dengan tabel dimensi yang memiliki reference data (yang dapat didenormalisasi). (Connolly, 2002, p1079) Skema bintang merupakan tipe yang spesifik dari perancangan database yang digunakan untuk mendukung proses analisis. ( Poe, 1996, p33 ).
16 Keuntungan skema bintang (www.freedatawarehouse.com) : • Skema bintang mudah untuk dimengerti, bagi untuk manager bisnis non teknikal sekalipun. • Skema bintang menyediakan performa yang lebih baik dan waktu pencarian yang lebih singkat. • Skema bintang dapat lebih mudah menangani perubahan di masa yang akan datang.
Gambar 2.2 Contoh skema bintang (www.freedatawarehouse.com)
Selain menggunakan skema bintang, perancangan juga dapat menggunakan skema snowflake. Skema snowflake adalah bentuk lain dari skema bintang di mana tabel dimensinya tidak mengandung data
17 denormalisasi. Skema ini memperbolehkan dimensi untuk memiliki dimensi. (Connolly, 2002, p1080)
Gambar 2.3 Contoh skema snowflake (www.freedatawarehouse.com) 2.3.2 Perancangan Fisikal Merupakan proses dari memproduksi mengenai penjelasan implementasi database ke dalam penyimpanan kedua, yang menjelaskan relasi basis, organisasi file dan penggunaan index untuk mencapai akses yang efisien ke data dan pengukuran keamanan.
18 Langkah-langkah dalam perancangan fisikal menurut metode Connolly: 1.
Menentukan base relations Untuk
memutuskan
bagaimana
cara
menunjukkan
relasi
basis
teridentifikasi ke dalam model data logikal umum ke dalam target DBMS untuk tiap relasi yang teridentifikasi ditentukan pula: a. nama dari relasi b. daftar dari atribut sederhana c. primary key d. daftar dari derived atribut dan bagaimana daftar itu dikomputasi e. referensial kendala integritas untuk tiap foreign key yang teridentifikasi dari kamus data, dimiliki juga tiap atribut. Dari kamus data, dimiliki juga tiap atribut: a. domainnya, yang memiliki tipe data, panjang dan kendala dalam domainnya b. optional default value untuk tiap atribut c. atribut dapat bernilai null. 2.
Membuat derived data Untuk memutuskan bagaimana menunjukkan derived data dalam model data logikal umum ke dalam target DBMS. Pendesain harus mengkalkulasi: a. penambahan
nilai
untuk
menyimpan
derived
data
dan
membiarkan supaya tetap konsisten dengan data operasional di mana data itu didapatkan b. nilai yang harus dikalkulasi setiap saat selalu tersedia
19 3.
Menentukan organisasi file Untuk menunjukkan keefisienan organisasi file untuk tiap relasi basis. Organisasi file yang digunakan dalam perancangan data warehouse ini adalah B* Tree. Struktur B* Tree mendukung penerimaan berdasarkan exact keymatch, pattern matching, range of values dan spesifikasi dari key, bersifat dinamis, berkembang ketika relasi berkembang.
4.
Menentukan index Untuk
menunjukkan
dengan
menentukan
index
yang
akan
memperlihatkan performa dari sistem. Ada dua tipe index: a. Cluster index Hanya dapat menentukan satu index ini untuk tiap tabel b. Noncluster index Dalam satu tabel dapat memiliki lebih dari satu noncluster index. 5.
Estimasi disk space Untuk mengestimasikan nilai dari disk space yang akan digunakan yang akan mendukung implementasi database dalam secondary storage. Estimasi kegunaan disk sangat tergantung pada target DBMS dan perangkat keras yang dipakai untuk mendukung database. Secara umum, estimasi berdasar pada ukuran tiap tuple dan jumlah tuple dalam relasi.
6.
Desain user view Untuk mendesain user view yang akan diidentifikasi selama requirement collection dan analysis stage dari aplikasi database.
20 7.
Desain sekuriti Untuk mendesain ukuran keamanan untuk database yang dispesifikasikan oleh user. Ada 2 tipe: a. System security Memberikan batas untuk mengakses dan menggunakan database pada level sistem seperti pemakaian user name dan password. b. Data security Memberikan batas untuk mengakses dan menggunakan objek database dan aksi-aksi yang user dapat lakukan terhadap objek tersebut. (Connolly, 2002, p479-p504)
2.4 Performance Tuning Performance tuning adalah cara untuk meningkatkan kinerja pengaksesan data. Metode yang dapat digunakan untuk performance tuning adalah agregasi dan denormalisasi. 2.4.1 Agregasi Agregasi adalah data numerik yang belum dikalkulasi. Dengan menghitung dan menyimpan jawaban dalam query sebelum user memintanya, waktu pemrosesan query dapat dikurangi. Ini adalah cara dalam menyediakan performance pencarian data yang cepat dalam OLAP (www.planet-sourcecode.com ). Di dalam konteks desain database, perlu dipertimbangkan mengenai pembuatan agregasi selama proses transformasi dan memasukkan data yang belum dihitung ke dalam data warehouse ( Poe, 1996, p136 ).
21 2.4.2 Denormalisasi Denormalisasi adalah proses mengkombinasikan tabel – tabel dengan teliti untuk meningkatkan performa. Denormalisasi dapat digambarkan sebagai proses
untuk
meningkatkan
mengurangi performa
tingkat
proses
normalisasi
pencarian.
dengan
Salah
satu
tujuan
untuk
tujuan
utama
denormalisasi adalah untuk mengurangi jumlah tabel physical yang harus diakses untuk mendapatkan kembali data yang diinginkan dengan mengurangi jumlah join yang diperlukan untuk menghasilkan jawaban atas query. Denormalisasi telah digunakan pada banyak strategi implementasi database untuk meningkatkan performa database dan mengurangi waktu respon pencarian. Salah satu area yang paling berguna untuk menerapkan denormalisasi adalah pada implementasi data warehouse untuk transaksi data mining. Tujuan dari data warehouse adalah untuk meletakkan data enterprise untuk melayani para pembuat keputusan. Pencarian data, konversi dan memindahkan data dari sumber ke target komputasi adalah salah satu dari tugas data warehouse administrator. Transformasi data adalah cara untuk meyakinkan bahwa database yang ditargetkan hanya memegang data yang akurat, tepat waktu, terintegrasi, dan valid Denormalisasi
terutama
berguna
dalam
hubungannya
dengan
pengembangan skema bintang yang ditemukan pada banyak implementasi data warehouse. Pada kasus ini, denormalisasi menyediakan performa yang lebih baik. (http://csdl2.computer.org)
22 Ada beberapa indikator yang akan menolong untuk mengidentifikasi sistem dan tabel yang potensial sebagai kandidat denormalisasi, yaitu: •
Banyak pencarian kritikal dan laporan yang ada menggantungkan data pada lebih dari satu tabel.
•
Banyak penghitungan yang dibutuhkan pada satu atau banyak kolom sebelum query dapat menjawabnya.
•
Tabel diakses dengan banyak cara yang berbeda oleh banyak user yang berbeda pula. (http://www.objectarchitects.de)
2.5 Online Analytical Processing (OLAP) OLAP adalah istilah yang mendeskripsikan teknologi yang menggunakan multi dimensional view dari data aggregate untuk menyediakan akses yang cepat bagi informasi strategis yang bertujuan untuk proses analisa. OLAP memungkinkan user untuk memperoleh pengertian yang mendalam dan pengetahuan mengenai berbagai aspek dalam perusahaan secara cepat, konsisten, dan akses yang interaktif untuk memperluas kemungkinan dalam berbagai sudut pandang data ( Connolly, 2002, p1101 ). OLAP tools yang digunakan dalam perancangan data warehouse ini adalah MOLAP ( Multi Dimensional OLAP ). MOLAP tools digunakan khusus untuk struktur dan system management basis data yang multi dimensional yang dapat mengatur dan menganalisa data. Untuk mempertinggi performa query, data secara khusus dijumlah dan disimpan berdasarkan kebutuhan yang telah diramalkan.
23 Struktur data MOLAP menggunakan teknologi array dan teknik penyimpanan melalui manajemen data yang renggang. ( Connolly, 2002, p1110 – p1111 ) Berikut ini beberapa keuntungan yang diperoleh dengan menerapkan OLAP , yaitu: •
Meningkatkan produktivitas dari end-users bisnis, pengembang teknologi informasi.
•
Meningkatkan
penghasilan
dan
keuntungan
potensial
dengan
memungkinkan perusahaan untuk merespons permintaan pasar lebih cepat. •
Mengurangi backlog dari pengembangan aplikasi untuk staf teknologi informasi dengan membuat end-users bebas untuk membuat perubahan skema dan memungkinkan organisasi untuk merespon permintaan pasar lebih cepat.
•
Mengurangi lalu lintas jaringan dalam sistem OLTP atau dalam data warehouse. (Connolly, 2002, p1104)
2.6 Metodologi Penelitian 2.6.1 Pengumpulan dan Analisa Kebutuhan Merupakan proses pengumpulan dan penganalisisan informasi mengenai bagian dari organisasi yang akan didukung oleh aplikasi database dan menggunakan info ini untuk mengidentifikasi permintaan user mengenai sistem yang baru (Connolly, 2002, p276).
24 2.6.2 Fact Finding Fact finding adalah proses formal yang menggunakan teknik seperti interview dan questionnaires untuk mengumpulkan fakta tentang sistem, requirement, dan preferences. Teknik ini sangat penting untuk mengumpulkan bukti atau fakta yang nyata untuk membangun aplikasi database yang diperlukan. Dalam perancangan data warehouse ini, teknik yang dilakukan untuk mendapatkan data yang dibutuhkan, adalah : •
Document Examination Berguna
untuk
mendapatkan
informasi
seperti
bagaimana
kebutuhan akan database muncul, untuk mengidentifikasi bagian dari organisasi yang bermasalah dan untuk mengerti sistem yang ada. •
Interviewing Merupakan teknik yang sering digunakan dan memungkinkan pengumpulan data dari individu dengan face to face. Bertujuan untuk mencari
fakta,
memverifikasi
fakta,
memunculkan
antusiasme,
mengidentifikasi requirement, dan mengumpulkan ide serta opini. 2.6.3 Perancangan Logikal Telah dibahas pada sub bab 2.3.1 2.6.4 Pemilihan DBMS Pemilihan Database Management Systems adalah pemilihan DBMS yang tepat untuk mendukung aplikasi database.
25 Ada empat langkah utama dalam pemilihan DBMS, yaitu: •
Mendefinisikan peraturan yang menunjuk pada masalah yang sedang dihadapi
•
Mendata dua atau tiga produk untuk dijadikan perbandingan
•
Mengevaluasi produk
•
Merekomendasikan hasil pemilihan produk dan membuat laporan (Connolly, 2002, p285).
2.6.5 Perancangan Fisikal Telah dibahas pada sub bab 2.3.2 2.6.6 Implementasi Implementasi adalah instalasi dan pengantaran keseluruhan sistem ke dalam sebuah produksi (Whitten, 2004, p718). Ada lima fase dalam proses implementasi, yaitu: •
Memimpin testing sistem
•
Mempersiapkan rencana konversi
•
Menginstal database
•
Memberikan pelatihan kepada user
•
Melakukan konversi ke sistem yang baru (Whitten, 2004, p723-728).
2.7 Extract Transform Load Operational Data Store atau ODS digunakan sebagai dasar untuk membangun sebuah data warehouse. Proses yang dilalui untuk menghasilkan sebuah data
26 warehouse dari ODS biasa disebut ETL yang merupakan singkatan dari ExtractTransform-Load. ETL merupakan fungsi integrasi data yang meliputi extracting data dari sumber, mentransformasinya agar sesuai dengan kebutuhan bisnis dan memasukkannya ke dalam data warehouse (http://www.tech-encyclopedia.com)