• Tidak ada hasil yang ditemukan

BAB 3 3 ANALISIS DAN UJI COBA. dimensi star schema dan dimensi snowflake, mempersiapkan data yang digunakan pada

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 3 ANALISIS DAN UJI COBA. dimensi star schema dan dimensi snowflake, mempersiapkan data yang digunakan pada"

Copied!
27
0
0

Teks penuh

(1)

29

BAB 3

3 ANALISIS DAN UJI COBA

Pada bab ini dilakukan analisis terhadap kelebihan dan kekurangan dari model dimensi star schema dan dimensi snowflake, mempersiapkan data yang digunakan pada OLTP, membuat skenario perbandingan pada dimensi star schema dan snowflake yang digunakan untuk uji coba, melakukan perhitungan penggunaan disk space yang digunakan pada setiap skenario, melakukan uji coba ETL, dan melakukan proses OLAP (menggunakan Analysis Services).

3.1 Analisis kelebihan dan kekurangan star schema dan snowflake

Pada bagian ini dijabarkan keuntungan dan kerugian antara dimensi star schema dan dimensi snowflake berdasarkan literatur yang didapatkan pada bab 2.

3.1.1 Kelebihan dan kekurangan dimensi star schema

Keuntungan dimensi star schema :

1. Mudah dipahami pengguna karena karena modelnya lebih sederhana.

Star schema menggambarkan dengan jelas bagaimana pengguna berpikir dan

memerlukan data untuk query dan analisis. Skema bintang menggambarkan hubungan antar tabel sama seperti cara pengguna melihat hubungan tersebut secara normal.

2. Mengoptimalkan navigasi sehingga pengguna lebih mudah mencari isi.

Skema bintang mengoptimalisasikan navigasi melewati database sehingga lebih mudah dilihat. Meskipun hasil query terlihat kompleks, tetapi navigasi itu memudahkan pengguna.

(2)

3. Hasil dari proses eksekusi query juga relatif lebih cepat.

Skema bintang paling cocok untuk pemrosesan query karena skema ini berpusat pada query. Tanpa bergantung pada banyak dimensi dan kompleksitas query, setiap query akan dengan mudah dijalankan, pertama dengan memilih baris dari table dimensi dan kemudian menemukan baris yang sama di tabel fakta.

Kerugian dimensi star schema :

1. Ukuran penyimpanan relatif lebih besar.

Karena ada data yang berulang sehingga disk space yang digunakan lebih banyak.

2. Maintenance dan update lebih sulit.

Karena tabel yang tidak normal, sehingga maintenance dan update lebih sulit.

3.1.2 Kelebihan dan kekurangan dimensi snowflake

Keuntungan dari dimensi snowflake:

1. Ukuran penyimpanan kecil di dalam tempat penyimpanan.

2. Struktur yang normal lebih mudah untuk di-update dan di-maintenance.

Kerugian dari dimensi snowflake :

1. Skema snowflake kurang jelas dan pengguna akhir terhambat oleh kompleksitas. 2. Sulit untuk mencari isi karena terlalu kompleks.

Pengguna lebih sulit mencari data yang ingin diinginkan karena datanya ada pada dimensi snowflake karena harus melalui dimensi star schema.

(3)

Setelah mengetahui keuntungan dan kerugian dari dimensi star schema dan dimensi snowflake, akan dilakukan penelitian untuk mengetahui kebenaran dari teori diatas.

3.1.3 Hipotesa awal

Berdasarkan kelebihan dan kekurangan yang telah dijabarkan diatas. Diambil dua hipotesa awal yang disebut juga hipotesa zero (nol) yaitu :

• Model dimensi snowflake lebih cepat dari model dimensi star schema • Model dimensi snowflake menggunakan disk space yang lebih kecil dari

model dimensi star schema

Berdasarkan dari kedua hipotesa diatas, dilakukan uji coba kedua model dimensi dalam proses ETL dan proses OLAP.

3.2 Mempersiapkan data yang digunakan pada OLTP untuk uji coba

Pada bagian ini dipersiapkan database OLTP yang digunakan untuk melakukan uji coba ETL. Database yang digunakan adalah database adventureworks yang merupakan

database sampel yang telah disiapkan oleh Microsoft SqlServer 2005. Database

adventureworks ini dapat diperoleh dengan cara melakukan instalasi tambahan pada

Microsoft SqlServer 2005.

Karena jumlah tabel yang dimiliki oleh adventureworks cukup banyak, maka akan diambil sebagian tabel yang digunakan untuk membuat skenario. Berikut gambar

(4)

