BAB IV HASIL DAN PEMBAHASAN
4.1
LATAR BELA KANG PERUSAHAAN PT. XYZ adalah sebuah perusah aan yan g ber gerak
dalam industri
distribusi farm asi. Per usahaan ini didir ikan pada tahun 1967 sebagai sebuah perusah aan im portir dan pada tahun 1970, PT. XYZ m enjadi sebuah per usahaan distribusi farm asi. Seir ing berjalannya waktu, PT. XYZ sudah mempunyai 18 caban g yan g tersebar hampir di seluruh wilayah In don esia yaitu di Medan, Palem ban g, Padang, Pekanbaru, Lampung, Batam , Bandung, Jakarta satu, Jakarta dua, Jakarta tiga, Sem arang, Surabaya, Yo gyak arta, Malang, Banjarmasin, Sam arinda, Bali, dan Makassar. Pro duk yan g didistribusikan dan yan g dijual oleh PT. XYZ tidak hany a produk obat dari satu principal saja sekar an g, tapi ada beberapa principa l yan g sudah mem percayakan per usahaan ini untuk m endistribusikan dan m enjual o bat mereka. Pada tahun 2004 PT. XYZ sudah berhasil m engimplem entasikan pro gram aplikasi En terprise Resource Planning (ERP) Microsoft Dynamics Ax / Axapta untuk kantor pusat dan ke 18 cabangnya. Adap un m odul ap likasi yan g digunakan meliputi m o dul General Ledger, Modul Bank, Modul Account Receivable, Modul Account Payable, dan Mo dul Per sediaan Baran g Management yan g salin g terintegrasi sat u sama lain. PT. XYZ saat ini menggunakan metodo logi sistem terdistribusi dimana m asing-masing caban g m enjalankan aplikasi ERP sen dir i-
61
62
sen dir i. Semua m asalah operasion al caban g adalah menjadi tanggun g jawab cabang it u sendiri. Laporan Keuangan, laporan per sediaan baran g, laporan penjualan, dan lain-lain dikeluark an oleh masin g-masin g caban g.
4.1. 1 VISI DAN MISI PERUSAHAAN Visi PT. XYZ adalah menjadi suatu per usahaan distribusi tin gkat dunia, melalui usaha keras terus menerus dalam mengem bangkan sum ber daya m anusia, dan den gan m emberik an pelayanan berk ualitas tertinggi kepada pelanggan dan keun ggulan dalam pelaksanaan. Misi PT. XYZ adalah sebagai ber ikut: •
Mutu Pelayanan Adalah keyak inan kami bah wa hanya p elan ggan kami dapat menilai kualitas dar i pelay anan kami. Dengan dem ikian, kam i selalu akan ber usaha untuk memenuhi dan melam paui h arapan p elan ggan.
•
Kualitas Lingk un gan Kerja Perusahaan akan m engadakan suatu lin gkun gan k erja yang men unjan g perkem ban gan pribadi, keh arm onisan dan kesejahteraan untuk seluruh karyawan.
•
Kemitraan Jiwa kerjasam a (team wo rk) akan selalu menjadi dasar dari usah a perusahaan.
•
Integritas Prinsip-prinsip keben aran, keadilan, dedik asi dan loy alitas akan mendasar i aktivitas karyawan seh ari-har i.
63
4.1. 2 STRUKTUR ORGANISASI PERUSAHAAN Adapun struktur or ganisasi PT. XYZ adalah sebagai ber ikut :
G ambar 4.1 Struktur Or ganisasi PT. XYZ Sum ber : Manager SDM PT. XYZ Tah un 2009
64
TUGAS DAN WEWENANG Presi den Dire ktur Tugas: • Melakukan ev aluasi secar a berkala atas kinerja para direktur dan jajaranny a dalam pelak san aan oper asional bisnis PT XYZ. • Mem berikan p enilaian yan g bersifat obyektif. Pada dasarnya seoran g presiden direktur dipilih oleh para dewan komisaris, dimana saat ini posisi presiden direktur diberikan k epada 1 (satu) oran g eksek utif. Wewenang :
• Mendelegasikan tugas oper asional harian kepada direkt ur secara efisien yan g disesuaikan den gan kon disi PT XYZ.
Audi tor Tugas: • Melakukan pem erik saan lapor an keuan gan selur uh caban g dan k antor pusat. • Mem eriksa laporan pajak semua caban g dan kantor p usat. • Melakukan stock opname barang di baik di gudan g kantor pusat maupun di gudang cabang. • Melakukan stock opname kas, piutan g, faktur asli, dan baran g gimm ick baik di gudang k antor pusat m aup un di caban g. • Melakukan konfirm asi piutan g k epada Apotek, Rumah Sakit, dsb pada tiap cabang. • Mem eriksa sistem dan pro sedur p er usahaan baik di k antor pusat maupun di cabang.
65
• Mem berikan sar an per baikan sistem dan prosedur ke cabang dan kantor pusat. • Mem eriksa aktiva tetap caban g dan kantor pusat. Wewenang: • Melakukan kontrol atas setiap proses bisnis y ang ber langsun g di dalam PT XYZ agar sesuai den gan standar dan prosedur yan g telah ditetapkan di PT XYZ.
Direktur Operasional Tugas: • Melakukan evaluasi secara berkala atas kinerja per usah aan dalam hal menjual dan men distribusikan produk kep ada pelan ggan. • Melaksanakan operasional bisnis PT XYZ. Wewenang: • Segala asp ek y ang berhubungan den gan oper asional kantor pusat dan caban g yang dimiliki oleh PT XYZ kh ususnya dari segi pen jualan dan pen distribusian produk – pro duk yang disediak an oleh PT XYZ. • Sebagai pemegan g k unci yang paling penting dalam PT XYZ. Hal in i dikarenakan dir ektur operasional m erupakan k unci keberhasilan PT XYZ dalam m endistribusikan dan m enjual pro duk – produk y ang ditawarkan kepada pelan ggan.
66
Direktur Logi sti k, G eneral Affair (GA) da n Admini strasi Tugas: • Melakukan evaluasi secara berkala atas kiner ja perusahaan dalam hal ketersediaan produk di gudan g, operasional um um perusahaan, dan pro ses bisnis internal per usahaan. Wewenang: • Segala aspek yang berh ubungan den gan per sediaan pro duk, bagian um um dan bagian adm inistrasi penjualan. Seoran g direktur logistik, GA dan adm inistrasi mem egang per anan yan g p enting dalam m enjam in keter sediaan pro duk baik di kantor pusat m aup un di cabang yan g dimiliki oleh PT XYZ sehingga tidak terjadi kekuran gan ketersediaan produk.
General Manager (GM) O perasional Tugas: • Mem buat sales forecast dan budget operasion al (incl. discount, collection, prom osi, ongko s kir im bar ang, outlet aktif dan I BT (Income Befo re Tax). • Mem buat rencana k e-outlet dan up-country. • Merencanak an strategi promosi M D untuk OTC. • Melakukan Brea kdo wn sa les fo recast per bulan. • Merancang Visit Plan bagi salesm an. • Mem buat sistem pengawasan dan laporan. • Kunjun gan k e cabang-cabang. • Meeting caban g.
67
• Meeting Manager (nasional). • Meeting Dir eksi / G.M. di kantor pusat. • Kunjun gan k e cabang dan survey lapangan serta mem buat lapor annya untuk Operasional Direkt ur. • Menjaga kestabilan jalannya p erusahaan. • Fun gsi kontrol sem ua pelak sanaan yan g sudah dir encanakan. • Kontrol dan menyelesaikan masalah caban g. • Mencari ef isien si oper asi caban g. • Mem bina dan m em otivasi k aryawan caban g. • Pengem ban gan karyawan disediakan p elatihan-p elatihan. • Pengem ban gan area/teritorial dan coverage salesman (pelan ggan) . Wewenang: • PHK karyawan cabang (Manager, Ka. Pem bukuan, KSA) yang berkaitan den gan kesalahan oper asi cabang. • Pengeluaran biaya dibawah satu juta rupiah ( bar ang operasi dan barang mo dal). • Penjualan dan discount yan g sesuai atau tidak diluar budget yan g sudah ditentuk an dalam Rencana Tah unan. • Operasi cabang rutin (jadwal up-coun try, visit plan). • Pengeluaran biaya diatas satu juta rup iah (pem belian baran g m odal, pinjaman karyawan). • Pengeluaran discount diluar ketentuan per usahaan. • Kep utusan-k ep utusan terhadap ekstern (m eeting ke p ihak pabrikan).
68
General Manager (GM) Fina nce & A ccounting Tugas: • Mem buat goal tah unan dan tujuan pen gawasan di departem en Finance & Accounting. • Menjabarkan goal tahunan m enjadi kegiatan pelaksanaan untuk dilak sanakan di departem en Finance & Accounting baik di kantor pusat m aup un cabang. • Merencanak an penin gkatan kualitas ker ja di
departemen Finance &
Accounting. • Mem buat sistem prosedur untuk keser agaman kerja di dep artemen Finance & Accounting. • Menyelesaik an masalah dan ken dala di departemen Finance & Accounting baik di kantor p usat maup un di caban g. • Mengkaji semua transak si k euangan p usat. • Menyelesaik an tugas dari Direktur. • Mem onitor laporan bulanan dar i caban g. • Mengkaji kem bali sistem dan prosedur yang ber laku jika ditemukan masalah. • Mengkaji transaksi pen geluaran k euan gan di kantor pusat. • Mengadakan rap at tahunan dep artemen Finance & Accounting secara n asional. • Merencanak an pelatihan tahunan di bidan g Finance & Accounting buat kantor pusat dan caban g. Wewenang: • Segala aktifitas yan g berh ubun gan dengan keuan gan PT XYZ sep erti laporan arus kas, laporan keuan gan, dan lain – lain.
69
Manager Informati on Technol ogy (I T) Tugas: • Merencanak an kebutuhan untuk m aintenance hard ware, pen gem ban gan software sebagai p endukun g operasion al per usah aan. • Merencanak an fitur-fitur y ang berh ubungan den gan teknolo gi informasi seperti kebutuhan in ternet, e-commerce, conn ectivity antar caban g. • Mengawasi/mengontrol ha rd ware: server, PC karyawan (anti virus, e-mail system). • Mengawasi/mengontrol keluar m asukny a data/dok um en lewat e-m ail dan mengawasi e-m ail system . • Mengawasi/mengontrol data agar sesuai prosedur/pro ses bisnis yan g sudah ditetapkan. • Pengem ban gan infrastruktur jarin gan di caban g. • Pengem ban gan e-comm erce. Wewenang: • Pem buatan report dan m odifikasi pro gram yang tidak mer ubah business process dan pro sedur perusahaan, seperti : penam bahan repo rt standart. • Pem belian hard wa re komp uter bar u. • Pem buatan repo rt dan modifikasi aplikasi yan g m erubah proses bisn is dan prosedur per usahaan.
70
Manager General Affai r (GA ) & Sumber Daya Manusia (SDM) Tugas: • Mem buat perencan aan untuk aktifitas: 1. Keber sih an dan pem eliharaan gedung dan p eralatannya. 2. Penyedian ATK dan kebut uhan um um, pantry, dan lain- lain. 3. Pemakaian, servis, pem elih araan k endaraan. 4. Asur ansi gedun g dan k endaraan. 5. Perijinan dan perpan jan gan dok um en- dok umen. • Mengur us/m em bant u m engur us semua ijin-ijin perusahaan. • Menghit un g lem bur karyawan bagian um um. • Mengur us/m em bant u mengur us segala hal yan g berh ubungan
den gan
pengirim an & penerim aan pak et/surat dari dan ke luar neger i/dalam negeri. • Melakukan tugas lain y an g dim inta oleh Direk si/Kom isaris. • Melakukan kontrol atas pelak sanaan dari peren canaan yan g sudah ditetapkan apakah sesuai stan dar oper asi per usahaan atau tidak. • Mem berikan input dan output dari karyawan um um dengan m en gadakan pertemuan. • Merencanak an kegiatan pener imaan dan selek si karyawan baik unt uk HO atau Cabang. • Merencanak an pen ginform asian kebutuh an tenaga k erja baik dari dalam maupun diluar per usahaan (melalui m edia masa). • Merencanak an kebutuh an training melalui Training Need Analysis.
71
• Merencanak an
pembuatan
m aup un
perpanjan gan
dok umen- dokumen
ketenagakerjaan. • Menyiapkan jumlah kartu absensi sesuai jumlah kary awan yang ada. • Menyiapkan Job Description sesuai dengan jabatan yan g ada. Wewenang: • Mem ilih dan m engusulkan calon karyawan untuk mengik uti proses seleksi. • Menentukan calon kary awan yang lolos dari p sikotes. • Menentukan alat/in strumen yan g sesuai untuk m elak ukan psikotes calon karyawan. • Mengusulkan jenis pelatihan yang sesuai den gan t ujuan y an g akan dicap ai. • Mengusulkan lembaga pen didikan dan pelatihan yan g ak an digunak an. • Pengur usan dok um en ketenagakerjaan. • Mengajukan saran /usulan dalam peny usun an Job Description. • Perpanjangan ijin- ijin/dok umen perusahaan. • Perbaikan-perbaikan dan pemelih araan gedun g dan kendaraan. • Pengeluaran biaya berkaitan den gan adanya p engeluar an biay a yan g relatif
besar, seperti: perp anjangan asur ansi, pemelihar aan/pembelian bar an g untuk keperluan p erusahaan, p er baik an/pem belian kendaraan p erusahaan.
72
Manager Sales A dmin (SA) dan Logistik Tugas: • Menetapkan sistem pemesanan pro duk ke prin sipal. • Menetapkan sistem pemesanan pro duk oleh caban g ke k antor pusat. • Merencanak an on gkos an gkut yang digunakan dalam pen distribusian pro duk ke selur uh cabang. • Merencanak an perio de pem esanan tiap-tiap caban g ke Kantor Pusat. • Mem astikan bahwa caban g telah m elak sanakan aktivitas di caban g sesuai aturan perusah aan. • Mem astikan tercapainy a ak urasi p ersediaan. • Mem astikan tidak terjadinya k ekuran gan p ersediaan di selur uh caban g. • Mem astikan tercapainya pelaporan kepada prinsipal secar a tepat waktu dan ben ar. • Merancang pro gram dan sistem pengem bangan aktivitas operasi dalam rangk a meningkatkan efisiensi ker ja di bagian Sales Admin ( SA) dan Logistic dan juga pelayanan kepada pelanggan. • Mem bina staff dan bawah an dalam rangka m enin gkatkan kiner ja kerja mereka untuk m enunjan g kelancar an aktivitas per usahaan dan efisiensi. • Melakukan koor din asi atas penerimaan baran g dar i prin sipal. • Melakukan koor din asi atas pelayanan pesanan caban g dan m en gatur pr ioritas atas pesanan ter sebut. • Melakukan koor din asi den gan eksp edisi dalam pengatur an jadwal pengam bilan bar ang untuk pengirim an.
73
• Melakukan koor din asi den gan bawahan dalam kaitan keber sihan dan pem eliharaan atas p ersediaan baran g. • Mem bantu atasan dalam hal m elak uk an evaluasi atas perform a dari p er usahaan ekspedisi yang digunakan. • Melakukan pen gur usan legalisasi atas dok um en produk p sikotropika. • Menjam in pencatatan atas p ersediaan barang sesuai transaksi sebenarnya. Wewenang: • Mem berikan teguran dan perin gatan kepada bawahan, dalam ran gka pem binaan atas sta ff dan bawahan. • Menentukan per usahaan ek spedisi yan g digun akan yang sudah didaftarkan di perusah aan. • Pem belian baran g m odal. • Pem belian per sediaan pro duk jual.
Kepala Cabang Tugas: • Mem buat strategi dan m erencanakan kegiatan untuk mencap ai tujuan dan target perusahaan. • Mem buat target penjualan. • Menyusun dan men gkoor dinasikan pengelolaan budget, targ et, dan sales forecast. • Merencanak an meeting den gan salesm an. • Melakukan kunjun gan ke pelan ggan.
74
• Mem buat laporan penjualan dan an alisisnya. • Mem bina, m en gkoordinasikan dan memotivasi kary awan. • Melakukan koor din asi den gan kantor pusat dan bagian m arketing. • Mem bina h ubun gan dengan pelan ggan dan prinsipal. • Melakukan stock-opname harian pada gudan g. • Menandatangani faktur penjualan. • Mengkoor dinasikan pen distribusian k e outlet den gan system sam e day service. • Mem onitor collection dan ord er baran g. • Mem onitor outlet yang tidak aktif dan total outlet. • Melakukan inspek si mendadak di bagian lapangan & gudan g. • Mem onitor pencapaian sales setiap har i, piutang pelanggan, per sediaan barang. • Pengawasan plafon kredit dan TOP untuk pelanggan. • Mem onitor kem am puan dan produktifitas karyawan unt uk dipromosik an pada jenjang y an g lebih tinggi. • Mem berikan p elatihan salesmanship pada tenaga pen jualan. • Mengusulkan k ur sus-k ur sus yang berk aitan dengan bidan g pekerjaan pada kantor pusat. • Penyediaan sar ana ker ja yang sesuai den gan perk em ban gan: komputerisasi, email. Wewenang: • Menetapkan/pen guran gan diskon den gan batas tertentu. • Menetapkan pagu kredit.
75
• Menetapkan/mengh entikan display baran g ke pelanggan yan g m acet/tidak lancar p embay arannya. • Merekrut karyawan unt uk tingk atan sta ff. • Menyetujui pem ber ian insentif salesm an sesuai k ebijakan per usahaan. • Mengan gkat dan m emberhentikan kary awan. • Mem beli baran g inv entaris kantor sesuai den gan anggaran yang telah disetujui kantor pusat. • Merekrut karyawan sales supervisor, kepala pembuk uan, kepala sales adm inistrasi • Tam bahan discount di luar peratur an yan g ada.
Manager Finance & A ccounti ng Tugas: • Mem eriksa email dari cabang dan menjawab / m em ber i cara peny elesaian bila terjadi kasus di cabang. • Mem buat laporan keuangan konsolidasi, payroll, pen giriman dana operasional, asuransi, klaim, setoran jam so stek, dan PPH Pasal 21. • Mem buat laporan SPT tahunan PPH Badan dan PPH pasal 21. • Mem buat daftar upah tenaga kerja tahunan untuk jam sostek. • Mengecek dan m em ber ikan otorisasi terhadap biaya- biaya operasional perusah aan den gan car a m emeriksa dokum en. • Mem eriksa laporan kas har ian cabang.
76
Wewenang: • Mem bentuk mekan ism e y ang lebih efisien dalam mengarahkan PT XYZ untuk menguji dan menjaga integritas lapor an keuan gan PT XYZ. Hal in i menghar uskan
PT XYZ untuk mem iliki kerangka
dalam melakukan
penelaahan dan ran can gan dalam hal otorisasi untuk menjamin kebenaran dan keabsahan dar i posisi keuan gan yang disajikan. • Mem punyai otoritas untuk melak ukan pelaporan dan evaluasi kebenaran atas posisi keuan gan PT XYZ. Secara berkala, Manager Finance & Accounting mem berikan laporan kepada General Manag er Finance & Accounting.
Staff Information Technology (IT) Tugas: • Mengan alisis sistem yang sekar an g berjalan. • Mengan alisis kebut uhan-kebut uhan u ser dan mengembangkan / update sistem terbaru. Wewenang: • Segala aktifitas yan g berh ubun gan den gan IT/IS pada PT XYZ dan melaporkan setiap aktifitas yan g terjadi ke Manager IT.
Staff Accounting Tugas: • Mencetak laporan v aluasi p ersediaan barang. • Mem buat perhitun gan biaya p eny usutan dan asur ansi terhadap aktiva tetap.
77
• Melakukan laporan rekonsiliasi bank. • Melakukan stock opname di gudan g. • Mem buat perincian biaya r upa-rupa dan biay a operasion al. Wewenang: • Segala aktifitas y ang berh ubungan den gan pembukuan pada PT XYZ dan melaporkan setiap aktifitas yan g terjadi k e Manager Finance & Accounting.
Staff Pajak Tugas: • Mem buat laporan Pph 21, Pph 23, Pph Final. • Mem buat SSP, SPT, rincian dan bukti potong. • Mem buat laporan PPN dan Pph pasal 25. • Melakukan pelaporan k e kantor pajak. • Mem buat perincian Pph pasal 22. Wewenang: • Segala aktifitas yang berhubungan den gan perpajakan pada PT XYZ dan melaporkan setiap aktivitas yan g terjadi k e Manager Finance & Accounting.
Staff Finance Tugas: • Mengum pulkan pen erimaan bank tran sfer dari caban g. • Mentransfer dana y ang dibutuhkan oleh caban g. • Mengecek dan menjadwal pem bayar an kepada principa l.
78
• Mengecek dan menjadwal pem bayar an kepada pelan ggan. • Mengecek dan mem bayar klaim kepada k aryawan. • Mendepositokan dana yan g lebih dar i jadwal pem bayaran. • Melakukan setoran, transfer, depo sito nota-nota ke bank. • Mem buat rekapan kas kecil. Wewenang: • Segala aktifitas y ang berhubun gan den gan k euan gan pada PT XYZ dan melaporkan setiap aktifitas yan g terjadi k e Manager Finance & Accounting.
Staff General Affai r (GA) Tugas: • Mengoperasikan AC, lift, PABX serta pen gaturan jadwal service. • Perawatan gen set dan panel po wer. • Pengawasan line telepon PABX, in stalasi air, stop contact. • Melakukan per awatan mekanik : pint u, k unci, dll. • Merawat dan m emelihara ken dar aan. Wewenang: • Mengantarkan dok umen/surat-sur at kepada: bank, relasi atau in stansi lainny a. • Mengawasi dan memelihara k endaraan operasion al.
79
Staff Sumber Da ya Manusia (SDM) Tugas: • Menam pun g surat lam aran yan g m asuk dan menyeleksi surat lamaran tersebut sesuai dengan k ualifik asi peker jaan y ang ada. • Melakukan wawancara dan psikotes untuk calon kary awan. • Mem buat resum e hasil psikotes dan m en ginformasikannya k e user terkait. • Mem buat desain iklan lowongan peker jaan di media masa dan pem asan ganny a di m edia yan g sudah ditentukan. • Mengat ur jadwal dengan u sers untuk wawancara calon kary awan. • Mengat ur jadwal dan memanggil calon karyawan unt uk proses seleksi dan rekrutm en. • Mengur us dok umen ketenagakerjaan k e kantor Disnakertrans. • Pem buatan laporan absensi HO dan Caban g setiap bulannya. • Mem berikan konsultasi/saran k epada manager / kepala caban g terhadap perm asalahan ketenagakerjaan. • Input data-data adm inistrasi per sonalia, seperti: data karyawan dan cuti. • Mem buat offering letter karyawan bar u, perpanjangan surat kontrak kerja maupun sur at pengangkatan karyawan tetap. • Mem buat Job Descrip tion sesuai jabatan yan g ada. • Mengelola p erp ustakaan perusahaan. • Pengisian data karyawan. • Adm inistrasi karyawan masuk dan keluar per usahaan.
80
Wewenang: • Segala aktifitas yan g berh ubun gan den gan sumber daya manusia pada PT XYZ dan melaporkan setiap aktifitas yang terjadi ke Manager General Affair ( GA) dan Sum ber Daya Man usia (SDM).
Staff Logi stik Tugas: • Mem persiapkan baran g yan g akan dik irim . • Mem asukk an persedian baran g ke dalam lem bar stock log istic. • Melakukan pen gecekan atas p enerimaan baran g dari principa l. • Melakukan pen gecekan baran g yan g disiapkan sesuai picking-list atas PO cabang. • Mem buat laporan stock seluruh bar an g. • Mengger akkan bawah an dalam pemeliharaan per sediaan bar ang. • Mem elihara aset per usahaan berupa alat dan fasilitas kerja gudan g. • Mengawasi/mengecek barang yan g akan dikirim. • Menerim a/m engecek baran g yang masuk dari pabrik. Wewenang: • Melakukan pen geluar an baran g sesuai sur at pesan an cabang. • Melakukan pen giriman pesanan CITO. • Pem belian peralatan di gudan g.
81
Staff Sal es Admin (SA) Tugas: • Melakukan pesanan pelan ggan ke dalam sistem. • Mem buat picking- list, fakt ur penjualan, f aktur pajak. • Menerim a retur dar i pelan ggan untuk diretur k e kantor pusat. • Mem buat laporan OKT setiap bulan k e Departem en Kesehatan. • Mem buat laporan dinamika o bat setiap 3 bulan ke Departem en Kesehatan. • Menyiapkan stock opname. Wewenang: • Segala aktifitas yang berh ubungan den gan adm inistrasi pen jualan pada PT XYZ dan m elaporkan setiap aktifitas yang terjadi ke Manager Sales Admin ( SA) dan Lo gistik.
82
4.2
BUSINESS INTELLIGENCE ROADMAP Seperti yan g sudah dijelaskan di dalam bab 3 Gam bar 3.1, bah wa ada
beberapa tahapan dalam m etodologi Bu siness Intelligence Project Roadm ap yang digunakan sebagai ker an gka ker ja dalam proses perancan gan dan im plementasi aplikasi peran gkat lunak BI sebagai berik ut:
4.2. 1 FASE JUSTIFIC ATION Pengem ban gan aplikasi BI pada PT. XYZ dim ulai dari fase awal yaitu fase justification. Pada fase ini dilakukan bu siness case assessm ent yait u evaluasi dan assessm ent terhadap k ebutuhan bisnis PT. XYZ yan g m em beri dorongan terhadap pengem ban gan awal dari proyek BI. Justifikasi kebutuhan bisn is m er upak an fase yang sangat penting sebagai inti dar i setiap proy ek BI yang berfok us pada analisis bisnis / bu siness-d riven. Pada tahap business ca se a ssessm ent dilakukan p en defin isian m asalah dan peluan g bisnis untuk kemudian diajukan solusi BI terhadap m asalah-masalah tersebut. Pada tahap ini juga dilakukan justifikasi biaya yan g akan dik eluarkan dan pen def inisian keuntun gan bagi PT. XYZ. Keuntun gan yan g dimaksud dapat ber upa pem ecahan masalah bisnis atau pero lehan keuntun gan dar i peluan g y an g ada. Adap un kegiatan-kegiatan yang dilak uk an pada tahap ini m elip uti :
A.
Menentukan ke butuhan bi snis Berik ut ini beberap a kebutuhan bisnis yan g diper lukan o leh PT. XYZ untuk
dap at bersaing den gan para pesain gnya di pangsa pasar, sebagai ber ikut:
83
1.
Memperluas daya distribusi p enjualan. Salah satu kekuatan yan g dimiliki oleh PT. XYZ terletak pada luasnya area cabang PT. XYZ y ang tersebar di seluruh Indonesia. Ber dasark an dari hal tersebut di atas, hal ini dapat digunakan sebagai daya sain g bagi PT. XYZ unt uk ber sain g dengan para kom petitor. Selain it u, PT. XYZ juga dapat m eningk atkan arus distribusi untuk meningkatkan day a saing den gan para kompetitor.
2.
Meningkatkan sistem operasional p er usahaan. Den gan m enggunakan proses operasional yang baik PT. XYZ akan diarahkan pada penin gk atan kinerja dan efektifitas dari per usahaan. Peningk atan yang dicapai ini dap at dimulai dar i perbaikan struktur or ganisasi m enjadi lebih teroganisir dengan tujuan untuk meningkatan kinerja pada tiap str uktur or ganisasi y ang dimiliki o leh PT XYZ.
3.
Menjamin penyebar an o bat secara m erata dan teratur agar obat dapat dip eroleh den gan mudah pada saat diperlukan.
4.
Terlaksan anya pengamanan distribusi dan penggunaan obat tepat sam pai kepada pihak yan g m embut uhkan secar a sah dan m elin dun gi masyar akat dar i kesalahan pen ggunaan atau p enyalah gunaan.
5.
Menjamin keabsahan dan m utu obat sehin gga obat yang sam pai k e tangan konsumen adalah obat yang efektif, aman, dan dapat digun akan sesuai t ujuan penggunaannya.
6.
Meningkatkan diversifikasi produk bar u. Den gan
sistem yang telah
berkem ban g dan terintegrasi, PT XYZ merup akan sebuah p erusahaan yan g telah matang dan siap dalam menghadapi persain gan bisnis yan g ada. Penam bahan diversifikasi pro duk bar u juga diharapkan dapat mampu
84
dilakukan oleh PT XYZ Cisco Ditas untuk m enin gkatkan daya sain gnya di pangsa pasar. 7.
Meningkatkan tingkat kepuasan pelanggan. Dengan sistem yang efektif dan efisien, PT XYZ mer upakan sebuah per usahaan yang telah m atang dan siap dalam menghadap i persaingan bisn is yan g ada. Salah satu faktor penent u keberhasilan per usahaan adalah penin gkatkan layanan k epada pelanggan . Kepuasan pelanggan baik terhadap pro duk yang dijual dan lay anan yan g diberikan oleh per usahaan, tentu saja akan san gat ber dampak terhadap penjualan dan keunt un gan per usahaan.
Berdasarkan kebutuhan di atas, langkah selan jutnya yan g har us dilak ukan adalah men gevaluasi kek uatan, kelem ahan, peluang, dan an cam an yan g ada pada PT. XYZ. Den gan mengetah ui kekuatan, kelem ahan, p eluang dan ancam an yan g ada pada perusahaan, maka pihak ek sek utif PT. XYZ dapat m engidentifik asi dan menetapkan strategi yan g diperlukan unt uk memenuhi kebutuhan-kebutuhan bisnis m ereka. Alat bantu yan g biasanya digunakan untuk m en gidentifikasi faktorfaktor tersebut adalah men ggunakan analisis SW OT. Analisis SW OT m erupakan m etode analisis strategi untuk m engevaluasi Streng ths ( Kek uatan), Weaknesses ( Kelem ahan), Opportunities (Peluan g) dan Threats (Ancaman) yang memiliki keterkaitan den gan sat u proyek atau dalam sebuah proses bisnis pada sebuah per usah an. Hal ini melibatkan pro ses identifikasi faktor internal yan g m er upakan faktor-faktor yang dapat diken dalikan oleh perusahaan dan faktor eksternal y ang mer upakan faktor-faktor yang tidak dap at diken dalikan oleh perusahaan.
85
Analisis SW OT yang telah dijelaskan sebelumnya juga dilak ukan secar a menyeluruh yang digunakan untuk mencap ai tujuan per usahaan. Im plementasi analisis SW OT merupakan hal yang pentin g dalam perancangan strategi perusah aan sehin gga dapat m enggunakan kekuatan, m engatasi kelemahan, mengek sek usi kesempatan dan mencegah ancaman yang ada dengan sebaik – baiknya.
LING KUNGAN EKS TERNAL BISNIS & SI/TI PELUANG (OPPORTUNITIES)
Peluang adalah salah satu faktor pentin g dalam pembentuk an strategi sebuah perusah aan. Peluan g dapat m em berikan harap an untuk m endaptkan keuntun gan dan nilai tam bah baru bagi perkemban gan bisnis perusah aan. Berikut ini dijelask an peluang yan g dimiliki oleh PT XYZ : • Kesadar an masyarakat akan pentingnya kesehatan yang semakin menin gkat dar i tahun k e tahun. • Sem akin banyaknya dan semakin mudahnya sum ber informasi diperoleh berkat duk ungan IT, dim ana inform asi yan g diperoleh tersebut san gat membant u pihak ek sek utif dalam m elak ukan proses analisis seperti inform asi pro duk kom petitor, dan lain-lain. • Sem akin pesatnya peran an IT dan kemudahan yan g ditawarkan dalam meningkatkan cara ker ja oper asional p er usahaan.
86
HAMBATAN (THREATS)
Ancaman adalah sebuah faktor yang tidak dapat dihiraukan bagi sebuah perusah aan. An caman dapat terjadi dari berbagai faktor sep erti perkem ban gan teknologi, inovasi yan g di-publish oleh p esain g-pesaing di bidang pasar yan g sam a, m unculnya pesaing bar u, r egulasi dar i pemerintah dan sebagainya. Berikut ini merupakan ancaman bagi PT. XYZ : • Munculnya pesain g bar u atau pro duk sejenis di pasaran terutama untuk produk-pro duk yan g didistribusik an oleh lebih dari satu p er usahaan distribusi. • Persain gan har ga yan g cukup kompetitif antar perusahaan distribusi y an g mem asarkan produk o bat yan g sama di p asaran ataupun antar pro duk sejenis yang beredar dan dijual di p asaran. • Sem akin tingginya biaya prom osi / iklan baik di m edia cetak maupun m edia televisi.
LING KUNGAN INTERNAL B ISNIS & SI/TI
KEKUATAN ( STRENGTH)
Kek uatan adalah faktor yan g m endukung atau daya saing yan g dimiliki oleh perusah aan. Menin gkatkan kekuatan perusahaan ak an dapat meningk atkan day a sain g perusah aan tersebut dalam ber sain g dengan per usahaan lainny a baik yan g ber gerak dalam bidan g yang sam a m aup un yan g ber beda. Berikut ini mer upakan kekuatan yang dim ilik i oleh PT. XYZ :
87
• Sebagai distributor sat u – satunya (Sole Distributor) unt uk produk prin cipal “TD”, yang dapat memperbesar pan gsa pasar tanpa har us m erasa khawatir akan kompetensi yang dim iliki oleh pesain g. • Sebagai per usahaan distribusi yan g mem iliki area distribusi yan g mencakup ham pir seluruh wilayah Indonesia, yan g tentu saja dap at menarik m inat principal o bat unt uk menggunakan PT. XYZ sebagai jalur distribusi dan penjualan produk m ereka. • Proses bisn is internal yan g sudah terintegrasi den gan baik yaitu dengan sudah diim plementasikannya aplikasi ERP Micro soft Dynamics Ax.
KELEMAHAN (WEAKNESSES)
Kelemahan pada perusahaan merup akan suatu faktor yan g har us terus ditinjau dan har us diatasi sehingga tidak menim bulkan ker ugian bagi per usahaan. Kelemahan pula harus melewati proses p em atangan dan pendewasaan agar dapat dim inim alisasikan pen gar uhnya bagi per usahaan. Ber ikut ini adalah kelemahan yang dimiliki o leh PT. XYZ : • Sistem informasi y ang masih ber sifat ter distribusi antara k antor pusat den gan cabang. • Masih terdapat str uktur organisasi yan g m engem ban tugas dan wewen an g rangkap. • Tingkat keluar masuk karyawan y ang cuk up tinggi.
88
ANALISIS
S TRENG TH,
W EAKNESS, O PPO RTUNITIES,
TH REAT
(SWO T) Setelah f aktor-faktor strategis baik internal m aup un ek sternal dari sebuah perusah aan diidentifikasi, m aka lan gkah selanjutnya adalah dibuatkan sebuah tabel y an g disusun untuk m er umuskan f aktor-faktor strategis tersebut dalam kerangka kek uatan dan kelemahan (Tabel IFAS) dan keran gk a peluang dan ancaman (Tabel EFAS). Ber ik ut ini disajikan tabel IFAS dan EFAS yang berlak u pada PT XYZ :
Ta bel 4.1 Externa l Factor Analysis Summary (EFAS) Fa ktor - Faktor Strategi Eksternal
Bobot
Rating
Bobot x Rating
PELUANG : • Kesadaran masyarakat akan pentingnya keseh atan y ang semakin meningkat dari tahun k e t ahun. • Semakin banyaknya dan semakin mudahny a su mber informasi diperoleh berkat dukungan IT, dimana informasi yang diperoleh tersebut sang at membantu pihak eksekuti f dalam mel akukan p roses analisis seperti informasi produk kompetitor, dan lain l ain. • Semakin pesatny a peranan IT dan kemudahan y ang ditaw ark an dalam meningkatkan cara kerja operasional perus ahaan. TOTAL PELUANG
0.25
4
1.00
0.05
2
0.10
0.20
4
0.80
0.50
1.90
ANCAMAN: 1. Munculny a pes aing baru atau produk sejenis di pasaran t erutama untuk produk-produk yang didistribusikan oleh lebih dari satu perusah aan distribusi.
0.15
3
0.45
2. Persaingan kompetiti f
0.25
3
0.75
harg a yang cukup antar p erusah aan
89 distrubisi yang memasarkan produk obat yang sama di pasaran ataupun antar produk sej enis yang beredar dan dijual di p asaran. 3. Semakin tingginya biaya promosi / iklan baik di media cetak maupun media telivisi.
2
0.10
0.20
TOTAL A NCAMAN
0.50
1.40
TO TAL E FAS
1.00
0.50
Ta bel 4.2 Internal Fa cto r Analysis Sum mary (IFAS) Fa ktor - Faktor Strategi I nternal
Rating
Bobot x Rating
0.15
3
0.45
2. Sebag ai perusahaan distribusi yang memiliki area distribusi yang men cakup hampir seluruh wilayah Indonesia, yang tentu saja dapat men arik minat prin cipal obat untuk menggun akan P T. XYZ seb agai jalur distribusi dan penjualan produk mereka.
0.25
4
1.00
3. Proses bisnis internal yang sudah terintegrasi deng an baik y aitu dengan sudah diimpl ementasikannya aplikasi ERP Microso ft Dynamics A x. TO TAL K EKUATAN KELEMAHAN : 1. Sistem informasi yang masih bersi fat t erdistribusi antara kantor pusat dengan cabang.
0.10
2
0.20
KEKUA TA N : 1. Sebag ai distributor satu – satunya (Sole Distributor) untuk produk principal TKD, y ang dapat memperbesar pangsa pas ar tanpa harus merasa kh awatir akan kompetensi yang di miliki oleh pesaing.
Bobot
0.50
1.65
0.15
2
0.30
2. Masih terdap at struktur organisasi yang meng emb an tugas dan wewenang rangkap .
0.15
3
0.45
3. Tingkat keluar masuk karyawan yang cukup tinggi.
0.20
2
0.40
TO TAL KELEMAHA N TO TAL IFA S
0.50 1.00
1.15 0.50
90
Gam bar di bawah ini m erupakan m atriks SW OT yan g dim ilik i oleh PT XYZ :
Tabel 4.3 Matrik SWOT PT. XYZ KEKUATAN (S) KELEM AHAN (W) 1.Distributor satu – satuny a (Sole 1. Sistem informasi yang masih Distributor) untuk produ k principal TD. bersifat terdistribusi antara kantor pusat dengan cabang. 2.Memiliki area distribusi y ang m encakup ham pir seluruh wilay ah Indonesia. 2. Masih terdapat tugas rangkap di berbagai bagian. 3.P roses bisnis internal yang sudah terintegrasi dengan baik.
IFAS
3. Tingkat keluar masuk karyawan yang cukup tinggi.
EFAS
PELUANG (O) 1.
2.
Kesadaran masyarakat akan pentingny a kesehatan yang semakin m eningkat dari tahun ke tahun.
STRATEG I SO • Meningkat kan kemam puan perusahaan (S1,S2,S3,O1,O2,O3).
• Meny usun langkah-langkah peny usunan strategi rute distribusi seperti m embuka cabang baru dan Sem akin bany aknya dan semakin mem buka ray on baru mudahnya sumber inform asi diperoleh berkat dukungan IT, (S1,S2,S3,O1,O2, O3). dim ana inform asi y ang diperoleh tersebut sangat m embantu pihak • eksekut if dalam melakukan proses analisis seperti informasi produk kom petitor, dan lain lain. •
3.
j ual
Meny usun strategi prom osi yang handal dalam menghadapi perusahaan kom petitor(S2,S3,O1,O2,O3).
Meningkat kan efektifitas pendistribusian produk ke cabang(S2,S3,O2,O3). Sem akin pesatnya peranan IT dan kem udahan y ang ditawarkan dalam meningkatkan cara kerja • Mem perbesar market share dengan mengakuisisi pelanggan operasional perusahaan. baru(S1,S2,O1,O2). • Mem buat target penj ualan yang rasional setiap tahun (S1,S2,O1,O2). • Meningkat kan arus kas (S1,S2,S3,O1,O2, O3).
perusahaan
• Mem inimalisir barang y ang kadaluarsa (S3,O3).
ham pir
• Mem berikan akses secara online kepada principal terhadap kinerja distribusi dan penj ualan obat (S2,O2,O3).
STRATEG I WO • Melakukan implementasi SI/TI yang terpusat (W1,O4). • Melakukan restru kturisasi organisasi sehingga tidak terjadi tugas dan wewenang ganda (W2,O4). •
Mem berlakukan sistem kontrak untuk kary awan baru dan serah terim a tugas dari kary awan lam a ke karyawan baru (W3,O4).
91
ANCAMAN (T) 1. Munculnya pesaing baru di pasaran • terutam a untuk produk-produ k y ang didistribusi kan oleh lebih dari satu perusahaan distribusi.
STRATEG I ST Memanfaatkan luasnya area distribusi dan pem asaran sebagai daya saing terhadap kom petitor baru (S2,T1).
STRATEG I WT • Melakukan implementasi SI/TI yang terpusat (W1,T1,T2).
2. P ersaingan harga yang cukup • kompetitif antar perusahaan distrubisi y ang memasarkan produk obat yang sama. • 3. Sem akin tingginy a biaya prom osi / iklan bai k di m edia cetak maupun m edia telivisi.
Meningkatkan kualitas pelay anan kepada pelanggan (S1,S2,S3,T1, T2).
• Melakukan restru kturisasi organisasi sehingga tidak terjadi tugas dan wewenang ganda (W2,T1,T2,T3).
Menam bah tenaga penj ualan di setiap wilay ah sehingga informasi produk obat bisa sampai di pelanggan dengan baik (S1, S2, T3).
•
Pem benahan di divisi operasional dengan cara menambah tenaga penj ualan (W2,T1,T2,T3).
Setelah menggunak an faktor strategis internal dan eksternal, seperti yan g telah dipap arkan dalam tabel I FAS dan EFAS di atas, k emudian dibuatkan sebuah matrik SWOT yang akan menggam barkan gabun gan antara peluan g dan ancaman dalam PT XYZ yan g dapat disesuaikan den gan kek uatan dan ancaman yan g dih adapi oleh PT XYZ. Berdasark an analisis SW OT tersebut, langk ah selanjutnya dap at dikategorikan dalam 4 (em pat) kelom pok kem ungkin an yaitu SO, W O, ST, WT. Setelah p enentuan dan penyusunan alternatif strategi pada matrik SW OT, kem udian lan gkah selanjutnya adalah m enentukan po sisi PT. XYZ dalam persain gan bisnis. Den gan dik etahuinya posisi PT. XYZ dalam persaingan bisnis maka dapat diketahui kon disi per sain gan yang dihadap i oleh PT. XYZ saat ini, serta dapat
ditentukannya strategi yan g palin g sesuai dan
tepat untuk
diterapk an oleh PT. XYZ dalam mengh adapi p ersaingan bisnis. Posisi PT. XYZ akan ditentukan
den gan m en ggunakan
diagram analisis SWOT, den gan
menentukan kordinat titik X dan Y p ada diagram tersebut, dimana perh itun ganny a akan m enggunakan nilai yan g dihasilkan dari I FAS dan EFAS yan g telah dibahas pada pem bahasan sebelumnya. Berikut ini adalah diagram an alisis SW OT PT.
92
XYZ :
Koo rdinat titik X (IFAS) Total Kekuatan = 1.65
Total Kelem ahan = 1.15
Letak titik X = 1.65 – 1.15 = 0.50
Koo rdinat titik Y (EFAS)
Total Peluang = 1.90
Total Ancaman = 1.40
Letak titik Y = 1.90 – 1.40 = 0.50
G am bar 4.2 Diagram Analisis SW OT PT XYZ
Berdasarkan analisis faktor strategi internal dan eksternal, seperti yan g terlihat pada diagr am analisis SWOT, diketah ui bahwa PT. XYZ berada pada strategi SO (Strength Opportunity), yakni per usah aan mempuny ai p eluan g y an g
93
besar dengan k ek uatan perusahaan yang ada. Dan strategi yan g harus diterapkan adalah : • Meningk atkan kem ampuan jual per usahaan (S1,S2,S3,O 1,O 2,O 3). • Menyusun lan gkah-lan gkah penyusunan strategi rute distribusi seperti mem buka caban g baru dan membuka r ayon baru (S1,S2,S3,O 1,O 2,O3). • Menyusun strategi promosi yan g h andal dalam menghadapi p erusahaan kom petitor(S2,S3,O 1,O 2,O3). • Meningk atkan efektifitas p endistribusian pro duk ke cabang(S2,S3,O 2,O 3). • Mem perbesar
market
sha re
den gan
mengak uisisi
pelan ggan
bar u
(S1,S2,O 1,O2). • Mem buat target penjualan yan g r asional setiap tah un (S1,S2,O 1,O2). • Meningk atkan
ar us
kas
per usahaan
dari
sisi
collection
pelan ggan
(S1,S2,S3,O 1,O 2,O 3). • Mem inimalisir barang yan g h ampir kadaluarsa (S3,O 3). • Meningk atkan pelayanan kep ada p rincipal m elalui pem berian akses inform asi kinerja distribusi dan k inerja penjualan secara on line (S2,O 2,O 3).
Untuk m endukung strategi diatas, pihak eksek utif PT. XYZ membutuhkan informasi-informasi y ang bisa menjadi alat bantu bagi mereka, dan ber ikut adalah analisis kebut uhan inform asi yan g dibutuhkan o leh pihak ek sek utif:
94
Tabel 4.4 Analisis Kebutuhan Informasi P rioritas
1
Strategi • Meningkat kan kem am puan j ual perusahaan.
CSFs • Dukungan tim penj ualan y ang kompeten dan solid. • P emahaman y ang baik tentang segmentasi wilayah penj ualan. • P emahaman y ang baik tentang permintaan pasar. • P romosi penj ualan y ang tepat sasaran. • Ketepatan pengirim an ke pelanggan.
Masalah
Kebutuhan Inform asi
• Sulitny a mengawasi dan mengendalikan kinerj a penj ualan masing-m asing sale s group dalam mencapai target karena kekurangan informasi.
• Adanya informasi peta distribusi penj ualan secara nasional maupun per principal yang dapat dibandingkan dengan periode sebelumnya.
• Tidak tersediany a alat bantu yang bisa digunakan oleh piha k eksekut if dalam mengawasi pencapaian penjualan aktual terhadap target.
• Adanya informasi peta penj ualan masing-masing sales group dalam satu periode misalny a periode satu tahun.
• Kurangny a informasi mengenai kinerj a penj ualan aktual nasional terhadap target per segm entasi wilayah distribusi, per sales group, per principal, per item group, per item , per customer group, dan per customer pada periode tertentu. • Kurangny a informasi kebutuhan pelanggan terhadap produk dalam mem buat strategi promosi penj ualan. tersedianya proses • Tidak notifikasi atau peringatan kepada pihak eksekut if j ika kinerj a penj ualan mengalam i penurunan atau terjadi peningkatan penj ualan.
• Adanya informasi analisis kinerja penj ualan aktual per segmentasi wilayah distribusi, principal, custom er, item group, item, sales group y ang dapat dibandingkan dengan periode sebelum nya. • Melakukan segmentasi pasar sesuai dengan customer group. • Adanya informasi penj ualan per periode sehingga bisa mengetahui kapan periode penj ualan y ang mengalam i slow moving. • Adanya inform asi perm intaan produk oleh pelanggan dalam periode tertentu. • Adanya fungsi notifikasi atau peringatan kepada pihak eksekut if j ika kinerj a penj ualan mengalam i penurunan atau terjadi peningkatan penj ualan, dim ana notifikasi atau peringatan tersebut bisa langsung sam pai ke pihak eksekut if melalui em ail.
2
3
• Menyusun langkah-langkah peny usunan strategi rute distribusi seperti m em buka cabang baru dan m em buka ray on baru.
• Dukungan penuh dari • Kurang tersedianya peta distribusi pihak e ksekutif y ang mengambarkan segm entasi perusahaan. wilayah distribusi selam a satu periode tertentu. • Adany a tim inform asi penj ualan dan tim • Kurang tersedianya operasional yang kinerj a tim penj ualan per kompeten. segmentasi wilayah distribusi dalam satu periode tertentu. • P ertum buhan laba perusahaan yang cukup baik.
• Menyusun strategi promosi yang handal dalam
• P emahaman y ang baik • Tidak tersedianya inform asi tentang segmentasi penj ualan dari pihakkom petitor. wilayah penj ualan.
• Adanya informasi peta distribusi penj ualan secara nasional per segm entasi wilayah distribusi dalam satu periode tertentu. • Adanya informasi kinerj a tim penj ualan per segm entasi wilayah distribusi dalam satu periode.
• Adanya informasi analisis perbandingan kinerj a penj ualan aktual P T. XYZ dengan
95 • Kepuasan pelanggan terhadap pelayanan.
m enghadapi perusahaan kom petitor.
• P emahaman y ang baik tentang permintaan pasar. • P romosi penj ualan y ang tepat sasaran.
4
• Meningkat kan efektifitas pendistribusian produk ke cabang.
• Kurangny a informasi mengenai kinerj a penj ualan aktual nasional terhadap target per segm entasi wilayah distribusi, per sales group, per principal, per item group, per item, per customer group, dan per customer pada periode tertentu. • Kurangny a informasi kebutuhan pelanggan terhadap produk dalam mem buat strategi promosi penj ualan.
• Lancarnya • Tidak adanya inform asi gagal pengiriman barang penj ualan karena disebabkan oleh dari principal. barang kurang maupun terj adi ke kosongan barang di cabang. • Dukungan dari tersedianya proses perusahaan j asa • Tidak pengiriman logisti k notifikasi atau peringatan kepada y ang kompeten. pihak eksekut if jika persediaan barang di cabang sudah dibawah • Form ula perhitungan minimum stock. Reordering Sheet y ang tepat.
perusahaan kom petitor. • Adanya informasi analisis kinerja penj ualan aktual per segmentasi wilayah distribusi, principal, customer, item group, item, sales group y ang dapat dibandingkan dengan periode sebelum nya. • Adanya inform asi perm intaan produk oleh pelanggan dalam periode tertentu.
• Adanya informasi analisis kinerja penj ualan y ang tidak bisa dilay ani disebabkan karena kekurangan barang atau ke kosongan barang di cabang. • Adanya inform asi persediaan barang y ang dapat diamati secara nasional berdasarkan item, cabang, batch number. • Adanya inform asi persediaan barang y ang bersifat kritis berdasarkan item dan cabang. • Adanya fungsi notifikasi atau peringatan kepada pihak eksekut if j ika persediaan barang di cabang sudah di bawah minimum stock, dimana notifikasi atau peringatan tersebut bisa langsung sampai ke piha k e kseku tif m elalui email.
• Memperbesar market share dengan m engakuisisi pelanggan baru.
• P enam bahan j um lah pelanggan baru.
6
• Membuat penj ualan rasional tahun.
target yang setiap
7
• Meningkat kan arus kas perusahaan dari sisi collection pelanggan.
5
• Belum tersediany a data prospek pelanggan baru.
• Adanya informasi analisis prospek customer yang belum dilay ani.
• Dukungan dari pihak principal.
• Kurang tersediany a infrom asi histori penjualan yang dapat m enj adi standar dalam m enentukan target penj ualan.
• Adanya informasi analisis kinerja penj ualan aktual vs target penjualan yang dapat diam ati dari berbagai segmentasi seperti wilayah distribusi, principal, customer group, cabang, item group, item, dan sales group y ang dapat dibandingkan dengan periode sebelum nya.
• Dukungan dari tim collection yang handal dan kom peten.
• Sulitny a mem peroleh inform asi piutang nasional per cabang, per wide territory, per territory, per sales group, per principal, per customer group, per customer j ika dibandingkan dengan periode
• Adanya informasi analisis kinerja piutang yang dapat diam ati dari berbagai segementasi seperti wilayah distribusi, principal, customer, group, cabang, item group,
• Kepuasan pelanggan terhadap pelayanan.
• Term
of
Payment
96 (TOP) yang m udah bagi pelanggan.
sebelumnya, dan seberapa besar perubahan itu terj adi.
• Method of Payment (MOP ) yang m udah bagi pelanggan.
8
• Meminimalisir barang yang ham pir kadaluarsa.
• Dukungan tim penj ualan y ang kompeten dan solid. • P romosi penj ualan y ang tepat sasaran.
item, dan sales group y ang dapat dibandingkan dengan periode sebelum nya. • Adanya informasi analisis kinerja collection pelanggan yang dapat diamati dari berbagai segmentasi seperti wilayah distribusi, principal, customer group, cabang dan sales group y ang dapat dibandingkan dengan periode sebelum nya.
• Sering ditem ukannya stok barang y ang sudah ham pir kadaluarsa, hal ini terj adi karena tidak adany a m onitoring yang dilakukan oleh kantor pusat.
• Adanya informasi analisis jum lah barang y ang akan kadaluarsa.
• Belum tersedianya kem udahan perolehan data yang dapat diakses oeh para principal.
• Adanya informasi peta distribusi penj ualan produk milik principal secara nasional yang dapat diakses secara online.
• Formula perhitungan Reordering Sheet y ang tepat.
9
• Meningkat kan pelayanan kepada principal m elalui pem berian akses informasi kinerj a distribusi dan kinerja penj ualan secara online.
• Dukungan biaya komunikasi data y ang m urah. • Dukungan infrastruktur IT.
• Adanya informasi analisis kinerja penj ualan aktual produk milik principal per segmentasi wilayah distribusi, customer group, customer, item group, item, sales group yang dapat diakses secara online.
• Dukungan dari pihak eksekut if perusahaan.
• Adanya inform asi analisis peta distribusi persediaan barang milik principal y ang dapat diakses secara online.
B.
Mengevalua si
Si stem
Pengambil
Keputusa n
yang
sedang berjalan PT. XYZ sudah
berhasil mengim plementasikan aplikasi Enterp rise
Resource Plann ing (ERP) Micro soft Dynam ics Ax p ada kantor p usat dan juga di 18 caban g PT. XYZ. Dengan telah diim plem entasik annya aplikasi ERP dih arapkan proses bisnis yan g ada dapat m enjadi lebih m udah sehin gga setiap
97
informasi / laporan yan g dihasilk an dari aplikasi ERP tersebut dapat berguna bagi sem ua anggota PT. XYZ khususnya bagi pihak – pih ak yan g berh ubun gan den gan manajerial dalam pro ses pen gam bilan kep utusan. Ap likasi ERP ter sebut sudah diim plementasikan baik di kantor pusat maupun di selur uh cabang secar a terdistribusi. Selain ap likasi ERP, baik kantor p usat m aup un seluruh caban g PT. XYZ juga sudah memiliki sebuah data wa rehou se dimana data wa rehou se ini sudah ber isikan informasi–informasi sebagai ber ik ut : 1. Inform asi penjualan p er usahaan dari tahun 2007 sam pai den gan sekar ang. Proses p en gum pulan data penjualan ini sudah dilakukan setiap h ari. 2. Inform asi piutang pelan ggan perusahaan dari tah un 2009 sam pai den gan sekaran g. Proses pen gum pulan data piutan g p elan ggan in i sudah dilak ukan setiap hari. 3. Inform asi per sediaan bar an g perusahaan dari tah un 2009 sam pai den gan sekaran g. Proses pengum pulan data per sediaan baran g ini sudah dilak ukan setiap hari.
Yan g membedak an antara data wa rehouse yan g ada di kantor pusat den gan yang ada di caban g adalah data warehou se y ang ada di kantor pusat berisik an data penjualan, data p iutang p elan ggan dan data persediaan baran g secara nasional, sedangk an data warehou se yan g ada di caban g berisikan data penjualan, data piutang pelanggan dan data persediaan baran g m asin g-m asin g cabang. Setiap akhir hari setelah sem ua transak si penjualan selesai dilakukan , transaksi piutang pelan ggan selesai dilak ukan, maupun transaksi persediaan
98
bar ang selesai dilakukan, masin g-m asin g Staff Sales Admin dan Staff Accounting di cabang wajib men gir imkan data penjualan harian, data piutang pelan ggan harian, dan data p ersediaan baran g harian ke kantor pusat. Data penjualan harian, data piutan g pelan ggan harian, dan data persediaan barang har ian tersebut ditarik dar i sistem ERP dan kem udian dikirim kan oleh Staff Sales Admin dan Staff Accounting melalui email ke kantor pusat. Di kantor pusat data penjualan harian, data piutan g pelan ggan harian, dan data persediaan baran g harian dari masingmasing cabang tersebut kemudian ditampun g di dalam sebuah folder pada server, untuk kem udian data pen jualan, data piutang pelanggan, dan data persediaan bar ang tersebut akan melalui pro ses ETL dan pada akhirnya akan disim pan ke dalam data warehouse.
99
Ber ikut adalah Activity Diag ram yang mengambarkan alur proses pengiriman data penjualan harian dari cabang ke pusat sampai m asuk ke dalam data wa rehouse k antor pusat:
Gambar 4.3 Activity Diag ram Proses Data Penjualan Harian ke dalam Data Warehou se Kantor Pusat
100
Ber ikut adalah Activity Diag ram yang mengambarkan alur proses pengiriman data target penjualan dari caban g ke p usat sampai m asuk k e dalam data wa rehouse k antor pusat :
Gambar 4.4 Activity Diag ram Proses Data Target Penjualan ke dalam Da ta Warehou se Kantor Pusat
101
Ber ikut adalah Activity Diag ram yang mengambarkan alur proses pengiriman data persediaan baran g harian dari cabang ke p usat sampai m asuk ke dalam data warehouse kantor pusat :
G ambar 4.5 Activity Diagram Proses Data Persediaan Baran g Harian ke dalam Data Warehou se Kantor Pusat
102
Ber ikut adalah Activity Diag ram yang mengambarkan alur proses pengiriman data piutan g pelan ggan harian dari cabang ke p usat sampai m asuk ke dalam data warehouse kantor pusat :
G ambar 4.6 Activity Diagram Proses Data Piutan g Pelan ggan Harian ke dalam Data Warehou se Kantor Pusat
103
Ber ikut adalah Activity Diagram yang men gam barkan alur proses data penjualan harian yan g dilak uk an oleh caban g sampai m asuk ke dalam data wa rehouse cabang :
Gambar 4.7 Activity Diag ram Proses Data Penjualan Harian ke dalam Data Warehou se Cabang
104
Ber ikut adalah Activity Diagram yang men gam barkan alur proses data target penjualan yan g dilak ukan oleh cabang sampai m asuk ke dalam data wa rehouse cabang :
Gambar 4.8 Activity Diag ram Proses Data Target Penjualan ke dalam Da ta Warehou se Cabang
105
Ber ikut adalah Activity Diagram yang men gam barkan alur proses data persediaan barang harian yan g dilak ukan o leh cabang sampai m asuk ke dalam data wa rehouse caban g :
G ambar 4.9 Activity Diagram Proses Data Persediaan Baran g Harian ke dalam Data Wa rehouse Caban g
106
Ber ikut adalah Activity Diagram yang men gam barkan alur proses data piutang pelan ggan harian yan g dilak ukan oleh caban g sampai m asuk ke dalam data wa rehouse caban g :
Gambar 4.10 Activity Diag ram Proses Data Piutan g Pelan ggan Harian ke dalam Data Wa rehouse Caban g
Pihak eksekutif biasanya mengak ses inform asi yan g ada di dalam cub e penjualan, cube piutan g pelan ggan, dan cube per sediaan baran g den gan menggunakan f un gsi OLAP yang ditampilkan dalam bentuk pivot tab le Microsoft Excel. An alisis y ang bisa dilak ukan oleh pih ak eksekutif PT. XYZ terhadap
107
informasi p enjualan, piutang pelanggan, dan p ersediaan baran g saat ini ter bagi menjadi beber apa segmentasi sebagai berikut: 1.
Caban g Inform asi penjualan, piutang pelanggan, dan per sediaan baran g PT. XYZ bisa dik ategor ikan per caban g sehin gga pihak eksekutif bisa melakuk an analisis penjualan, analisis piutang pelanggan, dan analisis per sediaan barang per caban g.
2.
Wid e Territory Inform asi pen jualan dan p iutang pelanggan PT. XYZ bisa juga dikategorikan per Wide Territory, dimana masing-masing caban g terbagi menjadi beberap a Wid e Territory. Misalnya : Cabang Jakarta ter bagi m enjadi Wide Territory Jakarta, Wide Territo ry Tan gerang, Wide Territo ry Bekasi, dan lain lain . Pihak eksekutif bisa m elak ukan analisis pen jualan dan an alisis piutan g pelanggan per wide territo ry.
3.
Territo ry Dari Wide Territo ry yan g ada, terbagi m enjadi beberapa Territory, m isalnya: Wid e Territo ry Jakarta ter bagi menjadi Territory Jakarta Barat, Territory Jakarta Utara, Territory Jakarta P usat, Territory Jakarta Timur, dan Territory Jakarta Selatan. Pih ak eksekutif bisa melak ukan analisis pen jualan dan analisis piutan g pelan ggan p er territo ry.
4.
Sales Group Masin g-m asin g Territory y ang ada, k emudian dibagi / menjadi beberap a Sales Group, dim ana satu Territo ry bisa dipegan g oleh beberap a Sales Group .
108
Pihak eksekutif bisa m elak ukan analisisis penjualan dan analisis piutan g pelanggan per sa les group. 5.
Principal PT. XYZ saat sekaran g sudah m enjalin ker ja sama den gan beberapa p rincipa l seperti PT. TD. PT. BF, PT. CR, PT. TK, PT. APX, dan beberapa p rincipa l lain unt uk m en distribusik an o bat m ereka. Oleh karena itu informasi penjualan, piutang pelan ggan, dan persediaan barang yan g ada di PT. XYZ juga bisa dikategorikan p er principa l. Pihak eksekutif bisa melakukan analisis penjualan, analisis piutang pelanggan, dan analisis per sediaan barang per principal.
6.
Pelan ggan Gr up Yang menjadi tar get pasar dari PT. XYZ adalah Apotik, Rumah Sakit, Klinik , Toko Obat, dan lain lain, dan segmentasi ini disebut den gan segmentasi ber dasarkan pelanggan gr up. Pihak eksekutif bisa m elak ukan analisis penjualan dan analisis piutan g pelan ggan per pelan ggan gr up.
7.
Pelan ggan. Inform asi penjualan dan piutan g pelan ggan PT. XYZ bisa dik ategor ikan per pelanggan seh ingga p ihak ek sek utif bisa m elakukan analisis penjualan dan analisis piutan g pelan ggan p er pelan ggan.
8.
Item Group. Obat yang didistribusikan oleh PT. XYZ saat sekarang memilik i 3 item group yaitu o bat OTC (y an g dijual bebas), o bat ETC (har us den gan resep dokter), dan alat Keseh atan. Informasi penjualan, piutang pelanggan, dan per sediaan bar an g PT. XYZ juga bisa dilihat per item group dan pihak eksek utif bisa
109
melakukan analisis penjualan, analisis piutang pelan ggan, dan analisis persediaan barang per item group. 9.
Item Inform asi penjualan dan per sediaan barang PT. XYZ juga bisa dikategorikan per item m isalnya inform asi penjualan dan per sediaan baran g untuk produk VT, BL, AP, dan lain- lain. Pihak eksek utif bisa melak ukan analisis penjualan dan analisis p ersediaan baran g p er item.
10. Periode Inform asi penjualan, p iutang pelanggan, dan per sediaan baran g PT. XYZ juga bisa dikategorikan per perio de tertentu m isalny a inform asi penjualan, piutan g pelanggan, dan persediaan baran g untuk per io de Januari sam pai den gan Juli 2010. Pihak eksekutif bisa melak ukan an alisis penjualan, analisis piutan g pelanggan, dan analisis persediaan baran g per perio de.
110
Ber ikut adalah Activity Diag ram yang m engam barkan proses analisis data penjualan yan g dilakukan oleh pih ak eksekutif :
Gambar 4.11 Proses Analisis Data Penjualan Oleh Pih ak Ek sek utif
111
Ber ikut adalah Activity Diag ram yang m engam barkan pro ses analisis data piutang pelanggan yan g dilak ukan oleh pihak eksek utif :
Gam bar 4.12 Proses Analisis Data Piutang Pelan ggan Oleh Pihak Eksek utif
112
Ber ikut adalah Activity Diag ram yang m engam barkan proses analisis data Persediaan Bar ang yan g dilak ukan o leh pihak ek sek utif :
Gam bar 4.13 Proses Analisis Data Persediaan Baran g Oleh Pihak Eksek utif
Dari hasil pengump ulan data dan inform asi, ditemukan beber apa masalah yang sedan g dihadapi oleh pihak eksekutif PT. XYZ antara lain : 1.
Tampilan fun gsi OLAP dalam bent uk pivot table Microsoft Excel kadan g menjadi kendala bagi pihak eksekutif dalam melak ukan pro ses an alisis. Pihak eksek utif PT. XYZ mengin ginkan adanya sebuah tools aplikasi yang bisa menggambarkan data yang m ereka inginkan dalam bentuk graf ik yan g
113
interaktif ataupun da shboard ataup un bentuk tabular yan g interaktif, dim an a data yang mereka dapatkan bisa di-“drill do wn” menjadi data / informasi yang lebih detail, sehingga tentu saja hal ini san gat membantu mereka dalam melakukan analisis. 2.
Semua inform asi data penjualan yang ter dapat di dalam fun gsi OLAP bisa dilihat dan dianalisis o leh pihak eksekutif PT. XYZ. Tapi kadan g kala terdapat informasi data penjualan yan g h anya bo leh dilihat dan dianalisis oleh pihak eksekutif tertentu saja sedangkan pihak eksek utif yang lain tidak boleh melihat inform asi data penjualan tersebut, misalny a inform asi data penjualan wilayah barat hanya boleh dilih at oleh GM Op erasional Wilayah Bar at, dan inform asi data pen jualan wilayah tim ur hanya boleh dilihat oleh GM Operasion al Wilayah Timur. Saat sekar an g sem ua inform asi data penjualan bisa dilihat oleh semua p ihak ek sekutif PT. XYZ.
3.
Tidak adanya Key Performance Indicator (KPI) dalam fun gsi pivo t Table Micro soft Excel yan g digunakan o leh pih ak ek sek utif dalam melakukan analisis.
4.
Pihak eksekutif har us setiap saat mem antau f un gsi pivo t Table Micro soft Excel untuk melihat apak ah terjadi pen urun an atau p enin gkatan an gk a penjualan di masin g-m asin g cabang jik a diban din gkan dengan periode sebelumnya. Dan tentu saja hal ini akan m emakan banyak waktu pihak eksek utif. Pihak eksekutif mengin ginkan adanya sebuah sistem yang bisa memberikan notifikasi kepada m ereka m elalui email jika terjadi penin gk atan atau p enur unan an gk a pen jualan, atau h al-hal lain yang tentu saja akan san gat membantu mereka dalam proses pen gam bilan keput usan.
114
5.
Sistem inform asi dan Teknologi Inform asi yan g diimplem entasikan oleh PT. XYZ m asih bersif at terdistribusi antara kantor p usat dengan caban g. Masingmasin g caban g m emiliki cub e yang berisi data inform asi penjualan, piutan g pelanggan, dan persediaan baran g caban g itu sendiri sedan gkan k antor pusat juga m em iliki cube y ang berisi data inform asi penjualan, p iutang pelanggan , dan persediaan baran g selur uh cabang. Karen a sifatnya yang terdistribusi, masin g-m asin g caban g h arus memastikan cube mereka har us selalu terup date dan datanya akurat. Den gan kata lain proses kontrol cabang terhadap cub e agar selalu ter-update dan keak uratan datanya terjamin harus selal u dip erhatikan. Saat sekar ang adalah mer upakan tugas dari kantor p usat untuk memastikan cube y ang ber ada di caban g har us selalu ter-update dan keakuratan datanya terjamin. Hal ini tentu saja ak an mengur as waktu yan g banyak unt uk melak ukan proses kontrol terhadap 18 caban g dan san gat tidak efektif.
115
C.
Mengevalua si sumber da ta operasional dan prosedur yang berjalan PT. XYZ sudah m em iliki sebuah data warehouse, dimana informasi yan g
terdapat di dalam data wareho use ter sebut m elip uti informasi penjualan, informasi persediaan barang, dan inform asi piutang pelan ggan. Data yan g ter dap at di dalam data warehouse tersebut ber asal dar i sum ber data operasion al PT. XYZ yan g sudah m en galami proses ETL (Extract, Transform, Load).
Sum ber data oper asional PT. XYZ itu sendiri berasal dar i database transaksional yan g bersifat OLTP (Online Transactional Processing), dim ana database tersebut berisi inform asi data yang diinput dan dipro ses oleh u ser den gan menggunakan ap likasi ERP Microsoft Dynamics Ax 2009. Seperti y an g sudah dijelaskan pada kegiatan mengevaluasi sistem pengam bil kep utusan y an g sedang berjalan pada bab 4.2.1 tahap B, bah wa sum ber data operasional PT. XYZ tersebut dipro ses setiap hari ke dalam sebuah template file, kemudian proses data cleansing dilak uk an terhadap tem plate file tersebut sebelum disimpan ke dalam sebuah da ta stag ing. Selanjutnya data yang ada di dalam data staging tersebut dilakukan pro ses ETL (Extract / Transform / Load) dan dim asukkan ke dalam data wa rehouse.
Untuk mengevaluasi data staging yang sudah ada, dip erlukan sebuah model data yang bisa menggambark an hubungan relasi antar entitas (ER diagram), dim ana model data tersebut biasanya diken al den gan istilah logica l
116
data m odel. Berik ut adalah logical da ta model sebelum data ditransformasikan k e dalam data warehouse: • Logical Da ta Model unt uk inform asi penjualan:
Gam bar 4.14 Logical Data Model Penjualan Sistem Berjalan
117
• Logical Da ta Model unt uk inform asi piutang pelanggan:
G am bar 4.15 Logical Data Model Piutang Pelan ggan Sistem Ber jalan
118
• Logical Da ta Model unt uk inform asi per sediaan bar ang:
G am bar 4.16 Logical Data Model Persediaan Barang Sistem Ber jalan
119
D.
MENGEVALUASI
PERANGKAT
LUNAK
BI
KOMPETITOR Proses tahap an evaluasi perangk at lun ak BI pihak kompetitor tidak dilakukan dalam perancangan dan im plem entasi BI PT. XYZ kar ena faktor keterbatasan wakt u. Nam un sebagai gantinya, dilak ukan proses evaluasi beberap a produk per angkat lunak BI yan g beredar di pasaran. Saat sekarang sudah ter dapat banyak sekali ap likasi p eran gkat lunak BI yang beredar di p asaran baik yan g bersifat kom ersial m aup un yan g bersifat open source. Beberapa contoh aplikasi peran gk at lunak BI ter sebut adalah sebagai ber ikut : 1.
Co gno s 8.
2.
Dynac Tools.
3.
Exact Soft war e.
4.
Macs Controlling.
5.
Microsoft Office Perform ance Point Server.
6.
PROP HIX Express.
7.
PROP HIX for SQL Server.
8.
QlikView.
9.
SAP Businessobjects BI Platform
10. SAP CPM. 11. SAS Business Intelligence an d Financial Intelligen ce solutions. 12. Yello wfin. 13. Targit BI Suite
120
Dari beberapa aplikasi Bu sin ess Intelligence yan g beredar di pasar an, ada 2 alternatif usulan ap likasi perangk at lun ak BI yang di-review dan dianalisis antara lain : ¾ ALTERNATIVE 1 – APLIKASI TARG IT BI SUITE. Aplikasi Targit BI Suite adalah sebuah ap likasi per angkat lunak BI y an g dikembangk an oleh perusahaan yan g berger ak di bidang BI dari Denm ark. Aplikasi Targit BI Suite ini m erup akan salah sat u aplikasi perangk at lunak BI yang terkenal dan banyak dipakai oleh per usah aan-per usah aan yan g ber skala menengah dan yan g ber skala atas, dim ana f itur – fitur yang ada san gat kom pleks dan sangat berguna jika diim plementasikan di PT. XYZ. Ber ikut adalah fram ewo rk dari ap likasi p eran gkat lunak Tar git BI Suite :
G am bar 4.17 Targit BI Suite Fram ewo rk
121
Adap un fit ur-fitur y an g ada dalam aplikasi Targit BI Suite in i adalah sbb : 1. Adanya reporting tools untuk membuat ad-hoc repo rting yang bisa dibuat oleh user sendiri. 2. Adanya feature S lice and Dice terhadap OLAP cub e sehin gga pro ses analisis terhadap data bisa den gan san gat mudah dan cepat. 3. Adanya fasilitas drill do wn data, sehin gga pih ak eksekutif bisa mencar i informasi yang dibutuhkan dengan lebih detail. 4. Tam pilan data ber upa tabular maupun gr afis yan g sangat user friendly dan mudah dibaca sehingga pihak ek sek utif akan san gat mudah mengolah data tanpa bant uan dar i pihak IT. 5. Adanya duk un gan GI S (Geog raphical Inform ation System) seh ingga pihak eksekutif bisa memetakan data dengan lebih visual sehingga m ereka bisa menentukan strategi segm entasi pasar apa yan g akan diterapkan seperti perlukah adany a perluasan wilayah di suatu caban g atau perlukan untuk membuka cabang bar u di daerah yan g san gat potensial. 6. Adanya integr asi den gan Microsoft Excel 2007, seh in gga pih ak ek sek utif juga bisa mengolah informasi yan g ada lewat Microsoft Excel 2007. Seperti yan g k ita ketahui Microsoft Excel 2007 adalah sebuah tools aplikasi yang san gat powerful dalam hal perhit un gan, form ula, dan lain lain dimana kebanyak an pihak eksek utif PT. XYZ sudah san gat fam iliar den gan alat bantu ini. 7. Aplikasi Targit ini bisa dijalank an dalam 2 platfo rm yang ber beda yait u dalam platform windo ws maup un dalam platform W eb.
122
Aplikasi peran gkat lunak pen duk ung yan g dap at terintegrasi den gan aplikasi Targit ini adalah sebagai berik ut: 1. Microsoft SQL Server 2000 Analysis Services. 2. Microsoft SQL Server 2005 Analysis Services. 3. Microsoft SQL Server 2008 Analysis Services. 4. Prophix – MS Analysis Services 2000 5. IBM DB2 Cube Views 6. Oracle OLAP Cubes 7. Mondrian - Pentaho Analy sis Services
¾ ALTERNATIVE 2 – APLIKASI CO GNO S 8. Aplikasi Co gno s 8 adalah sebuah aplikasi BI y ang dik em ban gkan I BM. Aplikasi Co gno s 8 ini m erupakan salah satu aplikasi BI yan g terkenal dan bany ak dip akai oleh per usahaan-perusahaan yan g ber skala m enengah dan y an g ber skala atas, dim ana fit ur – fitur yang ada san gat kom pleks dan san gat ber guna jika diim plem entasik an di PT. XYZ. Ber dasark an Gartner Chart, aplikasi Co gno s 8 ini m enempati urutan nomor 1. Adap un fit ur – fitur y ang ada dalam aplik asi Cognos 8 ini adalah sbb : 1. Adanya reporting tools untuk membuat ad-hoc repo rting yang bisa dibuat oleh user sen diri. 2. Adanya feat ure Slice and Dice terhadap OLAP cub e sehin gga proses analisis terhadap data bisa den gan san gat m udah dan cepat. 3. Adanya fasilitas d rill down da ta, seh in gga pihak eksek utif bisa mencar i informasi yan g dibutuhkan den gan lebih detail.
123
4. Tam pilan data ber upa tabular maupun gr afis yan g sangat u ser friendly dan m udah dibaca sehin gga pihak eksekutif akan san gat mudah men golah data tanpa bantuan dari pihak IT. 5. Adanya duk ungan GIS ( Geog raphical In form ation System) sehingga pihak eksek utif bisa m em etakan data dengan lebih visual sehingga m ereka bisa m enentukan strategi segm entasi p asar ap a yan g akan diterapkan sep erti perlukah adany a perluasan wilay ah di suat u caban g atau perlukan untuk m em buka caban g baru di daerah yang san gat potensial. 6. Adanya integritas dengan Microsoft Excel 2007, sehingga pihak eksek utif juga bisa mengo lah informasi yan g ada lewat Microsoft Excel 2007. Sep erti yang kita k etahui Micro soft Excel 2007 adalah sebuah tools aplik asi yan g sangat powerful dalam hal perh itun gan, form ula, dan lain-lain dim an a kebanyakan pih ak eksekutif PT. XYZ sudah san gat familiar den gan alat bant u ini. 7. Aplik asi Co gno s 8 in i dijalankan dalam platform WEB sehin gga user dalam ini cuma membutuhkan tools web b rowser untuk bisa menggunakan aplikasi Cognos 8 ini.
Aplikasi peran gkat lunak yang har us digunakan oleh PT. XYZ untuk menggunakan aplik asi COGNOS 8 in i adalah sbb: 1. Microsoft SQL Server 2005 Database. 2. Microsoft SQL Server 2005 Integration Services. 3. Microsoft SQL Server 2005 Analysis Serv ices. 4. Microsoft SQL Server 2005 Reporting Serv ices.
124
5. Microsoft Office 2007. 6. Microsoft W indo ws Server 2008 Enterprise Edition.
E.
MENENTUKAN OBJEKTI F DARI APLIKASI BI Untuk m em enuh i kebutuh an para ek sekutif PT. XYZ dalam m enganalisis
informasi, ada beberapa o byektif sebagai syarat yan g h ar us dimiliki oleh sebuah aplikasi peran gkat lunak BI antara lain : 1. Aplikasi peran gkat lunak BI har uslah ber bentuk grafik / da shboard y an g interaktif. 2. Informasi yang ada pada ap likasi perangk at lunak BI har us bisa fasilitas “drilldown” dan “drill-out” seh ingga m em udahkan para eksekutif untuk m encari / menemukan inform asi yan g lebih detail. 3. Sebuah aplik asi perangkat lunak BI harus memiliki secu rity access yan g bagus, dimana aplikasi tersebut harus bisa m ember ikan hak akses sesuai dengan yan g boleh dilihat dan dianalisis oleh pen gguna aplikasi tersebut. Dan pem berian hak akses ter sebut har us bisa sampai ke level dim ensi. 4. Aplikasi peran gkat lunak BI har us memiliki fasilitas pembuatan Key Perform ance Indicato r
(KPI) yang interaktif, yang tentunya akan san gat
mem bantu para eksekutif unt uk m enganalisis inform asi y an g mereka butuhk an. 5. Aplikasi peran gkat lun ak BI har us mem iliki fasilitas notifikasi / per ingatan kepada pen gguna terhadap suatu inform asi yan g ber sifat kritikal, sehin gga den gan adanya peringatan / notifikasi ter sebut, para ek sek utif bisa meny usun strategi lebih cepat untuk m en gantisipasi situasi yan g sedan g terjadi.
125
6. Aplikasi
perangk at
lunak
BI
har us
memiliki
fasilitas
Corpo rate
Communication, dimana f ungsi dar i fasilitas ini adalah : •
Dapat member ikan informasi bagi internal perusahaan sehin gga setiap orang y an g ada di per usahaan akan selalu men getahui inform asi terkin i tentang per usahaan.
•
Dapat mem berikan inform asi bagi oran g luar seperti reputasi per usahaan, dap at m enunjukkan kepada dunia luar tentan g kompetensi p er usahaan, dan dap at m em berikan inform asi per usah aan ber upa story board.
•
Dapat melakuk an pro ses export inform asi secara batch, sehingga dapat meminimalkan waktu dalam proses p embuatan laporan.
F.
MENGAJUKAN S EBUAH SOLUSI BI Dari hasil an alisis terhadap kebut uhan bisnis yan g dibutuhkan oleh pihak
eksekutif PT. XYZ, hasil evaluasi sistem pengambil keputusan yang sedan g ber jalan, hasil evaluasi sumber data operasional dan prosedur yan g berjalan, dan hasil ev aluasi perangkat lun ak BI, maka solusi yan g diberikan kepada pihak eksekutif PT. XYZ adalah so lusi per ancan gan dan implementasi Business Intelligence dengan m enggunakan aplikasi peran gkat lunak BI y an g sesuai den gan kebutuhan pihak eksek utif. Ber dasarkan hasil pencarian, diperoleh dua alternatif solusi peran gk at lunak BI yang men dekati objektif yan g dibut uhkan oleh pihak eksekutif yaitu ap likasi peran gkat lunak Targit BI Suite dan ap likasi p eran gkat lun ak BI Co gnos 8.
126
G. MENAMPILKAN COST AND BENEFIT A NA LYSIS Untuk implementasi sebuah ap likasi perangk at lun ak BI tentu saja memerlukan investasi baik dari sisi per angkat lun ak, perangkat keras, dan infrast uktur yang relatif m ahal. Den gan investasi yan g mahal, tentu saja benefit yang
dip eroleh
har us bisa mem bantu per usahaan
dalam
meningkatkan
pendapatan. Oleh karena itulah diperluk an adanya suatu an alisis cost and benefit yang bisa digunakan oleh pihak ek sek utif dalam pen gam bilan keput usan perlu atau tidaknya im plem entasi ap likasi per an gkat lunak BI tersebut dilakuk an. Adapun analisis cost and benefit yan g diperluk an bisa digam barkan den gan gam bar ber ikut ini :
Gambar 4.18 Kom ponen Cost And Benefit Ana lysis
Biaya (co sts) yan g harus dik eluarkan oleh PT. XYZ untuk im pelementasi aplikasi peran gkat lunak BI dapat dikategorikan sebagai berikut :
127
Gam bar 4.19 Kom ponen Biay a Adap un
biaya
yan g har us
dikeluarkan
oleh
PT. XYZ
untuk
mengim plementasikan aplikasi peran gkat lunak BI adalah sebagai berikut :
Ta bel 4.5 Perbandingan Biaya Aplikasi Peran gk at Lunak BI No. 1 2
Kategori Acquisition Costs Acquisition Costs Acquisition Costs
4 5 6 7 10
Acquisition Costs Acquisition Costs Operations Costs Operations Costs
Sub Kategori
Targit B I Suite (USD) 6,336.00
Cognos 8 (USD) 14,375.00
3,960.00
9,000.00
2,348.50
2,348.50
Software License User License RDBMS or other backend sy stem license : W indows Server 2008Enterprise (64 BIT Edition) Installation And Configuration Hardware and other infrastructure : Server BI Quad Core Model HP DL380G6
0.00
0.00
4,800.00
4,800.00
Maintenance, Support, and Upgrades
2,925.00
3,506.00
User Trainings
5,000.00
5,000.00
25,369.50
39,029,50
Total Investasi (USD)
Benefit yang diperoleh oleh PT. XYZ den gan mengim plementasikan aplikasi per an gkat lunak BI baik ap likasi BI Targit Suite m aup un aplikasi BI Co gno s 8 dapat dikategorikan sebagai berik ut :
128
1. Applica tion Fun ctiona lities yang meliputi : Ta bel 4.6 Application Functionalities Benefit yan g diperoleh dari implem entasi peran gkat lunak BI Infrastructure Integration
Single Sign On karen a ad anya integrasi d engan Active Directory Windows Server 2003 . Bisa membuat Reporting dalam format PDF, HTML, RTF, dan Microsoft Excel. Dashboard yang ada meliputi kemampuan memberikan penampilan info rmasi yang intuitif termasuk gauges, traffic light, Color Element, Icon, dan background . Bisa membuat lapo ran yang bersi fat ac-ho c tanpa tergantung dari orang IT untuk membuat laporan . Memampukan pengguna BI untuk menganalisis data dengan query dan k alkukasi y ang cepat , d an bisa memampukan analisis yang dikenal dengan teknik “slicing and dicing”. Memiliki tools interaksi manusia untuk k eperluan analisis yang diken al deng an teknik “slicing and dicing”. Bisa memberikan noti fikasi dan tand a yang bisa dikirimk an lewat email, contohnya noti fikasi jika terjadi penurunan penjual an, dll.
Reporting Dashboard
Ad Hoc Reporting OLAP Server
OLAP UI Alerts and Notification
Security
Memampukan seorang ad ministrator BI untuk mend efinisikan rule dan permission dari user yang berbeda berdas arkan kebutuhan bisnis. Memiliki kemampu an untuk mel akukan jadw al pembuatan laporan.
Scheduling
2. Business Functiona lities yang meliputi : • Peningk atan
penjualan,
dim ana
den gan
adany a
aplik asi
Business
Intelligence, per usahaan bisa : Mengidentifikasi dan m em perluas wilayah distribusi bar u den gan cara m embuka caban g bar u atau rayon baru. Meningk atkan
penjualan
dengan
lebih
ef ektif
den gan
cara
m engemban gkan strategi pemasaran yan g lebih jitu. Bisa men getahui in dikasi terjadi pen ur unan penjualan atau kenaikan penjualan lebih awal sehin gga strategi bisnis bisa dibuat dengan cepat untuk men gantisipasi pen ur unan / k enaikan penjualan ter sebut.
129
Bisa men distribusikan pro duk lebih cepat den gan adanya analisis inform asi per sediaan baran g yang ada baik di kantor p usat maupun di caban g. • Peningk atan profit, dim ana dengan adany a aplikasi Bu siness Intelligence, perusahaan bisa : Mengetah ui lebih awal jika terjadi pen ur unan p asar. Mengetah ui pro duk-pro duk m ana saja yan g mengalami pen ur unan tingkat penjualan. Mengetah ui lebih dini proses bisnis internal perusahaan yan g tidak efisien seperti pelayanan Same Day Service kep ada pelan ggan. • Peningk atan kep uasan pelan ggan m elalui : Mengenal lebih dalam perilaku pelanggan dalam m embeli pro duk ataup un perilaku pelanggan dalam melakuk an pem bayaran. Meningk atkan repetisi pesanan p elanggan. Mem inim alkan keluhan dari pelanggan terhadap produk yang dijual. Dengan m inimalnya keluhan dar i pelan ggan terhadap pro duk yan g dijual secara otom atis akan bisa lebih menin gkatkan tin gkat kepercayaan pelan ggan terhadap per usahaan sehin gga jum lah pelan ggan ak an bisa dip elih ara den gan baik dan bisa lebih ditin gkatkan.
Berik ut adalah benefit yang bisa diperoleh oleh PT. XYZ den gan mengim plementasikan aplikasi per angkat lunak BI secara k uantitatif sebagai ber ikut :
130
Ta bel 4.7 Benefit dari im plementasi perang kat luna k BI secara kuantitatif Pencapaian
Tahun 1
Tahun 2
Tahun 3
Kenaikan angka p enjualan Penamb ahan Custo mer baru Peningkatan Collection yang diterima dari custo mer Penurunan Stock Kritis Peningkatan Return On Invest ment ( ROI ) Pelayanan pengiri man obat ke custo mer
20% 30% 50%
30% 50% 75%
50% 75% 100%
(30 %) 40% Same Day Servi ce
(50 %) 100% Same Day Servi ce
(75 %) 150% Same Day Servi ce
Berdasarkan analisis co st and benefit diatas, dapat dipero leh kesimp ulan bah wa nilai (value) y an g didapat oleh PT. XYZ den gan implem entasi aplikasi perangkat lunak BI adalah kem am puan perusahaan untuk bisa menin gkatkan penjualan, meningkatkan profit, dan m enin gkatkan kepuasan pelan ggan dalam rangka mencapai visi dan misi yan g sudah ditetapkan oleh perusah aan.
H.
MENAMPILKAN ANALISIS RESIKO Analisis r esiko juga h ar us dilakukan oleh pihak eksek utif pada saat akan
melakuk an im plementasi ap likasi per angkat lun ak BI. Tujuan dilak ukanny a analisis resiko adalah : 1. Mengidentifikasi ancam an/gan gguan y an g m ungkin terjadi baik secara internal maupun ek sternal. 2. Melakukan penilaian terhadap ancaman/gangguan yang didasarkan pada probability (kecen der un gan) dan impact (dam pak). 3. Menentukan prior itas tingkat ancaman/gangguan ber dasarkan pengukur an risk assessm ent. 4. Menyediakan informasi unt uk penetapan strategi manajemen resiko.
131
Adap un analisis r esiko tersebut dapat digambarkan dalam bentuk Risk Assessm ent Matrix berikut ini : Ta bel 4.8 Risk Assessment Matrix im plementasi per angkat lunak BI Aplikasi BI Targit BI Suite
Aplikasi BI Cognos 8
Variab el
Keterangan
Teknologi
Aplikasi BI menggunakan teknologi yang sud ah matang .
Hijau (rendah )
Hijau (rendah)
Ko mpleksitas
Sederhana.
Hijau (rendah )
Merah (Tinggi)
Integrasi
Integrasi d engan produk lain.
Hijau (rendah )
Hijau (rendah)
Perusahaan
Dukungan intern al yang solid
Hijau (rendah )
Hijau (rendah)
Ti m Proyek
Berpengal aman dalam bisnis, memiliki talenta, d an sikap yang baik.
Hijau (rendah )
Hijau (rendah)
Inventasi K euang an
ROI dalam j angka waktu yang singkat.
Hijau (rendah )
Hijau (rendah)
Berdasarkan Risk Assessment Matrix d iata s, dap at diam bil kesimp ulan bah wa resiko implem entasi aplikasi Tar git BI Suite m em iliki resiko yan g lebih rendah jik a dibandingkan den gan apliksai BI Co gno s 8.
I.
MENULIS LAPORAN EVALU ASI Berdasarkan hasil an alisis cost and benefit di atas, dapat diperoleh
kesimp ulan bahwa aplikasi peran gkat lunak Tar git BI Suite m emiliki biaya y an g
132
lebih rendah jika dibandingk an den gan aplikasi peran gk at lunak BI Co gno s 8 den gan perolehan ben efit yan g sama diantara keduanya. Berdasarkan hasil Risk Assessment Matrix di atas, juga diperoleh kesimp ulan bah wa resiko implem entasi aplikasi peran gkat lun ak Tar git BI Suite memiliki resiko yang lebih rendah jika dibandingk an den gan aplikasi peran gkat lun ak BI Cognos 8. Sehin gga m elih at hasil dari kedua analisis tersebut dapat diam bil kesimp ulan bahwa aplik asi peran gk at lunak Targit BI Suite lebih cocok untuk diim plementasikan di PT. XYZ.
133
4.2. 2
Fa se Pl anning Pada f ase ini difok usk an pada p engembangan rencana strategis dan taktis
dalam memban gun proy ek BI. Sehingga melalui fase in i akan m enghasilkan bagaim ana proyek BI akan dik erjakan dan diselesaik an.
4.2. 2. 1 Enterpri se Infrastructure Evaluation Tahap ini m emiliki fok us unt uk m engevaluasi infrastruktur yan g dim ilik i oleh PT. XYZ baik secara teknis maup un non teknis. Evaluasi diperlukan untuk mengetahui kesiapan dar i PT. XYZ dalam m engimplem entasi BI.
4.2. 2. 1.1 Techni cal Infrastructure E val uati on Dalam Technical Infra structure Evaluation dilakukan evaluasi terhadap perangkat keras, perangk at lunak, middlewa re, sistem manajemen da tabase, sistem operasi, komponen jar ingan, meta data repo sitories, dan hal –lain lainny a pada PT XYZ.
A. Evaluasi pl atform yang sedang berj alan Seperti yang telah dijelaskan sebelumnya PT. XYZ m em iliki sebuah kantor pusat dan 18 caban g yan g hampir tersebar di selur uh Indonesia, dim ana infrastr uktur jar in gan menggunak an konsep terdistribusi. Masing-masing caban g maupun kantor pusat mem iliki infrastruktur jarin gan sen diri, dimana untuk sebuah cabang memiliki sebuah server den gan beberapa buah PC sebagai workstation. Ber ikut merupakan deskr ipsi teknolo gi yang telah tersedia oleh PT. XYZ :
134
a. Kantor Pusat Ta bel 4.9 BI Server Technical Specification untuk Kantor Pusat BI Server Technical Specification Server Typ e
PowerEdge(TM) SC430 with Intel(R)
Hardwa re
• • • • • • • • • •
PowerEdge(TM) SC430 with Intel(R) Pentium(R) D Processor 3.0 GHz/2x2M B,800MHz FSB Intel(R) E7230 Ch ipset Integrated Broadcom Gigabit Ethernet Controller Em bedded gr aphics C1:SATA configuration (Non RAID, 1 HDD) Chassis for Po wer Edge(TM) SC430 2 GB (2x1 GB) DDR-2 533MHz ECC 1 R Memory 1.44MB 3.5” Floppy Drive 2x80 GB (7200 RPM) SATA Har d Driv e CD-ROM Drive, 48x MAX, EIDE
Operating S ystem
Microsoft Windows 2003 Serv er
Databa se
Microsoft SQL Server 2000
OLAP Tools
Microsoft Dynamics AX / Ax apta
Internet/WAN
ADSL with 2 Mbp s
b. Kantor Cabang Ta bel 4.10 Server Technical Specification untuk Cabang Branch Server Technical Specification Server Typ e
PowerEdge(TM) SC430 with Intel(R)
Hardwa re
• • • • • • •
PowerEdge(TM) SC430 with Intel(R) Pentium(R) D Processor 3.0 GHz/2x2M B,800MHz FSB Intel(R) E7230 Ch ipset Integrated Broadcom Gigabit Ethernet Controller Em bedded gr aphics C1:SATA configuration (Non RAID, 1 HDD) Chassis for Po wer Edge(TM) SC430 2 GB (2x1 GB) DDR-2 533MHz ECC 1 R Memory
135
• • •
1.44MB 3.5” Floppy Drive 2x80 GB (7200 RPM) SATA Har d Driv e CD-ROM Drive, 48x MAX, EIDE
Operating S ystem
Microsoft Windows XP
Databa se
Microsoft SQL Server 2000
OLAP Tools
Microsoft Dynamics AX / Ax apta
Internet/WAN
ADSL with 2 Mbp s
Tabel 4.11 Desktop Rem ote Client Specification Desktop Remote Client Specification Hardwa re
• • • • • •
Processor Intel Dual Core E-5400 (2,7GHz) Mainboar d Asus P5KPLAM (On board Soun d, VGA, LAN) Memory 1 GB V- Gen PC5300 Harddisk 250 GB SATA ( Seagate Barracuda 7200RPM) Keyboar d + Mouse Scroll Lo gitech PS2 Casin g Sim badda C Ser ies + 380 Watt
Monitor
LCD Monitor 16” Sam sun g
Operating S ystem
Microsoft Windows XP
Databa se
Microsoft SQL Server 2000
Kom unik asi data dan informasi antar kantor caban g, atau kantor caban g den gan kantor pusat m enggun akan fasilitas em ail. Komunikasi data yan g diterapk an oleh perusahaan tersebut menggunakan konsep ter distribusi, dim ana proses konsolidasi data penjualan, data piutang pelan ggan, dan data Persed iaan Barang yan g sudah berjalan bisa digambarkan sebagai ber ik ut :
136
G ambar 4.20 Komunikasi Data Sistem Yan g Berjalan PT. XYZ
137
G am bar 4.21 Topologi Jar ingan Sistem Yang Berjalan Kantor Pusat PT. XYZ
138
G am bar 4.22 Topologi Jar ingan Sistem Yang Berjalan Kantor Pusat PT. XYZ
139
G am bar 4.23 Topologi Jar ingan Sistem Yang Berjalan Kantor Pusat PT. XYZ
140
Gambar 4.24 Topologi Jarin gan Sistem Yan g Berjalan Caban g PT. XYZ
141
B.
Evalua si da n memilih produk baru Aplik asi Targit BI Suite yan g akan diimplem entasikan o leh PT. XYZ
ber sifat terpusat, dimana kantor p usat PT. XYZ yang akan m elayani permintaan informasi dar i seluruh caban g yan g ada. Oleh k arena it u diper lukan penambahan kapasitas server dan band width pada kantor pusat. Berik ut adalah spesifikasi bar u y ang dipero leh dari konsultan Targit BI Suite berupa p enam bahan dar i sisi: -
Hard wa re Server : unt uk dap at m elakukan layanan kepada 18 caban g secara optimal, kantor pusat membutuhkan server multi co re den gan clock speed 2,4 – 2,5 GHz.
-
Sistem Operasi : aplik asi Targit BI Suite yan g akan diim plementasikan oleh PT. XYZ juga mem but uhkan sistem operasi W indo ws Server 2008.
-
Internet/WAN : untuk optimasi daya ak ses men uju k antor pusat dari tiap cabang dibutuhkan pen am bah an band width di sisi kantor pusat.
-
Infrastrukt ur Jaringan : jar ingan y ang mengh ubun gk an antar cabang dan kantor pusat m embutuhkan salur an koneksi yan g lebih stabil dan aman seperti dengan menggun akan Virtual Private Network.
C.
Menuli s lapora n evalua si infrastruktur tekni s Berdasarkan hasil kajian terhadap teknolo gi y an g telah digun akan oleh PT.
XYZ dipero leh ran gk uman sebagai berik ut :
142
a. Kantor Pusat
No 1
2
3
4 5
Tabel 4.12 Laporan Evaluasi Infrastruktur Teknis Kantor Pusat Kategori Keterangan Hard ware - Dibutuhkan penggantian den gan server multico re. Server - Disebabkan kar ena dalam implem entasi aplikasi BI membutuhkan sistem yang terpusat, hal tersebut membutuhkan kemam puan m ulti akses yan g ak an lebih optimal dilak ukan oleh server multicore. Operating - Dibutuhkan penin gkatan sistem operasi dari win dows System 2003. - Sistem operasi yang sekaran g tidak dap at optimal bila digunakan pada spesif ikasi server y ang bar u atau server yang m em ilik i kapasitas RAM di atas 6 GB. DBM S - Tidak dibut uhkan pen ggantian DBM S. - BI Tar git Suite yang digunak an telah mendukun g DBMS yan g digunakan saat ini. Intern et/WAN - Dibutuhkan penam bahan daya bandwidth untuk menangan i lay anan ak ses dar i 18 caban g PT. XYZ. Network - Infrastrukt ur jarin gan antara p usat dan cabang yan g Infra structure digunakan sekar ang hanya men ggunak an konek si internet. - Sehingga dibutuhk an infr astr uktur yang lebih stabil dan am an menggunakan Virtual Private Network.
b. Kantor Cabang
No 1
2
3
4
Ta bel 4.13 Laporan Evaluasi Infrastruktur Teknis Kantor Cabang Kategori Keteran gan Hardware - Tidak dibut uhkan pen ggantian. Server - Disebabkan implem entasi aplikasi BI tidak mem butuhk an ek sek usi pro ses pada server k antor cabang. Operating - Tidak dibut uhkan pen ggantian. System - Disebabkan tidak adanya per ubahan hard ware server dan penambahan proses. DBMS - Tidak dibut uhkan pen ggantian DBMS. - Disebabkan tidak adanya per ubahan pro ses dar i yan g telah digunakan saat ini. Intern et/W AN - Tidak dibut uhkan pen ggantian intern et. - Disebabkan masih layaknya kap asitas band width yan g telah ada sekar ang dalam implementasi aplikasi BI
143
D.
Mengembangkan platform yang sedang berjalan Disebabkan keterbatasan waktu p en gem ban gan proyek proses di tahap ini
yang terdiri dar i im plementasi, konfigur asi dan uji co ba dari technica l infra structure yan g bar u dilewatkan dalam pen gemban gan aplik asi BI. Kelayakan technical in fra structure yang bar u didapatkan m elalui konsultan BI Targit Suite.
4.2. 2. 1.2 Nontechnical Infrastructure Evaluation Dalam Non techn ical Infrastru cture Evalua tion dilak ukan evaluasi meliputi standar m etadata, standar da ta-nam ing, enterprise log ical data model, metodologi, petunjuk, pro sedur testing, pro ses change-contro l, prosedur untuk issue m anagem ent, dan hal – lain lainnya pada PT XYZ.
A.
Evalua si
kee fektifa n komponen
infra struktur
non
teknis Infrastukt ur non-teknikal per usah aan mer upakan faktor kesuksesan yan g penting
untuk
pen gem ban gan
aplik asi
BI. Tanpa pen getahuan
tentang
infrastr uktur antar or ganisasi dari per usahaan, aplikasi BI hany a akan menam bah tingkat kejenuhan aplikasi dan database. Beber apa hal ev aluasi yan g dilak ukan PT. XYZ, sebagai berikut: •
Metodologi Pen gem bangan Berdasarkan kebutuhan dan pertim ban gan waktu dan r uan g lin gk up m aka beberapa tahap dar i m etodolo gi business intelligence lifecycle sebaikny a dihilangk an.
144
•
Stan darisasi Prosedur yang dilakuk an PT. XYZ dalam mem ban gun sistem data warehou se-nya memilik i peranan penting bagi penyediaan data terhadap pengembangan aplikasi BI. Prosedur pero lehan data tersebut m em berikan gam baran m engenai asal data yang ak an dipro ses oleh aplik asi BI nantinya. Proses alur pen girim an raw da ta dar i cabang yan g ak an diolah sistem data warehouse p usat dapat dilihat pada bab 4.3.1 Busin ess Case Assesm ent, gam bar 25 – 27. Stan dar- stan dar dari proses tersebut dir an gk um sebagai berik ut :
No 1 2 3 4
Ta bel 4.14 Stan dar pen girim an data dari caban g k e kantor pusat Keterangan Kategori Form at - Nama_C abang diik uti Jenis_Data. Cth: BDNAR. penam aan data Tipe file - Menggunakan format ‘.zip’ W aktu - Dilakukan setiap Pk 17.00 pengirim an Integrasi Data - Dilakukan oleh kantor pusat setiap Pk 21.00 – selesai
No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Ta bel 4.15 Standar penamaan ko de cabang Ko de Nam a C abang MDN MEDAN PKB PEKANBARU PLB PALEMBANG BTM BATAM LPG LAMPUNG PDG PADANG BDG BANDUNG JKT1 JAKARTA1 JKT2 JAKARTA2 JKT3 JAKARTA3 SMG SEMARANG YGY YOGYAKARTA BLI BALI SBY SURABAYA BKS BEKASI SMD SAMARINDA BJR BANJARMASI
145
18
B.
MLG
No 1
PP
2 3 4 5
PJ TP CP PB
MALANG
Ko de
Ta bel 4.16 Jenis data Jenis Account Receivab le / Piutan g Pelan ggan Penjualan Target Penjualan Collection Pelan ggan Persediaan Baran g
Membuat laporan eval uasi infra struktur non tekni s Berdasarkan hasil evaluasi infr astr uktur non teknis yan g dilak ukan m ak a
dip erlukan penam bah an standarisasi form at input data untuk men duk un g efektivitas aplikasi BI dan juga diperluk an pen guran gan tahap-tahap pada metodologi proyek BI yang tidak dibut uhkan atau di luar ruang lingkup proyek BI. Ber ikut adalah beberap a perubah an yang per lu dilak ukan: • Metodolo gi Pen gem ban gan o Data Mining Data m ining berada pada luar lin gk up dan kebutuhan dar i proyek, pengem ban gan BI untuk PT. XYZ yang sekarang belum membutuhk an aplikasi yang dapat mencari informasi-informasi tersembunyi dari data wa rehouse. o Meta Data Repository Analysis Meta
Da ta
Repository
belum
dibutuhk an
pada
proyek
pengem ban gan BI PT. XYZ karen a luasnya batasan y an g dilakukan pada tahap ini. Meta Data Repo sitory sebagai sistem yang dapat m engakses dan memanipulasi meta data, m em ber i
146
pengertian dan kegun aan pada databa se BI y an g dapat diak ses baik oleh business u ser maupun technical u ser dianggap belum dibutuhkan oleh PT. XYZ. Hal ini disebabk an dari target penggun a aplikasi BI in i hanya sebatas para eksek utif dan p enggunaan data menggunakan istilah-istilah umum . o Meta Data Repository Design Tidak dilakuk an mer upakan pengem ban gan
dari Meta Data
Repository Ana lysis. o Meta Data Repository Development Tidak dilak uk an k arena m erup akan p engemban gan dari Meta Data Repository Development. • Stan darisasi Penambahan stan darisasi data pelanggan dan vendo r, seperti format penulisan nama, alamat dan data-data apa saja yang har us tersedia.
C.
Memperbaiki infra struktur non tekni s Perbaikan standar untuk p enyim panan data- data p elan ggan dan vendo r
dilakukan o leh p ihak adm inistrasi PT. XYZ sejalan dengan pen gem ban gan BI. Hal ini tentunya tidak men gubah susunan waktu pen gem ban gan proyek.
4.2. 2. 2 PROJECT PLA NNING Project Planning bertujuan unt uk mengatur implementasi proyek terhadap detail rencana proyek, dan memfasilitasi setiap kali per ubahan atau masalah
147
manajemen yang tim bul untuk memastikan hasil yan g dicap ai sesuai den gan ruan g lingk up, waktu, dan besarnya biaya.
A. Menentukan kebutuhan proyek Dalam kegiatan ini, dilak ukan proses pendef inisian ulang ruang lin gkup proyek, melakukan pengk ajian ulan g terhadap kebutuhan-k ebutuhan yan g sudah dijelask an dalam tahap Business Case Assessm ent pada bab 4.2.1 seperti kebutuhan data, fungsi-f ungsi yang diperlukan seperti lapor an atau query, dan juga dari infrastruktur baik teknikal m aup un non teknik al. Untuk proy ek perancangan dan im plem entasi ap likasi peran gk at lunak Targit BI Suite pada PT. XYZ ini tetap dalam ruan g lingk up proyek yan g sudah dijelask an pada Business Case Assessm ent. Kebut uhan akan data, f ungsi-f ungsi yang diperluk an seperti lapor an dan juga infrastrukt ur baik teknik al m aup un non teknikal masih sam a seperti yang dijelaskan pada Bu siness Case Assessment.
B.
Menentukan kondisi dari sumber fil e dan database Berdasarkan hasil an alisis sistem berjalan terhadap kondisi dar i sum ber file
dan da tabase yan g digun akan oleh PT. XYZ, diperoleh hasil sebagai berik ut : 1. Star Sch em a yang sudah diimplem entasik an sudah m encakup data-data sebagai ber ik ut :
148
•
Star Sch em a Penjualan : C abang
Wide T erritory
Te rritory
C abangId N amaC abang
WideT erritoryId Na maWideTerritory
T erritoryId Nam aTerritory
CustGro up
Pe nju alan _Aktu al
Sa lesGroup
CustGro upId Nam aCustGrou p
Caban gId Wide TerritoryId TerritoryId Sale sGroupId Principa lId CustGroup Id CustId ItemGrou pId ItemId PeriodeId SumSalesAm ountAktual SumSalesQtyAktual SumDisco unt_Princip al_ Am t SumDisco unt_Distributor_Amt
Sa lesGrou pId NamaSalesGroup
Customer CustId NamaC ustomer
Perio de Period eId T ahun Bulan Ha ri
Principa lId Nama Principal
ItemGroup
Item
ItemGroupId Nam aItemGro up
ItemId NamaIt em
Gam bar 4.25 Star Schema Penjualan Sistem Berjalan
Principal
149
•
Star Sch em a Piutang:
Gambar 4.26 Star Schem a Piutang Sistem Ber jalan
150
•
Star Sch em a Persediaan Baran g :
G am bar 4.27 Star S chema Persediaan Baran g Sistem Ber jalan
2. Kon disi kualitas data yan g tersim pan di dalam data warehou se juga bagus, dimana pro ses cleansing data sudah dilak ukan setiap kali data baik data penjualan, data piutang pelan ggan m aup un data p ersediaan dan setiap akhir bulan proses pengecek an terhadap k ualitas data juga selalu dilakuk an den gan mem bandin gkan antara data yang terdapat pada data warehou se den gan data yang ada di m asin g-m asin g caban g. Adapun arsitektur data warehou se y an g sudah berjalan di PT. XYZ adalah sebagai ber ikut :
151
G am bar 4.28 Ar sitektur data warehou se PT. XYZ yang telah berjalan
3. Sum ber file yan g diterima dar i caban g juga sudah melewati tahap verifik asi, dimana pro ses ver ifikasi tersebut dilak ukan pada saat pengguna di caban g melakuk an proses penarikan data baik data penjualan, data piutang pelanggan, maupun data per sediaan.
C.
Menentukan dan merevisi perkiraan biaya Dari hasil evaluasi terhadap kebut uhan proy ek dan kon disi sumber file /
database, diperoleh k esimpulan bah wa PT. XYZ tidak perlu melak ukan revisi terhadap p erkiraan biaya proyek perancan gan
dan implementasi aplikasi
152
perangkat lunak Targit BI Suite dimana p erkiraan biaya proy ek m asih sama seperti yan g sudah dijelaskan pada Bu siness Case Assessment.
D.
Merevi si manaj emen resiko Dari hasil evaluasi terhadap kebut uhan proy ek dan kon disi sumber file /
database, diperoleh kesim pulan bah wa PT. XYZ tidak perlu m elak ukan revisi terhadap manajem en resiko proyek perancan gan dan implem entasi aplikasi perangkat lunak Tar git BI Suite dimana resiko perancan gan dan im plemantasi aplikasi peran gkat lunak Tar git BI Suite pada PT. XYZ memiliki resiko y an g rendah dan layak untuk dijalankan.
E.
Mengidenti fikasi Cri tical Success Factors Critical Su ccess Facto rs san gat diperlukan untuk m enent ukan sukses
tidaknya aplikasi p eran gkat lunak Targit BI Suite diimplem entasikan di PT. XYZ. Oleh karen a itu ada beberapa Critical Success Fa cto r yang har us menjadi perhatian penting bagi per usahaan antara lain : Ta bel 4.17 Critical Success Factor No 1 2
Critical Succ ess Fac to r Dukun gan d ari manajemen perus ahaan Keterlibatan pihak eks ekutif dalam pro yek
3
Budg et pro yek yan g masuk akal
4 5
Jadwal proyek yang mas uk akal Tim proyek yan g so lid
Key Perf ormanc e Ind icator Meeting min gguan d ilaku kan s etiap h ari s enin dari jam 13:00 s.d . 17 :00. Bisa terlib at p enuh dalam pros es p erancan gan dan imp lementasi s etiap h ari dari jam 15:00 s.d. 17:00. Budg et p royek sud ah d isetu jui o leh man ajemen perus ah aan Jadwal proyek implementasi 8 b ulan Memiliki kemamp uan analisis keb utuh an bisnis yang baik untuk business user, d an memiliki kemampu an tekn ikal yang b aik u ntu k d evelop er.
153
F.
Mempersi apkan Proj ect Pl an Berik ut adalah jadwal p elak san aan proyek implem entasi aplikasi perangkat
lun ak Targit BI Suite pada PT. XYZ yan g digam barkan dalam Gantt Chart dan bisa dilihat pada bagian lampiran 1.
G. Mempersi apkan perencanaan proyek ti ngkat ti nggi Kegiatan ini tidak dilak uk an dalam proyek peran can gan dan im plemantasi Targit BI Suite pada PT. XYZ karena perencan aan proyek ini sudah cuk up jelas digambark an dalam Gantt Cha rt.
H.
Menjalankan proyek Pada kegiatan ini dilakukan m eeting yan g har us diik uti oleh pihak
manajemen per usahaan, pih ak eksek utif perusahaan selak u business user, dan pihak IT perusah aan selak u technica l user, dim ana pada meeting ini akan dijelask an dan dipresentasikan tentang Business Ca se Asessm ent dan juga Gantt Cha rt proyek implem entasi aplikasi peran gkat lunak Targit BI Suite. Inti dari hasil m eeting ini adalah m em berik an pen jelasan kep ada sem ua pihak yang terlibat dalam proyek ini dan m eminta persetujuan dari p ihak m anajem en per usahaan untuk m enjalankan proyek.
4.2. 3 Fa se Busi ness A nalysis Pada fase ini dilak ukan an alisis yan g mendetail dar i m asalah dan peluan g bisnis yan g dihadapi PT. XYZ. Hal ter sebut dilak ukan untuk m endapatkan
154
pem ahaman yang mendalam dari kebutuhan bisnis terhadap solusi produk yan g akan dikem ban gkan.
4.2. 3. 1
Proj ect R equi rement D efi niti on
Tahap ini berfok us pada definisi dar i project requirement term asuk lin gkup proyek dari aplikasi BI yang akan dikem ban gkan. Sem ua per ubahan y an g terjadi selama pro ses development diharapkan bisa diterapkan ke dalam aplikasi sehingga para eksekutif bisa mempelajari setiap kem ungkinan y ang terjadi dan bisa melihat keterbatasan-keterbatasan teknologi BI selama proyek berlan gsun g.
A.
Menentukan
requi rem ents
untuk
meningkatkan
infra struktur tekni s Pada tahap ini, dilak ukan pendefinisian kebut uhan untuk infrastrukt ur teknis seperti : • Penambahan p eran gkat keras bar u. • Penambahan Database Managem ent System (DBM S) bar u atau melak ukan proses upgrade terhadap DBM S yang sudah ada. • Penambahan d evelopm ent tools y ang bar u. • Penambahan k ebutuhan infrastruktur jarin gan yan g baru.
Pada tahap Enterprise Infra structu re
Evalu tion sebelumnya, sudah
dilakukan evaluasi mengen ai infrastruktur teknis yan g sedan g digunakan oleh PT. XYZ. Dari hasil evaluasi tersebut dan untuk m emenuh i kebut uhan im plementasi
155
aplikasi peran gkat lunak BI, maka ada beberapa h al yan g h ar us ditambahkan / dik embangk an dari sisi infrastruktur teknis sebagai ber ik ut : Tabel 4.18 Penambahan kebutuhan infrastrukt ur teknis No 1
Kategori Hardw are
Keterangan Untuk kebutuhan server BI di k antor pus at dengan spesi fikasi seb agai berikut : Quad-Core Model HP DL380G6 E5540 • • • • • • • • • • • • •
2 3
Operating System Bandwidth
Intel® X eon® Proc essor E5540 (2.53 GH z, 8M B L 3 Cache, 80 W, D DR 3-10 66, HT , T urbo 1/1 /2/2). 8M B (1 x 8MB) Le vel 3 cach e. 6GB (3 x 2GB) PC 3-106 0R (D DR 3-133 3) R eg istered D IMM s. Two HP N C38 2i D ual Port M ultif unction Gig abit S erver Adap ters. HP Smart Arra y P41 0i/2 56M B C ontroll er. Stan dard : 8 SF F S AS/S ATA H DD B ays. 460 W H o t Plug Po wer S upply. (N + 1 redunda ncy sta nd ard). Rack ( 2U ), H eight 3. 38-inc h (8. 59 c m); Width : 1 7.2 5 (4 4.54 c m); D ep th: 27. 25 inches(6 9.98 c m). HP 4GB 2R x4 PC 3-1 060 0R-9 Kit . HP 2GB 2R x8 PC 3-1 060 0R-9 Kit . HP Slim S AT A DVD R W Optical D rive. HP 500GB 3G SAT A 7. 2K 2.5 in M DL H DD .
Microsoft Windows Server 2008 Enterp rise Edition, yang akan diinstallkan di server BI. VPN IP W ireless Dedicated Lintasarta dengan kapasitas bandwidth 3 Mbps.
Untuk k ebutuhan infrastruktur jaringan baru sen diri, platform infrastruktur perangkat keras p enggunaan aplikasi Bu sin ess Intelligence sen diri adalah sebagai ber ikut :
156
Gam bar 4.29 Topologi Kebut uhan Jarin gan PT. XYZ
Untuk platform infrastruktur DBM S pen ggunaan aplikasi Business Intelligence sen diri adalah sebagai berik ut :
G am bar 4.30 Platform Infrastruktur DBM S Aplik asi BI
157
B.
Menentukan
requi rem ents
untuk
meningkatkan
infra struktur non tekni s Penyim panan nam a pelan ggan m enggun akan standarisasi sebagai berik ut :
No 1
Kategori Penamaan
2 3
NPW P Alam at
4 5 6 7 6
Kelur ahan Kecamatan Kabupaten Propinsi Kode Pos
Tabel 4.19 Stan dar pen amaan pelan ggan Keterangan - Nama_Perusahan diikuti “,” diik uti Ti pe_Perusahaan cth: Sukam aju, PT - Har us mem iliki NPW P - “Jl.” diikuti Nama_Jalan diikuti Blok_Unit diik uti No_Unit cth: Jl. An ggrek Raya Blok A No.19 - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan
Penyim panan nam a vendor m enggun akan standarisasi sebagai ber ik ut :
No 1
Kategori Penamaan
2
Alam at
3 4 5 6 7
Kelur ahan Kecamatan Kabupaten Propinsi Kode Pos
Ta bel 4.20 Standar penam aan vendo r Keterangan - Nama_Perusahan diikuti “,” diik uti Ti pe_Perusahaan cth: Sukam aju, PT - “Jl.” diikuti Nama_Jalan diikuti Blok_Unit diik uti No_Unit cth: Jl. An ggrek Raya Blok A No.19 - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan - Har us dicantumkan
C. Membuat laporan requirements Berdasarkan hasil in terview yang telah dilak ukan terhadap para eksek utif PT. XYZ berkaitan dengan
harapan mereka terhadap aplikasi Business
158
Intelligence yang akan digunakan, berikut adalah kebutuh an-kebutuhan y an g diin ginkan oleh mereka sebagai berik ut :
A. Group Penjualan 1. Bisa melihat kinerja penjualan Nasion al. 2. Bisa melihat kinerja penjualan Per Caban g. 3. Bisa melihat kinerja penjualan Per Wide Territo ry. 4. Bisa melihat kinerja penjualan Per Territo ry. 5. Bisa melihat kinerja penjualan Per Sa les Group. 6. Bisa melihat kinerja penjualan Per Item Group. 7. Bisa melihat kinerja penjualan Per Item. 8. Bisa melihat kinerja penjualan Per Principal. 9. Bisa melihat kinerja penjualan Per Group Pelanggan. 10. Bisa melihat kinerja penjualan Per Pelanggan. 11. Bisa melihat kinerja penjualan Per Medical Rep resen tative Prin cipal. Untuk bisa melihat performance sales per Medica l Representative (Med Rep) Principa l, harus dilakukan proses mappin g data antara pelanggan / outlet PT. XYZ dengan Med Rep Prin cipal. 12. Bisa m elihat potensi keh ilan gan pen jualan yan g diakibatkan karena tidak tersediany a per sediaan bar an g untuk dijual. Beberapa hal yan g har us ada p ada masing-masin g kin erja penjualan diatas adalah: • Masin g-masing kinerja pen jualan bisa ditampilkan dalam bentuk Qty dan Value.
159
• Masin g-masing kin erja penjualan har us bisa menam pilkan tren penjualan apakah naik, tur un, atau sama jika diban din gkan antara dua p erio de yan g berbeda. • Masin g-masing kinerja pen jualan bisa ditam pilkan dalam bentuk tabular m aup un grafik. • Masin g-masing dim ensi yang ada bisa di- set secu rity sehin gga hanya user yang memiliki otorisasi terhadap dim ensi itu yan g bisa melihat informasi yang ada didalam nya.
B. Group Persediaan Barang 1. Bisa melihat Persediaan Baran g secara Nasional. 2. Bisa melihat Persediaan Baran g Per Cabang. 3. Bisa melihat Persediaan Baran g Per Warehou se. 4. Bisa melihat Persediaan Baran g Per Prin cipal. 5. Bisa melihat Persediaan Baran g Per Item Group. 6. Bisa melihat Persediaan Baran g Per Item . 7. Bisa melihat Persediaan Baran g yang sudah mau expired. 8. Bisa melihat Persediaan Baran g yang sudah mencapai m inim um stock. Beberapa h al y ang har us ada pada masin g-masin g inform asi Persediaan Bar an g adalah sbb: • Masin g-masing informasi Persediaan Barang bisa ditampilkan dalam bentuk Qty dan Value.
160
• Masin g-masing informasi Persediaan Barang har us bisa menam pilkan tren Persediaan Barang apakah naik, t urun, atau sama jika diban din gkan antar a dua p erio de y an g ber beda. • Masin g-masing informasi Persediaan Barang bisa ditampilkan dalam bentuk tabular m aup un graf ik. • Masin g-masing dim ensi yang ada bisa di- set secu rity sehin gga hanya user yang memiliki otorisasi terhadap dim ensi itu yan g bisa melihat informasi yang ada didalam nya.
C. Group Account Receivable / Piutang 1. Bisa melihat informasi AR Nasional. 2. Bisa melihat informasi AR Per Caban g. 3. Bisa melihat informasi AR Per Principal. 4. Bisa melihat informasi AR Per Sales Group. 5. Bisa melihat informasi AR Per Group Pelan ggan. 6. Bisa melihat informasi AR per Pelan ggan. 7. Bisa melihat informasi collection Nasional. 8. Bisa melihat informasi collection Per Caban g. 9. Bisa melihat informasi collection Per Wide Territory. 10. Bisa melihat informasi collection Per Territory. 11. Bisa melihat informasi collection Per Sales Group. 12. Bisa melihat informasi collection Per Principal. 13. Bisa melihat informasi collection Per Group Pelanggan. 14. Bisa melihat informasi collection Per Pelanggan.
161
Beberapa h al y ang har us ada pada masin g-masin g inform asi Persediaan Bar an g adalah sbb: • Masin g-masing informasi AR h arus bisa m enampilkan tren AR apak ah naik , turun, atau sama jika diban dingkan antara dua per iode yan g berbeda. • Masin g-masing inform asi AR bisa ditampilkan dalam bent uk tabular m aup un grafik. • Masin g-masing informasi collection h arus bisa m enampilkan tren co llectio n apakah naik, tur un, atau sama jika diban din gkan antara dua p erio de yan g berbeda. • Masin g-masing informasi collection bisa ditampilkan dalam bentuk tabular m aup un grafik. • Masin g-masing dim ensi yang ada bisa di- set secu rity sehin gga hanya user
yang memiliki otorisasi terhadap dim ensi itu yan g bisa melihat informasi yang ada didalam nya.
D.
Mengkaji ula ng bata san proyek Meeting yan g dihadir i oleh Project Manager, pihak eksek utif, dan pihak
IT diadak an untuk melakukan pengkajian ulan g terhadap batasan proyek perancangan dan implementasi BI ini. Dari h asil m eeting tersebut diambil kep utusan bah wa batasan proyek perancangan dan implem entasi BI in i tetap sama seperti yan g sudah ditetapkan dar i awal dan tidak mengalam i p erubahan. Dari hasil m eeting tersebut diharapkan bah wa proy ek perancangan dan implementasi aplikasi per angkat lunak Targit BI
162
Suite ini bisa diselesaik an tepat waktu dan sesuai dengan jadwal yan g sudah ditentuk an.
E.
Mengembangkan l ogical data model Berdasarkan requirement yang diperoleh dari pihak eksek utif PT. XYZ,
maka logical data model yang sudah ada perlu dik em ban gkan untuk memenuhi kebutuhan tersebut. Adap un logical data m odel hasil dari pen gem ban gan untuk memenuhi kebutuhan par a ek sek utif adalah sebagai ber ikut :
163
• Rev isi Log ical Data Model untuk informasi p enjualan:
Gambar 4.31 Revisi Logical Da ta Model Penjualan
164
• Rev isi Log ical Data Model untuk informasi p iutang p elan ggan :
G ambar 4.32 Revisi Logica l Da ta Model Piutang
165
• Rev isi Log ical Data Model untuk informasi p ersediaan baran g :
Gambar 4.33 Revisi Logical Data Model Per sediaan Baran g
F.
Menentukan ta hap awal servi ce-level agreements Ta bel 4.21 SLA ap likasi p erangkat lunak BI
No 1
2
SLA Availibility
Security
Detail In formasi baik in formasi penjual an, informasi persediaan barang , maupun informasi piutang pelanggan secara nasional harus sel alu ter-update dengan toleransi 1 hari del ay. Semua in formasi baik in formasi penju alan, informasi persedi aan b arang, maupun informasi piutang pelanggan secara nasion al hanya bisa dilihat oleh orang-orang berkep entingan saja. Misalnya principal A, h anya bisa melihat informasi penjualan dan in formasi persediaan barang milik principal A itu sendiri .
166 3
Response time
Toleransi respons e time terhad ap in formasi yang dibutuhkan oleh pihak eksekuti f ad alah rata-rata 5 detik setiap qu ery terhadap in formasi dilakuk an.
4
Data cleanliness
5
Ongoing Support
In formasi baik in formasi penjual an, informasi persediaan barang , maupun informasi piutang pelanggan harus 100 % terb ebas d ari d ata sampah. Dukungan 100 % diberik an kepada pihak eksekuti f yang menggunakan aplikasi perangkat lun ak Targit BI Suite oleh pihak IT.
4.2. 3. 2
Data Analysi s
Tahap ini berfok us pada analisis data yan g akan digunakan dalam pengem ban gan aplikasi BI. Tahap ini sangat penting disebabkan oleh tantangan terbesar dalam sebuah proyek BI adalah kualitas daripada sum ber data. Kualitas data yan g tidak bagus tentu saja akan san gat mahal, memerlukan waktu yan g lama untuk proses koreksi. Kadang kala san gat susah untuk m elak ukan kon solidasi atau rekonsoliasi data dari ber bagai sudah pan dan g per usahaan. Oleh karen a itulah tahapan analisis data mem butuhk an per sentasi waktu yan g cuk up signif ikan dar i keselur uhan proyek BI.
A.
Menganalisi s sumber data e ksternal Seperti yan g sudah dijelaskan pada tahap Project Requirem ent Defin itio n
bah wa p er usahaan membut uhkan adanya tam bah an informasi penjualan dari pihak kom petitor terhadap pro duk yan g didistribusikan selain oleh PT. XYZ. Oleh karena itu ap likasi peran gk at lunak Targit BI Suite membutuhkan tambahan informasi pen jualan dari pihak kompetitor sebagai sum ber data ek sternal. Pro ses penggabun gan data eksternal dengan data internal m em butuhkan proses y an g tidak m udah terutama dalam hal proses data-cleansing dimana terkadang data
167
eksternal selalu tidak len gkap dan biasanya tidak m en gik uti form at atau struktur yang sama den gan data internal. PT. XYZ m em peroleh data eksternal ber upa inform asi penjualan dar i kom petitor dari principal, dimana inform asi pen jualan ini adalah inform asi penjualan terhadap produk yan g didistribusikan oleh PT. XYZ dan pihak kom petitor. Inform asi penjualan dari kompetitor tersebut biasanya diterima oleh PT. XYZ setiap akhir bulan dar i principal m elalui email. Ber ikut adalah struktur data ek sternal p enjualan kompetitor : Ta bel 4.22 Strukt ur data internal PT. XYZ vs struktur data ek sternal kom petitor Data Eksternal Ko mpetitor Nama Atribut
Format Data
Data Internal PT. XY Z Nama Atribut
Kode Pelanggan
99999
Kode Pelanggan
Nama Pelanggan
XX-50-XX
Nama Pelanggan
XX-50-XX
Alamat
XX-100-XX
Alamat
XX-100-XX
Kota
XX-20-XX
Kota
XX-20-XX
Territory
XXX
Territory
X99-99999
XXXXXX
P erluadany a proses mapping antara P elanggan Group data eksternal dengan P elanggan Group data internal
XXXXXXXXXX
Pelanggan Group
XXXXXXXXXX
Invoice
999999999999
Invoice
9999999
Tanggal Invoice
DD/MM/YYYY
Tanggal Invoice
DD/MM/YYYY
Kode Produk
XXXXXXX
Kode Produk
99-99999
Nama Produk
XX-30-XX
Nama Produk
XX-30-XX
Qty
99.999
Qty
99.999
Harga
99.999.999
Harga
99.999.999
Total
999.999.999
Total
999.999.999
P ersen Discount
99.99
Persen Discount
99.99
Nilai Discount
99.999.999
Nilai Discount
99.999.999
XXXXXXXXXX
Kode Cabang
P erluadany a proses mapping antara no pelanggan data eksternal dengan no pelanggan data internal
P erluadany a proses mapping antara Territory data eksternal dengan Territory data internal
P elanggan Group
Kode Cabang
Keterangan
Format Data
99
P erluadany a proses mapping antara P elanggan Group data eksternal dengan P elanggan Group data internal
Kode Cabang Data Eksternal tidakperlu dilaku kan proses m apping karena tidak dibutuhkan
168
B.
Mendefini si kan ulang l ogi cal data model Den gan adanya sum ber data ek sternal yaitu berupa inform asi data penjualan
dar i kompetitor, m aka model logical data pen jualan akan berubah menjadi :
Gambar 4.34 Revisi Logical Da ta Model Penjua lan
C.
Menganalisi s kualita s dari sumber data Setelah mo del log ical da ta direvisi sesuai den gan data eksternal yan g
dibutuhkan oleh p ihak eksek utif PT. XYZ, langkah selanjutnya adalah melak ukan analisis terhadap kualitas dari sum ber data eksternal tersebut. Sum ber data eksternal tersebut kem udian dilak ukan proses pengecekan untuk m en gidentifik asi apakah terjadi duplikasi data, data tidak kon sisten, dan juga frekuensi pengiriman sum ber data eksternal tersebut dari pih ak principal. Dari hasil interview den gan pihak IT ditem ukan beber apa hal mengenai sumber data ek sternal sebagai ber ikut:
169
•
Proses p en giriman sumber data eksternal penjualan milik kom petitor dar i principal dilak ukan setiap pertengahan bulan dan akhir bulan.
•
Sum ber data eksternal tersebut memiliki tingkat kon sisten yan g tinggi seperti dalam hal format pemberian nomor kode pelanggan, pemberian nom or kode produk karena sum ber data eksternal yang dipero leh m em ang dik eluarkan dari sistem m ilik kom petitor yang sudah terkom puterisasi.
•
Ditemukan adany a duplikasi pem belian nama pro duk yan g sama dalam satu faktur penjualan, dimana seharusnya hal ini bisa menyebabkan kualitas sum ber data eksternal menjadi k uran g baik. Den gan adany a duplikasi n am a produk dalam sat u faktur penjualan itu, maka harus dicarik an solusi pemecahan masalahny a sehin gga sum ber data eksternal tersebut bisa m asuk ke dalam data warehouse perusahaan dengan benar.
D.
Memperluas model enterpri se l ogi cal data Logical data model yan g sudah direvisi kemudian digabung kem bali den gan
enterprise logical data model den gan gambar an sebagai berikut :
170
G am bar 4.35 Enterprise Logical Data Model PT. XYZ
E.
Memperbaiki ketidak cocokan data Setiap perubah an yan g terjadi terhadap data warehou se yan g biasany a
disebabkan kar ena adany a penam bahan data bar u baik data internal m aup un data eksternal, bisa menyebabkan terjadinya ketidak cocokan data, dan tentu saja hal ini san gat dihin dari. Akan tetapi k etidak co cokan ter sebut har us cepat diantisipasi agar tidak menyebabk an kualitas terhadap data m enjadi tidak bagus. Ketidak cocokan data bisa saja terjadi baik dari sisi data pen jualan, data per sediaan bar ang, maupun data piutan g pelan ggan. Dalam kasus yan g ditem uk an pada data eksternal penjualan kompetitor yan g diterim a dar i principal, ditem ukan adanya k etidak cocokan antara data penjualan eksternal kompetitor dengan data internal perusah aan sep erti penentuan wilayah distribusi, sebagai contoh: men ur ut pembagian wilayah distribusi PT. XYZ,
171
wilayah Bo gor sehar usnya m asuk k e dalam wilayah distribusi caban g Jak arta 2, sedangk an menur ut pem bagian wilayah distribusi kompetitor, wilayah Bo gor masuk ke dalam wilayah distribusi Bandung. Solusi y ang digunak an untuk m enangani masalah ketidak cocokan data in i adalah den gan melakukan pro ses mapping antara data internal per usahaan den gan data ek sternal kom petitor yaitu dengan m em buat tabel m apping sebagai berik ut :
Ta bel 4.23 Tabel Mappin g Data Eksternal Kom petitor dan Data Internal PT. XYZ
F.
Menuli s spesifikasi data-cleansing Setelah sem ua masalah seperti ketidak cocokan data sudah diidentifik asi
dan dimo delk an, maka tahap selan jutnya adalah m embuat spesifikasi datacleansing. Tahapan ini san gat penting karen a proses data-clean sing san gat dibutuhkan untuk menjaga agar k ualitas dan k eak uratan data tetap terjamin. Proses data-cleansing yan g dilakukan pada data penjualan ek sternal kom petitor dilakuk an den gan m enjalankan sebuah pro sedur den gan spesifikasi sebagai ber ikut :
172
1. Pastikan proses mapping (kode pelan ggan, Territory, Pelan ggan Group, Kode Produk, dan Ko de Caban g) sudah dilak ukan antara data penjualan eksternal kom petitor dengan data internal perusahaan. 2. Baca setiap bar is data penjualan ek sternal kom petitor. 3. Cek data penjualan ek sternal kom petitor ber dasarkan Ko de Pelanggan, Nomor Invoice, dan Kode Produk apakah sebelum nya sudah ada di da ta stag ing penjualan atau tidak. Jika sudah ada maka untuk bar is data tersebut tidak akan disim pan k embali k e dalam data staging penjualan. Jika belum ada maka baris data tersebut akan disim pan ke dalam data staging penjualan.
4.2. 3. 3 A.
A pplicati on Prototyping
Menganalisis kebut uhan akses Berdasarkan kebutuhan bisn is, kegiatan ini m enentukan kebutuhan laporan
dan query y an g ak an dibutuhkan untuk k eperluan p rototyping. Laporan dan qu ery yang dibuat ber sifat m ultidimensi sehin gga bisa digunakan untuk menilai ketram pilan busin ess user dalam kegiatan p rototype in i.
B.
Menentuk an ruang lingk up dari prot otype Penentuan r uan g lin gkup dari p roto type harus ditentukan oleh business user
dan p roject m anager dan r uan g lingk up yan g ditentukan h ar us cuk up kecil sehingga p rototype bisa dibuat dan dico ba dalam wakt u yang tidak terlalu lama. Prototype y an g dibuat hanya memuat sebagian kecil data dimana data tersebut cuk up unt uk m enduk ung fun gsi-f un gsi yan g ada pada aplikasi peran gk at lunak Targit BI Suite.
173
Adap un r uan g lingk up dar i p rototype yang dibuat adalah pro totyp e yan g berfok us pada lapor an dan query p enjualan PT. XYZ.
C.
Memilih alat bantu unt uk prot otype Proto type yang akan diran can g dan diban gun akan men ggunakan aplikasi
perangkat lunak Targit BI Suite. Sebelumnya business user akan diberikan pelatihan untuk m en ggunakan ap likasi p erangkat lunak Targ it BI Suite tersebut sehingga business u ser tersebut akan merasa ny am an menggunakan aplikasi tersebut. Training aplikasi peran gkat lun ak Targit BI Sute sudah dilakuk an kepada pihak eksekutif PT. XYZ ( divisi operasional) dimana training tersebut dilaksanak an selam a dua h ari pada tanggal 17 Juni 2010 s. d. 18 Jun i 2010.
D.
Mempersiapk an prototype c harter Berik ut adalah p roto type charter yang akan dilak ukan pada proses p roto typ e
aplikasi peran gkat lunak Targit BI Suite: Ta bel 4.24 Prototype Charter Tujuan prototype
Ruang lingkup prototype Platform prototype Ju ml ah Iterasi Jadwal prototyp e Peserta prototyp e
• Memb erikan gamb aran k epad a pihak eksekuti f tentang cara penggunaan aplikasi perangkat lunak Targit BI Suite. • Memb erikan gamb aran k epad a pihak eksekuti f tentang contoh laporan dan query y ang bisa dihasilkan dari aplikasi perangkat lunak Targit BI Suite. Ruang lingkup terb atas p ada area penjual an. Menggun akan aplikasi p erangkat lunak Targit BI Suite. 3 kali 17 Juni 2010 s .d. 30 Juni 2010 • Project Manag er. • Pihak eksekuti f (Divisi Operasional). • IT Programmer.
174
E.
Merancang laporan dan query Laporan dan query yan g ak an dir ancang untuk k eperluan prototyp e adalah
sebagai ber ikut : 1. Analisis Pen jualan Per Caban g, Per Territory, dan Per Customer Group
G am bar 4.36 Analisis Penjualan Per Cabang,Per Territory, dan Per Cu stom er Group
2. Analisis Pen jualan Per Caban g Per Principal, Per Item Group, Per I tem
Gambar 4.37 Analisis Penjualan Per Caban g,Per Principal, Per Item Group, Per Item
175
3. Analisis Performance Penjualan Cabang
Gam bar 4.38 Analisis Perform ance Penjualan Caban g
4. Analisis Pen jualan Per Caban g dalam grafik
Gambar 4.39 Analisis Penjualan Per Caban g Dalam Gr afik
176
5. Analisis Top Ten Sales Group
Gambar 4.40 Analisis Top Ten Sales Group
F.
Membangun protot ype Berdasarkan laporan dan qu ery yan g sudah dirancan g, prototyp e diban gun .
Waktu pem ban gun an pro totyp e in i dilak ukan selam a 2 h ari dar i tan ggal 21 s. d. 22 Juni 2010 den gan menggunakan aplikasi perangkat lunak Ta rgit BI Suite. Dari laporan dan query yang sudah dirancang sebelumnya, maka hasil laporan dan query sebagai hasil dari prototype ini bisa ditam pilkan sebagai ber ikut:
177
1. Analisis Pen jualan Akt ual Per Caban g, Per Territory, dan Per Cu stomer Group
Gambar 4.41 Analisis Penjualan Aktual Per Caban g, Per Territory, dan Per Custom er Group
178
2. Analisis Pen jualan Per Caban g Per Principal, Per Item Group, Per I tem
Gambar 4.42 Analisis Penjualan Per Caban g, Per Principal, Per Item Group, Per Item
179
3. Analisis Performance Penjualan Cabang
G am bar 4.43 Analisis Perform ance Penjualan Caban g
4. Analisis Pen jualan Per Caban g dalam grafik
Gambar 4.44 Analisis Penjualan Per Caban g dalam Grafik
180
5. Analisis Top Ten Sales Group
Gambar 4.45 Analisis Top Ten Sales Group
G. Mendemonst rasikan prot ot ype Setelah prototyp e selesai diban gun, maka hasil p roto type tersebut kem udian dipr esentasikan kepada p ihak ek sek utif PT. XYZ. Waktu presentasi tersebut dilakukan pada tanggal 24 Jun i 2010. Hasil dari presentasi tersebut m endapatkan feedback positif dan antusias dari p ihak ek sek utif karena pro totype yan g sudah dibangun menurut m ereka sangat user friendly, memenuhi apa yang mereka butuhk an dalam m embantu keper luan an alisis.
181
4.2. 4 Fase D esi gn Pada fase ini pengem bangan aplikasi berfok us pada ran can gan aplikasi BI yang tepat untuk mem ecahk an m asalah bisnis atau m emperoleh peluan g bisnis yang ada.
4.2. 4. 1
Database Design
Tahap ini san gat pentin g dalam pen gem ban gan ap likasi BI karen a menentukan data apa saja y ang akan disim pan dalam baik secara detil maupun agr egasi ter gantun g dari kebutuh an pelaporan dari pihak eksek utif. Tidak semua kebutuhan pelaporan ber sifat strategis dan tidak sem ua kebutuhan pelaporan dibutuhkan oleh para eksekutif.
A.
Melihat ulang kebutuhan akse s data Adap un kegiatan yang dilakukan pada tahap ini adalah melak ukan review
terhadap akses data dan m en gan alisis kebut uhan (laporan dan qu ery) yan g sudah dilakukan di kegiatan membuat laporan requirem ent pada tahap Pro ject Requirement Definition di bab 4.3.3.1. Tugas tersebut diserahk an pada System Analyst, IT developer, dan Database Adm inistra tor yan g bertan ggung jawab untuk m elakukan review terhadap semua kebutuhan akses data sebelum memulai m erancang databa se BI.
B.
Menentuka n kebutuhan agregasi / summary Sebelum perancangan skem a terhadap databa se BI mencapai proses final,
database adm inistrato r har us m enetapkan terlebih dahulu kebut uhan summ ary
182
dan agregasi data seperti apa y an g diinginkan dan dibutuhkan o leh pih ak ek sek utif PT. XYZ. Berdasarkan En terprise Logical Data Model seperti yan g tergambar pada bab 4.3.3.2, m aka data yan g dibutuhk an oleh pihak eksekutif untuk k eperluan summary dan agregasi adalah sebagai berikut: Ta bel 4.25 Summ ary / agregasi dar i Measurem ent Fact Ta ble
Measurement
Tipe
Penjualan Aktual
Qty
Sum
Sales A mount
Sum
Principal_Disc_Amt
Sum
Distributor_Disc_A mt
Sum
SalesQtyAktual
Sum
SalesA mountAktual
Sum
SalesQtyTarget
Sum
SalesA mountTarget
Sum
AR0_30
Sum
AR30_60
Sum
AR60_90
Sum
ARLebih90
Sum
Collection Pelangg an
Collection_Amount
Sum
Persediaan Barang
Qty
Sum
Inv_Valuation
Sum
CostPrice
Sum
QtyMinStock
Sum
Penjualan
Aktual
vs
Target
Piutang Pelanggan
183
C.
Merancang database BI Berdasarkan review terhadap ak ses data dan menganalisis kebutuhan
(laporan dan query) yang sudah dilakukan di kegiatan ‘membuat laporan requirement’ pada tahap Project Requirement Definition di bab 4.3.3.1 dan juga ber dasarkan kebutuh an agr egasi/summ ary yang sudah dilak uk an di kegiatan menentukan kebutuhan agregasi/summary pada tahap Databa se Design di bab 4.3.4.1, maka diperoleh k esim pulan bah wa database BI yan g akan dirancan g nanti adalah databa se yan g berbentuk m ultidim ension al. Alasan tersebut diperoleh karena kebutuhan dari pihak ek sekutif PT. XYZ untuk bisa melak ukan kem am puan an alisis slice and dice terhadap inform asi baik informasi pen jualan, piutang pelanggan, dan per sediaan bar an g.
D.
Merancang struktur database se cara fi sik Struktur database BI yang dirancang akan digam barkan dalam bent uk sta r
schema den gan pengelom pokan sebagai berikut :
184
1. Star Sch em a untuk Inform asi Pen jualan Aktual:
G am bar 4.46 Star S chema Inform asi Penjualan Akt ual
185
2. Star Sch em a untuk Inform asi Pen jualan Akt ual Vs Target :
Gambar 4.47 Star S chem a Informasi Penjualan Akt ual Vs Target
186
3. Star Sch em a untuk Inform asi Per sediaan Barang :
G am bar 4.48 Star S chema Informasi Persediaan Barang
187
4. Star Sch ema untuk Inform asi Piutang Pelanggan :
G am bar 4.49 Star S chema Informasi Piutang Pelanggan
188
5. Star Sch em a untuk Inform asi Collection Pelan ggan :
Gambar 4.50 Star Schem a Informasi Co llection Pelan ggan
E.
Membuat database BI Proses p embuatan database BI dilak ukan melalui ap likasi ERP Microsoft
Dynam ics Ax 2009, dimana aplikasi ERP Microsoft Dynam ics Ax 2009 m em ilik i kem am puan untuk berintegrasi den gan Micro soft SQL Serv er 2000 Analysis Services dalam m embuat databa se BI. Adap un pro ses pem buatan databa se BI melalui aplik asi ERP Micro soft Dynam ics Ax 2009 adalah sebagai berik ut :
189
1. Tentukan terlebih dah ulu database server m ana yan g dipak ai unt uk m em buat database BI sep erti gambar dibawah in i :
G ambar 4.51 Penentuan Server BI
2. Tentukan nama database BI seperti gambar di bawah ini :
Gambar 4.52 Penentuan Databa se BI
3. Tentukan rentan g waktu h istori data yang ak an disim pan ke dalam database BI seperti gam bar di bawah ini:
190
Gambar 4.53 Penentuan Databa se BI
F.
Membuat prosedur pemeliharaan database Setelah da tabase BI telah berf ungsi, masalah backup and recovery
merupakan h al yan g sangat penting untuk menjaga agar informasi y an g dibutuhkan oleh pihak eksek utif PT. XYZ tetap tersedia dan terjaga dengan baik. Oleh k arena it u, prosedur ba ckup and recovery mutlak diper lukan dalam rangk a pem eliharaan database BI. Prosedur backup terhadap database BI dilakukan setiap hari oleh tim IT PT. XYZ secara otom atis yaitu dijadwalkan setiap puk ul 21:00 seperti yang terlihat pada gambar dibawah ini:
Gambar 4.54 Proses Backup Da tabase BI PT. XYZ
191
G.
Mempersia pkan pe rancangan monitoring da n tuni ng database Pada saat aplikasi BI selesai diim plem entasi, databa se BI har us selalu di-
monitor dan di-tuning. Proses p erancan gan da tabase BI tidak bisa m enjamin kinerja databa se secar a terus m enerus, karena pen ggunaan database BI selalu ber ubah-ubah setiap saat. Oleh kar ena itu dip erlukan adanya sebuah alat bant u untuk m elakukan monitoring terhadap databa se BI tersebut.
H.
Mempersia pkan pe rancangan monitoring da n tuni ng query Tidak hanya databa se BI saja yan g perlu selalu di-monitor dan di-tuning ,
akan tetapi setiap query yang digunakan untuk menam pilkan inform asi dar i database BI juga p erlu selalu di-m onitor dan di- tuning untuk m endapatkan kinerja yang lebih baik. Oleh karena it u diperlukan adanya sebuah alat bantu untuk melakuk an monitoring terhadap query tersebut. Alat bantu yan g digunak an oleh PT. XYZ untuk melakukan proses monitoring terhadap query menggunak an fun gsi yan g ter dap at pada Micro soft SQL Server 2000 Analysis Service, dim ana dengan alat bant u in i setiap qu ery yang dijalank an bisa dimonitor den gan
baik berapa respon se tim e yan g
dibutuhkan untuk menjalankan setiap query den gan tahapan-tahapan dibawah ini :
192
1. Mem ilih tipe laporan y ang dibutuhkan.
Gambar 4.55 Query Usage Analysis Wizar d Microsoft SQL Serv er 2000 Analysis Service Step 1
2. Mem ilih tipe penyarin gan query.
Gambar 4.56 Query Usage Analysis Wizar d Microsoft SQL Serv er 2000 Analysis Service Step 2
193
3. Mem ilih tipe penyarin gan query.
Gambar 4.57 Query Usage Analysis Wizar d Microsoft SQL Serv er 2000 Analysis Service Step 3
Alat bant u yang digun akan oleh PT. XYZ untuk melak ukan proses tunin g terhadap query adalah f ungsi yang terdapat pada Micro soft SQL Server 2000 Analysis Service, dim ana den gan alat bantu ini setiap query y ang dijalankan bisa di- tuning sehin gga response tim e yang dibutuhkan untuk m enjalankan setiap query bisa lebih cepat den gan tahapan-tahapan dibawah ini :
194
1. Mem ilih tipe penyarin gan query.
G am bar 4.58 Usage-Based Optim ization Wizard Microsoft SQL Server 2000 Analysis Service Step 1
2. Menam pilkan hasil penyaringan query.
G am bar 4.59 Usage-Based Optim ization Wizard Microsoft SQL Server 2000 Analysis Service Step 2
195
3. Mem ilih agregasi y ang diin ginkan terhadap qu ery.
G am bar 4.60 Usage-Based Optim ization Wizard Microsoft SQL Server 2000 Analysis Service Step 3
4. Proses agregasi.
G am bar 4.61 Usage-Ba sed Optim ization Wiza rd Microsoft SQL Server 2000 Analysis Service Step 4
196
4.2. 4. 2
Extract/Transform/Load D esi gn
Tahap ETL ini m erupakan tahap paling kompleks dalam pengem ban gan aplikasi BI, k arena di sini k ualitas dari sebuah data warehou se dip erhitun gkan dim ana pro ses validasi data, data cleansin g dilak uk an dalam proses ETL.
A.
Membuat dokumen source-to-target mapping Dok um en source-to- targ et m apping sangat diperluk an untuk melak ukan
proses mapping antara sumber data den gan tabel yang ada di dalam database BI dan yang paling pentin g dok umen tersebut harus m endeskr ipsikan lo gik a transformasi terhadap setiap kolom . Dokumen sou rce-to-ta rget m apping ini nantinya akan digunakan untuk membuat spesifik asi ko de p em rogram an bagi develop er IT dalam m embuat proses ETL. Tahapan ETL dibagi m enjadi 2 jenis yait u : 1. Tahapan ETL yang dilakukan dar i sum ber data ke da ta staging. Pada tahapan ini data yang berasal dari sum ber data diber sihkan terlebih dah ulu melalui pro ses data cleansing. Hasilny a kem udian dim asukkan ke dalam data staging. Hal ini bertujuan agar data memiliki k ualitas y an g ak urat dan baik. Sum ber data baik unt uk inform asi penjualan, target pen jualan, piutang pelanggan, m aup un per sediaan barang adalah ber upa file template den gan tipe dbf, dimana file template tersebut adalah file hasil proses p enarikan data oleh caban g m elalui Micro soft Dynamics Ax 2009. Tahapan ETL ini sudah dilak ukan o leh PT. XYZ, dim ana proses ETL dar i sum ber data ke data staging dilakukan den gan membuat kode pemro graman baik untuk informasi pen jualan, target penjualan, piutan g p elan ggan, maupun persediaan barang.
197
Adap un dok um en sou rce-to-ta rget m apping pada tahap an ini adalah sebagai ber ik ut : •
Tahapan ETL unt uk informasi Penjualan:
Tabel 4.26 Source to ta rget mapping Informasi Penjualan untuk data staging Data Staging Table
Column
Su mber Data Type/Length
Data Element
Type/Length
Source File/Database
Transformasi Spesifikasi Transformasi
PENJUALAN P enj ualan
CabangId
P enj ualan
SalesNo
P enj ualan
InvoiceN o
P enj ualan
InvoiceD ate
P enj ualan
CustId
P enj ualan
ItemId
P enj ualan
Currency _Code
String
String
String
Date
String
String
String
CabangId
String
SalesCabang.dbf
KodeCabang
String
SalesKom petitor.dbf
SalesNo
String
SalesCabang.dbf
No_Sales
String
SalesKom petitor.dbf
InvoiceNo
String
SalesCabang.dbf
No_Invoice
String
SalesKom petitor.dbf
InvoiceDate
Date
SalesCabang.dbf
Tanggal_Invoice
Date
SalesKom petitor.dbf
CustId
String
SalesCabang.dbf
KodeCustomer
String
SalesKom petitor.dbf
ItemId
String
SalesCabang.dbf
KodeItem
String
SalesKom petitor.dbf
Currency _Code
String
SalesCabang.dbf
Kode_Kurs
String
SalesKom petitor.dbf
P enj ualan
MedRepI d
String
Kode_Medical_Rep
String
SalesKom petitor.dbf
P enj ualan
StatusSal es
String
StatusSales
String
SalesCabang.dbf
Tidak ditransform asikan Ditransformasika n m enjadi CabangId Internal, j ika belum dicover oleh P T. XYZ maka diisi dengan CabangIdKom peti tor Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Ditransformasika n m enjadi CustId Internal, j ika belum dicover oleh P T. XYZ maka diisi dengan CustIdKom petitor Tidak ditransform asikan Ditransformasika n m enjadi Item Id Internal Tidak ditransform asikan Ditransformasika n m enjadi Currency _Code Internal Ditransformasika n m enjadi MedRepId Internal Tidak ditransform asikan j ika penj ualan internal. Diisi dengan “dipenuhi” jika penj ualan dari kom petitor.
198
P enj ualan
DataMili kId
String
P enj ualan
Qty
Real
P enj ualan
SalesP ric e
P enj ualan
SalesAm ount
P enj ualan
P rincipal _Disc
P enj ualan
Distribut or_Disc
Qty
Real
SalesCabang.dbf
Qty _Sales
Real
SalesKom petitor.dbf
SalesPrice
Real
SalesCabang.dbf
Harga_Satuan
Real
SalesKom petitor.dbf
SalesAm ount
Real
SalesCabang.dbf
Total_Harga
Real
SalesKom petitor.dbf
Principal_Disc
Real
SalesCabang.dbf
Discount_P rincipal
Real
SalesKom petitor.dbf
Distributor_Disc
Real
SalesCabang.dbf
Discount_Distributor
Real
SalesKom petitor.dbf
CabangId
String
SalesCabang.dbf
KodeCabang
String
SalesKom petitor.dbf
NamaCabang
String
SalesCabang.dbf
Nama_Cabang
String
SalesKom petitor.dbf
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
String
CabangIdKom petitor
String
SalesKom petitor.dbf
Diisi sam a dengan KodeCabang
Real
Real
Real
Real
P enj ualan
Distribut or_Disc_ Amt
Real
P enj ualan
P rincipal _Disc_A mt
Real
Cabang
CabangId
String
Cabang
NamaCa bang
Cabang
CabangId Kompetit or
WideTerrit ory
Diisi Internal j ika data dari cabang, Eksternal j ika data dari kom petitor Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Form ula : SalesAm ount * Distributor_Disc / 100 Form ula : SalesAm ount * Principal_Disc / 100
String
String
WideTerritory Id
String
SalesCabang.dbf
Tidak ditransform asikan
WideTerrit ory
W ideTerr itory Id NamaW i deTerrito ry
String
NamaWideTerritory
String
SalesCabang.dbf
Tidak ditransform asikan
Territory
TerritoryI d
String
Territory Id
String
SalesCabang.dbf
KodeTerritory
String
SalesKom petitor.dbf
String
NamaTerritory
String
SalesCabang.dbf
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
String
Territory IdKom petitor
String
SalesKom petitor.dbf
Tidak ditransform asikan
Territory
Territory
NamaTer ritory TerritoryI dKom pet itor
String
CustGroupId
String
SalesCabang.dbf
CustGroup
CustGrou pId NamaCus tGroup
String
NamaCustGroup
String
SalesCabang.dbf
Tidak ditransform asikan Tidak ditransform asikan
SalesGroup
SalesGro upId
String
SalesGroupId
String
SalesCabang.dbf
Tidak ditransform asikan
CustGroup
199
SalesGroup
NamaSal esGroup
String
NamaSalesGroup
String
SalesCabang.dbf
Customer
CustId
String
CustId
String
SalesCabang.dbf
KodeCustomer
String
SalesKom petitor.dbf
Customer
NamaCus tomer
NamaCustomer
String
SalesCabang.dbf
NamaCustomer
String
SalesKom petitor.dbf
Customer
CustIdKo m petitor
String
CustIdKom petitor
String
SalesKom petitor.dbf
Customer
Alamat
String
Alamat
String
SalesCabang.dbf
Alamat
String
SalesKom petitor.dbf
Customer
Keluraha n
Kelurahan
String
SalesCabang.dbf
Kelurahan
String
SalesKom petitor.dbf
Customer
Kecamat an
Kecamatan
String
SalesCabang.dbf
Kecamatan
String
SalesKom petitor.dbf
Customer
Kabupate n
Kabupaten
String
SalesCabang.dbf
Kabupaten
String
SalesKom petitor.dbf
Propinsi
String
SalesCabang.dbf
Propinsi
String
SalesKom petitor.dbf
KodePos
String
SalesCabang.dbf
KodePos
String
SalesKom petitor.dbf
String
PrincipalId
String
SalesCabang.dbf
String
NamaPrincipal
String
SalesCabang.dbf
String
MedRepId
String
SalesCabang.dbf
String
NamaMedRep
String
SalesCabang.dbf
String
ItemGroupId
String
SalesCabang.dbf
String
NamaItem Group
String
SalesCabang.dbf
String
DataMilikId
String
SalesCabang.dbf
String
NamaDataMilik
String
SalesCabang.dbf
String
ItemId
String
SalesCabang.dbf
KodeItem
String
SalesKom petitor.dbf
NamaItem
String
SalesCabang.dbf
ItemNam e
String
SalesKom petitor.dbf
ItemIdKom petitor
String
SalesKom petitor.dbf
Customer
Customer
P ropinsi
KodeP os
P rincipal
P rincipalI d NamaPri ncipal
MedicalRe presentative MedicalRe presentative
MedRepI d NamaMe dRep
P rincipal
ItemGroup ItemGroup
ItemGrou pId NamaIte m Group
DataMilik
DataMili kId NamaDat aMilik
Item
ItemId
Item
NamaIte m
Item
ItemIdKo m petitor
DataMilik
String
String
String
String
String
String
String
String
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
200
•
Tahapan ETL unt uk informasi Target Penjualan : Tabel 4.27 Source to ta rget m apping Informasi Target Penjualan untuk data stag ing Data Staging
Table
Column
Su mber Data Type/Length
Data Element
Type/Length
Source File/Database
Transformasi Spesifi kasi Transformasi
TARGET PENJUALAN Target P enjualan Target P enjualan Target P enjualan Target P enjualan Target P enjualan Target P enjualan Target P enjualan
CabangId
String
KodeCabang
String
TargetSalesCabang.dbf
TargetDate
Date
TanggalSalesTarget
Date
TargetSalesCabang.dbf
CustId
String
KodeCustomer
String
TargetSalesCabang.dbf
ItemId
String
KodeItem
String
TargetSalesCabang.dbf
Currency_Code
String
Kode_Kurs
String
TargetSalesCabang.dbf
QtyTarget
Real
Qty SalesTarget
Real
TargetSalesCabang.dbf
SalesAmountTarget
Real
Am ountSalesTarget
Real
TargetSalesCabang.dbf
Cabang
CabangId
String
CabangId
String
SalesCabang.dbf
Cabang
NamaCabang
String
NamaCabang
String
SalesCabang.dbf
W ideTerritory
W ideTerritoryId
String
WideTerritory Id
String
SalesCabang.dbf
W ideTerritory
NamaWideTerritory
String
NamaWideTerritory
String
SalesCabang.dbf
Territory
TerritoryId
String
Territory Id
String
SalesCabang.dbf
Territory
NamaTerritory
String
NamaTerritory
String
SalesCabang.dbf
CustGroup
CustGroupId
String
CustGroupId
String
SalesCabang.dbf
CustGroup
NamaCustGroup
String
NamaCustGroup
String
SalesCabang.dbf
SalesGroup
SalesGroupId
String
SalesGroupId
String
SalesCabang.dbf
SalesGroup
NamaSalesGroup
String
NamaSalesGroup
String
SalesCabang.dbf
Custom er
CustId
String
CustId
String
SalesCabang.dbf
Custom er
NamaCustom er
String
NamaCustomer
String
SalesCabang.dbf
Custom er
Alamat
String
Alamat
String
SalesCabang.dbf
Custom er
Kelurahan
String
Kelurahan
String
SalesCabang.dbf
Custom er
Kecamatan
String
Kecamatan
String
SalesCabang.dbf
Custom er
Kabupaten
String
Kabupaten
String
SalesCabang.dbf
Custom er
P ropinsi
String
P ropinsi
String
SalesCabang.dbf
Custom er
KodeP os
String
KodeP os
String
SalesCabang.dbf
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
201
P rincipal
P rincipalId
String
P rincipalId
String
SalesCabang.dbf
P rincipal
NamaPrincipal
String
NamaPrincipal
String
SalesCabang.dbf
ItemGroup
ItemGroupId
String
ItemGroupId
String
SalesCabang.dbf
ItemGroup
NamaItem Group
String
NamaItem Group
String
SalesCabang.dbf
Item
ItemId
String
ItemId
String
SalesCabang.dbf
Item
NamaItem
String
NamaItem
String
SalesCabang.dbf
Item
ItemIdKom petitor
String
ItemIdKom petitor
String
SalesCabang.dbf
•
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
Tahapan ETL unt uk informasi Persediaan Baran g
Tabel 4.28 Source to ta rget mapping Informasi Persediaan Baran g untuk da ta staging Data Staging Table
Column
Su mber Data Type/Length
Data Element
Type/Length
Source File/Database
Transformasi Spesifi kasi Transformasi
PERSEDIAAN P ersediaan
CabangId
String
KodeCabang
String
Inventory Cabang.dbf
P ersediaan
TransDate
Date
TanggalTransaksi
Date
Inventory Cabang.dbf
P ersediaan
ItemId
String
KodeItem
String
Inventory Cabang.dbf
P ersediaan
W arehouseId
String
Kode_Gudang
String
Inventory Cabang.dbf
P ersediaan
BatchNoId
String
Nom or_Batch
String
Inventory Cabang.dbf
P ersediaan
Qty
Real
Qty
Real
Inventory Cabang.dbf
P ersediaan
CostP rice
Real
CostP rice
Real
Inventory Cabang.dbf
P ersediaan
Inv_Valuation
Real
Nilai_Inventory
Real
Inventory Cabang.dbf
P ersediaan
QtyMinStock
Real
Min_Stoc k_Qty
Real
Inventory Cabang.dbf
P ersediaan
ExpiredDate
Date
ExpiredDate
Date
Inventory Cabang.dbf
Cabang
CabangId
String
CabangId
String
Inventory Cabang.dbf
Cabang
NamaCabang
String
NamaCabang
String
Inventory Cabang.dbf
Cabang
CabangIdKompetitor
String
CabangIdKom petitor
String
Inventory Cabang.dbf
P rincipal
P rincipalId
String
PrincipalId
String
Inventory Cabang.dbf
P rincipal
NamaPrincipal
String
NamaPrincipal
String
Inventory Cabang.dbf
ItemGroup
ItemGroupId
String
ItemGroupId
String
Inventory Cabang.dbf
ItemGroup
NamaItemGroup
String
NamaItem Group
String
Inventory Cabang.dbf
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
202 Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
Item
ItemId
String
ItemId
String
Inventory Cabang.dbf
Item
NamaItem
String
NamaItem
String
Inventory Cabang.dbf
Item
ItemIdKom petitor
String
ItemIdKom petitor
String
Inventory Cabang.dbf
BatchNumber
BatchNum berId
String
BatchNum berId
String
Inventory Cabang.dbf
BatchNumber
ExpiredDate
String
ExpiredDate
String
Inventory Cabang.dbf
W arehouse
W arehouseId
String
WarehouseId
String
Inventory Cabang.dbf
W arehouse
NamaWarehouse
String
NamaWarehouse
String
Inventory Cabang.dbf
Tidak ditransform asikan Tidak ditransform asikan
TipeTransaksi
TipeTransaksi
String
Transaction_Ty pe
String
Inventory Cabang.dbf
Tidak ditransform asikan
Tidak ditransform asikan Tidak ditransform asikan
203
•
Tahapan ETL unt uk informasi Piutang
Ta bel 4.29 Source to target m apping Inform asi Target Piutang unt uk data staging Data Staging Table
Column
Su mber Data Type/Length
Data Element
Type/Length
Source File/Database
Transformasi Spesifikasi Transformasi
PIUTANG PELANGGAN P iutang
CabangId
String
KodeCabang
String
PiutangCabang.dbf
P iutang
ARDate
Date
TanggalP iutang
Date
PiutangCabang.dbf
P iutang
CustId
String
KodeCust
String
PiutangCabang.dbf
P iutang
P rincipalId
String
KodePrincipal
String
PiutangCabang.dbf
P iutang
Currency_Code
String
Kode_Kurs
String
PiutangCabang.dbf
P iutang
AR_0_30
Real
AR_0_30
Real
PiutangCabang.dbf
P iutang
AR_30_60
Real
AR_30_60
Real
PiutangCabang.dbf
P iutang
AR_60_90
Real
AR_60_90
Real
PiutangCabang.dbf
P iutang
AR_90_Keatas
Real
AR_90
Real
PiutangCabang.dbf
Cabang
CabangId
String
CabangId
String
PiutangCabang.dbf
Cabang
NamaCabang
String
NamaCabang
String
PiutangCabang.dbf
Cabang
CabangIdKompetitor
String
CabangIdKom petitor
String
PiutangCabang.dbf
W ideTerritory
W ideTerritoryId
String
P rincipalId
String
PiutangCabang.dbf
W ideTerritory
NamaWideTerritory
String
NamaPrincipal
String
PiutangCabang.dbf
Territory
TerritoryId
String
Territory Id
String
PiutangCabang.dbf
Territory
NamaTerritory
String
NamaTerritory
String
PiutangCabang.dbf
Territory
TerritoryIdKom petitor
String
Territory IdKompetitor
String
PiutangCabang.dbf
CustGroup
CustGroupId
String
CustGroupId
String
PiutangCabang.dbf
CustGroup
NamaCustGroup
String
NamaCustGroup
String
PiutangCabang.dbf
SalesGroup
SalesGroupId
String
SalesGroupId
String
PiutangCabang.dbf
SalesGroup
NamaSalesGroup
String
NamaSalesGroup
String
PiutangCabang.dbf
Custom er
CustId
String
CustId
String
PiutangCabang.dbf
Custom er
NamaCustom er
String
NamaCustom er
String
PiutangCabang.dbf
Custom er
CustIdKom petitor
String
CustIdKompetitor
String
PiutangCabang.dbf
Custom er
Alamat
String
Alamat
String
PiutangCabang.dbf
Custom er
Kelurahan
String
Kelurahan
String
PiutangCabang.dbf
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
204
Custom er
Kecamatan
String
Kecamatan
String
PiutangCabang.dbf
Custom er
Kabupaten
String
Kabupaten
String
PiutangCabang.dbf
Custom er
P ropinsi
String
P ropinsi
String
PiutangCabang.dbf
Custom er
KodeP os
String
KodeP os
String
PiutangCabang.dbf
P rincipal
P rincipalId
String
P rincipalId
String
PiutangCabang.dbf
P rincipal
NamaPrincipal
String
NamaPrincipal
String
PiutangCabang.dbf
•
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
Tahapan ETL unt uk informasi Collection Pelan ggan
Ta bel 4.30 Source to target mapping Inform asi Co llection Pelanggan unt uk data staging Data Staging Table
Column
Su mber Data Type/Length
Data Element
Type/Length
Source File/Database
Transformasi Spesifi kasi Transformasi
COLLECTION PE LANG GAN Collection
CabangId
String
KodeCabang
String
CollectionCabang.dbf
Collection
CollectionDate
Date
TanggalCollection
Date
CollectionCabang.dbf
Collection
CustId
String
KodeCust
String
CollectionCabang.dbf
Collection
PrincipalId
String
KodePrincipal
String
CollectionCabang.dbf
Collection
Currency _Code
String
Kode_Kurs
String
CollectionCabang.dbf
Collection
Collection_Am ount
Real
Jumlah_Collection
Real
CollectionCabang.dbf
Cabang
CabangId
String
CabangId
String
CollectionCabang.dbf
Cabang
NamaCabang
String
NamaCabang
String
CollectionCabang.dbf
Cabang
CabangIdKom petitor
String
CabangIdKompetitor
String
CollectionCabang.dbf
W ideTerritory
WideTerritory Id
String
P rincipalId
String
CollectionCabang.dbf
W ideTerritory
NamaW ideTerritory
String
NamaPrincipal
String
CollectionCabang.dbf
Territory
Territory Id
String
TerritoryId
String
CollectionCabang.dbf
Territory
NamaTerritory
String
NamaTerritory
String
CollectionCabang.dbf
Territory
Territory IdKom petitor
String
TerritoryIdKom petitor
String
CollectionCabang.dbf
CustGroup
CustGroupId
String
CustGroupId
String
CollectionCabang.dbf
CustGroup
NamaCustGroup
String
NamaCustGroup
String
CollectionCabang.dbf
SalesGroup
SalesGroupId
String
SalesGroupId
String
CollectionCabang.dbf
SalesGroup
NamaSalesGroup
String
NamaSalesGroup
String
CollectionCabang.dbf
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
205
Custom er
CustId
String
CustId
String
CollectionCabang.dbf
Custom er
NamaCustom er
String
NamaCustomer
String
CollectionCabang.dbf
Custom er
CustIdKompetitor
String
CustIdKom petitor
String
CollectionCabang.dbf
Custom er
Alamat
String
Alamat
String
CollectionCabang.dbf
Custom er
Kelurahan
String
Kelurahan
String
CollectionCabang.dbf
Custom er
Kecamatan
String
Kecamatan
String
CollectionCabang.dbf
Custom er
Kabupaten
String
Kabupaten
String
CollectionCabang.dbf
Custom er
Propinsi
String
P ropinsi
String
CollectionCabang.dbf
Custom er
KodePos
String
KodeP os
String
CollectionCabang.dbf
P rincipal
PrincipalId
String
P rincipalId
String
CollectionCabang.dbf
P rincipal
NamaPrincipal
String
NamaPrincipal
String
CollectionCabang.dbf
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
2. Tahapan ETL yan g dilak ukan dari data stag ing ke dalam data warehou se / data mart. Pada tahapan ETL ini, pro ses ETL dari da ta staging ke dalam data wa rehouse/ data mart dilak ukan dengan m en ggunak an m en ggunakan stan dar proses ETL dar i Microsoft Dynamics Ax 2009. Adap un dok um en sou rce-to-ta rget m apping pada tahap an ini adalah sebagai ber ik ut:
206
•
Tahapan ETL unt uk informasi Penjualan Aktual:
Ta bel 4.31 Source to target m apping Inform asi Penjualan Penjualan Aktual untuk Data Ma rt Data M art Table
Column
Data Staging Type
Column
Type
Source File/Table
Transformasi Spesifi kasi Transformasi
PENJUALAN AKTUAL P enj ualan_Aktual
CabangId
String
CabangId
String
Cabang
P enj ualan_Aktual
WideTerritory Id
String
W ideTerritory Id
String
WideTerritory
P enj ualan_Aktual
Territory Id
String
Territory Id
String
Territory
P enj ualan_Aktual
SalesGroupId
String
SalesGroupId
String
SalesGroup
P enj ualan_Aktual
P rincipalId
String
P rincipalId
String
Principal
P enj ualan_Aktual
CustGroupId
String
CustGroupId
String
CustGroup
P enj ualan_Aktual
CustId
String
CustId
String
Customer
P enj ualan_Aktual
ItemGroupId
String
ItemGroupId
String
ItemGroup
P enj ualan_Aktual
ItemId
String
ItemId
String
Item
P enj ualan_Aktual
P eriodeId
String
InvoiceDate
Date
P enj ualan_Aktual
MedRepId
String
MedRepId
String
Penj ualan MedicalRepre sentative
P enj ualan_Aktual
DataMilikId
String
DataMilikId
String
DataMilik
P enj ualan_Aktual
StatusSalesId
String
StatusSales
String
Penj ualan
P enj ualan_Aktual
Sum SalesQtyAktual
Real
Qty
Real
Penj ualan
P enj ualan_Aktual
Sum SalesAmountAktu al
Real
SalesAm ount
Real
Penj ualan
P enj ualan_Aktual
Sum Discount_P rincipa l_Am t
Real
P rincipal_Disc_A mt
Real
Penj ualan
P enj ualan_Aktual
Sum Discount_Distribu tor_Amt
Real
Distributor_Disc_ Am t
Real
Penj ualan
Cabang
CabangId
String
CabangId
String
Cabang
Cabang
NamaCabang
String
String
Cabang
Cabang
CabangIdKompetitor
String
NamaCabang CabangIdKom peti tor
String
Cabang
W ideTerritory
WideTerritory Id
String
NamaWideTerritory
Territory Territory
String
WideTerritory
String
W ideTerritory Id NamaW ideTerrito ry
String
WideTerritory
Territory Id
String
Territory Id
String
Territory
NamaTerritory
String
NamaTerritory
String
Territory
Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Ditransformasikan m enjadi P eriode : Tahun, Quarter, Bulan, Minggu, dan Hari Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Ditransformasikan dengan fungsi SUM Ditransformasikan dengan fungsi SUM Ditransformasikan dengan fungsi SUM Ditransformasikan dengan fungsi SUM Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan
207
Territory
Territory IdKom petitor
String
Territory IdKompe titor
String
Territory
Tidak ditransformasikan
CustGroup
CustGroupId
String
CustGroupId
String
CustGroup
CustGroup
NamaCustGroup
String
NamaCustGroup
String
CustGroup
SalesGroup
SalesGroupId
String
SalesGroupId
String
SalesGroup
SalesGroup
NamaSalesGroup
String
NamaSalesGroup
String
SalesGroup
Custom er
CustId
String
CustId
String
Customer
Custom er
NamaCustomer
String
NamaCustom er
String
Customer
Custom er
CustIdKom petitor
String
CustIdKompetitor
String
Customer
Custom er
Alamat
String
Alamat
String
Customer
Custom er
Kelurahan
String
Kelurahan
String
Customer
Custom er
Kecamatan
String
Kecamatan
String
Customer
Custom er
Kabupaten
String
Kabupaten
String
Customer
Custom er
P ropinsi
String
P ropinsi
String
Customer
Custom er
KodeP os
String
KodeP os
String
Customer
P rincipal
P rincipalId
String
P rincipalId
String
Principal
P rincipal
NamaPrincipal
String
NamaPrincipal
String
Principal
Tidak ditransformasikan Tidak ditransformasikan
MedicalRepresentative
MedRepId
String
MedRepId
String
MedicalRepresentative
NamaMedRep
String
NamaMedRep
String
MedicalRepre sentative MedicalRepre sentative
Tidak ditransformasikan Tidak ditransformasikan
SalesStatus
StatusSales
String
StatusSales
String
Penj ualan
Tidak ditransformasikan
ItemGroup
ItemGroupId
String
ItemGroupId
String
ItemGroup
ItemGroup
NamaItem Group
String
NamaItemGroup
String
ItemGroup
DataMilik
DataMilikId
String
DataMilikId
String
DataMilik
DataMilik
NamaDataMilik
String
NamaDataMilik
String
DataMilik
Item
ItemId
String
ItemId
String
Item
Item
NamaItem
String
NamaItem
String
Item
Item
ItemIdKom petitor
String
ItemIdKompetitor
String
Item
Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan
Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan
208
•
Tahapan ETL unt uk informasi penjualan Aktual dan Tar get:
Tabel 4.32 Source to ta rget m apping Informasi Penjualan Aktual dan Target untuk Data Ma rt Data Mart Table
Data Staging
Column
Type
Column
Type
Source File/Table
Transformasi Spesifi kasi Transformasi
PENJUALAN AKTUAL DAN TARGET P enj ualan_Aktual_Target
CabangId
String
CabangId
String
Cabang
P enj ualan_Aktual_Target
WideTerritoryId
String
WideTerritoryId
String
W ideTerritory
P enj ualan_Aktual_Target
TerritoryId
String
Territory Id
String
Territory
P enj ualan_Aktual_Target
SalesGroupId
String
SalesGroupId
String
SalesGroup
P enj ualan_Aktual_Target
P rincipalId
String
P rincipalId
String
P rincipal
P enj ualan_Aktual_Target
CustGroupId
String
CustGroupId
String
CustGroup
P enj ualan_Aktual_Target
CustId
String
CustId
String
Custom er
P enj ualan_Aktual_Target
ItemGroupId
String
ItemGroupId
String
ItemGroup
P enj ualan_Aktual_Target
ItemId
String
ItemId
String
Item
P enj ualan_Aktual_Target
P eriodeId
String
InvoiceDate
Date
TargetP enjualan
P enj ualan_Aktual_Target
Sum SalesQtyAktual
Real
Qty
Real
P enj ualan
P enj ualan_Aktual_Target
Sum SalesAmountA ktual
Real
SalesAmount
Real
P enj ualan
P enj ualan_Aktual_Target
Sum SalesQtyTarget
Real
Qty Target
Real
TargetP enjualan
P enj ualan_Aktual_Target
Sum SalesAmountTa rget
Real
SalesAmountTar get
Real
TargetP enjualan
Cabang
CabangId
String
CabangId
String
Cabang
Cabang
String
Cabang
String
NamaCabang CabangIdKompet itor
String
Cabang
NamaCabang CabangIdKompetito r
String
Cabang
W ideTerritory
WideTerritoryId
String
W ideTerritory
NamaWideTerritory
Territory Territory
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Ditransform asika n m enj adi P eriode : Tahun,Bulan, dan hari Ditransform asika n dengan fungsi SUM Ditransform asika n dengan fungsi SUM Ditransform asika n dengan fungsi SUM Ditransform asika n dengan fungsi SUM Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
String
W ideTerritory
String
WideTerritoryId NamaWideTerrit ory
String
W ideTerritory
TerritoryId
String
Territory Id
String
Territory
String
Territory
String
NamaTerritory Territory IdKom p etitor
String
Territory
NamaTerritory TerritoryIdKom petit or
String
Territory
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
CustGroup
CustGroupId
String
CustGroupId
String
CustGroup
Tidak ditransform asikan
CustGroup
NamaCustGroup
String
NamaCustGroup
String
CustGroup
Tidak
209 ditransform asikan
SalesGroup
SalesGroupId
String
SalesGroupId
String
SalesGroup
SalesGroup
NamaSalesGroup
String
NamaSalesGroup
String
SalesGroup
Custom er
CustId
String
CustId
String
Custom er
Custom er
NamaCustomer
String
String
Custom er
Custom er
CustIdKom petitor
String
NamaCustomer CustIdKom petito r
String
Custom er
Custom er
Alamat
String
Alamat
String
Custom er
Custom er
Kelurahan
String
Kelurahan
String
Custom er
Custom er
Kecamatan
String
Kecamatan
String
Custom er
Custom er
Kabupaten
String
Kabupaten
String
Custom er
Custom er
P ropinsi
String
P ropinsi
String
Custom er
Custom er
KodeP os
String
KodeP os
String
Custom er
P rincipal
P rincipalId
String
P rincipalId
String
P rincipal
P rincipal
NamaPrincipal
String
NamaPrincipal
String
P rincipal
ItemGroup
ItemGroupId
String
ItemGroupId
String
ItemGroup
ItemGroup
NamaItem Group
String
NamaItem Group
String
ItemGroup
Item
ItemId
String
ItemId
String
Item
Item
NamaItem
String
String
Item
Item
ItemIdKom petitor
String
NamaItem ItemIdKom petito r
String
Item
•
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
Tahapan ETL unt uk Informasi Per sediaan Baran g:
Tabel 4.33 Source to ta rget mapping Informasi Persediaan Baran g untuk Data Mart Data M art Table
Column
Data Staging Type
Column
Type
Source File/Table
Transformasi Spesifi kasi Transformasi
PERSEDIAAN P ersediaan
CabangId
String
CabangId
String
Cabang
P ersediaan
P rincipalId
String
P rincipalId
String
Principal
P ersediaan
ItemGroupId
String
ItemGroupId
String
ItemGroup
P ersediaan
ItemId
String
ItemId
String
Item
P ersediaan
P eriodeId
String
TransDate
Date
Persediaan
Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Ditransform asikan m enjadi Periode : Tahun,Bulan, dan Hari.
210
P ersediaan
BatchNum berId
String
BatchNoId
String
BatchNum ber
P ersediaan
W arehouseId
String
WarehouseId
String
Warehouse
P ersediaan
ExpiredId
String
ExpiredDate
Date
Persediaan
P ersediaan
SumQty
Real
Qty
Real
Persediaan
P ersediaan
SumInv_Valuation
Real
Inv_Valuation
Real
Persediaan
P ersediaan
SumQty MinStock
Real
Qty MinStock
Real
Persediaan
Cabang
CabangId
String
CabangId
String
Cabang
Cabang
NamaCabang
String
NamaCabang
String
Cabang
Cabang
CabangIdKompetitor
String
CabangIdKompetitor
String
Cabang
P rincipal
P rincipalId
String
P rincipalId
String
Principal
P rincipal
NamaPrincipal
String
NamaPrincipal
String
Principal
ItemGroup
ItemGroupId
String
ItemGroupId
String
ItemGroup
ItemGroup
NamaItemGroup
String
NamaItem Group
String
ItemGroup
Item
ItemId
String
ItemId
String
Item
Item
NamaItem
String
NamaItem
String
Item
Item
ItemIdKom petitor
String
ItemIdKom petitor
String
Item
BatchNumber
BatchNum berId
String
BatchNum berId
String
BatchNum ber
BatchNumber
ExpiredDate
String
ExpiredDate
String
BatchNum ber
W arehouse
W arehouseId
String
WarehouseId
String
Warehouse
W arehouse
NamaWarehouse
String
NamaWarehouse
String
Warehouse
•
Tidak ditransformasikan Tidak ditransformasikan Ditransform asikan m enjadi P eriodeExpired : Tahun, Bulan, dan Hari. Ditransform asikan dengan fungsi SUM Ditransform asikan dengan fungsi SUM Ditransform asikan dengan fungsi SUM Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan Tidak ditransformasikan
Tahapan ETL unt uk Informasi Piutan g
Ta bel 4.34 Source to target mapping Inform asi Piutan g untuk Data Mart Data M art Table
Column
Data Staging Type
Column
Type
Source File/Table
Transformasi Spesifikasi Transformasi
PIUTANG PELANGGAN
P iutangPelanggan
TerritoryId
String
Territory Id
String
Territory
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
P iutangPelanggan
SalesGroupId
String
SalesGroupId
String
SalesGroup
Tidak
P iutangPelanggan
CabangId
String
CabangId
String
Cabang
P iutangPelanggan
W ideTerritoryId
String
WideTerritory Id
String
W ideTerritory
211 ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Ditransformasikan menj adi P eriode : Tahun,Bulan, dan Hari Ditransformasikan dengan fungsi SUM Ditransformasikan dengan fungsi SUM Ditransformasikan dengan fungsi SUM Ditransformasikan dengan fungsi SUM
P iutangPelanggan
P rincipalId
String
P rincipalId
Date
P rincipal
P iutangPelanggan
CustGroupId
String
CustGroupId
String
CustGroup
P iutangPelanggan
CustId
String
CustId
String
Custom er
P iutangPelanggan
P eriodeId
String
ARDate
Date
P iutangPelanggan
P iutangPelanggan
SumAR0_30
Real
AR_0_30
Real
P iutangPelanggan
P iutangPelanggan
SumAR30_60
Real
AR_30_60
Real
P iutangPelanggan
P iutangPelanggan
SumAR60_90
Real
AR_60_90
Real
P iutangPelanggan
P iutangPelanggan
SumARLebih90
Real
AR_90_Keatas
Real
P iutangPelanggan
Cabang
CabangId
String
CabangId
String
Cabang
Cabang
NamaCabang
String
NamaCabang
String
Cabang
Cabang
CabangIdKompetitor
String
CabangIdKompetitor
String
Cabang
W ideTerritory
W ideTerritoryId
String
P rincipalId
String
P rincipal
W ideTerritory
NamaW ideTerritory
String
NamaPrincipal
String
P rincipal
Territory
TerritoryId
String
Territory Id
String
Territory
Territory
NamaTerritory
String
NamaTerritory
String
Territory
Territory
TerritoryIdKompetitor
String
Territory IdKom petitor
String
Territory
CustGroup
CustGroupId
String
CustGroupId
String
CustGroup
CustGroup
NamaCustGroup
String
NamaCustGroup
String
CustGroup
SalesGroup
SalesGroupId
String
SalesGroupId
String
SalesGroup
SalesGroup
NamaSalesGroup
String
NamaSalesGroup
String
SalesGroup
Custom er
CustId
String
CustId
String
Custom er
Custom er
NamaCustom er
String
NamaCustomer
String
Custom er
Custom er
CustIdKom petitor
String
CustIdKom petitor
String
Custom er
Custom er
Alamat
String
Alamat
String
Custom er
Custom er
Kelurahan
String
Kelurahan
String
Custom er
Custom er
Kecamatan
String
Kecamatan
String
Custom er
Custom er
Kabupaten
String
Kabupaten
String
Custom er
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
Custom er
P ropinsi
String
P ropinsi
String
Custom er
Tidak
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
212 ditransform asikan Custom er
KodeP os
String
KodeP os
String
Custom er
P rincipal
P rincipalId
String
P rincipalId
String
P rincipal
P rincipal
NamaPrincipal
String
NamaPrincipal
String
P rincipal
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
213
•
Tahapan ETL unt uk informasi Collection Pelan ggan:
Ta bel 4.35 Source to target mapping Inform asi Co llection Pelanggan unt uk Data Mart Data Mart Table
Column
Data Staging Type
Column
Type
Source File/Table
Transformasi Spesifi kasi Transformasi
COLLECTION PE LANG GAN CollectionPelanggan
CabangId
String
CabangId
String
CollectionPelanggan
W ideTerritoryId
String
W ideTerritory Id
String
Cabang W ideTerritor y
CollectionPelanggan
TerritoryId
String
Territory Id
String
Territory
CollectionPelanggan
SalesGroupId
String
SalesGroupId
String
SalesGroup
CollectionPelanggan
P rincipalId
String
P rincipalId
Date
P rincipal
CollectionPelanggan
CustGroupId
String
CustGroupId
String
CustGroup
CollectionPelanggan
CustId
String
CustId
String
Custom er
CollectionPelanggan
P eriodeId
String
ARDate
Date
CollectionP el anggan
CollectionPelanggan
SumAm ount_Coll ection
Real
Collection_Am ount
Real
CollectionP el anggan
Cabang
CabangId
String
CabangId
String
Cabang
Cabang
NamaCabang CabangIdKompeti tor
String
String
Cabang
String
NamaCabang CabangIdKom p etitor
String
Cabang
Cabang
W ideTerritory
String
P rincipalId
String
P rincipal
W ideTerritory
W ideTerritoryId NamaW ideTerrito ry
String
NamaPrincipal
String
P rincipal
Territory
TerritoryId
String
Territory Id
String
Territory
Territory
String
Territory
String
NamaTerritory Territory IdKom petitor
String
Territory
NamaTerritory TerritoryIdKompe titor
String
Territory
CustGroup
CustGroupId
String
String
CustGroup
CustGroup
NamaCustGroup
String
String
CustGroup
SalesGroup
SalesGroupId
String
SalesGroup
NamaSalesGroup
Custom er
CustGroupId NamaCustGrou p
String
SalesGroup
String
SalesGroupId NamaSalesGrou p
String
SalesGroup
CustId
String
CustId
String
Custom er
Custom er
NamaCustom er
String
String
Custom er
Custom er
CustIdKom petitor
String
NamaCustom er CustIdKompetit or
String
Custom er
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Ditransform asikan m enj adiP eriode : Tahun,Bulan, dan Hari Ditransform asikan dengan fungsi SUM Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
214
Custom er
Alamat
String
Alamat
String
Custom er
Custom er
Kelurahan
String
Kelurahan
String
Custom er
Custom er
Kecamatan
String
Kecamatan
String
Custom er
Custom er
Kabupaten
String
Kabupaten
String
Custom er
Custom er
P ropinsi
String
P ropinsi
String
Custom er
Custom er
KodeP os
String
KodeP os
String
Custom er
P rincipal
P rincipalId
String
P rincipalId
String
P rincipal
P rincipal
NamaPrincipal
String
NamaPrincipal
String
P rincipal
B.
Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan Tidak ditransform asikan
Melakukan uji coba terhadap fungsi alat bantu ETL Uji co ba terhadap fun gsi alat bant u ETL sudah dilak uk an, dimana alat
bant u ETL yan g digunakan oleh PT. XYZ adalah alat bantu ETL yang ter dapat pada Micro soft Dynam ics AX 2009. Seperti yan g sudah dijelaskan bah wa tahapan ETL dibagi menjadi 2 jenis yaitu tahapan ETL yan g dilak ukan dari sum ber data ke data staging dan tahapan ETL yang dilak uk an dari data statin g ke data warehouse / data mart. Proses ETL yang dilak ukan dari sum ber data ke data staging akan dir ancang dan dibuat den gan m enggunakan
bah asa pemro gram an X++ yan g merup akan kode
pem rogram an bawaan dari Micro soft Dynam ics Ax 2009. Sedangkan proses ETL yang dilak ukan dari data staging ke data wa rehouse / data mart dilak ukan den gan menggunakan pro ses ETL bawaan dari Microsoft Dynamics Ax 2009.
C.
Merancang arus prose s ETL Arus pro ses ETL harus dirancang den gan sebaik mun gkin, sehin gga proses
ETL tersebut tidak m embebani server karena data yang akan m asuk ke dalam
215
proses ETL biasanya dalam jumlah yan g cuk up besar. Untuk itu ar us proses ETL harus dibagi m enjadi beberapa bagian yan g bisa dijalank an secara par alel dan bisa dijadwalkan. Implementasi ar us pro ses ETL pada PT. XYZ dibagi menjadi beberap a kom ponen dan pro sesnya dijadwalkan. 1. Tahapan ETL yang dilakukan dar i sum ber data ke da ta staging. Pada tahapan ETL ini, ar us pro ses ETL dibagi menjadi beberapa komponen sebagai ber ikut : Ta bel 4.36 Arus Proses ETL dar i sum ber data ke dalam Da ta Staging No 1.
2.
Informasi yang diproses Penjualan : - Cab ang Med an - Cab ang Pekanbaru - Cab ang Palembang - Cab ang Batam - Cab ang Padang - Cab ang L ampung - Cab ang Jakarta 1 - Cab ang Jakarta 2 - Cab ang Jakarta 3 - Cab ang Bandung - Cab ang Semarang - Cab ang Surab aya - Cab ang Yogy akart a - Cab ang Bali - Cab ang Mal ang - Cab ang Banjarmasin - Cab ang Samarinda - Cab ang Mak assar
Jadwal Proses Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari
jam 21:00 jam 21:05 jam 21:10 jam 21:15 jam 21:20 jam 21:25 jam 21:30 jam 21:35 jam 21:40 jam 21:45 jam 21:50 jam 21:55 jam 22:00 jam 22:05 jam 22:10 jam 22:15 jam 22:20 jam 22:25
Persediaan Barang - Cab ang Med an - Cab ang Pekanbaru - Cab ang Palembang - Cab ang Batam - Cab ang Padang - Cab ang L ampung - Cab ang Jakarta 1 - Cab ang Jakarta 2 - Cab ang Jakarta 3 - Cab ang Bandung - Cab ang Semarang - Cab ang Surab aya - Cab ang Yogy akart a - Cab ang Bali - Cab ang Mal ang
Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari
jam 22:30 jam 22:35 jam 22:40 jam 22:45 jam 22:50 jam 22:55 jam 23:00 jam 23:05 jam 23:10 jam 23:15 jam 23:20 jam 23:25 jam 23:30 jam 23:35 jam 23:40 jam 23:45
216
3.
4
5
- Cab ang Banjarmasin - Cab ang Samarinda - Cab ang Mak assar
Setiap hari jam 23:50 Setiap hari jam 23:55 Setiap hari jam 00:00
Piutang Pelangan - Cab ang Med an - Cab ang Pekanbaru - Cab ang Palembang - Cab ang Batam - Cab ang Padang - Cab ang L ampung - Cab ang Jakarta 1 - Cab ang Jakarta 2 - Cab ang Jakarta 3 - Cab ang Bandung - Cab ang Semarang - Cab ang Yogy akart a - Cab ang Surab aya - Cab ang Bali - Cab ang Mal ang - Cab ang Banjarmasin - Cab ang Samarinda - Cab ang Mak assar
Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari
jam 00:05 jam 00:10 jam 00:15 jam 00:20 jam 00:25 jam 00:30 jam 00:35 jam 00:40 jam 00:45 jam 00:50 jam 00:55 jam 01:00 jam 01:05 jam 01:10 jam 01:15 jam 01:20 jam 01:25 jam 01:30
Collection Pelang an - Cab ang Med an - Cab ang Pekanbaru - Cab ang Palembang - Cab ang Batam - Cab ang Padang - Cab ang L ampung - Cab ang Jakarta 1 - Cab ang Jakarta 2 - Cab ang Jakarta 3 - Cab ang Bandung - Cab ang Semarang - Cab ang Yogy akart a - Cab ang Surab aya - Cab ang Bali - Cab ang Mal ang - Cab ang Banjarmasin - Cab ang Samarinda - Cab ang Mak assar
Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari Setiap hari
jam 01:35 jam 01:40 jam 01:45 jam 01:50 jam 01:55 jam 02:00 jam 02:05 jam 02:10 jam 02:15 jam 02:20 jam 02:25 jam 02:30 jam 02:35 jam 02:40 jam 02:45 jam 02:50 jam 02:55 jam 03:00
Target Penjualan - Cab ang Med an - Cab ang Pekanbaru - Cab ang Palembang - Cab ang Batam - Cab ang Padang - Cab ang L ampung - Cab ang Jakarta 1 - Cab ang Jakarta 2 - Cab ang Jakarta 3 - Cab ang Bandung - Cab ang Semarang - Cab ang Yogy akart a - Cab ang Surab aya
Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan
baru baru baru baru baru baru baru baru baru baru baru baru baru
217 6
Cab ang Cab ang Cab ang Cab ang Cab ang
Bali Mal ang Banjarmasin Samarinda Mak assar
Penjualan Ko mpetitor - Cab ang Med an - Cab ang Pekanbaru - Cab ang Palembang - Cab ang Batam - Cab ang Padang - Cab ang L ampung - Cab ang Jakarta 1 - Cab ang Jakarta 2 - Cab ang Jakarta 3 - Cab ang Bandung - Cab ang Semarang - Cab ang Yogy akart a - Cab ang Surab aya - Cab ang Bali - Cab ang Mal ang - Cab ang Banjarmasin - Cab ang Samarinda - Cab ang Mak assar
Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan Jika ada target p enjualan
baru baru baru baru baru
Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru Jika ada penju alan komp etitor baru
2. Tahapan ETL yan g dilak ukan dari data stag ing ke dalam data warehou se / data m art. Pada tahap an ETL ini, ar us proses ETL dibagi menjadi beber apa komponen sebagai ber ikut : Ta bel 4.37 Arus Proses ETL dar i Da ta Staging ke dalam Data Ma rt No 1.
Informasi yang diproses Penjualan Aktual
Jadwal Proses Setiap hari jam 03:05
2.
Penjualan Aktual vs Target
Setiap hari jam 03:25
3.
Piutang Pelanggan
Setiap hari jam 03:45
4.
Collection Pelanggan
Setiap hari jam 04:05
5.
Persediaan Barang
Setiap hari jam 04:25
218
D.
Merancang program ETL Ber dasarkan dokumen source-to-ta rget mapping yang sudah dilak ukan
pada tahap Extract/Transform /Load Design di bab 4.3.4.2 selanjutnya dilak ukan perancangan program ETL. Ada beber apa h al yang har us dipen uhi dan yan g harus menjadi perhatian developer pada saat m engemban gkan pro gram ETL antara lain: 1. Pada saat mengem ban gkan program ETL dari sumber data ke dalam data staging, pro ses loading da ta har uslah bersif at incremental load, artinya data yang dimasukkan ke dalam data staging adalah data yang sesuai den gan parameter tanggal yan g diinginkan oleh u ser misalny a data yang dim asukkan ke dalam data staging adalah data pen jualan dar i tanggal 1 Januari 2010 sam pai den gan 12 September 2010. 2. Pada saat mengem ban gkan program ETL dari sumber data ke dalam data staging unt uk informasi p enjualan, tidak boleh terjadi duplik asi data. Oleh karena itu perlu dilak uk an pengecek an terhadap CabangI d + InvoiceNo + Item Id dalam proses data cleansing, sehin gga data yang masuk ke dalam data staging terjamin keakuratannya. 3. Pada saat mengem ban gkan program ETL dari sumber data ke dalam data staging untuk inform asi tar get penjualan, tidak boleh terjadi duplik asi data. Oleh karena itu per lu dilak ukan p engecekan terhadap Caban gId + TargetDate + CustId + ItemId dalam proses data cleansing, sehin gga data yan g m asuk k e dalam data staging terjamin keak uratannya. 4. Pada saat mengem ban gkan program ETL dari sumber data ke dalam data staging untuk informasi persediaan baran g, tidak boleh terjadi duplik asi data. Oleh karen a itu perlu dilak uk an p engecekan terhadap Caban gI d + Tran sDate +
219
Item Id + Transaction_Type + WarehouseId + BatchNoId dalam proses data clean sing, sehingga data yang masuk ke dalam data staging terjamin keak uratannya. 5. Pada saat mengem ban gkan program ETL dari sumber data ke dalam data staging untuk informasi piutang pelanggan, tidak boleh terjadi duplikasi data. Oleh karen a itu perlu dilakukan pen gecekan terhadap CabangI d + ARDate + CustId + PrincipalI d dalam proses data cleansing, sehingga data yan g masuk ke dalam data staging terjamin keakuratannya. 6. Pada saat mengem ban gkan program ETL dari sumber data ke dalam data staging
untuk inform asi Co llection pelanggan, tidak boleh terjadi duplikasi
data. Oleh karena it u perlu dilak ukan pengecekan terhadap CabangI d + Collection Date + CustI d + PrincipalI d dalam proses data clean sing, sehin gga data yan g m asuk ke dalam data staging terjam in keak uratannya. 7. Pada saat mengem ban gk an program ETL dar i data staging ke dalam data warehou se / data m art, dimensi dan tabel fakta har us sesuai dan sama den gan yang ter dap at pada dok um en source- to-m apping.
220
E.
Setup ETL staging area Pada tahapan ini, tentukan ap akah diper lukan adanya sebuah data stagin g
yang terpusat p ada sebuah d edicated server atau apakah data staging dilak ukan secara terdesentralisasi pada beberapa buah server. Seperti yan g sudah dijelaskan bahwa proses ETL yan g terjadi terhadap sum ber data dimasukk an terlebih dah ulu ke dalam data staging untuk k eperluan data clean sing dan untuk keperluan transform asi data. PT. XYZ m em utuskan untuk men ggunak an data stag ing secar a terpusat, dimana databa se y an g digunakan untuk keperluan data stag ing menggunakan da tabase yan g sama den gan yan g digunakan oleh Microsoft Dyn amics Ax 2009. Adapun alasan digunakannya da tabase tersebut dalam proses data staging adalah sebagai ber ikut: 1. Proses ETL yan g dilak ukan dar i sum ber data ke dalam data staging menggunakan
ko de
pemrogr aman
X++
yan g
merup akan
kode
pem rogram an bawaan dari Micro soft Dynam ics Ax 2009. 2. Sum ber data yang ber upa file tem plate dbf y ang berasal dar i caban g dibuat den gan cara men gam bil data OLTP pada database yang digunakan Microsoft Dyn amics Ax 2009. Untuk memudahkan pen gem ban gan proyek den gan menggunakan Graph ical User Interface ( GUI) yan g sam a, m aka program ETL dibuat dan diintegrasik an den gan Micro soft Dynam ics Ax 2009 sehin gga proses pemeliharaan terhadap pro gram ETL bisa lebih mudah. 3. Telah tersedianya alat bant u stan dar dari Microsoft Dynamics Ax 2009 yang bisa digunak an pada proses ETL seperti adanya alat bantu Batch
221
Processing dim ana pro ses ETL bisa dilak ukan secar a batch den gan jadwal tertentu.
4.2. 5 Fase Construction Pada fase in ilah dilak ukan pem bangunan pro duk ber upa aplikasi BI untuk PT. XYZ, yan g tentunya h ar us m em berik an hasil dari investasi dari jangka wakt u yang telah ditentukan.
4.2. 5. 1
Extract/Transform/Load D evel opment
Pada tahap ini dilakuk an pro ses ETL untuk p engembangan aplik asi BI, tingkat kekomplek san pada proses ETL tergantung dari pro ses data cleansing atau transformasi data yan g dilakuk an.
A.
Membuat dan menguji unit prose s ETL Proses ETL dari sum ber data ke dalam data staging dibuat den gan
menggunakan ko de pemrograman X ++, sebuah bahasa pem rogr am an bawaan dar i Micro soft Dynam ics Ax 2009. Ber ikut adalah unit proses ETL yan g dibuat dan setiap un it proses ETL ber ikut sudah dikompilasi dan diuji dengan benar : • Proses ETL inform asi Pen jualan Akt ual void UploadPenjualan() { Str strKodeCabang; DataArea dataArea; Str strZipFile; Str strFileExists, strFile; Str strTanggal; Str strNamaCabang; Boolean bolKetemu; ;
222 SELECT FIRSTONLY * FROM dataArea WHERE dataArea.id == udc_Kode_Cabang; IF (dataArea) { SWITCH(dataArea.id) { CASE "U01": strDSN = 'BIJK1'; strTableName = 'U01P'; strKodeCabang = 'C01'; strNamaCabang = 'Jakarta 1'; BREAK; CASE "U02": strDSN = 'BIJK2'; strTableName = 'U02P'; strKodeCabang = 'C02'; strNamaCabang = 'Jakarta 2'; BREAK; CASE "U03": strDSN = 'BIMDN'; strTableName = 'U03P'; strKodeCabang = 'C03'; strNamaCabang = 'Medan'; BREAK; CASE "U04": strDSN = 'BIPLB'; strTableName = 'U04P'; strKodeCabang = 'C04'; strNamaCabang = 'Palembang'; BREAK; CASE "U05": strDSN = 'BIPKB'; strTableName = 'U05P'; strKodeCabang = 'C05'; strNamaCabang = 'Pekanbaru'; BREAK; CASE "U06": strDSN = 'BIPDG'; strTableName = 'U06P'; strKodeCabang = 'C06'; strNamaCabang = 'Padang'; BREAK; CASE "U07": strDSN = 'BIBDG'; strTableName = 'U07P'; strKodeCabang = 'C07'; strNamaCabang = 'Bandung'; BREAK; CASE "U08": strDSN = 'BISMG'; strTableName = 'U08P'; strKodeCabang = 'C08'; strNamaCabang = 'Semarang'; BREAK; CASE "U09": strDSN = 'BIYGY'; strTableName = 'U09P'; strKodeCabang = 'C09'; strNamaCabang = 'Yogyakarta'; BREAK; CASE "U10": strDSN = 'BISBY'; strTableName = 'U10P'; strKodeCabang = 'C10'; strNamaCabang = 'Surabaya'; BREAK; CASE "U11": strDSN = 'BIMKS'; strTableName = 'U11P';
223 strKodeCabang = 'C11'; strNamaCabang = 'Makassar'; BREAK; CASE "U12": strDSN = 'BILPG'; strTableName = 'U12P'; strKodeCabang = 'C12'; strNamaCabang = 'Lampung'; BREAK; CASE "U13": strDSN = 'BIBJR'; strTableName = 'U13P'; strKodeCabang = 'C13'; strNamaCabang = 'Banjarmasin'; BREAK; CASE "U14": strDSN = 'BISBYAB'; strTableName = 'U14P'; strKodeCabang = 'C14'; strNamaCabang = 'Surabaya AB'; BREAK; CASE "U15": strDSN = 'BIBLI'; strTableName = 'U15P'; strKodeCabang = 'C15'; strNamaCabang = 'Bali'; BREAK; CASE "U16": strDSN = 'BISMD'; strTableName = 'U16P'; strKodeCabang = 'C16'; strNamaCabang = 'Samarinda'; BREAK; CASE "U17": strDSN = 'BIBTM'; strTableName = 'U17P'; strKodeCabang = 'C17'; strNamaCabang = 'Batam'; BREAK; CASE "U18": strDSN = 'BIJK3'; strTableName = 'U18P'; strKodeCabang = 'C18'; strNamaCabang = 'Jakarta 3'; BREAK; CASE "U19": strDSN = 'BIMLG'; strTableName = 'U19P'; strKodeCabang = 'C19'; strNamaCabang = 'Malang'; BREAK; } } // LP = new LoginProperty(); LP.setDSN(strDSN); LP.setDatabase(strTableName); // strZipFile = "Q:\\"+strTableName+".dbf"; IF (!WINAPI::fileExists2(strZipFile)) { Warning("File di q:\\" + strTableName + ".dbf tidak ada!!! "); } ELSE { //WINAPI::shellExecute("q:\\PKUNZIP.EXE ",strZipFile + " Q:\\"); // strFileExists = "Q:\\"+strTableName+".dbf";
224 bolKetemu = FALSE; IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } // WHILE (!bolKetemu) { IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } } // C = new OdbcConnection(LP); S = C.createStatement(); RS = S.executeQuery('SELECT * FROM ' + strTableName); bolNormal = TRUE; ttsbegin; // while (RS.next()) { try { _penjualan_Temp.clear(); _penjualan_Temp.CabangId = strKodeCabang; _penjualan_Temp.SalesNo = strLRTrim(RS.getString(1)); _penjualan_Temp.InvoiceNo = strLRTrim(RS.getString(2)); _penjualan_Temp.InvoiceDate = RS.getDate(3); _penjualan_Temp.CustId = strLRTrim(RS.getString(4)); _penjualan_Temp.ItemId = strLRTrim(RS.getString(20)); _penjualan_Temp.Currency_Code = strLRTrim(RS.getString(26)); _penjualan_Temp.MedRepId = strLRTrim(RS.getString(27)); _penjualan_Temp.StatusSales = strLRTrim(RS.getString(29)); _penjualan_Temp.DataMilikId = strLRTrim(RS.getString(30)); _penjualan_Temp.Qty = RS.getReal(32); _penjualan_Temp.SalesPrice = RS.getReal(33); _penjualan_Temp.SalesAmount = RS.getReal(34); _penjualan_Temp.Principal_Disc = RS.g etReal(35); _penjualan_Temp.Principal_Disc_Amt = RS.getReal(36); _penjualan_Temp.Distributor_Disc = RS.getReal(37); _penjualan_Temp.Distributor_Disc_Amt = RS.getReal(38); // IF(!Cabang::find(_penjualan_Temp.CabangId)) { _Cabang.clear(); _Cabang.CabangId = _penjualan_Temp.CabangId; _Cabang.NamaCabang = strNamaCabang; _Cabang.insert(); } // IF(!Customer::find(_penjualan_Temp. CustId)) { _Customer.clear(); _Customer.CustId = strLRTrim(_penjualan_Temp.CustId ); _Customer.NamaCustomer = strLRTrim(RS.getString(5)); _Customer.TerritoryId = strLRTrim(RS.getString(6)); _Customer.SalesGroupId = strLRTrim(RS.getString(10)); _Customer.CustGroupId = strLRTrim(RS.getString(12)); _Customer.Alamat = strLRTrim(RS.getString(14)); _Customer.Kelurahan = strLRTrim(RS.getString(15)); _Customer.Kecamatan = strLRTrim(RS.getString(16)); _Customer.Kabupaten = strLRTrim(RS.getString(17)); _Customer.Propinsi = strLRTrim(RS.getString(18)); _Customer.KodePos = strLRTrim(RS.getString(19)); _Customer.insert(); } //
225 IF(!Territory::find(_Custo mer.TerritoryId)) { _Territory.clear(); _Territory.TerritoryId = _Customer.TerritoryId; _Territory.NamaTerritory = strLRTrim(RS.getString(7)); _Territory.WideTerritoryId = strLRTrim(RS.getString(8)); _Territory.insert(); } // IF(!WideTerritory::find(_Territory.WideTerritoryId)) { _WideTerritory.clear(); _WideTerritory.WideTerritoryId = _Territory.WideTerritoryId; _WideTerritory.NamaWideTerritory = strLRTrim(RS.getString(9)); _WideTerritory.insert(); } // IF(!SalesGroup::find(_Cu stomer.SalesGroupId)) { _SalesGroup.clear(); _SalesGroup.SalesGroupId = _Customer.SalesGroupId; _SalesGroup.NamaSalesGroup = strLRTrim(RS.getString(11)); _SalesGroup.insert(); } // IF(!CustomerGroup::find(_Customer.CustGrou pId)) { _CustomerGroup.clear(); _CustomerGroup.CustGroupId = _Customer.CustGroupId; _CustomerGroup.NamaCustGroup = strLRTrim(RS.getString(13)); _CustomerGroup.insert(); } // IF(!Item::find(_penj ualan_Temp.ItemId)) { _Item.clear(); _Item.ItemId = _penjualan_Temp.ItemId; _Item.NamaItem = strLRTrim(RS.getString(21)); _Item.PrincipalId = strLRTrim(RS.getString(22)); _Item.ItemGroupId = strLRTrim(RS.getString(24)); _Item.insert(); } // IF(!Principal::find(_Item.PrincipalId)) { _Principal.clear(); _Principal.PrincipalId = _Item.PrincipalId; _Principal.NamaPrincipal = strLRTrim(RS.getString(23)); _Principal.insert(); } // IF(!ItemGroup::find (_Item.ItemGroupId)) { _ItemGroup.clear(); _ItemGroup.ItemGroupId = _Item.ItemGroupId; _ItemGroup.NamaItemGroup = strLRTrim(RS.getString(25)); _ItemGroup.insert(); } // IF(!MedicalRepresentative::find(_penjualan_Temp.MedRepI d)) { _MedicalRepresentative.clear(); _MedicalRepresentative.MedRepId = _penjualan_Temp.MedRepId; _MedicalRepresentative.NamaMedRep = strLRTrim(RS.getString(28)); _MedicalRepresentative.PrincipalId = _Principal.PrincipalId; _MedicalRepresentative.insert(); } //
226 IF(!DataMilik::find(_penjualan_Temp.DataMilikId)) { _DataMilik.clear(); _DataMilik.DataMilikId = _penjualan_Temp.DataMilikId; _DataMilik.NamaDataMil ik = strLRTrim(RS.getString(31)); _DataMilik.insert(); } // IF(!Penjualan::find(strKodeCabang, _penjualan_Temp.SalesNo, _penjualan_Temp.ItemI d)) { _Penjualan.clear(); _Penjualan.CabangId = (_penjualan_Temp.CabangId ? _penjualan_Temp.Ca bangId : _Penjualan.CabangId); _Penjualan.SalesNo = (_penjualan_Temp.SalesNo ? _penj ualan_Temp.SalesNo : _Penjualan.SalesNo); _Penjualan.InvoiceNo = (_penjualan_Temp.InvoiceNo ? _penjualan_Temp.InvoiceNo : _Penjualan.InvoiceNo); _Penjualan.InvoiceDate = (_penjualan_Temp.I nvoiceDate ? _penjualan_Temp.InvoiceDate : _Penjualan.InvoiceDate); _Penjualan.CustId = (_penjualan_Tem p.CustId ? _ penjualan_Temp.C ustId : _Penjualan.CustId); _Penjualan.ItemId = (_ penjualan_Temp.ItemId ? _penjualan_Temp.ItemI d : _Penjualan.ItemId); _Penjualan.Currency_Code = (_ penjualan_Temp.Curren cy_Code ? _penjualan_Temp.Currency_Code : _Penjualan.Currency_Code); _Penjualan.MedRepId = (_penjualan_Temp.Med RepId ? _penjualan_Temp.MedRepId : _Penjualan.MedRepId); _Penjualan.StatusSales = (_penjualan_Temp.StatusSales ? _penjualan_Temp.StatusSales : _Penjualan.StatusSales); _Penjualan.DataMilikId = (_penjualan_Temp.DataMilikId ? _penjualan_Temp.DataMilikId : _Penjualan.DataMilikId); _Penjualan.Qty = (_penjualan_Temp.Qty ? _penjualan_Temp.Qty : _Penjualan.Qty); _Penjualan.SalesPrice = (_penjualan_Temp.SalesPrice ? _penjualan_Temp.SalesPrice : _Penjualan.SalesPrice); _Penjualan.SalesAmount = (_penj ualan_Temp.SalesAmount ? _penjualan_Temp.SalesAmount : _Penjualan.SalesAmount); _Penjualan.Principal_Disc = (_penjualan_Temp.Principal_Disc ? _penjualan_Temp.Principal_Disc : _Penjualan.Principal_Disc); _Penjualan.Principal_Disc_Amt = (_penjualan_Temp.Prin cipal_Disc_Amt ? _penjualan_Temp.Principal_Disc_Amt : _Penjualan.Principal_Disc_Amt); _Penjualan.Distributor_Disc = (_penjualan_Temp.Distributor_Disc ? _penjualan_Temp.Distributor_Disc : _Penjualan.Distributor_Disc); _Penjualan.Distributor_Disc_Amt = (_penjualan_Temp.Distributor_Disc_Amt ? _penjualan_Temp.Distributor_Disc_Amt : _Penjualan.Distributor_Disc_Amt); // if (_Penjualan.validateWrite()) { _Penjualan.insert(); intinsert++; } // IF(!AktualDanTarget::find(_penjualan_Temp.CabangId, _penjualan_Temp.I nvoiceDate, _penjualan_Temp.CustId, _penjualan_Temp.ItemId )) { _AktualDanTarget.clear(); _AktualDanTarget.CabangId = _Penjualan.CabangId; _AktualDanTarget.TransDate = _Penjualan.InvoiceDate; _AktualDanTarget.CustId = _Penjualan.CustId; _AktualDanTarget.ItemId = _Penjualan.ItemId; _AktualDanTarget.Currency_Code = _Penjualan.Currency_Code; _AktualDanTarget.QtyAktual = _Penjualan.Qty; _AktualDanTarget.SalesAmountAktual = _Penjualan.SalesAmount; // _AktualDanTarget.insert(); } else {
227 SELECT FIRSTONLY forupdate _AktualDanTarget index hint Idx_1 WHERE _AktualDanTarget.CabangId == _Penjualan_Temp.CabangId && _AktualDanTarget.TransDate == _penjualan_Temp.InvoiceDate && _AktualDanTarget.CustId == _penjualan_Temp.CustId && _AktualDanTarget.ItemId == _penjualan_Temp.ItemId; IF(_AktualDanTarget) { _AktualDanTarget.QtyAktual += _Penjualan.Qty; _AktualDanTarget.SalesAmountAktual += _Penjualan.SalesAmount; _AktualDanTarget.update(); } } } } catch (Exception::Error) { } } // IF(bolNormal == TRUE) { ttscommit; } ELSE { Info("Abnormal Invoice Date !!!"); ttsabort; } // RS.close(); s.executeUpdate("DROP TABLE " + strTableName); S.close(); S = null; // Info("File berhasil diupload!!!"); } }
• Proses ETL inform asi Tar get Penjualan void UploadTargetPenjualan() { Str strKodeCabang; DataArea dataArea; Str strZipFile; Str strFileExists, strFile; Str strTanggal; Boolean bolKetemu; Str strNamaCabang; ; SELECT FIRSTONLY * FROM dataArea WHERE dataArea.id == udc_Kode_Cabang; IF (dataArea) { SWITCH(dataArea.id) { CASE "U01": strDSN = 'BIJK1'; strTableName = 'U01TP'; strKodeCabang = 'C01'; strNamaCabang = 'Jakarta 1'; BREAK; CASE "U02": strDSN = 'BIJK2'; strTableName = 'U02TP'; strKodeCabang = 'C02'; strNamaCabang = 'Jakarta 2';
228 BREAK; CASE "U03": strDSN = 'BIMDN'; strTableName = 'U03TP'; strKodeCabang = 'C03'; strNamaCabang = 'Medan'; BREAK; CASE "U04": strDSN = 'BIPLB'; strTableName = 'U04TP'; strKodeCabang = 'C04'; strNamaCabang = 'Palembang'; BREAK; CASE "U05": strDSN = 'BIPKB'; strTableName = 'U05TP'; strKodeCabang = 'C05'; strNamaCabang = 'Pekanbaru'; BREAK; CASE "U06": strDSN = 'BIPDG'; strTableName = 'U06TP'; strKodeCabang = 'C06'; strNamaCabang = 'Padang'; BREAK; CASE "U07": strDSN = 'BIBDG'; strTableName = 'U07TP'; strKodeCabang = 'C07'; strNamaCabang = 'Bandung'; BREAK; CASE "U08": strDSN = 'BISMG'; strTableName = 'U08TP'; strKodeCabang = 'C08'; strNamaCabang = 'Semarang'; BREAK; CASE "U09": strDSN = 'BIYGY'; strTableName = 'U09TP'; strKodeCabang = 'C09'; strNamaCabang = 'Yogyakarta'; BREAK; CASE "U10": strDSN = 'BISBY'; strTableName = 'U10TP'; strKodeCabang = 'C10'; strNamaCabang = 'Surabaya'; BREAK; CASE "U11": strDSN = 'BIMKS'; strTableName = 'U11TP'; strKodeCabang = 'C11'; strNamaCabang = 'Makassar'; BREAK; CASE "U12": strDSN = 'BILPG'; strTableName = 'U12TP'; strKodeCabang = 'C12'; strNamaCabang = 'Lampung'; BREAK; CASE "U13": strDSN = 'BIBJR'; strTableName = 'U13TP'; strKodeCabang = 'C13'; strNamaCabang = 'Banjarmasin'; BREAK; CASE "U14":
229 strDSN = 'BISBYAB'; strTableName = 'U14TP'; strKodeCabang = 'C14'; strNamaCabang = 'Surabaya AB'; BREAK; CASE "U15": strDSN = 'BIBLI'; strTableName = 'U15TP'; strKodeCabang = 'C15'; strNamaCabang = 'Bali'; BREAK; CASE "U16": strDSN = 'BISMD'; strTableName = 'U16TP'; strKodeCabang = 'C16'; strNamaCabang = 'Samarinda'; BREAK; CASE "U17": strDSN = 'BIBTM'; strTableName = 'U17TP'; strKodeCabang = 'C17'; strNamaCabang = 'Batam'; BREAK; CASE "U18": strDSN = 'BIJK3'; strTableName = 'U18TP'; strKodeCabang = 'C18'; strNamaCabang = 'Jakarta 3'; BREAK; CASE "U19": strDSN = 'BIMLG'; strTableName = 'U19TP'; strKodeCabang = 'C19'; strNamaCabang = 'Malang'; BREAK; } } // LP = new LoginProperty(); LP.setDSN(strDSN); LP.setDatabase(strTableName); // strZipFile = "Q:\\"+strTableName+".dbf"; IF (!WINAPI::fileExists2(strZipFile)) { Warning("File di q:\\" + strTableName + ".dbf tidak ada!!! "); } ELSE { //WINAPI::shellExecute("q:\\PKUNZIP.EXE ",strZipFile + " Q:\\"); // strFileExists = "Q:\\"+strTableName+".dbf"; bolKetemu = FALSE; IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } // WHILE (!bolKetemu) { IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } } // C = new OdbcConnection(LP); S = C.createStatement();
230 RS = S.executeQuery('SELECT * FROM ' + strTableName); bolNormal = TRUE; ttsbegin; // while (RS.next()) { try { _TargetPenjualan_Temp.clear(); _TargetPenjualan_Temp.CabangId = strKodeCabang; _TargetPenjualan_Temp.TargetDate = RS.getDate(1); _TargetPenjualan_Temp.CustId = strLRTrim(RS.getString(2)); _TargetPenjualan_Temp.ItemId = strLRTrim(RS.getString(18)); _TargetPenjualan_Temp.Currency_Code = strLRTrim(RS.getString(24)); _TargetPenjualan_Temp.QtyTarget = RS.getReal(25); _TargetPenjualan_Temp.SalesAmountTarget = RS.getReal(26); // IF(!Cabang::find(_TargetPenjualan_Temp.CabangId)) { _Cabang.clear(); _Cabang.CabangId = _TargetPenjualan_Temp.CabangId; _Cabang.NamaCabang = strNamaCabang; _Cabang.insert(); } // IF(!Customer::find(_TargetPenjualan_Temp.CustId)) { _Customer.clear(); _Customer.CustId = _TargetPenjualan_Temp.CustId; _Customer.NamaCustomer = strLRTrim(RS.getString(3)); _Customer.TerritoryId = strLRTrim(RS.getString(4)); _Customer.SalesGroupId = strLRTrim(RS.getString(8)); _Customer.CustGroupId = strLRTrim(RS.getString(10)); _Customer.Alamat = strLRTrim(RS.getString(12)); _Customer.Kelurahan = strLRTrim(RS.getString(13)); _Customer.Kecamatan = strLRTrim(RS.getString(14)); _Customer.Kabupaten = strLRTrim(RS.getString(15)); _Customer.Propinsi = strLRTrim(RS.getString(16)); _Customer.KodePos = strLRTrim(RS.getString(17)); _Customer.insert(); } // IF(!Territory::find(_Custo mer.TerritoryId)) { _Territory.clear(); _Territory.TerritoryId = _Customer.TerritoryId; _Territory.NamaTerritory = strLRTrim(RS.getString(5)); _Territory.WideTerritoryId = strLRTrim(RS.getString(6)); _Territory.insert(); } // IF(!WideTerritory::find(_Territory.WideTerritoryId)) { _WideTerritory.clear(); _WideTerritory.WideTerritoryId = _Territory.WideTerritoryId; _WideTerritory.NamaWideTerritory = strLRTrim(RS.getString(7)); _WideTerritory.insert(); } // IF(!SalesGroup::find(_Cu stomer.SalesGroupId)) { _SalesGroup.clear(); _SalesGroup.SalesGroupId = _Customer.SalesGroupId; _SalesGroup.NamaSalesGroup = strLRTrim(RS.getString(9)); _SalesGroup.insert(); } // IF(!CustomerGroup::find(_Customer.CustGrou pId))
231 { _CustomerGroup.clear(); _CustomerGroup.CustGroupId = _Customer.CustGroupId; _CustomerGroup.NamaCustGroup = strLRTrim(RS.getString(11)); _CustomerGroup.insert(); } // IF(!Item::find(_TargetPenjualan_Temp.ItemId)) { _Item.clear(); _Item.ItemId = _TargetPenjualan_Temp.ItemId; _Item.NamaItem = strLRTrim(RS.getString(19)); _Item.PrincipalId = strLRTrim(RS.getString(20)); _Item.ItemGroupId = strLRTrim(RS.getString(22)); _Item.insert(); } // IF(!Principal::find(_Item.PrincipalId)) { _Principal.clear(); _Principal.PrincipalId = _Item.PrincipalId; _Principal.NamaPrincipal = strLRTrim(RS.getString(21)); _Principal.insert(); } // IF(!ItemGroup::find (_Item.ItemGroupId)) { _ItemGroup.clear(); _ItemGroup.ItemGroupId = _Item.ItemGroupId; _ItemGroup.NamaItemGroup = strLRTrim(RS.getString(23)); _ItemGroup.insert(); } // IF(!TargetPenjualan::find(strKodeCabang, _TargetPenjualan_Temp.TargetDate, _TargetPenjualan_Temp.CustId, _TargetPenjualan_Temp.ItemId)) { _TargetPenjualan.clear(); _TargetPenjualan.CabangId = (_TargetPenjualan_Temp.CabangId ? _TargetPenjualan_Temp.CabangId : _TargetPenjualan.CabangId); _TargetPenjualan.TargetDate = (_TargetPenjualan_Temp.TargetDate ? _TargetPenjualan_Temp.TargetDate : _TargetPenjualan.TargetDate); _TargetPenjualan.CustId = (_TargetPenjualan_Temp.CustId ? _TargetPenjualan_Temp.CustId : _TargetPenjualan.CustId); _TargetPenjualan.ItemId = (_TargetPenjualan_Temp.ItemId ? _TargetPenjualan_Temp.ItemId : _TargetPenjualan.ItemId); _TargetPenjualan.Currency_Code = (_TargetPenjualan_Temp.Currency_Code ? _TargetPenjualan_Temp.Currency_Code : _TargetPenjualan.Currency_Code); _TargetPenjualan.QtyTarget = (_TargetPenjualan_Temp.QtyTarget ? _TargetPenjualan_Temp.QtyTarget : _TargetPenjualan.QtyTarget); _TargetPenjualan.SalesAmountTarget = (_TargetPenjualan_Temp.SalesAmountTarget ? _TargetPenjualan_Temp.SalesAmountTarget : _TargetPenjualan.SalesAmountTarget); // if (_TargetPenjualan.validateWrite()) { _TargetPenjualan.insert(); intinsert++; } // IF(!AktualDanTarget::find(_TargetPenjualan_Temp.CabangId, _TargetPenjualan_Temp.TargetDate, _TargetPenjualan_Temp.CustId, _TargetPenjualan_Temp.ItemId)) { _AktualDanTarget.clear(); _AktualDanTarget.CabangId = _TargetPenjualan.CabangId; _AktualDanTarget.TransDate = _TargetPenjualan.TargetDate; _AktualDanTarget.CustId = _TargetPenjualan.CustId; _AktualDanTarget.ItemId = _TargetPenjualan.ItemId; _AktualDanTarget.Currency_Code = _TargetPenjualan.Currency_Code; _AktualDanTarget.QtyTarget = _TargetPenjualan.QtyTarget;
232 _AktualDanTarget.SalesAmountTarget = _TargetPenjualan.SalesAmountTarget; // _AktualDanTarget.insert(); } else { SELECT FIRSTONLY forupdate _AktualDanTarget index hint Idx_1 WHERE _AktualDanTarget.CabangId == _TargetPenjualan_Temp.CabangId && _AktualDanTarget.TransDate == _TargetPenjualan_Temp.TargetDate && _AktualDanTarget.CustId == _TargetPenjualan_Temp.CustId && _AktualDanTarget.ItemId == _TargetPenjualan_Temp.ItemId; IF(_AktualDanTarget) { _AktualDanTarget.QtyTarget += _TargetPenjualan.QtyTarget; _AktualDanTarget.SalesAmountTarget += _TargetPenjualan.SalesAmountTarget; _AktualDanTarget.update(); } } } } catch (Exception::Error) { } } // IF(bolNormal == TRUE) { ttscommit; } ELSE { Info("Abnormal Invoice Date !!!"); ttsabort; } // RS.close(); s.executeUpdate("DROP TABLE " + strTableName); S.close(); S = null; // Info("File berhasil diupload!!!"); } }
• Proses ETL inform asi Piutang Pelanggan
void UploadPiutangPelanggan() { Str strKodeCabang; DataArea dataArea; Str strZipFile; Str strFileExists, strFile; Str strTanggal; Str strNamaCabang; Boolean bolKetemu; ; SELECT FIRSTONLY * FROM dataArea WHERE dataArea.id == udc_Kode_Cabang; IF (dataArea) { SWITCH(dataArea.id) { CASE "U01": strDSN = 'BIJK1'; strTableName = 'U01PP'; strKodeCabang = 'C01'; strNamaCabang = 'Jakarta 1';
233 BREAK; CASE "U02": strDSN = 'BIJK2'; strTableName = 'U02PP'; strKodeCabang = 'C02'; strNamaCabang = 'Jakarta 2'; BREAK; CASE "U03": strDSN = 'BIMDN'; strTableName = 'U03PP'; strKodeCabang = 'C03'; strNamaCabang = 'Medan'; BREAK; CASE "U04": strDSN = 'BIPLB'; strTableName = 'U04PP'; strKodeCabang = 'C04'; strNamaCabang = 'Palembang'; BREAK; CASE "U05": strDSN = 'BIPKB'; strTableName = 'U05PP'; strKodeCabang = 'C05'; strNamaCabang = 'Pekanbaru'; BREAK; CASE "U06": strDSN = 'BIPDG'; strTableName = 'U06PP'; strKodeCabang = 'C06'; strNamaCabang = 'Padang'; BREAK; CASE "U07": strDSN = 'BIBDG'; strTableName = 'U07PP'; strKodeCabang = 'C07'; strNamaCabang = 'Bandung'; BREAK; CASE "U08": strDSN = 'BISMG'; strTableName = 'U08PP'; strKodeCabang = 'C08'; strNamaCabang = 'Semarang'; BREAK; CASE "U09": strDSN = 'BIYGY'; strTableName = 'U09PP'; strKodeCabang = 'C09'; strNamaCabang = 'Yogyakarta'; BREAK; CASE "U10": strDSN = 'BISBY'; strTableName = 'U10PP'; strKodeCabang = 'C10'; strNamaCabang = 'Surabaya'; BREAK; CASE "U11": strDSN = 'BIMKS'; strTableName = 'U11PP'; strKodeCabang = 'C11'; strNamaCabang = 'Makassar'; BREAK; CASE "U12": strDSN = 'BILPG'; strTableName = 'U12PP'; strKodeCabang = 'C12'; strNamaCabang = 'Lampung'; BREAK; CASE "U13":
234 strDSN = 'BIBJR'; strTableName = 'U13PP'; strKodeCabang = 'C13'; strNamaCabang = 'Banjarmasin'; BREAK; CASE "U14": strDSN = 'BISBYAB'; strTableName = 'U14PP'; strKodeCabang = 'C14'; strNamaCabang = 'Surabaya AB'; BREAK; CASE "U15": strDSN = 'BIBLI'; strTableName = 'U15PP'; strKodeCabang = 'C15'; strNamaCabang = 'Bali'; BREAK; CASE "U16": strDSN = 'BISMD'; strTableName = 'U16PP'; strKodeCabang = 'C16'; strNamaCabang = 'Samarinda'; BREAK; CASE "U17": strDSN = 'BIBTM'; strTableName = 'U17PP'; strKodeCabang = 'C17'; strNamaCabang = 'Batam'; BREAK; CASE "U18": strDSN = 'BIJK3'; strTableName = 'U18PP'; strKodeCabang = 'C18'; strNamaCabang = 'Jakarta 3'; BREAK; CASE "U19": strDSN = 'BIMLG'; strTableName = 'U19PP'; strKodeCabang = 'C19'; strNamaCabang = 'Malang'; BREAK; } } // LP = new LoginProperty(); LP.setDSN(strDSN); LP.setDatabase(strTableName); // strZipFile = "Q:\\"+strTableName+".dbf"; IF (!WINAPI::fileExists2(strZipFile)) { Warning("File di q:\\" + strTableName + ".dbf tidak ada!!! "); } ELSE { // strFileExists = "Q:\\"+strTableName+".dbf"; bolKetemu = FALSE; IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } // WHILE (!bolKetemu) { IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE;
235 } } // C = new OdbcConnection(LP); S = C.createStatement(); RS = S.executeQuery('SELECT * FROM ' + strTableName); bolNormal = TRUE; ttsbegin; // while (RS.next()) { try { _PiutangPelanggan_Temp.clear(); _PiutangPelanggan_Temp.CabangId = strKodeCabang; _PiutangPelanggan_Temp.ARDate = RS.getDate(1); _PiutangPelanggan_Temp.CustId = strLRTrim(RS.getString(2)); _PiutangPelanggan_Temp.PrincipalId = strLRTrim(RS.getString(18)); _PiutangPelanggan_Temp.Currency_Code = strLRTrim(RS.getString(20)); _PiutangPelanggan_Temp.AR_0_30 = RS.getReal(21); _PiutangPelanggan_Temp.AR_30_60 = RS.getReal(22); _PiutangPelanggan_Temp.AR_60_90 = RS.getReal(23); _PiutangPelanggan_Temp.AR_90_Keatas = RS.getReal(24); // IF(!Cabang::find(_PiutangPelanggan_Temp.CabangId)) { _Cabang.clear(); _Cabang.CabangId = _PiutangPelanggan_Temp.CabangId; _Cabang.NamaCabang = strNamaCabang; _Cabang.insert(); } // IF(!Customer::find(_PiutangPelanggan_Temp.CustId)) { _Customer.clear(); _Customer.CustId = _PiutangPelanggan_Temp.CustId; _Customer.NamaCustomer = strLRTrim(RS.getString(5)); _Customer.TerritoryId = strLRTrim(RS.getString(6)); _Customer.SalesGroupId = strLRTrim(RS.getString(10)); _Customer.CustGroupId = strLRTrim(RS.getString(12)); _Customer.Alamat = strLRTrim(RS.getString(14)); _Customer.Kelurahan = strLRTrim(RS.getString(15)); _Customer.Kecamatan = strLRTrim(RS.getString(16)); _Customer.Kabupaten = strLRTrim(RS.getString(17)); _Customer.Propinsi = strLRTrim(RS.getString(18)); _Customer.KodePos = strLRTrim(RS.getString(19)); _Customer.insert(); } // IF(!Territory::find(_Custo mer.TerritoryId)) { _Territory.clear(); _Territory.TerritoryId = _Customer.TerritoryId; _Territory.NamaTerritory = strLRTrim(RS.getString(7)); _Territory.WideTerritoryId = strLRTrim(RS.getString(8)); _Territory.insert(); } // IF(!WideTerritory::find(_Territory.WideTerritoryId)) { _WideTerritory.clear(); _WideTerritory.WideTerritoryId = _Territory.WideTerritoryId; _WideTerritory.NamaWideTerritory = strLRTrim(RS.getString(9)); _WideTerritory.insert(); } // IF(!SalesGroup::find(_Cu stomer.SalesGroupId)) {
236 _SalesGroup.clear(); _SalesGroup.SalesGroupId = _Customer.SalesGroupId; _SalesGroup.NamaSalesGroup = strLRTrim(RS.getString(11)); _SalesGroup.insert(); } // IF(!CustomerGroup::find(_Customer.CustGrou pId)) { _CustomerGroup.clear(); _CustomerGroup.CustGroupId = _Customer.CustGroupId; _CustomerGroup.NamaCustGroup = strLRTrim(RS.getString(13)); _CustomerGroup.insert(); } // IF(!Principal::find(_PiutangPelanggan_Temp.PrincipalId)) { _Principal.clear(); _Principal.PrincipalId = _PiutangPela nggan_Temp.PrincipalId; _Principal.NamaPrincipal = strLRTrim(RS.getString(23)); _Principal.insert(); } // IF(!PiutangPelanggan::find(strKodeCabang, _PiutangPelanggan_Temp.ARDate, _PiutangPelanggan_Temp.CustId, _PiutangPelanggan_Temp.PrincipalId)) { _PiutangPelanggan.clear(); _PiutangPelanggan.CabangId = (_PiutangPelanggan_Temp.CabangId ? _PiutangPelanggan_Temp.CabangId : _PiutangPelanggan.CabangId); _PiutangPelanggan.ARDate = (_PiutangPelanggan_Temp.ARDate ? _PiutangPelanggan_Temp.ARDate : _PiutangPelanggan.ARDate); _PiutangPelanggan.CustId = (_PiutangPelanggan_Temp.CustId ? _PiutangPelanggan_Temp.CustId : _PiutangPelanggan.CustId); _PiutangPelanggan.PrincipalId = (_PiutangPelanggan_Temp.PrincipalId ? _PiutangPelanggan_Temp.PrincipalId : _PiutangPelanggan.PrincipalId); _PiutangPelanggan.Currency_Code = (_PiutangPelanggan_Temp.Currency_Code ? _PiutangPelanggan_Temp.Currency_Code : _PiutangPelanggan.Currency_Code); _PiutangPelanggan.AR_0_30 = (_PiutangPelanggan_Temp.AR_0_30 ? _PiutangPelanggan_Temp.AR_0_30 : _PiutangPelanggan.AR_0_30); _PiutangPelanggan.AR_30_60 = (_PiutangPelanggan_Temp.AR_30_60 ? _PiutangPelanggan_Temp.AR_30_60 : _PiutangPelanggan.AR_30_60); _PiutangPelanggan.AR_60_90 = (_PiutangPelanggan_Temp.AR_60_90 ? _PiutangPelanggan_Temp.AR_60_90 : _PiutangPelanggan.AR_60_90); _PiutangPelanggan.AR_90_Keatas = (_PiutangPelanggan_Temp.AR_90_Keatas ? _PiutangPelanggan_Temp.AR_90_Keatas : _PiutangPelanggan.AR_90_Keatas); // if (_PiutangPelanggan.validateWrite()) { _PiutangPelanggan.insert(); intinsert++; } } } catch (Exception::Error) { } } // IF(bolNormal == TRUE) { ttscommit; } ELSE { Info("Abnormal Invoice Date !!!"); ttsabort; } // RS.close();
237 s.executeUpdate("DROP TABLE " + strTableName); S.close(); S = null; // Info("File berhasil diupload!!!"); } }
• Proses ETL inform asi Collection Pelan ggan void UploadCollectionPelanggan() { Str strKodeCabang; DataArea dataArea; Str strZipFile; Str strFileExists, strFile; Str strTanggal; Str strNamaCabang; Boolean bolKetemu; ; SELECT FIRSTONLY * FROM dataArea WHERE dataArea.id == udc_Kode_Cabang; IF (dataArea) { SWITCH(dataArea.id) { CASE "U01": strDSN = 'BIJK1'; strTableName = 'U01CP'; strKodeCabang = 'C01'; strNamaCabang = 'Jakarta 1'; BREAK; CASE "U02": strDSN = 'BIJK2'; strTableName = 'U02CP'; strKodeCabang = 'C02'; strNamaCabang = 'Jakarta 2'; BREAK; CASE "U03": strDSN = 'BIMDN'; strTableName = 'U03CP'; strKodeCabang = 'C03'; strNamaCabang = 'Medan'; BREAK; CASE "U04": strDSN = 'BIPLB'; strTableName = 'U04CP'; strKodeCabang = 'C04'; strNamaCabang = 'Palembang'; BREAK; CASE "U05": strDSN = 'BIPKB'; strTableName = 'U05CP'; strKodeCabang = 'C05'; strNamaCabang = 'Pekanbaru'; BREAK; CASE "U06": strDSN = 'BIPDG'; strTableName = 'U06CP'; strKodeCabang = 'C06'; strNamaCabang = 'Padang'; BREAK; CASE "U07": strDSN = 'BIBDG'; strTableName = 'U07CP'; strKodeCabang = 'C07'; strNamaCabang = 'Bandung'; BREAK; CASE "U08":
238 strDSN = 'BISMG'; strTableName = 'U08CP'; strKodeCabang = 'C08'; strNamaCabang = 'Semarang'; BREAK; CASE "U09": strDSN = 'BIYGY'; strTableName = 'U09CP'; strKodeCabang = 'C09'; strNamaCabang = 'Yogyakarta'; BREAK; CASE "U10": strDSN = 'BISBY'; strTableName = 'U10CP'; strKodeCabang = 'C10'; strNamaCabang = 'Surabaya'; BREAK; CASE "U11": strDSN = 'BIMKS'; strTableName = 'U11CP'; strKodeCabang = 'C11'; strNamaCabang = 'Makassar'; BREAK; CASE "U12": strDSN = 'BILPG'; strTableName = 'U12CP'; strKodeCabang = 'C12'; strNamaCabang = 'Lampung'; BREAK; CASE "U13": strDSN = 'BIBJR'; strTableName = 'U13CP'; strKodeCabang = 'C13'; strNamaCabang = 'Banjarmasin'; BREAK; CASE "U14": strDSN = 'BISBYAB'; strTableName = 'U14CP'; strKodeCabang = 'C14'; strNamaCabang = 'Surabaya AB'; BREAK; CASE "U15": strDSN = 'BIBLI'; strTableName = 'U15CP'; strKodeCabang = 'C15'; strNamaCabang = 'Bali'; BREAK; CASE "U16": strDSN = 'BISMD'; strTableName = 'U16CP'; strKodeCabang = 'C16'; strNamaCabang = 'Samarinda'; BREAK; CASE "U17": strDSN = 'BIBTM'; strTableName = 'U17CP'; strKodeCabang = 'C17'; strNamaCabang = 'Batam'; BREAK; CASE "U18": strDSN = 'BIJK3'; strTableName = 'U18CP'; strKodeCabang = 'C18'; strNamaCabang = 'Jakarta 3'; BREAK; CASE "U19": strDSN = 'BIMLG'; strTableName = 'U19CP';
239 strKodeCabang = 'C19'; strNamaCabang = 'Malang'; BREAK; } } // LP = new LoginProperty(); LP.setDSN(strDSN); LP.setDatabase(strTableName); // strZipFile = "Q:\\"+strTableName+".dbf"; IF (!WINAPI::fileExists2(strZipFile)) { Warning("File di q:\\" + strTableName + ".dbf tidak ada!!! "); } ELSE { // strFileExists = "Q:\\"+strTableName+".dbf"; bolKetemu = FALSE; IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } // WHILE (!bolKetemu) { IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } } // C = new OdbcConnection(LP); S = C.createStatement(); RS = S.executeQuery('SELECT * FROM ' + strTableName); bolNormal = TRUE; ttsbegin; // while (RS.next()) { try { _CollectionPelanggan_Temp.clear(); _CollectionPelanggan_Temp.CabangId = strKodeCabang; _CollectionPelanggan_Temp.CollectionDate = RS.getDate(1); _CollectionPelanggan_Temp.CustId = strLRTrim(RS.getString(2)); _CollectionPelanggan_Temp.PrincipalId = strLRTrim(RS.getString(18)); _CollectionPelanggan_Temp.Currency_Code = strLRTrim(RS.getString(20)); _CollectionPelanggan_Temp.Collection_Amount = RS.getReal(21); _CollectionPelanggan_Temp.Collection_TurnOver = RS.getReal(22); // IF(!Cabang::find(_CollectionPelanggan_Temp.CabangId)) { _Cabang.clear(); _Cabang.CabangId = _CollectionPelanggan_Temp.CabangId; _Cabang.NamaCabang = strKodeCabang; _Cabang.insert(); } // IF(!Customer::find(_CollectionPelanggan_Temp.CustId)) { _Customer.clear(); _Customer.CustId = _CollectionPelanggan_Temp.CustId; _Customer.NamaCustomer = strLRTrim(RS.getString(5)); _Customer.TerritoryId = strLRTrim(RS.getString(6)); _Customer.SalesGroupId = strLRTrim(RS.getString(10)); _Customer.CustGroupId = strLRTrim(RS.getString(12));
240 _Customer.Alamat = strLRTrim(RS.getString(14)); _Customer.Kelurahan = strLRTrim(RS.getString(15)); _Customer.Kecamatan = strLRTrim(RS.getString(16)); _Customer.Kabupaten = strLRTrim(RS.getString(17)); _Customer.Propinsi = strLRTrim(RS.getString(18)); _Customer.KodePos = strLRTrim(RS.getString(19)); _Customer.insert(); } // IF(!Territory::find(_Custo mer.TerritoryId)) { _Territory.clear(); _Territory.TerritoryId = _Customer.TerritoryId; _Territory.NamaTerritory = strLRTrim(RS.getString(7)); _Territory.WideTerritoryId = strLRTrim(RS.getString(8)); _Territory.insert(); } // IF(!WideTerritory::find(_Territory.WideTerritoryId)) { _WideTerritory.clear(); _WideTerritory.WideTerritoryId = _Territory.WideTerritoryId; _WideTerritory.NamaWideTerritory = strLRTrim(RS.getString(9)); _WideTerritory.insert(); } // IF(!SalesGroup::find(_Cu stomer.SalesGroupId)) { _SalesGroup.clear(); _SalesGroup.SalesGroupId = _Customer.SalesGroupId; _SalesGroup.NamaSalesGroup = strLRTrim(RS.getString(11)); _SalesGroup.insert(); } // IF(!CustomerGroup::find(_Customer.CustGrou pId)) { _CustomerGroup.clear(); _CustomerGroup.CustGroupId = _Customer.CustGroupId; _CustomerGroup.NamaCustGroup = strLRTrim(RS.getString(13)); _CustomerGroup.insert(); } // IF(!Principal::find(_C ollectionPelanggan_Temp.PrincipalId)) { _Principal.clear(); _Principal.PrincipalId = _CollectionPelanggan_Temp.PrincipalId; _Principal.NamaPrincipal = strLRTrim(RS.getString(23)); _Principal.insert(); } // IF(!CollectionPelanggan::find(strKodeCa bang, _CollectionPelanggan_Temp.CollectionDate, _CollectionPelanggan_Temp.CustId, _CollectionPelanggan_Temp.PrincipalId)) { _CollectionPelanggan.clear(); _CollectionPelanggan.CabangId = (_CollectionPelanggan_Temp.CabangId ? _CollectionPelanggan_Temp.CabangId : _CollectionPelanggan.CabangId); _CollectionPelanggan.CollectionDate = (_CollectionPelanggan_Temp.CollectionDate ? _CollectionPelanggan_Temp.CollectionDate : _CollectionPelanggan.CollectionDate); _CollectionPelanggan.CustId = (_CollectionPelanggan_Temp.CustId ? _CollectionPelanggan_Temp.CustId : _CollectionPelanggan.CustId); _CollectionPelanggan.PrincipalId = (_CollectionPelanggan_Temp.PrincipalId ? _CollectionPelanggan_Temp.PrincipalId : _CollectionPelanggan.PrincipalId); _CollectionPelanggan.Currency_Code = (_CollectionPelanggan_Temp.Currency_Code ? _CollectionPelanggan_Temp.Currency_Code : _CollectionPelanggan.Currency_Code); _CollectionPelanggan.Collection_Amount = (_CollectionPelanggan_Temp.Collection_Amount ? _CollectionPelanggan_Temp.Collection_Amou nt : _CollectionPelanggan.Collection_Amount); _CollectionPelanggan.Collection_TurnOver = (_CollectionPelanggan_Temp.Collection_TurnOver ? _CollectionPelanggan_Temp.Collection_TurnOver : _CollectionPelanggan.Collection_TurnOver);
241 // if (_CollectionPelanggan.validateWrite()) { _CollectionPelanggan.insert(); intinsert++; } } } catch (Exception::Error) { } } // IF(bolNormal == TRUE) { ttscommit; } ELSE { Info("Abnormal Invoice Date !!!"); ttsabort; } // RS.close(); s.executeUpdate("DROP TABLE " + strTableName); S.close(); S = null; // Info("File berhasil diupload!!!"); } }
• Proses ETL inform asi Per sediaan Barang void UploadPersediaan() { Str strKodeCabang; DataArea dataArea; Str strZipFile; Str strFileExists, strFile; Str strTanggal; Str strNamaCabang; Boolean bolKetemu; ; SELECT FIRSTONLY * FROM dataArea WHERE dataArea.id == udc_Kode_Cabang; IF (dataArea) { SWITCH(dataArea.id) { CASE "U01": strDSN = 'BIJK1'; strTableName = 'U01PS'; strKodeCabang = 'C01'; strNamaCabang = 'Jakarta 1'; BREAK; CASE "U02": strDSN = 'BIJK2'; strTableName = 'U02PS'; strKodeCabang = 'C02'; strNamaCabang = 'Jakarta 2'; BREAK; CASE "U03": strDSN = 'BIMDN'; strTableName = 'U03PS'; strKodeCabang = 'C03'; strNamaCabang = 'Medan'; BREAK; CASE "U04":
242 strDSN = 'BIPLB'; strTableName = 'U04PS'; strKodeCabang = 'C04'; strNamaCabang = 'Palembang'; BREAK; CASE "U05": strDSN = 'BIPKB'; strTableName = 'U05PS'; strKodeCabang = 'C05'; strNamaCabang = 'Pekanbaru'; BREAK; CASE "U06": strDSN = 'BIPDG'; strTableName = 'U06PS'; strKodeCabang = 'C06'; strNamaCabang = 'Padang'; BREAK; CASE "U07": strDSN = 'BIBDG'; strTableName = 'U07PS'; strKodeCabang = 'C07'; strNamaCabang = 'Bandung'; BREAK; CASE "U08": strDSN = 'BISMG'; strTableName = 'U08PS'; strKodeCabang = 'C08'; strNamaCabang = 'Semarang'; BREAK; CASE "U09": strDSN = 'BIYGY'; strTableName = 'U09PS'; strKodeCabang = 'C09'; strNamaCabang = 'Yogyakarta'; BREAK; CASE "U10": strDSN = 'BISBY'; strTableName = 'U10PS'; strKodeCabang = 'C10'; strNamaCabang = 'Surabaya'; BREAK; CASE "U11": strDSN = 'BIMKS'; strTableName = 'U11PS'; strKodeCabang = 'C11'; strNamaCabang = 'Makassar'; BREAK; CASE "U12": strDSN = 'BILPG'; strTableName = 'U12PS'; strKodeCabang = 'C12'; strNamaCabang = 'Lampung'; BREAK; CASE "U13": strDSN = 'BIBJR'; strTableName = 'U13PS'; strKodeCabang = 'C13'; strNamaCabang = 'Banjarmasin'; BREAK; CASE "U14": strDSN = 'BISBYAB'; strTableName = 'U14PS'; strKodeCabang = 'C14'; strNamaCabang = 'Surabaya AB'; BREAK; CASE "U15": strDSN = 'BIBLI'; strTableName = 'U15PS';
243 strKodeCabang = 'C15'; strNamaCabang = 'Bali'; BREAK; CASE "U16": strDSN = 'BISMD'; strTableName = 'U16PS'; strKodeCabang = 'C16'; strNamaCabang = 'Samarinda'; BREAK; CASE "U17": strDSN = 'BIBTM'; strTableName = 'U17PS'; strKodeCabang = 'C17'; strNamaCabang = 'Batam'; BREAK; CASE "U18": strDSN = 'BIJK3'; strTableName = 'U18PS'; strKodeCabang = 'C18'; strNamaCabang = 'Jakarta 3'; BREAK; CASE "U19": strDSN = 'BIMLG'; strTableName = 'U19PS'; strKodeCabang = 'C19'; strNamaCabang = 'Malang'; BREAK; } } // LP = new LoginProperty(); LP.setDSN(strDSN); LP.setDatabase(strTableName); // strZipFile = "Q:\\"+strTableName+".dbf"; IF (!WINAPI::fileExists2(strZipFile)) { Warning("File di q:\\" + strTableName + ".dbf tidak ada!!! "); } ELSE { // strFileExists = "Q:\\"+strTableName+".dbf"; bolKetemu = FALSE; IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } // WHILE (!bolKetemu) { IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } } // C = new OdbcConnection(LP); S = C.createStatement(); RS = S.executeQuery('SELECT * FROM ' + strTableName); bolNormal = TRUE; ttsbegin; // while (RS.next()) { try { _Persediaan_Temp.clear();
244 _Persediaan_Temp.CabangId = strKodeCabang; _Persediaan_Temp.TransDate = RS.getDate(1); _Persediaan_Temp.ItemId = strLRTrim(RS.getString(2)); _Persediaan_Temp.Transaction_Type = strLRTrim(RS.getString(8)); _Persediaan_Temp.WarehouseId = strLRTrim(RS.getString(9)); _Persediaan_Temp.BatchNoId = strLRTrim(RS.getString(11)); _Persediaan_Temp.Qty = RS.getReal(13); _Persediaan_Temp.CostPrice = RS.getReal(14); _Persediaan_Temp.Inv_Valuation = RS.getReal(15); _Persediaan_Temp.KodeTransaksi = strLRTrim(RS.getString(16)); _Persediaan_Temp.QtyMinStock = RS.getReal(17); // IF(!Cabang::find(_Persediaan_Temp.CabangId)) { _Cabang.clear(); _Cabang.CabangId = _Persediaan_Temp.CabangId; _Cabang.NamaCabang = strNamaCabang; _Cabang.insert(); } // IF(!Item::find(_Persediaan_Temp. ItemId)) { _Item.clear(); _Item.ItemId = _Persediaan_Temp.ItemId; _Item.NamaItem = strLRTrim(RS.getString(3)); _Item.PrincipalId = strLRTrim(RS.getString(4)); _Item.ItemGroupId = strLRTrim(RS.getString(6)); _Item.insert(); } // IF(!Principal::find(_Item.PrincipalId)) { _Principal.clear(); _Principal.PrincipalId = _Item.PrincipalId; _Principal.NamaPrincipal = strLRTrim(RS.getString(5)); _Principal.insert(); } // IF(!ItemGroup::find (_Item.ItemGroupId)) { _ItemGroup.clear(); _ItemGroup.ItemGroupId = _Item.ItemGroupId; _ItemGroup.NamaItemGroup = strLRTrim(RS.getString(7)); _ItemGroup.insert(); } // IF(!Warehouse::find (_Persediaan_Temp.WarehouseI d)) { _Warehouse.clear(); _Warehouse.WarehouseId = _Persediaan_Temp.WarehouseId; _Warehouse.NamaWarehouse = strLRTrim(RS.getString(10)); _Warehouse.insert(); } // IF(!BatchNumber::find(_Persediaan_Tem p.BatchNoI d)) { _BatchNumber.clear(); _BatchNumber.BatchNoId = _Persediaan_Temp.BatchNoId; _BatchNumber.ExpiredDate = RS.getDate(12); _BatchNumber.insert(); } // IF(!Persediaan::find(strKodeCabang, _Persediaan_Temp.TransDate, _Persediaan_Temp.KodeTransaksi, _Persediaan_Temp.ItemId, _Persediaan_Temp. BatchNoId, _Persediaan_Temp.WarehouseI d, _Persediaan_Temp.Qty)) { _Persediaan.clear();
245 _Persediaan.CabangId = (_Persediaan_Temp.CabangId ? _Persediaan_Temp.CabangId : _Persediaan.CabangId); _Persediaan.TransDate = (_Persediaan_Temp.TransDate ? _Persediaan_Temp.TransDate : _Persediaan.TransDate); _Persediaan.ItemId = (_Persediaan_Temp.Ite mId ? _Persediaan_Temp.ItemI d : _Persediaan.ItemId); _Persediaan.Transaction_Type = (_Persediaan_Temp.Transaction_Type ? _Persediaan_Temp.Transaction_Type : _Persediaan.Transaction_Type); _Persediaan.WarehouseId = (_Persediaan_Temp.WarehouseId ? _Persediaan_Temp.WarehouseId : _Persediaan.WarehouseId); _Persediaan.BatchNoId = (_Persediaan_Temp.Batch NoId ? _Persediaan_Temp.BatchNoId : _Persediaan.BatchNoId); _Persediaan.Qty = (_Persediaan_Temp.Qty ? _ Persediaan_Temp.Qty : _Persediaan.Qty); _Persediaan.CostPrice = (_Persediaan_Temp.CostPrice ? _Persediaan_Temp.CostPrice : _Persediaan.CostPrice); _Persediaan.Inv_Valuation = (_Persediaan_Temp.Inv_Valuation ? _Persediaan_Temp.Inv_Valuation : _Persediaan.Inv_Valuation); _Persediaan.QtyMinStock = (_Persediaan_Temp.QtyMinStock ? _Persediaan_Temp.QtyMinStock : _Persediaan.QtyMinStock); _Persediaan.KodeTransaksi = (_Persediaan_Tem p.KodeTransaksi ? _Persediaan_Temp.KodeTransaksi : _Persediaan.KodeTransaksi); // if (_Persediaan.validateWrite()) { _Persediaan.insert(); intinsert++; } } } catch (Exception::Error) { } } // IF(bolNormal == TRUE) { ttscommit; } ELSE { Info("Abnormal Invoice Date !!!"); ttsabort; } // RS.close(); s.executeUpdate("DROP TABLE " + strTableName); S.close(); S = null; // Info("File berhasil diupload!!!"); } }
• Proses ETL inform asi Pen jualan Kom petitor void UploadPenjualanKompetitor() { Str strKodeCabang; DataArea dataArea; Str strZipFile; Str strFileExists, strFile; Str strTanggal; Str strNamaCabang; Boolean bolKetemu; ; SELECT FIRSTONLY * FROM dataArea WHERE dataArea.id == udc_Kode_Cabang;
246 IF (dataArea) { SWITCH(dataArea.id) { CASE "U01": strDSN = 'BIJK1'; strTableName = 'U01K'; strKodeCabang = 'C01'; strNamaCabang = 'Jakarta 1'; BREAK; CASE "U02": strDSN = 'BIJK2'; strTableName = 'U02K'; strKodeCabang = 'C02'; strNamaCabang = 'Jakarta 2'; BREAK; CASE "U03": strDSN = 'BIMDN'; strTableName = 'U03K'; strKodeCabang = 'C03'; strNamaCabang = 'Medan'; BREAK; CASE "U04": strDSN = 'BIPLB'; strTableName = 'U04K'; strKodeCabang = 'C04'; strNamaCabang = 'Palembang'; BREAK; CASE "U05": strDSN = 'BIPKB'; strTableName = 'U05K'; strKodeCabang = 'C05'; strNamaCabang = 'Pekanbaru'; BREAK; CASE "U06": strDSN = 'BIPDG'; strTableName = 'U06K'; strKodeCabang = 'C06'; strNamaCabang = 'Padang'; BREAK; CASE "U07": strDSN = 'BIBDG'; strTableName = 'U07K'; strKodeCabang = 'C07'; strNamaCabang = 'Bandung'; BREAK; CASE "U08": strDSN = 'BISMG'; strTableName = 'U08K'; strKodeCabang = 'C08'; strNamaCabang = 'Semarang'; BREAK; CASE "U09": strDSN = 'BIYGY'; strTableName = 'U09K'; strKodeCabang = 'C09'; strNamaCabang = 'Yogyakarta'; BREAK; CASE "U10": strDSN = 'BISBY'; strTableName = 'U10K'; strKodeCabang = 'C10'; strNamaCabang = 'Surabaya'; BREAK; CASE "U11": strDSN = 'BIMKS'; strTableName = 'U11K'; strKodeCabang = 'C11';
247 strNamaCabang = 'Makassar'; BREAK; CASE "U12": strDSN = 'BILPG'; strTableName = 'U12K'; strKodeCabang = 'C12'; strNamaCabang = 'Lampung'; BREAK; CASE "U13": strDSN = 'BIBJR'; strTableName = 'U13K'; strKodeCabang = 'C13'; strNamaCabang = 'Banjarmasin'; BREAK; CASE "U14": strDSN = 'BISBYAB'; strTableName = 'U14K'; strKodeCabang = 'C14'; strNamaCabang = 'Surabaya AB'; BREAK; CASE "U15": strDSN = 'BIBLI'; strTableName = 'U15K'; strKodeCabang = 'C15'; strNamaCabang = 'Bali'; BREAK; CASE "U16": strDSN = 'BISMD'; strTableName = 'U16K'; strKodeCabang = 'C16'; strNamaCabang = 'Samarinda'; BREAK; CASE "U17": strDSN = 'BIBTM'; strTableName = 'U17K'; strKodeCabang = 'C17'; strNamaCabang = 'Batam'; BREAK; CASE "U18": strDSN = 'BIJK3'; strTableName = 'U18K'; strKodeCabang = 'C18'; strNamaCabang = 'Jakarta 3'; BREAK; CASE "U19": strDSN = 'BIMLG'; strTableName = 'U19K'; strKodeCabang = 'C19'; strNamaCabang = 'Malang'; BREAK; } } // LP = new LoginProperty(); LP.setDSN(strDSN); LP.setDatabase(strTableName); // strZipFile = "Q:\\"+strTableName+".dbf"; IF (!WINAPI::fileExists2(strZipFile)) { Warning("File di q:\\" + strTableName + ".dbf tidak ada!!! "); } ELSE { //WINAPI::shellExecute("q :\\PKUNZIP.EXE ",strZipFile + " Q:\\"); // strFileExists = "Q:\\"+strTableName+".dbf"; bolKetemu = FALSE;
248 IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } // WHILE (!bolKetemu) { IF (WINAPI::fileExists2(strFileExists)) { bolKetemu = TRUE; } } // C = new OdbcConnection(LP); S = C.createStatement(); RS = S.executeQuery('SELECT * FROM ' + strTableName); bolNormal = TRUE; ttsbegin; // while (RS.next()) { try { _penjualan_Temp.clear(); _penjualan_Temp.CabangId = strKodeCabang; _penjualan_Temp.SalesNo = strLRTrim(RS.getString(1)); _penjualan_Temp.InvoiceNo = strLRTrim(RS.getString(2)); _penjualan_Temp.InvoiceDate = RS.getDate(3); _penjualan_Temp.CustId = strLRTrim(RS.getString(4)); _penjualan_Temp.ItemId = strLRTrim(RS.getString(20)); _penjualan_Temp.Currency_Code = strLRTrim(RS.getString(26)); _penjualan_Temp.MedRepId = strLRTrim(RS.getString(27)); _penjualan_Temp.StatusSales = strLRTrim(RS.getString(29)); _penjualan_Temp.DataMilikId = strLRTrim(RS.getString(30)); _penjualan_Temp.Qty = RS.getReal(32); _penjualan_Temp.SalesPrice = RS.getReal(33); _penjualan_Temp.SalesAmount = RS.getReal(34); _penjualan_Temp.Principal_Disc = RS.getReal(35); _penjualan_Temp.Principal_Disc_Amt = RS.getReal(36); _penjualan_Temp.Distributor_Disc = RS.getReal(37); _penjualan_Temp.Distributor_Disc_Amt = RS.g etReal(38); // IF(!Cabang::find(_penjualan_Temp.CabangId )) { _Cabang.clear(); _Cabang.CabangId = _penjualan_Temp.CabangId; _Cabang.NamaCabang = strNamaCabang; _Cabang.insert(); } // IF(!Customer::find(_penjualan_Temp.CustId)) { _Customer.clear(); _Customer.CustId = strLRTrim(_penjualan_Temp.CustId); _Customer.NamaCustomer = strLRTrim(RS.getString(5)); _Customer.TerritoryId = strLRTrim(RS.getString(6)); _Customer.SalesGroupId = strLRTrim(RS.getString(10)); _Customer.CustGroupId = strLRTrim(RS.getString(12)); _Customer.Alamat = strLRTrim(RS.getString(14)); _Customer.Kelurahan = strLRTrim(RS.getString(15)); _Customer.Kecamatan = strLRTrim(RS.getString(16)); _Customer.Kabupaten = strLRTrim(RS.getString(17)); _Customer.Propinsi = strLRTrim(RS.getString(18)); _Customer.KodePos = strLRTrim(RS.getString(19)); _Customer.insert(); } // IF(!Territory::find(_Custo mer.TerritoryId))
249 { _Territory.clear(); _Territory.TerritoryId = _Customer.TerritoryId; _Territory.NamaTerritory = strLRTrim(RS.getString(7)); _Territory.WideTerritoryId = strLRTrim(RS.getString(8)); _Territory.insert(); } // IF(!WideTerritory::find(_Territory.WideTerritoryId)) { _WideTerritory.clear(); _WideTerritory.WideTerritoryId = _Territory.WideTerritoryId; _WideTerritory.NamaWideTerritory = strLRTrim(RS.getString(9)); _WideTerritory.insert(); } // IF(!SalesGroup::find(_Cu stomer.SalesGroupId)) { _SalesGroup.clear(); _SalesGroup.SalesGroupId = _Customer.SalesGroupId; _SalesGroup.NamaSalesGroup = strLRTrim(RS.getString(11)); _SalesGroup.insert(); } // IF(!CustomerGroup::find(_C ustomer.CustGrou pId)) { _CustomerGroup.clear(); _CustomerGroup.CustGroupId = _Customer.CustGroupId; _CustomerGroup.NamaCustGroup = strLRTrim(RS.getString(13)); _CustomerGroup.insert(); } // IF(!Item::find(_penj ualan_Temp.ItemId)) { _Item.clear(); _Item.ItemId = _penjualan_Temp.ItemId; _Item.NamaItem = strLRTrim(RS.getString(21)); _Item.PrincipalId = strLRTrim(RS.getString(22)); _Item.ItemGroupId = strLRTrim(RS.getString(24)); _Item.insert(); } // IF(!Principal::find(_Item.Prin cipalId)) { _Principal.clear(); _Principal.PrincipalId = _Item.PrincipalId; _Principal.NamaPrincipal = strLRTrim(RS.getString(23)); _Principal.insert(); } // IF(!ItemGroup::find (_Item.ItemGroupId )) { _ItemGroup.clear(); _ItemGroup.ItemGroupId = _Item.ItemGroupId; _ItemGroup.NamaItemGroup = strLRTrim(RS.getString(25)); _ItemGroup.insert(); } // IF(!MedicalRepresentative::find(_penjualan_Temp.MedRepI d)) { _MedicalRepresentative.clear(); _MedicalRepresentative.MedRepId = _penjualan_Temp.MedRepId; _MedicalRepresentative.NamaMedRep = strLRTrim(RS.getString(28)); _MedicalRepresentative.PrincipalId = _Principal.PrincipalId; _MedicalRepresentative.insert(); } // IF(!DataMilik::find(_penjualan_Temp.DataMilikId))
250 { _DataMilik.clear(); _DataMilik.DataMilikId = _penjualan_Temp.DataMilikId; _DataMilik.NamaDataMilik = strLRTrim(RS.getString(31)); _DataMilik.insert(); } // IF(!Penjualan::find(strKodeCabang, _penjualan_Temp.SalesNo, _penjualan_Temp.ItemId)) { _Penjualan.clear(); _Penjualan.CabangId = (_penjualan_Temp.CabangId ? _penjualan_Temp.CabangId : _Penjualan.CabangId); _Penjualan.SalesNo = (_penjualan_Temp.SalesNo ? _penjualan_Temp.SalesNo : _Penjualan.SalesNo); _Penjualan.InvoiceNo = (_penjualan_Temp.InvoiceNo ? _penjualan_Temp.InvoiceNo : _Penjualan.InvoiceNo); _Penjualan.InvoiceDate = (_penjualan_Temp.InvoiceDate ? _penjualan_Temp.InvoiceDate : _Penjualan.InvoiceDate); _Penjualan.CustId = (_penjualan_Temp.CustId ? _penjualan_Temp.CustId : _Penjualan.CustId); _Penjualan.ItemId = (_penjualan_Temp.ItemId ? _penjualan_Temp.ItemId : _Penjualan.ItemId); _Penjualan.Currency_Code = (_penjualan_Temp.Currency_Code ? _penjualan_Temp.Currency_Co de : _Penjualan.Currency_Code); _Penjualan.MedRepId = (_penjualan_Temp.MedRepId ? _penjualan_Temp.MedRepId : _Penjualan.MedRepId); _Penjualan.StatusSales = (_penjualan_Temp.StatusSales ? _penjualan_Temp.StatusSales : _Penjualan.StatusSales); _Penjualan.DataMilikId = (_penjualan_Temp.DataMilikId ? _penjualan_Temp.DataMilikId : _Penjualan.DataMilikId); _Penjualan.Qty = (_penjualan_Temp.Qty ? _penjualan_Temp.Qty : _Penjualan.Qty); _Penjualan.SalesPrice = (_penjualan_Temp.SalesPrice ? _penjualan_Temp.SalesPrice : _Penjualan.SalesPrice); _Penjualan.SalesAmount = (_penjualan_Temp.SalesAmount ? _penjualan_Temp.SalesAmount : _Penjualan.SalesAmount); _Penjualan.Principal_Disc = (_penjualan_Temp.Principal_Disc ? _penjualan_Temp.Principal_Disc : _Penjualan.Principal_Disc); _Penjualan.Principal_Disc_Amt = (_penjualan_Temp.Principal_Disc_Amt ? _penjualan_Temp.Principal_Disc_Amt : _Penjualan.Principal_Disc_Amt); _Penjualan.Distributor_Disc = (_penjualan_Temp.Distributor_Disc ? _penjualan_Temp.Distributor_Disc : _Penjualan.Distributor_Disc); _Penjualan.Distributor_Disc_Amt = (_penjualan_Temp.Distributor_Disc_Amt ? _penjualan_Temp.Distributor_Disc_Amt : _Penjualan.Distributor_Disc_Amt); // if (_Penjualan.validateWrite()) { _Penjualan.insert(); intinsert++; } } } catch (Exception::Error) { } } // IF(bolNormal == TRUE) { ttscommit; } ELSE { Info("Abnormal Invoice Date !!!"); ttsabort; } // RS.close();
251 s.executeUpdate("DR OP TABLE " + strTableName); S.close(); S = null; // Info("File berhasil diupload!!!"); } }
Proses ETL dari da ta staging ke dalam data wa rehouse / da ta mart dibuat den gan menggunak an alat bantu ETL bawaan dari Microsoft Dynamics Ax 2009. Hal pentin g yang h ar us dilak ukan sebelum proses ETL dilakukan adalah sebuah query har us dibuat terlebih dahulu, dimana query tersebut harus m enghubun gkan relasi antara tabel-tabel yan g terdapat di dalam data stag ing. Qu ery dibuat ber dasarkan sta r schema dar i masin g-m asin g informasi seperti yang dilih at pada gam bar 4.46 s/d gam bar 4.50, dan berik ut adalah tampilan query dari star schema tersebut:
252
•
Query untuk star schema penjualan aktual :
G am bar 4.62 Query unt uk star sch ema penjualan akt ual
253
•
Query untuk star schema penjualan aktual target :
G am bar 4.63 Query unt uk star sch em a penjualan akt ual tar get
254
•
Query untuk star schema persediaan barang :
Gambar 4.64 Query unt uk star sch ema persediaan barang
•
Query untuk star schema piutan g:
G am bar 4.65 Query unt uk star sch em a piutang
255
•
Query untuk sta r schema collection p elan ggan :
Gambar 4.66 Query untuk star schem a collection pelan ggan
Setelah query dibuat, lan gkah selan jutnya adalah m embuat kubus ber dasarkan m asin g-m asin g star schema. Proses pembuatan k ubus untuk masingmasing star schem a meliputi pem buatan m etrik / measurement dan pem buatan dim ensi. Berik ut adalah tahapan-tahapan yang dilak ukan dalam m em buat kubus antara lain :
256
¾ Untuk k ubus penjualan aktual: 1. Tentukan terlebih dah ulu nama dari k ubus yan g akan dibuat, dan tentuk an juga query y ang akan digunakan sep erti gambar dibawah ini :
G ambar 4.67 Pembuatan Kubus Penjualan Aktual
2. Tentukan terlebih dah ulu metrik/measurement dari kubus yan g akan dibuat, tentukan field dari query yang akan dipak ai, dan tentukan juga f un gsi agregasi yang akan digunakan untuk m asin g-m asin g metrik/measurement tersebut seperti gam bar dibawah ini :
G ambar 4.68 Penentuan Metrik / Measurement Kubus Penjualan Aktual
Ada beberapa metrik/measurem ent yan g ditambahkan sebagai calculated mem ber pada k ubus penjualan aktual y ang bisa m em bantu pihak ek sek utif dalam m elak ukan analisis antara lain :
257
• Last Month Gro ss Sales. Metrik/m easurement ini digunakan untuk men ganalisis nilai pen jualan bulan lalu. Adapun query unt uk m etrik/m easurem ent ini adalah : (ParallelPeriod([Periode_O LAPUBI1240_].CurrentMember.Level, [Periode_O LAPUB I1240_].C urrentMember),[Measures].[Sales Amount Aktual])
1,
• Last Month Qty Sales. Metrik/m easurement ini digunakan unt uk mengan alisis qty penjualan bulan lalu. Adapun query unt uk m etrik/m easurem ent ini adalah : (ParallelPeriod([Periode_O LAPUBI1240_].CurrentMember.Level, 1, [Periode_O LAPUB I1240_].C urrentMember),[Measures].[Sales Qty Aktual]) • Last Year Gross Sales. Metrik/m easurement ini digunakan untuk men ganalisis nilai pen jualan tahun lalu. Adapun query unt uk m etrik/m easurem ent ini adalah : (ParallelPeriod([Periode_O LAPUBI1240_].CurrentMember.Level, 12, [Periode_O LAPUB I1240_].C urrentMember),[Measures].[Sales Amount Aktual]) • Last Year Qty Sales. Metrik/m easurement ini digunakan unt uk mengan alisis qty penjualan tahun lalu. Adapun query unt uk m etrik/m easurem ent ini adalah : (ParallelPeriod([Periode_O LAPUBI1240_].CurrentMember.Level, 12, [Periode_O LAPUB I1240_].C urrentMember),[Measures].[Sales Qty Aktual]) • YTD Gro ss Sales. Metrik/m easurement ini digun akan untuk menganalisis n ilai pen jualan Yea r To Da te. Adapun query unt uk m etrik/m easurement ini adalah :
258
Sum (Ytd([Periode_O LAPUB I1240_].CurrentMem ber),[Measures].[Sal es Amount Aktual]) • YTD Qty Sales. Metrik/m easurement ini digunakan unt uk menganalisis qty penjualan Yea r To Da te. Adapun query unt uk m etrik/m easurement ini adalah :
Sum (Ytd([Periode_O LAPUB I1240_].CurrentMem ber),[Measures].[Sal es Q ty Aktual]) • Last Year YTD Gro ss Sales. Metrik/m easurement ini digun akan untuk menganalisis n ilai pen jualan Yea r To Da te tah un lalu. Adapun query untuk m etrik/m easurem ent ini adalah : (ParallelPeriod([Periode_O LAPUBI1240_].CurrentMember.Level, 12, [Periode_O LAPUB I1240_].C urrentMember),[Measures].[YTD G ross Sales]) • Last Year YTD Qty Sales. Metrik/m easurement ini digunakan unt uk menganalisis qty penjualan Yea r To Da te tah un lalu. Adapun query untuk m etrik/m easurem ent ini adalah : (ParallelPeriod([Periode_O LAPUBI1240_].CurrentMember.Level, 12, [Periode_O LAPUB I1240_].C urrentMember),[Measures].[YTD Q ty Sales]) • %Monthly Chan ged Gross Sales. Metrik/m easurement perubahan
nilai
ini
digunakan
penjualan
p er
unt uk bulan.
mengan alisis Adapun
persentasi
query
untuk
m etrik/m easurem ent ini adalah :
(([Measures].[Sales Amount Aktual]/[Measures].[Last Month G ross Sales])-1)*100
259
• %Monthly Chan ged Qty Sales. Metrik/m easurement perubahan
qty
ini
digunakan
penjualan
per
unt uk bulan.
mengan alisis Adapun
persentasi
query
untuk
m etrik/m easurem ent ini adalah : (([Measures].[Sales Q ty Aktual]/[Measures].[Last Month Q ty Sales])1)*100 • %Yearly Changed Gro ss Sales. Metrik/m easurement perubahan
nilai
ini
digunakan
penjualan
p er
unt uk tahun.
mengan alisis Adapun
persentasi
query
untuk
m etrik/m easurem ent ini adalah : (([Measures].[Sales Amount Aktual]/[Measures].[Last Year G ross Sales])-1)*100 • %Yearly Changed Qty Sales. Metrik/m easurement perubahan
qty
ini
digunakan
penjualan
per
unt uk tah un.
mengan alisis Adapun
persentasi
query
untuk
m etrik/m easurem ent ini adalah :
(([Measures].[Sales Q ty Aktual]/[Measures].[Last Year Q ty Sales])1)*100 • %YTD Chan ged Gro ss Sales. Metrik/m easurement perubahan
ini
digunakan
nilai p enjualan
Yea r To
unt uk
mengan alisis
Date. Adap un
persentasi
query
untuk
m etrik/m easurem ent ini adalah :
(([Measures].[YTD G ross Sales]/[Measures].[Last Year YTD G ross Sales])-1)*100
260
• %YTD Chan ged Qty Sales. Metrik/m easurement perubahan
qty
ini
penjualan
digunakan Yea r
To
unt uk Date.
mengan alisis Adap un
persentasi
query
untuk
m etrik/m easurem ent ini adalah :
(([Measures].[YTD Q ty Sales]/[Measures].[Last Year YTD Q ty Sales])1)*100 3. Tentukan dimensi dari kubus yan g akan dibuat kemudian tentukan tipe dim ensi yang akan digunak an apakah tipe regula r ataup un tipe time sep erti gam bar dibawah ini :
Gambar 4.69 Penentuan Dim en si Kubus Pen jualan Akt ual
4. Tentukan level dar i masin g-m asin g dimensi dari kubus yan g akan dibuat, dan tentukan dari tabel m ana dan dari field m ana level tersebut dibuat seperti gam bar dibawah ini :
261
• Untuk Dimensi Cabang :
Gambar 4.70 Penentuan Level Dim ensi Caban g Kubus Penjualan Aktual • Untuk Dimensi Custom er :
Gambar 4.71 Penentuan Level Dimen si Custom er Kubus Penjualan Aktual
• Untuk Dimensi Custom er Group :
Gambar 4.72 Penentuan Level Dimensi Cu stom er Group Kubus Penjualan Aktual
262
• Untuk Dimensi Data Milik :
Gam bar 4.73 Penentuan Level Dimen si Data Milik Kubus Penjualan Aktual
• Untuk Dimensi Item :
G am bar 4.74 Penentuan Level Dim en si Item Kubus Penjualan Aktual
• Untuk Dimensi Item Group :
G am bar 4.75 Penentuan Level Dimen si Item Group Kubus Penjualan Aktual
263
• Untuk Dimensi Medical Representative :
Gambar 4.76 Penentuan Level Dimensi Med ical Representative Kubus Penjualan Aktual
• Untuk Dimensi Perio de :
Gambar 4.77 Penentuan Level Dim ensi Periode Kubus Penjualan Aktual
• Untuk Dimensi Principal :
Gambar 4.78 Penentuan Level Dimen si Prin cipal Kubus Penjualan Aktual
264
• Untuk Dimensi Sales Group :
G am bar 4.79 Penentuan Level Dim en si Sales Group Kubus Penjualan Aktual
• Untuk Dimensi Status Sales :
G am bar 4.80 Penentuan Level Dim en si Stat us Sa les Kubus Penjualan Aktual
• Untuk Dimensi Territory :
Gambar 4.81 Penentuan Level Dimensi Territo ry Kubus Penjualan Akt ual
265
• Untuk Dimensi Wide Territo ry :
Gambar 4.82 Penentuan Level Dim ensi Wid e Territory Kubus Penjualan Aktual
5. Setelah kubus dibuat berdasarkan star sch em a, maka tugas selanjutnya adalah melakuk an transfer k ubus yang dibuat melalui alat bantu ETL Microsoft Dynamics Ax 2009 ini k e dalam Microsoft SQL Server 2000 seperti gam bar dibawah ini :
G am bar 4.83 Proses Tran sfer Kubus Pen jualan Akt ual
6. Proses pem buatan k ubus selesai dilak ukan, dan tugas selanjutnya dalah mem proses kubus ter sebut sehin gga informasi yang ber asal dari data stag ing dilak ukan proses ETL dan dim asukkan k e dalam data warehouse / da ta mart seperti gam bar dibawah ini :
266
Gambar 4.84 Proses Kubus Penjualan Aktual
¾ Untuk k ubus penjualan aktual Target : 1. Tentukan terlebih dah ulu nam a dari k ubus yang akan dibuat, dan tentuk an juga query y ang akan digunakan sep erti gambar dibawah ini :
G ambar 4.85 Pembuatan k ubus Pen jualan Akt ual Tar get
2. Tentukan terlebih dah ulu metrik/measurement dari kubus yan g akan dibuat, tentukan field dari query yang akan dipak ai, dan tentukan juga f un gsi agregasi yang akan digunakan untuk m asin g-m asin g metrik/measurement tersebut seperti gam bar dibawah ini :
267
G ambar 4.86 Penentuan Metrik / M easurement Kubus Penjualan Aktual Tar get
Beberapa m etrik/m easurem ent yang ditambahk an sebagai calcula ted mem ber pada kubus penjualan aktual target yang bisa membantu pihak eksekutif dalam melakuk an analisis antara lain : • %Achieved In Qty Sales. Metrik/m easurement
ini
digunakan
unt uk
mengan alisis
persentasi
pencapaian qty (quantity) penjualan akt ual diban dingk an den gan tar get penjualan. Adap un query untuk metrik/measurement ini adalah: [Measures].[Sales Q ty Aktual]/[Measures].[Sales Q ty Target]*100 • %Achieved In Gross Sales. Metrik/m easurement
ini
digunakan
unt uk
mengan alisis
persentasi
pencapaian nilai penjualan akt ual diban dingk an den gan target penjualan . Adap un query untuk metrik/measurem ent ini adalah: [Measures].[Sales Target]*100
Amount
Aktual]/[Measures].[Sales
Amount
268
• Last Month Qty Sales Aktual. Metrik/m easurement ini digunakan untuk men ganalisis qty penjualan akt ual bulan lalu. Adap un query untuk metrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUBI1232_].CurrentMember.Level, 1, [Periode_O LAPUB I1232_].C urrentMember),[Measures].[Sales Qty Aktual]) • Last Month Qty Sales Target. Metrik/m easurement ini digunakan untuk men ganalisis qty target penjualan bulan lalu. Adap un query untuk metrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUBI1232_].CurrentMember.Level, 1, [Periode_O LAPUB I1232_].C urrentMember),[Measures].[Sales Qty Target]) • Last Month Gro ss Sales Actual. Metrik/m easurement ini digunak an untuk menganalisis n ilai penjualan aktual bulan lalu. Adap un query unt uk metrik/measurement ini adalah : (ParallelPeriod([Periode_O LAPUBI1232_].CurrentMember.Level, [Periode_O LAPUB I1232_].C urrentMember),[Measures].[Sales Amount Aktual]) • Last Month Gro ss Sales Tar get. Metrik/m easurement ini digunakan
1,
untuk m enganalisis nilai tar get
penjualan bulan lalu. Adap un qu ery untuk metrik/measurement ini adalah: (ParallelPeriod([Periode_O LAPUBI1232_].CurrentMember.Level, [Periode_O LAPUB I1232_].C urrentMember),[Measures].[Sales Amount Target])
1,
• %Achieved In Last Month Qty Sales. Metrik/m easurement ini digun akan untuk men ganalisis pencapaian qty penjualan bulan lalu. Adap un qu ery untuk metrik/measurement ini adalah: [Measures].[Last Month Q ty Sales Aktual]/[Measures].[Last Month Q ty Sales Ta rget]*100
269
• %Achieved In Last Month Gro ss Sales. Metrik/m easurement ini digun akan untuk m en ganalisis pencapaian nilai penjualan bulan lalu. Adap un qu ery untuk metrik/measurement ini adalah: [Measures].[Last Month Gross Sales Actual]/[Measures].[Last Month G ross Sales Target]*100 • YTD Gro ss Sales Aktual. Metrik/m easurement ini digunak an untuk menganalisis n ilai penjualan aktual Year To Date. Adap un query unt uk metrik/measurement ini adalah : Sum (Ytd([Periode_O LAPUB I1232_].CurrentMem ber),[Measures].[Sal es Amount Aktual]) • YTD Gro ss Sales Target. Metrik/m easurement ini digunakan
untuk m enganalisis nilai tar get
penjualan Year To Date. Adapun query untuk m etrik/m easurem ent in i adalah: Sum (Ytd([Periode_O LAPUB I1232_].CurrentMem ber),[Measures].[Sal es Amount Target]) • YTD Qty Sales Aktual. Metrik/m easurement ini digunakan untuk men ganalisis qty penjualan akt ual Year To Date. Adap un query untuk metrik/measurement ini adalah: Sum (Ytd([Periode_O LAPUB I1232_].CurrentMem ber),[Measures].[Sal es Q ty Aktual]) • YTD Qty Sales Tar get. Metrik/m easurement ini digunakan untuk men ganalisis qty target penjualan Year To Date. Adap un query untuk metrik/measurement ini adalah: Sum (Ytd([Periode_O LAPUB I1232_].CurrentMem ber),[Measures].[Sal es Q ty Target])
270
3. Tentukan dimensi dar i k ubus yang akan dibuat, kemudian tentukan tipe dimensi yan g akan digunakan apakah tipe regular ataupun tipe time seperti gam bar dibawah ini :
Gambar 4.87 Penentuan Dim en si Kubus Penjualan Akt ual Tar get
4. Tentukan level dar i masin g-m asin g dimensi dari kubus yan g akan dibuat, dan tentukan dari tabel mana dan dari field mana level terebut dibuat seperti gam bar dibawah ini : • Untuk Dimensi Cabang :
G ambar 4.88 Penentuan Level Dim ensi Caban g Kubus Penjualan Aktual Tar get
271
• Untuk Dimensi Custom er :
Gambar 4.89 Penentuan Level Dimen si Custom er Kubus Penjualan Aktual Target
• Untuk Dimensi Custom er Group :
Gambar 4.90 Penentuan Level Dimensi Cu stom er Group Kubus Penjualan Aktual Target
272
• Untuk Dimensi Item :
G am bar 4.91 Penentuan Level Dimen si Item Kubus Penjualan Aktual Target
• Untuk Dimensi Item Group :
Gam bar 4.92 Penentuan Level Dimen si Item Group Kubus Penjualan Aktual Target • Untuk Dimensi Perio de :
G ambar 4.93 Penentuan Level Dim ensi Periode Kubus Penjualan Aktual Tar get
273
• Untuk Dimensi Principal :
Gambar 4.94 Penentuan Level Dimensi Prin cipal Kubus Penjualan Aktual Target
• Untuk Dimensi Sales Group :
G am bar 4.95 Penentuan Level Dim en si Sales Group Kubus Penjualan Aktual Target
274
• Untuk Dimensi Territory :
Gambar 4.96 Penentuan Level Dimensi Territo ry Kubus Penjualan Aktual Tar get
• Untuk Dimensi Wide Territo ry :
G ambar 4.97 Penentuan Level Dim ensi Wid e Territory Kubus Penjualan Aktual Target
5. Setelah kubus dibuat berdasarkan star sch em a, maka tugas selanjutnya adalah melakuk an tran sfer k ubus yang dibuat melalui alat bant u ETL Microsoft Dynamics Ax 2009 ini ke dalam Microsoft SQL Server 2000 seperti gambar di bawah ini :
275
G am bar 4.98 Proses Tran sfer Kubus Pen jualan Akt ual Tar get
6. Proses pem buatan k ubus selesai dilak ukan, dan tugas selanjutnya dalah mem proses kubus ter sebut sehin gga informasi yang ber asal dari data stag ing dilak ukan proses ETL dan dim asukkan k e dalam data warehouse / da ta mart seperti gam bar dibawah ini :
Gambar 4.99 Proses Kubus Penjualan Aktual Target
276
¾ Untuk k ubus penjualan Per sediaan Baran g: 1. Tentukan terlebih dah ulu nam a dari k ubus yang akan dibuat, dan tentuk an juga query y ang akan digunakan sep erti gambar dibawah ini :
Gambar 4.100 Pembuatan Kubus Per sediaan Bar an g
2. Tentukan terlebih dah ulu metrik/measurement dari kubus yan g akan dibuat, tentukan field dari query yang akan dipak ai, dan tentukan juga f un gsi agregasi yang akan digunakan untuk m asin g-m asin g metrik/measurement tersebut seperti gam bar dibawah ini :
Gambar 4.101 Penentuan Metrik / M easu rem ent Kubus Per sediaan Bar an g
Ada beberapa metrik/measurem ent yan g ditambahkan sebagai calculated mem ber pada k ubus persediaan bar an g yan g bisa m em bantu pih ak ek sek utif dalam m elak ukan analisis antara lain :
277
• Last Month Qty. Metrik/m easurement ini digun akan unt uk menganalisis qty persediaan baran g bulan lalu. Adap un query untuk metrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUBI1236_].CurrentMember.Level, [Periode_O LAPUB I1236_].C urrentMember),[Measures].[Q ty])
1,
• Last Month Am ount. Metrik/m easurement ini digun akan unt uk m enganalisis nilai per sediaan baran g bulan lalu. Adap un query untuk metrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUBI1236_].CurrentMember.Level, [Periode_O LAPUB I1236_].C urrentMember),[Measures].[Nilai Persediaan])
1,
• Last Year Qty. Metrik/m easurement ini digun akan unt uk menganalisis qty persediaan baran g tahun lalu. Adap un query untuk metrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUBI1236_].CurrentMember.Level, 12, [Periode_O LAPUB I1236_].C urrentMember),[Measures].[Q ty]) • Last Year Amount. Metrik/m easurement ini digun akan unt uk m enganalisis nilai per sediaan baran g tahun lalu. Adap un query untuk metrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUBI1236_].CurrentMember.Level, 12, [Periode_O LAPUB I1236_].C urrentMember),[Measures].[Nilai Persediaan])
3. Tentukan dimensi dar i kubus y an g ak an dibuat, dan tentukan juga tipe dim ensi yang akan digunak an apakah tipe regula r ataup un tipe time sep erti gam bar dibawah ini :
278
Gam bar 4.102 Penentuan Dim en si Kubus Per sediaan Baran g
4. Tentukan level dar i masin g-m asin g dimensi dari kubus yan g akan dibuat, dan tentukan dari tabel mana dan dari field mana level terebut dibuat seperti gam bar dibawah ini :
• Untuk Dimensi Batch Num ber:
Gambar 4.103 Penentuan Level Dim ensi Ba tch Number Kubus Persediaan Bar an g
279
• Untuk Dimensi Cabang :
Gambar 4.104 Penentuan Level Dimensi Caban g Kubus Per sediaan Bar an g
• Untuk Dimensi Tanggal Kadaluar sa:
G ambar 4.105 Penentuan Level Dim en si Tanggal Kadaluarsa Kubus Persediaan Bar an g • Untuk Dimensi Item :
G ambar 4.106 Penentuan Level Dim en si Item Kubus Per sediaan Barang
280
• Untuk Dimensi Item Group :
G ambar 4.107 Penentuan Level Dimen si Item Group Kubus Per sediaan Bar ang
• Untuk Dimensi Perio de :
Gambar 4.108 Penentuan Level Dimensi Periode Kubus Per sediaan Bar an g
• Untuk Dimensi Principal :
G am bar 4.109 Penentuan Level Dimen si Prin cipal Kubus Persediaan Baran g
281
• Untuk Dimensi Warehouse:
G ambar 4.110 Penentuan Level Dimen si Warehou se Kubus Per sediaan Barang
5. Setelah kubus dibuat berdasarkan star sch em a, maka tugas selanjutnya adalah melakuk an tran sfer k ubus yang dibuat melalui alat bant u ETL Microsoft Dynamics Ax 2009 ini k e dalam Microsoft SQL Server 2000 seperti gam bar dibawah ini :
G ambar 4.111 Proses Tran sfer Kubus Per sediaan Barang
6. Proses pem buatan k ubus selesai dilak ukan, dan tugas selanjutnya dalah mem proses kubus ter sebut sehin gga informasi yang ber asal dari data stag ing dilak ukan proses ETL dan dim asukkan k e dalam data warehouse / da ta mart seperti gam bar dibawah ini :
282
G am bar 4.112 Proses Kubus Persediaan Bar an g
¾ Untuk k ubus penjualan Piutan g: 1. Tentukan terlebih dah ulu nam a dari k ubus yang ak an dibuat, dan tentukan juga query yan g akan digunakan seperti gam bar dibawah ini :
G am bar 4.113 Pem buatan k ubus Piutang
2. Tentukan terlebih dah ulu metrik/measurement dari kubus yan g akan dibuat, tentukan field dari query yang akan dipakai, dan tentukan juga f un gsi agregasi yang akan digunakan untuk m asin g-m asin g metrik/measurement tersebut seperti gam bar dibawah ini :
283
G ambar 4.114 Penentuan Metrik / Measu rement Kubus Piutang
Ada beberapa metrik/measurem ent yan g ditambahkan sebagai calculated mem ber pada kubus piutang yang bisa m em bantu pihak eksek utif dalam melakuk an analisis antara lain : • Last Month AR 0 30. Metrik/measurement ini digunak an untuk m enganalisis um ur piutang 0 – 30 hari bulan lalu. Adapun qu ery untuk m etrik/m easurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, [Periode_O LAPUBI1238_].C urrentMember),[Measures].[AR 0 30])
1,
• Last Month AR 30 60. Metrik/measurement ini digunakan untuk menganalisis um ur piutang 30 – 60 hari bulan lalu. Adapun qu ery untuk m etrik/m easurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, [Periode_O LAPUBI1238_].C urrentMember).[Measures].[AR 30 60])
1,
• Last Month AR 60 90. Metrik/measurement ini digunakan untuk menganalisis um ur piutang 60 – 90 hari bulan lalu. Adapun qu ery untuk m etrik/m easurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, [Periode_O LAPUBI1238_].C urrentMember),[Measures].[AR 60 90])
1,
284
• Last Month AR 90 Keatas. Metrik/measurement ini digun akan untuk m enganalisis um ur piutang 90 har i ke atas bulan lalu. Adap un query untuk m etrik/m easurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, 1, [Periode_O LAPUBI1238_].C urrentMember),[Measures].[AR 90 Keatas]) • Last Year AR 0 30. Metrik/measurement ini digunak an untuk m enganalisis um ur piutang 0 – 30 hari tahun lalu. Adapun qu ery untuk m etrik/m easurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, [Periode_O LAPUBI1238_].C urrentMember),[Measures].[AR 0 30])
12,
• Last Year AR 30 60. Metrik/measurement ini digunakan untuk menganalisis um ur piutang 30 – 60 hari tahun lalu. Adapun qu ery untuk m etrik/m easurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, [Periode_O LAPUBI1238_].C urrentMember),[Measures].[AR 30 60])
12,
• Last Year AR 60 90. Metrik/measurement ini digunakan untuk menganalisis um ur piutang 60 – 90 hari tahun lalu. Adapun qu ery untuk m etrik/m easurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, [Periode_O LAPUBI1238_].C urrentMember),[Measures].[AR 60 90])
12,
• Last Year AR 90 Keatas. Metrik/measurement ini digun akan untuk m enganalisis um ur piutang 90 har i ke atas tah un lalu. Adapun query untuk m etrik/m easurement ini adalah: (ParallelPeriod([Periode_O LAPUB I1238_].CurrentMem ber.Level, 12, [Periode_O LAPUBI1238_].C urrentMember),[Measures].[AR 90 Keatas])
285
• %Monthly Chan ged AR 90 Keatas. Metrik/measurement ini digunakan untuk m en ganalisis persentasi per ubahan umur
piutang
90
hari
keatas
per
bulan.
Adap un
query
untuk
metrik/m easurement ini adalah: (([Measures].[AR 90 (([Measures].[AR 90 Month AR 90 Keatas])-1)*100
Keatas]/[Measures].[Last
• %Year ly Chan ged AR 90 Keatas. Metrik/measurement ini digunakan untuk m en ganalisis persentasi per ubahan umur
piutang
90
hari
keatas
per
tahun.
Adap un
query
untuk
metrik/m easurement ini adalah: (([Measures].[AR 90 Keatas]/[Measures].[Last Year AR 90 Keatas])1)*100 3. Tentukan dimensi dar i kubus y an g ak an dibuat, dan tentukan juga tipe dim ensi yang akan digunakan apakah tipe regular ataup un tipe time seperti gam bar di bawah ini:
Gambar 4.115 Penentuan Dimen si Kubus Piutang 4. Tentukan level dar i masin g-m asin g dimensi dari kubus yan g akan dibuat, dan tentukan dari tabel mana dan dari field mana level terebut dibuat seperti gam bar di bawah ini :
286
• Untuk Dimensi Cabang :
G ambar 4.116 Penentuan Level Dimen si Cabang Kubus Piutang
• Untuk Dimensi Custom er:
Gambar 4.117 Penentuan Level Dim en si Cu stomer Kubus Piutang
287
• Untuk Dimensi Custom er Group:
Gambar 4.118 Penentuan Level Dim en si Cu stomer Group Kubus Piutan g • Untuk Dimensi Perio de:
G ambar 4.119 Penentuan Level Dimen si Perio de Kubus Piutang
• Untuk Dimensi Principal:
Gambar 4.120 Penentuan Level Dim en si Principal Kubus Piutang
288
• Untuk Dimensi Sales Group :
G am bar 4.121 Penentuan Level Dimensi Sales Group Kubus Piutan g
• Untuk Dimensi Territory:
Gambar 4.122 Penentuan Level Dim en si Territo ry Kubus Piutang
• Untuk Dimensi Wide Territo ry:
G ambar 4.123. Penentuan Level Dimen si Wid e Territory Kubus Piutang
289
5. Setelah kubus dibuat berdasarkan star sch em a, maka tugas selanjutnya adalah melakuk an tran sfer k ubus yang dibuat melalui alat bant u ETL Microsoft Dynamics Ax 2009 ini ke dalam Microsoft SQL Server 2000 seperti gambar di bawah ini:
Gam bar 4.124 Proses Tran sfer Kubus Piutan g
6. Proses pem buatan k ubus selesai dilak ukan, dan tugas selanjutnya dalah mem proses kubus ter sebut sehin gga informasi yang ber asal dari data stag ing dilak ukan proses ETL dan dim asukkan k e dalam data warehouse / da ta mart seperti gam bar di bawah ini:
Gambar 4.125 Proses Kubus Piutan g
290
¾ Untuk k ubus Collection Pelan ggan: 1.
Tentukan terlebih dah ulu nam a dari k ubus yang ak an dibuat, dan tentukan juga query yan g akan digunakan seperti gam bar dibawah ini :
G am bar 4.126 Pem buatan Kubus Collection Pelan ggan
2. Tentukan terlebih dah ulu metrik/measurement dari kubus yan g akan dibuat, tentukan field dari query yang akan dipakai, dan tentukan juga f un gsi agregasi yang akan digunakan untuk m asin g-m asin g metrik/measurement tersebut seperti gam bar di bawah ini:
G am bar 4.127 Penentuan Metrik / Measu rem ent Kubus Collection Pelan ggan
291
Ada beberapa metrik/measurem ent yan g ditambahkan sebagai calculated mem ber pada kubus piutang yang bisa m em bantu pihak eksek utif dalam melakuk an analisis antara lain : • Last Month Jum lah Co llection. Metrik/measurement ini digunakan unt uk menganalisis jum lah collection pelan ggan bulan lalu. Adap un query untuk m etrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1239_].CurrentMem ber.Level, [Periode_O LAPUBI1239_].C urrentMember),[Measures].[Jumlah Collection])
1,
• Last Year Jumlah Collection. Metrik/measurement ini digunakan unt uk menganalisis jum lah collection pelan ggan tahun lalu. Adap un query untuk m etrik/measurem ent ini adalah: (ParallelPeriod([Periode_O LAPUB I1239_].CurrentMem ber.Level, [Periode_O LAPUBI1239_].C urrentMember),[Measures].[Jumlah Collection])
12,
• %Monthly Chan ged Jumlah Collection. Metrik/measurement ini digunak an untuk m enganalisis per sentase per ubahan jumlah
collection
pelanggan
p er
bulan.
Adapun
qu ery
untuk
metrik/m easurement ini adalah: (([Measures].[Jumlah Collection])-1)*100
Collection]/[Measures].[Last
Month
Jumlah
• %Year ly Chan ged Jum lah Collection. Metrik/measurement ini digunak an untuk m enganalisis per sentase per ubahan jumlah
collection
pelanggan
p er
tahun.
Adapun
qu ery
untuk
metrik/m easurement ini adalah: (([Measures].[Jumlah Collection])-1)*100
Collection]/[Measures].[Last
Year
Jum lah
292
3. Tentukan dimensi dar i kubus y an g ak an dibuat, dan tentukan juga tipe dim ensi yang akan digunak an apakah tipe regula r ataup un tipe time sep erti gam bar dibawah ini :
G ambar 4.128 Penentuan Dimensi Kubus Co llection Pelanggan
4. Tentukan level dar i masin g-m asin g dimensi dari kubus yan g akan dibuat, dan tentukan dari tabel m ana dan dari field m ana level tersebut dibuat seperti gam bar dibawah ini : • Untuk Dimensi Cabang :
G am bar 4.129 Penentuan Level Dimen si Cabang Kubus Collection Pelanggan
293
• Untuk Dimensi Custom er:
Gambar 4.130 Penentuan Level Dim en si Cu stomer Kubus Collection Pelanggan
• Untuk Dimensi Custom er Group:
Gam bar 4.131 Penentuan Level Dimensi Cu stom er Group Kubus Collection Pelan ggan • Untuk Dimensi Perio de:
Gambar 4.132 Penentuan Level Untuk Dim ensi Periode Kubus Collection Pelan ggan
294
• Untuk Dimensi Principal:
Gambar 4.133 Penentuan Level Dim en si Principal Kubus Collection Pelanggan
• Untuk Dimensi Sales Group :
G ambar 4.134 Penentuan Level Dimen si Sales Group Kubus Collection Pelan ggan • Untuk Dimensi Territory:
G ambar 4.135 Penentuan Level Dim en si Territory Kubus Co llection Pelanggan
295
• Untuk Dimensi Wide Territo ry:
Gambar 4.136 Penentuan Level Dim ensi Wide Territory Kubus Collection Pelan ggan
5. Setelah kubus dibuat berdasarkan star sch em a, maka tugas selanjutnya adalah melakuk an tran sfer k ubus yang dibuat melalui alat bant u ETL Microsoft Dynamics Ax 2009 ini k e dalam Microsoft SQL Server 2000 seperti gam bar dibawah ini :
Gambar 4.137 Proses Transfer Kubus Co llection Pelan ggan
6. Proses pem buatan k ubus selesai dilak ukan, dan tugas selanjutnya dalah mem proses kubus ter sebut sehin gga informasi yang ber asal dari data stag ing dilak ukan proses ETL dan dim asukkan k e dalam data warehouse / da ta mart seperti gam bar di bawah ini:
296
Gambar 4.138 Proses Kubus Collection Pelanggan
B.
Mencoba integra si prose s ETL Pada tahap an ini, sem ua unit proses ETL y an g sudah dibuat, dilak ukan
proses testing sesuai den gan arus pro ses ETL yang sudah ditentuk an sep erti pada tabel 4.36 dan tabel 4.37. Dari proses testing tersebut, dip eroleh kesimpulan bah wa setiap ar us pro ses ETL berjalan den gan lan car sesuai den gan arus pro ses ETL yang sudah dirancan g sebelumnya.
C.
Menguji pe rforma prose s ETL Selama proses testing dilakukan, kin erja masin g-masin g proses ETL diuji
den gan cara m enggunakan data testing dalam volum e yang cuk up besar. Masingmasing proses ETL diuk ur kiner janya, seberapa lama proses ETL berlan gsung. Dari proses testin g tersebut, diperoleh kesimp ulan bah wa kin erja setiap pro ses ETL ber jalan dengan baik seperti tabel berik ut ini : Tabel 4.38 Hasil pengujian performa pro ses ETL No 1.
Waktu ya ng dibutuhka n 2 Menit
2.
Informasi yang di proses Penjualan dari tanggal 1 Januari 2010 s.d. 31 Janu ari 2010 Target Penjualan tahun 2010
3.
Piutang Pelanggan tangg al 31 Januari 2010
10 Detik
10 Menit
297
4.
Collection Pelanggan dari tangg al 1 Januari 2010 s.d. 31 Januari 2010 Persediaan Barang dari tangg al 1 Janu ari 2010 s.d. 31 Januari 2010
5.
D.
30 Detik 40 Detik
Melakukan uji coba quali ty assurance prose s ETL Kebany akan perusahaan tidak mengijinkan sebuah proses dipin dahkan k e
dalam lingk un gan pro duk si sampai pro ses tersebut benar- benar sudah m elewati proses test Quality Assurance (QA) yan g dilak ukan oleh divisi QA di per usahaan tersebut. Uji co ba QA pro ses ETL tidak dilak ukan oleh PT. XYZ seh ubun gan den gan tidak adanya divisi QA p ada PT. XYZ. Akan tetapi setiap pro ses ETL yang dipin dahkan ke dalam lin gkun gan pro duksi telah dijam in keak uratan dan kebenarannya kar ena adanya Service Level Agreement yan g sudah ditentuk an dar i awal seperti yang tertulis p ada tabel 4.21.
E.
Melakukan uji coba proses acceptance ETL Jika bu sin ess user secara aktif ik ut terlibat sejak kegiatan integrasi proses
ETL, m aka uji co ba accpetance seh ar usny a bisa dilakukan pada saat tersebut. Akan tetapi jika business user tidak ik ut terlibat sejak kegiatan integrasi pro ses ETL, maka sem ua f ungsi proses ETL harus bisa dijamin kelen gkapan dan keak uratannya kar ena hal in i tentu saja ak an mempengaruh i k ualitas data ke dep annya.
298
4.2. 5. 2
A pplicati on Development
Setelah melak ukan pen gembangan p rototype pada tahap sebelumnya m aka pengem ban gan proyek BI den gan pembuatan aplikasi. Proses pem buatan aplikasi bisa sederhan a ataup un kom pleks tergantun g dari sejauh mana teknologi yan g akan digunakan untuk kep erluan analisis.
A.
Menentuka n kebutuhan proyek final Pada tahapan ini, sem ua kebutuhan dari par a eksek utif PT. XYZ di kaji
ulan g sampai masuk ke tahap final. Adap un hal-hal yan g dikaji ulan g adalah kebutuhan seperti yan g sudah dijelaskan pada Project Requirement Defin ition di bab 4.3.3.1, dan Data Analysis di bab 4.3.3.2. Ber dasarkan h asil kajian ulan g terhadap k ebutuhan dari para ek sek utif PT. XYZ, diam bil kesimpulan bahwa sem ua kebut uhan y ang sudah diuraikan pada bab 4.3.3.1 dan pada bab 4.3.3.2 sudah sesuai dengan yang dip erlukan oleh pihak eksekutif PT. XYZ. Dengan kata lain, sem ua kebutuhan tersebut sudah m encapai tahap final dan sudah siap untuk dibuat.
B.
Merancang program aplika si Seperti yan g sudah dijelaskan pada bab 4.3.1 Fase Justification tahapan
Menulis Laporan evaluasi bahwa progr am aplikasi yang akan digunakan untuk merancang dan m em enuhi setiap kebutuhan analisis pihak eksek utif PT. XYZ adalah pro gram aplikasi Targit BI Suite. Program aplik asi Targit BI Suite dibagi m enjadi 2 y aitu :
299
1. Targit Managem ent Studio. Targit Management Studio digunakan unt uk melak ukan setup dan konfigurasi awal sebelum aplikasi Tar git BI Suite ini digunakan. Untuk bisa m asuk dalam proses setup dan konfigurasi ini hanya boleh dilak ukan oleh seorang System Adm inistra tor Tar git yan g diber i hak akses sebagai adm inistra tor. Pro ses otorisasi ini bisa dilihat sep erti gambar di bawah ini :
Gambar 4.139 Otorisasi Targit Management St udio
Adap un proses setup dan konfigurasi awal yang har us dilak ukan pada aplikasi Targit BI Suite ini antara lain : • System Tahapan ini akan menam pilkan informasi mengen ai sistem serv er yan g digun akan untuk aplikasi Targit Bi Suite.
300
Gambar 4.140 Setup dan Konfigurasi Targit BI Suite
• Setup Digunak an untuk m engatur server p roperties. Salah satu alat bant u yan g bisa digunakan adalah setup Alerts And Notification s, dimana alat bantu in i bisa digunak an sebagai perin gatan atau notifikasi kepada p ihak eksek utif jika salah sat u KPI yan g terdapat pada form at analisis yan g sudah dibuat sebelumnya mencapai titik terendah ataup un titik tertinggi. Den gan adany a notifikasi tersebut tentu akan m em udahkan pihak ek sek utif PT. XYZ untuk m engam bil lan gkah-lan gkah strategi secara cepat dan tepat. Adapun tampilan setup Alerts And Notifications bisa dilihat pada gam bar ber ikut ini:
301
G am bar 4.141 Setup dan Konfigur asi Alerts And Notifica tion s
• Connection Digunak an untuk m embuat koneksi ke da tabase BI. Aplikasi Tar git BI Suite bisa melakukan kon eksi ke multi-dimensional databa se seperti M S Analysis Services 2008, MS An aly sis Services 2005, MS Analysis Services 2000 , dan Prophix – M S Analy sis Services 2000. Database BI yang digunakan oleh PT. XYZ adalah MS An aly sis Services 2000, dan koneksi yang dibuat bisa dilihat pada gambar dibawah ini :
302
G am bar 4.142 Setup dan Konfigur asi Kon eksi Da tabase BI • License Digunakan untuk melihat dan mengubah license seperti gambar dibawah ini:
G ambar 4.143 Setup dan Konfigur asi Licen se Tar git BI Suite
303
• Language Digunak an untuk menent ukan bahasa apa yan g akan digun akan untuk m enggunakan ap likasi BI ini dan bahasa yan g dipilih oleh PT. XYZ adalah bahasa In ggris. Berikut adalah beberap a bahasa y an g diduk ung oleh Targit BI Suite antara lain:
G ambar 4.144 Setup dan Konfigur asi Languag e Targit BI Suite
• Resou rces Digunak an unt uk menyim pan gam bar yang digun akan untuk keperluan analisis seperti gam bar peta. PT. XYZ menam bahk an gam bar peta In donesia untuk keperluan analisis seperti gambar di bawah ini:
304
G am bar 4.145 Setup dan Konfigur asi Maps Resource Targit BI Suite
• Scheduler Digunak an untuk m elak uk an proses penjadwalan terhadap setiap peker jaan yang dilakuk an oleh pihak eksek utif PT. XYZ. Den gan adanya scheduler ini, akan san gat memudahkan p ihak ek sek utif PT. XYZ unt uk m em peroleh informasi analisis secara per io dik dim ana setiap informasi yang dibutuhkan bisa dip eroleh dan dibaca oleh pihak eksek utif m elalui email. Adapun proses scheduler pada aplikasi Targit BI Suite seperti pada gambar dibawah ini :
G ambar 4.146 Setup dan Konfigur asi Schedu ler Targit BI Suite
305
• Security Digunakan untuk mengat ur hak akses pengguna aplik asi Tar git BI Suite seperti gam bar dibawah ini :
Gambar 4.147 Setup dan Konfigur asi Secu rity Tar git BI Suite
2. Targit BI Suite Targit BI Suite digunakan untuk m elakuk an proses analisis yan g dibutuhk an oleh pihak ek sek utif PT. XYZ. Untuk bisa masuk ke dalam aplikasi Tar git BI Suite diper lukan pro ses otorisasi sep erti gambar di bawah ini :
Gambar 4.148 Otorisasi Targit BI Suite
306
Adap un tam pilan dari Targit BI Suite pada saat proses otorisasi berh asil adalah sebagai ber ik ut :
Gambar 4.149 Tampilan Targit BI Suite
Langkah selanjutnya y ang har us dilak uk an adalah m em buat peran can gan format analisis yan g dibutuhkan oleh pihak eksek utif PT. XYZ. Pro ses pem buatan format analisis dilak uk an den gan menggunakan informasi y an g sudah ter sedia di dalam datawarehou se / datamart baik itu inform asi penjualan, persediaan bar ang, piutan g pelan ggan, maupun co llection pelanggan.
C.
Membuat dan melakukan
uni t
te sting terhadap
program aplika si Setelah sem ua analisis sudah dibuat, maka testing har us dilakukan terhadap sem ua analisis yan g sudah dibuat apakah sudah sesuai den gan kebutuh an
307
atau belum dan untuk m em astikan bah wa semua an alisis y an g sudah dibuat tersebut sudah dikompilasi den gan tanpa erro r dan sudah berf ungsi dengan benar.
D.
Melakukan uji coba program aplika si Pada tahapan ini, lak ukan uji co ba terhadap semua analisis yan g sudah
dibuat den gan m enggun akan aplik asi Tar git BI Suite den gan menggunakan development database den gan “live” data yang sederhana. Lak uk an test terhadap hasil aktual dari masing-masing analisis tersebut dan ban din gkan dengan hasil yang diharapkan dar i masing-masin g analisis tersebut apakah sudah sesuai atau tidak. Ber ikut adalah hasil yang ditampilkan dari m asin g-m asing analisis sebagai ber ikut :
308
1.
Analisis Co llection Pelan ggan Secara Nasion al
G ambar 4.150 Analisis Collection Pelanggan Secar a Nasional PT. XYZ
309
2.
Analisis Kinerja Penjualan Aktual Per Segmentasi Wilayah Distribusi ber dasarkan Qty Penjualan
Gambar 4.151 Analisis Kinerja Penjualan Aktual Per Segm entasi Wilayah Distribusi berdasarkan Qty Penjualan PT. XYZ
310
3.
Analisis Kinerja Penjualan Aktual Per Segmentasi Wilayah Distribusi ber dasarkan Gross Sales
Gambar 4.152 Analisis Kinerja Penjualan Aktual Per Segm entasi Wilayah Distribusi ber dasarkan Gross Sales PT. XYZ
311
4.
Analisis Kinerja Pen jualan Aktual Per Cu stomer ber dasarkan Qty Penjualan
Gambar 4.153 Analisis Kinerja Penjualan Aktual Per Custom er berdasarkan Qty Penjualan PT. XYZ
312
5.
Analisis Kinerja Pen jualan Aktual Per Cu stomer ber dasarkan Gro ss Sales
Gam bar 4.154 Analisis Kinerja Penjualan Aktual Per Customer ber dasarkan Gro ss Sales PT. XYZ
313
6.
Analisis Kinerja Pen jualan Aktual Per Sa les Group ber dasarkan Qty Penjualan
G ambar 4.155 Analisis Kinerja Penjualan Aktual Per Sales Group berdasarkan Qty Penjualan PT. XYZ
314
7.
Analisis Kinerja Pen jualan Aktual Per Sa les Group ber dasarkan Gross Sales
G ambar 4.156 Analisis Kinerja Penjualan Aktual Per Sales Group berdasarkan Gro ss Sales PT. XYZ
315
8.
Analisis Kinerja Penjualan Aktual Per Cu stomer Group Per Caban g ber dasarkan Qty Penjualan
Gambar 4.157 Analisis Kinerja Penjualan Aktual Per Customer Group Per Caban g ber dasark an Qty Penjualan PT. XYZ
316
9.
Analisis Kinerja Penjualan Aktual Per Cu stomer Group Per Caban g ber dasarkan Gross Sales
Gambar 4.158 Analisis Kinerja Penjualan Aktual Per Customer Group Per Caban g berdasark an Gro ss Sales PT. XYZ
317
10. Analisis Kiner ja Penjualan Aktual Per Item Group Per Caban g ber dasarkan Qty Penjualan
G am bar 4.159 Analisis Kinerja Penjualan Aktual Per Item Group Per Caban g ber dasarkan Qty Penjualan PT. XYZ
318
11. Analisis Kiner ja Penjualan Aktual Per Item Group Per Caban g ber dasarkan Gro ss Sales
G am bar 4.160 Analisis Kinerja Penjualan Aktual Per Item Group Per Caban g ber dasarkan Gro ss Sales PT. XYZ
319
12. Analisis Kin erja Pen jualan Akt ual Per I tem Per Caban g berdasarkan Qty Penjualan
G am bar 4.161 Analisis Kinerja Penjualan Aktual Per Item Per Caban g ber dasarkan Qty Penjualan PT. XYZ
320
13. Analisis Kiner ja Penjualan Aktual Per Item Per Cabang ber dasarkan Gross Sales
G am bar 4.162 Analisis Kinerja Penjualan Aktual Per Item Per Caban g ber dasarkan Gro ss Sales PT. XYZ
321
14. Analisis Kinerja Penjualan Akt ual Per Prin cipal Per Caban g berdasarkan Qty Penjualan
Gambar 4.163 Analisis Kinerja Penjualan Aktual Per Principal Per Caban g ber dasarkan Qty Penjualan PT. XYZ
322
15. Analisis Kinerja Penjualan Akt ual Per Prin cipal Per Caban g berdasarkan Qty Penjualan
Gambar 4.164 Analisis Kinerja Penjualan Aktual Per Principal Per Caban g ber dasarkan Qty Penjualan PT. XYZ
323
16. Analisis Kinerja Pen jualan Aktual y ang tidak bisa dilayani
G am bar 4.165 Analisis Kinerja Penjualan Aktual yan g tidak bisa dilayani PT. XYZ
324
17. Analisis Piutan g Nasional
Gambar 4.166 Analisis Piutang Nasion al PT. XYZ
325
18. Analisis Piutan g Nasional Per Principal ber dasarkan Umur Piutan g
Gambar 4.167 Analisis Piutang Nasion al Per Principal ber dasarkan Umur Piutang PT. XYZ
326
19. Analisis Persediaan Baran g Nasional per Item
G am bar 4.168 Analisis Persediaan Baran g Nasion al per I tem PT. XYZ
327
20. Peta Distribusi Penjualan Aktual v s Tar get Per Caban g berdasarkan Qty Penjualan
G am bar 4.169 Peta Distribusi Pen jualan Akt ual v s Target Per Caban g ber dasarkan Qty Penjualan PT. XYZ
328
21. Peta Distribusi Penjualan Aktual vs Target Per Cabang ber dasarkan Gross Sales
G am bar 4.170 Peta Distribusi Pen jualan Akt ual v s Target Per Caban g ber dasarkan Gro ss Sales PT. XYZ
329
22. Peta Distribusi Penjualan Aktual Per Caban g ber dasark an Qty Penjualan
G am bar 4.171 Peta Distribusi Pen jualan Akt ual Per Cabang ber dasarkan Qty Penjualan PT. XYZ
330
23. Peta Distribusi Penjualan Aktual Per Caban g ber dasark an Gro ss Sa les
G ambar 4.172 Peta Distribusi Pen jualan Aktual Per Caban g ber dasarkan Gro ss Sales PT. XYZ
331
24. Peta Distribusi Per sediaan Baran g Per Caban g Per I tem
Gambar 4.173 Peta Distribusi Persediaan Baran g Per Cabang Per Item PT. XYZ
332
25. Analisis Perbandingan Kiner ja Penjualan PT. XYZ den gan p ihak kompetitor ber dasarkan qty penjualan.
Gambar 4.174 Analisis Per ban dingan Kinerja Penjualan berdasarkan qty penjualan PT. XYZ dengan pihak kompetitor
333
26. Analisis Perbandingan Kiner ja Penjualan PT. XYZ den gan p ihak kompetitor ber dasarkan Gross Sales.
Gambar 4.175 Analisis Per bandingan Kinerja Penjualan berdasarkan Gro ss Sales PT. XYZ den gan pihak kom petitor
334
27. Analisis Kinerja Penjualan per medical representative principal ber dasarkan qty penjualan.
Gambar 4.176 Analisis Kinerja Penjualan Per Med ical Rep resenta tive Principal ber dasarkan qty penjualan PT. XYZ
335
28. Analisis Kinerja Penjualan per m edical representative prin cipal ber dasarkan Gro ss Sales.
Gambar 4.177 Analisis Kinerja Penjualan Per Med ical Rep resenta tive Principal ber dasarkan Gro ss Sales PT. XYZ
336
29. Analisis Segmentasi Penjualan per cu stom er group ber dasark an qty penjualan.
G ambar 4.178 Analisis Segmentasi Penjualan Per Cu stom er Group berdasarkan Qty Penjualan PT. XYZ
337
30. Analisis Segm entasi Penjualan per customer group ber dasarkan Gross Sales.
G ambar 4.179 Analisis Segmentasi Penjualan Per Cu stom er Group berdasarkan Gro ss Sales PT. XYZ
338
31. Analisis Kinerja Pen jualan per cabang dalam satu per io de berdasarkan qty penjualan.
Gambar 4.180 Analisis Kinerja Penjualan Per Cabang Dalam Satu Periode ber dasarkan Qty Penjualan PT. XYZ
339
32. Analisis Kiner ja Penjualan per caban g dalam satu perio de ber dasarkan Gross Sales.
Gambar 4.181 Analisis Kinerja Penjualan Per Caban g Dalam Satu Periode berdasarkan Gross Sales PT. XYZ
340
33. Analisis k inerja persediaan baran g per Item per batch number.
G ambar 4.182 Analisis Kinerja Persediaan Baran g Per I tem Per Batch Number PT. XYZ
341
34. Analisis p ersediaan baran g y ang akan k adaluarsa.
Gambar 4.183 Analisis Persediaan Baran g y ang akan Kadaluar sa PT. XYZ
342
Setiap pro ses analisis yang dibuat, bisa dilak ukan pro ses notifik asi dimana dengan adanya alat bantu ini, pih ak eksek utif bisa m en dap atkan perin gatan awal m elalui em ail mengenai setiap kinerja baik itu kinerja penjualan, kinerja persediaan baran g, kin erja piutang, maup un k inerja collection pelan ggan. Adap un yang har us dilakuk an untuk m en ggunakan proses notifikasi ini adalah sebagai berik ut: 1. Tentukan terlebih dah ulu analisis m ana yang m au ditambahkan pro ses notifikasi, den gan cara m em ilih Add Object No tification Agen t.
Gambar 4.184 Proses Pengaktifan Notification Agent Tahap 1
343
2. Tentukan metrik / measurement yang ak an digunakan sebagai tolak ukur proses notifikasi :
Gambar 4.185 Proses Pengaktifan Notification Agent Tahap 2
3. Tentukan kondisi yan g digun akan terhadap metrik / m easurem ent yang dipilih:
Gambar 4.186 Proses Pengaktifan Notification Agent Tahap 3
344
4. Tentukan alamat email m ana saja proses notifik asi akan dikirimkan :
Gambar 4.187 Proses Pengaktifan Notification Agent Tahap 4
Semua analisis telah selesai dibuat sesuai den gan an alisis kebutuhan informasi unt uk menjawab setiap kebutuhan informasi pihak ek sek utif PT. XYZ seperti yang bisa dilihat pada tabel berikut ini :
Tabel 4.39 Tabel Mappin g Antara Kebutuhan Inform asi dan Analisis yang sudah dibuat Kebutuhan Inform asi
Analisis yang telah dibuat
• Adany a informasi peta distribusi penjualan secara nasional maupun per principal y ang dapat dibandingkan dengan periode sebelum nya.
•
P eta Distribusi P enjualan Aktual VS Target Per Cabang Berdasarkan Qty P enjualan P T. XYZ ( Gambar 4.168)
• Adany a informasi peta penj ualan masing-masing sales group dalam satu periode m isalny a periode satu tahun.
•
Analisis Kinerj a P enj ualan Aktual Per Sales Group Berdasarkan Qty P enjualan P T. XYZ ( Gambar 4.154 ) Analisis Kinerja Penjualan Aktual P er Sales Group Berdasarkan Gross Sales P T. XYZ ( Gambar 4.155 )
• Adany a informasi analisis kinerja penj ualan aktual per
• •
Analisis Kinerj a P enj ualan Aktual Per Segmentasi Wilayah Distribusi Berdasarkan Qty P enj ualan P T. XYZ ( Gambar 4.150 )
345 segmentasi wilay ah distribusi, principal, customer, item group, item, sales group y ang dapat dibandingkan dengan periode sebelum nya.
•
• Melakukan segm entasi pasar sesuai dengan customer group.
•
• •
•
Analisis Kinerja Penj ualan Aktual Per Segm entasi W ilayah Distribusi Berdasarkan Gross Sales P T. XYZ ( Gambar 4.151) Analisis Kinerj a Penj ualan Aktual Per Customer Berdasarkan Qty Penj ualan P T. XYZ ( Gam bar 4.152 ) Analisis Kinerj a Penj ualan Aktual P er Customer Berdasarkan Gross Sales P T. XYZ ( Gam bar 4.153 ) Analisis Kinerja Penj ualan Aktual Per Customer Group P er Cabang Berdasakran Qty Penj ualan P T. XYZ ( Gam bar 4.156 ) Analisis Kinerj a P enj ualan aktual P er Customer Group P er Cabang Berdasarkan Gross Sales P T. XYZ ( Gambar 4.157 )
• Adany a inform asi penj ualan per periode sehingga bisa m engetahui kapan periode penj ualan yang mengalami slow moving.
•
• Adany a inform asi permintaan produk oleh pelanggan dalam periode tertentu.
•
Analisis Kinerja Penj ualan Per Cabang Dalam Satu Periode Berdasarkan Gross Sales PT. XYZ ( Gam bar 4.180 )
• Adany a fungsi notifikasi atau peringatan kepada pihak eksekut if j ika kinerj a penj ualan m engalam i penurunan atau terjadi peningkatan penj ualan, dimana notifikasi atau peringatan tersebut bisa langsung sam pai ke pihak eksekut if m elalui email.
•
P roses Pengaktifan Notification Agent Tahap 1 s.d. Tahap 4 ( Gam bar 4.182, Gam bar 4.183, Gambar 4.184, Gambar 4.185 )
informasi peta • Adany a distribusi penj ualan secara nasional per segmentasi wilayah distribusi dalam satu periode tertentu.
•
P eta Distribusi P enj ualan Aktual VS Target P er Cabang Berdasarkan Qty P enj ualan P T. XYZ ( Gam bar 4.168)
• Adany a informasi kinerj a tim penj ualan per segmentasi wilayah distribusi dalam satu periode.
•
Analisis Kinerj a Penj ualan Aktual Per Sales Group Berdasarkan Gross Sales P T. XYZ ( Gam bar 4.155 )
• Adany a inform asi analisis perbandingan kinerj a penj ualan aktual P T. XYZ dengan perusahaan kom petitor.
•
Analisis P erbandingan Kinerj a P enj ualan Berdasarkan Qty Penj ualan PT. XYZ dengan pihakkom petitor ( Gam bar 4.173 ) Analisis P erbandingan Kinerja P enjualan Berdasarkan Gross Sales PT. XYZ dengan pihakkom petitor ( Gambar 4.174 )
• Adany a inform asi analisis kinerj a penj ualan aktual per segmentasi wilay ah distribusi, principal, customer, item group, item , sales group y ang dapat dibandingkan dengan periode sebelum nya.
•
• Adany a inform asi permintaan produk oleh pelanggan dalam periode tertentu.
•
Analisis Kinerja Penj ualan Per Cabang Dalam Satu Periode Berdasarkan Gross Sales PT. XYZ ( Gam bar 4.180 )
• Adany a inform asi analisis kinerj a penj ualan y ang tidak bisa dilay ani disebabkan karena kekurangan barang atau kekosongan barang di cabang.
•
Analisis Kinerj a Penj ualan Aktual Yang Tidak Bisa Dilay ani P T. XYZ ( Gam bar 4.164 )
• Adany a inform asi persediaan
•
Analisis P ersediaan Barang Nasional Per Item PT. XYZ ( Gam bar 4.167 )
•
•
• • •
Analisis Kinerj a P enj uala n P er Cabang Dalam Satu P eriode Berdasarkan Qty P enj ualan P T. XYZ ( Gam bar 4.179) Analisis Kinerja Penj ualan Per Cabang Dalam Satu Periode Berdasarkan Gross Sales PT. XYZ ( Gam bar 4.180 )
Analisis Kinerj a P enj ualan Aktual Per Segm entasi Wilayah Distribusi Berdasarkan Qty Penj ualan P T. XYZ ( Gam bar 4.150 ) Analisis Kinerj a P enj ualan Aktual Per Segm entasi Wilayah Distribusi Berdasarkan Gross Sales P T. XYZ ( Gambar 4.151 ) Analisis Kinerja Penj ualan Aktual P er Cutomer Berdasarkan Qty Penj ualan P T. XYZ ( Gam bar 4.152 ) Analisis Kinerja Penj ualan Aktual P er Customer Berdasarkan Gross Sales P T. XYZ ( Gam bar 4.153 )
346 barang y ang dapat diamati secara nasional berdasarkan item , cabang, batch number.
• •
P eta Distribusi P ersediaan Barang Per Cabang P er Item PT. XYZ ( Gambar 4.172 ) Analisis Kinerja Persediaan Barang Per Item Per Batch Number P T. XYZ ( Gam bar 4.181 P eta Distribusi P ersediaan Barang Per Cabang P er Item PT. XYZ ( Gambar 4.172 )
• Adany a inform asi persediaan barang y ang bersifat kritis berdasarkan item dan cabang. • Adany a fungsi notifikasi atau peringatan kepada pihak eksekut if jika persediaan barang di cabang sudah di bawah minimum stock, dimana notifikasi atau peringatan tersebut bisa langsung sam pai ke pihak eksekutif melalui email.
• •
P roses Pengaktifan Notification Agent Tahap 1 s.d. Tahap 4 ( Gam bar 4.182, Gam bar 4.183, Gambar 4.184, Gambar 4.185 )
• Adany a inform asi analisis prospek customer yang belum dilay ani.
•
Analisis Kinerj a Penj ualan Aktual Yang Tidak Bisa Dilay ani P T. XYZ ( Gam bar 4.164 )
• Adany a inform asi analisis kinerj a penjualan aktual vs target penj ualan yang dapat diam ati dari berbagai segmentasi seperti wilay ah distribusi, principal, customer group, cabang, item group, item , dan sales group y ang dapat dibandingkan dengan periode sebelum nya.
•
P eta Distribusi P enj ualan Aktual VS Target P er Cabang Berdasarkan Qty P enj ualan P T. XYZ ( Gam bar 4.168) P eta Distribusi P enj ualan Aktual VS Target Per Cabang Berdasarkan Gross Sales P T. XYZ ( Gam bar 4.169 )
• Adany a inform asi analisis kinerj a piutang yang dapat diam ati dari berbagai segem entasi seperti wilay ah distribusi, principal, customer, group, cabang, item group, item, dan sales group y ang dapat dibandingkan dengan periode sebelum nya.
• •
Analisis P iutang Nasional PT. XYZ ( Gambar 4.165 ) Analisis P iutang Nasional Per Principal Berdasarkan Um ur P iutang PT. XYZ ( Gam bar 4.166 )
• Adany a inform asi analisis kinerj a collection pelanggan y ang dapat diamati dari berbagai segmentasi seperti wilayah distribusi, principal, customer group, cabang dan sales group y ang dapat dibandingkan dengan periode sebelumnya.
•
Analisis Collection P elanggan Secara Nasional P T. XYZ ( Gambar 4.149 )
• Adany a inform asi analisis j umlah barang yang akan kadaluarsa.
•
Analisis P ersediaan Barang Yang Akan Kadaluarsa PT. XYZ ( Gam bar 4.182 )
• Adany a informasi peta distribusi penj ualan produk m ilik principal secara nasional y ang dapat diakses secara online.
•
Analisis Kinerja P enj ualan Per Medical Representative Berdasarkan Qty Penj ualan P T. XYZ ( Gam bar 4.175 ) Analisis Kinerja P enj ualan Per Medical Representative Berdasarkan Gross Sales P T. XYZ ( Gambar 4.176 )
•
•
Principal Principal
347 • Adany a inform asi analisis kinerj a penj ualan aktual produk m ilik principal per segmentasi wilay ah distribusi, customer group, customer, item group, item, sales group y ang dapat diakses secara online.
• • • • • •
• Adany a informasi analisis peta distribusi persediaan barang m ilik principal yang dapat diakses secara online.
E.
• • •
Analisis Kinerj a P enj ualan Aktual Per Segm entasi Wilayah Distribusi Berdasarkan Qty Penj ualan P T. XYZ ( Gam bar 4.150 ) Analisis Kinerj a P enj ualan Aktual Per Segm entasi Wilayah Distribusi Berdasarkan Gross Sales P T. XYZ ( Gambar 4.151 ) Analisis Kinerj a Penj ualan Aktual Per Customer Berdasarkan Qty Penj ualan P T. XYZ ( Gam bar 4.152 ) Analisis Kinerj a Penj ualan Aktual P er Customer Berdasarkan Gross Sales P T. XYZ ( Gam bar 4.153 ) Analisis Kinerja Penj ualan Aktual Per Principal P er Cabang Berdasarkan Qty P enj ualan P T. XYZ ( Gam bar 4.162) Analisis Kinerj a Penj ualan Aktual P er Principal Per Cabang Berdasarkan Gross Sales PT. XYZ ( Gam bar 4.163 ) Analisis P ersediaan Barang Nasional Per Item PT. XYZ ( Gam bar 4.167 ) P eta Distribusi P ersediaan Barang Per Cabang P er Item PT. XYZ ( Gambar 4.72 ) Analisis Kinerja Persediaan Barang Per Item Per Batch Number P T. XYZ ( Gam bar 4.181 )
Menyediakan a kse s da ta da n memberika n traini ng anali sis Setelah sem ua analisis sudah selesai dibuat dan sudah selesai diuji coba
dan hasilnya sudah sesuai den gan yan g diharapk an, m aka tahap selanjutnya adalah memberik an training kepada para ek sek utif PT. XYZ. Tentukan jadwal training yan g akan diberik an dan user m anual dibuat sebagai pedoman bagi pihak eksekutif untuk m enggunakan aplikasi Targit BI Suite.
4.2. 6 Fase D epl oyment Fase tersebut merupakan fase terakhir dari business intelligence lifecycle. Fase ini berfok us pada implementasi dan pengukur an ef ektifitas untuk menentukan ap akah solusi BI untuk PT. XYZ telah menjawab ekspektasi dar i invetasi yan g telah dilakukan.
348
4.2. 6. 1
Impl ementation
Tahap ini berfok us pada implementasi dar i ap likasi BI yan g telah dibangun. Dalam tahap ini dilak ukan proses deployment terhadap da tabase dan aplikasi BI dan pelatihan terhadap ek sek utif yang ak an menggunakan aplikasi BI. Bagian support juga m ulai bekerja seperti m elak uk an proses help d esk, melakuk an pemeliharaan terhadap databa se BI, melakukan penjadwalan dan menjalankan proses ETL batch job, m onitoring terhadap k inerja aplik asi, dan tuning databa se.
A.
Merencana kan implementa si Implem entasi pada PT. XYZ dilak ukan m elalui beberapa fase, sebagai
ber ikut : 1. Fase Pertam a Dilakukan di kantor p usat PT. XYZ ditujukan untuk par a bu siness user sebagai ber ik ut: Presiden Direktur, Direkt ur Operasional, Direktur Lo gistik, GM Operasional, Kepala Caban g Pusat, Manajer Logistik. Pada fase ini dilak ukan ur utan sebagai berikut : a. Persiapan piranti keras yang dibutuhk an seperti server, jaringan dan database dalam tahap produksi. b. Instalasi pro gr am aplik asi dan database dari tahap testing menuju tahap produksi. c. Implementasi aplik asi BI den gan sistem data wa rehou se yan g sudah berjalan sebelum nya. d. Pelatihan pen ggunaan aplikasi terhadap para business user.
349
2. Fase Kedua Dilakukan di selur uh kantor cabang di luar Jakarta dan dit ujukan untuk par a kepala caban g tiap daerah. Pada fase ini dilak ukan ur utan sebagai berikut: a. Persiapan infrastrukt ur jarin gan bar u. b. Instalasi aplikasi client yan g terkoneksi den gan server pusat. c. Pelatihan pen ggunaan aplikasi terhadap para business user. 3. Fase Ketiga Dilakukan di beberapa principa l yang memiliki k erjasam a terhadap PT. XYZ. Pada fase ini dilak ukan ur utan sebagai berikut: a. Instalasi aplikasi client yan g terkoneksi den gan server pusat PT. XYZ. b. Pelatihan pen ggunaan aplikasi terhadap para business user.
B.
Membangun li ngkungan produksi Pem ban gunan p ada lin gk ungan produksi dilakukan den gan beberapa tahap
seperti: 1. Menyiapkan ap likasi di tahap pro duksi (ETL, aplikasi BI). 2. Mem buat database tahap produksi. 3. Mem berikan h ak ak ses yan g tepat dalam databa se BI. 4. Mem berikan h ak ak ses yan g tepat pada setiap user dalam aplikasi. 5. Menulis Standard Operating Procedures ( SOP) unt uk staff yang menan gan i proses ETL dan juga lapor an-lapor an aplikasi. 6. Menyiapkan pan duan untuk staff help desk yang akan dikoor din ir oleh divisi IT PT. XYZ dan bu siness user dengan in struk si unt uk m enggun akan ap likasi BI.
350
7. Menentukan tin gkat sek ur itas untuk tiap kom ponen dalam aplik asi BI.
C.
Instalasi semua komponen BI Instalasi komponen BI pada serv er p usat maupun client dilakukan den gan
beberapa ur utan lan gkah. Pada server pusat, sebagai ber ikut: 1. Instalasi ap likasi Targit ANT Serv er. 2. Setting dan konfigurasi server, antara lain: m enentukan konek si database BI, crea te u ser, create rule masin g-m asin g u ser. 3. Instalasi ap likasi Targit BI Suite Client di workstation. 4. Setting dan konfigurasi Tar git BI Suite Client.
Pada client seperti kantor cabang dan principal, sebagai ber ikut: 1. Mem astikan m inim um software requirem ent, antara lain: .NET Framework 3.5 dan Win do ws XP Service Pack 3. 2. Instalasi ap likasi Targit BI Suite Client di workstation. 3. Setting dan konfigurasi Tar git BI Suite Client.
D.
Setup jadw al produksi Pada tahap pro duk si terdapat beberapa kegiatan yang dijadwalkan untuk
kebutuhan implem entasi BI di PT. XYZ 1. Pengirim an email data transaksi harian dari selur uh caban g setiap Pk 17.00.
2. Melakukan proses ETL dalam server BI pusat mulai dar i Pk 19.00 hingga selesai.
351
E.
Load database produksi Load database pro duksi pada im plementasi ap likasi BI dilak ukan dalam
beberapa tahap : 1. Mem indahkan initial database dari fase d evelopm ent ke fase pro duksi. 2. Melakukan impor data penjualan, target penjualan, piutang pelanggan, koleksi pelan ggan dan per sediaan bar ang dari tah un 2007-2010.
F.
Mempersia pkan support Support yang disediak an dalam im plem entasi aplikasi BI di PT. XYZ
adalah sebagai berikut : 1. Regula r Back up Dilakukan full back up database setiap Pk 22.00 dari hari senin s/d sabtu, data disim pan dalam ur utan waktu p er minggu. 2. User Manua l Mem persiapkan user m anual sebagai pan duan bagi p ara pen ggun a aplikasi BI. 3. Tra ining Mem berikan pelatihan pen ggunaan ap likasi unt uk divisi IT dan bu siness u ser PT. XYZ. Serta pelatihan troubleshooting untuk divisi IT yan g bertanggun g jawab terhadap dalam menan gani keluh an dan masalah y ang terjadi selama implem entasi.
4.2. 6. 2 Rel ease Evaluation Tahap ini merupakan tahap terakhir dimana dilak uk annya evaluasi terhadap ap likasi BI yan g telah diterapkan. Dalam tahapan ini, sem ua pro ses,
352
teknik, petunjuk, dan lain-lain y ang sudah di-relea se sebelum nya dipelajari dan dievaluasi untuk m en ghasilkan aplikasi yang lebih baik dan efisien.
A.
Mempersia pkan review pasca implementasi Dalam melakukan review ter dapat beberapa aspek dalam proyek yan g
harus dibahas. Hal tersebut term asuk strategi, ren cana, dok umen, desain, prosedur, hasil akh ir dan infr astr uktur dari BI. Tujuan dar i review tersebut adalah untuk menilai apak ah proyek berlan gsung den gan baik atau tidak, dan menghasilk an daftar ak si untuk m enin daklan juti hal tersebut. Berik ut adalah aspek yang akan dibahas pada review p asca implem entasi.
Topik Schedule
Ta bel 4.40 Review Pasca Implem entasi Pertanyaan -
-
Budget
-
Satisfaction
-
Scope
-
-
Apakah proyek berjalan dengan lancar ? Bila tidak, m engapa? Ap akah jadwal yan g diterapk an realistis? Apa yang memperlam bat kita? Bagaim ana cara untuk mencegah delay pada lain waktu? Apakah proyek sesuai den gan bugdet yan g disiapkan? Jika tidak, m engapa tidak ? Apakah budget tersebut realistis? Bagaim ana m encegah ov er- budget pada lain kali? Apakah k ita memperoleh keuntun gan yan g dih arapkan dalam hal ROI? Apakah OLAP tool dan analytics tool memuaskan kebutuhan analitik bisnis? Apakah scope m engalam i per ubahan selama proyek? Apakah perubahan scope terjadi selama melakuk an prototyping? Apakah impact-nya dianalisis dan diuk ur? Seberapa besar im pactnya? Dapatkah hal tersebut dih indarkan?
353
Staffing
-
Apa yang kita dap at dar i per ubahan scope dan prosedur ch an ge-control yang ada?
-
Apakah kita kehilangan pemain k unci dalam tim selama proyek? Mengap a dia p ergi? Apa dam paknya ? Bagaim ana kita m encegah hal tersebut di m asa yang akan datang? Apakah tim inti telah tepat? Apakah terlalu bany ak atau terlalu sedikit an ggota tim? Apakah p eran dan tanggun g jawab diber ikan den gan tepat? Apakah sesam a anggota tim bekerja den gan baik? Ap akah ada masalah? Jika ada apa masalahny a? Bagaim ana kita meningkatkan sem an gat dan moral dalam tim di masa y an g akan datang?
-
-
Skills dan Training
-
Project Planning dan Reporting
-
-
-
Development Approach
-
-
Contractors, Con sultants Vendors
dan -
Apakah skill dari anggota team cuk up? Ap akah “just eno ugh an d just in time train ing” disediakan atau apak ah “em ergency train ing” dibutuhkan dalam proyek? Apakah pelatihan y an g disediakan ef ektif? Apakah aktivitas diperkirakan den gan tepat? Jika tidak, mengap a m ereka overestimated atau underestim ated? Apakah prosedur unt uk trackin g waktu dan reporting status proyek efektif? Bagaim ana kita bisa menin gkatkannya? Pelajar an lain ap a yang kita pelajari tentang plannin g, tracking dan reporting? Apakah k ita memilih langk ah, aktivitas dan tugas y an g tepat dari Bu siness Intelligence Roadm ap? Jika tidak mengapa? Apakah ada langkah penting yang tertinggal? Atau lan gkah yang kuran g penting yan g dilakukan? Apakah kita telah efektif menggun akan konsultan atau kontraktor? Apakah m erek a mem berikan pengetahuannya kepada staff kita? Pelajar an apa yang didap at dari n egosiasi den gan ven dor? Apakah v endor mengik uti aturan yan g ada? Bagaim ana k ita dapat men gontrol situasi di
354
masa yang akan datan g? General
B.
-
Apakah kom unikasi efektif? Apakah business peop le ada ketika dibut uhkan? Pelajar an lain apakah yan g kita dapat? Apa yan g harus dilak uk an ber beda di masa yan g akan datang?
Mengorganisa sikan
review
meeti ng
pasca
implementasi Meeting p asca im plementasi har us dihadir i oleh par a stakeholder yan g berk epentin gan sehin gga meeting dapat ber langsun g secara efektif. Adap un detail acara dari meeting pasca implementasi y ang dilak ukan PT. XYZ.
Tempat Hari/Tanggal W aktu Tujuan
Peserta
C.
Ta bel 4.41 Jadwal Meeting Pasca Implem entasi Kantor Pusat PT. XYZ Kamis, 9 Septem ber 2010 Pk 09.00 - selesai - Melak ukan review terhadap aplikasi BI dar i tahap pengembangan hingga d eliverable. - Melak ukan disk usi tentang hasil dar i sistem BI yang telah diimplem entasi sekaran g - Mem beri feedback terhadap proyek BI - Pihak Eksek utif PT. XYZ - Divisi IT PT. XYZ
Melakukan
meeting
untuk
me-review
pasca
implementasi Setelah melak ukan rap at untuk me-review pasca implementasi diperoleh hasil sebagai berik ut:
355
Topik Schedule
Ta bel 4.42 Hasil Review Pasca Implementasi Hasil -
Jadwal proy ek dapat berlangsung den gan cuk up lancar sesuai dengan tim e frame yang disediakan. Beberapa tahap pada pengembangan proyek tidak dilak ukan karena keter batasan waktu seperti testin g pada tahap technical infra structure eva luation namun hal tersebut tidak m empen gar uhi keselur uhan pengem ban gan proyek.
Budget
-
Proyek yang dikem ban gkan sesuai den gan budget yan g telah diper siapkan sebelumnya.
Satisfaction
-
Secara umum, para busin ess user cuk up p uas den gan aplikasi BI tersebut karena telah mem enuhi kebut uhan-kebutuh an yan g mereka inginkan. Nam un tentunya masih ter dapat sela waktu untuk membiasakan diri dan merasakan kenyam anan dalam m enggunakan aplik asi BI tersebut. Dari sisi ROI, hasil dari proyek belum dapat dilihat den gan jelas. Untuk itu per lu adanya evaluasi yan g terus mener us.
-
-
Scope
-
Tidak terpadat per ubahan scope dalam pengem ban gan proyek ini. Hal ini dipero leh kar ena scope proyek telah didefinisik an dengan jelas di awal pengem ban gan proyek.
Staffing
-
Kinerja tim untuk p engembangan proy ek ini cuk up baik, kom un ikasi antar tim berjalan den gan lancar dan masin g-masin g anggota ber ada pada posisi yan g tepat.
Skills dan Tra ining
-
Tidak diperlukan skill kh usus dalam pengem ban gan proyek ini sehin gga tidak dilak ukan training sebelum nya.
Project Planning dan Reporting
-
Project planning dan repo rting berjalan den gan baik karena telah m engikuti guidelin e pada metodologi untuk pen gem ban gan BI tersebut.
Developm ent
-
Metodologi
yang
digunakan
untuk
356
Approach -
Contractors, Consultan ts Vendors
dan -
General
-
-
pengem ban gan BI ini san gat tepat karena mem bahas pen gem ban gan BI secara utuh /keselur uh an dari tahap awal hin gga akhir. Beberapa langk ah yan g tertin ggal seperti Data Mining, Meta Data Repo sito ry tidak dilakukan pada pengem bangan proy ek ini dan tentunya harus dikemban gkan lebih lanjut setelah implem entasi yang sekar ang ini untuk mendapatkan hasil yan g m aksimal. Vendor BI Targit sangat kooperatif selama pengem ban gan proyek. Feedback yan g diminta dap at ditindak lanjuti den gan cep at. Informasi yan g diberikan o leh vendor san gat berm anfaat dalam pen ggunaan aplikasi Targit. Kom unikasi dengan business user berlangsung cuk up baik. Meskip un business user tak selalu tersedia p ada pengem ban gan proyek namun hal tersebut dapat diatasi den gan komunik asi via e-mail yang ber langsun g den gan baik. Kebutuh an user juga dapat diterim a dengan jelas dalam pengemban gan proyek ter sebut.
357
Dalam tahapan evaluasi ini, kuesioner dibagikan kepada pih ak eksek utif den gan tujuan untuk m enilai apakah pro ses implem entasi aplikasi Targit BI Suite ini sudah m em enuhi kebutuhan pih ak eksek utif PT. XYZ atau tidak. Kuesioner yang dibagikan kepada pihak eksekutif PT. XYZ m en ggunak an stan dar isasi kuesion er Likert Scale dengan tiga skala yait u set uju, netral, dan tidak setuju seperti yan g bisa dilihat pada lampiran 2 halaman 360. Kuesioner k emudian dibagikan kep ada 10 oran g pihak eksek utif sebagai sample yang bisa m ewakili populasi pihak eksekutif PT. XYZ. Ber ikut adalah h asil kuesioner dar i 10 oran g p ihak eksekutif yan g dijadik an sample : Tabel 4.43 Hasil Kuesioner Pasca Im plem entasi Name Steven Abdel M irsal Syamsuardi Sentosa J aya Peter Yudi Hartoy o Salim Gede Sugeng
Sex M M M M M M M M M M
Age
Setuj u 28 27 33 35 37 31 32 31 29 33
Netral 9 8 9 9 7 7 9 9 9 9
0 1 0 0 2 1 0 0 0 0
Tidak S etuju 0 0 0 0 0 1 0 0 0 0
Dari hasil kuesioner seperti tabel 4.41 diatas, dap at diam bil kesimp ulan bah wa p ihak eksek utif PT. XYZ san gat puas dengan hasil implem entasi aplik asi Targit BI Suite.
358
D.
Melakukan
follow-up
ha sil
meeting
pasca
implementasi Ber ikut adalah lan gkah-lan gkah yan g bisa dilak ukan oleh PT. XYZ dalam menindaklanjuti hasil dari evaluasi yang dilakukan : - Pengem ban gan m o dul Data M ining dan Meta Data Repository dalam pengem ban gan aplikasi BI di v ersi selanjutnya.
- Penambahan /per ubahan kebut uhan inform asi untuk kep entingan BI har us terus ditin dak lanjuti.