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://sqlserverindo.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 Bab 2 Bab 3 Bab 4 Daftar Pustaka Appendix A Appendix B Instalasi Sampel Database AdventureWorks di SQL Server 2008 Instalasi Sampel Solusi Analysis Service SQL Server 2008 Integration Services (SSIS) SQL Server 2008 Analysis Services (SSAS) SQL Server 2008 Data Mining SQL Server 2008 Reporting Services (SSRS)

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. Fiturfitur 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 tasktask 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, mengupdate 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-0101.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 Book\VoucherIndoData

VoucherIndo_DataFolder,

dan

isi

nilainya

dengan

C:\E-

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, VoucherIndo_DataFolder dari combo box, lalu klik tombol Next

dan

pilih

environment

variable

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 xmlbased.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 tugastugas 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)) DimTime from AdventureWorksDW.dbo.DimTime; DateKey,* into

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 Cubes 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 Nave 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 gesergeser 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 Nave Bayes

Algoritma Nave Bayes akan mengevaluasi setiap atribut yang mengkontribusi prediksi pada atribut target (atribut BikeBayer pada solusi AdventureWorks DW 2008). Namun Algoritma Nave 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 Nave Bayes adalah hanyalah klasifikasi.

Kembali kepada Gambar 3.4.1, pilih TM Nave Bayes pada combo box Mining Model dan Microsoft Nave 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 Nave 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 Nave Bayes, dimana kita bisa melihat distribusi nilai setiap kelompok yang ada pada setiap atribut. Perbedaannya adalah attribute profiles di Nave 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 Nave 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 Nave 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 Nave 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 kombinasi input dari node lain fungsi aktivasi menuju ke node berikutnya.

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 Nave 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 handson, 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 Nave 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 Nave Bayes pada combo box Algorithm name dan beri nama mining model terkait dengan algoritma Nave Bayes yang dipilih (misalnya Bike Buyer Nave Bayes) dan tombol OK.

19. Muncul pesan bahwa Microsoft Nave Bayes tidak mendukung content type yang ada di dalam mining structure karena atribut Age dan Yearly Income bertipe continuous. Oleh karena itu Nave 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 Nave Bayes). Terlihat di dalam Nave 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 Nave 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 Nave 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 Nave 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 Nave 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 Nave 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 Nave 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://sqlserverindo.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