56
BAB IV PERANCANGAN DATA WAREHOUSE DAN BI
4.1
Perancangan Data Warehouse
4.1.1
Memilih Porses Berdasarkan dari hasil observasi dan wawancara yang telah dilakukan terhadap
kegiatan bisnis yang berjalan ataupun terhadap kegiatan pelaporan yang sudah menjadi rutinitas bagi staff BSD, bahwa laporan yang dibutuhkan oleh manager dari tim BSD sendiri ialah laporan sales setiap hari, yaitu mengenai laporan penjualan yang telah dilakukan olah cabang, sementara untuk membuat laporan tersebut perlu melihat data yang ada pada core aplikasi, dan kemudian direkapnya secara manual. Sehingga dapat disimpulkan bahwa proses yang dikaitkan dengan permasalahan yang dihadapi dengan kegiatan operasional sehari- hari tersebut ialah proses penjualan dalam skala nasional dimana data meliputi cabang, customer, brand, supplier dan asset. 4.1.2
Memilih sumber Berikut merupakan data dari calon table fakta yang dapat dianalisis dalam
perancangan data warehouse, yaitu analisis pada sales meliputi : 1. Total Approve 2. Total Commence Analisis tersbut akan dilakukan per-periode tertentu, yaitu dilakukan secara daily. 4.1.3
Identifikasi dan Penyesuaian Dimensi Berikut ini adalah table dimensi yang terdapat pada perancangan data warehouse
daily sales Tabel 4.1 tabel grain dan dimensi sales Grain Dimensi Cabang Customer Brand Supplier Asset
Total Apporve X X X X X
Total Commence
http://digilib.mercubuana.ac.id/
X X X X X
57
4.1.4
Memilih Fakta Fakta-fakta yang dipilih untuk mengisi setiap record pada tabel fakta antara lain
1. Tabel fakta approve a. Paradate b. BranchID c. Status d. BranCode e. BranItem f.
IntEffRate
g. TotalContract h. ContractAmount i.
DPAmount
j.
Package
k. RangeDP l.
SupplierCode
m. AsetCond n. Cost_Amount o. AdmFee p. PolAmt q. branch_source_id 2. Tabel fakta commence a. Paradate b. BranchID c. Status d. BranCode e. BranItem f.
IntEffRate
g. TotalContract h. ContractAmount i.
DPAmount
j.
Package
k. RangeDP l.
SupplierCode
http://digilib.mercubuana.ac.id/
58
m. AsetCond n. Cost_Amount o. AdmFee p. PolAmt q. branch_source_id 4.1.5
Menyimpan perhiungan awal dalam table fakta Pre kalkulasi yang akan disimpan dalam tabel fakta meliputi 1. Jumlah aplikasi masuk, yang merupakan kumpulan aplikasi yang diajukan oleh customer dan diseleksi oleh karyawan cabang [count(applno)] 2. Jumlah aplikasi yang sudah memulai angsuran, yang merupakan kumpulan aplikasi yang diajukan oleh customer dan diseleksi oleh karyawan cabang dan saat ini sudah memulai pembayaran angsuran [count(contno)]
4.1.6
Melihat kembali tabel dimensi Pada langkah ini akan diberikan deskripsi pada tabel dimensi agar dapat menjelaskan
dengan mudah kepada user dan dimengerti oleh user mengenai dimensi tersebut. Berikut deskripsi tabel-tabel dimensi Tabel 4.1
: tr_date
Deskripsi
: tabe dimensi date
Primary Key
: paradate
Nama kolom Paradate WorkDays WeekNo
Type smalldatetime smallint Int
Allow Null no yes yes
Tabel 4.2
: dim_asset_brand_item_map
Deskripsi
: table dimensi asset
Primary Key
: asset_brand_code
Nama Kolom asset_brand_code asset_brand_name asset_brand_item asset_brand_category asset_brand_group asset_brand_item_desc Updateby Updated
Tipe Data varchar char varchar varchar char varchar varchar smalldatetime
Panjang 3 50 3 20 40 50 25 4
Keterangan tanggal EOD hari kerja keberapa minggu keberapa
Allow null no no no no yes no yes yes
http://digilib.mercubuana.ac.id/
Keterangan kode merek nama merek kode asset kode kategori asset kode group asset nama asset user update tanggal update
59
asset_brand_item_code
varchar
7
concade dari kode merek dan kode asset
yes
Tabel 4.3 : dim_branch_source_map Deskripsi
: dimensi branch
Primary Key
: branch_id
Nama Kolom branch_id branch_source_id branch_name branch_source_name branch_id_map establish_date region_id region_name province_id region_yamaha region_honda region_suzuki region_kawasari region_bajaj region_tvs bussiness_unit_id region_piaggio rmh_yamaha rmh_honda branch_id_map_npl is_NextG
Tipe Data smallint smallint varchar varchar smallint smalldatetime float varchar float varchar varchar varchar varchar varchar varchar smallint varchar varchar varchar smallint bit
Tabel 4.4
: dim_supplier
Deskripsi
: dimensi supplier
Primary Key
: branch_id
Nama Kolom Branchid supplier_code supplier_real_name
Tipe Data smallint varchar nvarchar
SuppName SuppCommName Supplier_Group Brand_Dealer
nvarchar nvarchar nvarchar nvarchar
Panjang 2 2 30 50 2 4 8 50 8 50 50 50 50 50 50 2 50 50 50 2 1
Allow null no no yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes yes
Panjang 2 12 120
Allow null no no yes
150 150 120 30
yes yes yes yes
http://digilib.mercubuana.ac.id/
Keterangan kode branch kode cabang satelite nama cabang nama satelite kode cabang hasil mapping tanggal cabang berdiri kode regional nama regional kode provinsi regional yamaha regional honda regional suzuki regional kawasaki regional bajaj regional tvs kode Sales operation regional piaggio nama RMH yamaha nama RMH Honda kode NPL kod nextG
Keterangan kode branch kode supplier nama supplier nama supplier dari core system nama perusahaan supplier grup supplier merek jual supplier
60
Category main_dealer Owner Alamat_Dealer City Asset_Condition
nvarchar nvarchar nvarchar nvarchar nvarchar char
Tabel 4.4
: dim_branditem_map
Deskripsi
: dimensi asset
Primary Key
: branch_id
Nama Kolom asset_brand_code asset_brand_name asset_brand_item asset_brand_category asset_brand_group asset_brand_item_desc Updateby updatedt
Tipe Data nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar
asset_brand_item_id
nvarchar
4.1.7
30 100 100 510 60 5
Panjang 510 510 510 510 510 510 510 510 510
yes yes yes yes yes yes
kategori induk supplier nama pemilik alamat kota kondisi asset jual supplier
Allow null yes yes yes yes yes yes yes yes yes
Keterangan kode merek nama merek kode asset kategory asset group asset nama asset nama user tanggal update concat dari kode merek dan kode asset
Memilih Durasi Database Durasi data yang dimasukan ke dalam data warehouse ialah data historis dari awal
perusahaan berdiri pada 2003, untuk membantu analisa trend kenajuan ataupun penurunan jumlah sales baik itu pertahun, perbulan, ataupun perhari. Nama OLAP Daily sales
Database daily sales
sejak tahun 1 Januari 2003
http://digilib.mercubuana.ac.id/
hingga 8 agustus 2015
Durasi 4602 hari
61
4.1.8
Memutuskan prioritas query dan tipe query Pada Porses ini akan dibahas mengenai perencanaan proses Extract, transform, and
load dengan menggunakan SQL Server Services, yaitu SSIS dan SSAS 4.1.8.1 Perancangan SQL Server Integrated Services (SSIS) Pada tahap ini akan dijelaskan langkah – langkah dalam pembangunan awal mula sebuah datawarehouse atau ETL dari source Core system menjadi sebuah data warehouse.
Gambar 4.1 Alur task SSIS
http://digilib.mercubuana.ac.id/
62
1. Membuat Koneksi Hal pertama yang harus dilakukan pada saat membangun sebuah ETL pada SSIS setelah membuat project SSIS tentunya, ialah membuat koneksi yang bertujuan untuk mementukan dimana dan akan kemana source akan diproses.
Gambar 4.2 Connection Manager Kemudian dikarenakan terdapat report dalam bentuk cube/OLAP, diharuskan juga untuk membuat sebuah koneksi yang menghubungkan SSIS dengan Cube, supaya dapat dibuatkan sebuah ETL untuk memproses report – report cube.
http://digilib.mercubuana.ac.id/
63
Gambar 4.3 Koneksi OLAP dengan SSIS 2. Execute SQL Task Pada bagian berikut dimana akan dibuat sebuah task untuk memporses Query ataupun ETL yang kita buat, dalam hal ini Execute SQL Task akan memproses SQL statement apa saja yang dicantumkan.
Gambar 4.4 Execute Task Editor Berikut untuk Task Editor pada SSIS daily sales beserta Query yang diproses. a. Preparation_02 Task ini bertujuan untuk mengumpulkan terlebih dahulu, seluruh sales yang terjadi satu bulan terakhir. Nama Store Procedure : [usp_Process_Preparation_02_4g] b. DSR_02 Pada bagian ini Execute SQL Task memproses query untuk mengisi data ke sebuah table yaitu tr_date, yang berisi informasi history EOD. Nama Store Procedure : [usp_Process_DSR_02_4g] c. DSR_03 Pada task ini berisi query untuk menyimpan data sales setiap harinya Nama Store Procedure : [usp_Process_DSR_03_Test_New_4g] d. DSR_04
http://digilib.mercubuana.ac.id/
64
Pada bagian ini berisi quey untuk mengumpulkan data overdue Nama Store Procedure : [usp_Process_Preparation_03_4g] e. DSR_05 Berisi query untuk mendapatkan customer yang memiliki leboh dari 1 contract Nama Store Procedure : [usp_Process_Preparation_03] f. DSR_06 Berisi query untuk mengelompokan data multiple kontrak yang sebelumnya sudah dikumpulkan pada task sebelumnya, yaitu mengelompokan menjadi customer repeat order Nama Store Procedure : [usp_Process_Preparation_04] g. DSR_07 Berisi query untuk mengelompokan data multiple kontrak yang sebelumnya sudah dikumpulkan pada task sebelumnya, yaitu mengelompokan menjadi customer Additional order Nama Store Procedure : [usp_Process_Preparation_05] 3. Sequence Container Pembuatan sequence container merupakan step optional, bada bagian ini khususnya untuk ETL daily sales report, hanya dituukan untuk merapikan dari setiap proses. Sequence Container sendiri digunakan pada saat ingin melakukan grouping pada beberapa proses, dengan urutan masing – masing pada setiap task.
Gambar 4.5 Sequence Container Process DSR
http://digilib.mercubuana.ac.id/
65
4. Analysis Services Process Task Dibuat untuk memproses cube, yang nantinya akan melakukan load data baru yang sudah diproses pada step ETL
Gambar 4.6 Analysis Service Process Task Daily Sales 4.1.8.2 Perancangan SQL Server Analysis Service (SSAS) OLAP, mungkin lebih banyak dikenal dengan nama tersebut yang mana merupakan report yang bersifat self service, dalam artian user report bebas untuk melihat report dari sudut pandang (Dimensi) mana saja sesuai kebutuhanm, berikut tahap- tahap dalam pembuatan SSAS atau OLAP 1. Data Source Sama hal nya dengan SSIS, koneksi menjadi hal yang penting, yang tidak lain tidak bukan untuk menentukan tempat kerja data yang akan kita proses nantinya.
http://digilib.mercubuana.ac.id/
66
Gambar 4.7 Data source Designer SSAS 2. Data Source View (DSV) Untuk mendesain apa dimensi dan table fakta apa saja yang nanti akan kita munculkan pada olap, perlu dibuatnya sebuah DSV yang nantinya akan menjadi view dari sebuah cube, dari fact table dan table dimensi yang direlasikan.
Gambar 4.8 DSV Daily Sales Dalam membangun sebuah DSV, terdapat dua cara untuk memunculkan sebuah tabel pada source yang sudah ditentukan, cara yang pertama ialah hanya memunculkan table yang sudah tersedia di source yang sudah ditunjuk dan untuk yang kedua ialah membuat sebuah tabel dari Query Name.
http://digilib.mercubuana.ac.id/
67
3. Cube Daily Sales Cube daily sales yang sebelumnya sudah dibuatkan DSV, berikut setelah dibuatkan menjadi cube.
Gambar 4.9 Cube Daily Sales
4. Dimensi Table yang tersimpan dalam staging database berisi data untuk mengelompokkan nilai yang akan diaggregasi, dan dimensi Merepresentasikan kategori dalam menganalisa data bisnis, misalnya nama cabang, Merek, Dealer, dll
Gambar 4.10 List Dimensi
http://digilib.mercubuana.ac.id/
68
1. Dimensi dim_branch_source_map
2. Dimensi Range DP
3. Dimensi Brand Item
4. Dimensi Dim_assetcondition
5. Proses Deploy SSAS Pada saat akan mendeploy pastikan dulu untuk mengisi konfigurasi deployment seperti pada gambar berikut
Gambar 4.11 Konfigurasi Deployment
http://digilib.mercubuana.ac.id/
69
6. Report SSAS Setelah dilakukan deployment dan proses cube, cube daily sales sudah dapat diakses oleh user dengan menggunakan fitur get external Data pada excel. Berikut beberapa report OLAP dari cube daily sales a. Sales by Asset Condition
Gambar 4.12 Report Sales by Asset Condition
b. Sales by Region
Gambar 4.13 Report Sales by Region
http://digilib.mercubuana.ac.id/
70
c. Sales Region by DP
Gambar 4.14 Report Sales Region by DP 4.2
Perancangan Business Intelligence
4.2.1
Perancangan SQL Server Reporting Services (SSRS) Seperti halnya pada SSAS dan SSIS, koneksi ke data source merupakan tahap awal membangun project, pada SSRS daily sales digunakan shared data source supaya hanya cukup satu kali proses membuat sebuah data source
Gambar 4.15 Connection properties SSRS
http://digilib.mercubuana.ac.id/
71
4.2.1.1. Dataset terdapat beberapa dataset dalam daily sales report, berikut untuk contoh dataset pada daily sales report
Gambar 4.16 Dataset properties Berikut untuk report - report SSRS daily sales beserta detail isi dataset beserta datasource yang digunakan 1. Report Approve by Brand Berisi informasi sales berdasarkan merek kendaraan yang terjual Datasource : Shared Datasource - SOF_Overdue Dataset : Dataset1 Tampilan Report
Gambar 4.17 Tampilan report Approve by Brand
http://digilib.mercubuana.ac.id/
72
2. Report Commence by Brand Datasource : Shared Datasource - SOF_Overdue Dataset : Dataset1 Tampilan Report
Gambar 4.18 Tampilan report Commence by Brand
http://digilib.mercubuana.ac.id/
73
3. Report Approve Commence by Branch Datasource : Shared Datasource - SOF_Overdue Dataset : Dataset1 Tampilan Report
Gambar 4.19 Tampilan report Approve Commence by Branch
4. Report Profile Customer Age by Brand Datasource : Shared Datasource - SOF_Overdue Dataset : Dataset1 Tampilan report
Gambar 4.20 Tampilan report profile customer age by brand
http://digilib.mercubuana.ac.id/
74
5. Report Repo by Branch Datasource : Shared Datasource - SOF_Overdue Dataset : Dataset1 Tampilan Report
Gambar 4.21 Tampilan report repo by branch
4.2.1.2. User interface sharepoint 1. Form Login Login ke sharepoint menggunakan windows authentication, secara teknis tidak diperlukan sebuah user khusus ataupun harus membuat user pada sharepoint, hanya mendaftarkan user windows.
Gambar 4.26 Form Login Pada form login yang muncul, user hanya perlu mengisi username dan password
http://digilib.mercubuana.ac.id/
75
2. Home Pada menu tersebut user hanya disediakan tampilan home pada umumnya hanya informasi tentang portal, dan ucapan selamat datang 3. Marketing Site pada saat user memilih menu marketing user akan disuguhkan pilihan beberapa library sesuai hak akses masing-masing
b
a Gambar 4.27 Marketing Site a. Menu marketing site b. Library menu 4. Marketing library site Report library berisi semua report, yang ditujukan untuk site-site tertentu, dalam hal ini untuk site marketing
b
Gambar 4.28 Report Library a
c
a. Menu marketing site b. Library menu c. List report
http://digilib.mercubuana.ac.id/
76
5. Report Pada saat user klik salah satu report, ambil contoh pada saat klik repot summary daily sales akan muncul tampilan serperti gambara dibawah
a
Gambar 4.29 blank Report a. Parameter Tempat untuk user mengisi parameter, khususnya dalam contoh report diatas parameter yang harus diisi ialah parameter tanggal b. Tombol apply Tombol untuk memunculkan report, apabila semua parameter telah terisi Setelah tombol apply diklik, berikut tampilan yang akan muncul
C
Gambar 4.30 Report c. Tombol action Pada tombol tersebut akan diberikan pilihan eksport ke beberapa format.
http://digilib.mercubuana.ac.id/
b