Anda di halaman 1dari 233

Kata Pengantar

Puji syukur kepada Tuhan Yang Maha Esa, ebook Essential SQL Server 2008 Business Intelligence berhasil
diselesaikan dan dipersembahkan kepada komunitas SQL Server. Ebook ini membahas mengenai
ekstrasi, load dan transformasi data dengan SQL Server 2008 Integration Services (SSIS), analisa multi
dimensional dengan SQL Server 2008 Analysis Services (SSAS), prediksi trend data dengan SQL Server
2008 Data Mining, dan penggunaan reporting di dalam SQL Server 2008 Reporting Services.

Dalam penulisan ebook ini, saya dibantu oleh Hendrik Sudianto dan Yudhi Hermawan. Keduanya adalah
konsultan business intelligence yang berpengalaman di bidangnya. Hendrik menyumbang tulisan
mengenai SSIS dan SSRS. Yudhi menyumbang tulisan mengenai SSAS. Sedangkan saya menyumbang
tulisan mengenai data mining.

Besar harapan kami selaku penulis bahwa ebook ini menjadi katalis adopsi business intelligence di
semua aspek bisnis di setiap perusahaan di Indonesia. Tidak lupa kami ucapkan terima kasih kepada
pendiri user group SQL Server Indonesia dan para leader SQL Server Indo yang pernah melakukan
sharing knowledge mengenai Business Intelligence yang menjadi insiprasi penulisan ebook ini.

Salam,

Tim penulis
Profil Penulis

Hendrik Sudianto
Hendrik adalah seorang konsultan Business Intelligence (BI) di PT Ebiz Cipta Solusi yang merupakan Gold
Certified Partner Microsoft untuk solusi manajemen data. Tugas utamanya adalah membuat solusi BI
menggunakan teknologi Microsoft terutama SQL Server dan Visual Studio .net. Saat ini hendrik sedang
focus dalam mengembangkan cara terbaik untuk SQL Server Integration Services (SSIS) dan telah
membuat beberapa komponen SSIS yang membantu proses pembuatan solusi menjadi lebih efisien dan
produktif. Selama mengerjakan aktivitas hariannya, dia juga aktif menyebarkan teknologi SQL Server
lewat blog dan pertemuan di komunitas SQL Server User Group Indonesia
Saat ini Hendrik memiliki sertifikasi MCTS (Microsoft Certified Technology Specialist) untuk SQL Server
2005. Hendrik memposting artikel seputar SQL Server di portal SQL Server Indonesia (http://sqlserver-
indo.org/blogs/si_hendrik).

