Diktat Advanced Database-OLD

download Diktat Advanced Database-OLD

of 294

description

Lalalala

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