SalesOrderDetail (Sal SalesO rderID SalesO rderDetailID C arrierTrackingN umber O rderQ ty ProductID U nitPrice U nitPriceDiscount LineTotal row guid M odifiedDate Address (Person) A ddressID A ddressLine1 A ddressLine2 C ity S tateProv inceID P ostalC ode row guid M odifiedDate Contact (Person) C ontactID N ameSty le Title F irstN ame M iddleName LastName Suffix EmailA ddress EmailPromotion Phone Passw ordHash Passw ordSalt A dditi lC t CreditCard (Sales) C reditC ardID C ardTy pe C ardNumber ExpM onth ExpYear ModifiedDate CurrencyRate (Sa C urrency RateID C urrency RateDate F romC urrency C ode ToC urrency C ode A v erageRate EndO fDay Rate M odifiedDate Customer (Sales) C ustomerID Territory ID A ccountN umber C ustomerTy pe row guid ModifiedDate SalesPerson (Sale S alesPersonID Territory ID S alesQ uota Bonus C ommissionPct S alesYTD S alesLastYear row guid M odifiedDate ShipMethod (Purch ShipM ethodID N ame ShipBase ShipRate row guid M odifiedDate SalesTerritory (Sales) Territory ID Name C ountry RegionC ode [Group] SalesYTD SalesLastYear C ostYTD C ostLastYear row guid ModifiedDate SalesOrderHeader SalesO rderID SalesReasonID M odifiedDate SalesOrderHeader (Sales) SalesO rderID Rev isionNumber O rderDate DueDate ShipDate Status O nlineO rderF lag SalesO rderNumber PurchaseO rderN umber A ccountNumber C ustomerID C ontactID SalesPersonID Territory ID BillToA ddressID ShipToA ddressID ShipMethodID C reditC ardID C reditC ardA pprov alC ode C urrency RateID SubTotal TaxA mt F reight TotalDue C omment row guid ModifiedDate Product (Production) ProductID Name ProductNumber MakeF lag F inishedGoodsF lag C olor Safety StockLev el ReorderPoint StandardC ost ListPrice Size SizeUnitMeasureC ode WeightUnitMeasureC ode Weight Day sToManufacture ProductLine C lass Sty le ProductSubcategory ID ProductM odelID SellStartDate SellEndDate DiscontinuedDate row guid ModifiedDate ProductSubcategory (P ProductSubcategory ID ProductC ategory ID Name row guid ModifiedDate ProductModel (Production) P roductModelID N ame C atalogDescription Instructions row guid M odifiedDate UnitMeasure (Production) U nitM easureC ode

N ame M odifiedDate ProductCategory (Production) ProductC ategory ID Name row guid ModifiedDate

Gambar 3.1 Adventureworks diagram

Pada saat dilakukan perbandingan uji coba ETL dengan jumlah data awal yang terdapat pada adventureworks menghasilkan perbedaan waktu yang kecil, bahkan hampir tidak ada.

(5)

3.3 Skenario yang digunakan pada model dimensi star schema dan snowflake

Berdasarkan tabel-tabel dan relasi yang ada pada gambar 3.1, dilakukan pembuatan skenario, dan dari skenario tersebut akan dibuat sejumlah record yang berbeda–beda dari tabel fakta.

Ilustrasi skenario yang digunakan adalah supervisor dari perusahaan A ingin mendapatkan laporan penjualan barang meliputi jumlah barang yang terjual dan total penjualan dimana laporan tersebut dapat dilihat dari segi product, product subcategory,

currency rate, dan customer. Supervisor perusahaan juga ingin melihat laporan tersebut

dalam periode bulanan, quartal, dan tahunan. Dari permintaan tersebut, maka dibuatlah diagram OLAP dimensi star schema dan snowflake.

DimCurrencyRate CurrencyRateKey CurrencyRateID CurrencyRateDate FromCurrencyCode ToCurrencyCode AverageRate DimCustomer CustomerKey CustomerID CustomerType SalesTerritoryName DimProduct ProductKey ProductID Name MakeFlag FinishedGoodsFlag Size DimSubCategory SubCategoryKey ProductSubCategoryID Name CategoryName DimWaktu WaktuKey Triwulan Tahun Bulan Hari FaktaPenjualan WaktuKey ProductKey SubCategoryKey CustomerKey CurrencyRateKey Jumlah_barang_dijual Total_penjualan CreditCardApprovalCode SubTotal TaxAmt Freight UnitPrice UnitPriceDiscount CarrierTrackingNumber

(6)

DimCurrencyRate CurrencyRateKey CurrencyRateID CurrencyRateDate FromCurrencyCode ToCurrencyCode AverageRate DimCustomer CustomerKey CustomerID CustomerType SalesTerritoryName DimProduct ProductKey ProductID SubCategoryKey Name MakeFlag FinishedGoodsFlag Size DimSubCategory SubCategoryKey ProductSubCategoryID Name CategoryName DimWaktu WaktuKey Triwulan Tahun Bulan Hari FaktaPenjualan WaktuKey ProductKey CustomerKey CurrencyRateKey Jumlah_barang_dijual Total_penjualan CreditCardApprovalCode SubTotal TaxAmt Freight UnitPrice UnitPriceDiscount CarrierTrackingNumber

Gambar 3.3 Snowflake diagram  

Diagram star schema (gambar 3.2) terdiri dari tabel fakta penjualan, dimensi currencyrate, dimensi subcategory, dimensi product, dimensi customer dan dimensi waktu dimana dimensi subcategory dan dimensi product terpisah, sehingga dimensi subcategory terhubung langsung dengan fakta penjualan. Sedangkan diagram snowflake (gambar 3.3) memiliki perbedaan daripada star schema dimana tabel dimensi

(7)

subcategory dan dimensi product terhubung sehingga tabel dimensi subcategory tidak terhubung langsung dengan fakta penjualan.

Berikut sejumlah skenario yang digunakan untuk uji coba ETL dengan model dimensi star schema dan snowflake dimana jumlah data bervariasi, yakni :

• Tabel fakta dengan jumlah data ± 500.000 record

Record pada adventureworks ditambahkan sehingga menghasilkan jumlah fakta

± 500.000 record. Dari skenario ini dibuat 4 skenario baru yakni :

1. Skenario pertama dibuat dengan menggunakan data dari database adventureworks. Kemudian jumlah record pada tabel fakta diperbesar menjadi ± 500.000 record sedangkan jumlah tabel lainnya tetap.

2. Skenario kedua dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel subcategory diperbesar menjadi ± 500.000

record.

3. Skenario ketiga dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel product diperbesar menjadi ± 500.000

record.

4. Skenario keempat dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel subcategory dan product diperbesar menjadi ± 500.000 record.

Tabel 3.1 Jumlah data pada setiap tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) DimSubCategory 100.800 500.000 100.800 500.000 DimProduct 100.799 100.799 500.000 500.000 DimCustomer 200.000 200.000 200.000 200.000 DimCurrencyRate 13.562 13.562 13.562 13.562 DimWaktu 1.124 1.124 1.124 1.124 FaktaPenjualan 500.039 500.039 500.039 500.039

(8)

• Tabel fakta dengan jumlah data ± 1.000.000 record

Data pada adventureworks ditambahkan sehingga menghasilkan jumlah fakta ± 1.000.000 record. Dari skenario ini dibuat 4 skenario baru, yakni :

1. Skenario pertama dibuat dengan menggunakan data dari database

adventureworks. Kemudian jumlah record pada tabel fakta diperbesar menjadi

± 1.000.000 record sedangkan tabel lainnya tetap.

2. Skenario kedua dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada table subcategory diperbesar menjadi ± 3.000.000 record.

3. Skenario ketiga dibuat dengan menggunakan data dari skenario pertama . Kemudian jumlah record pada tabel product diperbesar menjadi ± 3.000.000

record.

4. Skenario keempat dibuat dengan menggunakan data dari skenario pertama . Kemudian jumlah record pada tabel subcategory dan product diperbesar menjadi ± 3.000.000 record.

Tabel 3.2 Jumlah data pada tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) DimSubCategory 300.000 3.030.600 300.000 3.000.000 DimProduct 300.000 300.000 3.000.010 3.000.000 DimCustomer 289.702 289.702 289.702 289.702 DimCurrencyRate 13.562 13.562 13.562 13.562 DimWaktu 1.124 1.124 1.124 1.124 FaktaPenjualan 996.187 996.187 996.187 996.187

(9)

• Tabel fakta dengan jumlah data ± 3.000.000 record

Data pada adventureworks ditambahkan sehingga menghasilkan jumlah fakta ± 3.000.000 record. Dari skenario ini dibuat 4 skenario baru, yakni :

1. Skenario pertama dibuat dengan menggunakan data dari database adventureworks. Kemudian jumlah record pada tabel fakta diperbesar menjadi ± 3.000.000 record sedangkan tabel lainnya tetap.

2. Skenario kedua dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel subcategory diperbesar menjadi ± 5.000.000 record.

3. Skenario ketiga dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel product diperbesar menjadi ± 5.000.000

record.

4. Skenario keempat dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel subcategory dan product diperbesar menjadi ± 5.000.000 record.

Tabel 3.3 Jumlah data pada tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) DimSubCategory 300.000 5.051.100 300.000 5.051.100 DimProduct 300.000 300.000 5.040.000 5.040.000 DimCustomer 289.702 289.702 289.702 289.702 DimCurrencyRate 13.562 13.562 13.562 13.562 DimWaktu 1.124 1.124 1.124 1.124 FaktaPenjualan 3.000.000 3.000.000 3.000.000 3.000.000

(10)

• Tabel fakta dengan jumlah data ± 10.000.000 record

Data pada adventureworks ditambahkan sehingga menghasilkan jumlah tabel fakta ± 10.000.00 record. Dari skenario ini dibuat 4 skenario baru, yakni :

1. Skenario pertama dibuat dengan menggunakan data dari database adventureworks. Kemudian jumlah record pada tabel fakta diperbesar menjadi ± 10.000.000 record sedangkan tabel lainnya tetap.

2. Skenario kedua dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada table subcategory diperbesar menjadi ± 15.000.000 record.

3. Skenario ketiga dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel product diperbesar menjadi ± 13.000.000

record.

4. Skenario keempat dibuat dengan menggunakan data dari skenario pertama. Kemudian jumlah record pada tabel subcategory dan product diperbesar menjadi ± 15.000.000 record.

Tabel 3.4 Jumlah data pada tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) DimSubCategory 5.051.100 15.152.736 5.051.100 15.152.736 DimProduct 5.040.000 5.040.000 13.621.376 15.040.000 DimCustomer 289.702 289.702 289.702 289.702 DimCurrencyRate 13.562 13.562 13.562 13.562 DimWaktu 1.124 1.124 1.124 1.124 FaktaPenjualan 9.282175 9.282.175 9.282175 9.282.175

(11)

3.4 Persiapan data OLTP berdasarkan skenario yang dibuat

Berdasarkan skenario yang telah dibuat subbab di atas, dilakukan penambahan jumlah record pada beberapa tabel. Berikut persiapan data yang dilakukan :

1. Jumlah record pada tabel salesorderdetail ditambahkan sebanyak ± 500.000 record a. Skenario pertama

Skenario pertama adalah dengan menggunakan data dari database adventureworks. Kemudian jumlah record pada salesorderdetail diperbesar sebanyak ± 500.000 record sedangkan tabel lainnya tetap.

b. Skenario kedua

Skenario kedua dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory diperbesar menjadi ± 500.000

record.

c. Skenario ketiga

Skenario ketiga dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel product diperbesar menjadi ± 500.000 record. d. Skenario keempat

Skenario keempat dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory dan product diperbesar menjadi ± 500.000 record.

Tabel 3.5 Jumlah data tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) ProductSubCategory 100.800 500.000 100.800 500.000 Product 100.799 100.799 500.000 500.000 Customer 200.000 200.000 200.000 200.000 CurrencyRate 13.562 13.562 13.562 13.562 Waktu 1.124 1.124 1.124 1.124 SalesOrderDetail 500.039 500.039 500.039 500.039

