7 BAB 2 LANDAS AN TEORI
2.1
Konsep Data Warehouse 2.1.1
Pengertian Data dan Database M enurut Turban Rainer Potter (2001,p17), “Data are raw facts or elementary descriptions of things, events, activities, and transactions, that are captured, recorded, stored and classified, but not organized to convey any specific meaning,” yang berarti data merupakan fakta ‘mentah’ atau deskripsi awal mengenai barang, kegiatan, dan transaksi yang
diperoleh,
disimpan,
dan
diklasifikasikan,
namun
tidak
diorganisasikan untuk menyampaikan arti yang spesifik. M enurut James A. O’Brien (1997, p166), “Database is an integrated collection of logically related record of file,” yang berarti bahwa database merupakan suatu kumpulan record file yang terintegrasi dan saling berhubungan secara logika. Jadi, dapat disimpukan bahwa data merupakan suatu bentuk keterangan dalam bentuk teks maupun numerik yang belum diolah atau dimanipulasi menjadi informasi. Data suatu perusahaan pada umumnya diperoleh dari hasil kegiatan operasional sehari-hari atau hasil transaksi. Sedangkan
database
merupakan
kumpulan
data
yang
saling
berhubungan, dan digunakan oleh sistem aplikasi dalam perusahaan.
8 2.1.2
Pengertian Data Warehouse M enurut W.H. Inmon (2002, p389), “ A data warehouse is a collection of integrated, subject oriented database designed to support the DSS function, where each unit of data is relevant to some moment in time,” yang mengandung pengertian bahwa Data Warehouse merupakan kumpulan database yang bersifat berorientasi subjek dan terintegrasi yang dirancang untuk mendukung sistem pengambilan keputusan (DSS), dimana setiap data berhubungan dengan suatu kejadian pada suatu waktu. M enurut Vidette Poe (1996, p6), “A data warehouse is a readonly analytical database that is used as the foundation of a decision support system,” yang berarti sebuah data warehouse adalah database yang bersifat analisis dan hanya dapat dibaca saja serta digunakan sebagai dasar dari suatu sistem pengambilan keputusan (DSS). Dari definisi-definisi tersebut, adapun tujuan yang ingin dicapai dari data warehouse adalah untuk mengintegrasikan data-data perusahaan ke dalam sebuah penyimpanan tunggal dimana pengguna dapat menjalankan query, menghasilkan laporan, dan melakukan analisis, sehingga dapat mendukung DSS. Dapat disimpulkan bahwa data warehouse adalah teknologi manajemen dan analisis data.
2.1.3
Karakteristik Data Warehouse Karakteristik data warehouse menurut W.H. Inmon (2002, p31) dan Connolly (2002, p1047) adalah sebagai berikut:
9
Subject-oriented Data warehouse diatur sesuai dengan subjek-subjek utama perusahaan (seperti pelanggan, produk, dan penjualan), bukan sesuai dengan area aplikasi utama (seperti faktur pelanggan, pengontrolan stok,
dan penjualan produk). Ini didasari dengan
kebutuhan untuk menyimpan data yang mendukung keputusan, bukan data berorientasi aplikasi.
Integrated Data dalam warehouse bersifat terintegrasi karena bersumber dari sistem-sistem aplikasi yang berbeda dalam perusahaan. Sumber data demikian sering tidak konsisten, misalnya karena berbeda format. Sumber data yang terintegrasi ini harus dibuat konsisten untuk memberikan data yang seragam pada para pengguna.
Time-variant Data dalam warehouse bersifat tepat dan valid dalam jangka waktu tertentu. Data dalam warehouse terdiri dari serangkaian snapshot, masing-masing menunjukkan data operasional yang diambil pada suatu waktu tertentu.
Non-volatile Data dalam warehouse tidak di-update dalam real time melainkan diperbaruhi secara periodik dari sistem operasional. Data baru selalu ditambahkan sebagai tambahan bagi database, bukan sebagai pengganti. Database secara terus menerus mengambil data baru,
10 menambahkannya
dan
mengintegrasikannya
dengan
data
sebelumnya.
2.1.4
S truktur Data Warehouse Dalam data warehouse, terdapat tingkatan detail data yang berbeda-beda, yaitu: 1. Current Detail Data Current detail data menggambarkan keadaan data yang sedang berjalan. Data ini merupakan level data terendah dari data warehouse,
diakses
dengan
cepat,
dan
memerlukan
tempat
penyimpanan (storage) yang besar, sehingga sulit diatur, karena data yang kompleks. 2. Older Detail Data Older detail data merupakan hasil backup yang disimpan dalam tempat penyimpanan (storage) yang terpisah, dan pada saat tertentu dapat diakses kembali bilamana dibutuhkan. Penyusunan direktori dilakukan berdasarkan urutan umur data, sehingga data dapat tersusun rapi dan mempermudah dalam melakukan akeses selanjutnya. 3. Highly Summary Data Highly summary data adalah suatu hasil data yang bersifat total summary (ringkasan secara total). Data ini tersusun rapi dan mudah diakses terutama untuk melakukan analisis perbandingan data berdasarkan urutan waktu dan analisis yang menggunakan data multi
11 dimensi. Sumber data tersebut dapat berasal dari data yang sedang aktif ataupun di luar data warehouse. 4. Lightly Summary Data Lightly summary data adalah ringkasan dari data tingkat rendah yang terdapat pada data detail yang sedang aktif (current detail data), tetapi belum bersifat total summary (ringkasan secara total). Data ini banyak ditampilkan dalam bentuk view dari kondisi yang sedang berjalan atau sudah berjalan. 5. Metadata Metadata merupakan jenis data yang memuat informasi penting dalam data warehouse, digunakan dalam banyak fungsi, antara lain: -
Sebagai sebuah direktori yang dipakai oleh pengguna data warehouse dalam mencari letak/lokasi data dalam data warehouse.
-
Sebagai panduan untuk melakukan proses meringkas data dari data detail menjadi lightly summary data dan dari lightly summary data menjadi highly summary data.
-
Sebagai panduan pemetaan dalam proses transformasi dari data operasional ke data warehouse. Metadata menyediakan catatan asal data yang dipergunakan
dalam proses transformasi.
12 Catatan ini memberikan referensi kepada pengguna akhir sistem, seperti keabsahan data bagi sistem pengumpulan data perusahaan.
Gambar 2.1 S truktur Data Warehouse
2.1.5
Anatomi Data Warehouse Berikut adalah tiga jenis dasar sistem anatomi data warehouse menurut Prabowo (1996): 1. Data Warehouse Fungsional Data
warehouse
fungsional
menggunakan
pendekatan
kebutuhan dari tiap bagian dari fungsi bisnis yang ada, misalnya, departemen atau divisi, untuk mendefinisikan jenis data yang ditampung oleh sistem. Setiap unit fungsi dapat memiliki gambaran data masing-masing.
13 Pendekatan ini banyak digunakan karena sistem memberikan solusi yang mudah untuk dibangun dengan biaya investasi yang relatif rendah dan dapat memberikan kemampuan sistem pengumpulan data yang terbatas kepada kelompok pemakai. Penerapan jenis sistem pengumpulan data seperti ini beresiko kehilangan konsistensi data di luar lingkungan fungsi bisnis bersangkutan. Bila lingkup pendekatan ini diperbesar dari lingkungan fungsional menjadi lingkup perusahaan, konsistensi data perusahaan tidak dapat dijamin lagi.
Data Warehouse Fungsional Gambar 2.2 Data Warehouse Fugsional 2. Data Warehouse Terpusat Data warehouse terpusat adalah pendekatan yang paling baik digunakan. Hal ini disebabkan oleh keterbiasaan pemakai dengan lingkungan mainframe terpusat. Data diambil dari seluruh sistem operasional dan disimpan di dalam pusat penyimpanan data. User kemudian menggunakan data yang telah terkumpul tersebut untuk
14 membangun data warehouse fungsional, masing-masing sesuai dengan kebutuhannya. Keuntungan sistem ini dibandingkan dengan data warehouse fungsional adalah bahwa data benar-benar terpadu. Jika ada perubahan pada data warehouse pusat, maka perubahan data harus disalurkan kepada data warehouse fungsional. Pada sistem ini pengguna hanya dapat mengambil data dari pusat pengumpulan saja dan tidak dapat berhubungan secara langsung dengan pemasok datanya sendiri. Penerapan sistem ini membutuhkan biaya pemeliharaan yang tinggi untuk sistem pengumpulan data yang besar. Selain itu diperlukan waktu yang lama untuk membangun sistem tersebut.
Data Warehouse Terpusat Gambar 2.3 Data Warehouse Terpusat 3. Data Warehouse Terdistribusi Data warehouse terdistribusi dikembangkan berdasarkan konsep gateway data warehouse, sehingga memungkinkan user dapat
15 langsung berhubungan dengan sumber data atau pemasok data maupun dengan pusat pengumpul data lainnya. Pada sistem ini data akan ditampilkan kepada pengguna seolah-olah berasal dari satu sumber, namun sebenarnya data dapat saja diambil dari bebagai sumber yang berbeda. Pendekatan ini menggunakan teknologi client-server untuk mengambil data dari berbagai sumber, sehingga memungkinkan tiap departemen atau divisi untuk membangun sistem operasionalnya sendiri serta dapat membangun pengumpulan data fungsionalnya masing-masing dan menggabungkan bagian-bagian tersebut dengan teknologi client-server. Pendekatan ini akan menjadi sangat efektif bila data tersedia dalam bentuk yang konsisten dan user dapat menambahkan data tersebut dengan informasi baru apabila ingin membangun gambaran baru atas informasi. Penerapan data warehouse terdistribusi ini memerlukan biaya yang sangat besar karena setiap pengumpulan data fungsional dan sistem operasinya dikelola secara terpisah. Selain itu, supaya berguna bagi perusahaan, data yang ada harus disinkronisasikan untuk memelihara keterpaduan data.
16
Data Warehouse Terdistribusi Gambar 2.4 Data Warehouse Terdistribusi
2.1.6
Arsitektur Data Warehouse
Gambar 2.5 Asitektur Data Warehouse Secara Umum
17 Komponen-komponen utama sebuah data warehouse antara lain: 1. Operational Data Data untuk data warehouse bersumber dari:
Mainframe data operasional yang berada pada tingkatan database generasi pertama dan database jaringan. Diperkirakan sebagian besar data operasional perusahaan disimpan dalam sistem tersebut.
Data departemen yang berada di sistem file seperti VSAM , RM S dan DBM S relasional (seperti Informix dan Oracle).
Data pribadi yang berada di workstation dan server pribadi.
Sistem-sistem eksternal seperti internet, database yang tersedia secara komersil, atau database yang berhubungan dengan pemasok atau pelanggan perusahaan.
2. Operational datastore Sebuah operational datastore (ODS) adalah sebuah tempat penyimpanan data operasional terkini dan terintegrasi, yang digunakan untuk kebutuhan analisis. ODS memiliki struktur dan sumber data yang sama dengan data warehouse, berperan sebagai tempat penyimpanan data sebelum dipindahkan ke warehouse. ODS menyimpan data yang telah diekstrak dari sistem
sumber
dan
telah
dibersihkan.
Dengan
demikian,
proses
pengintegrasian dan restrukturisasi data untuk data warehouse menjadi lebih sederhana. 3. Load Manager Load manager melakukan semua operasi yang berhubungan dengan fungsi mengekstrak/mengambil data dan fungsi loading/meletakkan data ke
18 dalam data warehouse. Data dapat diekstrak dari sumber-sumber data atau pada umumnya diambil dari operational datastore. Operasi yang dilakukan oleh load manager dapat berupa transformasi data yang sederhana untuk mempersiapkan pemasukan data ke dalam data warehouse. Ukuran dan kompleksitas komponen ini akan berbeda sesuai dengan data warehouse yang dirancang dan dapat dibangun menggunakan kombinasi antara vendor data loading tools dan custom-built programs. 4. Warehouse Manager Warehouse Manager melakuan semua operasi yang berhubungan dengan manajemen data dalam warehouse. Komponen ini dibangun menggunakan vendor data management tools dan custom-built programs. Operasi yang dilakukan oleh warehouse manager berupa:
melakukan analisis data untuk menjaga konsistensi data
melakukan
transformasi
dan
penggabungan
data
sumber
dari
penyimpanan sementara ke dalam tabel-tabel data warehouse.
menciptakan indeks dan view pada base tables
melakukan denormalisasi (jika diperlukan)
melakukan agregasi (jika diperlukan)
melakukan back-up dan archive/penyimpanan data.
5. Query Manager Query manager melakukan semua operasi yang berhubungan dengan manajemen user queries. Komponen ini dibangun menggunakan vendor end-user data access tools, data warehouse monitoring tools, fasilitas database, dan custom-built programs. Kompleksitas query manager
19 ditentukan oleh fasilitas yang disediakan oleh end-user access tools dan database. Operasi yang dilakukan oleh komponen ini berupa pengarahan query pada tabel-tabel yang tepat dan penjadwalan eksekusi query. 6. Detailed Data Komponen ini menyimpan semua data detil dalam skema database. Pada umumnya beberapa data tidak disimpan secara fisik, tetapi dapat diperoleh dengan cara melakukan agregasi. Secara periodik data detil ditambahkan ke warehouse untuk mendukung agregasi data. 7. Lightly and Highly Summarized Data Komponen ini menyimpan semua data yang telah diringkas oleh warehouse manager. Data perlu diringkas dengan tujuan untuk mempercepat performa query. Ringkasan data terus diperbaruhi seiring dengan adanya data baru yang masuk ke dalam warehouse. 8. Archive/Backup Data Komponen ini menyimpan data mendetil dan ringkasan data dengan tujuan untuk penyimpanan (archiving) dan backup data. Walaupun ringkasan data diperoleh dari data mendetil, ringkasan data perlu di-backup juga apabila data tersebut disimpan melampaui periode penyimpanan data detil. Data kemudian dipindahkan ke media penyimpanan seperti magnetic tape atau optical disk. 9. Meta-Data Komponen ini menyimpan semua definisi meta-data (informasi mengenai data) yang digunakan dalam semua proses dalam data warehouse. M eta-data digunakan untuk berbagai tujuan, antara lain:
20
proses extract dan loading, meta-data digunakan untuk memetakan sumber data dalam warehouse.
proses manajemen warehouse, meta-data digunakan untuk menghasilkan tabel ringkasan (summary tables).
sebagai bagian dari proses manajemen query, meta-data digunakan untuk mengarahkan sebuah query pada sumber data yang tepat.
10. End-User Access Tools Tujuan utama dari data warehouse adalah menyediakan informasi bagi pengguna untuk pembuatan keputusan yang strategis dalam berbisnis. Para pengguna berinteraksi dengan data warehouse menggunakan end-user access tools. Berdasarkan kegunaan data warehouse, terdapat lima kategori end-user access tools, yaitu: 1. Reporting and query tools Reporting tools meliputi production reporting tools dan report writers. Production reporting tools digunakan untuk menghasilkan laporan operasional secara berkala. Query tools untuk relational data warehouse dirancang untuk menerima SQL atau menghasilkan SQL statements untuk proses query data yang tersimpan di warehouse. 2. Application development tools Application development tools menggunakan graphical data access tools yang dirancang khusus untuk client-server environment. Beberapa aplikasi tersebut diintegrasikan dengan OLAP tools, dan dapat mengakses semua sistem database utama.
21 3. Executive information system (EIS) tools Executive information system, sering dikenal sebagai ‘everyone’s information
systems’
(sistem informasi setiap
orang). Awalnya
dikembangkan untuk mendukung pembuatan keputusan high-level yang strategis. Akan tetapi, kemudian meluas untuk mendukung semua tingkat manajemen. EIS tools pada awalnya berhubungan dengan mainframes yang memungkinkan para pengguna untuk membangun
aplikasi
pendukung keputusan yang bersifat grafik untuk menyediakan sebuah overview mengenai data perusahaan dan akses pada sumber data eksternal. Kini, EIS banyak dilengkapi dengan fasilitas query dan mneyediakan custom-built applications untuk area bisnis seperti penjualan, pemasaran, dan keuangan. 4. Online analytical processing (OLAP) tools Online analytical processing (OLAP) tools didasarkan pada konsep database yang bersifat multi-dimensi dan memperbolehkan pengguna untuk menganalisis data dari sudut pandang yang kompleks dan multi-dimensi. Alat bantu ini mengasumsikan bahwa data diatur dengan model multi-dimensi yang didukung oleh database multi-dimensi yang khusus (M DDB) atau oleh sebuah relasional database yang dirancang untuk memungkinkan query multi-dimensi. 5. Data mining tools Data mining adalah proses menemukan korelasi, pola, dan trend yang baru yaitu dengan melakukan penggalian pada sejumlah data menggunakan teknik statistik, matematis, dan artifical intelligence (AI).
22 Data mining memiliki potensi untuk menggantikan kemampuan OLAP tools.
2.1.7
Keuntungan Penggunaan Data Warehouse Implementasi data warehouse yang berhasil dapat memberikan keuntungan bagi sebuah perusahaan, antara lain:
M enjamin meningkatnya ROI (Return On Investment) dalam perusahaan. Sebuah perusahaan harus mengeluarkan sejumlah besar sumber untuk menjamin keberhasilan implementasi data warehouse dan biayanya dapat berkisar hingga ratusan juta karena tersedianya berbagai solusi teknis.
Namun
keberhasilan
penerapan data
warehouse akan memberikan keuntungan yang lebih besar daripada biaya penerapannya.
Keuntungan dalam persaingan. Implementasi data warehouse memberikan akses data bagi pihak pembuat keputusan mengenai informasi yang sebelumnya tidak diketahui, misalnya mengenai pelanggan, pola pasar, dan permintaan pelanggan.
M eningkatnya produktivitas pihak pembuat keputusan perusahaan. Implementasi
data
warehouse
menciptakan
database
yang
terintegrasi, konsisten dan berorientasi subjek dari sekumpulan data. Data warehouse mengintegrasikan data dari berbagai sistem berbeda ke dalam sebuah bentuk yang memberikan sebuah tampilan yang konsisten bagi perusahaan. Dengan diubahnya data menjadi
23 informasi, data warehouse membantu para manajer bisnis melakukan analisis yang berkualitas, tepat dan konsisten.
2.2
Perancangan Data Warehouse M erancang sebuah data warehouse tidaklah mudah. Banyak perusahaan memilih data marts sebagai solusi atas masalah mereka. Data marts memungkinkan perancangan yang lebih sederhana dan hasil yang lebih mudah dimengerti oleh pengguna. Pengumpulan data dan analisis kebutuhan dari sebuah proyek data warehouse melibatkan interview dengan beberapa anggota dari perusahaan terkait, seperti bagian pemasaran, bagian keuangan, bagian operasional, manajerial dan sebagainya. Hal ini dilakukan untuk mengetahui prioritas dari kumpulan kebutuhan perusahaan yang akan dirancang pada data warehouse. Interview
juga
melibatkan
orang
yang
bertanggung
jawab
mengoperasikan sistem OLTP yang ada untuk mengidentifikasi sumber data mana saja yang dapat memberikan informasi yang bersih, konsisten, terpercaya dan terus digunakan untuk beberapa tahun yang akan datang. Komponen database dari sebuah data warehouse dideskripsikan dengan teknik yang disebut dengan Dimentionality Modeling.
2.2.1
Pengertian Dimensionality Modelling Dimensionality modeling merupakan sebuah teknik perancangan logikal yang bertujuan untuk menampilkan data dalam bentuk standar dan memiliki akses performa tinggi.
24 Dimentionality Modeling menggunakan konsep ER (EntityRelationship) modeling dengan beberapa larangan. Setiap Dimentionality Model terbentuk dari satu tabel dengan primary key yang biasa disebut dengan tabel fakta, dan serangkaian tabel yang lebih kecil yang disebut tabel dimensi. Tiap tabel dimensi memiliki sebuah primary key yang berhubungan dengan sebuah komponen composite key pada tabel fakta. Dengan kata lain, primary key pada tabel fakta, terbentuk dari dua atau lebih foreign key. Struktur karakteristik yang menyerupai bintang ini disebut skema bintang. Hal penting lainnya dari Dimentionality Model yaitu semua natural
key
digantikan
dengan
surrogate
key,
dimana
setiap
penggabungan dengan tabel fakta harus menggunakan surrogate key, bukan natural key. Setiap surrogate key harus memiliki struktur umum berdasarkan integer yang sederhana. memperbolehkan
data
pada
data
Penggunaan surrogate key warehouse
tidak
memiliki
ketergantungan dengan data yang digunakan dan diciptakan oleh sistem OLTP.
2.2.1.1 Perbedaan model DM dan ER DM
pada
umumnya
digunakan
untuk
mendesain
komponen database pada data warehouse. Sedangkan ER digunakan untuk mendeskripsikan sistem database OLTP. M odel
ER
merupakan
sebuah
teknik
untuk
mengidentifikasi hubungan antara entitas. Fungsi utama dari
25 model ER adalah untuk menghilangkan perulangan data (data redundancy).
Hal
ini
menguntungkan
dalam
pemrosesan
transaksi, karena transaksi-transaksi tersebut menjadi lebih sederhana. Contohnya: Pada proses update nama produk, akan lebih mudah apabila hanya melakukan update untuk satu record pada tabel master daripada harus mengupdate banyak record untuk setiap transaksi. M odel ER tidak mendukung perancangan data warehouse, karena performanya kurang baik dalam pemrosesan data secara masal. Kunci utama yang dapat digunakan dalam memahami hubungan antara ER dengan DM yaitu: sebuah model ER pada umumnya dibagi menjadi beberapa model DM . M odel DM saling berhubungan melalui tabel-tabel dimensi.
2.2.1.2 Skema Bintang Skema bintang adalah struktur logikal yang memiliki tabel fakta berisikan data faktual yang dikelilingi oleh tabel-tabel dimensi berisikan data referensi (yang dapat didenormalisasi). Skema bintang merupakan suatu rancangan database yang digunakan pada data warehouse untuk menggambarkan hubungan yang jelas antara struktur tabel fakta dan tabel dimensi. Skema ini dapat dibaca dengan mudah oleh analis maupun pengguna awam. Skema bintang dapat digunakan untuk mempercepat performa query dengan cara melakukan denormalisasi informasi
26 ke dalam sebuah tabel dimensi. Denormalisasi menjadi hal yang penting ketika sejumlah entitas yang berhubungan dengan tabel dimensi
sering
diakses,
sehingga
dapat
menghindari
penggabungan tabel tambahan untuk mengakses atribut tersebut. Skema bintang memiliki beberapa keuntungan yang tidak terdapat pada struktur relasional biasa antara lain: 1. M enciptakan rancangan database yang memberikan waktu respon yang cepat. 2. Kemudahan dalam hal memodifikasi/pengembangan data warehouse secara terus menerus. 3. Perancangan
database
memungkinkan
pengguna
akhir
menyesuaikan cara berfikir dengan menggunakan data secara paralel. 4. M enyederhanakan pemahaman dan penelusuran metadata bagi pengguna dan pengembang. Skema bintang memiliki dua macam tabel, yaitu: 1. Tabel Fakta (fact table) Tabel fakta sering disebut juga sebagai tabel mayor. Tabel ini merupakan inti dari skema bintang dan berisi data aktual yang akan dianalisis. Kolom-kolom yang dapat dianalisis pada tabel fakta disebut measure. Primary key pada tabel ini berupa gabungan foreign key ke tabel-tabel dimensi (composite key). Tabel ini dapat terdiri dari banyak kolom dan ribuan baris data. Measure pada tabel fakta biasanya berupa
27 bilangan numerik dan dapat dijumlahkan karena aplikasi data warehouse hampir tidak pernah mengakses satu baris record saja, melainkan mengakses ratusan, ribuan, bahkan jutaan record pada saat yang bersamaan. Hal yang paling penting dalam melakukan proses terhadap data yang sangat banyak yaitu penggunaan agregasi. 2. Tabel Dimensi (dimension table) Tabel dimensi sering disebut sebagai tabel minor. Tabel dimensi biasanya lebih kecil dan berisi data yang merupakan deskripsi lebih lanjut dari data yang ada pada tabel fakta. M engandung informasi yang berupa teks dan bersifat deskriptif. Atribut dimensi digunakan sebagai batasan pada query data warehouse. Ketentuan-ketentuan dalam membaca skema bintang: • Bagian yang ada pada bagian bawah judul tabel adalah kolomkolom dari tabel. • Primary key dan foreign key diberi kotak. • Primary key diarsir sedangkan foreign key yang bukan primary key tidak diarsir. • Foreign key yang berhubungan ditunjukkan dengan garis yang menghubungkan tabel-tabel. • Kolom yang bukan primary key ataupun foreign key disebut kolom data pada tabel fakta dan atribut pada tabel dimensi.
28 2.2.2
Denormalisasi M enurut Poe (1996, p137) denormalisasi adalah suatu proses penggabungan tabel yang dilakukan dengan cermat dan hati-hati yang bertujuan untuk meningkatkan kinerja pengaksesan data. Pada dasarnya denormalisasi merupakan proses yang melanggar aturan third normal form (3NF). M enurut M annino (2001, p553) denormalisasi menggabungkan tabel-tabel sehingga dapat mempermudah dalam melakukan query. Denormalisasi merupakan kebalikan dari normalisasi. Denormalisasi berguna untuk meningkatkan kinerja query. Keuntungan melakukan proses denormalisasi adalah (Poe, 1996, p139): 1. M engurangi jumlah relasi yang terjadi antar tabel yang harus diproses pada saat pencarian, sehingga akan meningkatkan kecepatan proses query data. 2. M emetakan struktur fisik database agar mudah dimengerti oleh pengguna. Struktur tabel yang dibuat sesuai dengan hasil yang dikehendaki oleh pengguna, dan memungkinkan terjadinya akses langsung terhadap data. Sedangkan kelemahan melakukan proses denormalisasi adalah: 1. Proses denormalisasi secara tidak langsung akan membuat redundansi data.
29 2. Proses denormalisasi memerlukan alokasi memory dan storage (tempat penyimpanan) yang besar.
2.2.3
Agregasi Agregasi merupakan suatu proses penciptaan nilai yang diperoleh dengan
cara
menggabungkan
(penjumlahan,
pengambilan
nilai
minimum/maksimum, dsb) nilai kolom pada satu atau banyak record dalam database yang bertujuan untuk meningkatkan performa query, karena nilai yang ditampilkan merupakan gabungan dari banyak record yang ada dalam database.
2.2.4
Nine-Step Methodology M etodologi perancangan data warehouse yang dikemukakan oleh Kimball adalah ‘Nine-Step Methodology’ (Kimball, 1996). Pendekatan Kimball ini membagi perancangan data warehouse ke dalam beberapa bagian yang dapat diatur dengan mudah, disebut data mart. Kemudian integrasi dari semua data mart tersebut membentuk sebuah data warehouse perusahaan. Langkah-langkah dalam Nine-Step Methodology: 1. Choosing the process Yang dimaksud dengan proses adalah subjek yang akan digunakan pada data mart. Data mart pertama yang perlu diutamakan yaitu data mart yang dapat memberikan jawaban terhadap permasalahan bisnis yang utama dan dapat diselesaikan dengan biaya
30 yang terjangkau dalam waktu yang sesingkatnya. Pada umumnya data mart pertama yang perlu diutamakan adalah data mart yang berhubungan dengan fungsi bisnis penjualan. 2. Choosing the grain M emilih grain berarti menentukan data apa yang diwakilkan oleh sebuah tabel fakta. Dengan ditentukannya grain untuk tabel fakta, maka dapat diidentifkasikan dimensi-dimensi untuk tabel fakta tersebut. Keputusan grain untuk sebuah tabel fakta juga menentukan grain untuk masing-masing tabel dimensi. 3. Identifying and conforming the dimensions Dimensi menentukan konteks informasi mengenai fakta-fakta di dalam tabel fakta. Dimensi yang ditentukan dengan benar dapat membuat data mart lebih mudah dimengerti dan digunakan. Dimensi diidentifikasi dengan data detil yang cukup untuk mendeskripsikan hal-hal misalnya produk, karyawan, dsb. Isi dimensi yang tidak lengkap dapat mengurangi kegunaan sebuah data mart bagi perusahaan. Jika terdapat dimensi yang sama pada dua data mart, maka data mart tersebut harus menggunakan 1 dimensi yang sama. Hanya dengan cara ini, dua atau lebih data mart dapat berbagi dimensi pada aplikasi yang sama. Ketika sebuah dimensi digunakan pada dua data mart atau lebih, dimensi tersebut disebut ‘conformed’.
31 4. Choosing the facts Grain dari tabel fakta menentukan fakta-fakta mana yang dapat digunakan dalam data mart. Semua fakta harus berupa angka dan dapat dijumlahkan. 5. Storing pre-calculations in the fact table Setelah fakta terpilih, masing-masing fakta harus diperiksa kembali untuk menentukan apakah terdapat kemungkinan untuk melakukan pre-calculation. Jika ya, maka hasil dari perhitungan tersebut disimpan kedalam suatu kolom terpisah pada tabel fakta. 6. Rounding out the dimension tables Pada tahap ini, terdapat penambahan deskripsi teks sebanyak mungkin pada tabel dimensi. Deskripsi teks harus dapat dimengerti oleh pengguna. Kegunaan data mart ditentukan oleh ruang lingkup dan atribut pada tabel dimensi. 7. Choosing the duration of the database Pada tahap ini ditentukan durasi transaksi yang dapat dicakup oleh sebuah tabel fakta. Di banyak perusahaan, terdapat kebutuhan untuk melihat data hingga dua tahun yang lalu. Untuk perusahaan seperti perusahaan asuransi, terdapat kebutuhan untuk melihat data hingga lima tahun yang lalu atau lebih. Pertumbuhan data yang sangat besar pada tabel fakta dapat menyebakan dua buah masalah dalam perancangan data warehouse. Pertama, untuk sumber data yang lama, terdapat kesulitan dalam membaca dan menginterpretasikan informasi yang terdapat pada media penyimpanan yang lama. Kedua, adalah
32 sebuah keharusan untuk menggunakan versi lama dari dimensi yang penting, bukan versi barunya. Kejadian ini dikenal sebagai masalah ‘slowly changing dimension’ yang akan dibahas di langkah 8. 8. Tracking slowly changing dimensions Terdapat 3 jenis ‘slowly changing dimensions’: o Sebuah atribut dimensi yang berubah di-overwritten (nilai atribut yang lama diubah dengan yang baru) Keuntungan: Jenis ini merupakan cara yang paling mudah untuk menangani masalah ‘slowly changing dimension’, karena tidak perlu menyimpan atau mencari informasi yang lama. Kerugian: Semua sejarah mengenai data yang lama hilang. Dengan menggunakan
metodologi ini, tidak
memungkinkan untuk
dilakukan pencarian sejarahnya. Informasi yang lalu mengenai data tidak diketahui. o Sebuah atribut dimensi yang berubah menyebabkan sebuah record baru diciptakan di dalam dimensi Keuntungan: Jenis ini memungkinkan tersimpannya semua informasi yang lalu. Kerugian: Jenis dua ini akan menyebabkan ukuran tabel tumbuh dengan cepat. Dengan tabel yang memiliki jumlah baris yang banyak, penyimpanan dan performa menjadi suatu hal yang perlu
33 diperhatikan. Jenis ke-dua ini juga membuat proses ETL menjadi rumit. o Sebuah atribut dimensi yang berubah menyebabkan sebuah atribut alternatif diciptakan, sehingga kedua nilai atribut yang lama dan baru dapat diakses secara bersamaan dalam suatu record dimensi yang sama. Keuntungan: Jenis ini tidak menyebabkan bertambah besarnya ukuran tabel, karena informasi baru di-update. Jenis tiga ini memungkinkan tersimpannya sebagian informasi yang lalu. Kerugian: Jenis tiga ini tidak dapat menyimpan semua informasi lalu bila suatu atribut diubah lebih dari sekali. 9. Deciding the query priorities and the query modes Pada langkah ini, dipertimbangkan masalah perancangan secara fisik. M asalah perancangan fisikal yang mempengaruhi persepsi pengguna akhir mengenai data mart adalah kehadiran ringkasan atau agregasi data yang telah tersimpan, dan hal-hal lainnya yang mencakup administrasi, backup, performa index, dan keamanan. Pada akhir metodologi ini, telah dihasilkan sebuah rancangan data mart yang mendukung kebutuhan sebuah proses bisnis tertentu dan juga memungkinkan integrasi yang mudah dengan data mart lainnya untuk membentuk sebuah data warehouse perusahaan.
34 2.2.5
Data Mart Data mart adalah sebuah bagian dari data warehouse yang mendukung kebutuhan sebuah departemen atau fungsi bisnis tertentu. Sebuah data mart menyimpan sebagian data dalam data warehouse, biasanya berupa data berisi ringkasan yang berhubungan dengan sebuah departemen atau fungsi bisnis tertentu. Karakteristik yang membedakan data mart dan data warehouse antara lain:
Sebuah data mart berfokus hanya pada kebutuhan pengguna yang berhubungan dengan sebuah departemen atau fungsi bisnis.
Data mart biasanya tidak berisi data operasional yang mendetil, tidak seperti data warehouse.
Karena data mart berisi data yang lebih sedikit dibandingkan dengan data warehouse, data mart lebih mudah dimengerti. Ada beberapa pendekatan untuk membangun data mart. Salah
satunya adalah membangun beberapa data mart yang akan berkelanjutan untuk diintegrasikan menjadi sebuah data warehouse. Pendekatan lainnya adalah membangun infrastruktur data warehouse perusahaan pada saat yang bersamaan dibangun pula satu data mart atau lebih untuk memenuhi kebutuhan bisnis yang berlangsung.
2.3
ETL (Extraction Transformation Loading) M erupakan suatu proses yang diperlukan dalam membentuk struktur model dimensi (Dimensional Model). Proses ini terdiri dari 3 tahap yaitu:
35 1. Extraction M erupakan sebuah proses penarikan data dari satu atau lebih sistem operasional
sebagai sumber data (pada umumnya diambil dari sistem
database OLTP, namun dapat juga berupa sumber data di luar sistem database). 2. Transformation M erupakan sebuah proses untuk mempersiapkan atau membersihkan data yang telah diambil pada proses extract sehingga data tersebut dapat sesuai dengan struktur data warehouse atau data mart. Hal ini tidak mudah dilakukan, karena: •
Data harus digabungkan dari beberapa sistem yang terpisah, misalnya beberapa sumber dapat saja menyimpan data yang sama namun dengan struktur yang berbeda.
•
Data harus dibersihkan sehingga konsisten, dan diterapkannya penggunaan surrogate key yang merupakan sebuah key yang menghubungkan struktur data warehouse dan terpisah dari sistem sumber.
•
Data harus di-agregasi untuk mempercepat analisis.
3. Loading M erupakan sebuah proses penyimpanan data yang telah ditransformasi ke dalam sebuah database relational baik berupa data warehouse ataupun data mart. Selanjutnya data dapat dipindahkan dari data mart ke dalam data
36 warehouse, atau dapat juga dari data warehouse pusat didistribusikan ke data mart.
2.4
Pengertian OLTP dan OLAP Sistem OLTP
(online
transaction
processing)
dirancang untuk
memaksimalkan kapasitas pemrosesan transaksi. Sebuah perusahaan biasanya memiliki sejumlah sistem-sistem OLTP yang berbeda untuk proses-proses bisnis seperti pengontrolan inventory,
faktur pelanggan, dan point-of-sale. Sistem-
sistem ini menghasilkan data operasional yang mendetil, bersifat current (terbaru), dan dapat diperbaruhi. Sistem-sistem OLTP dioptimalkan untuk sejumlah transaksi yang bersifat dapat diprediksi, berulang, dan dapat diperbaruhi. Data OLTP diatur menurut kebutuhan transaksi yang berhubungan dengan aplikasi bisnis dan mendukung keputusan sehari-hari untuk sejumlah pengguna operasional. OLAP (online analytical processing) adalah proses analisis sejumlah besar data multidimensi yang bersifat dinamis. OLAP dideskripsikan sebagai sebuah teknologi yang menggunakan suatu view bersifat multidimensi mengenai sejumlah data yang teragregasi dan menyediakan akses informasi yang strategis untuk kebutuhan analisis lebih lanjut. OLAP memungkinkan pengguna memperoleh pengertian dan pengetahuan yang lebih mendalam mengenai berbagai aspek data perusahaan melalui akses data yang cepat, konsisten, dan interaktif. OLAP dapat membantu proses pengambilan keputusan untuk menanggapi kejadian yang akan datang.
37 Berikut ini adalah table perbandingan OLTP dan OLAP: OLTP Digunakan
untuk
OLAP mendukung Digunakan untuk mendukung kegiatan
kegiatan transaksi sehari-hari
analisis
M enggunakan view single dimensi
M enggunakan view multi dimensi
M endukung keputusan sehari-hari
M endukung keputusan masa depan
Tidak bergantung pada OLAP
Bergantung pada data yang tersimpan dalam sistem OLTP
M elayani pengguna operasional
M elayani pengguna managerial
Operasi query-nya sederhana dan Operasi query-nya lebih rumit, bersifat berulang-ulang
ad hoc, dan tidak melibatkan operasi update data
M enggunakan data sehari-hari
M enggunakan data yang terangkum dalam data cube
Tabel 2.1 Pengertian OLAP dan OLTP
2.5
Penjualan 2.5.1
Pengertian Penjualan M enurut M ulyadi (2001, p202), kegiatan penjualan terdiri dari transaksi penjualan barang dan jasa, baik secara kredit maupun secara tunai. Di dalam perusahaan yang bergerak di bidang perdagangan, penjualan adalah proses penting dalam melaksanakan tujuan dari perusahaan untuk memperoleh keuntungan maksimal.
38 Secara umum, pengertian penjualan dapat dikatakan sebagai ilmu dan seni mempengaruhi pribadi yang dilakukan oleh penjual untuk mengajak orang lain membeli barang atau jasa yang ditawarkan. Dengan adanya penjualan, tercipta suatu proses pertukaran barang atau jasa antara penjual dan pembeli. Ditinjau dari cara pembayaran yang dilakukan pembeli, terdapat dua jenis penjualan: 1.
Penjualan Kredit Jika order pelanggan telah dipenuhi dengan pengiriman barang atau penyerahan jasa, untuk jangka waktu tertentu, perusahaan memiliki piutang kepada pelanggannya.
2.
Penjualan Tunai Dalam sistem penjualan secara tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli jika perusahaan telah menerima kas dari pembeli.
Ditinjau dari cara penyediaan barang ke konsumen, maka penjualan dibedakan menjadi beberapa macam, yaitu : 1.
Penjualan eceran ( retail sales ) M enyediakan pelayanan barang yang efisien sesuai dengan kebutuhan permintaan konsumen di daerah sekitarnya (lokal), biasanya dengan harga yang lebih mahal dan jumlah yang sedikit (eceran).
39 2.
Penjualan partai (grosir) Barang yang dijual biasanya dalam jumlah yang lebih besar dan harganya biasanya lebih murah dibandingkan dengan penjualan eceran.
3.
Penjualan supermarket Barang yang disediakan untuk dijual lebih beraneka ragam. Pembeli mengambil atau mencari barang yang dibutuhkan sendiri (self service), jumlah pembelian konsumen bervariasi dengan harga yang tetap, tidak tergantung banyaknya pembelian.
4.
Penjualan dari pintu ke pintu Barang ditawarkan oleh pramuniaga kepada konsumen secara langsung dari rumah ke rumah.
5.
Penjualan konsinyasi Penjualan dilakukan dengan cara menitipkan barang yang akan dijual kepada penjual atau toko tertentu.
2.5.2
Pengertian Penjualan Bersih (Net Sales) Dalam Kamus Akuntansi oleh Ralph Estes, net sales didefinisikan sebagai suatu subtotal dalam income statement (perhitungan rugi-laba) yang mencerminkan total pendapatan penjualan dikurangi dengan perkiraan-perkiraan lawan tertentu, seperti sales return and allowance (retur dan potongan penjualan) dan sales discount (diskon penjualan).
40 2.5.3
Pengertian Gross Margin / Gross Profit Dalam Kamus Akuntansi oleh Ralph Estes, gross margin atau gross profit didefinisikan sebagai kelebihan revenue (pendapatan) atas cost of goods sold (harga pokok penjualan). Laba kotor atas penjualan individual sama dengan harga jual dikurangi biaya untuk mendapatkan dan mempersiapkan barang utuk dijual tetapi sebelum dikurangi dengan beban penjualan dan administratif.
2.5.4
Pengertian Net Margin / Net Income Kamus Akuntansi oleh Ralph Estes mendefinisikan net margin sebagai kelebihan revenues (pendapatan) atas seluruh expenses (beban) yang bersangkutan untuk suatu periode tertentu.
2.5.5
Pengertian Harga Pokok Penjualan (Cost of Goods Sold) Kamus Akuntansi oleh Ralph Estes mendefinisikan cost of goods sold sebagai jumlah seluruh biaya yang diperlukan untuk memperoleh dan mempersiapakan barang untuk dijual. Dalam perusahaan dagang, jumlah ini meliputi harga beli barang ditambah beban bersangkutan, seperti beban transportasi masuk, penerimaan, dan inspeksi, serta penyimpanan. Dalam suatu perusahaan produksi, harga pokok penjualan meliputi tiga biaya produksi, yaitu: bahan baku, tenaga kerja, dan overhead.
41 2.6
Pembelian 2.6.1
Pengertian Pembelian M enurut M ulyadi (2001, p301), sistem pembelian digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. Transaksi pembelian dapat digolongkan menjadi dua: pembelian lokal dan impor. Pembelian lokal adalah pembelian dari pemasok dalam negeri, sedangkan pembelian impor adalah pembelian dari pemasok luar negeri.
2.6.2
Fungsi yang Terkait dalam Pembelian M enurut M ulyadi (2001, p302), fungsi yang terkait dalam sistem pembelian adalah: a. Fungsi Gudang Fungsi gudang bertanggung jawab
untuk
mengajukan
permintaan pembelian sesuai dengan posisi persediaan yang ada di gudang dan untuk menyimpan barang yang telah diterima oleh fungsi penerimaan.
Untuk
barang
yang
langsung
pakai
(tidak
diselenggarakan persediaan barang di gudang), permintaan pembelian diajukan oleh pemakai barang. b. Fungsi Pembelian Fungsi pembelian bertanggung jawab untuk memperoleh informasi mengenai harga barang, menentukan pemasok yang dipilih dalam pengadaan barang, dan mengeluarkan order pembelian kepada pemasok yang dipilih.
42 c. Fungsi Penerimaan Fungsi peneriman bertanggung jawab untuk melakukan pemeriksaan terhadap jenis, mutu, dan kuantitas barang yang diterima dari pemasok guna untuk menentukan dapat atau tidaknya barang tersebut diterima oleh perusahaan. Fungsi ini juga bertanggung jawab untuk menerima barang dari pembeli yang berasal dari transaksi retur penjualan. d. Fungsi Akuntansi Fungsi akuntansi yang terkait dalam sistem pembelian adalah fungsi pencatatan hutang dan fungsi pencatatan persediaan. Fungsi pencatatan hutang bertanggung jawab untuk mencatat transaksi pembelian
ke dalam register
bukti kas
keluar
dan
untuk
menyelenggarakan arsip dokumen sumber (bukti kas keluar) yang berfungsi sebagai catatan hutang atau menyelenggarakan kartu hutang sebagai buku pembantu hutang. Fungsi pencatatan persediaan bertanggung jawab untuk mencatat harga pokok persediaan barang yang dibeli ke dalam kartu persediaan. Secara garis besar transaksi pembelian mencakup prosedur berikut: 1. Fungsi gudang mengajukan permintaan pembelian ke fungsi pembelian. 2. Fungsi pembelian meminta penawaran harga dari berbagai pemasok.
43 3. Fungsi pembelian menerima penawaran harga dari berbagai pemasok dan melakukan pemilihan pemasok. 4. Fungsi pembelian membuat order pembelian kepada pemasok yang dipilih. 5. Fungsi penerimaan memeriksa dan menerima barang yang dikirim oleh pemasok. 6. Fungsi penerimaan menyerahkan barang yang diterima kepada fungsi gudang untuk disimpan. 7. Fungsi penerimaan melaporkan penerimaan barang kepada fungsi akuntansi. 8. Fungsi akuntansi menerima faktur tagihan dari pemasok dan atas dasar faktur dari pemasok tersebut, fungsi akuntansi mencatat kewajiban yang timbul dari transaksi pembelian.
2.7
Persediaan 2.7.1
Pengertian Persediaan M enurut Dykman (1999, p376), persediaan terdiri dari barangbarang yang dimiliki suatu bisnis dan disimpan baik untuk digunakan membuat produk atau sebagai produk yang siap untuk dijual, dan dapat dikelompokkan sebagai berikut: 1. Persediaan barang dagang (Merchandise Inventory) Barang yang ada digudang dibeli dari pengecer atau perusahaan perdagangan seperti importer atau eksportir untuk dijual kembali.
44 Biasanya, barang yang diperoleh untuk dijual kembali secara fisik tidak diubah oleh perusahaan pembeli. 2. Persediaan manufaktur (Manufacturing Inventory) a. Persediaan bahan baku Persediaan bahan baku berupa barang yang berwujud yang dibeli atau diperoleh dengan cara lain (misalnya, dengan menambang) dan disimpan untuk penggunaan langsung dalam membuat barang untuk dijual kembali. b. Persediaan barang dalam proses Persediaan barang dalam proses berupa barang-barang yang membutuhkan
pemrosesan
yang
lebih
lanjut
sebelum
penyelesaian dan penjualan. c. Persediaan barang jadi Persediaan barang jadi berupa barang-barang manufaktur yang telah diselesaikan dan simpan untuk dijual. 3. Persediaan rupa-rupa Persediaan rupa-rupa berupa barang-barang seperti perlengkapan kantor, kebersihan dan pengiriman. Persediaan jenis ini biasanya digunakan segera dan biasanya dicatat sebagai beban penjualan atau umum ketika dibeli.
2.7.2
Pengertian Inventory Tu rnover Dalam Kamus Akuntansi oleh Ralph Estes, inventory turnover didefinisikan sebagai suatu statistik yang digunakan untuk mengevaluasi
45 usia
persediaan
dan
kecepatan
geraknya.
Untuk bahan
baku,
perputarannya dihitung dengan membagi biaya bahan baku yang digunakan dengan rata-rata persediaan. Untuk barang jadi, perputarannya ditetapkan dengan membagi harga pokok penjualan suatu periode dengan rata-rata persediaan barang dagang atau barang jadi untuk periode itu.
2.8
Akuntansi Dalam kamus akuntansi oleh Drs. Slamet B. Noor, tertulis akuntansi merupakan aktifitas yang menyediakan informasi, biasanya bersifat kuantitatif dan seringkali disajikan dalam satuan moneter, untuk pengambilan keputusan, perencanaan, pengendalian sumber daya dan operasi, mengevaluasi prestasi dan pelaporan keuangan kepada para investor, kreditor, instansi yang berwenang serta masyarakat.
2.8.1
Pengertian Account Dalam Kamus Akuntansi oleh Ralph Estes, account memiliki pengertian sebagai suatu catatan kenaikan dan saldo (balance) dari suatu pos yang dilaporkan dalam laporan keuangan (seperti misalnya kas, persediaan, pendapatan penjualan, biaya telepon). Account (perkiraan) digunakan untuk mencatat debet/kredit serta saldo dan dimasukkan dalam suatu ledger (buku besar).
46 2.8.2
Pengertian Chart of Account (Bagan Perkiraan) Dalam Kamus Akuntansi oleh Drs. Slamet B.Noor, chart of account (bagan perkiraan) diartikan sebagai daftar perkiraan yang disusun secara sistematis untuk hal-hal khusus, nama dan jenis perkiraan. Daftar
atau
bagan
penggunaannya dan
perkiraan
ini
disertai
dengan
operasi umum beserta nomor
penjelasan kode yang
bersangkutan.
2.8.3
Pengertian Budget M enurut Ralph Estes dalam Kamus Akuntansi edisi 2, budget diartikan sebagai suatu rencana keuangan yang menunjukkan estimasi atau rencana pendapatan dan biaya. M enurut Kamus Akuntansi oleh Drs. Slamet B.Noor, budget memiliki beberapa pengertian: •
budget sebagai setiap perencanaan keuangan yang berguna untuk menaksir dan mengawasi operasi di masa yang akan datang,
•
budget sebagai estimasi di masa yang akan datang, dan
•
budget sebagai rencana kegiatan operasi perusahaan yang dinyatakan dalam nilai uang; dan oleh karenanya meliputi taksiran pendapatan dan biaya, baik penerimaan dan pengeluaran selama periode tertentu, biasanya 12 bulan.
47 2.8.4
Pengertian General Ledger (Buku Besar) General ledger (buku besar umum) merupakan kumpulan perkiraan-perkiraan yang ada di neraca dan perhitungan rugi-laba. M enurut Ralph Estes dalam Kamus Akuntansi edisi 2, general ledger merupakan kumpulan perkiraan suatu satuan usaha. Buku besar dapat merupakan lembaran-lembaran terjilid ataupun lepas, seperangkat kartu lubang, pita magnetik, lokasi memori komputer, atau bentuk lainnya.