BAB 2 LANDASAN TEORI
2.1
Pengertian Data Menurut Inmon (2005), data adalah rekaman dari fakta, konsep, atau instruksi di dalam media penyimpanan untuk komunikasi, perolehan dan pemrosesan dengan cara otomatis dan presentasi sebagai informasi yang dapat dimengerti oleh manusia. Menurut McLeod (2007, p. 426), data adalah fakta dan figur yang umumnya tidak dapat digunakan karena volume yang besar dan sifat yang tidak bisa dimurnikan.
2.2
Pengertian Database Menurut O’Brien (2003), database adalah koleksi terpadu dari elemen data logis terkait. Database mengkonsolidasikan catatan yang sebelumnya disimpan dalam file terpisah ke dalam kelompok umum elemen data yang menyediakan data untuk banyak aplikasi. Menurut Connolly (2005), database adalah suatu kumpulan data yang berhubungan secara logis disertai dengan deskripsi dari data tersebut yang dirancang khusus untuk memenuhi kebutuhan informasi suatu organisasi. Menurut Inmon (2005), database adalah sebuah kumpulan dari data yang saling berhubungan yang disimpan berdasarkan suatu skema.
10
11 Berdasarkan pengertian – pengertian database diatas, dapat disimpulkan bahwa database adalah kumpulan dari data yang saling berhubungan dan terintegrasi yang digunakan untuk memenuhi kebutuhan informasi suatu perusahaan.
2.3
Entity Relationship Modelling a. Entitas Entitas adalah sebuah objek jelas (seseorang tempat, benda, konsep, atau kejadian) didalam organisasi yang akan direpresentasikan di dalam database (Connolly & Begg, 2005, p. 343) a. Atribut Atribut adalah sebuah properti yang mendeskripsikan beberapa aspek dari objek yang akan dicatat (Connolly & Begg, 2005, p. 350) b. Relasi Relasi adalah asosiasi antar entitas (Connolly & Begg, 2005, p. 346)
2.4
Data warehouse 2.4.1
Pengertian Data warehouse Menurut Inmon (2005, p. 495), data warehouse adalah koleksi terpadu, desain database berorientasi subjek untuk mendukung fungsi DDS, di mana setiap unit data yang relevan untuk beberapa saat tertentu. Menurut Connolly (2005, p. 1151), data warehouse adalah berorientasi subjek, terintegrasi, rentang waktu, dan tidak mudah
12 berubah data dalam mendukung proses pengambilan keputusan manajemen. Menurut McLeod (2007, p. 431), data warehouse adalah sebuah sistem penyimpanan data yang berkapasitas besar, dimana data dikumpulkan dengan menambah record baru daripada memperbarui record yang sudah ada dengan informasi baru. Dengan kata lain, sebuah data warehouse menggabungkan: a. Satu atau lebih alat untuk mengekstrak bidang dari setiap jenis struktur data (data, hirearki, relasi, atau objek; terbuka atau proprietary), termasuk data eksternal. b. Sintesis dari data ke dalam, database yang terintegrasi, berorientasi subjek dengan "katalog" metadata.
2.4.2
Karakteristik Data warehouse Menurut Inmon (2005, pp. 29-33), karakteristik data adalah: a. Subject Oriented, data warehouse didesain untuk menganalisa data berdasarkan subjek – subjek
tertentu dalam organisasi,
bukan pada proses atau fungsi aplikasi tertentu. Di bawah ini adalah tabel perbedaan antara sistem OLTP dan sistem data warehouse menurut Connolly dan Begg (2005).
13 Tabel 2.1 Perbandingan Sistem OLTP dan Sistem Data warehouse Sistem OLTP
Sistem Data warehouse
Menangani data sekarang
Menangani data historis Menyimpan detailed, lightly, dan highly
Menyimpan detailed data summarized data Data bersifat dinamis
Data bersifat statis Proses sewaktu – waktu tidak terstruktur
Proses berulang dan heuristic Jumlah transaksi tinggi
Jumlah transaksi rendah sampai sedang
Transaction driven
Analysis driven
Berorientasi aplikasi
Berorientasi subjek
Mendukung keputusan harian
Mendukung keputusan strategis
Melayani banyak user
Melayani sedikit user (manajerial)
b. Integrated, data warehouse dapat menyimpan data – data yang berasal dari sumber – sumber yang terpisah ke dalam suatu format yang konsisten dan saling terintegrasi satu dengan lainnya. Dengan demikian data tidak bisa dipecah – pecah karena data yang ada merupakan suatu kesatuan yang menunjang keseluruhan konsep data warehouse itu sendiri. c. Time-Variant, seluruh data pada data warehouse dapat dikatakan akurat atau valid pada rentang waktu tertentu. Untuk melihat interval waktu yang digunakan dalam mengukur keakuratan
14 suatu data warehouse, kita dapat menggunakan cara yang paling sederhana yaitu menyajikan data warehouse pada rentang waktu tertentu,misal antara 5 sampai 10 tahun ke depan. d. Non-Volatile, karena data yang tidak update secara real time, tetapi di-refresh dari sistem operasional secara teratur. Data baru selalu ditambahkan sebagai pelengkap ke database, bukan pengganti. Database terus menyerap data baru ini, secara bertahap, mengintegrasikan dengan data sebelumnya. (Connolly & Begg, 2005, p. 1151)
2.4.3
Struktur Data warehouse Pada gambar berikut menunjukkan bahwa ada berbagai tingkat detail dalam lingkungan data warehouse. Ada tingkat detail yang lebih lama (biasanya pada alternatif, penyimpanan massal), tingkat arus detail, tingkat data diringkas ringan. Data yang mengalir ke dalam data warehouse dari lingkungan operasional. Biasanya transformasi data yang signifikan terjadi pada bagian dari tingkat operasional ke tingkat data warehouse. (Inmon, 2005)
15
Gambar 2.1 Struktur Data warehouse Suatu data dalam masa data warehouse, berlalu dari detail saat ini hingga detail yang sudah lama. Dimulai dari data yang diringkas
(summarized
data),
dan
kemudian
from
lightly
summarized data hingga highly summarized data. 1. Current Detail Data Data yang diperoleh langsung dari database operasional, dan sering mewakili seluruh perusahaan. Data rinci saat ini diselenggarakan di sepanjang baris subjek (pelanggan profil data, aktivitas data pelanggan, data demografi, data penjualan, dll). 2. Older Detail Data Ini merupakan data detail saat ini, atau history subjek, data ini digunakan dalam membuat analisis kecenderungan.
16 3. Summarized Data Data yang dikumpulkan sepanjang baris yang dibutuhkan untuk
membuat
pelaporan
tingkat
eksekutif,
analisis
kecenderungan, dan pengambilan enterprisewide keputusan, data yang diringkas volume jauh lebih kecil dari data detail saat ini dan yang lama. 4. Lightly Summarized Data Lightly summarization data adalah data rinci yang telah diringkas hanya sampai batas yang sangat kecil. Sebagai contoh, informasi panggilan telepon dapat diringkas per jam. Atau, memeriksa informasi bank dapat diringkas per hari. Gambar di bawah ini menunjukkan sebuah summarization.
Gambar 2.2 Lightly Summarized Data 5. Highly Summarized Data Merupakan data yang bersifat total summary. Digunakan untuk melakukan analisa perbandingan data berdasarkan urutan waktu dan analisis yang menggunakan database multidimensi.
17 6. Metadata Menurut Inmon (2005), metadata adalah data tentang data yang mendeskripsikan dari struktur, konten, kunci, index, dalam sebuah data. Metadata dapat diklasifikasikan menjadi: a. Teknis metadata, yang berisi informasi tentang Data warehouse untuk digunakan oleh desainer warehouse dan administrator ketika melakukan pembangunan warehouse dan tugas manajemen. Teknis metadata dokumen meliputi: i. Informasi tentang sumber data. ii. Transformasi deskripsi. iii. Warehouse objek dan definisi data struktur untuk target data. iv. Aturan yang digunakan untuk melakukan data peningkatan pembersihan. v. Data pemetaan operasi pada saat chapturing data dari sistem sumber dan menerapkannya ke sasaran database warehouse. vi. Akses otorisasi, sejarah cadangan, sejarah arsip, informasi sejarah pengiriman, data riwayat akuisisi, akses data, dan lain – lain. b. Bisnis metadata mengandung informasi yang memberikan pengguna mudah untuk memahami perspektif dari informasi
18 yang disimpan di data warehouse. Bisnis metadata dokumen informasi tentang : i. Perihal
area
dan
jenis
objek
informasi,
termasuk
permintaan, laporan, gambar, video, dan / atau klip audio, ii. Halaman muka, iii. Informasi
lain
untuk
mendukung
komponen
data
pergudangan semua, iv. Data warehouse informasi operasional
2.4.4
Arsitektur Data warehouse Menurut Connolly dan Begg (2005, pp. 1156-1160), arsitektur dan komponen utama dari data warehouse dapat dilihat pada gambar berikut ini :
Gambar 2.3 Typical architecturem of a Data warehouse (Connolly & Begg, 2005)
19 1. Operational Data Sumber data dari data warehouse dapat diambil langsung dari mainframe, basis data relasional seperti Oracle, Ms SQL server dan sebagainya. Selain itu dapat melalui Operational Data Source (ODS). ODS menampung data yang diekstrak dari sistem utama atau sumber-sumber data yang ada dan kemudian data hasil ekstrasi tersebut dibersihkan. 2. Load Manager Load manager juga disebut sebagai komponen front-end yang bertugas melakukan seluruh operasi yang berhubungan dengan ekstrasi dan me-load data ke warehouse. 3. Warehouse Manager Warehouse manager melakukan seluruh operasi-operasi yang berhubungan dengan
kegiatan manajemen data di dalam
warehouse. Operasi-operasi tersebut meliputi : a. Analisis terhadap data untuk memastikan konsistensi, b. Transformasi dan penggabungan sumber data dari tempat penyimpanan sementara, c. Penciptaan indeks-indeks dan view berdasarkan tabel-tabel dasar, d. Melakukan denormalisasi dan agregasi jika diperlukan, dan e. Backing-Up dan mengarsipkan data
20 4. Query Manager Query manager juga disebut komponen back-end, melakukan
operasi-operasi
yang
berhubungan
dengan
manajemen user queries. Operasi-operasi yang dilakukan oleh komponen ini termasuk mengarahkan query kepada tabel-tabel yang tepat dan menjadwalkan eksekusi dari query tersebut. 5. End – user Access Tools Prinsip atau tujuan utama dari dibangunnya data warehouse adalah untuk menyediakan informasi bisnis kepada user-user untuk dapat melakukan pengambilan keputusan secara cepat dan tepat. User ini berinteraksi dengan warehouse melalui end-user access tools. Data warehouse
harus secara efisien
mendukung secara khusus kebutuhan user serta secara rutin melakukan analisis. Performa yang baik dapat dicapai dengan merencanakan dahulu keperluan-keperluan untuk melakukan joins,summations dan laporan-laporan per periode dengan endusers.
2.4.5
Aliran pada Data warehouse Data warehouse berfokus pada pengelolaan lima arus data primer, yaitu inflow, upflow, downflow, outflow, dan metaflow. Menurut Connolly (2005, pp. 1161-1162), proses yang terkait dengan setiap aliran data meliputi: a. Inflow : Ekstraksi, pembersihan, dan loading data sumber.
21 b. Upflow : Menambahkan nilai pada data di data warehouse melalui ringkasan, kemasan distribusi, dan data. c. Downflow : Pengarsipan dan back-up data di data warehouse. d. Outflow : Membuat data yang tersedia bagi pengguna-akhir. e. Metaflow : Mengelola metadata.
Gambar 2.4 Information flows of a Data warehouse
2.4.6
Anatomi Data warehouse Penerapan awal dari arsitektur data warehouse dibuat berdasarkan konsep bahwa data warehouse mengambil data dari berbagai
sumber
dan
memindahkannya
ke
dalam
pusat
pengumpulan data yang besar. Konsep ini lebih cenderung kepada sebuah lingkungan mainframe yang bersifat terpusat.
22 Keunggulan teknologi client server memungkinkan data warehouse
diterapkan
dalam
berbagai
macam
cara
untuk
menampung kebutuhan pemakai sistem secara lebih proposional. Berikut ini adalah tiga jenis dasar sistem data warehouse : a. Data warehouse fungsional Data warehouse functional merupakan rancangan data warehouse yang dibuat lebih dari satu dan dikelompokkan berdasarkan fungsi-fungsi yang ada dalam perusahaan seperti fungsi keuangan, marketing, personalia dan lain-lain. Keuntungan dari bentuk data warehouse seperti ini adalah sistem yang mudah dibangun dengan biaya yang relatif lebih murah sedangkan kerugiannya resiko kehilangan konsistensi data dan terbatasnya kemampuan dalam pengumpulan data bagi pengguna.
Gambar 2.5 Bentuk Data warehouse fungsional
23 b. Data warehouse terpusat Bentuk data warehouse terpusat ini terlihat seperti bentuk data warehouse functional, namun terlebih dahulu sumber data dikumpulkan dalam satu tempat terpusat, kemudian data disebar ke dalam fungsinya masing-masing, biasa digunakan oleh perusahaan yang belum memiliki jaringan eksternal. Keuntungan dari bentuk ini adalah data benar-benar terpadu karena konsistensinya yang tinggi sedang kerugiannya adalah biaya yang mahal serta memerlukan waktu yang cukup lama untuk membangunnya.
Gambar 2.6 Bentuk data warehouse terpusat c. Data warehouse terdistribusi Pada data warehouse terdistribusi ini, digunakan gateway yang berfungsi sebagai jembatan penghubung antara data warehouse dengan workstation yang menggunakan sistem beraneka ragam. Dengan sistem terdistribusi seperti ini
24 memungkinkan perusahaan dapat mengakses sumber data yang berada diluar lokasi perusahaan (eksternal). Keuntungan dari data warehouse terdistribusi adalah data tetap konsisten karena sebelum data digunakan data terlebih dahulu
disesuaikan
atau
mengalami
proses
sinkronisasi.
Sedangkan kerugiannya adalah lebih kompleks untuk diterapkan karena sistem operasi dikelola secara terpisah juga biayanya yang paling mahal dibandingkan dengan dua bentuk data warehouse lainnya. (Fairuzel, 2009, pp. 1-3)
Gambar 2.7 Bentuk data warehouse terdistribusi
2.4.7
Fungsi Data warehouse Data warehouse mempunyai kegunaan sebagai berikut : 1. Pembuatan laporan Pembuatan laporan merupakan salah satu kegunaan data warehouse yang paling umum dilakukan. Dengan menggunakan
25 query sederhana didapatkan laporan perhari, perbulan, pertahun atau jangka waktu kapanpun yang diinginkan. 2. On – Line Analytical Processing (OLAP) Dengan adanya data warehouse, semua informasi baik detail maupun summary yang dibutuhkan dalam proses analisa mudah didapat. OLAP mendayagunakan konsep data multi dimensi dan memungkinkan
para
pemakai
menganalisa
data
sampai
mendetail, tanpa mengetikkan satupun perintah SQL. Hal ini dimungkinkan karena pada konsep multi dimensi, maka data yang berupa fakta yang sama bisa dilihat dengan menggunakan fungsi yang berbeda. Fasilitas lain yang ada pada software OLAP adalah fasilitas roll – up dan drill – down. Drill – down adalah kemampuan untuk melihat detail dari suatu informasi dan roll – up adalah kebalikannya. 3. Data mining Data mining merupakan proses untuk menggali (mining) pengetahuan dan informasi baru dari data yang berjumlah banyak pada Data warehouse, dengan menggunakan kecerdasan buatan (Artificial Intelegence), statistik dan matematika. Data mining
merupakan
teknologi
yang
diharapkan
menjembatani komunikasi antara data dan pemakainya. Bebarapa solusi yang diberikan data mining antara lain : a. Menebak target pasar
dapat
26 Data Mining dapat mengelompokkan (clustering) model – model pembeli dan melakukan klasifikasi terhadap setiap pembeli dan melakukan klasifikasi terhadap setiap pembeli sesuai dengan karakteristik yang diinginkan. b. Melihat pola beli dari waktu ke waktu Data mining dapat digunakan untuk melihat pola beli dari waktu ke waktu. c. Cross – market analysis Data mining dapat dimanfaatkan untuk melihat hubungan antara satu produk dengan produk lainnya. d. Profil pelanggan Data mining bisa membantu pengguna untuk melihat profil pembeli sehingga dapat diketahui kelompok pembeli tertentu cenderung kepada suatu produk saja. e. Informasi summary Data mining dapat membuat laporan summary yang bersifat multi dimensi dan dilengkapi dengan informasi statistik lainnya. 4. Proses informasi eksekutif Data warehouse dapat membuat ringkasan informasi yang penting dengan tujuan membuat keputusan bisnis, tanpa harus menjelajahi keseluruhan data. Dengan menggunakan data warehouse segala laporan telah diringkas dan dapat pula mengetahui
segala
rinciannya
secara
lengkap,
sehingga
27 mempermudah proses pengambilan keputusan. Informasi dan data pada laporan data warehouse menjadi target invormative bagi user.
2.4.8
Keuntungan Data warehouse Menurut Connolly dan Begg (2005, p. 1152), implementasi data warehouse yang tepat dapat memberikan keuntungankeuntungan antara lain: a. Meningkatkan
produktifitas
dari
pengambilan
keputusan
perusahaan. Data
warehouse
meningkatkan
produktifitas
dari
pengambil keputusan perusahaan dengan membuat integrasi database yang konsisten, berorientasi subjek dan historikal data. Data warehouse mengintegrasikan data dari banyak sistem yang tidak kompatibel menjadi suatu bentuk yang menyediakan satu tampilan
yang
konsisten
mengenai
perusahaan.
Dengan
mentransformasikan data menjadi informasi yang berguna, data warehouse
mengijinkan
si
pengambil
keputusan
untuk
melakukan analisis lebih sesuai dengan kenyataan, akurat dana konsisten. b. Potensi ROI (Return Of Investment) yang besar. Suatu perusahaan akan mengeluarkan sumber daya yang cukup besar untuk mengimplementasikan data warehouse dan pengeluaran yang berbeda-beda sesuai dengan variasi solusi
28 teknikal yang akan diterapkan pada perusahaan. Bagaimana pun juga. Suatu studi oleh International Data Corporation (IDC) pada tahun 1996 melaporkan bahwa rata-rata tiga tahun return of investment (ROI) dalam data warehouse mencapai 401% dengan lebih dari 90% dari perusahaan yang disurvei mencapai lebih dari 40% ROI, setengah dari perusahaan mencapai lebih dari 160% ROI, dan seperempat lebih mendapat lebih dari 600% ROI (IDC, 1996). c. Competitive Advantage. Return on investment yang besar dari perusahaan yang berhasil mengimplementasikan suatu data warehouse adalah bukti dari sangat besarnya competitive advantage yang dapat diperoleh dengan menggunakan teknologi ini. Competitive advantage
diperoleh
dengan
mengijinkan
si
pengambil
keputusan untuk mengakses data tersembunyi yang sebelumnya tidak tersedia, tidak di ketahui, dan tidak dimanfaatkan seperti data mengenai pelanggan, tren, dan permintaan.
2.4.9
Tahapan Membangun Data warehouse Menurut Kimball, metode yang dipakai untuk merancang data warehouse adalah Nine-Step Methodology (Connolly & Begg, 2005, p. 1187) :
29 a. Choosing the process (pemilihan proses) Melakukan
pemilihan
proses
pada
materi
subjek
yang
dibutuhkan oleh data mart pada tahap ini ditentukan pada proses bisnis apa data warehouse akan digunakan. b. Choosing the Grain (pemilihan sumber) Menentukan secara tepat apa yang direpresentasikan oleh record tabel fakta. c. Indetifying and Conforming the Dimension (identifikasi dan konfirmasi dimensi) Membuat set dimensi yang dibutuhkan untuk menjawab seluruh pertanyaan yang diajukan pada tabel fakta. d. Choosing the Facts (pemilihan fakta) Pemilihan tabel fakta yang dapat diimplikasikan sesuai sumber yang digunakan pada data mart. e. Storing Pre-Calculation In the Fact Table (penyimpanan PreCalculation di tabel fakta) Setelah tabel fakta terpilih, setiap tabel fakta tersebut harus diperiksa ulang untuk menentukan apakah ada fakta yang dapat diterapkan pre-kalkulasi dan kemudian dilakukan penyimpanan pada tabel fakta. f. Rounding Out the Dimension Tables (melengkapi tabel dimensi) Pada tahap ini dilakukan pemeriksaan ulang pada tabel dimensi dan menambahkan deskripsi teks terhadap dimensi, serta
30 menentukan hirearki atribut dimensi untuk mempermudah proses analisis. g. Choosing the Duration of the Database (pemilihan durasi database) Menentukan waktu periode database untuk beberapa tahun kebelakang. h. Tracking SCD (melacak SCD) Dimensi berubah secara perlahan seiring berjalannya waktu dan kebutuhan. i. Deciding
the
Query
Priorities
and
the
Query
Modes
(memutuskan prioritas query dan mode query) Pada tahap ini dilakukan pertimbangan perancangan fisikal, seperti keberadaan dari summary (ringkasan) dan aggregate (penjumlahan).
2.4.10
Data mart Data mart adalah suatu subset dari data warehouse yang mendukung kebutuhan dari departemen tertentu atau fungsi bisnis dalam perusahaan. Menurut Connolly dan Begg (2005, p. 1067), karakteristik yang membedakan data mart dan data warehouse adalah sebagai berikut : a. Data mart memfokuskan hanya pada kebutuhan-kebutuhan pemakai terkait dalam sebuah departemen atau fungsi bisinis,
31 b. Data mart biasanya tidak mengandung data operasional yang detail dan rinci seperti data warehouse, c. Data mart hanya mengandung sedikit informasi dibandingkan dengan data warehouse. Data mart lebih mudah dipahami dan dinavigasi.
2.4.11
Teori Pemodelan Data warehouse 2.4.11.1 Star Schema 1. Pengertian star schema Menurut inmon (2005, p. 503), star schema adalah struktur
data
dimana
data
didenormalisasi
untuk
mengoptimalkan akses data yang merupakan dasar desain data mart untuk multidimensi. Premis dasar dari star schema adalah bahwa informasi dapat diklasifikasikan menjadi dua kelompok: fakta dan dimensi. Fakta adalah data unsur inti sedang dianalisis. Sebagai contoh, unit individu item yang dijual adalah fakta, sementara dimensi atribut tentang faktafakta. Untuk dimensi contoh adalah jenis produk yang dibeli dan tanggal pembelian. Pertimbangkan
masalah
bisnis
analisis
khas:
menemukan bagian dari total penjualan diwakili oleh setiap produk di pasar yang berbeda, kategori, dan periode, dibandingkan dengan periode yang sama tahun lalu. Untuk melakukannya, Anda akan menghitung persentase jumlah
32 masing-masing dari total kolom, sebuah konsep sederhana dan umum. Namun, dalam database relasional klasik dan menampilkan perhitungan ini akan memerlukan definisi tampilan terpisah, yang membutuhkan lebih dari 20 perintah SQL. Star schema ini dirancang untuk mengatasi keterbatasan ini model relasional dua dimensi.
Gambar 2.8 Star schema
2. Keuntungan menggunakan star schema Dengan menggunakan star schema sebagai standar perancangan
data
warehouse
karena
keuntungan
–
keuntungan yang dimilikinya, yaitu sebagai berikut : a. Menciptakan desain database yang memberikan waktu respon yang cepat.
33 b. Menyediakan pendesainan yang dapat dengan mudah dimodifikasi
atau
ditambahkan
sesuai
dengan
perkembangan dan pertumbuhan data warehouse. c. Meningkatkan kinerja dimana setiap tabel dimensi dapat diindeks tanpa menimbulkan perancangan ruang pada level database. d. Mengurangi jumlah penggabungan secara fisik dan mengijinkan pengguna untuk mendefinisikan hirearki serta mengarahkan antar tabel. e. Mendesain data secara paralel sehingga pengguna dapat memandang dan menggunakan data secara bersamaan. f. Memudahkan pemahaman dan pengaturan metadata dari segi pengembangan dan pengaturan metadata dari segi pengembangan dan pengguna, dan g. Memperluas pilihan dari alat pengaksesan data front – end seperti beberapa produk yang perlu pendesainan star schema.
3. Jenis star schema a. Star schema sederhana Dalam star schema sederhana, setiap tabel harus memiliki primary key yang terdiri dari satu kolom atau lebih.
34 Primary key dari tabel fakta terdiri dari satu atau lebih foreign key. Foreign key merupakan primary key pada tabel lain. b. Star schema dengan banyak table fakta Star schema juga bisa terdiri dari satu atau lebih tabel fakta. Dikarenakan tabel fakta tersebut ada banyak, misalnya disamping penjualan terdapat lebih dari satu tabel fakta, dan tabel-tabel tersebut tetap manggunakan tabel dimensi bersama-sama. c. Star schema majemuk Table fakta dalam skema majemuk memiliki dua kumpulan foreign key, yang pertama mengandung suatu referensi dengan tabel dimensi sedangkan sisanya adalah primary key yang merupakan gabungan dari satu atau lebih kolom yang menghasilkan suatu identifikasi unik untuk setiap barisnya. Star schema majemuk
saling tidak
identiknya primary key dengan foreign key, inilah yang membedakan star schema majemuk dengan star schema sederhana.
2.4.11.2 Snow flakes Schema Menurut Inmon (2005), sebagai aturan, dalam sebuah star join memiliki satu tabel fakta. Namun lebih dari satu tabel fakta dapat dikombinasikan dalam desain
35 database untuk menciptakan sebuah struktur komposit yang disebut snow flakes schema. Gambar di bawah ini menggambarkan snow flakes schema.
Gambar 2.9 Snow flake schema Dalam snow flakes schema, tabel fakta yang berbeda yang terhubung dengan cara berbagi satu atau lebih dimensi umum. Kadang-kadang dimensi ini disebut ‘comformed dimensions’.
2.4.11.3 Star flakes Schema Menurut Connolly dan Begg (2005, p. 1183), star flakes schema adalah sebuah struktur hibrida yang berisi campuran star schema dan snow flakes schema.
36
Gambar 2.10 Star flake schema
2.4.12
ETL (Extraction, trasnsformation, loading) Menurut Hoffer et. al (2005, p. 456), tujuan dari proses ETL adalah untuk meyediakan sumber data tunggal dan ter-autorisasi yang mendukung pembuatan keputusan. Proses ETL sebagai berikut : 1. Extraction Extract merupakan proses pengambilan data yang relevan dari database operasional untuk mengisi data warehouse perusahaan
dan
dilakukan
berdasarkan
analisa
terhadap
perusahaan dan dilakukan berdasarkan analisa terhadap database operasional dan data warehouse. Alasannya yaitu tidak semua data yang ada di database operasional dibutuhkan, melainkan hanya sebagian. Proses extract terdiri dari dua tipe, yaitu :
37 a. Static extract : metode mengambil data yang dibutuhkan pada waktu tertentu dan digunakan untuk mengisi data warehouse untuk pertama kali. b. Incremental extract : metode yang hanya mengambil perubahan yang terjadi pada data sejak data tersebut diambil terakhir kali. Artinya, data yang diambil adalah data setelah data terakhir yang diambil sebelumnya. Hoffer et. al menyatakan bahwa menurut English dan White kriteria umum dari kualitas data yang akan diekstrak tergantung pada hal-hal berikut : a. Kejelasan nama data sehingga perancang data warehouse tahu dengan pasti data apa saja yang ada dalam database operasional. b. Kelengkapan dan keakuratan proses bisnis yang langsung mempengaruhi keakuratan data. c. Format data. 2. Cleanse Data scrubbing (data cleansing) adalah teknik yang menggunakan pola pengenalan dan teknik lainnya untuk menggunakan pola pengenalan dan teknik lainnya untuk meningkatkan
kualitas
dari
data
mentah
sebelum
mentransformasi data tersebut dan memindahkannya ke dalam data warehouse data scrubbing dilakukan untuk meningkatkan
38 kualitas dari data. Kegiatan cleansing pada umumnya meliputi hal-hal berikut ini : a. Decoding data untuk membuat data dapat dimengerti dalam aplikasi data warehouse. b. Men-format ulang dan mengubah tipe data serta melakukan fungsi-fungsi lainnya untuk memasukan data dari database operasional ke dalam data warehouse dengan format yang siap untuk ditransformasikan c. Menambahkan time stamp untuk membedakan atribut yang sama sepanjang waktu d. Mengubah ukuran data yang memiliki nilai unit yang berbeda e. Membuat primary key untuk setiap tabel f. Menyesuaikan dan menggabungkan data hasil ekstraksi yang terpisah menjadi satu tabel atau satu file dan menyesuaikan data yang akan dimasukan ke dalam tabel yang baru dibuat g. Mencatat error yang terdeteksi, memperbaikinya, dan memproses ulang data tersebut tanpa membuat duplikat h. Menemukan data yang kurang untuk melengkapi data yang diperlukan pada proses loading 3. Data Transformation Data transformation (transformasi data) adalah proses mengubah format data yang berasal dari database operational menjadi format data pada data warehouse. Transformasi data
39 menerima data yang telah di ekstrak kemudian mengubah formatnya dan mengirimnya untuk melakukan load dan index. Pada umumnya, tujuan data scrubbing adalah untuk memperbaiki error pada data value yang terdapat dalam database operasional, sedangkan tujuan transformasi data adalah untuk mengubah format data dari database operasional ke data warehouse. Fungsi transformasi data terbagi menjadi 2 kategori, yaitu : a. Record level function i. Selection
(subsetting)
berdasarkan
kriteria
yaitu
proses
tertentu.
Pada
membagi
data
aplikasi
data
warehouse, digunakan untuk mengekstrak data yang relevan dari database operasional yang akan digunakan untuk mengisi data warehouse. ii. Joining adalah proses menggabungkan data dari berbagai database operasional menjadi tabel tunggal. Aplikasi Pada data
warehouse
joining
penting
dilakukan
untuk
mengabungkan data karena data berasal dari berbagai sumber. iii. Normalisasi yaitu proses mendekomposisi relasi yang memiliki anomali untuk menghasilkan relasi yang lebih kecil dan terstruktur dengan baik. iv. Agregasi merupakan proses mentransformasi data dari level detail menjadi level summary.
40 b. Field level function Mengubah format data record yang berasal dari database operasional menjadi format untuk data warehouse. Field level function terbagi menjadi 2 tipe, yaitu : i. Single-field transformation : mengubah data dari field tunggal pada database operasional ke dalam field tunggal pada data warehouse. ii. Multifield transformation : mengubah data dari satu field atau lebih dari database operasional ke dalam satu atau lebih field data warehouse. 4. Load and Index Langkah terakhir dalam mengisi data warehouse adalah memasukkan data yang telah dipilih ke dalam data warehouse dan membuat index yang diperlukan. Dua model dasar dari loading data ke dalam data warehouse adalah refresh dan update. a. Mode refresh digunakan untuk mengisi data warehouse yang menggunakan proses penulisan ulang ke target data secara berkala. b. Mode update adalah pendekatan dimana hanya perubahan pada sumber data yang akan ditulis pada data warehouse. Dengan kata lain record baru biasanya ditulis ke dalam data warehouse sebelumnya.
tanpa
menimpa
atau
menghapus
record
41 Masalah - masalah yang terjadi dalam ETL adalah sumber sumber data yang umumnya bervariasi, diantaranya : a. Platform mesin dan sistem operasi yang berlainan, b. Mungkin melibatkan sistem kuno dengan teknologi basis data yang sudah ketinggalan zaman, c. Kualitas data yang berbeda – beda, dan d. Aplikasi sumber data mungkin menggunakan nilai data (representasi) internal yang sulit dimengerti.
2.5
Agregasi Menurut W.H Inmon (2005, p. 114) , terdapat banyak kasus dimana data dalam data warehouse tidak memenuhi kriteria stabilitas dan tidak sering berubah, kasus lainnya dimana jumlah data menjadi terlalu banyak, sering terjadi perubahan isi data, dan sebagainya. Dalam kasus seperti ini, dapat dilakukan agregasi yang mengelompokkan beberapa data detail operasional yang berbeda ke dalam satu record tunggal. Record tunggal ini disebut sebagai profile atau aggregate record. Agregasi dari data operasional ke dalam sebuah record tunggal dalam data warehouse dapat dilakukan dengan menggunakan cara, seperti : a. Nilai – nilai yang diambil dari data operasional yang dapat diringkas. b. Unit – unit data operasional dapat dihitung atau dijumlahkan, dimana jumlah dari unit data tersebut disimpan. c. Unit – unit data dapat diproses untuk menentukan yang paling tinggi, paling rendah, rata – rata, dan sebaginya.
42 d. Kemunculan pertama dan terakhir sebuah data dapat ditangkap. e. Tipe data tertentu, yang berbeda pada batasan parameter tertentu dapat diukur. f. Data yang efektif pada momen waktu tertentu dapat ditangkap. g. Data yang paling baru dan yang paling lama dapat ditangkap.
Gambar 2.11 Pembentukan satu profile record dari beberapa record detail (Inmon, 2005, p. 115)
2.6
Denormalisasi Menurut W.H Inmon (2005, p. 495), denormalisasi merupakan suatu teknik untuk menempatkan data hasil normalisasi ke dalam lokasi fisikal yang dapat mengoptimasi kinerja sistem. Denormalisasi dilakukan karena : a. Mengurangi jumlah hubungan yang terjadi antara table-tabel yang menyebabkan terjadinya proses pada waktu dilakukan pencarian.
43 b. Untuk membuat struktur fisik dari database semakin mendekati model dimensi dari pengguna. Membuat struktur tabel sesuai yang ingin ditanya pengguna, memungkinkan terjadinya akses langsung yang akan meningkatkan penampilan.
2.7
Perancangan sistem UML Braun et. al. (2001) yang diterjemahkan oleh Mulawarman mendefinisikan Unified Modelling Language (UML) sebagai alat untuk memvisualisasikan dan mendokumentasikan hasil analisa dan desain yang berisi sintak dalam memodelkan sistem secara visual. Sedangkan menurut Whitten, et. al. (2004) yang diterjemahkan oleh Mulawarman, UML merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. (Mulawarman, 2011) Dengan
menggunakan
UML,
analisis
dan
end-users
dapat
menggambarkan dan memahami berbagai diagram spesifik yang digunakan dalam proyek pengembangan sistem. Sebelum UML, tidak ada standar, sehingga diagram dapat membingungkan. Akibatnya, diagram
sering
disalah-artikan, hal ini menyebabkan kesalahan dan pengerjaan ulang. (Satzinger, Jackson, & Burd, 2005, p. 48) Model komponen sistem menggunakan UML yaitu : 1.
Use case Diagram Use case adalah deskripsi dari fungsi sistem dari perspektif pengguna.
Use
case
diagram
digunakan
untuk
menunjukkan
44 fungsionalitas bahwa sistem akan menyediakan dan menunjukkan pengguna mana yang akan berkomunikasi dengan sistem di beberapa cara untuk menggunakan fungsionalitas tersebut. Use case diagram memiliki tiga aspek dari sistem: actor, use case dan system atau subsystem boundary. (Bennett, McRobb, & Farmer, 2006, pp. 145-146)
Gambar 2.12 Usecase diagram (Fakhroutdinov, 2009)
45 2.
Class Diagram Class diagram adalah suatu struktur diagram UML yang menggambarkan
struktur
statis
dari
kelas
dalam
sistem
dan
menggambarkan atribut, operasi, dan hubungan antara kelas. Class diagram membantu dalam memvisualisasikan struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat. (Mulawarman, 2011, p. 3) Class memiliki tiga area pokok, yaitu; nama, atribut dan operation/ Event.
Gambar 2.13 Class diagram (Dharwiyanti, 2003)
46 3.
Activity Diagram Activity diagram adalah diagram yang menunjukkan kegiatan dan tindakan untuk menggambarkan alur kerja. (Bennett, McRobb, & Farmer, 2006, p. 648) Activity diagram adalah jenis diagram UML standar. Analis juga menggunakan activity diagram untuk mendokumentasikan aliran kegiatan untuk setiap skenario use case. (Satzinger, Jackson, & Burd, 2005, p. 226)
Gambar 2.14 Activity diagram (Badgerati, 2010)
47 4.
Sequence Diagram Sequence diagram adalah salah satu dari beberapa jenis diagram
interaksi UML. Sequence diagram secara semantik setara dengan diagram komunikasi
untuk
interaksi
sederhana.
Sebuah
sequence
diagram
menunjukkan interaksi antara objek yang diatur dalam urutan waktu. Sequence diagram dapat ditarik pada tingkat detail yang berbeda dan untuk memenuhi tujuan yang berbeda pada beberapa tahapan dalam siklus pengembangan. Aplikasi umum dari sequence diagram adalah untuk mewakili interaksi objek rinci yang terjadi untuk satu use case atau untuk satu operasi. Ketika sebuah sequence diagram digunakan untuk model perilaku dinamis dari sebuah use case, ini dapat dilihat sebagai spesifikasi rinci dari use case. Use case yang ditarik selama analisis berbeda dari use case yang ditarik selama desain. (Bennett, McRobb, & Farmer, 2006, pp. 252-253)
48
Gambar 2.15 Sequence diagram (Zeman, 2009)
2.8
Teori Teori Lainnya 2.8.1.
Teori Penjualan Kegiatan penjualan terdiri dari transkasi penjualan barang atau jasa, baik secara kredit maupun secara tunai. Dalam transaksi penjualan kredit, jika order dari pelanggan telah dipenuhi dengan pengiriman barang atau penyerahan jasa, untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya. Kegiatan penjualan secara kredit ini ditangani oleh perusahaan melalui sistem penjualan kredit. Dalam transaksi penjualan tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli
49 jika perusahaan telah menerima kas dari pembeli. Kegiatan penjualan secara tunai ini ditangani oleh perusahaan melalui sistem penjualan tunai. (Mulyadi, 2001, p. 202)
2.8.2.
Jenis-Jenis Penjualan Transaksi penjualan dibedakan menjadi : 1.
Penjualan kredit Penjualan kredit adalah penjualan yang dilakukan dengan cara memenuhi order dari pelanggan dengan mengirimkan barang atau menyerahkan jasa, untuk jangka waktu
tertentu
perusahaan
memiliki
piutang
kepada
pelanggannya. 2.
Penjualan tunai Penjualan yang dilakukan perusahaan dengan cara mewajibkan pembeli dengan melakukan pembayaran barang terlebih dahulu sebelum barang diserahkan kepada pembeli. (Mulyadi, 2001)
2.8.3.
Teori Persediaan Sistem persediaan bertujuan untuk mencatat mutasi setiap jenis persediaan yang disimpan gudang. Sistem ini berkaitan erat dengan sistem penjualan, sistem pembelian dan sistem produksi. Dalam perusahaan manufaktur, persediaan terdiri dari: persediaan produk jadi, persediaan produk dalam proses,
50 persediaan bahan baku, persediaan bahan penolong, persediaan bahan habis pakai pabrik, persediaan suku cadang. Dalam perusahaan dagang, persediaan hanya terdiri dari satu golongan, yaitu persediaan barang dagangan, yang merupakan barang yang dibeli untuk tujuan dijual kembali. (Mulyadi, 2001, p. 553)