(12)

2. Jumlah record pada tabel salesorderdetail ditambahkan sebanyak ± 1.000.000

record

a. Skenario pertama

Skenario pertama adalah dengan menggunakan data dari database adventureworks. Kemudian jumlah record pada salesorderdetail diperbesar sebanyak ± 1.000.000 record sedangkan tabel lainnya tetap.

b. Skenario kedua

Skenario kedua dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory diperbesar menjadi ± 3.000.000 record.

c. Skenario ketiga

Skenario ketiga dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel product diperbesar menjadi ± 3.000.000 record. d. Skenario keempat

Skenario keempat dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory dan product diperbesar menjadi ± 3.000.000 record.

Tabel 3.6 Jumlah data tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) ProductSubCategory 300.000 3.030.600 300.000 3.000.000 Product 300.000 300.000 3.000.010 3.000.000 Customer 289.702 289.702 289.702 289.702 CurrencyRate 13.562 13.562 13.562 13.562 Waktu 1.124 1.124 1.124 1.124 SalesOrderDetail 996.187 996.187 996.187 996.187

(13)

3. Jumlah record pada tabel salesorderdetail ditambahkan sebanyak ± 3.000.000

record

a. Skenario pertama

Skenario pertama adalah dengan menggunakan data dari database Adventureworks. Kemudian jumlah record pada salesorderdetail diperbesar sebanyak ± 3.000.000 record sedangkan tabel lainnya tetap.

