Implementasi pada Borland Delphi 5 dibagi menjadi dua bagian yaitu sistem OLTP pada menu penjualan dan pembelian untuk memasukkan data penjualan dan pembelian yang kemudian akan diolah dengan OLAP Manager untuk ditampilkan pada sistem OLAP yang ada yaitu berupa laporan-laporan yang akan membantu pemilik toko untuk lebih bijaksana dalam mengambil keputusan pengadaan barang. Daftar menu program dapat dilihat pada Tabel 4.1.
CancelClick - Menutup form pembelian dan menampilkan form utama DataSourceDetailDataChange - Menampilkan kode kategori sesuai nama kategori yang dipilih
- Menghitung subtotal dan total pembelian
- Menyimpan data pada memtable master dan memtable detail
checkdetail - Cek isi data pada Dbgrid detail pembelian
checkmaster - Cek kode supplier apakah sudah diisi data
InsertClick - Memasukkan data pada tabel master dan detail pembelian
FormClose - Pengecekan dilakukannya rollback transaksi
DBGrid1KeyDown - Pengecekan penekanan tombol pada Dbgrid
MemTableDetailNewRecord - Mengisi nilai awal jumlah barang, harga beli, harga jual
DBGrid1Enter - Membuat memtable dalam kondisi edit
SearchClick - Menampilkan form supplier
Penjualan FrmPenjualan FormShow - Menjalankan store procedure untuk generate kode penjualan
- Mengisi picklis DBgridpada kolom kode barang
DateTimePicker1Change - Mengisi tanggal transaksi
CancelClick - Menutup form pembelian dan menampilkan form utama
DataSourceDetailDataChange - Menghitung subtotal dan total pembelian
- Menyimpan data pada memtable master dan memtable detail
checkdetail - Cek isi data pada Dbgrid detail penjualan
checkmaster - Cek kode customer apakah sudah diisi data
InsertClick - Memasukkan data pada tabel master dan detail penjualan
81
Tabel 4.1. Menu Program (lanjutan)
FormClose - Pengecekan dilakukannya rollback transaksi
DBGrid1KeyDown - Pengecekan penekanan tombol pada Dbgrid
MemTableDetailNewRecord - Mengisi nilai awal jumlah barang, harga jual, discount, subtotal
DBGrid1Enter - Membuat memtable dalam kondisi edit
SearchClick - Menampilkan form customer
Stok FrmStok FilterClick - Menjalankan procedure EdtKode_BarangChange
EdtKode_BarangChange - Cek radio button dan membuat perintah query yang sesuai
AllDataClick - Perintah select * from Barang
ReportClick - Manampilkan laporan berdasarkan data pada form stok Laporan FrmLaporan CellGrid - Mengatur stringgrid
CellChart - Mengatur chart
TampilData - Menampilkan data
FormShow - Pengecekan tahun
LaporanPenjualanPerBarang1 - Menampilkan laporan penjualan per barang
Click
LaporanPenjualanPer - Menampilkan laporan penjualan per kategori barang
KategoriBarang1Click
LaporanPenjualanPer - Menampilkan laporan penjualan per customer dlm bulan tertentu
CustomerBulanan1Click
LaporanPenjualanper - Menampilkan laporan transaksi penjualan per customer harian
CustomerHarian1Click
LaporanKeuntungan - Menampilkan laporan keuntungan bulanan
Bulanan1Click
LaporanPenjualanper - Menampilkan laporan penjualan per barang harian
BarangHarian1Click
LaporanOLAP1Click - Menampilkan laporan cube multidimensional
83
4.4.1. Sistem OLTP
Pembuatan sistem OLTP ini meliputi pembuatan form aplikasi untuk memasukkan data penjualan dan pembelian. Untuk memulai aplikasi ini pertama-tama dibuat sebuah store procedure untuk men-generate kode penjualan secara otomatis berdasarkan tanggal transaksi dan no urut yang akan dimulai lagi dari no 1 setiap harinya.
Segmen Program 4.1. Store Procedure set_string_2
CREATE PROCEDURE [set_string_2] @input varchar(2), @hasil char(2) OUTPUT
AS
declare @panjang int
select @panjang = LEN(@input)
if @panjang < 2
Segmen Program 4.2. Store Procedure set_string_3
CREATE PROCEDURE [set_string_3] @input varchar(3), @hasil char(3) OUTPUT
AS
declare @panjang int
select @panjang = LEN(@input)
if @panjang < 2
declare @tanggal char(2) declare @bulan char(2) declare @tahun char(4) declare @nomer varchar(3)
select @tanggal = CAST(DAY(GETDATE()) AS varchar(2)) exec set_String_2 @tanggal,@tanggal OUTPUT
select @bulan = CAST(MONTH(GETDATE()) AS varchar(2)) exec set_String_2 @bulan,@bulan OUTPUT
select @tahun = CAST(YEAR(GETDATE()) AS varchar(4))
select @kode= 'JL' + @tanggal + @bulan + @tahun
select @count = COUNT(Kode_Penjualan) from Master_Penjualan where Kode_Penjualan like @kode+'%'
select @temp = MAX(Kode_Penjualan) from Master_Penjualan where Kode_Penjualan like @kode+'%'
select @max = CAST(SUBSTRING(@temp,11,3) as int) + 1 select @nomer = CAST(@max as varchar(3))
exec set_string_3 @nomer,@nomer OUTPUT select @hasil = @kode + @nomer
end
Kode pembelian dimasukkan berdasarkan nomer nota/faktur pembelian dari supplier tetapi bila tidak ada nomer nota, kode pembelian dapat dibuat seperti halnya kode penjualan dengan store procedure pada Segmen Program 4.4.
Segmen Program 4.4. Store Procedure generate_kode_pembelian
CREATE PROCEDURE [generate_kode_pembelian] @hasil char(13) OUTPUT AS
85
declare @tahun char(4) declare @nomer varchar(3)
select @tanggal = CAST(DAY(GETDATE()) AS varchar(2)) exec set_String_2 @tanggal,@tanggal OUTPUT
select @bulan = CAST(MONTH(GETDATE()) AS varchar(2)) exec set_String_2 @bulan,@bulan OUTPUT
select @tahun = CAST(YEAR(GETDATE()) AS varchar(4))
select @kode= 'BL' + @tanggal + @bulan + @tahun
select @count = COUNT(Kode_Pembelian) from Master_Pembelian where Kode_Pembelian like @kode+'%'
select @temp = MAX(Kode_Pembelian) from Master_Pembelian where Kode_Pembelian like @kode+'%'
select @max = CAST(SUBSTRING(@temp,11,3) as int) + 1 select @nomer = CAST(@max as varchar(3))
exec set_string_3 @nomer,@nomer OUTPUT select @hasil = @kode + @nomer
end
4.4.2. Sistem OLAP
4.4.2.1. Grafik pada aplikasi Borland Delphi 5
Cube-cube yang telah dibuat sebelumnya digunakan untuk sistem OLAP pada implementasi Borland Delphi 5 yaitu untuk menampilkan laporan bagi kepentingan analisis user untuk mendukung pengambilan keputusan. Cube akan ditampilkan dalam bentuk tiga dimensi berupa chart dan user dapat memilih pilihan laporan yang diinginkan sesuai periode waktu yang ada.
Untuk mengambil informasi di dalam cube digunakan multidimensional query (MDX query). MDX query digunakan pada setiap program menu laporan klik, sebagai contoh adalah laporan penjualan per barang harian seperti pada Segmen Program 4.5.
columns, ' +
' ([Nama Kategori].[Nama Barang].members) on rows from Cube_Penjualan1 where Jumlah_Barang';
TampilData;
end;
end;
MDX query pada Segmen Program 4.5 bertujuan untuk menampilkan laporan penjualan per barang harian seperti ditunjukkan pada Gambar 4.44.
Gambar 4.44. Laporan Penjualan per Barang Harian
87
4.4.2.2. Pivot Table pada aplikasi Visual Basic 6.0
Aplikasi pada Visual Basic 6.0 digunakan untuk menampilkan OLAP cube dengan tampilan seperti pada Cube Browser. Penulis menggunakan komponen Pivot Table pada Visual Basic 6.0 karena komponen ini mendukung tampilan cube dengan fasilitas drop down. Bentuk file .exe dari aplikasi ini dapat diakses dari Delphi dengan program pada Segmen Program 4.6.
Segmen Program 4.6. Menampilkan File.exe
procedure TFrmLaporan.LaporanOLAP1Click(Sender: TObject);
begin
WinExec('D:\06.06.2004\LaporanOLAP.exe', SW_SHOWNORMAL);
end;
Aplikasi ini dibuat dengan menggunakan komponen Pivot Table pada Microsoft Office Web Components 9.0. Untuk menampilkan komponen ini pilih menu Project, Component lalu klik pada Microsoft Office Web Components 9.0 kemudian klik button OK seperti ditunjukkan pada Gambar 4.45.
Gambar 4.45. Komponen Pivot Table
Gambar 4.46. Form Laporan Penjualan
Pada form laporan penjualan klik pada Property Toolbox maka akan ditampilkan form seperti pada Gambar 4.47. Pilih Connection pada Data Source lalu klik Connection String untuk melakukan koneksi pada OLAP Manager. Pilih Microsoft OLE DB Provider for OLAP Services sebagai provider (lihat Gambar 4.48) lalu klik button Next untuk koneksi database pada OLAP Manager.
Gambar 4.47. Pivot Table Property Toolbox
89
Gambar 4.48. Data Source
Setelah database terkoneksi maka perlu di-drag field-field pada Pivot Table Field List untuk menentukan column area, row area, filter, data dan detail. Setelah selesai maka pivot table telah jadi dan untuk tampilan file .exe dapat dilihat pada Gambar 4.49.
Gambar 4.49. Laporan Total Penjualan