perancangan digital dashboard pada pt m cashback...
TRANSCRIPT
55
BAB 4 PERANCANGAN DIGITAL DASHBOARD BAB 4
PERANCANGAN DIGITAL DASHBOARD
4.1 Environment
Berikut ini adalah spesifikasi yang dibutuhkan dalam dalam membangun digital
dashboard.
Sistem Operasi Windows 2003 Standard Edition/Windows XP
Professional
DBMS SQL Server 2005 Enterprise Edition
Integration Tool SQL Server 2005 Integration Services
Analysis Tool SQL Server 2005 Analysis Services
BI Tool SQL Server BI Development Studio
Development Tool Visual Studio 2008 Professional Edition
Bahasa Pemrograman C# 2.0
Teknologi Visual dan
Grafis
ASP.NET, Ajax.NET, Dundas Chart
Tabel 4.1 Digital dashboard Environtment
56
4.2 Model Arsitektur
Gambar 4.1 Model Arsitektur
Pada gambar 4.1 merupakan arsitektur sistem Digital Dashboard PT. M Cashback.
Arsitektur sistem ini mendeskripsikan lingkungan sistem secara umum yang terdiri dari
komponen server dan klien serta koneksi antar komponen sistem. Dalam perancangan
digital dashboard ini data dirangkum dengan menggunakan konsep warehousing.
Perancangan Digital dashboard dengan konsep warehousing sesuai dengan
kebutuhan informasi yang telah dijelaskan pada bab sebelumnya. Setelah melalui proses
warehousing, informasi ditampilkan dalam bentuk Digital Dashboard.
4.3 Rancangan Data mart
Pada sub bab ini kami akan mengimplementasikan pengetahuan yang diperoleh dari
Bab sebelumnya untuk membuat sebuah data mart yang akan menjadi sumber data
untuk digital dashboard. Kami mmendesain data mart ini untuk menyimpan informasi
yang berasal dari OLTP (M System). Pada bab 3 telah dijelaskan kebutuhan informasi
dibutuhkan oleh pihak terkait didalam organisasi M Cashback. Berdasarkan model
desain Ralph Kimbal pada bab 2, berikut langkah-langkah dalam membangun data mart:
57
1. Membuat daftar measure berdasarkan kebutuhan informasi.
2. Membuat dimensi dan hirarki.
3. Membuat tabel fact.
4. Membuat desain data mart.
4.3.1 Daftar Measure
Sebelum mendesain data mart terlebih dahulu dipersiapkan measure atau ukuran
yang dibutuhkan oleh pengguna. Daftar ini juga dilengkapi dengan field yang tersedia
dari system OLTP, tipe data, dan formula.
Measure Atribut OLTP Tipe Data Formula
Jumlah top up Topup.Oid Int Count
Jumlah Sales Transaction.Oid Int Count
Jumlah target Tidak tersedia Int
Jumlah top up oleh
pelanggan
Code.Oid Int Count
Jumlah top up manual Transaction.Oid Int [Jumlah top
up]-[ Jumlah
top up oleh
pelanggan]
Jumlah top up yang berhasil Injection.oid Count ketika
state=3
58
Jumlah top up gagal [Jumlah top
up]-[ Jumlah
top up yang
berhasil]
Jumlah toko yang berjualan Code.redeemedAt Int Count distinct
Waktu yang dibutuhkan
untuk proses top up
Tidak tersedia Int Average
DATEDIFF
(Code.LastStat
eChange,Code.
RedeemedAt)
Tabel 4.2 Daftar Measure
4.3.2 Dimensi dan Hirarki
Pada bagian ini kami akan menyiapkan daftar dimensi serta hirarkinya dari data
mart yang akan dibuat. Daftar dimensi ini disertai juga dengan field-field yang tersedia
dari sistem OLTP. Jika dimensi merupakan anak sebuah dimensi lain, maka induk
dimensi juga didaftarkan.
4.3.3 Tabel Fact
Langkah selanjutnya adalah mempersiapkan tabel fact. Atribut tabel fact
berdasarkan dari kebutuhan digital dashboard yang dibahasa pada bab sebelumnya.
Atribut tabel fact didaftarkan berserta dengan tipe datanya. Berdasarkan skema yang
diperoleh dari sistem OLTP disimpulkan terdapat 3 buah tabel transaksi. Ketiga tabel
59
tersebut akan digabungkan ke dalam sebuah tabel fact yang bernama Top up Fact untuk
memudahkan proses ETL dan analisis.
4.3.4 Conceptual Data Model
Di bawah ini merupakan diagram data mart yang merupakan hasil analisis dari
database OLTP ( Sistem M). Deskripsi tiap-tiap dimensi yang juga merupakan tabel
master dari Sistem M telah dijelaskan pada bab sebelumnya. Kami menyimpulkan
bahwa model yamg kami gunakan untuk data mart adalah snowflake schema, karena ada
beberapa dimensi mempunyai parent tabel yang jika digambarkan menyerupai snowflake
(butir salju).
Gambar 4.2 Skema CDM data mart
60
4.3.5 Physical Data Model
Gambar 4.3 Diagram PDM data mart
4.3.6 Proses Extract, Transform, dan Load
SQL Server Integration Services (SSIS) adalah alat yang digunakan untuk
melakukan proses ETL (Extract, Transform, dan Load) dari system OLTP (M System)
ke data mart. Sebelum dipindahkan terlebih dahulu data OLTP dibersihkan (cleansing)
menggunakan sql query. Untuk proses load ETL sendiri dibagi menjadi 2 bagian yaitu:
Proses ETL Dimensi
Proses ETL Data Transansaksi (Fact Tabel)
61
Pemisahan ini dilakukan karena proses ETL Dimensi tidak terlalu sering dilakukan.
Proses ini hanya dilakukan saat pertama kali dan pada saat penambahan data dimensi,
seperti penambahan toko, produk, dan lain-lain. Sedangkan Proses ETL Data Transaksi
akan dijadwakan sesuai kebutuhan. Dalam hal ini sesuai dengan kebutuhan pengguna
proses ETL dilakukan harian.
4.3.7 Proses ETL Dimensi
Gambar 4.4 Proses ETL Dimensi
62
1. Load Retailer
Data flow ini berfungsi menarik data dimensi retailer.
a. Data Sumber
i. Database : MReconciler
ii. Tabel : Retailer
b. Data Tujuan
i. Database : MSytemDM
ii. Tabel : DimRetailer
iii. SQL Sintaks :
“select r.oid,externalid,name from retailer with (nolock) join issuing_body ib with (nolock) on r.oid=ib.oid”
2. Load Store Group
Data flow ini berfungsi menarik data dimensi store group.
a. Data Sumber
i. Database : MReconciler
ii. Tabel : Store_Group
b. Data Tujuan
i. Database : MSytemDM
ii. Tabel : DimStore_Group
63
iii. SQL Sintaks :
“select sg.oid,externalid,name,retailer from store_group sg with (nolock) join issuing_body ib with (nolock) on sg.oid=ib.oid”
3. Load Store
Data flow ini berfungsi menarik data dimensi toko
Data Sumber
i. Database : MReconciler
ii. Tabel : Store_Group
b. Data Tujuan
i. Database :MSytemDM
ii. Tabel :DimStore_Group
c. SQL Sintaks :
“select s.oid,externalid,name,storegroup from store s with (nolock) join issuing_body ib with (nolock) on s.oid=ib.oid”
4. Load Injection State
Data flow ini berfungsi menarik data dimensi status top up.
a. Data Sumber
i. Database : MReconciler
64
ii. Tabel : injection _state
b. Data Tujuan
i. Database : MSytemDM
ii. Tabel : DimInjection_State
iii. SQL Sintaks :
“select enumvalue,name from injection_state”
5. Load Telco
Data flow ini berfungsi menarik data dimensi provider telekomunikasi.
a. Data Sumber
i. Database : MReconciler
ii. Tabel : telco
b. Data Tujuan
i. Database : MSytemDM
ii. Tabel : DimTelco
iii. SQL Sintaks :
“select t.oid,id,name from telco t with (nolock) join issuing_body ib with (nolock) on t.oid=ib.oid”
65
6. Load Code Type
Data flow ini berfungsi menarik data dimensi produk provider telekomunikasi.
a. Data Sumber
i. Database : MReconciler
ii. Tabel : code_type
b. Data Tujuan
i. Database : MSytemDM
ii. Tabel : DimCode_Type
iii. SQL Sintaks :
“select oid,name,telco from code_type with (nolock)”
4.3.8 Proses ETL Data Transaksi
Pada Proses ETL data transaksi, sebelum data tersebut diimpor ke data mart, data
tersebut harus diekstrak terlebih dahulu, lalu kemudian dikonversi ke bentuk tipe-tipe
yang terdapat pada tabel fact. Berikut data flow dalam proses ETL Data Transaksi:
1. User Top up
Data flow ini berfungsi menarik data dimensi top up yang dilakukan pelanggan
sendiri
a. Data Sumber
i. Database : MReconciler
66
ii. Tabel : Top up,code,injection
iii. SQL Sintaks:
“select convert(varchar,injectiondate,101)
as TopupDate, codetype, store, i.state,
t.oid as Topup, ts.Oid as Sales,
RedeemedAt, injectionDate,1 as UserTopup
from
injection i with (nolock)
left join topup t with(nolock)
on t.injection=i.oid
left join [transaction] ts with(nolock)
on t.[transaction]=ts.oid
join code_type ct with (nolock)
on ct.oid=t.codetype
join code c with (nolock)
on c.oid=t.code
where
convert(varchar,injectiondate,101)=convert(v
archar,getdate()-1,101)
67
2. Manual Top up
Data flow ini berfungsi menarik data dimensi top up yang dibantu oleh call
center.
a. Data Sumber
i. Database : MReconciler
ii. Tabel : manual_credit,code,injection
iii. SQL Sintaks:
“select convert(varchar,injectiondate,101)
as TopupDate,codetype,issuedonbehalfof as
store,i.state,mc.oid as Topup, ts.Oid as
Sales,injectionDate as RedeemedAt,
injectionDate
From injection i with (nolock)
left join manual_credit mc with(nolock)
on mc.injection=i.oid
left join [transaction] ts with(nolock)
on mc.[transaction]=ts.oid
join code_type ct with (nolock) on
ct.oid=mc.codetype where
68
convert(varchar,injectiondate,101)=convert(v
archar,getdate()-1,101)”
3. Union All
Data flow ini berfungsi menggabungkan data user dan manual top up.
4. Data mart Destination
Pada bagian ini dilakukan mapping antara kolom input dan kolom tujuan.
Gambar 4.5 Desain ETL Tabel Fact
69
4.4 Metadata
Berdasarkan teori metadata warehouse pada Bab 2, Berikut ini hasil analisa
metadata warehouse Sistem M. Metadata warehouse Sistem M ini dibagi menjadi 3
bagian.
4.4.1 Operational Metadata
Metadata operasional merupakan data yang menjelaskan informasi tentang
sumber-sumber warehouse. Berikut ini adalah daftar struktur metadata operasional:
1. Kode Tabel: RETAILER
Nama Tabel: Tabel Retailer
Keterangan: Berisi data tentang retailer yang menjual produk M Cashback
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID retailer
externalId Varchar 50 ID retailer
tambahan
codeExpiryPeriod Integer - Masa berlaku kode
voucher
Tabel 4.3 Definisi Tabel Retailer
70
2. Kode Tabel: STORE_GROUP
Nama Tabel: Tabel Store Group
Keterangan: Berisi data grup-grup cabang retailer yang menjual produk M
Cashback
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID grup retailer
externalId Varchar 50 ID grup retailer
tambahan
Retailer GUID - ID retailer
Inactive Varchar 1 Status retailer
Tabel 4.4 Definisi tabel store group
71
3. Kode Tabel: STORE
Nama Tabel: Tabel Store
Keterangan: Berisi data cabang-cabang retailer yang menjual produk M
Cashback
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID toko retailer
externalId Varchar 50 ID tambahan toko
retailer
storeGroup GUID - ID grup retailer
tambahan
Retailer GUID - ID retailer
addressLine Varchar 50 Alamat toko
City Varchar 50 Kota toko
Region Varchar 50 Regional toko
Postcode Varchar 5 Kode pos toko
managerName Varchar 50 Nama manager
toko
Telephone Varchar 20 Nomor telepon
toko
Tabel 4.5 Definisi tabel store
72
4. Kode Tabel: CODE
Nama Tabel: Tabel Code
Keterangan: Berisi data kode voucher yang akan dijualkan kepada pelanggan
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID Code
Code Long Integer - Kode voucher
padOrValue Integer - Nilai Voucher
State Varchar 10 Status pengisian
voucher
Type Varchar 50 Jenis voucher
yang diisikan
Store GUID - Toko yang
menjualkan
voucher
Tabel 4.6 Definisi tabel code
73
5. Kode Tabel: CODE_STATE
Nama Tabel: Tabel Code State
Keterangan: Berisi data status pengisian kode ke nomor handphone
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID Status Kode
Name Varchar 50 Penamaan status
kode
Description Varchar 50 Definisi setiap
status
Tabel 4.7 Defenisi tabel code state
74
6. Kode Tabel: CODE_TYPE
Nama Tabel: Tabel Code Type
Keterangan: Berisi data satuan nilai kode yang dijual kepada pelanggan.
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID 50 ID tipe kode yang
diisikan
Name Varchar 50 Nama tipe kode
daysBeforeExpiry Integer - Lama masa
berlaku tipe kode
voucher
Telco Varchar 50 Perusahaan
operator
Tabel 4.8 Defenisi tabel code type
75
7. Kode Tabel: PHONE
Nama Tabel: Tabel Phone
Keterangan: Berisi data nomor handphone yang pernah diisikan pulsa melalui M
Cashback
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Msisdn Varchar 20 Nomor handphone
yang pernah
diisikan
Telco GUID - Operator pemilik
nomor
Tabel 4.9 Definisi Tabel Phone
76
8. Kode Tabel: TELCO
Nama Tabel: Tabel Telco
Keterangan: Berisi data operator
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID Operator
telekomunikasi
Id Varchar 50 ID tambahan
operator
Country Varchar 20 Negara pemilik
operator
telekomunikasi
Language Varchar 50 Bahasa yang
digunakan
operator
Tabel 4.10 Definisi tabel telco
77
9. Kode Tabel: TOP UP
Nama Tabel: Tabel Top up
Keterangan: Berisi data proses pengisian dan pembuatan kode voucher
Key:
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID proses top up
Transaction GUID - ID transaksi
voucher
Amount Integer - Nilai yang akan
diisikan
Code Long Integer - Kode Voucher
Tabel 4.11 Definisi tabel top up
78
10. Kode Tabel: TRANSACTION
Nama Tabel: Tabel Transaksi
Keterangan: Data transaksi
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID transaksi
Date Datetime 8 Tanggal transaksi
Operator Varchar 50 Petugas yang
menjualkan
retailTransactionTotal Integer - Total nilai
transaksi
Tabel 4.12 Definisi tabel transaksi
79
11. Kode Tabel: INJECTION
Nama Tabel: Tabel Injection
Keterangan: Berisi informasi status proses pengisian pulsa
Key: oid
Nama Field Tipe Field Panjang Field Keterangan
Oid GUID - ID Injection
injectionDate Datetime 8 Tanggal pengisian
pulsa ke nomor
telepon
Amount Integer - Nilai voucher
yang diisikan
Phone Varchar 20 Nomor handphone
yang pernah
diisikan
Telco GUID - ID Operator
telekomunikasi
State Varchar 20 Status pengisian
pulsa
Tabel 4.13 Definisi tabel injection
80
4.4.2 Extract Transform Load Metadata
Dalam proses ETL, dilakukan proses transfomasi format dan agregasi dari sumber
data menjadi data tujuan. Berikut ini metadata untuk proses ETL data warehouse Sistem
M.
1. Add ElapsedTimeTop up and SuccesTop up
Derived Column
name
Derived
Column
Expression DateType
ElapsedTimeTopup <add as new
column>
ISNULL(RedeemedAt) ? 0 :
ABS((DATEDIFF("s",
RedeemedAt,injectionDate)))
Int
SuccesTopup <add as new
column>
state == 3 ? 1 : 0 Int
Tabel 4.14 Elapsed time top up dan sources top up
2. Aggregate
Input Column Operation
Topup Count
Sales Count
UserTopup Count
ElapsedTimeTo up Average
SuccesTopup Count
81
Store Group by
CodeType Group by
TopupDate Group by
Tabel 4.15 Proses aggregate
82
3. Add FailedToup dan ManualTopup
Derived Column
name
Derived
Column
Expression DateType
FailedTopup <add as new
column>
(DT_I8)TTopup –
SuccesTopup
Int
ManualTopup <add as new
column>
Topup – UserTopup Int
Tabel 4.16 Proses failed top up dan manual top up
4. Data Conversion
Input Column Ouput Alias Data Type
Ttopup Topup2 four-byte signed integer [DT_I4]
Tsales Sales2 four-byte signed integer [DT_I4]
TuserTopup UserTopup2 four-byte signed integer [DT_I4]
Top upDate TopupDate2 database timestamp
[DT_DBTIMESTAMP]
83
ElapsedTimeTopup ElapsedTimeTopup2 four-byte signed integer [DT_I4]
SuccesTopup SuccesTopup2 four-byte signed integer [DT_I4]
FailedTopup FailedTopup2 four-byte signed integer [DT_I4]
ManualTopup ManualTopup2 four-byte signed integer [DT_I4]
Tabel 4.17 Mapping konversi data dari source ke destination
84
4.4.3 End User Metadata
End User Metadata merupakan informasi-informasi yang berhubungan desain
data warehouse. Informasi tersebut meliputi dimensi, hirarki, tabel fakta dan lain-lain.
Berikut ini metadata dimensi dan hirarki dari data mart Sistem M:
Dimensi Atribut OLTP Tipe data Induk Dimensi
Telco Telco.ID Long Tidak ada
Code_Type Code_Type.Name Nvarchar(50) Telco
Retailer Retailer.ExternalID Nvarchar(50) Tidak ada
Store Group Store_Group.ExternalID Nvarchar(50) Retailer
Store Store.ExternalID Nvarchar(50) Store_Group
Top upTime Waktu yang dibutuhkan
dalam sebuah transaksi
Int Tidak ada
Injection_State Injection_State.EnumValue Int Tidak ada
Target Tidak ada Int Tidak ada
Tabel 4.18 Daftar dimensi dan hirarki dari Data mart Sistem M
Berikut ini adalah metadata tabel Top up Fact:
Top up Fact
Nama Atribut Tipe Data
Topup Int
Sales Int
UserTopup Int
85
ManualTopup Int
SuccessTopup Int
FailedTopup Int
ElapsedTimeTopup Int
Topupdate Datetime (PK)
CodeType Uniqueidentifier (PK)
Store Uniqueidentifier (PK)
Tabel 4.19 Top up Fact
4.4.4 Membangun OLAP Cube
Langkah-langkah dalam membentuk cube OLAP adalah sebagai berikut:
1. Menentukan tabel dimensi time dalam hal ini adalah tabel Top upfact
2. Menentukan tabel periode waktu yaitu tanggal, bulan dan tahun.
3. Finalisasi struktur data cube.
4. Deploy dan upload data cube.
86
Gambar 4.6 Finalisasi struktur Cube
4.4.5 Desain Modul Dashboard
M Digital dashboard dibagi menjadi 4 modul. Modul utamanya adalah digital
dashboard sedangkan modul yang lain sebagi modul pendukung dari digital dashboard
tersebut. Setiap modul terdiri dari beberapa fungsi dan halaman. Berikut ini modul yang
terdapat dalam digital dashboard:
1. Modul Keamanan
Modul keamanan adalah modul yang berfungsi mengatur pengguna, serta hak
aksesnya. Modul keamanan terdiri dari beberapa fungsi. Berikut ini adalah
fungsi-fungsi pada modul keamanan
87
a. Fungsi Login
b. Fungsi Create User
c. Fungsi Manage User
d. Fungsi Recovery Password
e. Fungsi Change Password
2. Modul Pengaturan Target
Modul Pengaturan Target adalah modul yang berfungsi untuk mengatur
target, setiap retailer berdasarkan kurun waktu tertentu.
a. Fungsi View Target
b. Fungsi Add Target
c. Fungsi Edit Target
3. Modul Ad Hoc Report
Modul Ad Hoc Report adalah sebuah modul yang berisi sebuah fungsi
OLAP. Dengan menggunakan modul ini pengguna dapat membuat laporannya
sediri sesuai dengan kebutuhan pengguna.
4. Modul Digital dashboard
Seperti dijelaskan sebelumnya bahwa modul digital dashboard adalah modul
utama dari M Digital dashboard. Laporan yang ditampilkan pada umumnya
88
merupakan laporan grafis, ada beberapa laporan yang ditampilkan secara tabular
sesuai dengan kebutuhan pengguna.
a. Fungsi Summary Report
b. Fungsi Retailer Report
c. Fungsi Telco Report
d. Fungsi Comparison Report
e. Fungsi Period Snapshot Report
f. Fungsi Exception Report
89
4.4.6 Spesifikasi Fungsi Login
Nomor Fungsi : F001
Deskripsi : Fungsi untuk otentikasi pengguna sistem
Jenis : Form Entry Tabular
1. Spesifikasi Data
Jenis Data : Input
Tabel : aspnet_membership
Sintaks Sql :
“select * from aspnet_membership where userid=@userid and password=@password”
2. Layout Layar
Gambar 4.7 Layout halaman login
90
3. Spesifikasi Objek
Id_Objek Jenis Keterangan lblUser Label Merupakan penanda field yang akan diisi lblPassword Label Merupakan penanda field yang akan diisi txtUser Textbox Merupakan input text username txtPassword Textbox Merupakan input text password btnUser Button Menandai pengiriman data login dan memluai proses
login Tabel 4.20 Detail spesifikasi objek fungsi login
4. Cara penggunaan layar
Layar login digunakan untuk mencegah user yang tidak berhak masuk ke dalam
digital dashboard dan mengakses informasi yang terdapat didalamnya.
Cara Penggunaan Layar Login:
1. Isi username pada tempat yang disediakan untuk username
2. Isi password pada tempat yang telah disediakan untuk password, password yang
telah diketik akan ditampilkan dalam format karakter bintang (*).
3. Klik tombol login
Jika username dan password benar, maka akan langsung masuk ke dalam layar
home. Jika username dan password salah, maka akan ditampilkan di layar login tidak
berhasil dan muncul pesan kesalahan username atau password anda salah.
91
4.4.7 Spesifikasi Fungsi Create User
Nomor Fungsi : F002
Deskripsi : Fungsi untuk membuat user baru
Jenis : Form entry tabular
1. Spesifikasi Data
Jenis Data :Input
Tabel : aspnet_Membership
Sintaks Sql :
“ALTER PROCEDURE [dbo].[aspnet_Membership_CreateUser]
@ApplicationName nvarchar(256),
@Username nvarchar(256),
@Password nvarchar(128),
@PasswordSalt nvarchar(128),
@Email nvarchar(256),
@PasswordQuestion nvarchar(256),
@PasswordAnswer nvarchar(128),
@IsApproved bit,
@CurrentTimeUtc datetime,
@CreateDate datetime = NULL,
@UniqueEmail int= 0,
@PasswordFormat int = 0,
@UserId
uniqueidentifier OUTPUT
92
AS
INSERT INTO dbo.aspnet_Membership
( ApplicationId,
UserId,
Password,
PasswordSalt,
Email,
LoweredEmail,
PasswordQuestion,
PasswordAnswer,
PasswordFormat,
IsApproved,
IsLockedOut,
CreateDate,
LastLoginDate,
LastPasswordChangedDate,
LastLockoutDate,
FailedPasswordAttemptCount,
FailedPasswordAttemptWindowStart,
FailedPasswordAnswerAttemptCount,
FailedPasswordAnswerAttemptWindowStart )
VALUES ( @ApplicationId,
@UserId,
@Password,
@PasswordSalt,
@Email,
LOWER(@Email),
93
@PasswordQuestion,
@PasswordAnswer,
@PasswordFormat,
@IsApproved,
@IsLockedOut,
@CreateDate,
@CreateDate,
@CreateDate,
@LastLockoutDate,
@FailedPasswordAttemptCount,
@FailedPasswordAttemptWindowStart,
@FailedPasswordAnswerAttemptCount,
@FailedPasswordAnswerAttemptWindowStart)
2. Layout Layar
Gambar 4.8 Layout halaman create user
94
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
lblUsername Label Merupakan penanda field yang akan diisi
lblPassword Label Merupakan penanda field yang akan diisi
lblConfirmPassword Label Merupakan penanda field yang akan diisi
lblEmail Label Merupakan penanda field yang akan diisi
lblSecurityQuestion Label Merupakan penanda field yang akan diisi
lblSecurityAnswer Label Merupakan penanda field yang akan diisi
txtUsername Textbox Merupakan input text username
txtPassword Textbox Merupakan input text password
txtConfirmPassword Textbox Merupakan input text konfirmasi password
txtEmail Textbox Merupakan input email
txtSecurityQuestion Textbox Merupakan input text pertanyaan untuk keamanan
txtSecurityAnswer Textbox Merupakan input text jawaban atas pertanyaan keamanan
btnSave Button Merupakan tombol aksi simpan data user
btnCancel Button Merupakan tombol aksi pembatalan user Tabel 4.21 Detail spesifikasi objek fungsi create user
95
4. Cara penggunaan layar
Layar create user ini digunakan untuk membuat user baru yang ingin
menggunakan sistem ini.
Langkah langkah mengunakan layar adalah sebagai berikut :
1. Isi nama user yang di inginkan kedalam textbox username minimal 6 karakter
dan menggunakan alphanumeric.
2. Buat kata sandi yang anda inginkan minimal 5 character (case sensitive), lalu
ulangi lagi pada textbox confirm password dengan kata sandi yang sama, jika
tidak sama akan muncul pesan password dan konfirmasi tidak sama.
3. Untuk mendapatkan konfirmasi pengaktifan user anda harus memasukkan email
anda kedalam textbox email
4. Jika anda lupa akan password anda diberikan sebuah pertanyaan keamanan. Anda
dapat membuat pertanyaan di textbox security question. Lalu anda dapat
menuliskan jawabannya pada textboxt security answer.
5. Lalu tekan tombol save untuk menyimpan data, atau menekan tombol cancel
untuk membatalkan transaksi yang dilakukan.
96
4.4.8 Spesifikasi Fungsi Manage User
Nomor Fungsi : F003
Deskripsi : Fungsi untuk mengatur user yang ada di database.
Jenis : Form Master-Detail
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :aspnet_Membership
Sintaks Sql :
“ALTER PROCEDURE [dbo].[aspnet_Membership_GetAllUsers] @ApplicationName nvarchar(256), @PageIndex int, @PageSize int AS
INSERT INTO #PageIndexForUsers (UserId) SELECT u.UserId FROM dbo.aspnet_Membership m, dbo.aspnet_users u
WHERE u.ApplicationId = @ApplicationId AND u.UserId = m.UserId
ORDER BY u.Username SELECT @TotalRecords = @@ROWCOUNT SELECT u.Username, m.Email, m.PasswordQuestion,
m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut, m.LastLockoutDate
FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, #PageIndexForUsers p
WHERE u.UserId = p.UserId AND u.UserId = m.UserId AND p.IndexId >= @PageLowerBound AND p.IndexId <= @PageUpperBound
97
ORDER BY u.Username
2. Layout Layar
Gambar 4.9 Layout halaman user list
3. Spesifikasi Objek
Id_Objek Jenis Keterangan grvUser grid view Merupakan daftar user
Tabel 4.22 Detail spesifikasi objek fungsi user list
4. Petunjuk penggunaan layar
Layar ini berfungsi untuk menampilkan seluruh informasi dari nama user, email
dan status dari user yang terdaftar. Cara penggunaannya adalah sebagai berikut :
1. Untuk mengubah user pilih ubah maka akan muncul, layar edit user
2. Untuk menghapus user maka akan muncul pesan apakah anda yakin, jika di pilih
yes maka user akan terhapus dari sistem.
4.4.9 Spesifikasi sub fungsi Edit User
Nomor Fungsi : F004
98
Deskripsi : Fungsi untuk meng-edit detail user
Jenis : Form Entry Tabular
1. Spesifikasi Data
Jenis Data :Input
Tabel :aspnet_Membership
Sintaks Sql :
ALTER PROCEDURE [dbo].[aspnet_Membership_UpdateUser] @ApplicationName nvarchar(256), @Username nvarchar(256), @Email nvarchar(256), @Comment ntext, @IsApproved bit, @LastLoginDate datetime, @LastActivityDate datetime, @UniqueEmail int, @CurrentTimeUtc datetime AS
UPDATE dbo.aspnet_Membership WITH (ROWLOCK) SET Email = @Email, LoweredEmail = LOWER(@Email), Comment = @Comment, IsApproved = @IsApproved, LastLoginDate = @LastLoginDate WHERE @UserId = UserId IF( @@ERROR <> 0 ) GOTO Cleanup IF( @TranStarted = 1 ) BEGIN SET @TranStarted = 0 COMMIT TRANSACTION END RETURN 0
99
2. Layout Layar
Gambar 4.10 Layout halaman edit user
100
3. Spesifikasi Objek
Id_Objek Jenis Keterangan lblUsername Label Merupakan penanda field yang akan diisi lblPassword Label Merupakan penanda field yang akan diisi lblRole Label Merupakan penanda field yang akan diisi lblAdmin Label Merupakan penanda field yang akan diisi lblUser Label Merupakan penanda field yang akan diisi rbAdmin Radio button Merupakan penanda field yang akan dipilih rbUser Radio button Merupakan penanda field yang akan dipilih btnSave Button Merupakan tombol aksi simpan data user btnCancel Button Merupakan tombol aksi pembatalan
Tabel 4.23 Detail spesifikasi objek fungsi manage user
4. Petunjuk penggunaan layar.
Layar ini berfungsi untuk merubah password user.
Jika input text password diisi kurang dari enam karakter, “Password minimal enam
karakter”
4.4.10 Spesifikasi Fungsi Recovery Password
4.4.10.1 Spesifikasi sub fungsi Username Check
Nomor Fungsi : F005
Deskripsi : Fungsi untuk memeriksa ada atau tidak username.
Jenis : Form Entry Tabular
1. Spesifikasi Data
Jenis Data : Input
Tabel : aspnet_Membership
101
Sintaks Sql :
ALTER PROCEDURE [dbo].[aspnet_Membership_FindUsersByName] @ApplicationName nvarchar(256), @UsernameToMatch nvarchar(256), @PageIndex int, @PageSize int AS SELECT u.Username, m.Email, m.PasswordQuestion, m.Comment, m.IsApproved, m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate, u.UserId, m.IsLockedOut, m.LastLockoutDate FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, #PageIndexForUsers p WHERE u.UserId = p.UserId AND u.UserId = m.UserId AND p.IndexId >= @PageLowerBound AND p.IndexId <= @PageUpperBound ORDER BY u.Username SELECT @TotalRecords = COUNT(*) FROM #PageIndexForUsers RETURN @TotalRecords 2. LayoutLayar
Gambar 4.11 Layout halaman sub fungsi username check
102
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
lblUsername Label Merupakan penanda field yang akan diisi
btnSubmit Button Merupakan tombol aksi kirim masukan melalui form
Tabel 4.24 Detail spesifikasi objek sub fungsi username check
4. Petunjuk penggunaan layar.
Masukkan username anda pada textbox tekan submit, jika user ada maka akan
muncul layar seperti gambar 4.12 jika salah maka akan muncul pesan “ username tidak
tersedia”
4.4.10.2 Spesifikasi sub fungsi Identify Confirmation
Nomor Fungsi : F006
Deskripsi : Fungsi untuk mengidentifikasi kebenaran username dengan
Menjawab security question untuk mengembalikan password
yang lama.
Jenis : Form Entry Tabular
1. Spesifikasi Data
Jenis Data : Input
Tabel : aspnet_Membership
Sintaks Sql :
103
ALTER PROCEDURE [dbo].[aspnet_Membership_ChangePasswordQuestionAndAnswer] @ApplicationName nvarchar(256), @Username nvarchar(256), @NewPasswordQuestion nvarchar(256), @NewPasswordAnswer nvarchar(128) AS BEGIN DECLARE @UserId uniqueidentifier SELECT @UserId = NULL SELECT @UserId = u.UserId FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, dbo.aspnet_Applications a WHERE LoweredUsername = LOWER(@Username) AND u.ApplicationId = a.ApplicationId AND LOWER(@ApplicationName) = a.LoweredApplicationName AND u.UserId = m.UserId IF (@UserId IS NULL) BEGIN RETURN(1) END UPDATE dbo.aspnet_Membership SET PasswordQuestion = @NewPasswordQuestion, PasswordAnswer = @NewPasswordAnswer WHERE UserId=@UserId RETURN(0) END 2. Layout Layar
104
Gambar 4.12 Layout halaman sub fungsi identify confirmation
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
lblUsername2 Label Merupakan penanda field yang akan diisi
txtSecurityQuestion Textbox Merupakan input text pertanyaan untuk keamanan
txtSecurityAnswer Textbox Merupakan input text jawaban atas pertanyaan keamanan
btnSubmit2 Button Merupakan tombol aksi kirim masukan melalui form
Tabel 4.25 Detail spesifikasi objek sub fungsi identify confirmation
4. Petunjuk penggunaan layar
105
Setelah proses pada penggunaan layar pada gambar 4.11 maka pada design layar
gambar 2.11 akan muncul nama user dan pertanyaan rahasia untuk me reset password
anda. Lalu anda dapat mengisi jawaban anda pada textbox answer yang tersedia dilayar.
4.4.11 Spesifikasi Fungsi Change Password
Nomor Fungsi : F007
Deskripsi : Fungsi untuk mengganti password user
Jenis : Form Entry Tabular
106
1. Spesifikasi Data
Jenis Data :Input
Tabel :aspnet_membership
Sintaks Sql :
“ALTER PROCEDURE [dbo].[aspnet_Membership_SetPassword]
@ApplicationName nvarchar(256),
@Username nvarchar(256),
@NewPassword nvarchar(128),
@PasswordSalt nvarchar(128),
@CurrentTimeUtc datetime,
@PasswordFormat int = 0
AS
BEGIN
DECLARE @UserId uniqueidentifier
SELECT @UserId = NULL
SELECT @UserId = u.UserId
FROM dbo.aspnet_Users u, dbo.aspnet_Applications a,
dbo.aspnet_Membership m
WHERE LoweredUsername = LOWER(@Username) AND
u.ApplicationId = a.ApplicationId AND
LOWER(@ApplicationName) =
a.LoweredApplicationName AND
u.UserId = m.UserId
IF (@UserId IS NULL)
RETURN(1)
UPDATE dbo.aspnet_Membership
107
SET Password = @NewPassword, PasswordFormat =
@PasswordFormat, PasswordSalt = @PasswordSalt,
LastPasswordChangedDate = @CurrentTimeUtc
WHERE @UserId = UserId
RETURN(0)
END”
2. Layout Layar
Gambar 4.13 Layout halaman change password
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
lblPassword Label Merupakan penanda field yang akan diisi
lblConfirmPassword Label Merupakan penanda field yang akan diisi
lblConfirmNewPassword
Label Merupakan penanda field yang akan diisi
txtPassword Textbox Merupakan input text password
txtConfirmPassword Textbox Merupakan input text konfirmasi password
108
Id_Objek Jenis Keterangan
txtConfirmNewPassword
Textbox Merupakan input text konfirmasi password baru
btnChangePassword Button Merupakan tombol aksi ganti password
btnCancel Button Merupakan tombol aksi pembatalan user
Tabel 4.26 Detail spesifikasi objek fungsi change password
4. Petunjuk penggunaan layar
Layar ini di gunakan untuk mengganti password user yang sedang aktif, dan
syarat penggantian password minimal 6 karakter alpanumerik cara penggunaannya
adalah sebagai berikut :
1. Masukkan pada password lama anda pada textbox password.jika password yang
anda masukkan salah maka pada saat anda menekan tombol change password
yang dimasukkan salah, maka akan muncul pesan “Password anda salah”
2. Lalu masukkan password baru anda pada textbox new password dan lakukan hal
yang sama pada textbox confirm password Jika password baru dan konfirmasi
password tidak sesuai, maka akan muncul pesan “Konfirmasi password baru
tidak sesuai”
3. Jika password baru kurang dari enam karakter maka akan muncul pesan,
“Password tidak boleh kurang dari enam karakter ”
4.4.12 Spesifikasi Fungsi Add Target
Nomor Fungsi : F009
Deskripsi : Fungsi untuk menambah target baru.
Jenis : Form Entry Tabular
109
1. Spesifikasi Data
Jenis Data :Input/Ouput
Tabel :dimTarget
Sintaks Sql :
“if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spDimTargetInsert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[spDimTargetInsert] GO CREATE PROCEDURE [dbo].[spDimTargetInsert] ( @oid uniqueidentifier, @Retailer uniqueidentifier, @Year int, @Target int ) AS SET NOCOUNT ON INSERT INTO [DimTarget] ( [oid], [Retailer], [Year], [Target] ) VALUES ( @oid, @Retailer, @Year, @Target ) GO”
110
2. Layout Layar
Gambar 4.14 Layout halaman add target
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
lblRetailer Label Merupakan penanda field yang akan diisi
lblTargetGroup Label Merupakan penanda field yang akan diisi
lblYear Label Merupakan penanda field yang akan diisi
lblTarget Label Merupakan penanda field yang akan diisi
ddlRetailer dropdown list
Merupakan list pilihan retailer
ddlTargetGroup dropdown list
Merupakan list pilihan grup target
ddlYear dropdown list
Merupakan list tahun
111
Id_Objek Jenis Keterangan
txtTarget Textarea Merupakan input text untuk target yang didefinisikan
btnSave Button Merupakan tombol aksi simpan data
btnCancel Button Merupakan tombol aksi pembatalan
Tabel 4.16 Detail spesifikasi objek fungsi add target
4. Petunjuk penggunaan layar.
Fungsi layar add target adalah untuk membuat target sales yang diinginkan oleh
perusahaan, dan dilakukan oleh Admin atas perintah dari top manajemen. Adapun cara
penggunaan addalah sebagai berikut :
1. Pertama pilih retailer yang ingin buat target penjualannya
2. Lalu pilih target berdasarkan tiga tingkatan yaitu store group, store dan retailer
target group hanya di isi sekali pertahun.
3. Pilih tahun yang anda ingin buat target
4. Tuliskan berapa target yang anda inginkan pada textbox target dalam format
numeric.
5. Lalu tekan tombol save.
4.4.13 Spesifikasi Fungsi View Target
Nomor Fungsi : F008
Deskripsi : Fungsi untuk me-list target yang sudah ditentukan
Jenis : Report Columnar
112
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :dimTarget
Sintaks Sql :
“if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spDimTargetSelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[spDimTargetSelectAll] GO CREATE PROCEDURE [dbo].[spDimTargetSelectAll] AS SET NOCOUNT ON SELECT [oid], [Retailer], [Year], [Target] FROM [DimTarget] GO /********************************************************/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spDimTargetSelectAllByRetailer]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[spDimTargetSelectAllByRetailer] GO CREATE PROCEDURE [dbo].[spDimTargetSelectAllByRetailer] ( @Retailer uniqueidentifier ) AS SET NOCOUNT ON SELECT [oid],
113
[Retailer], [Year], [Target] FROM [DimTarget] WHERE [Retailer] = @Retailer GO“ “if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spDimTargetDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[spDimTargetDelete] GO CREATE PROCEDURE [dbo].[spDimTargetDelete] ( @oid uniqueidentifier ) AS SET NOCOUNT ON DELETE FROM [DimTarget] WHERE [oid] = @oid GO” 2. Layout Layar
Gambar 4.15 Layout halaman view target
114
3. Spesifikasi Objek
Id_Objek Jenis Keterangan grvTarget grid view Merupakan daftar target
Tabel 4.27 Detail spesifikasi objek fungsi view target
4. Petunjuk penggunaan layar
Layar view target di gunakan untuk melihat target secara keseluruhan maksimal
baris yang di tampilkan adalah 10 baris dan disusun dari tahun tertinggi ketahun yang
terendah. Jika anda ingin merubah target dapat dilakukan dengan menekan perintah
ubah. Perubahan target hanya bisa pada dilakukan pada tahun yang sedang berjalan
ataupun tahun di depannya. Lalu muncul design layar gambar 4.16.
4.4.14 Spesifikasi Fungsi Edit Target
Nomor Fungsi : F010
Deskripsi : Fungsi untuk meng-edit target
Jenis : Form Entry columnar/Tabular/Master-Detail
Report Columnar/tabular/Master-Detail
Form berisi dialog/button saja
Proses tanpa layar
1. Spesifikasi Data
Jenis Data :Input/Ouput
Tabel :dimTarget
115
Sintaks Sql :
“if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spDimTargetUpdate]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[spDimTargetUpdate] GO CREATE PROCEDURE [dbo].[spDimTargetUpdate] ( @oid uniqueidentifier, @Retailer uniqueidentifier, @Year int, @Target int ) AS SET NOCOUNT ON UPDATE [DimTarget] SET [Retailer] = @Retailer, [Year] = @Year, [Target] = @Target WHERE [oid] = @oid GO”
116
2. Layout Layar
Gambar 4.14 Layout halaman edit target
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
lblRetailer Label Merupakan penanda field yang akan diisi
lblTargetGroup Label Merupakan penanda field yang akan diisi
lblYear Label Merupakan penanda field yang akan diisi
lblTarget Label Merupakan penanda field yang akan diisi
ddlRetailer dropdown list Merupakan list pilihan retailer
ddlTargetGroup dropdown list Merupakan list pilihan grup target
ddlYear dropdown list Merupakan list tahun
117
Id_Objek Jenis Keterangan
txtTarget Textarea Merupakan input text untuk target yang didefinisikan
btnSave Button Merupakan tombol aksi simpan data
btnCancel Button Merupakan tombol aksi pembatalan
Tabel 4.28 Detail spesifikasi objek fungsi edit target
4. Petunjuk penggunaan layar
Fungsi ini muncul setelah kita memilih perintah ubah pada gambar design layar 4.14,
secara default combo retailer, target group dan year akan di nonaktifkan dan cursor
berada pada textbox target. Lalu anda bisa merubah target yang anda inginkan lalu
menekan tombol save untuk menyimpan target baru kedalam database.
4.4.15 Spesifikasi Fungsi Ad Hoc Report
Nomor Fungsi : F011
Deskripsi : Fungsi untuk reporting khusus secara detail
Jenis : Report Master-Detail
1. Spesifikasi Data
Data untuk Ad hoc report berasal dari SQL Server Analysis Service, yang sturktur
cubenya sudah dijelaskan pada subbab sebelumnya.
118
2. Layout Layar
Chart Grid
92%
55%80% 70% 80%
SeriesSelected Cube
Categories
Measures And DimensionMeasures
-----
Dimension-----
Gambar 4.15 Layout halaman ad hoc report
119
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
lblCube Label Merupakan penanda field yang akan diisi
lblMeasure Label Merupakan penanda field yang akan diisi
lblDimension Label Merupakan penanda field yang akan diisi
grvChart Grid view Merupakan grid view
ddlCube dropdown list
Merupakan list pilihan
ddlCategories dropdown list
Merupakan list pilihan
ddlSeries dropdown list
Merupakan list pilihan
Tabel 4.29 Detail spesifikasi objek fungsi ad hoc report
4. Petunjuk penggunaan layar
Layar ini berfungsi untuk menambah informasi sesuai dengan kebutuhan user. Cara
penggunaan layar adalah dengan melakukan drag and drop pada layar, dengan memilih
informasi dari cubes yang ada di kiri layar lalu letakkan pada layar di sebelah kanan.
User dapat membuat report yang dibutuhkan dengan mudah pada modul ini.
4.4.16 Spesifikasi Fungsi Summary Report
Nomor Fungsi : F012
Deskripsi : Fungsi untuk menghasilkan report yang bersifat summary
Jenis : Report Master-Detail
120
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :Topup
Sintaks Sql :
Top up by Retailer
“ALTER proc [dbo].[sp_TopupbyRetailer] (@start datetime, @end datetime) as select r.name,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end
group by r.name”
Subfungsi Top up by Telco
“ALTER proc [dbo].[sp_TopupbyTelco] (@start datetime, @end datetime) as select tc.name,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where topupdate between @start and @end group by tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc” Top up by Date
“ALTER proc [dbo].[sp_TopupbyDate] as select top 7 topupdate ,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) group by topupdate order by topupdate desc”
121
KPI Success Top up
“ALTER proc [dbo].[sp_SucessPercentage] (@start datetime, @end datetime) as select topupdate,sum(sucesstop up)*100/sum(topup) as Percentage from dbo.TopupFact t with (nolock) join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end group by topupdate” KPI Manual Credit
“create proc [dbo].[sp_ManualCredit] (@start datetime, @end datetime) as select topupdate,sum(manualtop up)*100/sum(topup) as Percentage from dbo.TopupFact t with (nolock) join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end group by topupdate” KPI Top up Speed
“ALTER proc [dbo].[sp_TopupSpeed] (@start datetime, @end datetime) as select topupdate,avg(ElapsedTimeTop up)/60 as ElapsedTime from dbo.TopupFact t with (nolock) join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end group by topupdate”
122
KPI Target Achievement
“ALTER proc [dbo].[sp_TargetAchievement] (@start datetime, @end datetime) as select topupdate,avg(top up*100/Target) TargetAchievement from dbo.ViewTopupTarget tt with (nolock) join dbo.DimTarget t on tt.oid=t.retailer and t.[year]=tt.topupyear where topupdate between @start and @end group by topupdate”
2. Layout Layar
Gambar 4.16 Layout halaman summary report
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
chartTopupbyRetail Chart Merupakan chart top up by Retail
chartTopupbyTelco Chart Merupakan chart top up by Telco
123
Id_Objek Jenis Keterangan
chartTo upByDate Chart Merupakan chart top up by Date
gaugeSuccessTopup
Gauge Merupakan image gauge Success Top up
gaugeManualCredit Gauge Merupakan image gauge Automatic Top up
gaugeTopupSpeed Gauge Merupakan image gauge Top up Speed
gaugeTargetAchivement
Gauge Merupakan image gauge Target Achivement
gaugeDownTime Gauge Merupakan image gauge down time
Tabel 4.30 Detail spesifikasi objek fungsi summary report
4. Petunjuk penggunaan layar
Layar summary adalah bagian layar yang menampilkan grafik informasi penjualan
tertinggi secara toko retail, informasi secara provider, dan grafik tanggal tertinggi
penjualan.
Informasi yang ditampilkan oleh gauge adalah indikator performance dari :
1. Success top up percentage gauge ini menampilkan informasi berapa persen Top up
yang sukses secara otomatis. Informasi ini berguna bagi manajemen untuk
mengetahui performance sistem dari masing-masing provider telco. Yang nantinya
digunakan manajemen untuk me-review provider telco jika hasilnya baik akan
menambah jumlah penjualan sedangkan jika hasilnya buruk akan di gunakan untuk
meminta support dari telco untuk memperbaiki sistem mereka.
2. Manual credit percentage gauge ini menampilkan informasi berapa persen
pengisian pulsa yang dilakukan secara manual. Informasi ini berguna untuk
mengetahui berapa banyak customer yang gagal melakukan pengisian pulsa secara
otomatis. Hal ini dapat mengakibatkan penurunan jumlah penjualan karena
124
berhubungan dengan performance dan pelayanan yang diberikan oleh M cashback
kepada customernya.
3. Top up speed average gauge ini menampilkan informasi berapa kecepatan rata-rata
pengisian pulsa secara otomatis. Informasi ini berguna untuk mengetahui
performance dari masing masing sistem yang ada di provider telco. Yang nanti
digunakan manajemen untuk menganalisa infrastruktur M Cashback secara
keseluruhan baik itu sitem di sisi internal maupun yang berada diluar (koneksi
internet atau sistem dari provider telco)
4. Target Achivement gauge adalah indicator yang menerangkan berapa persen target
yang tercapai pada saat ini. Informasi ini digunakan untuk menganalisa strategi
bisnis dan perfomance dari perusahaan.
4.4.17 Spesifikasi Fungsi Retailer Report
4.4.17.1 Spesifikasi Sub Fungsi Retailer Report
Nomor Fungsi : F013
Deskripsi : Fungsi untuk menghasilkan report Top up by Retailer
Jenis : Report Master-Detail
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :Topup
Sintaks Sql :
125
Top up by Telco
ALTER proc [dbo].[sp_TopupbyTelco] (@start datetime, @end datetime) as select tc.name,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where top update between @start and @end group by tc.name order by sum(sucesstopup) desc Success
ALTER proc [dbo].[sp_TelcoSuccess] ( @telco nvarchar(50), @date datetime ) as select top 7 topupdate,100*convert(numeric(5,2),convert(float,sum(sucesstopup))/convert(float,sum(Topup))) as SuccessTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where tc.name=@telco and topupdate<=@date group by topupdate,tc.name having sum(sucesstopup)>5 order by topupdate desc
Top up by Date
ALTER proc [dbo].[sp_TopupbyDate] as select top 7 topupdate ,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) group by topupdate order by topupdate desc
126
Target vs Achievement
create proc [dbo].[sp_RetailerTargerVSAchievement] ( @retailername nvarchar(50), @date datetime) as select top 10 retailername,topupdate, Target,topup as Achievement from dbo.ViewTopupTarget tt join dbo.DimTarget t on t.retailer=tt.oid and t.year=tt.topupyear where retailername=@retailername and topupdate<=@date order by topupdate desc Top 10 stores
ALTER proc [dbo].[sp_RetailerTopup10] ( @retailername nvarchar(50), @start datetime, @end datetime) as select top 10 ROW_NUMBER() OVER (order by sum(sucesstopup) desc)as [No],s.name as 'Store Name',sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername group by s.name
127
2. Layout Layar
Y-A
xis
Y-A
xis
Gambar 4.17 Layout halaman retailer report
128
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
chartTopupbyTelco Chart Merupakan chart top up by Telco
chartSuccess Chart Merupakan chart top up Success VS Automatic
chartTopupByDate Chart Merupakan chart top up by Date
chartTargetVSAchievement
Chart Merupakan chart target VS achievement
chartManualCredit Chart Merupakan Chart Pengisisan Manual credit
grvTopTenStore grid view Merupakan daftar sepuluh toko dengan penjualan terbaik
ddlRetailer dropdown list
Merupakan pilihan retailer
ddlTimeDimension dropdown list
Merupakan pilihan dimensi waktu
Tabel 4.31 Detail spesifikasi objek fungsi retailer report
4. Petunjuk penggunaan layar.
Desain layar retail report ini berfungsi untuk menampilkan informasi dari sales
performance dari masing masing retailer. Informasi dan cara penggunaannya adalah
sebagai berikut :
1. pilih tanggal awal dari laporan yang anda ingin tampilkan pada layar pada
combo date. Secara default combo date akan mengarah pada tanggal hari ini
2. Lalu anda pilih interval waktu yang anda inginkan pada combo time
dimension, yang berisi pilihan mingguan, bulanan dan tahunan.
129
3. Lalu pilih retailer yang anda ingin tampilkan dengan memilih dari combo
retailer.
4. Setelah memilih telco maka otomatis tampilan layar berubah menampilkan
informasi performance retailer pada masing masing grafik
5. Grafik top up by telco, grafik ini menampilkan informasi penjualan produk
produk telco pada retailer, informasi pada grafik ini berguna untuk
menganalisa produk yang paling laku pada retailer.
6. Grafik success, grafik ini menampilkan percentase top up yang berhasil
dilakukan secara otomatis dari masing masing telco. Informasi ini berguna
untuk menganasisa performance dari sistem m cashback, telco dan
infrastructure retailer
7. Top up by date, grafik ini menampilakan performance penjualan produk telco
dari masing masing retailer
8. Grafik target vs achievment, grafik ini menampilakan perbandingan antara
target yang di tentukan dengan hasil penjualan yang di lakukan. Informasi ini
berguna untuk mengatur strategi penjualan dan analisa performance dari
masing masing retailer.
9. Grafik manual credit. Grafik ini menampilkan percentase produk telco yang
harus di lakukan secara manual. Informasi ini berguna untuk mengalisa
performance dari sistem m-cashback dan sistem telco.
130
10. List top ten store, adalah urutan urutan toko retailer yang paling banyak
melakukan penjualan top up. Informasi ini dapat digunakan untuk melakukan
promosi atau pemberian award pada toko sebagai salah satu strategi
marketing.
4.4.17.2 Spesifikasi Sub Fungsi Retailer Report Detail Per Telco
Nomor Fungsi : F014
Deskripsi : Fungsi untuk menghasilkan report Top up Retailer detail per
Telco
Jenis : Report Master-Detail
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :Top up
Sintaks Sql : ALTER proc [dbo].[sp_RetailerTopupbyDenom] ( @retailername nvarchar(50), @telco nvarchar(50), @start datetime, @end datetime) as select ct.name,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername and tc.name=@telco group by r.name,tc.name,ct.name having sum(sucesstopup)>5
131
order by sum(sucesstopup) desc
2. Layout Layar
Gambar 4.18 Layout halaman retailer report detail per Telco
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
chartTop upbyDenom Chart Merupakan chart top up by Denom
Tabel 4.32 Detail spesifikasi objek fungsi retailer report
4. Petunjuk penggunaan layar.
134
Top up Success
ALTER proc [dbo].[sp_TelcoSuccess] ( @telco nvarchar(50), @date datetime ) as select top 10 topupdate,100*convert(numeric(5,2),convert(float,sum(sucesstopup))/convert(float,sum(Topup))) as SuccessTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where tc.name=@telco and topupdate<=@date group by topupdate,tc.name having sum(sucesstopup)>5 order by topupdate desc
Top up by Date
ALTER proc [dbo].[sp_TelcoTopupbyDate] ( @telco nvarchar(50), @date datetime) as select top 7 topupdate ,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where tc.name=@telco and topupdate<=@date group by topupdate order by topupdate desc Top up Trends
ALTER proc [dbo].[sp_TelcoTrends] ( @telco nvarchar(50), @date datetime) as select top 10 topupdate,convert(numeric(5,2),(1-(select convert(float,sum(sucesstopup)) from dbo.TopupFact t2 with (nolock)
135
join dbo.DimCode_Type ct2 with(nolock) on ct2.oid=t2.codetype join dbo.DimTelco tc2 with(nolock) on tc2.oid=ct2.telco and ct2.telco=tc.oid where t2.topupdate=dateadd(d,-1,t.topupdate))/convert(float,sum(sucesstopup)))) as Trends from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where tc.name=@telco and topupdate<=@date group by topupdate,tc.oid order by topupdate desc Telco Top up Speed
ALTER proc [dbo].[sp_TelcoTopupSpeed] ( @telco nvarchar(50), @date datetime) as select top 10 topupdate ,avg(ElapsedTimeTopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where tc.name=@telco and topupdate<=@date group by topupdate order by topupdate desc Telco Manual Credit
ALTER proc [dbo].[sp_TelcoManualCredit] ( @telco nvarchar(50), @date datetime ) as select top 7 topupdate,convert(numeric(5,2),100*(1-convert(float,sum(usertopup))/convert(float,sum(Topup)))) as ManualCredit from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco where tc.name=@telco and topupdate<=@date
136
group by topupdate,tc.name having sum(sucesstopup)>5 order by topupdate desc Telco List
ALTER proc [dbo].[sp_GetTelco] as select name from dbo.DimTelco
2. Layout Layar
Y-A
xis
Y-A
xis
Y-A
xis
Y-A
xis
Gambar 4.19 Layout halaman telco report
137
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
chartTopupbyRetail Chart Merupakan chart top up telco by retail
chartSuccess Chart Merupakan chart top up Success by telco
chartTopupByDate Chart Merupakan chart top up by Date
ChartTrend Chart Merupakan chart target VS achievement
chartSpeedAverage Chart Merupakan chart trend pengisian pulsa secara menurut telco
Manual Credit Gridview Merupakan daftar sepuluh toko dengan penjualan terbaik
Tabel 4.33 Detail spesifikasi objek fungsi telco report
Desain layar ini berfungsi untuk menampilkan informasi penjualan dari masing
masing telco secara detail berdasarkan interval waktu yang di inginkan. Cara
penggunaannya adalah sebagai berikut :
1. pilih tanggal awal dari laporan yang anda ingin tampilkan pada layar pada
combo date. Secara default combo date akan mengarah pada tanggal hari ini
2. Lalu anda pilih interval waktu yang anda inginkan pada combo time
dimension, yang berisi pilihan mingguan, bulanan dan tahunan.
3. Lalu pilih telco yang anda ingin tampilkan dengan memilih dari combo telco.
4. Setelah memilih telco maka secara otomatis layar akan menampilkan
informasi yang anda butuhkan dilayar dari mulai informasi
138
- Grafik top up by retailer, grafik ini menampilkan informasi dari seluruh
produk telco yang di jual oleh retailer, informasi ini di gunakan oleh
managemen untuk mengetahui informasi produk yang paling laku pada
setiap retailer. Dan dapat digunakan untuk melakukan segmentasi pasar.
- Grafik success percentage, grafik ini menampilkan informasi berapa besar
top up yang berhasil dilakukan secara otomatis dari masing masing telco
berdasarkan retail yang menjualnya. Informasi ini berguna untuk
menganalisa infrastructure dari masing masing retailer.
- Grafik top by date, grafik ini menampilkan informasi total penjualan
perhari dari produk telco. Informasi ini berguna untuk mengetahui jumlah
penjualan produk dari telco dapat digunakan untuk menganalisa trend
penjualan produk.
- Grafik trend, grafik ini menampilkan informasi trend penjualan produk
telco, informasi ini dapat digunakan oleh marketing maupun manajemen
untuk melakukan promosi.
- Speed average / second, grafik ini menampilkan informasi kecepatan dari
masing masing telco. Informasi ini dapat digunakan untuk menganalisa
performance dari sistem kita dan telco.
- Grafik manual credit, grafik ini menampikan informasi berapa banyak top
up yang dilakukan secara manual. Informasi ini digunakan untuk
menganalisa performance dari sistem dan telco dan dapat juga di gunakan
sebagai indicator sales performance.
139
4.4.19 Spesifikasi Fungsi Comparison Report
Nomor Fungsi : F016
Deskripsi : Fungsi untuk menghasilkan report Comparison Telco
Jenis : Report Master-Detail
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :Top upfact
Sintaks mdx :
Retailer top up by date
select non empty [Dim Store].[Dim Retailer - Name].members on rows,non empty [Dim Code Type].[Dim Telco - Name].members on columns from [M System DM] where ([Measures].[Sucess Topup],[Dim Time].[Topup Date].&[{0}])
Retailer Top up by Success
WITH MEMBER [MEASURES].[SUCCESS PERCENTAGE] AS '[Measures].[Sucess Topup]/[Measures].[Topup]' select non empty [Dim Store].[Dim Retailer - Name].members on rows,non empty [Dim Code Type].[Dim Telco - Name].members on columns from [M System DM] where ([MEASURES].[SUCCESS PERCENTAGE],[Dim Time].[Topup Date].&[{0}])
Retailer Manual Credit
select non empty [Dim Store].[Dim Retailer - Name].members on rows,non empty [Dim Code Type].[Dim Telco - Name].members on columns from [M System DM] where ([Measures].[Manual Topup],[Dim Time].[Topup Date].&[{0}])
140
Retailer Top up by Speed Average
WITH MEMBER [MEASURES].[minutes topup] AS '[Measures].[Elapsed Time Topup]/([Measures].[Topup]*60)' select non empty [Dim Store].[Dim Retailer - Name].members on rows,non empty [Dim Code Type].[Dim Telco - Name].members on columns from [M System DM] where ([Measures].[minutes topup],[Dim Time].[Topup Date].&[{0}])
Telco top up by date
select non empty [Dim Store].[Dim Retailer - Name].members on columns,non empty [Dim Code Type].[Dim Telco - Name].members on rows from [M System DM] where ([Measures].[Sucess Topup],[Dim Time].[Topup Date].&[{0}])
Telco Success Percentage
WITH MEMBER [MEASURES].[SUCCESS PERCENTAGE] AS '[Measures].[Sucess Topup]/[Measures].[Topup]' select non empty [Dim Store].[Dim Retailer - Name].members on columns,non empty [Dim Code Type].[Dim Telco - Name].members on rows from [M System DM] where ([MEASURES].[SUCCESS PERCENTAGE],[Dim Time].[Topup Date].&[{0}])
Telco Manual Credit
select non empty [Dim Store].[Dim Retailer - Name].members on columns,non empty [Dim Code Type].[Dim Telco - Name].members on rows from [M System DM] where ([Measures].[Manual Topup],[Dim Time].[Topup Date].&[{0}])
Telco Top up by Speed Average
WITH MEMBER [MEASURES].[minutes topup] AS '[Measures].[Elapsed Time Topup]/([Measures].[Topup]*60)' select non empty [Dim Store].[Dim Retailer - Name].members on columns,non empty [Dim Code Type].[Dim Telco -
141
Name].members on rows from [M System DM] where ([Measures].[minutes topup],[Dim Time].[Topup Date].&[{0}])
2. Layout Layar
Gambar 4.20 Layout Layar Comparison Report
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
ddlRetailer Dropdownlist List pilihan untuk Dimension
ddlReportType Dropdownlist List pilihan untuk Tipe Report
dpDate Datetimepicker List pilihan untuk tanggal
ddlTime Dropdownlist List pilihan untuk dimensi waktu
Tabel 4.34 Detail spesifikasi objek fungsi Comparison report
142
4. Petunjuk penggunaan layar
Desain layar ini berfungsi untuk menampilkan perbandingan antar telco maupun
antar retail, informasi ini berguna untuk menganalisa performance penjualan top up.
Cara penggunaan layar ini adalah sebagai berikut :
1. pilih dimensi repot ditampilkan berdasarkan telco atau berdasarkan retailer
2. pilih report type berdasarkan hal yang ini anda bandingkan
3. untuk memilih tanggal awal yang anda inginkan pilih tangggal pada combo date.
4. Untuk memilih interval waktu anda pilih pada combo time dimension (day, week,
month, year)
5. Setelah itu tekan tombol submit, maka secara otomatis layar akan menampilkan
informasi perbandingan yang anda pilih pada dimension report dan report type yang
anda pilih, contoh dimesion report : retailer dan report type : success top up.
4.4.20 Spesifikasi Fungsi Period Snapshot Report
Nomor Fungsi : F017
Deskripsi : Fungsi untuk menghasilkan report Periode Snapshot
Jenis : Report Master-Detail
143
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :Top upfact
Sintaks sql :
Snapshot Top up
ALTER proc [dbo].[sp_RetailerTelcoTopup] ( @retailername nvarchar(50), @telco nvarchar(50), @start datetime, @end datetime) as select day(topupdate) as DayTopup,sum(Topup) TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername and tc.name=@telco group by r.name,tc.name,topupdate
Snapshot Success Percentage
ALTER proc [dbo].[sp_RetailerTelcoSuccess] ( @retailername nvarchar(50), @telco nvarchar(50), @start datetime, @end datetime) as select day(topupdate) as DayTopup,100*convert(numeric(5,2),convert(float,sum(sucesstopup))/convert(float,sum(Topup))) as SuccessTopup
144
from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername and tc.name=@telco group by r.name,tc.name,topupdate
Snapshot Manual Credit
ALTER proc [dbo].[sp_RetailerTelcoManualCredit] ( @retailername nvarchar(50), @telco nvarchar(50), @start datetime, @end datetime) as select day(topupdate) as DayTopup,100*convert(numeric(5,2),convert(float,sum(manualtopup))/convert(float,sum(Topup))) as ManualTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername and tc.name=@telco group by r.name,tc.name,topupdate
145
2. Layout Layar
Gambar 4.21 Layout Period Snapshot Report
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
ddlRetailer Dropdownlist List pilihan untuk Dimension
ddlReportType Dropdownlist List pilihan untuk Tipe Report
dpDate Datetimepicker List pilihan untuk tanggal
ddlTime Dropdownlist List pilihan untuk dimensi waktu
Tabel 4.35 Detail spesifikasi objek fungsi Period Snapshot report
4. Petunjuk penggunaan layar
Design grafik ini berfungsi untuk menampilakan perbandingan kondisi penjualan
sekarang dengan data bulan lalu dan data tahun lalu dengan interval yang sama.
146
Informasi berguna untuk menganalisa performance retail dan performance penjualan
produk top up. Cara penggunaannya adalah sebagai berikut :
1. pilih retail yang anda ingin bandingkan dengan memilih pada combo retailer
2. lalu pilih telco yang anda inginkan bandingkan dengan memilih pada combo telco.
3. Pilih tanggal awal yang anda inginkan dengan memilih pada combo start date.
4. Pilih tanggal akhir yang anda inginkan dengan memilih pada combo end date.
5. Lalu pilih data yang anda ingin bandingkan dengan memilih pada combo measure
(top success, percentage, manula cerdit)
147
4.4.21 Spesifikasi Fungsi Exception Report
Nomor Fungsi : F018
Deskripsi : Fungsi untuk menghasilkan report Exception
Jenis : Report Master-Detail
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :Topupfact
Sintaks sql :
Exception Success Top up Retailer
ALTER proc [dbo].[sp_RetailerSuccess] ( @retailername nvarchar(50), @start datetime, @end datetime) as select tc.name as Telco,100*convert(numeric(5,2),convert(float,sum(sucesstopup))/convert(float,sum(Topup))) as SuccessTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername group by r.name,tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc
148
Exception Manual Credit Retailer
ALTER proc [dbo].[sp_RetailerManualCredit] ( @retailername nvarchar(50), @start datetime, @end datetime) as select tc.name as Telco,100*convert(numeric(5,2),convert(float,sum(manualtopup))/convert(float,sum(Topup))) as ManualCredit from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername group by r.name,tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc Exception Top up Speed Retailer
ALTER proc [dbo].[sp_RetailerTopupSpeed] ( @retailername nvarchar(50), @start datetime, @end datetime) as select tc.name as Telco,convert(numeric(5,2),convert(float,avg(ElapsedTimeTopup))/60) as TopupSpeed from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and r.name=@retailername
149
group by r.name,tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc Exception Success Top up Telco
ALTER proc [dbo].[sp_TelcoSuccessbyDate] ( @telco nvarchar(50), @start datetime, @end datetime) as select r.name as Retailer,100*convert(numeric(5,2),convert(float,sum(sucesstopup))/convert(float,sum(Topup))) as SuccessTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and tc.name=@telco group by r.name,tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc Exception Manual Credit Telco
ALTER proc [dbo].[sp_TelcoManualbyDate] ( @telco nvarchar(50), @start datetime, @end datetime) as select r.name as Retailer,100*convert(numeric(5,2),convert(float,sum(Manualtopup))/convert(float,sum(Topup))) as ManualTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup
150
join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and tc.name=@telco group by r.name,tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc Exception Topup Speed Telco ALTER proc [dbo].[sp_TelcoTopupSpeedbyDate] ( @telco nvarchar(50), @start datetime, @end datetime) as select r.name as Retailer,100*convert(numeric(5,2),convert(float,avg(ElapsedTimeTopup))/60) as TopupSpeed from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and tc.name=@telco group by r.name,tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc
2. Layout Layar
151
Gambar 4.22 Layout Layar Exception Report
3. Spesifikasi Objek
Id_Objek Jenis Keterangan
ddlRetailer Dropdownlist List pilihan untuk Dimension
ddlReportType Dropdownlist List pilihan untuk Tipe Report
dpDate Datetimepicker List pilihan untuk tanggal
ddlTime Dropdownlist List pilihan untuk dimensi waktu
Tabel 4.36 Detail spesifikasi objek fungsi Period Snapshot report
4. Petunjuk penggunaan layar
Desain layar ini berfungsi untuk menginformasikan jika terjadi ada perubahan
signifikan yang melebihi batas minimun yang ditetapkan dari masing masing report.
Layar ini muncul jika kita mengakses alert berupa blinking grafik bar yang muncul dari
masing masing grafik bar yang ada pada layar yang sedang aktif. Pada layar ini mumcul
152
grafik success percentage, manual credit dan top up speed. Dari informasi grafik ini
user dapat menganalisa apa yang mengakibatkan terjadi alarm pada grafik tersebut.
132
Desain layar retailer report per telco ini muncul pada saat kursor berada pada grafik
bar telco untuk menampilkan grafik informasi detail dari masing masing produk telco
yang terjual.
4.4.18 Spesifikasi Fungsi Telco Report
Nomor Fungsi : F015
Deskripsi : Fungsi untuk menghasilkan report Top up Telco
Jenis : Report Master-Detail
1. Spesifikasi Data
Jenis Data :Ouput
Tabel :Topup
Sintaks Sql :
Top up by Retailer
ALTER proc [dbo].[sp_TelcoTopupbyRetailer] ( @telco nvarchar(50), @start datetime, @end datetime) as select r.name,sum(sucesstopup) as TotalTopup from dbo.TopupFact t with (nolock) join dbo.DimCode_Type ct with(nolock) on ct.oid=t.codetype join dbo.DimTelco tc with(nolock) on tc.oid=ct.telco join dbo.DimStore s with (nolock) on s.oid=t.store join dbo.DimStore_Group sg with (nolock) on sg.oid=s.storegroup join dbo.DimRetailer r with (nolock) on r.oid=sg.retailer where topupdate between @start and @end and tc.name=@telco group by r.name,tc.name having sum(sucesstopup)>5 order by sum(sucesstopup) desc
153
4.5 Layar Implementasi
4.5.1 Layar Login
Gambar 4.23 Layar Login
154
4.5.2 Layar Home
Gambar 4.24 Layar Home
155
4.5.3 Layar Summary
Gambar 4.25 Layar Summary
156
4.5.4 Layar Retailer
Gambar 4.26 Layar Retailer