b. Skenario kedua

Skenario kedua dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory diperbesar menjadi ± 5.000.000 record.

c. Skenario ketiga

Skenario ketiga dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel product diperbesar menjadi ± 5.000.000 record. d. Skenario keempat

Skenario keempat dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory dan product diperbesar menjadi ± 5.000.000 record.

Tabel 3.7 Jumlah data tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) ProductSubCategory 300.000 5.051.100 300.000 5.051.100 Product 300.000 300.000 5.040.000 5.040.000 Customer 289.702 289.702 289.702 289.702 CurrencyRate 13.562 13.562 13.562 13.562 Waktu 1.124 1.124 1.124 1.124 SalesOrderDetail 3.000.000 3.000.000 3.000.000 3.000.000

(14)

4. Jumlah record pada tabel salesorderdetail ditambahkan sebanyak ± 10.000.000

record

a. Skenario pertama

Skenario pertama adalah dengan menggunakan data dari database adventureworks. Kemudian jumlah record pada salesorderdetail diperbesar sebanyak ± 10.000.000 record sedangkan tabel lainnya tetap.

b. Skenario kedua

Skenario kedua dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory diperbesar menjadi ± 15.000.000 record.

c. Skenario ketiga

Skenario ketiga dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel product diperbesar menjadi ± 13.000.000

record.

d. Skenario keempat

Skenario keempat dibuat dengan menggunakan data dari skenario pertama yang kemudian record pada tabel productsubcategory dan product diperbesar menjadi ± 15.000.000 record.

Tabel 3.8 Jumlah data tabel berdasarkan skenario di atas

Nama tabel Skenario ke-1 (record) Skenario ke-2 (record) Skenario ke-3 (record) Skenario ke-4 (record) ProductSubCategory 5.051.100 15.152.736 5.051.100 15.152.736 Product 5.040.000 5.040.000 13.621.376 15.040.000 Customer 289.702 289.702 289.702 289.702 CurrencyRate 13.562 13.562 13.562 13.562 Waktu 1.124 1.124 1.124 1.124 SalesOrderDetail 9.282.175 9.282.175 9.282.175 9.282.175

(15)

3.5 Perhitungan penggunaan disk space untuk data OLAP

Perhitungan penggunaan disk space untuk data OLAP dilakukan pada tiap skenario yang telah dijabarkan, untuk membandingkan penggunaan disk space pada model dimensi star schema dan snowflake.

3.5.1 Penggunaan disk space pada model dimensi star schema

Perkiraan penggunaan kebutuhan disk space pada skenario awal untuk model dimensi star schema adalah sebagai berikut :

Tabel 3.9 Estimasi penggunaan disk space tabel dimcurrencyrate

CurrencyRateKey Int 4 CurrencyRateID Int 4 CurrencyRateDate Datetime 8 FromCurrencyCode Nchar 3 ToCurrencyCode Nchar 3 AverageRate Money 8

Kapasitas dari table DimCurrencyRate adalah 30 byte.

Tabel 3.10 Estimasi penggunaan disk space tabel dimcustomer

CustomerKey Int 4

CustomerID Int 4

CustomerType Nchar 1

SalesTerritoryName Nvarchar 50

Kapasitas dari table DimCustomer adalah 59 byte.

Tabel 3.11 Estimasi penggunaan disk space tabel dimproduct

ProductKey Int 4 ProductID Int 4 Name Nvarchar 50 MakeFlag Bit 1 FinishedGoodsFlag Bit 1 Size Nvarchar 5

