BAB 2 LANDASAN TEORI 2.1 Teori Database 2.1.1 Definisi Database Menurut Thomas Connolly dan Carolyn Begg, pengertian dari database adalah a shared collection of logically related data, and a description of this data, designed to meet the information needs in an organization (2002, p14). Yang dapat diartikan sebagai kumpulan data yang terhubung secara logis, dan suatu gambaran dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi suatu perusahaan. Menurut Post (2002, p2), database merupakan suatu kumpulan data yang disimpan dalam format yang terstandarisasi, dirancang untuk digunakan secara bersama oleh user. Jadi, database dapat didefinisikan sebagai suatu kumpulan data bersifat persistent yang terhubung secara logis dan disimpan dalam format yang terstandarisasi, dan dirancang untuk memenuhi kebutuhan informasi suatu perusahaan. 2.1.2 Relational Model Relational Model untuk pertama kalinya dikemukakan oleh E. F. Codd, seorang anggota dari IBM Research Laboratory di San Jose, California dalam naskahnya A relational model of data for large shared data banks. Relational 8
9 model terdiri atas tiga komponen, yakni komponen struktural (disebut juga relations), komponen manipulatif, dan sebuah set dari rules yang memelihara integritas dari database. Model tersebut didasarkan atas struktur data yang sederhana dan umum yaitu relasi dan mempunyai pondasi teoritis yang kokoh. Di dalam skema relasional, antara satu relasi dengan relasi yang lain memiliki nama yang berbeda. Yang membedakan antara relational model dengan tabel biasa atau file adalah tidak terurutnya tuple dalam relasi, pengurutan atribut dalam skema relasi, dan pengurutan nilai yang berhubungan dalam suatu tuple. 2.1.3 Relational Database Menurut Connolly, relational database adalah suatu kumpulan dari relasi yang telah dinormalisasi dengan nama-nama relasi yang berbeda (2002, p74). Relational database adalah database yang sesuai dengan relational model.. Dalam relational database, semua data yang disimpan dalam kolom haruslah berasal dari domain yang sama. Beberapa contoh relational key yang digunakan untuk mengidentifikasi secara unik baris di dalam relasi, antara lain super key, candidate key, primary key, foreign key, dan composite key. 2.1.4 Relational Database Management System Menurut Whitten, Relational Database Management System (RDBMS) adalah sebuah perangkat lunak yang disediakan oleh vendor komputer secara khusus, yang digunakan untuk membuat, mengakses, mengontrol, dan mengatur sebuah database (2004, p554).
10 RDBMS didisain untuk memanajemen sebuah database sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasioperasi atas data berdasarkan permintaan user. Untuk saat ini implementasi RDBMS sudah banyak dan bisa disesuaikan dengan kebutuhan spesifikasi data sehingga dapat diimplementasikan oleh berbagai perusahaan. 2.1.5 Pengertian Online Transaction Processing Menurut Peterson, Online Transaction Processing (OLTP) adalah aplikasi yang menjalankan operasi basis perusahaan. Sistem OLTP menggunakan data dalam cara-cara : menghasilkan data dalam proses bisnis yang berlangsung terus-menerus, menyimpan data dalam format yang mengoptimisasikan pengambilan dan pembaharuan record individual, dan menghasilkan laporan terbatas yang meringkas event yang sudah dan sedang terjadi (2000, p53). OLTP dirancang untuk memungkinkan terjadinya pengaksesan beberapa user secara bersama-sama terhadap sumber data yang sama dan mengatur proses yang dibutuhkan, tentunya dengan performa tinggi. Transaksi yang dilakukan meliputi insert, update, dan delete. Data OLTP biasanya bersifat relasional dan dalam bentuk normal ketiga. Fokus utama dari OLTP adalah untuk mendukung fungsi dasar seharihari organisasi, misalkan untuk menerima pesanan barang, pengaturan stok, pengajuan rekening pelanggan, dan sebagainya. (Groff, 1999, p736).
11 2.2 Teori Data Warehouse 2.2.1 Definisi Data Warehouse Menurut W.H.Inmon, data warehouse adalah a collection of integrated, subject-oriented databases designed to support the DSS function, where each unit of data is relevant to some moment in time. (2005, p495). Atau dapat diartikan sebagai sekumpulan database yang terintegrasi dan berorientasi subjek, yang dirancang untuk mendukung sistem pengambilan keputusan di mana setiap unit datanya berhubungan dengan beberapa kejadian pada suatu waktu tertentu. Data warehouse berisikan data atomic dan juga berisikan data yang telah diringkas. Menurut C.Imhoff, data warehouse adalah a subject-oriented, integrated, time-variant, nonvolatile collection of data used to support the strategic decision-making process for the enterprise. (2003, p400). Atau dapat diartikan sebagai sekumpulan data yang memiliki sifat orientasi subjek, terintegrasi, time-variant yang berarti data yang tingkat keakuratannya berkaitan dengan beberapa kejadian rentang waktu tertentu, dan bersifat nonvolatile yang berarti data tidak berubah-ubah, yang digunakan untuk mendukung proses pengambilan keputusan pada perusahaan. Menurut Peterson, data warehouse adalah koleksi semua data dalam perusahaan yang digunakan untuk query analisa bisnis (2000, p55). Menurut Ralph Kimball, data warehouse adalah The conglomeration of an organization s data warehouse staging and presentation areas, where operational data is specifically structured for query and analysis performance and ease-of-use. (2002, p397). Atau dapat diartikan sebagai Penggabungan
12 antara tingkatan data warehouse yang ada pada suatu organisasi dengan area presentasi, di mana data operasional secara spesifik disusun untuk query dan analisis performa, serta kemudahan dalam penggunaan. Menurut English, produk dari Data warehouse adalah informasi. Pelanggan dari data warehouse adalah knowledge worker yang harus membuat keputusan penting dengan lebih cepat. (1999, p4) Dari definisi-definisi yang telah dikemukakan di atas, dapat disimpulkan bahwa data warehouse merupakan database yang terintegrasi atau dapat pula gabungan dari beberapa tingkatan data warehouse, yang saling berhubungan, dan data yang ada pada sistem informasi operasional disusun untuk dianalisis sehingga menghasilkan informasi yang dapat menjadi dasar pengambilan keputusan bagi pihak eksekutif perusahaan.. 2.2.2 Goal dari Data Warehouse Goal yang ingin dicapai dari perancangan data warehouse antara lain : Data warehouse harus mampu membuat informasi mengenai perusahaan mudah dimengerti, mudah diakses, cepat, akurat, dan konsisten. Data warehouse harus mampu mendukung analisis bisnis yang dibutuhkan serta menyesuaikan dengan teknologi yang ada di perusahaan. Data warehouse harus mampu menangani dan mengubah perubahan yang tidak terelakkan yang dikarenakan perubahan kebutuhan dari user, kondisi bisnis, data, dan teknologi.
13 Data warehouse tidak boleh mengganggu bahkan mengubah data yang sedang berjalan pada sistem informasi operasional perusahaan. Data warehouse harus mampu menyajikan dasar untuk pengambilan keputusan yang lebih baik. 2.2.3 Karakteristik Data Warehouse Karakteristik yang dimiliki oleh data warehouse yang dapat dipelihara yaitu : Subject-oriented (berorientasi subjek) Data warehouse berorientasi subjek, artinya data dikelompokkan berdasarkan fungsi utama dalam bisnis. Area fungsi utama (subjek) dapat meliputi customer, product, transaction, policy, claim, account. Setiap area subjek secara fisik mengimplementasikan urutan dari tabel-tabel yang saling berhubungan dalam data warehouse. Setiap area subjek dapat memiliki 10, 100, atau lebih tabel fisik yang saling terhubung. Berikut adalah contoh area subjek yang berbasis customer. Terdapat 5 tabel fisik yang berhubungan pada Gambar 2.1. Masingmasing tabel telah dirancang untuk mengimplementasikan bagian dari subjek utama, yaitu customer. Definisi data mengenai customer berbeda jika dilihat berdasarkan tahun.
14 Gambar 2.1 Data warehouse berbasis customer (Inmon,2005,p35). Semua tabel fisik yang subjeknya customer dihubungkan dengan common key. Gambar 2.2 menunjukkan key customer ID yang menghubungkan semua data yang ditemukan pada area subjek customer. Data (tabel fisik) dari subjek customer yang saling terhubung (pada Gambar 2.3) tidak harus disimpan dalam disk saja, tetapi dapat ditempatkan pada media yang berbeda. DASD (Direct Access Storage Device) dan magnetic tape merupakan dua media yang paling populer untuk menyimpan data dalam data warehouse.
15 Gambar 2.2 Koleksi data yang memiliki area subjek yang sama diikat dengan common key (Inmon,2005,p36). Gambar 2.3 Area subjek dapat berisi data yang berasal dari media yang berbeda dalam data warehouse (Inmon,2005,p37). Integrated (terintegrasi / terpadu) Konsep integration dalam data warehouse dikaitkan dengan pengambilan sumber data yang berasal dari berbagai sumber yang terpisah. Data yang diambil tersebut selanjutnya akan diconvert, diformat kembali,
16 diurutkan, diringkas, dan seterusnya. Hasil dari data tersebut ditempatkan dalam data warehouse yang hanya memiliki satu physical image. Gambar 2.4 menjelaskan mengenai integrasi yang terjadi ketika data lewat dari lingkungan operasional application-oriented menuju data warehouse. Gambar 2.4 Pokok persoalan dari integrasi (Inmon,2005,p31). Konsistensi yang ditunjukkan data warehouse dapat dilihat pada : Encoding (Pengkodean) Misalnya, software developer harus memberi kode m untuk jenis kelamin pria, f untuk wanita. Jika terdapat kode 1 yang menjelaskan jenis kelamin pria dan 0 untuk wanita, maka akan diubah menjadi bentuk standar yaitu m atau f.
17 Attribute Measurement (Pengukuran Atribut) Misalnya, ada beberapa satuan ukur yang digunakan untuk satuan panjang dalam database, seperti cm, inchi, meter, dan yard. Dengan karakteristik integrasi data, maka satuan panjang tersebut harus konsisten yaitu dengan cara menetapkan satuan panjang cm sebagai standar. Multiple Source (Banyak Sumber) Dalam database ada kemungkinan banyaknya deskripsi dari suatu informasi, namun dengan prinsip integrasi data, seluruh informasi tersebut harus memiliki kesamaan deskripsi yang konsisten. Conflicting Keys (Kunci yang Berbeda) Misalnya, dalam database ada beberapa tipe data yang berbeda dalam field yang sama, seperti field kode barang dalam tabel penjualan memiliki tipe data character (char) dengan field size 10 sedangkan dalam tabel lain berbeda, misal char(12). Semua perbedaan itu harus diintegrasikan menjadi satu tipe data yaitu char dengan ukuran 12. Nonvolatile (tidak berubah-ubah) Data pada data warehouse tidak mengalami perubahan, lain halnya pada database operasional dimana dapat dilakukan operasi insert, update, dan delete terhadap data yang menyebabkan perubahan isi pada database.
18 Gambar 2.5 Pokok persoalan dari nonvolatile (Inmon,2005,p32). Pada data warehouse hanya ada dua kegiatan manipulasi data, yaitu loading data (mengambil data yang dibutuhkan data warehouse) dan akses data (proses mengakses data warehouse, seperti melakukan query atau menampilkan laporan yang dibutuhkan). Dalam data warehouse tidak ada kegiatan update data. Sebagai gantinya, terdapat snapshot dalam bentuk format statis yang di-load oleh data warehouse. Apabila terjadi perubahan data, snapshot baru terbentuk, kemudian snapshot itu akan disimpan bersama dengan snapshot yang sudah ada dalam data warehouse sehingga menjadi historical data. Beberapa perbedaan data operasional dengan data warehouse dapat dilihat pada Tabel 2.1 ini :
19 Tabel 2.1 Perbandingan data operasional dan data warehouse (Connolly 2002, p1049) Data Operasional Menangani data terbaru Menyajikan detailed data. Data bersifat dinamis. Prosesnya repetitif Pola penggunaan dapat diprediksi Transaction driven Berorientasi aplikasi Mendukung keputusan seharihari Tersedia untuk karyawan bagian operasional Data warehouse Menangani data historis Menyajikan detailed, lightly dan highly summarized data. Data bersifat statis. Ad hoc, tidak terstruktur Pola penggunaan tidak dapat diprediksi Analysis driven Berorientasi subjek Mendukung keputusan strategis Tersedia untuk para manajer / eksekutif Time Variant (Rentang Waktu) Data dalam data warehouse berhubungan dengan suatu titik dalam suatu periode waktu, dan data dalam data warehouse akurat selama periode waktu tertentu, sehingga dapat dikatakan memiliki rentang waktu (time variant). Data warehouse juga memiliki tempat untuk menyimpan data 5-10 tahun yang lalu atau lebih lama lagi, yang mungkin nantinya data tersebut dapat digunakan untuk perbandingan trend dan forecasting. Sedangkan data
20 operasional hanya memiliki rentang waktu yang sangat kecil yaitu berkisar 60-90 hari. Dengan semakin banyaknya data, maka akan lebih baik dalam menganalisis sesuatu dalam perusahaan. Karena dimensi ini merupakan hal yang penting, maka pada bagian waktu diperlukan suatu pembagian dengan aturan-aturan tertentu. Pada umumnya rentang waktu analisis dibagi menjadi perbulan, pertriwulan, perkuartal, pertahun, dan sebagainya. 2.2.4 Struktur Data Warehouse Data warehouse memiliki struktur yang spesifik serta memiliki perbedaan dalam tingkatan ringkasan, detil data, dan umur data. Struktur tersebut terdiri dari : 1. Current Detail Data Current detail data adalah data detail yang sedang aktif saat ini, mencerminkan keadaan yang sedang berjalan saat ini dan merupakan tingkat terendah dalam data warehouse. Current detail data ini biasanya memerlukan media penyimpanan data yang cukup besar. Alasan perlu diperhatikannya current detail data adalah sebagai berikut: Menggambarkan kejadian yang baru terjadi dan selalu menjadi perhatian utama. Hampir selalu disimpan di media penyimpanan karena diperlukan akses yang cepat tetapi mahal dan kompleks dalam pengaturannya.
21 Dapat digunakan dalam membuat rekapitulasi sehingga current detail data harus akurat. Jumlahnya sangat banyak dan disimpan pada tingkat penyimpanan terendah. 2. Old Detail Data Old detail data merupakan detil dari data historis, dapat berupa hasil back up yang dapat disimpan dalam media penyimpanan yang terpisah dan dapat diakses kembali pada saat tertentu. Data ini jarang diakses sehingga disimpan dalam media penyimpanan alternatif seperti tape disk. Penyusunan direktori untuk data ini harus menggambarkan umur dari data agar memudahkan pengaksesan kembali. 3. Lightly Summarized Data Lightly summarized data (ringkasan data level menengah) merupakan ringkasan dari current detail data. Di dalam tahap ini data belum dapat digunakan untuk pengambilan keputusan karena sifat data belum total summary yang artinya data masih bersifat detil. Lightly summarized data seringkali digunakan sebagai gambaran dari keadaan yang sedang berlangsung maupun yang belum berlangsung.
22 4. Highly Summarized Data Highly summarized data (ringkasan data level tinggi) merupakan hasil proses ringkasan yang bersifat total summary. Pada tingkat ini data sangat mudah diakses dan pada akhirnya dapat digunakan sebagai pengambil keputusan bagi para eksekutif perusahaan. Bagi para eksekutif, hal ini sangatlah memudahkan karena mereka hanya perlu membaca atau melakukan analisis dalam waktu yang singkat. Gambar 2.6 Struktur data warehouse (Inmon,2005,p34). 5. Metadata Metadata bukanlah merupakan hasil kegiatan operasional seperti keempat jenis data di atas, namun merupakan komponen penting dalam data warehouse yang menjalankan seluruh proses yang ada. Metadata seringkali disebut data tentang data. Metadata memberikan peranan yang penting untuk keefektifan penggunaan data warehouse karena dengan adanya
23 metadata akan mempermudah end-user dalam melakukan analisis dan menghemat waktu. Metadata digunakan untuk beberapa tujuan yang bervariasi termasuk : Proses extraction dan loading, yang digunakan untuk pemetaan sumber data menjadi bentuk data yang common view. Proses manajemen warehouse, yang digunakan untuk proses otomatisasi pembentukan tabel ringkasan. Bagian dari proses manajemen query, yang digunakan untuk mengarahkan query kepada sumber data yang paling tepat.. 2.2.5 Komponen Data Warehouse Komponen data warehouse meliputi : 1. Alat loading warehouse : program yang mengambil data dari sistem pemrosesan transaksi korporal (database relasional, mainframe dan file minikomputer), memprosesnya, dan memasukkannya ke warehouse. Proses ini mencakup pembersihan data transaksi, penyaringan, reformat dan load ke sebuah basis data besar dalam warehouse. 2. Sebuah database warehouse : sebuah database relasional untuk menyimpan data yang sangat banyak, mengambil data dengan kecepatan tinggi dan mendukung query analisa bisnis yang kompleks. 3. Alat analisis data : program untuk melakukan analisa statistik dan berjangka waktu, melakukan analisa bagaimana jika dan menampilkan hasilnya dalam bentuk grafik.
24 2.2.6 Arsitektur Data Warehouse Arsitektur data warehouse menyediakan kerangka dengan mengidentifikasikan dan memahami bagaimana data akan dipindahkan melalui sistem dan digunakan dalam perusahaan. Arsitektur data warehouse mempunyai komponen utama yaitu database yang hanya dapat dibaca. Karakteristik arsitektur data warehouse antara lain : Data diambil dari sistem informasi operasional, database, dan file. Data dari sistem asal diintegrasikan dan ditransformasi sebelum disimpan ke dalam data warehouse. Data warehouse adalah jenis database read-only yang diciptakan untuk mengambil keputusan. User mengakses data warehouse via front-end tool atau aplikasi. Gambar 2.7 Arsitektur data warehouse (Connolly,2002,p1053).
25 1. Operational Data Data operasional yang menjadi sumber data bagi data warehouse berasal dari mainframe, workstation dan private server yang berisi private data, dari sistem luar seperti internet, dan juga dari database yang tergabung dengan pemasok ataupun pelanggan. 2. Operational Datastore (ODS) ODS merupakan tempat penampungan dari data operasional yang ada saat ini dan terintegrasi, yang digunakan untuk analisis. ODS ini terstruktur dan data yang disediakan telah di-extract dan di-cleaned. Proses pemasukan data pada ODS juga sama seperti pada data warehouse. ODS dibentuk ketika sistem operasional sudah dirasa tidak mampu memberikan laporan yang dibutuhkan. Dengan adanya ODS ini maka proses integrasi dan merestruktur data untuk data warehouse menjadi lebih sederhana. 3. Load Manager Load manager atau sering disebut komponen front-end melakukan seluruh operasi yang berhubungan dengan extraction dan loading terhadap data dan dimasukkan ke dalam data warehouse. Data mungkin di-extract secara langsung dari sumber data atau umumnya berasal dari ODS.
26 4. Warehouse Manager Warehouse manager melakukan seluruh operasi yang berhubungan dengan manajemen data pada warehouse. Komponennya dibangun menggunakan vendor data management tools dan custom-built programs. Operasi yang dilakukan oleh warehouse manager meliputi : Analisis data untuk memastikan konsistensi. Transformasi dan menggabungkan data sumber dari penampungan sementara ke dalam tabel data warehouse. Pembuatan indeks dan view pada tabel utama. Denormalisasi (jika diperlukan). Aggregasi (jika diperlukan). Back-up dan archiving data. 5. Query Manager Query mnager atau sering dinamakan komponen backend melakukan seluruh operasi yang berhubungan dengan manajemen dari user queries. Komponen ini dibentuk menggunakan vendor end-user data access tools, data warehouse monitoring tools, fasilitas database, dan custom-built program. Operasi yang dilakukan meliputi mengarahkan langsung query ke dalam tabel yang cocok dan melakukan penjadwalan terhadap query yang dieksekusi.
27 6. Detailed Data, Lightly and Highly Summarized Data, Metadata Detail data dibagi menjadi dua, yaitu current detail data dan old detail data. Detail data telah dijelaskan pada sub-bab 2.2.4 point ke 1 dan 2. Lightly dan highly summarized data telah dijelaskan pada sub-bab 2.2.4 point 3 dan 4. Dan meta-data juga telah dijelaskan pada sub-bab 2.2.4 point 5. 7. Archive / Backup Data Area data warehouse ini menyimpan detailed dan summarized data dengan tujuan archiving dan backup. Walaupun ringkasan dari data telah dibentuk dari detail data, masih dibutuhkan backup untuk online summary data jika data tersebut disimpan melebihi batas waktu penyimpanan untuk detailed data. Data ditransfer ke storage archive seperti magnetic tape atau optical disk. 8. End-User Access Tools Tujuan dari perancangan data warehouse yaitu menyediakan informasi kepada user (pebisnis) yang mengarah kepada pengambilan keputusan yang strategis. User berinteraksi dengan warehouse menggunakan end user access tool. Data warehouse harus secara efisien mendukung analisis ad hoc dan analisis rutin. Tools ini dibagi menjadi 5 kelompok utama yaitu :
28 Reporting and query tools Reporting tools tebagi menjadi production reporting tools yang digunakan untuk membuat laporan operasional ataupun mendukung high-volume batch job seperti invoice dan report writer yang merupakan desktop tools murah yang dibuat untuk end-user. Query tools untuk relational data warehouse dirancang untuk menerima SQL atau menghasilkan SQL statement untuk mengquery data yang disimpan dalam data warehouse. Application development tools Aplikasi ini dikembangkan sesuai dengan keinginan user yang dikarenakan analisis yang diminta tidak dapat dihasilkan atau dapat pula karena membutuhkan user yang expert untuk berinteraksi. Dengan adanya aplikasi ini maka analisis yang diminta dapat ditampilkan dalam bentuk grafik. Executive Information System (EIS) tools EIS pada awalnya dikembangkan untuk mendukung pengambilan keputusan yang bersifat high-level. Fokus dari sistem ini diperluas sehingga mencakup seluruh level manajemen. EIS tools dikaitkan dengan pembolehan untuk merancang aplikasi pendukung pengambilan keputusan yang bersifat customized dan graphical kepada user sehingga memberikan overview data perusahaan dan menyediakan akses untuk sumber data eksternal kepada user.
29 Online Analytical Processing (OLAP) tools OLAP tools merupakan kategori aplikasi yang memungkinkan seorang system analyst, manager, dan eksekutif memperoleh data dengan akses yang cepat, konsisten dan interaktif, sehingga informasi dapat dilihat dari berbagai sudut pandang, di mana data telah ditransformasikan dari data mentah untuk menggambarkan multidimensi dari data perusahaan yang dapat dimengerti oleh user. Tools ini sering digunakan untuk aplikasi bisnis dalam mengakses efektivitas persaingan pemasaran, peramalan penjualan produk, dan perencanaan kapasitas. Keuntungan dari aplikasi OLAP, antara lain : Meningkatkan produktivitas bisnis dan user, pengembang IT, seluruh organisasi secara konsekuen. Meningkatkan pendapatan dan keuntungan dengan memperbolehkan organisasi memberikan respon lebih cepat terhadap permintaan pasar. Mengurangi pemindahan query dan lalu lintas jaringan pada sistem OLTP ataupun pada data warehouse. Data mining tools Data mining merupakan proses menemukan hubungan baru, bentuk baru, dan tren baru dengan menggali sejumlah besar data menggunakan teknik statistik, matematika, dan artificial intelligence (AI). Yang
30 menarik dari data mining adalah kemampuan untuk membangun prediksi / ramalan dibandingkan dengan meninjau kembali bentuk yang telah dihasilkan. 2.2.7 Anatomi Data Warehouse 1. Data warehouse Fungsional Data warehouse dibuat lebih dari satu dan dikelompokkan berdasarkan fungsi masing-masing, seperti fungsi keuangan (financial), fungsi marketing, fungsi kinerja personalia. Pemodelan ini berfokus pada kebutuhan dari sebuah fungsi bisnis. Keuntungan dari bentuk ini adalah dapat dibangun dengan biaya yang relatif murah, dan memberikan fleksibilitas karena dapat disesuaikan dengan permasalahan bisnis spesifik dan kemungkinan dari departemen atau lini bisnis tertentu. Sedangkan kerugiannya adalah terbatasnya kemampuan dalam pengumpulan data bagi pengguna. Namun, terdapat resiko hilangnya konsistensi data di luar lingkungan fungsi bisnis bersangkutan. Apabila pendekatan ini lingkupnya diperbesar dari lingkungan fungsional menjadi lingkup perusahaan, konsistensi data perusahaan tidak lagi dapat dijamin 2. Data warehouse Terpusat Data warehouse terpusat adalah sebuah database fisikal tunggal yang menyimpan semua data untuk area fungsional spesifik, departemen, divisi atau perusahaan (enterprise). Data warehouse
31 terpusat biasanya menyimpan data dari sistem operasi yang berbedabeda. Data yang disimpan didalamnya dapat diakses dari sebuah lokasi dan harus diload dan dipelihara pada basis regular. Bentuk ini terlihat seperti bentuk functional data warehouse, namun disini sumber data terlebih dahulu dikumpulkan dan diintegrasikan pada suatu tempat terpusat, setelah itu barulah data tersebut dibagi bagi berdasarkan fungsi yang dibutuhkan oleh perusahaan dan bentuk ini sering digunakan oleh perusahaan yang belum memiliki jaringan eksternal. Keuntungan bentuk ini adalah menyediakan gambaran yang komprehensif, tingkat kontrol dan reliabilitas yang tinggi karena keterpaduan data di dalamnya. 3. Data warehouse Terdistribusi Data warehouse terdistribusi adalah data warehouse yang komponennya didistribusikan ke beberapa database fisikal yang berbeda. Umumnya, pendekatan ini dipilih saat perusahaan besar ingin menegikutsertakan level organisasinya yang lebih rendah di dalam pengambilan keputusan, sehingga diperlukan penurunan data untuk pembuatan keputusan ke komputer lokal tempat pengambil keputusan lokal. Pendekatan ini melibatkan data yang paling redundan dan konsekuensinya adalah proses load dan update yang kompleks.
32 Bentuk ini dikembangkan berdasarkan konsep data warehouse gateway yang memungkinkan pemakai untuk langsung berhubungan dengan sumber data maupun dengan pusat pengumpul data lainnya. Gateway adalah produk yang memungkinkan data untuk melewati database atau sistem yang heterogen atau berlainan secara lancar. Gateway dapat mencakup koneksi diantara jaringan yang berbeda, protokol komunikasi yang berbeda dan representasi data yang berbeda. Contohnya, dalam lingkungan data warehouse, gateway digunakan untuk menyediakan konektivitas untuk mengakses data dari mainframe dengan database yang dijalankan oleh berbagai sistem operasi yang berbeda. Pendekatan ini memerlukan biaya yang sangat besar karena setiap sistem pengumpulan data fungsional dan sistem operasinya dikelola secara terpisah. Di samping itu, agar berguna bagi perusahaan, data harus disinkronisasikan untuk memelihara keterpaduannya. Metode ini akan sangat efektif apabila data telah tersedia dalam bentuk yang konsisten dan pemakai dapat menambah data tersebut dengan informasi baru apabila ingin memperoleh gambaran baru atas informasi.
33 2.2.8 Aliran Data pada Data Warehouse 1. Inflow Inflow meliputi proses extraction, cleansing dan loading dari sumber data. Cara alternatif lain, bisa dengan meload data ke dalam data penyimpanan operasional (ODS) sebelum ditransfer ke dalam data warehouse. Data harus direkonstruksi terlebih dahulu meliputi : Membersihkan data kotor. Merestrukturisasi data agar sesuai dengan kebutuhan dari data warehouse yang baru, seperti, menambah atau membuang fields, dan denormalisasi data. Memastikan bahwa data sumber konsisten dengan dirinya sendiri dan dengan data lain yang sudah ada dalam data warehouse. Proses inflow dapat secara efektif digunakan, dengan mentukan kapan mengekstrak data untuk melakukan transformasi yang diperlukan dan untuk menjamin konsistensi. Ketika mengekstrak data dari source systems, penting untuk memastikan bahwa data dalam keadaan konsisten untuk menghasilkan view dari korporasi data. Setelah data diekstrak, maka akan di-load ke dalam penyimpanan temporer untuk keperluan cleansing dan pengecekan konsistensi.
34 2. Upflow Upflow meliputi proses menambahkan nilai (value) data dalam data warehouse melalui aktivitaas summarizing, packaging dan distribution data. Prosesnya meliputi : Summarizing data, dengan selecting, projecting, joining, dan grouping data relasional ke dalam tampilan yang lebih nyaman bagi end-user. Summarizing melibatkan analisis statistic modern termasuk identifying trends, clustering, dan sampling the data. Packaging data, dengan mengkonversikan data yang telah disummarized ke bentuk yang lebih tepat guna seperti, lembar kerja (spreadsheets), dokumen teks, diagram, bentuk grafik lainnya, database privat dan animasi. Distributing data, ke dalam grup-grup yang sesuai untuk meningkatkan ketersediaan dan kemudahan akses. Ketika menambahkan nilai (value) ke data, pertimbangan yang diperlukan untuk mendukung peforma dari data warehouse dan untuk meminimalisasikan biaya operasional. Kebutuhan tersebut penting dalam menentukan desain kearah yang benar, memaksa restrukturisasi untuk memperbaiki query performance atau menurunkan biaya operasional.
35 3. Downflow Downflow meliputi proses yang diasosiasikan dengan mengarsipkan dan membackup data dalam data warehouse. Mengarsipkan data lama memegang peranan penting dalam memelihara efektivitas dan peforma warehouse dengan mentransfer data yang sudah lama, dalam jumlah tertentu, ke tempat penyimpanan (diarsipkan) seperti magnetic tape, atau optical disc. Jika skema partisi dipilih secara benar untuk database, jumlah data online seharusnya tidak mempengaruhi peformansi. Partisi adalah pilihan desain tepat guna untuk database yang sangat besar, yang memungkinkan fragmentasi sebuah table penyimpanan (record) dalam jumlah yang besar, ke dalam beberapa table yang lebih kecil. Aturan untuk partisi dapat berdasarkan karakteristik data seperti area di dalam sebuah negara. Dataflow mencakup proses meyanlinkan bahwa current state dari sebuah data dapat dibangun kembali jika ada kehilangan data, atau kegagalan software/hardware. Data yang telah diarsipkan sebaiknya disimpan sehingga memungkinkan pembaruan data dalam data warehouse jika diperlukan.
36 4. Outflow Outflow meliputi proses yang diasosiasikan dengan bagaimana membuat data tersedia bagi pengguna akhir. Outflow dimana real value warehouse didasari oleh organisasi. Ini memerlukan reengineering proses bisnis untuk mencapai keuntungan kompetitif. Dua aktivitas kunci yang ada di dalam outflow meliputi : Accesing, yaitu hal yang berkaitan dengan bagaimana memuaskan permintaan pengguna akhir akan data yang mereka butuhkan. Hal utama adalah bagaimana menciptakan suasana sehingga pengguna bisa menggunakan query tools untuk mengakses sumber data secara efektif. Frekuensi akses pengguna dapat bervarisai, mulai dari ad-hoc (sekali-kali), rutin, sampai real-time.penting untuk memastikan bahwa sumer daya sistem yang digunakan dengan sangat efektif dalam menjadwalkan eksekusi dari query-query pengguna. Delivering, yaitu hal yang berkaitan dengan bagaimana menyampaikan informasi workstation end-users secara proaktif. Ini adalah area yang relatif baru dalam data warehouse, dan disebut juga sebagai proses yang bertipe publish-andsubscribe proses warehouse menerbitkan bermacam-macam business objects yang direvisi secara periodik dengan memonitor pola pemakaian. Pengguna mendaftar ke suatu set obyek bisnis yang paling sesuai dengan kebutuhan mereka.
37 Data warehouse berisi summary data secara potensial menyediakan jumlah sumber data akurat untuk menanggapi sebuah query yang spesifik termasuk data terperinci itu sendiri dan sejumlah tumpukan lain yang sesuai dengan kebutuhan pengguna. Bagaimanapun peformasi query akan bervariasi cukup signifikan, tergantung karakter data target, isi yang paling penting dari data tersebut. Sebagai bagian dari manajemen outflow, sistem harus memustuskan cara terefesien untuk menjawab query. 5. Metaflow Metaflow meliputi proses yang terasosiasi dengan manajemen metadata. Flows yang sebelumnya menggambarkan manajemen data warehouse dengan melihat bagaimana data masuk dan keluar dari warehouse. Metaflow adalah proses yang memindahkan metadata (data tentang flows lain). Metadata adalah gambaran isi data dari data warehouse, apa yang ada di dalam, dari mana asal mulanya, dan apa yang telah terjadi setelah cleansing, integrating, dan summarizing. Untuk merespon kebutuhan bisnis yang terus berubah, sistem yang sudah ada juga terus berubah secara konstan. Oleh sebab itu, warehouse terlibat dalam merespon perubahan yang terus menerus, juga merefleksikan perubahan tersebut pada sistem sumber (source legacy systems) dan lingkungan bisnis yang berubah. Metaflow (metadata) harus secara kontinu di-update dengan perubahan yang terjadi.
38 Ketika menambahkan nilai (value) ke data, maka administrator data warehouse harus mengidentifikasikan desain database yang paling sesuai dengan kebutuhan, yang seringkali memerlukan kompromi. 2.3 Teori Perancangan Data Warehouse 2.3.1 Perancangan Database dari Data Warehouse Alat yang digunakan untuk merancang data warehouse adalah skema bintang (star schema). 1. Definisi Skema Bintang / Star Schema Menurut Thomas Connoly, Star Schema is a logical structure that has a fact table containing factual data in the center, surrounded by dimension tables containing reference data (which can be denormalized) (2002, p1079), yang berarti skema bintang merupakan struktur logical yang memiliki tabel fakta yang berisi data fakta, dikelilingi oleh tabel dimensi yang berisi data referensi (yang dapat didenormalisasikan). 2. Keuntungan Skema Bintang Keuntungan menggunakan skema bintang menurut Thomas Connolly adalah: Efisiensi, struktur database yang konsisten sehingga lebih efisien dalam mengakses data dengan menggunakan alat / tool untuk menampilkan data termasuk laporan tertulis dan query.
39 Kemampuan untuk mengatasi perubahan kebutuhan, skema bintang dapat beradaptasi terhadap perubahan kebutuhan pengguna, karena semua tabel dimensi memiliki kesamaan dalam hal menyediakan akses ke tabel fakta. Extensibility, model dimensional dapat dikembangkan. Seperti menambah tabel fakta selama data masih konsisten, menambah tabel dimensi selama ada nilai tunggal di tabel dimensi tersebut yang mendefinisikan setiap record tabel fakta yang ada, menambahkan attribute tabel dimensi, dan memecah record tabel dimensi yang ada menjadi level yang lebih rendah dari level sebelumnya. Kemampuan untuk menggambarkan situasi bisnis pada umumnya, pendekatan standar untuk menangani situasi umum di dunia bisnis yang terus bertambah. Proses query yang bisa diprediksi, aplikasi data warehouse yang mencari data dari level yang di bawahnya akan dengan mudah menambah jumlah atribut pada tabel dimensi dari sebuah skema bintang. Aplikasi yang mencari data dari level yang setara akan menghubungkan tabel fakta yang terpisah melalui tabel dimensi yang dapat diakses bersama.
40 3. Tipe Tabel Skema Bintang Dalam skema bintang ada dua tipe tabel, yaitu tabel fakta dan tabel dimensi. Tabel fakta dapat disebut juga sebagai tabel mayor, terdiri dari data kuantitatif atau data fakta mengenai bisnis, informasi yang diquery. Infomasi ini selalu diukur secara statistik dan dapat mengandung banyak kolom dan baris. Tabel dimensi disebut juga sebagai tabel minor, karena lebih kecil dan mencerminkan dimensi bisnis. 4. Jenis Skema Bintang Skema Bintang Sederhana Dalam skema ini, setiap tabel harus memiliki primary key yang unik yang terdiri dari satu kolom atau lebih. Primary key dari tabel fakta terdiri dari satu atau lebih foreign key. Foreign key adalah kolom pada satu tabel yang nilainya didefinisikan oleh primary key pada tabel yang lain. Gambar 2.8 menggambarkan hubungan antara tabel fakta dan tabel dimensi. Tabel fakta memiliki tiga foreign key, dimana masingmasing foreign key itu merupakan primary key pada tabel dimensi. Gambar 2.8 Skema Bintang Sederhana
41 Skema Bintang dengan banyak Tabel Fakta Skema bintang dapat memiliki lebih dari satu tabel fakta, karena adanya fakta yang tidak saling berhubungan. Misalnya disamping penjualan terdapat tabel fakta forecasting dan tabel fakta result. Tetapi walaupun terdapat banyak tabel fakta, tabel dimensinya tetap digunakan secara bersama-sama. Gambar 2.9 menunjukkan adanya dua tabel fakta dan tiga tabel dimensi yang memperlihatkan hubungan many to one antara foreign key pada kedua tabel fakta tersebut dengan primary key pada masing masing tabel dimensi. Gambar 2.9 Skema Bintang dengan beberapa Tabel Fakta Skema Bintang dengan Tabel Dimensi Tambahan Tabel dimensi mungkin juga mengandung foreign key yang mereferensikan primary key di tabel dimensi lain. Tabel dimensi yang direferensikan ini dinamakan outboard atau secondary dimension table.
42 Gambar 2.10 Skema Bintang dengan Tabel Dimensi Tambahan Skema Snowflake Menurut Thomas Connoly, snowflake schema is a variant of the star schema where dimension table do not contain denormalized data (2002, p1080), yang berarti skema snowflake merupakan bentuk lain dari skema bintang dimana tabel dimensi tidak mengandung data yang telah dinormalisasi. Suatu tabel dimensi dapat memiliki tabel dimensi lainnya. Ciri-ciri snowflake adalah: 1. Tabel dimensi dinormalisasi dengan dekomposisi pada level attribute. 2. Setiap dimensi mempunyai satu key untuk setiap level pada hirarki dimensi. 3. Kunci level terendah menghubungkan tabel dimensi dengan tabel fakta dan tabel atribut berlevel rendah.
43 Keuntungan dari skema snowflake adalah : Kecepatan memindahkan data dari OLTP kedalam metadata Sebagai kebutuhan dari alat pengambil keputusan tingkat tinggi dimana dengan tipe yang seperti ini seluruh struktur dapat digunakan sepenuhnya Banyak yang beranggapan lebih nyaman merancang dalam bentuk normal ketiga. Kerugiannya adalah mempunyai masalah yang besar dalam hal kinerja (performance), hal ini disebabkan semakin banyaknya join antar tabeltabel yang dilakukan dalam skema snowflake ini, maka semakin lambat juga kinerja yang dilakukan. Gambar 2.11 Skema Snowflake
44 2.3.2 Metodologi Perancangan Data Warehouse Metodologi yang digunakan dalam penulisan skripsi ini antara lain : 1. Requirement Collection and Analysis, menggunakan teknik Fact Finding. Teknik fact finding merupakan teknik yang digunakan untuk mengumpulkan fakta atau informasi yang dapat dilakukan dengan cara: Examining documentation, teknik ini digunakan untuk mencari dokumentasi yang dapat digunakan untuk menyediakan informasi yang berhubungan dengan permasalahan, misalnya dokumentasi mengenai sistem yang sedang berjalan, contoh laporan-laporan yang ada di perusahaan tersebut baik yang masih manual ataupun yang sudah terkomputerisasi. Interview (wawancara), teknik ini dilakukan dengan memberikan beberapa pertanyaan sehubungan dengan topik penelitian, misalnya menanyakan kebutuhan apa yang masih belum ada dan dibutuhkan oleh eksekutif perusahaan. Questionare, teknik ini dilakukan dengan memberikan angket yang berisi pertanyaan-pertanyaan yang berhubungan dengan topik kepada sejumlah orang.
45 Observasi, teknik ini dilakukan dengan cara meneliti langsung ke perusahaan yang berkaitan dengan pembelajaran sistem. Pembelajaran sistem dapat dilakukan dengan cara berpartisipasi langsung atau melihat aktivitas dari sistem. Tujuan dari observasi yaitu melihat kompleksitas data. Research, teknik ini digunakan untuk research aplikasi dan juga masalah. Dapat dilakukan dengan mencari informasi dari bukubuku referensi, internet, dan sebagainya. 2. Perancangan Logical menggunakan Nine-Step Methodology (Kimball,2002), yang terdiri dari : i. Pemilihan Proses Pemilihan proses dilakukan untuk mencari subyek permasalahan dari data mart untuk fungsi bisnis yang berkaitan dengan penjualan. ii. Pemilihan Grain Pemilihan grain ditujukan untuk memperoleh calon tabel fakta. Dengan menentukan grain, berarti secara langsung juga menentukan apa yang akan ditampilkan pada tiap record dari tabel fakta. Ketika grain untuk tabel fakta telah dipilih, maka dapat diidentifikasikan dimensi untuk tabel fakta tersebut.
46 iii. Identifikasi Dimensi Dimensi menentukan apa saja yang menjadi pertanyaan yang diminta yang berhubungan dengan fakta di tabel fakta. Dimensi yang dibentuk dengan baik dapat membuat data mart mudah dimengerti dan mudah digunakan. iv. Pemilihan Fakta Pemilihan fakta yang dimaksudkan di sini adalah memilih measure. Measure merupakan suatu nilai yang ingin dihitung atau diukur dan tipe datanya harus berupa angka (numeric / currency). v. Penyimpanan Pre-calculation di Tabel Fakta Pre-calculation berisikan formula untuk menentukan perhitunganperhitungan. Biasanya perhitungan yang dilakukan berhubungan dengan laba dan rugi. vi. Penentuan Tabel Dimensi Dimensi merupakan sudut pandang user terhadap data dan tergantung kebutuhan masing-masing user. Setelah dimensi terbentuk, deskripsi mengenai dimensi tersebut juga dibuat untuk menjelaskan deskripsi dari dimensi-dimensi yang ada. Perlu diperkirakan juga dimensi apa saja yang mungkin dapat berubah untuk jangka waktu kedepannya.
47 vii. Pemilihan Durasi Database Pemilihan durasi database ini ditujukan untuk mengetahui mulai kapan tabel fakta ini digunakan. Biasanya perusahaan meminta dari tahun yang sedang berjalan sampai 2 tahun sebelumnya. Tapi ada pula yang meminta sampai 5-10 tahun ke belakang, seperti perusahaan asuransi. viii. Menelusuri Slowly Changing Dimension Client lama dan branch lama masih menggunakan transaksi lama, jadi data warehouse perlu meng-generate dimensi yang penting ini agar dapat digunakan oleh berbagai macam client dan branch untuk periode waktu tertentu. Ada 3 bentuk dasar perubahan dimensi, antara lain : 1. Adanya perubahan dimensi menyebabkan atribut dioverwrite. 2. Ada perubahan dimensi menyebabkan terbentuknya record baru. 3. Ada perubahan dimensi menyebabkan terbentuknya atribut alternatif, sehingga baik atribut lama maupun baru dapat diakses bersama pada dimensi yang sama.
48 ix. Penentuan Prioritas dan Cara Query Langkah ini berhubungan dengan perancangan fisik. Yang perlu diperhatikan adalah pengurutan table fakta pada disk dan penyimpanan ringkasan / agregat, administrasi, backup, performa pengindeksan, dan keamanan. 2.4 Teori Penjualan Menurut Kamus Besar Bahasa Indonesia, penjualan berarti proses, pembuatan, cara menjual, serta tempat menjual. Proses penjualan merupakan rangkaian kegiatan operasi yang melayani pelanggan, membantu pelanggan memilih produk dan jasa yang mereka butuhkan, mengirim produk dan jasa yang diminta, dan menagih pembayaran untuk produk dan jasa tersebut. Berdasarkan hukum permintaan yang isinya pengurangan harga akan mempengaruhi tingkat permintaan terhadap produk, jika harga semakin murah, maka permintaan akan semakin tinggi, dan juga sebaliknya. Proses penjualan dapat ditingkatkan dengan memberikan promosi berupa diskon, mengiklankan produk agar konsumen menjadi lebih familiar, dan sebagainya.
49 Penjualan menurut cara pembayarannya dapat dibedakan menjadi penjualan tunai dan penjualan kredit (angsuran). Pada penjualan tunai, konsumen harus langsung membayar untuk memperoleh barang yang dibelinya. Sedangkan penjualan kredit, konsumen dapat melakukan pembayaran secara bertahap sesuai dengan ketentuan penjualan yang ada untuk mendapatkan barang yang dibelinya. Seefisien apapun proses organisasi yang ada, jika proses penjualan tidak berfungsi dengan baik, maka tidak mungkin organisasi tersebut dapat meraih penghasilan yang baik.