Upload
vonga
View
220
Download
0
Embed Size (px)
Citation preview
6
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.
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
highly summarized data.
Menyimpan detailed 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
METADATA
Highlysummarized
Lightlysummarized(datamart)
currentdetail
olddetail
operationaltransformation
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 statistik dalam data untuk mengetahui
kecenderungan yang ada.
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-source-
code.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 mengurangi tingkat normalisasi dengan tujuan untuk
meningkatkan performa proses pencarian. Salah satu 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 Extract-
Transform-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)