Kapasitas dari table DimProduct adalah 65 byte.

Tabel 3.12 Estimasi penggunaan disk space tabel dimsubcategory

SubCategoryKey Int 4

ProductSubCategoryID Int 4

Name Nvarchar 50

CategoryName Nvarchar 50

Kapasitas dari table DimSubCategory adalah 108 byte.  

(16)

Tabel 3.13 Estimasi penggunaan disk space tabel dimwaktu WaktuKey Int 4 Triwulan Int 4 Tahun Int 4 Bulan Int 4 Hari Int 4

Kapasitas dari table DimSubCategory adalah 20 byte.

Tabel 3.14 Estimasi penggunaan disk space tabel faktapPenjualan

WaktuKey Int 4 ProductKey Int 4 SubCategoryKey Int 4 CustomerKey Int 4 CurrencyRateKey Int 4 Jumlah_barang_dijual Money 8 Total_penjualan Int 4 CreditCardApprovalCode Varchar 15 SubTotal Money 8 TaxAmt Money 8 Freight Money 8 UnitPrice Money 8 UnitPriceDiscount Money 8 CarrierTrackingNumber Nvarchar 25

Kapasitas dari table DimSubCategory adalah 112 byte.

Tabel 3.15 Estimasi penggunaan disk space tabel filtertimestamp

Last_ETL_Process_Date Datetime 8

Table_Name Varchar 50

Kapasitas dari table DimSubCategory adalah 58 byte.

Tabel 3.16 Penggunaan total disk space model dimensi star schema skenario pertama dengan jumlah record tabel fakta ± 500.000 record

Nama table Space disk

untuk 1 baris

Jumlah data Total Penggunaan

DimCurrencyRate 30 byte 13562 406860 byte

DimCustomer 59 byte 200000 11800000 byte

DimProduct 65 byte 100799 6551935 byte

DimSubCategory 108 byte 100800 10886400 byte

DimWaktu 20 byte 1124 22480 byte

FaktaPenjualan 112 byte 500039 56004368 byte

FilterTimeStamp 58 byte 6 348 byte

Total 85672391 byte

83664.44 Kbyte

(17)

3.5.2 Penggunaan disk space pada model dimensi snowflake

Perkiraan penggunaan kebutuhan disk space pada skenario awal untuk model dimensi snowflake adalah sebagai berikut :

Tabel 3.17 Estimasi penggunaan disk space tabel dimcurrencyrate

CurrencyRateKey Int 4 CurrencyRateID Int 4 CurrencyRateDate Datetime 8 FromCurrencyCode Nchar 3 ToCurrencyCode Nchar 3 AverageRate Money 8

Kapasitas dari table DimCurrencyRate adalah 30 byte.

Tabel 3.18 Estimasi penggunaan disk space tabel dimcustomer

CustomerKey Int 4

CustomerID Int 4

CustomerType Nchar 1

SalesTerritoryName Nvarchar 50

Kapasitas dari table DimCustomer adalah 59 byte.

Tabel 3.19 Estimasi penggunaan disk space tabel dimproduct

ProductKey Int 4 ProductID Int 4 SubCategoryKey Int 4 Name Nvarchar 50 MakeFlag Bit 1 FinishedGoodsFlag Bit 1 Size Nvarchar 5

Kapasitas dari table DimProduct adalah 69 byte.

Tabel 3.20 Estimasi penggunaan disk space tabel dimsubcategory

SubCategoryKey Int 4

ProductSubCategoryID Int 4

Name Nvarchar 50

CategoryName Nvarchar 50

Kapasitas dari table DimSubCategory adalah 108 byte.

Tabel 3.21 Estimasi penggunaan disk space tabel dimwaktu

WaktuKey Int 4

Triwulan Int 4

Tahun Int 4

Bulan Int 4

Hari Int 4

(18)

Tabel 3.22 Estimasi penggunaan disk space tabel faktapenjualan WaktuKey Int 4 ProductKey Int 4 CustomerKey Int 4 CurrencyRateKey Int 4 Jumlah_barang_dijual Money 8 Total_penjualan Int 4 CreditCardApprovalCode Varchar 15 SubTotal Money 8 TaxAmt Money 8 Freight Money 8 UnitPrice Money 8 UnitPriceDiscount Money 8 CarrierTrackingNumber Nvarchar 25

Kapasitas dari table DimSubCategory adalah 108 byte.

Tabel 3.23 Estimasi penggunaan disk space tabel filtertimestamp

Last_ETL_Process_Date Datetime 8

Table_Name Varchar 50

Kapasitas dari table DimSubCategory adalah 58 byte.

Tabel 3.24 Penggunaan total disk space model dimensi snowflake skenario pertama dimana tabel fakta berjumlah ± 500.000 record

Nama table Space disk

untuk 1 baris

Jumlah data Total Penggunaan

DimCurrencyRate 30 byte 13562 406860 byte

DimCustomer 59 byte 200000 11800000 byte

DimProduct 69 byte 100799 6955131 byte

DimSubCategory 108 byte 100800 10886400 byte

DimWaktu 20 byte 1124 22480 byte

FaktaPenjualan 108 byte 500039 54004212 byte

FilterTimeStamp 58 byte 6 348 byte

Total 84075431 byte

82104.91 Kbyte

80.18 Mbyte

3.6 Pengujian ETL

