LAMPIRAN-LAMPIRAN
Lampiran A. Database Code A.1 Tabel DimCustomer
CREATE TABLE [dbo].[DimCustomer] (
[CustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[CustomerType] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[CustomerName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ON [PRIMARY] GO
ALTER TABLE [dbo].[DimCustomer] WITH NOCHECK ADD
CONSTRAINT [PK__DimCustomer__1BFD2C07] PRIMARY KEY CLUSTERED
(
[CustomerId] ) ON [PRIMARY]
GO
CREATE INDEX [DimCustomer_CustomerType_Idx] ON [dbo].[DimCustomer]([CustomerType]) ON [PRIMARY]
GO
A.2 Tabel DimOutlet
CREATE TABLE [dbo].[DimOutlet] (
[OutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[OutletName] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ON [PRIMARY] GO
ALTER TABLE [dbo].[DimOutlet] WITH NOCHECK ADD
CONSTRAINT [PK__DimOutlet__1DE57479] PRIMARY KEY CLUSTERED (
[OutletId] ) ON [PRIMARY] GO
CREATE INDEX [DimOulet_OutletName_Idx] ON [dbo].[DimOutlet]([OutletName]) ON [PRIMARY]
A.3 Tabel DimProduct
CREATE TABLE [dbo].[DimProduct] (
[ProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Brand] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[ProductLine] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Item] [varchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[DimProduct] WITH NOCHECK ADD
CONSTRAINT [PK__DimProduct__1A14E395] PRIMARY KEY CLUSTERED
(
[ProductId] ) ON [PRIMARY] GO
CREATE INDEX [DimProduct_Brand_Idx] ON [dbo].[DimProduct]([Brand]) ON [PRIMARY]
GO
A.4 Tabel DimSalesPerson
CREATE TABLE [dbo].[DimSalesPerson] (
[SalesPersonId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[SalesPersonName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ON [PRIMARY] GO
ALTER TABLE [dbo].[DimSalesPerson] WITH NOCHECK ADD
CONSTRAINT [PK__DimSalesPerson__1FCDBCEB] PRIMARY KEY CLUSTERED
(
[SalesPersonId] ) ON [PRIMARY]
GO
CREATE INDEX [DimSalesPerson_SalesPersonName_Idx] ON [dbo].[DimSalesPerson]([SalesPersonName]) ON [PRIMARY]
A.5 Tabel DimTime
CREATE TABLE [dbo].[DimTime] (
[TimeId] [smalldatetime] NOT NULL , [Years] [int] NOT NULL ,
[Months] [int] NOT NULL , [Weeks] [int] NOT NULL , [Dates] [int] NOT NULL ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[DimTime] WITH NOCHECK ADD
CONSTRAINT [PK__DimTime__182C9B23] PRIMARY KEY CLUSTERED (
[TimeId] ) ON [PRIMARY] GO
CREATE INDEX [DimTime_Months_Idx] ON [dbo].[DimTime]([Months]) ON [PRIMARY]
GO
A.6 Tabel FactInventory
CREATE TABLE [dbo].[FactInventory] ( [TimeId] [smalldatetime] NOT NULL ,
[ProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[OutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[GoodCurrStock] [int] NULL , [StockIn] [int] NULL ,
[StockOut] [int] NULL ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[FactInventory] ADD
CONSTRAINT [FK__FactInven__Outle__46E78A0C] FOREIGN KEY (
[OutletId]
) REFERENCES [dbo].[DimOutlet] ( [OutletId]
),
CONSTRAINT [FK__FactInven__Produ__45F365D3] FOREIGN KEY (
[ProductId]
) REFERENCES [dbo].[DimProduct] ( [ProductId]
),
CONSTRAINT [FK__FactInven__TimeI__44FF419A] FOREIGN KEY ( [TimeId] ) REFERENCES [dbo].[DimTime] ( [TimeId] ) GO
CREATE INDEX [FactInventory_OutletId_Idx] ON [dbo].[ FactInventory]([OutletId]) ON [PRIMARY]
GO
CREATE INDEX [FactInventory_ProductId_Idx] ON [dbo].[ FactInventory]([ProductId]) ON [PRIMARY]
GO
CREATE INDEX [FactInventory_TimeId_Idx] ON [dbo].[ FactInventory]([TimeId]) ON [PRIMARY]
GO
A.7 Tabel FactPayment
CREATE TABLE [dbo].[FactPayment] ( [TimeId] [smalldatetime] NOT NULL ,
[OutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[CustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[EarlyAR] [money] NULL , [PayedAR] [money] NULL , [unPayedAR] [money] NULL ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[FactPayment] ADD FOREIGN KEY ( [CustomerId] ) REFERENCES [dbo].[DimCustomer] ( [CustomerId] ), FOREIGN KEY ( [OutletId] ) REFERENCES [dbo].[DimOutlet] ( [OutletId] ),
CONSTRAINT [FK__FactPayme__TimeI__2704CA5F] FOREIGN KEY ( [TimeId] ) REFERENCES [dbo].[DimTime] ( [TimeId] ) GO
CREATE INDEX [FactPayment_OutletId_Idx] ON [dbo].[ FactPayment]([OutletId]) ON [PRIMARY]
GO
CREATE INDEX [FactPayment_CustomerId_Idx] ON [dbo].[ FactPayment]([CustomerId]) ON [PRIMARY]
GO
CREATE INDEX [FactPayment_TimeId_Idx] ON [dbo].[ FactPayment]([TimeId]) ON [PRIMARY]
GO
A.8 Tabel FactSales
CREATE TABLE [dbo].[FactSales] (
[TimeId] [smalldatetime] NOT NULL ,
[ProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[OutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[CustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[SalesPersonId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[SellPrice] [money] NULL ,
[TotalSales] [decimal](10, 0) NULL , [TotalRevenue] [money] NULL , [TotalProfit] [money] NULL ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[FactSales] ADD
CONSTRAINT [FK__FactSales__Custo__4BAC3F29] FOREIGN KEY (
[CustomerId]
) REFERENCES [dbo].[DimCustomer] ( [CustomerId]
),
CONSTRAINT [FK__FactSales__Outle__4AB81AF0] FOREIGN KEY (
) REFERENCES [dbo].[DimOutlet] ( [OutletId]
),
CONSTRAINT [FK__FactSales__Produ__49C3F6B7] FOREIGN KEY (
[ProductId]
) REFERENCES [dbo].[DimProduct] ( [ProductId]
),
CONSTRAINT [FK__FactSales__Sales__4CA06362] FOREIGN KEY (
[SalesPersonId]
) REFERENCES [dbo].[DimSalesPerson] ( [SalesPersonId]
),
CONSTRAINT [FK__FactSales__TimeI__48CFD27E] FOREIGN KEY ( [TimeId] ) REFERENCES [dbo].[DimTime] ( [TimeId] ) GO
CREATE INDEX [FactSales_OutletId_Idx] ON [dbo].[ FactSales]([OutletId]) ON [PRIMARY]
GO
CREATE INDEX [FactSales_CustomerId_Idx] ON [dbo].[ FactSales]([CustomerId]) ON [PRIMARY]
GO
CREATE INDEX [FactSales_TimeId_Idx] ON [dbo].[ FactSales]([TimeId]) ON [PRIMARY]
GO
CREATE INDEX [FactSales_OutletId_Idx] ON [dbo].[ FactSales]([OutletId]) ON [PRIMARY]
GO
CREATE INDEX [FactSales_ProductId_Idx] ON [dbo].[ FactSales]([ProductId]) ON [PRIMARY]
GO
A.9 Tabel FactSalesReturn
CREATE TABLE [dbo].[FactSalesReturn] ( [TimeId] [smalldatetime] NOT NULL ,
[ProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[OutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[CustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[SalesPersonId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[TotalSalesReturn] [decimal](18, 0) NULL ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[FactSalesReturn] ADD
CONSTRAINT [FK_FactSalesReturn_DimCustomer] FOREIGN KEY (
[CustomerId]
) REFERENCES [dbo].[DimCustomer] ( [CustomerId]
),
CONSTRAINT [FK_FactSalesReturn_DimOutlet] FOREIGN KEY (
[OutletId]
) REFERENCES [dbo].[DimOutlet] ( [OutletId]
),
CONSTRAINT [FK_FactSalesReturn_DimProduct] FOREIGN KEY (
[ProductId]
) REFERENCES [dbo].[DimProduct] ( [ProductId]
),
CONSTRAINT [FK_FactSalesReturn_DimSalesPerson] FOREIGN KEY (
[SalesPersonId]
) REFERENCES [dbo].[DimSalesPerson] ( [SalesPersonId]
),
CONSTRAINT [FK_FactSalesReturn_DimTime] FOREIGN KEY ( [TimeId] ) REFERENCES [dbo].[DimTime] ( [TimeId] ) GO
CREATE INDEX [FactSalesR_OutletId_Idx] ON [dbo].[ FactSalesReturn]([OutletId]) ON [PRIMARY]
GO
CREATE INDEX [FactSalesR_CustomerId_Idx] ON [dbo].[ FactSalesReturn]([CustomerId]) ON [PRIMARY]
GO
CREATE INDEX [FactSalesR_TimeId_Idx] ON [dbo].[ FactSalesReturn]([TimeId]) ON [PRIMARY]
GO
CREATE INDEX [FactSalesR_OutletId_Idx] ON [dbo].[ FactSalesReturn]([OutletId]) ON [PRIMARY]
GO
CREATE INDEX [FactSalesR_ProductId_Idx] ON [dbo].[ FactSalesReturn]([ProductId]) ON [PRIMARY]
GO
A.10 Tabel Login
CREATE TABLE [dbo].[Login] (
[UserId] [char] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Password] [char] (6) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Name] [char] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Akses] [int] NOT NULL ,
[Position] [char] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Login] WITH NOCHECK ADD
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED (
[UserId] ) ON [PRIMARY] GO
A.11 Tabel TempCustomer
CREATE TABLE [dbo].[TempCustomer] (
[SourceCustomerID] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[CustomerType] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[CustomerName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestCustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.12 Tabel TempOutlet
CREATE TABLE [dbo].[TempOutlet] (
[SourceOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[OutletName] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.13 Tabel TempProduct
CREATE TABLE [dbo].[TempProduct] (
[SourceProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Brand] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [ProductLine] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Item] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [DestProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.14 Tabel TempSalesPerson
CREATE TABLE [dbo].[TempSalesPerson] (
[SourceSalesPersonId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SalesPersonName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestSalesPersonId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.15 Tabel TempTime
CREATE TABLE [dbo].[TempTime] (
[SourceTimeId] [smalldatetime] NULL , [Years] [int] NULL ,
[Months] [int] NULL , [Weeks] [int] NULL , [Dates] [int] NULL ,
[DestTimeId] [smalldatetime] NULL ) ON [PRIMARY]
GO
A.16 Tabel TempFactInventory
CREATE TABLE [dbo].[TempFactInventory] ( [SourceTimeId] [smalldatetime] NULL ,
[SourceProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[GoodCurrStock] [int] NULL , [StockIn] [int] NULL ,
[StockOut] [int] NULL ,
[DestTimeId] [smalldatetime] NULL ,
[DestProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.17 Tabel TempFactPayment
CREATE TABLE [dbo].[TempFactPayment] ( [SourceTimeId] [smalldatetime] NULL ,
[SourceOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceCustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[EarlyAR] [money] NULL , [PayedAR] [money] NULL , [unPayedAR] [money] NULL ,
[DestTimeId] [smalldatetime] NULL ,
[DestOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestCustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.18 Tabel TempFactSales
CREATE TABLE [dbo].[TempFactSales] ( [SourceTimeId] [smalldatetime] NULL ,
[SourceProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceOutletId] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceCustomerId] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceSalesPersonId] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SellPrice] [money] NULL ,
[TotalRevenue] [money] NULL , [TotalProfit] [money] NULL ,
[DestTimeId] [smalldatetime] NULL ,
[DestProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestOutletId] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestCustomerId] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestSalesPersonId] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.19 Tabel TempFactSalesReturn
CREATE TABLE [dbo].[TempFactSalesReturn] ( [SourceTimeId] [smalldatetime] NULL ,
[SourceProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceCustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[SourceSalesPersonId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[TotalSalesReturn] [decimal](18, 0) NULL , [DestTimeId] [smalldatetime] NULL ,
[DestProductId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestOutletId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestCustomerId] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DestSalesPersonId] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] GO
A.20 Stored Procedure Cek_Old_Pass SET QUOTED_IDENTIFIER ON GO
SET ANSI_NULLS OFF GO
CREATE proc Cek_Old_Pass(@user char(10), @oldPass char(6)) as select * from Login where [Password]=@oldPass and UserId=@user
return 0 GO
SET QUOTED_IDENTIFIER OFF GO
SET ANSI_NULLS ON GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Cek_Old_Pass]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Cek_Old_Pass] GO
A.21 Stored Procedure Login_Error SET QUOTED_IDENTIFIER ON GO
SET ANSI_NULLS OFF GO
CREATE proc Login_Error(@akses int, @user char(10)) as update Login set Akses=@akses WHERE UserId=@user return 0
GO
SET QUOTED_IDENTIFIER OFF GO
SET ANSI_NULLS ON GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Login_Error]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Login_Error] GO
A.22 Stored Procedure Login_Pass SET QUOTED_IDENTIFIER OFF GO
SET ANSI_NULLS OFF GO
CREATE proc Login_Pass(@ID char(10)) as select * from Login where UserId=@ID GO
SET QUOTED_IDENTIFIER OFF GO
SET ANSI_NULLS ON GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Login_Pass]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Login_Pass] GO
A.23 Stored Procedure Update_Pass SET QUOTED_IDENTIFIER ON GO
SET ANSI_NULLS OFF GO
CREATE proc Update_Pass(@user char(10), @oldPass char(6), @newPass char(6)) as Update Login set [Password]=@newPass
where [Password]=@oldPass and UserId=@user return 0
GO
SET QUOTED_IDENTIFIER OFF GO
SET ANSI_NULLS ON GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Update_Pass]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Update_Pass] GO
A.24 Stored Procedure User_Add SET QUOTED_IDENTIFIER OFF GO
SET ANSI_NULLS OFF GO
CREATE proc User_Add(@ID char(10), @pass char(6),@name char(20),@position char(50))
as INSERT INTO Login (UserId, [Password], [Name],Akses,Position) Values (@ID, @pass,@name, 3,@position)
return 0 GO
SET QUOTED_IDENTIFIER OFF GO
SET ANSI_NULLS ON GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[User_Add]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[User_Add] GO
Lampiran B. Data Transformation Service (DTS) B.1 DimCustomer
B.2 DimOutlet
B.3 DimProduct
B.5 DimTime
B.6 FactInventory
B.7 FactPayment
Lampiran C. Perancangan Prototype Aplikasi Data Warehouse C.1 Menu Utama
Layar ini digunakan untuk menampilkan menu yang tersedia dalam data warehouse. Pada menu File terdapat submenu untuk Connect, Disconnect, Login, Upload Data, Logout, dan Exit. Connect harus dilakukan terlebih dahulu untuk koneksi ke data warehouse. User harus melakukan Login terlebih dahulu sebelum menggunakan sistem aplikasi data warehouse ini. Menu Upload Data digunakan untuk meng-upload data operasional ke dalam data warehouse.
Menu Query terdiri dari submenu Inventory, Sales, SalesReturn, dan Payment. Menu ini digunakan untuk menampilkan data berdasarkan kebutuhan user.
Menu Pivot terdiri dari submenu Inventory, Sales, SalesReturn, dan Payment. Menu ini digunakan untuk menampilkan data per cube.
Menu Graph terdiri dari submenu Inventory, Sales, SalesReturn, dan Payment. Menu ini digunakan untuk menampilkan data dalam bentuk grafik.
Menu Maintenance terdiri dari submenu Add User dan Change Password, dan menu About yang digunakan untuk menampilkan data tentang perancang aplikasi data warehouse ini.
C.2 Login
Layar Login digunakan untuk melakukan autentifikasi terhadap user yang berhak mengakses data warehouse. Jika user gagal melakukan login sebanyak hak akses yang tersisa, maka user tersebut tidak dapat mengakses sistem ini. Untuk bisa mengakses aplikasi kembali, maka user tersebut harus menghubungi pihak administrator.
C.3 Query
Layar ini digunakan untuk menampilkan data ke dalam flexgrid sesuai dengan kebutuhan user melalui pilihan berupa checkbox yang tersedia pada listbox fakta dan tab dimensi. Tombol Execute digunakan untuk melakukan eksekusi terhadap syntax SQL yang tercipta dari pilihan user. Tombol Clear digunakan untuk menghapus pilihan user. Tombol Close digunakan untuk menutup layar Query, dan tombol Advanced Query digunakan untuk menuju ke layar Advanced Query.
C.4 Pivot
Layar ini digunakan untuk menampilkan data pada cube sesuai dengan pivot tabel yang dipilih user. Tombol Close pada masing-masing pivot table digunakan untuk menutup layar ini.
C.5 Advanced Query
Layar ini digunakan untuk menampilkan data ke dalam flexgrid sesuai syntax SQL yang dibuat oleh user pada textbox yang tersedia. Disediakan gambar hubungan antar tabel yang dapat membantu user dalam menciptakan syntax SQL. Tombol Execute digunakan untuk melakukan eksekusi terhadap syntax SQL. Tombol Clear digunakan untuk menghapus syntax SQL. Tombol Close digunakan untuk menutup layar Advanced Query.
C.6 Graph
Layar ini digunakan untuk menampilkan data ke dalam bentuk grafik. Tombol Close digunakan untuk menutup layar ini.
C.7 Upload Data
Layar ini digunakan untuk meng-upload data operasional ke dalam data warehouse. User dapat memilih fakta-fakta apa saja yang datanya ingin di-upload. Label proses loading menunjukkan proses transformasi data yang sedang dilakukan, dan loading bar untuk menunjukkan sejauh mana proses tersebut berjalan. Tombol Update digunakan untuk melakukan proses transformasi dan tombol Close untuk menutup layar ini.
C.8 Add User
Layar ini digunakan untuk menambah user baru. Hanya administrator yang mempunyai kuasa untuk melakukannya. Tombol OK digunakan untuk menambahkan data user baru tersebut ke dalam database. Tombol Cancel digunakan untuk membatalkan proses dan juga untuk menutup layar ini.
Layar ini digunakan untuk melakukan perubahan password user yang login saat itu. Tombol OK digunakan untuk mengubah password baru ke dalam database. Tombol Cancel digunakan untuk membatalkan proses dan juga untuk menutup layar ini.
C.10 About
Layar ini menampilkan informasi mengenai para perancang program aplikasi data warehouse ini.
C.11 Pesan
Layar ini menampilkan pesan sukses atau error dari setiap proses yang dilakukan. Informasi yang ditampilkan sesuai dengan proses yang sedang dilakukan. Misalnya untuk pesan sukses login ”Login Success”.
Lampiran D. Perancangan Layar Aplikasi Data Warehouse D.1 Menu Utama
D.3 Query Inventory
D.5 Query SalesReturn
D.7 Advanced Query
D.9 Pivot Sales
D.11 Pivot Payment
D.13 Graph Sales
D.15 Graph Payment
D.17 Add User
D.19 About
D.20 Pesan Koneksi Sukses
D.21 Pesan Koneksi Gagal
D.23 Pesan Hak Akses Diblok
D.24 Pesan Tidak Punya Hak Akses
D.25 Pesan Data Harus Lengkap
D.26 Pesan Login Sukses
D.28 Pesan Konfirmasi Password
D.29 Pesan Penambahan Data User Baru Sukses
D.30 Pesan Data User Telah Ada
Lampiran E. Spesifikasi Proses Aplikasi Data Warehouse E.1 Modul Layar Utama
Tampilkan Layar Utama Menu File aktif
Menu Query tidak aktif Menu Pivot Table tidak aktif Menu Graph tidak aktif Menu Maintenance tidak aktif Menu About aktif
Akhir Modul
E.2 Modul File Pilih menu File
Submenu Connect aktif
Submenu Disconnect tidak aktif Submenu Login tidak aktif Submenu Upload Data tidak aktif Submenu Logout tidak aktif Submenu Exit aktif
Akhir Modul
E.3 Modul Connect Pilih submenu Connect Jika koneksi sukses
Tampilkan pesan Koneksi Sukses Submenu Connect tidak aktif Submenu Disconnect tidak aktif Submenu Login aktif
Submenu Upload Data tidak aktif Submenu Logout tidak aktif Submenu Exit aktif
Akhir Jika Akhir Modul
E.4 Modul Login Pilih submenu Login Masukkan data UserId Masukkan data Password Jika tombol OK ditekan
Buka file Login
Jika data yang dimasukkan ada di database Tampilkan pesan Login Sukses Menu File aktif
Submenu Upload Data aktif Submenu Logout aktif Menu Query aktif
Menu Pivot Table aktif Menu Maintenance aktif Menu About aktif Akhir Jika
Jika data yang dimasukkan tidak ada di database Tampilkan pesan Login Gagal Akhir Jika
Akhir Jika
Jika tombol Cancel ditekan Tutup layar Login Akhir Jika
Akhir Modul
E.5 Modul Upload Data Pilih submenu Upload Data Tampilkan layar Upload Data Masukkan data yang ingin diupload Jika tombol Update ditekan
Buka file (.dts)
Lakukan proses transformasi data Akhir Jika
Tutup file (.dts)
Jika tombol Close ditekan
Tutup layar Upload Data Warehouse Kembali ke layar utama
Akhir Jika Akhir Modul
E.6 Modul Logout Pilih submenu Logout
Tampilkan pesan untuk konfirmasi Logout Jika tombol OK ditekan
Tutup file Login Menu File aktif
Submenu Disconnect aktif Submenu Logout tidak aktif Menu Query tidak aktif Menu Pivot Table tidak aktif Menu Maintenance tidak aktif Menu About aktif
Akhir Jika Akhir Modul
E.7 Modul Disconnect Pilih submenu Disconnect
Jika tombol OK ditekan
Kembali ke Modul Layar Utama Akhir Jika
Akhir Modul
E.8 Modul Exit Tutup database
Keluar dari program aplikasi Akhir Modul
E.9 Modul Query Pilih menu Query Jika submenu Inventory
Tampilkan layar Query Inventory Tombol Execute tidak aktif Tombol Clear tidak aktif Tombol Close aktif
Tombol Advanced Query aktif
Jika data di FactInventory atau di Dimension dipilih Data yang dipilih ditampung di Syntax SQL Tombol Execute aktif
Tombol Clear aktif Jika tombol Execute ditekan
Buka file FactInventory Tampilkan data di grid yang tersedia
Akhir Jika
Jika tombol Clear ditekan
Hapus data yang dipilih di FactInventory Hapus data yang dipilih di Dimension Hapus data di Syntax SQL
Hapus data di grid
Akhir Jika
Tutup file FactInventory Akhir Jika
Jika tombol Close ditekan
Tutup layar submenu Inventory Akhir Jika
Jika tombol Advanced Query ditekan Panggil modul Advanced Query Akhir Jika
Akhir Jika Jika submenu Sales
Tampilkan layar Query Sales Tombol Execute tidak aktif Tombol Clear tidak aktif Tombol Close aktif
Tombol Advanced Query aktif
Jika data di FactSales atau di Dimension dipilih Data yang dipilih ditampung di Syntax SQL Tombol Execute aktif
Tombol Clear aktif Jika tombol Execute ditekan Buka file FactSales
Tampilkan data di grid yang tersedia
Akhir Jika
Jika tombol Clear ditekan
Hapus data yang dipilih di FactSales Hapus data yang dipilih di Dimension Hapus data di Syntax SQL
Hapus data di grid
Akhir Jika
Tutup file FactSales Akhir Jika
Jika tombol Close ditekan
Tutup layar submenu Sales Akhir Jika
Jika tombol Advanced Query ditekan Panggil modul Advanced Query Akhir Jika
Akhir Jika
Jika submenu SalesReturn
Tampilkan layar Query SalesReturn Tombol Execute tidak aktif
Tombol Clear tidak aktif Tombol Close aktif
Tombol Advanced Query aktif
Jika data di FactSalesReturn atau di Dimension dipili Data yang dipilih ditampung di Syntax SQL Tombol Execute aktif
Tombol Clear aktif Jika tombol Execute ditekan
Buka file FactSalesReturn Tampilkan data di grid yang tersedia
Akhir Jika
Jika tombol Clear ditekan
Hapus data yang dipilih di FactSalesReturn Hapus data yang dipilih di Dimension Hapus data di Syntax SQL
Hapus data di grid
Akhir Jika
Tutup file FactSalesReturn Akhir Jika
Jika tombol Close ditekan
Tutup layar submenu SalesReturn Akhir Jika
Jika tombol Advanced Query ditekan Panggil modul Advanced Query Akhir Jika
Akhir Jika
Jika submenu Payment
Tampilkan layar Query Payment Tombol Execute tidak aktif Tombol Clear tidak aktif Tombol Close aktif
Tombol Advanced Query aktif
Jika data di FactPayment atau di Dimension dipilih Data yang dipilih ditampung di Syntax SQL Tombol Execute aktif
Tombol Clear aktif Jika tombol Execute ditekan
Buka file FactPayment Tampilkan data di grid yang tersedia
Akhir Jika
Jika tombol Clear ditekan
Hapus data yang dipilih di FactPayment Hapus data yang dipilih di Dimension Hapus data di Syntax SQL
Hapus data di grid
Akhir Jika
Tutup file FactPayment Akhir Jika
Jika tombol Close ditekan
Tutup layar submenu Payment Akhir Jika
Jika tombol Advanced Query ditekan Panggil modul Advanced Query Akhir Jika
Akhir Jika Akhir Modul
E.10 Modul Advanced Query
Tampilkan layar Advanced Query Tombol Execute tidak aktif Tombol Clear tidak aktif Tombol Close aktif
Jika Syntax SQL dimasukkan Tombol Execute aktif Tombol Clear aktif
Jika tombol Execute ditekan
Buka database
Jika Syntax SQL benar
Tampilkan data di grid
Selain itu
Tampilkan pesan Syntax SQL Error
Akhir Jika
Akhir Jika
Jika tombol Clear ditekan
Hapus Syntax SQL Hapus data di grid Akhir Jika
Tutup database Akhir Jika
Jika tombol Close ditekan
Tutup layar Advanced Query Akhir Jika
Akhir modul
E.11 Modul Pivot Table Pilih menu Pivot Table Jika submenu Inventory
Tampilkan layar Pivot Inventory Jika tombol Close ditekan
Tutup layar Pivot Inventory Akhir Jika
Akhir Jika Jika submenu Sales
Tampilkan layar Pivot Sales Jika tombol Close ditekan
Tutup layar Pivot Sales Akhir Jika
Akhir Jika
Jika submenu SalesReturn
Tampilkan layar Pivot SalesReturn Jika tombol Close ditekan
Tutup layar Pivot SalesReturn Akhir Jika
Akhir Jika
Jika submenu Payment
Tampilkan layar Pivot Payment Jika tombol Close ditekan
Tutup layar Pivot Payment Akhir Jika
Akhir Jika Akhir Modul
E.12 Modul Graph Pilih menu Graph Jika submenu Inventory
Tampilkan layar Graph Inventory Jika tombol Close ditekan
Tutup layar Graph Inventory Akhir Jika
Akhir Jika Jika submenu Sales
Tampilkan layar Graph Sales Jika tombol Close ditekan
Tutup layar Graph Sales Akhir Jika
Akhir Jika
Jika submenu SalesReturn
Tampilkan layar Graph SalesReturn Jika tombol Close ditekan
Tutup layar Graph SalesReturn Akhir Jika
Akhir Jika
Jika submenu Payment
Tampilkan layar Graph Payment Jika tombol Close ditekan
Tutup layar Graph Payment Akhir Jika
Akhir Jika Akhir Modul
E.13 Modul Maintenance Pilih menu Maintenance Jika submenu Add User dipilih
Panggil modul Add User Akhir Jika
Jika submenu Change Password dipilih Panggil modul Change Password Akhir Jika
Akhir Modul
E.14 Modul Add User
Tampilkan layar Add User Masukkan data user baru Jika tombol OK ditekan
Buka file Login
Jika panjang UserId >10
Tampilkan pesan Maksimal karakter 10 Selain itu jika panjang Password <> 6
Tampilkan pesan Panjang Password harus 6 karakter Selain itu jika konfirmasi password tidak sama
Tampilkan pesan Kesalahan Password Selain itu jika user sudah ada di database
Tampilkan pesan User Sudah Ada di database Selain itu
Masukkan data user baru ke database Akhir Jika
Akhir Jika Akhir Jika Akhir Jika Akhir Jika
Tutup file Login Akhir Jika
Jika tombol Cancel ditekan Tutup layar Add User Akhir Jika
Akhir Modul
E.15 Modul Change Password
Tampilkan layar Change Password Masukkan data
Jika tombol OK ditekan Buka file Login
Jika OldPassword tidak sesuai dengan database Tampilkan pesan Kesalahan Password Lama Selain itu jika konfirmasi password tidak sama
Tampilkan pesan Kesalahan Password Baru Selain itu
Data berhasil di update
Tampilkan pesan Password Berhasil di update Akhir Jika
Akhir Jika Akhir Jika
Tutup file Login Akhir Jika
Jika tombol Cancel ditekan
Tutup layar Change Password Akhir Jika
Akhir Modul
E.16 Modul About Pilih menu About Pilih submenu Designer Tampilkan layar Designer Akhir modul
Lampiran F. Questionnair
Kuisioner Evaluasi Program Aplikasi Data Warehouse PT. ECS Technology
Petunjuk pengisian : Silang jawaban Anda pada tempat yang telah disediakan ! 1. Apakah program aplikasi ini mudah dimengerti ?
o Mudah o Biasa o Sulit
2. Apakah program aplikasi ini mudah digunakan ? o Mudah
o Biasa o Sulit
3. Kesulitan apa yang Anda hadapi saat menggunakan aplikasi ini ? o Belum terbiasa
o Perintah yang kurang jelas
o Fungsi-fungsi yang sulit dimengerti o Tidak ada kesulitan
4. Menurut Anda, bagaimana tampilan program aplikasi ini ? o Menarik
o Cukup o Kurang
5. Menurut Anda, apakah data yang dihasilkan dapat dipertanggungjawabkan kebenarannya ?
o Ya o Kurang o Tidak tahu
6. Apa yang membuat Anda tertarik dengan program aplikasi ini? o Tampilan layar yang menarik
o Informasi yang dihasilkan o Keduanya benar
7. Apakah program aplikasi ini meringankan tugas Anda ? o Ya
o Cukup o Tidak tahu
8. Saran dan kritik Anda untuk program aplikasi ini :
... ... ... ... ...