Diktat Advanced Database-OLD
-
Upload
cornelius-alvin-prilly -
Category
Documents
-
view
32 -
download
0
description
Transcript of Diktat Advanced Database-OLD
-
Practicum Module (Diktat Praktikum)
Subject: T0233 - Data Warehouse
Hands On Lab
Lecturer: D4520 - Violitta Yesmaya, S.Kom.
September 2011 (Odd Semester 2011/2012)
-
ii | P a g e
Information in this document, including URL and other Internet Web site references, is subject to change without
notice. This document supports a preliminary release of software that may be changed substantially prior to final
commercial release, and is the proprietary information of Binus University.
This document is for informational purposes only. BINUS UNIVERSITY MAKES NO WARRANTIES, EITHER
EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT.
The entire risk of the use or the results from the use of this document remains with the user. Complying with all
applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of
this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by
any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express
written permission of Binus University.
Binus Universitymayhave patents, patent applications, trademarks, copyrights, or other intellectual property rights
coveringsubject matter in this document. Except as expressly provided in any written license agreement from Binus
University, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or
other intellectual property.
Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos,
people, places and events depicted herein are fictitious, and no association with any real company, organization,
product, domain name, email address, logo, person, place or event is intended or should be inferred.
2011 Binus University. All rights reserved.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
-
iii | P a g e
Table of Contents
Preface ............................................................................................................ iv OVERVIEW ....................................................................................................... v Chapter 01 Administration - Security ............................................................................ 1 Chapter 02 Administration - Transaction Management ....................................................... 13 Chapter 03 Administration - Distributed Data ................................................................. 65 Chapter 04 Data Preprocessing ................................................................................. 72 Chapter 05 Data Cube Computation and Data Generalization ................................................ 92 Chapter 06 Mining Frequent Patterns, Association, and Correlations ...................................... 112 Chapter 07 Classification and Prediction .................................................................... 132 Chapter 08 Cluster Analysis .................................................................................. 174 Chapter 09 Application and Trends in Data Mining ......................................................... 190 Chapter 10 Data Warehouse .................................................................................. 195
-
iv | P a g e
Preface
Puji syukur saya panjatkan pada Tuhan Yang Maha Esa atas berkat rahmat-Nya sehingga
penulis dapat menyelesaikan diktat perkuliahan Data Mining untuk Jurusan Sistem Informasi,
pada Program Studi Ilmu Komputer di Universitas Bina Nusantara -Jakarta, ini dengan baik dan
tepat pada waktunya.
Penyusunan diktat ini disusun dengan tujuan untuk membantu pembaca dalam
memahami matakuliah Data Mining, yang dimana merupakan dasar untuk mempelajari lebih
jauh lagi mengenai algoritma-algoritma yang tedapat dalam Data Mining.
Penulis juga menyadari dalam diktat ini masih banyak kekurangan dan jauh dari kata
sempurna. Untuk itu, penulis dengan rendah hati bersedia menerima kritik dan saran yang
membangun dari segala pihak untuk penyempurnaan diktat ini.
Akhir kata, penulis juga ingin menyampaikan ucapan terima kasih sebesar-besarnya atas
semua pihak yang telah membantu dalam penyiapan, penulisan, dan penerbitan diktat ini. Dan
penulis juga berharap diktat yang telah dibuat ini dapat bermanfaat bagi para pembaca dan pihak-
pihak yang membutuhkan.
Jakarta, Oktober 2011
Penulis
D4520 - Violitta Yesmaya
-
v | P a g e
OVERVIEW
Chapter 01
Administration - Security
Chapter 02
Administration - Transaction Management
Chapter 03
Administration - Distributed Data
Chapter 04
Data Preprocessing
Chapter 05
Data Cube Computation and Data Generalization
Chapter 06
Mining Frequent Patterns, Association, and Correlations
Chapter 07
Classification and Prediction
Chapter 08
Cluster Analysis
Chapter 09
Applications and Trends in Data Mining
Chapter 10
Data Warehouse
-
1 | P a g e
Chapter 01
Administration - Security
-
2 | P a g e
1.1. Pengenalan Umum Sql Server
Microsoft SQL Server adalah Relational Database Management System
(RDBMS) yang dirancang untuk berjalan pada platform mulai dari laptop ke server
multiprosesor besar. SQL Server biasanya digunakan sebagai sistem backend untuk
website dan CRMS perusahaan dan dapat mendukung ribuan pengguna bersamaan.
SQL Server hadir dengan sejumlah alat untuk membantu Anda dengan
administrasi database dan tugas-tugas pemrograman.
SQL Server jauh lebih kuat dan terukur dari pada sistem manajemen database
desktop seperti Microsoft Access. Siapa pun yang pernah mencoba menggunakan Access
sebagai backend untuk website mungkin akan terbiasa dengan kesalahan yang dihasilkan
terlalu banyak bila pengguna mencoba untuk mengakses database.
Meskipun SQL Server juga dapat dijalankan sebagai sebuah sistem database
desktop, hal ini paling sering digunakan sebagai sistem database server.
Server Database System (Server berbasis sistem database)
Server berbasis sistem database yang dirancang untuk berjalan pada server pusat,
sehingga beberapa pengguna dapat mengakses data yang sama secara bersamaan. Para
pengguna biasanya mengakses database melalui aplikasi.
Sebagai contoh, sebuah website dapat menyimpan semua konten di database.
Setiap kali pengunjung pandangan artikel, mereka mengambil data dari database. Seperti
yang Anda ketahui, situs web biasanya tidak terbatas hanya pada satu pengguna. Jadi,
pada suatu saat tertentu, sebuah website bisa melayani sampai ratusan, atau bahkan ribuan
artikel untuk pengunjung website. Pada saat yang sama, pengguna lain dapat
memperbarui profil pribadi mereka di daerahnya, atau berlangganan newsletter, atau
apapun yang pengguna situs web lakukan.
Umumnya, itu aplikasi yang menyediakan fungsionalitas untuk para pengunjung
ini. Ini adalah database yang menyimpan data dan membuatnya tersedia. Karena itu,
SQL Server tidak termasuk beberapa fitur berguna yang dapat membantu aplikasi dalam
memberikan fungsinya.
-
3 | P a g e
1.2. New Server Registration & New Group
SQL Server Management Studio memisahkan kegiatan mendaftarkan server
dan mengeksplorasi objek-objek server. Setiap server (lokal atau remote) harus terdaftar
sebelum digunakan. Sebuah server dapat didaftarkan selama pelaksanaan pertama dari
SQL Server Management Studio atau yang lebih baru. Untuk mendaftarkan server
database di window Registered Server, expand folder Database Engine, klik kanan
Local Server Groups dan pilih New Server Registration.
Pada kotak dialog New Server Registration, klik tab General. Pada textbox
Server name, ketik nama server yang ingin Anda daftarkan. Untuk contoh bernama,
-
4 | P a g e
ketik nama dalam format SERVER_NAME [\instance_name]. Dalam Authentication,
default-nya adalah Windows Authentication, atau klik SQL Server Authentication,
dan lengkapi username and password. Pilih Remember password jika Anda ingin SQL
Server Management Studio untuk menyimpan password (tidak disarankan). Klik Save.
-
5 | P a g e
Server Group
Klik kanan folder Database Engine dan pilih New Server Group
Ketikkan nama grup dan deskripsinya, kemudian klik OK.
SQL Server Management Studio juga memisahkan mendaftarkan server dan
menghubungkan ke server. Ini berarti bahwa mendaftarkan server tidak secara otomatis
menghubungkan Anda ke server. Untuk menyambung ke server dapat dilakukan dengan
membuka window Object Explorer, kemudian klik button Connect Database
Engine, dan memilih server koneksi dan pengaturannya.
-
6 | P a g e
1.3. Introduction Users Database
Login digunakan untuk otentikasi pengguna. Sebuah akun user database
digunakan untuk akses database dan validasi izin. Login diasosiasikan dengan pengguna
oleh keamanan identifier (Security Identifier - SID). Login diperlukan untuk akses ke
server SQL Server. Proses verifikasi yang login tertentu berlaku disebut "otentikasi".
Login ini harus dikaitkan kepada pengguna database SQL Server. Anda menggunakan
user account untuk mengontrol kegiatan yang dilakukan dalam database. Jika tidak ada
user account ada dalam database untuk login tertentu, user yang menggunakan login
tersebut tidak dapat mengakses database meskipun pengguna mungkin dapat terhubung
ke SQL Server. Pengecualian tunggal untuk situasi ini adalah ketika database berisi
"guest" user account. Sebuah login yang tidak memiliki user account yang berhubungan
dipetakan ke pengguna tamu. Sebaliknya, jika pengguna database ada tetapi tidak ada
login terkait, pengguna tidak dapat login ke server SQL Server.
Create New Login
Untuk membuat login baru
Langkah:
1. Pada bagian Object Explorer, expand folder Security, klik kanan pada
Logins pilih New Login.
2. Input Login name pilih SQL Server authentication Input Password
dan Confirm password Uncheck Enforce password police klik OK.
-
7 | P a g e
3. Setelah itu agar bisa login dengan menggunakan user yang kita buat.
Klik kanan pada server database SQL Server pilih Properties
Klik Security pada Server Properties pilih SQL Server and Windows
Authentication mode OK
-
8 | P a g e
Kemudian klik kanan pada server database SQL Server pilih Restart
OK
-
9 | P a g e
-
10 | P a g e
1.4. Introduction Fixed Sever Roles
Sever Roles didefinisikan pada tingkat server dan berada diluar pengguna
database. Sever Roles bersifat tetap (fixed), sehingga Anda tidak dapat menambahkan,
menghapus atau memodifikasi Sever Roles. Anda hanya dapat menambahkan pengguna
sebagai anggota dari peran server.
Ada tujuh Fixed Sever Roles:
1. Sysadmin
Anggota Sever Roles sysadmin dapat melakukan semua aktivitas di SQL Server dan
telah menyelesaikan kontrol atas semua fungsi database.
2. Serveradmin
Anggota Sever Roles ServerAdmin dapat mengubah parameter server konfigurasi
dan mematikan server.
3. Setupadmin
Anggota Sever Roles setupadmin dapat mengelola server yang saling dihubungkan
(menambah atau menghapus server yang dihubungkan), mengelola replikasi,
mengatur tambahan prosedur yang tersimpan, dan menjalankan beberapa sistem
prosedur yang tersimpan, seperti sp_serveroption.
4. Securityadmin
Anggota Sever Roles securityadmin dapat membuat, mengelola login server, audit,
dan membaca error log.
5. Processadmin
Anggota Sever Roles processadmin dapat mengelola proses yang berjalan di SQL
Server.
6. Dbcreator
Anggota Sever Roles dbcreator dapat membuat, mengubah, dan database resize.
7. Diskadmin
Anggota Sever Roles diskadmin dapat mengelola file disk.
1.5. Introduction Fixed Database Roles
Dalam SQL Server 6.5 Anda dapat menggunakan grup database untuk
menyederhanakan manajemen sejumlah besar pengguna database. Sebagai contoh, Anda
-
11 | P a g e
dapat menggunakan grup database untuk memberikan dan mencabut izin untuk lebih dari
satu user pada waktu yang sama. Namun, grup database tidak lagi didukung di SQL
Server 7.0. SQL Server Database Roles bertindak seperti SQL Server 6.5 grup
database, tetapi roles memiliki beberapa perbaikan: di SQL Server 6.5 setiap user dapat
menjadi anggota hanya satu kelompok (selain kelompok masyarakat), tetapi dalam SQL
Server 7.0 setiap pengguna dapat memiliki banyak peran dan hasilnya pengguna izin
adalah gabungan semua peran mereka anggota.
Public Role adalah Database Role khusus yang dimiliki setiap pengguna
database. Public Role berisi izin akses default untuk setiap pengguna yang dapat
mengakses database. Public Role tidak dapat dihapus.
Fixed Database Roles didefinisikan di tingkat database dan ada dalam database
masing-masing. Anda tidak dapat menambah, menghapus atau memodifikasi Fixed
Database Roles. Anda hanya dapat menambahkan pengguna sebagai anggota Fixed
Database Roles.
Ada sembilan Fixed Database Roles:
1. db_owner
Anggota Database Roles db_owner dapat melakukan semua aktivitas dalam
database.
2. db_accessadmin
Anggota Database Roles db_accessadmin dapat menambahkan atau menghapus
Windows kelompok NT, pengguna atau pengguna SQL Server dalam database.
3. db_datareader
Anggota Database Roles db_datareader bisa melihat data dari semua tabel user
dalam database.
4. db_datawriter
Anggota Database Roles db_datawriter dapat menambah, mengubah, atau
menghapus data dari semua tabel user dalam database.
5. db_ddladmin
Anggota Database Roles db_ddladmin dapat membuat perintah bahasa definisi data
dalam database.
6. db_securityadmin
-
12 | P a g e
Anggota Database Roles db_securityadmin dapat mengatur hak akses pernyataan
dan objek dalam database.
7. db_backupoperator
Anggota Database Roles db_backupoperator dapat membuat cadangan database.
8. db_denydatareader
Anggota Database Roles db_denydatareader dapat menyangkal izin untuk memilih
data dalam database.
9. db_denydatawriter
Anggota Database Roles db_denydatawriter dapat menyangkal izin untuk
mengubah data dalam database.
1.6. User-Defined Database Role
Walaupun built-in Database Role menangani izin untuk tugas pengelolaan
database yang umum, kemungkinan bahwa Anda akan ingin untuk pengguna kelompok
yang memiliki akses untuk melakukan fungsi database tertentu.
Untuk membuat SQL Server role baru dalam database saat ini, Anda dapat
menggunakan sistem sp_addrole disimpan prosedur.
Sintaks:
sp_addrole [@rolename =] 'role' [,[@ownername =] 'owner']
dimana
@rolename adalah nama dari database role.
@ownername adalah nama dari pemilik role baru.
Untuk menghapus SQL Server role dari database saat ini, Anda dapat menggunakan
sistem sp_droprole disimpan prosedur.
Sintaks:
sp_droprole [@rolename =] 'role'
dimana
@rolename adalah nama dari database role.
-
13 | P a g e
Chapter 02
Administration - Transaction Management
-
14 | P a g e
2.1 Introduction to Transferring Data
Yang dimaksud Transferring Data disini, adalah pemindahan data antar
database (misal: SQL Server, Access, DB2, Oracle, dll) maupun file yang berisi text
(Excel misalnya).
2.2 Introduction to DTS
Data Transformation Services (DTS) adalah sekumpulan tools yang digunakan
untuk memanipulasi data secara cepat dan mudah. Jika anda menggunakan database
SQL Server, maka anda dapat menggunakan DTS wizard untuk melakukan import
maupun export dari SQL Server ke database/data source lain.
DTS mengalokasikan bisnis penting menyediakan satu set alat-alat yang
memungkinkan Anda extract, transform, dan konsolidasi data dari sumber yang berbeda
ke dalam satu atau beberapa tujuan didukung oleh DTS konektivitas. DTS dengan
menggunakan peralatan untuk membangun DTS grafis paket atau program paket dengan
DTS model objek.
2.3 Transforming Data with DTS
Untuk melakukan DTS pada SQL Server 2008, kita dapat menggunakan SQL
Server Business Intelligence Development Studio.
Langkah:
1. Buka Program SQL Server Business Intelligence Development Studio
-
15 | P a g e
Atau
Klik Start Run ketik devenv Klik OK
2. Buat project baru dengan cara klik File New Project
3. Pilih project Integration Services Project, beri namanya, dan tentukan lokasi save-
nya, kemudian tekan OK.
-
16 | P a g e
4. Pilih Tab Data Flow klik No Data Flow tasks have been added to this
package. Click here to add a new Data Flow task. Data Flow digunakan untuk
mengambil data dari sumber data ke tujuan.
5. Transfer Data
Sumber data dapat diambil dari beberapabentuk yang berbeda, antara lain:
a. ADO NET Source
Transfer data dari .NET provider agar datanya tersedia di Data Flow.
b. Excel Source
Mengekstrak data dari worksheets excel atau sebagian dari workbook excel.
c. Flat File Source
Membaca data dari text file.
d. OLE DB Source
Mengekstrak data dari berbagai sumber relational database dengan
menggunakan tabel, view atau SQL command. Sumber yang paling umum
biasanya Microsoft Access atau SQL Server.
e. Raw file Source
Membaca data mentah dari sebuah file.
f. XML Source
Membaca data dari file XML.
Berikut ini akan di contohkan transfer data dari sumber Excel dan dari SQL Server:
a. Transfer Data from Excel
Langkah:
-
17 | P a g e
1) Tarik Data Flow Sources dan Data Flow Destinations ke dalam Data
Flow. Contohnya jika kita ingin melakukan DTS dari excel ke SQL Server,
langkah-langkahnya:
a) Tarik Data Source dari Toolbox (Data Flow Sources)
b) Pilih source, contoh pilih Excel Source
c) Pilih Data Destination dari Toolbox (Data Flow Destinations)
d) Pilih Destination, contoh pilih OLE DB Destination.
e) Tarik garis dari source ke destination.
2) Buatlah sebuah file baru kemudian save dengan nama Students.xlsx,
dengan isi data sebagai berikut:
3) Klik ganda pada Excel Source untuk memilih file dalam melakukan DTS,
kemudian klik New
-
18 | P a g e
4) Kemudian klik Browse untuk memilih Excel file path pilih Excel
Version sesuai dengan file version yang disimpan
5) Kemudian pilih Name of the Excel Sheet klik OK
-
19 | P a g e
6) Klik ganda pada OLE DB Destination untuk memilih database yang ingin
digunakan untuk menampuang data dari Students.xlsx, kemudian klik
New
-
20 | P a g e
7) Kemudian pada Connection Manager input Server name dengan .
(localhost) pilih database name klik OK
8) Pada Configure OLE DB Connection Manager klik OK
-
21 | P a g e
9) Pilih Data access mode menjadi Table or View - fast load klik New
10) Klik OK ketika tabel telah berhasil dibuat
-
22 | P a g e
11) Klik OK
-
23 | P a g e
12) Untuk memulai dan mengecek keberhasilan DTS yang kita lakukan klik
tombol play atau F5. Pastikan jumlah row-nya sama dengan row yang di
simpan pada file Students.xlsx
13) Kemudian cek keberhasilan hasil dari DTS yang dilakukan dengan
melakukan query select pada database atau refresh tabel yang ada pada
database klik kanan Select Top 1000 Rows
b. Transfer Data from SQL Server
Langkah:
1) Tarik OLE DB Source dan Slowly Changing Dimension ke dalam Data
Flow. Tarik juga garis hijau dari OLE DB Source ke Slowly Changing
-
24 | P a g e
Dimension. Cara ini dilakukan jika ingin mengambil data dari tabel lain di
Microsoft SQL.
OLE DB Destination Slowly Changing Dimension
Tidak di filter Di filter berdasarkan atributnya
Digunakan untuk time dimension
dan fakta
Digunakan untuk semua dimension
kecuali time dimension
2) Lalu klik ganda di OLE DB Source. Pada panel OLE DB Source Editor,
klik New.
-
25 | P a g e
3) Klik New pada Configure OLE DB Connection Manager.
-
26 | P a g e
4) Isi Server name dengan . (titik). Pilih Use Windows Authentication.
Pilih database sumber. Test Connection untuk mengecek koneksi ke
database. Klik OK.
5) Klik OK.
6) Pilih Data access mode dan tabel tujuan. Klik Preview untuk melihat data
dari tabel yang dipilih. Klik OK.
-
27 | P a g e
Data access mode:
a) Table or view
Memuat data dari tabel atau view ke OLE DB destination
b) Table or view - fast load
Memuat data dari tabel atau view ke OLE DB destination dengan fast
options
c) Table name or view name variable
Menentukan tabel atau view name di variabel
d) Table name or view name variable - fast load
Menentukan tabel atau view name di variabel dengan fast options
e) The results of an SQL statement
Memuat data ke dalam OLE DB Destination dengan menggunakan
SQL Query
Fast Load Options:
-
28 | P a g e
Pada Table or view proses yang dilakukan akan lebih lama dibandingkan
jika menggunakan Table or view - fast load. Pada Table or view jika
terjadi error, maka baris yang error akan dimasukkan ke dalam tabel error.
Sedangkan pada Table or view - fast load, error yang ditemukan tidak
dimasukkan ke dalam tabel error.
7) Klik ganda pada Slowly Changing Dimension. Klik Next.
8) Klik New jika connection belum dibuat. Pilih dari drop down menu jika
connection sudah pernah dibuat sebelumnya.
-
29 | P a g e
9) Klik New.
-
30 | P a g e
10) Isi Server name dengan . (titik). Pilih Use Windows Authentication.
Pilih database yang dituju. Test Connection untuk mengecek koneksi ke
database. Klik OK.
11) Klik OK.
-
31 | P a g e
12) Pilih tabel tujuan transfer. Pilih minimal 1 business key dari tabel yang
dipilih. Secara singkat, business key adalah primary key. Klik Next.
13) Lalu tentukan atribut untuk field-field yang bersangkutan sesuai kebutuhan.
Terdapat 3 atribut yang dapat dipilih:
a) Fixed attribute digunakan jika value pada field tidak berubah. Jika
terdapat perubahan data, transfer dinyatakan gagal.
b) Changing attribute digunakan jika value pada field berubah. Jika
terdapat perubahan data, data sebelumnya akan di-overwrite dengan
data yang baru.
-
32 | P a g e
c) Historical attribute digunakan jika ingin menyimpan history dari data
sebelumnya jika terdapat perubahan data. Untuk menggunakannya
diperlukan 1 kolom tambahan untuk menandakan data tersebut valid
atau tidak valid pada waktu tertentu.
14) Pilih Fail the transformation if changes are detected in a fixed attribute
untuk memastikan proses penarikan data akan digagalkan jika ditemukan
perubahan pada field yang beratribut fixed. Klik Next.
15) Jika menggunakan Historical attribute. Pilih field yang digunakan sebagai
penanda historical-nya. Tentukan juga value untuk valid dan tidak validnya.
Klik Next.
-
33 | P a g e
16) Klik Next.
-
34 | P a g e
17) Klik Finish.
18) Hasil ETL..
-
35 | P a g e
Cara untuk Import Data:
Connect ke Registered Server pada Database Explorer.
Setelah tersambung klik kanan pada salah satu database, pilih menu "Task",
kemudian klik pada menu item "Import Data" atau "Export Data".
-
36 | P a g e
Langkah-langkah untuk memindahkan data
Berikut adalah isi data dari file Excel:
CustomerID Name EmailAddress Phone
1 Mbadogz [email protected] 800-123-5678
2 Grimjoe [email protected] 417-891-1234
3 Dum My [email protected] 234-555-8901
4 Barbarian [email protected] 345-678-9012
5 Paladin [email protected] 765-432-1098
6 Trickster [email protected] 321-456-0897
-
37 | P a g e
Kemudian, layar berikut akan ditampilkan:
Jika Anda tidak ingin melihat halaman awal seperti ini lagi, pilih "Do not show
this start page again", kemudian klik Next.
-
38 | P a g e
Pada window ini, identifikasi sumber data yang ingin diimpor atau ekspor. Karena
contoh data sumber berasal dari excel file, pilih data source: "Microsoft Excel.
Setelah memilih "Microsoft Excel" sumber data layar berikut ditampilkan:
-
39 | P a g e
Jika baris pertama merupakan nama Kolom, pilih First row has column
names. Setelah selesai menentukan semua informasi Data Source, kita perlu
menentukan tujuan import/export. Sebagai contoh, jika ingin menempatkan Data
Source ke dalam tabel database SQL Server. Gunakan window "Choose a
Destination" seperti gambar di bawah ini untuk menentukan lokasi penempatan
data:
-
40 | P a g e
Pilih Next, kemudian akan muncul window seperti berikut:
-
41 | P a g e
Pilih Copy data from one or more tables or views adalah pilihan jika kita
akan memasukkan semua data yang ada dari sumber ke dalam tujuan. Sedangkan
Write a query to specify the data to transfer berarti kalian mengambil data
sesuai query yang dituliskan. Dalam contoh ini digunakan pilihan Copy data
from one or more tables or views. Kemudian pilih Sheet mana pada excel yang
akan kita import
Kemudian akan muncul window untuk membuat SSIS package atau tidak dan
bisa melakukan enkripsi ke dalam SSIS package tersebut. Jika tidak ingin
membuat SSIS package masa pilih Run immediately. Klik Next maka akan
muncul pengaturan yang telah dilakukan. Kemudian pilih Finish:
-
42 | P a g e
-
43 | P a g e
Kemudian jika dilihat pada bagian Object Explorer maka seharusnya sudah ada
1 tabel berisi data yang didapat dari file excel.
Untuk melihat isi tabelnya, klik kanan pada tabelnya pilih Select Top 1000 Rows
-
44 | P a g e
2.4 Configuration Task
Apa itu Automated Administration?
Automated Administration adalah respon program ke predictable tanggung jawab
administratif atau server events. Administrator, application writer, dan analis operasi
gudang data mendapat manfaat dari tugas otomatisasi. Untuk otomatis administrasi:
-
45 | P a g e
Tanggung jawab administrasi atau server events terjadi secara teratur dan
dapat diprogram secara administratif.
Menentukan kumpulan jobs dan alert.
Menjalankan SQL Server Agent Service.
Mengapa kita menggunakan Automated Administration ?
Tugas dari seorang administrator terdiri dari berbagai tugas-tugas administrasi yang
tidak berubah dari hari ke hari dan dapat membosankan. Dengan otomatisasi tugas
dan tanggapan ke server, waktu Anda dapat digunakan untuk melakukan tugas-tugas
lainnya yang membutuhkan kreativitas.
Setup SQL Agent Settings
Pada bagian Object Explorer, klik kanan SQL Server Agent kemudian pilih
Properties
Pilih Alert System pada panel sebelah kiri, kemudian
Pilih Enable mail profile
Verify Mail system: Database Mail
Verify Mail profile: SQL Alerts
-
46 | P a g e
Pilih Include body of e-mail in notification message
Klik OK
Restart SQL Agent untuk mengaktifkan settingan.
2.5 Creating Jobs, Operators, and Alerts
Membuat Job
1. Dalam Object Explorer, konek ke sebuah database dari SQL Server Database
Engine, dan kemudian expand database.
-
47 | P a g e
2. Expand SQL Server Agent, klik kanan pada Jobs New Job.
Pada tab General, pilih textbox Name, beri nama job yang akan dibuat.
3. Uncheck Enabled jika job tidak ingin segera dijalankan ketika job selesai dibuat.
4. Pada tab Description, masukkan deskripsi job yang dibuat. Maksimum panjang
karakter adalah sepanjang 512 karakter.
-
48 | P a g e
5. Pada panel sebelah kiri, pilih menu Steps, kemudian klik tombol New, untuk
membuat Job step baru.
6. Pada bagian New Job Step,
Masukkan nama step
Pilih Type
Pilih database
Masukkan Command (berupa syntax SQL yang akan dijalankan)
-
49 | P a g e
Pada page New Job Schedule,
1. Masukkan nama job schedule
2. Pilih type
3. Tentukan kapan job schedule akan dijalankan.
-
50 | P a g e
Pada page New Alert,
1. Masukkan nama new alert
2. Pilih Type
-
51 | P a g e
Pada page Notifications,
1. Masukkan perintah yang akan dilakukan ketika terjadi suatu event (baik
ketika job selesai dilakukan, maupun ketika job gagal dilakukan).
-
52 | P a g e
2. Pilih baik E-Mail, Page, Net Send, menulis ke Windows Application
event log, ataupun menghapus job secara otomatis.
Membuat Operator
1. Dalam Object Explorer, connect ke sebuah database dari SQL Server Database
Engine, dan kemudian expand database.
2. Klik kanan pada SQL Server Agen, kemudian arahkan pada New, lalu pilih
Operators.
3. Masukkan sebuah operator Name, E-mail name, dan klik OK
-
53 | P a g e
Berikut keterangannya:
Name menentukan nama operator. Nama dibatasi hingga 128 karakter.
E-mail name menentukan alamat e-mail dari operator. Jika menampilkan nama atau
nama alias yang dwimakna, kemudian menentukan yang memenuhi syarat e-mail
nama dalam kurung persegi. Misalnya, Anda dapat menggunakan [SMTP:
[email protected]]. Klik tombol Browse (...) untuk mencari SQL Server
buku alamat.
Pager e-mail name menentukan alamat pager operator. Jika menampilkan nama atau
nama alias yang dwimakna, kemudian menentukan yang memenuhi syarat e-mail
nama dalam kurung persegi. Misalnya, Anda dapat menggunakan [SMTP:
[email protected]]. Klik tombol Browse (...) untuk mencari SQL Server
buku alamat.
Net send address menentukan bersih mengirim alamat operator.
Pager on duty schedule menentukan hari-hari operator tersedia untuk menerima
pemberitahuan pager.
Workday begin menentukan jangka waktu setelah mana operator yang tersedia untuk
menerima pemberitahuan pager.
-
54 | P a g e
Workday end menentukan jangka waktu setelah mana operator tidak lagi tersedia
untuk menerima pemberitahuan pager.
Membuat Alert
1. Dalam Object Explorer, konek ke sebuah database dari SQL Server Database
Engine.
2. Klik kanan pada SQL Server Agent, kemudian arahkan pada New, lalu pilih
Alert.
3. Pada page General masukkan
Name: Test
Type: SQL Server performance condition alert
Object: SQL Server:Databases
Counter: Data File(s) Size (KB)
Instance: tempdb
Alert if counter: rises above
Value: 0
-
55 | P a g e
4. Klik page Response pada panel sebelah kiri
Pilih Notify Operator
Pilih E-mail untuk operator
5. Klik page Options pada panel sebelah kiri
Pilih E-mail pada Include alert error text in
Delay between response: 2 minutes
Klik OK
-
56 | P a g e
Verifikasi Alert Telah Aktif
Operator harus menerima e-mail jika solusi pemecahan masalah.
Buka alert. Klik History pada panel sebelah kiri.
Kolom akan ter-update ketika trigger alert ditekan.
Untuk menonaktifkan alert
-
57 | P a g e
Klik General di sebelah panel kiri dan menghapus tanda centang dari Aktifkan dan
klik OK atau
Klik kanan pada nama alert dan pilih Disable
2.6 Backup
Definisi backup
Aa backup or the process of backing up refers to making copies of data so that these
additional copies may be used to restore the original after a data loss event.
Dengan kata lain, Salinan dari sebuah data yang digunakan untuk men-restore dan
recover data setelah terjadi kesalahan dalam sistem.
Jenis-Jenis Metode Backup
Full
Sebuah backup lengkap yang berisi semua data dalam database tertentu atau set file
groups atau file, dan juga log yang memungkinkan untuk di-restore.
Differential
Sebuah backup dari semua file dalam database. Backup ini hanya berisi data
tambahan yang dimodifikasi dari backup database yang paling terbaru dari setiap file.
-
58 | P a g e
Partial
Backup ini dirancang untuk memberikan fleksibilitas yang lebih untuk membuat
backup database yang mengandung beberapa file groups read-only dengan model
restore yang sederhana.
File
Hanya mem-backup beberapa file saja, tidak keseluruhan database.
Transaction Log
Hanya mem-backup modifikasi yang dibuat pada database.
Copy Only
Biasanya, mengambil perubahan backup database dan mempengaruhi saat di-restore.
Recovery Models
Untuk memulai backup, kita perlu menentukan Recovery Models
Ada 3 Recovery Models: Full, Simple dan Bulk Logged:
- Simple - dalam Simple Recovery, tidak mendukung Transcation Log sehingga
hanya dapat melakukan recovery dengan Full Backup atau Differential Backup
yang terahir
- Full - dalam Full Recovery kita melakukan backup database dan Transcation
Log sehingga Anda dapat database recovery dalam jangka waktu tertentu
- Bulk Logged - dalam login massal, sebagian besar transaksi tersebut disimpan dalam
Transcation Log
Cara membackup database:
Klik kanan pada database yang ingin di backup
Pilih Tasks
Pilih Back Up
Tentukan jenis backup dan lokasi backup
Klik OK
Langkah-langkah:
1. Klik kanan pada database Tasks Backup
-
59 | P a g e
2. Lalu setelah kotak dialog Back Up Database - master muncul, klik Add untuk
menambahkan alamat kemana hasil backup akan disimpan.
-
60 | P a g e
3. Kemudian akan muncul kotak dialog Select Backup Destination, lalu tentukan
kemana hasil backup akan disimpan, lalu klik OK.
-
61 | P a g e
2.7 Restore Database
Cara merestore database:
Klik kanan pada folder Databases di Object explorer
Pilih restore
Tentukan kemana akan di-restore dan dimana lokasi file yang akan di-restore
Klik OK
Langkah-langkah:
1. Klik kanan Database Restore Database
-
62 | P a g e
2. Lalu setelah kotak dialog Restore Database - Db1 muncul, tentukan tujuan
database yang akan di-restore lalu pilih From device untuk menentukan lokasi
file yang mau di-restore.
3. Lalu akan muncul kotak dialog Specify Backup, klik Add untuk menambah
lokasi backup.
-
63 | P a g e
4. Setelah itu pilihlah file yang akan di-restore, kemudian klik OK.
-
64 | P a g e
-
65 | P a g e
Chapter 03
Administration - Distributed Data
-
66 | P a g e
3.1. Introduction to Distributed Data
Distributed Data
Semakin banyak aplikasi yang membutuhkan akses ke beberapa database yang terletak di
lokasi yang berbeda dan mungkin saja terpisah secara geografis. Dengan adanya sistem
database terdistribusi memungkinkan aplikasi untuk mengakses database di lokasi yang
berbeda.
Distributed Database Rules
Rule 0: Transparansi (C.J. Date) User tidak perlu mengetahui atau mempedulikan bahwa
database-nya terdistribusi.
Distributed Database Advantages
Operasi bisnis biasanya terdistribusi (entah itu per lokasi geografis, ataupun menurut
perbedaan department). Dengan database terdistribusi maka akan terjadi peningkatan
performance karena hampir semua update dan queries dilakukan secara local. Selain itu,
juga peningkatan performance terjadi karena adanya maintain local control dan
responsibility over data. Database terdistribusi juga memungkinkan untuk kombinasi
antar system (combine data). Database terdistribusi juga memungkinkan adanya prinsip
scalability dan ekspansi dengan system add-on bukan override/replacement.
Creating a Distributed Database
Langkah-langkah membuat database terdistribusi:
Design rencana administrative (Design administration plan).
Pilih hardware, vendor DBMS dann network yang dipakai.
Set up network dan koneksi-koneksi antar DBMS.
Pilih lokasi untuk data.
Pilih strategi replikasi.
Buat Backup plan dan strateginya.
Buat Local views dan synonyms.
Lakukan test (stress test): loads and failures.
-
67 | P a g e
Distributed Database versus Distributed DBMS
Perbedaan antara distributed database dan distributed DBMS:
Distributed database adalah relasi logikal antar shared data yang secara fisikal
terdistribusi melalui jaringan komputer.
Sedangkan,
Distributed DBMS adalah Software system yang mengatur database terdistribusi dan
membuatnya dapat transparent (to users).
Picture of Distributed DBMS
Berikut ini gambaran distributed DBMS:
DDBMS
Tipe-tipe DDBMS:
1. Homogeneous DDBMS
2. Heterogeneous DDBMS
Issue at Database Design
3 issue yang acap kali dibahas adalah FAR:
F: Fragmantation
A: Allocation
R: Replication
-
68 | P a g e
3.2. Introduction to SQL Server Replication
SQL Server Replication
Replikasi dengan SQL Server memungkinkan database administrator untuk
mendistribusikan data untuk berbagai server di seluruh organisasi. Replikasi dapat
dilakukan dengan beberapa alasan, yaitu:
Load Balancing
Replikasi memungkinkan untuk menyebarkan data ke sejumlah server dan kemudian
mendistribusikan beban permintaan di antara server-server tersebut.
Offline Processing
Manipulasi data pada database pada perangkat yang tidak selalu terhubung ke
jaringan.
Redundancy
Replikasi memungkinkan untuk membangun sebuah fail-over server database yang
siap untuk mengangkat beban pengolahan pada saat itu juga.
Dalam setiap skenario replikasi, terdapat dua komponen utama:
Publisher
Publisher menawarkan data ke server lain. Skema replikasi tertentu dapat memiliki
beberapa publisher.
Subscriber
Subscriber merupakan server database yang akan menerima update dari publisher
ketika data dimodifikasi.
3.3. SQL Server Replication Types
Microsoft SQL Server mendukung 3 jenis replikasi, yaitu:
Snapshot replication
Mendistribusikan data yang dapat dilihat pada saat tertentu tanpa melakukan
perubahan data. Biasanya digunakan pada saat memerlukan tampilan data seperti:
daftar harga, katalog, data yang digunakan untuk pengambilan keputusan. Data-data
ini sifatnya hanya read only.
-
69 | P a g e
Transactional replication
Memelihara kekonsistenan transaksi yang terjadi.
Merge replication
Merge replication memungkinkan publisher dan subscriber untuk melakukan
perubahan data secara independen. Merge replication berguna untuk menggabungkan
berbagai situs replikasi dan menggabungkan data modifikasi yang dilakukan beberapa
kali.
Goal of Data Replication
Tujuan dibuatnya replikasi data:
Mengurangi transmisi
Meningkatkan performa
Mensupport heavy multiuser access
Problems of Data Replication
Masalah-masalah yang timbul replikasi data:
1. Updating copies
Site unavailable
Bulk transmisions
2. Concurrency
Mempermudah lebih dari 1 user untuk mengubah atau mengakses data pada
saat yang bersamaan
3.4. Performance Monitoring and Tuning
Monitoring Performance with Replication Monitor
Microsoft SQL Server Replication Monitor memungkinkan Anda untuk memantau
kinerja dari transactional replication dan bergabung dalam cara sebagai berikut:
Menetapkan warning dan thresholds
Melihat pengukuran kinerja
Menentukan latency dengan tracer tokens (transactional replication)
Melihat statistik rinci sinkronisasi (merge replication)
-
70 | P a g e
Melihat dan pemberian waktu transaksi (transaksi replikasi)
Performance Monitoring and Tuning
Perfomance monitoring database bertujuan untuk menilai bagaimana kinerja server.
Microsoft SQL Server dan sistem operasi Microsoft Windows menyediakan utilitas
untuk melihat kondisi database saat ini dan untuk melihat perubahan kinerja database.
Dengan memahami bagaimana memonitor SQL Server dapat membantu:
Menentukan apakah peningkatan kerja dapat dilakukan
Evaluasi aktifitas user. Mencari tahu persoalan query apa yang dialami user dan
apakah kemananan sudah memadai
Masalah troubleshoot
Tes aplikasi
Langkah-langkah memonitor komponen SQL Server secara efektif:
Tentukan tujuan monitoring
Pilih perangkat yang sesuai
Mengidentifikasikan komponen untuk melakukan monitoring
Memilih metric untuk komponen
Memantau server
Menganalisa data
3.5. Tools for Monitoring and Tuning Tasks
Sistem operasi Windows dan SQL Server menyediakan satu set lengkap tools untuk me-
monitor transaksi server di lingkungan intensif. Windows menyediakan tools berikut
untuk memantau aplikasi yang berjalan pada server:
SQL Trace
SQL Server Profiler
SQL Server Management Studio Activity monitor
SQL Server Management Studio Graphical Showplan
Store procedures
Database Console Commands (DBCC)
-
71 | P a g e
Built-in function dan Trace flags
-
72 | P a g e
Chapter 04
Data Preprocessing
-
73 | P a g e
4.1. Theory
Data Preprocessing, bertujuan mentransformasikan data mentah ke format uang sesuai
untuk dianalisis agar menghasilkan data yang lebih berkuliatas. Langkah-langkah utama
dari data preprocessing adalah:
Data Cleaning
Berfungsi untuk mengganti nilai-nilai yang hilang, menormalkan data yang
bermasalah (noisy), mengindentifikasi dan menghilangkan data yang tidak konsisten
dan data yang berulang (redundancy) yang didapat dari integrasi data, dan
menyelesaikan masalah inconsistensi data.
Data Integration
Berfungsi untuk mengabungkan beberapa database dan file menjadi 1 sehingga
didapatkan sumber data yang besar.
Data Transformation
Berfungsi untuk menormalisasikan data dan aggresi data
Data Reduction
Berfungsi mengurangi volume data yang berlebihan tetapi tetap mempertahankan
kualitas dari hasil analisis data.
Data Discretization
Berfungsi sebagai bagian dari data reduction dengan memperhitungkan data yang
signifikan (data numeric).
Data preprocessing memiliki kemungkinan membutuhkan waktu yang sangat lama, hal
ini dikarenakan data yang mentah kemungkinan disimpan dengan fomat dan database
yang berbeda-beda.
4.2. Exercise
Car Line Company adalah sebuah perusahaan yang bergerak di bidang jual beli
mobil dan spare-part. Seiring dengan semakin majunya teknologi, Car Line Company
ingin membuat sebuah sistem informasi yang dapat menyediakan informasi dengan cepat,
akurat, mendetail dan terintegrasi. Dalam hal ini, general manager dari Car Line
-
74 | P a g e
Company ingin membuat sebuah data warehouse untuk membantu mereka dalam
melakukan pengambilan keputusan.
Untuk itu, Car Line Company meminta anda sebagai seorang Database
Administrator data warehouse untuk membangun sebuah data warehouse dengan
menggunakan Microsoft SQL Server yang dapat menangani informasi yang ada.
Berikut informasi dalam Car Line Company:
Dibutuhkan laporan mengenai penjualan mobil, meliputi jumlah mobil yang terjual
dan total pendapatan dari penjualan mobil. Total pendapatan dari penjualan mobil
didapat dari total perkalian harga jual mobil dengan jumlah mobil yang terjual
Dibutuhkan laporan mengenai penjualan spare-part, meliputi jumlah spare-part yang
terjual dan total pendapatan dari penjualan spare-part. Total penjualan pendapatan
dari spare-part didapat dari total perkalian harga spare-part dengan jumlah spare-
part yang terjual
Dibutuhkan laporan mengenai pembelian mobil, meliputi jumlah mobil yang dibeli
dan total biaya pembelian mobil. Total biaya pembelian mobil didapat dari total
perkalian harga beli mobil dengan jumlah mobil yang dibeli
Dibutuhkan laporan mengenai service mobil, meliputi rata-rata pendapatan dari
service mobildan jumlah transaksi service mobil. Rata-rata pendapatan dari service
mobil didapat dari harga service per-tipe mobil ditambah dengan total perkalian
jumlah spare-part yang di service dengan harga spare-part, hasil dari penjumlahan
tersebut kemudian di rata-rata.
Dibutuhkan laporan mengenai pengiriman mobil yaitu rata-rata biaya pengiriman
mobil dan jumlah transaksi pengiriman mobil
Laporan ingin dilihat setiap bulan, kuartal (per 3 bulan), dan tahun
Laporan juga harus dapat dilihat dari segi customer, supplier, spare-part, branch, car,
car type, servicetype, payment type dan staff
Dibutuhkan juga laporan ad-hoc yang dapat diminta kapan saja
Keterangan:
Setiap karyawan mempunyai satu jabatan
-
75 | P a g e
Setiap cabang terletak di satu provinsi
Pada proses ETL, kolom StaffGender akan dirubah menjadi 1 atau 2. Angka 1
menunjukkan Male. Angka 2 menunjukkan Female
Pada OLAP, kolom HighestEducation harus dapat diubah (manager tidak
membutuhkan data awal/data sebelum diubah)
Pada OLAP, kolom SparePartPrice harus dapat diubah (manager masih
membutuhkan data awal/data sebelum diubah)
Berdasarkan tabel OLTP perusahaan dan informasi di atas, tugas Anda:
Integrasikan data yang ada di OLTP menggunakan tools-tools yang ada pada SQL
Server Business Intelligence Development Studio 2008 dengan data preprocessing!
-
76 | P a g e
Berikut ini adalah OLTP Car Line Company:
MsPosition
PK PositionCode
Position
Division
Room
Salary
MsSupplier
PK SupplierCode
SupplierName
SupplierAddress
SupplierPhone
TrCarPurchaseHeader
PK CarPurchaseCode
FK1 SupplierCode
FK2 StaffCode
CarPurchaseDate
TrCarPurchaseDetail
PK,FK1 CarPurchaseCode
PK,FK2 CarCode
CarPurchaseQuantity
MsCar
PK CarCode
FK1 CarTypeCode
CarName
CarColor
CarStock
YearOfManufacture
PassengerCapacity
Displacement
FuelType
Cylinder
Transmission
WheelType
Height
EngineType
CarPurchasePrice
CarSalesPrice
MsCarType
PK CarTypeCode
CarType
MsStaff
PK StaffCode
FK1 BranchCode
FK2 PositionCode
StaffName
StaffAddress
StaffGender
StaffPhone
HighestEducation
MsBranch
PK BranchCode
FK1 ProvinceCode
BranchName
BranchAddress
BranchPhone
MsProvince
PK ProvinceCode
ProvinceName
TrCarSalesHeader
PK CarSalesCode
FK1 StaffCode
FK2 PaymentTypeCode
FK3 CustomerCode
CarSalesDate
TrCarSalesDetail
PK,FK1 CarSalesCode
PK,FK2 CarCode
CarSalesQuantity
MsPaymentType
PK PaymentTypeCode
PaymentType
TrSparePartSalesHeader
PK SparePartSalesCode
FK1 PaymentTypeCode
FK2 CustomerCode
FK3 StaffCode
SparePartSalesDate
TrSparePartSalesDetail
PK,FK1 SparePartSalesCode
PK,FK2 SparePartCode
SparePartSalesQuantity
MsCustomer
PK CustomerCode
CustomerName
CustomerAddress
CustomerPhone
CustomerBirthdate
MaritalStatus
NumberOfChild
TrCarServiceHeader
PK CarServiceCode
FK1 StaffCode
FK2 CustomerCode
FK3 CarServiceTypeCode
CarServiceDate
MsSparePart
PK SparePartCode
SparePartName
SparePartColor
SparePartStock
SparePartPrice
Material
Weight
MadeIn
TrCarShipment
PK CarShipmentCode
FK1 CarSalesCode
FK2 StaffCode
CarShippingCost
CarShippingDate
TrCarServiceDetail
PK,FK1 CarServiceCode
PK,FK2 SparePartCode
SparePartServiceQuantity
MsServiceType
PK CarServiceTypeCode
CarServiceTypeName
CarServiceTypePrice
-
77 | P a g e
Jawab:
Analisis
Dimensi:
TimeDimension
TimeID
Date
Day
Month
Quarter
Year
CustomerDimension
CustomerID
CustomerCode
CustomerBirthdate
MaritalStatus
NumberOfChild
SupplierDimension
SupplierID
SupplierCode
SupplierName
SupplierAddress
SparePartDimension
SparePartID
SparePartCode
SparePartName
SparePartColor
SparePartPrice
Material
Weight
MadeIn
BranchDimension
BranchID
BranchCode
ProvinceName
BranchName
BranchAddress
CarDimension
CarID
CarCode
CarName
CarColor
YearOfManufacture
PassengerCapacity
Displacement
FuelType
Cylinder
Transmission
WheelType
Height
EngineType
CarPurchasePrice
CarSalesPrice
-
2 | P a g e
CarTypeDimension
CarTypeID
CarTypeCode
CarType
ServiceTypeDimension
CarServiceTypeID
CarServiceTypeCode
CarServiceTypeName
CarServiceTypePrice
PaymentTypeDimension
PaymentTypeID
PaymentTypeCode
PaymentType
StaffDimension
StaffID
StaffCode
StaffName
StaffGender
Position
HighestEducation
-
60 | P a g e
Measure:
CarSales
TotalCarSalesQuantity : sum(CarSalesQuantity)
TotalCarSalesRevenue : sum(CarSalesQuantity * CarSalesPrice)
SparePartSales
TotalSparePartSalesQuantity : sum(SparePartSalesQuantity)
TotalSparePartSalesRevenue : sum(SparePartSalesQuantity * SparePartSalesPrice)
CarPurchase
TotalCarPurchaseQuantity : sum(CarPurchaseQuantity)
TotaltCarPurchaseCost : sum(CarPurchaseQuantity * CarPurchasePrice)
CarService
AverageCarServiceRevenue : avg(CarServiceTypePrice
+sum(SparePartServiceQuantity * SparePartPrice))
TotalCarServiceTransaction : count(CarServiceCode)
CarShipment
AverageCarShipmentCost : avg(CarShippingCost)
TotalCarShipmentTransaction : count (CarShipmentCode)
-
61 | P a g e
Fakta:
CarSalesFact
TimeID
StaffID
PaymentTypeID
CustomerID
CarID
CarTypeID
BranchID
TotalCarSalesQuantity
TotalCarSalesRevenue
SparePartSalesFact
TimeID
StaffID
PaymentTypeID
CustomerID
SparePartID
BranchID
TotalSparePartSalesQuantity
TotalSparePartSalesRevenue
CarPurchaseFact
TimeID
SupplierID
StaffID
CarID
CarTypeID
BranchID
TotalCarPurchaseQuantity
TotaltCarPurchaseCost
CarServiceFact
TimeID
StaffID
CustomerID
BranchID
CarServiceTypeID
SparePartID
AverageCarServiceRevenue
TotalCarServiceTransaction
CarShipmentFact
TimeID
StaffID
BranchID
AverageCarShipmentCost
TotalCarShipmentTransaction
-
62 | P a g e
Integrasikan data yang ada di OLTP menggunakan tools-tools yang ada pada SQL
Server Business Intelligence Development Studio 2008 dengan data preprocessing!
1. Buat project menggunakan Integration Services Project, pada Name beri nama
project, kemudian tentukan lokasi penyimpan data, lalu tekan OK
2. Maka akan muncul tampilan seperti:
3. Membuat data source OLTP dan OLAP
Langkah:
a. Klik kanan pada Data Sources, pilih New Data Source
-
63 | P a g e
b. Maka akan muncul tampilan wizard seperti dibawah ini. Lalu klik Next.
c. Pilih Create a data source based on an existing or new connection pada
Data Source Wizard, kemudian tekan New (untuk membuat data koneksi
baru ke OLTP)
-
64 | P a g e
d. Masukkan server name untuk menghubungkan SQL Server, dan pilih
database yang akan dimasukkan, sebelumnya lakukan testing dengan Test
Connection jika berhasil, lalu tekan OK
e. Ketika data source telah terbuat, kita dapat memilihnya, kemudian tekan Next
f. Pada proses Completing the Wizard beri nama pada Data source name,
kemudian tekan Finish
-
65 | P a g e
g. Ulangi langkah a - f untuk meng-input OLAP source-nya
4. Buatlah dimensi dan fakta dalam SQL Server Business Intelligence
Development Studio 2008 yang telah dianalisis sebelumnya, pada SSIS
Packages, rename Packages.dtsx dengan nama dimensi atau fakta yang akan
buat.
5. Kemudian tarik Data Flow Task dari Toolbox untuk membuat proses DTS (Data
Transformation Service)
-
66 | P a g e
Atau bisa juga dengan memilih tab Data Flow klik link No Data Flow tasks
have been added to this package. Click here to add a new Data Flow task.
Data Flow digunakan untuk mengambil data dari sumber data ke tujuan. Kedua
cara ini output-nya sama.
6. Langkah selanjutnya ditentukan sesuai dengan analisa perancangan dimensi dan
fakta yang akan dibuat. Berikut akan dijelaskan beberapa contoh langkah-langkah
pembuatan dimensi dan fakta:
a. Dimensi waktu
Langkah:
1) Klik ganda pada Data Flow Task, drop OLE DB Source dan OLE DB
Destination dari Toolbox, Lalu tarik garis hijau dari OLE DB Source ke
OLE DB Destination.
-
67 | P a g e
2) Klik ganda OLE DB Source. Isi OLE DB connection manager dengan
data source OLTP yang telah dibuat. Isi Data access mode dengan SQL
Command (masukkan query untuk membuat dimensi waktu). Jika query
sudah sudah dimasukkan klik Parse Query untuk mengecek kesalahan
pada query. Klik Preview untuk melihat hasil query. Lalu klik OK.
Contoh query dimensi waktu:
-
68 | P a g e
Pada query diatas akan dicek apakah tabel FilterTimeStamp pernah
mencatat tanggal terakhir proses ETL dijalankan pada tabel dimensi
waktu. Jika sudah maka, hanya tanggal transaksi yang terjadi setelah
tanggal terakhir proses ETL tercatatlah yang akan dipilih. Jika pada tabel
FilterTimeStamp belum pernah dicatat tanggal terakhir proses ETL
pada tabel dimensi waktu maka, semua tanggal transaksi akan dipilih.
3) Klik ganda pada OLE DB Destination untuk menampung hasil dari
OLE DB Source. Pada OLE DB connection manager pilih data source
OLAP yang telah dibuat. Pada Data access mode pilih Table or view.
Karena kita akan membuat tabel dimensi waktu, maka pilih
[dbo].[TimeDimension] pada Name of the table or view. Klik Preview
-
69 | P a g e
untuk melihat hasilnya. Lalu klik Mapping di sebelah kiri untuk
melakukan pengecekan apakah data yang ditarik akan masuk ke column
yang benar. Setelah itu tekan OK
4) Kemudian pindah ke tab Control Flow. Lalu tarik Execute SQL Task
atau Execute T-SQL Statement task untuk mengeksekusi query
pencatatan tanggal terakhir ETL dijalankan pada tabel tertentu,
pencatatan dilakukan pada tabel FilterTimeStamp, dalam contoh kali ini
yaitu pencatatan tanggal terakhir ETL dijalankan pada tabel dimensi
waktu.
-
70 | P a g e
5) Klik ganda pada Execute SQL Task, masukkan Connection dengan
data source OLAP yang telah dibuat, masukkan SQLStatement dengan
query penulisan tanggal terakhir ETL, kemudian BypassPrepare diubah
menjadi False. Kemudian lakukan testing dengan mengklik Parse
Query, jika berhasil kemudian tekan OK.
-
71 | P a g e
6) Contoh query pencatatan ETL terakhir:
Dimana query ini melakukan pengecekan apakah tanggal terakhir ETL
pada tabel dimensi waktu sudah pernah dicatat dalam tabel
FilterTimeStamp, jika sudah maka ia hanya akan mengupdate
tanggalnya, jika pada tabel FilterTimeStamp belum pernah tercatat
tanggal terakhir ETL, maka akan dilakukan pencatatan.
7) Lalu tekan F5 untuk melihat hasilnya. Jika berhasil maka akan tampak
tampilan seperti berikut:
b. Dimensi spare-part
IF EXISTS (SELECT * FROM FilterTimeStamp WHERE Table_Name = [NamaDimensi/Fakta])
BEGIN
UPDATE FilterTimeStamp SET Last_ETL_Process_Date = getdate()
WHERE Table_Name = [NamaDimensi/Fakta]
END
ELSE
BEGIN
INSERT INTO FilterTimeStamp VALUES ( [NamaDimensi/Fakta], getdate())
END
-
72 | P a g e
Langkah:
1) Klik ganda pada Data Flow Task, tarik OLE DB Source dan Slowly
Changing Dimension dari Toolbox, Lalu tarik garis hijau dari OLE DB
Source ke Slowly Changing Dimension.
2) Klik ganda pada OLE DB Source. Isi OLE DB connection manager
dengan data source OLTP yang telah dibuat. Isi Data access mode
dengan Tabel or view, karena dimensi spare-part sumbernya murni dari
satu tabel. Untuk Name of the table or the view pilih sesuai dengan
tabel master yang akan ditarik datanya, karena dalam contoh ini membuat
dimensi spare-part maka pilih [dbo].[MsSparePart]. Klik Preview
untuk melihat hasilnya. Lalu klik OK.
-
73 | P a g e
3) Klik ganda pada Slowly Changing Dimension, maka akan muncul
Slowly Changing Dimension Wizard, kemudian tekan Next.
4) Isi Connection manager dengan data source OLAP yang telah dibuat,
kemudian Table or view pilih sesuai dengan dimensi yang akan dibuat,
untuk sekarang pilih [dbo].[SparePartDimension]. Pilihlah kolom yang
akan dibuat sebagai Business Key. Kolom Status tidak mempunyai
Input Column, dikarenakan kolom ini hanya sebagai penanda bahwa
data ini masih berlaku atau tidak, dikarenakan adanya kolom yang
beratribut Historical. Kemudian tekan Next.
-
74 | P a g e
5) Masukkan kolom dimensi dan atributnya. Kolom SparePartPrice harus
dapat diubah (manager masih membutuhkan data awal/data sebelum
diubah), maka kita berikan Historical sebagai atributnya. Kemudian
tekan Next.
6) Pastikan pada Fixed and changing Attribute Options, Fail the
transformation if changes are detected in a fixed attribute terpilih.
Kemudian tekan Next.
-
75 | P a g e
7) Karena kita mempunyai kolom yang atributnya Historical maka
Historical Atribute Options akan muncul. Use a single column to
show current and expired records digunakan jika kita mau
menggunakan sebuah kolom penanda data yang masih berlaku atau tidak,
sedangkan Use start and end dates to identify current and expired
records menandakan data yang sedang berlaku atau tidak dengan tanggal
berlakunya. Pada tahap ini akan dicontohkan menggunakan Use a single
column to show current and expired records.Pada Column to
indicate current record pilihlah kolom Status yang tadi tidak
mempunyai kolom asal sebagai penanda nilai yang sedang berlaku pada
field yang memiliki atribut Historical yaitu kolom SparePartPrice.
Value when current berisi data penanda kolom masih berlaku.
Sedangkan Expiration value adalah data penanda kolom sudah tidak
berlaku. Kemudian tekan Next.
-
76 | P a g e
8) Pilihlah Enable inferred member support pada Inferred Dimension
Members kemudian pilih All columns with a change type are null, lalu
tekan Next.
9) Maka akan muncul tampilan berikut, kemudian tekan Finish.
-
77 | P a g e
10) Jika berhasil maka akan menampilkan hasil komponen Business
Intelligence seperti berikut:
c. Dimensi staff
Langkah:
1) Klik ganda pada Data Flow Task, tarik OLE DB Source, Derived
Column dan Slowly Changing Dimension dari Toolbox, Lalu tarik
-
78 | P a g e
garis hijau dari OLE DB Source ke Derived Column kemudian ke
Slowly Changing Dimension.
2) Dikarenakan setiap karyawan mempunyai satu jabatan, pada analisis
dinyatakan pada dimensi Staff terdapat kolom Position yang berasal dari
tabel MsPosition dimana data lainnya berasal dari tabel MsStaff. Maka
klik ganda pada OLE DB Source. Isi OLE DB connection manager
dengan data source OLTP yang telah dibuat. Isi Data access mode
dengan SQL command karena sumbernya dari beberapa tabel. Isi SQL
Command Text dengan query select data dari tabel yang dibutuhkan.
Klik Parse Query untuk mengecek query. Klik Preview untuk melihat
hasilnya. Lalu tekan OK.
-
79 | P a g e
3) Pada proses ETL, diminta kolom StaffGender akan dirubah menjadi 1
atau 2. Angka 1 menunjukkan Male. Angka 2 menunjukkan Female.
Maka ditambahkan Derived Column. Klik ganda pada Derived
Column. Expand folder Columns lalu tarik kolom asal yang akan di
derived, dalam hal ini adalah kolom StaffGender ke Derived Column
Name. Pada Derived Column pilih Replace StaffGender yang
merupakan kolom OLAP yang menjadi tujuan input. Masukkan kondisi
pada kolom Expression, pada contoh kali ini masukkan
[StaffGender]=="male"?"1":"2". Lalu tekan OK.
-
80 | P a g e
4) Klik ganda pada Slowly Changing Dimension untuk membuat OLAP,
maka akan muncul Slowly Changing Dimension Wizard, kemudian
tekan Next.
-
81 | P a g e
5) Isi Connection manager dengan data source OLAP yang telah dibuat,
Kemudian Table or View pilih sesuai dengan dimensi yang akan dibuat,
untuk sekarang pilih [dbo].[StaffDimension]. Pilihlah kolom yang akan
dibuat sebagai BusinessKey. Kemudian tekan Next.
6) Masukkan kolom dimensi dan atributnya. Kolom HighestEducation
harus dapat diubah (manager tidak membutuhkan data awal/data sebelum
diubah), maka kita berikan Changing sebagai atributnya. Kemudian
tekan Next.
-
82 | P a g e
7) Pastikan Fail the transformation if change are detected in a fixed
attribute pada Fixed and changing Attribute Options terpilih.
Kemudian tekan Next.
8) Pilihlah Enable inferred member support pada Inferred Dimension
Members kemudian pilih All columns with a change type are null, lalu
tekan Next.
-
83 | P a g e
9) Maka akan muncul tampilan seperti berikut, kemudian tekan Finish.
10) Jika berhasil maka akan menampilkan hasil komponen Business
Intelligence seperti berikut:
-
84 | P a g e
d. Fakta penjualan spare-part
Langkah:
1) Untuk membuat fakta pertama-tama buat dimensi-dimensi yang berkaitan
dengan fakta tersebut terlebih dahulu. Dalam contoh ini, akan dibuat
fakta penjualan spare-part, maka pastikan dimensi waktu, staff, payment
type, customer, spare-part, branch telah dibuat. Klik ganda pada Data
Flow Task, tarik OLE DB Source dan OLE DB Destination dari
Toolbox, kemudian tarik garis hijau dari OLE DB Source ke OLE DB
Destination.
-
85 | P a g e
2) Klik ganda pada OLE DB Source. Isi OLE DB connection manager
dengan data source OLTP yang telah dibuat. Isi Data access mode
dengan SQL command karena sumbernya dari beberapa tabel. Isi SQL
command text dengan query select data. Klik Parse Query untuk
mengecek query. Klik Preview untuk melihat hasilnya. Lalu tekan OK.
-
86 | P a g e
Contoh query fakta:
-
87 | P a g e
-
88 | P a g e
3) Klik ganda pada OLE DB Destination untuk menampung hasil dari
OLE DB Source. Pada OLE DB connection manager pilih data source
OLAP yang telah dibuat. Pada Data access mode pilih Table or view.
Karena kita akan membuat SparePartSalesFact maka pilih
[dbo].[SparePartSalesFact] pada Name of the table or view. Klik
Preview untuk melihat hasilnya. Lalu klik Mappings di sebelah kiri.
4) Cek kesesuaian kolom asal dan kolom tujuan, jika benar klik OK.
-
89 | P a g e
5) Pindah ke tab Control Flow. Lalu tarik Execute SQL Task untuk
mengeksekusi query dari data flow.
6) Klik ganda pada Execute SQL Task, isi Connection dengan data source
OLAP yang tealh dibuat, isi SQL Statement dengan query yang
-
90 | P a g e
mencatat ETL terakhir ke FilterTimeStamp, kemudian ganti
BypassPrepare menjadi False. Kemudian lakukan testing dengan
mengklik Parse Query, jika berhasil kemudian tekan OK.
Contoh query:
7) Lalu tekan F5 untuk melihat hasilnya. Jika berhasil maka akan tampak
seperti berikut:
-
91 | P a g e
-
92 | P a g e
Chapter 05
Data Cube Computation and Data
Generalization
-
93 | P a g e
5.1. Theory
Pada data mining membutuhkan data cube computation, untuk memperoleh
ringkasan berdasarkan operasi-operasi perhitungan yang ada dalam data cube.
Data generalization adalah proses yang abstrak set data yang memiliki tugas dalam
database dari tingkat konseptual rendah ke tingkat konseptual yang lebih tinggi.
Star Schema dan Snowflake Schema
Star Schema merupakan schema data warehouse yang paling umum. Disebut
Star Schema karena diagramnya terlihat seperti bintang, dimana ditengahnya terdiri dari
1 atau lebih tabel fakta dan poin-poinnya berupa tabel dimensi.
Snowflake Schema merupakan variasi dari Star Schema. Snowflake Schema
lebih kompleks daripada Star Schema karena tabel dimensinya dinormalisasi. Dengan
kata lain, tabel fakta berada ditengah dan tabel dimensi berada pada poin-poinnya.
Namun, poin-poin tersebut dapatterhubung dengan tabel dimensi lainnya yang
merupakan normalisasinya.
Snowflake Schema Star Schema
Ease of
maintenance/change
Tidak redundant, lebih mudah
di-maintain dan diubah
Redundant, lebih sulit di-
maintain/diubah
Ease of Use Query yang lebih kompleks,
lebih sulit untuk dipahami
Query yang lebih sederhana,
lebih mudah untuk dipahami
Query Performance Lebih banyak foreign key,
waktu eksekusi query yang
lebih lama
Lebih sedikit/tidak ada foreign
key, waktu eksekusi query
yang lebih cepat
Type of
Datawarehouse
Digunakan untuk
menyederhanakan hubungan
yang kompleks (many:many)
Digunakan untuk data-data
dengan hubungan yang
sederhana (1:many or 1:1)
Joins Lebih banyak Lebih sedikit
Dimension table Bisa mempunyai lebih dari satu
tabel dimensi untuk tiap
Hanya mengandung 1 tabel
dimensi untuk tiap dimensi
-
94 | P a g e
dimensinya
When to use Ketika tabel dimensinya
mempunyai ukuran yang besar
Ketika tabel dimensinya
mempunyai ukuran yang tidak
terlalu besar
Normalization/De-
Normalization
Tabel dimensinya sudah
dinormalisasi tetapi tabel
faktanya masih belum
dinormalisasi
Tabel dimensi dan tabel
faktanya belum dinormalisasi
Data model Bottom up Top down
5.2. Exercise
Slicing melakukan seleksi pada satu dimensi cube yang diberikan, sehingga
mengakibatkan sebuah subcube. Contoh, jika kita membuat pilihan (product =
Sales(USD)) maka akan mengurangi dimensi cube 2-1, sehingga hanya dalam satu kolom
dari tabel tersebut.
Dicing melakukan pilihan pada dua atau lebih dimensi. Sebagai contoh,
menerapkan seleksi (Store = CA OR Store = OR OR Strore = LA) DAN (Product = Milk
OR Product = Coke OR Product = Juice) DAN (Metrics = USD) ke-cube asli kita
mendapatkan subcube berikut (masih dua dimensi):
-
95 | P a g e
Roll-Up merupakan fungsi OLAP yang memberikan aggregate lebih tinggi dari seluruh
dimensi pada level hierarchy yang diberikan.
Drill-Down didefinisikan sebagai kemampuan untuk melihat informasi pada struktur
hierarchy dibawahnya.
-
96 | P a g e
1. Buatlah Cube dengan SQL Server Business Intelligence Development Studio 2008!
1. Buat project-nya, pilih Analysis Services Project, pada Name beri nama, kemudian
tentukan Location untuk menyimpan data, lalu tekan OK
-
97 | P a g e
2. Tampilan akan terbuka seperti:
3. Kemudian klik kanan pada Data Sources, pilih New Data Source
-
98 | P a g e
4. Lalu akan muncul tampilan wizard, Lalu pilih Next
5. Kemudian pilih Create a database source based on an existing or new connection.
Kemudian pilih New jika belum ada atau Next jika sudah ada. Selanjutnya akan
dicontohkan jika dipilih New
-
99 | P a g e
6. Masukkan Server name untuk menghubungkan SQL Server, dan pilih database
yang akan dimasukkan, sebelumnya lakukan testing dengan menekan Test
Connection jika berhasil, lalu tekan OK
7. Kemudian tekan Next
-
100 | P a g e
8. Lalu akan muncul Impersonation Information pilih, Inherit kemudian tekan Next
9. Lalu akan muncul Completing the Wizard beri nama pada Data Source name
kemudian tekan Finish
10. Lakukan kembali langkah 3-5 untuk membuat koneksi ke OLTP
11. Lalu klik kanan pada Data Source Views, klik New Data Source View
-
101 | P a g e
12. Maka akan muncul wizard Data Source View Wizard, kemudian tekan Next
13. Pastikan Relational data sources adalah OLAP, kemudian tekan Next
-
102 | P a g e
14. Lalu akan muncul tampilan Name Matching, pastikan Create logical relationships
by matching columns terpilih, lalu pilih Same name as primary key, kemudian
tekan Next
15. Pindahkan semua dimensi yang ada pada Available objects ke Included objects,
kemudian tekan Next
-
103 | P a g e
16. Setelah itu akan ada tampilan Completing the Wizard, isi Name kemudian tekan
Finish
17. Untuk membuat cube klik kanan pada Cubes, lalu klik New Cube
18. Kemudian akan muncul tampilan wizard, lalu tekan Next
-
104 | P a g e
19. Pada tampilan Select Creation Method pilihlah Use existing tables, kemudian
tekan Next
20. Pilihlah Measure group tables yang akan dibuat sebagai cube, kemudian tekan Next
21. Setelah fakta telah dipilih untuk cube, maka akan ditampilkan secara otomatis
measure-measure yang berada dalam fakta tersebut. Lalu tekan Next
-
105 | P a g e
22. Tampilan dimensi yang terdapat pada fakta yang telah dipilih, jika terdapat dimensi
yang tidak perlu, kita dapat men-uncheck-nya, lalu Next.
23. Kemudian beri nama cube sesuai dengan analisis fakta yang telah dibuat,
kemudiantekan Finish.
-
106 | P a g e
24. Jika telah berhasil maka akan membentuk Star Schema.
2. Lakukan slicing dan dicing untuk semua cube berdasarkan dimensi-dimensi tertentu
(range untuk dimensi tidak ditentukan)
-
107 | P a g e
Untuk menghasilkan slicing dan dicing bedasarkan dari dimensi-dimensi yang digunakan
maka tekan F5 untuk penjalankan SQL Server Business Intelligence Development
Studio 2008.
Untuk membuat slicing, tinggal men-drop kolom yang diperlukan. Slicing ini hanya di
lihat dari 1 arah saja yaitu, MobilID
Hasil slicing pada cube (FaktaPembelianMobil)
-
108 | P a g e
Untuk membuat dicing, tinggal men-drop kolom yang diperlukan. Dicing ini di lihat
bedasarkan 2 arah atau lebih yaitu, MobilID, WaktuID, dan ProvinsiID
Hasil dicing pada cube (FaktaPembelianMobil)
-
109 | P a g e
3. Berikut ini merupakan data dari tabel dimensiMobil dimana TahunPembuatan di atas
2006 dan KdMobil merupakan kelipatan 5.
Berdasarkan data di atas buatlah query dengan konsep drill-down untuk menampilkan
TahunPembuatan dan HargaJual dan dikelompokkan berdasarkan TahunPembuatan.
Jawab:
query dengan konsep roll-up
select KdMobil, NamaMobil, TahunPembuatan, HargaJual from DimensiMobil
where TahunPembuatan>2006
and RIGHT(kdmobil,3)%5=0
query dengan konsep drill-down
select TahunPembuatan, sum(HargaJual) as HargaJual from DimensiMobil
where TahunPembuatan>2006
and RIGHT(kdmobil,3)%5=0
group by TahunPembuatan
-
110 | P a g e
4. Berikut ini merupakan data dari tabel FaktaPenjualanSparePart didapat dari data
customer dengan kondisi banyakAnak >4, umur > 50 dan data dari spare-part dimana
harga < 50000 dan berat < 50.
Berdasarkan data di atas buatlah query dengan konsep roll-up untuk memecah transaksi
di atas berdasarkan Qty.
Jawab:
query dengan konsep roll-up
select Tahun, Sparepart, Bahan
from FaktaPenjualanSparePart a, DimensiCustomer b, DimensiSparePart c,
DimensiWaktu d
-
111 | P a g e
where a.CustomerID = b.CustomerID
and a.SparePartID = c.SparePartID
and a.WaktuID = d.WaktuID
and BanyakAnak>4 and Umur>50 and Harga50 and Harga
-
112 | P a g e
Chapter 06
Mining Frequent Patterns, Association, and
Correlations
-
113 | P a g e
6.1. Exercise
Frequent Patterns adalah suatu pattern(satu set item, subsequences, substructures, dll)
yang sering terjadi dalam suatu kumpulan data.
Frequent Pattern
Association Rule Mining merupakan bagian dari Frequent Pattern Mining. Pattern
Mining sangat berguna untuk klasifikasi, clustering, dan task data mining yang lain.
Association Rule Mining dapat disebut Frequent Itemset Mining karena pola yang
dihasilkan adalah pola item yang sering muncul bersamaan dalam sebuah database.
{Beer} {Diaper}
Association Rule menjelaskan hubungan korelasi antar item dengan lebih jelas, tidak
hanya korelasi kuat atau korelasi lemah saja.
1. Buat project-nya, pilih Analysis Services Project, pada Name beri nama, kemudian
tentukan Location untuk menyimpan data, lalu tekan OK
-
114 | P a g e
2. Tampilan akan terbuka seperti:
3. Kemudian klik kanan pada Data Sources, pilih New Data Source
-
115 | P a g e
4. Lalu akan muncul tampilan Data Source Wizard, Lalu pilih Next
5. Kemudian pilih Create a database source based on an existing or new
connection. Kemudian pilih Next
-
116 | P a g e
6. Masukkan Server name untuk menghubungkan SQL Server, dan pilih database
yang akan dimasukkan, sebelumnya lakukan testing dengan Test Connection jika
berhasil, lalu tekan OK
7. Kemudian tekan Next
-
117 | P a g e
-
118 | P a g e
8. Lalu akan muncul Impersonation Information pilih, Use the service account
kemudian tekan Next
9. Lalu akan muncul Completing the Wizard beri nama pada Data source name
kemudian tekan Finish
-
119 | P a g e
10. Lalu klik kanan pada Data Source Views, klik New Data Source View
11. Maka akan muncul wizard Data Source View Wizard, kemudian tekan Next
12. Pastikan Relational data sources adalah OLAP, kemudian tekan Next
-
120 | P a g e
13. Lalu akan muncul tampilan Name Matching, pastikan Create logical relationships
by matching columns tercentang, lalu pilih Same name as primary key, kemudian
tekan Next
-
121 | P a g e
14. Pindahin semua dimensi yang ada pada Available objects ke Included objects,
kemudian tekan Next
15. Setelah itu akan ada tampilan Completing the wizard, isi name dengan OLAP
kemudian tekan Finish
-
122 | P a g e
16. Ketika foreign key: vAssocSparePartItems dengan primary key:
vAssocSparePartOrders. Ketika akan dihubungkan akan muncul Specify
Relationship, tekan OK
17. Maka akan terhubung seperti:
-
123 | P a g e
18. Ketika akan dihubungkan akan keluar suatu tampilan seperti ini, kemudian tekan OK
19. Hubungkan primary key: vAssocCarBuy dengan vAssocCarBuyItems seperti pada
hasil berikut:
-
124 | P a g e
20. Hubungkan juga primary key: vAssocCarOrders dengan vAssocCarOrderItems,
ketika akan dihubungkan akan muncul tampilan seperti:
21. Setelah itu tekan OK, kemudian kedua tabel akan terhubung seperti:
22. Kemudian buatlah Mining Structures untuk menentukan sparepart mana yang paling
sering muncul pada saat penjualan (soal no 1)
-
125 | P a g e
23. Lalu akan muncul tampilan Data Mining Wizard, kemudian tekan Next
24. Ketika memilih method untuk mining structure pastikan menggunakan From existing
relational database or data warehouse, jika menggunakan hubungan dengan
database atau data warehouse, jika diambil dari cube maka pilih yang From existing
cube. Lalu Next
25. Akan muncul pertanyaan apakah mining structure ingin diberi model atau tidak pilih,
Create mining stucture with a mining model jika ingin mining structure di beri
model dan jika tidak pilih Create mining structure with no models. Jika memilih
mining structure dengan model maka pilih dengan menggunakan teknik Microsoft
Association Rules, kemudian tekan Next
-
126 | P a g e
26. Lalu pilih tabel untuk membuat mining structure, kemudian tekan Next
27. Dari Specify Table Types pilihlah tabel yang akan digunakan sebagai analisis.
Kemudian tekan Next
-
127 | P a g e
28. Maka akan muncul tampilan Specify the Training Data, pilihlah table/columns yang
akan dibuat menjadi Key, dan pilihlah table/columns yang akan diprediksikan.
Kemudian tekan Next
29. Kemudian akan muncul Specify Columns Content and Data Type seperti berikut,
kemudian tekan Next atau Finish
-
128 | P a g e
30. Jika kita memilih Next pada window sebelumnya, maka akan muncul Creating
Testing Set, tekan Next
-
129 | P a g e
31. Kemudian akan ada Completing the Wizard yang dapat memberi nama pada
Mining structure name dan memberitahukan model dari mining yang akan dibuat.
Kemudian tekan Finish
32. Maka akan muncul hasil seperti:
-
130 | P a g e
33. Jalankan dengan menggunakan F5 (Start Debugging), maka akan muncul hasil:
-
131 | P a g e
34. Lakukan langkah untuk membuat mining structure pada, CarOrders, dan CarBuys
untuk mengetahui mobil mana yang paling sering muncul pada penjualan dan mobil
mana yang paling sering muncul pada saat pemebelian (soal 2 dan 3) dimulai dari
langkah 22 - 33.
Maka hasilnya akan:
6.2. Soal
Dengan menggunakan Microsoft Association Rules:
1. Tentukanlah spare-part mana yang paling sering muncul saat penjualan!
Mx-Hybrid
2. Tentukanlah mobil mana yang paling sering muncul saat penjualan!
Daihatsu YRV
3. Tentukanlah mobil mana yang paling sering muncul saat pembelian!
ChevroletT avera
-
132 | P a g e
Chapter 07
Classification and Prediction
-
133 | P a g e
7.1. Theory
Algoritma ini merupakan turunan dari algoritma decision tree yang telah kita pelajari
sebelumya. Di mana algoritma ini menggunakan regresi linear yang telah kita pelajari
sebelumnya di pelajaran statistika. Regresi Linear melibatkan 2 variabel. Yang satu
merupakan variabel dependent dan yang satu lagi variabel independent. Variabel
dependent adalah variabel yang dipengaruhi variabel independent sedangkan Variabel
independent adalah variabel yang mempengaruhi variabel dependent. Variabel-variabel
tersebut harus bertipe numeric dan continuous dan tidak boleh bertipe diskrit seperti pada
algoritma decision tree. Untuk memperjelasnya mari kita lihat gambar berikut:
Dari gambar di atas, kita dapat memprediksi nilai dari variabel dependent pada sumbu Y
dengan mengetahui nilai dari variabel independent pada sumbu X.
7.2. Exercise
Decision Tree adalah sebuah flow-chart seperti struktur pohon. Algoritma ini mendukung
klasifikasi dan regresi, serta bekerja baik dalam prediksi modeling.
Dengan menggunakan algoritam decision tree, kita dapat memprediksi discrete dan
continuous attributes.
Bentuk Decision Tree
-
134 | P a g e
Manfaat utama dari penggunaan decision tree adalah kemampuannya untuk mem-break
down proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga
pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan.
Bayesian classification adalah suatu klasifikasi probabilitas yang didasarkan pada
penerapan teorema Bayes.
Soal
Buatlah decision tree dan nave bayes data mining models berdasarkan target telepon
pelanggan agar perusahaan dapat menentukan pelanggan mana saja yang nantinya akan
ditelpon!
1. Buat project-nya, pilih Analysis Services Project, pada Name beri nama, kemudian
tentukan Location untuk menyimpan data, lalu tekan OK
-
135 | P a g e
2. Tampilan akan terbuka seperti:
3. Kemudian klik kanan pada Data Sources, pilih New Data Source
-
136 | P a g e
4. Lalu akan muncul tampilan wizard, lalu pilih Next
5. Kemudian pilih Create a database source based on an existing or new
connection. Kemudian pilih Next
-
137 | P a g e
6. Masukkan Server name untuk menghubungkan SQL Server, dan pilih database
yang akan dimasukkan, sebelumnya lakukan testing dengan Test Connection jika
berhasil, lalu tekan OK
7. Kemudian tekan Next atau Finish
-
138 | P a g e
8. Lalu akan muncul Impersonation Information pilih, Use the service account
kemudian tekan Next
9. Lalu akan muncul Completing the wizard, beri nama pada Data source name,
kemudian tekan Finish
-
139 | P a g e
10. Lalu klik kanan pada Data Source Views, klik New Data Source View
11. Maka akan muncul wizard Data Source View Wizard, kemudian tekan Next
-
140 | P a g e
12. Pastikan Relational data sources adalah OLAP, kemudian tekan Next
13. Lalu akan muncul tampilan Name Matching, pastikan Create logical relationships
by matching columns tercentang, lalu pilih Same name as primary key, kemudian
tekan Next
14. Pindahkan semua dimensi yang ada pada Available objects ke Included objects,
kemudian tekan Next
-
141 | P a g e
15. Setelah itu akan ada tampilan Completing the wizard, isi Name dengan OLAP
kemudian tekan Finish
16. Kemudian klik kanan Mining Structures New Mining Structure untuk
membuat mining structure baru yang menentukan spare-part mana yang paling
sering muncul pada saat penjualan (soal no 1)
-
142 | P a g e
17. Lalu akan muncul tampilan Data Mining Wizard, kemudian tekan Next
18. Ketika memilih method untuk mining structure pastikan menggunakan From
existing relational database or data warehouse jika menggunakan hubungan
dengan database atau data warehouse, jika diambil dari cube maka pilih yang From
existing cube. Lalu Next
-
143 | P a g e
19. Akan muncul pertanyaan apakah mining structure ingin diberi model atau tidak
pilih, Create mining stucture with a mining model jika ingin mining structure di
beri model dan jika tidak pilih Create mining structure with no models. Jika
memilih mining structure dengan model maka pilih dengan menggunakan teknik
Microsoft Decision Trees, kemudian tekan Next
20. Lalu pilih tabel untuk membuat mining structure, kemudian tekan Next
-
144 | P a g e
21. Dari Specify Table Types pilihlah tabel yang akan digunakan sebagai analisis.
Kemdian tekan Next
22. Maka akan muncul tampilan Specify the Training Data, pilihlah table/columns
yang akan dibuat menjadi Key, dan pilihlah table/columns yang akan diprediksikan
dan yang akan dijadikan input-an. Kemudian tekan Next
-
145 | P a g e
23. Kemudian akan muncul Specify Columns Content and Data Type seperti berikut,
kemudian tekan Next atau Finish
24. Jika di Next, maka akan muncul Creating Testing Set, tekan Next
-
146 | P a g e
25. Kemudian akan ada Completing the Wizard yang dapat memberi nama pada
Mining structure name dan memberitahukan model dari mining yang akan dibuat.
Kemudian tekan Finish
26. Tampilan pada Mining Structure, maka akan seperti:
-
147 | P a g e
27. Kemudian tekan F5 (start debugging). Maka akan muncul 3 level dari model
Decission Tree
28. Untuk membuat mining structure dengan menggunakan teknik atau metode Naive
Bayes kita bisa ke tab Mining Models lalu klik kanan New Mining Model
29. Kemudian pilihlah Algorithm name: Microsoft Nave Bayes dan berilah nama
pada Model name-nya
-
148 | P a g e
30. Kemudian lakukan deploy (start debugging) dengan F5.
Soal
Klasifikasi merupakan bentuk tugas da