BAB II LANDASAN TEORI 2.1 DATA MINNING Data mining merupakan proses pengekstrakan informasi dari jumlah kumpulan data yang besar dengan menggunakan algoritma dan tehnik gambar dari statistik, mesin pembelajaran dan sistem manajemen database. Faktor penentu bagi bentuk usaha atau bisnis apapun pada masa sekarang ini adalah kemampuan untuk menggunakan informasi secara seefektif mungkin. Pengunaan data yang strategis ini bisa diakibatkan oleh kesempatankesempatan yang dihasilkan atau ditimbulkan karena penemuan fakta-fakta sangat berharga yang cukup sering, tersembunyi dan tidak terdeteksi sebelumnya mengenai konsumen, retailer dan supplier, tren tren bisnis, dan faktor faktor petunjuk yang lain (Berson, 1997). Menurut Kamber (2007) secara sederhana data mining mengacu kepada mengekstrak atau menambang pengetahuan dari sekumpulan besar data. Menambang dalam hal ini bukan diibaratkan sebagai menambang emas atau menambang pasir, tetapi lebih diibaratkan sebagai knowledge mining from data atau lebih ringkasnya menambang pengetahuan. Pengertian lain data mining juga dapat berarti prose untuk mempekerjakan satu atau lebih teknik pembelajaran terkomputerisasi untuk mengotomasi analisa dan mengekstrak pengetahuan dari data didalam database (Roger and Geatz, 2003). Secara sederhana, data mining dapat diartikan sebagai proses mengekstrak atau menggali pengetahuan yang ada pada sekumpulan data. Banyak orang yang setuju bahwa data mining adalah sinonim dari Knowledge- Discovery in Database atau yang biasa disebut KDD. Dari sudut pandang yang lain, data mining dianggap sebagai satu langkah yang penting didalam proses KDD. Menurut Han, J. and Kamber, M, 2001, proses KDD ini terdiri dari langkah-langkah sebagai berikut : a) Data Cleaning, proses menghapus data yang tidak konsisten dan kotor b) Data Integration, penggabungan beberapa sumber data c) Data Selection, pengambilan data yang akan dipakai dari sumber data
2 d) Data Mining, suatu proses yang penting dengan melibatkan metode untuk menghasilkan suatu pola data e) Pattern Evaluation, proses untuk menguji kebenaran dari pola data yang mewakili knowledge yang ada didalam data itu sendiri f) Knowledge Presentation, proses visualisasi dan teknik menyajikan knowledge digunakan untuk menampilkan knowledge hasil mining kepada user 2.2 CLUSTERING Cluster adalah suatu kumpulan dari entitas yang hampir sama (Everit, 1993). Pengertian lain menurut Kamber (2007), cluster adalah kumpulan dari objek yang mirip dengan objek lainnya dan berada pada kelompok yang sama. Sedangkan proses untuk mengelompokkan data baik itu bersifat fisik atau abstrak kedalam suatu kelompok atau kelas yang memiliki kesamaan sifat disebut clustering. Clustering dikategorikan kedalam teknik Undirect Knowledge atau Unsupervised Learning karena tidak membutuhkan proses pelatihan untuk klasifikasi awal data dalam masing-masing kelompok atau cluster. Tujuan utama clustering adalah untuk menemukan atau mencari pola yang bermanfaat atau berguna pada suatu database, kemudian merangkumnya dan membuat lebih mudah untuk dipahami. Dalam melakukan proses analisa terhadap cluster-cluster yang telah terbentuk dan pencarian pengetahuan dengan metode tertentu disebut cluster analyse (Kamber, 2007). TIPE CLUSTERING 1) Partitional vs Hierarchical Partitionalclustering adalah pembagian objek data kedalam subhimpunan (cluter) yang tidak overlap sedemikian hingga tiap objek data berada dalam tepat sub-himpunan. 2) Exclusive vs non-exclusive Exclusive adalah dimana Objek berada tepat di satu cluster. Sebaliknya dalam non-exclusivecluster, sebuah objek dapat berada dilebih dari satu cluster secara bersamaan. 3) Fuzzy vs non-fuzzy
3 Dalam fuzzy clustering, sebuah titik termasuk dalam setiap cluster dengan suatu nilai bobot antara 0 dan 1. Jumlah dari bobot bobot tersebut sama dengan 1 clustering probabilitas mempunyai karakteristik yang sama. 4) Partial vs complete Dalam completeclustering, setiap objek ditempatkan dalam sebuah cluster. Tetapi dalam partial clustering, tidak semua objek ditempatkan dalam sebuah cluster. Kemungkinan ada objek yang tidak tepat untuk ditempatkan disalah satu cluster, misalkan berupa outlier atau noise. b. Tipe Tipe Cluster Clustering bertujuan menemukan kelompok (cluster) objek yang berguan, dimana gunakanya bergantung dari tujuan analisa data. Secara visual ada beberapa tipe dari cluster, diantaranya : 1) Well-SeparatedCluster Sebuah cluster merupaka himpunan titik sedemikianrupa hingga tidak ada titik dalam sebuah cluster yang mendekati (atau lebih mirip) kesetiap titik lain dalam cluster yang tidak ditempati titik tersebut 2) Center-Based Himpuna dari objek objek sedemikian rupa hingga sebuah onjek dalam sebuah cluster medekati (lebih mirip) dengan pusat dari sebuah cluster dibandingkan dengan pusat cluster lain. Pusat dari sebuah cluster dapat berupa centroid, yaitu rata rata dari semua titik dalam cluster tersebut, atau medoid, merupaka representasi titik dari sebuah cluster. 3) Contiguous Cluster (Nearest neighbor atau Transitive) Dimana sebuah cluster merupakan himpuan titik sedemikian hingga sebuah titik dalam cluster mendekati (atau lebih serupa) dengan satu atau
4 lebih titik lain dalam cluster tersebut dibandingkan dengan titik yang tidak berada pada cluster tersebut. 4) Density-based Dimana sebuah cluster merupakan suatu daerah titik yang padat, yang dipisahkan oelh daerah kepadatan rendah (low-density), dari daerah kepadatan tinggi (high density) yang lain. Digunakan ketika cluster cluster tidak beraturan atau terjalin dan ketika terdapat noise dan outliner 2.3 K-Means K-means merupakan algoritma pengelompokan iterative yang melakukan partisi set data ke dalam sejumlah K cluster yang sudah ditetapkan di awal.algoritma kmeans sederhana untuk diimplementasikan dan dijalankan, relative cepat, mudah beradaptasi, umum penggunaannya dalam praktek secara historis, kmeans menjadi salah satu algoritma yang paling penting dalam bidang data mining (Wu dan Kumar, 2009). Metode ini mempartisi ke dalam cluster / kelompok sehingga data yang memiliki karakteristik yang sama (High intra class similarity) dikelompokkan ke dalam satu cluster yang sama dan yang memiliki karakteristik yang berbeda (Law inter class similarity) dikelompokkan pada kelompok yang lain [3]. Proses klustering dimulai dengan mengidentifikasi data yang akan dikluster, Xij (i=1,...,n; j=1,...,m) dengan n adalah jumlah data yang akan dikluster dan m adalah jumlah variabel. Pada awal iterasi, pusat setiap kluster ditetapkan secara bebas (sembarang), Ckj (k=1,...,k; j=1,...,m). Kemudian dihitung jarak antara setiap data dengan setiap pusat klus Zter. Untuk melakukan
5 penghitungan jarak data ke-i (xi) pada pusat kluster ke-k (ck), diberi nama (dik), dapat digunakan formula Euclidean [2] seperti pada persamaan (1), yaitu: Suatu data akan menjadi anggota dari kluster ke-k apabila jarak data tersebut ke pusat kluster ke-k bernilai paling kecil jika dibandingkan dengan jarak ke pusat kluster lainnya. Hal ini dapat dihitung dengan menggunakan persamaan (2) Selanjutnya, kelompokkan data-data yang menjadi anggota pada setiap kluster. Nilai pusat kluster yang baru dapat dihitung dengan cara mencari nilai ratarata dari data-data yang menjadi anggota pada kluster tersebut, dengan menggunakan rumus pada persamaan 3: Dimana xij kluster ke k p = banyaknya anggota kluster ke k Algoritma dasar dalam k-means adalah 1. Tentukan jumlah kluster (k), tetapkan pusat kluster sembarang. 2. Hitung jarak setiap data ke pusat kluster menggunakan persamaan (2.1). 3. Kelompokkan data ke dalam kluster yang dengan jarak yang paling pendek menggunakan persamaan (2.2). 4. Hitung pusat kluster yang baru menggunakan persamaan (2.3)
6 Mulai Menentukan banyaknya cluster k yang diinginkan Hitung Centroid Hitung jarak objek ke centroid ya Pengelompokan berdasarkan jarak terdekat Ada objek yang berpindah kelompok? tidak Selesai GAMBAR 1 Flowchart algoritma Clustering K-Means (Teknomo, 2006) Ulangi langkah 2 sampai dengan 4 hingga sudah tidak ada lagi data yang berpindah ke kluster yang lain. Contoh kasus : Dari banyak siswa diambil 12 siswa sebagai contoh untuk penerapan algoritma k- means dalam penjurusan siswa. Percobaan dilakukan dengan menggunakan parameter-parameter berikut : Jumlah cluster : 2 Jumlah data :12 Jumlah atribut : 8
7 TABEL 1 Data mahasiswa Geografi Sosiologi Akutansi Sejarah Biologi Kimia Fisika Matematika Nama NIS No 1 1011.001 Anis Fadilah 79 75 75 85 76 78 76 80 2 1011.002 Didik Mulyana 84 76 79 77 76 77 75 81 3 1011.003 Eka Dwi Utami 77 84 78 85 92 89 77 82 4 1011.004 Fandik Lasmana 78 86 84 77 78 77 75 75 5 1011.005 Putri Khadijah 82 82 81 91 90 82 79 91 6 1011.006 Lina Nur Aini 75 75 70 82 75 75 79 75 7 1011.007 Mahmudin Ali 77 75 75 89 80 80 75 75 8 1011.008 M.Roemly 77 76 70 77 77 80 75 80 9 1011.009 Misbahus Surur 79 76 75 84 77 81 76 77 10 1011.010 Putra Adi Wijaya 80 75 75 75 75 78 77 79 11 1011.011 Syarif Kurniawan 76 71 75 75 77 81 79 84 12 1011.012 Ananda Anugrah 80 77 75 78 78 77 77 80 Iterasi ke-1 1. Penentuan pusat awal cluster Untuk penentuan awal di asumsikan: Diambil data ke- 2 sebagai pusat Cluster Ke-1: (84, 76, 79, 77, 76, 77, 75, 81) Diambil data ke- 5 sebagai pusat Cluster Ke-2: (82, 82, 81, 91, 90, 82, 79, 91) 2. Perhitungan jarak pusat cluster Untuk mengukur jarak antara data dengan pusat cluster digunakan Euclidian distance, kemudian akan didapatkan matrik jarak sebagai berikut : Rumus Euclidian distance : d = x y =
8.x = pusat cluster y = data Sebagai contoh, perhitungan jarak dari data ke-1 terhadap pusat cluster adalah : Dan seterusnya dilanjutkan untuk data ke 2, 3, n Kemudian akan didapatkan matrik jarak sebagai berikut : D1 = TABEL 2 jarak data ke centroid (titik pusat) awal 1 2 3 4 5 6 7 8 9 10 11 12 10.4 0 24.1 14.1 24.02 15.6 16.4 11.8 11,1 6,8 12,2 6,5 C1 21.7 24.02 14.5 26.03 0 28.8 22.1 26.2 22,4 27,09 25,8 22,9 C2 Setiap kolom pada matrik menunjukkan nilai jarak data terhadap pusat cluster. Baris pertama pada matrik menunjukkan nilai jarak data terhadap titik pusat cluster pertama, baris kedua pada matrik menunjukkan nilai jarak data terhadap titik pusat cluster kedua dan seterusnya. Pengelompokkan data Jarak hasil perhitungan akan dilakukan perbandingan dan dipilih jarak terdekat antara data dengan pusat cluster, jarak ini menunjukkan bahwa data tersebut berada dalam satu kelompok dengan pusat cluster terdekat. Berikut ini akan ditampilkan data matriks pengelompokkan group, nilai 1 berarti data tersebut berada dalam group. G1 =
9 TABEL 3 Kelompok data hasil perhitungan pertama 1 2 3 4 5 6 7 8 9 10 11 12 1 1 0 1 0 1 1 1 1 1 1 1 C1 0 0 1 0 1 0 0 0 0 0 0 0 C2 Penentuan pusat cluster baru Setelah diketahui anggota tiap-tiap cluster kemudian pusat cluster baru dihitung berdasarkan data anggota tiap-tiap cluster sesuai dengan rumus pusat anggota cluster. Sehingga didapatkan perhitungan sebagai berikut : Karena C1 memiliki 10 anggota maka perhitungan cluster baru menjadi : C1= Karena C2 hanya mempunyai 2 anggota maka cluster baru menjadi : C2= C2 = (78.5; 76.2; 75.3; 79.9; 76.9; 78.4; 76.4; 78.6)
10 Iterasi Ke-2 Ulangi langkah ke 2 (kedua) hingga posisi data tidak mengalami perubahan. D2 = TABEL 4 jarak data ke centroid (titik pusat) 1 2 3 4 5 6 7 8 9 10 11 12 5,5 7,9 21,1 14,08 23,3 9 10,6 6,7 5,1 5,6 10 3,4 C2 20,5 22,9 7,2 23,13 7,2 26,6 19,5 23,3 19,8 24,9 23,8 21 C1 Langkah selanjutnya sama dengan langkah pada nomer 3 jarak hasil perhitungan akan dilakukan perbandingan dan dipilih jarak terdekat antara data dengan pusat cluster, jarak ini menunjukkan bahwa data tersebut berada dalam satu kelompok dengan pusat cluster terdekat. Berikut ini akan ditampilkan data matriks pengelompokkan group, nilai 1 berarti data tersebut berada dalam group. G2 = TABEL 5 kelompok data pada centroid (titik pusat) baru 1 2 3 4 5 6 7 8 9 10 11 12 1 1 0 1 0 1 1 1 1 1 1 1 C1 0 0 1 0 1 0 0 0 0 0 0 0 C2 Karena G2 = G1 memiliki anggota yang sama maka tidak perlu dilakukan iterasi / perulangan lagi. Hasil clustering telah mencapai stabil dan konvergen. 2.4 Flowcart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
11 Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman. Flow Direction symbol Yaitu simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain. Simbol ini disebut juga connecting line. Terminator Symbol Yaitu simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan Connector Symbol Yaitu simbol untuk keluar masuk atau penyambungan proses dalam lembar / halaman yang sama. Connector Symbol Yaitu simbol untuk keluar masuk atau penyambungan proses pada lembar / halaman yang berbeda. Processing Symbol Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer Simbol Manual Operation Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer Simbol Decision Simbol pemilihan proses berdasarkan kondisi yang ada. Simbol Input-Output Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya Simbol Manual Input Simbol untuk pemasukan data secara manual on-line keyboard
12 Simbol Preparation Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage. Simbol Predefine Proses Simbol untuk pelaksanaan suatu bagian (subprogram)/prosedure Simbol Display Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer dan sebagainya. Simbol disk and On-line Storage Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk. 2.5 Basis Data dan Sistem Manajemen Basis Data Database adalah sekumpulan data yang saling berelasi (Elmasri, 2000). Database didesain, dibuat, dan diisi dengan data untuk tujuan mendapatkan informasi tertentu. Pendekatan database memiliki beberapa keuntungan seperti keberadaan katalog, indepedensi program-data, mendukung view (tampilan) untuk banyak pengguna, dan sharing data pada sejumlah transaksi. Selain itu masih ada fleksibelitas, ketersediaan up-to-date informasi untuk semua pengguna, skala ekonomis. Kategori utama pengguna database terbagi menjadi empat kategori, yakni Administrator, Designer, End user, System Analyst dan Application Programmers. Administrator atau Data Base Administrator (DBA) bertanggung jawab pada otoritas akses database, koordinasi dan monitoring penggunaan, dan pemilihan perangkat keras dan lunak yang dibutuhkan. Designer bertanggung jawab pada identifikasi data yang disimpan dalam database dan memilih struktur yang tepat untuk menggambarkan dan menyimpan data. End User adalah orang yang kegiatannya membutuhkan akses ke database untuk melakukan query, update, dan membuat laporan. System Analysts menentukan kebutuhan End User. Application Programmers mengimplementasikan program sesuai spesifikasi.
13 2.6 Definisi Unified Modeling Language (UML) Menurut Widodo, (2011:6), UML adalah bahasa pemodelan standar yang memiliki sintak dan semantik. Menurut Nugroho (2010:6), UML (Unified Modeling Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma (berorientasi objek). Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa UML adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (Object Oriented programming). Menurut Henderi (2008:5), Berikut ini adalah definisi mengenai 5 diagram UML: 1) Use Case Diagram Use case diagram secara grafis menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Dengan kata lain use case diagram secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna (user) mengharapkan interaksi dengan sistem itu. Use case secara naratif digunakan untuk secara tekstual menggambarkan sekuensi langkahlangkah dari setiap interaksi. 2) Sequence Diagram Secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada sekuensi sebuah use case atau operasi. 3) Activity Diagram Secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis maupun use case. Activity diagram dapat juga digunakan untuk memodelkanaction yang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dariaction tersebut.