BAB II LANDASAN TEORI Pada bagian ini akan dibahas mengenai literature yang sesuai dengan penyusunan skripsi. 2.1 Data Mining Secara sederhana data mining adalah penambangan atau penemuan informasi baru dengan mencari pola atau aturan tertentu dari sejumlah data yang sangat besar (Davies, 2004). Data mining juga disebut sebagai serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang selama ini tidak diketahui secara manual dari suatu kumpulan data (Pramudiono, 2007). Data mining, sering juga disebut sebagai knowledge discovery in database (KDD). KDD adalah kegiatan yang meliputi pengumpulan, pemakaian data, historis untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran besar (Santoso, 2007). Data mining adalah kegiatan menemukan pola yang menarik dari data dalam jumlah besar, data dapat disimpan dalam database, data warehouse, atau penyimpanan informasi lainnya. Data mining berkaitan dengan bidang ilmu – ilmu lain, seperti database system, data warehousing, statistik, machine learning, information retrieval, dan komputasi tingkat tinggi. Selain itu, data mining didukung oleh ilmu lain seperti neural network, pengenalan pola, spatial data analysis, image database, signal processing (Han, 2006). Data mining didefinisikan sebagai proses menemukan pola-pola dalam data. Proses ini 7 8 otomatis atau seringnya semiotomatis. Pola yang ditemukan harus penuh arti dan pola tersebut memberikan keuntungan, biasanya keuntungan secara ekonomi. Data yang dibutuhkan dalam jumlah besar (Witten, 2005). Karakteristik data mining sebagai berikut Data mining berhubungan dengan penemuan sesuatu yang tersembunyi dan pola data tertentu yang tidak diketahui sebelumnya. Data mining biasa menggunakan data yang sangat besar. Biasanya data yang besar digunakan untuk membuat hasil lebih dipercaya. Data mining berguna untuk membuat keputusan yang kritis, terutama dalam strategi (Davies, 2004). Berdasarkan beberapa pengertian tersebut dapat ditarik kesimpulan bahwa data mining adalah suatu teknik menggali informasi berharga yang terpendam atau tersembunyi pada suatu koleksi data (database) yang sangat besar sehingga ditemukan suatu pola yang menarik yang sebelumnya tidak diketahui. Kata mining sendiri berarti usaha untuk mendapatkan sedikit barang berharga dari sejumlah besar material dasar. Karena itu data mining sebenarnya memiliki akar yang panjang dari bidang ilmu seperti kecerdasan buatan (artificial intelligent), machine learning, statistik dan database. Beberapa metode yang sering disebutsebut dalam literatur data mining antara lain clustering, classification, association rules mining, neural network, genetic algorithm dan lain-lain (Pramudiono, 2007). 9 2.1.1 Tahap-Tahap Data Mining Sebagai suatu rangkaian proses, data mining dapat dibagi menjadi beberapa tahap yang diilustrasikan di Gambar 2.4. Tahap-tahap tersebut bersifat interaktif, pemakai terlibat langsung atau dengan perantaraan knowledge base. Gambar 2.1 Tahap-Tahap Data Mining (Han, 2006). Tahap-tahap data mining ada 6 yaitu : 1. Pembersihan data (data cleaning) Pembersihan data merupakan proses menghilangkan noise dan data yang tidak konsisten atau data tidak relevan. Pada umumnya data yang diperoleh, baik dari database suatu perusahaan maupun hasil eksperimen, memiliki isian-isian yang tidak sempurna seperti data yang hilang, data yang tidak valid atau juga hanya sekedar salah ketik. Selain itu, ada juga atribut- 10 atribut data yang tidak relevan dengan hipotesa data mining yang dimiliki. Data-data yang tidak relevan itu juga lebih baik dibuang. Pembersihan data juga akan mempengaruhi performasi dari teknik data mining karena data yang ditangani akan berkurang jumlah dan kompleksitasnya. 2. Integrasi data (data integration) Integrasi data merupakan penggabungan data dari berbagai database ke dalam satu database baru. Tidak jarang data yang diperlukan untuk data mining tidak hanya berasal dari satu database tetapi juga berasal dari beberapa database atau file teks. Integrasi data dilakukan pada atribut-aribut yang mengidentifikasikan entitas-entitas yang unik seperti atribut nama, jenis produk, nomor pelanggan dan lainnya. Integrasi data perlu dilakukan secara cermat karena kesalahan pada integrasi data bisa menghasilkan hasil yang menyimpang dan bahkan menyesatkan pengambilan aksi nantinya. Sebagai contoh bila integrasi data berdasarkan jenis produk ternyata menggabungkan produk dari kategori yang berbeda maka akan didapatkan korelasi antar produk yang sebenarnya tidak ada. 3. Seleksi Data (Data Selection) Data yang ada pada database sering kali tidak semuanya dipakai, oleh karena itu hanya data yang sesuai untuk dianalisis yang akan diambil dari database. Sebagai contoh, sebuah kasus yang meneliti faktor kecenderungan orang membeli dalam kasus market basket analysis, tidak perlu mengambil nama pelanggan, cukup dengan id pelanggan saja. 11 4. Transformasi data (Data Transformation) Data diubah atau digabung ke dalam format yang sesuai untuk diproses dalam data mining. Beberapa metode data mining membutuhkan format data yang khusus sebelum bisa diaplikasikan. Sebagai contoh beberapa metode standar seperti analisis asosiasi dan clustering hanya bisa menerima input data kategorikal. Karenanya data berupa angka numerik yang berlanjut perlu dibagi-bagi menjadi beberapa interval. Proses ini sering disebut transformasi data. 5. Proses mining Merupakan suatu proses utama saat metode diterapkan untuk menemukan pengetahuan berharga dan tersembunyi dari data. 6. Evaluasi pola (pattern evaluation) Untuk mengidentifikasi pola-pola menarik kedalam knowledge based yang ditemukan. Dalam tahap ini hasil dari teknik data mining berupa polapola yang khas maupun model prediksi dievaluasi untuk menilai apakah hipotesa yang ada memang tercapai. Bila ternyata hasil yang diperoleh tidak sesuai hipotesa ada beberapa alternatif yang dapat diambil seperti menjadikannya umpan balik untuk memperbaiki proses data mining, mencoba metode data mining lain yang lebih sesuai, atau menerima hasil ini sebagai suatu hasil yang di luar dugaan yang mungkin bermanfaat. 7. Presentasi pengetahuan (knowledge presentation), Merupakan visualisasi dan penyajian pengetahuan mengenai metode yang digunakan untuk memperoleh pengetahuan yang diperoleh pengguna. 12 Tahap terakhir dari proses data mining adalah bagaimana memformulasikan keputusan atau aksi dari hasil analisis yang didapat. Ada kalanya hal ini harus melibatkan orang-orang yang tidak memahami data mining. Karenanya presentasi hasil data mining dalam bentuk pengetahuan yang bisa dipahami semua orang adalah satu tahapan yang diperlukan dalam proses data mining. Dalam presentasi ini, visualisasi juga bisa membantu mengkomunikasikan hasil data mining (Han, 2006). 2.1.2 Metode Data Mining Banyak teknik dan metode yang ada untuk melakukan berbagai jenis tugas data mining. Metode ini dikelompokkan dalam 3 paradigma utama data mining: Predictive Modeling, Discovery, dan Deviation Detection. 2.1.2.1 Predictive Modeling Aplikasi Predictive Modeling menghasilkan klasifikasi atau prediksi. Tujuan dari predictive modeling adalah menemukan pola yang melibatkan variabel untuk memprediksi dan mengklasifikasi perilaku masa depan dari sebuah entitas. Ada dua tipe masalah yang diselesaikan oleh predictive modeling : 1. Klasifikasi Yaitu melibatkan model pembelajaran yang memetakan (atau mengklasifikasi) data contoh ke dalam satu atau beberapa kelas yang telah didefinisikan. Sebagai contoh, bank dapat menggunakan skema klasifikasi 13 untuk menentukan pengajuan pinjaman yang akan disetujui. Teknik klasifikasi meliputi Naive Bayesian, neural networks, dan decision trees. 2. Regresi Yaitu melibatkan model yang memetakan data contoh ke prediksi realvalued. Teknik regresi meliputi neural networks dan decision (atau regression) trees. 2.1.2.2 Discovery Aplikasi discovery adalah pendekatan eksploratoris untuk analisis data. Aplikasi discovery menggunakan teknik yang menganalisis data set yang besar untuk menemukan association rules(atau pola), atau menemukan kluster dari sampel yang dapat dikelompokan. Hasil dari metode discovery umumnya dimaksudkan untuk pengguna. Walau begitu, hasilnya juga dapat diaplikasikan ke metode data mining yang lain 2.1.2.3 Deviation Detection Deviation Detection melakukan deteksi anomali secara otomatis. Tujuannya untuk mengidentifikasi kebiasaan suatu entitas dan menetapkan sejumlah norm melalui pattern discovery. Sampel yang berdeviasi dari norm lalu diidentifikasi sebagai tidak biasa. teknik Deviation Detection melalui visualisasi melalui parallel coordinates, scatterplots, dan surface plots. 2.1.3 Teknik Data Mining Data mining adalah serangkaian proses untuk menggali nilai tambah dari suatu kumpulan data berupa pengetahuan yang selama ini tidak diketahui secara 14 manual. Perlu diingat bahwa kata mining sendiri berarti usaha untuk mendapatkan sedikit data berharga dari sejumlah besar data dasar. Karena itu data mining sebenarnya memiliki akar yang panjang dari bidang ilmu seperti kecerdasan buatan (artificial intelligent), machine learning, statistik dan basisdata. Beberapa teknik yang sering disebut-sebut dalam literatur data mining antara lain yaitu association rule mining, clustering, klasifikasi, neural network, genetic algorithm dan lain-lain. 2.1.3.1 Klasifikasi (Classification) Suatu teknik dengan melihat pada kelakuan dan atribut dari kelompok yang telah didefinisikan.Teknik ini dapat memberikan klasifikasi pada data baru dengan memanipulasi data yang ada yang telah diklasifikasi dan dengan menggunakan hasilnya untuk memberikan sejumlah aturan. Aturan-aturan tersebut digunakan pada data-data baru untuk diklasifikasi. Teknik ini menggunkan supervised induction, yang memanfaatkan kumpulan pengujian dari record yang terklasifikasi untuk menentukan kelas-kelas tambahan. Salah satu contoh yang mudah dan popular adalah dengan Decision tree yaitu salah satu metode klasifikasi yang paling populer karena mudah untuk diinterpretasi. Decision tree adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Decision tree adalah struktur flowchart yang menyerupai tree (pohon), dimana setiap simpul internal menandakan suatu tes pada atribut, setiap cabang merepresentasikan hasil tes, dan simpul daun merepresentasikan kelas atau distribusi kelas. Alur pada decision tree di telusuri dari simpul akar ke simpul 15 daun yang memegang prediksi kelas untuk contoh tersebut. Decision tree mudah untuk dikonversi ke aturan klasifikasi (classification rules). Gambar 2.2 Contoh decision tree 2.1.3.2 Asosiasi (Association) Digunakan untuk mengenali kelakuan dari kejadian-kejadian khusus atau proses dimana link asosiasi muncul pada setiap kejadian. Contoh dari aturan assosiatif dari analisa pembelian di suatu pasar swalayan adalah bisa diketahui berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Dengan pengetahuan tersebut pemilik pasar swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu. Penting tidaknya suatu aturan assosiatif dapat diketahui dengan dua parameter, support yaitu prosentasi kombinasi atribut tersebut dalam basisdata dan confidence yaitu kuatnya hubungan antar atribut dalam aturan asosiatif. Motivasi awal pencarian association rule berasal dari keinginan untuk menganalisa data transaksi supermarket, ditinjau dari perilaku customer dalam membeli produk. Association rule ini menjelaskan seberapa sering suatu produk dibeli secara bersamaan. Sebagai contoh, association rule “beer => diaper 16 (80%)” menunjukkan bahwa empat dari lima customer yang membeli beer juga membeli diaper. Dalam suatu association rule X => Y, X disebut dengan antecedent dan Y disebut dengan consequent.Rule. 2.1.3.3 Klaster (Clustering) Digunakan untuk menganalisis pengelompokkan berbeda terhadap data, mirip dengan klasifikasi, namun pengelompokkan belum didefinisikan sebelum dijalankannya tool data mining. Biasanya menggunkan metode neural network atau statistik. Clustering membagi item menjadi kelompok-kelompok berdasarkan yang ditemukan tool data mining. Prinsip dari clustering adalah memaksimalkan kesamaan antar anggota satu kelas dan meminimumkan kesamaan antar cluster. Clustering dapat dilakukan pada data yang memiliki beberapa atribut yang dipetakan sebagai ruang multidimensi. Ilustrasi dari clustering dapat dilihat di Gambar 2.6 dimana lokasi, dinyatakan dengan bidang dua dimensi, dari pelanggan suatu toko dapat dikelompokkan menjadi beberapa cluster dengan pusat cluster ditunjukkan oleh tanda positif (+). Banyak algoritma clustering memerlukan fungsi jarak untuk mengukur kemiripan antar data, diperlukan juga metode untuk normalisasi bermacam atribut yang dimiliki data . Gambar 2.3 Contoh klasterisasi 17 2.1.3.4 Sekuensial (Sequential) Fungsi pola sekuensial menganalisa sekumpulan rekord pada suatu periode waktu, misalnya untuk menganalisa trend. Anggaplah kita memiliki suatu basis data yang ukurannya besar, yaitu basis data transaksi dimana setiap transaksi terdiri dari nomor pelanggan, waktu transaksi dan item-item yang ditransaksikan. Suatu pola dapat ditampilkan dalam contoh sebagai berikut, pelanggan biasanya membeli gula langsung melakukan transaksi membeli kopi. Dari semua transaksi membeli gula ternyata hamper seluruhnya terdapat transaksi membeli kopi. Maka dari pola-pola yang ada ini dapat dijadikan masukan bahwa telah terjadi suatu kecendrungan (trend) dari pelanggan dimana setiap pelanggan melakukan transaksi membeli gula maka akan diikuti oleh transaksi membeli kopi. Untuk itu pihak manajemen dapat menempatkan letak item kopi dekat dengan item gula. Sehingga memudahkan pelanggan untuk melakukan transaksi selanjutnya. 2.1.3.5 Regresi (Regression) Analisa regresi adalah teknik statistik untuk memprediksi nilai dari satu variable response atau dependent dengan menggunakan nilai dari variablevariabel prediktor atau independent. Sesuai namanya, hubungan antara dua variabel ini bersifat linier. Dalam regresi linier sederhana hanya ada satu variable independent/prediktor dan satu variabel respon. 2.1.3.6 Deteksi Deviasi (Deviation Detection) Deteksi deviasi adalah model data mining yang digunakan untuk menentukan atau mendapatkan perubahan paling tepat dari data hasil pengukuran. 18 Model ini bias dilakukan dengan melakukan modifikasi model klasifikasi dan klusterisasi. 2.1.4 Association Rules Aturan asosiasi terdiri dari dua himpunan item disebut antecedent dan consequent. Consequent biasanya dibatasi untuk berisi suatu item tunggal. Aturan asosiasi berbentuk “If antecedent, then consequent”, dilengkapi dengan tingkat support dan confidence aturan tersebut. Kuat tidaknya sebuah aturan assosiasi ditentukan oleh dua parameter yaitu support dan confidence. Berdasarkan penjelasan di atas maka pencarian pola kaidah asosiasi menggunakan dua buah parameter nilai yaitu dukungan (support) dan keterpercayaan (confidence) yang memiliki nilai antara 0% - 100 %. Support dan confidence adalah nilai numerik. Untuk menjelaskan support dan confidence kita perlu mendefinisikan beberapa istilah numerik. Misalkan D menjadi database transaksi dan N adalah jumlah transaksi dalam D. Di Setiap transaksi merupakan perangkat item. Di mana support (X) menjadi proporsi transaksi yang mengandung item set X. Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. support (X) = |{I| ID I X}| /N …………………………………….... (2.1) support (A C) = support (A C) ……………………….……............... (2.2) Di mana I adalah serangkaian item dan | · | menunjukkan ketetapan kardinalitas. Atau, Untuk mencari nilai support sebuah item diperoleh dengan rumus berikut : support (A) = Jumlah Transaksi Mengandung A .……………………… (2.3) Total Transaksi 19 support (A,B) = P (A B) = Jumlah Transaksi Mengandung A dan B Total Transaksi … (2.4) Setelah menemukan pola support, kemudian dicari aturan assosiatif yang memenuhi syarat minimum untuk confidence dengan menghitung confidence aturan assosiatif A > B. Nilai confidence dari aturan A > B diperoleh dari rumus berikut : confidence (A C) = support (A C) / support (A) ……………………. (2.5) confidence = P (B I A) = Jumlah Transaksi Mengandung A dan B ….…. (2.6) Jumlah Transaksi Mengandung A Support dari aturan asosiasi adalah proporsi transaksi yang mengandung antecedent dan consequent. Confidence adalah ratio antara jumlah transaksi yang meliputi semua item dalam antecedent dan consequent dengan jumlah transaksi yang meliputi semua item dalam antecedent. 2.1.5 Algoritma Apriori Algoritma Apriori diperkenalkan oleh Agrawal dan Srikant pada tahun 1994. Sampai saat ini algoritma tersebut merupakan algoritma asosiasi yang telah banyak digunakan dan dikembangkan oleh para peneliti. Algoritma Apriori dalam menangani masalah asosiasi adalah dengan mengurangi jumlah set item yang dipertimbangkan. Pengguna menetapkan minimum support, min- support. Jadi nilai (A ∪ C) ≤ min- support untuk setiap assosiation rule A → C atau (A → C) ≤ min- support. Apriori pertama menghasilkan semua himpunan item yang 20 memenuhi min-dukungan. himpunan item tersebut sering disebut himpunan item (frequent item sets). Dengan diberikan nilai minimum support dan minimum confidence, pencarian aturan-aturan asosiasi dengan menggunakan algoritma apriori ada dua tahap (Randolf, 2008) : a. Pencarian itemset-itemset yang frequent Masalah utama pencarian dalam itemset yang frequent adalah banyaknya jumlah kombinasi itemset yang harus diperiksa apakah memenuhi minimum support atau tidak. Salah satu cara untuk mengatasinya adalah dengan mengurangi jumlah kandidat yang terdapat pada data. Pada algoritma apriori dalam tahap ini penyelesaiannya memiliki dua langkah. Langkah pertama adalah menghubungkan anggota dua himpunan (join) dan langkah kedua adalah menghapus anggota yang tidak memenuhi syarat (prune). Untuk lebih jelasnya melalui gambar berikut : Gambar 2.4 Pencarian Kandidat Itemset Tanpa Menggunakan Algoritma Apriori 21 Pada gambar 2.7 di atas, pencarian itemset yang frequent dilakukan tanpa menggunakan prinsip apriori. Setiap kandidat dari k-itemset harus diteliti satu per satu lalu dicari supportnya. Hal ini akan memakan waktu lama apabila dilakukan pada jenis item dari transaksi yang besar. Dengan menggunakan prinsip apriori, pencarian itemset yang frequent akan menjadi seperti pada gambar di bawah ini : Gambar 2.5 Pencarian Kandidat Itemset Menggunakan Alg. Apriori Pada gambar 2.8 di atas dapat dilihat bahwa dengan menggunakan Apriori, jumlah kandidat yang harus diperiksa semakin berkurang. Hal ini dikarenakan properti apriori menjamin bahwa jika suatu itemset tidak frequent, maka semua superset-nya tidak frequent. b. Membangkitkan aturan asosiasi dari setiap itemset yang frequent. Setelah didapat semua itemset yang frequent, bentuk aturan-aturan asosiasi untuk setiap itemset yang frequent dengan prosedur : 1. Mencari nilai Support dan Confidence dari setiap nonempty subset. 22 2. Untuk setiap nonempty subset yang telah memiliki nilai support dan confidence, lalu dicari nilai yang melebihi minimum support dan minimum confidence Setelah didapat semua aturan-aturan asosiasi, pilih aturan-aturan yang kuat, yaitu aturan yang memiliki confidence lebih besar dari minimum confidence. Untuk lebih jelasnya dapat dilihat dalam diagram alir metode asosiasi pada gambar di bawah ini : Mulai Diketahui item-item yang akan diamati X = {X1, X2, X3, …, X n} dan jumlah transaksi N Nilai dari Xj untuk setiap transaksi N adalah Xj : Xij = 1, jika produk ke j dibeli pada transaksi I Xij = 0, jika produk ke j tidak dibeli pada transaksi ke-I i = 1, 2, …, M Catat semua nilai dari Xj format database transaksi Diberikan nilai minimum support dan minimum confidence Algoritma Apriori Didapat aturan-aturan asosiasi dengan nilai support dan confidence-nya Pilih aturan yang kuat, Yaitu aturan yang memiliki Confidence ≥ minimum confidence Interpretasikan tiap aturan asosiasi yang kuat Selesai Gambar 2.6 Diagram Alir Metode Kaidah Assosiasi 23 Arti apriori secara umum adalah anggapan atau sikap yang sudah ditentukan sebelum mengetahui (melihat, menyelidiki) terhadap sesuatu. Ide dari algoritma apriori adalah mengurangi jumlah kandidat-kandidat tersebut yang harus diperiksa dengan jaminan properti apriori. Dalam diagram alir pada gambar 2.9 terdapat tahap algoritma apriori, tahap tersebut dapat dijelaskan melalui diagram alir algoritma apriori pada gambar di bawah ini : Tahap 1 Algoritma Apriori Tahap 2 Scan data transaksi untuk mendapatkan support dari tiap itemset, lalu bandingkan dengan minimum frequent(minimum support) untuk mendapatkan Frequent 1-itemset (F1) Gunakan Fk-1 join Fk-1 untuk Mendapatkan himpunan kandidat dari Frequent k-itemset, gunakan property apriori untuk mereduksi kandidat yang tidak frequent Cari support(frequent) dari tiap kandidat dari k-itemset yang tersisa dan bandingkan dengan minimum support (minimum frequent) untuk mendapatkan frequent itemset Fk Himpunan Kandidat = ø Untuk setiap nonempty subset s dari l, bentuk aturan yang berbentuk “jika s maka (l-s)” Dengan support dan confidence yang ditentukan Untuk setiap frequent k-itemset I bentuk semua nonempty subset dari I Gambar 2.7 Diagram Alir Algoritma Apriori Sumber :Randolf, 2008 Prosedur Properti apriori adalah ( Randolf, 2008): 1. Dalam menghasilkan sebuah frequent itemset dibutuhkan satu kali scan database transaksi. 24 2. Jika suatu itemset A memiliki support kurang dari minimum support, maka itemset tersebut tidak frequent (infrequent). 3. Seluruh nonempty subset dari suatu frequent itemset juga harus frequent. Algoritma apriori mengambil keuntungan dari properti apriori untuk menyusutkan ruang pencarian. Properti apriori menyatakan jika suatu itemset Z bukan frequent, menambahkan item yang lain A ke itemset Z tidak akan membuat Z lebih frequent. Jika Z tidak frequent frequent. Tidak ada superset dari Z (itemset yang berisi Z) akan frequent. (Yusuf dkk, 2006). Untuk memberikan gambaran mengenai proses algoritma apriori dapat dilihat pada ilustrasi berikut : Gambar 2.8 Ilustrasi Algoritma Apriori Dari ilustrasi di atas dapat dijelaskan bahwa: a. Untuk menghasilkan Fk , maka diperlukan candidate atau calon k-itemset Ck yang dibentuk dari proses join antar Fk-1. b. Proses join, Fk-1 × Fk-1 , dilakukan jika (k-2 itemset dari Fk-1 “sama”. 25 c. Misal f1 dan f1 adalah itemset dari Fk-1 , supaya proses join dapat dilakukan maka harus dipenuhi: (f 1[1] = f 2[1] ) ^ f 1[2] = f 2 [2] ) ^…^ (f 1 [k-2] = f 2 [k-2] ) ^ f 1[k-1] < f 2 [k-1] ) d. Kondisi (f 1 [k-1] < f 2 [k-1] ) menjamin tidak ada kembar pada proses join. Jadi itemset yang dihasilkan dari proses join antara f 1 dan f 2 adalah f 1[1] f 1[2]... f 1 [k-1] f 2 [k-1] e. Notasi f 1 [j] menyatakan item yang ke-j dalam f.