Setelah menyiapkan data yang sesuai dengan skenario yang ditentukan di atas, dilakukan pengujian ETL (Extract, Transform, Loading). Uji coba ETL dilakukan secara berulang-ulang pada setiap skenario, dari skenario satu sampai skenario empat, dan terdapat perbedaan waktu ETL pada satu skenario yang dilakukan berulang-ulang.

(19)

Perbedaan waktu yang terjadi tidak tetap. Seperti pada skenario satu dengan skenario dua, skenario dua dengan skenario tiga, rentang waktunya selalu berbeda. Perbedaan waktu tersebut dapat dipengaruhi oleh berbagai faktor, seperti jumlah program yang sedang dikerjakan oleh CPU, respon CPU, berbagai faktor lainnya.

3.6.1 Uji coba pada model dimensi Star schema

Hasil dari uji coba ETL pada model dimensi Star schema dari semua skenario sebagai berikut :

• Skenario dimana tabel fakta berjumlah ± 500.000 record

Tabel 3.25 Detail waktu ETL dimana fakta berjumlah ± 500.000 record

Nama tabel Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) Subcategory 3,422 13,657 3,766 10,625 Product 2,828 2,781 11,578 10,375 Customer 3,719 4,312 3,094 5,422 CurrencyRate 344 1,484 1,437 1,205 Waktu 312 313 313 250 FaktaPenjualan 14,500 16,391 16,531 18,438 Total 25,125 38,938 36,719 46,315

• Skenario dimana tabel fakta berjumlah ± 1.000.000 record

Tabel 3.26 Detail waktu ETL dimana tabel fakta berjumlah ± 1.000.000 record

Nama tabel Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) Subcategory 5,812 93,125 8,750 84,031 Product 6,187 21,015 82,141 64,828 Customer 8,250 3,984 7,656 7,906 CurrencyRate 328 1,485 1,453 297 Waktu 297 328 297 344 FaktaPenjualan 29,953 32,250 98,422 33,453 Total 50,827 152,187 198,719 190,859

(20)

• Skenario dimana tabel fakta berjumlah ± 3.000.000 record

Tabel 3.27 Detail waktu ETL dimana tabel fakta berjumlah ± 3.000.000 record

Nama tabel Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) Subcategory 8,813 145,937 7,969 162,469 Product 7,844 4,687 148,468 119,156 Customer 4,172 3,406 3,750 3,485 CurrencyRate 1,532 1,437 328 1,422 Waktu 297 282 312 282 FaktaPenjualan 95,047 79,547 125,109 180,797 Total 117,705 235,296 285,936 467,611

• Skenario dimana tabel fakta berjumlah ± 10.000.000 record

Tabel 3.28 Detail waktu ETL dimana tabel fakta berjumlah ± 10.000.000 record

Nama tabel Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) Subcategory 169,656 310,735 117,782 345,453 Product 127,719 156,516 432,968 382,891 Customer 5,547 8,625 8,985 7,219 CurrencyRate 391 328 453 297 Waktu 297 786 297 1,688 FaktaPenjualan 693,875 1,013,391 1,189,125 1,078,844 Total 997,485 1.490,381 1.749,610 1.816,392

Beberapa hasil yang didapatkan dari tabel di atas :

• Waktu tabel dimensi subcategory pada skenario kedua lebih besar daripada skenario pertama karena jumlah record pada skenario kedua lebih banyak.

• Waktu pada skenario ketiga lebih kecil dari skenario kedua karena jumlah record tabel dimensi subcategory pada skenario ketiga sama dengan jumlah record pada skenario pertama.

• Waktu tabel dimensi product pada skenario pertama lebih besar dari skenario kedua padahal memiliki jumlah record yang sama, hal ini karena beberapa faktor yang telah dituliskan di atas. Hal yang sama juga terjadi pada skenario ketiga dan keempat tabel dimensi product.

(21)

• Jumlah record pada tabel dimensi customer sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

• Jumlah record pada dimensi currencyrate sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

• Jumlah record pada tabel dimensi waktu sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

• Jumlah record pada fakta sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

Tabel 3.29 Perhitungan total waktu ETL untuk setiap skenario pada model dimensi star schema

Jumlah record tabel fakta Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) 500.000 record 25.125 38.938 36.719 46.315 1.000.000 record 50.827 152.187 194.938 190.859 3.000.000 record 117.705 235.296 285.936 467.611 10.000.000 record 997.485 1490.381 1749.610 1816.392

3.6.2 Uji coba pada model dimensi Snowflake

Hasil dari uji coba ETL pada model dimensi snowflake dari semua skenario sebagai berikut :

• Skenario dimana tabel fakta ± 500.000 record

Tabel 3.30 Detail waktu ETL dimana tabel fakta ± 500.000 record

Nama tabel Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) Subcategory 3,422 7,375 3,937 7,125 Product 1,422 2,344 10,016 9,282 Customer 2,891 6,469 5,015 4,922 CurrencyRate 1,672 0,313 1,594 1,672 Waktu 0,218 0,219 0,297 0,250 FaktaPenjualan 9,640 11,516 10,937 13,953 Total 19,265 28,236 31,796 37,204

(22)

• Skenario dimana tabel fakta ± 1.000.000 record

Tabel 3.31 Detail waktu ETL dimana tabel fakta ± 1.000.000 record

