BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian Data dan informasi Data merupakan aliran fakta yang mewakili kejadian yang terjadi dalam organisasi atau dalam lingkungan fisik sebelum mereka diatur menjadi sebuah form yang dapat dimengerti dan digunakan oleh pengguna (Laudon,2000,p8). Informasi adalah data yang dikumpulkan dan dievaluasi untuk memecahkan suatu masalah atau membuat keputusan (Inmon,2002,p388). Informasi lebih berarti daripada data. informasi digunakan untuk membuat keputusan. Data digunakan sebagai masukkan (input) untuk pemprosesan dan informasi sebagai keluaran (output) dari pemprosesan tersebut. 2.1.2 Pengertian Metadata Metadata merupakan data dari sebuah data, atau biasa disebut juga deskripsi dari sebuah data yang dipergunakan untuk pengumpulan, penyimpanan, pembaharuan dan mendapat kembali data bisnis dan data teknikal yang berguna untuk organisasi (www.learndatamodeling.com), sedangkan menurut Ramon dan Pauline (1999,p3) metadata adalah informasi mengenai database. Informasi ini biasanya disimpan dalam sebuah kamus data (data dictionary) atau catalog. M etadata berisi keterangan mengenai data – data yang ada didalam database kita yang bertujuan untuk mempertahankan konsistensi penggunaan istilah dan lain – lain. 7 8 2.1.3 Pengertian Database M enurut Connolly dan Begg (2005,15) “Database is A shared collection of logically related data, and a description of this data, designed to meet the information needs of an organization ” yang dapat diartikan, Basis data (Database) adalah sebuah koleksi dari data yang secara logikal saling berelasi, dan deskripsi dari data tersebut, yang di desain untuk memenuhi kebutuhan informasi pada suatu organisasi. M enurut C. J Date (2000,p9) Database merupakan suatu kumpulan dari data yang bersifat tahan lama (persistent), yaitu data yang berbeda satu dengan yang lainnya, dan biasanya merupakan data yang bersifat sementara dimana kumpulan data tersebut dapat digunakan oleh sistem – sistem aplikasi perusahaan. Sedangkan menurut Inmon (2002, p388), “ a database is a collection of interrelated data stored (often with controlled, limited redudancy ) according to a schema ” yang dapat diartikan suatu database adalah sebuah koleksi dari data yang saling berelasi yang disimpan (sering kali dengan kontrol, dan pembatasan terhadap redudansi) sesuai dengan skema. Berdasarkan beberapa pengertian diatas, Database adalah kumpulan dari data yang saling berhubungan dan terintegrasi yang mana dapat digunakan untuk memenuhi kebutuhan informasi suatu organisasi 2.1.4 Pengertian Sistem Manajemen Database M enurut Connolly dan Begg (2005,p16), “Database Manajemen System (DBMS) is a software system that enables users to define, create, maintain, and 9 control access to the database”, yang dapat diartikan Sistem M anajemen Database adalah suatu sistem software yang memperbolehkan banyak pengguna untuk mendefinisikan, membuat, merawat, dan mengatur akses ke database. 2.1.5 Data warehouse M enurut Inmon (2002,p31), “Data warehouse is a subject oriented, integrated, time variant and non volatile collection of data in support of management’s decision making process”, yang dapat diartikan “Data warehouse adalah kumpulan data yang berorientasi subjek, terintegrasi, berdasarkan waktu dan tidak mengalami perubahan dalam mendukung proses pengambilan keputusan management”. Data warehouse merupakan tempat penyimpanan untuk ringkasan dari data historis yang diambil dari database - database yang tersebar disuatu organisasi. Data warehouse mengumpulkan semua data perusahaan dalam satu tempat agar dapat diperoleh pandangan yang lebih baik dari suatu proses bisnis/kerja dan meningkatkan kinerja organisasi. Data warehouse mendukung proses pembuatan keputusan management. Tujuan utama dari pembuatan Data warehouse adalah untuk menyatukan data yang beragam ke dalam sebuah tempat penyimpanan dimana pengguna dapat dengan mudah menjalankan query (pencarian data), menghasilkan laporan, dan melakukan analisis. 10 Gambar 2.1 Proses Data Warehouse M enurut Inmon (2002, p31 – p38) karakteristik data warehouse dapat di jabarkan sebagai berikut : 1. Subject Oriented atau berorientasi pada subjek. Suatu data warehouse harus berorientasi subject atau berorientasi pada subyeknya. Suatu data transaksi (OLTP) biasanya disusun berdasarkan jenis transaksi yang ditangani oleh aplikasi transaksi tertentu. Sebagai contoh transaksi penarikan dan penyimpanan dana. Pada setiap transaksi teller akan memasukkan data utama dan pendukungnya seperti nomor rekening, nilai transaksi dan tanggal. Subject oriented (lawan dari transaction oriented) menuntut agar data – data transaksi ini disusun dengan menyusun subyek areanya. M isalnya dalam hal data perbankan, subjek areanya adalah nasabah, jenis transaksi, wilayah, kantor cabang. M enyusun data menjadi subject oriented artinya memastikan bahwa data tersebut akan dengan mudah disajikan berdasarkan subyek areanya. 11 2. Time – variant, artinya memiliki dimensi waktu sebagai variablenya. Perubahan data ditelusuri dan dicatat sehingga laporan dapat dibuat dengan menunjukkan waktu perubahannya. Sebagai contoh, apa artinya mengatakan suatu kantor berhasil menjual 1500 items, tanpa dimensi waktu informasi tersebut menjadi tidak berarti. Aspek time – variant dari suatu data warehouse memberikan kemampuan dalam bentuk trend analysis sehingga dapat melihat performance ataupun forecasting. Aspek time – variant membuat suatu data warehouse menjadi sangat berarti untuk dianalisis. 3. Non Volatile berarti bahwa data yang telah disimpan tidak dapat berubah. Sekali committed, data tidak pernah ditimpa/dihapus. Data akan bersifat static, hanya dapat dibaca dan disimpan untuk kebutuhan pelaporan. 4. Integrated, artinya menggabungkan beberapa database yang mungkin berbeda baik dari segi teknologi maupun kodifikasi suatu tabel referensinya. Untuk menghasilkan subject oriented yang konsisten, data – data dari berbagai sumber harus diintegrasikan yang berarti teknologi yang beragam dan kode – kode referensi yang mungkin berbeda harus disatukan. 2.1.6 Data Mart M enurut Connolly dan Begg (2005, p1171) , “ Data mart is a subset of a data warehouse that supports the requirement of a particular department or business function” yang dapat diartikan Data mart adalah suatu subset atau bagian dari suatu data warehouse yang mendukung persyaratan atau ketentuan suatu departemen khusus atau fungsi bisnis. Ada beberapa karakteristik yang 12 membedakan data mart dengan data warehouse (Connolly dan Begg, 2005, p1171) : • Data mart hanya berfokus pada kebutuhan pengguna yang berhubungan dengan satu departemen atau satu fungsi bisnis. • Data mart biasanya tidak mengandung data operasional yang detail seperti data warehouse. • Karena data mart mempunyai data yang lebih sedikit dibandingkan dengan data warehouse, data mart lebih mudah untuk dimengerti dan dijalankan. Terdapat beberapa alasan untuk membuat data mart (Connolly dan Begg, 2005, p1173) : • Untuk memberikan akses ke data yang paling sering dianalisa oleh user. • M enyediakan data dalam bentuk yang sesuai dengan kebutuhan sekelompok user dalam sebuah departemen atau fungsi bisnis. • M eningkatkan waktu respon end-user karena pengurangan jumlah data yang akan diakses. • M enyediakan data yang terstruktur sesuai seperti yang ada pada ketentuan dari alat akses end-user yang mungkin membutuhkan struktur basis data internal sendiri. • Biaya implementasi data martbiasanya lebih murah dari biaya yang diperlukan untuk membangun data warehouse. 13 Gambar 2.2 Arsitektur data warehouse dan data mart (Connolly dan Begg,2005,p1172) 2.1.7 Pengertian OLTP (OnLine Transaction Processing) OLTP adalah sistem operasional yang didasarkan pada proses dan fungsi, seperti entry pemesanan pelanggan, order pembelian, entry stok, dan lain-lain. Sistem operasional ini mengakses dan meng-update record dari suatu objek bisnis. Transaksi umumnya telah didefinisikan terlebih dahulu dan memerlukan database yang dapat diakses dengan cepat. M enurut Connolly dan Begg (2005, p1153) Sistem OLTP adalah sistem yang dioptimasikan untuk menangani jumlah transaksi yang besar dimana 14 transaksi bersifat predictable, berulang, dan update insentive. Data dalam OLTP diorganisasikan berdasarkan kebutuhan dari transaksi yang diasosiasikan dengan aplikasi bisnis dan mendukung keputusan sehari-hari dari banyak user secara bersamaan. Database operasional pada sistem OLTP biasanya menggunakan database yang memang khusus dirancang untuk mempercepat proses transaksi dan manipulasi data seperti inserting, deleting, dan updating data. Oleh karena itu model data OLTP biasanya menggunakan model relational. 2.1.8 Data mining M enurut Connolly dan Begg (2005,p1233) data mining adalah proses ekstraksi informasi yang valid, tidak diketahui sebelumnya, dapat dipahami, dan actionable dari database yang besar sehingga dapat digunakan untuk pengambilan keputusan yang krusial. M enurut Han dan Kamber (2006,p7) data mining adalah proses menemukan pengetahuan yang menarik dari sejumlah besar data yang tersimpan dalam database, data warehouse, atau respositori penyimpanan data dan informasi lainnya. Arsitektur data mining pada umumnya meliputi hal berikut (Han dan Kamber,2006,pp7-8): 1. Database, datawarehouse, data mart, World wide web, ataupun tempat penyimpanan lainnya: Ini merupakan sebuah atau kumpulan dari database, datawarehouse, spreadsheets, atau tempat penyimpanan lain yang digunakan 15 sebagai sumber data mentah untuk data mining. Teknik Data cleaning ataupun data integration mungkin diperlukan untuk mempersiapkan data. 2. Database atau data warehouse server: Database atau data warehouse server bertanggung jawab untuk mengambil (fetch) data yang relevan dari tempat data disimpan berdasarkan permintaan user. 3. Knowledge base: Ini merupakan domain knowledge yang digunakan untuk memandu pencarian atau mengevaluasi seberapa menarik hasil dari proses mining. Pengetahuan tersebut dapat meliputi konsep hirarki, yang digunakan untuk mengorganisasikan atribut atau nilai atribut ke dalam level abstraksi yang berbeda. Contoh pengetahuan lain seperti konstrain, threshold, ataupun metadata. 4. Data mining engine: Bagian ini merupakan bagian yang esensial bagi untuk sistem data mining dan idealnya terdiri dari sekumpulan modul fungsi untuk tugas-tugas data mining seperti karakterisasi, asosiasi dan korelasi, classification, prediction, clustering, outlier analysis, ataupun evolution anlysis. 5. Pattern evaluation module: M odul ini berinteraksi dengan modul data mining engine untuk memfokuskan pencarian terhadap pola yang menarik. M odul ini dapat menggunakan interestingness threshold untuk melakukan filter terhadap pola yang menarik. Alternatif lain pattern evaluation module dapat diintegrasikan dengan dengan modul data mining engine. 6. User interface: M odul ini mengkomunikasikan antara user dengan sistem data mining, mengijinkan user berinteraksi dengan sistem dengan menspesifikasikan query atau tugas. Komponen ini mengijinkan user untuk menjelajah database 16 dan datawarehouse atau struktur data, mengevaluasi pola yang telah di mining, dan memvisualisasikan pola dalam format yang diinginkan. Gambar 2.3Arsitektur Sistem Data mining 2.1.8.1 Teknik Data mining Teknik data mining berhubungan dengan penemuan dan pembelajaran informasi dari database yang besar, pembelajaran tersebut dapat dibagi menjadi dua metode utama, yaitu supervised dan unsupervised (Berson dan Smith, 1997, p416): 1. Supervised Teknik ini melibatkan tahap pelatihan dimana data lama yang telah memiliki class label yang telah diketahui terlebih dahulu untuk diberikan 17 pada algoritma data mining. Proses ini melatih algrotima yang digunakan untuk mengenali variabel dan nilai-nilai kunci, yang kemudian menjadi dasar untuk membuat prediksi ketika membaca data baru. 2. Unsupervised Teknik ini tidak melibatkan tahap pelatihan, tetapi bergantung pada penggunaan algoritma yang mendeteksi semua bentuk asosiasi dan rangkaian yang terjadi berdasarkan kriteria yang spesifik dalam data masukkan. Pendekatan ini membawa ke generasi yang menghasilkan peraturan-peraturan dalam data yang menggolongkan penemuan asosiasi, cluster, dan segment. Peraturan ini kemudian akan melakukan penganalisaan untuk menentukan mana yang memiliki ketertarikan secara universal. 2.1.8.2 Fungsionalitas Data mining Fungsionalitas data mining digunakan untuk menspesifikasikan tipe pola (patterns) yang dapat ditemukan dalam tugas data mining. Secara umum, tugas data mining dapat diklasifikasikan menjadi 2(Han dan Kamber,2006,pp21): 1. Descriptive mining: mengkarakterisisasikan properti umum pada data dalam database. 2. Predictive mining: membuat kesimpulan pada data yang telah ada dengan tujuan untuk dapat membuat prediksi. Berikut fungsionalitas dan tipe pola yang dapat ditemukan dengan data mining (Han dan Kamber,2006,pp21-27) 18 1. Deskripsi konsep/kelas: Karakterisasi dan diskriminasi Data dapat diasosiasikan dengan suatu kelas atau konsep. Contoh: Sebuah toko elektronik dapat membuat kelas/jenis item seperti komputer, printer, dan konsep untuk konsumen seperti bigspenders dan budgetspenders. M erupakan hal yang bermanfaat untuk mendeskripsikan masing-masing kelas dan konsep dalam bentuk yang ringkas tapi tepat. Deskripsi dari kelas atau konsep tersebut disebut dengan deskripsi kelas/konsep. Deskripsi ini dapat didapatkan melalui karakterisasi data dengan meringkas data-data dari kelas (sering disebut target kelas) dalam pemebelajaran seacara umum, atau data discrimintation dengan membandingkan target kelas dengan satu atau lebih kelas lain. Contoh Data Characterization dalam data mining adalah sistem data mining dapat menghasilkan deskripsi yang meringkas karakteristik dari konsumen yang membelanjakan uangnya lebih dari $1000 setiap tahun. Hasilnya dapat berupa profil umum dari konsumen seperti, konsumen berumur 40-50 tahun, memiliki pekerjaan, dan memiliki peringkat credit yang baik. 2. Mining frequent pattern, asosiasi dan korelasi Frequent Pattern sesuai namanya adalah pola yang sering muncul dalam data. Ada beberapa tipe dari frequent patterns, seperti itemsets, subsequences, dan substructures. Frequent itemset menunjukkan item yang sering muncul bersamaan dalam data set. Subsequence berarti suatu kejadian yang muncul berurutan. Contoh: konsumen cenderung membeli 19 PC terlebih dahulu diikuti digital camera, kemudian kartu memori. Mining frequent pattern dapat membawa pada penemuan asosiasi dan korelasi yang menarik dalam data. 3. Classification and Prediction Classification adalah proses menemukan model (atau fungsi) yang mendeskrpisikan dan membedakan kelas dari data, dengan tujuan untuk dapat menggunakan model untuk memprediksikan kelas dari data input yang mana label kelasnya tidak diketahui. M odel yang didapat adalah berdasarkan analisis dari training data dimana pada training data label kelas telah diketahui. Dalam classification ada nilai atribut yang hendak diprediksi yaitu target atribut berupa class label. Target atribut ini merupakan atribut yang dependen terhadap attribute vector. Dalam beberapa literarur attribute vector disebut juga dengan feature, explanatory variables, atau atribut predictor. 20 Gambar 2.4 Representasi M odel Classification M odel yang didapat dapat direpresentasikan dalam berbagai bentuk seperti aturan klasifikasi (IF-THEN), decision tree, formula matematik, atau neural networks. Decision tree merupakan struktur yang menyerupai pohon, dimana setiap node menunjukkan suatu test tertentu pada nilai atribut, dan setiap percabangan merepresentasikan hasil dari tes, dan tree leaves (daun) merepresentasikan kelas atau distribusi kelas. Desicion tree dapat dengan mudah di ubah menjadi aturan klasifikasi (IF-THEN). Neural Network, ketika digunakan untuk klasifikasi, biasanya merupakan koleksi dari unit proses yang menyerupai neuron dengan nilai koneksi antar unit. Ada banyak algoritma yang dapat digunakan untuk mengkonstruksi model klasifikasi seperti Naïve Bayes, Support Vector Machine (SVM), Decision tree. Jika klasifiksasi memprediksikan nilai categorical (discrete, dan tidak terurut) label, maka Predictions memodelkan nilai continue. Predictions 21 digunakan untuk memperikirakan nilai suatu data numerik.Regression merupakan metodologi statistikal yang sering digunakan untuk memperkirakan nilai numerik. Klasifikasi dan prediksi dapat didahului dengan relevance analysis. Relevance Analysis mengukur tingkat keterkaitan atribut-atribut yang digunakan terhadap label kelas yang hendak diprediksi. Hasil dariRelevance Analysis dapat digunakan untuk mengurangi atribut input dalam proses data mining dengan menghilangkan atribut-atribut yang tidak relevan. 4. Clustering Clustering termasuk dalam kategori unsupervised mining. Berbeda dengan classifications dan prediction yang memerlukan pelatihan terlebih dahulu dengan menganalisa objek data yang telah memiliki label kelas, clustering menganalisa objek data tanpa mengetahui label kelas. Clustering merupakan proses grouping sebuah set objek fisik atau abstrak dalam kelaskelas. Algoritma yang sering digunakan untuk clustering adalah k-means dan k-medoids. Umumnya, label kelas tidak ada dalam data training karena memang tidak diketahui tetapi sebaliknya Clustering dapat digunakan untuk menghasilkan label. Objek di cluster dan di masukkan dalam grup berdasarkan prinsip “maximizing the intraclass similarity and minimizing the interclass similarity”. Yang berarti objek cluster dibentuk sehingga objek yang berada dalam cluster yang sama memiliki tingkat kesamaan 22 yang tinggi satu sama lain, tetapi sangat berbeda dengan objek di cluster lain. Clustering sering juga disebut segmentasi data karena clustering mempartisi data set yang besar ke dalam grup sesuai dengan kesamaannya. Clustering dapat digunakan untuk outlier detection, dimana outliers adalah suatu nilai yang jauh dari semua cluster lain. 5. Analisis Outlier Database dapat mengandung objek data yang tidak sesuai dengan sifat umum atau model data.Objek data tersebut disebut sebagai outlier. Kebanyakan metode data mining menghapus outlier karena diaggap noise atau perkecualian.Tetapi, beberapa aplikasi seperti fraud detection, kejadian seperti outlier tersebut dapat bermanfaat. Analisis data outlier disebut juga outlier mining. Outliers dapat dideteksi dengan menggunakan tes statistik yang mengasumsikan distribusi atau probabilitas model dari data, dengan menggunakan distance measures dimana objek yang memiliki jarak yang jauh dari cluster-cluster lainnya dianggap outlier atau anomali. 6. Analisis evolusi Data evolution analysis mendeskripsikan dan memodelkan tren untuk objek yang sifatnya berubah dari waktu ke waktu. Analisis evolusi dapat meliputi karakterisasi, dicriminasi, asosiasi dan korelasi, klasifikas i, prediksi, atau clustering data yang berhubungan dengan waktu. 23 2.1.9 Knowledge Discovery from Data (KDD) dan Data mining Gambar 2.5 Proses Knowledge Discovery from Data Banyak orang menganggap data mining merupakan sinonim untuk istilah Knowledge Discover from Data atau KDD. Beberapa ada yang menganggap data mining hanya merupakan salah satu langkah penting dari proses knowledge 24 discovery. Proses dari KDD ditunjukkan seperti pada gambar 2.5 dan terdiri dari proses iterative langkah-langkah berikut: 1. Data cleaning (untuk menghilangkan noise dan ketidak konsistenan dalam data) 2. Data integration (dimana beberapa sumber data dikombinasikan) 3. Data selection (ketika data yang relevan terhadap tugas diambil dari tempat penyimpanan data) 4. Data tranformation( data ditranformasikan dan dikonsolidasikan dalam bentuk yang sesuai untuk mining) 5. Data mining( merupakan proses utama dimana metode intelligent diaplikasikan untuk mengekstraksi pola data) 6. Pattern evaluation (untuk mengidentifikasi pola yang benar-benar menarik yang merepresentasikan pengetahuan berdasarkan interestingness measures) 7. Knowledge presentation (dimana visualisasi dan pengetahuan di representasikan kepada pengguna) Langkah 1-4 merupakan bentuk lain dari data preprocessing, dimana data dipersiapkan untuk mining. Langkah data mining dapat berinteraksi dengan pengguna atau knowledge base. Pola yang menarik kemudian ditampilkan pada pengguna dan dapat disimpan sebagai pengetahuan baru dalam knowledge base. M enurut sudut pandang ini, data mining hanyalah salah satu proses dari keseluruhan proses yang ada. M eskipun demikian saat ini istilah data mining lebih populer dibanding dengan KDD dan sering kali disamakan artinya dengan KDD. (Han dan Kamber,2006,p7). 25 2.1.10 Data Preprocessing Database sekarang ini sangat rentan terhadap noisy, missing dan data yang inkonsisten karena banyaknya dan beragamnya sumber data. Kualitas data yang buruk akan mengakibatkan hasil mining yang buruk. Untuk itu diperlukan suatu persiapan agar data dalam database dapat digunakan untuk proses data mining (Han dan Kamber,2006,pp47-97). 2.1.10.1 Data Cleaning Data dalam kehidupan nyata sering kali tidak lengkap, noisy, dan inkonsisten. Data Cleaning berusaha untuk mengatasi masalah dalam data seperti missing values, memperhalus noise serta mengidentifikasi outliers, dan membenarkan data yang tidak konsisten. Ada beberapa cara untuk mengatasi masalah missing value dalam data: 1. M engabaikan record: cara ini biasa dilakukan ketika class label missing (jika mining melibatkan classfication). M etode ini tidak efektif, kecuali record hanya mengandung beberapa atribut dengan missing value. Dengan cara ini reocord yang tidak memiliki missing values tidak disertakan dalam proses data mining 2. M engisi missing value secara manual: Secara umum pendekatan ini memakan waktu dan sulit untuk dilakukan bila data set besar dan banyak missing values. 3. M enggunakan global konstan untuk mengisi missing value: M engubah semua missing attribute value dengan konstan yang sama, seperti contohya label “Unknown”. M etode ini tidak bagus karena program mining dapat 26 salah mengartikan nilai dan dianggap membentuk konsep yang menarik, karena mereka semua memiliki nilai yang sama. M etode ini sederhana tetapi tidak aman. 4. M enggunakan atribut mean untuk mengisi missing value: contoh jika ratarata pendapatan konsumen adalah $56000. M aka nilai ini digunakan untuk menggantikan missing value untuk pendapatan. 5. M enggunakan atribut mean untuk semua sampel yang berada dalam kelas yang sama dengan record: Contoh jika mengklasifikasikan konsumen berdasarkan credit_risk dan atribut pendapatan mengandung missing value, ganti missing value dengan rata-rata pendapatan untuk konsumen yang berada dalam kategori credit_ risk yang sama. 6. M engunakan teknik data mining untuk memprediksikan nilai yang paling mungkin untuk mengisi missing value: Hal ini dapat dilakukan dengan regresi, atau induksi Decision treeataupun metode data mining predictive lainnya. Contoh: M enggunakan atribut-atribut konsumen yang ada dalam data set, dikonstruksi sebuah model Decision treeuntuk memprediksikan missing value untuk atribut pendapatan. M etode 3 sampai 6 membuat prediksi terhadap data. Nilai yang diisikan belum tentu benar. M etode 6 merupakan cara yang lebih populer bila dibandingkan dengan metode lain, cara ini menggunakan banyak informasi yang merepresentasikan data untuk memprediksikan nilai yang hilang. Untuk beberapa kasus, missing value mungkin bukan menunjukkan kesalahan pada data. Contoh, ketika hendak membuat credit card, kandidat 27 dapat ditanyakan mengenai nomor izin mengemudi.Kandidat yang tidak memiliki nomor izin mengemudi dapat secara natural membuat field tidak terisi. Selain missing value, data dapat mengandung noise. Noise adalah random error atau variance dalam variabel yang diukur. M etode yang dapat digunakan untuk mengatasi masalah ini adalah: 1. Binning M etode binning biasa digunakan untuk data numerik dengan mengurutkan nilai data dan melihat data yang berdekatan nilainya. Nilai yang diurutkan di distribusikan ke dalam beberapa “buckets” atau bin tergantung dari metode binning yang digunakan. 2. Regressi Nilai suatu data dapat diperhalus dengan memasukkan data ke dalam suatu fungsi seperti regresi. Linear regression melibatkan penemuan garis terbaik untuk mencocokkan dua atribut atau variabel, sehingga sebuah atribut dapat digunakan untuk memprediksikan atribut lainnya. Multiple linear regression merupakan ekstensi dari linear regression dimana dua atau lebih atribut terlibat. 3. Clustering Clustering dapat digunakan untuk mendeteksi outlier. Dengan clustering nilai atribut yang sama atau mirip diorganisasikan ke dalam grup atau cluster. Nilai yang berada di luar dari cluster dapat dianggap outliers. 28 Banyak metode untuk data smoothing juga digunakan untuk data reduction yang melibatkan discretization.Contohnya teknik binning juga dapat digunakan untuk mengurangi distinct value untuk setiap atribut. 2.1.10.2 Integrasi dan Transformasi Data. Data mining sering kali membutuhkan integrasi data, menyatukan data dari berbagai data stores. Data mungkin juga perlu untuk di transformasikan ke dalam bentuk tertentu yang cocok untuk mining. M asalah dalam integrasi dapat meliputi entity indetification problem ataupun data redudansi. Dalam transformasi data. Data di ubah dan disatukan ke dalam bentuk yang sesuai untuk mining. Data transformation dapat meliputi: 1. Smoothing, berguna untuk menghilangkan noise dari data. Hal ini dapat dilakukan dengan binning, regression, ataupun clustering. 2. Aggregation, dimana ringkasan atau operasi agregasi dilakukan pada data. 3. Generalisasi data, dimana data primitif digantikan dengan konsep yang lebih tinggi dengan menggunakan konsep hirarki. Contoh: atribut categorical seperti jalan dapat di generalisasi ke dalam konsep yang lebih tinggi seperti kota atau negara. Hal ini juga dapat dilakukan pada atribut numerik, seperti umur, dapat di generalisasi menjadi youth, middle-age, senior. 4. Normaliasi, atribut data di skalakan sehingga masukan ke dalam range tertentu seperti -1.0 sampai 10.0 , atau 0.0 sampai 1.0 5. Attribute Construction, dimana atribut baru dikonstruksi dan ditambahkan untuk membantu proses mining. 29 2.1.10.3 Reduksi Data Analisis data dan mining pada data yang sangat besar dapat membutuhkan waktu yang sangat lama, membuat proses mining sulit dilakukan. Teknik data reduksi dapat diaplikasikan untuk mendapatkan representasi data set yang diperkecil dalam volume, tetapi tetap menjaga integritas dari data original. Mining pada data yang telah di reduksi lebih efisien tetapi tetap memproduksi hasil analisis yang sama atau mendekati. Strategi data reduksi dapat meliputi: 1. Agregasi data cube, dimana operasi agregasi diaplikasikan pada data dalam pengkonstruksian data cube 2. Seleksi subset atribut, dimana atribut atau dimensi yang tidak relevan, lemah, atau redundan dideteksi dan dibuang. 3. Numerosity reduction, dimana data di gantikan atau diestimasi dengan data representasi alternatif yang lebih kecil seperti parametrics model (yang hanya perlu menyimpan model parameter, bukan data aktual) atau metode nonparametric seperti clustering, sampling, dan menggunakan histogram 4. Discretization dan pembuatan konsep hirarki. M erupakan metode dimana nilai mentah dari atribut data digantikan oleh range atau level konsep yang lebih besar. Contoh teknik untuk discretization adalah binning. Dataset yang digunakan untuk analisis mungkin mengandung ratusan atribut, yang mana banyak diantaranya tidak relevan untuk tugas mining ataupun redundan. Contoh: Jika dalam kasus toko elektronik, persoalannya adalah mengklasifikasikan apakah konsumen akan membeli cd yang baru 30 dirilis, atribut seperti nomor telepon konsumen merupakan hal yang tidak relevan, tidak seperti atribut umur ataupun selera. Atribut subset selection mengurangi jumlah data set dengan membuang atribut yang tidak relevan atau redundan. Tujuan dari atribut susbet selection adalah menemukan jumlah atribut yang minimum dimana kemungkinan distribusi hasil dari kelas data sedekat mungkin dengan original distribution yang didapat dengan menggunakan seluruh atribut. Mining pada atribut yang telah direduksi dapat mempercepat proses mining dan mengurangi jumlah atribut yang muncul pada pola yang ditemukan sehingga lebih mudah dimengerti. Sampling data dapat digunakan sebagai teknik reduksi data karena sampling mengijinkan dataset yang besar untuk direpresentasikan dengan jumlah yang lebih kecil melalui subset dari keseluruhan data. Sebagai contoh misalnya ada sebuah dataset yang besar,D, memiliki N record. Cara yang dapat dilakukan untuk mereduksi D dengan sampling meliputi (Han, jiawei dan Kamber, 2006, pp84-86): 1. Simple Random Sample Without Replacement (SRSWOR) dengan ukuran s: Sampel ini dibuat dengan mengambil beberapa record s dari D (s < N), dimana kemungkinan mengambil record sembarang dalam D adalah 1/N, semua record memiliki peluang untuk di sampel yang sama. Data yang sudah disampel tidak dapat disampel kembali dalam proses yang sama. 2. Simple Random Sample With Replacement (SRSWR) dengan ukuran s: Sama dengan SRSWOR, tetapi setiap kali record diambil dari D, record 31 dicatat dan kemudian dikembalikan. Berarti setelah record diambil, record diletakkan kembali di pada dataset D sehingga dapat memiliki peluang diambil lagi. Gambar 2.6 Simple Random Sample With/Without Replacment 3. Cluster sample: jika record dalam D di grupkan ke dalam M cluster. M aka SRS untuk s cluster dapat diambil dimana s < M . Contoh: record pada databasebiasanyadi ambil per halaman setiap waktu, apabila setiap page dianggap sebagai cluster maka representasi data yang direduksi dapat didapat dengan misalnya menggunakan SRSWOR pada masing-masing page untuk menghasilkan sampel cluster sejumlah s. Gambar 2.7Cluster Sample 32 4. Stratified sample: jika D dibagi menjadi beberapa bagian yang disebut dengan strata atau stratum, stratified sampledari D didapat dengan menggunakan SRS untuk setiap stratum yang ada. Hal ini memastikan adanya sampel representatif untuk setiap stratum. Contoh: stratified sample dapat didapat dari data konsumen, dimana stratum dibuat untuk setiap umur konsumen. Dengan cara ini stratum umur yang paling kecil sekalipun jumlah anggotanya dapat dipastikan memiliki representasi dalam sampel. Gambar 2.8 Stratified Sample Binning merupakan top-down splitting technique yang didasarkan pada jumlah bin. Binning mengelompokkan nilai yang saling berelasi dalam sebuah bin, yang mana memperkecil jumlah nilai yang berbeda dari atributBeberapa metode yang dapat digunakan untuk mendapatkan batasan tiap bin (Oracle,2005,p2-5; Witten dan Frank,2005,p298). : 33 1. Equal-interval binning: Biasa digunakan untuk melakukan bin pada nilai numerik. Untuk atribut numerik dapat ditemukan nilai minimal dan maximum. Kemudian dari range minimal dan maximum tersebut dapat dibagi ke dalam N bin berukuran d, dimana d=(max-min)/N. Sehingga bin 1 adalah [min,min+d], bin 2 adalah [min+d,min+2d], dan bin ke N adalah [min+(N-1)*d,max], metode ini menggunakan interval yang sama untuk setiap bin. Equal-interval binning dapat mendistribusikan data secara tidak merata, beberapa bin dapat mengandung banyak data sedangkan bin lainnya kosong atau sedikit. equal-interval binningdapat menghasilkan bin yang kosong bila ada outlier. 2. Equal-frequencybinning: teknik binning ini dapat membuat bin dengan interval yang berbeda pada setiap bin sehingga mengijinkan jumlah record training yang sama pada masing-masing bin yang dihasilkan. 3. Top-N most frequent binning: Dapat digunakan pada data numerik ataupun categorical. Definisi bin dihitung dari frekuensi nilai yang mucul dalam data. Bila didefinisikan N bin, maka bin 1 adalah nilai yang paling sering muncul, bin 2 adalah nilai yang kedua paling sering muncul, dan Bin N adalah semua nilai sisanya. Contoh penggunaan Binning adalah Nilai atribut dapat di discretized dengan mengaplikasikan equal-interval ataupun metode binning lainnya, dan kemudian menggantikan nilai setiap bin dengan mean atau median. Binning tidak menggunakan informasi kelas dan karena itu termasuk dalam teknik 34 unsupervised dicretization. Bin juga sensitif terhadap jumlah bin yang dispesifikasikan oleh user serta keberadaan outliers. 2.1.11 Classification Classification merupakan bentuk dari analisis data yang digunakan untuk menghasilkan suatu model yang mendeskripsikan kelas data untuk memprediksi kelas untuk data baru. Classification memprediksi suatu nilai categorical yaitu nilai yang tidak memiliki urutan, dan discrete berdasarkan vector attribute. Algoritma yang dapat digunakan untuk classification antara lain adalah naïve bayes, decision tree, dan support vector machine. 35 Gambar 2.9 Contoh Classification Classification terdiri dari 2 proses (Han dan Kamber,2006,pp285-288) yaitu tahap pembelajaran (gambar 2.9a) dan classification (gambar 2.9b). Pada tahap pertama, classifier (model prediktif yang memprediksi nilai kelas categorical) dibuat untuk mendeskripsikan kelas data yang sebelumnya telah didefinisikan. Tahap pembelajaran ini adalah tahap dimana algoritma classification membuat 36 model prediktif dengan mempelajari training set yang terdiri dari record databas e dan label kelas. Sebuah record X, direpresentasikan dengan n-dimensi vector attribute, X=( , ,..., , ,…, ) dimana , … merupakan nilai dari atribut .Setiap record, X, diasumsikan tergabung ke dalam sebuah kelas yang telah didefinisikan sebelumnya melalui atribut database lainnya yang disebut sebagai class label attribute. Class label attribute merupakan suatu nilai discrete dan tidak memiliki urutan. Nilai class label attribute adalah categorical dimana setiap nilai yang mungkin berfungsi sebagai kategori atau kelas. Karena setiap class label pada setiap record training telah diketahui, tahap ini disebut juga supervised learning. M aksudnya supervised adalah proses pemebalajaran dari classifier diawasi, dikontrol (supervised) dimana classifier diberitahu pada kelas mana sebuah record training tergabung. Hal ini berlawanan dengan unsupervised learning dimana class label tidak diketahui, dan jumlah class yang dipelajari tidak diketahui sebelumnya. Tahap pertama dari proses classification dapat disebut sebagai pembelajaran fungsi, y=f(X), yang dapat memprediksikan class label y jika diberikan record X. Classification berusaha mempelajari fungsi atau mapping yang memisahkan kelas data. Tahap kedua dari proses classification adalah mengetes model dimana model digunakan untuk classification. Tahap kedua ini bertujuan untuk mengukur keakuratan dari classifier.Input data untuk tes ini sebaiknya tidak menggunakan data yang sama dengan training set. Hasil tes classifier dengan menggunakan data yang sama dengan data training bukan merupakan indikator yang baik terhadap 37 performa classifier. Hal ini dikarenakan classifier dibuat dengan data yang sama pada saat tes sehingga estimasi performa yang dihasilkan adalah optimistis. Hasil evaluasi error rate dari data training disebut juga resubstitution error. classifier cenderung untuk overfit data tersebut karena dalam tahap learning classifier mungkin memasukkan beberapa anomali dalam data training yang tidak ada pada data umum secara keseluruhan. Oleh karena itu, test set yang digunakan dibentuk dari record-record yang berbeda dari training set yang mana record tidak digunakan untuk memebentuk classifier. (Witten dan Frank, 2005, p145) Beberapa langkah preprocessing berikut mungkin perlu diaplikasikan pada data untuk membantu meningkatkan akurasi, efisiensi, dan skalabilitas dari proses classification (Han dan Kamber, 2006, pp289-290) : 1. Data Cleaning: M erujuk pada preprocessing data untuk membuang atau mengurangi noise dan missing values. M eskipun kebanyakan algoritma classification memiliki mekanisme untuk menangani data noise atau missing value, langkah ini dapat membantu mengurangi kebingungan selama learning. 2. Relevance Analysis: Banyak atribut pada data yang redundan. Correlation analysis dapat digunakan untuk mengidentifikasikan apakah atribut satu dengan lainnya berelasi. Contoh, korelasi yang sangat kuat antara dan dapat menunjukkan satu dari antara kedua atribut tersebut untuk di keluarkan. Database juga sering kali mengandung atribut yang tidak relevan terhadap kelas yang hendak diprediksi. Attribute subset selection dapat digunakan untuk menemukan set atribut yang telah direduksi tetapi hasil probabilitas distribusi kelas tetap sedekat mungkin dengan distribusi data asli yang menggunakan 38 seluruh atribut. Relevance analysis dalam bentuk correlation analysis dan attribute subset selection dapat digunakan untuk mendeteksi atribut yang tidak atau kurang berkontribusi pada proses classification. 3. Data transformation dan reduction: normalisasi bertujuan untuk menskalakan semua nilai untuk atribut tertentu sehingga jatuh ke dalam rentang yang kecil seperti -1.0 sampai 1.0 atau 0.0 sampai 1.0. Data juga dapat ditransformasikan dengan mengeneralisasikan ke dalam level konsep yang lebih tinggi. Hirarki konsep dapat digunakan untuk tujuan ini. Hal ini juga dapat berguna untuk atribut dengan nilai continue. Contoh, atribut numerik untuk pendapatan dapat digeneralisasikan kedalam nilai discrete seperti rendah, sendang, dan tinggi. Hal yang untuk atribut categorical seperti jalan dapat diganti dengan kota. Karena generalisasi mereduksi data training asli, operasi input/output selama proses learning semakin sedikit. Data juga dapat direduksi dengan berbagai metode lain seperti binning, atau clustering. 2.1.12 Classification dengan Decision treeinduction Decision tree induction merupakan pembelajaran Decision tree dari training set yang telah memiliki label kelas. Decision treeadalah suatu struktur pohon yang menyerupai flowchart, dimana setiap node internal (node yang bukan daun) menyatakan suatu tes terhadap sebuah atribut, setiap cabang merepresentasikan hasil dari test, dan setiap node daun (atau terminal node) menyimpan label kelas. Node paling atas pada tree adalah root node. 39 Gambar 2.10 Contoh Decision Tree Gambar 2.10 menunjukkan Decision tree untuk memprediksi apakah konsumen akan membeli komputer atau tidak berdasarkan vector attributeage, student, dan credit rating. Node internal dilambangkan dengan persegi, dan node daun dengan oval. Beberapa algoritma Decision tree hanya dapat menghasilkan pohon binary (setiap internal node hanya memiliki 2 cabang) sedangkan beberapa algoritma lainnya dapat memproduksi pohon nonbinary. Dengan decision tree, bila diberikan sebuah record X dimana class label belum diketahui, maka atribut dari record X dites terhadap decision tree. Tes dilakukan hingga berakhir pada node daun yang menyimpan nilai prediksi class untuk record X. Beberapa keunggulan dari Decision tree adalah: 1. Decision tree dapat menangani data dengan dimensi yang tinggi 2. Representasi dari pengetahuan yang didapat mudah untuk dipahami oleh manusia 3. Proses learning dan classification dari Decision tree sederhana dan cepat 4. Secara umum Decision tree classifier memilik akurasi yang baik. 40 Decision tree memiliki beberapa algoritma seperti ID3, C4.5, atau CART. Kebanyakan algoritma untuk Decision treeinduction menggunakan pendekatan top-down, dimana proses dimulai dari record pada training set dan kelas labelnya. Training set secara berulang akan dipartisi kedalam subset yang lebih kecil selama tree dibangun. Gambar 2.11 Dasar Algoritma Decision Tree Gambar 2.11 meringkas dasar dari algoritma decision tree. Proses pembuatan tree dilakukan sebagai berikut: 41 1. Algoritma dipanggil dengan 3 parameter: D, attribute_list, dan atrribute_selection_method. D merupakan partisi data. Awalanya D merupakan keseluruhan record pada training set beserta kelas labelnya.Parameter attribute_list merupakan Attribute_selection_method list atribut yang menspesifikasikan mendeskripsikan prosedur heuristik record. yang digunakan untuk memilih attribut yang terbaik untuk mendiskriminasikan record berdasarkan kelas. Prosedur ini menggunakan attribute selection measure, seperti information gain ,gini index, atau minimum descriptor length (MDL). Apakah tree harus binary atau tidak ditentukan oleh attribute selection measure. Beberapa attribute selection measure, seperti gini index, mengharuskan tree yang dihasilkan binary. 2. Tree dimulai dengan node tunggal, N, merepresentasikan record dalam training set D (langkah 1) 3. Jika record dalam D semua berada dalam class yang sama, maka node N menjadi daun dan diberi label dengan class tersebut (langkah 2 dan 3). Langkah 4 dan 5 merupakan terminating conditions. 4. Jika record dalam D tidak semua berada dalam 1 kelas yang sama. A glortima memanggil attribute_selection_method untuk menentukan splitting criterion. Splitting criterion merupakan atribut yang digunakan untuk tes pada node N dengan menentukan cara terbaik untuk memisahkan atau mempartisi record dalam D ke kelas individual (langkah 6). Splitting criterion juga menentukan cabang mana yang harus dibuat dari node N sesuai dari hasil output dari tes. Splitting criterion ditentukan sehingga, idealnya, partisi yang dihasilkan 42 semurni mungkin. Partisi disebut murni bila semua record yang berada di dalamnya berada dalam class yang sama. 5. Node N diberi label dengan splitting criterion, yang berfungsi sebagai tes pada node tersebut (langkah 7). Cabang dibuat dari node N untuk setiap hasil dari splitting criterion dan record D dipartisi sesuai dengan splitting tersebut (langkah 10-11). Gambar 2.12 menunjukkan 3 skenario yang mungkin. Gambar 2.12 Skenario hasil splitting criterion Jika A merupakan spliiting attribute. A memiliki v nilai berbeda, { , ,…, }, berdasarkan training data: • A merupakan nilai discrete (categorical): Dalam kasus ini, keluaran dari test pada node N adalah nilai yang diketahui artibute A. Setiap cabang dibuat untuk setiap nilai yang diketahui, , dari A dan diberi label dengan nilai tersebut (Gambar 2.12(a)). Partisi Dj adalah subset dari record yang 43 memiliki label class dalam D yang memiliki nilai dari A. Karena semua record dalam partisi yang dihasilkan memiliki nilai untuk A yang sama, maka A tidak akan digunakan untuk dalam partisi yang akan datang. Karena itu, atribut A dikeluarkan dari attribute_list (langkah 8 dan 9) • A merupakan nilai continue: Dalam kasus ini, tes pada node N dapat memiliki 2 keluaran yang mungkin yaitu konsidi A ≤ split_point dan A ≥ split_point. Dimana split_point dikembalikan oleh attribute_selection_method sebagai bagian dari splitting criterion. Dua cabang dibuat dari N dan diberi label (gambar 2.12(b)). Record-record dipartisi sehingga split_point, sedangkan • menampung subset dari record pada D dimana A ≤ menampung sisanya. A merupakan nilai discrete dan binary tree harus dibuat (gambar 2.12(c)): Test pada node N dalam bentuk “A anggota ?”. merupakan splitting subset dari A, yang dikembalikan oleh attribute_selection_method sebagai bagian dari splitting criterion. merupakan subset dari nilai atribut A. 6. Algoritma menggunakan proses yang sama secara berulang untuk membentuk Decision treeuntuk record-record pada partisi yang dihasilkan, , dari D 7. Partisi berulang ini berhenti ketika memenuhi termintating condition: • Semua record pada partisi D (direpresentasikan pada node N) tergabung dalam kelas yang sama (langkah 2 dan 3) • Tidak ada atribut lagi dimana record-record dapat dipartisi lebih lanjut (langkah 4). Pada kasus seperti ini node N diubah menjadi daun dan diberi 44 label dengan nilai class yang paling banyak di D (langkah 5). Alternatif lain distribusi class pada record di node tersebut dapat disimpan. • Tidak ada record pada cabang yaitu ketika partisi kosong (langkah 12). Pada kasus ini, daun dibuat dengan class yang paling banyak muncul di D (langkah 13) 8. Hasil dari Decision tree dikembalikan (langkah 15). (Han dan Kamber, 2006, pp291-296) 2.1.13 Support Vector Machine (SVM) SVM dapat digunakan untuk classification baik data linear maupun nonlinear. SVM menggunakan nonlinear mapping untuk mentransformasikan data training ke dimensi yang lebih tinggi.Dalam dimensi baru ini dicari hyperplane (bidang) optimal sebagai pemisah. Hyperplane ini merupakan batas yang memisahkan record dari satu kelas dengan kela lainnya. SVM menemukan hyperplane dengan menggunakan support vector dan margin (didefinisikan oleh support vector). Waktu training dari SVM lebih lambat dan memakan waktu bila dibandingkan dengan metode classification lainnya tetapi SVM memiliki tingkat akurasi yang tinggi dan tidak rentan terhadap overfitting. SVM dapat digunakan untuk memprediksi nilai categorical atau nilai continue. Jika diberikan suatu masalah apakah seorang pelanggan akan membeli komputer atau tidak, dengan label kelas yang memiliki 2 nilai dimana kelas merupakan linearly ( , , ),( ),…,( separable , dengan ), dimana data set D dalam bentuk adalah sekumpulan record data 45 training yang diasosiasikan dengan label kelas . Setiap dapat memiliki satu dari dua nilai yaitu +1 (buys_computer=yes) atau -1 (buy_computer=no). Setiap dijelaskan oleh dua atribut dan seperti ditunjukkan pada gambar 2.15 Gambar 2.13 Contoh hyperplane SVM Dari gambar 2.13 terlihat bahwa data 2-D tersebut linearly separable karena sebuah garis lurus dapat digambarkan untuk memisahkan semua record dari kelas +1 dengan record dari kelas -1. Jumlah garis pemisah yang ada adalah tak terbatas (infinite). Jika data adalah 1-D (1 atribut) yang dicari adalah titik pemisah, jika data 3-D (memiliki 3 atribut) maka yang dicari adalah bidang (plane). Digeneralisasikan menjadi n-dimensi maka pemisah tersebut disebut dengan hyperplane. SVM berusaha mencari hyperplane terbaik yang memiliki error classification terkecil. 46 Gambar 2.14 Contoh margin SVM SVM mencari hyperplane terbaik dengan mencari maximum marginal hyperplane (MM H). Gambar 2.14 menunjukkan contoh 2 hyperplane pemisah yang mungkin dilengkapi dengan margin masing-masing. Dari gambar 2.14 terlihat bahwa kedua hyperplane dapat dengan benar memisahkan semua record data yang diberikan. Akan tetapi, hyperplane yang memiliki margin terbesar lebih akurat dalam memprediksi kelas dari record data yang belum pernah dilihat 47 sebelumnya. Karena itu (selama fase learning atau training), SVM mencari hyperplane dengan margin terbesar yaitu MM H. Jarak terdekat dari hyperplane ke salah satu sisi margin sama dengan jarak terdekat dari hyperplane tersebut ke sisi margin lainnya. Jarak terdekat ini adalah jarak dari MMH ke record training terdekat dari masing-masing kelas. Record training yang berada pada sisi margin dari hyperplane disebut dengan support vector. Support vector adalah record yang paling sulit untuk diklasifikasikan dan memberikan informasi paling banyak mengenai classification. Jika semua record selain support vector di keluarkan dari training data dan training dilakukan ulang, maka akan tetap didapatkan hyperplane yang serupa. Komplekstitisitas dari classifier lebih ditentukan oleh banyaknya support vector dibanding dimensi data. SVM juga dapat digunakan untuk mencari non-linear decision boundary.Non-linear decision boundary dicari apabila kelas pada data tidak dapat dipisahkan oleh liner hyperplane. (Han dan Kamber, 2006, pp337-344) Gambar 2.15 Data dengan kelas non-linearly separable 48 2.1.14 Bayesian Classification Bayesian classifier merupakan classifier statistik yang dapat memprediksikan probabilitas keanggotaan kelas, seperti probabilitas sebuah record tergabung ke dalam kelas tertentu. Bayesian Classification yang didasarkan pada teorema Bayes memilki tingkat akurasi yang tinggi dan dapat berjalan dengan cepat dalam database yang besar. Naïve bayesian Classifier mengasumsikan efek dari sebuah nilai atribut pada sebuah kelas, independen terhadap nilai dari atribut lainnya. Asumsi ini disebut juga class conditional independence. Asumsi ini dilakukan untuk menyederhanakan proses komputasi dan karena itu dianggap “naïve”. Jika X merupakan record data, dimana X terdiri dari n atribut. Dalam istilah bayesian, X disebut dengan fakta. Jika H merupakan hipotesis, seperti misalnya record X tergabung ke dalam kelas C. Untuk classification, yang ingin ditentukan adalah P(H|X), probabilitas hipotesis H jika diberikan fakta atau record X. Dengan kata lain yang dicari adalah probabilitas record X tergabung ke dalam kelas C, jika diketahui deskripsi atribut dari X. P(H|X) merupakan posterior probability, H dikondisikan pada X. Contoh, jika data pelanggan sebuah toko komputer dideskripsikan dengan atribut umur dan pendapatan. X adalah pelanggan berumur 35 tahun dengan pendapatan Rp 10.000.000,00. M isalkan ingin diketahui apakah pelanggan X akan membeli komputer jika diketahui umur dan pendapatan pelanggan. 49 P(H) adalah prior probability. Dalam contoh diatas berarti adalah probabilitas pelanggan akan membeli komputer tanpa melihat umur dan pendapatan atapun informasi atribut lainnya. P(X|H) adalah posterior probability dimana X dikondisikan pada H. Sesuai contoh berarti probabilitas pelanggan , X, berumur 35 tahun dengan pendapatan Rp. 10.000.000,00 jika diketahui pelanggan membeli komputer. P(X) merupakan prior probability dari X. M enggunakan contoh berarti probabilitas seseorang dari database pelanggan yang mana berumum 35 tahun dan memiliki pendapatan Rp. 10.000.000,00. P(H), P(X|H), dan P(X) dapat dicari dari training set dimana train set telah memiliki label class. Teorema Bayes berguna untuk untuk menghitung posterior probability P(H|X) dari P(H), P(X|H), dan P(X) dengan rumusan sebagai berikut P(H|X)= Proses kerja Bayesian Classifier adalah sebagai berikut: 1. Jika D adalah training set yang terdiri dari record dan label kelasnya masingmasing. Setiap record direpresentasikan dengan n-dimensi attribute vector, X=( , ,…, ). Dan memiliki n atribut 2. Jika terdapat m kelas, , ,…, , ,…, . . Apabila diberikan record, X, classifier akan memprediksikan X tergabung ke dalam kelas yang memiliki nilai posterior probability tertinggi, dikondisikan pada memprediksikan record X tergabung dalam class P( |X)>P( |X) X. Naïve bayesclassifier jika dan hanya jika untuk 1 j m, j i 50 M aka nilai P( dimana P( |X) merupakan nilai probabilitas tertinggi. Nilai kelas |X) dimaksimalkan disebut dengan maximum posteriori hypothesis. P( |X)= 3. Karena nilai P(X) konstan untuk semua kelas, maka hanya yang perlu dimaksimalkan. Jika prior probability dari kelas tidak diketahui, maka biasanya diasumsikan bahwa setiap kelas adalah sama yang mana P( )= , dan yang perlu dimaksimalkan hanya nilai )=…= Selain itu, nilai . harus dimaksimalkan. Nilai prior probabilitas kelas dapat diestimasikan dengan |/|D|, dimana | =| record dalam D yang memiliki label kelas | adalah jumlah . 4. Bila diberikan dataset dengan banyak atribut, maka akan sangat sulit dan mahal biaya untuk menghitung nilai dalam mengevaluasi . Untuk mengurangi proses komputasi , asumsi naïve class conditional independence dibuat. Asumsi tersebut menganggap nilai dari sebuah atribut independen terhadap satu sama lain. M aka = … Probabilitas , ,…, menunjukkan nilai dari atribut dapat dicari dari data training. untuk record X. Untuk setiap atribut akan dilihat apakah atribut adalah categorical atau berupa nilai continue. Contoh, untuk menghitung P(X| , lakukan hal berikut: 51 • Jika adalah categorical, maka memiliki label kelas dibagi dengan | adalah jumlah record yang dalam D dan memiliki nilai untuk atribut | yang merupakan jumlah record dengan label kelas pada D • Jika adalah nilai continue, maka perlu dilakukan kalkulasi tambahan. Atribut dengan nilai continue diasumsikan memiliki Gaussian distribution dengan mean dan standard deviasion , yang didefinisikan sebagai g(x, , ) = sehingga P( Yang perlu dihitung adalah nilai atribut | ) = g( (mean) dan untuk record dengan kelas Rp. 10.000.000), dimana , , ) (standard deviation) dari . Sebagai contoh, jika X=(35, adalah atribut umur dan pendapatan. Label kelas adalah atribut buys_computer. Nilai label kelas untuk X adalah yes. M isalkan atribut umur tidak di discretisized dan tetap sebagai atribut dengan nilai continue. M isalkan dari training set, ditemukan bahwa pelanggan dalam D yang membeli komputer berumur 38 12. Dengan kata lain untuk atribut umum pada kelas ini memiliki nilai Nilai dan =12 digunakan untuk mengesitmasikan P(age=35|buys_computer=yes). dan =12. 52 5. Untuk memprediksi label kelas X maka kelas P( ) dievaluasi untuk setiap . Classifier memprediksi label kelas dari record X adalah kelas jika dan hanya jika P(X ) P( > P(X ) P( untuk 1 j m, j i Dengan kata lain, nilai prediksi kelas untuk record X adalah kelas P(X )P( dimana adalah maksimum.(Han dan Kamber, 2006, pp310-313) 2.1.15 Pengukuran Error dan Akurasi Model Prediktif 2.1.15.1 Pengukuran akurasi classifiers Akurasi dari dari sebuah classifier, model prediktif yang memprediksi nilai categorical, untuk sebuah kumpulan data tes adalah persentase dari record data tes yang dengan benar diklasifikasikan oleh classifier. Dalam literatur pattern recognition, ini disebut juga sebagai overall recognition rate dari classifier, yang mana merefleksikan seberapa baik classifier mengenali record dari kelas-kelas yang berbeda. Error rate atau misclassification rate untuk classifier, M , didefinisikan sebagai 1 - Acc(M ), dimana Acc(M ) merupakan akurasi dari M . Jika kita hendak menggunakan training set untuk mengestimasi error rate dari model, nilai ini dikenal dengan resubstituion error. Perhitungan error ini optimistis pada true error rate karena model tidak di tes pada data sampel yang belum pernah dilihat sebelumnya. Confusion matrix merupakan alat pengukuran yang dapat digunakan untuk menganalisa seberapa baik classifier dapat mengenali record dari kelas- 53 kelas yang berbeda. Jika diberikan m kelas, confusion matrix adalah sebuah tabel yang minimal berukuran m kali m. Sebuah nilai, , di baris pertama mdan kolom m mengindikasikan jumlah record pada class I yang diberi label oleh classifier sebagai class j. Jika classifier memiliki akurasi yang baik, idealnya semua record akan direpresentasikan sepanjang garis diagonal confusion matrix, dari , sampai , dimana nilai pada kolom lainnya bernilai nol. Confusion matrix dapat memiliki baris atau kolom tambahan untuk menyedikiakan informasi nilai total atau recognition rate untuk setiap class. Gambar 2.15 menunjukkan struktur confusion matrix untuk 2 nilai class positive dan negatif. Gambar 2.16 Struktur Confusion Matrix untuk 2 nilai class Jika classifier memprediksi 2 nilai class, yaitu positive dan negatif. M aka true positive menunjukkan jumlah record positive yang dengan benar diberi label oleh classifier, sedangkan true negative adalah record negative yang dengan benar diberi label oleh classifier. False positive adalah record dimana label kelas diprediksi diprediksi positive dimana sebenarnya negative. False negative adalah record dimana label kelas diprediksi diprediksi negative dimana sebenarnya positive. Contoh confusion matrix untuk 2 nilai kelas ditunjukkan seperti pada tabel 2.1. (Han dan Kamber,2006,pp360-362; Witten dan Frank, 2005, p162) 54 Tabel 2.1 Contoh Confusion M atrix Classes buys=yes buys=no total Recognition(%) Buys=yes 6,954 46 7,000 99.34 Buys=no 412 2,588 3,000 86.27 7,366 2,634 10,000 95.52 Total 2.1.15.2 Pengukuran Error Predictor Untuk predictor, model prediktif yang memprediksi suatu nilai continue, biasa yang diukur adalah tingat error dari predictor. Jika adalah kumpulan data tes dalam bentuk ( , ),( adalah kumpulan , ),…,( , ), dimana record dengan n dimensi dengan nilai class label yang telah diketahui, d adalah jumlah record dalam , dan . Karena predictor mengembalikan nilai continue, sulit untuk menentukan secara tepat apakah nilai yang diprediksi, untuk tepat atau tidak. Daripada berfokus pada apakah nilai nilai yang benar-benar sama dengan , merupakan , pengukuran dilakukan dengan melihat seberapa jauh nilai yang diprediksi dari nilai yang sebenarnya. Loss function mengukur error antara dan nilai yang diprediksi .Loss function yang banyak digunakan adalah: Absolute Error : | - | Squared Error : ( Berdasarkan rumus di atas, error rate, atau generalisasi error, adalah rata-rata loss over dari test set. M aka didapatkan rumus erro rrate berikut: 55 Mean absolute error : Mean square error : Jika diambil akar dari square root, hasilnya disebut juga dengan root mean square error (RSM E). RSM E berguna untuk mengukur error dalam ukuran yang sama dengan nilai yang sedang diprediksi. (Han dan Kamber, 2006, pp362-363) 2.1.16 Siklus Hidup Proyek Data mining Gambar 2.17 Fase Pengembangan Proyek Data mining 56 Siklus hidup pengembangan proyek data mining teridri dari 6 fase. Urutan untuk fase tidaklah harus sama. Garis lingkaran luar melambangkan sifat cyclic dari data mining. Sebuah proses data mining terus berlanjut setelah solusi telah diaplikasikan. Pembelajaran yang dipelajari selama proses dapat menimbulkan pertanyaan bisnis yang baru dan lebih terfokus. Berikut deskripsi dari setiap fase (Chapman, 2000, pp13-14): 1. Business Understanding Fase awal berfokus pada mempelajari tujuan dari proyek dan kebutuhan dari sudut pandang bisnis, dan mengubah pengetahuan ini menjadi masalah dalam data mining, dan rencana awal didesain untuk mencapai tujuan. 2. Data Understanding Data understanding dimulai dengan mengkoleksi data awal dan dilanjutkan dengan aktivitas dengan tujuan untuk lebih memahami data, mengidentifikasi kualitas data, dan menemukan pengetahuan, atau mendeteksi subset yang menarik untuk membentuk hipotesis untuk informasi yang tersembunyi. 3. Data Preparation Fase preparasi data meliputi semua aktivitas untuk mengkonstruksi dataset akhir dari data mentah untuk dimasukkan dalam program data mining. Data preparation biasanya dilakukan beberapa kali. Tugas ini meliputi transformasi dan membersihkan tabel, record, atau seleksi atribut. 4. Modeling Dalam fase ini, beberapa teknik modeling data mining di seleks i dan diaplikasikan, dan parameter di set untuk menghasilkan nilai yang optimal. 57 Biasanya ada beberapa teknik untuk tipe permasalahan data mining yang sama. Beberapa teknik memiliki persyaratan yang spesifik untuk data, karena itu bergerak mundur ke data preparation sering kali dibutuhkan. 5. Evaluation Pada tahap proyek ini, model yang memiliki kualitas yang baik dari sudut pandang data anlisis telah dibuat. Sebelum melanjutkan ke tahap akhir implementasi, penting untuk melakukan evaluasi dari model, dan mereview langkah-langkah yang dieksekusi untuk mengkonstruksi model, untuk memastikan tujuan bisnis sudah tercapai. Tujuan utama tahapan ini adalah menentukan apakah ada permasalahan bisnis penting yang belum dapat dipenuhi. Pada akhir dari fase ini, dibuat keputusan apakah akan menggunakan data mining yang telah dibuat. 6. Deployment Pembuatan dari model umumnya bukan akhir dari proyek. Walupun tujuan dari model adalah meningkatkan pengetahuan akan data, pengetahuan yang telah dikumpulkan perlu untuk diorganisasikan dan direpresentasikan dalam bentuk yang dapat digunakan oleh konsumen. Tergantung dari persyaratan, fase deployment dapat sesederhana seperti menghasilkan laporan atau kompleks seperti mengimplementasikan proses data mining yang berulang. Pada tahap ini penting untuk memastikan bahwa pengguna mengerti apa yang harus dilakukan untuk benar-benar dapat menggunakan model yang telah dibuat. 58 2.2 Teori Khusus 2.2.1 Airline Airline memberikan jasa transportasi udara untuk penumpang ataupun barang muatan, biasanya dengan lisensi dan sertifikat operasi.Airline dapat meminjam ataupun memiliki pesawatnya sendiri untuk memberikan jasa tersebut, dan mungkin membentuk hubungan kerjasama atau aliansi dengan airline lain (http://en.wikipedia.org/wiki/airline) 2.2.2 Computer Reservation System (CRS) Computer Reservation System (CRS) merupakan sistem terkomputerisasi yang digunakan untuk menyimpan dan menerima, mengambil informasi dan melakukan transaksi yang berkaitan dengan air travel. Awalnya CRS di gunakan dan dioperasikan untuk airline, saat ini CRS juga digunakan untuk travel agent. CRS yang membuat reservasi dan menjual tiket untuk beberapa airline disebut juga Global Distribution Systems (GDS). GDS membuat sistem dari airline dapat diakses oleh konsumen melalui internet gateways. Penerapan GDS saat ini selain untuk tiket airline juga dapat digunakan untuk memesan kamar hotel atau mobil. Contoh sistem GDS yang banyak digunakan adalah: SABRE, Galileo, Wolrdspan, Abacus. Airline yang menggunakan sistem GDS dikenakan distribution feeoleh penyedia jasa GDS untuk setiap penerbangannya. Semakin meluasnya dan terjangkaunya server hardware dan diperkenalkannya automated pricing, shopping, dan booking software mengijinkan banyak airline untuk memindahkan 59 sebagian besar volume pembelian mereka ke website CRS mereka sendiri dan menghindari distribution fee yang dikenakan oleh penyedia jasa GDS. (http://en.wikipedia.org/wiki/computer_reservation_system) 2.2.3 Passenger Name Record (PNR) Dalam industri travel, Passenger Name Record adalah sebuah record dalam database CRS yang mengandung record perjalanan untuk seorang penumpang, atau grup penumpang yang melakukan perjalanan bersama. Konsep PNR pertama kali diperkenalkan oleh airline yang perlu untuk bertukar informasi reservas i dalam kasus penumpang memerlukan penerbangan dari beberapa airline untuk mencapai tujuan (interlining). Untuk tujuan ini International Air Transport Association (IATA) mendefinisikan standard layout dan isi dari PNR. Ketika penumpang melakukan booking sebuah perjalanan, travel agentakan menciptakan PNR dalam CRS yang digunakannya. Hal ini biasanya dilakukan melalui GDS, seperti SABRE, Amadeus, atau Galileo, tetapi bila booking dibuat secara langsung oleh airline maka PNR dapat berada dalam database CRS milikairline tersebut. PNR ini disebut juga master PNR untuk penumpang dan perjalanan yang bersangkutan. PNR diidentifikasi dalam database dengan record locator. Walaupun PNR awalnya diperkenalkan oleh air travel, sekarang PNR juga digunakan untuk booking hotel, mobil, kereta, dan lain-lain. Dari sudut pandang teknikal minimal ada 5 bagian utama dari PNR sebelum booking dapat dilakukan. Hal tersebut adalah: 1. Nama penumpang (bisa lebih dari 1) 60 2. Contact Detail untuk travel agent atau airline 3. Ticketing detail, seperti nomor tiket atau time limit untuk ticketing 4. Perjalanan paling tidak 1 segmen, yang mana harus sama untuk semua penumpang yang tercantum 5. Nama orang yang melakukan booking Setelah booking diselesaikan sampai level tersebut, maka sistem CRS akan menerbitkan recordlocator yang bersifat unik. Record locatorakan tetap sama walaupun terjadi perubahan kecuali jika terjadi split PNR. (http://en.wikipedia.org/wiki/PNR) 2.2.4 Record Locator Record locator merupakan nomor referensi alpha-numerik yang digunakan oleh airline dan travel agent untuk mengidentifikasikan booking. Biasanya terdiri antara 5-7 karakter. Sistem Airline hanya menggunakan huruf besar dan beberapa cenderung menghindari penggunaan huruf I dan O karenea kemiripannya dengan angka 1 dan 0. Setiap airlineakan mengalokasikan record locator nya masing-masing, dan jika penerbangan dipesan oleh sistem travel agent, maka travel agent akan memiliki record locator yang berbeda. Contoh: Penumpang X pergi dari Paris dengan airline A dan kembali dengan airlineB, dan melakukan booking melalui sistem GDS C. M aka booking penumpang X akan memiliki 3 record locator, 1 utnuk A, satu untuk B, dan 1 untuk C. Dalam 1 record locator dapat terdiri dari lebih 1 penumpang, yang mana semuanya melakukan perjalanan yang sama dan menggunakan servis kelas yang 61 sama. Biasanya 1 locator dapat menampung hingga 9 penumpang tergantung dari kebijaksanaan airline masing-masing. Sebuah record locator merupakan pointer pada PNR (Passenger Name Record). M eskipun demikian, istilah PNR seringkali digunakan baik untuk record locator maupun keseluruhan booking dan detailnya. (http://en.wikipedia.org/wiki/record_locator) 2.2.5 Overbooking Overbooking merupakan istilah yang digunakan untuk mendeskripsikan penjualan akses suatu servis yang melebihi kapasitas servis itu sendiri. Overbooking sering dilakukan oleh perusahaan yang bergerak di bidang telekomunikasi, airline, kereta, kapal ataupun hotel. Dalam Industri telekomunikasi overbooking berarti service provider ataupun telephone company menjual access ke terlalu banyak konsumen yang mengakibatkan ketidakmampuan konsumen untuk menggunakan sesuai dengan yang mereka beli. Overbooking dalam industri telekomunikasi sering dilakukan oleh provider jaringan seperti frame relay. 62 Gambar 2.18 Grafik Proses OverbookingAirline Perusahaan seperti airline, kereta ataupun kapal dapat mengijinkan booking oleh konsumen melebihi kapasitas yang sebenarnya dapat ditampung oleh pesawat, kereta, ataupun kapal. Hal ini mengijinkan mereka untuk dapat menjual hampir keseluruhan tempat walaupun beberapa konsumen ada yang ketinggalan perjalanan ataupun tidak muncul (no-show) yang mana biasanya tiket dapat di rebookulang setelahnya. Penumpang bisnis ada kalanya membatalkan pada saatsaat terkakhir contohnya ketika meeting melebihi waktu yang diperkirakan. Jika semua penumpang muncul, overbooking akan mengakibatkan oversale. Dalam kasus seperti ini, untuk airline dapat terjadi penolakan boarding pada penumpang tertentu (involuntary denied boarding), dengan penukaran berupa kompensasi yang dapat berupa tiket gratis tambahan atau upgrade class pada penerbangan berikutnya. Overbooking dapat dilakukan dan menghasilkan lebih banyak keuntungan daripada jika hanya membuka kapasitas booking sesuai dengan 63 kapasitas pesawat dan membiarkan pesawat take-off dengan kursi kosong. (http://en.wikipedia.org/wiki/overbooking)