BAB 2 TINJAUAN PUSTAKA Bab ini berisi tentang pemahaman dari logika fuzzy dan data mining. Pada bab ini juga akan dijelaskan bagian-bagian yang perlu diketahui dalam logika fuzzy dan data mining, sehingga mempermudah dalam pemahaman, perhitungan, serta mengetahui hubungan diantara logika fuzzy dan data mining. 2.1 Logika Fuzzy Logika fuzzy adalah konsep yang tepat untuk menangani masalah nonlinear, waktu yang beravariasi dan sistem adaptif. Logika fuzzy ini memungkinkan penggunaan nilai-nilai linguistik dari variabel dan hubungan tidak tepat untuk perilaku sistem modeling. Logika fuzzy sering digunakan pada sistem cerdas dalam memilah proses untuk mendeteksi cacat dalam penerapannya (Hosseinzadeh, et al. 2011). Salah satu aplikasi yang paling terkenal dari logika fuzzy adalah Fuzzy inference system (FIS). Ada tiga jenis dasar FIS yang telah banyak digunakan dalam berbagai aplikasi kontrol, yaitu FIS Mamdani, Sugeno, dan Tsukamoto. Perbedaan antara tiga FIS ini terletak pada konsekuen dari aturan fuzzy mereka, agregasi dan prosedur defuzzifikasi (Siddique, 2013). Ada beberapa alasan mengapa orang menggunakan logika fuzzy, antar lain (Kusumadewi, 2010) : 1. Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti. 2. Logika fuzzy sangat fleksibel. 3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat. 4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinier yang sangat kompleks. 5. Logika fuzzy dapat membangun dan mengaplikasikan pengalaman- pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan. Universitas Sumatera Utara 6 6. Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional. 7. Logika fuzzy didasarkan pada bahasa alami. Struktur dasar dari perhitungan logika fuzzy adalah sebagai berikut (Anikin & Zinoviev, 2015): 1. fuzzificator, yang mengubah masukan crisp (tegas) menjadi masukan fuzzy, 2. basis pengetahuan dengan set fuzzy rule IF-THEN, masing-masing yang menghubungkan anteseden (sebab) dan konsekuen (akibat) dengan implikasi fuzzy, 3. Blok inferensi fuzzy yang didasarkan pada sistem inferensi fuzzy dan mengimplementasikan penalaran fuzzy, 4. defuzzificator yang mengkonversi keluaran fuzzy untuk output (keluaran) crisp. Ada beberapa tahap yang harus diketahui untuk menghitung nilai di dalam logika fuzzy, yaitu : 1. Fungsi keanggotaan 2. Fuzzifikasi 3. Operasi himpunan fuzzy 4. Defuzzifikasi 2.1.1 Fungsi Keanggotaan Fungsi keanggotaan didefinisikan sebagai representasi grafis dari besarnya keikutsertaan setiap input (masukan). Fungsi keanggotaan ini menghubungkan bobot dengan masing-masing input yang diproses, mendefinisikan tumpang tindih di antara input, dan akhirnya menentukan respon output (keluaran). Aturan menggunakan nilai keanggotaan input sebagai faktor pembobotan untuk menentukan pengaruhnya terhadap set output fuzzy kesimpulan hasil akhir (Hosseinzadeh, et al. 2011). Jika fungsi keanggotaan tidak sesuai, maka hasil yang didapat akan jauh berbeda dari diharapkan. Fungsi keanggotaan ini merupakan tahap awal dan paling penting untuk menuju tahap fuzzifikasi. Fuzzifikasi merupakan tahap dimana nilai inputan yang berupa nilai crisp (tegas) diubah menjadi nilai fuzzy (Ross, 2010). Universitas Sumatera Utara 7 Ada beberapa fungsi keanggotaan yang direpresentasikan dalam bentuk kurva didalam logika fuzzy, diantaranya fungsi keanggotaan linear, segitiga, trapesium, dan lonceng (Kusumadewi, 2010). a. Representasi linear naik Pada representasi linear, pemetaan input ke derajat keanggotaannya digambarkan sebagai sebuah garis lurus. Representasi fungsi keanggotaan untuk linear naik adalah sebagai berikut : Gambar 2.1 : Representasi linear naik Fungsi keanggotaan representasi linear naik ; ; ; ..............................................(2.1) b. Representasi linear turun Reprensentasi ini merupakan kebalikan dari representasi linear naik. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah. Representasi fungsi keanggotaan untuk linear turun adalah sebagai berikut: Universitas Sumatera Utara 8 Gambar 2.2 Representasi linear turun Fungsi keanggotaan representasi linear turun ; ; ..........................................(2.2) c. Representasi kurva segitiga Reprensitasi kurva segitiga pada dasarnya merupakan gabungan antara linear naik dan linear turun. Representasi fungsi keanggotaan untuk kurva segitiga adalah sebagai berikut: Gambar 2.3 Representasi kurva segitiga Fungsi keanggotaan representasi kurva segitiga ; ; ; ...........................................(2.3) Universitas Sumatera Utara 9 d. Representasi kurva trapesium Reprensitasi kurva trapesium memiliki domain lebih luas dari representasi kurva segitiga. Representasi fungsi keanggotaan untuk kurva trapesium adalah sebagai berikut: Gambar 2.4 Representasi kurva trapesium Fungsi keanggotaan representasi kurva trapesium ; ; ; 2.1.2 Fuzzifikasi ; ...........................................(2.4) Fuzzifikasi adalah proses mengubah bilangan crisp kedalam himpunan bilangan fuzzy berdasarkan range (jarak) untuk setiap variabel masukan. Dalam proses fuzzifikasi ini terdapat dua hal yang harus diperhatikan yaitu nilai masukan dan keluaran serta fungsi keanggotaan (Peranginangin, 2015). 2.1.3 Operasi Himpunan Fuzzy Operasi himpunan fuzzy diperlukan untuk proses inferensi atau penalaran IF-THEN. Dalam hal ini yang dioperasikan adalah derajat keanggotaannya. Derajat keanggotaan operasi dua buah himpunan fuzzy disebut sebagai fire strength atau α predikat. Misalkan A dan B merupakan dua set di alam semesta X, gabungan diantara dua set A dan B dilambangkan dengan ∪ . Set ∪ mewakili semua unsur di alam semsesta milik set A, set B, atau milik keduanya set A dan B. operasi ini sering disebut juga Union atau logika OR. Operasi lain yang juga termasuk dalam operasi Universitas Sumatera Utara 10 logika fuzzy adalah Intersection (ekslusif OR) dan Complement. Ketiga operasi tersebut akan dijelaskan sebagai berikut (Ross, 2010) : 1. Operasi gabungan (Union) Operasi gabungan (sering disebut operator OR) dari himpunan fuzzy A dan B dilambangkan dengan ∪ . Dalam sistem fuzzy, operasi gabungan disebut sebagai Max. Operasi Max ditulis dengan persamaan berikut: ∪ ∪ ……… …..…...(2.5) , Derajat keanggotaan setiap unsur himpunan fuzzy ∪ adalah derajat keanggotaannya pada himpunan fuzzy A atau B yang memiliki nilai terbesar. Gambar 2.5 Gabungan set A dan set B (Logika OR) 2. Operasi Irisan (Intersection) Operasi irisan (sering disebut operator AND) dari himpunan fuzzy A dan B dinyatakan sebagai ∩ . Dalam sistem logika fuzzy, operasi irisan disebut sebagai Min. Operasi Min ditulis dengan persamaan berikut : ∩ ∩ , ……… …..…...(2.6) Derajat keanggotaan setiap unsur himpunan fuzzy ∩ adalah derajat keanggotaan pada himpunan fuzzy A dan B yang memiliki nilai terkecil. Universitas Sumatera Utara 11 Gambar 2.6 Irisan dari set A dan set B (Logika AND) 3. Operator Complement Bila himpunan fuzzy A pada himpunan universal X mempunyai fungsi keanggotaan µA(x) maka komplemen dari himpunan fuzzy A (sering disebut NOT) adalah himpunan fuzzy Ac dengan fungsi keanggotaan untuk setiap x elemen X. µA C(X)=1-µA (x)……………….....................………(2.7) Gambar 2.7 Complement set A 2.1.4 Rule IF-THEN Kebanyakan pengambilan keputusan yang dibuat manusia disajikan dalam bentuk rule (aturan) “Jika-Maka” atau “IF-THEN”. Ada empat bentuk rule dalam logika klasik, diataranya modus ponen, modus tolen, modus ponen tolen, dan modus tolen ponen. Sebagai contoh pengemudi yang menentukan arah kemudi menuju target didepannya, namun ada kendala yang dimiliki. Cara mengatasi kendala tersebut menggunakan keempat modus logika klasik. Contohnya sebagai berikut (Lilly, 2011) : 1. JIKA arah target kedepan, MAKA arah kemudi lurus (modus ponen), Universitas Sumatera Utara 12 2. JIKA ada kendala didepan, MAKA arah kemudi tidak lurus (modus ponen tolen), 3. JIKA tidak ada kendala didepan, MAKA arah kemudi lurus (modus tolen ponen), 4. JIKA arah target bukan kedepan, MAKA arah kemudi tidak lurus (modus tolen). Dalam pernyataan 1, rekomendasi untuk mengarahkan langsung ditegaskan dengan menegaskan bahwa target adalah depan. Dalam pernyataan 2, rekomendasi untuk mengarahkan langsung ditolak dengan menegaskan bahwa ada hambatan di depan. Dalam pernyataan 3, rekomendasi untuk mengarahkan langsung ditegaskan dengan menyangkal bahwa kendala yang berada di depan. Dalam pernyataan 4, rekomendasi untuk mengarahkan langsung ditolak dengan menyangkal bahwa target adalah depan. Tentu saja, satu set lengkap aturan untuk kemudi untuk target di hadapan rintangan akan membutuhkan aturan lebih daripada di atas. Semua mode penalaran ini dapat diimplementasikan dengan logika fuzzy (Brason & Lilly, 2001). Sebagian besar aturan “Jika-Maka” yang digunakan dalam kontrol fuzzy dan identifikasi adalah dalam bentuk modus ponen. Contoh dari aturan “Jika-Maka” menggunakan modus ponen diterapkan pada saat menghentikan mobil adalah sebagai berikut: "Jika SPEED adalah CEPAT maka TEKAN REM KUAT”. Dalam aturan ini, SPEED adalah premis dari SPEED, sedangkan TEKAN REM KUAT adalah konsekuen. CEPAT adalah input variabel linguistik, CEPAT adalah nilai linguistik dari SPEED dan merupakan himpunan fuzzy pada SPEED semesta, TEKAN REM adalah output variabel linguistik, dan KUAT adalah nilai linguistik dari TEKAN REM dan merupakan himpunan fuzzy pada TEKAN REM semesta (Lilly, 2011). 2.1.5 Defuzzifikasi Defuzzifikasi adalah proses mengubah nilai fuzzy kedalam nilai crisp. Proses defuzzifikasi merupakan kebalikan metode fuzzifikasi, yaitu mengubah nilai crisp kedalam nilai fuzzy (Ross, 2010). Terdapat beberapa metode defuzzifikasi yang sering digunakan, diantaranya adalah sebagai berikut : Universitas Sumatera Utara 13 1. Metode keanggotaan Max : dikenal juga dengan metode height, yaitu mencari nilai z melalui nilai keanggotaan terbesar. Rumus aljabar dari metode keanggotaan Max sebagai berikut : Dimana ∗ ∗ , ∈ , adalah nilai defuzzifikasi, grafiknya seperti pada Gambar 2.8 Gambar 2.8 Grafik metode defuzzifikasi keanggotaan Max 2. Metode centroid : metode ini disebut juga dengan metode terpusat atau Center of Grafity (COG). Rumus aljabar dari metode centroid adalah sebagai berikut : Dimana . ∗ ………………………………(2.8) menunjukkan integrasi aljabar, grafiknya seperti pada Gambar 2.9 Gambar 2.9 Grafik metode defuzzifikasi centroid 3. Metode Weighted Average (WA) : metode Weinghted Average sering disebut juga dengan metode rata-rata terbobot. Metode ini merupakan metode yang paling sering digunakan dalam aplikasi fuzzy karena merupakan salah satu metode yang lebih efisien secara komputasi. Rumus aljabarnya adalah sebagai berikut: ∗ ∑ ∑ . …………………………..…….(2.9) Universitas Sumatera Utara 14 Dimana ∑ menunjukkan jumlah aljabar dan centroid dari masing-masing fungsi keanggotaan simetris. Sebagai contoh, dua fungsi yang ditunjukkan pada Gambar 2.10 Gambar 2.10 Grafik defuzzifikasi metode weighted average akan menghasilkan bentuk umum sebagai berikut : ∗ , 2.1.6 Metode Sugeno , , , …………………………………(2.10) Metode Sugeno diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985. Metode Sugeno ini merupakan metode fuzzy yang telah terbukti efektif ketika berhadapan dengan sistem nonlinear yang kompleks, yang sangat sulit untuk analisis dan sintesis (Su, et al. 2013). Pada metode Sugeno, setiap output (konsekuen) terbentuk dari aturan IF-THEN tidak berupa himpunan fuzzy, melainkan konstanta atau persamaan linear. Terdapat dua model fuzzy metode Sugeno, yaitu (Kusumadewi, 2010): 1. Model Fuzzy Sugeno Orde-Nol Secara umum bentuk fuzzy Sugeno adalah sebagai berikut : Dengan 1 1 ° 2 2 ° … ° adalah himpunan fuzzy ke-i sebagai anteseden dan adalah suatu konstanta sebagai konsekuen. 2. Model Fuzzy Sugeno Orde-Satu Secara umum bentuk fuzzy Sugeno adalah sebagai berikut : 1 1 ° 2 2 ° … ° 1∗ 1 ⋯ ∗ Universitas Sumatera Utara 15 Dengan adalah himpunan fuzzy ke-i sebagai anteseden dan konstanta (tegas) ke-i dan adalah suatu juga merupakan konstanta dalam konsekuen. Model yang sering digunakan dalam pembentukan aturan IF-THEN Sugeno adalah model fuzzy Sugeno Orde-Nol. Untuk proses defuzzifikasi, metode Sugeno menggunakan Weight Average (WA) dengan rumus sebagi berikut : = 2.2 …… …… ………………………………(2.11) Data Mining Menurut Aggarwal (2015), Data mining adalah studi tentang pengumpulan, pembersihan, pengolahan, analisis, dan memperoleh wawasan yang berguna dari data. Data mining juga digunakan untuk menggambarkan aspek-aspek yang berbeda dari pengolahan data. Alur kerja aplikasi data mining berisi tahap-tahap berikut : 1. Pengumpulan data Pengumpulan data mungkin memerlukan penggunaan hardware khusus seperti jaringan sensor, tenaga kerja manual seperti kumpulan survei pengguna, atau perangkat lunak seperti mesin pencarian dokumen Web untuk mengumpulkan dokumen. Tahap ini sangat penting karena pilihan yang baik pada tahap ini secara signifikan dapat mempengaruhi proses data mining. Setelah tahap pengumpulan, data disimpan dalam database atau gudang data untuk diproses. 2. Ekstraksi fitur dan pembersihan data Ketika data dikumpulkan, data tersebut sering tidak dalam bentuk yang cocok untuk pengolahan. Misalnya, data dapat dikodekan dalam log kompleks atau dokumen bentuk bebas. Dalam banyak kasus, jenis data yang berbeda dapat dicampur bersama dalam dokumen bentuk bebas. Untuk membuat data yang sesuai untuk pengolahan merupakan hal penting dalam fitur ekstraksi, yaitu dengan mengubah data menjadi format yang mudah untuk algoritma data mining. contohnya seperti multidimensi, time series, atau format semi terstruktur. Format multidimensi adalah salah satu yang paling umum, di mana berbagai bidang data sesuai dengan sifat yang diukur berbeda yang disebut sebagai fitur, atribut, atau dimensi. Hal ini penting untuk mengekstrak fitur yang relevan untuk proses Universitas Sumatera Utara 16 penambangan. Tahap ekstraksi fitur sering dilakukan secara paralel dengan data pembersihan, yaitu data yang hilang dan bagian yang salah dari data dapat diperkirakan atau diperbaiki. Dalam banyak kasus, data dapat diekstraksi dari berbagai sumber dan perlu diintegrasikan ke dalam format terpadu untuk diproses. Hasil akhir dari prosedur ini adalah kumpulan data terstruktur, yang dapat secara efektif digunakan oleh program komputer. Setelah tahap ekstraksi fitur, data dapat disimpan kembali didalam database untuk diproses. 3. Proses analisis (tidak berdasarkan pandangan) dan algoritma Bagian akhir dari proses data mining adalah untuk merancang metode analisis yang efektif dari data yang diolah. Gambar 2.11 Alur pengolahan data Data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan, yaitu (Larose, 2014): 1. Deskripsi 2. Estimasi 3. Prediksi 4. Klasifikasi 5. Clustering 6. Asosiasi 2.2.1 Klasifikasi Klasifikasi adalah salah satu tugas mendasar dalam data mining dan juga telah dipelajari secara luas dalam statistik, pembelajaran mesin, jaringan saraf dan sistem pakar selama beberapa dekade. Input untuk klasifikasi adalah satu set data pelatihan dimana setiap record memiliki beberapa atribut. Atribut dengan domain diskrit Universitas Sumatera Utara 17 disebut sebagai kategori, sementara atribut dengan domain kontinu disebut sebagai numerik. Klasifikasi memiliki dua Tahap, yang pertama adalah tahap pelatihan dan yang kedua tahap pengujian (Lavanya & Rani, 2011). Dalam klasifikasi, variabel target yang berupa data kategoris seperti klasifikasi pendapatan penghasilan misalnya, dibagi menjadi tiga kelas atau kategori : berpenghasilan tinggi, menengah, dan berpenghasilan rendah. Misalkan peneliti ingin mendapatkan pendapatan penghasilan dari individu baru yang tidak ada didalam database. Berdasarkan karakteristik yang terdapat dalam individu tersebut seperti usia, jenis kelamin, dan jabatan, maka akan digunakan metode klasifikasi. Tahap pertama yang dilakukan adalah memeriksa kumpulan data didalam database yang mengandung variabel prediksi. Kumpulan data ini disebut data pelatihan, sehingga dari data pelatihan didapatlah kategori dari individu baru tersebut. Oleh sebab itu, metode klasifikasi disebut juga model pembelajaran diawasi atau supervised learning (Lavanya, 2011; Larose, 2014). 2.2.2 Decission Tree Decission tree atau pohon keputusan adalah salah satu metode yang paling populer untuk klasifikasi dalam berbagai aplikasi data mining dan membantu proses pengambilan keputusan (Dai & Ji, 2014). Pohon keputusan dibangun dari kumpulan node keputusan, dihubungkan dengan cabang, memperluas ke bawah dari node akar sampai berakhir di node daun. Dimulai pada simpul akar, yang menurut ketentuan ditempatkan di bagian atas diagram pohon keputusan, atribut diuji pada node keputusan, dengan masing-masing hasil yang menghasilkan cabang. Setiap cabang kemudian mengarah baik ke node keputusan lain. Salah satu keuntungan yang paling signifikan dari decission tree adalah kenyataan bahwa pengetahuan dapat diekstraksi dan direpresentasikan dalam bentuk klasifikasi aturan IF-THEN. Setiap aturan merupakan jalur yang unik dari akar ke daun masing-masing (Agrawal, 2013; Larose, 2014). Klasifikasi decission tree dipilih karena menyediakan aturan klasifikasi yang seperti penalaran manusia, mudah untuk dipahami oleh pengguna akhir (end user), pembuatan decission tree cepat, dapat menangani berbagai input data diantaranya: data nominal, numerik dan tekstual, mampu memproses dataset (kumpulan data) yang salah atau nilai-nilai yang hilang, dan akurasi hasil yang lebih baik (Lavanya, 2011; Bhargava, 2013). Tujuan utama dari decision tree adalah menciptakan model yang Universitas Sumatera Utara 18 memprediksi nilai variabel target dengan belajar aturan (rule) keputusan yang disimpulkan dari fitur data. Ada beberapa algoritma decision tree, diantaranya ID3, C4.5, dan CART (Kadi & Idri, 2015). Pada decision tree terdapat 3 jenis node, yaitu (Larose, 2014): 1. Root Node (simpul akar), merupakan node paling atas, pada node ini tidak ada input dan bisa tidak mempunyai output atau mempunyai output lebih dari satu. 2. Internal Node , merupakan node percabangan, pada node ini hanya terdapat satu input dan mempunyai output minimal dua. 3. Leaf node atau terminal node , merupakan node akhir, pada node ini hanya terdapat satu input dan tidak mempunyai output. 2.2.3 Klasifikasi Basis-Aturan (IF-THEN) Pengklasifikasian berbasis aturan menggunakan satu set "IF-THEN (jika-maka)" aturan R = {R1. . . Rm} untuk mencocokkan anteseden untuk konsekuen. Aturan biasanya dinyatakan dalam bentuk berikut: “JIKA Kondisi MAKA Kesimpulan” Kondisi di sisi kiri dari aturan, juga disebut sebagai anteseden, mungkin berisi berbagai operator logika, seperti <, ≤,>, =, ⊆, atau ∈, yang diterapkan pada variabel fitur. Sisi kanan dari aturan disebut sebagai konsekuen, dan berisi variabel kelas. Oleh karena itu, aturan adalah dari bentuk ⇒ c dimana adalah anteseden, dan c adalah variabel kelas. simbol "⇒" menunjukkan "THEN" kondisi. Aturan yang dihasilkan didapat dari data pelatihan selama fase pelatihan. Notasi prasyarat pada set fitur. Aturan-aturan ini kemudian merupakan digunakan untuk mengklasifikasikan contoh uji. Aturan dikatakan tepat ketika kondisi data uji cocok dengan contoh pelatihan (Aggarwal, 2015). 2.2.4 Algoritma C4.5 Menurut Kadi & Idri (2015) Algoritma C4.5 adalah salah satu algoritma decision tree yang terkenal karena efisiensi dan fitur yang lengkap. Algoritma C4.5 merupakan pengembangan dari algoritma ID3 untuk menghasilkan pohon keputusan. Algoritma C4.5 bekerja secara rekursif mengunjungi setiap node keputusan, memilih split (pembagian) optimal, sampai tidak ada perpecahan lebih lanjut yang mungkin. Universitas Sumatera Utara 19 Algoritma C4.5 menggunakan konsep information gain atau pengurangan entropi untuk memilih pembagian optimal (Larose, 2014). Tahapan dalam membuat sebuah pohon keputusan dengan algoritma C4.5 adalah (Gorunescu, 2011) : 1. histori yang pernah terjadi sebelumnya dan sudah dikelompokkan dalam kelaskelas tertentu. 2. Menentukan akar dari pohon dengan menghitung nilai gain yang tertinggi dari masing-masing atribut atau berdasarkan nilai indeks entropi terendah. Sebelumnya dihitung terlebih dahulu nilai indeks entropi. Untuk memilih attribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut-atribut yang ada. Untuk menghitung gain digunakan rumus sebagai berikut : (Kusrini, 2009) , = Keterangan : S = himpunan kasus A = atribut n = jumlah partisi atribut A |Si| = jumlah kasus pada partisi ke-i |S| = jumlah kasus dalam S = ∑ − − ∑ ∗ Keterangan : S = himpunan kasus A = fitur n = jumlah partisi pi = perbandingan dari Si terhadap S | | | | ∗ ( )........................(2.12) .....................................................(2.13) Universitas Sumatera Utara