Nama tabel Skenario ke -1 (Detik) Skenario ke -2 (Detik) Skenario ke -3 (Detik) Skenario ke -4 (Detik) Subcategory 3,641 62,375 7,484 75,953 Product 6,391 31,047 94,265 91,547 Customer 8,391 7,453 8,406 5,610 CurrencyRate 0,297 0,313 0,297 0,375 Waktu 0,234 0,250 0,219 0,250 FaktaPenjualan 21,594 24,344 21,984 24,281 Total 40,548 125,782 132,655 198,016

• Skenario dimana tabel fakta ± 3.000.000 record

Tabel 3.32 Detail waktu ETL dimana tabel fakta ± 3.000.000 record

Nama tabel Skenario ke -1 (Detik) Skenario ke -2 (Detik) Skenario ke -3 (Detik) Skenario ke -4 (Detik) Subcategory 8,234 114,844 9,203 85,938 Product 5,016 17,922 150,625 147,782 Customer 4,391 7,015 4,485 8,328 CurrencyRate 0,187 1,719 0,422 0,360 Waktu 0,219 0,282 0,266 0,328 FaktaPenjualan 62,797 92,187 94,406 106,188 Total 80,844 233,969 259,407 348,924

• Skenario dimana tabel fakta ± 10.000.000 record

Tabel 3.33 Detail waktu ETL dimana tabel fakta ± 10.000.000 record

Nama tabel Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) Subcategory 153,219 324,593 103,109 339,219 Product 136,672 162,522 519,765 567,829 Customer 7,969 8,094 7,750 7,625 CurrencyRate 0,359 0,344 0,313 0,391 Waktu 0,296 0,281 0,282 0,297 FaktaPenjualan 463,125 384,469 336,094 342,719 Total 761,640 880,303 967,313 1.258,080

Beberapa hasil yang didapatkan dari tabel di atas :

• Waktu tabel dimensi subcategory pada skenario kedua lebih besar daripada skenario pertama karena jumlah record pada skenario kedua lebih banyak.

(23)

• Waktu pada skenario ketiga lebih kecil dari skenario kedua karena jumlah record tabel dimensi subcategory pada skenario ketiga sama dengan jumlah record pada skenario pertama.

• Waktu tabel dimensi product pada skenario pertama lebih besar dari skenario kedua padahal memiliki jumlah record yang sama, hal ini karena beberapa faktor yang telah dituliskan di atas. Hal yang sama juga terjadi pada skenario ketiga dan keempat tabel dimensi product.

• Jumlah record pada tabel dimensi customer sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

• Jumlah record pada dimensi currencyrate sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

• Jumlah record pada tabel dimensi waktu sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

• Jumlah record pada tabel fakta sama tetapi menghasilkan waktu yang berbeda-beda karena beberapa faktor yang telah disebutkan di atas.

Tabel 3.34 Perhitungan waktu total ETL untuk setiap skenario pada model dimensi snowflake

Jumlah record tabel fakta Skenario ke-1 (Detik) Skenario ke-2 (Detik) Skenario ke-3 (Detik) Skenario ke-4 (Detik) 500000 record 19.265 28.236 31.796 37.204 1000000 record 40.548 125.782 128.921 198.016 3000000 record 80.844 233.969 259.407 348.924 10000000 record 761.64 880.303 967.313 1257.689

3.7 Pengujian hasil proses OLAP (Analysis Services)

Setelah diperoleh hasil dari ETL, maka dilakukan perhitungan waktu proses

analysis dan besar size database pada proses OLAP (pada Analysis Services).

(24)

3.7.1 Waktu proses analysis OLAP

Perhitungan waktu proses OLAP dengan menggunakan tools SQL Server Analysis

Services kemudian mencatat waktu yang dibutuhkan. Oleh karena waktu yang diperoleh

memiliki rentang waktu yang cukup lebar, maka pencatatan waktu dilakukan dengan format jam, menit, dan detik (hh:mm:ss).

3.7.1.1 Waktu proses OLAP dengan model dimensi star schema

Pencatatan waktu dari proses OLAP dengan model dimensi star schema sebagai berikut :

Tabel 3.35 Waktu proses OLAP pada star schema

Jumlah record tabel fakta Skenario ke-1 Skenario ke-2 Skenario ke-3 Skenario ke-4 500.000 record 00:00:19 00:00:27 00:00:26 00:00:33 1.000.000 record 00:00:31 00:02:17 00:04:28 00:04:32 3.000.000 record 00:00:52 00:03:41 00:06:07 00:15:21 10.000.000 record 00:17:17 00:25:27 01:30:11 04:02:00

hasil yang didapatkan dari tabel di atas :

• Semakin besar jumlah record tabel fakta, semakin besar waktu yang dibutuhkan pada proses OLAP.

• Waktu pada skenario pertama paling cepat, karena jumlah record yang dimiliki paling sedikit (penambahan record hanya pada tabel fakta).

• Waktu pada skenario keempat paling lama, karena jumlah record yang dimiliki paling banyak (penambahan record pada tabel fakta, dimensi subcategory, dan dimensi product) dan juga membutuhkan waktu untuk melakukan pengelompokkan data pada tabel product berdasarkan subcategory.

(25)

3.7.1.2 Waktu proses OLAP dengan model dimensi snowflake

Pencatatan waktu dari proses OLAP dengan model dimensi snowflake sebagai berikut .

Tabel 3.36 Waktu proses OLAP pada snowflake

