BAB II TINJAUAN PUSTAKA A. Knowledge Discovery in Database (KDD) dan Data Mining Banyak orang menggunakan istilah data mining dan knowledge discovery in databases (KDD) secara bergantian untuk menjelaskan proses penggalian informasi tersembunyi dalam suatu kumpulan data yang besar. Akan tetapi kedua istilah tersebut memiliki konsep yang berbeda, tetapi berkaitan satu sama lain. ”Salah satu tahapan dalam proses KDD adalah data mining” (Han & Kamber,2006 dalam Baskoro,2010). Han and Kamber (2006) menyatakan : Knowledge Discovery in Database (KDD) adalah proses menentukan informasi yang berguna serta pola-pola yang ada dalam data. Informasi ini terkandung dalam basis data yang berukuran besar yang sebelumnya tidak diketahui dan potensial bermanfaat. Data Mining merupakan salah satu langkah dari serangkaian proses iterative KDD. Tahapan proses KDD dapat dilihat pada gambar dibawah ini. Gambar 2.1 Tahapan dalam KDD (Han and Kamber 2006) 5 Tahapan proses KDD terdiri dari : a. Data Selection Pada proses ini dilakukan pemilihah himpunan data, menciptakan himpunan data target, atau memfokuskan pada subset variabel (sampel data) dimana penemuan (discovery) akan dilakukan. Hasil seleksi disimpan dalam suatu berkas yang terpisah dari basis data operasional. b. Pre-Processing dan Cleaning Data Pre-Processing dan Cleaning Data dilakukan membuang data yang tidak konsisten dan noise, duplikasi data, memperbaiki kesalahan data, dan bisa diperkaya dengan data eksternal yang relevan. c. Transformation Proses ini mentransformasikan atau menggabungkan data ke dalam yang lebih tepat untuk melakukan proses mining dengan cara melakukan peringkasan (agregasi). d. Data Mining Proses data mining yaitu proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan teknik, metode atau algoritma tertentu sesuai dengan tujuan dari proses KDD secara keseluruhan. e. Interpretation / Evaluasi Proses untuk menerjamahkan pola-pola yang dihasilkan dari data mining. Mengevaluasi (menguji) apakah pola atau informasi yang ditemukan bersesuaian 6 atau bertentangan dengan fakta atau hipotesa sebelumnya. Pengetahuan yang diperoleh dari pola-pola yang terbentuk dipresentasikan dalam bentuk visualisasi. 1. Pengertian data mining. Santosa (2007) menyatakan bahwa data mining merupakan suatu kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menentukan keteraturan, pola atau hubungan dalam set data berukuran besar. Salah satu tugas utama dari data mining adalah pengelompokan clustering dimana data yang dikelompokkan belum mempunyai contoh kelompok. Larose (2005) menyatakan bahwa data mining adalah suatu proses pencarian korelasi, pola dan tren baru yang berguna dalam media penyimpanan data berukuran besar menggunakan teknologi pengenalan pola seperti teknik-teknik statistik dan matematis. Istilah lain yang sering digunakan antara lain knowledge mining from data, knowledge extraction, data/pattern analysis, data archeology, dan data dredging. 2. Tujuan data mining. Baskoro (2010) menyatakan bahwa adapun tujuan dari adanya data mining adalah : a. Explanatory, yaitu untuk menjelaskan beberapa kegiatan observasi atau suatu kondisi. b. Confirmatory, yaitu untuk mengkonfirmasikan suatu hipotesis yang telah ada. 7 c. Exploratory, yaitu untuk menganalisis data baru suatu relasi yang janggal. 3. Pengelompokkan data mining. Tan et. al. (2005), menyatakan : Secara garis besar data mining dapat dikelompokkan menjadi 2 kategori utama : a. Descriptive mining, yaitu proses untuk menemukan karakteristik penting dari data dalam suatu basis data. Teknik data mining yang termasuk dalam descriptive mining adalah clustering, association, dan sequential mining. b. Predictive mining, yaitu proses untuk menemukan pola dari data dengan menggunakan beberapa variabel lain di masa depan. Salah satu teknik yang terdapat dalam predictive mining adalah klasifikasi. Larose and Daniel (2005), menyatakan : Pengelompokkan data mining berdasarkan tugas yang dapat dilakukan yaitu : a. Deskripsi Deskripsi adalah menggambarkan pola dan kecenderungan yang terdapat dalam data yang memungkinkan memberikan penjelasan dari suatu pola atau kecenderungan tersebut. b. Estimasi Estimasi hampir sama dengan klasifikasi, akan tetapi variabel target estimasi lebih ke arah numerik daripada ke arah kategori. c. Prediksi Prediksi hampir sama dengan klasifikasi dan estimasi, akan tetapi dalam prediksi nilai dari hasil akan terwujud di masa yang akan datang. 8 d. Klasifikasi Klasifikasi adalah proses untuk menemukan model atau fungsi yang menggambarkan dan membedakan kelas data atau konsep dengan tujuan memprediksikan kelas untuk data yang tidak diketahui kelasnya (Han and Kamber, 2006). e. Clustering Clustering atau analisis cluster adalah proses pengelompokan satu set bendabenda fisik atau abstrak ke dalam kelas objek yang sama (Han & Kamber, 2006). f. Asosiasi Asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Kusrini dkk (2009), menyatakan bahwa : Pengelompokkan data mining diatas dijadikan sebagai teknik dari data mining berdasarkan tugas yang bisa dilakukan, yaitu : a. Deskripsi Para penulis/analis biasanya mencoba menemukan cara untuk mendeskripsikan pola dan trend yang tersembunyi dalam data. b. Estimasi Estimasi mirip dengan klasifikasi, kecuali variabel tujuan yang lebih ke arah numerik daripada kategori. Misalnya, akan dilakukan estimasi tekanan systolic 9 dari pasien rumah sakit berdasarkan umur pasien, jenis kelamin, indeks berat badan, dan level sodium darah. c. Prediksi Prediksi memiliki kemiripan dengan estimasi dan klasifikasi. Hanya saja, prediksi hasilnya menunjukkan sesuatu yang belum terjadi (mungkin terjadi dimasa depan). Misalnya, ingin diketahui prediksi harga beras tiga bulan yang akan datang. d. Klasifikasi Dalam klasifikasi variable, tujuan bersifat kategorik. Misalnya, kita akan mengklasifikasikan pendapatan dalam tiga kelas, yaitu pendapatan tinggi, pendapatan sedang, dan pendapatan rendah. e. Clustering Clustering lebih kearah pengelompokan record, pengamatan, atau kasus dalam kelas yang memiliki kemiripan. Sebuah cluster adalah kumpulan record yang memiliki kemiripan satu dengan yang lain dan memiliki ketidak miripan dengan record-record dalam cluster yang lain, misalnya untuk tujuan audit akuntasi akan dilakukan segmentasi perilaku financial dalam kategori dan mencurigakan. f. Asosiasi Mengidentifikasi hubungan antara berbagai peristiwa yang terjadi pada satu waktu. Pendekatan asosiasi tersebut menekankan sebuah kelas masalah yang dicirikan dengan analisis keranjang pasar. 10 B. Clustering 1. Pengertian clustering. “Clustering atau analisis cluster adalah proses pengelompokan satu set benda- benda fisik atau abstrak ke dalam kelas objek yang sama” (Han and Kamber, 2006). Baskoro (2010) menyatakan bahwa : Clustering atau clusterisasi adalah salah satu alat bantu pada data mining yang bertujuan mengelompokkan obyek-obyek ke dalam cluster-cluster. Cluster adalah sekelompok atau sekumpulan obyek-obyek data yang similar satu sama lain dalam cluster yang sama dan dissimilar terhadap obyek-obyek yang berbeda cluster. Obyek akan dikelompokkan ke dalam satu atau lebih cluster sehingga obyek-obyek yang berada dalam satu cluster akan mempunyai kesamaan yang tinggi antara satu dengan lainnya. Obyek-obyek dikelompokkan berdasarkan prinsip memaksimalkan kesamaan obyek pada cluster yang sama dan memaksimalkan ketidaksamaan pada cluster yang berbeda. Kesamaan obyek biasanya diperoleh dari nilai-nilai atribut yang menjelaskan obyek data, sedangkan obyek-obyek data biasanya direpresentasikan sebagai sebuah titik dalam ruang multidimensi. Dengan menggunakan clusterisasi, kita dapat mengidentifikasi daerah yang padat, menemukan pola-pola distribusi secara keseluruhan, dan menemukan keterkaitan yang menarik antara atribut-atribut data. Dalam data mining, usaha difokuskan pada metode-metode penemuan untuk cluster pada basis data berukuran besar secara efektif dan efisien. Beberapa kebutuhan clusterisasi 11 dalam data mining meliputi skalabilitas, kemampuan untuk menangani tipe atribut yang berbeda, mampu menangani dimensionalitas yang tinggi, menangani data yang mempunyai noise, dan dapat diterjemahkan dengan mudah. Cluster1 Cluster 2 outliers Gambar 2.2 Contoh Clustering (Baskoro 2010) Adapun tujuan dari data clustering ini adalah untuk meminimalisasikan objective function yang diset dalam proses clustering, yang pada umumnya berusaha meminimalisasikan variasi di dalam suatu cluster dan memaksimalisasikan variasi antar cluster. 2. Metode clustering. Secara garis besar, terdapat beberapa metode clusterisasi data. Pemilihan metode clusterisasi bergantung pada tipe data dan tujuan clusterisasi itu sendiri. Metodemetode beserta algoritma yang termasuk didalamnya meliputi (Baskoro, 2010): 12 a. Partitioning Method Membangun berbagai partisi dan kemudian mengevaluasi partisi tersebut dengan beberapa kriteria, yang termasuk metode ini meliputi algoritma K-Means, KMedoid, PROCLUS, CLARA, CLARANS, dan PAM. b. Hierarchical Methods Membuat suatu penguraian secara hierarkikal dari himpunan data dengan menggunakan beberapa kriteria. Metode ini terdiri atas dua macam, yaitu Agglomerative yang menggunakan strategi bottom-up dan Disisive yang menggunakan strategi top-down. Metode ini meliputi algoritma BIRCH, AGNES, DIANA, CURE, dan CHAMELEON. c. Density-based Methods Metode ini berdasarkan konektivitas dan fungsi densitas. Metode ini meliputi algoritma DBSCAN, OPTICS, dan DENCLU. d. Grid-based Methods Metode ini berdasarkan suatu struktur granularitas multi-level. Metode clusterisasi ini meliputi algoritma STING, WaveCluster, dan CLIQUE. e. Model-based Methods Suatu model dihipotesakan untuk masing-masing cluster dan ide untuk mencari best fit dari model tersebut untuk masing-masing yang lain. Metode clusterisasi ini meliputi pendekatan statitik, yaitu algoritma COBWEB dan jaringan syaraf tiruan, yaitu SOM. 13 Sadaaki et. al. (2008) menyatakan : Sebelum memutuskan berapa jumlah cluster yang akan dibentuk bahwa terdapat dua pendekatan yang dapat digunakan yaitu : a. supervised (jika jumlah cluster ditentukan). b. unsupervised (jika jumlah cluster tidak ditentukan/alami). 3. Document clustering. “Document clustering merupakan suatu teknik untuk mengelompokkan dokumen-dokumen berdasarkan kemiripannya dengan tujuan mendapatkan sekumpulan dokumen yang tepat” (Widyawati, 2010). Dokumen-dokumen tersebut dikelompokan ke dalam cluster berdasarkan tingkat kemiripannya. Suatu cluster dapat dikatakan bagus apabila tingkat kemiripan antar anggota cluster sangat tinggi dan tingkat kemiripan antar cluster sangat rendah. Sedangkan kualitas suatu cluster dapat diukur melalui kemampuannya dalam menemukan pola-pola yang tersembunyi. 4. Klasifikasi algoritma clustering. “Algoritma clustering secara luas diklasifikasikan menjadi dua algoritma, yaitu hierarchical clustering, dan non-hierarchical clustering” (Henjaya, 2010). Han and Kamber (2006) menyatakan bahwa hierarchical clustering adalah sebuah metode hierarkis yang menciptakan komposisi hierarkis yang diterapkan pada objek data, sehingga akan menghasilkan cluster-cluster yang bersarang. Algoritma hierarchical clustering mengatur seluruh objek dalam sebuah pohon untuk melihat 14 hubungan antara setiap objek (Henjaya, 2010). “Contoh algoritma Hierarchical clustering adalah HAC (Hierarchical Agglomerative Clustering)” (Karhendana, 2008). Non-hierarchical clustering, pada umumnya disebut algoritma partitional clustering, memberikan sejumlah n objek dan k yang merupakan jumlah dari cluster yang terbentuk. Algoritma partitional clustering mengolah objek ke dalam kkelompok berdasarkan kriteria optimasi tertentu, dimana setiap kelompok merupakan representasi sebuah cluster. Han and Kamber (2006) menyatakan bahwa contoh algoritma partitional clustering antara lain K-Means. C. Penulisan Terkait Berdasarkan penulisan yang dilakukan oleh Firdausi dkk pada tahun 2011 tentang Analisis Financial Distress Dengan Pendekatan Data Mining Pada Industri Manufaktur Go-Public Di Indonesia, dikemukakan bahwa penulisan tersebut berisi tentang perbandingan algoritma K-Means dan Fuzzy C-Means (FCM). Cara kerja algoritma K-Means dalam pengelompokan data keuangan dan data perusahaan yang akan mengalami kebangkrutan lebih baik dari cara kerja algoritma FCM, dimana dalam penulisan itu menggunakan rumus sum squared error (SSE) serta icdrate (internal cluster disprersion rate). Dimana dari penulisan ini didapatkan nilai SSE terkecil pada K-Means, menunjukkan bahwa total kesalahan kuadrat yang terjadi pada pengelompokkan metode tersebut kecil. Sehingga metode itu dapat dikatakan memiliki nilai error terkecil dan lebih baik dibandingkan metode FCM. 15 Pada metode FCM, keragaman dalam cluster (Sum of Squared Within) SSW bernilai tertinggi serta keragaman antar cluster (Sum of Squared Between) SSB bernilai paling rendah sehingga metode FCM memiliki nilai icdrate tertinggi dibandingkan K-Means. Hal ini menunjukkan pada pengelompokkan dengan menggunakan metode FCM, terdapat banyak data berbeda dalam tiap cluster yang terbentuk dan tercermin pada nilai SSW yang tinggi. Serta sedikitnya perbedaan data antar cluster yang terbentuk dapat dikatakan perbedaan antar cluster 1 dan 2 tidak jauh beda yang tercermin pada nilai SSB yang rendah. Nilai terkecil pada seluruh metode K-Means tercipta karena keragaman dalam cluster SSW yang terbentuk sangat kecil dan keragaman antar cluster SSB sangat tinggi. Oleh karena itu antara metode K-Means dengan FCM setelah dibandingkan dengan mempertimbangkan nilai SSE dan icdrate, didapatkan metode K-Means sebagai metode terbaik. Penulisan lain yang dilakukan oleh Wahyuni pada tahun 2009 dalam jurnalnya yang berjudul Penggunaan Cluster-Based Sampling Untuk Penggalian Kaidah Asosiasi Multi Obyektif, menjelaskan bahwa algoritma K-Means lebih baik dibandingkan algoritma FCM. Dalam penulisan ini berisi tentang dua pembandingan metode clustering yaitu K-Means dan FCM. Adapun penulisan ini membahas hasil penggalian kaidah asosiasi multi obyektif dengan menggunakan sampel yang dilakukan proses clustering terlebih dahulu akan menghasilkan kaidah-kaidah asosiasi yang lebih baik. Hal ini ditunjukkan dengan nilai rata-rata yang diperoleh mempunyai nilai yang lebih besar dibandingkan data yang tidak melalui proses clustering terlebih dahulu. Perbandingan metode clustering yang digunakan yaitu K16 Means dan FCM. Metode K-Means lebih baik daripada FCM, hal ini ditunjukkan dengan nilai rata-rata confidence yang dihasilkan menggunakan metode K-Means mempunyai nilai yang lebih besar dibandingkan dengan metode FCM. Penulisan yang dilakukan oleh Widyawati pada tahun 2010 dalam skripsinya yang berjudul Perbandingan Clustering Based On Frequent Word Sequence (CFWS) Dan K-Means Untuk Pengelompokkan Dokumen Berbahasa Indonesia menjelaskan bahwa didapatkan nilai F-Measure dan Purity hasil implementasi menggunakan algoritma K-Means lebih tinggi dibandingkan dengan implementasi menggunakan algoritma CFWS. Hal ini membuktikan bahwa algoritma K-Means lebih tepat digunakan untuk pengelompokkan dokumen berbahasa Indonesia. D. Algoritma K-Means 1. Pengertian K-Means. “K-Means merupakan algoritma yang umum digunakan untuk clustering dokumen. Prinsip utama K-Means adalah menyusun k prototype atau pusat massa (centroid) dari sekumpulan data berdimensi n” (Aryan, 2010). Sebelum diterapkan proses algoritma K-means, dokumen akan di preprocessing terlebih dahulu. Kemudian dokumen direpresentasikan sebagai vektor yang memiliki term dengan nilai tertentu. Agusta (2007) menyatakan bahwa K-Means merupakan salah satu metode data clustering non hirarki yang berusaha mempartisi data yang ada ke dalam bentuk satu atau lebih cluster/kelompok. Metode ini mempartisi data ke dalam cluster/kelompok 17 sehingga data yang memiliki karakteristik sama dikelompokkan ke dalam satu cluster yang sama. 2. Algoritma K-Means. Algoritma k-means merupakan algoritma yang membutuhkan parameter input sebanyak k dan membagi sekumpulan n objek kedalam k cluster sehingga tingkat kemiripan antar anggota dalam satu cluster tinggi sedangkan tingkat kemiripan dengan anggota pada cluster lain sangat rendah. Kemiripan anggota terhadap cluster diukur dengan kedekatan objek terhadap nilai mean pada cluster atau dapat disebut sebagai centroid cluster atau pusat massa (Widyawati, 2010). Berikut rumus pengukuran jarak menurut (Santosa, 2007) : d(x,y) = ||x-y||2 = π π=1(π₯π − π¦ π) 2 ......... ( 1 ) Adapun rumus perhitungan jarak lainnya didefinisikan sebagai berikut : ......... ( 2 ) d(x,y) = √ ( xi – yi )2 + ( xi – yi )2 Keterangan : d = titik dokumen x = data record y = data centroid 18 Jarak yang terpendek antara centroid dengan dokumen menentukan posisi cluster suatu dokumen. Misalnya dokumen A mempunyai jarak yang paling pendek ke centroid 1 dibanding ke yang lain, maka dokumen A masuk ke group 1. Hitung kembali posisi centroid baru untuk tiap-tiap centroid (Ci..j)dengan mengambil ratarata dokumen yang masuk pada cluster awal (Gi..j ). Iterasi dilakukan terus hingga posisi group tidak berubah. Berikut rumus dari penentuan centroid. C (i) = 1 πΊπ π₯ππ ππ₯ ......... ( 3 ) Adapun rumus iterasi lainnya didefinisikan sebagai berikut : C(i) = x1+ x2+ x..+ x… ......... ( 4 ) π₯ Keterangan : x1 = nilai data record ke-1 x2 = nilai data record ke-2 ∑x = jumlah data record K-Means merupakan algoritma clustering yang bersifat partitional yaitu membagi himpunan objek data ke dalam sub himpunan (cluster) yang tidak overlap, sehingga setiap objek data berada tepat dalam satu cluster. Strategi partitionalclustering yang paling sering digunakan adalah berdasarkan kriteria square error. Secara umum, tujuan kriteria square error adalah untuk memperoleh partisi (jumlah cluster tetap) yang meminimalkan total square error. 19 SSE (Sum Squared of Error) menyatakan total kesalahan kuadarat yang terjadi bila n data i n x ,..., x dikelompokkan kedalam k cluster dengan pusat tiap cluster adalah k m ,...,m 1 . Nilai SSE tergantung pada jumlah cluster dan bagaimana data dikelompokkan ke dalam cluster-cluster tersebut. Semakin kecil nilai SSE, semakin bagus hasil clustering-nya. Adapun rumus SSE adalah sebagai berikut : ......... ( 5 ) SSE = (Ci)2 + (Ci)2 + (C..)2 + (C..)2 Keterangan : Ci 3. = nilai centroid Tahapan algoritma K-Means. Widyawati (2010), menyatakan : Proses algoritma K-Means sebagai berikut : a. Pilih secara acak objek sebanyak k, objek-objek tersebut akan direpresentasikan sebagai mean pada cluster. b. Untuk setiap objek dimasukan kedalam cluster yang tingkat kemiripan objek terhadap cluster tersebut tinggi. Tingkat kemiripan ditentukan dengan jarak objek terhadap mean atau centroid cluster tersebut. c. Hitung nilai centroid yang baru pada masing-masing cluster. d. Proses tersebut diulang hingga anggota pada kumpulan cluster tersebut tidak berubah. 20 Sedangkan menurut Adiningsih (2007) tahap penyelesaian algoritma K-Means adalah sebagai berikut : a. Menentukan K buah titik yang merepresentasikan obyek pada setiap cluster (centroid awal). b. Menetapkan setiap obyek pada cluster dengan posisi centroid terdekat. c. Jika semua obyek sudah dikelompokkan maka dilakukan perhitungan ulang dalam menentukan centroid yang baru. d. Ulangi langkah ke-2 dan ke-3 sampai centroid tidak berubah. Kurniawan dkk (2010) menyatakan : Langkah-langkah dari algoritma K-Means yaitu : Start . Number of cluster K Centroid No object move group Distance objects to centroids Grouping based on minimum distance Gambar 2.3 Cara Kerja Algoritma K-Means (Kurniawan dkk 2010) 21 End Berikut penjelasan dari gambar 2.3, dengan algoritma K-means dilakukan cara berikut hingga ditemukan hasil iterasi yang stabil : a. Menentukan data centroid, pada sistem ini, ditentukan bahwa centroid pertama adalah n data pertama dari data-data yang akan di-cluster. b. Menghitung jarak antara centroid dengan masing-masing data. c. Mengelompokkan data berdasarkan jarak minimum. d. Jika penempatan data sudah sama dengan sebelumnya, maka stop. Jika tidak, kembali ke cara yang ke-2. 22