77
PERANCANGAN DATA WAREHOUSE
4.1 Arsitektur Data warehouse
Rancangan data warehouse yang diusulkan untuk PT. Antar M itra Prakarsa ialah rancangan yang menggunakan arsitektur data warehouse terpusat. Data diambil dari sistem operasional dan data eksternal yang berhubungan dengan luar perusahaan yang disimpan dalam pusat penyimpanan data.
Alasan penggunaan arsitektur data warehouse terpusat ini adalah untuk mempermudah dalam memperoleh data yang konsisten dan terintegrasi karena berada pada satu lokasi saja.
Berikut gambar arsitektur data warehouse terpusat pada PT. Antar mitra Prakarsa :
Dari arsitektur data warehouse diatas, terdapat tiga komponen sistem yang saling berhubungan, antara lain:
1. Data Source
Data source merupakan sumber data untuk pembuatan data warehouse. Dalam perancangan data warehouse ini, pengambilan sumber data yang diperlukan berasal dari database transaksional dari sistem informasi PT. Antar M itra Prakarsa dan data eksternal yang berhubungan dengan luar perusahaan. Dari database ini akan dipilih data-data yang berhubungan dengan pembelian dan penjualan. Data-data tersebut akan mengalami proses transformasi data yang hasilnya akan dimasukkan ke dalam data warehouse.
2. Data Transformation
Data Transformation merupakan proses pemindahan dan perubahan format data yang diperoleh dari kegiatan operasional perusahaan yang terdapat dalam database operational ke dalam data warehouse dan data eksternal yang berhubungan dengan luar perusahaan. Tahap ini memiliki tiga proses yang sering disebut ETL, yaitu extract, transformation, dan loading.
Extract merupakan proses pengambilan data dari sumber data yang tersedia dan melakukan pemilihan data yang ingin disimpan kedalam data warehouse. Transformation dilakukan agar data dapat berubah kedalam suatu bentuk yang konsisten dan terjamin integritasnya sehingga data yang dihasilkan akurat dan tepat. Loading merupakan proses penyimpanan hasil transformasi yang telah dilakukan. Pada tahap ini, semua hasil transformasi dimasukkan ke dalam data warehouse.
3. Data warehouse
Data warehouse merupakan suatu media yang digunakan sebagai tempat penyimpanan data yang bersifat historical (menurut waktu) dengan periode atau jangka waktu tertentu yang telah disaring dan dikumpulkan untuk dipakai sebagai sumber analisis untuk menghasilkan laporan.
4. User
User merupakan pengguna akhir yang akan menggunakan ataupun mengakses data yang ada pada data warehouse. Data warehouse bermanfaat untuk mempermudah dan mempercepat end-user dalam memperoleh dan memahami data yang dibutuhkannya untuk mengambil keputusan dalam hal penjualan dan pembelian.
4.2 Rancangan Data warehouse
Dalam membuat data warehouse diperlukan beberapa tahap untuk membuat perancangan data warehouse menjadi teratur. Tahap-tahap perancangan data warehouse yang digunakan adalah nine-step methodology, yaitu:
4.2.1 Choosing the process
Proses yang digunakan dalam perancangan data warehouse ini, yaitu: a. Penjualan
Proses penjualan PT. Antar M itra Prakarsa yang dimaksud adalah pada saat pelanggan melakukan request content kepada operator, kemudian operator me-request content yang diinginkan user kepada perusahaan. Di dalam proses ini juga dapat dilakukan perbandingan harga program yang sejenis dengan pesaing lainnya
Dalam proses ini, data yang ada meliputi: data player, program yang dipilih, operator maupun channel yang digunakan, media yang digunakan, option dari program itu, service yang digunakan, dan data transaksi penjualan yang terjadi, serta data perbandingan diperoleh dari excel yang berisikan data mengenai harga program yang dijual company.
b. Pembelian
Proses pembelian PT. Antar M itra Prakarsa yang dimaksud adalah pembelian content kepada partner. Dalam proses ini dokumen yang diperlukan yaitu surat kontrak kerjasama. Di dalam surat kontrak kerjasama tersebut terdapat data partner, tanggal berlakunya kerjasama, tanggal berakhirnya kerjasama, program dan option yang akan diberikan partner. Data lainnya yang ada dalam proses pembelian yaitu data transaksi pembelian content.
4.2.2 Choosing the grain
Grain merupakan data dari calon fakta yang dapat dianalisis. M emilih grain berarti menentukan apa yang sebenarnya direpresentasikan oleh record dalam tabel fakta. Grain dari PT. Antar M itra Prakarsa yang digunakan untuk merancang data warehouse adalah sebagai berikut:
a. Penjualan
Analisis pada penjualan meliputi program yang paling laku, operator yang paling sering melakukan transaksi, media yang paling banyak digunakan, option mana yang paling diminati, channel yang
paling banyak digunakan, tingkat keberhasilan dan tingkat kegagalan pengiriman content, pihak yang paling sering menyebabkan error, operator mana yang paling sering error, jumlah traffic dan total penjualannya, serta harga program yang dijual company lain dibandingkan dengan company PT. Antar M itra Prakarsa yang menggunakan brand M -Stars. Analisis tersebut akan dilakukan per periode waktu tertentu (hari, minggu, bulan, quarter, dan tahun), tetapi untuk perbandingan harga dilakukan berdasarkan periode waktu tahun.
b. Pembelian
Analisis pada pembelian meliputi partner yang paling banyak memberikan content. Analisis tersebut akan dilakukan per periode waktu tertentu (hari, minggu, bulan, quarter, dan tahun).
4.2.3 Identifying and conforming the Dimensions
Berikut ini ditampilkan hubungan dimensi dengan grain dari fakta dalam bentuk matriks:
a. Penjualan Grain Dimension Program yang paling diminati Operator yang paling sering bertransa ksi M edia paling banyak digunakan Option yang paling banyak diminati Channel paling banyak digunakan Tingkat keberhasilan dan tingkat kegagalan pengiriman content Operator yang paling sering error Jumlah traffic Total penjualan Harga yang dijual company Time X X X X X X X X X X Program X X Option X Operator X X Channel X M edia X Status X X Company X
b. Pembelian
Grain Dimension
Partner yang paling banyak memberikan content
Time X
Partner X Program X Tabel 4. 2 Tabel Grain dan Dimensi dari Pembelian
4.2.4 Choosing the fact
Pada tahap ini dilakukan pemilihan fakta. Setiap fakta memiliki data yang dapat dihitung (bersifat numerik). Selanjutnya fakta-fakta tersebut ditampilkan dalam bentuk laporan, grafik atau berbagai macam diagram. Berikut ini fakta-fakta yang akan ditampilkan pada data warehouse :
a. Penjualan
Penjualan meliputi jumlah traffic, total penjualan dan harga program b. Pembelian
Pembelian meliputi jumlah content
4.2.5 Storing Pre-calculation in the fact table
Di dalam tabel fakta terdapat kalkulasi awal terhadap data yang dapat dihitung. Kalkulasi awal yang ada pada tabel fakta antara lain:
a. Fact_Penjualan
• Jumlah traffic merupakan jumlah dari banyaknya transaksi
penjualan
• Total penjualan merupakan jumlah dari content yang
dikirimkan dikalikan dengan harga dari program masing-masing.
• Harga program merupakan rata-rata harga content dalam
program yang dijual oleh company b. Fact_Pembelian
Fact_Pembelian meliputi:
• Jumlah Content merupakan jumlah dari banyaknya content
yang diterima dari partner
4.2.6 Rounding out the Dimension table
M enambahkan sebanyak mungkin deskripsi teks pada dimensi. Deskripsi tersebut harus dapat dimengerti oleh user. Berikut deskripsi teks dari tabel dimensi:
Dimension Field Descriptions
Time Year
Quarter M onth M onthDesc
Week
Laporan dapat dilihat per tahun, per quarter, per bulan,
Day DayDesc Program CategoryId CategoryName ProgId ProgDesc
Laporan dapat dilihat berdasarkan program
Operator OprId
OperatorName
Laporan dapat dilihat berdasarkan operator
Option OptId
OptDesc
Laporan dapat dilihat berdasarkan option M edia M ediaId
M ediaDesc
Laporan dapat dilihat berdasarkan media
Channel Channel
ChannelDesc
Laporan dapat dilihat berdasarkan channel Status StatusId
Status CausedBy
Laporan dapat dilihat berdasarkan status
pengirimannya
Partner PartnerId
PartnerName
Laporan dapat dilihat berdasarkan partner
Company CompanyName
CompanyBrand
Laporan dapat dilihat berdasarkan company Tabel 4. 3 Tabel Rounding Out Dimension
• Dimensi Time
Attributes Data type Length
sk_time Int - Year Int - Quarter Int - M onth Int - M onthDesc Varchar 30 Week Int - Day Int - DayDesc Varchar 30
Tabel 4. 4 Tabel Dimensi Time
• Dimensi Program
Attributes Data type Length
sk_program Int -
CategoryId Varchar 3
CategoryName Varchar 30
ProgId Varchar 9
Progdesc Varchar 100
Tabel 4. 5 Tabel Dimensi Program
• Dimensi Option
Attributes Data type Length
OptId Int -
OptDesc Varchar 50
Tabel 4. 6 Tabel Dimensi Option
• Dimensi Operator
Attributes Data type Length
sk_operator Int -
OprId Varchar 6
OperatorName Varchar 50
Tabel 4. 7 Tabel Dimensi Operator
• Dimensi Media
Attributes Data type Length
sk_media Int -
M ediaId Varchar 6
M ediaDesc Varchar 50
Tabel 4. 8 Tabel Dimensi M edia
• Dimensi Channel
Attributes Data type Length
sk_channel Int -
Channel Varchar 4
ChannelDesc Varchar 100
• Dimensi Status
Attributes Data type Length
sk_status Int - StatusId Int -
Status Varchar 20
CausedBy Varchar 100
Tabel 4. 10 Tabel Dimensi Status
• Dimensi Partner
Attributes Data type Length
sk_partner Int -
PartnerId Varchar 6
PartnerName Varchar 50
Tabel 4. 11 Tabel Dimensi Partner
• Dimensi Company
Attributes Data type Length
sk_company Int -
CompanyName Varchar 100
CompanyBrand Varchar 100
4.2.7 Choosing the duration of the database
Durasi dari data PT. Antar M itra Prakarsa yang dimasukkan ke dalam data warehouse sebagai berikut:
Nama Aplikasi
Database Database ada sejak tahun Data yang masuk ke data warehouse Data dalam data warehouse Pentaho GENPROG_AM P TRANSPORT_A MP 2005 2005-2009 5 tahun
Tabel 4.13 Tabel Durasi Data Warehouse PT. Antar mitra Prakarsa
4.2.8 Tracking slowly changing dimensions
M engamati perubahan dari dimensi pada tabel dimensi dapat dilakukan dengan tiga cara, yaitu cara pertama atribut dimensi yang diubah dituliskan ulang (overwritten), contohnya partner merubah alamatnya, maka data partner yang berubah langsung dituliskan ulang. Cara kedua pembentukan record baru untuk setiap perubahan baru, contohnya partner yang merubah alamatnya akan membentuk record baru. Cara ketiga perubahan data yang membentuk kolom baru yang berbeda, contohnya kolom tanggal_berakhir akan ditambahkan untuk melihat perubahan alamat partner, sehingga dapat diketahui kapan alamat awal partner berakhir, kemudian akan dibuat record baru untuk data partner dengan alamat yang baru.
Dari tiga tipe dasar perubahan tersebut, perancangan data warehouse PT. Antar M itra Prakarsa memilih perubahan pertama pada dimensi yang akan melakukan overwrite atas perubahan yang terjadi.
4.2.9 Deciding the query priorities and the query modes
Dalam tahap ini dibahas mengenai proses Extract, Transformation, dan Load (ETL), backup yang dilakukan secara berkala, analisis kapasitas media penyimpanan dan analisis pertumbuhan data.
a. Proses Extract, Transformation, dan Load (ETL)
Pelaku ETL Dilakukan setiap Keterangan
Database Administrator
Satu bulan sekali Proses ETL diawasi oleh DBA
Tabel 4. 14 Tabel ETL
Pada perancangan ini proses ETL yang dilakukan adalah sebagai berikut:
1. Dim_Status
• Extract
Proses extract dalam dimensi status terdapat pada:
‐ Langkah 1: M engambil data StatusId, Status, StatusDesc, dan CauseId dari tabel Gen_M aster_Status.
Gambar 4.2.1 Langkah Pertama Dimensi Status
- Langkah 2: M engambil data CauseId dan CausedBy dari tabel Gen_M aster_Cause.
Gambar 4.2.2 Langkah Kedua Dimensi Status
• Transform
Proses transform dalam dimensi status terdapat pada:
- Langkah 3 : M enggabungkan tabel master status dan master cause berdasarkan CauseId
Gambar 4.2.3 Langkah Ketiga Dimensi Status
- Langkah 4: M embuat surrogate key untuk Dim_Status
Gambar 4.2.4 Langkah Keempat Dimensi Status
- Langkah 5: M engambil field-field yang dibutuhkan, yaitu sk_status, StatusId, Status dan CausedBy.
Gambar 4.2.5 Langkah Kelima Dimensi Status • Loading
- Langkah 6: Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_Status
Gambar 4.2.6 Langkah Keenam Dimensi Status
2. Dim_Program
Gambar 4. 3 Proses ETL Dimensi Program • Extract
Proses extract dalam dimensi program terdapat pada:
‐ Langkah 1: M engambil data ProgId, ProgKeyword, ProgDesc, CategoryId, OptId, dan PriceId dari tabel Gen_Program.
Gambar 4.3.1 Langkah Pertama Dimensi Program
- Langkah 2: M engambil data CategoryId dan CategoryName dari tabel Gen_M aster_ProgCategory.
Gambar 4.3.2 Langkah Kedua Dimensi Program
• Transform
Proses transform dalam dimensi program terdapat pada:
- Langkah 3 : M enggabungkan tabel master Program dan master ProgCategory berdasarkan CauseId
Gambar 4.3.3 Langkah Ketiga Dimensi Program
- Langkah 4: M embuat surrogate key untuk Dim_Program
Gambar 4.3.4 Langkah Keempat Dimensi Program
- Langkah 5: M engambil field-field yang dibutuhkan, yaitu sk_program, CategoryId, CategoryName, ProgId dan ProgDesc.
Gambar 4.3.5 Langkah Kelima Dimensi Program
• Loading
Proses loading dalam dimensi program terdapat pada:
- Langkah 6: Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_Program
3. Dim_Partner
Gambar 4. 4 Proses ETL Dimensi Partner • Extract
Proses extract dalam dimensi partner terdapat pada:
- Langkah 1: M engambil data PartnerId, PartnerName, Address, StartDate, dan EndDate dari tabel Gen_Partner.
Gambar 4.4.1 Langkah Pertama Dimensi Partner
• Transform
Proses transform dalam dimensi partner terdapat pada: - Langkah 2: M embuat surrogate key untuk Dim_Partner
Gambar 4.4.2 Langkah Kedua Dimensi Partner
- Langkah 3: M engambil field-field yang dibutuhkan, yaitu sk_partner, PartnerId, dan PartnerName
Gambar 4.4.3 Langkah Ketiga Dimensi Partner
• Loading
- Langkah 4: Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_Partner
Gambar 4.4.4 Langkah Keempat Dimensi Partner
4. Dim_Time
Gambar 4. 5 Proses ETL Dimensi Time • Transform
‐ Langkah 1 : M enyediakan kapasitas 1826 hari atau 5 tahun, dimulai dari awal tahun 2005
Gambar 4.5.1 Langkah Pertama Dimensi Time
‐ Langkah 2 : Lalu membuat variabel days_since sehingga tanggal dapat di-increment sebesar 1 untuk mendapatkan tanggal selanjutnya
Gambar 4.5.2 Langkah Kedua Dimensi Time
‐ Langkah 3 : M embuat field-field yang mungkin dibutuhkan untuk Dim_Time, seperti year, month, dsb
Gambar 4.5.3 Langkah Ketiga Dimensi Time
‐ Langkah 4 : M embuat perhitungan untuk mendapatkan minggu dalam bulan tersebut dengan menggunakan fungsi Calendar. WEEK_OF_MONTH.
Gambar 4.5.4 Langkah Keempat Dimensi Time
‐ Langkah 5: M embuat perhitungan quarter dalam tahun, dimana bulan satu sampai dengan tiga masuk ke dalam quarter 1, dst.
Gambar 4.5.5 Langkah Kelima Dimensi Time
‐ Langkah 6: M embuat penamaan hari dalam minggu dimana day nr1 menunjukkan hari tersebut dalam angka yaitu minggu sebagai 1, dan untuk variabel daydesc menunjukkan minggu sebagai Sunday, sedangkan daydescshort sebagai SUN untuk hari minggu, dst.
Gambar 4.5.6 Langkah Keenam Dimensi Time
‐ Langkah 7 : M embuat penamaan hari dalam minggu dimana data yang sebelumnya masih dalam bentuk baris, kita ubah ke dalam bentuk kolom agar sesuai dengan format tabel pada umumnya dalam database.
Gambar 4.5.7 Langkah Ketujuh Dimensi Time
‐ Langkah 8 : M enggabungkan penamaan hari yang telah dibuat melalui field DayNr
‐ Langkah 9 : M embuat penamaan bulan dengan membuat variabel-variabel penampung terlebih dulu yaitu desc1 untuk menampung bulan January, dan short1 untuk JAN, dst.
Gambar 4.5.9 Langkah Kesembilan Dimensi Time
‐ Langkah 10 : M embuat penamaan bulan dimana variabel tersebut diisi dengan angka yang sesuai.
Gambar 4.5.10 Langkah Kesepuluh Dimensi Time
‐ Langkah 11: M enggabungkan dengan penamaan bulan yang telah dibuat melalui field M onthNr
Gambar 4.5.11 Langkah Kesebelas Dimensi Time
‐ Langkah 12 : M embuat surrogate key untuk Dim_Time
Gambar 4.5.12 Langkah Kedua belas Dimensi Time
‐ Langkah 13 : M emilih field-field yang dibutuhkan yaitu sk_time, Year, Quarter, M onth, M onthDesc, WeekOfM onth, DayOfMonth, DayofWeekDesc
• Loading
Proses loading dari dimensi time yaitu terdapat pada:
‐ Langkah 14 : Data lalu dimuat ke dalam tabel dimensi yaitu Dim_Time
Gambar 4.5.14 Langkah Keempat belas Dimensi Time
5. Dim_Operator
Gambar 4. 6 Proses ETL Dimensi Operator • Extract
Proses extract dalam dimensi operator terdapat pada:
- Langkah 1: M engambil data OprId, operatorName, dan SharingPercentage dari tabel Gen_M aster_Operator.
Gambar 4.6.1 Langkah Pertama Dimensi Operator • Transform
Proses transform dalam dimensi operator terdapat pada: - Langkah 2: M embuat surrogate key untuk Dim_Operator
Gambar 4.6.2 Langkah Kedua Dimensi Operator
- Langkah 3: M engambil field-field yang dibutuhkan, yaitu sk_operator, OprId, dan OperatorName
Gambar 4.6.3 Langkah Ketiga Dimensi Operator
• Loading
Proses loading dalam dimensi operator terdapat pada:
- Langkah 4: Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_Operator
Gambar 4.6.4 Langkah Keempat Dimensi operator
6. Dim_Channel
• Extract
Proses extract dalam dimensi channel terdapat pada:
- Langkah 1: M engambil data Channel, dan ChannelDesc dari tabel Gen_M aster_Channel.
Gambar 4.7.1 Langkah Pertama Dimensi Channel
• Transform
Proses transform dalam dimensi channel terdapat pada: - Langkah 2: M embuat surrogate key untuk Dim_Channel
- Langkah 3: M engambil field-field yang dibutuhkan, yaitu sk_channel, Channel, dan ChannelDesc
Gambar 4.7.3 Langkah Ketiga Dimensi Channel
• Loading
Proses loading dalam dimensi channel terdapat pada:
- Langkah 4: Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_Channel
7. Dim_Media
Gambar 4. 8 Proses ETL Dimensi M edia
• Extract
Proses extract dalam dimensi media terdapat pada:
- Langkah 1: M engambil data M ediaId, dan M ediaDesc dari tabel Gen_M aster_M edia.
Gambar 4.8.1 Langkah Pertama Dimensi M edia • Transform
Proses transform dalam dimensi media terdapat pada: - Langkah 2: M embuat surrogate key untuk Dim_M edia
Gambar 4.8.2 Langkah Kedua Dimensi M edia
- Langkah 3: M engambil field-field yang dibutuhkan, yaitu sk_media, M ediaId, dan M ediaDesc
• Loading
Proses loading dalam dimensi M edia terdapat pada:
- Langkah 4: Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_M edia
Gambar 4.8.4 Langkah Keempat Dimensi M edia
8. Dim_Option
Gambar 4. 9 Proses ETL Dimensi Option
• Extract
Proses extract dalam dimensi option terdapat pada:
- Langkah 1: M engambil data OptId, dan OptDesc dari tabel Gen_M aster_Option.
Gambar 4.9.1 Langkah Pertama Dimensi Option
• Transform
Proses transform dalam dimensi Option terdapat pada: - Langkah 2: M embuat surrogate key untuk Dim_Option
Gambar 4.9.2 Langkah Kedua Dimensi Option
- Langkah 3: M engambil field-field yang dibutuhkan, yaitu sk_option, OptId, dan OptDesc
Gambar 4.9.3 Langkah Ketiga Dimensi Option
• Loading
Proses loading dalam dimensi Option terdapat pada:
- Langkah 4: Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_Option
9. Dim_Company
Gambar 4. 10 Proses ETL Dimensi Company • Extract
Proses extract dalam dimensi company terdapat pada:
- Langkah 1: M engambil data Company Name dan Company Brand dari tabel M s_Company.
Gambar 4.10.1 Langkah Pertama Dimensi Company • Transform
Proses transform dalam dimensi Company terdapat pada:
Gambar 4.10.2 Langkah Kedua Dimensi Company
- Langkah 3: M embuat surrogate key untuk Dim_Company
Gambar 4.10.3 Langkah Ketiga Dimensi Company
- Langkah 4: M engambil data-data dan menyusun urutan field, yaitu sk_company, CompanyName, dan CompanyBrand
Gambar 4.10.4 Langkah Keempat Dimensi Company
• Loading
Proses loading dalam dimensi Company terdapat pada:
- Langkah 5 : Data-data tersebut lalu dimuat ke dalam tabel dimensi yaitu Dim_Company
10. Fact_Pembelian
Gambar 4. 11 Proses ETL Fact Pembelian
• Extract
Proses extract dari Fact_Pembelian terdapat pada:
‐ Langkah 1: M engambil data buy_num, Date, PartnerId, ProgId dari tabel mStars_buy
Gambar 4. 11.1 Langkah Pertama Fact_Pembelian
- Langkah 2: M engambil data buy_num, dan jumlah dari qty dari tabel mStars_buy_detail
Gambar 4. 12.2 Langkah Kedua Fact_Pembelian
• Transform
Proses transform dari Fact_Pembelian terdapat pada:
- Langkah 3: M enggabungkan data mStars_buy dan mStars_buy_detail melalui buy_num
- Langkah 4: M engambil field-field, yaitu buy_num, Date, PartnerId, ProgId, dan Jumlah_Content.
Gambar 4. 14.4 Langkah Keempat Fact_Pembelian
- Langkah 5: M engambil data dari Dim_Partner, yaitu sk_partner, PartnerId, dan PartnerName
- Langkah 6: M endapatkan sk_partner dengan mencocokkan dari field PartnerId
Gambar 4. 11.6 Langkah Keenam Fact_Pembelian
- Langkah 7: M engambil data dari Dim_Program, yaitu sk_program, CategoryId, CategoryName, ProgId, dan ProgDesc.
Gambar 4.11.7 Langkah Ketujuh Fact_Pembelian
- Langkah 8: M endapatkan sk_program melalui field ProgId
Gambar 4.11.8 Langkah Kedelapan Fact_Pembelian
‐ Langkah 9: M embaca tanggal transaksi ke dalam field year, month, dan day untuk mendapatkan sk_time
Gambar 4. 16.9 Langkah Kesembilan Fact_Pembelian
‐ Langkah 10: M engambil field-field yang dibutuhkan yaitu buy_num, Date, Jumlah_Content, sk_partner, sk_program, Year, M onth, Day.
Gambar 4. 17.10 Langkah Kesepuluh Fact_Pembelian
‐ Langkah 11: M engambil data dari Dim_Time, yaitu sk_time, Year, Quarter, M onth, MonthDesc, Week, Day, dan DayDesc.
Gambar 4. 11.11 Langkah Kesebelas Fact_Pembelian
‐ Langkah 12: M endapatkan sk_time dengan mecocokkan melalui field Year, M onth dan Day.
Gambar 4. 18.12 Langkah Kedua belas Fact_Pembelian
‐ Langkah 13: M emilih field-field yang dibutuhkan untuk Fact_Pembelian, yaitu sk_time, sk_partner, sk_program, dan Jumlah_Content.
• Loading
Proses loading dari Fact_Pembelian terdapat pada:
‐ Langkah 14: Data lalu dimuat ke dalam tabel Fact yaitu Fact_Pembelian.
Gambar 4. 11.14 Langkah Keempat belas Fact_Pembelian 11. Fact_Penjualan
Gambar 4. 12 Proses ETL Fact Penjualan
- Langkah 1 (Extract): M engambil data-data dari field to_in_num, M SISDN, Prefix, OprId, Channel, M ediaId, DateMO, dan M essage dari tabel mStars_to_in
- Langkah 2 (Extract): M engambil field trx_num, to_in_num, Date, PlayerId, ServiceId, M ediaId, StatusId, ProgId, ContentId, dan Price dari tabel mStars_trx.
Gambar 4. 12.2 Langkah Kedua Fact_Penjualan
- Langkah 3 (Transform) : M elakukan Lookup (Join) Tabel mStars_trx dengan mStars_to_in berdasar field to_in_num. field-field yang diambil dari tabel mStars_to_in adalah to_in_num, M SISDN, Prefix, OprId, Channel, M ediaId, DateM O dan M essage.
Gambar 4. 21.3 Langkah Ketiga Fact_Penjualan
- Langkah 4 (Transform) : M elakukan sorting field dari kedua tabel yang di Extract data nya.
- Langkah 5 (Transform) : M elakukan filter row, dimana data-data yang tidak memiliki OprId dan Channel (datanya NULL), yaitu data-data dari content yang kategorinya PUSH, akan diteruskan ke step 6, sisanya ke step 7.
Gambar 4. 12.5 Langkah Kelima Fact_Penjualan
- Langkah 6 (Transform) : M enangkap row-row yang telah di-filter pada langkah sebelumnya. Data yang masuk ke langkah ini adalah data transaksi yang bertipe PUSH, dimana ada user yang berlangganan dan setiap beberapa jangka waktu tertentu akan dikirimkan content secara otomatis tanpa perlu request.
- Langkah 7 (Transform) : M enangkap row-row yang telah di-filter pada langkah sebelumnya. Data yang masuk ke langkah ini adalah data transaksi yang bertipe IOD (Info on Demand), dimana request akan content diminta oleh user secara manual atau biasa disebut dengan Pull.
Gambar 4. 23.7 Langkah Ketujuh Fact_Penjualan
- Langkah 8 (Extract) : M engambil data-data dari field PlayerId, M SISDN, Status, DateReg, DateUnreg, LastPush, ProgId, Channel dan OprId dari tabel Gen_Player.
Gambar 4. 12.8 Langkah Kedelapan Fact_Penjualan
- Langkah 9 (Transform) : M elakukan lookup, mengambil field OprId dan Channel dari tabel Gen_Player berdasar PlayerId.
Gambar 4. 24.9 Langkah Kesembilan Fact_Penjualan
- Langkah 10 (Transform) : M elakukan penamaan ulang terhadap field yang baru di di-lookup (yaitu OprId_1 dan Channel_1)
Gambar 4. 12.10 Langkah Kesepuluh Fact_Penjualan
- Langkah 11 (Transform) : M enyatukan kembali row-row yang telah di filter sebelumnya. Sekarang field OprId dan Channel dari transaksi yang bertipe PUSH telah memiliki value.
- Langkah 12 (Extract) : M engambil data-data dari field ProgId, ProgKeyword, ProgDesc, CategoryId, OptId dan PriceId dari tabel Gen_Program.
Gambar 4. 25.12 Langkah Kedua belas Fact_Penjualan
- Langkah 13 (Transform) : M elakukan lookup, mengambil field OptId dari tabel Gen_Program berdasar ProgId.
Gambar 4. 12.13 Langkah Ketiga belas Fact_Penjualan
- Langkah 14 (Transform) : M enambahkan 3 field baru, yaitu Year, M onth dan Day, serta mengkalkulasikan value nya berdasar data di field Date.
- Langkah 15 (Extract) : M engambil data-data dari field Kategori Program, Nama Program, 2005, 2006, 2007, 2008 dan 2009 dari file Excel. (External Data)
Gambar 4. 12.15 Langkah Kelima belas Fact_Penjualan
- Langkah 16 (Transform) : M enambahkan field CompanyBrand yang berisi value “Iguana”
Gambar 4. 26.16 Langkah Keenam belas Fact_Penjualan
- Langkah 17 (Extract) : M engambil data-data dari field Kategori Program, Nama Program, 2005, 2006, 2007, 2008 dan 2009 dari file Excel. (External Data)
Gambar 4. 12.17 Langkah Ketujuh belas Fact_Penjualan
- Langkah 18 (Transform) : M enambahkan field CompanyBrand yang berisi value “Visitel”
Gambar 4. 27.18 Langkah Kedelapan belas Fact_Penjualan
- Langkah 19 (Extract) : M engambil data-data dari field Kategori Program, Nama Program, 2005, 2006, 2007, 2008 dan 2009 dari file Excel. (External Data)
Gambar 4.12.19 Langkah Kesembilan belas Fact_Penjualan
- Langkah 20 (Transform) : M enambahkan field CompanyBrand yang berisi value “Visitel”
Gambar 4.12.20 Langkah Kedua puluh Fact_Penjualan
- Langkah 21 (Transform): M enggabungkan row dari 3 external data ke field yang sama.
Gambar 4.12.21 Langkah Kedua puluh satu Fact_Penjualan
- Langkah 22 (Transform) : M elakukan normalisasi field, dimana kolom 2005-2009 menjadi sebuah field Tahun, dan value yang sebelumnya ada di kolom 2005-2009 tersebut dipindahkan ke field baru yang bernama Harga_Program.
- Langkah 23 (Extract) : M engambil data-data sekaligus melakukan join tabel Gen_Program, Gen_M aster_ProgCategory dan Gen_M aster_Price.
Gambar 4.12.23 Langkah Kedua puluh tiga Fact_Penjualan
- Langkah 24 (Transform) : M elakukan cloning row dari data yang baru saja di Extract. Tiap row diduplikasi sebanyak 4 kali, sehingga hasil akhirnya ada 5 row yang memiliki data sama.
Gambar 4. 12.24 Langkah Kedua puluh empat Fact_Penjualan
- Langkah 25 (Transform) : M emilih field-field yang akan digunakan dari seluruh field yang diambil pada proses Extract pada langkah ke 23.
Gambar 4. 1228.25 Langkah Kedua puluh lima Fact_Penjualan
- Langkah 26 (Transform) : M enambahkan tahun 2005, 2006, 2007, 2008, dan 2009 ke row-row yang telah diduplikasi pada langkah sebelumnya. Hal ini dilakukan, karena selama 5 tahun terakhir harga di
perusahaan tidak mengalami perubahan dan tidak adanya informasi tahun pada harga di database.
Gambar 4.12.26 Langkah Kedua puluh enam Fact_Penjualan
- Langkah 27 (Transform) : M enambahkan field CompanyBrand terhadap data perusahaan sendiri, yang berisi value “*M -Stars*”
Gambar 4.12.27 Langkah Kedua puluh tujuh Fact_Penjualan
- Langkah 28 (Transform) : M elakukan perubahan nama field, Price menjadi Harga_Program, agar sama dengan data External.
Gambar 4.12.28 Langkah Kedua puluh delapan Fact_Penjualan
- Langkah 29 (Transform): M enggabungkan row external data dengan internal data.
Gambar 4. 1229.29 Langkah Kedua puluh sembilan Fact_Penjualan
- Langkah 30 (Extract) : M engambil data-data dari field ProgId, ProgKeyword, ProgDesc, CategoryId, OptId, dan PriceId dari tabel Gen_Program.
Gambar 4.12.30 Langkah Ketiga puluh Fact_Penjualan
- Langkah 31 (Transform) : M elakukan lookup, mengambil field ProgId dari tabel Gen_Program berdasarkan field ProgDesc
Gambar 4. 12.31 Langkah Ketiga puluh satu Fact_Penjualan
- Langkah 32 (Extract) : M engambil data-data dari field sk_company, CompanyName, dan CompanyBrand dari tabel Dim_Company.
Gambar 4.12.32 Langkah Ketiga puluh dua Fact_Penjualan
- Langkah 33 (Transform) : M elakukan lookup, mengambil field sk_company dari tabel Dim_Company berdasarkan field CompanyBrand.
Gambar 4.12.33 Langkah Ketiga puluh tiga Fact_Penjualan
- Langkah 34 (Transform): M enggabungkan row dari field-field yang akan digunakan untuk analisa penjualan (#1-16) dan row dari field-field yang akan digunakan untuk analisa perbandingan harga (#17-22). Sampai tahap ini, field-field tersebut masih dalam tahap pemrosesan dan banyak yang belum memiliki surrogate key.
Gambar 4.12.34 Langkah Ketiga puluh empat Fact_Penjualan
- Langkah 35 (Extract) : M engambil data-data dari field sk_operator, OprId, dan OperatorName dari tabel Dim_Operator.
- Langkah 36 (Transform) : M elakukan lookup, mengambil field sk_operator dari tabel Dim_Operator berdasarkan OprId.
Gambar 4.12.36 Langkah Ketiga puluh enam Fact_Penjualan
- Langkah 37 (Extract) : M engambil data-data dari field sk_channel, Channel, dan ChannelDesc dari tabel Dim_Channel.
Gambar 4.12.37 Langkah Ketiga puluh tujuh Fact_Penjualan
- Langkah 38 (Transform) : M elakukan lookup, mengambil field sk_channel dari tabel Dim_Channel berdasarkan Channel.
- Langkah 39 (Extract) : M engambil data-data dari field sk_media, M ediaId, M ediaDesc dari tabel Dim_M edia.
Gambar 4.12.39 Langkah Ketiga puluh sembilan Fact_Penjualan
- Langkah 40 (Transform) : M elakukan lookup, mengambil field sk_media dari tabel Dim_M edia berdasarkan M ediaId.
Gambar 4.12.40 Langkah Keempat puluh Fact_Penjualan
- Langkah 41 (Extract) : M engambil data-data dari field sk_program, CategoryId, CaterogyName, ProgId, dan ProgDesc dari tabel Dim_Program.
- Langkah 42 (Transform) : M elakukan lookup, mengambil field sk_program dari tabel Dim_Program berdasarkan ProgId.
Gambar 4.12.42 Langkah Keempat puluh dua Fact_Penjualan
- Langkah 43 (Extract) : M engambil data-data dari field sk_option, OptId, dan OptDesc dari tabel Dim_Option.
Gambar 4.12.43 Langkah Keempat puluh tiga Fact_Penjualan
- Langkah 44 (Transform) : M elakukan lookup, mengambil field sk_option dari tabel Dim_Option berdasarkan OptId.
- Langkah 45 (Extract) : M engambil data-data dari field sk_status, StatusId, Status, CausedBy dari tabel Dim_Status.
Gambar 4. 1231.45 Langkah Keempat puluh lima Fact_Penjualan
- Langkah 46 (Transform) : M elakukan lookup, mengambil field sk_status dari tabel Dim_Status berdasarkan StatusId.
- Langkah 47 (transform): M engambil data-data dari field sk_time, Year, Quarter, M onth, MonthDesc, Week, Day, DayDesc dari tabel
Dim_Time.
Gambar 4.12.47 Langkah Keempat puluh tujuh Fact_Penjualan
- Langkah 48 (transform) : M elakukan lookup, mengambil field sk_time dari tabel Dim_Time berdasarkan Year, M onth, dan Day.
Gambar 4.12.48 Langkah Keempat puluh delapan Fact_Penjualan
- Langkah 49 (transform): M enambahkan kolom Count_Traffic yang berisi value untuk perhitungan Jumlah Traffic.
Gambar 4.12.49 Langkah Keempat puluh sembilan Fact_Penjualan
- Langkah 50 (transform): M enyeleksi field-field yang akan di Load ke dalam tabel Fact_Penjualan, yaitu: sk_time, sk_operator, sk_channel, sk_media, sk_program, sk_option, sk_status, sk_company, Jumlah_Traffic, Total_Penjualan, dan Harga_Program.
-
- Langkah 51 (loading): Langkah terakhir ini adalah proses Load data ke dalam tabel Fact_Penjualan.
Gambar 4. 12.51 Langkah Kelima puluh satu Fact_Penjualan
b. Proses Backup
Pelaku Backup Dilakukan setiap Keterangan
Database Administrator
Satu bulan sekali, sebelum proses ETL
dilakukan
Backup data warehouse dilakukan untuk menganggulangi
proses ETL yang gagal Tabel 4. 15 Tabel Backup
4.3 Skema bintang
Pada perancangan ini, bentuk skema yang dipilih adalah star schema, karena skema ini merupakan skema yang mudah dipahami dan digunakan oleh pengguna daripada skema yang lain. Dengan penggunaan star schema, kebutuhan untuk performa menjadi lebih ringan dan waktu pemrosesan menjadi lebih cepat. Secara garis besar skema bintang terdiri dari dua jenis tabel, yaitu tabel fakta dan tabel dimensi. Berikut gambar skema bintang PT. Antar M itra Prakarsa secara keseluruhan.
4.3.1 Skema Bintang Penjualan
Skema bintang penjualan menunjukkan kegiatan penjualan ke pelanggan. Tabel fakta yang ada dalam skema ini yaitu Fact_Penjualan. Tabel dimensi yang ada dalam skema ini yaitu Dim_Time, Dim_Operator, Dim_Channel, Dim_Program, Dim_M edia, Dim_Status, dan Dim_Option. Berikut gambar skema bintang penjualan pada PT. Antar M itra Prakarsa:
4.3.2 Skema Bintang Pembelian
Skema bintang pembelian menunjukkan kegiatan pembelian content ke partner. Tabel fakta yang ada dalam skema ini beserta dimensinya yaitu Fact_Pembelian, Dim_Time, Dim_Program, dan Dim_Partner. Berikut gambar skema bintang pembelian pada PT. Antar M itra Prakarsa:
Gambar 4. 15 Skema Bintang Pembelian 4.4 Metadata
M etadata memuat informasi yang penting mengenai data dalam data warehouse. M etadata dalam data warehouse dapat memuat beberapa hal yaitu:
• Nama database sumber
• Nama tabel data warehouse beserta deskripsi dari tabel tersebut • Rincian informasi dalam tabel data warehouse, meliputi:
o Nama kolom o Tipe tabel kolom
o Ukuran kolom (ukuran kolom yang diperlukan dalam media penyimpanan dalam satuan tertentu), dan
o Kolom yang menjadi kunci
a. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_Time
Deskripsi Tabel : Tabel dimensi waktu
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_waktu Int - - - Create
Year Int - Year Datetime - mStars_trx, mStars_buy Create
Quarter Int - Quarter Int - mStars_trx, mStars_buy Create
M onth Int - M onth Int - mStars_trx, mStars_buy Create
M onthDesc Varchar 30 M onthDesc Varchar 30 mStars_trx, mStars_buy Create
Week Int - Week Int - mStars_trx, mStars_buy Create
Day Int - Day Int - mStars_trx, mStars_buy Create
DayDesc Varchar 30 DayDesc Varchar 30 mStars_trx, mStars_buy Create
b. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_Operator
Deskripsi Tabel : Tabel dimensi operator
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_operator Int - - - Create
OprId Varchar 6 OprId Varchar 6 Gen_M aster_ Operator
Copy
OperatorName Varchar 50 Operator Name
Varchar 50 Gen_M aster_ Operator
Copy
c. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_Channel
Deskripsi Tabel : Tabel dimensi channel
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_channel Int - - - Create
Channel Varchar 4 Channel Varchar 4 Gen_M aster_ Channel
Copy
ChannelDesc Varchar 100 Channel Desc
Varchar 100 Gen_M aster_ Channel
Copy
d. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_M edia
Deskripsi Tabel : Tabel dimensi media
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukura
n
Tabel
sk_media Int - - - Create
M ediaId Varchar 6 M ediaId Varchar 6 Gen_M aster_ M edia
Copy
M ediaDesc Varchar 50 M ediaDesc Varchar 50 Gen_M aster_ M edia
Copy
e. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_Partner
Deskripsi Tabel : Tabel dimensi partner
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_partner Int - - - Create
PartnerId Varchar 6 Partner Id
Varchar 6 Gen_Partner Copy
PartnerName Varchar 50 Partner Name
Varchar 50 Gen_Partner Copy
f. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_Option
Deskripsi Tabel : Tabel dimensi option
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_option Int - - - Create
OptId Int - OptId Int - Gen_M aster_Option Copy
OptDesc Varchar 50 OptDesc Varchar 50 Gen_M aster_Option Copy
g. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_Program
Deskripsi Tabel : Tabel dimensi program
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_program Int - - - Create
CategoryId Varchar 3 ProgCategory Varchar 3 Gen_M aster_Prog Category
Copy
CategoryName Varchar 30 CategoryName Varchar 30 Gen_M aster_Prog Category
Copy
ProgId Varchar 9 ProgId Varchar 9 Gen_Program Copy
ProgDesc Varchar 100 ProgDesc Varchar 100 Gen_Program Copy
h. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Dim_Status
Deskripsi Tabel : Tabel dimensi status
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_status Int - - - Create
StatusId Int - StatusId Int - Gen_M aster_Status Copy
Status Varchar 20 Status Varchar 20 Gen_M aster_Status Copy
CausedBy Varchar 100 CausedBy Varchar 100 Gen_M aster_Cause Copy
i. DBM S : SQL Server 2008 Nama Database : OLAP_AM P
Nama Tabel : Dim_Company
Deskripsi Tabel : Tabel dimensi company
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukura
n
Tabel
sk_company Int - - - Create
CompanyName Varchar 100 Company Name
Varchar 100 Ms_Company.xls Copy
CompanyBrand Varchar 100 Company Brand
Varchar 100 Ms_Company.xls Copy
j. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Fact_Penjualan
Deskripsi Tabel : Tabel fakta penjualan
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_time Int - sk_time Int - Dim_Time Copy
sk_operator Int - sk_operator Int - Dim_Operator Copy
sk_channel Int - sk_channel Int - Dim_Channel Copy
sk_media Int - sk_media Int - Dim_M edia Copy
sk_program Int - sk_program Int - Dim_Program Copy
sk_option Int - sk_option Int - Dim_Option Copy
sk_status Int - sk_status Int - Dim_Status Copy
sk_company Int - sk_company Int - Dim_Company Copy
Total_Penjualan Int - Total_Penjualan Int - mStars_trx Copy
Harga_Program Int - Price Int - Gen_Program, Gen_M aster_Pr
ice
Copy
Tabel 4. 254 Tabel M etadata Fact Penjualan
k. DBM S : SQL Server 2008 Nama Database : OLAP_AM P Nama Tabel : Fact_Pembelian Deskripsi Tabel : Tabel fakta pembelian
Field Tipe Ukuran Sumber Data Transformasi
Field Tipe Ukuran Tabel
sk_time Int - sk_time Int - Dim_Time Create
sk_partner Int - sk_partner Int - Dim_Partner Copy
sk_program Int - sk_program Int - Dim_program Copy
Jumlah_Content Int - Qty Int - mStars_buy_detail Copy
4.5 Proses Analisis Kapasitas Media Penyimpanan
4.5.1 Proses Analisis Kapasitas Media Penyimpanan
Transaksi sehari-hari yang terjadi pada OLTP, sangat mempengaruhi pertumbuhan data dalam database maupun pertumbuhan data dalam data warehouse. Oleh karena itu, diperlukan analisis kebutuhan media penyimpanan untuk data warehouse sehingga mampu menampung pertumbuhan data yang terus menerus selama beberapa tahun ke depan.
Rumus yang akan digunakan untuk perhitungan kebutuhan record dalam SQL Server 2008 adalah:
o Num_Row = Jumlah Baris / Jumlah Record o Num_Col = Jumlah Kolom dalam tabel
o Fixed_Data_Size = Jumlah bytes yang dibutuhkan oleh semua kolom yang mempunyai tipe data dengan ukuran yang pasti.
o Num_Variable_Cols = Jumlah kolom yang mempunyai tipe data dengan ukuran tidak pasti seperti varchar, nvarchar, varbinary.
o M ax_Var_Size = Ukuran byte terbesar dari semua kolom yang mempunyai tipe data dengan ukuran tidak pasti
o Null_Bitmap = Bit status null kolom = 2 + ((Num_Col + 7) / 8)
o Variable_Data_Size = Jumlah bytes yang dibutuhkan untuk semua kolom variable = 2 + (Num_Variable_Cols x 2) + M ax_Var_Size
o Row_Size = Fixed_Data_Size + Null_Bitmap + 4 o Rows_Per_Page = 8096 / (Row_Size+2)
o Num_of_Pages = Num_Row / Rows_Per_Page o Heap_Size (Bytes) = 8192 × Num_of_Pages
o Heap_Size (M bytes) = Num_of_Bytes / 1024 / 1024
Analisis perkiraan kapasitas media penyimpanan data pada data warehouse PT Antar M itra Prakarsa adalah seperti berikut ini, dimana ‘n’ merupakan variabel tahun.
Rn = R × (n + (1+i) n) R = jumlah record
n = tahun
i = persentase pertumbuhan record per tahun
Perhitungan untuk dimensi yang mengalami pertumbuhan data adalah seperti berikut:
Rn = R × (1+i) n R = jumlah record n = tahun
Berikut adalah analisis perkiraan kapasitas media penyimpanan saat ini:
DimTime DimChannel DimM edia DimOperator
Num_Rows 1825 5 3 7 Num_Cols 8 3 3 3 Fixed_Data_Size 84 108 60 60 Num_Variable_Cols 2 2 2 2 M ax_Var_Size 30 100 50 50 Null_Bitmap 3.88 3.25 3.25 3.25 Variable_Data_Size 36 106 56 56 Row_Size 127.88 221.25 123.25 123.25 Rows_Per_Page 62.33 36.26 64.64 64.64 Num_Pages 29.28 0.14 0.05 0.11
Heap size (bytes) 239861.76 1146.88 409.6 901.12
Heap size (Kbytes) 234.24 1.12 0.4 0.88
Dim_Stat us Dim_Compa ny Dim_Opti on Dim_Partn er Dim_Progra m Num_Rows 300 20 20 50 500 Num_Cols 4 3 3 3 5 Fixed_Data_Size 128 204 58 60 146 Num_Variable_C ols 2 2 1 2 4 M ax_Var_Size 100 100 50 50 100 Null_Bitmap 3.38 3.25 3.25 3.25 3.5 Variable_Data_Si ze 106 106 54 56 110 Row_Size 241.38 317.25 119.25 123.25 263.5 Rows_Per_Page 33.26 25.36 66.77 64.64 30.49 Num_Pages 9.02 0.79 0.3 0.77 16.4
Heap size (bytes) 73891.84 6471.68 2457.6 6307.84 134348.8
Heap size
(Kbytes) 72.16 6.32 2.4 6.16 131.2
Fact_Penjualan Fact_Pembelian Num_Rows 144000000 90000 Num_Cols 11 4 Fixed_Data_Size 44 16 Num_Variable_Cols 0 0 M ax_Var_Size 4 4 Null_Bitmap 4.25 3.38 Variable_Data_Size 6 6 Row_Size 58.25 29.38 Rows_Per_Page 134.37 258 Num_Pages 1071667.78 348.84
Heap size (bytes) 8779102454 2857697.28
Heap size (Kbytes) 8573342.24 2790.72
Tabel 4. 28 Tabel Kapasitas Penyimpanan Fact
Berikut adalah analisis perkiraan kapasitas media penyimpanan untuk lima tahun mendatang :
1. Record Fact_Penjualan
Asumsi jumlah record data selama lima tahun diperkirakan adalah 144.000.000 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 2.400.000 transaksi sehingga jumlah record untuk lima tahun adalah 2.400.000 x 12 x 5 yaitu 144.000000 record.
R5 = 144.000.000 × (5 + (1+0,1)5) = 951.913.440
Jumlah record Fact_Penjualan pada tahun ke-5 = 951.913.440
M aka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:
Num_Row = 951.913.440 Num_Col = 11
Fixed_Data_Size = 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 = 44 bytes Num_Variable_Cols = 0 Max_Var_Size = 4 Null Bitmap = 2 + ((11 + 7) / 8) = 4,25 Variable_Data_Size = 2 + (11 x 2) + 4 = 6 Row_Size = 44 + 6 + 4,25 + 4 = 58,25 bytes Rows_Per_Page = 8096 / (58,25 + 2) = 134,37 rows Num_of_Pages = 951.913.440 / 134,37 = 7.084.270,6 pages Heap_Size (Bytes) = 8192 × 7.084.270,6 = 58.034.344.755 bytes Heap_Size (Mbytes) = 58.034.344.755 / 1024 / 1024 = 55.345,87
M bytes
2. Record Fact_Pembelian
Asumsi jumlah record data untuk lima tahun diperkirakan adalah 90.000 record. Jumlah tersebut didasarkan pada asumsi bahwa rata-rata setiap bulan terjadi 1.500 transaksi sehingga jumlah record untuk satu tahun adalah 1.500 x 12 x 5 yaitu 90.000 record.
R5 = 90.000 × (5 + (1+0,1)5) = 594.946
Jumlah record Fact_Pembelian pada tahun ke-5 = 594.946
M aka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:
Num_Col = 4 Fixed_Data_Size = 4 + 4 + 4 + 4 = 16 bytes Num_Variable_Cols = 0 Max_Var_Size = 4 Null Bitmap = 2 + ((4 + 7) / 8) = 3,38 Variable_Data_Size = 2 + (0 x 2) + 4 = 6 Row_Size = 16 + 6 + 3,38 + 4 = 29,38 bytes Rows_Per_Page = 8096 / (29,38 + 2) = 258 row Num_of_Pages = 594.946 / 258 = 2305,99 pages
Heap_Size (Bytes) = 8192 × 2305,99 = 18890670,08 bytes
Heap_Size (Mbytes) = 18890670,08 / 1024 / 1024 = 18,02 M bytes
Perhitungan untuk dimensi yang mengalami pertumbuhan data adalah seperti berikut, (kecuali Dimensi Time, M edia, dan Option):
1. Dimensi Time
R5 = 1825 + (365 x 5) = 3650
Jumlah record Dim_Time pada tahun ke-5 = 3650
M aka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:
Num_Row = 3650 Num_Col = 8
Num_Variable_Cols = 2 Max_Var_Size = 30 Null Bitmap = 2 + ((8 + 7) / 8) = 3,88 Variable_Data_Size = 2 + (2 x 2) + 30 = 36 Row_Size = 84 + 36 + 3,88 + 4 = 127,88 bytes Rows_Per_Page = 8096 / (127,88 + 2) = 62,33 row Num_of_Pages = 3650 / 62,33 = 58,56 pages
Heap_Size (Bytes) = 8192 × 58,56 = 479723,52 bytes
Heap_Size (Mbytes) = 479723,52 / 1024 / 1024 = 0,46 Mbytes
2. Dimensi Channel R5 = 5 × (1+0,01)5
= 6
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah: Num_Row = 6 Num_Col = 3 Fixed_Data_Size = 4 + 4 + 100= 108 bytes Num_Variable_Cols = 2 Max_Var_Size = 100 Null Bitmap = 2 + ((3 + 7) / 8) = 3,25 Variable_Data_Size = 2 + (2 x 2) + 100 = 106 Row_Size = 108 + 106 + 3,25 + 4 = 221,25 bytes Rows_Per_Page = 8096 / (221,25 + 2) = 36,26 row
Num_of_Pages = 6 / 36,26 = 0,17 pages
Heap_Size (Bytes) = 8192 × 0,17 = 1392,64 bytes
Heap_Size (Mbytes) = 1392,64 / 1024 / 1024 = 0,01 Mbytes
3. Dimensi M edia
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah: Num_Row = 3 Num_Col = 3 Fixed_Data_Size = 4 + 6 + 50 = 60 bytes Num_Variable_Cols = 2 Max_Var_Size = 50 Null Bitmap = 2 + ((3 + 7) / 8) = 3,25 Variable_Data_Size = 2 + (2 x 2) + 50 = 56 Row_Size = 60 +56 + 3,25 + 4 = 123,25 bytes Rows_Per_Page = 8096 / (123,25 + 2) = 64,64 row Num_of_Pages = 3 / 64,64 = 0,05 pages
Heap_Size (Bytes) = 8192 × 0,05 = 409,6 bytes
Heap_Size (Mbytes) = 409,6 / 1024 / 1024 = 0,01 Mbytes
4. Dimensi Operator R5 = 7 × (1+0,01)5
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah: Num_Row = 8 Num_Col = 3 Fixed_Data_Size = 4 + 6 + 50 = 60 bytes Num_Variable_Cols = 2 Max_Var_Size = 50 Null Bitmap = 2 + ((3 + 7) / 8) = 3,25 Variable_Data_Size = 2 + (2 x 2) + 50 = 56 Row_Size = 60 + 66 + 3,25 + 4 = 123,25 bytes Rows_Per_Page = 8096 / (123,25 + 2) = 64,64 row Num_of_Pages = 3 / 64,64 = 0,12 pages
Heap_Size (Bytes) = 8192 × 0,12 = 983,04 bytes
Heap_Size (Mbytes) = 983,4 / 1024 / 1024 = 0,01 Mbytes
5. Dimensi Option
R5 = 20 × (1+0,01)5
= 22
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:
Num_Row = 22 Num_Col = 3
Fixed_Data_Size = 4 + 4 + 50 = 58 bytes Num_Variable_Cols = 1
Max_Var_Size = 50 Null Bitmap = 2 + ((3 + 7) / 8) = 3,25 Variable_Data_Size = 2 + (1 x 2) + 50 = 54 Row_Size = 58 + 54 + 3,25 + 4 = 119,25 bytes Rows_Per_Page = 8096 / (119,25 + 2) = 66,77 row Num_of_Pages = 22 / 66,77 = 0,33 pages
Heap_Size (Bytes) = 8192 × 0,33 = 2703,36 bytes
Heap_Size (Mbytes) = 2703,36 / 1024 / 1024 = 0,003 Mbytes
6. Dimensi Partner
R5 = 50 × (1+0,01)5
= 53
Jumlah record Dim_Partner pada tahun ke-5 = 53
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah: Num_Row = 53 Num_Col = 3 Fixed_Data_Size = 4 + 6 + 50 = 60 bytes Num_Variable_Cols = 2 Max_Var_Size = 50 Null Bitmap = 2 + ((3 + 7) / 8) = 3,25 Variable_Data_Size = 2 + (2 x 2) + 50 = 56 Row_Size = 58 + 56 + 3,25 + 4 = 123,25 bytes Rows_Per_Page = 8096 / (123,25 + 2) = 64,64 row
Num_of_Pages = 53 / 64,64 = 0,82 pages
Heap_Size (Bytes) = 8192 × 0,82 = 6717,44 bytes
Heap_Size (Mbytes) = 6717,44 / 1024 / 1024 = 0,007 Mbytes
7. Dimensi Program
R5 = 500 × (1+0,02)5
= 553
Jumlah record Dim_Program pada tahun ke-5 = 553
M aka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah: Num_Row = 553 Num_Col = 5 Fixed_Data_Size = 4 + 30 + 9 + 100 = 146 bytes Num_Variable_Cols = 4 Max_Var_Size = 100 Null Bitmap = 2 + ((5 + 7) / 8) = 3,5 Variable_Data_Size = 2 + (4 x 2) + 100 = 110 Row_Size = 146 + 110 + 3,5 + 4 = 263,5 bytes Rows_Per_Page = 8096 / (263,5 + 2) = 30,49 row Num_of_Pages = 553 / 30,49 = 18,14 pages
Heap_Size (Bytes) = 8192 × 18,14 = 148602,88 bytes
8. Dimensi Status
R5 = 300 × (1+0,02)5
= 316
Jumlah record Dim_Status pada tahun ke-5 = 316
M aka kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah: Num_Row = 316 Num_Col = 4 Fixed_Data_Size = 4 + 4 + 20 + 100 = 128 bytes Num_Variable_Cols = 2 Max_Var_Size = 100 Null Bitmap = 2 + ((4 + 7) / 8) = 3,38 Variable_Data_Size = 2 + (2 x 2) + 100 = 106 Row_Size = 128 + 106 + 3,38 + 4 = 241,38 bytes Rows_Per_Page = 8096 / (241,38 + 2) = 33,26 row Num_of_Pages = 316 / 33,26 = 9,5 pages
Heap_Size (Bytes) = 8192 × 9,5 = 77824 bytes
Heap_Size (Mbytes) = 77824 / 1024 / x1024 = 0,08 Mbytes
9. Dimensi Company R5 = 20 × (1+0,01)5
= 22
Kisaran media penyimpanan yang dibutuhkan dalam jangka waktu 5 tahun adalah:
Num_Row = 22 Num_Col = 3 Fixed_Data_Size = 4 + 4 + 100= 204 bytes Num_Variable_Cols = 2 Max_Var_Size = 100 Null Bitmap = 2 + ((3 + 7) / 8) = 3,25 Variable_Data_Size = 2 + (2 x 2) + 100 = 106 Row_Size = 204 + 106 + 3,25 + 4 = 317,25 bytes Rows_Per_Page = 8096 / (317,25 + 2) = 25,36 row Num_of_Pages = 22 / 25,36 = 0,87 pages
Heap_Size (Bytes) = 8192 × 0,87 = 7127,04 bytes
Heap_Size (M bytes) = 7127,04 / 1024 / 1024 = 0,0068 M bytes
4.5.2 Proses Analisis Pertumbuhan Data
Analisis perkiraan pertumbuhan data pada data warehouse PT. Antar M itra Prakarsa adalah sebagai berikut:
Nama Tabel Besar record (Bytes) Jumlah Current Record Jumlah bytes (M bytes) Fact_Penjualan 32 951.913.440 55.345,87 Fact_Pembelian 16 594.946 18,02 Dim_Time 84 3.650 0,46 Dim_Program 146 553 0,142 Dim_Option 58 22 0,003 Dim_Operator 60 8 0,01 Dim_Channel 108 6 0,01 Dim_M edia 60 3 0,01 Dim_Status 128 316 0,08 Dim_Partner 60 53 0,007 Dim_Company 204 22 0,0068 Total 55364.5918
Tabel 4. 29 Tabel Analisis Pertumbuhan Data
4.6 Tampilan Layar Aplikasi
4.6.1 Rancangan layar AMP-Penjualan-Channel
Dalam layar ini berisikan pivot table dan chart yang menampilkan channel yang paling banyak digunakan berdasarkan periode waktu tertentu. Pada tombol navigator dilambangkan dengan kubus yang berada di paling kiri berfungsi bagi user untuk memilih dimensi yang diinginkan untuk tampil, dan
juga dapat memilih measure yang ingin ditampilkan. Sedangkan tombol exports to excel dilambangkan dengan simbol X yang berada di paling kanan berfungsi untuk melakukan export pivot table ke excel. Tombol dengan gambar printer yang terletak tepat di sebelah kiri exports to excel, berfungsi untuk meng-export ke dalam bentuk PDF.
Gambar 4. 16 Rancangan layar AM P-Penjualan-Channel
4.6.2 Rancangan layar AMP-Penjualan-JumlahTraffic
Dalam layar ini berisikan pivot table dan chart yang menampilkan jumlah traffic berdasarkan periode waktu tertentu. Pada tombol navigator dilambangkan dengan kubus yang berada di paling kiri berfungsi bagi user untuk memilih dimensi yang diinginkan untuk tampil, dan juga dapat memilih measure yang ingin ditampilkan. Sedangkan tombol exports to excel dilambangkan dengan simbol X yang berada di paling kanan berfungsi untuk melakukan export pivot
table ke excel. Tombol dengan gambar printer yang terletak tepat di sebelah kiri exports to excel, berfungsi untuk meng-export ke dalam bentuk PDF.
Gambar 4. 17 Rancangan layar AM P-Penjualan-JumlahTraffic
4.6.3 Rancangan layar AMP-Penjualan-Media
Dalam layar ini berisikan pivot table dan chart yang menampilkan media yang paling banyak digunakan berdasarkan periode waktu tertentu. Pada tombol navigator dilambangkan dengan kubus yang berada di paling kiri berfungsi bagi user untuk memilih dimensi yang diinginkan untuk tampil, dan juga dapat memilih measure yang ingin ditampilkan. Sedangkan tombol exports to excel dilambangkan dengan simbol X yang berada di paling kanan berfungsi untuk melakukan export pivot table ke excel. Tombol dengan gambar printer yang terletak tepat di sebelah kiri exports to excel, berfungsi untuk meng-export ke dalam bentuk PDF.
Gambar 4. 18 Rancangan layar AM P-Penjualan-M edia
4.6.4 Rancangan layar AMP-Penjualan-Operator
Dalam layar ini berisikan pivot table dan chart yang menampilkan operator mana yang paling banyak transaksinya berdasarkan periode waktu tertentu. Pada tombol navigator dilambangkan dengan kubus yang berada di paling kiri berfungsi bagi user untuk memilih dimensi yang diinginkan untuk tampil, dan juga dapat memilih measure yang ingin ditampilkan. Sedangkan tombol exports to excel dilambangkan dengan simbol X yang berada di paling kanan berfungsi untuk melakukan export pivot table ke excel. Tombol dengan gambar printer yang terletak tepat di sebelah kiri exports to excel, berfungsi untuk meng-export ke dalam bentuk PDF.
Gambar 4. 19 Rancangan layar AM P-Penjualan-Operator
4.6.5 Rancangan layar AMP-Penjualan-Option
Dalam layar ini berisikan pivot table dan chart yang menampilkan option mana yang paling banyak diminati oleh pelanggan berdasarkan periode waktu tertentu. Pada tombol navigator dilambangkan dengan kubus yang berada di paling kiri berfungsi bagi user untuk memilih dimensi yang diinginkan untuk tampil, dan juga dapat memilih measure yang ingin ditampilkan. Sedangkan tombol exports to excel dilambangkan dengan simbol X yang berada di paling kanan berfungsi untuk melakukan export pivot table ke excel. Tombol dengan gambar printer yang terletak tepat di sebelah kiri exports to excel, berfungsi untuk meng-export ke dalam bentuk PDF.
Gambar 4. 20 Rancangan layar AM P-Penjualan-Option
4.6.6 Rancangan layar AMP-Penjualan-Program
Dalam layar ini berisikan pivot table dan chart yang menampilkan program mana yang paling banyak diminati oleh pelanggan berdasarkan periode waktu tertentu. Pada tombol navigator dilambangkan dengan kubus yang berada di paling kiri berfungsi bagi user untuk memilih dimensi yang diinginkan untuk tampil, dan juga dapat memilih measure yang ingin ditampilkan. Sedangkan tombol exports to excel dilambangkan dengan simbol X yang berada di paling kanan berfungsi untuk melakukan export pivot table ke excel. Tombol dengan gambar printer yang terletak tepat di sebelah kiri exports to excel, berfungsi untuk meng-export ke dalam bentuk PDF.
Gambar 4. 21 Rancangan layar AM P-Penjualan-Program
4.6.7 Rancangan layar AMP-Penjualan-S tatusOperator
Dalam layar ini berisikan pivot table dan chart yang menampilkan operator mana yang paling banyak mengalami kegagalan pengiriman content berdasarkan periode waktu tertentu. Pada tombol navigator dilambangkan dengan kubus yang berada di paling kiri berfungsi bagi user untuk memilih dimensi yang diinginkan untuk tampil, dan juga dapat memilih measure yang ingin ditampilkan. Sedangkan tombol exports to excel dilambangkan dengan simbol X yang berada di paling kanan berfungsi untuk melakukan export pivot table ke excel. Tombol dengan gambar printer yang terletak tepat di sebelah kiri exports to excel, berfungsi untuk meng-export ke dalam bentuk PDF.