Jumlah record tabel fakta Skenario ke -1 Skenario ke -2 Skenario ke -3 Skenario ke -4 500.000 record 00:00:15 00:00:25 00:00:26 00:00:39 1.000.000 record 00:00:35 00:03:44 00:04:45 00:07:08 3.000.000 record 00:00:57 00:05:54 00:08:50 00:18:21 10.000.000 record 00:18:38 00:32:38 01:52:22 09:07:48

hasil yang didapatkan dari tabel di atas :

• Semakin besar jumlah record tabel fakta, semakin besar waktu yang dibutuhkan pada proses OLAP.

• Waktu pada skenario pertama paling cepat, karena jumlah record yang dimiliki paling sedikit (penambahan record hanya pada tabel fakta).

• Waktu pada skenario keempat paling lama, karena jumlah record yang dimiliki paling banyak (penambahan record pada tabel fakta, dimensi subcategory, dan dimensi product).

3.7.2 Size database hasil analysis OLAP

Pada akhir proses analysis OLAP, dihasilkan database yang ukurannya berbeda-beda sesuai dengan banyaknya record dan model dimensi yang digunakan. Berikut ini adalah jumlah size yang di peroleh berdasarkan jumlah record dan skenario yang dibuat :

(26)

3.7.2.1 Size database hasil proses OLAP dengan model dimensi star schema

Pengukuran size database hasil proses OLAP dengan model dimensi star schema sebagai berikut :

Tabel 3.37 Size database hasil proses OLAP pada star schema

Jumlah record tabel fakta Skenario ke-1 Skenario ke-2 Skenario ke-3 Skenario ke-4 5000.00 record 90.4 MB 165 MB 184 MB 259 MB 1.000.000 record 199 MB 896 MB 848 MB 1.33 GB 3.000.000 record 248 MB 1.16 GB 1.38 GB 2.28 GB 10.000.000 record 2.37 GB 3.95 GB 4.42 GB 6.04 GB

hasil yang didapatkan dari tabel di atas :

• Size database pada skenario pertama paling kecil karena jumlah record yang terdapat pada skenario pertama paling kecil (penambahan record hanya pada tabel fakta).

• Size database pada skenario kempat paling besar karena jumlah record yang terdapat pada skenario keempat paling besar (penambahan record pada tabel fakta, dimensi subcategory, dan dimensi product).

• Size database pada skenario kedua dan ketiga ukurannya berbeda-beda berdasarkan jumlah record tabel dimensi subcategory dan dimensi product.

(27)

3.7.2.2 Size database hasil proses OLAP dengan model dimensi snowflake

Pengukuran size database hasil proses OLAP dengan model dimensi snowflake sebagai berikut :

Tabel 3.38 Size database hasil proses OLAP pada snowflake

Jumlah record tabel fakta Skenario ke-1 Skenario ke-2 Skenario ke-3 Skenario ke-4 500.000 record 93.4 MB 172 MB 196 MB 276 MB 1.000.000 record 213 MB 976 MB 921 MB 1.45 GB 3.000.000 record 291 MB 1.24 GB 1.5 GB 2.48 GB 1.0000.000 record 2.57 GB 4.33 GB 4.86 GB 6.67 GB

hasil yang didapatkan dari tabel di atas :

• Size database pada skenario pertama paling kecil karena jumlah record yang terdapat pada skenario pertama paling kecil (penambahan record hanya pada tabel fakta).

• Size database pada skenario kempat paling besar karena jumlah record yang terdapat pada skenario keempat paling besar (penambahan record pada tabel fakta, dimensi subcategory, dan dimensi product).

• Size database OLAP pada skenario kedua dan ketiga ukurannya berbeda-beda berdasarkan jumlah record tabel dimensi subcategory dan dimensi product.

Gambar

Gambar 3.1 Adventureworks diagram
Ilustrasi skenario yang digunakan adalah supervisor dari perusahaan A ingin  mendapatkan laporan penjualan barang meliputi jumlah barang yang terjual dan total  penjualan dimana laporan tersebut dapat dilihat dari segi product, product subcategory,  curren
Gambar 3.3 Snowflake diagram   
Tabel 3.1 Jumlah data pada setiap tabel berdasarkan skenario di atas
+7

Referensi

Dokumen terkait

Kitab Undang-Undang Hukum Pidana (Selanjutnya disebut KUHP) telah mengatur sanksi pidana terhadap para pelaku tindak pidana perjudian yaitu dalam Bab XIV tentang

[r]

Namun lebih lanjut untuk menentukan pertemuan tersebut termasuk kedalam kondisi near miss atau tidak diperlukan pendapat oleh para ahli, senior officer, mengenai panjang

Skripsi ini berjudul “Analisis Kompleksitas Audit, Ukuran Perusahaan, Financial Distress, Risiko Litigasi, dan Ukuran KAP terhadap Audit Fee pasca Konvergensi IFRS pada

Peraturan Daerah Kota Bekasi Nomor 14 Tahun 2009 Tentang Retribusi Izin Gangguan/2 minggu Perda Baru tentang Retribusi Daerah (Kompilasi dari Retribusi yang ada) 2.. Peraturan

Orang religiusitas cenderung positif, mereka yang religius memiliki tingkat penyalahgunaan obat-obatan, kejahatan, perceraian dan bunuh diri yang rendah, emosional

Heru Santoso Hadi Subagyo, SU.. Heru Santoso Hadi

Spirit feminisme dalam novel GJ dihadirkan untuk meng-counter konstruksi gender yang hidup dalam masyarakat, terutama dalam konteks masyarakat Islam dan pesantren