2 TIJAUA PUSTAKA 2.1 Definisi Istilah Program Reguler Universitas Terbuka Universitas Terbuka memiliki dua program utama, yaitu Reguler dan Non Reguler yang biasa disebut dengan program Pendas (pendidikan Dasar). Program Reguler adalah program yang dapat diikuti oleh masyarakat umum, sedangkan program Pendas adalah program yang dirancang khusus untuk pendidikan guru sekolah dasar (Sufandi 2007). UPBJJ-UT (Unit Program Belajar Jarak Jauh Universitas Terbuka) UPBJJ-UT merupakan unit layanan yang disediakan oleh UT untuk membantu proses belajar mengajar dan melayani kebutuhan mahasiswa UT di daerah. Terdapat 39 UPBJJ-UT di luar negeri dan seluruh Indonesia, tersebar di kota-kota yang memiliki Perguruan Tinggi Negeri. Setiap mahasiswa wajib terdaftar sebagai anggota dari salah satu UPBJJ-UT sesuai dengan wilayah dimana mahasiswa berada. Mahasiswa on Aktif UT tidak menerapkan sistem putus sekolah (dropout). Namun demikian jika mahasiswa tidak melakukan registrasi ulang selama 4(empat) semester berturut-turut, maka mahasiswa tersebut dianggap mengundurkan diri dan statusnya dinyatakan sebagai mahasiswa non aktif. Jika mahasiswa bermaksud menyelesaikan studinya dan kembali menjadi mahasiswa aktif, maka mahasiswa tersebut cukup hanya melakukan registrasi ulang. 2.2 Data Mining dan KDD Menurut Tan et al (2006), Data mining adalah suatu proses untuk menemukan informasi yang berguna di dalam data dengan ukuran besar secara otomatis. Teknik-teknik data mining yang digunakan bertugas untuk menemukan pola baru dan bermakna di dalam basis data yang mungkin masih belum diketahui. 7 Tidak semua cara untuk menemukan suatu informasi dapat disebut sebagai proses data mining. Sebagai contoh, mencari informasi tentang catatan individu seseorang menggunakan suatu database management system, atau mencari laman jejaring tertentu melalui pertanyaan di suatu mesin pencari internet adalah suatu kegiatan yang terkait di wilayah temu kembali informasi. Meskipun kegiatan semacam itu penting dan mungkin melibatkan penggunaan suatu algoritma canggih dan struktur data, namun kegiatan tersebut hanya mengandalkan pada suatu teknik ilmu komputer tradisional dan fitur data yang jelas untuk membuat struktur indeks demi memperoleh organisasi dan temu kembali informasi yang efisien. Di sisi lain, teknik data mining telah digunakan untuk meningkatkan sistem temu kembali informasi (Tan et al. 2006). Data mining merupakan bagian integral dari Knowledge Discovery in Databases (KDD). Keseluruhan proses KDD dari mulai data sampai menjadi informasi ditunjukkan oleh Gambar 2. Data Masukan Praproses Data Data Mining Postprocessing Seleksi atribut Pengurangan dimensi Normalisasi Subsetting Data Informasi Pemilihan Pola Visualisasi Interpretasi Pola Gambar 2 Proses dari KDD (Tan et al. 2006) Format dari data masukan bermacam-macam, dapat berbentuk flat file, spreadsheets, atau relational table. Data input mengalami 3 proses besar sebelum menjadi hasil yang berupa informasi, yaitu: praproses, data mining, dan postprocessing. Praproses bertujuan untuk mentransformasi data ke dalam format sesuai dengan kebutuhan. Termasuk dalam tahapan praproses antara lain adalah pembersihan data untuk membuang data-data yang tidak digunakan dan data duplikat, pengurangan data (seleksi atribut dan seleksi record), penggabungan data, dan transformasi/normalisasi data. Postprocessing bertujuan untuk membantu pengguna dalam memahami informasi. 8 Kualitas informasi yang dihasilkan oleh proses KDD sangat dipengaruhi oleh kualitas data, pengetahuan tentang data, dan teknik pengolahan data yang akan digunakan. Menurut Luan (2001) fitur data mining yang paling mengena adalah klastering dan prediksi. Aspek klastering data mining menawarkan analisis karakteristik mahasiswa yang komprehensif, sedangkan prediksi berfungsi untuk memperkirakan kemungkinan dari berbagai macam keluarannya, yaitu transferabilitas, persistensi, retensi dan keberhasilan dalam belajar. Sedangkan Menurut Tan et al. 2006, secara umum data mining memiliki dua tugas utama, yaitu prediktif dan deskriptif: 1. Prediktif Tujuan dari prediktif adalah untuk memprediksi nilai dari suatu atribut tertentu berdasarkan nilai dari beberapa atribut lain. Atribut yang diprediksi biasa disebut dengan target atau dependent variable, sedangkan atribut yang digunakan untuk memprediksi biasa disebut dengan explanatory atau independent variables (contoh klasifikasi). 2. Deskriptif Tujuan dari deskriptif adalah untuk menemukan pola, korelasi, klaster atau anomali, yang dapat menggambarkan hubungan antar data objek dalam data. Deskriptif biasanya memerlukan postprocessing untuk validasi dan merepresentasikan hasil (contoh clustering). Tipe Data Data merupakan komponen dasar dalam proses data mining. Setiap data terdiri dari kumpulan data objek/data observasi. Karakteristik dari data objek digambarkan dengan beberapa atribut, dimana setiap atribut memiliki nilai dengan tipe yang berbeda-beda. Secara umum terdapat dua tipe, yaitu kategori dan numerik. Data numerik adalah suatu data dimana atribut yang dimilikinya bertipe numerik. Atribut dengan tipe numerik memiliki dua ciri penting, yaitu bisa diurutkan (2 < 4, 5 < 8), dan memiliki hubungan jarak (d(3,4) = 5). Bilangan real dan bilangan bulat termasuk dalam tipe numerik. Contoh atribut dengan tipe numerik adalah Umur, Tinggi Badan, dan Berat Badan. Data kategori adalah 9 suatu data dimana atribut yang dimilikinya bertipe kategori. Ciri dari atribut dengan tipe kategori adalah : tidak bisa diurutkan dan tidak memiliki hubungan jarak. Hubungan yang ada hanyalah sama atau tidak sama (biru=biru, merah ≠ hitam). Contoh atribut dengan tipe kategori adalah Jenis Kelamin dan Warna Kulit. Praproses Data Praproses data dilakukan karena data awal cenderung untuk tidak bersih, tidak lengkap, dan tidak konsisten. Praproses data bertujuan untuk meningkatkan kualitas data, sehingga diharapkan dapat membantu meningkatkan akurasi, efektifitas, dan efisiensi dari suatu proses data mining. Praproses data merupakan langkah yang sangat penting dalam proses KDD karena kualitas hasil akhir suatu proses data mining sangat dipengaruhi oleh kualitas data. Praproses data juga bertujuan untuk tranformasi data input ke dalam format sesuai dengan kebutuhan. Pembersihan data, pengurangan data, penggabungan data, dan transformasi data merupakan bagian dari praproses data (Han & Kamber 2001). 1. Pembersihan Data Pembersihan data dilakukan karena data penelitian seringkali memiliki record dengan nilai atribut yang tidak lengkap, nilai kosong, tidak konsisten, dan noisy. Terhadap data yang memiliki atribut dengan nilai tidak lengkap atau kosong dapat diatasi dengan beberapa cara, antara lain: menghapus data tersebut, isi atribut kosong dengan rata-rata nilai atribut atau isi atribut kosong dengan nilai atribut yang paling sering muncul (Han & Kamber 2001). Nilai tidak konsisten adalah nilai yang berada diluar kesepakatan. Contoh: alamat mahasiswa biasanya dilengkapi dengan atribut Kota dan Kode Pos. Jika Kode Pos berisi kode yang tidak dimiliki oleh kota tersebut, maka data memiliki nilai tidak konsisten pada atribut Kode Pos. Terhadap data demikian dapat dilakukan perbaikan berdasarkan data lain dengan kota yang sama dan alamat yang berdekatan. Data Noisy adalah kesalahan tidak berpola atau perbedaan yang terjadi pada variabel yang diukur (Tan et al. 2006). 10 2. Pengurangan Data Pengurangan data, biasanya dikaitkan dengan data yang sangat besar, adalah suatu usaha untuk mengurangi ukuran data dengan tujuan untuk memperoleh data dengan volume yang relatif kecil tetapi dapat mewakili kondisi data asli. Memproses data hasil pengurangan seharusnya jauh lebih efisien dibanding dengan memproses data asli tetapi mendapatkan hasil yang relatif sama. Seleksi atribut dan seleksi record adalah sebagian dari teknik pengurangan data. • Seleksi Atribut Data yang akan dianalisis bisa jadi memiliki atribut dengan jumlah yang cukup banyak tetapi sesungguhnya sebagian dari atribut tersebut tidak relevan dengan kebutuhan penelitian. Sebagai contoh, jika akan dilakukan klastering terhadap data mahasiswa untuk menemukan karakteristik mahasiswa yang berkaitan dengan Index Prestasi Akademik, maka atribut seperti Nama, Alamat, atau Nomor Telepon termasuk atribut yang tidak relevan dengan kebutuhan penelitian. Jika atribut tersebut diikutsertakan dalam proses klastering, maka selain memperlambat proses, juga akan mendapatkan hasil yang kurang berkualitas. Seleksi atribut adalah suatu usaha untuk mengurangi ukuran data dengan cara menghapus atribut yang tidak relevan dengan kebutuhan penelitian (Han & Kamber 2001). • Seleksi Record Secara umum, karakteristik data mining adalah menganalisis data dengan ukuran yang sangat besar berdasarkan sampel dari data tersebut. Sampel digunakan untuk memberikan informasi terkait dengan keseluruhan data. Kualitas dari informasi yang dihasilkan tergantung dari data objek yang dipilih sebagai sampel. Seleksi record adalah suatu usaha untuk mendapatkan data sampel yang representatif dengan data asli. 3. Penggabungan Data Pada proses data mining seringkali dibutuhkan suatu proses penggabungan data. Penggabungan dilakukan karena data yang akan dianalisis berasal dari 11 beberapa sumber. Sumber tersebut dapat berupa multiple databases, data cubes, atau flat file. 4. Transformasi Data Secara prinsip, data kategori dapat ditransformasi/dikonversi ke dalam bilangan numerik, dimana satu bilangan numerik mewakili satu nilai kategori. Atribut kategori yang demikian disebut dengan “dummy variable” (Kandardzic 2003). Sebagai contoh, jika atribut Warna Kulit memiliki tiga nilai yaitu ‘putih’, ‘coklat’, dan ‘hitam’, maka ketiga warna tersebut dapat dikonversi kedalam tiga kode numerik, misalnya ‘putih’=01 , ’coklat’=02, dan ’hitam’=03. Dalam suatu data numerik kadang-kadang terdapat atribut yang memiliki nilai dengan rentang yang sangat berbeda dengan atribut lain. Sebagai contoh: perbedaan gaji dua karyawan jauh lebih besar (ratusan ribu atau jutaan rupiah) dibanding dengan perbedaan umur dari kedua karyawan tersebut (kurang dari 100). Untuk beberapa algoritma data mining, kondisi demikian dapat mengacaukan hasil perhitungan proximity (Tan et al. 2006). Atribut dengan rentang nilai besar menjadi sangat dominan, dan akan mempengaruhi hasil secara tidak proporsional. Oleh karenanya, perlu dilakukan standarisasi terhadap semua atribut sehingga setiap atribut memiliki kontribusi secara proporsional terhadap hasil akhir suatu proses data mining. Salah satu teknik transformasi data yang cukup penting adalah normalisasi data. Dengan normalisasi, kita dapat mengkonversi semua nilai dalam skala secara proporsional tanpa mengurangi informasi yang terkandung di dalamnya. Normalisasi berfungsi juga sebagai pengurangan waktu komputasi, dan dapat meningkatkan akurasi. Metode normalisasi yang cukup populer adalah z-score dan min-max normalization. • zero-mean normalization atau z-score. Pada z-score normalization, setiap nilai v dari atribut A akan dinormalisasi menjadi v’ dengan rumus v' = v− A σA , (1) dimana A dan σA masing2 menyatakan rata-rata dan deviasi standar dari atribut A. 12 • Min-max normalization. Pada proses Min-max normalization, setiap nilai v dari atribut A akan dinormalisasi menjadi v’ dengan rumus v' = v - A min ( New max − New min) + New min A max − A min (2) dimana Amin, Amax, Newmin, dan Newmax masing-masing menyatakan nilai minimum dari atribut A, nilai maximum dari atribut A, nilai minimum dari skala baru dan nilai maximum dari skala baru. Hasilnya, setiap nilai dari suatu atribut akan berada dalam skala tertentu, misal [0, 1]. 2.3 Analisis Klaster Analisis Klaster adalah suatu teknik data mining untuk mengelompokkan himpunan objek(dataset) ke dalam beberapa grup/klaster hanya berdasarkan kemiripan karakteristik dari atribut yang dimiliki oleh data objek sedemikian sehingga data objek yang berada di dalam klaster yang sama memiliki kemiripan satu sama lain tetapi mereka tidak mirip dengan data objek yang berada dalam klaster yang berbeda (Han & Kamber 2001). Semakin besar tingkat kemiripan antar objek di dalam klaster dan semakin besar tingkat perbedaan antar klaster, semakin baik klastering yang dihasilkan. Analisis Klaster mengelompokkan data objek ke dalam grup yang bermakna, berguna atau keduanya. Jika tujuan dari klastering adalah membagi data ke dalam grup yang bermakna, maka klaster seharusnya menangkap struktur alami dari data (Tan et al. 2006). Input dari analisis klaster dapat digambarkan sebagai pasangan berurutan (X,s) atau (X,d), dimana X merupakan himpunan objek berikut deskripsinya, s dan d masing masing menyatakan kemiripan dan ketidakmiripan antar objek. Output dari analisis klaster adalah sebuah partisi Λ = {G1, G2, . . . , GN} dimana Gk, k = 1,2, . . . ,N adalah himpunan bagian dari X sedemikian sehingga X = {G1 ∪ G2, ∪ , . . . , ∪ GN}, dan Gi ∩ Gj = φ untuk i ≠ j G1, G2, . . . , GN disebut klaster, dan setiap klaster diilustrasikan dengan beberapa karakteristik. Klaster beserta karakteristiknya merupakan hasil dari proses 13 klastering yang sangat penting untuk menganalisis karakteristik dari data (Kandarzic 2003). Pada umumnya data X dinyatakan dalam matrik data nxp (n objek dan p atribut), sedangkan kemiripan/ketidakmiripan antar objek dinyatakan dalam matrik simetri nxn, biasa disebut dengan matrik proximity. Cara menghitung kemiripan/ketidakmiripan dipengaruhi oleh algoritma yang digunakan, dan berbeda untuk masing-masing tipe data binary, kategori, atau numerik. x11 . . . . . xif . . . . . x1p .............. xi1 . . . . . xif . . . . . xip .............. xn1. . . . . xnf . . . . . xnp 0 d( 2 ,1 ) 0 d( 3 ,1 ) d( 3 ,2 ) 0 . . . . . . d(n,1 ) d(n, 2 ) . . . Matrik Data . . .0 Matrik Proximity Analisis klaster telah dipelajari di bidang Statistik, Machine Learning, dan Basis Data dengan beragam penekanan. Saat ini, analisis klaster juga menjadi salah satu bidang utama dalam data mining. Kemiripan dan Ketidakmiripan Kemiripan dan ketidakmiripan merupakan hal yang sangat mendasar dalam klaster analisis. Algoritma klastering menggunakan ukuran kemiripan atau ketidakmiripan untuk menggabung atau memisahkan data objek dari suatu data. Ukuran kemiripan biasanya digunakan oleh algoritma klastering untuk menganalisis data kategori, sedangkan ukuran ketidakmiripan digunakan oleh algoritma klastering untuk menganalisis data numerik. Pada Gambar 3 diberikan ilustrasi klastering data kategori dan data numerik. Contoh pertama, terdapat sekumpulan bola dengan 3 macam warna. Algoritma klastering akan mengelompokkan bola berdasarkan kemiripan warnanya, sehingga bola dalam satu kelompok memiliki kesamaan warna, dan berbeda dengan warna bola dari kelompok lain. Contoh kedua, jika terdapat data dengan tipe numerik, maka algoritma klastering akan mengelompokkan data berdasarkan jarak antar objek 14 sedemikian sehingga jarak antar objek dalam satu klaster minimal, sedangkan jarak antar klaster maksimal. Gambar 3 Ilustrasi klastering data kategori dan data numerik Ukuran kemiripan digunakan untuk mencari pasangan objek yang mirip di dalam data. Kemiripan antar pasangan objek x dan y dinyatakan dengan sim(x,y). sim(x,y) akan bernilai besar jika x dan y merupakan pasangan objek yang mirip, sebaliknya sim(x,y) akan bernilai kecil jika x dan y merupakan pasangan objek yang tidak mirip. Untuk setiap pasangan objek x dan y, berlaku 3 kondisi berikut (Kandardzic 2003): 1. 0 ≤ sim(x,y) ≤ 1, kemiripan bernilai antara 0 dan 1. 2. sim(x,x) = 1, setiap objek mirip dengan dirinya sendiri. 3. sim(x,y) = sim(y,x), kemiripan bersifat simetri. Beberapa algoritma klastering menggunakan ukuran kemiripan untuk menggabung atau memisahkan data objek. Berikut adalah dua contoh ukuran kemiripan yang biasa digunakan yaitu Jaccard coefficient Similarity dan weighted similarity. 15 1. Jaccard coefficient Similarity Jaccard coefficient digunakan sebagai dasar untuk menghitung kemiripan pada data transaksi market-basket. Data transaksi market-basket memiliki n atribut, dimana tiap-tiap atribut merepresentasikan item yang dijual. Semua atribut bertipe boolean, dengan kata lain akan bernilai 1 jika terjadi transaksi pada item yang bersesuaian, dan bernilai 0 jika tidak ada transaksi. Jika terdapat dua transaksi x dan y, maka ukuran kemiripan antara x dan y dihitung berdasarkan rumus Jaccard coefficient berikut : sim(x,y) = |x∩ y| , dimana |x∪ y| (3) |x ∩ y| menyatakan banyaknya item yang sama pada transaksi x dan transaksi y, sedangkan |x ∪ y| menyatakan banyaknya gabungan item pada transaksi x dan transaksi y. Data kategori dapat dikonversi kedalam data transaksi market-basket dengan menganggap pasangan nilai atribut sebagai suatu item: bernilai 1 jika pasangan atribut bernilai sama, dan bernilai 0 jika tidak sama. Sebagai contoh, diberikan dua data mahasiswa x dan y dengan 5 atribut kategori (UPBJJ, Pendidikan Akhir, Jenis Pekerjaan, Status Kawin, dan Jenis Kelamin) berikut : x = {Jakarta, SLTA, PNS, Kawin, Laki-laki}, y = {Bandung, D1, PNS, Kawin, Laki-laki}, maka |x ∩ y| = {PNS, Kawin, Laki-laki}= 3 |x ∪ y| = { Jakarta, Bandung, SLTA, D1, PNS, Kawin, Laki-Laki}=7 Maka ukuran kemiripan antara x dan y, sim(x,y) = 3 = 0,43 7 2. Weighted Similarity Rumus ukuran kemiripan pada data transaksi tidak memperhitungkan banyaknya nilai/status yang dimiliki oleh masing-masing atribut, dan menganggap bahwa setiap atribut memiliki bobot yang sama. Weighted similarity merupakan ukuran kemiripan yang memasukkan faktor bobot pada rumus ukuran kemiripan. Bobot yang dimaksud tergantung dari banyaknya 16 domain yang dimiliki masing-masing atribut. Dua objek yang berbeda pada atribut dengan 2 nilai seharusnya memiliki kemiripan yang berbeda dengan dua objek yang berbeda pada atribut dengan 39 nilai. Hal tersebut bisa dipahami karena kemungkinan bahwa dua objek memiliki nilai tidak sama akan berbeda untuk setiap atribut (Dutta et al. 2005). Didefinisikan rumus weighted similarity berikut : sim(x,y) = | x∩ y| | x ∩ y | +2 ∑ k∉x ∩ y |x 1 Dk , dimana (4) ∩ y| menyatakan banyaknya irisan nilai atribut antara x dan y, Dk menyatakan banyaknya status pada atribut k. Jika diperhatikan kembali contoh dua mahasiswa x dan y yang sudah dibahas sebelumnya, maka kedua mahasiswa tersebut memiliki perbedaan pada dua atribut yaitu UPBJJ yang memiliki 39 status, dan Pendidikan Akhir yang memiliki 6 status. Dengan demikian ukuran kemiripan antara x dan y adalah : sim(x,y) = 3 = 0,89 1 1 3 + 2( + ) 39 6 Terlihat bahwa kedua ukuran kemiripan memiliki perbedaan yang cukup signifikan. Ketidakmiripan sering kali disebut dengan jarak, digunakan untuk mencari jarak antara pasangan objek di dalam data. Jarak antara pasangan objek x dan y dinyatakan dengan d(x,y). d(x,y) akan bernilai besar jika x dan y merupakan pasangan objek yang tidak mirip, sebaliknya d(x,y) akan bernilai kecil jika x dan y merupakan pasangan objek yang mirip. Untuk setiap objek x dan y berlaku kondisi berikut (Han & Kamber 2001) : 1. d(x,y) ≥ 0, jarak merupakan bilangan non-negatif. 2. d(x,x) = 0, jarak suatu objek dengan dirinya sendiri = 0. 3. d(x,y) = d(y,x), jarak bersifat simetri. 4. d(x,y) ≤ d(x,h) + d(h,y). 17 Terdapat cukup banyak algoritma klastering yang menggunakan ukuran jarak untuk menggabung atau memisahkan objek dari suatu data. Ukuran jarak dihitung menggunakan konsep jarak. Konsep jarak yang banyak dikenal adalah : 1. Euclidean Distance. Jarak antara objek x dan y dihitung menggunakan rumus berikut : d ( x, y ) = (∑i=1 ( xi - yi ) 2 , dimana d (5) x = (x1,x2, . . . ,xd) dan y = (y1,y2, . . . , yd) adalah dua data objek dengan d-atribut 2. Cityblock Distance. Jarak antara objek x dan y dihitung menggunakan rumus berikut : d ( x, y ) = ∑i =1 xi - yi d , dimana (6) x = (x1,x2, . . . ,xd) dan y = (y1,y2, . . . , yd) adalah dua data objek dengan d-atribut 3. Cosine Distance. Jarak antara objek x dan y dihitung menggunakan rumus berikut : d ( x, y ) = 1 x.y = ∑ x = d i =1 x.y , dimana x y (7) xi . yi , perkalian dua vektor ∑ x d 2 i =1 i = x.x , adalah panjang vektor x x = (x1,x2, . . . ,xd) dan y = (y1,y2, . . . , yd) adalah dua data objek dengan datribut Metode Penggabungan Metode penggabungan adalah suatu ukuran kuantitatif yang digunakan oleh algoritma klastering hierarchical agglomerative untuk menggabungkan dua klaster Cx dan Cy yang dianggap mirip/dekat berdasarkan ukuran jarak kedua klaster. Didefinisikan d(Cx,Cy) yang menyatakan jarak antara klaster Cx dan Cy, nx dan ny masing-masing menyatakan jumlah anggota klaster Cx dan Cy, dan 18 d(x,y) menyatakan jarak antara objek x dan y, dimana x dan y masing-masing merupakan anggota klaster Cx dan Cy. Metode penggabungan yang sering digunakan adalah: 1. Single-Link (Minimum distance ). Single-Link disebut juga tetangga terdekat. Jarak antara klaster Cx dan Cy dihitung berdasarkan jarak terdekat antara dua objek dalam klaster Cx dan Cy : d (C x , C y ) = min d ( x, y ) x ∈Cx y∈Cy (8) 2. Complete-link (Maximum distance). Complete linkage disebut juga tetangga terjauh. Jarak antara klaster Cx dan Cy dihitung berdasarkan jarak terjauh antara dua objek dalam klaster Cx dan Cy : d (C x , C y ) = max d ( x, y ) x ∈Cy y∈Cy (8) 3. Average link (Average distance). Jarak antara klaster Cx dan Cy dihitung berdasarkan rata-rata jarak antara semua kemungkinan pasangan objek dalam klaster Cx dan Cy : d (Cx, Cy ) = 1 nx n y nx ny x =1 y =1 ∑ ∑ (9) d ( x, y ) 19 2.4 Algoritma Klastering Secara umum algoritma klastering menggunakan dua pendekatan : 1. 1on-Hierarchical clustering/Partitioning clustering. Partitioning clustering mengelompokkan data objek ke dalam klaster yang tidak overlap sedemikian sehingga tiap data objek berada dalam tepat satu klaster. Algoritma dengan pendekatan ini tidak dibahas lebih jauh karena tidak digunakan dalam penelitian. 2. Hierarchical clustering. Hierarchical clustering memungkinkan suatu klaster memiliki subklaster yang disusun sebagaimana hierarchical tree, disebut juga dendrogram (Tan et al. 2006). Hierarchical clustering membentuk klaster secara alami. Untuk meningkatkan kualitas hierarchical clustering, beberapa algoritma mengintegrasikan hierarchical clustering dengan tehnik pengelompokan yang lain (contoh: algoritma ROCK dan QROCK ). Jika dilihat dari proses pembentukan klaster, hierarchical clustering dibedakan menjadi dua: 1. Agglomerative (bottom up). Secara umum, proses agglomerative dimulai dengan setiap objek berfungsi sebagai klaster, kemudian secara bertahap menggabungkan setiap pasang klaster terdekat tersebut berdasarkan ‘kedekatannya/kemiripannya’, sampai akhirnya semua klaster tergabung dalam satu klaster. 2. Divisive (top down). Secara umum, proses divisive dimulai dengan semua objek berada dalam satu klaster yang sama, secara bertahap kemudian dipisah sehingga terbentuk klaster-klaster dengan hanya satu objek. Algoritma ini tidak dibahas lebih jauh karena tidak digunakan dalam penelitian. 20 Algoritma Hierarchical Agglomerative esting (AGES) Algoritma AGNES pertama kali diperkenalkan oleh Kaufmann dan Rousseeuw pada tahun 1990. AGNES merupakan algoritma agglomerative hierarchical clustering yang cukup popular, bekerja pada data numerik (Han & Kamber 2001). Algoritma AGNES dimulai dengan menghitung matrik jarak antar objek, setiap objek berfungsi sebagai klaster, kemudian secara bertahap menggabungkan setiap pasangan klaster terdekat berdasarkan ukuran jarak dan metode penggabungan yang digunakan, sampai semua klaster tergabung dalam satu klaster. Secara formal langkah-langkah algoritma AGNES ditulis oleh Tan et al (2006) sebagai berikut : 1. Hitung matrik jarak 2. Anggap setiap objek sebagai sebuah klaster 3. Repeat 4. Gabungkan dua klaster terdekat (berdasarkan ukuran jarak dan metode penggabungan yang digunakan) 5. Update matrik jarak untuk mengetahui jarak antara klaster baru dengan klaster asli. 6. Until hanya ada satu klaster Algoritma ROCK (RObust Clustering using linKs) Algoritma ROCK pertama kali diperkenalkan oleh Guha et al pada tahun 1999. ROCK merupakan algoritma agglomerative hierarchical clustering untuk data kategori, menggunakan konsep link sebagai ukuran kemiripan untuk membentuk klaster-klasternya. Beberapa parameter yang digunakan dalam algoritma ROCK (Guha et al. 2000) adalah tetangga, link, dan fungsi goodness. • Tetangga Tetangga dari suatu objek adalah objek lain yang dianggap sangat mirip dengan objek tersebut. Diberikan suatu threshold θ bernilai antara 1 dan 0. Dua objek x dan y dikatakan tetangga jika kemiripan antara x dan y, sim(x,y) ≥ θ.θ merupakan parameter yang ditentukan oleh pengguna yang dapat digunakan 21 untuk mengontrol seberapa dekat hubungan x dan y sehingga kedua objek tersebut bisa dikatakan sebagai tetangga. Ukuran kemiripan antar pasangan objek dihitung dengan rumus Jaccard coefficient, yang disajikan pada persamaan (3). • Link Algoritma ROCK menggunakan informasi tentang link sebagai ukuran kemiripan antar objek. Jika x tetangga dari z dan z tetangga dari y maka dikatakan x memiliki link dengan y walaupun x bukan tetangga dari y. Didefinisikan : link(x,y) = Σ tetangga yang dimiliki oleh sekaligus x dan y Cara menghitung link untuk semua kemungkinan pasangan n objek bisa dibantu dengan menggunakan matrik tetangga A. Matrik tetangga A adalah matrik nxn, dimana A[x,y] bernilai 1 jika x dan y merupakan tetangga dan bernilai 0 jika x dan y bukan tetangga. Jumlah link antar pasangan x dan y dapat diperoleh dari hasil kali antara baris ke x dan kolom ke y: link(x,y) = ∑l =1 A[ x, l ] * A[l , y ] , merupakan hasil kali matrik tetangga A n dengan dirinya sendiri: AxA. Jika link(x,y) besar maka besar kemungkinan x dan y berada dalam klaster yang sama. • Goodness Function Algoritma ROCK menggunakan informasi goodness sebagai ukuran kemiripan antar klaster, dan menggabungkan objek/klaster yang memiliki kemiripan terbesar. Didefinisikan ukuran goodness antara klaster Ci dan Cj : g(Ci, Cj) = link (Ci, Cj ) - ni1+ 2f(θ ) - nj1+ 2f(θ ) ( ni + nj ) link(Ci ,Cj) = 1+ 2f(θ ) ∑ link ( x , y ) , dimana (10) menyatakan banyaknya cross link (jumlah x∈C i , y∈ C j link dari semua kemungkinan pasangan objek yang ada dalam Ci dan Cj, ni dan nj masing-masing menyatakan jumlah anggota klaster i dan jumlah anggota klaster j, dan f( θ ) = 1−θ . 1+θ 22 Secara formal langkah-langkah algoritma ROCK ditulis oleh S Guha et al (2000) sebagai berikut: 1. Ambil sampel secara random dari data 2. Hitung link untuk setiap pasangan objek 3. Terapkan agglomerative hierarchical clustering pada data sampel berdasarkan link antar objek sebagai ukuran kemiripan. 4. Secara iterative, gabungkan pasangan klaster Ci dan Cj yang memiliki goodness function g(Ci, Cj) maksimal. Hentikan penggabungan jika tidak lagi ditemukan link antar pasangan klaster, atau jumlah klaster yang dikehendaki sudah tercapai. 5. Klaster yang terbentuk dari sampel kemudian digunakan untuk menempatkan sisa objek yang ada dalam data. Algoritma QROCK (Quick version of ROCK) Algoritma QROCK diperkenalkan oleh Dutta et al pada tahun 2005, merupakan percepatan dari algoritma ROCK. QROCK sangat efisien untuk membentuk klaster sebagaimana klaster yang dibentuk oleh algoritma ROCK ketika tidak lagi ada link antara klaster satu dengan klaster yang lain. Beberapa parameter yang digunakan dalam algoritma QROCK adalah: • Tetangga Sebagaimana algoritma ROCK, algoritma QROCK juga melibatkan konsep tetangga untuk membentuk klaster-klasternya. Diberikan suatu threshold θ bernilai antara 1 dan 0. Dua objek x dan y dikatakan tetangga jika sim(x,y) ≥ θ . Threshold merupakan parameter yang ditentukan oleh pengguna yang dapat digunakan untuk mengontrol seberapa dekat hubungan x dan y sehingga kedua objek tersebut bisa dikatakan sebagai tetangga. Semakin besar threshold, semakin mirip pasangan yang bertetangga tersebut. Setiap objek yang bertetangga dengan i disusun dalam suatu matrik tetangga A[i]. Untuk algoritma QROCK, ukuran kemiripan antar objek dihitung dengan rumus weighted similarity, yang disajikan oleh persamaaan (4). 23 • MFSET (Merge Find Set) Tidak seperti algoritma ROCK yang menggunakan informasi link, algoritma QROCK menggunakan konsep MFSET untuk membentuk klaster-klasternya. MFSET terdiri dari tiga operasi berikut : 1. Merge(A,B) : gabungan dari himpunan A dan himpunan B 2. Find(x) : mencari himpunan yang salah satu anggotanya adalah elemen x. 3. Initial(x) : membentuk himpunan yang hanya beranggotakan elemen x. Algoritma QROCK dimulai dengan menghitung kemiripan antar objek. Berdasarkan matrik kemiripan dan threshold yang diberikan, dihitung matrik tetangga nbrlist[i] untuk setiap objek i. Inisialisasi setiap objek berfungsi sebagai himpunan. Untuk setiap i, diambil objek x dalam nbrlist[i], dan kemudian menggabungkannya dengan komponen lain dalam nbrlist [i]. Secara formal langkah-langkah algoritma QROCK ditulis sebagai berikut : Input : Dataset D 1. Hitung matrik kemiripan antar objek. 2. Hitung matrik tetangga A[i] untuk setiap i ∈ D berdasarkan θ 3. Untuk setiap objek x dalam D, initial(x) 4. Untuk setiap i dalam D Ambil objek x dalam A[i] 5. Untuk setiap objek lain y dalam A[i] A = find(x) B = find(y) Jika A ≠ B, maka merge (A,B) 6. Selesai Algoritma Cluster Ensemble Based Algorithm Jika dilihat dari tipe data yang akan dianalisa, algoritma klastering dibedakan ke dalam tiga jenis : algoritma klastering yang digunakan untuk menganalisis data numerik, algoritma klastering yang digunakan untuk menganalisis data kategori, dan algoritma klastering yang digunakan untuk menganalisis data campuran (numerik dan kategori). Pada umumnya algoritma klastering hanya digunakan untuk memproses salah satu tipe data numerik atau 24 kategori saja. Tidak banyak algoritma klastering yang dikembangkan untuk memproses data dengan tipe campuran. Salah satunya adalah algoritma algCEBMDC, suatu algoritma klastering dengan pendekatan cluster ensemble. Cluster ensemble adalah suatu metode yang digunakan untuk menjalankan beberapa algoritma klastering yang berbeda, untuk mendapatkan bagian yang sama dari data, bertujuan untuk menyatukan hasil dari hasil-hasil clustering individual (Zengyou et al 2002). Klastering bertujuan untuk membentuk grup dan mendapatkan pola yang menarik dari suatu data. Secara umum output yang dihasilkan oleh suatu algoritma klastering menempatkan setiap data objek ke dalam satu klaster tertentu. Jika dua objek berada dalam klaster yang sama maka kedua objek tersebut dianggap sama. Sebaliknya jika dua objek berada dalam klaster yang berbeda maka kedua objek dianggap berbeda. Jelas bahwa klaster yang dihasilkan oleh suatu algoritma klastering tidak dapat diurutkan sebagaimana mengurutkan bilangan real. Dengan kata lain bahwa klaster-klaster tersebut dapat dipandang sebagai data kategori. Karena output dari masing-masing algoritma klastering merupakan data kategori, maka masalah cluster ensemble dapat dipandang sebagai masalah dari klastering data kategori, dimana hasil dari masing-masing algoritma klastering dapat digabungkan menjadi data yang baru dengan tipe kategori (Zengyou et al. 2002). Algoritma algCEBMDC ( Cluster Ensemble Based Mixed Data Clustering) Algoritma algCEBMDC dikembangkan untuk menyelesaikan masalah yang berkaitan dengan klastering data dengan tipe campuran (kategori dan numerik). Algoritma ini menawarkan suatu teknik baru, yaitu teknik devide-andconquer. Pertama, data asli yang bertipe campuran dipisah menjadi dua: data dengan tipe kategori dan data dengan tipe numerik. Selanjutnya, kedua data tersebut diproses secara terpisah dengan menggunakan algoritma klastering yang sesuai dengan tipe masing-masing data. Terakhir, klaster-klaster yang dihasilkan oleh kedua algoritma digabungkan dan dipandang sebagai data baru dengan tipe kategori, kemudian diproses dengan menggunakan algoritma klastering data 25 kategori untuk mendapatkan hasil akhir (Zengyou et al. 2002). Langkah dari algCEBMDC ditunjukkan oleh Gambar 4 berikut: Dataset kategori Algoritma Klastering untuk Data Kategori Algoritma Klastering untuk Data Kategori Data set Dataset numerik Algoritma Klastering untuk Data Numerik Gambar 4 Langkah Cluster Ensemble Based Algorithm Secara formal algoritma algCEBMDC ditulis oleh Zengyou et al. (2002) sebagai berikut: Algoritma algDEBMDC Input Output :D //dataset : tiap data objek masuk dalam cluster tertentu 1. Pisahkan data menjadi categorical dataset(CD) dan numeric dataset(1D) 2. Lakukan klastering terhadap CD dengan menggunakan algoritma klastering untuk data kategori (contoh: QROCK). 3. Lakukan klastering terhadap ND dengan menggunakan algoritma klastering untuk data numerik (contoh: AGNES). 4. Gabungkan output dari kedua algoritma menjadi categorical dataset(CombinedCD). 5. Gunakan QROCK lagi untuk melakukan klastering terhadap CombinedCD 2.5 Evaluasi Klaster Dalam klasifikasi, evaluasi merupakan bagian yang tak terpisahkan dengan pengembangan model. Tidak demikian halnya dengan evaluasi klaster. Dalam 26 analisis klaster, terdapat beberapa tipe klaster yang berbeda, -setiap algoritma klastering menghasilkan klaster dengan tipenya masing-masing- . Oleh karenanya, masing-masing kondisi akan membutuhkan ukuran evaluasi yang berbeda. Sebagai contoh, k-mean clustering dievaluasi menggunakan SSE, tetapi pada density based cluster SSE sama sekali tidak dapat bekerja dengan baik (Tan et al. 2006). Walaupun evaluasi klaster pada umumnya bukan merupakan bagian yang menyatu dengan analisis klaster, tetapi evaluasi klaster cukup penting dan sebaiknya merupakan bagian dari analisis klaster (Tan et al. 2006). Beberapa metode evaluasi klaster yang dikenal antara lain Cohesion, Separation dan Chopenetic Correlation Coefficient. • Cohesion dan Separation Cohesion (kohesi) adalah ukuran kepadatan antar anggota di dalam klaster, digunakan untuk mengukur seberapa dekat hubungan antar objek didalam klaster. Sedangkan separation (separasi) digunakan untuk mengukur seberapa jauh hubungan satu klaster dengan klaster yang lain. Secara umum, kohesi dan separasi dihitung dengan persamaan berikut : Cohesion (Ci) = ∑ proximity ( x, y) (12) ∑ proximity ( x, y) (13) x ∈ Ci y ∈ Ci Separation (Ci, Cj) = x ∈ Ci y ∈ Cj Untuk graph based clusters, kohesi dari klaster didefinisikan sebagai jumlah dari bobot link dalam proximity matrix yang menghubungkan objek-objek dalam klaster tersebut. Proximity matrix terdiri dari tiga komponen: data objek sebagai nodes, link antar dua data objek, dan bobot yang diberikan untuk tiap link antar objek. Sedangkan separasi antar dua klaster dapat diukur dengan menjumlahkan bobot dari link yang menghubungkan objek dalam satu klaster dengan objek dalam lain klaster. Pada umumnya, bobot diperoleh dari jumlah 27 anggota klaster (Tan et al. 2006). Semakin besar kohesi dan semakin kecil separasi, maka semakin baik klaster yang dihasilkan • Cophenetic Correlation Coefficient Cophenetic correlation coefficient adalah korelasi antara jarak tiap pasangan objek yang dihitung menggunakan konsep jarak dan jarak penggabungan yang dihasilkan oleh metode penggabungan yang digunakan. Nilai chopenetic adalah suatu ukuran kuantitatif yang digunakan untuk mengevaluasi kualitas hierarchical clustering, dihitung menggunakan fungsi cophenet berikut, c= ∑ (Y i 〈 j ij - y )(Zij - z ) ∑ i 〈 j (Yij - y )2 ∑ i 〈 j (Zij - z) (11) 2 Klastering dikatakan valid jika terdapat korelasi yang kuat antara kedua jarak tersebut. Dengan kata lain, suatu hasil hierarchical clustering dikatakan baik jika nilai copheneticnya mendekati angka 1(satu). 2.6 Penelitian Yang Relevan Saxena (2002) menggunakan aplikasi analisis klaster dengan pendekatan hierarchical clustering untuk menganalisis data mahasiswa aktif India Open University. Data penelitian memiliki 19 parameter yang kemudian dipisah kedalam empat data berdasarkan tipenya: binary, nominal, interval_1, dan interval_2. Hierarchical clustering digunakan untuk menganalisis keempat data dengan ukuran kemiripan/ketidakmiripan disesuaikan dengan masing-masing tipe data. Cross tabulations dilakukan terhadap hasil klastering keempat data untuk mendapatkan hasil akhir. Zengyou (2002) membandingkan dua algoritma klastering, k-prototype dan algCEBMDC, suatu algoritma klastering yang bekerja pada data dengan tipe campuran (kategori dan numerik), dan hasilnya menunjukkan bahwa algCEBMDC memiliki akurasi lebih baik dibandingkan k-prototype.