Yudhi Hermawan
Yudhi Hermawan adalah seorang konsultan senior Bussiness Intelligence di PT Ebiz Cipta Solusi yang
merupakan Gold Certified Partner di bidang Data Management. Sudah hampir 4 tahun menggeluti dunia
BI di Perusahaan yang sama, dimana tugas utamanya adalah membuat solusi BI menggunakan teknologi
SQL Server, SSIS, SSAS, SSRS berikut front end Microsoft office Performance Point Server dan
third party lainnya. saat ini sedang fokus pada pengembangan Microsoft Office PerformancePoint
Server. Yudhi saat ini mencoba aktif di komunitas SQL server indo. Sebelumnya pernah menulis buku
pemrogramanan "Konsep OLAP dan Aplikasinya menggunakan Delphi"
(http://www.detikinet.com/read/2006/01/16/133713/519558/407/konsep-olap-dengan-delphi)
Yudhi memiliki sertifikasi MCP dan memposting artikel SQL Server di portal SQL Server Indonesia
(http://sqlserver-indo.org/blogs/hermaones).

Kasim Wirama
Kasim Wirama adalah seorang spesialis SQL Server dan menggunakan SQL Server sejak versi 7.0 di tahun
2001. Mengembangkan aplikasi database dengan Microsoft .NET, menggunakan DTS, SSIS, dan SSRS
serta administrasi sistem database (termasuk performance tuning). Pernah menjadi trainer community
SQL Server Indonesia untuk SQL Server Analysis Service 2005 dan menyumbang penulisan mengenai
data mining di SQL Server 2008 sekaligus technical editor untuk project ebook ini. Kasim memposting
artikel SQL Server di SQL Server Knowledge Center (http://geeks.netindonesia.net/blogs/kasim.wirama)
dan di portal SQL Server Indo (http://sqlserver-indo.org/blogs/kasimwirama). Kasim memiliki sertifikasi
MCSD.NET (Microsoft Certified Solution Developer), MCDBA (Microsoft Certified Database
Administrator), MCTS (Microsoft Certified Technology Specialist) untuk SQL Server 2008 (database
development) dan MCITP (Microsoft Certified IT Professional) untuk SQL Server 2008 (database
administration dan Business Intelligence). Kasim menerima MVP award untuk kategori SQL Server di
bulan Juni 2007.
Daftar Isi

Kata Pengantar

Profil Penulis

Bab 1 SQL Server 2008 Integration Services (SSIS)

Bab 2 SQL Server 2008 Analysis Services (SSAS)

Bab 3 SQL Server 2008 Data Mining

Bab 4 SQL Server 2008 Reporting Services (SSRS)

Daftar Pustaka

Appendix A Instalasi Sampel Database AdventureWorks di SQL Server 2008

Appendix B Instalasi Sampel Solusi Analysis Service


Bab 1

SQL Server 2008 Integration Services (SSIS)

SQL Server Integration Services atau biasa disingkat dengan SSIS adalah sebuah tools yang digunakan
untuk melakukan proses Extract, Transform, and Load (ETL) dan diklasifikasikan sebagai fitur Business
Intelligence (BI). ETL adalah proses untuk mengumpulkan data dari berbagai sumber (Extract),
membersihkannya (Transform), untuk kemudian menyimpannya ke dalam sistem yang lain (Load).
Dalam kaitannya dengan BI, SSIS adalah fitur yang digunakan untuk menarik data dari ERP, relational
database, atau file untuk kemudian hasilnya disimpan ke dalam data warehouse.

1.1 Kilas Balik


Di SQL Server 7.0, Microsoft memiliki sebuah fitur terkenal yang disebut Data Transformation Services
(DTS). DTS adalah tulang punggung Import/Export Wizard, dan tujuan utama DTS adalah untuk
melakukan transformasi data dari hampir semua data source OLE DB ke tujuan yang lain. DTS juga
memiliki kemampuan untuk mengeksekusi program dan menjalankan script.

Pada saat SQL Server 2000 dirilis, DTS memiliki banyak pengikut dari para DBA dan developer. Microsoft
mengikutsertakan fitur-fitur baru kedalamnya seperti Dynamic Properties Task yang membantu
melakukan perubahan terhadap package pada saat dieksekusi. DTS juga dilengkapi dengan logging dan
membagi transformasi kedalam beberapa phase yang disebut multiphase data pump. Studi yang
dilakukan menunjukkan bahwa pada waktu itu developer harus membuat script yang complex untuk
memperbesar kegunaan DTS. Masalahnya adalah kebanyakan DBA tidak memiliki kemampuan untuk
membuat script tersebut.

Setelah lima tahun, Microsoft merilis SQL Server 2005 dan menjadi pondasi utama Business Intelligence.
Nama DTS juga diganti menjadi SQL Server Integration Services (SSIS). Banyak fitur yang ditambahkan ke
dalam SSIS yang membuat pergantian namanya dengan yang sekarang adalah yang paling tepat. Fitur-
fitur tersebut membuat kebutuhan untuk menggunakan script menjadi berkurang.

Pada SQL Server 2008, SSIS memperkenalkan fitur baru dan melakukan perbaikan pada proses instalasi,
komponen, manajemen data, kinerja dan penanganan masalah. Fitur-fitur baru dan perbaikan ini
menaikkan kekuatan dan produktivitas developer, administrator, dan orang-orang yang terlibat dalam
proses pengembangan solusi trasformasi data.
1.2 Arsitektur
SSIS adalah penulisan ulang DTS 2000 yang arsitekturnya berkembang secara dramatis dan terdiri dari
beberapa komponen berbeda.

Gambar 0.1 Model Objek SSIS

SSIS designer adalah tool grafis yang digunakan untuk membuat package dan terdapat pada Business
Intelligence Development Studio (BIDS) sebagai bagian dari project Integration Services.

SSIS runtime engine menyimpan desain package, mengeksekusinya dan menyediakan logging,
breakpoint, konfigurasi, koneksi dan transaksi juga menangani event yang terjadi.

Data flow task membungkus data flow engine, engine yang bekerja melakukan proses ETL. Data flow
engine terdiri dari sumber (source), transformasi (transformation), dan tujuan (destination).

Model objek SSIS juga menyertakan Application Programming Interfaces (API) yang dapat kita gunakan
untuk membuat komponen kustom untuk digunakan dalam package, atau membuat aplikasi kustom
yang membuat, me-load, mengeksekusi dan mengatur package. Developer dapat membuat hal-hal
tersebut dengan menggunakan bahasa pemrograman C# atau VB .net.

SSIS service adalah Windows service yang memonitor eksekusi package dan melakukan penyimpanan
package.
SQL Server Import and Export Wizard melakukan proses pemindahan data dari data source dengan
provider OLE DB atau provider .NET Framework yang tersedia.

1.2.1 Package

Package berisi kumpulan tugas (yang disebut task) yang dieksekusi dengan urutan tertentu dan
merupakan komponen utama SSIS. Package dapat disimpan di SQL Server pada database msdb, ataupun
disimpan sebagai sebuah file .dtsx. Inovasi signifikan SSIS adalah desain arsitektur package untuk
manajemen kontrol proses. Arsitektur kontrol proses SSIS terdiri dari komponen control flow, data flow,
dan event handler. Setiap komponen tersebut memiliki kumpulan objek yang dapat digunakan pada saat
proses pembuatan package.

1.2.2 Control Flow

Control flow adalah level tertinggi dari proses kontrol yang dapat digunakan untuk mengatur aktivitas
proses data flow dan proses lainnya di dalam sebuah package yang didalamnya terdapat task dan
container. Task adalah elemen control flow yang merupakan sebuah unit kerja. Sebuah package terdiri
dari satu atau lebih task. Apabila terdapat lebih dari satu task, task dapat terhubung dan berjalan secara
serial dengan menggunakan precedence constraints ataupun tidak terhubung satu sama lain dan
berjalan parallel sesuai dengan desain package yang kita inginkan.

Beberapa contoh task disediakan oleh SSIS dan sering digunakan diantaranya adalah:

- Data Flow Task: mengeksekusi data flow untuk ETL


- Execute SQL Task: mengeksekusi SQL Statement atau stored procedure
- Bulk Insert Task: melakukan load data ke dalam sebuah table menggunakan BULK INSERT SQL
- Execute Package Task: mengeksekusi package lain yang terdapat di SQL Server ataupun File
System
- Execute Process Task: mengeksekusi program/aplikasi yang terdapat di komputer
- File System Task: Menangani operasi file seperti membuat atau menghapus sebuah directory,
ataupun melakukan copy, perpindahan atau penghapusan file
- Send Mail Task: mengirimkan e-mail melalui SMTP
- Analysis Services Processing Task: memproses cube, dimensi, atau mining model SQL Server
Analysis Services
- Data Mining Query Task: mengeksekusi predictive query terhadap data-mining model di Analysis
Services
- Data Profiling Task: merupakan fitur baru di SSIS 2008 yang digunakan untuk mendapatkan
profil data yang disimpan di SQL Server untuk mengidentifikasi masalah yang dapat timbul pada
kualitas data
- Script Task: digunakan untuk melakukan fungsi-fungsi yang tidak dapat dilakukan dengan task-
task bawaan SSIS dengan menggunakan script di lingkungan Visual Studio. Apabila pada versi
2005 bahasa pemrograman yang bisa digunakan adalah Visual Basic, maka pada versi ini kita
juga dapat menggunakan C#

Ada pula sejumlah task yang dapat kita gunakan untuk mengatur SQL Server seperti transfer database,
backup database, ataupun mengecilkan ukuran database. Seperti yang telah dijelaskan sebelumnya, kita
juga dapat melakukan penambahan task dengan cara membuat task kustom menggunakan bahasa
pemrograman VB .net atau C#.

Container digunakan untuk mengelompokkan task menjadi unit kerja yang berguna dan dapat
melakukan repetisi pada control flow. Selain task, kita dapat memasukkan container lain kedalamnya.

1.2.3 Data Flow

Data Flow digunakan untuk proses ETL yang didalamnya terdapat komponen kontrol proses. Komponen
nya terdiri dari source, transformation, dan destination.

Source adalah dimana kita mendefinisikan lokasi sumber data. Terdapat enam komponen Source
bawaan SSIS:

- OLE DB Source: untuk mengambil data dari OLE DB seperti SQL Server, Access, Oracle, atau DB2
sebagai contoh
- Excel Source: mengambil data dari Excel. Komponen ini juga mempermudah SQL query terhadap
Excel
- Flat File Source: mengambil data dari file text
- Raw File Source: mengambil data yang dihasilkan dari Raw File Destination. Format file-nya
berbeda dengan Flat File dan biasanya digunakan untuk membaca data dengan cepat.
- XML Source: menbambil data dari document XML
- ADO NET Source: komponen baru yang menggantikan Data Reader Source di SSIS 2005 dan
digunakan untuk mengambil data dari koneksi ADO .NET.

Transformation adalah komponent kunci di dalam data flow yang mengubah data ke dalam format yang
diinginkan atau digunakan untuk membersihkan dan melakukan standarisasi terhadap data.
Transformasi dilakukan di dalam memory sehingga tidak membutuhkan scripting seperti yang digunakan
di DTS. Beberapa komponen transformation yang biasa digunakan:

- Lookup
- Derived Column: membuat sebuah column baru yang merupakan calculated column
- Sort: mengurutkan data
- Aggregate: melakukan agregasi data
- Data Conversion: mengubah tipe data sebuah column menjadi tipe data yang lain
- Conditional split: membagi data berdasarkan kondisi tertentu yang sesuai
- Merge Join: menggabungkan dua set data menjadi satu set data menggunakan fungsi join
- Fuzzy Grouping: melakukan pembersihan data dengan mencari baris yang memiliki duplikasi
- Fuzzy Lookup: mencocokkan dan melakukan standarisasi data berdasarkan fuzzy logic
- Union All: menggabungkan banyak set data kedalam satu set data
- Slowly Changing Dimension: mengatur kondisi insert atau update data pada dimension
- OLE DB Command: mengeksekusi OLE DB command untuk setiap baris data
- Script Component: melakukan transformasi data dengan menggunakan script

Destination menerima data dari source atau transformation untuk kemudian menyimpannya ke dalam
data source OLE DB atau file text. Komponen destination yang terdapat di SSIS:

- Data Mining Model Training: melatih mining model Analysis Services dengan cara mengirimkan
data hasil transformasi
- ADO NET Destination: komponen baru yang menggantikan Data Reader Destination dan
digunakan untuk menyimpan data ke koneksi ADO .NET
- Dimension Processing: melakukan load dan pemrosoesan dimension yang terdapat pada
Analysis Services
- Excel Destination: menyimpan data ke dalam file Excel
- Flat File Destination: Menyimpan data ke file text
- OLE DB Destination: menyimpan data ke koneksi OLE DB seperti SQL Server, Oracle, atau akses
- Partition Processing: Melakukan proses update, incremental, atau full terhadap partisi Analysis
Services
- Raw File Destination: menyimpan data kedalam raw file yang nantinya digunakan oleh Raw File
Source.
- Recordet Destination: menyimpan data ke dalam sebuah kumpulan data ADO
- SQL Server Destination: menyimpan data ke SQL Server dengan efisien
- SQL Server Compact Destination: menyimpan data ke SQL Server yang terdapat di dalam Pocket
PC

1.2.4 Variables

Variables adalah komponen yang paling dominan dalam arsitektur SSIS. Dengan variable sebuah package
dapat diatur secara dinamis pada saat dieksekusi. Pengaturan koneksi OLE DB dan directory
penyimpanan file adalah contoh umum penggunaan variable.

1.2.5 Event Handler

Berbeda dengan data flow, event handler tidak terdapat di dalam control flow. Event handler dilakukan
sebagai sebuah respon pada saat sebuah event terjadi di package atau task. Biasanya event handler
dibuat untuk melakukan hal-hal tertentu sebagai hasil dari anomali data, menjalankan program atau
package lain berdasarkan keadaan pada saat package dieksekusi. Sebagai contoh, kita dapat membuat
event handler untuk mengirimkan e-mail notifikasi pada saat package selesai dijalankan atau pada saat
package yang dieksekusi mengalami kegagalan.

1.3 Kakas SSIS


SSIS memiliki beberapa kakas yang dapat digunakan untuk membuat sebuah package, mengatur, dan
mengeksekusinya.

1.3.1 Business Intelligence Development Studio

Business Intelligence Development Studio (BIDS) adalah kakas yang digunakan untuk mendesain,
membuat, dan mengetes package. BIDS menyediakan sebuah lingkungan pengembangan yang
berorientasi grafis yang membantu proses pengkopian, pengaturan dan pembuatan package
menggunakan menu dan kotak kakas dengan metode drag-and-drop.

1.3.2 Import and Export Wizard

Import and Export Wizard adalah kakas yang digunakan untuk membuat sebuah package sederhana
yang isinya memindahkan data dari sebuah source ke destination. Package hasil wizard ini dapat
digunakan sebagai kerangka awal pembuatan package yang nantinya bisa dimodifikasi sehingga tidak
perlu membuatnya dari nol.

1.3.3 Package Installation Wizard

Kakas ini digunakan untuk menyiapkan package yang telah kita buat dengan menggunakan BIDS dan
kemudian menginstal nya ke SQL Server.

1.4 Fitur Baru dan Perbaikan


1.4.1 Cache Connection Manager

Cache Connection Manager digunakan untuk membaca data dari komponen Cache Transform atau
cache file (.caw) dan dapat menyimpan data kedalam file cache. Dengan penggunaan cache, data yang
sama cukup diambil sekali dari sumber data untuk kemudian digunakan berulang-ulang pada saat
transformasi yang mengurangi waktu eksekusi.
1.4.2 Komponen Lookup

Jika pada versi sebelumnya referensi yang digunakan Lookup hanya data yang terdapat pada koneksi
OLE DB, maka di 2008 kita dapat mengambil referensi dari sumber data yang lain seperti file text, Excel,
dan Web service yang telah disimpan ke dalam cache di Cache Connection Manager.

1.4.3 Data Profilling Task

Data Profiling Task adalah task yang digunakan untuk membuat profil sebuah table atau view yang
membantu melihat distribusi data mengantisipasi masalah kualitas data yang terdapat pada object
tersebut sebelum disimpan ke dalam data warehouse.

Hasil dari Data Profiling Task adalah file xml yang berisi statistik setiap kolom pada objek yang dapat
dilihat menggunakan DataProfileViewer.exe yang disimpan terdapat di folder C:\Program
Files\Microsoft SQL Server\100\DTS\Binn.

1.4.4 Lingkungan Script

Visual Studio Tools for Applications (VSTA) adalah lingkungan yang digunakan untuk menulis script pada
komponen Script Task dan Script Component. Selain Visual Basic 2008, bahasa pemrograman lain yang
disediakan oleh VSTA adalah C#. Selain itu di lingkungan yang baru kita dapat menambahkan referensi
ke library yang terdapat di folder dan menambahkan referensi web sehingga script yang dibuat dapat
menggunakan objek atau memanggil fungsi yang terdapat pada kedua referensi tadi.

1.5 Mengembangkan Solusi SSIS


Tanpa bermaksud mengecilkan SQL Server 2008 kami telah membuat sebuah contoh sederhana yang
diharapkan membantu Anda dalam memahami SSIS dan menjadi referensi pada saat Anda membuat
solusi SSIS Anda sendiri nantinya.

Dalam contoh berikut Anda akan diajak membuat sebuah solusi SSIS untuk mengambil data-data
penjualan voucher yang disimpan di sebuah file csv (comma separated value) dan memasukkannya ke
dalam sebuah database bernama VoucherIndoDW.

Untuk mulai mengembangkan sebuah solusi SSIS, yang pertama harus dilakukan adalah membuka BIDS
lewat Start > All Programs > Microsoft SQL Server 2008 > SQL Server Business Intelligence Development
Studio
Gambar 0.2 Membuka SQL Server Business Intelligence Development Studio

Setelah terbuka, pilih menu File > New > Project…

Gambar 0.3 Membuat projek baru

Pilih Business Intelligence Project sebagai Project Types, Integration Services Project sebagai Templates,
ketik VoucherindoETL sebagai nama projek, lalu klik tombol OK
Gambar 0.4 Tampilan Projek SSIS Baru

Setelah projek dibuat, akan terdapat sebuah package dengan nama Package.dtsx di Solution Explorer.
Klik kanan Package.dtsx lalu pilih Rename

Gambar 0.5 Mengganti nama SSIS Package

Ganti namanya dengan FactPenjualan.dtsx. Pilih Yes apabila muncul konfirmasi untuk mengganti nama
objek package
Gambar 0.6 Konfirmasi penggantian nama objek

1.5.1 Menambahkan Data Source

Data Source adalah koneksi yang dapat digunakan untuk source atau destination di data flow. Data
source dapat berupa koneksi ke semua sumber data OLE-DB sepert SQL Server, Oracle, atau DB2. Data
source dapat disimpan secara local di sebuah package atau digunakan secara bersama-sama dengan
package yang lain di dalam BIDS.

Untuk membuat data source yang digunakan secara berbagi dengan package yang lain, klik kanan pada
folder Data Source yang terdapat di Solution Explorer lalu pilih New Data Sources

Gambar 0.7 Menambahkan data source

Wizard Data Source akan ditampilkan, klik Next pada layar Welcome

Gambar 0.8 Tampilan awal Wizard Data Source


Pada layar Select how to define the Connection, klik tombol New…

Gambar 0.9 Mendefinisikan koneksi

Pada layar Connection Manager, ketik (local) pada Server Name, lalu pilih VoucherIndoDW pada combo
Select or enter a database name, lalu klik OK

Gambar 0.10 Membuat koneksi dengan Connection Manager

Setelah muncul (local).VoucherIndoDW pada layar Select how to define the connection, klik tombol Next
Gambar 0.11 Memilih koneksi

Ubah nama data source menjadi VoucherIndoDW lalu klik Finish

Gambar 0.12 Mengeset nama Data Source

1.5.2 Menambahkan Data Source View

Data Source View (DSV) adalah pemandangan logik dari data yang merupakan koleksi table, view, stored
procedure, dan query yang dapat digunakan secara bersama-sama dalam project. DSV berguna
terutama dalam data model yang besar dan kompleks seperti ERP yang menggunakan nama kolom yang
sulit seperti SA23DE. DSV dapat me-map kolom tersebut menjadi sebuah entitas dengan nama
Description.

Untuk membuat DSV, klik kanan pada Data Source Views yang terdapat di Solution Explorer lalu klik New
Data Source View…
Gambar 0.13 Menambahkan data source view

Wizard New Data Source View akan ditampilkan, Klik Next.

Gambar 0.14 Tampilan awal wizard data source view

Pada layar Select a data Source, pilih VoucherIndoDW dari Relational data source lalu klik Next

Gambar 0.15 Memilih data source


Pilih table dan view yang akan dipakai dalam DSV pada daftar Available objects, lalu klik tombol > untuk
menyimpannya ke dalam daftar Included objects, atau klik tombol >> untuk menyimpan semua objek ke
dalam daftar Included objects. Klik tombol Next setelah selesai memilih

Gambar 0.16 Memilih objek yang akan dibuat pemandangan logik

Pada layar Completing the Wizard, ubah namanya dengan VoucerIndoDW lalu klik Finish

Gambar 0.17 Mengeset nama data source view

1.5.3 Menambahkan Koneksi

Dengan menggunakan contoh VoucherIndo akan dibutuhkan dua buah koneksi yaitu ke file Excel dan ke
database VoucherIndoDW dalam package FactPenjualan.dtsx. Untuk koneksi ke database
VoucherIndoDW kami akan menunjukkan bagaimana membuatnya dari Connection Manager,
sedangkan koneksi ke file Excel akan kami tunjukkan pada bagian Membuat Data Flow.

Buka file FactPenjualan.dtsx, klik kanan pada Connection Manager lalu pilih New Connection From Data
Source
Gambar 0.18 Menambahkan koneksi ke data source

Pilih VoucherIndoDW dari daftar Available Data Source lalu klik OK

Gambar 0.19 Memilih koneksi

1.5.4 Menambahkan Task

Pada saat membuat sebuah package untuk table Fact, biasanya akan terdapat dua buah task yang utama
di dalam control flow. Task yang pertama untuk menghapus data-data di dalam Fact pada suatu tanggal
tertentu dengan menggunakan Execute SQL Task, sedangkan task yang kedua untuk transformasi data
dengan menggunakan Data Flow Task.

Untuk menambahkan sebuah task ke dalam Control Flow, klik ganda pada task yang akan ditambahkan
dari kakas peralatan atau drag-and-drop task tersebut dari kakas peralatan ke Control Flow
Gambar 0.20 Kakas peralatan pada control flow

Setelah task yang dipilih muncul di Control Flow, kita dapat melakukan pengaturan propertinya dengan
cara mengklik ganda pada task atau klik kanan pada task lalu pilih Edit

Gambar 0.21 Mengedit Execute SQL Task

Isi properti Connection dengan VoucherIndoDW dan isi SQL Statement dengan delete from
dbo.FactPenjualan where IDTanggal = (select IDTanggal from DimTanggal where tanggal = '2009-01-01')
lalu klik OK
Gambar 0.22 Mengeset properti Execute SQL Task

1.5.5 Menambahkan Data Flow

Pilih Data Flow Task dari kakas peralatan, hubungkan Execute SQL Task dengan Data Flow Task lalu edit
Data Flow Task. Ketika muncul tab Data Flow, pilih Flat File Source dari kakas peralatan

Gambar 0.23 Menambahkan Flat File Source

Klik ganda pada Flat File Source untuk melakukan pengaturan propertinya. Setelah layar pengaturan
muncul, klik tombol New untuk membuat koneksi baru ke sebuah file csv
Gambar 0.24 Mengedit properti Flat File Source

Pada bagian general, isi nama koneksi dengan FilePenjualan, isi nama file dengan dengan tempat file csv
berada, dan beri tanda centang pada pilihan Column names in the first data row

Gambar 0.25 Mengedit properti koneksi FilePenjualan

Pilih tab Columns untuk mengatur penanda kolom dan baris lalu klik OK. Klik OK sekali lagi untuk
menutup properti Flat File Source
Gambar 0.26 tab Columns pada koneksi FilePenjualan

Kami tidak akan menujukkan seluruh transformasi yang seharusnya dibuat untuk FactPenjualan pada
contoh ini dan hanya akan menunjukkan bagaimana membuat transformasi untuk mengisi IDProduk
dengan ID yang terdapat pada table DimProduk. Untuk melakukannya pilih Lookup dari kakas peralatan
lalu hubungkan output dari Flat File Source dengan Lookup

Gambar 0.27 Menambahkan Lookup

Klik ganda pada Lookup, lalu pilih tab Connection. Pilih VoucherIndoDW sebagai OLE DB connection
manager, pilih Use a Table or a View, lalu pilih table [dbo].[DimProduk]
Gambar 0.28 Mengatur properti koneksi pada Lookup

Pilih tab Columns, lalu klik kanan pada area di dalam kotak warna merah lalu pilih Edit Mappings

Gambar 0.29 Mengatur relasi antara set data dan referensi

Pilih KodeProduk pada Input Column dan Kode pada Lookup Column lalu klik tombol OK

Gambar 0.30 Mengatur kolom relasi

Centang IDProduk dari Available Lookup Columns lalu klik OK untuk menutup seting Lookup
Gambar 0.31 Menambahkan IDProduk

Berikutnya, tambahkan OLE DB Destination dari kakas peralatan, dan hubungkan output dari Lookup
dengan OLE DB Destination

Gambar 0.32 Menambahkan OLE DB Destination

Pilih Lookup Match Ouput pada combo Output lalu klik OK

Gambar 0.33 Memilih output dari Lookup yang menjadi input OLE DB Destination

Klik ganda pada OLE DB Destination. Pada tab Connection Manager pilih VoucherIndoDW sebagai OLE
DB Connection Manager, pilih [dbo].[FactPenjualan] sebagai nama table
Gambar 0.34 Mengatur koneksi yang digunakan untuk menyimpan data

Pada tab Mappings, petakan Jumlah Penjualan di Destination Column dengan Jumlah di Input Column
lalu klik OK

Gambar 0.35 Mengatur kolom yang akan disimpan

1.5.6 Menambahkan Variable

Untuk membuat variable dengan scope package klik kanan pada area control flow lalu pilih Variables
Gambar 0.36 Membuka menu Variables

Klik tombol yang terdapat pada pane Variables untuk menambahkan variable baru. Isi nama variable
dengan DataFolder pada kolom Name, dan beri nilai C:\E-Book\VoucherIndoData pada kolom Value

Gambar 0.37 Menambahkan variable baru

1.5.7 Menambahkan Expression

Expression adalah kombinasi dari simbol (seperti fungsi, operator, literal) yang menghasilkan sebuah
nilai. Expression sederhana dapat berupa sebuah constant, variable, atau fungsi. Expression dapat
digunakan untuk membuat dan meng-update nilai suatu kolom, mengisi nilai sebuah variable, meng-
update properti pada saat package di-eksekusi, dan menyediakan expression yang digunakan oleh For
Loop Container.

Dalam contoh berikut, expression akan digunakan untuk melakukan pengaturan connection string untuk
directory yang digunakan Flat File Connection

Klik kanan pada koneksi FilePenjualan yang terdapat di Connection Manager


Gambar 0.38 Membuka properti FilePenjualan

Klik tombol yang terdapat pada properti Expressions

Gambar 0.39 Properti FilePenjualan

Pilih properti ConnectionString pada kolom Property, lalu klik tombol

Gambar 0.40 Menambahkan expression untuk properti ConnectionString


Drag variable User::DataFolder dari variables ke dalam text box expression, lalu tambahkan dengan
sintaks + \\Penjualan_JKT01TAC_2009-01-01.csv sehingga menghasilkan expression
@[User::DataFolder] + \\Penjualan_JKT01TAC_2009-01-01.csv. Apabila kita tes hasilnya dengan
menggunakan tombol Evaluate Expression, nilainya akan berisi nilai pada variable DataFolder ditambah
nama file csv yang kita tentukan, yaitu C:\E-Book\VoucherIndoData\Penjualan_JKT01TAC_2009-01-
01.csv. Klik tombol OK untuk menutup layar Expression Builder dan klik sekali lagi untuk menutup layar
Property Expression Editor

Gambar 0.41 Mengisi expression

1.5.8 Membuat Package Configuration

Package Configuration adalah kumpulan properti yang dapat diatur pada saat pemasangan SSIS atau
pada saat sebuah package dieksekusi yang membantu ketika package dipindahkan dari server
pengembangan ke server produksi. Package Configuration dapat digunakan untuk mengatur setiap
properti yang terdapat pada package, task, connection manager, variables, dan lain-lain. Package
Configuration dapat disimpan dalam file XML, Environment Variable, Registry, SQL Server, atau
merupakan nilai dari variable yang terdapat di package pemanggil (parent package)

Dalam contoh berikut, Package Configuration akan digunakan untuk melakukan pengaturan variable
DataFloder dan disimpan di dalam sebuah environment variable

Buka control panel > System, pilih tab Advanced lalu klik tombol Environment Variables
Gambar 0.42 Tampilan System Properties

Klik tombol New yang terdapat pada System Variables

Gambar 0.43 Tampilan Environment Variables

Isi nama variable dengan VoucherIndo_DataFolder, dan isi nilainya dengan C:\E-
Book\VoucherIndoData

Gambar 0.44 Menambahkan Environment Variable

Agar penambahan Environment Variable yang baru dibuat dapat dikenali dari BIDS, kita harus menutup
BIDS, lalu membukanya kembali. Sebelumnya simpan perubahan yang dilakukan pada
FactPenjualan.dtsx.
Setelah BIDS dibuka kembali dan project VoucherIndoETL dibuka, kembali ke FactPenjualan.dtsx, klik
kanan pada area Control Flow lalu pilih Package Configurations

Gambar 0.45 Membuka menu Package Configurations

Centang pilihan Enable Package Configurations lalu klik tombol Add

Gambar 0.46 Tampilan Package Configuration Organizer

Klik Next pada layar Welcome


Gambar 0.47 Tampilan pembuka Wizard Package Configuration

Pilih Environment Variable sebagai tipe konfigurasi, dan pilih environment variable
VoucherIndo_DataFolder dari combo box, lalu klik tombol Next

Gambar 0.48 Memilih tipe konfigurasi

Pada hirarki objects, pilih FactPenjualan > Variables > DataFolder > Properties > Value lalu klik tombol
Next
Gambar 0.49 Memilih properti yang nilainya akan diisi dengan nilai pada Environment Variable

Isi nama konfigurasi dengan DataFolder lalu klik tombol Finish. Klik tombol Close untuk menutup layar
Package Configuration

Gambar 0.50 Menyelesaikan Wizard Package Configuration

1.6 Mengeksekusi Package


Pada saat sebuah package dieksekusi, task-task dan container yang terdapat di control flow dan
komponen yang terdapat di data flow akan berwarna kuning pada saat dijalankan, hijau apabila berhasil,
dan merah apabila gagal. Pada dataflow akan ditampilkan jumlah baris yang ditransformasi pada setiap
bagiannya.

Untuk mengeksekusi package menggunakan BIDS, klik kanan pada FactPenjualan.dtsx lalu pilih Execute
Package
Gambar 0.51 Mengeksekusi Package dari Solution Explorer

Pada control flow akan terlihat hasil eksekusi untuk setiap task-nya

Gambar 0.52 Hasil eksekusi pada Control Flow

Pada data flow akan terlihat hasil eksekusi setiap komponen dan jumlah baris yang ditransformasi
Gambar 0.53 Hasil Eksekusi pada Data Flow

Untuk menghentikan proses eksekusi yang telah selesai, klik link Package execution completed. Click
here to switch to design mode, or select Stop Debugging from the Debug menu yang terdapat pada
bagian bawah package, atau klik menu Debug > Stop Debugging

Gambar 0.54 Link untuk menghentikan eksekusi yang telah selesai

1.7 Memasang SSIS di SQL Server


Sebelum mulai proses pemasangan package, pastikan service Integration Services sudah berjalan. Untuk
mengeceknya buka SQL Server Configuration Manager dari Menu Start > All Programs > Microsoft SQL
Server 2008 > Configuration Tools > SQL Server Configuration Manager

Gambar 0.55 Menu untuk membuka SQL Server Configuration Manager

Apabila service nya tidak jalan, klik kanan pada SQL Server Integration Services 10.0 lalu pilih Start
Gambar 0.56 Menjalankan SQL Server Integration Services 10.0

Selanjutnya membuat folder penyimpanannya di SQL Server menggunakan SQL Server Management
Studio dari Menu Start > All Programs > Microsoft SQL Server 2008 > SQL Server Management Studio

Gambar 0.57 Menu untuk membuka SQL Server Management Studio

Pada layar Connect to Server, pilih Integration Services sebagai tipe server, dan isi nama server tempat
SSIS package akan disimpan lalu klik tombol Connect

Gambar 0.58 Tampilan untuk mengakses Integration Services


Pada Object Explorer buka nama server > Stored Packages > MSDB, lalu klik kanan di MSDB dan pilih
New Folder

Gambar 0.59 Menu untuk menambahkan folder baru

Isi VoucherIndoETL sebagai nama folder lalu klik OK

Gambar 0.60 Menambahkan folder baru

Untuk membuat kakas pemasangan, di BIDS Pilih menu Project > VoucherIndoETL Properties

Gambar 0.61 Membuka menu untuk melihat properti projek

Pada konfigurasi Deployment Utility, isi nilai CreateDeploymentUtility dengan True lalu klik OK
Gambar 0.62 Mengatur properti projek

Pilih menu Build > Build VoucherindoETL

Gambar 0.63 Menu untuk mengkompilasi projek

Dengan menggunakan Windows Explorer, buka folder tempat menyimpan projek SSIS, lalu buka
subfolder bin\Deployment. Pada saat proses kompilasi projek, BIDS akan membuat sebuah file
pemsasangan dengan format <nama projek>.SSISDeployementManifest. Klik ganda pada file tersebut

Gambar 0.64 Membuka file pemasangan

Klik tombol Next pada layar Welcome


Gambar 0.65 Tampilan pembuka Wizard pemasangan package

Pada layar berikutnya pilih SQL Server Deployment dan centang Validate packages after installation lalu
klik Next

Gambar 0.66 Mengatur tempat pemasangan package

Pilih server tempat SSIS akan disimpan dan isi Package Path dengan /VoucherIndoETL/, atau klik tombol

untuk memilih folder penyimpanan lalu klik tombol Next


Gambar 0.67 Mengatur database dan folder di SQL Server

Klik tombol Next pada layar Select Instalation Folder

Gambar 0.68 Mengatur tempat penyimpanan file yang berhubungan dengan package

Klik tombol Next pada layar Confirm Installation

Gambar 0.69 Konfirmasi pemasangan


Wizard akan melakukan pemasangan dan validasi package, klik tombol Next setelah selesai

Gambar 0.70 Proses pemasangan

Klik Finish untuk mengakhiri Wizard

Gambar 0.71 Tampilan akhir Wizard pemasangan package


Bab 2

SQL Server 2008 Analysis Services (SSAS)

Kalau kita membahas Analysis Services pada SQL Server,kita membicarakan Business Intelligence (BI).BI
di mulai dari process pengumpulan data (ETL) di lanjutkan dengan penyajian data kemudian interpretasi
dari data tersebut yang berupa hasil analisa, tentunya semua itu harus di dukung dengan data yang
benar , waktu yang tepat dan format benar. BI Merupakan business tool yang effective untuk
mendukung keputusan bisnis, baik berupa keputusan strategik, tactical ataupun operational.

SQL Server 2008 adalah technology yang mendukung development dan administration dari BI
Application.SQL Server Reporting dan Integration services adalah element dari BI, tapi inti dari BI
tersebut adalah SQL Server 2008 Anlysis Services (SSAS). Analysis Services adalah technology untuk
OLAP (Online Analytical Processing) dan data Mining. Proces OLAP administration dilakukan di SQL
Server Management Studio berupa Viewing data, membuat multidimensional Expression (MDX),Data
Mining Extensin (DMX) dan XML for Analysis (XML/A) dan mendefenisikan role untuk akses security
OLAP data.Untuk Development OLAP menggunakan Business Intelligence Development Studio
(BIDS).Dengan menggunakan BIDS kita dapat membangun core component dari Analysis Services (Data
source,Data Views,Dimension, Value, Cube,Role, dan sebagainya).

2.1 Feature Baru di Analysis Services SQL SERVER 2008


Feature baru pada Anlysis Services SQL Server 2008 di kategorikan kedalam 3 kategori yaitu Design Tool,
Monitoring dan runtime operations.

2.1.1 Design Tool

Dibandingkan dengan Analysis Services SQL Server 2005,Microsoft telah memperbaiki design tool untuk
kemudahan bagi user untuk membagun Database OLAP, diantaranya penambahan best practice alerts.
Alerts di tampilkan dengan garis berwarna biru atau merah yang berlekuk-lekuk pada user interfacenya
yang memberikan peringatan “warning” dan “error”.Selain allert Microsoft juga telah melakukan
perubahan besar pada beberapa designer, seperti cube wizard yang lebih sederhana daripada
pendahulunya Analysis services SQL Server 2005.Pada Analysis Server SQL Server 2008 Dimension
Designer terdapat perubahan pada attribute relationship designer,dan penambahan aggregation tab
pada cube designer yang sebelumnya terdapat pada partition tab. Micosoft juga telah memperkenalkan
“Dynamic Named Set” pada Versi Analysis Services 2008 yang pada versi sebelumnya masih
menggunakan “Static Named Set”.Named Set berfungsi sebagai predifined subset terhadap data, seperti
“Top 10 Customers”.“Top 10 Customer” akan di process pada saat cube di process ,dengan demikian
process akan melakukan query “Find the top 10 customer over 70 years old” walaupun pada data
sebenarnya “Top 10 Customers” yang diatas 70 tahun tidak ada.Dengan menggunkan “Dynamic Named
set” process “Top 10 Customers” akan memberikan nilai sesuai dengan context dari query tersebut,
dengan demikian dapat dengan mudah melakukan query untuk 10 customer yang memiliki umur di atas
70 tahun.

2.1.2 Monitoring

Untuk Advanced user yang telah menggunakan cube designed pada mesin production,feature baru pada
SQL Server Management studio dapat membantu untuk melakukan monitoring dari performance OLAP
database.Feature ini sama dengan Dynamic management views pada Sql Server relational.Seoring
Analysis Services administrator dapat melakukan monitoring terhadarp MDX query dengan
menggunakan SQL Server management studio dengan menggunakan query sebagai berikut :

SELECT

session_spid,

session_user_name,

session_last_command,

session_start_time,

session_CPU_time_MS,

session_reads,

session_writes,

session_status

FROM $system.discover_sessions

WHERE session_status = 1

Query tersebut memberikan informasi detail session yang sedang berjalan pada server dan resource
yang di gunakan oleh session tersebut.Dengan menggunakan schema yang sama dapat juga melakukan
monitoring terhadap connection,session,commands dan object yang berhubungan dengan command.

2.1.3 RunTime

Perubahan pada Analysis Services pada SQL Server 2008 tidak hanya pada user interaction seperti
designer ataupun administrator ,tapi juga runtime engine mengalami perubahan yang substansial,
beberapa diantaranya pada level technical lebih dalam.

Sebagai contoh teknologi yang di kenal sebagai subspace (Block) computation yang memberikan remark
terhadap peningkatan performance untuk hasil query. Kita ambil kasus untuk melakukan query dengan
hasil dari sales dari semua product,store dan tanggal.Biasanya, hanya terbentuk subset yang berukuran
kecil dari seluruh product yang terjual di semua toko pada semua tanggal, sehingga hasil dari query ini
akan memiliki banyak nilai null. Subspace computation akan melakukan optimasi pada level engine
operation untuk menjalankan query tersebut dan dapat menunjukkan peningkatan performance 20 kali
lebih cepat dengan kasus yang sama.

Peningkatan runtime lainnya untuk kalangan advanced user adalah kemampuan untuk melakukan
process write back ke partisi Multidimensional OLAP (MOLAP). Bagi user hal ini berguna untuk
membangun aplikasi planning dan budgeting secara interactive

2.2 Analysis Services Fundamental


Pada sesi ini kita akan melihat arsitektur dari Analysis Services SQL Server 2008,kita juga akan
membahas beberapa feature yang menjadi fundamental dari Analysis Services.

2.2.1 Arsitektur

Gambar 2.1 Arsitektur Analysis Services

Pada Gambar 2.1 diatas merupakan arsitektur Analysis Services pada level paling atas. Komponen
utamanya adalah Unified Dimensional Model (UDM) yang merupakan satu kesatuan dari dimensional
Model yang merepresentasikan relational dan multidimensional data.UDM adalah sebagai jembatan
dari client excell atau SQL Server Reporting Services untuk mengakses beberapa heterogeneous
datasource.
Sebagian besar feature Analysis Services terdapat pada UDM, yang terdiri dari Hierarchies,
categorization, Time representation, Language Translation dan perspective dan beberapa advanced
functionality seperti proactive caching dan Analytics. Analysis Services bertindak sebagai sebuah web
services,sehingga tidak aneh jika bahasa yang di gunakan sebagai administrator menggunakan xml-
based.Semua komunikasi dari client ke Analysis Services menggunakan standard based xmla-protocol.

Microsoft terus mendukung bermacam-macam teknologi yang memiliki fungsionalitas yang di sediakan
oleh XML/A ( ADO MD, ADO MDB.NET, OLE DB for OLAP, and Win32).XML/A sebenarnya merupakan
subset dari Analysis Services Scirpting Language (ASSL), yang mana XML/A mengirim action command
seperti create, alter dan process (untuk create cube,alter cube dan process cube).

BIDS, adalah Development tool untuk SQL Server BI menggunakan style Visual Studio (Solution,Project
dan source file).Source File akan di gabungkan pada sebuah BIDS Analysis Services project yang terdiri
dari gabungan metada dengan Object Analysis Services.Anda dapat mengecek file tersebut ke dalam
source code control standar seperti Visual Studio source safe atau Visual Studio Team Foundation
Server.Bahasa dari Metadata tersebut adalah berupa XML dan di simpan dalam sebuah file. SQL Server
Management Studio dan BIDS menggunakan XML/A untuk berkomunikasi dengan Analysis Services.

Microsoft memperkenalkan proactive caching pada Analysis Services SQL Server 2005 untuk
mempermudah aplikasi yang tersembunyi dengan pengaturan yang minimal.Tujuan utama dari
proactive caching adalah sebagai management dari data yang telah usang.Contohnya, Kita dapat
melakukan konfigurasi terhadap proactive caching untuk melakukan perubahan ketika data dasarnya
berubah.Jika cache dilakukan proces update,Analysis Services tidak melakukan query pada cache tapi
akan melakukan query langsung ke datasource.Proactive caching akan bekerja secara optimal pada
relational database yang memiliki tanda ketika datasource telah di rubah.

Analysis Services pada SQL Server 2008 tidak melakukan cache seluruh dimension ke memory,
sebagaimana sistem operasi menyimpan sebagian page ke memory dan sebagiannya lagi ke
Disk.Analysis Services menggunakan phisical memory dan disk.Keuntungan dari pendekatan ini adalah
Analysis Services mendukung ukuran dimensi yang tak terhingga, tidak seperti Analysis Services 2000
yang membatasinya tergantung pada besarnya jumlah RAM fisik.

2.2.2 Development Environment

BIDS adalah tool utama untuk membangun sebuah Analysis Services.BIDS mendukung pengembangan
secara offline sebelum developer mendeploy sebuah Analysis Services project ke server.Offline
Development ini dimungkinkan karena BIDS bekerja menggunakan snapshot dari schema dari
datasource yang di akses.Analysis Services akan membuat cube schema (cube,dimension, fact table dan
lainnya) ke local, dan developer dapat mendeploy ke server lain tanpa menganggu online server.Dengan
fasilitas developement secara offline, developer dapat bekerja tanpa harus terkoneksi ke server.

BIDS menyediakan administrative dialog box dan wizard untuk melakukan kalkulasi.User interface ini
dapat melakukan automatisasi dari range computation dari manipulasi waktu,Account Intelligence,
financial aggregation, mendukung perbedaan mata uang, dan semi additive measure.
Keuntungan lainnya dari BIDS adalah dapat mendeploy ke instance analysis services yang berbeda dan
translation sehingga Analysis Services dapat di deploy dengan berbagai bahasa.

2.3 Object dan konsep dari Analysis Services


Ada banyak feature yang terdapat pada Analysis Services 2008, di sini kita akan membahas beberapa
dari object yang paling penting dan konsep nya yang paling sering kita pakai untuk implementasi BI
yang afektif.

2.3.1 Data Source View

Datasource Views (DSVs) adalah sebuag virtual layer di atas datasource dan terdiri dari subset dari
object yang tergabung di dalam datasource.kita ambil contoh dalam satu buat datasource views terdiri
dari beberapa tabel dan view yang berhungungan dengan proses payroll.Developer dapat merubah
nama dari object, menambah calculated column dan menambahkan named queries.

2.3.2 Multidimensioanl Expression

Multidimensional Expression (MDX) adalah bahasa yang di dukung oleh Analysis Services untuk kalkulasi
dan security roles.Developers menggunakan MDX untuk melakukan query ke Analysis Services dan
membangun kalkulasi dan key Performance indicator (KPI).

2.3.3 Key Performance Indicator FrameWork dan Perspective

Key Performance Indicator (KPI) di kenalkan pada SQL Server 2005 yang merupakan object dari sisi
server yang menyajikan value secara graphical,menyajikan goal dari sebuah value, status dari sebuah
indikator (baik, buruk dan lainnya) dan tren dari sebuah value.

Kita ambil contoh dari sebua broker yang seharusnya dapat menggunakan image thumb-is-up atau
thumb-is-down yang merepresentasikan apakah stock seharusnya terbeli atau dijual.algoritma dasar
yang digunakan sungguh complex (value,goal,status,trend), tetapi dengan menggunakan KPI dapat lebih
simple hanya dengan image thumb-is-up untuk beli dan thumb is down untuk jual.

Feature yang lain adalah untuk memberikan informasi ke user secara lebih spesifik yang di sebut dengan
perspective.Perspective adalah kumpulan logical dari attribute, user define hierarchies,action, measure
group yang telah di optimalkan untuk di sajikan ke user.Perspective pada Analysis Services dapat di
analogikan seperti view pada database relational.

2.3.4 Common Language Runtime (CLR) Integration

Saat ini, developer dari Analysis Services masih membutuhkan untuk meningkatkan komputasi pada high
level language termasuk common language runtime (CLR),C# dan VB.Net. Di SQL Server 2008 ,object SQL
Server dan user defined function dapat di buat dengan menggunakan bahasa seperti CLR.CLR tidak
hanya mendukung user defined function tapi juga store procedure dan trigger.Untuk membangun CLR
add-ons pada SQL Server dapat menggunakan visual studio 2008.
2.3.5 Analysis Management Object (AMO)

Analysis Management Objects (AMO) akan membentuk API untuk membuat dan melakukan
maintenance terhadap Analysis Services Object.Dengan menggunakan AMO dapat melakukan tugas-
tugas sebagai Analysis Services administrator termasuk security dan processing,backup dan restore.

2.4 OLAP,OLTP dan Datawarehouse


Bayangkan anda adalah seorang developer yang bekerja pada Adventure Work.Seseorang dari divisi
accounting menanyakan kepada anda hasil penjualan terhadap product,maka anda akan menuliskan
query pada management studio dengan melakukan query join terhadap table production.product ke
sales.salesorderdetial seperti terlihat pada gambar di bawah ini.

Gambar 2.2 Query dan Hasilnya dari Sales By Product

Setelah tugas anda selesai, kemudian anda akan melakukan perkerjaan anda kembali, tetapi kemudian
orang dari manufacture menghentikan pekerjaanmu untuk memberikan data penjualan berdasarkan
tanggal pembuatan product, kemudian penjualan berdasarkan warna product, belum selesai anda
menuliskan query, orang dari akunting departement kembali ingin melihat data sales di breakdown dari
product berdasarkan sales period (year,quarter,month), sales person, Product, Product Category dan
customer.Dari permasalahan yang anda hadapi sekarang, anda harus menulis query ulang sesuai data
yang diinginkan oleh user, solusi yang anda butuhkan adalah dengan membangun Analysis Services.

Dari contoh kasus diatas kita butuh OLAP. Sebuah database OLAP lebih opimal untuk kebutuhan analisan
dan mendukung proses pengambilan keputusan, sebelum menganalisa harus ada data yang akan
dianalisa.Sumber data yang dibutuhkan sebagaia analisa seringkali di lakukan insert, update dan delete
(jika di butuhkan) yang sering di sebut sebagai OLTP. Setelah proses transaksi selasai (Jam kantor
selesai), IT akan melakukan copy data ke database yang berbeda atau kita sebut sebagai
Datawarehouse. Bisnis user dapat melakukan query ke Datawarehouse untuk mengetahui apakah
product yang kita jual sudah untung atau belum,bagai mana jumlah penjualan satu product di
bandingkan dengan product yang lainnya.

Di SQL Server 2008 terdapat datasource Adventureworks2008 yang baik untuk di pelajari sebagai OLTP
database dan AdventureWorksDW2008 sebagai Datawarehouse.anda dapat mendownload di
http://codeplex.com

2.4.1 Konsep OLAP

Bekerja dengan Analysis Services mengharuskan anda untuk mengetahui Terminologi dari OLAP
termasuk Cube,Dimension dan Measures.Konsep tersebut ada hubungannya dengan object yang
digunakan di dalam Analysis Services dan teknologi yang ada hubungannya dengan Analysis Servies.

2.4.1.1 Cube

Inti dari konsep OLAP dan Analysis Services adalah kubus (Cube). Gambar di bawah ini adalah contoh
yang menyajikan data dari AdventureworksDW database.

Gambar 2.3 Cube Internet Sales AdventureWorksDW

Cube adalah adalah sebuah penyajian data secara multidimensional tergantung dari banyaknya nilai
dalam suatu Analysis. Analisis data terdapat pada tabel factinternetsales.Elemen yang terdapat pada
factinternetsales adalah OrderQuantity,SalesAmount,DiscountAmount dan TaxAmount. Mekanisme
untuk melakukan administrasi dan akses nilai ini telah disediakan oleh Analysis Services.

Pada kondisi konvensional,kita akan berpikiran bahwa cube akan terdiri dari 3 dimensi yaitu panjang,
lebar dan tinggi. Di dalam Analysis services tidak di batasi oleh jumlah dimensi. Sales dan quantity
adalah measure yang dapat di baca oleh 5 dimensi secara bersamaan yaitu dimproduct,
dimproductsubcategory, dimproductcategory, dimcustomer dan dimcurrency. Dari cube diagram di atas
terdapat 3 dimensi (DimProduct,DimCustomer dan DimCurrency) karena lebih mudah untuk di
gambarkan, tetapi bukan berarti Analysis Services di batasi oleh 3 dimensi.

2.4.1.2 Cells

Tanpa memperhatikan dari banyaknya jumlah dimensi,cube terdiri dari beberapa cell,Cell adalah atomic
unit (Unit terkecil) dari sebuah cube pada Analysis Services.Kita lebih memfokuskan dengan
mengidentifikasi cell dalam cube terhadap dimension.Sebuah measure sales dapat di identifikasi secara
unik, dari sisi customer, sales person, credit type card, currency dan product.

2.4.1.3 Measure dan Fact Table

Didalam sebuah cube,measure group seperti Factinternetsales terdapat quantitative values seperti
OrderQuantity dan SalesAmount.Selama Value bersifat numeric, measure dapat di aggregasikan (Sales
di aggregasi terhadap product category, product color atau sales by customer).

Measure terdapat pada factable,yang mana dalam satu table database terdiri dari banyak
measures.Maesurement tidak hanya terdapat pada field tabel dalam sebuah database, tetapi dapat
berupa hasil perhitungan (Sales tanpa komis,sales plus tax, dll). DI Analysis Services, MDX dapat
melakukan perhitungan terhadap measures.

2.4.1.4 Dimension dan Attribute

Dari contoh cube pada gambar di atas memiliki 3 dimensi (dimproduct, Dimcustomer, DimCurrency).
Apa Dimensi itu ?. Defenisi formal dari Dimensi pada Analysis Services adalah “Sebuah Dimensi akan
mengelompokkan sebuah measure”. Dimensi DimCurrency akan mengelompokkan measure pada
Factinternetsales pada Dollar,Rupiah atau Euro. Dimensi DimCustomer dimensi yang lebih independent
di bandingkan dengan dimensi DimCurrency yang akan mengelompokkan pada customer yang
melakukan pembelian terhadap product.

Setiap Dimensi akan memiliki characteristik tersendiri, misalnya pada DimProduct,Product memiliki
warna merah atau biru. Warna adalah attribute dari sebuah dimensi.

2.4.1.5 Hierarchies

Kita dapat mengurutkan data pada sebuat dimensi pada sebuah hierarchies.Pada dimensi product,leve
pada product dapat berupa category,subcategory dan product. Tabel tersebut merupakan gabungan
dari category,subcategory dan product yang telah di jadikan satu dalam satu dimensi
DimProduct.Hierarchies dapat di breakdown ke dalam bentuk balanced hieararchies dan unbalanced
hierarchies.

Untuk dapat lebih memahami dari hierarchies,perhatikan level pada category,subcategory dan product
pada gambar berikut.Level paling dasar pada hierarchies adalah product (logo cap, stockVest S). Data ini
menggambarkan level yang paling bawah pada sebuah hierarchies.Setiap level memiliki kedalaman data
yang sama dari root pada sebuah hierarchies.sehingga hierarchies seperti ini dikatakan balanced
hierarchies. Dengan demikian value dari sales dapat di lihat berdasarkan product, subcategory dan
catogorynya.

Gambar 2.4 Dimensi Product, Balanced Hierarchy

Untuk unbalance hierarchies dapat di lihat pada geographics hierarchy di bawah ini. Dari gambar di
bawah dapat di lihat bahwa level paling bawah adalah city, dan Washingtin DC berbeda dari beberapa
state lainnya. Kedalaman antara level ini dan level root di atasnya pada hierarchy berbeda dengan level
lainnya.

Gambar 2.5 Dimensi Lokasi, Unbalanced Hierarchy

Analysis Services 2008 telah mendukung kedua kondisi dari hierarchy di atas.
2.5 ANALYSIS SERVICES PROJECT
Untuk membuat Analysis Services object (Cube,dimension,measure dan lainnya),seorang developer
harus dapat melakukan code ASSL, XML di gunakan client application untuk berkomunikasi dengan
Analysis Services.

Business Intelligence Development Studio (BIDS) mendukung project Analysis Services. Project akan di
tulis dalam bentuk Code ASSL pada level underlying (Source file dalam bentu ASSL XML).IDE dari BIDS
mempersingkat/mempermudah seorang developer untuk mengenerate ASSL dengan interface yang
menarik dan mudah untuk di gunakan.

2.5.1 Memulai Analysis Services Project baru

Cube diagram pada gambar 2.3 terdapat beberapa dimensi yaitu Dimproduct, DimCurrency dan dan
DimCustomer. Cube juga terdapat fact table yaitu Factinternetsales. Kita dapat mengimplementasikan
cube tersebut menggunakan Analysis Services project pada BIDS.Kita akan menambahkan dimensi
keempat yaitu DimTime .

Untuk memulai Analysis Services project yang baru, buka BIDS (Microsoft SQL Server 2008 → Business
Intelligent Development Studio) dan pilih File → New. Kamu akan melihat Dialog box New Project,
seperti yang di tunjukkan pada gambar 2.8 Berikut.

Gambar 2.6 Membuka BIDS Tools


Gambar 2.7 Menu New Project

Gambar 2.8 Membuat Analysis Services Project baru


Secara default nama dari project dan solution akan mengandung nama yang generic seperti Analysis
Services Project 1. Untuk memudahkan mengenali project kita dapat menuliskan nama project yang
lebih spesifik seperti Internet sales pada name text box. Kemudian OK

Model yang di gunakan oleh BIDS dapat lebih dari satu project. Untuk scenario ini kita akan
menggunakan satu solution dan satu analysis project.

2.5.2 DataSource

Pada saat anda membuat analysis services project, anda harus membuat datasourse. Datasource ini
akan menjadi acuan ke database mana project anda akan mengakses data.DataSource ini dapat
mengakses ke SQL Server atau ke database lainnya dengan menggunakan provider yang sesuai seperti
OLE DB, atau ODBC.

Untuk membuat datasource, pada solution explorer (View → Solution Explorer), klik kanan datasource
folder pada internet sales project dan pilih new datasource pada menu seperti pada gambar 2.9 berikut.

Gambar 2.9 Memilih menu untuk membuat datasource baru

Pilih New Datashource akan muncul Datasource wizard,klik Next untuk melewati welcome
screen.Screen selanjutnya akan tampak pada gambar 2.10 berikut.anda dapat membuat New
Datasource di sini.
Gambar 2.10 Mendefenisikan Datasource

Sebuah datasource merupakan sekumpulan dari sebuah data connection (data provider, host, database,
secutiry credential dan sebagainya). Klik New untuk membuat datasource baru.
Gambar 2.11 Membuat Koneksi Datasource baru

Ketika connection Manger muncul seperti pada gambar 2.11 di atas, pilih Native OLE DB\SQL Server
Native sebagai default.OLE DB adalah teknologi data access sebelum .NET dan providers yang masih di
dukung oleh Microsoft.

Pilih nama provider yang akan di gunakan untuk akses ke database dalam hal ini kita pilih Native OLE\DB
SQL Server Native Client 10.0. Masukkan nama server database, jika database menggunakan instance
maka nama instance harus di sebutkan (servername/instance), gunakan Use Windows Authentication
untuk log on ke server database atau dengan menggunakan SQL Server Authentication.Pilih nama
database yang akan di gunakan dalam hal ini kita menggunakan data dari database
AdventureworksDW2008.Konfigurasi datasource seperti terlihat pada gambar 2.12 berikut.
Gambar 2.12 Mendefenisika Datasource

Seteleh Konfigurasi connection manager selesai klik OK untuk kembali ke Datasource Wizard kemudian
klik next, anda akan melihat Impersonation menu seperti pada gambar 2.13 berikut. Pada form ini anda
di minta untuk menentukan credential yang akan di gunakan Analysis Services untuk melakukan koneksi
ke datasource.
Gambar 2.13 memilih informasi impersonation

Informasi yang di tampilkan pada menu impersonation sangan penting karena Analysis Server dan user
yang tidak bekerja pada lingkungan BIDS pada akhirnya dapat konek ke datasource.Bukan cara terbaik
untuk memilih use the credential of the current user.Pada latihan ini kita akan menggunakan pilihan Use
the services account. Dengan memilih opsi tersebut maka account yang berada pada Analysis Services
dapat mengakses datasource.
Gambar 2.14 memilih service account impersonation

Kemudian klik next dan tentukan nama dari Datasource, setelah itu klik finish.

2.5.3 Perubahan pada Datasource

Setelah anda membuat Datasource,anda dapat melakukan perubahan datasource dengan cara klik
double pada datasource yang akan di rubah kemudian akan muncul form Data Source Designer seperti
pada gambar 2.15 berikut.
Gambar 2.15 Merubah datasource dengan datasource designer

Dengan menggunakan Datasource Designer,anda dapat melakukan perubahan pada


datasource,connection string atau melakukan modifikasi properties yang lainnya yang tergabung pada
datasource.

2.5.4 DataSource View

Inti dari pemikiran dari Analysis Services pada banyak Developers adalah “If they can get the metadata
correct, then the data will fall into place for them”. Dari filosofi inilah DSV sangat penting dalam Analysis
Services project.DSV adalah offline version dari metadata yang merupakan gabungan dari tabel dan view
yang di gunakan pada Analysis Services project.

Untuk membuat DSV, Klik kanan pada Datasource view folder pada Analysis Services project di dalam
solution explorer dan pilih New Datasource View seperti pada gambar 2.16 berikut yang nantinya akan
di teruskan pada datasource view wizard. Klik next untuk melewati welcome screen.
Gambar 2.16 Menu untuk membuat datasource view

Pada screen kedua pada wizard anda dapat memilih datasource. Untuk contoh ini pilih datasource yang
telah kita buat sebelumnya “AdventureWorksDW2008” kemudian klik next untuk memilih tabel dan
view yang kita butuhkan. Untuk contoh kali ini pilih dengan cara klik ganda pada
DimProductCategory,DimProductSubCategory,DimProduct,DimCustomer,DimCurrency dan
Factinternetsales tabel, untuk memindahkan object tersebut ke list included object. Atau dapat di
lakukan dengan cara klik tombol “Add Related Table” akan memindahkan object dari available object
yang memiliki foreignkey/relasi dengan tabel yang sudah terdapat pada list included object .
Gambar 2.17 Memilih table dan view dari DSV

Setelah tabel di pilih untuk di tampilkan pada DSV, kemudian klik Next,Anda dapat merubah nama dari
DSV.kemudian klik finish untuk membuat DSV.Diagram data yang akan di tampilkan pada DSV adalah
sebagai berikut.
Gambar 2.18 Datasource View Designer

Pada Datasource view designer kamu dapat memilih sebuat tabel dan berubah properties dari tabel
tersebut pada window properties.misalnya kamu ingin merubah tabel atau view dengan nama unik yang
lebih mudah di kenali. Juga anda dapat menambahkan tabel atau view baru dan membuat relasi antara
table dengan mendrag entity pada satu table ke tabel lainnya.

Klik kanan pada design windows akan muncul menu yang dapat memanipulasi DSV.

Gambar 2.19 Menu manipulasi DSV


Menambah dan menghapus table atau view. Jika kita kelupaan untuk menambahkan table
dimProduct pada saat membuat DSV, maka model yang akan kita buat akan kekurangan dimension.
Anda dapat memperbaiki dengan menambahkan object table ataupun view dengan menu ini.
Membuat Named Query. Dengan memilih Named Query maka anda dapat melakukan query dengan
perintah SQL Command. Named query ini akan tampil sebagai tabel pada DSV Designer.Named
query tidak terletak pada datasource, dan pada datasource tidak bisa menggunakan create view
permission.Named Query berada pada local metedata dalam DSV.
Membuat Relationship. Tool ini dapat di gunakan jika foreignkey tidak terdapat pada
datasource.Membuat relationship ini bermanfaat pada saat kita membuat Named Query. Named
query tidak terdapat pada metadata,sehingga harus di defenisikan relasinya.
Penghubung antara design dan code view.Code pada banyak object pada Analysis Services project
berupa XML. XML ini adalah ASSL.

Pada contoh database AdventureWorkDW2008 kemungkinan tabel DimTime belum ada. Anda dapat
create table dan insert data dari database AdventureWorksDW dengan sintax sebagai berikut.

select Convert(int,CONVERT(char(8),FullDateAlternateKey,112)) DateKey,* into


DimTime from AdventureWorksDW.dbo.DimTime;

alter table FactInternetSales add TimeKey int null;

Update FactInternetSales set TimeKey=B.TimeKey

From FactInternetSales A inner join DimTime B ON A.OrderDateKey = B.DateKey ;

Sintaks tersebut akan membuat tabel DimTime pada Database AdventureWorksDW2008 dengan
mencopy struktur dan data dari table Dimtime pada database AdventureWorksDW. Kemudian
tambahkan DimTime pada database AdventureWorksDW2008 pada DSV dengan cara klik kanan DSV
area pilih menu Add/remove tables. Pindahkan tabel Dimtime dari available object ke included object,
kemudian pilih OK. Buat relasi dari factinternetsales kolom TimeKey dengan TimeKey pada tabel
DimTime dengan cara klik TimeKey pada tabel Factinternetsales kemudian drag ke tabel Dimtime
dengan memilih field TimeKey. Akan muncul dialogbox apakah datekey pada table Dimtime akan
dijadikan Primary Key, pilih yes. Maka design DSV anda akan menjadi seperti ini.
Gambar 2.20 Perubah Datasource View

2.5.5 Mendefenisikan Cube

Ada banyak perubahan pada cube wizard pada SQL Server 2008, tetapi masih tetap mudah untuk
digunakan.Membuat Cube baru dapat di lakukan dengan klik kanan pada folder cube pada solution
Explorer kemudian pilih New Cube pada menu.Cube memiliki banyak konfigurasi, untuk user baru kita
akan menggunakan default, pilih Existing table seperti pada gambar 2.20 berikut.
Gambar 2.21 Memilih metode pembuatan cube

Kemudian klik next untuk memilih measure group seperti terlihat pada gambar 2.21 berikut. Disini kamu
dapat memilih beberapa fact table berbeda atau hanya satu. Pada contoh ini pilih tabel
FactInternetSales, yang memiliki field yang sangat potensial dijadikan measures (OrderQuantity,
UnitPrice, SalesAmount, TaxAmount, Freight, Totalproductcost). Sebuah Fact table dapat terdiri dari
satu measure atau lebih. Jika anda tidak yakin mana tabel yang dapat di jadikan fact table kamu dapat
klik tombol suggest. Wizard akan memilih candidate tabel yang dapat dijadikan fact table untuk anda
review.
Gambar 2.22 Memilih Fact table

Setelah anda memilih fact tabel, klik next.pada screen selanjutnya anda dapat memilih field yang akan di
jadikan measures dalam cube. Pada contoh kali ini pilih Order Quantity,Sales Amount, Tax Amount dan
Freight (Sales Amount adalah adalah total dari cost of goods sold/cogs yang diambil kedalam nilai
Quantity, Price dan Discount). Kemudian unchect Kolom yang lainnya. Klik next untuk melanjutkan.
Gambar 2.23 Memilih Measure

Pada screen selanjutnya anda dapat memilih dimensi yang digunakan. Pada gambar 2.24 pilih
DimCurrency, Dim Customer, DimTime yang nantinya akan di tampilkan sebagai dimensi pada cube.
Pada tabel tersebut tidak terdapat hierarchy, Dimensi tersebut terdiri dari satu tabel. Dimensi ke empat
akan memiliki hierarchy secara automatic yang terdiri dari DimproductCategory,
DimProductsbucategory dan Dimproduct. Cube wizard menyediakan hierarchy tersebut untuk kita,
karena pada datasource view kita memiliki relasi dari factinternetsales ke Dimproduct kemudian ke
DimProductSubcategori dan DimProductCategory. Untuk tabel Factinternetsales tidak di pilih.
Gambar 2.24 Memilih dimensi, Attribute dan Hierarchy

Untuk menyelesaikan cube wizard berikut klik Next kemudian klik Finish.Cube secara default akan
mengambil nama dari DSV. Berikut cube dan dimensi yang terbentuk dari cube wizard pada gambar
2.25.
Gambar 2.25 View Solution Explorer dengan cube dan dimension

2.5.6 Konfigurasi Dimensi

Setelah anda selesai dengan cube wizard, maka wizard akan membuatkan Dimensi. Dimensi yang di
bentuk oleh wizard adalah dimensi dengan konfigurasi default. Anda harus melakukan konfigurasi ulang
terhadap dimensi. Anda dapat melakukannya pada dimension designer. Pada dimension designer
mengizinkan pada anda untuk merubah properties, menambahkan attribute, mendefenisikan hierarchy
baru, mendefenisikan attribute relationship dan menambahkan local translation jika di butuhkan. Untuk
advance user anda dapat membuat dimensi secara manual. Jika anda melakukan ini anda harus
menambahkan dimensi ke cube secara manual.

Untuk melakukan konfigurasi dimensi, klik kanan pada dimensi di dalan solution explorer kemudian
select open. Pilih tabel dimTime maka akan muncul dimensi designer seperti pada gambar 2.26 berikut.
Gambar 2.26 Dimension Designer

Pada Demension Designer terdapat 4 tab yaitu :


Dimension Structure, Di sini anda dapat memilih atribute dari dimensi dan menyusun
atribute tersebut dalam hierarchy.
Attribute Relationship,pada tab ini, kamu dapat mengatur relationship antara attribute.
Relationship ini membantu anda pada saat melakukan penelusuran member dari sebuah
hierarchy dari dimensi tersebut.
Translation, pada tab ini anda dapat menambahkan ataupun merubah metadata ke dalam
bahasa yang berbeda.
Browser, gunakan tab ini untuk melihat hasil dari dimensi yang telah kita process.

2.5.6.1 Menambahkan Attribute

Pada contoh ini,Sebelum kita membuat hierarchy yang berguna, kita membutuhkan beberapa attribute
lagi, kalau kita lihat pada gambar 2.26 hanya terdapat satu attribute yaitu datekey, karena secara
defaultnya hanya attribute pada wizard yang akan di tambahkan dalam hal ini dimension key.

Menambahkan attribute baru hanya dengan cara drag attribute pada pane datasource view pada
dimension designer yang berada paling kanan ke attribute pane pada pane paling kiri, drag attribute
berikut, Calendaryear, CalendarSemester,CalendarQuarter,EnglishMonthName. Kamu dapat
memindahkannya tanpa sesuai urutan, atau pilih semua attribute dengan menahan tombol shift dan
kemudian klik attribut yang diinginkan kemudian pindahdahkan ke attribute pane.

Anda dapat merubah nama dari atribute Englistmonthname yang lebih mudah di kenal dengan cara klik
kanan pada attribute yang bersangkutan dan pilih rename menu. Misalnya anda merubah attribute
EnglishMonthNamae menjadi Month. Anda dapat juga meruba key dari datekey ke simple date. Friendly
name attribute akan memudahkan user pada saat melakukan browse cube dan lebih memahami data
yang di sajikan. Hasil dari create attribute seperti pada gambar 2.27 berikut.

Gambar 2.27 Hasil penambahan attribute

Pada dimensi DimTime kita melihat terdapat garis biru yang berlekuk di bawah nama dari dimensi
DimTime. Ini adalah peringatan best practice, pindahkan mouse anda di atas garis tersebut maka akan
muncul tooltip yang memberikan peringatan sebagai berikut “ Create Hierarchy in non-parent child
dimensions”.Pada umumnya anda tidak menghiraukan dari peringatan tersebut dan kamu akan
meneruskan design cube dan dimensi. Sebenarnya peringatan tersebut menolong anda untuk design
yang lebih baik.

2.5.6.2 Membuat Hierarchy

Sekarang anda telah memilik attribute pada dimensi DimTime.Sekarang saatnya anda membuat
hierarchy untuk dimensi DimTime tersebut.Anda dapat memindahkan attribute dari atas atau dari
bawah sesuai dengan urutan level dari sebuat hierarchy ke dalam hierarchy pane. Ada baiknya anda
melakukannya sesai dengan urutan level walaupun nantinya anda dapat merubah urutan dari levelnya.
Pindahkan semua attribute satu demi satu untuk membentuk suatu hierarchy. Kamu dapat merubah
semua attribute maupun header space pada attribute yang lebih mudah untuk dikenali seperti
calendar.Anda dapat melihatnya seperti pada Gambar 2.28 berikut.

Gambar 2.28 membuat hierarchy

2.5.6.3 Attribute Relationship

Pada Hierarchy calendar yang telah kita buat terdapat tanda <!> dan garis biru berlekuk di bawah nama
hierararchy. Pindahkan mouse anda ke area tersebut akan muncul tooltip “Attribute relationship does
not exist between one or more levels of this hierarchy,This may result in decreased query performance”.
Pada tooltip di sarankan anda untuk membuat relationship dari hierarchy yang anda buat. Ini
merupakan saran yang baik. Klik attribute relationship tab untuk mendesign attribute relationship.
Gambar 2.29 mendefenisikan attribute relationship

Pada gambar 2.29 di atas, anda dapat melihat seluruh attribute berelasi ke key dari dimensi DimTime,
date, tetapi tidak satupun dari attribut tersebut memiliki relasi ke lainnya.Hal ini mengakibatkan dimensi
sulit untuk di navigate. Anda dapat melakukan drill down dari calendaryear to date, tetapi tidak ada
relasi dari calendaryear ke calendarsemester. Untuk membuat relationship untuk memudahkan pada
saat navigasinya, anda dapat melakukannya dengan cara yang sederhana dengan cara drag dan drop
atribute pada view ini kedalam attribut yang akan menjadi parentnya. Jadi drag calendarsemester ke
dalam calendaryear, calendarquarter ke dalam calendarsemester dan month kedalam calendarquarter.
Sekarang hierarchy anda akan tampak seperti gambar 2.30 berikut.

Gambar 2.30 Perubahan attribute relationship

Kita masih belum selesai sampai di sini. Kenapa? Coba anda kembali ke tab dimension structure, anda
akan melihat garis biru yang melekuk-lekuk masih ada di bawah nama dimensi pada pane attribute.
Peringatan yang di tampilkan adalah “Define Attributte ralationship as “Rigid” where appropriate”. Dari
peringatan ini menerangkan bahwa attribut relationship yang telah kita buat adalah flexible, tetapi
seharusnya adalah rigid. Rigid Attribute relationship adalah salah sesuatu yang kita perkirakan tidak
akan berubah. Seperti pada time dimension yang telah kita buat bulan january akan selalu berada pada
bagian dari CalendarQuarter 1, tidak mungkin bulan Januari berada pada CalendarQuarter 2.
Kembali lagi ke tab attribute relationship dimana anda dapat melakukan perubahan attribute
relationship. Pada bagian bawah dari tab attribute relationship anda dapat melihat attribute relation
pane sepertin pada gambar 2.31 berikut.

Gambar 2.31 Struktur attribute relationship

Anda dapat memilih semua dari relationship,klik kanan dan pilih properties, pada properties windows,
rubah properties relationship type dari flexible ke rigid.Seluruh attribute relationship akan merubah
menjadi rigid.Jika anda tidak tidak merubah relationship ke dalam bentuk rigid, setiap kali Analysis
Services di prosess incremental update dari data, Analysis services akan menghapus aggregation. Kamu
harus melakukan proses lagi secara manual. Sehingga jika Analysis services yang menyimpan rigid
aggregation, melakukan proses ulang tidak di perlukan.

2.5.6.4 Membuat Attribut Hierarchy invisible

Sekarang kita sudah hampir menyelesaikan configurasi dari Dimensi Time. Pada Dimensi Designer klik
tab dimension structure. Anda masih melihat garis biru melengkung dibawah nama dimensi bukan ?,
pindahkan curson anda ke nama dimensi DimTime, tapi ini adalah yang terakhir, Janji ! Peringatannya
adalah “ Avoid visible attribute hierarchies for attribute used as level in user defined hierarchies”.
Peringatan ini muncul karena user mungkin akan merasa bingung jika attribute dari dimensi di tampilkan
dengan cara pandang yang berbeda. Pada hierarchcy Calendar akan muncul attribute calendaryear dan
di dimensi DimTime juga akan mucul calendaryear. Mungkin dengan kondisi tertentu hal ini dapat di
terima. Misalnya seorang user ingin menganalisa hasil penjualan di bulan November atau December
pada semua tahun, untuk mengevaluasi penjualan pada session liburan. Dengan kondisi menggunakan
attribute month pada hierarchy calendar hanya bisa menelusuri data December 2004 atau December
2005. Untuk kasus di atas kita bisa mendisable seluruh attribute pada Dimensi DimTime (bukan attribute
pada hierarchy) kecuali attribute Month. Untuk melakukkannya pilih attribute-attribute yang akan di
invisible pada attribute pane, klik kanan dan pilih properties (klik F4), pada properties windows rubah
nilai Attributevaluevisible menjadi false.

2.5.6.5 Menghilangkan Best Practice Warnings

Anda masih khawatir, adakah pesan warning dimbawah nama dimensi ? tentu, di mungkin kan untuk
melakukan menghilangkan warning secara keseluruhan atau hanya instan tertentu. Pada kasus ini kita
akan menghilangkan warning pada Month attribute pada dimensi DimTime
Select Build → Build Solution pada BIDS, ketika proses build selesai (anda dapat melihat build succeded
pada status bar di bagian bawah screen). Buka error list window dengan cara klik view → error list,
seperti yang anda lihat pada gambar 2.32 berikut. Beberapa waring yang berhubungan denga dimensi
anda dapat merubah konfigurasinya sama seperti pada dimensi DimTime.

Gambar 2.32 Best practice warning

Klik kanan pada warning “ Dimension *Dimtime+ : Avoid visible attribute hierarchy for attributes used as
level in user defined hierarchy” dan kemudian pilih Dismiss. Pada menu peringatan Dismiss warning,
anda dapat menghilangkan hanya dengan menekan tombol OK, tetapi lebih baik anda memberikan
pesan mengapa anda menghilangkan warning ini sebagai referensi anda nantinya. Tambahkan catatan
kecil pada kotak pesan sebagai berikut “allowing multiple views of month” dan kemudian klik OK untuk
menghilangkan pesan warning tersebut. Anda akan melihat garis biru melekuk di bawah nama dimensi
DimTime Menghilang.

Lihat kembali gambar 2.32 di atas,anda akan di kejutkan dengan pesan peringatan lainnya “ The
database has no time dimension. Consider creating one” apakah kita sudah membuat time dimensi? Ya,
tetap Analysis Servies tidak mengetahuinya. Untuk menandai bahwa dimensi yang kita buat adalah
sebagai time dimensi dengan cara, klik kanan nama dimensi (DimTime) pada attribute pane pada tab
struktu dimensi dan kemudian pilih properties. Pada properties window temukan property Type dan
rubah dari type regular menjadi Time. Kemudian rubah type dari calendaryear,calendar semester,
calendarquarter, month, TimeKey secara berurutan dengan cara klik kanan pada attribut pilih properties
→ type → date → calendar → *year+/*Halyears+/*quarterofyear+/*monthofyear+/*date+. Untuk melihat
apakah ini effektif ? anda dapat pilih build →build solution dan lihat pada jendela error list,warning
tersebut telah menghilang.

2.5.6.6 Key Coloum Attribute

Kalau anda perhatikan data pada attribute calendarsemester akan memiliki nilai 1 dan 2,
calendarquarter akan memiliki nilan 1,2,3 dan 4, dan attribute lainnya akan memiliki nilai yang sama
setiap tahun. Klik attribute calendarsemester → klik kanan → properties → keycolumn, anda akan
melihat gambar 2.33 seperti berikut.
Gambar 2.33 Memilih key column pada dimensi

Anda lihat, Attribute calendarsemester memiliki keycolums calendarsemester, kalau key column hanya
calendarsemester maka keycolum akan duplikat, misanya data 2004 memiliki calendarsemester 1 dan 2
begitu juga tahun 2005 dan seterusnya. Agar key columns unique maka tambahkan column calendaryear
pada box availabel column ke box key columns. Lakukan hal yang sama untuk attribute calendarquarter
dan month.

2.5.6.7 Configuring NameColumn

Kalau kita tidak melakukan konfigurasi nilai Namecolumn pada attribute maka secara default value dari
Namecolumn akan sama dengan value dari keycolumns. Best practice untuk membuat hierarchy adalah
gunakan keycolumn (Tipe data numeric) pada dimensi untuk attibute pada level paling akhir. Pada
dimensi DimTime attribute keycolumn dari Timekey adalah timekey yang akan menggantikan nilai date.
Untuk itu kita perlu menggantikan value dari namecolumn pada attribute timekey menjadi date dengan
cara klik kanan pada attribute timekey pilih properties → namecolumn → Fulldatealternatekey seperti
terlihat pada gambar 2.34 berikut.
Gambar 2.34 Memilih name column

Klik OK. Kemudian rubah name TimeKey pada hierarchy calendar menjadi date dengan cara klik kanan
attribute timekey (F2) → rename → rubah menjadi date seperti pada gambar 2.35 berikut.

Gambar 2.35 Hasil perubahan hierarcy

2.5.6.8 Sorting Attribute Member

Anda ingin mengurutkan nama bulan dari Januari sampai Desember, secara default Analysis Services
akan mengurutkan member dari suatu attribute berdasarkan abjad. Apa jadinya hierarchy calendar anda
?, member Month dari hierarchy calendar adalah sebagai berikut Febuary, January dan March karena di
sort berdasarkan abjad. Lalu bagaimana anda dapat mengurutkan sesuai dengan urutan bulan yang
tepat ? anda membutuhkan nama bulan berdasarkan nilai numeric untuk mengurutkannya.klik kanan
attribute month pada pane attribute pilih properties (F4), pada properties order by terdapat 4 pilihan
yang dapat kita pilih (key,name,attribute key, attribute name).

Kita membutuhkan attribute key yang bertipe numeric untuk attribute Month, tambakan column
monthnumberofyear dari pana datasourceview ke pane attributes, ubah properties
attributehierarchyvisible menjadi false pada attribute Month Number of Year.

Gambar 2.36 Penambahan attribute MonthNumberofYear

Buka tab attribute relationship, pindahkan attribute MonthNumberofyear ke dalam attribute


relationship Month dengan cara drag attribute relationship Month ke attribute MonthNumberofyear
seperti terlihat pada gambar 2.37 berikut.

Gambar 2.37 Menentukan attribute relationship untuk attribute month

Kembali lagi ke tab dimension structure, klik kanan attribute month pilih properties, rubah properties
order by ke AttributeKey dan rubah properties Order by attribute menjadi MonthNumberofyear seperti
terlihat pada gambar 2.38 berikut.

Gambar 2.38 Merubah properties untuk fungsi sortin

Anda dapat melakukan hal yang sama untuk dimensi lainnya,Berikut konfigurasi dari Dimensi product.
Gambar 2.39 Dimensi Product Designer

Gambar 2.40 Attribute relationship dari dimensi product

2.5.7 Deploying Project

Kita harus mendeploy sample project yang telah kita buat untuk menunjukkan bebrapa advanced
feature pada saat kita membangun project analysis services. Hal penting yang harus di sadari bahwa
metadata project yang kita bangun bersifat local yang merepresentasikan object-object analysis
services yang akan kita manage. Mendeploy sebuah project akan membangun cube structure pada
Analysis Services server.

2.5.7.1 Configuring a Project for Deployment

Pada situasi yang sebenarnya, developer seharusnya mendeploy project pada mesin local atau
training/development untuk melakukan debug project tersebut. Setelah project selesai di lakukan
debugging dan dinyatakan OK, developer dapat mendeplonya ke server staging atau production. Untuk
merubah konfigurasi deployment pada host server, pilih project → properties. Pada properties dialog
box pilih configuration properties, dan kemudian deployment. Pada section target tentukan ke server
mana project seharusnya di deploy. Seperti pada gambar 2.40 berikut.
Gambar 2.40 Konfigurasi Deployment

2.5.7.2 Deploy a Project

Anda dapat mendeploy project yang telah anda bangun dengan cara pilih Build → Deploy Solution of
Build project name. Atau anda juga dapat melakukannya dengan klik kanan pada project di dalam
solution explorer dan pilih deploy dari menu yang ada, seperti yang dapat anda lihat pada gambar 2.41
berikut.
Gambar 2.41 Deploy analysis services project

Proces development tidak akan selesai seketika itu juga. Anda dapat melihat status dari process
deployment menggunakan BIDS output window (view → other window → output). Ketika anda memilih
Build → Deploy Solution, semua project yang akan di deploy pada solution akan di deploy. Ini dapat
berupa Analyisis Services project, Reporting Services Project, integration Services project dan CLR
project termasuk C# dan VB.Net yang memiliki user defined function yang di gunakan Analysis Services
project.

2.5.7.3 Processing a Project

Sejauh ini kita membahas mengenai deployment, yang akan memproses project dan object-object yang
ada (Datasource,dimension, cube dsb) ke server Analysis Services tertentu. Proses deploy tidak akan
membuat data yang ada akan terbentuk dalam cube yang kita bangun. Data yang ada tidak bisa kita
tampilkan sampai cube di proses. Ketika object dari analysis services di process, maka Analysis Services
akan mencopy data dari datasource ke dalam object cube.

2.6 Working with Cubes


Ketika anda melihat dari window dari design cube,beberapa tab pada cube designer dapat memberikan
nilai lebih dari analysis services yang kita bangun. Konfigurasi dari masing-masing tab tidak akan bisa di
akses sebelum project di deploy. Berikut tab yang dapat anda lihat pada cube designer.
Cube Structure, Tab ini berisi measures group dan dimension yang merupakan fundamental dari
cube yang kita bangun.
Calculation, adalah MDX script. Calculation dapat membuat entitas baru termasuk member hasil
kalkulasi yang menggunkana aritmatic expression dan name set (member dimensi).
KPIs, Seperti yang telah kita diskusikan. KPI adalah grapical representation yang memiliki nalai goal,
status dan trend.
Action, Action adalah MDX Statement yang digunakan oleh aplikasi client. Action dapat menjalankan
command atau operasi lainnya. Action dapat memberikan nilai dataset, rowset atau report.
Reporting action akan menampilkan reports yang telah di submit oleh Reporting services server.
Partition ,dapat anda gunakan untuk mengatur data dan metadata dari aggregation pada measure
group.
Perspective, memudahkan user untuk melihat apa saja informasi data yang telah di sediakan oleh
cube.
Translation, adalah fasilitas aplikasi klien untuk menampilkan member value pada dimensi kedalam
beberapa bahasa.
Browser, pada tab ini anda dapat melihat isi dari sebuah cube, yang berisi data sebenarnya yang
telah di gabung dengan setiap element dalam sebuat cube.
2.6.1 Viewing Cube Structure

Secara default, cube designer akan menampilkan tab cube structure, tab ini terdiri dari measures dan
dimension seperti yang terlihat pada gambar 2.42 berikut.

Gambar 2.42 Struktur Cube

Pada window measure, anda dapat mengklik pada fact internet sales dan menambahkan measure baru
seperti unit cost dan total product cost. Dengan menggunakan menu yang ada pada tab cube structure
anda dapat menambahkan measure group yang berupa sekumpulan dari beberapa bahkan ratusan
measure yang telah categorykan sesuai dengan role bisnisnya. Seperti cost measure group, tax measure
group atau income measure group.

Pada window dimension tab hierarchy, anda dapat mengakses DimCustomer, anda dapat menggunakan
Geographicskey pada dimcustomer untuk membuat layer hierarchy pada dimensi Dimcustomer dengan
menambahkan table DimGeography ke table DimCustomer hierarchy. Maka aggregasi baru bisa di buat
oleh developer seperti aggregate data pada cube berdasarkan customer state, customer city dan postal
code.

Tab Attribute pada window dimension dapat anda gunakan untuk melihat attribute-attribute dari
dimensi termasuk setiap column pada setiap member dari dimensi. Pada dimensi Dimproduct, product
memiliki relasi ke category dan subcategory.
2.6.2 Browsing Cube

Untuk melihat data yang sudah terintegrasi dalam sebuah cube, cube harus pertama kali di process (pilih
build → process atau klik kanan pada project di window solution explorer dan pilih process), setelah
data selesai di process maka anda dapat melihat data dari cube.

Dari cube designer pilih tab browser, anda akan melihat measures dan dimensions dari sebuah cube di
tampilkan pada pane navigation pada sebelah kiri dari window browser seperti anda lihat pada gambar
2.43 berikut.

Gambar 2.43 Cube Browser

2.6.3 Displaying Cube’s Data

Untuk mendemonstrasikan kemampuan dari windows browser untuk menampilkan data pada
sebuah cube, expand dimensi dimproduct, drag product hierarchies dari pane navigation di sebelah kiri
dan letakkan hierarchy product tersebut ke daerah “Drop row fields here” pada windows browser.
Kemudian drag dari measures → factinternetsales → sales amount pada daerah “Drop total or detail
field here”. Seperti yang dapat anda lihat pada gambar 2. 44 berikut.
Gambar 2.44 Tampilan data cube

Informasi yang di tampilkan pada window browser adalah informasi yang diminta oleh orang
accounting. Bagaimana jika anda untuk melihat sales berdasarkan warna product dari departement
design. Dari dalam window bowser pilih product catogory kemudian tekan yombol del. Drag product →
color dan letakkan pada area drop row fields here pada browser window. Seperti terlihat pada gambar
2.45 berikut.

Gambar 2.45 Sales Amount by Product Color

Hanya dengan melakukan klik, drag dan drop anda sudah dapat menjawab pertanyaan dari departemen
yang berbeda. Tidak ada menggunakan SQL Statement yang digunakan. Semua dapat di lakukan dengan
memanipulasi tampilan bagaimana data seharusnya di sajikan. UDM menyajikan data tanpa command
tertentu untuk menjalankannya, tidak ada transact-SQL,PL/SQL atau yang lainnya.
2.6.4 Browsing Cube with Hierarchy

Sekarang bagaimana untuk menampilkan data dengan struktur data yang rumit.
Dari solution explorer, klik kanan adventureworksdw2008 DSV dan pilih opsi view designer dari
menu. Anda akan melihat diagram relational dari semua table pada DSV.
Klik kanan pada pada ruang kosong pada DSV designer, pilih add/remove tables, pada dialog box
add/remove table, klik double Dimgeography untuk memindahkan table dari available object list ke
included object list. Klik OK untuk menambahkan table DimGeography ke DSV.
Pastikan secara visual table dimGeography telah terdapat foreign key pada geographykey beralasi
one-of-many ke table DimCustomer. Relationship ini seharusnya sudah terbuat secara automatic.
Jika tidak, kamu perlu membuatnya secara manual.
Bukan berarti table DimGeography adalah bagian dari datasource bukan berarti secara outomatic
bagian dari DimCustomer dari cube. Untuk menambah tabel baru ke dimensi DimCustomer, klik
double adventure work DW 2008 internet sales cube dan pilih tab cube structure. Pada pane
navigation di sebelah kiri expand dimensi dimcustomer. Edit Dimcustomer sepertin yang terlihat
pada gambar 2.46 berikut.

Gambar 2.46 Edit DimCustomer


Pada Dimension designer, klik kanan pada pane datasource view di sebelah kanan dan plih Show
table. Pilih kedua Dimcustomer dim DimGeography. Sekarang anda dapat melakukan drag dan drop
pada kedua tabel untuk membangun dimensi customer dengan geography hierarchy. Setelah
melakukan perubahan ini jangan lupa untuk mendeploy ulang solutionnya sehingga cube designer
dapat mengakses data yang baru. Tambahkan attribute English country region name dan birthdate
pada dimensi customer, kemudian konfigurasi attribute relationshipnya seperti terlihat pada
gambar 2.46 dan2. 47 berikut.
v
Gambar 2.46 Hierachy Customer Hierarchy

Gambar 2.47 Attribute relationship dimensi customer


Sekarang anda dapat menambahkan Englist country region name dan customer name ke dalam area
drop row fields here pada browser window. Drag measures sales amount dan order qty ke browser
window pada area total or detail fields here. Seperti terlihat pada gambar 2.48 berikut.

Gambar 2.48 Tampilan data denga hierarchy customer geography


2.6.5 Filtering Cube Data

Drag customer birthdate ke filter area, sekarang Hasil dari windows browser dapat di filter sesuai
dengan range tanggal kelahiran dari customer. Dengan kondisi ini kamu dapat mengelompokkan
customer yang memiliki lanjut untuk melakukan marketing campaign, seperti terlihat pada gambar 2.49
berikut.

Gambar 2.49 Filtering by customer birthdate

Kemudian drag member dari dimensi customer ke area drop column field here pada browser window,
drag measure order quantity dan sales amount ke area drop total detail fields here. Data yang di
tampilkan adalah data yang telah di filter berdasarkan tanggal lahir (1925-08-07-1935-08-14), seperti
terlihat pada gambar 2.50 berikut.

Gambar 2.50 Tampilan data customer dengan filter birthdate


Anda dapat menambahkan beberapa filter dengan memambahkan attribut dimensi lainnya. Misalnya
anda ingin memfilter data product name yang di mulai dengan awalan C, seperti terlihat pada gambar
2.51 berikut.

Gambar 2.51 Tampilan data customer dengan filter birthdate dan pembelian product dengan awalan
‘C’

Pada area drop filter field here anda juga dapat memfilter data, tetapi pada area ini anda tidak bisa
menambahkan filter expression. Filter ini hanya bersifat IN dan Equal berbeda dengan filter pada region
paling atas window browser yang memiliki filter expression seperti Equal,Not Equal, IN, Not IN,
Contents, Begin With, Range (Exclusive), Range (Inclusive) dan MDX. Drag hierarchy product pada
dimproduct, anda akan melihat product yang di tampilakan pada hierarchy product hanya product yang
berawalan C karena pada filter (region paling atas pada windows browser) kita pilih Model name
product yang diawali dengan huruf C, seperti yang terlihat pada gambar 2.52 berikut.
Gambar 2.52 Tampilan filter column

2.6.6 Managing Displaying Data

Window browser merupakan fungsionalitas yang bagus, tapi mungkin anda menemukan beberapa yang
masih kurang, seperti measure belum terformat dengan baik,anda mungkin menginginkan sales amount
dalam bentuk format currency, tetapi tidak mengandung simbol mata uang. Order quantity juga
seharusnya memiliki format numeric. Anda dapat melakukan formating measure pada properties dari
measure masing-masing yang terdapat pada cube structure tab.

2.6.6.1 Setting Properties

Pilih cube structure tab, anda bisa mengatur masing-masing measure ataupun dimensi attribute pada
propertiesnya. Klik kanan sales amount kemudian pilih properties (F4),pada window properties →
Format string rubah ke dalam currency, demikian juga dengan Oder Quantity rubah format string
menjadi ‘#,#’ (gambar 2.52). Setelah anda melakukan perubahan pada propertiesnya anda harus
mendeploy solution agar hasil perubahan dapat di lihat pada window browser. Sehingga format sales
amount dan order quantity telah berubah seperti yang anda lihat pada gambar 2.53 berikut.

Pada properties Aggregationfunction pada measure sales amount telah di set “Sum”, sehingga nilai dari
sales amount akan di aggregation sum pada semua dimensi. Properties AggregationFunction terdiri dari
sum,count,min,max, distinct count, None, First Non Empty dan Last Non Empty.
Gambar 2.52 Properties dari measure perubahan format string

Gambar 2.53 Tampilan setelah format string di rubah menjadi currency

2.6.6.2 Menggunakan dialog Box commands and option

Menggunakan properties untuk memformat measure atau member tidak dapat mengatasi semua yang
tampil secara bersamaan. Di dalam window browser anda dapat merubah penampilan data. Pada
browser window klik kanan item yang akan di konfigurasi formatnya (Measure atau member) dan pilih
commands and option. Menu ini akan menampilkan dialog box seperti mini word processor yang dapat
melakukan formating data, seperti yang dapat anda lihat pada gambar 2.54 , anda dapat merubah
formating value termasuk font, color dan column width.

Gambar 2.54 Properties grid menu

2.6.7 Viewing many-to-many hierarchy

Sejauh ini kita telah membahas hierarchy,setiap child pada hierarchy memiliki satu parent, seperti setiap
product di miliki oleh satu subcategory product dan setiap satu subcategory product dimilik oleh satu
category product. Ada sebuah hierarchy yang di sebut many-to-many hierarchy, tetapi tidak pada kasus
kita diatas. Untuk memahami many-to-many hierarchy kita misalkan ada sebuah product yogurt yang
merupakan breakfast drink, jika kita kategorikan maka yogurt akan masuk ke ketagori baverage dan
breakfast. Di kategorikan sebagai baverage karena yogurt adalah sejenis minuman, tetapi juga adalah
sebagai breakfast karena yogurt di sajikan seperti camilan. Jika Adventurework menjual
yogurt,bagaimana kita menghitung aggregasinya, karena di miliki oleh 2 kategori. Kita tidak mungkin
menginputkan data tersebut sebanyak 2 kali, maka data akan tidak valid untuk di analisa.

Untuk many-to-many relationship dalam hierarchy pada dimensi, property yang sangat berguna adalah
measureexpression. Dengan menggunakan properties ini pembobotan dapat diberikan pada saat
perhitungan untuk menyelesaikan permasalahan tersebut (katakan 50:50). Angka ini akan di gunakan
menghitung bobot pada aggregation secara terpisah.
2.6.8 Performing Calculation

Dimensi dan measure dari sebuah cube akan meyediakan satu view data. Hal ini akan berguna untuk
melakukan calculation pada data. Dimensi customer terdapat last name and first name dapat kita buat
menjadi calculated member full Name yang melakukan calculation lastname+’ – ‘+ Firstname. Proces
calculation dapat di lakukan pada member dari dimensi atau pada measures.

Calculation berupa MDX. Anda dapat dengan mudah untuk set up calculation dengan menggunakan tab
calculation pada cube designer. Misalnya kita ingin melakukan perhitungan average dari cost per
product yang terjual.anda dapat melakukan setup calculation seperti yang terlihat pada gambar 2.55
berikut.

Gambar 2.55 Menu Calculation

Anda dapat mengikut step berikut untuk membuat calculation dari average product cost per order
Cek measure Total product cost pada solution anda, jika belum tersedia anda dapat
menambahkannya dengan cara klik tab cube structure, klik measure group fact internet sales
kemudian klik new measure button , akan muncul new measure dialog box, pilih Sum
Aggregation pada kolom usage,fact internet sales pada kolom source tabel dan total product cost
pada kolom source column. Rubah format measure Total product cost menjadi currency. Kemudian
process solution.
Setelah process selesai, sekarang kita dapat membuat calculated measure average product cost per
order. Pilih tab calculation, klik kanan pada window script organizer dan pilih New calculated
member. Tampilan akan seperti yang anda lihat pada gambar 2.55.
Pada name text box, isi caption [Average Product cost Per-Order]. Anda perlu menambahkan kurung
“* +” sebagai operator.
Secara default, measure parent hierarchy sudah terpilih. Misalnya calculation di butukan untuk
membuat full name maka kita harus memilih DimCustomer karena dimensi customer adalah sebagai
parenynya, sedangkan calculation berupa measure maka anda harus pilih measure sebagai parent
hierarchy.
Dari window calculation tool, pilih tab metadata dan expand measure group fact internet sales.
Dari list measure yang di tampilkan pada measure group fact internet sales drag measure Total
product cost dan letakkan pada box expression pada window calculation.
Tambahkan operator /
Dari list measure group fact internet sales drag measure Order quantity dan letakan pada box
expression pada window calculation setelah operator /
Dari box format string, rubah menjadi “currency”

Kemudian anda perlu deploy solution untuk perubahan ini. Setelah anda selesai mendeploy perubahan
maka calculation member akan terdapat pada calculation tool → Metadata di bawa parent yang sesuai.
Misalnya Average Product Cost per Order akan tampil di bawah measures karena measures sebagai
parent pada calculation ini.

Anda dapat menggunakan calculation member untuk membuat calculation member yang lain dan juga
dapat di gunakan untuk membuat KPI.

2.6.8.1 Using Function

Sebagai tambahan untuk operator,window calculation mendukung semua function yang terdapat pada
MDX. Fungsi ini dapat di akses menggunakan tab function pada window calculation tool seperti yang
terlihat pada gambar 2.56 berikut. Anda dapat drag function dari tab function dan meletakknya di box
expression.
Gambar 2.56 Function dari calculation

2.6.8.2 Using Template

Window calculation tool terdapat satu tab lagi, yaitu template. Tab ini menyediakan banyak template
untuk kalkulasi standar yand dapat berupa analytics, Budgeting, Financial, Forecasting, internet dan
timeseries. Topik internet dapat berupa rata-rata page di akses, jumlah visitors, download over time
dan lainnya. Ketika anda sudah memilih template, kemudian double klik pada template name. Misalnya
anda pilih financial → Net Income , maka pada expression akan muncul script berikut.

<<Gross Profit>> - (<<Operating Expenses>> + <<Tax Expense>> + <<Interest>>+ <<Depreciation>>)

Ini adalah contoh template yang sederhana. Seorang developer harus mengisi member dari dimensi dan
measure yang di gunakan untuk membuat calculation member. Seperti gross profit, operating expense,
tax expense, interest, dan depreciation.

2.6.8.3 Scripting with MDX

Tab calculation pada cube designer menyembunyikan kegunaan yang sangat besar untuk melakukan
perhitungan yang complex dengan menggunakan MDX. Script MDX di gunakan untuk mempopulate
sebuat cube dengan calculation. Pada kenyataannya adalah MDX Script merupakan bagian dari cube,
sama seperti dimension dan measures.

Sebagai bahasa script, MDX di tuliskan sebagai scripting statement (seperti CALCULATE, CASE, FREEZE,
dan IF), Data defenition statements (CREATE CUBE, ALTER CUBE, CREATE SET, CREATE DIMENSION,
CREATE MEMBER, dsb). MDX juga mengexpose operator (mathematical, comparative, boolean, dan join
manipulation) dan function yang dapat melakukan manipulasi medatada, set operation, statistical
computation, date/time computation, string manipulation dan sebagainya. Seperti yang anda lihat
sebelumnya anda dapat menggunakan function melalui tab function pada window calculation tool.

Jika anda ingin melihat script MDX dari sebuat calculation, klik script view pada toolbar di tab
calculation. Ketika ande memilih script view untuk calculate measure average product cost per order
anda akan melihat script berikut.

CREATE MEMBER CURRENTCUBE.[Measures].[Average Product cost per Oder]

AS [Measures].[Total Product Cost]/[Measures].[Order Quantity],

FORMAT_STRING = "Currency",

VISIBLE = 1 ;

Script MDX ini mengandung 2 statement


Calculate : akan melakukan kalkulasi dari subcube atau memutuskan bagaimana dimensi dari
subcube akan di kalkulasi
Create Member : Perintah Data Defenition pada MDX untuk membuat calculated member.
Untuk mengembalikan user interface seperti semula, klik icon form view.

2.6.9 Working with Key Performance Indicators

KPI adalah sesuatu nilai yang dapat di hitung ( seperti strong buy, strong sell) yang digunakan untuk
menilai business performance. Dari Analysis Services, KPI di buat dengan menggunakan MDX Statement.
Perhitungan ini merupakan gabungan dari informasi tambahan yang menandakan bagaimana sebuah
nilai akan di tampilkan. Ketika hasil perhitungan menandakan bahwa actual sudah melebihi target maka
pada tampilan akan menunjukkan termometer warna merah. KPI adalah server side object, ini berarti
bahwa seorang developer web pada sebuat perusahaan yang menggunakan C# atau ASP.Net akan
mendapatkan tampilan termometer yang sama pada semua report company.

Di dalam project Analysis services, anda dapat menggunakan KPI dengan memilih cube designer
kemudia pilih tab KPI.

2.6.10 Creating KPIs

Untuk membuat KPI baru, klik icon New KPI pada window toolbar KPI, anda akan melihat KPI designer
pada gambar 2.57 berikut.

Gambar 2.57 KPI Designer


KPI memiliki sedikitnya dua nilai yaitu value dan goal. Kita menggunakan MDX untuk membuat
expressionnya. Value dari expression adalah sebuah physical measure, sedangkan goal dari expression
adalah objective. Untuk contoh kita akan mendefenisikan value expression sebagai profitability. Buat
satu calculated measures pada tab calculation dengan nama profitabilty dengan expression sebagai
berikut

([Measures].[Sales Amount]-[Measures].[Total Product Cost])

[Measures].[Sales Amount]

Seperti tab calculation, tab KPIs memiliki window calculation tool. Kita dapat drag measure sales amount
dan total product cost dari window calculation tool ke box value expression. Jika cost sama dengan nilai
amount sales maka tidak ada profit (0% profit), jika cost sama dengan no maka profit 100 %. Berikan
nilai Goal dari expression dengan nilai 0.80, ini berarti cost tidak melebihi 20 % dari sale.

BIDS meyediakan graphical status seperti traffic light, gauge, thermometer, dan faces dengan ekspresi
wajah. Setiap graphic gauge memiliki range -1 sampai 1. Expression status akan memberikan nilai yang
di gunakan oleh graphic status untuk di tampilkan sebagai KPI. Dengan meberikian nilai dengan range -1
sampai 1. Script CASE pada MDX merupakan statement yang tepat, ini seperti case pada sql standard.
Contoh dari status expression adalh sebagai berikut.

CASE

WHEN /* 60% looking good so 1 */

((([Measures].[Sales Amount] - [Measures].[Total Product Cost])

/ [Measures].[Sales Amount])> 0.60) THEN 1

WHEN /* between 30 and 60 percent profit, okay but not great so zero */

((([Measures].[Sales Amount] - [Measures].[Total Product Cost])

/ [Measures].[Sales Amount])> 0.30) THEN 0

WHEN /* between 10 and 30 percent profit, okay but not great so -0.5 */

((([Measures].[Sales Amount] - [Measures].[Total Product Cost])

/ [Measures].[Sales Amount])> 0.10) THEN -0.5

ELSE -1 /* less 10% or less profit or maybe even a loss so -1 */

END

Comment dari script di atas menjelaskan setiap clausa WHEN, seperti 60 persent maka dapat di katakan
profit baik sedangkan 10 % profit sangat buruk.
Tambahan measures yang sanga berguna pada KPI adalah trend. Trend expression menggambarkan
kondisi sekrang dari value expression di bandingkan dengan goal expression. Pada contoh kali ini kita
akan membandingkan nilai sekarang dengan nilai kondisi sebelumnya sebagai trend. Contoh script
sebagai berikut.

CASE

WHEN

([Measures].[Sales Amount] - [Measures].[Total Product Cost]) >

(([Dim Time].[Calendar].PrevMember, [Measures].[Sales Amount]) -

([Dim Time].[Calendar].PrevMember, [Measures].[Total Product Cost]))

THEN 1

ELSE -1

END

Anda dapt melihat konfigurasi KPI pada gambar 2.58 dan gambar 2.59 berikut.

Gambar 2.58 KPI untuk productivity


Gambar 2.59 KPI untuk productivity lanjutan

2.6.10.1 Browsing KPI

Pada KPI tab terdapat icon browser KPI pada toolbar. Klik icon ini sehingga anda dapat melihat status
KPI dan dapat melakukan filter untuk KPI. Pada gambar 2.60 berikut anda dapat melihat KPI dari
profitability.

Gambar 2.60 Tampilan KPI Browser

Anda dapat melihat status menunjukkan sad face, yang menunjukkan profitability tidak mencapai goal
yang diinginkan. Trend menunjukan panah ke atas (kita dapat lebih profitable).
2.6.7 Viewing ASSL

Cara terbaik untuk melihat ASSL script dapat anda lakukan dengan cara klik kanan object pada solution
explorer kemudian view code. Misalnya anda ingin melihat ASSL code pada object DSV, klik kanan DSV,
pilih view code seperti terlihat pada Gambar 2.61 berikut.

Gambar 2.61 ASSL Script

2.6.8 Dimension Usage

Tab Dimensi usage di gunakan untuk melakukan konfigurasi relational antara dimensi dengan measure
group. Tipe Relationship terdiri dari
No Relationship, Tidak ada relasi antara Dimensi dengan Measure Group
Regular, dimensi dengan measure group berelasi secara langsung
Fact, Attribute pada Fact table di jadikan attribut dimensi sehingga fact tabel di jadikan dimensi
Referenced, dimensi dengan measure group tidak berelasi secara langsung, melainkan melalui
dimensi lain.
Many-to-many, relasi antara dimensi dengan fact tabel melalui fact table lainnya, fact tabel ini
merupakan mapping antara beberapa dimensi untuk berelasi dengan dimensi yang lain.
DataMining, Target dimensi berdasarkan pada datamining model
Gambar 2.62 Relationship design

2.7 Access Cube Data using Excell


MS excell 2007 dapat sebagai frontend untuk mengakses data dari cube yang telah kita buat. Anda
dapat melakukannya dengan mengikuti langkah berikut
Buka applikasi Excell, pada tab data pilih menu from other source dan pilih koneksi from
Analysis Services.
Gambar 2.63 Menu Koneksi ke cube dari excel

Pilih Host Server dari Analysis Services kemudian klik next


Pada menu selanjutnya anda akan di minta untuk memilih OLAP Database dan name cube.
Klik next
Pada menu selanjutnya isikan nama file conection .odc, kemudian finish. And akan di minta
untuk memilih view untuk menampilkan data dari cube, kemudian OK.View akan tampak
seperti pada Gambar 2.64 berikut.
Gambar 2.64 Excell Cube Browsing
Pada window PivotTable Field List anda dapat melakukan drag and drop object. Drag
measure sales amount dan order quantity ke kolom value, hierarchy calendar pada dimensi
time ke kolom report filter dan hierarchy product pada DimProduct pada kolom Row Labels,
seperti terlihat pada gambar 2.65 berikut.
Gambar 2.65 Tampilan data cube di Excel
Bab 3

SQL Server 2008 Data Mining

3.1 Pendahuluan
Hampir setiap perusahaan memiliki aplikasi yang mencatat kegiatan transaksi harian ke dalam database.
Setelah beberapa waktu berjalan, terkumpul ratusan ribu bahkan jutaan data transaksi di dalam
database. Data transaksi tersebut merupakan history pasang surut perusahaan yang perlu diolah
menjadi sebuah informasi yang membantu pihak manajemen mengambil keputusan strategis secara
lebih akurat. Bagaimana informasi tersebut bisa didapatkan dari hasil analisa data? Kuncinya adalah
penarikan pola data dengan mempelajari sampel data yang diberikan untuk menjawab kebutuhan
informasi strategis perusahaan. Bermodalkan pola tersebut, sebuah organisasi dapat mengetahui
probabilitas apakah suatu tujuan akan tercapai dengan melihat parameter-parameter input yang telah
ditetapkan, misalnya seberapa besar kecenderungan seorang customer memarkir kendaraannya (kurang
dari 1 jam, 2 jam, 3 jam, lebih dari 3 jam) bila seorang customer memiliki 2 kendaraan, memiliki 1 anak,
berbelanja lebih dari 10 jenis barang serta customer tersebut tinggal lebih dari 10 kilometer. Sehingga
organisasi tersebut dapat memperkirakan pemasukan dari jasa parkir kendaraan bermotor.

3.2 Jenis Tugas Dasar pada Data Mining


Setelah mengetahui faedah data mining, kita perlu mengenali bentuk tugas dasar data mining dalam
melakukan pengolahan data menjadi informasi. Pada hakekatnya, tugas dasar yang bisa dilakukan oleh
data mining ada 6 yaitu :
1. Klasifikasi
2. Regresi
3. Segmentasi
4. Asosiasi
5. Analisa urutan

Mari kita tinjau setiap tugas dasar yang terdapat pada data mining.

3.2.1 Klasifikasi

Bentuk tugas dasar ini adalah dengan menentukan pengelompokan informasi akhir yang hendak
didapatkan. Misalnya klasifikasi customer yang berpotensi memiliki kredit macet dan kredit lancar.
Biasanya di dalam sumber data terdapat atribut yang menjadi tujuan klasifikasi. Atribut tujuan biasanya
merupakan kolom dari sebuah tabel atau dimensi di dalam Analysis Service. Kemudian klasifikasi
membutuhkan juga atribut-atribut lain yang memiliki pengaruh signifikan terhadap atribut tujuan. Saya
sebut atribut demikian sebagai atribut pendukung. Dalam contoh kredit macet/lancer, atribut-atribut
pendukung (yang tentu saja terdapat di dalam database) adalah tanggal pelunasan setiap periode,
tanggal jatuh tempo tiap periode, lama kredit yang diberikan, besar kredit yang diberikan, besar bunga
kredit, besar aset yang diagunkan dan indikator-indikator lainnya. Dengan data-data yang tersedia, data
mining dapat memberikan petunjuk kepada pengguna data mining apakah sebaiknya mencucurkan
kredit kepada seorang customer.

Kelihatannya sederhana, namun dengan jumlah data yang besar dan jumlah atribut pendukung yang
banyak, klasifikasi secara manual menjadi tidak mudah dibandingkan pengolahan secara efisien dan
akurat oleh data mining SQL Server.

3.2.2 Regresi

Jenis tugas dasar ini hampir sama dengan jenis tugas dasar klasifikasi. Perbedaan antara keduanya
adalah regresi memberikan hasil yang tidak terbatas sedangkan klasifikasi memberikan hasil yang diskrit
(terbatas kemungkinan yang ada – ingat contoh customer berpotensi kredit macet atau kredit lancar?
Berarti ada 2 jenis kemungkinan dari hasil probabilitas).

Contoh dari regresi adalah kebutuhan perusahaan untuk melakukan estimasi nilai sales pada tahun
depan berdasarkan analisa trend sales tahun-tahun sebelumnya. Katakanlah nilai tahun lalu sebesar 100
juta rupiah, tahun ini sebesar 120 juta rupiah, mungkin hasilnya bisa naik atau bisa turun. Kemungkinan
hasil probablitas tidak terbatas hanya 100 juta ataupun 200 juta rupiah.

3.2.3 Segmentasi

Segmentasi adalah bentuk tugas dasar data mining yang memilah data-data ke dalam beberapa
kelompok. Masing-masing kelompok memiliki karakteristik atribut yang sama. Contoh segmentasi
adalah analisa pendekatan calon klien oleh sebuah perusahaan jasa untuk aktivitas sales dan marketing.
Calon klien adalah dipilah berdasarkan 3 kelompok klien yaitu klien kecil dengan jumlah karyawan
kurang dari 100 orang, klien menengah dengan jumlah karyawan 101 sampai dengan 500 dan klien
berskala besar dengan jumlah karyawan di atas 500. Masing-masing kelompok memiliki rentang
penghasilan perusahaan yang serupa, cakupan kebutuhan yang serupa, dan lain sebagainya.

SQL Server 2008 akan membantu memilihkan atribut yang menjadi segmentasi setelah menganalisa
data yang ada.

3.2.4 Asosiasi

Asosiasi adalah bentuk tugas dasar yang mencari keterkaitan antara satu item dengan item lainnya pada
atribut yang sama, sehingga asosiasi dapat juga disebut keterkaitan. Item-item yang terkait satu sama
lain dapat dipandang sebagai satu kesatuan unit.

Contoh asosiasi adalah apabila seorang customer membeli buku SQL Server Analysis Service 2008
kemungkinan besar dia juga akan memerlukan buku SQL Server Reporting Services 2008 sehingga
dengan mengetahui keterkaitan antara keduanya; seorang sales dapat menawarkan buku Reporting
Services tersebut kepada customer.
Keterkaitan tidak selalu melibatkan 2 item, sangat mungkin keterkaitan melibatkan lebih dari 2 item,
sebagai contoh bila item A dan item B merupakan satu kesatuan unit, probabilitas yang besar terjadi bila
item C juga masuk ke dalam kesatuan unit tersebut karena item A, B dan C memiliki keterkaitan satu
dengan lainnya.

3.2.5 Sequence Analysis

Sequence analysis akan menampilkan pola persinggahan data dari satu node ke node lainnya. Contoh
yang paling menggambarkan teknik sequence analysis adalah pola navigasi user pada sebuah website
dimana setelah user mengakses web page A, lebih besar probabilitas user akan mengunjungi web page
B ketimbang web page C.

Agar data mining dapat memprediksi pola akses berbasis sequence analysis, diperlukan data-data
lampau untuk dipelajari pola akses untuk sequence analysis.

3.3 Langkah-langkah data mining


Untuk memanfaatkan data mining untuk mempelajari pola dari data yang dimiliki oleh suatu perusahaan
dan mampu memberikan prediksi berdasarkan pola data yang ada, maka diperlukan langkah-langkah
penentuan definisi data mining dari awal sampai dengan data mining siap untuk memberikan prediksi.
Langkah-langkah tersebut adalah :
1. Definisi permasalahan bisnis yang ingin diketahui
2. Mempersiapkan data yang menjadi sumber untuk data mining untuk dipelajari polanya.
3. Menentukan porsi data yang digunakan men-training data mining berdasarkan algoritma data mining
yang telah dibuat.
4. Validasi apakah data mining memberikan prediksi yang akurat.
5. Data mining dideploy ke analysis server.

3.3.1 Definisi masalah

Langkah pertama dalam pembuatan data mining adalah definisi permasalahan bisnis yang ingin dijawab,
misalnya ingin mengetahui apakah seorang customer berpotensi memiliki kredit macet, atau
mengidentifikasi seorang customer apakah akan pindah ke kompetitor bisnis kita, dan lain sebagainya.

Setelah menemukan pertanyaan bisnis yang perlu dijawab oleh data mining, selanjutnya tentukan tipe
tugas dasar untuk menjawab pertanyaan bisnis tersebut. Tugas dasar yang menjadi dasar algoritma data
mining adalah klasifikasi, regresi, segmentasi, asosiasi dan sequence analysis. Dengan mengetahui tugas
dasar, anda memiliki pedoman kira-kira algoritma mana yang bisa digunakan untuk menjawab
pertanyaan bisnis.

3.3.2 Persiapan data

Setelah menentukan definisi masalah, langkah berikutnya adalah mencari data yang mendukung definisi
masalah anda. Sumber data dapat berasal dari OLTP maupun dari cube OLAP. Bila sumber data berasal
dari OLTP, sebaiknya pastikan datanya telah konsisten. Bila belum konsisten, SSIS bisa digunakan untuk
melakukan cleansing data sampai data tersebut konsisten.

3.3.3 Pelatihan data untuk algoritma data mining

Setelah persiapan data selesai dilakukan, langkah berikutnya adalah memberikan sebagian data kedalam
algoritma data mining. Algoritma data mining perlu mempelajari pola data yang diberikan guna menarik
informasi dan trend dari data tersebut. Istilah itu dikenal dengan sebutan training data mining.

3.3.4 Validasi algoritma data mining

Setelah training data selesai dilakukan, data mining tersebut perlu di-“uji” atau di-validasi
keakuratannya terhadap data testing. Biasanya tidak hanya 1 algoritma data mining yang
diimplementasikan ke dalam suatu data mining. Berarti data yang dipersiapkan pada sub bab 3.3.2
mengandung data yang digunakan untuk training dan data yang digunakan untuk testing. Pemilihan data
training dan data testing dapat dilakukan secara manual ataupun secara acak oleh SQL Server.

3.3.5 Deploy aplikasi data mining

Setelah algoritma data mining berhasil melalui proses validasi, data mining di-deploy ke analysis
services. Data mining siap menjawab pertanyaan bisnis lewat tool front-end (seperti reporting services,
Microsoft Excel dan lain sebagainya) ataupun bahasa SQL khusus untuk data mining yang disebut query
DMX (Data Mining Extensions) yang akan dibahas pada sub bab selanjutnya.

3.4 Jenis Algoritma Data Mining


SQL Server 2008 memiliki 9 jenis algoritma data mining. Tidak semua algoritma tersebut digunakan
dalam memecahkan masalah data mining karena setiap algoritma memiliki karakteristik yang mungkin
cocok dengan karakteristik masalah yang perlu dicarikan solusi di dalam data mining.

9 jenis data mining tersebut adalah :


1. Microsoft Decision Tree
2. Microsoft Linear Regression
3. Microsoft Naïve Bayes
4. Microsoft Clustering
5. Microsoft Association Rules
6. Microsoft Sequence Clustering
7. Microsoft Time Series
8. Microsoft Neutral Network
9. Microsoft Logistic Regression Algorithm.

Sebelum kita telusuri karakteristik setiap algoritma pada sub bab berikutnya terlebih dahulu pastikan
database AdventureWorksDW2008 beserta project analysis service telah dideploy ke SQL Server. Untuk
deploy database keluarga AdventureWorks, silahkan ikuti langkah-langkah pada Appendix A. Untuk
deploy solusi sample analysis service AdventureWorksDW2008, silahkan ikuti langkah-langkah pada
Appendix B.

3.4.1 Microsoft Decision Tree

Microsoft Decision Tree memberikan prediksi dalam bentuk struktur pohon (tree). Untuk lebih jelasnya,
silahkan buka project Adventure Works DW 2008 yang dijabarkan pada appendix B. Di panel window
Solution Explorer, expand folder Mining Structures dan double click Targeted Mailing.dmm yang akan
memunculkan designer Targeted Mailing.dmm. Pilih tab ketiga (Mining Model Viewer) di dalam designer
tersebut. Pastikan TM Decision Tree terpilih untuk combo box Mining Model dan Microsoft Tree Viewer
terpilih untuk combo box Viewer. Secara default 3 level (di bagian Default Expression) akan ditampilkan
di Microsoft Tree Viewer. Lalu Expand sesuai dengan Gambar 3.4.1.

Gambar 3.1 Algoritma Microsoft Decision Tree

Tree diatas memberikan informasi mengenai kecenderungan seorang customer yang membeli sepeda
(Bike Buyer) berdasarkan analisa atribut (Number Cars Owned, Region, Total Children). Dimana nilainya
adalah 0 atau 1. Nilai 0 berarti seorang customer yang tidak membeli sepeda sedangkan nilai 1 berarti
seorang customer yang membeli sepeda. Pada Gambar 3.4.1 juga terlihat window Mining Legend yang
memperlihatkan BikeBuyer dengan nilai 1 diwakili dengan warna merah.
Berdasarkan gambar 3.4.1, kita melihat bahwasanya terdapat 4 level dimana level kedua adalah Number
Cars Owned yang menentukan apakah seorang customer merupakan BikeBuyer. Level berikutnya
ditentukan oleh atribut Region dan level terakhir ditentukan oleh atribut Total Children. Untuk level
kedua (Number Cars Owned) persentase BikeBuyer = 1 terbesar jatuh pada Number Cars Owned = 0
dengan persentase 63.99%. Anda bisa temukan nilai ini lewat window mining legend. Untuk level ketiga
(Region) persentase BikeBuyer = 1 terbesar jatuh pada Region Pacific dengan nilai 91.68%. Untuk level
keempat (atribut Total Children) persentase BikeBuyer = 1 terbesar jatuh pada Total Children not = 4
dengan persentase 94.37%.

Informasi yang bisa ditarik dari Decision Tree diatas adalah customer paling potensial BikeBuyer adalah
yang tidak memiliki kendaraan (Number Cars Owned = 0), berada pada region Pacific dan tidak memiliki
4 orang anak. Dengan demikian bagian marketing perusahaan tersebut bisa menargetkan secara lebih
terarah aktivitas marketingnya.

Tab Mining Model Viewer memiliki 2 sub tab yaitu tab Decision Tree dan tab Dependency Network.
Gambar 3.4.1 terdapat pada tab Decision Tree. Mari kita lihat informasi yang bisa ditampilkan di dalam
tab Dependency Network di dalam Gambar 3.4.2.
Gambar 3.2 Dependency Network untuk Algoritma Microsoft Decision Tree

Gambar 3.4.2 menampilkan semua atribut dalam bentuk node yang terarah ke satu node yaitu
BikeBuyer. Arah panah tersebut menunjukkan BikeBuyer sebagai atribut yang menjadi target prediksi
sedangkan asal arah panah menunjukkan atribut yang berperan dalam memprediksi atribut BikeBuyer.

Pilih satu satu atribut yang berkontribusi dalam meramalkan atribut BikeBuyer (misalnya atribut Region)
seperti pada Gambar 3.4.3

Gambar 3.3 Hubungan Atribut Region terhadap Atribut BikeBuyer

Terlihat 2 warna yang berbeda. Atribut Region bewarna hijau sedangkan atribut BikeBuyer berwarna
biru. Apa arti warna-warna tersebut. Dari keterangan warna di Gambar 3.4.3 memberikan penjelasan
sebagai berikut :

= Atribut yang sedang di click (atribut Region pada Gambar 3.4.3).

= Atribut yang sedang di click (atribut Region pada Gambar 3.4.3)


memprediksi node target (atribut BikeBuyer pada Gambar 3.4.3).

Berikutnya coba click node BikeBuyer yang menjadi atribut yang diprediksi seperti pada Gambar 3.4.4.
Gambar 3.4 Hubungan Atribut BikeBuyer terhadap Semua Atribut yang Mengkontribusi Prediksi

Terdapat warna hijau karena focus yang di-click adalah atribut BikeBuyer dan warna merah yang
dijelaskan pada bagian keterangan warna pada Gambar 3.4.4.

= Atribut yang menentukan prediksi pada node yang sedang dipilih


(atribut kBikeBuyer)

Ada satu keterangan warna yaitu warna ungu, , yaitu node tersebut bisa menjadi
atribut yang memiliki kontribusi prediksi terhadap atribut lain namun sekaligus menjadi atribut yang
menjadi target prediksi dari atribut lain.

Di bagian kiri terdapat slider, yang menampilkan tingkat keterkaitan antara atribut yang menjadi target
prediksi (atribut BikeBuyer) dengan atribut yang menyumbang prediksi. Terdapat tulisan All Links di
bagian atas slider dan tulisan Strongest Links pada bagian bawah slider. Anda bisa menggeser slider
tersebut di antara kedua titik ekstrim tersebut. Sisi ekstrim bagian atas (All Links) pada slider tersebut
akan menampilkan panah semua atribut yang menyumbang prediksi, sedangkan sisi ekstrim bagian
bawah (Strongest Links) akan menampilkan panah hanya ada atribut yang memiliki kontribusi prediksi
terkuat dari semua atribut yang memberikan kontribusi kepada atribut target prediksi. Coba anda geser-
geser slider tersebut antara kedua titik ekstrim atas dan bawah untuk memperjelas pemahaman anda
mengenai informasi yang ditampilkan di tab Dependency Network .
Bentuk tugas dasar yang dilakukan oleh algoritma ini adalah tugas dasar klasifikasi (sub bab 3.2.1).
Namun algoritma ini bisa juga diterapkan untuk tugas dasar regresi (sub bab 3.2.2) dan asosiasi (sub bab
3.2.4).

3.4.2 Microsoft Linear Regression

Algoritma ini merupakan turunan dari algoritma Decision Tree. Bila di bahasa indonesiakan adalah
regresi linier. Di dalam dunia statistik, regresi linier melibatkan 2 jenis variabel numerik yaitu variabel
independen dan variabel non-independen. Variabel-variabel tersebut harus bertipe numerik dan
continuous (tidak diskrit, sedangkan Microsoft Decision Tree bersifat diskrit). Ilustrasi selengkapnya bisa
dilihat pada Gambar 3.4.2.

Gambar 3.5

Algoritma Microsoft Linear Regression

Dari Gambar 3.4.2, bisa diprediksi nilai variabel non-independen pada sumbu Y bila diketahui nilai
variabel independen pada sumbu X.

Bentuk tugas dasar yang dilakukan oleh algoritma ini adalah tugas dasar regresi.

3.4.3 Microsoft Naïve Bayes

Algoritma Naïve Bayes akan mengevaluasi setiap atribut yang mengkontribusi prediksi pada atribut
target (atribut BikeBayer pada solusi AdventureWorks DW 2008). Namun Algoritma Naïve Bayes tidak
memperhitungkan relasi antar atribut-atribut kontributor prediksi (Number Children at Home, Yearly
Income, Total Children, Occupation, Commute Distance, Number Cars Owned, Education, Age, Marital
Status, House Owner Flag, Region). Sebaliknya Microsoft Decision Tree memperhitungkan relasi antar
atribut (lihat kembali Gambar 3.4.1).

Bentuk tugas dasar yang dilakukan oleh algoritma Naïve Bayes adalah hanyalah klasifikasi.
Kembali kepada Gambar 3.4.1, pilih TM Naïve Bayes pada combo box Mining Model dan Microsoft Naïve
Bayes Viewer pada combo box Viewer. Anda akan dihadirkan dengan 4 sub tab (Dependency Network,
Atribut Profile, Atribut Characteristics, Atribut Discrimination) seperti pada Gambar 3.4.6 di bawah ini :

Gambar 3.6 Tampilan 4 Sub Tab pada Algoritma Naïve Bayes

Penggunaan dan intrepetasi informasi di bagian sub tab Dependency Network telah diulas pada sub bab
3.4.1. Mari tinjau ketiga sub tab lainnya.
3.4.3.1 Attribute Profiles

Gambar 3.7 Tampilan Sub Tab Attribute Profiles

Sub tab attribute profiles menampilkan atribut kontributor prediksi yang bisa dilihat pada kolom
Attributes, namun itu tergantung pilihan yang muncul pada combo box Predictable (dalam solusi ini
hanya terdapat 1 atribut yang diprediksi yaitu atribut BikeBuyer). Terdapat pengelompokan untuk tiap
atribut kontributor prediksi seperti atribut Age memiliki 5 buah pengelompokan, atribut Marital Status
memiliki 3 buah pengelompokan dan seterusnya. Mari kita lihat salah satu atribut kontributor prediksi,
yaitu atribut Age. Kita ingin melihat distribusi kelompok umur yang memiliki nilai BikeBuyer = 1 (penulis
meng-click kolom 1 (kolom kelima dari kiri) dan pastikan centang check box “Show legend”). Dari
window Mining Legend terlihat kelompok umur 41-48 memiliki proporsi terbesar dalam pembelian
sepeda (BikeBuyer = 1).

3.4.3.2 Attribute Characteristics

Informasi yang ditampilkan pada sub tab Attribute Characteristics ini adalah menampilkan semua atribut
pendukung prediksi yang mungkin muncul pada atribut prediksi (BikeBuyer). Informasi yang ditampilkan
oleh sub tab ini dapat dilihat pada Gambar 3.8.
Gambar 3.8 Tampilan Sub Tab Attribute Characteristics

Pada Gambar 3.8, pastikan atribut BikeBuyer terpilih pada combo box Attribute dan nilai yang ingin
diprediksi adalah 1 pada combo box Value. Terlihat bahwa Number Children At Home = 0 memiliki
probabliitas yang terbesar yang mungkin muncul untuk atribut BikeBuyer = 1. Attribute Characteristics
akan menampilkan atribut pendukung prediksi dari probabilitas terbesar (atribut Number Children at
Home dengan nilai 0) sampai dengan probabilitas terkecil (atribut Age 70-75, scroll down ke bawah
karena tidak terlihat di Gambar 3.8).

3.4.3.3 Attribute Discrimination

Informasi yang ditampilkan pada sub tab Attribute Discrimination ini adalah kecenderungan nilai
attribute pendukung prediksi terhadap nilai atribut target prediksi (dalam sampel ini adalah atribut
BikeBuyer yang memiliki nilai atribut 0 dan 1). Gambar 3.9 menunjukkan atribut pendukung prediksi
berdasarkan input yang diberikan (pilih atribut BikeBuyer pada combo box Attribute, nilai 1 untuk
combo box Value 1, nilai 0 untuk combo box Value 2).
Gambar 3.9 Tampilan Sub Tab Attribute Discrimination

Kembali urutan atribut kontributor prediksi yang ditampilkan berdasarkan besar kontribusi prediksi
terhadap atribut BikeBuyer. Dari Gambar 3.9 terlihat bahwa customer dengan Number Cars Owned = 0
(tanpa kepemilikan mobil) sangat berpeluang membeli sepeda (BikeBuyer = 1), dimana detilnya bisa
dilihat pada window Mining Legend setelah di-click pada row pertama. Namun terlihat informasi juga
bahwa customer yang memiliki 2 kendaraan (Number Cars Owned = 2) sangat berpeluang tidak membeli
sepeda. Semakin kebawah besar probabilitas atribut semakin kecil.

Sehingga dapat dikatakan bahwa Attribute Discrimination akan menampilkan besar peluang dari atribut
kontributor prediksi baik yang mendukung prediksi yang diharapkan (BikeBuyer = 1) maupun prediksi
yang tidak diharapkan (BikeBuyer = 0).

3.4.4 Microsoft Clustering

Algoritma Microsoft Clustering ini akan membuat beberapa cluster data dan cluster data tersebut
terhubung satu dengan lainnya. Setelah cluster tersebut terbentuk dan meneria input atribut yang akan
diprediksi beserta nilainya (misal : BikeBuyer = 1), algoritma ini akan menganalisa setiap cluster
berdasarkan input yang diterima dan akan menampilkan atribut kontributor prediksi yang paling
mempengaruhi dari setiap cluster.

Masih di dalam data mining model Targeted Mailing.dmm, pilih tab Mining Model Viewer, pilih TM
Clustering pada combo box Mining Model dan pastikan Microsoft Cluster Viewer terpilih di combo box
Viewer. Terdapat 4 sub tab untuk Microsoft Clustering yaitu Cluster Diagram, Cluster Profiles, Cluster
Characteristics, dan Cluster Discrimination. Gambar 3.10 menampilkan apa yang muncul ketika kita
melakukan langkah-langkah yang telah dijabarkan sebelumnya.
Gambar 3.10 Tampilan Cluster Diagram Algoritma Microsoft Clustering

Bentuk tugas dasar yang dilakukan oleh algoritma Clustering adalah hanyalah segmentasi, namun
mencakup pula tugas dasar regresi dan klasifikasi.

Mari kita bahas lebih lanjut setiap sub tab pada sub bab di bawah ini.

3.4.4.1 Cluster Diagram

Cluster Diagram menampilkan informasi karakteristik setiap cluster ketika user memilih atribut yang
hendak dianalisa misalnya BikeBuyer=1. Kemudian pilih BikeBayer di dalam combo box Shading Variable
dan pilih nilai 1 pada combo box State. Hasilnya terlihat pada gambar 3.10. Makin gelap warna suatu
cluster, makin mendominasi nilai atribut BikeBuyer = 1. Click kanan pada Cluster 3 dan pilih Rename
Cluster pada context menu, namakan BikeBuyer = 1. Hasilnya ditampilkan seperti pada gambar 3.11.
Gambar 3.11 Hasil Tampilan Clustering Setelah Rename

Berikutnya kita masuk ke sub tab kedua, Cluster Profiles.

3.4.4.2 Cluster Profiles

Hampir serupa dengan fungsi pada sub tab Attribute Profiles di Algoritma Naïve Bayes, dimana kita bisa
melihat distribusi nilai setiap kelompok yang ada pada setiap atribut. Perbedaannya adalah attribute
profiles di Naïve Bayes menampilkan nilai atribut yang diprediksi (nilai missing, 0, dan 1), sebaliknya
cluster profiles di Microsoft Clustering menampilkan semua cluster yang ada di Cluster Diagram.
Selengkapnya bisa bandingkan gambar 3.12 (Microsoft Clustering) dengan gambar 3.7 (Microsoft Naïve
Bayes).
Gambar 3.12 Distribusi Nilai Setiap Atribut Pada Cluster BikeBuyer = 1

Di dalam cluster BikeBuyer = 1, kita bisa melihat karakteristik setiap kelompok untuk setiap atribut.

3.4.4.3 Cluster Characteristics

Cluster Characteristics memiliki fungsi yang sama seperti pada Attribute Characteristics di pembahasan
Microsoft Naïve Bayes. Perbedaannya adalah analisa karakteristik terhadap cluster seperti yang terlihat
pada gambar 3.13.
Gambar 3.13 Cluster Characteristics pada Cluster : BikerBuyer = 1

3.4.4.4 Cluster Discrimination

Fungsi Cluster Discrimination pada algoritma Microsoft Clustering sama seperti Attribute Discrimination
pada algoritma Microsoft Naïve Bayes. Bila kita amati di gambar 3.14, Cluster Discrimination akan
membandingkan nilai atribut yang paling membedakan antara cluster pertama (cluster BikeBuyer = 1)
dan cluster kedua (cluster 1).
Gambar 3.14 Cluster Discrimination antara Cluster BikeBuyer = 1 dan Cluster 1

Cluster Discrimination dapat membandingkan semua cluster selain cluster yang kita pilih pada combo
box Cluster 1. Misalnya pada combo box Cluster 1 dipilih cluster BikeBuyer =1 maka pada combo box
Cluster 2 tersedia pilihan Complement of BikeBuyer = 1 (semua cluster selain cluster BikeBuyer = 1).

3.4.5 Microsoft Association Rules

Microsoft Association Rules merupakan implementasi terhadap tugas dasar asosiasi. Lebih lanjut
asosiasi ini melibatkan 2 atau lebih item yang saling berasosiasi. Arah asosiasi pun terdiri atas 2
kemungkinan, asosiasi 1 arah atau asosiasi 2 arah. Item baik yang berdiri sendiri maupun berpasangan
dengan item lainnya dinamakan itemset.

Contoh 2 itemset yang memiliki asosiasi 1 arah adalah item notebook dan item tas notebook, bila
seorang customer membeli notebook maka kemungkinan besar juga menghendaki tas notebook, namun
belum tentu kemungkinan yang sama terjadi sebaliknya (membeli tas notebook belum tentu
menghendaki notebook juga).

Sedangkan 2 itemset yang memiliki asosiasi 2 arah adalah pembelian buku business intelligence
kemungkinan juga tertarik dengan buku reporting services atau sebaliknya.

Bentuk tugas dasar yang dilakukan oleh algoritma Association Rule adalah asosiasi.
Contoh penerapan asosiasi bisa ditemui pada mining model Market Basket.dmm di solusi analysis
services AdventureWorks DW 2008 seperti yang terlihat pada window panel Solution Explorer di Visual
Studio (gambar 3.15).

Gambar 3.15 Contoh Association Rules pada Mining Model Market Basket

Double click pada mining model tersebut (gambar 3.15) untuk memunculkan designer mining model,
kemudian pilih tab Mining Model Viewer. Secara otomatis terpilih Association di combo box Mining
Model karena hanya 1 jenis algoritma yang diimplementasikan untuk mining model Market Basket
tersebut. Selengkapnya bisa dilihat pada gambar 3.16.
Gambar 3.16 Contoh Association Rules pada Mining Model Market Basket

Didalam tab Mining Model Viewer terdapat 3 sub tab yaitu : Rules, Itemsets, dan Dependency Network.

3.4.5.1 Itemsets

Tampilan sub tab Itemsets bisa dilihat pada gambar 3.17.

Gambar 3.17 Tampilan Sub Tab Itemsets

Terlihat kolom Itemset menampilkan deskripsi item terkait. Kolom Support menunjukkan jumlah kasus
yang melibatkan itemset terkait. Kolom Size menampilkan jumlah anggota untuk itemset tersebut.

3.4.5.2 Rules

Seperti yang terlihat di gambar 3.16, rules memberikan informasi keterkaitan antar itemset. Terdapat 3
kolom yaitu Probability, Importance dan Rule.

Kolom Probability memberikan informasi prediksi asosiasi suatu itemset dengan itemset lainnya. Bila
nilainya 1 maka yang terjadi adalah kepastian (probability = 100%).

Kolom Importance menunjukkan seberapa bergunakah rule tersebut dalam menghadirkan prediksi. Nilai
importance yang rendah menunjukkan bahwa rule tersebut tidak begitu penting dalam menentukan
prediksi.

3.4.5.3 Dependency Network

Sub tab yang ketiga adalah Dependency Network. Sama seperti gambar 3.2 (pada pembahasan
mengenai algoritma Microsoft Decision Tree), sub tab ini menunjukkan keterkaitan antar itemset
individual. Informasi mengenai asosiasi 1 arah maupun asosiasi 2 arah akan terlihat pada sub tab ini.
3.4.6 Microsoft Sequence Clustering

Algoritma Sequence Clustering ini dikembangkan oleh tim riset Microsoft. Algoritma ini merupakan
implementasi dari tugas dasar Sequence Analysis, meskipun tugas dasar segmentasi mungkin bisa
diterapkan lewat algoritma ini. Untuk mengetahui apa itu sequence analysis, silahkan membaca kembali
pada pembahasan sub bab 3.2.5.

Elemen dasar dari algoritma ini adalah node, transisi berarah (directed transition) dan probabiitas
transisi dari setiap node. Contoh kombinasi 4 node dapat dilihat pada gambar 3.18.

Gambar 3.18 Kombinasi Node, Transisi Berarah dan State Transition

Untuk node A, terdapat 4 arah menuju ke node lainnya atau bisa menuju ke diri sendiri. Probabilitas
node A transisi ke node B adalah 35% (0.35), ke node C adalah 30%, dan seterusnya. Hal yang sama
terjadi pada node B, node C dan node D.

Contoh implementasi algoritma ini dapat dijumpai pada mining model Sequence Clustering di sampel
solusi analysis services AdventureWorks DW 2008. Double click pada mining model Sequence Clustering
seperti yang ditunjukkan pada gambar 3.19.
Gambar 3.19 Mining Model Sequence Clustering

Terlihat pada gambar 3.20 terdapat 5 sub tab yaitu Cluster Diagram, Cluster Profiles, Cluster
Characteristics, Cluster Discrimination dan State Transitions. 4 sub tab pertama sama fungsinya seperti
pada sub tab di Microsoft Clustering. 1 sub tab yang spesifik untuk algoritma Sequence Clustering yaitu
sub tab State Transitions.
Gambar 3.20 Designer Algoritma Sequence Clustering

Pilih sub tab State Transitions, pilih node Water Bottle dan naikkan slider sampai ke All Links seperti
terlihat pada gambar 3.21.
Gambar 3.21 State Transitions pada Node Bottle Water

Terlihat nilai probabilitas transisi dari nodeWater Bottle ke node yang lain maupun ke node Water Bottle
sendiri. State transition pada gambar 3.18 merupakan bentuk sederhana dari real world state transition
di gambar 3.21.

3.4.7 Microsoft Time Series

Algoritma time series merupakan algoritma yang mampu memberikan prediksi terhadap suatu aktivitas
yang dipengaruhi waktu seperti penjualan sales dari waktu ke waktu.

Algoritma ini merupakan penggabungan sub algoritma ARTxp yang dikembangkan oleh Microsoft dan
sub algoritma ARIMA yang dikembangkan oleh Box dan Jenkins sehingga memberikan prediksi yang
lebih tepat untuk jangka pendek dan jangka panjang. Algoritma ARIMA merupakan algoritma yang
menjadi diterima secara luas dan menjadi standar industry. ARIMA memiliki kemampuan prediksi yang
lebih baik untuk jangka panjang sedangkan algoritma ARTxp memiliki kemampuan prediksi yang baik
untuk jangka pendek.

Contoh implementasi Microsoft Time Series bisa dijumpai pada mining model Forecasting.dmm, sampel
projek analysis service AdventureWorks DW 2008. Di window panel Solution Explorer di Visual Studio,
double click mining model Forecasting.dmm seperti yang terlihat di gambar 3.22.
Gambar 3.21 Mining Model Forecasting (Forecasting.dmm)

Di dalam designer untuk mining model Forecasting.dmm, pilih tab Mining Model Viewer. Didalamnya
terdapat 2 sub tab yaitu Charts dan Model. Sub tab Model mirip seperti sub tab Decision Tree di
algoritma Microsoft Decision Tree. Sub tab Charts menampilkan grafik yang digunakan untuk prediksi
tingkat penjualan Sales untuk setiap wilayah (Region).
Gambar 3.22 Grafik Prediksi untuk Microsoft Time Series

Terlihat di gambar 3.22, diambil contoh prediksi penjualan di tahun 200408 (garis putus-putus), data
yang tersedia sampai dengan bulan July 2004 (200407) yang diwakili dengan garis tanpa putus-putus.
Untuk menuju kepada prediksi bulan-tahun yang diinginkan bisa dengan langsung meng-click di grafik
tersebut.

Tugas dasar yang dilakukan oleh algoritma ini adalah regresi.

3.4.8 Microsoft Neural Network

Algoritma Microsoft Neural Network dikembangkan sejak tahun 1960-an. Ide dasar ini datang dari cara
kerja syaraf manusia, dimana urat syaraf tersusun atas banyak neuron yang menghantarkan sinyal
rangsangan dari dan ke otak. Algoritma ini menerima input dari masing-masing atribut yang kemudian
dikombinasi dengan nilai atribut lainnya untuk menghasilkan hasil prediksi seperti yang digambarkan
pada gambar 3.22.
Number Cars
Owned = 0

Age = 30 BikeBuyer = 1

Marital
Status = N

Gambar 3.23 Ilustrasi Algorima Neural Network

Setiap node memiliki struktur internal seperti yang terlihat di gambar 3.23 yang terdiri atas fungsi
kombinasi dan fungsi aktivasi. Fungsi kombinasi akan menerima nilai atribut atau nilai node lainnya. Nilai
masing-masing input mungkin memiliki bobot yang tidak sama ketika di proses oleh fungsi kombinasi.
Hasil dari fungsi kombinasi diteruskan ke fungsi aktivasi. Fungsi aktivasi akan menghasilkan output dari
node tersebut yang diteruskan ke node lainnya atau mungkin menjadi hasil akhir prediksi.

input
dari node lain

fungsi fungsi
kombinasi aktivasi
input dari menuju ke node berikutnya.
node lain

Gambar 3.24 Struktur Internal Setiap Node

Adapun tugas dasar tercakup oleh algoritma ini adalah klasifikasi dan regresi.

Contoh penggunaan Microsoft Neural Network bisa dijumpai pada mining model Targeted Mailing.dmm,
masuk pada tab Mining Model Viewer dan pilih TM Neural Net di combo box Mining Model dan
Microsoft Neural Network Viewer di combo box Viewer seperti yang terlihat di gambar 3.25.
Gambar 3.25 Contoh Penerapan Microsoft Neural Network

Tampilan informasi untuk Microsoft Neural Network sama seperti sub tab Attribute Discrimination di
pembahasan algoritma Naïve Bayes (sub bab 3.4.3.3).

3.4.9 Microsoft Logistic Regression

Algoritma ini merupakan turunan dari algoritma Microsoft Neural Network. Algoritma ini melibatkan
fungsi matematika transformasi logistik yand digunakan untuk mengurangi nilai ekstrim di dalam
algoritma tersebut. Algoritma ini mampu menghasilkan lebih dari 1 prediksi seperti prediksi
kemungkinan customer membeli sepeda dan kemungkinan tidak.

Tugas dasar yang dilakukan oleh algoritma ini adalah regresi.

3.5 Data Mining Extension (DMX)


Data mining memiliki bentuk SQL tersendiri yang dinamakan DMX (Data Mining Extension). Lewat DMX,
prediksi dapat dilakukan terhadap algoritma mining model yang tersedia. Prediksi DMX dapat dilakukan
secara grafis maupun secara query langsung. Secara grafis dapat melalui SQL Server Management Studio
(SSMS) maupun lewat Visual Studio.

Lewat SSMS, di window panel Object Explorer (bila tidak terlihat Object Explorer, pilih menu View >
Object Explorer), click tombol Connect, dan pilih Analysis Services seperti yang terlihat di gambar 3.26.
Gambar 3.26 Connect ke Analysis Services

Pilih nama server analysis service di window dialog Connect To Server dan tekan tombol Connect.
Kemudian Expand folder Databases, expand database Adventure Works DW 2008, expand folder Mining
Structures. Di dalam folder Mining Structures, terdapat beberapa data mining, sebagai contoh pilih
Targeted Mailing dan click kanan untuk memunculkan context menu, dan pilih Build Prediction Query
seperti yang terlihat di gambar 3.27.
Gambar 3.27 Penggunaan DMX secara Grafis

Terlihat di gambar 3.28, designer untuk melakukan DMX secara grafis.


Gambar 3.28 Designer DMX

Mari kita hands-on bagaimana penggunaan DMX secara grafis. Dari gambar 3.28, tekan tombol Select
Model di sub window Mining Model. Akan muncul window Select Mining Model, expand Targeted
Mailing. Di dalam data mining Targeted Mailing terdapat 4 jenis implementasi algoritma, sebagai hands-
on, penulis memilih TM Decision Tree dan tekan tombol OK seperti yang terlihat di gambar 3.29.
Gambar 3.29 Pemilihan Algoritma untuk Prediksi

Di sub window Select Input Table(s) (gambar 3.30), pilih tombol Select Case Table yang akan
memunculkan window dialog Select Table. Pilih item di dalam combo box Data Source dimana terdapat
data yang akan dilakukan prediksi, kemudian di dalam kolom Table/View Name, pilih Customer (dbo)
dan tekan tombol OK.
Gambar 3.30 Pemilihan Sumber Data yang Menjadi Target Prediksi

Secara otomatis, analysis service melakukan mapping antara mining model dengan case table seperti
yang terlihat di gambar 3.31. Periksa apakah mapping tersebut sudah benar, bila ada mapping yang
kurang tepat atau tidak diperlukan bisa memilih pada garis mapping tersebut, dan tekan tombol Delete
atau bila hendak menambahkan mapping bisa drag dari kolom di sub window Mining Model ke kolom
yang ada di sub window Select Input Table(s).
Gambar 3.31 Mapping Kolom antara Mining Model dengan Input Table(s)

Di dalam data grid yang tersedia (dibawah kedua sub window), anda bisa memasukkan kolom yang ingin
ditampilkan beserta kolom yang ingin di prediksi (dalam contoh ini adalah field Bike Buyer dengan
Criteria = 1). Untuk setiap row di dalam data grid, pemilihan dimulai pada kolom Source, yang diikuti
oleh kolom-kolom lainnya. Selengkapnya dapat dilihat pada gambar 3.32.
Gambar 3.32 Pemilihan informasi Yang akan ditampilkan dengan Prediksi BikeBuyer = 1

Bila sudah dirasa mencukupi, di bagian kanan atas pada designer Targeted Mailing di gambar 3.32,
terlihat 3 buah tombol, pilih tombol ketiga dari kiri seperti pada gambar 3.34.

Gambar 3.34 Tombol Designer Mode, Text Mode, View Result Mode

Hasilnya bisa terlihat pada gambar 3.35.


Gambar 3.35 Tampilan Hasil Prediksi

Anda bisa melihat bentuk query DMX dengan memilih tombol kedua di gambar 3.34, query-nya akan
terlihat seperti di gambar 3.36.
Gambar 3.36 Query DMX

Dari gambar 3.36 terlihat keyword yang menjadi karakteristik query DMX seperti PREDICTION JOIN.
Terdapat jenis-jenis join selain PREDICTION JOIN yang akan diulas pada sub bab 3.5.1 sampai dengan sub
bab 3.5.4. Kembali ke pembahasan mengenai query grafis lewat SSMS, di query DMX, penulis bisa
merubah query DMX yang dikehendaki yang menjadi keterbatasan di modus designer. Sebagai contoh
penulis bisa menggabungkan firstname dan lastname menjadi satu kolom seperti terlihat pada gambar
3.37.
Gambar 3.37 Manipulasi Query DMX

Eksekusi dengan menekan tombol query view (tombol ketiga pada gambar 3.34), hasilnya terlihat pada
pada gambar 3.38.

Gambar 3.38 Hasil Manipulasi Query DMX

Dengan cara yang hampir sama, analisa prediksi dapat dilakukan di Visual Studio. Buka sampel project
analysis services AdventureWorks DW 2008, di dalam window panel Solution Explorer expand folder
Mining Structures, dan double click data mining Targeted Mailing.dmm. Setelah tampil designer untuk
Targeted Mailing, pilih sub tab Mining Model Prediction. Hasilnya seperti yang terlihat di dalam gambar
3.39.
Gambar 3.39 Bentuk Tampilan Designer untuk Prediksi Data Mining di Visual Studio

Cobalah lakukan cara serupa seperti yang sudah ditunjukkan lewat SSMS. Untuk tombol modus eksekusi
seperti yang terlihat di gambar 3.34, akan dijumpai dekat sudut kiri atas (bertuliskan SQL di gambar
3.39). Tombol kedua setelah tombol SQL adalah tombol SAVE, yang digunakan untuk menyimpan hasil
prediksi ke dalam tabel.

Pembahasan berikutnya akan membahas mengenai query DMX .

3.5.1 Syntax DMX dan Penggunaan Prediction Join

Syntax DMX secara umum adalah :

SELECT <list nama kolom>


FROM <mining model yang digunakan>
<tipe join>
<sumber data yang akan diprediksi>
ON <ekspresi join antara mining model dengan sumber data>
WHERE <ekspresi atribut yang akan diprediksi>
ORDER BY <ordering nama kolom yang dispesifikasikan di bagian SELECT>

Keterangan :
<tipe join> = tersedia PREDICTION JOIN, NATURAL PREDICTION JOIN, hanya PREDICTION JOIN yang
memerlukan ekspresi join (ON <eskpresi join antara mining model dengan sumber data>).

<sumber data> = biasanya merupakan tabel atau view yang akan diprediksi. Untuk terkoneksi ke sumber
data lewat Data Source/Data Source View, biasanya menggunakan OPENQUERY (<nama data source
atau data source view>, ‘<statement select ke tabel/view>’).
Contoh : OPENQUERY (*Adventure Works DW+, ‘select *firstname+,*lastname+ from dbo.DimCustomer’)

Source data dapat berasal dari luar database analysis service. Untuk penggunaan OPENQUERY
selengkapnya, silahkan melihat di dalam SQL Server Books Online.

Sebagai contoh dimana diminta menampilkan nama customer yang kemungkinan membeli sepeda
(BikeBuyer = 1) dan hasil yang dinginkan diurutkan berdasarkan nama depan. Dengan menggunakan
mining model TM Decision Tree pada data mining Targeted Mailing (refer ke gambar 3.28 dan 3.29)
maka querynya adalah :

SELECT
t.[FirstName],
t.[LastName]

From
[TM Decision Tree]

PREDICTION JOIN
OPENQUERY([Adventure Works DW], 'SELECT [FirstName], [LastName], [Gender], [CustomerKey],
[MaritalStatus], [YearlyIncome], [TotalChildren], [NumberChildrenAtHome], [HouseOwnerFlag],
[NumberCarsOwned], [CommuteDistance] FROM [dbo].[DimCustomer]') AS t

ON
[TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
[TM Decision Tree].[Gender] = t.[Gender] AND
[TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
[TM Decision Tree].[Total Children] = t.[TotalChildren] AND
[TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
[TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
[TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned] AND
[TM Decision Tree].[Commute Distance] = t.[CommuteDistance]

WHERE
[TM Decision Tree].[Bike Buyer] =1

ORDER BY t.[FirstName] ;
Perhatikan huruf yang penulis sengaja tebalkan untuk menegaskan penggunaan sintax query DMX. Hal
yang menjadi perhatian adalah kriteria dibagian ON yang menunjukkan mapping antara atribut di mining
model terhadap kolom di tabel sumber data seperti yang ditunjukkan di gambar 3.31. Untuk
mengeksekusi query di atas, anda bisa eksekusi di SSMS. Caranya adalah tekan tombol query DMX yang
terlihat di gambar 3.40.

Gambar 3.40 Tombol Query DMX (keempat dari kiri)

Berikutnya muncul window dialog Connect to Analysis Service, masukkan nama analysis server anda,
dan tekan tombol Connect. Terdapat beberapa item di combo box Mining Model, pilih TM Decision Tree
seperti yang ditunjukkan di gambar 3.41.
Gambar 3.41 Pemilihan Mining Model untuk Prediksi

Copy paste query DMX (diatas gambar 3.40) ke dalam designer window data mining dan tekan tombol

. Hasilnya terlihat seperti pada gambar 3.42.

Gambar 3.42 Eksekusi Query DMX di SSMS

3.5.2 Natural Prediction Join

Natural prediction join hampir sama halnya seperti prediction join namun tanpa ada kriteria mapping
secara eksplisit antara atribut di mining model dengan kolom dari sumber yang akan diprediksi
melainkan mapping secara implicit. Mapping secara implisit dimungkinkan bila nama atribut di mining
model dan nama kolom dari sumber data.

Contoh query pada sub bab 3.6.1 bila dituliskan dengan menggunakan natural prediction join menjadi :

SELECT
t.[FirstName],
t.[LastName]

From
[TM Decision Tree]

NATURAL PREDICTION JOIN


OPENQUERY([Adventure Works DW],
'SELECT [FirstName], [LastName], [Gender], [CustomerKey],
[MaritalStatus] AS [Marital Status],
[YearlyIncome] AS [Yearly Income],
[TotalChildren] AS [Total Children],
[NumberChildrenAtHome] AS [Number Children At Home],
[HouseOwnerFlag] AS [House Owner Flag],
[NumberCarsOwned] AS [Number Cars Owned],
[CommuteDistance] AS [Commute Distance] FROM [dbo].[DimCustomer]') AS t

WHERE
[TM Decision Tree].[Bike Buyer] =1

ORDER BY t.[FirstName] ;

3.5.3 Empty Prediction Join

Jenis join ini tidak melakukan mapping baik eksplisit maupun implisit dan informasi nama kolom yang
ditampilkan di dalam SELECT hanya kolom yang menjadi target prediksi di dalam mining model. Berikut
contoh penggunaan empty prediction join.

SELECT [Bike Buyer]


FROM [TM Decision Tree];

Bila ditambahkan atribut lain seperti [Marital Status] di bawah ini:

SELECT [Bike Buyer], [Marital Status]


FROM [TM Decision Tree];

Akan memberikan pesan error bahwa hanya atribut yang bersifat predictable (menjadi target prediksi di
dalam mining model) yang bisa ditampilkan di dalam SELECT

Error (Data mining): Only a predictable column (or a column that is


related to a predictable column) can be referenced from the mining
model in the context at line 1, column 22.

3.5.4 Query Singleton

Query prediction join dan natural prediction join menerima data yang akan diprediksi lebih dari 1 row,
sebaliknya query singleton hanya menerima data yang bersifat hard-coded. Berikut contoh penggunaan
query singleton

SELECT
t.[First Name], t.[Last Name], [TM Decision Tree].[Bike Buyer]
From
[TM Decision Tree]
NATURAL PREDICTION JOIN
(
select
'Ali' AS [First Name],
'Santoso' AS [Last Name]
'N' AS [Marital Status],
'M' AS [Gender],
100000 AS [Yearly Income],
0 AS [Total Children],
0 AS [Number Children At Home],
1 AS [House Owner Flag],
1 AS [Number Cars Owned],
'10+ Miles' AS [Commute Distance]
) AS t;

Hasil eksekusi seperti terlihat pada gambar 3.43.

Gambar 3.42 Eksekusi Query Singleton di SSMS

3.6 Delivery Data Mining


Data mining tidak akan banyak berguna bila tidak bisa diakses oleh pengguna awam. Oleh sebab itu,
Microsoft menyediakan beberapa cara menghadirkan fitur data mining ke pengguna lewat SQL Server
Reporting Services maupun Microsoft Excel. Berikut ini ditunjukkan cara menampilkan data mining lewat
reporting services.

3.6.1 Delivery Data Mining lewat SQL Server Reporting Services

Contoh skenario dimana dibutuhkan report yang mengandung daftar nama calon customer yang
berpotensial membeli sepeda (BikeBuyer = 1) yang dibutuhkan oleh bagian marketing perusahaan ABC.
Penulis akan menunjukkan cara membuat report data mining dengan menggunakan reporting services.
Reporting Services akan dibahas selengkapnya pada bab 4.

Berikut langkah-langkah pembuatan report bersumberkan data mining.


1. Buka Microsoft Visual Studio 2008.
2. Di dalam Visual Studio pilih menu File > New > Project, akan muncul window dialog New Project
3. Di bagian kiri terdapat Project Types, pilih Business Intelligence Project.
4. Di bagian kanan terdapat Visual Studio Installed Templates, pilih Report Server Project.
5. Di textbox Name berikan nama project, misal : BikeBuyerList lalu tekan tombol OK
6. Di window panel Solution Explorer, klik kanan pada folder Reports dan pilih Add New Report
pada context menu yang muncul yang selanjutnya akan muncul window dialog Report Wizard.
7. Di bagian Welcome to the Report Wizard, tekan tombol Next seperti yang ditunjukkan pada
gambar di bawah ini.

8. Di bagian Select the Data Source, pilih Microsoft SQL Server Analysis Services di combo box Type
dan tekan tombol Edit.
9. Di window dialog Connection Properties, masukkan Server Name untuk analysis services dan
juga nama database analyss service lalu tekan tombol Test Connection.
10. Bila koneksi berhasil tersambung ke nama server dan database analysis service maka akan
muncul pesan sukses atau gagal. Bila gagal, ulangi langkah 9 dan 10 sampai berhasil dilakukan
koneksi. Setelah berhasil tekan tombol OK di window dialog Test Results dan tekan tombol OK di
window dialog Connection Properties.
11. Terlihat pada gambar di bawah ini, connection string untuk analysis services yang anda tuju dan
tekan tombol Next untuk melanjutkan ke langkah berikutnya.
12. Di bagian Design the Query, tekan tombol Query Builder untuk membuat query DMX secara
grafis maupun secara manual.
13. Muncul window dialog Query Designer, pilih toolbar data mining (yang disorot pada gambar di
bawah ini).
14. Muncul pesan konfirmasi “Switching from MDX to CMX will result in losing all current design
context. Do you want to proceed?”. Untuk konfirmasi ini, pilih YES.
15. Di window Query Designer, tentukan mining model dengan menekan tombol Select Model.
16. Di window dialog Select Mining Model, pilih TM Decision Tree yang ada di bwah Targeted
Mailing, database analysis service Adventure Works DW 2008 dan tekan tombol OK untuk
kembali ke window dialog Query Designer.
17. Di window dialog Query Designer, pilih tombol Select Case Table. Case table adalah sumber data
yang ingin anda prediksi customer yang akan membeli produk sepeda.
18. Tentukan Data Source (Adventure Works DW) dan juga sumber data di Table/View Name
(Customer (dbo)) lalu tekan OK.
19. Sd
20. Kembali ke window dialog Report Wizard, terlihat query DMX telah tercreate lalu maju ke step
berikutnya dengan memilih tombol Next.
21. Di bagian Select the Report Type, pilih opsi Tabular dan tekan tombol Next.
22. Di bagian Design the Table, tekan tombol Next.
23. Di bagian Choose the Table Style, pilih tampilan report yang anda inginkan, lalu tekan tombol
Next.
24. Di bagian akhir Completing the Wizard, masukkan nama report (misalnya : List of Potential Bike
Buyer) kemudian tekan tombol Finish.
25. Di Visual Studio terlihat tampilan designer report anda. Report data mining tersebut bisa di
preview di Visual Studio dengan menekan tab kedua (Preview)
26. Terlihat daftar calon customer yang diprediksi akan membeli produk sepeda.
3.6.2 Delivery Data Mining lewat Microsoft Excel

Bentuk penggunaan data mining oleh pengguna awam dimungkin lewat Microsoft Excel. Versi excel
yang penulis gunakan adalah excel 2007. Untuk terkoneksi ke SQL Server 2008 analysis service, anda
memerlukan SQL Server 2008 Data Mining Add-Ins for Excel 2007. Link untuk mendownload dapat anda
temui di http://www.microsoft.com/sqlserver/2008/en/us/data-mining-addins.aspx, di dalam web page
tersebut anda bisa melihat demo video mengenai penggunaan add-in tersebut.

3.7 Pembuatan Mining Model


Sejauh ini dijabarkan penggunaan mining model pada sampel project analysis service Adventure Works
DW 2008, namun bagaimana pembuatan mining model dengan memanfaatkan algoritma yang tersedia
di SQL Server 2008?
Berikut cara pembuatan mining model di sampel project analysis service yang akan dipandu langkah
demi langkah.
1. Buka Visual Studio 2008.
2. Buka sampel project analysis service Adventure Works DW 2008.
3. Klik kanan pada folder Mining Structures dan pilih New Mining Structures seperti yang
diperlihatkan pada gambar di bawah ini.
4. Pada bagian informasi Welcome to the Data Mining Wizard, pilih tombol Next untuk maju ke
step berikutnya.

5. Pada bagian Select the Definition Method, terdapat 2 pilihan darimana sumber data untuk data
mining yang sedang kita buat. Pilihan pertama apabila sumber data mining berasal dari OLTP,
pilihan kedua apabila sumber data mining berasal dari OLAP cube. Untuk data mining yang
sedang dibuat, sumber datanya berasal dari OLTP, sehingga pilihan pertama yang dipilih, dan
tekan tombol Next untuk maju ke step berikutnya.
6. Pada bagian Create the Data Mining Structure, terdapat 9 pilihan algoritma data mining. Sebagai
demo pada contoh ini, pilih Microsoft Decision Tree dan tekan tombol Next untuk melanjutkan.
7. Pada bagian Select Data Source View, tentukan data source yang tersedia (dibagian Available
data source views) dan tentukan sumber data untuk data mining yang sedang di create (di panel
sebelah kanan, pilih vTargetMail) dan tekan tombol Next.
8. Pada bagian Specify Table Types, pilih vTargetMail sebagai Case table dan tekan tombol Next.
Case table akan digunakan oleh data mining untuk menvalidasi keakuratan data mining dalam
melakukan prediksi.
9. Di bagian Specify Training Data, pilih CustomerKey sebagai key, dan BikeBuyer sebagai
Predictable attribute (atribut yang akan menjadi diprediksi). Key di CustomerKey merupakan
unique key untuk setiap row. Setiap case (kasus) akan berkorespondensi terhadap setiap row.
Setelah memilih CustomerKey dan BikeBuyer tekan tombol Suggest untuk mengetahui atribut
apa saja yang diperkirakan berkontribusi dalam melakukan prediksi terhadap atribut BikeBuyer
berdasarkan sumber data yang diberikan.
10. Di window dialog Suggest Related Columns, terdapat score untuk setiap kolom sumber data.
Anda bisa mengikutsertakan kolom mana saja yang dianggap berperan dalam menentukan
prediksi BikeBuyer dengan meng-click row yang bersangkutan di kolom Input sehingga terdapat
tanda X. Dan click tombol OK untuk kembali ke bagian Specify the Training Data di langkah 9.
11. Terlihat kolom-kolom yang dipilih sebagai kontributor prediksi terpilih pada langkah 9. Anda
masih bisa melakukan perubahan pada. Bila sudah tidak ada perubahan, pilih tombol Next untuk
maju ke langkah berikutnya.
12. Di bagian Specify Columns’ Content and Data Type terdapat atribut prediksi berserta atribut
contributor prediksi. Tekan tombol Detect.
13. Terdapat perubahan sebelum dan sesudah tombol Detect ditekan. Perubahan dari Continuous
ke Discrete terjadi pada kolom Bike Buyer, Number Cars Owned, dan Number Children At Home.
Atribut Bike Buyer hanya terdapat sedikit cakupan nilai yaitu 0 dan 1 sehingga dipandang
memiliki nilai diskrit (pilihan Discrete), begitu juga untuk Number Cars Owned dan Number
Children At Home. Algoritma Microsoft Decision Tree membolehkan atribut kontributor prediksi
memiliki content type = Continuous namun ada algoritma seperti algoritma Naïve Bayes hanya
bisa menerima jenis data diskrit. Untuk atribut yang memiliki sifat continous seperti atribut
Yearly Income, maka dimungkinkan diskrit lewat pilihan Discretized. Content Type = Discretized
akan mengelompokkan Yearly Income kedalam beberapa grouping (misalnya group I (Yearly
Income antara 0 - $15,999), group II (Yearly Income antara ($16,000-$19,999) dan group III
(Yearly Income antara $20,000 - $40,000)). Dengan tipe kolom continuous dalam bentuk
discretized akan memudahkan analisa algoritma berdasarkan grouping.
Click tombol Next untuk maju ke langkah berikutnya.
14. Di bagian Create Testing Set, tentukan porsi data yang digunakan untuk testing validasi
keakuratan sebuah data mining. Pilihan default adalah 30%, namun anda bisa melakukan
penyesuian persentase data testing, setelah itu tekan tombol Next.
15. Di bagian akhir wizard, beri nama untuk data mining (misalnya: Bike Buyer) dan model data
mining (misalnya : Bike Buyer Decision Tree, berdasarkan algoritma yang dipilih pada langkah 6).
Dan tekan tombol Finish.
16. Data mining Bike Buyer terlihat pada window panel Solution Explorer dan muncul designer
untuk data mining terkait dengan 5 tab yaitu tab Mining Structure, tab Mining Models, tab
Mining Model Viewer, tab Mining Accuracy Chart, dan tab Mining Model Prediction. Tab Mining
Model Viewer dan tab Mining Model Prediction telah dibahas pada sub bab sebelumnya. Tab
Mining Models, tab Mining Accuracy Chart akan dibahas pada step selanjutnya sambil meninjau
data mining yang telah dibuat (data mining Bike Buyer). Di dalam tab Mining Structure
diperlihatkan sumber data mining. Mari melihat algoritma data mining yang diimplementasikan
terhadap tab pertama (tab Mining Structure) dengan memilih tab kedua (tab Mining Models).
17. Di dalam tab Mining Models (dilingkari pada gambar dibawah ini), terdapat 1 algoritma yang
diimplementasikan terhadap mining structure Bike Buyer yaitu Bike Buyer Decision Tree. Di
dalam tab ini dimungkinkan 1 mining structure terdapat beberapa implementasi algoritma.
Untuk menambah implementasi algoritma selain Bike Buyer Decision Tree dapat dilakukan
dengan menekan toolbar ketiga (dilingkari) yang memunculkan tooltip : “Create a related mining
model”.
18. Muncul window dialog New Mining Model, pilih Microsoft Naïve Bayes pada combo box
Algorithm name dan beri nama mining model terkait dengan algoritma Naïve Bayes yang dipilih
(misalnya Bike Buyer Naïve Bayes) dan tombol OK.

19. Muncul pesan bahwa Microsoft Naïve Bayes tidak mendukung content type yang ada di dalam
mining structure karena atribut Age dan Yearly Income bertipe continuous. Oleh karena itu
Naïve Bayes akan mengabaikan atribut tersebut. Mengenai content type discrete, discretized
dan continous telah dijelaskan pada langkah 13.
Pilih Yes pada window dialog konfirmasi.

20. Di dalam tab Mining Models kini terdapat 2 mining model (yaitu Bike Buyer Decision Tree dan
Bike Buyer Naïve Bayes). Terlihat di dalam Naïve Bayes, atribut Age dan Yearly Income di set
Ignore.

21. Ubah Ignore menjadi Input untuk atribut Age dan Yearly Income seperti yang terlihat pada
gambar di bawah ini.
22. Masuk kembali ke tab pertama (tab Mining Structure). Pilih atribut Age dan di bagian window
panel Properties terkait, ubah property Content dari Continuous ke Discretized. Lakukan hal
yang sama terhadap atribut Yearly Income.
23. Kembali ke tab Mining Models. Anda bisa menambahkan beberapa algoritma yang lain sampai
cukup mining model yang ada. Langkah berikutnya adalah melakukan pemrosesan mining model
dengan menekan tombol pertama di toolbar yang diperlihatkan pada gambar di bawah ini.
24. Terlihat di window panel Deployment Progress, analysis service melakukan deployment di
analysis server.
25. Setelah deployment selesai, dilanjutkan dengan processing mining structure terhadap mining
model. Tekan tombol Run untuk menjalankan processing.
26. Pada gambar dibawah ini, diperlihatkan proses processing sampai selesai. Setelah status :
Process succeeded muncul berarti processing telah selesai dan tekan tombol Close 2 kali untuk
kembali ke tab Mining Models.
3.8 Validasi Mining Model
Sampai dengan langkah 26, data mining Bike Buyer telah selesai dibuat di proses. Pertanyaan yang
timbul adalah dengan adanya 2 mining model yang tersedia, mana yang lebih akurat dan seberapa
akuratkah untuk memprediksi customer yang akan membeli sepeda? Untuk menjawab pertanyaan
tersebut, Microsoft menyediakan tab ketiga yaitu Mining Accuracy Chart.

27. Seperti yang diperlihatkan di bawah gambar ini, terdapat 4 jenis sub tab yaitu sub tab Input
Selection, Lift Chart, Classification Matrix dan Cross Validation. Kita akan bahas penggunaan
setiap sub tab dimulai dengan sub tab Input Selection.
Di sub tab Input Selection, terlihat mining model yaitu Bike Buyer Decision Tree dan Naïve
Bayes. Karena atribut yang diprediksi hanya satu yaitu Bike Buyer maka hanya Bike Buyer yang
muncul pada kolom kedua (Predictable Column Name). Pada kolom Predict Value terdapat 2
kemungkinan (0 atau 1) untuk item yang dipilih pada kolom kedua (Predictable Column Name).
Apabila check box “Synchronize Prediction Columns and Values” di pilih, maka nilai Predict Value
di pilih pada salah satu mining model (Bike Buyer Decision Tree dalam contoh ini) akan berlaku
pada mining model lainnya (Bike Buyer Naïve Bayes).

Di bagian Select Data Set to be Used for Accuracy Chart, terdapat 3 pilihan untuk menvalidasi
keakuratan mining model yang telah kita buat, yaitu :
a. Use mining model test cases
Test case untuk mining model akan ditentukan ketika mendefiniskan persentasi training
data yang dilakukan pada langkah 14.
b. Use mining structure test cases
Test case ini akan menvalidasi apakah mining structure Bike Buyer sudah tepat untuk
memprediksi atribut BikeBuyer. Test case ini ditentukan ketika mendefinisikan sumber
data yang dilakukan pada langkah 11.
c. Specify a different data set
Opsi ketiga adalah kita mendefinisikan test case yang berasal dari sumber data yang lain
dengan memilih tombol … yang didekat opsi tersebut dan tentukan sumber data beserta
mapping kolom sumber data terhadap mining structure.

3.8.1 Sub Tab Lift Chart dengan Pilihan Lift Chart

28. Setelah menentukan nilai atribut yang akan diprediksi beserta sumber data dan jenis test case,
pilih sub tab kedua Lift Chart untuk melihat keakuratan kedua mining model yang telah dibuat.
Pada gambar di bawah ini terlihat Lift Chart dipilih di combo box Chart Type.

Di window Mining Legend terlihat Population Percentage : 49.50% yang mengacu pada sumbu X.
Interpretasi data dari window Mining Legend terhadap 2 mining model adalah sebagai berikut:
Untuk persentase data 49.50% dari jumlah data yang diproses, Bike Buyer Decision Tree
memiliki kemampuan prediksi 73.12% tepat ketimbang Bike Buyer Naïve Bayes (hanya 63.51%
tepat). Nilai keakuratan prediksi terlihat pada kolom Target Population (di window Mining
Legend dan juga di sumbu Y) dengan persentase populasi 49.50% (sumbu X).
29. Untuk melihat nilai lain selain 49.50% pada Population Percentage dapat dilakukan dengan
meng-click area grafik. Sebagai contoh diperlihatkan pada gambar di bawah Population
Percentage 40% (39.60%), maka kemampuan prediksi pada Bike Buyer Decision Tree akan 63.3%
tepat dibandingkan Bike Buyer Naïve Bayes (53.7% tepat), dimana model yang ideal adalah
81.6% (ketepatan prediksi dengan populasi data yang diproses sebesar 40%). Tentu saja semakin
mendekati model ideal, semakin akurat sebuah data mining.

3.8.2 Sub Tab Lift Chart dengan Pilihan Profit Chart

Apakah Profit Chart itu? Profit Chart memberikan informasi aspek finansial yang diharapkan dari
aktivitas marketing untuk mencapai target yang diinginkan (Bike Buyer = 1, misalnya).
30. Masih dalam sub tab Lift Chart, pilih Profit Chart di combo box Chart Type. Muncul window
dialog Profit Chart Settings dengan input Population, Fixed Cost, Individual Cost dan Revenue
per Individual. Apa arti dari setiap input di dalam Profit Chart Settings?
a. Population
Artinya jumlah calon customer yang akan menjadi target aktivitas marketing. Misalnya
kita memiliki 100.000 calon customer. Dan budget yang tersedia hanya mampu
mengirimkan brosur sepeda ke sebanyak 30.000 customer maka masukkan nilai
tersebut ke input untuk Population.
b. Fixed cost
Adalah biaya tetap tanpa dipengaruhi oleh besaran Population.
c. Individual cost
Adalah biaya yang timbul dari setiap item di dalam Population.
d. Revenue per individual
Adalah hasil yang diharapkan dari setiap item population terhadap target prediksi.
Dalam contoh Bike Buyer = 1, calon customer yang membeli sepeda yang rata-rata
seharga $15.

Tekan tombol OK pada Profit Chart Settings.

31. Pada gambar di bawah ini, terlihat besaran Profit Chart maximum adalah $130.076,30 dengan
besaran populasi 84.16%. Besaran profit tidak akan lebih menguntungkan dengan besaran
populasi lebih dari 84.16%.
3.8.3 Sub Tab Classification Matrix

Sub tab ketiga adalah sub tab Classification Matrix. Sub tab classification Matrix menunjukkan besaran
kesalahan prediksi terhadap case table/view.
32. Pada gambar di bawah ini, pada bagian yang ditandai dengan kotak diagonal warna merah,
ditunjukkan nilai prediksi 0 dengan nilai aktual 0, dan nilai 1 dengan nilai aktual 1. Interpretasi
dari pertemuan nilai yang sama antara kolom Predicted dan Actual di bagian diagonal
menunjukkan jumlah test case yang diprediksi secara tepat, sedangkan untuk bagian non
diagonal menunjukkan jumlah test case yang tidak diprediksi secara tepat.
Terlihat bahwa mining model Bike Buyer Decision Tree lebih banyak menghasilkan prediksi yang
tepat ketimbang mining model Bike Buyer Naïve Bayes.

3.8.4 Sub Tab Cross Validation

Sub tab keempat adalah sub tab cross validation. Sub tab ini melakukan perbandingan keakuratan
mining model terhadap mining structure.
33. Pilih sub tab keempat (sub tab Cross Validation). Pada gambar di bawah ini, tentukan nilai Fold
Count = 2, Max Cases = 30, Target Attribute = Bike Buyer, Target State = 1 dan Target Threshold
= 0.8 dan tekan tombol Get Results.
34. Hasilnya terlihat analisa untuk mining model Bike Buyer Decision Tree dan Bike Buyer Naïve
Bayes terhadap mining structure. Berikut penjelasan dari setiap input di dalam sub tab Cross
Validation
a. Fold Count
Akan menentukan jumlah Partition Index. Satu partition index digunakan untuk testing
data sedangkan partition index yang lain (di dalam group partition index yang sama)
digunakan untuk training mining model sebelum dilakukan testing.
b. Max Cases
Jumlah maksimum test case yang dibagi merata untuk setiap group partition index. Pada
gambar diatas terlihat partition size adalah 15 untuk 2 partition index sehingga input
untuk max case diisi sebesar 30 test case.

c. Target Attribute
Atribut yang digunakan untuk prediksi. Dalam data mining BikeBuyer, atribut yang
digunakan sebagai target prediksi adalah Bike Buyer.

d. Target State
Nilai prediksi dari Target Attribute.
e. Target Threshold
Nilai minimum dimana suatu prediksi dianggap tepat. Kisaran nilainya antara 0 dan 1.
Dimana semakin mendekati 1 maka nilai probabilitasnya dianggap semakin tepat. Dalam
contoh ini penulis memasukkan nilai probabilitas minimum 0.8 merupakan indikasi
seorang customer mungkin akan membeli sepeda.

3.9 Rangkuman
SQL Server 2008 menghadirkan 9 algoritma data mining. Algoritma data mining dikombinasikan dengan
mining structure menghasilkan prediksi terhadap arah business ke depannya. Setelah data mining
dideploy dan diproses di analysis server, data mining siap digunakan untuk melakukan prediksi. Hasil
prediksi dapat dilakukan lewat SSMS, SQL Server Reporting Services maupun Microsoft Excel.

Query ke dalam data mining dilakukan lewat query DMX (Data Mining Extension). Query DMX dapat
dilakukan secara grafis maupun textual baik di Visual Studio maupun di dalam SSMS.
Bab 4

SQL Server 2008 Reporting Services (SSRS)

SQL Server Reporting Services (SSRS) adalah platform laporan berbasis server yang menyediakan
fungsionalitas pembuatan laporan untuk berbagai sumber data. SSRS terdiri dari kumpulan kakas yang
digunakan untuk membuat, mengatur dan mengirim laporan, dan API yang memudahkan developer
untuk mengintegrasikan laporan dengan aplikasi kustom.

Dengan SSRS, laporan dapat dibuat dalam bentuk tabular, grafikal dari sumber data relational (OLTP),
multidimensional (OLAP), atau bahkan XML. Kita dapat mem-publikasikan laporan, menjadual
pemrosesan laporan, atau mengakses laporan pada saat diinginkan. Dengan SSRS laporan ad hoc juga
dapat dibuat berdasarkan model yang didefinisikan, dan mengeksplorasi data secara interaktif
berdasarkan modelnya. Terdapat berbagai format untuk menampilkan dan mengekspor laporan ke
aplikasi lain, dan mensubskripsi report yang telah dipublikasi. Laporan dapat dilihat melalui koneksi web
atau sebagai bagian dari aplikasi Windows atau situs SharePoint.

Dalam kaitannya dengan BI, SSRS adalah fitur yang digunakan untuk menampilkan data dari database
multidimensional yang membantu melakukan analisis data.

4.1 Kakas SSRS


4.1.1 Report Designer

Report Designer adalah kakas yang digunakan untuk membuat laporan dalam bentuk tabular, matrix
chart, ataupun bentuk bebas. Report Designer diakses menggunakan BIDS.

4.1.2 Report Model Builder

Kakas ini digunakan untuk membuat, memodifikasi, dan mempublikasikan model laporan yang
digunakan sebagai dasar dari laporan ad hoc dari Report Builder. Report Model Designer diakses
menggunakan BIDS.

4.1.3 Report Builder

Report Builder adalah kakas yang digunakan untuk membuat laporan ad hoc dalam bentuk tabular,
matrix, dan chart. Apabila Report Designer ditujukan untuk orang-orang yang memahami dan terbiasa
dengan SQL statement, maka Report Builder dibuat agar orang yang tidak memahami SQL statement
dapat membuat laporan sendiri. Untuk mengakses struktur data dari suatu sumber data digunakan
Report Model yang telah dibuat sebelumnya dengan Report Model Builder.

4.1.4 Reporting Services Configuration Manager

Reporting Services Configuration Manager adalah kakas yang digunakan untuk membuat dan mengatur
database Reporting Services, mengatur service account yang digunakan oleh Report Server, mengatur
URL Report Server dan Report Manager, mengatur server yang digunakan untuk mengirim E-mail, dan
melakukan backup-restore kunci simetris yang digunakan untuk mengenkripsi koneksi dan credential
yang disimpan.

4.1.5 Report Manager

Report Manager merupakan kakas yang digunakan untuk mengakses dan mengatur properti dan
keamanan laporan dengan menggunakan koneksi HTTP. Report Manager juga digunakan untuk melihat,
mencari, dan melakukan subskripsi laporan.

4.1.6 Report Server

Report Server adalah komponen utama SSRS yang bertugas membuat dan memproses laporan yang
akan ditampilkan oleh Report Manager atau aplikasi kustom.

4.2 Siklus Hidup


4.2.1 Pembuatan Laporan

Pembuatan laporan dapat dilakukan dengan menggunakan Report Designer atau Report Builder.
Setelah laporan sesuai dengan bentuk yang diinginkan, laporannya dipublikasikan/disimpan ke Report
Server atau situs SharePoint yang hasilnya bisa dilihat melalui Report Manager.

4.2.2 Pengaturan Laporan

Dengan menggunakan SSRS proses pengaturan laporan dan hal-hal lainnya seperti folder dan koneksi
sumber data dilakukan dari lokasi terpusat. Selain itu kita dapat mengatur keamanan folder dan laporan,
mengatur properti, dan membuat jadual pengiriman laporan.
4.2.3 Akses dan Pengiriman Laporan

Terdapat dua metode akses dan pengiriman laporan di SSRS. Yang pertama adalah akses pada saat
diinginkan (on-demand) yang mengijinkan pengguna memilih laporan yang akan dilihat, baik
menggunakan Report Manager, SharePoint, atau aplikasi kustom. Yang kedua adalah akses subskripsi
yang secara otomatis membuat dan mengirimkan laporan via e-mail atau via file share.

4.3 Fitur Baru dan Perbaikan


4.3.1 Tablix

Tablix adalah data region yang menggabungkan fitur yang terdapat pada data region table, matrix dan
list menjadi sebuah tampilan grid yang fleksibel. Tablix dapat memiliki jumlah kolom yang tetap seperti
Table dan dapat memiliki jumlah kolom yang dinamis seperti Matrix. Tablix memungkinkan pembuatan
kelompok baris dan kelompok kolom lebih dari satu dalam satu data region. Pengelompokannya dapat
berupa hirarki yang bersarang, sejajar atau rekursif.

4.3.2 Gauge

Gauge adalah data region yang digunakan untuk menampilkan indikator kinerja kunci (Key Performance
Indicator atau biasa disebut KPI) dan hanya menampilkan satu nilai dari sebuah set data.

Gauge memiliki dua tipe yaitu radial yang bentuknya seperti speedometer dan linear yang bentuknya
seperti thermometer. Yang harus diperhatikan saat membuat gauge adalah pada saat kita telah memilih
tipenya, kita tidak dapat menggantinya dengan tipe yang lain sehingga apabila ingin mengubah tipe
gauge yang bentuknya radial menjadi linear yang harus dilakukan adalah menghapusnya lalu
menambahkan gauge linear.

4.3.3 Chart

Data region Chart memiliki tipe baru yaitu bar/column cylinder, pyramid, funnel, polar, radar, stock,
candlestick, range column, range bar, smooth area, smooth line, stepped line, dan box plot chart types.

Desain antar muka nya lebih intuitif dan membuat pembuatan chart menjadi lebih mudah. Terdapat
dialog box dan menu shortcut untuk setiap elemen chart, edit text langsung pada judul dan label chart,
pemilih tipe chart baru, dan kemampuan untuk drag-drop.

4.3.4 Report Designer

Hal yang paling mencolok dari tampilan Report Designer adalah dipindahkannya tab Data menjadi pane
yang membuat proses pembuatan laporan menjadi lebih intuitif. Dengan tampilan baru ini kita tidak
perlu lagi berpindah-pindah antara tab data dan tab design pada saat ingin memodifikasi struktur data
atau menambah set data baru.

Penambahan lain pada Report Designer adalah adanya pane untuk mengelompokkan data yang disebut
Grouping Pane yang menyediakan cara yang mudah untuk membuat kelompok kolom atau kelompok
baris pada saat membuat data region tablix.

Gambar 0.1 Report Designer

4.3.5 Report Builder 2.0

Report Builder yang digunakan untuk membuat laporan ad hoc kini memiliki Ribbon pada desain antar
muka seperti yang terdapat pada Microsoft Office 2007. Dan seperti Report Designer, pada tampilannya
juga terdapat Report Data Pane dan Grouping Pane yang memudahkan pengelompokan kolom dan
baris. Jika pada versi sebelumnya kita hanya dapat membuat satu data region, satu sumber data dan
satu set data saja, pada Report Builder 2.0 kita dapat membuat lebih dari satu data region, lebih dari
satu sumber data, dan lebih dari satu set data.

Gambar 0.2 Report Builder 2.0


4.3.6 Arsitektur Report Server

Arsitektur server didesain ulang yang menghilangkan ketergantungan pada Internet Information
Services (IIS) sembari tetap menjaga fungsionalitas yang dimiliki pada versi sebelumnya. Untuk menjaga
fungsionalitas yang sebelumnya disediakan oleh IIS, SSRS kini dilengkapi dengan HTTP.SYS dan ASP.NET,
manajemen URL untuk situs dan nama direktori virtual, lapisan autentikasi yang baru, dan pengawasan
kesehatan melalui fitur manajemen memori yang baru. Sebagai tambahan, arsitektur yang baru
menggabungkan web service Report Server, windows service Report Server, dan Report Manager
kedalam sebuah service. Semua pengaturan dilakukan melalui Reporting Services Configuration
Manager yang membuat proses pengaturan SSRS menjadi sangat mudah dibandingkan sebelumnya.

4.4 Mengembangkan Solusi SSRS


SQL Server memiliki database OLAP contoh yang telah dikenal luas yaitu AdventureWorksDW. Jika pada
versi-versi SQL Server sebelumnya database ini telah dikemas bersama dengan installer SQL Server,
maka pada SQL Server 2008 database contoh tersebut dipisah dan dapat diunduh di situs Contoh
Microsoft SQL Server dan Projek Komunitas http://www.codeplex.com/sqlserversamples.

Dalam contoh berikut Anda akan diajak membuat laporan penjualan dengan data region Tablix
berdasarkan teritori dan tahun menggunakan database OLAP AdventureWorksDW, lalu
mempublikasikannya ke report server.

Sebelum memulai membuatnya pastikan service SQL Server Reporting Services dan SQL Server Analysis
Services telah berjalan, AdventureWorksDW telah terpasang dan telah diproses.

Seperti pada contoh sebelumnya, untuk mengembangkan SSRS buka BIDS, lalu buat satu projek baru.
Pilih Business Intelligence Project sebagai Project Types, Report Server Project sebagai Templates, ketik
SalesReport sebagai nama projek, lalu klik tombol OK
Gambar 0.3 Tampilan Projek SSRS baru

4.4.1 Menambahkan Data Source

Untuk menambahkan data source yang digunakan secara berbagi dengan semua laporan klik kanan
pada folder Data Sources yang terdapat pada Solution Explorer lalu pilih Add New Data Source

Gambar 0.4 Menambahkan data source

Pada layar Shared Data Source Properties, ketik AdventureWorksDWDataSource pada nama, pilih
Microsoft SQL Server Analysis Services sebagai tipe data source lalu klik tombol Edit untuk mengisi string
koneksi
Gambar 0.5 Mengatur properti koneksi

Isi Server Name dengan (local), pilih Adventure Works DW sebagi nama database lalu klik tombol OK.
Klik tombol OK sekali lagi untuk menutup layar

Gambar 0.6 Membuat koneksi

4.4.2 Menambahkan Laporan

Walaupun Report Designer dilengkapi dengan Wizard untuk membuat laporan dengan cepat dan
mudah, akan tetapi akan sangat membantu kita memahami SSRS jika tanpa menggunakan wizard
tersebut. Untuk menambahkan laporan, klik kanan pada folder Report di Solution Explorer, lalu pilih Add
> New Item
Gambar 0.7 Menambahkan laporan

Pilih Report sebagai Templates, isi InternetSalesReport.rdl sebagai nama laporan, lalu klik tombol Add

Gambar 0.8 Tampilan untuk menambahkan laporan

Setelah laporan InternetSalesReport.rdl terbuka, tambahkan sebuah Textbox dengan label Internet Sales
Report dan ukuran 20pt

4.4.3 Menambahkan Set Data

Untuk menambahkan set data pada laporan, terlebih dulu tambahkan sumber datanya menggunakan
Report Data Pane dengan cara mengklik New > Data Source
Gambar 0.9 Menambahkan sumber data laporan

Isi nama data source dengan AdventureWorksDW, pilih Use shared data source reference, pilih
AdventureWorksDWDataSource dari combo box, lalu klik tombol OK

Gambar 0.10 Memilih data source yang digunakan

Klik kanan pada sumber data AdventureWorksDW, lalu pilih Add Dataset

Gambar 0.11 Menambahkan set data

Isi nama set data dengan DatasetAdventureWorksDW lalu klik tombol Query Designer
Gambar 0.12 Tampilan Dataset Properties

Pada pane Metadata pilih Internet Sales sebagai Measure Group

Gambar 0.13 Metadata Pane

Tambahkan measure Internet Sales Amount dengan membuka Measures > Internet Sales pada pane
Metadata, lalu drag Internet Sales Amount ke pane Result
Gambar 0.14 Menambahkan Internet Sales Amount

Tambahkan atribut Date.CalendarYear yang terdapat pada dimensi Date > Calendar

Tambahkan atribut Sales Territory Group yang terdapat pada dimensi Sales Territory

Tambahkan atribut Category dan Subcategory yang terdapat pada dimensi Product. Klik tombol OK, lalu
klik OK Sekali lagi untuk menutup layar Dataset Properties

Gambar 0.15 Menambahkan atribut-atribut lain

4.4.4 Menambahkan Data Region Tablix

Jika melihat pane kakas peralatan, Anda tidak akan menemukan data region Tablix. Yang ada adalah
Table, Matrix, dan List. Ini karena pada saat menggunakan ketiga data region tersebut berarti kita telah
menggunakan Tablix.
Gambar 0.16 Kakas peralatan Report Designer

Drag sebuh Matrix ke dalam area laporan pada tab Design

Gambar 0.17 Menambahkan Matrix ke dalam area desain

Tambahkan atribut Category yang terdapat pada set data DatasetAdventureWorksDW ke dalam baris
dengan menggerakkan mouse ke penanda air Rows dari Matrix, setelah muncul ikon , klik ikon
tersebut lalu pilih Category
Gambar 0.18 Menambahkan atribut Category

Tambahkan atribut SubCategory sebagai sub kelompok Category dengan cara meng-klik kanan pada
kelompok baris Category di Grouping Pane, lalu pilih Add Group > Child Group

Gambar 0.19 Menu untuk menambah kelompok baris baru

Pilih [SubCategory] lalu klik tombol OK

Gambar 0.20 Menambah sub kelompok SubCategory

Tambahkan atribut Sales_Territory_Group sebagai kelompok kolom dengan cara menggerakkan mouse
ke penanda air Columns, pada saat muncul ikon , klik ikon tersebut lalu pilih Sales_Territory_Group
Gambar 0.21 Menambahkan Kolom Sales_Territory_Group

Tambahkan atribut Calendar_Year sebagai kelopok kolom baru di sebelah kelompok kolom
Sales_Territory_Group dengan cara meng-klik kanan pada kelompok kolom Sales_Territory_Group di
Grouping Pane, lalu pilih Add Group > Adjacent After. Penambahan kelompok baru inilah yang
merupakan fitur Tablix.

Gambar 0.22 Menu untuk menambah kelompok kolom baru

Pilih [Calendar_Year] lalu klik tombol OK

Gambar 0.23 Menambah kelompok Calendar_Year

Tambahkan measure Internet_Sales_Amount dengan menggerakkan mouse ke bagian data di bawah


Sales_Territory_Group, pada saat muncul ikon klik ikon dan pilih Internet_Sales_Amount
Gambar 0.24 Menambahkan measure Internet_Sales_Amount

Tambahkan Internet_Sales_Amount sekali lagi di bawah Calendar_Year

Untuk melihat hasil desain klik tab Preview

Gambar 0.25 Melihat laporan hasil desain

4.4.5 Menambahkan Parameter

Parameter digunakan untuk menyaring data yang akan dilihat. Untuk menambahkan parameter tahun
ke dalam contoh report diatas, klik kanan pada dataset DatasetAdventureWorksDW dan pilih Dataset
Properties

Setelah form Dataset Properties tampil klik tombol Query Designer

Pada pane Filter, pilih Date pada kolom Dimension, Date.CalendarYear, Equal pada kolom Operator, dan
beri centang pada kolom Parameters lalu klik tombol OK.
Gambar 0.26 Menambahkan parameter

Report Designer akan menambahkan parameter pada dataset secara otomatis. Klik tombol OK untuk
menutup layar Dataset Properties

Gambar 0.27 Tab parameter di dialog Dataset Properties

Report Designer juga akan secara otomatis menambahkan parameter ke dalam Report Data Pane

Gambar 0.28 Parameter di Report Data Pane

Untuk melihat hasilnya, klik tab Preview, pilih tahun dari combo box Date.Calendar Year lalu klik tombol
View Report
Gambar 0.29 Melihat laporan yang telah ditambahkan parameter

4.4.6 Mempublikasikan Laporan

Sebelum mempublikasikan laporan yang telah dibuat ke Report Server, ketahui dulu lokasi URL Report
Server menggunakan Reporting Services Configuration Manager lewat Start > All Programs > SQL Server
2008 > Configuration and Tools > Reporting Services Configuration Manager

Gambar 0.30 Menu utuk membuka Reporting Services Configuration Manager

Isi nama Report Server tempat laporan akan disimpan lalu klik tombol Connect
Gambar 0.31 Tampilan untuk mengakses sebuah report server

Klik pada tab Web Service URL untuk melihat URL Report Server. Dari gambar dibawah dapat dilihat
bahwa URL Report Server adalah http://SQLSERVER2008:8080/ReportServer. Klik tombol Exit untuk
menutup Reporting Services Configuration Manager

Gambar 0.32 Tab Report Server

Buka menu Project > SalesReport Properties


Gambar 0.33 Menu untuk melihat properti projek

Isi properti TargetRerportFolder dengan Sales Report, dan TargetServerURL dengan alamat Report
Server, lalu klik OK

Gambar 0.34 Mengatur report server yang akan digunakan

Untuk mempublikasikan laporan pilih menu Build > Deploy SalesReport

Gambar 0.35 Menu untuk Memasang Lapooran


4.4.7 Mengakses dan Melihat Laporan

Untuk mengakses laporan yang telah dipublikasikan di report server kita dapat menggunakan web
browser seperti Internet Explorer dan membuka URL Report Manager

Gambar 0.36 Tampilan halaman muka Report Manager

Setelah halaman muka Report Manager terbuka, klik pada folder Sales Report, lalu klik link
InternetSalesReport. Pilih tahun calendar yang ingin dilihat lalu klik tombol View Report untuk
melihatnya

Gambar 0.37 Tampilan laporan yang dibuka dengan Report Manager


Daftar Pustaka

 Accelerate SQL Server 2008. Rober E Walters, Michael Coles, Rober Rae, Fabio Ferrachiati,
Donald Farmer. Apress
 Delivering Business Intelligence with Microsoft SQL Server 2008. Brian Larson. McGraw Hill.
 http://codeplex.com
Appendix A

Instalasi Sampel Database AdventureWorks di SQL Server 2008

Berikut ini penulis tunjukkan langkah-langkah mengunduh dan menginstall sample database
AdventureWorks 2008.

1. Masuk ke dalam link codeplex.com


(http://msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18407)
untuk mengunduh salah satu dari installer di bawah ini:
a. SQL2008.AdventureWorks_All_Databases.x86.msi (untuk arsitektur prosesor x86)
b. SQL2008.AdventureWorks_All_Databases.x64.msi (untuk arsitektur prosesor x64)
c. SQL2008.AdventureWorks_All_Databases.ia64.msi (untuk arsitektur prosesor Itanium)
2. Klik tombol “I Agree” ketika mengunduh salah satu dari file msi di atas, dan simpan di lokasi
lokal komputer anda.
3. Double click installer (file msi) yang telah disimpan, dan installer memunculkan dialog box
konfirmasi seperti pada gambar di bawah ini, pilih tombol Run untuk melanjutkan instalasi.

4. Setelah menekan tombol Run, installer akan menampilkan informasi mengenai instalasi
database sampel AdventureWorks, pilih tombol Next untuk melanjutkan.
5. Pada bagian End-User License Agreement, pilih check box “I accept the terms in the License
Agreement” dan tekan tombol Next untuk melanjutkan.
6. Aktifkan pilihan untuk Desktop Shortcuts (pada gambar di bawah). Anda bisa meletakkan lokasi
instalasi pada folder tertentu dengan menekan tombol Browse. Pada contoh di bawah ini,
penulis meletakkan pada “E:\temp\sql server 2008 samples\”.

7. Pada bagian Database Setup, pilih instance SQL Server yang akan diinstal sampel database
AdventureWorks. Di komputer local saya terdapat 3 buah instance dan saya memilih instance
yang kedua (SQL2008_2), sesuaikan dengan kondisi komputer anda masing-masing. Selanjutnya
tekan tombol Next.
8. Pada bagian ini, tekan tombol Install untuk melakukan instalasi pada instance yang telah anda
pilih pada langkah 6.
9. Tunggu beberapa menit, instalasi anda selesai dengan munculkan dialog box di bawah ini dan
tekan tombol Finish. Pada langkah ini SQL Server anda telah terdapat sampel database
AdventureWorks.

10. Buka SQL Server Management Studio (SSMS) (lewat Start > Microsoft SQL Server 2008 > SQL
Server Management Studio). Pada pesan dialog “Connect to Server”, pilih atau ketikkan nama
instance SQL Server yang anda pilih untuk instalasi sampel database AdventureWorks (di
langkah 6) dan tekan tombol “Connect”. Anda akan menjumpai beberapa database
AdventureWorks pada gambar di bawah ini. Untuk eksplorasi data mining dan pembahasan di
dalam business intelligence pada umumnya, penulis akan menggunakan database
AdventureWorksDW2008.
Appendix B

Instalasi Sampel Solusi Analysis Service

Berikut ini penulis tunjukkan langkah-langkah melakukan kompilasi sampel analysis service project
AdventureWorks

1. Buka windows explorer, dan masuk ke dalam folder instalasi SQL Server dimana tersimpan
sampel project analysis service untuk AdventureWorks yaitu C:\ Program Files\Microsoft SQL
Server\100\Tools\Samples\AdventureWorks 2008 Analysis Services Project\enterprise. Bila
belum terdapat sampel ini, bisa diunduh di portal SQL Server Indonesia (http://sqlserver-
indo.org/files/folders/articles/entry306.aspx). Setelah diunduh, rename ekstensi file dari .docx
ke .zip kemudian extract ke folder instalasi SQL Server di atas.
2. Double click file Adventure Works.sln, Visual Studio 2008 akan terbuka.
3. Di dalam Visual Studio, pastikan panel window Solution Explorer terbuka. Bila belum tampil,
pilih menu View kemudian sub menu Solution Explorer. Solution Explorer akan tampil seperti
pada gambar di bawah ini.

4. Expand folder Data Sources untuk menampilkan Adventure Works.ds, right click pada Adventure
Works.ds lalu pilih View Designer di dalam context menu. Data Source Designer akan muncul
seperti pada gambar di bawah ini :
5. Tekan tombol Edit untuk melakukan penyesuaian lokasi database AdventureWorks dan account
yang digunakan untuk mengakses database AdventureWorks, maka muncul Connection
Manager seperti pada gambar di bawah ini:
6. Lakukan penyesuaian nama server di combo box Server Name, jenis otentikasi di bagian Log on
to the server dan pilih nama database AdventureWorksDW2008 di bagian Connect to a
Database. Test koneksi dengan menekan tombol Test Connection. Bila terkoneksi dengan benar
akan tampil pesan bahwa koneksi berjalan dengan baik (“Test connection succeeded). Tutup
pesan tersebut dan tekan tombol OK pada Connection Manager seperti pada gambar yang
tampil pada langkah 5.
7. Pada Solution Explorer, klik kanan pada project analysis service (Adventure Works DW 2008) dan
pilih menu Properties seperti pada gambar di bawah ini.
8. Pada Adventure Works DW 2008 Property Pages, pilih item Deployment pada panel sebelah kiri,
dan isi nama server yang menjadi tujuan deployment (contoh : localhost) dan nama database
analysis service (contoh : Adventure Works DW 2008). Dan tekan tombol OK. Selengkapnya
dapat dilihat pada gambar di bawah ini.
9. Pada Solution Explorer, right click pada project Adventure Works DW 2008 dan pilih Build menu
seperti pada gambar di bawah ini.
10. Setelah selesai melakukan Build untuk memastikan tidak ada kesalahan di dalam analysis
project, langkah berikutnya adalah melakukan deployment ke analysis service. Caranya adalah
right click pada project Adventure Works DW 2008 dan pilih menu Deploy seperti pada gambar
di bawah ini.
11. Proses deployment akan berlangsung beberapa saat, dan akan menampilkan pesan deployment
berhasil dilakukan seperti pada gambar di bawah ini:
12. Dengan berhasilnya deployment sampai pada langkah 12, analysis service database Adventure
Works DW 2008 telah terinstal pada Analysis. Untuk memastikan, anda bisa membuka SQL
Server Management Studio, kemudian pada dialog Connect to Server, pilih Analysis Services di
bagian Server Type, dan nama server analysis services di bagian Server Name dan tekan tombol
Connect seperti pada gambar di bawah ini :
13. Di dalam panel window Object Explorer, expand folder Databases, analysis service database
Adventure Works DW 2008 akan berada di folder tersebut.

Anda mungkin juga menyukai