BAB 4
PERANCANGAN DIGITAL DASHBOARD BAB 4
PERANCANGAN DIGITAL DASHBOARD
4.1
Environment Berikut ini adalah spesifikasi yang dibutuhkan dalam dalam membangun digital
dashboard. Windows
Sistem Operasi
2003
Standard
Edition/Windows
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 ASP.NET, Ajax.NET, Dundas Chart Grafis Tabel 4.1 Digital dashboard Environtment
55
XP
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: 56
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
Code.Oid
Int
Count
Transaction.Oid
Int
[Jumlah top
pelanggan Jumlah top up manual
up]-[ Jumlah top up oleh pelanggan] Jumlah top up yang berhasil
Injection.oid
Count state=3
57
ketika
Jumlah top up gagal
[Jumlah top up]-[ Jumlah top up yang berhasil]
Jumlah toko yang berjualan
Code.redeemedAt
Int
Count distinct
Waktu yang dibutuhkan
Tidak tersedia
Int
Average
untuk proses top up
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
58
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
59
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)
60
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
61
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 62
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 63
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”
64
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
65
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)
66
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
67
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
68
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
69
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
70
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
71
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
72
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
73
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
74
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
75
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
76
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
-
Tabel 4.11 Definisi tabel top up
77
Kode Voucher
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
78
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
79
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
Derived
Expression
DateType
name
Column
ElapsedTimeTopup
ISNULL(RedeemedAt) ? 0 :
Int
column>
ABS((DATEDIFF("s", RedeemedAt,injectionDate)))
SuccesTopup
state == 3 ? 1 : 0
column> 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
80
Int
Store
Group by
CodeType
Group by
TopupDate
Group by Tabel 4.15 Proses aggregate
81
3. Add FailedToup dan ManualTopup Derived Column
Derived
name
Column
FailedTopup
ManualTopup
Expression
DateType
(DT_I8)TTopup –
Int
column>
SuccesTopup
Topup – UserTopup
Int
column>
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]
82
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
83
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 Int
Tidak ada
dalam sebuah transaksi Injection_State
Injection_State.EnumValue Int
Tidak ada
Target
Tidak ada
Tidak ada
Int
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
84
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.
85
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
86
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
87
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
88
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
89
3. Spesifikasi Objek Id_Objek lblUser lblPassword txtUser txtPassword btnUser
Jenis Label Label Textbox Textbox Button
Keterangan Merupakan penanda field yang akan diisi Merupakan penanda field yang akan diisi Merupakan input text username Merupakan input text password 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.
90
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
91
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),
92
@PasswordQuestion, @PasswordAnswer, @PasswordFormat, @IsApproved, @IsLockedOut, @CreateDate, @CreateDate, @CreateDate, @LastLockoutDate, @FailedPasswordAttemptCount, @FailedPasswordAttemptWindowStart, @FailedPasswordAnswerAttemptCount, @FailedPasswordAnswerAttemptWindowStart) 2. Layout Layar
Gambar 4.8 Layout halaman create user 93
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
94
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.
95
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 96
ORDER BY u.Username
2.
Layout Layar
Gambar 4.9 Layout halaman user list
3.
Spesifikasi Objek Id_Objek grvUser
Jenis Keterangan 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 97
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
98
2.
Layout Layar
Gambar 4.10 Layout halaman edit user
99
3. Spesifikasi Objek Id_Objek lblUsername lblPassword lblRole lblAdmin lblUser rbAdmin rbUser btnSave btnCancel
Jenis Keterangan Label Merupakan penanda field yang akan diisi Label Merupakan penanda field yang akan diisi Label Merupakan penanda field yang akan diisi Label Merupakan penanda field yang akan diisi Label Merupakan penanda field yang akan diisi Radio button Merupakan penanda field yang akan dipilih Radio button Merupakan penanda field yang akan dipilih Button Merupakan tombol aksi simpan data user 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
100
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
101
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
:
102
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
103
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
txtSecurityAnswer
Textbox
Merupakan input text pertanyaan untuk keamanan 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
104
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
105
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 LOWER(@ApplicationName) =
a.LoweredApplicationName AND u.UserId = m.UserId
IF (@UserId IS NULL) RETURN(1)
UPDATE dbo.aspnet_Membership
106
AND
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
lblConfirmNewPass word txtPassword
Label
Merupakan penanda field yang akan diisi
Textbox
Merupakan input text password
txtConfirmPassword
Textbox
Merupakan input text konfirmasi password
107
Id_Objek
Jenis
Keterangan
txtConfirmNewPass word btnChangePassword
Textbox
Merupakan input text konfirmasi password baru
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 108
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”
109
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 dropdown list dropdown list
Merupakan list pilihan retailer
ddlTargetGroup ddlYear
Merupakan list pilihan grup target Merupakan list tahun
110
Id_Objek
Jenis
Keterangan
txtTarget
Textarea
btnSave
Button
Merupakan input text untuk target yang didefinisikan 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
111
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], 112
[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 113
3. Spesifikasi Objek Id_Objek grvTarget
Jenis Keterangan 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
114
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”
115
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
116
Id_Objek
Jenis
Keterangan
txtTarget
Textarea
btnSave
Button
Merupakan input text untuk target yang didefinisikan 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.
117
2. Layout Layar
Chart
Grid Series
Selected Cube
Measures And Dimension Measures -
92%
80%
70%
80%
55%
Dimension Categories
Gambar 4.15 Layout halaman ad hoc report
118
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 Merupakan list pilihan list ddlCategories dropdown Merupakan list pilihan list ddlSeries dropdown Merupakan list pilihan list 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
119
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” 120
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”
121
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
Merupakan chart top up by Telco
Chart
122
Id_Objek
Jenis
Keterangan
chartTo upByDate
Chart
Merupakan chart top up by Date
gaugeSuccessTopu p gaugeManualCredit
Gauge
Merupakan image gauge Success Top up
Gauge
Merupakan image gauge Automatic Top up
gaugeTopupSpeed
Gauge
Merupakan image gauge Top up Speed
gaugeTargetAchive ment gaugeDownTime
Gauge
Merupakan image gauge Target Achivement
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 123
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
:
124
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(sucess topup))/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
125
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
126
Y-Axis
Y-Axis
2. Layout Layar
Gambar 4.17 Layout halaman retailer report
127
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
chartTargetVSAchi evement chartManualCredit
Chart
Merupakan chart target VS achievement
Chart
Merupakan Chart Pengisisan Manual credit
grvTopTenStore
grid view
Merupakan daftar sepuluh toko dengan penjualan terbaik Merupakan pilihan retailer
ddlRetailer
dropdown list ddlTimeDimension dropdown Merupakan pilihan dimensi waktu list 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.
128
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.
129
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 130
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.
131
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(sucess topup))/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)
134
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*(1convert(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 135
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
Y-Axis
Y-Axis
Y-Axis
Y-Axis
2. Layout Layar
Gambar 4.19 Layout halaman telco report
136
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
137
-
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. 138
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}])
139
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 140
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
141
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
142
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(sucesst opup))/convert(float,sum(Topup))) as SuccessTopup 143
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(manualt opup))/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
144
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. 145
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)
146
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(sucesstopu p))/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
147
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(manualtopu p))/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(ElapsedTimeTop up))/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 148
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(sucesst opup))/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(Manualt opup))/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 149
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(Elapsed TimeTopup))/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
150
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
151
grafik success percentage, manual credit dan top up speed. Dari informasi grafik ini user dapat menganalisa apa yang mengakibatkan terjadi alarm pada grafik tersebut.
152
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
132
4.5
Layar Implementasi
4.5.1 Layar Login
Gambar 4.23 Layar Login
153
4.5.2 Layar Home
Gambar 4.24 Layar Home 154
4.5.3 Layar Summary
Gambar 4.25 Layar Summary
155
4.5.4 Layar Retailer
Gambar 4.26 Layar Retailer
156