MEMBANGUN APLIKASI DATA WAREHOUSE
PADA UD.SINGAPUR GROUP
(STUDI KASUS UD.SINGAPUR GROUP BUKITTINGGI)
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika
Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
RAHMI INDAH P.S
10107513
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
i
PADA UD.SINGAPUR GROUP.
(STUDI KASUS UD.SINGAPUR GROUP BUKITTINGGI)
Oleh
Rahmi Indah P.S
10107513
Unit Dagang (UD) Singapur Group adalah perusahaan yang bergerak di bidang jual beli dan distribusi sepatu secara grosir. Data Transaksi yang terdapat di dalam perusahaan berupa data eksternal yang terpisah dan belum terangkum secara keseluruhan. Pihak perusahaan kesulitan dalam mengatur dan menganalisa aliran data barang masuk maupun barang keluar. Laporan transaksi yang ada dinilai tidak dapat memberikan gambaran keseluruhan transaksi secara periodik dan sulit untuk dipahami. Perusahaan menginginkan sebuah sistem yang dapat melakukan integrasi data yang terpisah ke dalam suatu sistem, mengakses data dalam jumlah yang besar, menganalisa data berdasarkan tinjauan bisnis dari waktu tertentu secara detail guna menghasilkan informasi yang cepat dan akurat berupa data penjualan dan pemesanan barang untuk membantu perusahaan dalam menghasilkan data berupa laporan yang representative.
Data warehouse adalah kombinasi dari database berbeda yang mengkombinasikan informasi dengan meringkas (summarizing), mengelompokkan (aggregation) dan mendukung pembuatan laporan dan analisis data pada suatu unit atau bagian pada suatu perusahaan dalam menganalisis data yang ada untuk mendukung pengambilan keputusan yang bersifat strategis secara cepat dan tepat. Pembangunan data warehouse ini menggunakan pemodelan data
Snow flake dan perancangan OLAP (On-Line Analytical Processing) sedangkan
pengolahan dan analisis data dengan menggunakan teknik Roll up dan drill down
serta Slice dan Dice.
Kata Kunci : Data Warehouse, Snow flake, Olap, Roll up dan drill down serta
ii
ABSTRACT
BUILDING WAREHOUSE DATA APPLICATION AT UD SINGAPUR GROUP
(A STUDY CASE AT UD.SINGAPUR GROUP BUKITTINGGI)
By
Rahmi Indah P.S 10107513
Singapur Group Business Unit is a wholesaler that sells and distributes shoes. The transaction data in the company is external data and yet not summarized as an integrated data. The company is having difficulties in arranging and analyzing the data flow of incoming and outgoing goods. The current transaction report cannot provide a description of all transactions periodically and is difficult to understand. The company wants a system which is able to integrate separated data into a system, access numerous data, and analyze data based on a business review from a certain period in details to provide fast and accurate information of sales and order data. Such system will help the company to provide representative report.
Data warehouse is an integration of several databases that combines information by summarizing, aggregating, and supporting reports and data analysis in a unit or division of a company. It analyzes data for strategic decision-making purpose quickly and appropriately. The data warehouse building employs snow flake data modeling and OLAP (On-Line Analytical Processing) designing, while the data processing and analysis employs roll up and drill down and slice and dice techniques.
iii
Puji dan syukur senantiasa kami sampaikan kehadirat Allah S.W.T. atas segala limpahan rahmat dan karunia-Nya. Shalawat dan salam semoga tetap tercurah kepada Nabi Besar Muhammad S.A.W.,kepada keluarganya, para sahabatnya dan sampai kepada kita sebagai umatnya. Alhamdulillah saya dapat menyelesaikan Tugas Akhir
dengan judul “MEMBANGUN APLIKASI DATA WAREHOUSE PADA
UD.SINGAPUR GROUP”. Tugas Akhir ini merupakan salah satu syarat untuk menempuh Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer di Universitas Komputer Indonesia (UNIKOM).
Sehubungan dengan telah selesainya Tugas Akhir ini, kami yakin bahwa tugas ini tidak akan berhasil tanpa doa, bimbingan, petunjuk dan dukungan dari berbagai pihak yang terlibat dalam pembuatan tugas ini. Oleh karena itu kami mengucapkan terima kasih kepada :
1. Allah S.W.T yang telah memberikan kami nikmat dan kesehatan sehingga dapat menyelesaikan TA (Tugas Akhir).
2. Kedua Orang Tua penulis yang tidak henti-hentinya mendoakan dan memberikan dukungan.
iv
waktu untuk memberikan bimbingan dengan penuh kearifan, kekeluargaan serta memberikan masukan – masukan dalam penyelesaian tugas akhir ini.
4. Adam Mukharil Bachtiar,S.KOM. selaku penguji 1 yang telah meluangkan waktu untuk memberikan bimbingan dengan penuh kearifan, kekeluargaan serta memberikan masukan dalam penyelesaian tugas akhir ini
5. Kepada Rika Octavia, Nila Kurniati, Yani Eva Rina, Novriza, Lola Mega Sari, Harianto, Moch.Ridwan, Suci Octarina, Nathasya Widia Muslim saudara yang selalu ada dan telah mendoakan, membantu serta memberi dukungan materi dan moril yang tak ternilai kepada penulis.
6. Teman-teman yang telah ikut mendukung dan membantu terutama Sarah Nurhasanah, Resa Haryuyudanto, Mahardika Abdi Prawira, Rahmat Hidayat, Yogi Valentino, Al Ichsan, Fajri Hannibal Abzi, sahabat yang selalu membantu penulis dalam hal teknis dan non teknis, serta selalu mendoakan, memberi semangat, motivasi, dan berbagi pengetahuan kepada penulis.
7. Kepada seluruh sahabat saya khususnya kelas IF-11 angkatan 2007 atas do’a dan dukungannya.
8. Kepada Seluruh sahabat UMM yang telah banyak memberi dukungan moril dan memberi motivasi kepada penulis.
9. Rekan-rekan satu bimbingan dan semua pihak yang telah memberikan bantuan dan dukungan dalam menyelesaikan tugas kami.
v
retak”. Oleh karena itu kami sangat mengharapkan saran dan kritik dari para
pembaca, agar dalam penulisan Laporan ini selanjutnya dapat kami selesaikan dengan baik.
Besar harapan kami agar Laporan penelitian tugas akhir ini akan bermanfaat bagi para pembaca dan dunia pendidikan pada umumnya dan bagi penyusun sendiri khususnya.
Bandung, 10 Agustus 2012
vi
DAFTAR ISI
LEMBAR JUDUL
LEMBAR PENGESAHAN
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... vi
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xiii
DAFTAR SIMBOL ... xvii
DAFTAR LAMPIRAN ... xix
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 3
1.4 Batasan Masalah ... 3
1.5 Metodelogi Penelitian ... 4
1.6 Sistematika Penulisan ... 7
BAB II TINJAUAN PUSTAKA ... 9
2.1 Profil Perusahaan ... 9
2.2 Landasan Teori ... 10
vii
2.2.2 Data Staging dan ETL ... 18
2.2.3 Perancangan Data Warehouse ... 23
2.2.3.1 Pendekatan Perancangan ... 23
2.2.3.2 Multidimensional Modelling ... 24
2.2.3.3 Visualisasi Suatu Dimensional Model ... 27
2.2.4 OLAP ... 31
2.2.4.1 OLAP Cube (Kubus OLAP) ... 31
2.2.5 Data Flow Diagram ... 33
2.2.6 Flowchart ... 35
2.2.7 SQL Server 2008 ... 35
2.2.8 Konsep Pemograman Delphi ... 36
BAB III ANALISIS DAN PERANCANGAN ... 38
3.1 Analisis Sistem ... 38
3.1.1 Analisis Kebutuhan Data Warehouse ... 38
3.1.1.1 Layer Pertama Analisis Sumber Data ... 39
3.1.1.2 Layer Kedua Data Staging ... 44
3.1.1.3 Layer Ketiga Data Warehouse Layer ... 56
3.1.1.4 Layer Keempat Analisis ... 57
3.1.2 Analisa Dimensional Model dan Skema Data Warehouse ... 57
3.1.2.1 Analisis Dimensional Model ... 57
viii
3.1.3 Analisis Kebutuhan OLAP ... 66
3.1.4 Analisis Kebutuhan Non Fungsional ... 69
3.1.4.1 Analalisis Kebutuhan Perangkat Keras ... 69
3.1.4.2 Analisis Perangkat Lunak ... 70
3.1.4.3 Analisis Karakteristik Pengguna ... 70
3.1.5 Analisis Kebutuhan Fungsional ... 71
3.1.5.1 Diagram Konteks ... 71
3.1.5.2 DFD Level 1 ... 72
3.1.5.3 DFD Level 2 Proses ETL ... 72
3.1.5.4 DFD Level 2 Proses Analisis ... 73
3.1.5.5 DFD Level 3 Cetak Laporan Pemesanan ... 75
3.1.5.6 DFD Level 3 Cetak Laporan Penjualan ... 75
3.1.6 Spesifikasi Proses ... 76
3.1.7 Kamus data ... 78
3.2 Perancangan Arsitektur ... 83
3.2.1 Perancangan Arsitektur Antar Muka ... 83
3.2.1.1 Perancangan Struktur Menu ... 84
3.2.1.2 Perancangan Struktur Antar Muka ... 84
3.2.1.3 Perancangan Jaringan Simantik ... 88
3.2.1.4 Perancangan Prosedural ... 89
BAB IV IMPLEMENTASI DAN PENGUJIAN ... 96
4.1 Implementasi Sistem ... 92
ix
4.1.4 Implementasi Perangkat Lunak ... 98
4.1.5 User Interface ... 98
4.1.5.1 Form Menu Utama ... 98
4.1.5.2 Form Menu ETL ... 99
4.1.5.3 Form Menu OLAP ... 100
4.1.5.4 Form Menu OLAP Pemesanan ... 100
4.1.5.5 Form Cetak Laporan OLAP Pemesanan ... 101
4.1.5.6 Form Menu OLAP Penjualan ... 101
4.1.5.7 Form Cetak Laporan OLAP Penjualan ... 102
4.2 Pengujian Sistem ... 103
4.2.1 Pengujian Alpha ... 103
4.2.1.1 Pengujian ETL ... 104
4.2.1.2 Pengujian OLAP Pemesanan ... 109
4.2.1.3 Pengujian OLAP Penjualan ... 115
4.2.1.4 Kesimpulan Pengujian Alpha ... 120
4.2.2 Pengujian Beta ... 120
4.2.2.1 saran Pengujian Beta ... 124
4.2.2.2 kesimpulan Pengujian Beta ... 124
BAB V KESIMPULAN DAN SARAN ... 125
5.1 Kesimpulan ... 125
x
DAFTAR PUSTAKA ………. .... 127
1 1.1Latar Belakang Masalah
Perkembangan teknologi informasi mengalami kemajuan pesat pada masa ini, memberikan peran besar dalam perubahan yang mendasar bagi perusahaan atau organisasi dalam mengelola aset utama yang dimiliki oleh perusahaan atau organisasi yaitu data operasional berupa data bisnis. Hal Ini menimbulkan kebutuhan akan teknologi informasi agar data yang banyak bisa diolah dan bisa di akses sesuai kebutuhan informasi dan dapat bermanfaat guna membangkitkan pengetahuan-pengetahuan baru, yang dapat membantu dalam pengaturan strategi bisnis.
2
dijual serta keuntungan untuk periode waktu tertentu , untuk setiap produk tertentu dan setiap wilayah tertentu.
Dari hasil wawancara dengan pihak UD.Singapur Group, perusahaan menginginkan sebuah sistem yang dapat melakukan integrasi data yang terpisah ke dalam suatu sistem, mengakses data dalam jumlah yang besar, menganalisa data berdasarkan tinjauan bisnis dari waktu tertentu secara detail, melakukan perhitungan dan analisis terhadap jumlah barang yang akan dipesan dan dijual, memudahkan perusahaan dalam menggali informasi lebih dalam guna menghasilkan informasi yang cepat dan akurat berupa data penjualan dan pemesanan barang untuk membantu perusahaan dalam menghasilkan data berupa laporan yang representative.
Berdasarkan penjelasan diatas, penulis membuat tugas akhir ini dengan judul membangun aplikasi data warehouse pada UD.Singapur Group. Adapun hasil yang diharapkan yaitu dapat mengurangi dan menyelesaikan kendala kendala yang terdapat dalam persuahaan.
1.2Rumusan Masalah
1.3Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dari penelitian tugas akhir ini adalah untuk membangun sebuah aplikasi data warehouse pada UD. Singapur Group.
Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :
1. Membantu perusahaan dalam melakukan integrasi data yang terpisah kedalam suatu sistem dan dapat mengambil data dalam jumlah yang besar. 2. Membantu UD.Singapur Group dalam menganalisa data berdasarkan
tinjauan bisnis dari waktu tertentu secara detail serta melakukan perhitungan dan analisis terhadap jumlah barang yang akan dipesan dan dijual
3. Membantu UD. Singapur Group untuk menggali informasi lebih dalam mempercepat pengambilan informasi data pemesanan dan penjualan dan menghasilkan data transaksi pemesanan dan penjualan barang secara tepat, cepat dan akurat.
4. Mempermudah UD. Singapur Group untuk menganalisa pemesanan dan penjualan barang dalam periode tertentu dalam bentuk laporan yang dapat dimengerti oleh semua pihak.
1.4Batasan Masalah
4
1.Data yang akan dianalisis nantinya berupa data pemesanan dan penjualan barang.
2.Sumber data untuk menyimpan data transaksi pemesanan dan penjualan berupa database OLTP .
3.Data barang yang ada merupakan data barang produksi pabrik dan bukan produksi home industri.
4.Data barang yang digunakan hanya mengambil dari 5 supplier yang bekerja sama dengan UD.Singapur Group.
5.Laporan dicetak secara Drill Drown
6.DBMS yang digunakan adalah SQL Server 2008
7.Aplikasi pendukung menggunakan Borland Delphi 7.
1.5Metodologi Penelitian
Metodologi yang digunakan dalam penulisan tugas akhir ini adalah bersifat
description research (penelitian deskripsi) yaitu metode yang menggambarkan
fakta-fakta dan informasi dalam situasi atau kejadian secara sistematis, faktual dan akurat. Metodologi penelitian ini memiliki dua tahapan, yaitu tahap pengumpulan data dan tahap pengembangan perangkat lunak :
1. Metode Pengumpulan Data
a. Studi Literatur
Dalam studi literature teknik yang digunakan yaitu mengumpulkan literatur, jurnal, paper dan bacaan yang ada kaitannya dengan judul penelitian misalnya membaca tugas akhir mengenai data warehouse. b. Observasi
Dalam Observasi peneliti mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil pada perusahaan UD.Singapur Group.
c. Interview
Dalam teknik observasi pengumpulan data dilakukan dengan mengadakan tanya jawab secara langsung kepada perusahaan yang ada kaitannya dengan topik yang diambil.
2. Metode Pembangunan Perangkat Lunak.
Model yang digunakan dalam pengembangan perangkat lunak ini adalah menggunakan model waterfall [1] seperti yang tercantum pada gambar 1.1 yang meliputi beberapa proses diantaranya :
a. Communication
6
b. Planing
Planning adalah sebuah tahap yang dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini juga membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan.
c. Modeling
Modeling adalah tahap dalam mengimplementasikan (menterjemahkan) design perangkat lunak kedalam kode-kode dengan menggunakan bahasa pemrograman yang telah ditentukan.
d. Construction
Construction adalah tahap pengintegrasi (penggabungan) unit-unit program yang telah diimplementasikan dan kemudian dilakukan pengujian secara menyeluruh.
e. Deployment
Communication
Project initiation Requirement gathering
Planning
Estimating Scheduling Tracking
Modeling
Analysis Design
Construction
Code Test
Deployment
Delivery Support Feedback
Gambar 1.1 Metode Waterfall
1.6Sistematika Penulisan
Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.
BAB II LANDASAN TEORI
8
permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya.
BAB III ANALISIS MASALAH
Bab ini menguraikan tentang analisis dan perancangan sistem membahas mengenai gambaran sistem yang sedang berjalan. menjelaskan mengenai langkah-langkah yang digunakan dalam proses perancangan sistem meliputi alir data, diagram konteks, data flow diagram, kamus data, rancangan antar muka.
BAB IV PERANCANGAN DAN IMPLEMENTASI
Merupakan tahapan yang dilakukan dalam penelitian secara garis besar sejak dari tahap persiapan sampai penarikan kesimpulan, metode dan kaidah yang diterapkan dalam penelitian. Termasuk menentukan variabel penelitian, identifikasi data yang diperlukan dan cara pengumpulannya, penentuan sampel penelitian dan teknik pengambilannya, serta metode/teknik analisis yang akan dipergunakan dan perangkat lunak yang akan dibangun jika ada.
BAB V KESIMPULAN DAN SARAN
9
BAB II
TINJAUAN PUSTAKA
2.1 Profil Perusahaan
UD.Singapur Group adalah satu dari beberapa perusahaan yang bergerak dibidang jual beli dan distribusi sepatu . UD.Singapur Group didirikan pada tahun 1984 oleh Bapak H.Basri dan HJ.Nurhayati dengan nama Bintang Perca. Saat itu UD.Singapur Group merupakan toko Grosir pertama yang berada di wilayah
Bukittinggi. Tahun 1989 “Bintang Perca” berganti nama menjadi “Singapur” yang
berpusat di Aur Kuning. Pada saat itu pemilik perusahaan ingin membuat produk sendiri dan mendistribusikan produk tersebut ke toko-toko yang lain sehingga pada tahun 1996 Toko Singapur memperluas cabangnya yang berada di Pekanbaru-Riau dengan nama „Indah Singapur” guna memudahkan dalam pendistribusian barang kepada toko-toko yang berada di luar provinsi Sumatera Barat .
Setelah terjadi krisis Moneter UD.Singapur Group mengalami kendala dalam memproduksi produk sepatu, sehingga pemilik saat itu memutuskan untuk memasok barang dari pabrik-pabrik terdapat di luar Sumatera contohnya PD. Mitra Lestari dsb. Pada tahun 1997 Singpur mendirikan cabang yang lain yang
bernama “Cahaya Singapur” guna mendistribusikan khusus produk-produk sepatu
10
juga memperoleh ijin unit dagang No. 203/44.1/538.5.12/2000. Toko Utama UD.Singapur Group berada di Pusat Grosir Terminal Aur Kuning No.3 Bukittinggi-Sumatera Barat, dengan no.telepon : +0752-34970.
2.2 Landasan Teori
Subbab ini berisi teori-teori pendukung yang digunakan dalam proses analisis dan implementasi tugas akhir ini.
2.2.1 Data warehouse
Data warehouse adalah sebuah database yang mewakili sejarah bisnis suatu
perusahaan atau organisasi. Data warehouse merupakan kombinasi dari database
yang berbeda-beda. Data warehouse mengkombinasikan informasi dengan meringkas (summarizing) dan mengelompokkan (aggregation). Informasi yang diperlukan ini didefinisikan oleh persetujuan para pengguna sesuai dengan informasi yang mereka butuhkan dalam pengambilan keputusan. Jadi suatu data
warehouse hanya berisi informasi yang relevan dengan kebutuhan user untuk
mendukung pengambilan keputusan. 2.2.1.1 Pengertian Data warehouse
Pengertian Data Warehouse menurut beberapa ahli adalah sebagai berikut :
merupakan data histori dan digunakan untuk permintaan data (query) pada bisnis intellegence dan aktifitas analisis.
Menurut W.H Inmon dalam bukunya Building The Data Warehouse (2005), data warehouse adalah koleksi data yang mempunyai sifat berorientasi subjek (subject-oriented) terintegrasi dan konsisten (Integrated and consistent), time-variant dan bersifat tetap dan tidak berubah (Not volatile).
Dari definisi-definisi diatas, dapat disimpulkan data warehouse adalah database yang saling bereaksi yang dapat digunakan untuk query dan analisisis, sedangkan menurut Bill Inmon data warehouse bersifat orientasi subjek, terintegrasi, time-variant,tidak berubah yang digunakan untuk membantu para pengambil keputusan. Adapun penjelasan diatas dapat dijelaskan sebagai berikut :
1. Subject-oriented
Data warehouse diorganisasikan dalam lingkup subjek Berfokus pada
spesifikasi konsep bisnis, model dan analisis pada data untuk membuat keputusan. Contoh U.D Singapur Group, subyek yang terlibat antara lain pelanggan, barang, sales, transaksi, order,dan lainnya. Orientasi subjek memungkinkan para pengguna untuk menentukan tidak hanya bagaimana bisnis mereka sedang berjalan tetapi mengapa bisnis mereka berjalan. Data
warehouse berbeda dengan database operasional dalam hal kebanyakan
12
memisahkan data yang tidak berguna di dalam proses pengambilan keputusan.
2. Integrated
Data warehouse dibangun dengan menggabungkan/menyatukan data yang
berbeda. Penggunaan penamaan, bentuk dan struktur yang konsisten serta karakteristik yang saling berhubungan dari berbagai sumber internal maupun eksternal perusahaan/organisasi.
3. Time-Variant
Data operasional biasanya memproteksi sebuah periode waktu yang singkat karena banyak transkasi berhubungan dengan beberapa data. Waktu adalah dimensi penting yang harus didukung oleh semua data warehouse misal harian, mingguan, bulanan, dimana setiap struktur kunci mengandung elemen waktu. Dimensi waktu merupakan dimensi yang dikandung data dalam data warehouse . Data disimpan untuk menyediakan informasi dari perspektif historical artinya data tidak menyediakan status saat ini. Mereka disimpan untuk lima atau sepuluh tahun atau lebih dan digunakan untuk mempelajari trend, peramalan dan perubahan dari informasi.
4. Nonvolatile
Sekali dimasukkan kedalam data warehouse , data adalah read-only, mereka tidak bisa diubah atau diperbaharui. Data using dibuang dan perubahan direkam sebagai data baru. Hal ini memungkinkan data
2.2.1.2 Arsitektur Data warehouse
Menurut Golfarelli dan Rizzi dalam bukunya Data Warehouse Design, Modern Principles and Methodologies (2009:7-29), Terdapat 3 jenis arsitektur data warehouse yaitu Single-Layer Architecture, Two-Layer Architecture, dan Three-Layer Architecture. Adapun dari penjelasannya akan dijabarkan sebagai berikut :
1. Single Layer Architecture
Dalam Single Layer Architecture hasil akhir yang diinginkan adalah untuk memperkecil total keseluruhan data store, untuk mencapai hasil akhir tersebut data yang bersifat redudansi akan dihapus. Dalam kasus ini data
warehouse bersifat virtual artinya data warehouse di implementasikan
sebagai dimensional view dari data operasional dan dibuat sebagai
middleware. Kelemahan dari arsitektur ini adalah kesalahan dalam
menggabungkan antara analisis dan proses transaksi. Gambar 2.1 menjelaskan Single-Layer Architecture dalam data warehouse .
14
2. Two-Layer Architecture
Dalam suatu perusahaan, data operasional biasanya berada pada daerah kekuasaan departemen masing-masing dalam bentuk database OLTP.. Gambar 2.2 Menjelaskan mengenai Two-Layer Architecture dalam data
warehouse , dimana dalam arsitektur ini media penyimpanan antara sumber
data dan data warehouse dipisahkan.
Gambar 2.2 Two-Layer Architecture
Lapisan pertama adalah source layer. Pada lapisan ini, data masih berupa operasional data, artinya data warehouse dibangun dengan mengintegrasikan data-data yang berasal dari berbagai sumber data, yaitu
Lapisan kedua adalah data staging area. Pada lapisan ini, data operasional akan diekstrak ( lebih dikenal dengan proses ETL ) ke dalam data
warehouse . Sesuai dengan namanya, aplikasi ETL melakukan fungsi-fungsi
Extract, Transform, dan Load. Proses extract adalah proses pengambilan
data dari sumber data. Disebut extract, karena proses pengambilan data ini tidak mengambil data matang saja. Proses extract ini harus mengakomodir berbagai macam teknologi yang digunakan oleh sumber data dan diintegrasikan ke dalam database tunggal. Kemudian data hasil extract ini menjalani proses transform yang pada prinsipnya adalah mengubah kode-kode yang ada menjadi kode-kode-kode-kode standar, misalnya kode-kode propinsi. Hal ini perlu dilakukan mengingat data-data yang diambil berasal dari sumber yang berbeda yang kemungkinan memiliki standardisasi yang berbeda pula. Standardisasi diperlukan untuk nantinya memudahkan pembuatan laporan. Proses load dalam ETL adalah suatu proses mengirimkan data yang telah menjalani proses transformasi ke gudang data akhir, yaitu data warehouse
itu sendiri dimana aplikasi reporting dan business intelligence siap untuk diakses.
16
Lapisan keempat adalah analysis. Ada 4 tugas yang nantinya dapat dilakukan, keempat tugas tersebut yaitu [3]:
a. Pembuatan Laporan (Reporting)
Pembuatan laporan adalah salah satu tugas data warehouse yang paling umum dilakukan, dengan menggunakan query sederhana didapatkan laporan per-hari/minggu/bulan/tahun atau jangka waktu kapanpun yang diinginkan.
b. On-Line Analytical Processing (OLAP)
Dengan adanya data warehouse , semua informasi baik detail ataupun summary yang dibutuhkan dalam proses analisa mudah didapat.
OLAP mendayagunakan konsep data multidemensi dan memungkinkan para pengguna menganalisa data sampai mendetail, tanpa mengetik satupun perintah SQL. Hal ini memungkinkan karena menggunakan konsep multidimensi (diintegrasikan kedalam tabel fakta dan tabel dimensi).
c. Data Mining
d. Proses Informasi Executive
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 rinciannya secara lengkap sehingga mempermudah pengambilan keputusan. Informasi dan data pada laporan data warehouse menjadi target informative bagi pengguna.
3. Three-Layer Architecture.
Perbedaan Two-Layer Architecture dengan Three-Layer Architecture yaitu terletak pada lapisan ketiga. Dalam arsitektur ini, lapisan ketiga adalah lapisan data reconciled atau operasional data store. Berikut penjelasan dari
Three Layer Architecture:
1. Data Operasional disimpan dalam berbagai sistem operasional dalam setiap bagian organisasi. Lapisan ini terlaksana apabila data operasional yang diperoleh dari sumber data sudah terintegrasi dan bersih (telah melalui proses ETL) dan data-data yang ada dapat terintegrasi, konsisten, benar, mutakhir, dan rinci.
2. Reconciled Data atau Operational Data Store (ODS)
18
Penyimpanan data berada dalam gudang data perusahaan atau data mart. Tahap ini berfungsi untuk memasukkan data ke dalam Enterprise Data
warehouse (EDW) yang terintegrasi secara terpusat dan tersedia untuk
[image:32.595.177.393.249.491.2]pendukung keputusan.. Gambar 2.3 Menjelaskan mengenai Three-Layer Architecture dalam data warehouse .
Gambar 2.3 Three -Layer Architecture
2.2.2 Data Staging dan ETL
Merupakan fase yang terjadi ketika mengintegrasikan data ke dalam data
warehouse . Tiga fungsi utama yang perlu dilakukan untuk membuat data siap
digunakan pada datawarehouse adalah Extraction, Transformation dan Loading.
Transformation merupakan proses yang mempunyai peran dalam melakukan
pada staging area. Gambar 2.4 menjelaskan mengenai data staging dan proses ETL:
Gambar 2.4 Data Staging dan ETL dalam Data warehouse
1. Extraction
Bagian pertama dari suatu proses ETL adalah men-ekstrak data dari sumber data. Disebut ekstrak, karena proses mengubah data ke dalam suatu format yang berguna untuk proses transformasi. Pengambilan data ini tidak mengambil keseluruhan data yang ada di database operasional, melainkan hanya mengambil data matang saja. Pada proses ekstraksi data terdapat proses cleasning data dimana data operasional yang telah diambil/dibaca akan diperbaiki dari kesalahan- kesalahan pada input data, redudansi data, nilai field yang tidak konsisten, dan sebagainya. Proses ini meliputi penyaringan data yang digunakan dalam pembuatan data
warehouse , dapat langsung dimasukkan langsung dalam data
20
terlebih dahulu. Pada hakikatnya bagian dari ekstraksi melibatkan penguraian dari data yang telah diekstrak, menghasilkan suatu pengecekan jika data bertemu dengan suatu struktur atau pola yang diharapkan. Jika bukan, data tersebut mungkin ditolak secara keseluruhan.
2. Transformation
Proses yang ke dua adalah transformasi data yang telah diekstrak ke dalam format yang diperlukan. Hal ini perlu dilakukan mengingat data yang diambil berasal dari sumber yang berbeda yang kemungkinan memiliki standardisasi yang berbeda pula. Data dari beberapa sistem perlu ditransformasi ke dalam format umum yang disepakati dan digunakan dalam data warehouse . Aturan- aturan data Transformation antara lain :
a. Extracting
Mengambil data dari sumber operasional dalam “as is” status, dan
sumber-sumber data berasal dari mainframes yang hampir seluruhnya berupa database relasional
b. Conditioning
Perubahan tipe data dari sumber data ke target data (data
warehouse ) tetapi tetap dalam bentuk database relasional missal :
c. Scrubbing
Digunakan untuk membersihkan/meningkatkan kualitas data.
d. Merging
Proses penggabungan data dengan memperhatikan aturan-aturan dalam mengintegrasikan data
e. House Holding
Mengidentifikasikan semua anggota dari household (berada di alamat yang sama) untuk mengirimkan report. Menjamin hanya satu jenis dokumen saja yang dikirimkan kepada setiap household karena mengirimkan multiple report akan mengakibatkan naiknya
“cost” pada data warehouse .
f. Enrichment
Mengambil data dari sumber data eksternal (diluar data source yang seharusnya) untuk memperkaya data operasional yang sudah ada.
g. Scoring
Komputasi probabilitas tentang sebuah event, sebagai contoh menghitung kemungkinan pelanggan membeli produk baru.
h. Delta Updating
22
i. Refresh
Proses yang mempropagasi terjadinya proses pengupdatean dari sumber data ke data warehouse , caranya misalnya melakukan refresh secara periodic (setiap malam/minggu) atau setelah event-event yang signifikan, ketika data warehouse membutuhkan data yang bersangkutan, atau berdasarkan kebijakan refresh yang dibuat oleh administrator berdasarkan kebutuhan pengguna.
j. Validating
Proses pemeriksaan kebenaran data yang diihasilkan dari penggabungan.
3. Load
Data load adalah memindahkan data ke datawarehouse. Ada dua loading data yang dilakukan pada datawarehouse. Ada 2 cara dalam proses loading yaitu :
a. Refresh
Dalam proses refresh data warehouse secara keseluruhan ditulis ulang, artinya data yang lama diganti. Refresh biasanya digunakan dalam kombinasi ekstraksi statis untuk berada dalam area data
warehouse
b. Update
Hanya data-data tertentu yang dirubah dan ditambahkan ke dalam data
warehouse . Update biasa dilakukan tanpa menghapus atau
kombinasi dengan ekstraksi tambahan untuk memperbaharui data
warehouse secara berkala.
2.2.3 Perancangan Data warehouse
2.2.3.1 Pendekatan Perancangan
Sebelum merancang data warehouse sebelumnya kita harus mengetahui pendekatan dalam perancangan dalam data warehouse yaitu :
1. Pendekatan Normalisasi
Desain ternomalisasi menyediakan performansi yang optimal untuk system OLTP, karena banyaknya transaksi yang diperlukan untuk mengupdate data. Normalisasi memastikan tabel-tabel terbentuk secara benar dan menghindari terjadinya redudansi, dengan hanya memiliki satu copy data. Data dalam data warehouse disimpan berdasarkan aturan normalisasi data, Kelebihan dalam pendekatan normalisasi yaitu mudah untuk menambahkan data/informasi ke dalam database, tetapi memiliki kelemahan dimana banyak tabel yang terlibat sehingga akan menimbulkan kesulitan dalam penggabungan data.
2. Pendekatan Dimensional
Untuk mengoptimalkan performasi warehouse, dimana aktifitas utama yang dilakukan adalah melakukan query atas data, maka diperlukan model data yang baru yang mendukung keperluan ini. Pada data
24
modelling technique. Pemodelan dimensional adalah suatu model berbasis
pemanggilan yang mendukung akses query volume tinggi. Pendekatan dimensional pada pemodelan yaitu mengorganisasi data ke dalam tabel fakta ( data transaksi numeric) dan tabel dimensi ( referensi informasi dari fakta). Pendekatan dimensional lebih sering digunakan walaupun terkadang di dalam pendekatannya tetap membutuhkan normalisasi. Adapun kelebihan dari pendekatan dimensional adalah data direpresentasikan dalam bentuk yang lebih mudah dipahami oleh user. Sedangkan kekurangannya adalah susah untuk mempertahankan integritas dari fakta dan dimensi.
2.2.3.2 Multi-Dimensional Modelling
Data warehouse dan OLAP tools didasarkan pada model data
multidimensional. Model ini memeandang data dalam bentuk kubus data, yaitu memungkinkan data yang dimodelkan dan dilihat dalam berbagai dimensi (N-dimensi) . Pemodelan data dimensional berguna untuk meringkas dan menyusun data dan memperlihatkan data untuk mendukung para analisis data[5].
penjualan : produk, customer, dll. Penjelasan mengenai fakta, dimensi dan measure adalah sebagai berikut :
1. Fact
Fact adalah suatu koleksi dari relasi data-data items, terdiri dari ukuran-ukuran dan konteks data. Setiap fact biasanya merepresentasikan sebuah bisnis item, suatu transaksi bisnis, atau sebuah kejadian yang dapat digunakan dalam analisis bisnis atau proses bisnis. Dalam data mart, fact
di implementasikan dalam tabel dasar dimana semudah data numeric dan disimpan[3].
2. Dimensions
Dimensions adalah suatu koleksi dari anggota atau unit-unit data
dengan tipe yang sama. Dalam sebuah diagram, suatu dimensi biasanya direpresentasikan dengan suatu axis. Dalam dimensional model, semua data menunjukan fact tabel yang diasosiasikan dengan satu dan hanya satu member sari setiap multiple dimensions. Jadi dimensi menunjukan latar belakang kontekstual dari fact. Banyak proses analisis yang digunakan untuk menghitung (quatify) dampak dari dimensi pada fact[3] .
Dimensi adalah parameter dari apa yang ingin lakukan dalam On-Line
Analytical Processing (OLAP)[2] sebagai contoh, dalam suatu database
26
Dimensi biasanya juga dapat dipetakan bukan angka numerik, entity yang bersifat informatif seperti merek atau karyawan, berikut merupakan penjelasan :
a. Dimension member : suatu dimensi berisi banyak anggota-anggota. Suatu anggota dimensi adalah nama pembeda atau indetifier yang digunakan untuk membedakan posisi suatu data item. Sebagai contoh, semua bulan, empat bulanan dan tahunan membuat dimensi waktu. Dan semua kota, wilayah dan negara merupakan dimensi geografi[2].
b. Dimension Hierarchies : dapat mengatur anggota dari suatu dimensi kedalam satu atau banyak hirarki. Setiap hirarki dapat juga mempunyai banyak level hirarki. Setiap member dari dimensi tidak boleh dilokasikan kedalam satu struktur hirarki[2] .
3. Measure
Suatu measures (ukuran) adalah suatu besaran (angka numerik) atribut dari sebuah fact, yang menunjukan performance atau behavior
2.2.3.3 Visualisasi Dari Suatu Dimensional Model
Cara yang paling populer dalam memvisualisasikan suatu model dimensional adalah dengan menggambarkan sebuah cube data. Contohya dapat dilihat pada (Gambar 2.5) dapat menggambarkan tiga model dimensional menggunakan sebuah kubus. Biasanya suatu dimensional model terdiri dari lebih tiga dimensi dan digambarkan sebagai suatu hypercube, akan tetapi hypercube
sulit untuk divisualisasikan, jadi sebuah kubus lebih biasa digunakan [2]. Gambar 2.5 menjelaskan bentuk data cube berupa:
a. Cube 1 dimensi yaitu : masing-masing dari dimensi waktu, item, location dan supplier
b. Cube 2 dimensi yaitu : time-item, time-supplier, item-supplier, location-supplier, time-location, item-location.
c. Cube 3 dimensi yaitu : time-item-location, time- location-supplier, time-item-supplier dan item-location-supplier.
d. Cube 4 dimensi dimana semua dimensi digabung menjadi 1 yaitu time, item, location, dan supplier.
28
Terdapat tiga konsep yang dapat memodelkan lebih jelas dalam penentuan fact
tabel dimensi dan measure, yaitu :
1. Star Schema
Star Schema dalah model dasar dari pemodelan multidimensi yang dapat di lihat pada gambar 2.7. Model star memiliki satu tabel induk yang dinamakan tabel fakta dan kumpulan dari tabel-tabel kecil yang disebut tabel dimensi dimana tabel dimensi diwakili hanya satu tabel saja dan setiap tabel berisi set atribut serta disusun dalam pola-pola melingkar mengelilingi tabel fakta [4]. Contoh model star yang terdapat pada gambar 2.6 terdapat satu tabel fakta yaitu tabel sales yang dikelilingi oleh 4 tabel dimensi yaitu dimensi waktu, dimensi item, dimensi lokasi dan dimensi cabang dan terdapat measure dalam tabel sales yaitu dollar_sold dan units_sold.
Gambar 2.6 Model Star 2. Model SnowFlake
beberapa tabel dimensi, namun tabel dimensi itu sendiri dapat seolah-olah berupa sebuah tabel fakta lain yang juga memiliki dimensinya sendiri [4] contohnya terdapat pada gambar 2.7 dimana pada model snowflake dapat dilihat bahwa tiap-tiap tabel dimensi berhubungan dengan dimensi yang lain seolah-olah tabel dimensi tersebut merupakan tabel fakta. Hal ini dapat terjadi karena pada model snowflake ini telah dilakukan normalisasi. Normalisasi ini tidak terdapat pada model star. Berdasarkan gambar 2.8 tabel sales merupakan tabel fakta yang dikelilingi oleh dimensi waktu, cabang, item, dan lokasi. Tetapi dimensi item dan dimensi lokasi di normalisasi sehingga memiliki turunan yaitu dimensi supplier dan dimensi kota.
Gambar 2.7 Model SnowFlake
3. Model Constellation.
Model constellation ditampilkan sebagai koleksi dari kumpulan skema
30
terdapat dalam gambar 2.8 Dalam data warehouse subjek-subjek dikumpulkan berupa informasi yang mencakup semua informasi dalam perusahaan seperti penjualan, pelanggan, barang, dll. Dalam constellation
[image:44.595.120.451.398.578.2]skema tabel fakta berbagi tabel dimensi dan tabel dimensi tersebut di normalisasi lagi sehingga tabel dimensi tersebut memiliki turunan tabel dimensi lainya. Pada gambar 2.8 terdapat 2 buah tabel fakta yaitu tabel sales dan tabel shipping dimana tabel tersebut dikelilingi oleh tabel dimensi yaitu dimensi waktu, cabang, item, pengirim dan lokasi. Dimensi lokasi, waktu dan item berbagi dengan 2 tabel fakta yang ada, sedangkan dimensi pengirim memiliki turunan tabel dimensi yaitu dimensi lokasi [9]
Gambar 2.8 Model Constellation
OLAP digunakan untuk memproses informasi dan menampilkanya dalam bentuk multidimensi. OLAP memberikan jawaban terhadap query analytic untuk data multidimensional. Berikut penjelasan mengenai kubus OLAP dan teknik dalam penyimpanan OLAP.
2.2.4.1 OLAP Cube (Kubus OLAP)
Objek utama yang disimpan dalam sebuah basis data OLAP ialah cube
(kubus). Sebuah kubus merupakan representasi multidimensi dari sekumpulan data, yang mengandung data secara detail maupun rangkumannya. Sebuah basis data OLAP dapat memiliki beberapa buah kubus sesuai dengan yang dibutuhkan, yang menggambarkan data yang ada dalam data warehouse . Sebuah kubus dibangun menggunakan dua komponen utama yaitu ukuran (measure) dan dimensi. Ukuran merupakan nilai numerik dari fact tabel dalam data warehouse
seperti harga dari unit maupun kualitas dari item. Sedangkan dimensi menggambarkan kategori dari ukuran yang ada, seperti bagaimana ukuran berubah setiap waktu.
Dengan adanya data warehouse , semua informasi baik detail ataupun summary yang dibutuhkan dalam proses analisa mudah didapat. OLAP
mendayagunakan konsep data multidemensi dan memungkinkan para pengguna menganalisa data sampai mendetail, tanpa mengetik satupun perintah SQL. Hal ini memungkinkan karena menggunakan konsep multidimensi (diintegrasikan kedalam tabel fakta dan tabel dimensi). Operasi yang terdapat dalam OLAP yaitu :
32
Consolidation atau yang lebih dikenal roll up merupakan operasi yang
melakukan agregasi pada kubus data. Pada operasi Roll Up data bisa dilihat secara global atau berupa rangkuman (summary). Drilling down
merupakan teknik untuk memecahkan sebuah informasi menjadi beberapa informasi yang lebih detail. Sebagai contoh, jika dilakukan drill
down terhadap data tahunan maka akan dapat diperoleh data dalam catur
wulan atau tri wulan [4].
b. Slice dan Dice
Slicing dan dicing adalah operasi untuk melihat data sebagai visualisasi
dari kubus. Pengguna dapat mengekstrak bagian dari data agregrated dan dapat memeriksa dengan detail berdasarkan dimensi-dimensi yang diinginkan. Data Agregrated merupakan data praperhitungan (precalculated) dalam bentuk rangkuman data (data summarized) sehingga query pada kubus (cube) lebih cepat. Slicing memotong kubus sehingga dapat memfokuskan pada perspektif yang spesifik (pada suatu dimensi). Sedangkan dicing memberikan kemampuan untuk melihat pemilihan data pada dua dimensi atau lebih. Yaitu dengan merotasi cube pada perspektif yang lain sehingga pengguna dapat melihat lebih spesifik terhadap data yang dianalisa [4].
c. Pivot
Menampilkan nilai-nilai ukuran dalam tata letak tabel yang berbeda. Mengatur kembali dimensi dalam sebuah kubus data. Pivotting
melakukan pivotting maka dapat diamati suatu informasi atau data dari sudat pandang yang berbeda, sehingga diharapkan akan dapat memperjelas analisis yang dilakukan.
Gambar 2.9 menjelaskan masing-masing operasi yang terdapat dalam OLAP
Gambar 2.9 Operasi-operasi yang terdapat dalam OLAP
2.2.5 Data Flow Diagram
34
DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. Komponen DFD menurut Yourdan dan De Marco:
Nama Keterangan
Terminator Sumber (source) : terminator yang menjadi
sumber.
Terminator Tujuan (sink) : terminator yang menjadi tujuan
data/informasi sistem.
Proses : menggambarkan bagian dari sistem yang
mentransformasikan input menjadi output.
Data store : biasanya berkaitan dengan
penyimpanan-penyimpanan, seperti file atau database yang berkaitan
dengan penyimpanan secara komputerisasi, misalnya file
disket, file harddisk, file pita magnetik. Data store juga
berkaitan dengan penyimpanan secara manual seperti buku
alamat, filefolder, dan agenda.
Alur data ini digunakan untuk menerangkan perpindahan data
atau paket data/informasi dari satu bagian sistem ke bagian
lainnya.
2.2.6 Flowchart
Flowchart merupakan representasi grafik dari algritma dengan
[image:48.595.90.481.260.706.2]yang khusus [7], untuk lebih jelas dapat di lihat pada tabel 2.1. Flowchart
menggambarkan atau langkah dari sistem (proses, operasi, fungsi atau aktifitas).
Flowchart mempunyai beberapa simbol yang digunakan .
2.2.7 SQL Server 2008
SQL Server 2008 adalah sebuah terobosan baru dari Microsoft dalam bidang database. SQL Server adalah sebuah DBMS (Database Menagement System) yang dibuat oleh Microsoft untuk ikut berkecimpung dalam persaingan dunia pengolahan data menyusul pendahulunya seperti IBM dan Oracle. SQL Server 2008 dibuat pada saat kemajuan dalam bidang hardware sedemikian pesat.
SQL ( Structured Query Language ) adalah bahasa standar yang digunakan untuk mengakses server database. Semenjak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix
dan Sybase. Dengan menggunakan SQL, proses akses database menjadi lebih
user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih
menggunakan perintah – perintah pemrograman murni.
Microsoft SQL Server adalah sebuah server database SQL multiuser dan
multi-threaded. SQL sendiri adalah salah satu bahasa database yang paling
populer di dunia. Implementasi program server database ini adalah program daemon 'mysqld' dan beberapa program lain serta beberapa pustaka. Sebagaimana
database sistem yang lain, dalam SQL juga dikenal hierarki server dengan
36
secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom.
Field-field tersebut dapat berupa data seperti int, realm char, date, time dan lainnya.
SQL tidak memiliki fasilitas pemrograman yang lengkap, tidak ada looping
ataupun percabangan. Sehingga untuk menutupi kelemahan ini perlu digabung dengan bahasa pemrograman semisal Pascal.
2.2.8 Konsep Pemrograman Borland Delphi
Borland Delphi merupakan suatu bahasa pemograman yang memberikan fasilitas pembuatan aplikasi visual [6]. Bahasa pemograman yang digunakan adalah bahasa pemograman pascal atau kemudian disebut sebagai bahasa pemograman Delphi. Delphi sendiri merupakan penerus dari turbo pascal. Borland Delphi merupakan suatu bahasa pemrograman yang memberikan berbagai fasilitas pembuatan aplikasi visual. Bahasa pemrograman yang digunakan adalah bahasa pemrograman Pascal atau kemudian juga yang disebut bahasa pemrograman Delphi. Delphi merupakan generasi penerus dari Turbo Pascal. Delphi adalah compiler (penterjemah) bahasa Delphi (awalnya dari pascal) yang merupakan bahasa tingkat tinggi sekelas dengan basic, C. Bahasa pemrograman di Delphi disebut bahasa procedural yaitu bahasa atau sintaknya mengikuti urutan tertentu.
38
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan permasalahan, kesempatan-kesempatan, hambatan hambatan yang terjadi dan kebutuhan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan. Adapun Analisis Sistem yang dilakukan antara lain :
1. Analisis Kebutuhan Data warehouse
2. Analisis Multidimensional Model dan Skema Data warehouse
3. Analisis Kebutuhan OLAP
3.1.1 Analisis Kebutuhan Data warehouse
Pada tahap analisis kebutuhasn data warehouse, akan dijelaskan mengenai proses-proses yang akan dianalisis guna membangun kebutuhan terhadap data
warehouse. Adapun dalam tahap menganalisa kebutuhan data warehouse akan
dijelaskan sesuai dengan tahapan dalam arsitektur data warehouse yaitu
Two-Layer Architecture. Two-Two-Layer Architecture terdiri atas 4 layer yaitu : sumber
Data Operasional
Melakukan Koneksi ke Database
Memuat Sumber ke mesin Database Mengecek Sumber Data Apakah Sumber Data Sesuai D a ta b a se O p e ra sio n a l Melakukan Ekstrak Apakah Data setelah ekstrak masih terdapat kesalahan? Melakukan Cleasning/ Filtering Data Melakukan Transform Apakah kolom Data sudah sesuai?
Proses Cleaning/ Conditioning
Menjalankan Script untuk Loading Data
D a ta W a re h ou se OLAP OLAP
Source Data Data Staging
[image:53.595.88.481.111.343.2]Data Warehouse Analysis YA TIDAK Return YA YA TIDAK TIDAK Return
Gambar 3.1 Arsitektur Database UD.Singapur Group 3.1.1.1 Layer Pertama Analisis Sumber Data (Database OLTP)
Sumber data (source data) merupakan layer pertama dalam arsitektur data
warehouse sebagai tahap awal dalam menganalisa kebutuhan data warehouse.
DB.Singapur adalah OLTP yang menjadi sumber data. Gambar 3.2 menjelaskan OLTP DB.Singapur beserta lampiran dari tabel-tabel yang terdapat dalam OLTP
40 T_Barang PK Kode_Barang Nama_Barang Kuantitas Harga FK1 ID_Supplier Nama_Supplier T_Supplier PK ID_Supplier Nama_Supplier Keterangan T_Wilayah PK Kode_Wilayah Nama_Wilayah FK1 Kode_Provinsi Nama_Provinsi T_Provinsi PK Kode_Provinsi Nama_Provinsi T_Pelanggan PK ID_Pelanggan Nama_Pelanggan Alamat FK1 Kode_Wilayah Nama_Wilayah FK3 Kode_Provinsi Nama_Provinsi T_Pemesanan PK No_Nota_Order Tanggal FK1 Kode_Barang Nama_Barang Kuantitas Harga FK2 ID_Supplier Nama_Supplier T_Penjualan PK No_Nota_NP Tanggal FK1 Kode_Barang Nama_Barang Kuantitas Harga Potongan FK2 ID_Pelanggan Nama_Pelanggan Alamat FK3 Kode_Wilayah Nama_Wilayah FK4 Kode_Provinsi Nama_Provinsi
Adapun keterangan dari setiap tabel adalah sebagai berikut :
1. Tabel Supplier
Tabel ini berisi mengenai data Supplier yang memasok barang-barang pabrik. Untuk lebih jelasnya dapat dilihat pada tabel 3.1.
Tabel 3.1 Tabel Supplier
Nama Field Tipe Data Panjang Data
Kunci Keterangan
Id_Supplier int Primary Key
Not Null
Nama_Supplier varchar 20 Not Null Keterangan varchar 25 Allow Null
2. Tabel Barang
Tabel ini memberikan keterangan mengenai pelanggan UD. Singapur Group, untuk lebih jelasnya dapat dilihat pada tabel 3.2
Tabel 3.2 Tabel Barang
Nama Field Tipe Data Panjang Data
Kunci Keterangan
Kode_Barang varchar 20 Primary Key
Not Null
ID_Supplier int Foreign Key
Not Null, reference tabel supplier (ID_Supplier)
42
3. Tabel Wilayah
Tabel ini meberikan keterangan mengenai wilayah, dimana customer dari UD.Singapur group berada, untuk lebih jelasnya dapat dilihat pada tabel 3.3.
Tabel 3.3 Tabel Wilayah
Nama Field Tipe Data Panjang Data
Kunci Keterangan
Kode_Wilayah int Primary Key
Not Null
Kode_Provinsi int Foreign Key
Not Null, reference tabel provinsi (Kode_provinsi) Nama_Wilayah varchar 30 Not Null
Nama_Provinsi Varchar 20 Not Null
4. Tabel Provinsi
Tabel ini memberikan keterangan mengenai Provinsi dimana pelanggan berada, untuk lebih jelasnya dapat dilihat pada tabel 3.4.
Tabel 3.4 Tabel Provinsi
Nama Field Tipe Data Panjang Data
Kunci Keterangan
Kode_Provinsi int Primary Key
Not Null
Nama_Provinsi varchar 20 Not Null
5. Tabel Pelanggan
Tabel 3.5 Tabel Pelanggan Nama Field Tipe Data Panjang Data
Kunci Keterangan
ID_Pelanggan int Primary Key
Not Null
Kode_Wilayah int Foreign Key
Not Null, reference tabel wilayah(Kode_Wilayah) Kode_Provinsi int Foreign
Key
Not Null, reference tabel provinsi (Kode_Provinsi) Nama_Pelanggan varchar 15 Not Null
Alamat varchar 30 Allow Null Nama_Wilayah varchar 30 Not Null Nama_Provinsi varchar 20 Not Null
6. Tabel Pemesanan
Tabel Ini memberikan keterangan mengenai transaksi pemesanan barang pada UD.Singapur group, untuk lebih jelasnya dapat dilihat pada tabel 3.6
Tabel 3.6 Tabel Pemesanan
Nama Field Tipe
Data
Panjang Data
Kunci Keterangan
Tanggal date
No_Nota_Order varchar 15 Primary Key
Not Null
Kode_Barang varchar 20 Foreign Key
Not Null, reference tabel barang (Kode_barang)
Id_Supplier int Foreign Key
Not Null, reference tabel supplier (ID_Supplier)
44
7. Tabel Penjualan
Tabel ini memberikan keterangan mengenai transaksi penjualan di UD.Singapur Group, untuk lebih jelasnya dapat dilihat pada tabel 3.7.
Tabel 3.7 Tabel Penjualan
Nama Field Tipe
Data
Panjang Data
Kunci Keterangan
Tanggal date
No_Nota_NP varchar 10 Primary Key
Not Null
Kode_Barang varchar 20 Foreign Key
Not Null, reference tabel barang
Id_Pelanggan int Foreign Key
Not Null, reference tabel pelanggan (ID_Pelanggan) Kode_Wilayah int Foreign
Key
Not Null, reference tabel wilayah (Kode_wilayah) Kode_Provinsi int Foreign
Key
Not Null reference tabel provinsi(Kode_Provinsi) Nama_Barang varchar 20 Not Null
Nama_Pelanggan varchar 15 Not Null
Alamat varchar 30 Allow Null
Nama_Wilayah varchar 30 Not Null
Nama_Provinsi varchar 20 Not Null
Kuantitas int Allow Null Harga int Allow Null Potongan Int Allow Null
3.1.1.2 Layer Kedua Data Staging
atau tidak untuk dijadikan data warehouse. Apabila data tersebut layak, maka dilakukan proses ETL.
ETL adalah sebuah proses pengambilan data dari OLTP (sumber data), dengan ETL data operational dapat disimpan ke dalam data warehouse. Extract,
transform, dan load (ETL) merupakan sebuah sistem yang dapat membaca data
dari suatu data store, mengumpulkan, menyaring, mengolah dan menggabungkan data yang relevan dari berbagai sumber dan menyimpan ke data warehouse. Data
store yang dibaca ETL disebut data source, sedangkan data store yang disimpan
ETL disebut target. Proses pengubahan data digunakan agar data sesuai dengan format dan kriteria, atau sebagai validasi data dari source system. Proses ETL tidak hanya menyimpan data ke data warehouse, tetapi hasil dari proses ETL juga digunakan untuk keperluan proses analisis.
Gambar 3.3 Proses ETL
1. Proses Extract
46
[image:60.595.234.385.196.566.2]adalah mengubah data ke dalam suatu format yang berguna untuk proses transformasi. Berikut adalah proses ekstrak pada data warehouse :
Gambar 3.4 Flowchart proses ekstrak
a. Tabel Barang
Untuk mengestrak tabel barang, langkah yang dilakukan yaitu mengambil semua record dan kolom yang terdapat dalam tabel barang (kode barang, nama barang, kuantitas, harga, id supplier dan nama supplier), jika sesuai maka akan melakukan pembacaan kolom dan proses salin data. Untuk lebih jelasnya tabel barang setelah proses ekstrak dapat dilihat pada gambar 3.5 berikut :
Gambar 3.5 Tabel Barang Setelah Proses Ekstrak b. Tabel Supplier
48
Gambar 3.6 Tabel Supplier Setelah Proses Ekstrak c. Tabel Wilayah
Untuk mengestrak tabel wilayah, langkah yang dilakukan yaitu mengambil semua record yang terdapat dalam tabel wilayah yaitu kode wilayah, nama wilayah, kode provinsi, nama provinsi. Tabel wilayah setelah proses ekstrak dapat dilihat pada gambar 3.7 berikut :
Gambar 3.7 Tabel Wilayah Setelah Proses Ekstrak d. Tabel Provinsi
[image:62.595.183.440.403.610.2]Kolom yang dipilih berupa kode provinsi dan nama provinsi. Tabel provinsi setelah proses ekstrak dapat dilihat pada gambar 3.8 berikut :
Gambar 3.8 Tabel Provinsi Setelah Proses Ekstrak e. Tabel Pelanggan
[image:63.595.192.379.168.296.2]Untuk mengestrak tabel pelanggan langkah yang dilakukan adalah memilih semua record dan kolom yang terdapat dalam tabel pelanggan yaitu id pelanggan, nama pelanggan, laamat, kode wilayah, nama wilayah, kode provinsi dan nama provinsi, untuk lebih jelasnya dapat dilihat pada gambar 3.9 berikut :
50
f. Tabel Pemesanan
[image:64.595.141.487.333.539.2]Untuk mengestrak data transaksi pemesanan, langkah yang dilakukan yaitu mengambil semua record dan kolom yang terdapat dalam tabel pemesanan (Tanggal, no_notaorder, kode_barang, nama_barang, id_warna, nama_warna, kuantitas, dan harga,id_supplier, nama_supplier), jika sesuai maka akan melakukan pembacaan kolom dan proses salin dan simpan data. Untuk lebih jelasnya tabel pemesanan setelah proses ekstrak dapat dilihat gambar 3.10 berikut :
Gambar 3.10 Tabel Pemesanan Setelah Proses Ekstrak g. Tabel Penjualan
Untuk mengestrak data transaksi penjualan, langkah yang dilakukan yaitu
mengambil semua record dan kolom yang terdapat dalam tabel penjualan
Tanggal, no nota np, kode barang, nama barang, id warna, nama warna,
kuantitas, harga, id pelanggan, nama pelanggan, alamat, kode wilayah, nama
wilayah, kode provinsi, nama provinsi. Untuk lebih jelas tabel penjualan
Gambar 3.11 Tabel Penjualan setelah proses Ekstrak
2.Proses Transform
Setelah dilakukan Tahap ekstrak, tahap transformation dilakukan dengan menggunakan serangkaian aturan dan fungsi untuk selanjutnya akan dimasukkan ke dalam data warehouse. Proses ini untuk menyesuaikan data apa saja yang akan di load ke dalam target (data
warehouse). Fungsi transformasi yang akan dilakukan adalah Cleaning
dan conditioning .
Berikut ini merupakan penjelasan fungsi cleaning pada proses transformasi yang akan dilakukan antara lain :
a. Fungsi Cleaning data terhadap nilai null.
52
[image:66.595.141.484.166.420.2]proses cleaning pada tabel penjualan dapat dilihat pada gambar 3.12 berikut.
Gambar 3.12 Fungsi cleaning terhadap data yang bernilai null
b. Fungsi Cleaning terhadap field data yang tidak dibutuhkan/digunakan untuk proses analisis. Proses cleaning
terhadap field data yang tidak dibutuhkan untuk proses analisis dapat dilihat dalam beberapa tabel, yaitu :
1. Tabel Penjualan
Gambar 3.13 Fungsi cleaning Terhadap Tabel Penjualan 2. Tabel Pelanggan
54
Gambar 3.14 Fungsi cleaning terhadap tabel pelanggan 3. Tabel Supplier
[image:68.595.139.488.112.364.2]Pada tabel supllier, field keterangan tidak akan digunakan untuk proses berikutnya. proses cleaning terhadap data yang tidak dibutuhkan pada tabel penjualan dapat dilihat pada gambar 3.15 berikut :
c. Fungsi Conditioning
Proses conditioning dilakukan dengan pemilihan tabel dan atribute
dari sumber data ke target data (data wwarehouse). Penjelasan dari
conditioning pada proses transformasi yaitu mengubah field
tanggal pada tabel pemesanan dan penjualan akan dijadikan tabel dim_waktu (dengan field berupa kode_waktu, bulan, tahun) karena ketika proses analisis, data yang dibutuhkan bisa dianalisis lebih dalam berdasarkan range waktu yang diinginkan. Untuk lebih jelasnya mengenai tanggal dari tabel pemesanan dan penjualan yang dijadikan dim waktu akan dijelaskan dengan gambar 3.16 dibawah ini :
Gambar 3.16 Fungsi Conditioning Terhadap Field Tanggal Pada Tabel Pemesanan dan Penjualan
Pada proses transform data yang sudah melalui tahap conditioning, di ubah dari format data operasional menjadi format data warehouse. Untuk lebih jelas mengenai proses transform yang terjadi akan di jelaskan dengan flowchart
56
Gambar 3.17 Flowchart Proses Transform
3. Proses Loading
Fase Load merupakan tahapan yang berfungsi untuk memasukkan data kedalam target akhir. Pada proses ini data yang sudah dibaca dan dibersihkan dan diubah formatnya akan disimpan pada data
warehouse. Dalam tahap loading UD.Singapur Group menggunakan
format DBMS SQL SERVER dan akan di-update secara berkala setiap triwulan.
3.1.1.3 Data warehouse Layer
Data warehouse layer merupakan layer ketiga dalam arsitektur data
warehouse. Dalam data warehouse data setelah proses ETL akan disimpan
3.1.1.4 Analisis
Layer keempat dalam arsitektur data warehouse adalah analysis. Ada 2 tugas yang dilakukan, yaitu Pembuatan Laporan (Reporting) dan analisis menggunakan On-Line Analytical Processing (OLAP). Proses analisis akan dibahas lebih lanjut dlam analisa kebutuhan OLAP.
3.1.2 Analisis Dimensional Model dan Skema Data warehouse
Dalam analisis dimensional model dan analisis skema data warehouse akan dilakukan beberapa proses untuk membangun model dimensional dan merancang skema data warehouse. Sebelum menganalisa skema data warehouse yang akan digunakan, terlebih dahulu akan dilakukan analisis terhadap dimensional model.
3.1.2.1 Analisis Dimensional Model
Model dimensional menggunakan konsep model hubungan anatar entity (ER) dengan beberapa batasan yang penting. Setiap model dimensi terdiri dari sebuah tabel dengan sebuah komposit primary key, disebut dengan tabel fakta dan satu set tabel yang lebih kecil disebut tabel dimensi. Setiap tabel dimensi memiliki sebuah simple primary key yang merespon tepat pada satu komponen primary key pada tabel fakta, artinya primary key pada tabel fakta terdiri dari 2 atau lebih foreign
key.
1. Tabel dimensi
58
yang dirancang dalam data warehouse UD.Singapur Group adalah sebagai berikut :
a. Tabel Dim_Supplier
Tabel ini berisi data supplier setelah proses transformasi, penjelasan mengenai tabel dimensi supplier dapat dilihat pada tabel 3.8 di bawah ini.
Tabel 3.8 Tabel Dim_Supplier
Nama Field
Tipe Data
Panjang Data
Kunci Keterangan
Id_Supplier int Primary Key
Not null
Nama_Supplier varchar 20 Not null
b. Tabel Dim_Waktu
Tabel ini berisi data sebagai penunjuk waktu, minggu, bulan, atau tahun, penjelasan mengenai dimensi waktu penjualan dan dimensi waktu pemesanan dapat dilihat pada tabel 3.9 di bawah ini.
Tabel 3.9 Tabel Dim_Waktu
Nama Field
Tipe Data
Panjang Data
Kunci Keterangan
ID_Waktu int Primary Key
Not Null
c. Tabel Dim_Wilayah
Tabel ini berisi data wilayah penjualan UD.Singapur Group, penjelasan mengenai tabel dim wilayah dapat dilihat pada tabel 3.10 di bawah ini.
Tabel 3.10 Tabel Dim_Wilayah
Nama Field
Tipe Data
Panjang Data
Kunci Keterangan
Kode_Wilayah int Primary Key
Not Null
Kode_Provinsi Int Foreign Key
Not Null reference
tabel provinsi (Kode Provinsi)
Nama_Wilayah varchar 30 Not Null Nama_Provinsi Varchar 20 Not Null
d. Tabel Dim_Provinsi
Tabel ini berisi data yang menerangkan provinsi dari pelanggan yang terdapat pada UD.Singapur Group, penjelasan mengenai tabel dim provinsi