BAB II LANDASAN TEORI
2.1 Business intelligence Langkah pertama dalam pengambilan keputusan yang efektif adalah menspesifikasikan, ukuran tujuan.Setelah tujuan ditentukan, maka objektivitasnya untuk menjadikannya akurat, informasi yang berguna digunakan
untuk
memberikan keputusan.Sebagai fondasi untuk keputusan dan sebagai timbal balik dari keefektifan dari keputusan,memiliki fondasi dan informasi timbal balik tersedia pada waktu yang dibutuhkan dapat menjadi sangat penting. 1
[1]“Business inteligence adalah memberikan akurasi, informasi yang berguna
untuk
dapat
membantu
pendukung
keputusan
dalam
bingkai
waktu
untukmenyediakan pembuatan keputusan.” Business intelligence bukan merupakan fakta yang mudah dan ditampilkan pada laporan atau layar komputer. Baris merupakan nomor urut yang menunjukan detail penjualan atau nomor produksi yang akurat. Tetapi informasi tersebut bukan merupakan business intelligencesampai informasi tersebut tersedia dalam format yang dapat dengan mudah dimengerti oleh pembuat keputusan yang akan menggunakannya.Kesimpulan dari pelanggan atau efisiensi pembuatan produk dapat dengan mudah dimengerti, tetapi penjelasan berikut ini pun bukan merupakanbusiness intelligencesampai dapat disediakan tepat waktu untuk efek pembuatan keputusan harian yang berarti.
2.1.1
Penemuan layout-led Ketika akan mengetahui pertanyaan yang akan ditanyakan dan memiliki
ide
1
bagus
dalam
menjawab
pertanyaan
yang
dapat
dijawab,
dapat
[1]Vercelis, Carlo.Business Intelligence: Data Mining and Optimization for Decision Making, Wiley, Italy,
2009.
2-1
2 -2
dilakukanpencetakan laporan untuk memberikan Business intelligence sendiri. Ini merupakan bentuk business intelligence paling sering ditemukan, untuk beberapa situasi format tersebut dapat berjalan dengan baik.Sebagai contoh pengguna ingin mengetahui jumlah dolar dari penjualan pelayanan.Untuk berbagai situasi format tersebut berjalan dengan benar. Pengguna dapat mendesain laporan untuk penyediaan laporan sebagai alat Business intelligence yang efektif. Ini merupakan contoh penemuan layout-led. Dengan penemuan layout led dapat mempelajari informasi yang dibuat oleh desainer laporan untuk membuat tampilan laporan ketika pertama didesain.Jika informasi tersebut tidak disertakan secara tepat waktu, maka tidak ada jalan untuk mengakses dan akan membuat laporan tersebut dibaca. Dicontohkan laporan yang diperlihatkan bahwa jumlah dolar yang diberikan regional biasanya rendah.Jika pada perancangan laporan tidak disertakan dukungan untuk melihat detail regional maka tidak ada cara selain menelusuri kedalam regional dan memastikan terdapat anomaly. Diharapkan pegawai sales tingkat atas berpindah pada regional lain, mungkin di dalam regional tersebut kehilangan pelanggan kunci atau tetap, namun laporan tidak memberikan informasi tersebut.
2.1.2 Penemuan Data-led Pada kasus tertentu pengguna telah mengetahui pertanyaan, namun pengguna tersebut tidak mengetahui secara pasti dimana agar dapat mengetahui jawaban tersebut.Sehingga menyebabkan kapan informasi dapatdiinsisialisasi menerima perubahan pertanyaan.Sebagai contoh sebuah anomali di dalam informasi dapat melihat data dengan jalan yang berbeda-beda.Secara tidak wajar penjualan dengan dollar rendah atau pelayanan yang disediakan dalam spesifik daerah berbeda sehingga memberikan penjelasan untuk mendapatkan nomor yang detail pada daerah tersebut. Pada kasus lain, penggunadapat mengetahui informasi tetapi bukan dengan mencari seluruh informasi detail, namun dengan memulainya pada tingkat atas, mencari nomor yang menarik dan menelusurinya menuju nomor yang lebih detail. Kita dapat mengikuti data yang ditangkap dan menarik perhatian.
2 -3
Penemuan
data-led
merupakan
informasi
yang ditemukan
untuk
menentukan dimana kita dapat melanjutkan.Pengembang dari solusi tipe ini tidak dapat mengetahui dimanapun laporan pengguna yang diinginkan.Sehingga pengembang harus menyediakan perlengkapan interaktif yang memungkinkan pengguna melakukan navigasi.Untuk mengimplementasikan penemuan data-led, kita membutuhkan mekanisme drilldown. Ketika kita melihat sesuatu terlihat menarik, maka dapat dimungkinkan untuk melakukan pemilihan pada item tersebut dan masuk pada tingkat detail yang lebih lanjut.Sebagai contoh penelusuran tidak dapat dilakukan pada kertas.Penemuan data-led hanya dapat terjadi secara online.Penemuan layout-led dan data-led biasanya dimulai dengan menyimpulkan data, data mining bekerja pada tingkat dasar dari detail.Penggunaan algoritma tingkat tinggi diaplikasikan pada data untuk mencari korelasi antar karakteristik dan aktivitas. Data mining dapat membuka atau menemukan fakta bahwa pelanggan yang membeli produk tertentu lebih suka membeli produk berbeda dari perusahaan (produk dengan margin keuntungan yang tinggi) atau klien menerima pelayanan tertentu biasanya membutuhkan pelayanan lain perusahaan dalam waktu tiga bulan kedepan. Tipe informasi tersebut dapat sangat membantu ketika merencanakan kampanye pemasaran.Melakukan pengaturan promosi silang produk atau melakukan perencanaan kapasitas untuk kedepan.Sehingga dapat menentukan tambahan sumber daya yang dapat menambah hasil yang efektif. Bussinesintelegence bukan merupakan fakta dan gambar yang dicetak pada laporan atau pada layar komputer. Baris per baris dari nomor memperlihatkan detil penjualan atau produksi yang sangat akurat, tetapi hal tersebut bukan merupakan bisnisintelligence sampai disediakannya format yang dapat dimengerti dengan mudah oleh pembuat keputusan yang membutuhkannya. Bergantung pada kesimpulan dari kepuasan pelanggan atau efektifitas pembuatan dapat dengan mudah dimengerti. Tetapi hal tersebut bukan merupakan businesintelligence jika tidak disediakan tepat waktu untuk pendukung keputusan harian.Data dapat berisi trend, korelasi dan ketergantungan pada detail yang tidak dimungkinkan manusia dapat menentukan menggunakan penemuan layout-
2 -4
ledatau data-led.Hubungan tersebut dapat ditemukan menggunakan teknik data mining. 2
[2]“ Data mining menggunakan algoritma matematis yang komplek dalam
mendapatkan detail data untuk mengidentifikasi pola, korelasi dan kluster pada data.” Ketika penemuan layout-led dan data-led biasanya dimulai dengan menyimpulkan data, data mining bekerja pada tingkat paling rendah dari detail.Menggunakan algoritma matematika tingkat tinggi yang diaplikasikan pada data untuk mencari korelasi antara karakteristik dan aktifitas.Data mining tidak dapat menemukan fakta dimana pelanggan yang membeli produk biasanya membeli produk yang berbeda pada organisasi(berharap pada produk dengan margin keuntungan yang tinggi).Pelanggan menerima beberapa jenis pelayanan biasanya membutuhkan pelayanan dari organisasi setiap 3 bulan sekali. Tipe informasi tersebut sangat membantu ketika bagian marketing melakukan perencanaan kampanye, mengatur promosi silang produk, atau melakukan perencanaan kapasitas jangka panjang, hal tersebut dapat menentukan kapan sumber daya tambahan disertakan dan tenaga yang dibutuhkan untuk hasil yang efektif.
2.1.3 Puncak Dari Piramid Pembuat keputusan pada tingkat yang lebih tinggi di dalam sebuah organisasi harus dapat melihat pada lukisan yang lebih besar.Dimana didukung dengan pengaturan tujuan jangka panjang organisasi.Pembuat keputusan harus memiliki penglihatan area untuk tanggung jawab dan dapat dilihat dalam hitungan menit.
2
[2]Vercelis, Carlo.Business Intelligence: Data Mining and Optimization for Decision Making, Wiley, Italy,
2009.
2 -5
Gambar2.1 Tujuan Setiap Tingkat Manajemen.3[3]
2.1.3.1 Tingkat Atas Businesintellegence digunakan pada kebutuhan tingkat ini untuk menyerasikan dengan karakteristiknya.Pengukuran disediakan untuk pembuat keputusan sehingga harus disimpulkan.Pada banyak kasus, setiap pengukuran direpresentasikan, bukan dengan penomoran, tetapi dengan indicator status yang ditampilkan antara ukuran yang diterima diantara jangkauan, apakah berawal dengan buruk atau merupakan jangkauan yang tidak dapat diterima.Hal ini disimpulkan dengan ukuran KPI keyperformanceindicator.
Gambar2.2 Ukuran Setiap Tingkat Manajemen.4[4]
3
[3]Larson, Brian. Delivering Business Intelligence with Microsoft SQL Server 2008, McGrawHill. USA. 2009 4 [4]Larson, Brian. Delivering Business Intelligence with Microsoft SQL Server 2008, McGrawHill. USA. 2009
2 -6
Gambar 2.3 Kebutuhan Informasi Setiap Tingkat Manajemen.5[5]
2.1.3.2 Tingkat Menengah Pembuat keputusan tingkat menengah mengatur operasi dari departemen dan bekerja dengan unit di dalam organisasi.Terdapat pengaturan tujuan jangka pendek dan melakukan perencanaan unit untuk menjalankan area tersebut.Tingkat menengah pembuat keputusan biasanya tetap pada tingkatannya dimana mereka tidak melihat detil proses hari ke hari. Pada pembuat keputusan tingkat menengah akan membutuhkan bisnis inteligen dimana masih merupakan kesimpulan. Tetapi mereka membutuhkan drill down kedalam informasi untuk mendapatkan informasi yang lebih detil. Disini pembuat keputusan dapat menggunakan laporan yang telah dicetak, atau menggunakan sistem interaktif, bergantung pada penemuan data-led.Disini pembuat keputusan dapat menggunakan informasi dari data mining.
2.1.3.3 Keterlambatan Yang Dapat Diterima Karena pembuat keputusan sangat dekat dengan fungsi setiap harinya, mereka membutuhkan businesinteligence dengan lebih cepat.Pada kasus tertentu,
5
[5]Larson, Brian. Delivering Business Intelligence with Microsoft SQL Server 2008, McGrawHill. USA. 2009
2 -7
pembuat keputusan membutuhkan ukuran yang dapat diperbaharui setiap harinya, pada kasus tertentu pembuat keputusan dapat melihat trend yang tidak dikerjakan dari minggu atau bulan depan.
2.1.3.4 Basis Keseluruhan Pada
bagian
dasar
dari
piramida
businesinteligence
terdapat
pekerja,manajer, dan pemimpin grup.Orang-orang tersebut melakukan pengaturan tujuan operasional setiap harinya dan membuat keputusan berdasarkan alokasi sumber daya untuk minggu berikutnya, hari berikutnya atau jam kerja berikutnya.Mereka melakukan perencanaan kampanye penjualan atau melakukan penjualan langsung. Para pembuat keputusan ini biasanya membutuhkan sistem businesintelligence dengan ketersediaan yang tinggi dan dengan respon yang tinggi.
2.1.3.5 Mengukur Tingkat Detil Pada tingkat ini pembuat keputusan setuju dengan detil dari operasi organisasi. Para pembuat keputusan membutuhkan informasi pada tingkat detil. Pada kasus tertentu, pekerjaan grup dalam membuat keputusan, bertanggung jawab pada sedikitnya detil yang dapat dilihat langsung tanpa proteksi yang berlebih. Pada kasus lain pengukuran membutuhkan penyimpulan, tetapi drilldown pada tingkat detil kemungkinan dibutuhkan. Pembuat keputusan ini dapat menggunakan beberapa bentuk dari data mining untuk mengolah trend yang ada dan korelasi informasi harian.
2.1.3.6 Keterlambatan informasi Karena pada tingkat ini pembuat keputusan mengatur operasi dari hari ke hari, mereka membutuhkan reaksi yang cepat dalam menanggapi umpan balik informasi.Dengan alasan ini mereka dapat mentoleranasi sedikit keterlambatan. Pada kasus lain pembuat keputusan ini membutuhkan data hari, jam, atau bahkan detik yang lalu.
2 -8
2.2 Definisi Data mining Aktivitas data miningmerupakan sebuah proses iteratif yang ditargetkan pada saat analisis dari basis data yang besar, dengan kemampuan untuk mengekstrak informasi dan pengetahuan yang dapat memberikan akurasi dan pengetahuan yang potensial yang dapat digunakan di dalam membuat keputusan dan pemecahan masalah. Proses analisis merupakan proses iteratif pada fase yang memberikan timbal balik atau revisi subsekuen. Terutama proses yang merepresentasikan aktivitas kooperatif antara pakar di dalam domain aplikasi dan analisis data, dimana menggunakan model matematis untuk pembelajaran induktif. Pengalaman mengindikasikan bahwa pelajaran data mining membutukan banyak intervensi dari berbagai analis yang berbeda fase investigasi dan dapat dengan mudah di otomasikan.Sehingga
pengetahuan
dapat
di
ekstrak
dengan
akurat.Dan
dikonfirmasi oleh data sehingga tidak menimbulkan kesimpulan yang salah. Istilah data mining mengacu pada keseluruhan proses yang berisikan pengambilan data dan analisis, pengembangan dari model pembelajaran induktif dan mengadopsi dari keputusan praktikal dan aksi yang konsekuen berbasis pada penggunaan pengetahuan. Istilah teori pembelajaran matematis disediakan untuk berbagai model matematika dan metode yang dapat ditemukan pada setiap analisis data mining dan dipergunakan untuk membangkitkan pengetahuan baru. Proses data mining berbasis pada metode pembelajaran induktif, dimana fungsi utamanya adalah menurunkan aturan yang dimulai dari kumpulan contoh yang tersedia, bergantung dari observasi lampau yang terekam pada satu atau lebih basis data. Fungsi utama analisis data mining adalah untuk menggambar beberapa konklusi yang dimulai dari contoh pada observasi dan generalisasi dari konklusi dengan referensi untuk setiap populasi, dengan seakurat mungkin. Model dan pola diidentifikasikan melalui cara ini namun dilakukan dengan bentuk yang berbeda, seperti linearequation, kumpulan aturan if-then-else, cluster, chart, dan tree.
2 -9
Beberapa karakteristik dari data mining bergantung pada prosedur untuk mengoleksi observasi lampau dan mencatatnya kedalam basis data.Record ini biasanya dicatat untuk tujuan yang bukan dilakukan oleh analisis data mining. Sebagai contoh, informasi pembelian dari perusahaan retail atau penggunaan dari setiap pemakaian telepon pada provider mobile phone, yang biasanya dicatat untuk tujuan administrasi, data tersebut nantinya dapat dipergunakan untuk melakukan analisis data mining.Prosedur pengumpulan data biasanya dilakukan secara mandiri dan bukan untuk objektif data mining, sehingga secara substansial aktifitas pengumpulan data tidak menentukan skema sample, biasanya hanya untuk statistik klasik. Dalam hal ini data mining merepresentasikan bentuk kedua dari analisis data. Aktifitas data mining dapat dikategorikan menjadi sub-sub invetigasi major, fungsi utama dari analisis adalah interpretasi dan prediksi, yang dapat dijelaskan sebagai berikut. 1. Interpretasi. fungsi utama dari intepretasi adalah untuk mengidentifikasi pola yang tersedia di dalam data dan mengekspresikan mereka melalui aturan dan kriteria yang dapat dimengerti oleh ekspert di dalam domain aplikasi. Aturan dibangkitkan dan harus original dan bukan jebakan di dalam
meningkatkan
tingkat
pengetahhuan
dan
pengertian
dari
ketertarikan sistem. Sebagai contoh perusahaan di dalam industry retail mendapatkan keuntungan pada cluster yang pelanggannya menggunakan kartu kredit untuk setiap transaksi. Membangkitkan segmen tersebut menimbulkan keuntungan untuk mengidentifikasi market baru dan memberikan target kampanye marketing untuk masa depan. 2. Prediksi, fungsi utama dari prediksi adalah untuk mengantisipasi nilai dari variable acak yang mengasumsikan nilai yang akan datang atau mengestimasi akibat yang akan datang. Sebagai contoh telepon mobil dapat dikembangkan sebuah analisis data mining untuk mengestimasi pelanggan dan kemunkinan untuk memilih beberapa kompetitor.
2 -10
Pada kontek yang berbeda, perusahaan retail dapat memprediksi penjualan atau memberikan produk pada minggu subsequent.Secara aktual, kebanyakan teknik data mining diturunkan menurut prediksi dari nilai sekumpulan variabel yang diasosiasikan dengan entitas pada basis data. Sebagai contoh, model data mining dapat mengidikasikan perilaku pelanggan telepon dengan bergantung pada parameter umur, durasi , dan presentasi nomor telepon yang dituju. 2.3 Pengembangan Perangkat Lunak dengan Metode Water Fall6[6]. Dalam pemecahan permasalahan dibutuhkan sebuah metode. Metode akan membagi fase menjadi tahapan-tahapan yang akan memudahkan dalam pembangunan sistem informasi. Metode ini sering juga disebut metode “Water Fall” tau “classic life cycle”ini menggunakan pendekatan yang sistematis dan sekuensial dalam membangun perangkat lunak yang dimulai pada level sistem dan pengembangan melalui tahapan analisis, perancangan, pengkodean, pengujian, dan Pemeliharaan.Tahapan Metode pengembangan ini diantaranya: 1. Inisiasi, Merupakan tahapan yang pertama kali dilakukan dengan menentukan tujuan sistem yang akan dibuat. Tahap ini mengidentifikasi hubungan yang dapat berimbas pada sistem termasuk target penyelesaian, ketersediaan dana, tenaga, kebijakan bisnis, regulasi dan standar teknologi. Dengan mengenal permasalahan, peluang, hubungan, arah dan visi, maka akan menghasilkan lingkup inisial yang akan menggambarkan besarnya sebuah sistem dan lingkup dapat didefinisikan oleh informasi, antarmuka dan fungsi. 2. Analisis, Dari rumusan sistem yang diperoleh dari tahap pertama, selanjutnya dilakukan analisis yang berkaitan dengan proses dan data yang diperlukan oleh sistem serta keterkaitannya.Tujuan dilakukan tahapan ini adalah untuk memahami sistem yang ada pada saat ini agar dapat
6
[6] Bentley, Systems Analysis & Design For The Global Enterprise, McGraw-Hill, USA , 2006.
2 -11
mendefinisikan
permasalahan
sistem
sehingga
selanjutnya
dapat
menentukan kebutuhan sistem secara garis besar sebagai persiapan ke tahap perancangan. Pada tahapan ini rancangan menggunakan pemodelan Data Flow Diagram (DFD) dan Entity Relationship Diagram (ERD). 3. Perancangan, Pada tahap perancanganini diberikan gambaran umum yang jelas kepada pengguna dan rancang bangun yang lengkap tentang sistem yang akan dikembangkan kepada pihak-pihak yang terlibat dalam pengembangan sistem. Tahap perancangan ini dilakukan sebagai persiapan untuk tahap implementasi. 4. Implementasi, Setelah tahap perancangan sistem, selanjutnya dilakukan konversi rancangan sistem ke dalam kode-kode bahasa pemrograman yang diinginkan. Pada tahap ini dilakukan pembuatan komponen-komponen sistem yang meliputi modul program, antarmuka dan basis data.
Untuk melakukan pembangunan perangkat lunak dibutuhkan tahapantahapan yang akan dilakukan. Terdapat beberapa fase yang telah dijelaskan sebelumnya akan digambarkan ilustrasi metode waterfall pada gambar 2.4 sebagai berikut :
Gambar 2.4 Pengembagan Sistem Metode Waterfall.7 [7]
2.4Data Flow Diagram Untuk menganalisis sistem yang dibuat dilakukan pemodelan dengan menggunakan Data Flow Diagram (DFD). DFD adalah suatu teknik pemodelan
7
[7] Bentley, Systems Analysis & Design for the global enterprise, McGraw-Hill, USA , 2006.
2 -12
secara grafis yang menggambarkan aliran data dalam sistem serta fungsi-fungsi (proses) yang terlibat dalam transformasi aliran data tersebut. Selain dapat memberikan informasi tambahan yang digunakan selama tahap analisis, DFD juga digunakan untuk merepresentasikan sistem atau perangkat lunak pada berbagai tingkatan abstraksi. DFD dapat dibagi menjadi beberapa level yang menggambarkan penambahan aliran informasi dan fungsionalitas yang lebih rinci. DFD level 0 (diagram konteks) merepresentasikan hubungan perangkat lunak/sistem dengan lingkungan yang berkaitan dengan sistem tersebut sebagai satu proses dengan data masukan dan keluaran digambarkan sebagai panah yang masuk dan keluar proses. Selanjutnya pada level yang lebih tinggi (1,2,..dst), proses tersebut dipecah-pecah untuk memperoleh aliran data dan proses yang lebih rinci. Tabel 2.1 menjelaskan simbol dan notasi yang digunakan di dalam perancangan DFD. Tabel 2.1 Simbol-simbol pada Diagram Alir Data (Data Flow Diagram). No 1.
Simbol
Keterangan External entity (kata benda), sebuah elemen sistem (misalnya perangkat keras, seseorang, program yang lain) atau sistem yang lain yang menghasilkan informasi bagi transformasi oleh perangkat lunak atau menerima informasi yang dihasilkan oleh PL.
2.
Proses (kata kerja), menggambarkan kegiatan yang dilakukan oleh sistem, dapat berupa prosedur yang memanipulasi atau mengolah data.
3.
Data Store (kata benda), merupakan tempat penyimpanan data untuk direferensi atau diolah lagi lebih lanjut.
2 -13
No
Simbol
4.
Keterangan Data Flow (kata benda), menggambarkan aliran data yang menunjukkan transportasi data atau informasi.
5.
Control Flow (kata benda), menggambarkan aliran kontrol data atau kejadian, dapat berupa nilai boolean
6.
Control Bar, merupakan acuan untuk CSPEC (control
specification)
yang
menjelaskan
kebiasaan sistem dan mendefinisikan bagaimana proses diaktifkan sebagai konsekuensi dari suatu kejadian.
2.5 Kamus Data Kamus data adalah kumpulan elemen-elemen atau simbol-simbol yang digunakan untuk membantu dalam penggambaran atau pengidentifikasian setiap field atau file di dalam sistem. Dapat dikatakan juga kamus data atau data dictionary atau disebut juga dengan istilah system data dictionary adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan kamus data, analis sistem dapat mendefinisikan data yang mengalir di sistem dengan lengkap.Kamus data dibuat pada tahap analisis sistem dan digunakan baik pada tahap analisis maupun pada tahap perancangan sistem.Pada tahap analisis, kamus data dapat digunakan sebagai alat komunikasi antara analis sistem dengan pemakai sistem tentang data yang mengalir di sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh pemakai sistem. Pada tahap perancangan sistem, kamus data digunakan untuk merancang input, merancang laporan-laporan, dan database. Kamus data dibuat berdasarkan arus data yang ada di DFD(Data Flow Diagram). Arus data pada DFD memiliki sifat global, hanya ditunjukkan oleh nama arus data. Untuk keterangan lebih lanjut
2 -14
tentang struktur dari suatu arus data di DFD secara lebih terinci dapat dilihat di kamus data pada tabel 2.2 pada halaman 2-14 berikut.
Tabel 2.2 Simbol-simbol kamus data. Notasi
Keterangan
=
Terdiri dari / didefinisikan sebagai
+
Dan
(… )
Opsional
{ …}
Iterasi/ pengulangan
[ …]
Pemillihan dari beberapa alternatif
*…*
Komentar
@
Identifikasi atribut kunci
׀
Pemisahan pada pemilihan (atau)
2.6 .NET Framework8 [8] .NET Framework™ 3.5 merupakan bagian komponen integral dari Window yang mendukung pembangunan dan menjalankan generasi aplikasi dan web service berikunya. .NET Framework™ 3.5 di rancang untuk memenuhi : 1. Untuk mendukung kebutuhan pemrograman berorientasi objek dimana kode objek disimpan dan dieksekusi secara lokal, namun terdistribusi bersama internet atau dapat dieksekusi dengan dipanggil. 2. Untuk
mendukung
kebutuhan
eksekusi
kode
yang
meminimasi
pengimplementasian perangkat lunak dan konflik penamaan versi. 3.
Untuk mendukung kebutuhan eksekusi kode yang memberikan eksekusi kode secara aman termasuk kode yang dibuat oleh pihak ketiga.
4. Untuk mendukung kebutuhan eksekusi kode yang mengeliminasi permasalahan performa dari skrip atau kebutuhan yang diintepretasikan.
8
[8]Microsoft Developer Network,.NET Framework, msdn.microsoft.com/en-us/library/w0x726c2.aspx, 138-2009
2 -15
5. Untuk membuat pengalaman pengembang konsisten dari banyak tipe aplikasi seperti aplikasi berbasis Window dan Web. 6. Untuk membangun komunikasi dalam standar industri di dalam meyakinkan bahwa kode berbasis pada .NET Framework™ 3.5 yang dapat diitegrasikan dengan kode lain.
Gambar 2.5 Kontek .NET Framework.9[9] .NET Framework™ 3.5 dapat ditanam dengan komponen yang tidak terkelola dan dijalankan oleh CLR ke dalam prosesnya dan inisiasi untuk dieksekusi dari kode yang terkelola, sehingga membuat kebutuhan perangkat lunak dapat mengeksploitasi fitur antara kode yang terkelola dan tidak terkelola..NET Framework™ 3.5 tidak hanya dapat memberikan beberapa eksekusi secara lokal namun juga mendukung pembangunan eksekusi pihak ketiga. .NET Framework™ 3.5 memiliki 2 komponen utama : 1. Common Language Runtime(CLR), CLR merupakan fondasi dari .NET Framework. CLR adalah agen yang mengatur kode pada saat eksekusi, memberikan pelayanan utama seperti manajemen memori, manajemen
9 [9] Microsoft Developer Network,.NET Framework, msdn.microsoft.com/en-us/library/zw4w595w.aspx, 13-8-2009
2 -16
thread, dan remoting. Dimana memberikan tipe yang aman dan bentuk lain dari keakuratan kode sehingga memberikan keamanan dan ketangguhan. Manajemen kode merupakan prinsip dasar dari CLR, kode yang ditargetkan untuk dijalankan merupakan kode yang terkelola, kode yang tidak ditargetkan untuk dijalankan disebut kode yang tidak terkelola. CLR mengelola memori, eksekusi thread, eksekusi kode, verifikasi keamanan kode, kompilasi, dan pelayanan sistem lainnya. CLR memiliki fitur yang menentukan untuk mengelola kode yang akan dijalankan pada CLR. Dengan kebutuhan akan keamanan, pengelolaan komponen merupakan bentuk berbagai kepercayaan, bergantung kepada banyaknya faktor yang disertakan pada internet, jaringan enterprise atau komputer lokal. CLR membantu keamanan akses kode, pengguna dapat percaya terhadap eksekusi program yang tertanam di dalam halaman web yang menjalankan animasi pada layar atau suara lagu tetapi hanya dapat mengakses data pribadi, sistem file atau jaringan.Fitur keamanan dari CLR dapat memungkinkan legitimasi pengimplementasian perangkat internet untuk pengecualian kekayaan fitur. CLR membantu ketangguhan kode dengan mengimplementasikan tipe kode dan verifikasi kode infrastruktur yang disebut CTS (common type system).CTS memastikan semua kode yang terkelola mendeskripsikan dirinya.Pada
bahasa
kompiler
Microsoft®
dan
pihak
ketiga
membangkitkan kode yang terkelola sehingga dapat diterima oleh CTS.Kode yang terkelola dapat dikonsumsi oleh tipe dan instan lainnya, memberikan kejelasan tipe data dan type safety.Kebutuhan yang terkelola dari
CLR,
mengeliminasi
berbagai
isu
perangkat
lunak.Dengan
manajemen memori otomatis mengatasi permasalahan error pada aplikasi, keterlambatan memori dan kesalahan referensi memori. CLR membantu percepatan produktifitas pengembang.Programer dapat menulis aplikasi dengan pilihan bahasa untuk digunakan di dalam pembangunan.memiliki keuntungan CLR, pustaka kelas dan komponen yang ditulis di dalam bahasa lain oleh pengembang lain. Kompiler
2 -17
perusahaan dapat memilih target eksekusi. Kompiler bahasa target .NET Framework membuat fitur dari .NET Framework™ 3.5 agar tersedia dari kode yang telah ditulis dengan bahasanya, sehingga mempermudah proses migrasi aplikasi. Pada gambar 2.6berikut menjelaskan proses eksekusi pada .NET Framework.
Gambar 2.6 Proses eksekusi pada .NET Framework10[10] CLR dirancang untuk perangkat lunak masa depan dan mendukung perangkat lunak sekarang dan masa yang akan datang. Integrasi antara kode terkelola dan tidak terkelola, sehingga memungkinkan pengembang dapat menggunakan komponen COM dan DLL. CLR di rancang untuk meningkatkan performa.Sejak CLR memberikan banyak standar pelayanan eksekusi, kode yang terkelola tidak pernak diintepretasikan. Fitur kompilasi JIT (Just In Time) memungkinkan semua kode yang terkelola dijalankan ke dalam native machine language, sistem dimana kode tersebut dieksekusi. Manajer memori menyingkirkan kemungkinan memori yang terfragmentasi dan meningkatkan memori lokal untuk meningkatkan performa. CLR dapat ditanamkan pada server-side berperforma tinggi, seperti Microsoft® SQL Server™ dan Internet Information Services (IIS). Infrastruktur ini memungkinkan untuk menggunakan kode yang terkelola dalam menulis bussines logic, selama masih menggunakan performa dari enterprise server industry terbaik yang mendukung eksekusi aplikasi melalui hosting.
10
[10] David S. Platt ,Introducing Microsoft .NET . Third Edition , 2003 ,USA
2 -18
2. .NET Framework class library, merupakan komponen utama .NET Framework™ 3.5, koleksi berorientasi objek dari tipe yang bisa digunakan kembali sehingga dapat digunakan untuk membangun aplikasi secara tradisional command line atau GUI (Graphical User Interface) yang merupakan basis dari inovasi terbaru seperti web form, XMLdan web service. .NET Framework pustaka kelas merupakan koleksi dari tipe yang dapat digunakan kembali dan terintegrasi dengan CLR.Pustaka kelas berorientasi objek, memberikan tipe dari kode yang terkelola dan dapat menurunkan fungsionalitas.Dengan fitur baru pada .NET Framework™ 3.0 yang mereduksi waktu asosiasi sehingga komponen pihak ketiga dapat berintegrasi dengan kelas pada .NET Framework™ 3.5. Koleksi kelas .NET Framework™ 3.5 mengimplementasikan sekumpulan antarmuka yang dapat digunakan untuk membangun koleksi kelas pribadi.Koleksi kelas dapat dicampur dengan kelas yang terdapat pada .NET Framework™ 3.5. Pustaka kelas berorientasi objek pada tipe .NET Framework™ 3.5 memungkinkan untuk melakukan beberapa pekerjaan program, termasuk manajemen string, koleksi data, konektifitas basis data, dan akses file. pustaka kelas termasuk tipe yang mendukung varietas dari spesialisasi skenario pembangunan. .NET Framework™ 3.5 dapat membantu pengembangan tipe aplikasi dan pelayanan : a. Aplikasi Console. b. Aplikasi Windows GUI (Windows Forms). c. Aplikasi Windows Presentation Foundation(WPF). d. Aplikasi ASP.NET. e. Web services. f. Windowsservices. g. Aplikasi SOA (Service Oriented Architecture) dengan Windows Communication Foundation(WCF). h. Aplikasi Workflow dengan Windows Workflow Foundation(WWF).
2 -19
2.7Association Rules Diberikan 2 proposisi Y dan Z, dimana dapat berupa benar atau salah, kita dapat menentukannya ke dalam pernyataan yang mengimplikasikan kedalam tipe Y ⇒Z dimana dapat diartikan sebagai : jika Y adalah benar maka Z benar. Aturan ini dinamakan Probabilitas jika validitas dari Z diasosiasikan dengan probabilitas p: jika Y adalah benar maka Z juga benar dengan probabilitas p. Aturan
merepresentasikan
paradigma
klasik
untuk
representasi
pengetahuan, populer karena sangat sederhana dan struktur yang intuitif, dimana dapat dengan mudah dimengerti dan serupa dengan skema logikal tipikal dari pemikiran manusia.Aturan ditujukan untuk mengekstrak pengetahuan untuk analisa intelegen bisnis yang dapat diintepretasikan dan tidak menjebak, sehingga menjadi potensial dan berguna untuk pekerja pengetahuan dan mudah diterjemahkan ke dalam rencana aksi.Pada satu sisi, dapat membangkitkan analisis marketing dalam menentukan aturan yang merefleksikan efek dari kampanye promosi iklan yang didapat dari masa lampau. Pada sisi lainnya, aturan kadang dapat dibalik untuk implikasi hubungan kausal. Bergantung, dari instan, aturan yang berkondisi bahwa pembeli dari polis asuransi juga akan membeli mobil dengan probabilitas 0.98. Dapat menjelaskan bahwa aturan tersebut membingungkan karena dengan efek dan ketidakbergunaan untuk manager marketing, sehingga, memiliki pembelian sebuah mobil, kebiasaan pelanggan menggunakan polis asuransi tinggi.Untuk merepresentasikan aturan asosiasi secara formal, dan konfensional untuk memperkenalkan beberapa notasi. Seperti O = {o1, o2, . . ,on}(11.1). Merupakan sekumpulan n objek.Subset generic L ⊆O merupakan itemset.Sebuah itemset berisikan k objek yang merupakan k-itemset.Sebuah transaksi merepresentasikan itemset generic yang telah terekam di dalam basis data yang konjungsi dengan aktifitas atau siklus dari aktifitas. Dataset D dikomposisikan dari daftar m transaksi Ti, dimana setiap transaksi diasosiasikan
2 -20
dengan tanda pengenal yang unik, dilambangkan dengan ti, yang dijelaskan pada table dimana {a, b, c, d, e} = {bread, milk, cereals, coffee, tea}.
Table2.3 Dataset Transaksi. Identifierti
transactionTi
001
{a, c}
002
{a, b, d}
003
{b, d}
004
{b, d}
005
{a, b, c}
006
{b, c}
007
{a, c}
008
{a, b, e}
009
{a, b, c, e}
010
{a, e}
Dengan referensi analisis keranjang pasar, objek merepresentasikan item yang tersedia pada toko dan setiap transaksi berkorespondensi pada daftar item di penerimaan penjualan, yang digambarkan pada tabel 2.3,serupa dengan web mining, objek merepresentasikan halaman di dalam website yang disukai dan setiap transaksi berkoresponden pada daftar halaman yang dilihat menggunakan navigasi pada sebuah sesi. Dijelaskan pula bahwa data set tersebut dikomposisi dari transaksi yang direpresentasikan melalui matrik 2-dimensi X, dimana setiap n objek dari set O berkorespon pada kolom matrik, m transaksi Ti pada baris, dan setiap element dari X didefinisikan sebagai Xij = 1 jika objek Oj terdapat pada transaksi Ti. 0 untuk lainnya. Tabel 2.4 Matrix Transaksi X. identifier 001
a 1
b 0
c 1
d 0
e 0
2 -21
identifier
a
b
c
d
e
002
1
1
0
1
0
003
0
1
0
1
0
004
0
1
0
1
0
005
1
1
1
0
0
006
0
1
1
0
0
007
1
0
1
0
0
008
1
1
0
0
1
009
1
1
1
0
1
010
1
0
0
0
1
Bahwa terdapat dataset yang dikomposisikan dari transaksi yang direpresentasikan dengan 2 matrik dimensional matrik X, ketika sekumpulan N objek dari sekumpulan set O berkorespondensi pada kolom matrik, M transaksi untuk Ti untuk baris dan elemet generik dari X didefinisikan dengan
Xij =
{
1 jika objek Oj terdapat pada transaksi Ti. 0 untuk pengecualian.
Representasi yang dideskripsikan sebelumnya dapat digeneralisasikan, diasumsikan bahwa setiap objek Oj terdapat pada transaksi Ti diasosiasikan dengan Fij merepresentasikan frekuensi dengan objek yang terdapat di dalam transaksi yang sama.Dengan melalui cara ini dapat mendeskripsikan beberapa penjualan secara lengkap yang diperoleh dari 1 buah item transaksi, atau pengulangan pembacaan halaman web pada sebuah sesi navigasi. L ⊆Omerupakan sekumpulan objek. Sebuah transaksi T merupakan sekumpulan L , jika terdapat hubungan L ⊆T . di dalam contoh tabel 2.4 sebuah 2itemset L = {a, c} berisikan transaksi dengan tanda pengenal ti = 005, tetapi tidak terdapat pada transaksi dengan tanda pengenal ti=006.Frekuensi empirikal f(L) merupakan itemset L yang didefinisikan sebagai nomor transkasi Ti yang terdapat pada dataset D yang berisi kumpulan L sehingga f (L) = card{Ti : L ⊆Ti, i = 1, 2, . . . , m}.
2 -22
Ketika berjalan pada sample data yang besar (contoh M tumbuh), rasio F(L)/m antara frekuensi empirical dan jumlah total dari perkiraan transaksi probabilitas Pr(L) dari itemset L, diintepretasikan sebagai probabilitas L yang berisi transaksi T baru yang yang terekam di dalam basis data.Untuk dataset pada tabel 2.4, kumpulan objek
L = {a, c} merupakan frekuensi F(L) = 4 dan
probabilitas di perkirakan sebagai Pr(L) = 4/10 = 0.4.
2.7.1 AssociationRules Satu Dimensi Diberikan 2 buah itemset L ⊂O dan H ⊂O sehingga L ∩ H = ∅ dan merupakan sebuah transaksi T, sebuah association rules merupakan sebuah implikasi probabilitas yang dilambangkan dengan L ⇒H yang dapat diartikan sebagai. Jika L merupakan bagian dari T , maka H juga merupakan bagian T yang didapatkan dari probabilitas p, yang sering disebut sebagai confidence dari aturan D dan didefinisikan. p = conf{L ⇒H} =
f (L U H) (11.4) f (L)
Set L disebut antisenden atau badan dari aturan, dan H merupakan konsekuen atau kepala. Confidence dari aturan mengindikasikan proporsi dari transaksi berisi set H lain yang berisi set L, dan mengekspresikan inferensial aturan. Sebagai nomor M dari peningkatan transaksi, confiden memperkirakan probabilitas H pada transaksi T yang diberikan L pada T, sehingga Pr{H ⊆T |L ⊆T} =
Pr{{H ⊆ T } ∩ {L ⊆ T }} (11.5) Pr{L ⊆ T }
Secara konsekuen, confiden yang tinggi berkorespon pada probabilitas yang lebih baik untuk itemset H yang terdapat pada transaksi yang juga berisi itemset L.Aturan L⇒H harus memiliki support s dalam D jika proporsi dalam transaksi berisi L dan H yang sama dengan s sehingga, s = supp{L ⇒H} =
f (L ∪ H) (11.6) m
Supportdari yang di ekspresikan aturan merupakan proporsi dari transaksi yang berisi badan dan kepala aturan, dimana terdapat pengukuran frekuensi
2 -23
dengan beberapa antisenden pasangan konsekuen yang terdapat bersamaan di dalam transaksi dari dataset.Support yang rendah dapat memberikan sugesti bahwa aturan dapat disetakan.Support yang rendah biasanya sedikit diminati oleh pembuat keputusan. Jika ukuran data set meningkat,untuk mendukung aproksimasi dari kemungkinan pada H dan L yang berisi transaksi yang akan datang. Pada contoh tabel 2.4 diberikan itemset L= {a, c} and H = {b}, untuk aturan L ⇒H adalah p = conf{L ⇒H} =
f (L ∪ H) 2 1 = = = 0.5 (11.7) f (L) 4 2
s = supp{L ⇒H} =
f (L ∪ H) 2 = = 0.2 (11.8) m 10
Lambang dari support dan confidence membawa pada perbaikan formal dari analisis association rules. Pada dataset D atau m, transaksi telah ditetapkan dan nilai minimum threshold Smin untuk support dan Pmin untuk confidence telah diperbaiki, keseluruhan asosiasi harus ditentukan, dikarakterisasi oleh
support s ≥ smin Dan confidencep ≥ pmin. Bagaimanapun ketika bertemu dengan dataset yang besar, mengekstrak seluruh aturan asosiasi pada prosedur enumerasi lengkap merupakan prohibitif dalam bahasa komputasi waktu. Nomor N dari aturan asosiasi yang mungkin meningkat secara eksponensial seiring dengan meningkatnya objek dari nomor n, formula,
NT = 3n − 2n+1 + 1(11.9) Pada hal lain, kebanyakan dari aturan tersebut tidak kuat, yang dirasakan bahwa tidak memenuhi kebutuhan yang diperlukan untuk memenuhi penentuan minimum threshold untuk support dan confidence.Secara enumerasi algoritma membangkitkan seluruh aturan, menghitung support dan confidence dan untuk membuang aturan yang tidak layak serta membuang operasi yang tidak berguna. Sehingga dapat memberikan metode yang kapabel dalam menentukan aturan kuat saja.Dan secara implisit menyaring aturan yang tidak memenuhi kebutuhan minimum threshold. Permasalahan dari membangkitkan aturan asosiasi
2 -24
yang kuat dapat dikategorikan menjadi 2 fase: pertama pembangkitan frekuen itemset dan kedua membangkitkan aturan kuat. Pembangkitan frekuen itemset, dapat dijelaskan dari definisi.Supportdari aturan bergantung pada gabungan itemset L dan H dan bukan dari distribusi actual dari objek antara badan dan kepala dari aturan.Sebagai contoh, terdapat 6 aturan yang bisa dibangkitkan oleh objek {a, b, c}.Dari tabel 2.4 yang memiliki support s = 2/10 = 0.20. {a, b} ⇒ {c}, {a, c} ⇒ {b}, {b, c} ⇒ {a}, {a} ⇒ {b, c}, {b} ⇒ {a, c}, {c} ⇒ {a, b}. Jika nilai threshold untuk support adalah smin = 0.25 (memiliki nilai threshold yang lebih besar dari s = 0.20), ke 6 aturan tersebut dapat secara implisit di eliminasi berdasarkan pada analisis set gabungan {a, b, c}, tanpa membutuhkan beberapa set untuk melakukan komputasi confidence. Berdasarkan pada observasi tersebut, tujuan dari membangkitkan itemset frekuen adalah untuk mengekstrak seluruh set objek yang relative atau memiliki minimum support smin yang terpenuhi.Fase tersebut lebih dari untuk titik penglihatan komputasional daripada fase subsekuen dari pembangkitan aturan. Dimana beberapa algoritma telah memenuhi untuk dapat disertakan itemset frekuen ke dalam cara yang efisien. Pada seksi berikutnya akan dijelaskan algoritma apriori. Membangkitkan aturan kuat.Setelah seluruh itemset yang frekuen telah dibangkitkan, maka dapat diproses menuju fase berikutnya untuk mengidentifikasi strong rules.Dapat juga dipisahkan dari objek yang berisi pada setiap itemset frekuen bergantung pada setiap kombinasi yang mungkin dari kepala atau badan aturan dan memvverifikasi jika confidence aturan berjalan pada threshold minimum pmin.Jika pada contoh itemset {a,b,c} frekuen maka dapat memungkinkan untuk membawa 6 aturan sebelumnya pada aturan yang menunjukan confidence yang lebih tinggi dari threshold yang pmin yang kuat.
2.7.2 Lift of rule (importance)
2 -25
Aturan yang kuat tidak selalu berarti atau menarik untuk pembuat keputusan. Untuk dapat melihatnya, sebuah retail akan menganalisa sekumpulan transaksi untuk mengidentifikasi asosiasi antara penjualan printer berwarna dengan penjualan kamera digital. Diasumsikan bahwa terdapat total 1000 transaksi, dimana terdapat 600 transaksi kamera, 750 transaksi printer dan 400 transaksi yang menyertakan keduanya. Jika nilai threshold smin = 0.3. dan pmin= 0.6 tetap untuk support dan confidence. Aturan{camera} ⇒ {printer} merupakan aturan yang dipilih dari aturan kuat, dimana supports = 400/1000 = 0.4 dan confidencep = 400/600 = 0.66, bergantunng dari threshold minimum. Aturan terlihat mensugesti bahwa pembelian kamera menginduksi pembelian printer. Bagaimanapun juga perhatian analisis yang lebih untuk probabilitas dari pembelian printer dengan hasil 750/1000 = 0.75 dan lebih dari 0.66,dimana probabilitas penjualan printer dikondisionalkan pada penjualan kamera. Faktanya, penjualan printer dan kamera menunjukan korelasi negative, dimana pembelian kamera mereduksi probabilitas pembelian printer. Contoh yang dijelaskan diatas menggambarkan evaluasi dari efektifitas aturan yang berdasarkan pada support dan confidence. Ukuran yang ketiga untuk aturan asosiasi yang signifikan adalah lift. Yang didefinisikan, l = lift{L ⇒H} =
conf{L ⇒ H} f (L ∪ H) = (11.10) f (L) f (H) f (H)
Nilai lift lebih dari 1 mengindikasikan aturan lebih efektif dari frekuensi relative dari kepala di dalam memprediksi probabilitas dimana kepala berisi beberapa transaksi dari dataset. Pada kasus ini badan dan kepala aturan secara positif diasosiasikan. Kemudian, jika lift kurang dari 1, maka aturan kurang efektif dari estimasi pada kepala frekuensi relative.Pada badan kasus dan kepala yang diasosiasikan secara negative, jika lift kurang dari 1, maka aturan tersebut bertolak dengan kepala, yang diekspresikan sebagai {L ⇒(O − H)}, dan lebih efektif dari aturan asli, jika memiliki confidence 1 − conf{L ⇒H} dan dimana lift lebih dari 1.
2 -26
2.7.3 Algoritma Apriori11[11] Data set D dari m transaksi didefinisikan pada set 0 dari N objek yang dapat berisi sampai dengan 2n-1 item set yang dapat keluar, pengecualian untuk sekumpulan set dari koleksi dari setiap subset dari 0. Secara konsekuen pada aplikasi nyata kardinalitas n kurang dari beberapa objek, jumlah dari itemset meningkat secara eksponen dan membuat pengunaan impractical untuk menggunakan pembangkit metode yang berbasis pada enumerasi kumplit dari itemset untuk mengekstrak set yang yang sering muncul. Algoritma
apriori
merupakan
metode
yang
lebih
efisien
untuk
mengekstrak aturan yang terdapat pada sekumpulan transaksi.Pada fase pertama algoritma membangkitkan itemset yang sering muncul dengan jalan sistematik tanpa mengeksplorasi ruang dari seluruh kandidat, dan fase kedua mengekstrak aturan yang kuat.Asumsi teoritis dari algoritma apriori berbasis pada property yang disebut prinsip apriori. 12
“Teorema (prinsip apriori).Jika itemset frekuen, maka setiap subset
merupakan frekuen.” Untuk mengilustrasikan prinsip apriori, kita dapat mengasumsikan itemset (a,b,c) adalah item yang sering muncul. Dan jelas bahwa setiap transaksi berisikan item(a,b,c) selalu memiliki 6 subset yang terdapat pada 2-itemset(a,b), (a,c),(b,c) dan 1-itemset(a),(b),(c). terdapat 6 itemset yang dapat muncul. Secara actual terdapat konsekuensi dari prinsip apriori yang menjadi dasar di dalam mereduksi ruang pencarian dari algoritma.
11
[11]Vercelis, Carlo.Business Intelligence: Data Mining and Optimization for Decision Making, Wiley, Italy, 2009.
12
[12]Vercelis, Carlo.Business Intelligence: Data Mining and Optimization for Decision Making,
Wiley, Italy, 2009.
2 -27
Jika kita mengasumsikan (a,b,c) tidak sering muncul, maka setiap items tersebut tidak akan muncul. Pada langkah ini itemset yang tidak sering muncul telah
diidentifikasikan
oleh
algoritma,
sehingga
memungkinkan
untuk
mengeliminasi seluruh itemset dengan kardinalitas yang dimiliki, sehingga dapat meningkatkan efisiensi.
2.7.4 Membangkitkan itemset frekuen. Algoritma apriori membangkitkan itemset yang sering muncul, dengan 1 itemset yang sering muncul dan kemudian menentukan k-itemset berbasis pada (k-1) itemset yang telah dibangkitkan pada langkah sebelumnya. Banyaknya iterasi yang dilakukan adalah (kmax + 1) dimana kmax merupakan kardinalitas maksimum dari itemset dari data set d.Prosedur pembangkitan itemset yang sering muncul : 1. Transaksi pada dataset yang telah dibaca untuk dikomputasikan secara relative dari setiap objek. Objek dengan peluang muncul yang paling rendah dari batas minimal jumlah keluarnya frekuensi Smin kemudian dibuang. Pada akhir langkah ini, koleksi dari keseluruhan 1-itemset yang telah dibangkitkan dan hitungan iterasi kemudian di atur k=2. 2. Kandidat k-itemset secara iterative dibangkitkan dari (k-1) itemset. Ditentukan pada iterasi sebelumnya. 3. Minimum item yang sering muncul untuk setiap kandidat k-itemset dikomputasikan dengan melakukan pembacaan untuk setiap transaksi yang terdapat pada dataset. 4. Kandidat yang tidak memenuhi batas minimum smin akan dibuang. 5. Algoritma kemudian berhenti jika tidak ada lagi k-itemset yang dapat dibangkitkan. Dan k = k+1 kemudian kembali ke langkah 2. Untuk mengilustrasikan bagaimana langkah pembangkitan itemset pada algoritma apriori, akandijelaskan melalui pseudocode pembangkitan itemset frekuen. Pseudocode pembangkitan itemset dijelaskan pada tabel 2.5 pada halaman 2-28.
2 -28
Tabel 2.5Pseudocode pembangkitan itemset Kamus F: hasil itemset frekuen keseluruhan k : jumlah/ukuran penampungan hasil itemset F[k]: aray hasil itemset dengan ukuran k C[k]: array kumpulan kandidat dengan ukuran k c
: item kandidat
Proses SetOfItemsets generateFrequentItemsets(Integer minimumSupport){ F[1] = {frequent items}; for (k =1, F[k] >0; k++) { C[k+1] = generateCandidates(k, F[k]); for each transaction t in databases { // membaca dataset For each candidate c in C[k+1] { if t contains c then c.count++ } } //end for for each candidate c in C[k+1] { //memilih kandidat yang memenuhi threshold minimum if c.count >= minimumSupport then F[k+1] = F[k+1] U {c} }//end for } // end for //Menggabungkan seluruh itemset yang frekuen while k>=1 do { F = F U F[k]; k--; } // end while return F;
2 -29
} // end function
Setelah pembangkitan
itemset frekuen,
fungsi
generateCandidates
mengembalikan seluruh itemset kandidat dengan size = k + 1. Setiap subset dari itemset frekuen harus merupakan itemset yang memenuhi kriteria. Sebagai contoh, jika {beer, diaper, bread} merupakan itemset frekuen maka {beer}, {diaper}, {bread},{beer, diaper}, {beer, bread}, dan {diaper, bread} merupakan itemset frekuen.Melakukan pembangkitan itemset Ck+1 untuk itemset frekuen Fk. Perintah untuk membangkitkan itemset dijelaskan pada tabel 2.6 berikut. Tabel 2.6Pseudocode pembangkitan kandidat itemset Kamus C[k] : array kumpulan kandidat itemset berukuran k X
: item yang digunakan pada transaksi
k
: jumlah/ukuran penampungan hasil itemset
Proses Insert into Ck+1 Select x1.a1, x1.a2, . . ., x1.ak, x2.ak From Fk as x1, Fk as X2 Where //match the itemset prefixes of size k-1 x1.a1 = x2.a1 And x1.a2 = x2.a2 And ... x1.ak-1 = x2.ak-1 And //menghindari duplikat data x1.ak <>x2.ak
Perintah sql pada tabel berfungsi untuk membangkitkan kandidat itemset dari size k yang memiliki prefixes dari itemsets size k-1. Bagaimanapun, tidak menjamin setiap subsets dari kandidat itemset merupakan itemset frekuen.
2 -30
Sehingga, harus memastikan kandidat yang tidak berisi frekuen subset dengan menggunakan prosedur yang dijelaskan pada tabel 2.7 halaman 2.30 berikut.
Tabel2.7 Pseudocode pengecekan subset Kamus C
: kandidat itemset
F: kumpulan itemset k
: jumlah/ukuran penampungan hasil itemset
Proses Boolean hasInfrequentSubset(Itemset c, SetofItemsets F) { For each (k-1) subset s of c { If s not in F then return true; } return false; } // end function
Proses pembangkitan kandidat itemset dan penghitungan korelasi itemset tersebut akan memakan waktu. Pada kasus tertentu, ini dapat membangkitkan kumpulan kandidat yang besar. Sebagai contoh, diketahui terdapat 10.000 produk (supermarket berukuran medium). Jika minimum support cukup rendah, maka algoritma dapat membangkitkan sampai pada 10 pangkat 8 kandidat 2- itemset. Berbagai macam teknik optimisasi telah tersedia pada fase ini. Sebagai contoh Association Rules algorithm menyimpan itemset dalam bentuk pohon struktur data untuk menghemat kapasitas penampungan. Beberapa algoritma assosiasi membangkitkan itemset frekuen tanpa melakukan pembangkitan kandidat. Algoritma associationrules dapat juga digunakan sebagai algoritma prediktif untuk melakukan pekerjaan klasifikasi. Secara umum algoritma ini bukan alat prediksi yang baik, namun setelah dibandingkan dengan algoritma prediktif lainnya pada Microsoft SQL Server 2008™. Jika memutuskan untuk menggunakan algoritma ini, dibutuhkan sebuah trik yang dapat membantu diantaranya meningkatkan nilai parameter algoritma MINIMUM PROBABILITY.
2 -31
Nilai inisial untuk parameter ini adalah 0.4, sangat baik untuk berbagai pekerjaan asosiasi tetapi mengakibatkan klasifikasi yang terlalu sedikit. Meningkatkan nilai parameter
ini
menjadi
0.5,
setidaknya
dapat
meningkatkan
performa
klasifikasi.EDICTIVE ASSOCIATION RULES MODELS Pemrosesan algoritma association rules sangat sensitif untuk parameter Minimum Support. Ketika parameter tersebut dipasang terlalu rendah ( kurang dari 1 persen ), memproses waktu dan membutuhkan memory yang bertambah secara exponential. Besarnya jumlah dari frekuen itemset yang terkualifikasi dan kandidat frekuen itemset. Untuk data set yang berisikan banyak item, maka disarankan untuk menghindari parameter yang terlalu kecil.Jumlah dari item merupakan kritikal untuk performa pemrosesan, apabila terdapat banyak item, bergantung dari melakukan pemisahan group kedalam kategori. Sebagai contoh, untuk penyimpanan dapat memiliki perepresentasian jelly beans yang berbeda. Dapat dikategorikan seluruhnya untuk kedalam kategori jellybeans yang berdiri sendiri, dimana tidak mereduksi jumlah total dari item, tetapi mereduksi waktu pemrosesan model. Sebagai contoh, kita akan mengaplikasikannya pada transaksi. Pada tabel 2.8 pada halaman 2-32 diasumsikan minimum tresholdssupport adalah Smin = 0.2. Langkah 1, inisiasi algoritma menentukan frekuensi relative untuk setiap objek 0= (a,b,c,d,e) yang digambarkan table 2.8 pada halaman 2-32. Seluruh 1itemset yang sering muncul yang memiliki frekuensi yang lebih dari pada thresholdSmin. Iterasi berikutnya adalah memproses pembangkitan seluruh kandidat 2-itemset yang tersedia pada 1-itemset dan melakukan komputasi untuk frekuensi relative yang ada. Tabel 2.9 daftar tersebut 2-itemset tersebut dapat dikeluarkan dari 1itemset. Tabel 2.9 menunjukan frekuensi relative dan status.Pada iterasi berikutnya membangkitkan kandidat 3-itemset yang dapat disertakan dari 2itemset. Yang ditujukan pada table 2.10 pada halaman 2-32, kedua 3-itemset yang frekuen. Dan tidak terdapat 4-itemset sehingga procedur dihentikan, memiliki penentuan total dari 5+6+2 = 13 itemset frekuent.
2 -32
2.7.5 Membangkitkan Aturan Kuat Pada fase kedua, di dalam membangkitkan aturan kuat, menerima masukan dari daftar untuk banyak itemset, dibangkitkan pada fase pertama, dan diasosiasikan dengan frekuensi relative yang melebihi minimum threshold Smin. Tabel2.8 1 buah itemset frekuen. Itemset
Relative frequency
Status
{a}
7/10 = 0.7
frequent
{b}
7/10 = 0.7
frequent
{c}
5/10 = 0.5
frequent
{d}
3/10 = 0.3
frequent
{e}
3/10 = 0.3
frequent
Tabel 2.92 buah itemset frekuen. Itemset
Relative frequency
Status
{a, b}
4/10 = 0.4
frequent
{a, c}
4/10 = 0.4
frequent
{a, d}
1/10 = 0.1
not frequent
{a, e}
3/10 = 0.3
frequent
{b, c}
3/10 = 0.3
frequent
{b, d}
3/10 = 0.3
frequent
{b, e}
2/10 = 0.2
frequent
{c, d}
0/10 = 0.0
not frequent
{c, e}
1/10 = 0.1
not frequent
{d, e}
0/10 = 0.0
not frequent
Tabel 2.10 3 buah itemset yang frekuen. Itemset {a, b, c}
Relative frequency 2/10 = 0.2
Status Frequent
2 -33
{a, b, e}
2/10 = 0.2
frequent
Pada frekuen k-itemset L dimungkinkan untuk membangkitkan kandidat aturan asosiasi 2k-2 untuk mengekstrak aturan kuat, lepas dari aturan yang memiliki set kosong sebagai kepala atau badan. Untuk setiap proses confidence dikomputasi dan dibandingkan dengan minimum threshold pmin. Menggunakan aturan l = h yang telah dibangkitkan. Memantau komputasi dari confidence tidak membutuhkan pembacaan dataset.Dan frekuensi f (L) and f (L ∪H) telah diketahui saat fase pertama algoritma dan kedua Land L ∪H merupakan itemset frekuent. p = conf{L ⇒H} = f (L ∪H)
f (L ∪ H) (11.11) f (L)
Diberikan sebuah k-itemset frekuen L, sehingga dapat membangkitkan kandidat 2k-2 aturan asosiasi yang di ekstrak sebagai aturan kuat, meninggalkan aturan yang tidak memiliki set sebagai badan atau kepala. setiap confiden dikomputasi dan akan dibandingkan dengan threshold pmin. Diasumsikan aturan L⇒H telahdibangkitkan. Komputasi kemudian memantau confidence apakah membutuhkan pembacaan lebih lanjut. Prosedur 11.2 mendeskripsikan pembangkitan aturan kuat untuk algoritma apriori. Dan tabel 11.6 memperlihatkan bagaimana aplikasi tersebut pada transaksi dari table 11.1 dengan nilai treshhold pmin = 0.05, prosedur 11.2 algoritma apriori dengan pembangkitan aturan kuat. 1. Daftar itemset frekuent yang telah dibangkitkan pada fase pertama kemudian
dibaca
diberhentikan.
kembali.
Sementara
Jika b
daftar
menjadi
kosong itemset
maka
prosesdur
berikutnya
yang
ditentukan,dimana akan dikeluarkan dari daftar 2. B merupakan sekumpulan objek yang merupakan bagian dari dalam subset yang tidak kosong dan termasuk L dan h = b – l, bergantung setiap kombinasi. 3. Untuk setiap kandidat l = h, confidence dikomputasi sebagai, p = conf{L ⇒H} =
f (B) (11.12) f (L)
2 -34
4. Jika p ≥ pmin maka aturan tersebut disertakan kedalam daftar aturan kuat, dan apabila tidak memenuhi maka tidak akan dimasukan kedalam daftar. Beberapa operasi yang menggunakan algoritma apriori tumbuh secara eksponensial dari banyaknya peningkatan dalam jumlah n objek. Sebagai contoh, untuk membangkitkan 100-itemset dapat memungkinkan di uji apabila.
100 100 30 = 2 - 1 ≈ 10 ( 11.13) h h −1
100
∑
Banyaknya kandidat set. Beberapa taktik yang telah digunakan, biasanya dideskripsikan disini, untuk meningkatkan efisiensi dari algoritma apriori; untuk informasi dapat dilihat pada referensi.Pertama dapat digunakan untuk mengadopsi beberapa struktur data lanjut untuk merepresentasikan transaksi, seperti kamus dan pohon binary.Untuk lebih lanjut, dapat memungkinkan untuk membagi transaksi kedalam subset yang terpisah dan menggunakan algoritma apriori untuk setiap partisi untuk mengidentifikasi itemset frekuen lokal. Pada tahap berikkutnya setiap set transaksi bergantung pada itemset frekuen global dan berkorespondensi dengan aturan kuat. Dan sangat memungkinkan untuk secara acak mengekstrak contoh signifikan dari transaksi dan mencoba aturan asosiasi untuk contoh yang telah diekstraksi, dengan efisiensi yang lebih baik, sampai dari kemungkinan ketidakakurasian dengan respek pada set transaksi yang penuh. Tabel 2.11 Hasil Pembangkitan Aturan Kuat. Itemset
Rule
Confidence
Status
{a, b}
{a ⇒b}
p = 4/7 = 0.57
strong
{a, b}
{b ⇒a}
p = 4/7 = 0.57
strong
{a, c}
{a ⇒c}
p = 4/7 = 0.57
strong
{a, c}
{c ⇒a}
p = 4/5 = 0.80
strong
{a, e}
{a ⇒e}
p = 3/7 = 0.43
not strong
{a, e}
{e ⇒a}
p = 3/3 = 1.00
strong
{b, c}
{b ⇒c}
p = 3/7 = 0.43
not strong
{b, c}
{c ⇒b}
p = 3/5 = 0.60
strong
2 -35
Itemset
Rule
Confidence
Status
{b, d}
{b ⇒d}
p = 3/7 = 0.43
not strong
{b, d}
{d ⇒b}
p = 3/3 = 1.00
strong
{b, e}
{b ⇒e}
p = 2/7 = 0.29
not strong
{b, e}
{e ⇒b}
p = 2/3 = 0.67
Strong
{a, b, c}
{a, b ⇒c}
p = 2/4 = 0.50
not strong
{a, b, c}
{c ⇒a, b}
p = 2/5 = 0.40
not strong
{a, b, c}
{a, c ⇒b}
p = 2/4 = 0.50
not strong
{a, b, c}
{b, c ⇒a}
p = 2/3 = 0.67
strong
{a, b, c}
{a ⇒b, c}
p = 2/7 = 0.29
not strong
{a, b, e}
{a, b ⇒e}
p = 2/4 = 0.50
not strong
{a, b, e}
{e ⇒a, b}
p = 2/3 = 0.67
strong
{a, b, e}
{a, e ⇒b}
p = 2/3 = 0.67
Strong
{a, b, e}
{b ⇒a, e}
p = 2/7 = 0.29
not strong
{a, b, e}
{b, e ⇒a}
p = 2/2 = 1.00
strong
{a, b, e}
{a ⇒b, e}
p = 2/7 = 0.29
not strong
Langkah berikutnya pada proses algoritma asosiasi adalah untuk membangkitkan aturan asosiasi. Dengan melihat aturan dari cake milk
milk, atau
cake . dan tertarik pada aturan tersebut karena memiliki korelasi yang
tinggi. Untuk membangkitkan aturan ini, diperlukan penghitungan itemset {cake, milk} seperti juga penghitungan untuk {cake}, {milk} (1-itemset). Secara umum, itemset untuk sebelah kiri panah (sisi kiri ), merupakan itemset yang berisi seluruh item yang terdapat pada aturan. Aturan dibangkitkan dari itemset, setiap item pada aturan secara otomatis memenuhi kondisi minimum support. Beberapa prosedur untuk membangkitkan seluruh aturan yang terkualifikasi. Tabel 2.12 Pseudocode pengecekan aturan kuat Kamus F
: kumpulan itemset
x : item yang terdapat pada aturan
2 -36
y
: item prediksi
Proses For each frequent itemset f generate all the subset x and its complimentary set y = f - x If Support(f)/Support(x) >Minimum Probability, then x
=>
y
is
a
qualified
association
rule
with
probability
=
Support(f)/Support(x) end if end for
Algoritma association rules tidak membangkitkan beberapa item pada sisi kanan dari aturan. Bagaimanapun, dengan beberapa rekomendasi, maka dapat menggunakan query prediksi pada model asosiasi dimana dapat mengembalikan beberapa item. 2.7.6Importance Importance disebut sebagai interestingscore (atau lift pada beberapa literatur).
Importance
dapat
digunakan
untuk
mengukur
itemset
dan
aturan.Importance dari itemset didefinisikan menggunakan formula. Importance ({A,B}) =Probability (A, B)/(Probability (A)*Probability (B))(11.14) Jika importance = 1, A dan B merupakan item yang berdiri sendiri. Berarti bahwa penjualan dari produk A dan penjualan produk B merupakan penjualan yang terpisah. Jikan importance< 1, A dan B berkorelasi secara negatif . dimana bahwa jika pelanggan membeli A, bahwa pelanggan tersebut biasanya tidak membeli B. Jika importance> 1 , maka A dan B secara positif berkorelasi sehingga jika pelanggan tersebut membeli A maka biasanya akan membeli B. untuk aturan importance di hitung menggunakan formula. Importance (A => B) = log (p(B|A)/p(B|not A)) ( 11.15 )
2 -37
Importance bernilai 0 berarti tidak terdapat asosiasi antara A dan B. Nilai importance yang positif berarti bahwa probabilitas B akan naik apabila terdapat A. nilai importance negatif berarti probabilitas B akan turun jika terdapat A.Tabel2.13 memberikan penghitungan korelasi dari Benang dan Katun yang diturunkan dari dataset transaksi.Setiap nilai pada kotak merepresentasikan nomor transaksi.Sebagai contoh 15 katun terjual dari 100 transaksi pelanggan yang membeli benang dan katun bersamaan. Tabel 2.13Korelasi Benang dan Katun. BENANG BUKAN BENANG TOTAL
KATUN 15 75 90
BUKAN KATUN 5 5 10
TOTAL 20 80 100
Support({KATUN}) = 90 Support({BENANG}) = 20 Support ({KATUN, BENANG}) = 15 Probability({KATUN}) = 90/100 = 0.9 Probability({BENANG}) = 20/100 = 0.2 Probability({KATUN, BENANG}) = 15/100 = 0.15 Probability(KATUN|BENANG) = 15/20 = 0.75 Probability(BENANG|KATUN) = 15/90 = 0.167 Importance({KATUN, BENANG}) = 0.15/(0.2*0.9) = 0.833 Aturan dari formula importance yang digunakan dapat menimbulkan penghitungan yang error jika terdapat probabilitas yang bernilai 0, dimana hal tersebut dapat terjadi jika 2 item berkorelasi secara sempurna.Untuk menghindari isu tersebut, setiap penghitungan menggunakan kondisi probabilitas yang ditambahkan dengan 1.Pengalihan tersebut tidak berdampak pada aturan importance relative, secara umum aturan yang didukung dengan banyak pelatihan kasus.Merupakan keuntungan dari penanganan yang seragam bagi setiap aturan yang terdeteksi oleh sistem.Nomor korelasi yang digunakan dialihkan pada komputasi aturan, importance direpresentasikan pada tabel 2.14 berikut. Tabel2.14Korelasi Lift Benang dan Katun.
2 -38
KATUN BENANG 15 + 1 = 16 BUKAN BENANG 75 + 1 = 16 TOTAL 92 Untuk melakukan pembangkitan
BUKAN KATUN 5+1=6 5+1=6 12 aturan kuat yang
TOTAL 22 82 104 diangkat dengan
menggunakan penghitungan alternative.Aturan importance dikomputasikan sebagai berikut. Importance (BENANG => KATUN) = log10(Probability(KATUN|BENANG) /Probability(KATUN| BUKAN BENANG))= log10( (16/22) / (76/82)) =0.105302438 Importance(KATUN => BENANG) = log10(Probability(BENANG | KATUN) /Probability(BENANG | BUKAN KATUN)) = log10((16/92) / (6/12) ) =-0.45864 Sebagai importance dari itemset {KATUN, BENANG}, anda dapat melihat bahwa KATUN dan BENANG.Secara berkorelasi secara negative sehingga tidak biasanya pelanggan yang membeli KATUN juga membeli BENANG.
2.8 Microsoft Sql Server Analisis Service Data mining merupakan sebuah proses penemuan informasi yang dapat digunakan dari sekumpulan data yang besar. Data mining menggunakan analisis matematika untuk memberikan pola dan trend yang terdapat pada data.Biasanya, pola tersebut tidak dapat ditemukan menggunakan eksplorasi data secara tradisional karena hubungan yang terlalu komplek atau karena terlalu banyak data.Pola dan trend dapat dikoleksi dan didefinisikan sebagai model data mining. Model mining dapat diaplikasikan untuk scenario bisnis yang spesifik, seperti: 1. Peramalan penjualan. 2. Menargetkan promosi untuk pelanggan spesifik. 3. Menentukan produk yang biasanya terjual secara bersamaan. 4. Menemukan urutan di dalam pemesanan pelanggan yang dimasukan pada keranjang belanja.
2 -39
Membangun model mining merupakan bagian dari proses besar yang menyertakan seluruh pertanyaan tentang data dan pembuatan data untuk menjawab pertanyaan, dan mengimplementasikan model kedalam perlengkapan pekerjaan. Gambar 2.7 pada halaman 2-39 menjelaskan hubungan setiap langkah di dalam proses, dan teknologi pada Microsoft SQL Server 2008 yang dapat digunakan pada setiap langkahnya.
Gambar2.7 Siklus data mining pada sql server 2008.13[13] Setiap proses mengilustrasikan pada diagram adalah sirkuler, setiap langkah tidak secara langsung ke langkah berikutnya. Membuat model data mining merupakan proses dinamis dan iterative. Setelah kamu mengeksplorasi data, kamu dapat menemukan bahwa data tidak memenuhi untuk dapat membuat model mining sehingga membutuhkan lebih banyak data untuk membuat model mining. Langkah
alternatif,
anda
dapat
membuat
beberapa
model
dan
merealisasikan bahwa model secara sementara tidak menjawab pertanyaan yang telah
didefinisikan,
maka
harus
mendefinisikan
ulang
masalah.Setelah
mendefinisikan masalah kembali maka model dapat diperbaharui setelah di implementasikan karena data telah tersedia. Setiap langkah di dalam proses dapat diulangi setiap kali untuk mencapai model yang baik.SQL Server 2008 menyediakan perlengkapan terintegrasi untuk membuat dan bekerja dengan model data mining dan disebut sebagai Business Intelligence Development Studio.
13
[13]Microsoft Developer Network, Data Mining Concepts, http://msdn.microsoft.com/enus/library/ms174949.aspx , 12-06-10
2 -40
Perlengkapan studio tersebut disertai dengan algoritma data mining dan peralatan yang dapat memudahkan pembuatan solusi komprehensif untuk berbagai projek.Setelah membuat solusi data mining, penelusuran dan perawatan dapat menggunakan SQL Server Management Studio. Proses ini dapat didefinisikan dengan 6 langkah. 1. Mendefinisikan masalah Langkah pertama pada proses data mining, yang diperlihatkan pada diagram, untuk mendefinisikan masalah bisnis dengan jelas dan memberikan jalan dalam menyediakan jawaban dari masalah.
Gambar 2.8Proses Mendefinisikan Masalah14[14] Langkah ini menyertakan analisa kebutuhan bisnis, mendefinisikan lingkup masalah, mendefinisikan ukuran yang dapat mengevaluasi model dan mendefinisikan tujuan spesifik dari projek data mining. Beberapa pertanyaan. 1. Apa yang ingin kamu lihat? Tipe hubungan apa yang ingin andacari ? 2. Apakah masalah yang kamu coba pecahkan, merefleksikan kebijakan atau proses bisnis ? 3. Apa kamu ingin membuat prediksi dari model data mining atau hanya ingin melihat pola dan asosiasi yang menarik ? 4. Atribut mana dari data set yang ingin anda prediksi ?
14
[14]Microsoft Developer Network, Data Mining Concepts, http://msdn.microsoft.com/enus/library/ms174949.aspx , 12-06-10
2 -41
5. Bagaimana kolom saling berelasi?jika terdapat beberapat tabel, bagaimana tabel tersebut berelasi ? 6. Bagaimana data didistribusikan? Apakah data didistribusikan secara seasonal (musiman)? Apakah data merepresentasikan proses bisnis secara akurat ? Untuk menjawab pertanyaan tersebut, membutuhkan pembelajaran ketersediaan data, untuk menginvestigasi kebutuhan pengguna bisnis dengan ketersediaan data.Jika data tidak mendukung kebutuhan pengguna maka dapat mendefinisikan ulang projek. Anda dapat memberikan jalan dimana hasil dari model
dapat
disatukan
dengankeyperformanceindicators
(KPI)
untuk
mengukur progress bisnis.
2. Mempersiapkan data Langkah kedua pada proses data minig, yang digambarkan berikut, untuk mengkonsolidasi(menggabungkan dan membersihkan data yang telah diidentifikasi pada langkah sebelumnya (mendefinisikan masalah).Data dapat diperlihatkan antar perusahaan dan disimpan di dalam format yang berbeda, atau dapat berisi ketidak konsistenan seperti masukan data yang salah dan masukan yang hilang.Sebagai contoh data dapat memperlihatkan bahwa pelanggan membeli produk sebelum produk ditawarkan di pasaran, atau bahwa pelanggan kadang berbelanja pada toko yang berjarak 2.000 mil dari rumahnya. Pembersihan data tidak hanya menyingkirkan data yang rusak, namun ini tentang menemukan korelasi tersembunyi di dalam data, mengindentifikasi sumber data yang akurat, dan menentukan kolom mana yang digunakan untuk analisis. Sebagai contoh, apakah anda menggunakan jadwal pengiriman atau jadwal penjualan produk?, jika sales terbaik dipengaruhi kuantitas, harga total atau harga diskoun. Data yang tidak lengkap, data yang salah dan masukan yang dapat dipisahkan, tetapi secara fakta berkorelasi secara kuat, dapat mempengaruhi hasil dari model dimana tidak diharapkan. Sebelum memulai
2 -42
membuat model mining anda harus mengidentifikasi problem dan menentukan bagaiman anda dapat memperbaikinya. Secara tipikal, pekerjaan dengan dataset yang sangat besar dan tidak dapat melihat setiap transaksi. Dimana anda menggunakan bentuk otomasi, seperti
Integration Services untuk mengeksplorasi data dan menemukan
ketidakkonsistensian. Microsoft SQL Server™ 2008 Integration Services (SSIS) memiliki peralatan untuk menyelesaikan langkah kedua ini.Termasuk merubah bentuk untuk otomasi pembersihan data dan konsolidasi.
Gambar 2.9 Mempersiapkan Data.15[15] Data yang akan digunakan pada data mining tidak selalu harus disimpan padaOnlineAnalyticalProcessing (OLAP) cube, atau pada basis data relational, namun data mining dapat menggunakan gabungan sumber data atau keduanya. Data mining dapat menggunakan berbagai sumber data seperti yang telah didefinisikan sumber data pelayanan analisis. Sumber data dapat berisikan file teks, excel, atau data dari penyedia data dari luar. 3. Mengeksplorasi data Langkah ketiga pada proses data mining, seperti yang digambarkan pada gambar 2.10 pada halaman 2-43, untuk melakukan ekplorasi data yang telah disiapkan.
15
[15] Microsoft Developer Network, Data Mining Concepts, http://msdn.microsoft.com/enus/library/ms174949.aspx , 12-06-10
2 -43
Gambar2.10 Eksplorasi Data.16[16] Data di dalam membuat keputusan ketika membuat model mining. Teknik eksplorasi menyertakan kalkulasi nilai minimum dan maksimum, melakukan penghitungan rata dan standar deviasi, dan melihat distribusi data. Sebagai contoh, anda dapat menentukan nilai maksimum, minimum, dan rata dimana data tidak merepresentasikan pelanggan atau proses bisnis. Dan dimana terdapat data yang seimbang untuk mengasumsikan dasar dari ekspektasi. Standar deviasi dan distribusi nilai dapat disediakan oleh informasi yang berguna tentang stabilitas dan keakuratan hasil.Standar deviasi yang besar dapat mengindikasikan bahwa dengan menambah data maka dapat menolong perbaikan model.Data dengan deviasi yang kuat dari standar distribusi dapat menggambarkan atau dapat merepresentasikan gambar akurat dari masalah yang nyata, tetapi dapat mempersulit kecocokan model pada data. Dengan melakukan eksplorasi data dimana kita telah memahami masalah bisnis, anda dapat menentukan jika dataset berisi data bersih, dan kemudian dapat menentukan strategi untuk memperbaiki masalah atau
16
[16] Microsoft Developer Network, Data Mining Concepts, http://msdn.microsoft.com/enus/library/ms174949.aspx , 12-06-10
2 -44
mendapatkan lebih banyak pemahaman dari tingkah laku yang ditemukan pada bisnis. 4. Membangun model Langkah keempat di dalam proses data mining, yang digambarkan pada gambar 2.11 berikut, langkah pembangunan model mining atau model.
Gambar 2.11Pembangunan model.17[17] Anda mendefinisikan data mana saja yang akan digunakan untuk membuat struktur mining. Struktur mining mendefiniskan sumber data, tetapi tidak berisikan data apapun sampai struktur tersebut diproses. Ketika anda memproses struktur mining, pelayanana analisis membangkitkan selisih dan informasi statistikal lain yang dapat digunakan untuk kepentingan analisis. Sebelum mode diproses, model data mining hanya merupakan container yang menspesifikan kolom yang digunakan sebagai masukan, atribut yang diprediksi, dan parameter yang memberitahukan bagaimana algoritma memproses data. Melakukan proses pada model disebut sebagai training. Training mengacu pada proses yang menggunakan algoritma matematik yang spesifik pada data di dalam struktur untuk mengekstrak pola. Pola yang dapat ditemukan pada proses training sangat bergantung pada pemilihan pelatihan data, algoritma yang digunakan, dan bagaimana
17
[17]Microsoft Developer Network, Data Mining Concepts , http://msdn.microsoft.com/enus/library/ms174949.aspx , 12-06-10
2 -45
melakukan pengaturan algoritma. SQL Server 2008™ berisi berbagai algoritma, setiap algoritma memiliki kemampuan tersendiri dan memiliki tipe model yang berbeda. Anda dapat mengunakan parameter untuk mengatur setiap algoritma dan dapat menggunakan penyaringan untuk melatih data atau hanya melatih subset data dan membuat hasil yang berbeda.Setelah melewati data pada model, objek model mining berisikan kesimpulan dan pola yang dapat diperintah oleh queri atau penggunaan prediksi.Anda dapat mendefinisikan model baru dengan menggunakan Data Mining Wizard padaBusiness Intelligence Development Studio™ atau dengan menggunakan bahasa Data Mining Extensions (DMX). Anda harus memperbaharui struktur mining dan model mining. Dengan memperbaharui struktur mining dengan melakukan pemrosesan kembali, pelayanan service mendapatkan data dari sumber data, termasuk data baru yang secara dinamis diperbaharui dan dipopulasikan kembali pada struktur mining.Jika anda memiliki model berdasarkan struktur, anda dapat memilih pembaharuan model yang berbasis pada struktur, anda dapat memilih untuk melakukan pembaharuan berbasiskan pada struktur, dimana dapat menimbulkan pelatihan ulang pada data baru, atau anda dapat meninggalkan model. 5. Melakukan ekplorasi dan validasi model Langkah kelima dalam proses data mining, yang digambarkan pada diagram gambar.Untuk mengeksplorasi model mining yang akan dibuat dan melakukan pengujian efektifitas.
2 -46
Gambar 2.12melakukan validasi model.18[18] Sebelum
mengimplementasikan
model
kedalam
perlengkapan
produksi, anda harus melakukan pengujian bagaimana model berjalan dengan baik.Juga ketika membangun model anda biasanya membuat beberapa model dengan perbedaan pengaturan dan melakukan pengujian seluruh model untuk melihat hasil yang terbaik bagi masalah dan data.Pelayanan analisis memberikan peralatan untuk membantu data ke dalam pelatihan dan pengujian dataset sehingga secara akurat dapat melihat performa dari seluruh model pada data yang sama. Anda menggunakan pelatihan dataset untuk membangun modelm dan menguji dataset untuk menguji akurasi model dengan membuat queri prediksi. Pada SQL Server 2008™ Analysis Services, partisi tersebut dapat selesai secara otomatis ketika membangun model mining. Anda dapat melakukan eksplorasi trend dan pola yang ditemukan oleh algoritma menggunakan alat viewerpada Data Mining Designer dalam BI Development Studio™, anda dapat juga melakukan pengujian bagaimana model membuat prediksi menggunakan peralatan pada desainer seperti the liftchart dan classificationmatrix. Untuk melakukan verifikasi ketika model spesifik pada data atau dapat digunakan untuk membuat acuan pada populasi utam, atau dapat menggunakan teknik statistic yang dinamakan cross-
18
[18] Microsoft Developer Network, Data Mining Concepts, http://msdn.microsoft.com/enus/library/ms174949.aspx , 12-06-10
2 -47
validation dengan otomatis membuat subset dari data dan melakukan pengujian model subset. Jika tidak terjadi apapun pada model yang telah dibuat, anda dapat kembali pada proses sebelumnya untuk mendefinisikan ulang masalah atau melakukan investigasi data pada dataset asli. 6. Mengimplementasikan dan memperbaharui model Langkah terakhir pada proses data mining yang digambarkan pada gambar 2.13, untuk mengimplementasikan model yang berjalan baik untuk perlengkapan produksi.
Gambar 2.13 Implementasi model.19[19] Setelah model mining terdapat pada perlengkapan produksi, anda dapat melakukan banyak pekerjaan bergantung pada kebutuhan. Beberapa pekerjaan yang dapat dilakukan pada tahap ini : 1. Menggunakan model untuk membuat prediksi, dimana hasil prediksi dapat digunakan dalam pendukung keputusan bisnis. SQL Server menyediakan bahasa DMX untuk dapat menggunakan queri prediksi. 2. Membuat konten queri untuk mendapatkan statistik, aturan atau formula dari model. 3. Menanam fungsionalitas data mining secara langsung ke dalam aplikasi. Dapat menyertakan Analysis Management Objects (AMO), dimana berisi
19
[19] Microsoft Developer Network, Data Mining Concepts, http://msdn.microsoft.com/enus/library/ms174949.aspx , 12-06-10
2 -48
sekumpulan objek yang dapat digunakan aplikasi untuk membuat, mengalihkan, memproses dan menghapus struktur dan model mining. Juga dapat menggunakan pesan atau perintah dengan XML for Analysis (XMLA) pada pelayanan analisis. 4. Menggunakan pelayanan integrasi untuk membuat paket dimana model mining menggunakan data dan beberapa tabel terpisah. Jika basis data secara berkelanjutan diperbaharui dengan pelanggan yang potensial, anda dapat menggunakan model mining bersamaan dengan pelayanan integrasi untuk memisahkan data yang datang ke dalam pelanggan yang memiliki kebiasaan membeli produk dan pelanggan yang tidak memiliki kebiasaan membeli produk. 5. Membuat laporan menggunakan queri pada model mining yang tersedia. 6. Memperbaharui model setelah melihat dan menganalisa. Setiap kebutuhan terbaru yang mengharuskan untuk memproses kembali model. 7. Melakukan pembaharuan model secara dinamis, semakin banyak data yang datang ke dalam organisasi, dan membuat perubahan konstan untuk memperbaiki efektifitas dari solusi yang menjadi bagian implementasi strategi.
2.9Arsitektur Mining Model Model data mining mendapatkan data dari struktur mining lalu kemudian menganalisa data menggunakan algoritma data mining.Struktur mining dan model mining merupakan objek yang terpisah.Struktur mining menyimpan informasi yang mendefinisikan data source. Model mining menyimpan informasi yang didapatkan dari proses statistik data, seperti pola yang ditemukan melalui hasil analisis. Model miningkosong sampai data disediakan oleh struktur mining yang telah diproses dan dianalisa. Setelah model mining telah diproses, maka model tersebut berisi metadata, hasil dan binding untuk struktur mining.
2 -49
Gambar2.14 Arsitektur Model Mining.20[20] Metadata menspesifikasikan nama dari model dan server dimana telah disimpan, sebagai definisi model, termasuk daftar kolom dari struktur mining yang digunakan di dalam membangun model,definisi dari penyaringan opsional yang telah diaplikasikan ketika memproses model dan algoritma tersebut digunakan untuk menganalisa data. Pemilihan kolom, peyaringan dan algoritma terpengaruh dari hasil analisis.Sebagai contoh, jika kita membuat model cluster dan model pohon keputusan dan kedua model tersebut menggunakan algoritma dan penyaringan yang berbeda.Hasil yang telah disimpan di dalam model bergantung pada algoritma, tetapi dapat menyertakan pola, itemset, aturan dan formula.Hasil tersebut dapat digunakan untuk membuat prediksi.Binding dapat disimpan di dalam titik model ke dalam data cache di dalam sturktur mining. Jika data telah terdapat pada struktur dan masih tersimpan walaudibersihkan setelah dilakukan proses, sehingga binding tersebut memungkinkan untuk drill pada hasil untuk kasus yang membantu hasil. Bagaimanapun data aktual disimpan pada cache struktur, bukan pada model.
20
[20]Microsoft Developer Network, Mining Models , http://msdn.microsoft.com/enus/library/cc645779(v=sql.100).aspx , 12-06-10
2 -50
2.9.1 Model Data Mining AlgoritmaAsosiationRuledikenal merupakan implementasi dari algoritma apriori yang telah banyak dikenal.Kedua algoritma Microsoft decisionalgoritm dan Microsoftassociationrulesdapat digunakan untuk menganalisa asosiasi, tetapi aturan yang ditemukan dari setiap algoritma dapat berbeda. Pada model pohon keputusan, dipisah berdasarkan aturan spesifik yang berbasis pada tingkat informasi, dimana model asosiasi, dari aturan berbasis sepenuhnya pada confidence.Di dalam model asosiasi, aturan kuat atau satu yang aturan yang memiliki confidence yang tinggi, tetapi terdapat beberapa aturan yang tidak menarik karena tidak dapat menyediakan informasi baru.Topik mendeskripsikan konten model mining yang spesifik untuk model yang menggunakan algoritma microsoft asosiationrules.
2.9.2 Struktur dari model asosiasi Model asosiasi merupakan sturkur yang sederhana. Setiap model memiliki node paren yang merepresentasikan model, metadata dan setiap node paren memiliki list dari itemset dan aturan. Itemset dan aturan tidak diorganisasikan ke dalam bentuk pohon, namun di jabarkan dalam bentuk itemset kemudian aturan ditampilkan seperti pada gambar 2.15 berikut.
Gambar 2.15 Model data mining asosiasi.21[21]
21
[21] Microsoft Developer Network, Mining Model Content for Association Models,http://msdn.microsoft.com/en-us/library/cc645767(v=SQL.100).aspx , 12-06-10
2 -51
Setiap itemset berisi node itemset (NODE_TYPE=7). Node menyertakan definisi itemset, nomor dari kasus yang berisi itemset dan informasi lain.Setiap aturan berisi nodenya sendiri (NODE_TYPE = 8). Aturan dideskripsikan kedalam pola umum untuk bagaimana item diasosiasikan.Aturan dapat berupa pernyataan IF_THEN. Sisi kiri aturan menunjukan kondisi yang tersedian atau set dari kondisi. Sisi kanan dari aturan menunjukan item pada data set yang diasosiasikan dengan kondisi sisi kiri.
2.9.3 Model Konten Untuk Model Association Seksi ini menyediakan detail dan contoh untuk kolom di dalam model mining dimana relevan untuk model asosiasi.Untuk informasi tentang fungsi utama kolom di dalam skema rowset, seperti MODEL_CATALOG dan MODEL_NAME. Beberapa atribut pada model asosiasi : 1. MODEL_CATALOG, merupakan nama dari basis data dimana model disimpan. 2. MODEL_NAME, merupakan nama dari model 3. ATTRIBUTE_NAME, nama atribut yang berkoresponden pada node 4. NODE_NAME, merupakan nama node, untuk model asosiasi kolom tersebut berisi nilai yang sama dengan NODE_UNIQUE_NAME. 5. NODE_UNIQUE_NAME, merupakan nama unik dari node. 6. NODE_TYPE, merupakan keluaran model asosisasi melalui tipe node. Tabel 2.15 Tipe Node TIPE NODE ID
TIPE
1 (MODEL)
Akar atau node
7 (Itemset)
Sebuah itemset atau koleksi dari nilai atribut Product 1 = Existing, Product 2 = Existing atau Gender = Male.
8(aturan)
Aturan mendefinisikan bagaimana item dapat
2 -52
TIPE NODE ID
TIPE berelasi Product 1 = Existing, Product 2 = Existing -> Product 3 = Existing
7. NODE_CAPTION, merupakan label atau judul asosiasi dari node a. Itemset node dafter item yang dipisahkan dengan koma. b. Rule node berisi sisi kiri dan kanan aturan. 8. CHILDREN_CARDINALITY Mengindikasikan jumlah anak dari node tertentu, Parent node mengindikasikan jumlah total dari itemset ditambah aturan. Itemset or rule node Selalu bernilai 0. Itemset atau node aturan merupakan parameter dan bernilai 0. 9. PARENT_UNIQUE_NAME Nama unik dari orang tua node. Parent node selalu bernilai NULL. Itemset or rule node selalu bernilai 0 10. NODE_DESCRIPTION Merupakan deskripsi penjelasan isi konten dari node. a. Parent node menyertakan daftar pemisahan comma dari informasi yang terdapat pada model. b. Itemset node merupakan node yang berisi daftar item dan ditampilkan dengan pemisahan comma teks. Contoh : Touring Tire = Existing, Water Bottle = Existing Yang berarti Touring Tire dan water bottle keluar secara bersamaan. c. Rule node berisikan sisi kiri dan sisi kanan yang dipisahkan oleh tanda panah. Contoh :
2 -53
Touring Tire = Existing, Water Bottle = Existing -> Cycling cap = Existing Berarti bahwa jika membeli touring tire dan water bottle maka akan membeli juga cycling cap. Tabel 2.16Atribut Item model associationrules Item
Deskripsi
ITEMSET_COUNT
Menghitung seluruh itemset yang terdapat pada model.
RULE_COUNT
Menghitung seluruh aturan yang terdapat pada model.
MIN_SUPPORT
Minimum support yang ditemukan pada setiap itemset.
MAX_SUPPORT
Maksimum support yang ditemukan pada setiap itemset
MIN_ITEMSET_SIZE
MAX_ITEMSET_SIZE
MIN_PROBABILITY
MAX_PROBABILITY
MIN_LIFT
MAX_LIFT
Ukuran untuk itemset terkecil, direpresentasikan dalam hitungan jumlah item. Mengindikasikan ukuran dari itemset terbesar yang ditemukan. Probabilitas minimum yang terdeteksi pada setiap itemset atau aturan yang terdapat pada model. Probabilitas maksimum yang terdeteksi pada setiap itemset atau aturan yang terdapat pada model. Jumlah minimum dari lift yang disediakan oleh model untuk setiap itemset Jumlah maksimum dari lift yang disediakan oleh model untuk setiap itemset.
11. NODE_RULE Sebuah fragmen XML yang mendeskripsikan aturan atau itemset yang ditanamkan pada node. Rule nodemerupakan fragmen XML yang menyertakan tambahan informasi yang berguna mengenai aturan, seperti support, confidence, dan nomor dari item, dan ID dari node yang merepresentasikan sisi tangan kiri dari aturan. 12. MARGINAL_RULE
2 -54
Blank. 13. NODE_PROBABILITY Probabilitas atau nilai konfiden diasosiasikan dengan itemset atau aturan. a. Parent nodebernilai 0. b. Itemset nodeprobabilitas dari itemset. c. Rule nodenilaiconfidence untuk aturan. Merupakan nilai Probabilitas atau confidence yang diasosiasikan dengan itemset atau aturan. 14. MARGINAL_PROBABILITY, merupakan penjelasan yang sama seperi NODE_PROBABILITY 15. NODE_DISTRIBUTION, merupakan sebuah tabel yang berisi informasi yang beragam, bergantung pada bagaimana node yang merupakan itemset atau aturan. Berikut merupakan attribute dari node_distribution . a. Itemset nodemerupakan daftar itemset bersama dengan nilai probabilitas dan support. Sebagai contoh, jika itemset berisikan 2 produk, maka nama dari setiap produk didaftarkan bersama dengan penghitungan kasus termasuk setiap produk. b. Rule nodeberisi 2 baris. Baris pertama menampilkan atribut dari sisi sebelah kanan aturan dimana merupakan item yang diprediksi bersamaan dengan nilai confidence. Baris kedua merupakan model asosiasi yang unik, berisikan penunjuk untuk itemset pada sisi kanan
dari
aturan.
Penunjuk
merepresentasikan
kolom
ATTRIBUTE_VALUE sebagai ID dari itemset yang berisi item yang memiliki tangan kanan. Sebagai contoh, jika aturan adalah IF{A,B} then {C}, tabel berisikan nama dari item {C}, dan ID node berisikan item C. penunjuk ini berguna karena dapat menentukan itemset node dan berapa banyak kasus yang menyertakan tangan kanan produk. Kasus yang bersubjek pada aturan jika {A,B} Then {C} merupakan subset dari kasus yang didaftarkan pada itemset untuk {C}. 16. NODE_SUPPORT, merupakan jumlah kasus yang mendukung node.
2 -55
a. Parent nodejumlah kasus pada model. b. Itemset nodejumlah kasus yang berisi seluruh item pada dataset. c. Rule nodejumlah dari kasus yang berisi seluruh item yang terdapat pada aturan. 17. MSOLAP_MODEL_COLUMN Berisi informasi yang beragam bergantung pada bagaimana node pada itemset atau aturan. Rule nodemerupakan ID dari itemset yang berisi item di sebelah sisi tangan kiri dari aturan. ContohJika aturan adalah If {A,B} Then {C}, kolom tersebut berisi ID dari itemset yang berisi {A,B}. 18. MSOLAP_NODE_SCORE Itemset nodenilai penting untuk itemset Rule nodenilai penting untuk aturan.
2.9.4 Parameter AssociationRules Association rules merupakan metode digunakan sebagai model penggalian data. algoritma apriori memiliki beberapat parameter perilaku, performa, dan akurasi dari hasil model penggalian.Untuk informasi tentang parameter di dalam model penggalian, beberapa parameter pada model asosiasi dijelaskan sebagai berikut: 1. MAKSIMUM_ITEMSET_COUNT,
merupakan
parameter
yang
menspesifikasikan jumlah maksimum kumpulan itemset yang dapat diproduksi. Itemset diurutkan oleh parameter support. Setiap itemset yang memiliki jumlah support yang sama akan diurutkan secara arbitrary.Jika tidak terdapat jumlah yang ditetapkan untuk parameter ini, maka ditetapkan nilai inisial. Nilai inisial untuk parameter ini adalah 200000. 2. MAXIMUM_ITEMSET_SIZE,
merupakan
parameter
yang
mespesifikasikan jumlah maksimum item yang terdapat pada itemset.Pengurangan nilai parameter ini dapat berpotensial untuk mereduksi waktu yang dibutuhkan untuk membuat model, karena
2 -56
waktu pemrosesan dari model akan berhenti apabila batas telah diraih. Pengaturan nilai parameter dengan nilai 0 inimenspesifikasikan bahwa tidak terdapat batasan ukuran itemset. Nilai inisial untuk parameter ini adalah 3. 3. MAXIMUM_SUPPORT, parameter ini mespesifikasikan jumlah maksimum kasus dari itemset yang memiliki support. Parameter ini dapat digunakan untuk mengeleminasi item yang sering muncul dan secara potensial memiliki sedikit makna. Jika nilai parameter ini kurang dari 1, maka nilai tersebut merepresentasikan presentasi dari jumlah kasus. Apabila nilai parameter lebih dari 1, maka nilai tersebut merepresentasikan jumlah nilai absolut dari kasus yang berisi itemset. Nilai inisial untuk parameter ini adalah 1. 4. MINIMUM_ITEMSET_SIZE,
merupakan
parameter
yang
menspesifikasikan jumlah minimum item yang terdapat pada itemset. Jika parameter ini ditambahkan maka model akan berisi sedikit itemset. Paremeter ini akan berguna jika tidak menyertakan 1-itemset . Untuk mereduksi waktu pemrosesan dengan meningkatkan nilai minimum, karena analysis service harus mengkalkulasikan probabilitas untuk single item yang merupakan bagian dari pemrosesan. Dengan mengubah parameter ini meningkatkan nilai lebih tinggi lagi, maka akan dapat menyaring itemset yang lebih kecil. nilai inisial paremeter ini adalah 1. 5. MINIMUM_PROBABILITY,
merupakan
parameter
yang
menspesifikasikan threshold probabilitas minimum dan menentukan aturan diterima. Jika nilai parameter ini diatur 0.5, berarti bahwa tidak terdapat aturan dengan probabilitas kurang dari 50% yang dapat dibangkitkan. nilai inisial paremeter ini adalah 0.4. 6. MINIMUM_SUPPORT,
merupakan
parameter
yang
menspesifikasikan jumlah kasus yang harus berisi itemset sebelum algoritma membangkitkan aturan.Jika nilai parameter ini diatur kurang dari 1, maka jumlah minimum dari kasus dikalkulasikan sebagai
2 -57
presentasi dari total kasus. Jika parameter diatur sebagai jumlah keseluruhan yang harus lebih dari 1, maka akan menspesifikasikan jumlah minimum kasus yang dikalkulasikan sebagai penghitungan kasus itemset. Algoritma secara otomatis meningkatkan nilai parameter apabila memory terbata. berarti bahwa agar terdapat pada model maka itemset harus memiliki setidaknya 3% dari kasus. Nilai inisial parameter adalah 0.03. 7. OPTIMIZED_PREDICTION_COUNT, merupakan parameter yang mendefinisikan jumlah item yang disertakan pada memory atau prediksi yang dioptimalkan. Jika nilai parameter ini diatur 3, algoritma menggunakan aturan dengan lebar 3 untuk prediksi. Meningkatkan lebar dari aturan dapat memberikan hasil akuran tetapi memberikan hasil prediksi yang sedikit. Nilai inisial parameter adalah 2.
2.10Pelatihan Data Untuk membagi data kedalam pengujian dan kumpulan pelatihan, kemampuan untuk menyimpan porsi dari data untuk pengujian merupakan hal baru pada SQL Server 2008 dan menyediakan kemudahan mekanisme untuk menentukan bahwa kumpulan konsistensi dari data pengujian tersedia dan digunakan pada setiap asosiasi model mining dengan struktur mining baru. Memisahkan data ke dalam pelatihan dan kumpulan pengujian merupakan bagian yang penting dari evaluasi model data mining. Biasaya, setelah melakukan pemisahan kumpulan data kedalam pelatihan dan kumpulan pengujian, kebanyakan data digunakan untuk pengujian, dan porsi yang lebih sedikit dari data yang digunakan untuk pengujian. Analysis Services secara acak mengambil sampel data untuk memastikan bahwa pengujian dan partisi pelatihan serupa. Dengan menggunakan data pelatihan dan pengujian serupa, dapat mengurangi efek dari data yang inkonsisten dan penting untuk mengerti karakteristik model. Dengan menspesifikasikan presentasi tertentu dari data yang akan digunakan untuk pengujian, dan sisa dari pengujian digunakan untuk pelatihan.
2 -58
Kita dapat menspesifikasikan jumlah kasus yang digunakan untuk melakukan pengujian. Definisi dari partisi disimpan beserta struktur mining, sehingga bagaimanapun membuat model baru berdasarkan struktur, kumpulan data testing dapat tersedia untuk melakukan pengujian keakuratan model. Membagi data partisi kedalam pelatihan dan kumpulan pengujian menggunakan teknik yang terpercaya untuk mempersiapkan data dalam evaluasi. Beberapa porsi data dari kumpulan data pelatihan disediakan untuk pengujian dan sebagian data lainnya digunakan untuk pelatihan. Setelah model selesai dibuat, model tersebut digunakan untuk membuat prediksi pada kumpulan pengujian. Karena data di dalam kumpulan pelatihan secara acak memilih data yang sama yang digunakan untuk pelatihan, pengukuran akurasi yang diturunkan dari pengujian setidaknya sedikit lebih berpengaruh pada karena data yang inkonsisten dan akan merefleksikan karakteristik dari pada model. Setelah model diproses menggunakan kumpulan pelatihan, pengujian model menggunakan prediksi pada kumpulan pengujian. Karena data di dalam kumpulan pengujian telah siap berisi nilai yang telah diketahui untuk atribut yang ingin diprediksi, dan mudah untuk menentukan perkiraan model benar. Biasanya, akurasi prediktif dari model mining diukur menggunakan lift atau akurasi klarifikasi. Informasi tentang ukuran partisi dan data pada setiap partisi yang telah disimpan pada struktur dan setiap model berbasis pada struktur yang dapat digunakan partisi untuk pelatihan dan pengujian.
2.10.1 Partisi pada struktur mining Setelah mendefinisikan sumber data untuk struktur mining, data mining akan membagi data ke dalam sebuah partisi sebesar 70 persen untuk pelatihan dan 30 persen untuk pengujian. Merupakan rasio yang sering digunakan pada data mining, tetapi dengan Analysis Services dapat merubah rasio tersebut sesuai dengan kebutuhan. Pengaturan jumlah maksimum kasus pelatihan, atau dapat menggabungkan batas yang diperbolehkan untuk presentasi maksimum dari kasus bergantung pada spesifikasi jumlah maksimum kasus. ketika menspesifikasikan kedua presentasi
2 -59
maksimum dari kasus dan jumlah maksimum kasus, Analysis Services menggunakan sedikit kedua batas ukuran dari kumpulan pengujian. Jika menspesifikasikan 30 persen untuk kasus pengujian, dan jumlah maksimum dari kasus pengujian sebesar 1000, ukuran dari kumpulan pengujian tidak akan menembus 1000 kasus. Dapat berguna jika ingin memastikan bahwa ukuran dari kumpulan pengujian berdiri secara konsisten walaupun jika beberapa data pelatihan ditambahkan ke dalam model. Namun jika menggunakan sumber data yang sama untuk struktur mining yang berbeda dan ingin memastikan data telah dipisahkan melalui cara tang sama untuk seluruh struktur mining dan model mereka, maka harus menspesifikasikan penelusuran yang digunakan untuk menginisialisasi sampel acak. Ketika ingin menspesifikasi nilai untuk HoldoutSeed, Analysis Services menggunakan nilai untuk memulai sampel, bagaimanapun, sampel menggunakan algoritma hash pada nama dari struktur mining untuk membuat nilai penelusuran.
2.10.2 Modifikasi properti struktur Setelah membuat dan memproses struktur mining dan kemudian menentukan untuk dapat menambah partisi pengujian, dengan mengubah property struktur mining.Untuk mengubah arah data yang telah dipisahkan, pengaturan properti : Tabel 2.17 Parameter propertistruktur Properti HOLDOUTMAXCASES
Deskripsi Menspesifikasikan jumlah maksimum dari kasus untuk disertakan ke dalam kumpulan pengujian.
HOLDOUTMAXPERCENT Menspesifikasikan jumlah kasus yang disertakan ke dalam kumpulan pengujian sebagai presentasi untuk melengkapi data set. HOLDOUTSEED
Menspesifikasikan nilai integer untuk digunakan sebagai penelusuran secara acak pemilihan data untuk partisi. Nilai tersebut tidak berpengaruh pada jumlah
2 -60
kasus di dalam kumpulan pengujian, dan memastikan bahwa partisi dapat dilakukan penggunaan ulang.
Untuk dapat mengubah partisi pada struktur tertentu, harus memproses struktur dan seluruh model asosiasi. Karena dengan menambahkan partisi dapar berdampak pada model untuk dilatih pada subset data yang berbeda, dan akan menghasilkan hasil yang berbeda dari model.
2.10.3 Menggunakan informasi partisi Seluruh informasi mengenai partisi pelatihan dan pengujian disimpan pada memori, sehingga dapat menggunakan partisi yang tersedia untuk melatih dan menguji model baru. Sehingga dapat mendefinisikan penyaringan untuk dapat menyimpan setiap partisi sehingga dapat mengevaluasi model dari subset data. Dimana setiap kasus dibagi kedalam partisi bergantung dari bagaimana mengatur penyimpanan dan penyediaan data. Untuk mendefinisikan jumlah kasus pada setiap partisi atau mencari detil mengenai kasus yang disertakan pada pelatihan dan kumpulan pengujian, dan dapat melakukan query pada struktur model dengan membuat queri DMX. Query tersebut akan mengembalikan kasus yang digunakan di dalam kumpulan pengujian model.Pembatasan dari penggunaan penyimpanan , dijelaskan sebagai berikut : 1.
Untuk menggunakan penyimpanan, properti MiningStructureCacheMode pada struktur mining harus diatur sesuai dengan
nilai inisial,
KeepTrainingCases. Jika ingin merubah properti CacheMode, untuk ClearAfterProcessing dan kemudian memproses kembali struktur mining namun partisi akan hilang. 2.
partisi pada model time series tidak dapat menggunakan partisi karena fitur partisi pada model tersebut tidak diaktifkan. Jika membuat partisi dan menspesifikasikan bahwa algoritma time series dapat digunakan untuk membuat model. Pembuatan partisi selalu tidak diaktifkan karena pada struktur mining berisikan kolom KEY TIME dimana merupakan kasus atau tingkat tabel yang mengacu pada tabel sendiri.
2 -61
3.
Tidak secara khusus mengatur partisi data set untuk digunakan secara lengkap pada pengujian, dan tidak menggunakan data untuk pelatihan. Bagaimanapun Analysis Services selalu mendapatkan error sehingga kita dapat membenahi masalah. Analysis Services selalu memberitahukan apabila struktur telah diproses, jika lebih dari 50 persen dari data telah diproses untuk pengujian.
4.
Pada kebanyakan kasus, nilai inisial penyimpanan ialah 30 yang menyediakan keseimbangan yang baik antara data pelatihan dan pengujian. Dimana tidak terdapat jalan untuk menentukan seberapa besar data set yang harus disediakan agar mencukupi pelatihan atau seberapa kecil kumpulan pelatihan untuk menghindari terlalu pas. Bagaimanapun setelah membangun model, penggunaan validasi silang untuk mengetahui data set dengan penting untuk beberapa model.
2.11 Arsitektur aplikasi Komponen server dari Microsoft SQL Server Analysis adalah aplikasi msmdsrv.exe, dimana berjalan pada window service. Aplikasi tersebut berisi komponen sekuriti, XML untuk Analisis komponen pendengar (XMLA), komponen untuk memproses query dan beberapa komponen internal melakukan fungsi sebagai berikut : 1. Membaca perintah yang di kirim oleh klien. 2. Mengelola metadata. 3. Menangani transkasi. 4. Memproses penghitungan. 5. Menyimpan dimensi dan data cell. 6. Membuat agregasi. 7. Menjadwalkan query. 8. Mengelola sumber daya server.
2.12Diagram arsitektur
2 -62
Analisis service berjalan sebagai service standalone dan berkomunikasi dengan service pada xml untuk analisis (XMLA), menggunakan HTTP atau TCP. AMO merupakan layer antara aplikasi pengguna dan service analisis.Layer memberikan akses untuk administrasi objek analisis service.AMO merupakan pustaka kelas yang dapat memerintah melalui aplikasi clien dan mengubah kedalam pesan XMLA untuk analisis service. AMO merepresentasikan objek analisis service sebagai kelas untuk aplikasi end user.Dengan metode yang dapat menjalankan perintah dan property untuk mendapatkan data dari analisis service. Untuk menggambarkan ilustrasi dari komponen arsitektur analisis service dan seluruh komponen user yang berinteraksi dengan instan. Ilustrasi pada gambar 2.16 akan menunjukan jalan untuk mengakses instan menggunakan XML untuk analisis (XMLA), disamping menggunakan HTTP atu TCP.
2 -63
Gambar2.16 Arsitektur Data Mining.22[22] 2.13 Komponen Pendukung Data Mining Microsoft SQL Server 2008 Analysis Services mendukung XML untuk Analisis (XMLA) sebagai protocol untuk komunikasi dengan aplikasi klien. Tambahan perintah untuk mendukung dengan analisis service yang memperluas spesifikasi XML untuk analisis. Kamu dapat membuat dan memodifikasi objek data mining pada skrip XMLA dan berjalan melalui query prediksi pada model secara programatikal untuk aplikasi. Beberapa bahasa skrip yang mendukung data mining : •
ASSL Aplikasi klien Microsoft SQL Server Analysis Services, termasuk SQL Server Management Studio dan Business Intelligence Development Studio, berkomunikasi dengan Analysis Services menggunakan pesan SOAP, Analysis Services Scripting Language (ASSL), dimana merupakan dialek XML yang digunakan untuk mengirim pesan, dan terdiri dari : o Data Definition Language (DDL), atau data definition languae, dimana mendefinisikan dan menjelaskan
Analysis Services,
seperti basis data dan objek basis data dimana dapat berisi. Bahasa defisi objek tersebut merupakan subjek dari seksi referensi ini. o Bahasa perintah yang dapat mengirim perintah aksi, seperti, CREATE, ALTER atau PROCESS untuk analisis service. •
XMLA Microsoft SQL Server™ Analysis menggunakan protocol XML untuk analisis (XMLA) di dalam menangani setiap komunikasi antara aplikasi klien, termasuk SQL Server management studio dan bisnis inteligen development studio. Analisis service digunakan untuk mendukung penemuan dan manipulasi data di dalam format multidimensional dan
22
[22] Microsoft Developer Network, Architectural Diagram, http://msdn.microsoft.com/enus/library/ms174776(v=SQL.100).aspx , 12-06-10
2 -64
tabular. XMLA mendefinisikan 2 metode umum, discover dan execute, dan koleksi elemen XML dan tipe data. Karena XML memperbolehkan untuk arsitektur clien dan server terpisah termasuk metode untuk menangani informasi format XML yang masuk dan keluar.XMLA dioptimasikan untuk internet ketika analisis service sangat mahal karena membutuhkan waktu dan sumber daya dan dimana koneksi pada data terbatas. •
ADO MD .NET ADO MD.NET merupakan provider data Microsoft .NET Framework yang di desain untuk berkomunikasi
Microsoft SQL Server Analysis
Services. ADOMD .NET menggunakan XML untuk analisis protokol dan berkomunikasi dengan data source analitis menggunakan TCP/IP atau koneksi HTTP untuk mengirim dan menerima permintaan SOAP dan jawaban yang sesuai dengan
XML untuk spesifikasi analisis.Perintah
dapat dikirim dalam bentuk Multidimensional Expressions (MDX), Data Mining Extensions (DMX), Analysis Services Scripting Language (ASSL),
atau
bentuk
SQL
tertentu.Dan
dapat
mengembalikan
hasil.Analisis data, key performance indicators (KPI), dan model mining dapat dilakukan perintah queri dan dimanipulasi menggunakan objek adomd .net.Menggunakan ADOMD .net kamu dapat melihat dan bekerja dengan metadata disamping menerima skema rowset OLE DB atau objek model adomd .net. •
DSO (Decision Support Object). Decision Support Object merupakan sebuah pustaka dari kelas Komponent Object Model (COM) dan antarmuka yang menyediakan akses kepada Analysis Server. Kelas dan antarmuka tersebut dapat digunakan bersamaan untuk membentuk model objek yang berkorespondensi pada struktur internal dari objek yang dikelola oleh Microsof SQL server analysis service dan dapat digunakan untuk keperluan memprogram.Secara konseptual DSO menggunakan hierarki group dari objek untuk mendefinisikan
dasar
elemet
dari
penyimpanan
data
pelayanan
2 -65
analisis.Dasar element tersebut adalah basis data, sumber data, dimensi, cube, model data mining, dan role. DSO mengelola elemen dasar tersebut ke dalam struktur hierarki dimana elemen berisi elemen lain di dalam pohon, dengan objek server pada akar dari pohon. Objek lain yang mendukung struktur dasar diantaranya basis data, cube, partisi, dan agregat untuk mendukung dimensi. •
OLE DB merupakan standar OLE untuk pemrosesan objek basisdata Microsoft standar API yang mendukung teknologi COM/Active. Mendukung penyediaan basis data untuk analisis service.
•
ADO
ActiveX data
object
mendukung
kemudahan
OLE
DB.
Menyediakan akses pada objek data (termasuk data mining) dengan menggunakan bahasa visual basic. Dan bekerja dengan semua penyedia OLE DB untuk analisis service. •
ADO .NET ActiveX Data object untuk .NET merupakan pustaka ADO. Memberikan kemudahan untuk OLE DB. Seperti bagian dari penyedia data ADO Analisis service.
•
ADOMD.NET ActiveX Data Objects(Multidimensional) untuk .NET Merupakan penyedia layanan .NET yang didedikasikan untuk pelayanan analisis.Dan bekerja hanya dengan pelayanan analisis dan tidak menggunakan OLE DB.Memiliki kesamaan dengan ADO .NET namun tidak dioptimalkan untuk operasi pelayanan analisis, dan menawarkan banyak kelas spesifik dan antarmuka.Menyediakan akses untuk pelayanan analisis objek data dari berbagai bahasa seperti Visual Basic .NET, C# dan J#.
•
Server
ADOMD.NET(Server
ActiveX
Data
Objects
(Multidimensional)) Memberikan akses untuk pelayanan analisis data objek yang didefinisikan pengguna pada server. •
AMO (Analisys Management Objects) Merupakan manajemen antarmukan untuk pelayanan analisis seperti pembuatan, pemrosesan dan lainnya.
2 -66
•
DMX Data Mining Extension Merupakan fitur SQL tambahan untuk mendukung operasi data mining.
2.14Perangkat Lunak Aplikasi (Software) Software aplikasi merupakan suatu perangkat yang memungkinkan pemakai(user) memahami sistem komputer. Berikut beberapa contoh dari softwareaplikasi : 1. Visual Studio .NET™ merupakansalah satu peralatan pemprograman dengan
menggunakan
bahasa
komputer
tingkat
tinggi.
Bahasa
Pemprograman adalah perintah-perintah atau instruksi untuk melakukan tugas-tugas tertentu yang dimengerti oleh komputer. Untuk melakukan tugas-tugas tertentu bahasa pemprograman VS .NET dikembangkan oleh Microsoft, Merupakan salah satu bahasa pemprograman yang Object Oriented Program (OOP) atau pemprograman yang berorientasi pada objek. Kata “Visual” menunjukkan cara yang digunakan untuk membuat Graphical User Interface (GUI). Tidak perlu menuliskan instruksi pemprograman dalam kode-kode baris hanya untuk membuat sebuah rancangan Form/Aplikasi. Tetapi dengan sangat mudah yakni kita cukup melakukan Drag and drop object-object yang akan kita gunakan. Merupakan bahasa pemrograman yang biasa digunakan pada lingkungan aplikasi bisnis. 2. MicrosoftBusiness Intelligence Development Studio merupakan bagian dari Microsoft Visual Studio™2008 dengan tambahan tipe project yang spesifik terhadap Microsoft sql server™. Dengan peralatan IDE (integrated development environment) Bussines intelligence development studio merupakan peralatan utama yang digunakan untuk membangun solusi bisnis termasuk projek analisis service, integrasi service, dan reporting service. Setiap tipe proyek disuplai dengan draf untuk membuat objek
yang
dibutuhkan
untuk
solusi
bussinesintelligence.
Dan
menyediakan aneka perancangan, peralatan, dan sihir untuk bekerja
2 -67
dengan objek.Business intelligence development studio™ merupakan peralatan
terintegrasi
untuk
mengembangkan
dan
membangun
bussinesintelligence termasuk rancangan projek dengan menyediakan konteks untuk membangun bangunan spesifik. MBDS dapat membuat proyek dengan tujuan untuk membuat basis data analisis service yang berisi kubik, dimensi atau model mining. Beberapa bentuk solusi pada businessinteligence development studio.: 1. Proyek analisis service. 2. Proyek integrationservice. 3. Report model. 4. Report server. 3. Microsoft SQL Server 2008 Microsoft SQL Server 2008™ berkonsolidasi dengan server untuk administrasi dan membuat objek bisnis melalui: Sql Server 2008™ Managemen Studio dan BusinessIntelligenceDevelopment Studio™. Kedua studio tersebut menyediakan solusi dan proyek untuk tujuan mengelola dan mengorganisasikannya.Kedua perlengkapan studio tersebut menggunakan container dan elemen visual dari Microsoft visual studio.Perlengkapan studio tersebut dirancang untuk pengembang aplikasi bisnis yang berkerja dengan MicrosoftSQL Server™, MicrosoftSQL Server Compact™, Microsoft Analisis Service™, Microsoft Integration Service™ dan MicrosoftReporting Service™. 4. SQL Server Management Studio Microsoft SQL Server 2008™ managemen studio merupakan peralatan terintegrasi untuk mengakses, melakukan penyetelan, mengelola dan
melakukan
admministrasi.Sql
server™
management
studio
mengkombinasikan grup secara luas dari peralatan grafik dengan editor yang kaya untuk menyediakan akses pada sql server™ untuk pengembang dan administrator pada setiap tingkatan. Sql management™ studio menggabungkan kapabilitas dari enterprise
manager
dan
queryanalyzer,
termasuk
menyediakan
2 -68
perlengkapan untuk mengelola analisis service™, integration service™, reporting service™, dan Xquery. Merupakan perlengkapan yang memudahkan pengembang dengan pengalaman yang familiar dan memberikan administrator basis data untuk melengkapi pekerjaan dengan penggunaan peralatan grafis dan penulisan skrip dengan mudah. 5. Crystal Report 2008™, merupakan paket third party ( berisi program Crystal Report™ desainer yang bekerja terpisah dengan Visual Basic™ dan berfungsi membuat/menguji report, control, active,dan file lainnya) yang disertakan dalam aplikasi pengembang Microsoft VisualStudio™. Crystal Report™ desainer akan membuat file definisi laporan dengan ekstensi report. Program Crystal Report™ tidak disertakan pada aplikasi dan merupakan komponen perangkat lunak pendukung aplikasi.