Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
1 Sistem Pakar Representasi Pengetahuan Keragaman bentuk atau skema representasi pengetahuan telah dikembangkan tahun – tahun sebelumnya. Ada dua karakteristik umum dari representasi pengetahuan (Turban, 2001), yaitu : 1. Representasi pengetahuan dapat diprogramkan dengan beragam bahasa komputer yang ada dan dapat disimpan dalam memori. 2. Representasi pengetahuan dirancang sedemikian rupa sehingga fakta dan pengetahuan lainnya dapat dimanfaatkan untuk penalaran. Mylopoulus dan Levesque telah mengklasifikasikan susunan atau pola representasi menjadi empat kategori yaitu : 1. Representasi logika, representasi ini menggunakan ekspresi – ekspresi logika formal untuk merepresentasikan basis pengetahuan. PROLOG merupakan bahasa pemrograman yang ideal dalam mengimplementasikan representasi logika. 2. Representasi Prosedural, representasi ini menggambarkan pengetahuan sebagai sekumpulan instruksi untuk memcahkan suatu problema. Dalam sistem berbasis kaidah, aturan IF – THEN dapat ditafsirkan sebagai sebuah prosedur untuk mencapai tujuan pemecahan problema. 3. Representasi Network, representasi ini menangkap pengetahuan sebagai sebuah graf di mana node – nodenya menggambarkan objek atau konsep dalam problema yang dihadapi, sedangkan lengkungan – lengkungannya menggambarkan hubungan atau asosiasi antara mereka. Contoh representasi network antara lain jaringan semantik dan graf. 4. Representasi terstruktur, bahasa – bahasa representasi terstruktur memperluas jaringan dengan membuat setiap nodenya menjadi sebuah struktur data komplek yang berisi tempat – tempat bernama dengan nilai tertentu. Nilai – nilai ini dapat berupa data numerik atau simbolik sederhana, pointer ke frame (bingkai) lain, atau bahkan merupakan prosedur untuk mengerjakan tugas tertentu. Contoh dari representasi ini adalah skrip (script), frame, dan objek (object). 2 Representasi Logika Logika adalah bentuk representasi pengetahuan yang paling tua. Proses logika adalah proses membentuk kesimpulan atau menarik suatu inferensi berdasarkan fakta yang telah ada. Input dari proses logika adalah berupa premis atau fakta – fakta yang diakui kebenarannya sehingga dengan melakukan penalaran pada proses logika dapat dibentuk suatu inferensi atau kesimpulan yang benar juga. Diagram proses repesentasi logika dapat dilihat pada gambar di bawah ini. Input Premis Atau Fakta Proses Logika Output Inferensi atau Konklusi Ada 2 penalaran yang dapat dilakukan untuk mendapatkan konklusi yaitu : 1. Penalaran deduktif : dimulai dari prinsip umum untuk mendapatkan konklusi yang lebih khusus. Contoh : Premis Mayor : Jika hujan turun saya tidak akan berangkat kuliah Premis Minor : Hari ini hujan turun Konklusi : Hari ini saya tidak akan berangkat kuliah 2. Penalaran induktif : Dimulai dari fakta – fakta khusus untuk mendapatkan kesimpulan Contoh : Premis 1 : Aljabar adalah pelajaran yang sulit Premis 2 : Geometri adalah pelajaran yang sulit Premis 3 : Kalkulus adalah pelajaran yang sulit Konklusi : Matematika adalah pelajaran yang sulit Munculnya premis baru bisa mengakibatkan gugurnya konklusi yang sudah diperoleh, misal : Premis 4 : Kinematika adalah pelajaran yang sulit 3 Premis tersebut menyebabkan konklusi : “Matematika adalah pelajaran yang sulit” menjadi salah, karena kinematika buka merupakan bagian dari matematika. Adalah sulit bila menggunakan penalaran induktif karena sangat dimungkinkan adanya ketidakpastian. Logika Preposisi Preposisi adalah suatu pernyataan yang dapat bernilai benar atau salah. Dua atau lebih preposisi dapat digabungkan dengan menggunakan operator logika : a. Konjungsi : ^ (And) b. Disjungsi : V (Or) c. Negasi : ~ d. Implikasi : → (If – Then / Jika Maka) e. Ekuivalensi : ↔ (If and Only If / Jika dan Hanya Jika) Contoh : Diketahui preposisi – preposisi berikut. P : Hari ini Hujan Q : Murid – murid diliburkan dari sekolah Maka P ^ Q : hari ini hujan dan murid – murid diliburkan dari sekolah P V Q : Hari ini hujan atau murid – murid diliburkan dari sekolah ~P : Tidak benar hari ini hujan (atau dalam kalimat lain yang lebih lazim. Hari ini tidak hujan) Contoh lain : P = Hujan turun sekarang Q = Saya tidak akan ke pasar Maka P → Q : Jika Hujan turun maka saya tidak akan ke pasar Logika Predikat 4 Logika predikat adalah logika yang digunakan untuk merepresentasikan masalah yang tidak dapat dilakukan atau direpresentasikan dengan menggunakan logika preposisi. Misal, diketahui fakta – fakta sebagai berikut. Andi adalah seorang laki – laki : A Ali adalah seorang laki – laki : B Amir adalah seorang laki – laki : C Anto adalah seorang laki – laki : D Agus adalah seorang laki – laki : E Jika kelima fakta tersebut dinyatakan dengan menggunakan preposisi, maka akan terjadi pemborosan. Di mana beberapa pernyataan dengan predikat yang sama akan dibuat dalam preposisi yang berbeda. Pada logika predikat, kita dapat merepresentasikan fakta – fakta sebagai suatu pernyataan yang disebut dengan WFF (Well Formed Formula). Pernyataan di atas sebelumnya dapat dibuat menjadi : seorang(x(Andi, Ali, Amir, Anto, Agus), laki – laki). Contoh lain : Diana adalah nenek dari Ibu Amir Nenek (Diana, Ibu (Amir)) Mahasiswa berada di dalam kelas Di dalam (Mahasiswa, Kelas) Dari contoh di atas dapat dijabarkan sebagai berikut. Di dalam = predikat (keterangan) Mahasiswa = argumen (objek) Kelas = argumen (objek) Jaringan Semantik 5 Jaringan semantik merupakan gambaran pengetahuan grafik yang menunjukkan hubungan antar berbagai objek. Jaringan semantik terdiri dari lingkaran – lingkaran yang menunjukkan objek dan informasi tentang objek – objek tersebut. Objek di sini bisa berupa benda atau peristiwa. Antara 2 objek dihubungkan oleh arc (panah) yang menunjukkan hubungan antar objek. Gambar berikut menunjukkan representasi pengetahuan menggunakan jaringan semantik. Pagi Masuk Roda Punya Sekolah Jumlahnya Sepeda Pergi Buku Baca Naik Berjudul Si Kancil Berwarna adalah Saudara adalah Binatang Contoh soal : Merah Laki2 Ani adalah adalah M. Hidup Dua Budi Punya adalah adalah Berwarna Wanita Baju 6 1. Buatlah jaringan semantik untuk cerita berikut ini : Mini adalah sejenis murai, dia hidup di sarang, yang berada di atas pohon di halaman belakang Tuan Abraham. Murai adalah sejenis burung, mereka dapat terbang dan mempunyai sayap. Mereka adalah spesies yang berbahaya, dan dilindungi oleh peraturan pemerintah. 2. Gambarkan representasi jaringan semantik untuk informasi objek – objek berikut ini : Ann is the wife of Bill, Ann is the mother of Susan, Ann is the Sister of Carol, Bill is the father of Susan, Tom is the Husband of Susan, Susan is the mother of John, Tom is the father of John, David is the husband of Carol, Carol is the mother of Tom, David is the father of Tom. Dari jaringan semantik yang Anda hasilkan, tuliskan representasi tersebut ke dalam bentuk cerita. Frame Frame adalah kumpulan pengetahuan tentang suatu objek tertentu, peristiwa, lokasi, situasi, dan lain – lain. Frame biasanya digunakan untuk merepresentasikan pengetahuan yang didasarkan pada karakteristik yang sudah dikenal, yang merupakan pengalaman – pengalaman. Dengan menggunakan frame, sangat mudah untuk membuat inferensi tentang objek, peristiwa, atau situasi baru, karena frame menyediakan basis pengetahuan yang ditarik dari pengalaman. Berikut ini adalah Frame untuk deskripsi sebuah kamar hotel. Kamar Hotel Kursi Hotel Spesialisasi dari : kamar Spesialisasi dari : kursi Tempat : Hotel Tinggi : 20 – 40 cm Isi : Kursi hotel, telepon hotel, ranjang hotel Jumlah kaki : 4 Kegunaan : tempat duduk Telepon Hotel Spesialisasi dari : telepon Kegunaan : Memanggil Pelayan Kamar Pembayaran : Melalui Kamar 7 Script Script merupakan representasi pengetahuan yang menggambarkan urutan kejadian. Script merepresentasikan situasi, pengetahuan, dan pengalaman. Penggambaran urutan peristiwa pada script menggunakan serangkaian slot yang berisi informasi tentang orang, objek, dan tindakan – tindakan yang terjadi dalam suatu peristiwa. Script mempunyai beberapa elemen yang tipikal, yaitu (Suparman : 1991) : 1. Kondisi masukan menggambarkan situasi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa yang ada dalam script. 2. Prop mengacu kepada objek yang digunakan dalam urutan peristiwa yang terjadi 3. Role mengacu kepada orang - orang yang terlibat dalam script. Hasilnya adalah kondisi yang ada sesudah peristiwa dalam script berlangsung. 4. Track mengacu kepada variasi yang mungkin terjadi dalam script tertentu. 5. Scene menggambarkan urutan peristiwa aktual yang terjadi. 8 6. Hasil merupakan kondisi setelah urutan peristiwa dalam script terjadi. Contoh sederhananya dapat dilihat pada script berangkat ke restoran seperti berikut ini. SCRIPT RESTORAN Jalur (Track) : Restoran Swalayan (Fast Food) Peran (Roles) : Tamu Pelayan Pendukung (Prop) : Counter, baki, makanan, uang, serbet, garam, merica, kecap, sedotan, dan lain – lain Kondisi masukan : Tamu Lapar – Tamu punya uang Adegan (Scene) 1 : Masuk • Tamu parkir mobil • Tamu masuk restoran • Tamu antri • Tamu baca menu di daftar menu dan mengambil putusan tentang apa yang akan dipesan Adegan 2 : Pesanan • Tamu memberikan pesanan kepada pelayan • Pelayan mengambil pesanan dan meletakkan makanan di atas baki. • Tamu membayar Adegan 3 : Makan • Tamu mengambil serbet, sedotan, garam, dan lain – lain • Tamu membawa baki makanan ke meja kosong. • Tamu makan dengan cepat Adegan 4 : Pulang • Tamu membersihkan meja • Tamu membuang sampah 9 • Tamu meninggalkan restoran • Tamu naik mobil dan pulang Hasil • Tamu merasa kenyang • Uang tamu jadi habis • Tamu senang • Tamu kecewa • Tamu sakit perut Contoh soal : 1. Buatlah representasi pengetahuan menggunakan script untuk : a. Pergi menonton di bioskop b. Membuat program penjumlahan dua bilangan c. Berbelanja di supermarket d. Pendaftaran ulang untuk semester depan e. Berobat ke dokter gigi f. Wawancara untuk melamar pekerjaan g. Memilih komputer 2. Buatlah representasi pengetahuan menggunakan frame untuk menggambarkan : a. Rumah Anda sendiri b. Automobile c. Personal Computer (PC) d. Hardware e. Dapur f. Perahu Layar g. Kursi 10 Sistem Pakar (Expert System) Penjelasan mengenai Sistem Pakar apabila ditinjau dari beberapa aspek, antara lain : • Implementasi kecerdasan sang pakar berbasis kode program komputer (code base skill implemetation), menggunakan teknik-teknik tertentu dengan bantuan database ataupun tidak. • Suatu bidang dari ilmu kecerdasan buatan dalam kaitannya dengan sistem pendukung keputusan yang dirancang dengan memasukkan unsur-unsur keahlian dari satu atau beberapa orang pakar kedalam suatu konsep terprogram (code base concept) dalam rangka pengambilan keputusan. • Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan. Adapun ciri – ciri sistem pakar diantaranya adalah : o Bekerja secara sistematis berdasarkan pengetahuan dan mekanisme tertentu. o Pengambilan keputusan berdasarkan kaidah-kaidah tertentu dan dapat merespons masukkan user (melalui kotak dialog). o Dapat menalar data-data yang tidak pasti dan memberikan beberapa alasan pemilihan. o Dikembangkan secara bertahap dan terbatas pada bidang keahlian tertentu saja. o Outputnya berupa saran atau anjuran. Beberapa kelebihan dari sistem pakar antara lain : 1. Efisiensi waktu, namun sistem atau orang biasa/awam yang terlibat di dalamnya bekerja layaknya sang pakar. 2. Penyimpanan data-data pengetahun ke dalam database dengan lengkap dan terpercaya menyebabkan informasi yang dibutuhkan bisa diakses dalam jangka waktu yang cukup lama. Sehingga seseorang yang berkonsultasi dengan sistem tersebut seolaholah berkonsultasi dengan pakar aslinya. 11 3. Dimungkinkan terjadinya penyatuan kemampuan sistem pakar yang satu dengan yang lainnya, sehingga membuat kualitas hasil lebih meningkat sehingga seolah-olah seorang user berkonsultasi dengan banyak pakar. 4. Efisiensi kerja, karena sistem biaya yang dikeluarkan untuk perancangan, implementasi dan perawatan(maintenance) sistem pakar relatif lebih murah dan tidak mengenal sifat lelah/lupa dll. Hal ini berimbas pada meningkatnya produktivitas dan kinerja perusahaan. 5. Suatu aplikasi sistem pakar dapat diperbanyak dan disebarluaskan dengan mudah dan cepat. Hal ini berarti telah memperbanyak jumlah pakar dan memperluas jangkauan aksesnya. Kerugian Expert System : 1 Sistem pakar hanya dapat menangani pengetahuan yang konsisten. Sistem pakar dirancang dengan aturan-aturan yang hasilnya sudah pasti dan konsisten sesuai dengan alur di diagram pohonnya. Untuk pengetahuan yang cepat berubah-rubah dari waktu ke waktu, maka knowledge base di sistem pakar harus selalu diubah (perbarui), yang tentu cukup merepotkan. 2 Sistem pakar tidak dapat menangani hal yang bersifat judgement. Sistem pakar memberikan hasil yang pasti, sehingga keputusan akhir pengambilan keputusan jika melibatkan kebijaksaaan dan institusi masih tetap di tangan manajemen. 3 Format knowledge base sistem pakar terbatas. Knowledge base pada sistem pakar berisi aturan-aturan (rules) yang ditulis dalam bentuk statemen if-then. Expert System terdiri dari 4 bagian yang harus dimilikinya yaitu : 1. Knowledge Base Sebuah database yang menyimpan informasi pengetahuan tertentu dan aturan – aturan tentang subjek tertentu. Representasi pengetahuan dengan sistem produksi berupa aplikasi aturan (Rule) yang berupa : 12 1. Antecedent, yaitu bagian yang mengekspresikan situasi atau premis (pernyataan berawalan IF) 2. Konsekuen, yaitu bagian yang menyatakan suatu tindakan tertentu atau konklusi yang diterapkan jika suatu situasi atau premis bernilai benar (pernyataan berawalan Then) Contoh : If The Traffic Light is Green then The Action is go Representasi pengetahuan dengan sistem produksi ini secara umum terdiri dari beberapa jenis yaitu sebagai berikut. 1. Relasi Contoh : If The fuel tank is empty Then the car is dead 2. Recommendation Contoh : If The Season is Autumn And The Sky is cloudy And the forecast is drizzle Then the advice is take an umbrella 3. Directive Contoh : If the car is dead And the fuel tank is empty Then the action is refuel the car 4. Strategy Contoh : IF the car is dead THEN the action is ‘check the fuel tank’; step1 is complete IF step1 is complete AND the ‘fuel tank’ is full 13 THEN the action is ‘check the battery’; step2 is complete 2. Inference Engine Dasar untuk membentuk inference engine a. Forward Chaining (penalaran maju) Pelacakan dimulai dari keadaan awal (informasi atau fakta yang ada) dan kemudian dicoba untuk mencocokkan dengan tujuan yang diharapkan. Sering juga disebut sebagai data driven reasoning b. Backward Chaining (penalaran mundur) Penalaran dimulai dari tujuan atau hipotesa, baru dicocokkan dengan keadaan awal atau fakta – fakta yang ada. Sering juga disebut sebagai goal driven reasoning. Cara kerja inference Engine adalah sebagai berikut. 1. Inference Engine akan melakukan pencocokan antara fakta yang berupa If part yang diinputkan oleh user dengan knowledge di dalam database 2. Jika If dari knowledge base = fact dalam database maka rule tersebut akan dieksekusi 3. Dihasilkan suatu pengetahuan berdasarkan rule yang dieksekusi. 1) Forward Chaining Bentuk Bulat Berbiji Tunggal Kulitnya Berambut Tumbuhan Daerah Panas Pohon Rambutan 2) Backward Chaining 14 Start Goal : Pohon Rambutan Tumbuhan Daerah Panas Kulitnya berambut Berbiji Tunggal Bentuknya bulat Kulitnya halus Berbiji Banyak Bentuknya panjang 3. Antar Muka Pemakai (User Interface) - Bagian penghubung antara sistem pakar dengan pemakai - Akan terjadi dialog antara program dan pemakai - Program akan mengajukan pertanyaan – pertanyaan dan jawaban berbentuk “ya” / “tidak”, berbentuk panduan menu (menu driven), pernyataan – pernyataan bahasa alami (natural language), dan graphics interface style. Program sistem pakar akan mengambil kesimpulan berdasarkan jawaban – jawaban dari pemakai tadi. 4. Development Engine Bagian dari sistem pakar sebagai fasilitas untuk mengembangkan mesin inferensi dan penambahan basis pengetahuan yang akan dilakukan oleh knowledge engineer (harus punya keahlian dalam mengerti bagaimana pakar menerapkan pengetahuan mereka dalam memecahkan masalah, mampu mengekstraksi penjelasan (knowledge acquisition) mengenai pengetahuan dari pakar), bila si pakar menemukan pengetahuan dan aturan yang baru dari pengalaman ia bekerja. Studi Kasus : 15 Rancanglah sistem pakar untuk mendeteksi suatu penyakit jeruk. Di mana rule yang ada adalah sebagai berikut. TabelPenyakit Akar Baik Batang Baik Baik Baik Baik Baik Baik Baik Daun Cabang Menebal, Menggulung, Baik Gugur Bercak-bercak putih, tak Baik segar, gugur Baik Baik Tunas Bunga Tidak berkembang Gugur Baik Baik Baik Baik Baik Baik Baik Baik Baik Baik Bergulung Baik Gugur Baik Tidak segar, berbekas paru-paru Baik Berbekas paru-paru Gundul Gugur, bercak-bercak coklat Bercak basah Tidak Segar Baik Baik Baik Baik Jorok Baik Baik Baik Baik Baik Mati Tidak segar Gugur Baik Terdapat sarang labalaba Baik Baik Tidak segar Baik Baik Baik Bersisik Terdapat lapisan warna Baik putih, mengeriting, bentuk daun menyimpang Gugur Terdapat bintik-bintik spora Jorok, bercak hitam, tidak Baik segar Baik Baik Berkerut Kerdil Terdapat spora Baik cendawan putih Baik Baik Baik Jorok Tidak segar Kerdil Kerdil Baik Terdapat bercak hitam Terdapat bercak berlendir Tak segar Seperti Stress Tidak segar Rapuh Kerdil Ada bekas gigitan Baik Baik Gugur Tidak segar Kerdil Kerdil Kerdil Rontok Terdapat larv putih Bergulung Tidak muncu Tidak berkembang Tak berkembang Tidak berkembang Tak berkembang Tidak segar Tak berkembang Terputus, tidak Baik memunculkan bunga Tidak segar Berlebihan Tidak muncul Gugur Ada bekas gigitan Tidak segar Baik Baik Baik Baik Tidak muncul Baik Baik Baik Baik Baik Baik Ranting Baik Baik Baik BercakMati bercak coklat Baik Jaringan kulit berubah Terdapat lapisan hitam Baik Gugur, menguning, tulang Baik daun pucat Kulit kehitam- Warna kekuninganBaik hitaman kuningan Berlendir Tak berkembang Baik Baik Baik Terdapat bercak seperti Mata ikan Baik Kerdil Tidak berkembang Tidak berkembang Baik Baik Baik Berlebihan Baik Jarang Baik 16 TabelPenyakit Baik Akar Batang Jorok Daun Tidak berkembang Baik Baik Baik Baik Tidak segar Baik Cabang Ranting Terdapat Kerdil bintik merah Baik Baik Baik Baik Tunas Tidak muncul Baik Baik Bunga Tak berkembang Baik Baik Sedangkan Isi Tabel Penanggulangannya adalah sebagai berikut. TblPenanggulangan Jenis Penyakit Trips Tungau Lalat Buah Ulat Penggerek Paru Buah Antroknosa Busuk Pangkal Batang Embun Jelaga Trestesa Diplodia Embun Tepung Jamur Upas Kutu Babi Kutu Buah Kutu Sisik Lada-lada Kopsit Keong Busuk Akar Kangker Tua-tua Mata Ikan Jamur Merah Kudis Buah Busuk Penanggulangan Potong Cabang yang terserang, hindari Mulsa, gunakan Insektisida Atur tajuk, jauhkan mulsa jerami, gunakan Akrisida Musnahkan buah yang terserang, gunakan tanaman perangkap, lakukan pengasapan, gunakan pestisida. Musnahkan bagian yang terserang, petik bunga/buah yang terserang, gunakan Ablysilan citri, gu Potong bagian yang terserang, gunakan tanaman alami, gunakan insektisida yang terdaftar Jaga kesuburan tanah, Lakukan sanitasi, potong cabang yang rimbun, funsida Mankozeb Hindari pengairan, hindari luka pada batang dan akar, potong bagian yang terserang, pemupuka Potong cabang yang tidak produktif, gunakan fungsida, gunakan insektida. Lakukan Eradikasi, Tanaman Inang, gunakan Insektisida Potong bagian yang terserang, bersihkan Gulma, kurangi Kelembaban, Penjarangan buah, bers California Lakukan Sanitasi Tunas, Semprot serbuk Belerang, gunakan fungsida Lakukan sanitasi kebun, potong bagian yang terserang, hindari kelembaban, oleskan fungsida Lakukan pemangkasan, bersihkan gulma, gunakan pestisida Hindari pemadatan cabang,Semprotkan serbuk belerang, semprotkan pembersih, gunakan Meth Lakukan pemengkasan, hindari kelembaban, gunakan pestisida Tiamutaksan Lakukan pembersihan, gunakan pembersih, gunakan pestisida Tramutaksan Gunakan Tramuksan, Asejab Taburkan Limbah kulit Padi disekitar batang, bersihkan gulma, lakukan penyemprotan dengan a Bersihkan gulma, Hindari kelembaban, potong akar yang busuk, lakukan pemupukan seimbang. Lakukan Penggemburan disekitar batang, pemberian Tanah gemuk, Pupuk nitrogen, bongkar Hindari kepadatan ranting, semprotkan serbuk belerang, gunakan pestisida Metomil Hindari kepadatan cabang, gunakan pestisida Difakonozol, Hexakomozol Lakukan pembersihan batang, semprotkan pembersih, gunakan petisita Samite Jaga tingkat kelebaban, usahakan tajuk kena sinar matahari, gunakan pestida yang terdaftar. Lakukan pemangkasan, gunakan pestisida Benlox, Mankazeb 17 Cara Kerja Sistem Pakar Adapun cara kerja dari sistem pakar untuk mendeteksi penyakit jeruk ini adalah sebagai berikut. 1. User diminta untuk menginputkan data akar, batang, daun, cabang, ranting, tunas, bunga, dan buah. 2. Berdasarkan data – data yang sudah diinputkan oleh user maka sistem pakar kemudian akan mencari jenis penyakit apa yang menyerang tanaman. 3. Berdasarkan jenis penyakit yang sudah teridentifikasi ini kemudian sistem pakar akan memberikan solusi penanggulangannya. Adapun bentuk tampilan form untuk pengisian data akar, batang, daun, cabang, ranting, tunas, bunga, dan buah adalah sebagai berikut. Combo1 Combo2 Combo3 Combo4 Combo5 Combo6 Combo7 Combo8 Text1 18 NB : Isi Combo Box akar, batang, daun, cabang, ranting, tunas, bunga, dan buah adalah diperoleh dari tabel Penyakit. Sebagai contoh kondisi akar yang berasal dari tabel penyakit adalah baik, berlendir, dan tak berkembang. Maka combo box akar isinya adalah baik, berlendir, dan tak berkembang. Adapun bentuk tampilan form penanggulangan adalah sebagai berikut. Combo1 Text1 Adapun kode programnya adalah sebagai berikut. Kode Program untuk Modul Option Explicit Public KonekDb As New ADODB.Connection Public Rs_jeruk As ADODB.Recordset Public Rs_penyakit As ADODB.Recordset Public Rs_jeruk1 As ADODB.Recordset Public Rs_penyakit1 As ADODB.Recordset 19 Public StrKonekDb As String Public strSQL, SQL, sqldasal As String Public Sub BukaDatabase() Set KonekDb = New ADODB.Connection StrKonekDb = "Provider=Microsoft.Jet.OLEDB.4.0;Persist " _ & "Security Info=False;Data Source=" _ & App.Path + "\jeruk.mdb" On Error Resume Next If KonekDb.State = adStateOpen Then KonekDb.Close Set KonekDb = New ADODB.Connection KonekDb.Open StrKonekDb Else KonekDb.Open StrKonekDb End If 'Periksa KonekDb If Err.Number <> 0 Then MsgBox "GAGAL KONEKSI DATABASE, SILAHKAN PERBAIKI DATA SETTING ANDA", vbOKOnly, "Kesalahan" End Else 'MsgBox "KonekDb Sukses..!!!", vbInformation, "Pesan" End If SQL = "" SQL = "SELECT *" _ & " FROM TabelPenyakit " Set Rs_jeruk = New ADODB.Recordset Rs_jeruk.Open SQL, _ KonekDb, adOpenDynamic, adLockOptimistic SQL = "" SQL = "SELECT *" _ 20 & " FROM TabelPenyakit " Set Rs_penyakit = New ADODB.Recordset Rs_penyakit.Open SQL, _ KonekDb, adOpenDynamic, adLockOptimistic SQL = "" SQL = "SELECT *" _ & " FROM TblPenanggulangan " Set Rs_jeruk1 = New ADODB.Recordset Rs_jeruk1.Open SQL, _ KonekDb, adOpenDynamic, adLockOptimistic SQL = "" SQL = "SELECT *" _ & " FROM TblPenanggulangan " Set Rs_penyakit1 = New ADODB.Recordset Rs_penyakit1.Open SQL, _ KonekDb, adOpenDynamic, adLockOptimistic End Sub Kode Program untuk Form Gejala Dim a(100) As String Dim b(100) As String Dim c(100) As String Dim d(100) As String Dim e(100) As String Dim f(100) As String Dim g(100) As String Dim h(100) As String Dim a1(100) As String Dim b1(100) As String Dim c1(100) As String Dim d1(100) As String Dim e1(100) As String Dim f1(100) As String Dim g1(100) As String Dim h1(1100) As String Private Sub Command1_Click() 21 Set Rs_penyakit = New ADODB.Recordset SQL = "SELECT *FROM tabelpenyakit where akar ='" & Combo1.Text & "' and batang='" & Combo2.Text & "' and daun='" & Combo3.Text & "' and cabang='" & Combo4.Text & "' and ranting='" & Combo5.Text & "' and tunas='" & Combo6.Text & "' and bunga='" & Combo7.Text & "' and buah='" & Combo8.Text & "'" Rs_penyakit.Open SQL, KonekDb, adOpenKeyset, adCmdText If Rs_penyakit.BOF Then MsgBox "Data tidak ditemukan" Exit Sub Else Rs_penyakit.MoveFirst Do While Not Rs_penyakit.EOF On Error Resume Next Text1.Text = Rs_penyakit!penyakit Rs_penyakit.MoveNext Loop End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Call BukaDatabase With Rs_jeruk .MoveFirst Do While Not .EOF 'MsgBox tampung a(jum) = !akar b(jum) = !batang c(jum) = !daun d(jum) = !cabang e(jum) = !ranting f(jum) = !tunas adLockReadOnly, 22 g(jum) = !bunga h(jum) = !buah jum = jum + 1 .MoveNext Loop End With For i = 0 To jum - 1 For j = 0 To angka If a(i) <> a1(j) Then If j = angka Then a1(angka) = a(i) Combo1.AddItem a1(angka) angka = angka + 1 End If Else j = angka End If Next j Next i For i = 0 To jum - 1 For j = 0 To angka If b(i) <> b1(j) Then If j = angka Then b1(angka) = b(i) Combo2.AddItem b1(angka) angka = angka + 1 End If Else j = angka End If Next j Next i For i = 0 To jum - 1 23 For j = 0 To angka If c(i) <> c1(j) Then If j = angka Then c1(angka) = c(i) Combo3.AddItem c1(angka) angka = angka + 1 End If Else j = angka End If Next j Next i For i = 0 To jum - 1 For j = 0 To angka If d(i) <> d1(j) Then If j = angka Then d1(angka) = d(i) Combo4.AddItem d1(angka) angka = angka + 1 End If Else j = angka End If Next j Next i For i = 0 To jum - 1 For j = 0 To angka If e(i) <> e1(j) Then If j = angka Then e1(angka) = e(i) Combo5.AddItem e1(angka) angka = angka + 1 End If Else j = angka End If 24 Next j Next i For i = 0 To jum - 1 For j = 0 To angka If f(i) <> f1(j) Then If j = angka Then f1(angka) = f(i) Combo6.AddItem f1(angka) angka = angka + 1 End If Else j = angka End If Next j Next i For i = 0 To jum - 1 For j = 0 To angka If g(i) <> g1(j) Then If j = angka Then g1(angka) = g(i) Combo7.AddItem g1(angka) angka = angka + 1 End If Else j = angka End If Next j Next i For i = 0 To jum - 1 For j = 0 To angka If h(i) <> h1(j) Then If j = angka Then 25 h1(angka) = h(i) Combo8.AddItem h1(angka) angka = angka + 1 End If Else j = angka End If Next j Next i End Sub Kode Program untuk Form Penanggulangan Dim a(100) As String Private Sub Command1_Click() Set Rs_penyakit1 = New ADODB.Recordset SQL = "SELECT *FROM tblPenanggulangan where [jenis penyakit] ='" & Combo1.Text & "'" Rs_penyakit1.Open SQL, KonekDb, adOpenKeyset, adCmdText If Rs_penyakit1.BOF Then MsgBox "Data tidak ditemukan" Exit Sub Else Rs_penyakit1.MoveFirst Do While Not Rs_penyakit1.EOF On Error Resume Next Text1.Text = Rs_penyakit1!penanggulangan Rs_penyakit1.MoveNext Loop End If End Sub Private Sub Command2_Click() Unload Me End Sub adLockReadOnly, 26 Private Sub Form_Load() Call BukaDatabase With Rs_jeruk1 .MoveFirst Do While Not .EOF 'MsgBox tampung a(jum) = ![jenis penyakit] jum = jum + 1 .MoveNext Loop End With For i = 0 To jum - 1 Combo1.AddItem a(i) Next i End Sub Tugas Buatlah Sistem Pakar untuk Mendeteksi Kerusakan Komputer. Struktur Database nya sebagai berikut. Tabel Gejala Gejala KodeGejala Nama Gejala G0001 Komputer Memiliki Tampilan Video G0002 Komputer Tidak Memiliki Tampilan Video G0003 Kipas Pencatu Daya Berputar G0004 Kipas Pencatu Daya Tidak Berputar G0005 Ada Komponen yang Meleleh atau terbakar G0006 Tidak Ada komponen yang meleleh atau terbakar G0007 Komputer berbunyi Beep saat dinyalakan G0008 Komputer tidak berbunyi Beep saat dinyalakan G0009 Komputer Mengeluarkan Bunyi Beep satu kali G0010 Komputer Mengeluarkan Bunyi Beep berkali - kali G0011 Komputer memiliki ROM BIOS AMI G0012 Komputer Tidak memiliki ROM BIOS AMI G0013 Kualitas video tidak memadai G0014 Kualitas video memadai G0015 Komputer menampilkan adanya pesan kesalahan 27 Gejala KodeGejala Nama Gejala G0016 Komputer tidak menampilkan adanya pesan kesalahan G0017 Komputer dapat di boot G0018 Komputer tidak dapat di boot G0019 Komputer memiliki hard disk G0020 Komputer tidak memiliki hard disk G0021 Komputer memiliki floppy disk G0022 Komputer dapat diboot dan ada tampilan video G0023 Peripheral lain bekerja G0024 Peripheral lain tidak bekerja G0025 Papan ketik bekerja G0026 Papan ketik tidak bekerja G0027 Peripheral tersebut mempunyai antar muka khusus G0028 Peripheral tersebut tidak mempunyai antar muka khusus G0029 Peripheral jenisnya serial G0030 Peripheral tersebut mouse G0031 Komputer bisa diboot normal tetapi kadang - kadang macet G0032 Komputer bisa diboot normal tetapi kadang - kadang mereset sendiri G0033 Komputer bisa diboot tidak mereset sendiri G0034 Hasil pemeriksaan chip memori tidak ditemukan memori yang buruk G0035 Komputer Bekerja setelah anda mengganti pencatu daya G0036 Komputer tidak bekerja walaupun anda telah mengganti pencatu daya G0037 Komputer bekerja setelah anda mengganti motherboard yang baik kerjanya G0038 ada chip RAM yang gagal tes G0039 Tidak ada chip RAM yang gagal tes G0040 Komputer bekerja normal setelah memasang UPS G0041 Komputer tetap tidak bekerja walaupun Anda memasang UPS Tabel Solusi Solusi KodeSolusi Gej1 Gej2 Gej3 Gej4 Gej5 Gej6 NamaSolusi S0001 G0001 G0013 Konsultasikan dengan memanggil basis pengetahuan mengenai video S0002 G0001 G0014 G0015 Periksa sesuai dengan pesan kesalahan dan lakukan perbaikan sesuai dengan pesan kesalahan S0003 G0001 G0014 G0016 G0017 Undefined / Tidak ada kerusakan awal S0004 G0001 G0014 G0016 G0018 G0020 G0021 Konsultasikan dengan memanggil basis pengetahuan mengenai floppy drive S0005 G0001 G0014 G0016 G0018 G0019 Konsultasikan dengan memanggil basis pengetahuan mengenai hard disk S0006 G0002 G0004 G0006 Konsultasikan dengan memanggil basis pengetahuan mengenai tidak beroperasinya kipas pendingin S0007 G0002 G0004 G0005 Konsultasikan dengan memanggil basis pengetahuan perbaikan komponen terbakar 28 Solusi KodeSolusi Gej1 Gej2 Gej3 Gej4 Gej5 Gej6 NamaSolusi S0008 G0002 G0003 G0008 Konsultasikan dengan memanggil basis pengetahuan mengenai memori S0009 G0002 G0003 G0007 G0009 G0011 Konsultasikan dengan memanggil basis pengetahuan mengenai video S0010 G0002 G0003 G0007 G0010 Periksa sesuai dengan kode kesalahan beep S0011 G0002 G0003 G0007 G0012 Periksa sesuai dengan kode kesalahan S0012 G0022 G0023 G0025 Masalah IWF (Intermitten Weird Failure) S0013 G0022 G0023 G0026 Konsultasikan dengan memanggil basis pengetahuan mengenai papan ketik S0014 G0022 G0024 G0027 Periksa buku petunjuk, kemungkinan ada konflik address atau konflik interrupt S0015 G0022 G0024 G0028 G0030 Konsultasikan dengan memanggil basis pengetahuan mengenai mouse S0016 G0032 G0038 Memori Anda rusak, gantilah memori tersebut S0017 G0031 G0036 G0039 G0040 Gunakan UPS S0018 G0031 G0036 G0039 Ganti Pencatu daya S0019 G0031 G0036 Perangkat lunak tidak lengkap atau BIOS yang kadaluarsa atau menggunakan perangkat lunak bajakan S0020 G0033 G0037 Bawa ke pusat reparasi S0021 G0032 G0036 Perangkat lunak tidak lengkap atau BIOS yang kadaluarsa atau menggunakan perangkat lunak bajakan S0022 G0032 G0036 G0040 Pakailah UPS S0023 G0032 G0036 G0037 G0041 Ganti Motherboard Data Mining Data Mining (DM) adalah salah satu bidang yang berkembang pesat karena besarnya kebutuhan akan nilai tambah dari database sekala besar yang semakin banyak terakumulasi sejalan dengan pertumbuhan teknologi informasi. Definisi umum dari DM itu sendiri adalah serangkaian proses untuk menggali nilai tambah berupa pengetahuan yang selama ini tidak diketahui secara manual dari suatu kumpulan data. 29 Data Mining merupakan salah satu cabang ilmu komputer yang relatif baru. Sampai saat ini orang masih memperdebatkan untuk menempatkan data mining di bidang ilmu mana, karena data mining menyangkut database, artificial intelligence (kecerdasan buatan), statistik, dan sebagainya. Ada pihak yang berpendapat bahwa data mining tidak lebih dari analisa statistik yang berjalan di atas database. Namun, pihak lain berpendapat bahwa database berperan penting di data mining karena data mining mengakses data yang ukurannya besar (bisa sampai terabyte). Illustrasi Data Mining : 1. Bayangkan berapa transaksi yang dimasukkan oleh Hypermarket semacam Carrefour atau transaksi kartu kredit dari sebuah bank dalam seharinya dan bayangkan betapa besarnya ukuran data mereka jika nanti telah berjalan beberapa tahun. Pertanyaannya adalah, apakah data tersebut akan dibiarkan menggunung, tidak berguna lalu dibuang, ataukah kita dapat menambangnya untuk mencari emas, berlian yaitu informasi yang berguna untuk organisasi kita. Misalnya dari data penjualan dari Hypermarket Carrefour kita bisa mengetahui jika untuk meningkatkan penjualan produk A maka kita harus meletakkan produk A berdekatan dengan produk apa. 2. Jika Anda mempunyai kartu kredit, sudah pasti Anda bakal sering menerima surat berisi brosur penawaran barang atau jasa. Jika bank pemberi kartu kredit mempunyai 1.000.000 nasabah, dan mengirimkan sebuah (hanya satu) penawaran dengan biaya pengiriman sebesar Rp. 1.000 per buah maka biaya yang dihabiskan adalah Rp. 1 Milyar. Jika bank tersebut mengirimkan penawaran sekali sebulan berarti 12 x dalam setahun, maka anggaran yang dikeluarkan per tahunnya adalah Rp. 12 Milyar. Dari dana Rp. 12 Milyar yang dikeluarkan, berapa persenkah konsumen yang benar – benar membeli? Mungkin hanya 10% nya. Secara harfiah, berarti 90% dana tersebut terbuang sia – sia. Persoalan di atas merupakan salah satu persoalan yang dapat diatasi oleh Data Mining dari sekian banyak potensi permasalahan yang ada. 30 Data Mining dapat menambang data transaksi belanja kartu kredit untuk melihat manakah pembeli – pembeli yang memang potensial untuk membeli produk tertentu. Mungkin tidak sampai pada presisi 10%, tetapi bayangkan jika kita dapat menyaring 20%, tentunya 80% dana dapat digunakan untuk hal lain. Data Mining sering dikenal dengan nama Knowledge Discovery in Database (KDD). Namun, sebenarnya Data Mining merupakan salah satu langkah di dalam KDD. 1. Data Selection 2. Data Cleaning 3. Data Transformation 4. Data Mining 5. Evaluation 6. Representation of Knowledge Teori Rough Set dan Data Mining Teori Rough Set adalah sebuah teknik matematika yang dikembangkan oleh Pawlack pada Tahun 1980. Teknik ini merupakan teknik yang efisien untuk KDD proses dan Data Mining. Secara umum, teori Rough Set telah digunakan dalam banyak aplikasi seperti Medicine, Pharmacology, Business, Banking, Engineering Design, Image Processing, dan Decision Analysis. Atribut di dalam Rough Set ada 2 yaitu : 1. Atribut kondisi (Conditional Attribute) 2. Atribut keputusan (Decision Attribute) Rough set menawarkan dua bentuk representasi data yaitu Information System (IS) dan Decision System (DS). 31 Definisi Information System : Sebuah Information System (IS) adalah pasangan IS = {U,A}, di mana U = {e1, e2, e3, …, em} dan A = {a1, a2, …, an} yang merupakan sekumpulan example dan atribut kondisi secara berurutan. Definisi di atas memperlihatkan bahwa sebuah Information System terdiri dari sekumpulan example, seperti {e1, e2, …, em} dan atribut kondisi, seperti {a1, a2, …, an}. Sebuah Information System yang sederhana dapat dilihat pada tabel di bawah ini. Object Tabel Information System Example Studies Education …. Works E1 Poor SMU …. Poor E2 Poor SMU …. Good E3 Moderate SMU …. Poor E4 Moderate Diploma …. Poor E5 Poor SMU …. Poor E6 Poor SMU …. Poor E7 Moderate Diploma …. Poor E8 Good MSc …. Good E9 Good MSc …. Good E10 Good MSc …. Good …. …. …. …. …. E99 Poor SMU …. Good E100 Moderate Diploma …. Poor Tabel di atas memperlihatkan sebuah Information System yang sederhana. Dalam Information System, tiap – tiap baris merepresentasikan objek sedangkan Column merepresentasikan attribute. Di mana terdiri dari m objek, seperti E1, E2, E3, ... , Em, dan n attribute seperti Studies, Education, ...., Works. 32 Dalam banyak aplikasi, sebuah outcome dari pengklasifikasian diketahui yang direpresentasikan dengan sebuah Decision Attribute,C = {C1, C2, ... , Cp). Maka Information System (IS) menjadi IS = (U, {A,C}). Decision Systems (DS) yang sederhana dapat diperlihatkan pada tabel di bawah ini. Decision Attribute Example Studies Education .... Works Income E1 Poor SMU .... Poor None E2 Poor SMU .... Good Low E3 Moderate SMU .... Poor Low E4 Moderate Diploma .... Poor Low E5 Poor SMU .... Poor None E6 Poor SMU .... Poor None E7 Moderate Diploma .... Poor Low E8 Good MSc .... Good Medium E9 Good MSc .... Good Medium E10 Good MSc .... Good High .... .... .... .... .... .... E99 Poor SMU .... Good Low E100 Moderate Diploma .... Poor Low Tabel di atas memperlihatkan sebuah Decision System yang sederhana. Terdiri dari m objek, seperti E1, E2, ..., Em, dan n attribute, seperti Studies, Education, ..., Works dan Income (D). Dalam tabel ini, n-1 attribute: Studies, Education, ..., Works adalah attribute kondisi, sedangkan Income adalah Decision Attribute. 33 Kemudian setelah itu akan dibentuk Equivalence Class. Di mana Equivalence class adlah mengelompokkan objek – objek yang sama untuk attribute A ε (U, A). Diberikan Decision Systems pada tabel sebelumnya sehingga kita dapat memperoleh Equivalence Class (EC1 – EC5) seperti digambarkan pada tabel berikut. Class Studies Education Works Income Num_Obj EC1 Poor SMU Poor None 50 EC2 Poor SMU Good Low 5 EC3 Moderate SMU Poor Low 30 EC4 Moderate Diploma Poor Low 10 EC5,1 Good MSc Good Medium 4 EC5,2 Good MSC Good High 1 Class EC5 adalah sebuah indeterminacy yang memberikan 2 (dua) keputusan yang berbeda. Situasi ini dapat ditangani dengan teknik data cleaning. Kolom yang paling kanan mengindikasikan jumlah objek data yang ada adalah Decision System untuk class yang sama. Setelah dibentuk Equivalence Class maka langkah selanjutnya adalah membentuk Discernibility Matrix. Definisi Discernibility Matrix : Diberikan sebuah IS A = (U,A) and B ⊆ A, Discernibility matrix dari A adalah MB, di mana tiap – tiap entry MB (I,j) terdiri dari sekumpulan attribute yang berbeda antara objek Xi dan Xj. Tabel berikut memperlihatkan Discernibility Matrix dari tabel sebelumnya. EC1 EC2 EC3 EC4 EC5 EC1 x C A Ab Abc EC2 C X Ac Abc Ab 34 EC3 A Ac X B Abc EC4 Ab Abc B x Abc EC5 Abc Ab Abc Abc x Adapun Discernibilty Matrix Modulo D : Diberikan sebuah DS A = (U, A{d}) dan subset dari attribute B ⊆ A, Discernibility matrix modulo D dari A, MBd, didefinisikan seperti berikut dimana MB(I,j) adalah sekumpulan attribute yang berbeda antara objek Xi dan Xj dan juga berbeda attribute keputusan. Adapun Discernibility Matrix Modulo D dapat dilihat pada tabel berikut. EC1 EC2 EC3 EC4 EC5 EC1 X C A Ab Abc EC2 C X X x Ab EC3 A X X X Abc EC4 Ab X X X Abc EC5 Abc Ab Abc Abc X Kemudian setelah itu akan dihasilkan Reduct, di mana reduct adalah penyeleksian attribut minimal (interesting attribute) dari sekumpulan attribut kondisi dengan menggunakan prime implicant fungsi boolean. Kumpulan dari semua Prime Implicant mendeterminasikan sets of reduct. Discernibility matrix modulo D pada tabel sebelumnya dapat ditulis sebagai formula CNF seperti diperlihatkan pada tabel di bawah ini. Class CNF of Boolean Function Prime Implicant Reducts E1 c ^ a ^ (avb) ^ (avbvc) a^c {a,c} E2 c ^ (avb) c(avb) {a,c},{b,c} E3 a^(avbvc) A {a} E4 (avb)^(avbvc) Avb {a},{b} E5 (avbvc)^(avb) (avb) {a},{b} 35 Setelah dihasilkan reduct, maka langkah selanjutnya adalah menghasilkan rule yang ada berdasarkan reduct tersebut. Knowledge yang dihasilkan : Reduct = (a, c) (Studies, Works) - If studies = poor and works = poor then income = none - If studies = poor and works = good then income = low - If studies = moderate and works = poor then income = low - If studies = good and works = good then income = medium or income = high Reduct = (b,c) (Education, Works) - If education = SMU and works = poor then income = none or income = low - If education = SMU and works = good then income = low - If education = diploma and works = poor then income = low - If education = MSc and works = good then income = medium or income = high Reduct = (a) (Studies) - If studies = poor then income = none or income = low - If studies = moderate then income = low Reduct = (b) (education) - If education = SMU then income = none or income = low - If education = Diploma then income = low - If education = MSc then income = Medium or income = High Salah satu aplikasi yang mengimplementasikan pemakaian algoritma Rough Set ini adalah Rosetta. Adapun cara penggunaannya adalah sebagai berikut. 1. Ketikkan data yang ada pada lembar kerja Microsoft Excel. Misalkan data yang diketikkan adalah sebagai berikut. Example Studies Education .... Works Income E1 Poor SMU .... Poor None 36 E2 Poor SMU .... Good Low E3 Moderate SMU .... Poor Low E4 Moderate Diploma .... Poor Low E5 Poor SMU .... Poor None E6 Poor SMU .... Poor None E7 Moderate Diploma .... Poor Low E8 Good MSc .... Good Medium E9 Good MSc .... Good Medium E10 Good MSc .... Good High .... .... .... .... .... .... E99 Poor SMU .... Good Low E100 Moderate Diploma .... Poor Low 37 2. Kemudian setelah itu jalankan progra aplikasi Rosetta. Maka akan dijumpai tampilan berikut. 38 3. Setelah itu klik menu File – New 4. Maka akan dijumpai tampilan berikut. 5. Selanjutnya klik kanan pada bagian Structures, lalu pilih ODBC. Maka akan muncul tampilan berikut. 39 6. Selanjutnya pilih Open Database. Makan akan dijumpai tampilan berikut. 7. Pilih Tab Machine Data Source. 8. Pilih Excel Files. Setelah itu OK 9. Selanjutnya pilih lokasi penyimpanan file Excel dan pilih file excel yang ingin digunakan sebagai data. Setelah itu klik OK. 10. Maka akan muncul tampilan berikut. 40 11. Berikan tanda check list pada semua pilihan atribut yang ada. Setelah itu klik tombol OK. Maka Anda akan menjumpai hasil sebagai berikut. 12. Tampak pada gambar di atas bahwa telah muncul Book1 yang merupakan nama file excel di mana kita mengetikkan data yang sebelumnya. 41 13. Setelah itu klik kanan pada Book1 dan pilih Reduce – Dynamic Reduct (RSES), maka akan dijumpai tampilan berikut. 14. Setelah itu OK, maka akan dijumpati tampilan berikut. 15. Klik kanan pada bagian No name lalu pilih Generating Rules. Maka akan diperoleh hasil berikut. 42 16. Double Klick No name yang berwarna kuning, maka akan diperoleh hasil berikut. Tugas : Carilah aplikasi lain yang cara kerjanya menggunakan algoritma Rough Set. 43 Studi Kasus : Penerapan Algoritma Rough Set untuk Sistem Penilaian dan Analisis Kinerja Dosen Dalam rangka menilai dan menganalisis kinerja dosen didasarkan pada sejumlah komponen penilaian seperti : 1. Proses belajar mengajar (Maks. 50%) 2. Bimbingan dan konsultasi (Maks. 20%) 3. Penelitian dan pengabdian pada masyarakat (Maks. 20%) 4. Tugas lain di luar tugas utama (Maks. 10%) Komponen Proses Belajar Mengajar Kriteria Yang Dinilai Bobot a. Memenuhi jumlah tatap muka sesuai dengan yang 10% dijadwalkan, termasuk hadir dan selesai tepat waktu b. Membuat Soal Ujian, Jawaban dan mengkoreksi tepat 10% waktu c. Mengawas ujian seusai dengan penjadwalan dan tugas 5% utama d. Menguji magang kerja dan skripsi sesuai dengan 5% penjadwalan e. Hasil feed back / penilaian dari mahasiswa tentang proses 20% belajar mengajar Komponen Bimbingan dan Konsultasi Kriteria Yang Dinilai Bobot a. Memberikan bimbingan magang kerja / KP dan Skripsi 10% b. Menjadi penasehat akademik (dosen wali) 10% 44 Komponen Penelitian dan Pengabdian pada Masyarakat Kriteria Yang Dinilai a. Bobot Membuat karya ilmiah : penelitian, makalah, buku, 10% diktat, artikel di jurnal / majalah / koran, dsb b. Melakukan pengabdian masyarakat : bakti sosial, 10% memberikan penyuluhan / pelatihan, termasuk membina mahasiswa Komponen Tugas Lain di Luar Tugas Utama Kriteria Yang Dinilai Bobot a. Bertugas sebagai panitia 5% b. Menghadiri kegiatan yang diselenggarakan perguruan 10% tinggi : seminar, pelatihan, simposium, rapat kerja, upacara, dsb Adapun Total hasil penilaian kemudian dijadikan dalam bentuk kategori dengan ketentuan : <50 dikatakan Kurang = 1 51 ≤ X ≤ 70 dikategorikan Cukup = 2 71 ≤ X ≤ 80 dikategorikan Baik = 3 81 ≤ X ≤ 100 dikategorikan Sangat Baik = 4 Adapun data nama dosen dan nilai untuk masing – masing komponen penilaian adalah seperti yang terlihat pada decision system berikut.. 45 NIDN Nama Dosen Nilai Nilai Nilai Nilai Jumlah Keputusan PBM BK PPM TL Nilai 0004076207 Dr. Edy Hermansyah, PhD 45 15 16 10 86 Sangat Baik 0003125905 Drs. Indra Sakti L, MPd 39 10 15 8 75 Baik 0210067002 Yulia Darmi, M.Kom 38 9 10 7 67 Cukup 0524117601 Andang Sunarto, M.Kom 40 15 15 10 78 Sangat baik 0020027105 Anizar Indriani, M.T. 40 10 15 7 72 Baik 0206077901 Herlina L.S, S.Kom 38 20 5 10 70 Baik 0213047501 Dini Selviana, S.Kom 35 15 5 10 65 Cukup 0206107901 Munazip Alperi, M.Si 42 8 20 5 70 Baik 0210128102 Ahmad Syakirman, S.Pd 43 7 10 10 72 Baik 0215127703 M. Jhon, M.Kom 35 12 15 10 75 Baik 46 Untuk atribut A dikelompokkan menjadi 4 kelompok, yaitu : 0 ≤ X ≤ 35 = 1 36 ≤ X ≤ 40 = 2 41 ≤ X ≤ 45 = 3 46 ≤ X ≤ 50 = 4 Untuk atribut B dikelompokkan menjadi 4 kelompok, yaitu : 0≤X≤8=1 9 ≤ X ≤ 12 = 2 13 ≤ X ≤ 16 = 3 17 ≤ X ≤ 20 = 4 Untuk atribut C dikelompokkan menjadi 4 kelompok, yaitu : 0≤X≤5=1 6 ≤ X ≤ 10 = 2 11 ≤ X ≤ 15 = 3 16 ≤ X ≤ 20 = 4 Untuk atribut D dikelompokkan menjadi 4 kelompok, yaitu : 0≤X≤2=1 3≤X≤5=2 6≤X≤8=3 9 ≤ X ≤ 10 = 4 Maka Decision System yang ada dapat dibuat Sebagai berikut. 47 NIDN Nama Dosen Nilai Nilai Nilai Nilai Jumlah Keputusan PBM BK PPM TL Nilai 0004076207 Dr. Edy Hermansyah, PhD 3 3 4 4 4 4 0003125905 Drs. Indra Sakti L, MPd 2 2 3 3 3 3 0210067002 Yulia Darmi, M.Kom 2 2 2 3 2 2 0524117601 Andang Sunarto, M.Kom 2 3 3 4 4 4 0020027105 Anizar Indriani, M.T. 2 2 3 3 3 3 0206077901 Herlina L.S, S.Kom 2 4 1 4 3 3 0213047501 Dini Selviana, S.Kom 2 3 1 4 2 2 0206107901 Munazip Alperi, M.Si 3 1 4 2 3 3 0210128102 Ahmad Syakirman, S.Pd 3 1 2 4 3 3 0215127703 M. Jhon, M.Kom 1 2 3 4 3 3 48 Bila dibuat dalam bentuk equivalence class akan menjadi : A B C D K EC1 3 3 4 4 4 EC2 2 2 3 3 3 EC3 2 2 2 3 2 EC4 2 3 3 4 4 EC5 2 4 1 4 3 EC6 2 3 1 4 2 EC7 3 1 4 2 3 EC8 3 1 2 4 3 EC9 1 2 3 4 3 Selanjutnya akan dibuat Discernibility Matriz Modulo D EC1 EC2 EC3 EC4 EC5 EC6 EC7 EC8 EC9 EC1 X ABCD ABCD X ABC AC BD BC ABC EC2 ABCD X C BD X BCD X X X EC3 ABCD C X BCD BCD X ABCD ABD ACD EC4 X BD BCD X BC C ABCD ABC ABC EC5 ABC X BCD BC X B X X X EC6 AC BCD X C B X ABCD ABC ABC EC7 BD X ABCD ABCD X ABCD X X X EC8 BC X ABD ABC X ABC X X X EC9 ABC X ACD ABC X ABC X X X 49 Class CNF of Boolean Function EC1 (A+B+C+D) * (A+B+C+D) Prime Implicant * AB + BC + CD (A+B+C) * (A+C) * (B+D) * (B+C) * (A+B+C) EC2 (A+B+C+D) * C * (B+D) * (B+C+D) C * (B+D) = CB + CD EC3 (A+B+C+D) * C * (B+C+D) * BC + CD + AC (B+C+D) * (A+B+C+D) * (A+B+D) * (A+C+D) EC4 (B+D) * (B+C+D) * (B+C) * C * BC + CD (A+B+C+D) * (A+B+C) * (A+B+C) EC5 (A+B+C) * (B+C+D) * (B+C) * B B EC6 (A+C) * (B+C+D) * C * B * BC (A+B+C+D) * (A+B+C) * (A+B+C) EC7 (B+D) * (A+B+C+D) * (A+B+C+D) B + D * (A+B+C+D) EC8 (B+C) * (A+B+D) * (A+B+C) * B + CD + ACD (A+B+C) EC9 (A+B+C) * (A+C+D) * (A+B+C) * A+ C + BD (A+B+C) Reducts 50 Sistem Pakar Sistem pakar adalah program komputer yang didesain untuk meniru kemampuan memecahkan masalah dari seorang pakar. Menurut Martin dan Osman (1988), Sistem Pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah, yang biasanya hanya dapat diselesaikan oleh seorang pakar dalam bidang tertentu. Pengetahuan sendiri dapat didefinisikan sebagai kemampuan untuk memahami dan mempelajari sesuatu (ability to understand and learn things). Pakar adalah orang yang memiliki kemampuan atau mengerti dalam menghadapi suatu masalah. Lewat pengalaman, seorang pakar mengembangkan kemampuan yang membuatnya dapat memecahkan permasalahan dengan hasil yang baik dan efisien. Untuk merancang sistem pakar, kita dapat menggunakan beberapa teknik AI, seperti : 1. Fuzzy Logic 2. Neural Network 3. Genetic Algorithm 4. Rule Base Expert System 5. Dan beberapa teknik lain seperti Rough Set, Apriori, dll Untuk membangun sistem papar maka komponen – komponen yang harus dimiliki adalah sebagai berikut. 51 Basis Pengetahuan Ket (Kaidah) Memori Kerja (Fakta) Mesin Inferensi Fasilitas Penjelasan Fasilitas Akuisisi Pengetahuan Antar Muka Pengguna Keterangan : 1. Antar Muka Pengguna (User Interface) User interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi, informasi yang diterima dari pemakai diubah ke dalam bentuk yang dapat diterima oleh sistem dan menghasilkan pengetahuan yang dimengerti oleh pemakai. 2. Basis Pengetahuan Basis Pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah, komponen ini disusun atas elemen dasar, yaitu fakta. 3. Mesin Inferensi Mesin Inferensi adalah bagian yang mengandung mekanisme fungsi berfikir dan polapola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik. Mesin Inferensi disebut juga otak dari sistem pakar. 4. Memori Kerja Merupakan bagian dari sistem pakar yang menyimpan fakta – fakta yang diperoleh saat dilakukan proses konsultasi. Fakta – fakta inilah yang nantinya akan diolah oleh mesin inferensi berdasarkan pengetahuan yang disimpan dalam basis pengetahuan untuk menentukan suatu keputusan pemecahan masalah. 52 5. Fasilitas Penjelasan Karena pemakai kadangkala bukanlah ahli dalam bidang tertentu, maka dibuatlah fasilitas penjelasan. Fasilitas penjelasan ini penting untuk memberikan gambaran mengenai bagaimana jalannya penalaran sehingga dihasilkan suatu keputusan. 6. Fasilitas Akuisisi Pengetahuan Fasilitas akuisisi pengetahuan ini penting agar pengetahuan yang ada dapat ditambahkan kapan saja ketika pengetahuan baru diperoleh atau saat pengetahuan yang sudah ada tidak berlaku lagi. Rule Base Expert System Salah satu cara merepresentasikan pengetahuan yang kita kenal adalah dengan menggunakan kaidah. Kaidah yang kita kenal terdiri dari bagian if (Antecedent / conclution) dan bagian then (Consequent / action). If dan then part sendiri mempunyai 2 bagian yaitu Object dan value di mana antara object dan value bisa dihubungkan oleh operator (is, are, is not, are not) atau mathematical operator (>, >=, <, <=, =, ≠) Contoh : 1. If the traffic light is green then the action is go 2. If the traffic light is red then the action is stop Object : - Traffic light - Action Value : - Green - Red - Go - Stop 53 Sebuah kaidah juga dapat memiliki multiple antecedent yang dihubungan oleh Keyword And (Conjunction) dan Or (Disjunction) atau kombinasi dari keduanya. Contoh : 1. If the season is autumn and the sky is cloudy then take an umbrella 2. If the car is dead and the fuel tanks is empty then refuel the car Terdapat beberapa tipe kaidah berdasarkan jenisnya : 1. Relation Contoh : IF the ‘fuel tank’ is empty THEN the car is dead 2. Recommendation Contoh : IF the season is autumn AND the sky is cloudy AND the forecast is drizzle THEN the advice is ‘take an umbrella’ 3. Strategi Contoh : IF the car is dead THEN the action is ‘check the fuel tank’; step1 is complete IF step1 is complete AND the ‘fuel tank’ is full THEN the action is ‘check the battery’; step2 is complete 4. Directive Contoh : IF the car is dead 54 AND the ‘fuel tank’ is empty THEN the action is ‘refuel the car’ Inference Engine yang digunakan dapat menggunakan metode : Forward Chaining (Runur Maju) dan Backward Chaining (Runut Mundur). Adapun cara kerja inference engine adalah sebagai berikut. 1. Inference Engine akan melakukan pencocokan antara If Part dari fakta dengan fact dalam knowledge base 2. Jika If dari fakta = fact dalam knowledge base maka rule tersebut akan di fire. Dalam melakukan kegiatannya, inference engine dapat menggunakan beberapa pendekatan seperti yang tersaji di bawah ini : 1. Runut Maju (Forward Chaining) 2. Runut Mundur (Backward Chaining) Runut Maju (Forward Chaining) Forward Chaining merupakan proses perunutan yang dimulai dengan menampilkan kumpulan data atau fakta yang meyakinkan menuju konklusi akhir. Forward Chaining sering juga disebyt dengan pencarian yang dimotori oleh data (data driven search). Jadi dimulai dari premis – premis atau informasi masukan (if) dahulu kemudian menuju konklusi atau derived information (then) atau dapat dimodelkan sebagai berikut : If (Informasi Masukan) Then (Konklusi) Informasi masukan dapat berupa data, bukti, temuan, atau pengamatan. Sedangkan konklusi dapat berupa tujuan, hipotesa, penjelasan, atau diagnosis. 55 Contoh : If Lampu1 dinyalakan And lampu1 tidak menyala And lampu1 dihubungkan dengan sekring And sekring masih bagus Then Lampu1 rusak Secara sederhana runut maju dapat diterangkan sebagai berikut, untuk kaidah di atas, agar sistem pakar mencapai konklusi, maka harus disuplai terlebih dahulu dengan fakta berupa lampu 1 tidak menyala, lampu1 sudah dihubungkan dengan sekring, dan sekring dalam kondisi bagus; kemudian baru sistem bisa mengeluarkan konklusi bahwa lampu1 rusak. Runut Mundur (Backward Chaining) Backward Chaining merupakan proses perunutan yang arahnya kebalikan dari runut maju. Proses penalaran backward chaining dimulai dengan tujuan / goal kemudian merunut balik ke jalur yang akan mengarahkan ke goal tersebut, mencari bukti – bukti bahwa bagian kondisi terpenuhi. Jadi secara umum runut balik itu diaplikasikan ketika tujuan atau hipotesis yang dipilih itu sebagai titik awal penyelesaian masalah. Disebut juga goal driven search. Runut balik dimodelkan sebagai berikut. Tujuan, If (Kondisi) Contoh sebelumnya bila dinyatakan dengan backward chaining sebagai berikut. Lampu1 rusak, If Lampu1 dinyalakan And lampu1 tidak menyala And lampu1 dihubungkan dengan sekring And sekring masih bagus 56 Certainty Factor Suatu kejadian di dunia nyata ini tidak selalu dapat dipastikan 100% bernilai benar atau salah. Banyak sekali kejadian yang mengandung ketidakpastian, dalam bahasa sehari – hari hal ini sering diungkapkan dengan istilah ”barangkali”, ”kemungkinan besar”, ”mungkin”, dan masih banyak istilah lain untuk mengungkapkan ketidakpastian. (Sri Hartati:101). Faktor kepastian (certainty factor) diperkenalkan oleh Shortliffe Buchanan dalam pembuatan MYCIN (Wesley, 1984). Certainty factor (CF) merupakan nilai parameter klinis yang diberikan MYCIN untuk menunjukkan besarnya kepercayaan. Sampai saat ini ada dua model yang sering digunakan untuk menghitung tingkat keyakinan (CF) dari sebuah rule adalah sebagai berikut: a. Menggunakan metode ‘Net Belief’ yang diusulkan oleh E. H. Shortliffe dan B. G. Buchanan [1, 2], yaitu: CF(Rule) = MB(H, E) – MD(H, E) ............................................... (1) 1 MB(H|E)= max[P(H|E) , P(H)] - P(H) 1 - P(H) if P(H) = 1 1 MD(H|E)= min[P(H|E), P(H)] - P(H) - P(H) if P(H) = 0 otherwise otherwise ...............(2) ................(3) dimana: MB (H,E) = Ukuran kepercayaan (Measure of Increased Belief) terhadap hipotesis H yang dipengaruhi oleh Evidence E MD (H,E) = ukuran ketidakpercayaan (Measure of Increased Disbelief) terhadap hipotesis H yang dipenaruhi oleh Evidence E P(H) = probabilitas kebenaran hipotesa H P(H|E) = probabilitas bahwa H benar karena fakta E P(H) dan P(H|E) merepresentasikan keyakinan dan ketidak yakinan pakar. 57 Untuk menghitung nilai P(H|E) nantinya kita akan menggunakan Probabilitas Bayesian b. Dengan menggali dari hasil wawancara dengan pakar [1]. Nilai CF(Rule) didapat dari interpretasi ‘term’ dari pakar menjadi nilai CF tertentu (lihat tabel 1). Kombinasi Aturan Di dalam MYCIN terdapat aturan untuk menggabungkan evidence anteseden yang terdapat dalam sebuah kaidah. Hal ini dapat dilihat pada tabel di bawah ini. Evidence E Nilai Ketidakpastian E1 and E2 Min [CF(H,E1), CF(H,E2)] E1 or E2 Max [CF(H,E1),CF(H,E2)] Not E` -CF(H,E) Solat : Berikut ini akan diberikan contoh untuk mengkombinasikan Suatu Rule : E = (E1 and E2 and E3) or (E4 and Not E5) Dengan nilai CF masing – masing adalah : E1 = 0.9, E2 = 0.8, E3 = 0.3, E4 = -0.5, E5 = -0.4 58 Maka besarnya nilai kepastian untuk gejala E adalah CF (E) = Max [Min(E1, E2, E3), Min (E4, E5 ) ] = Max [min(0.9, 0.8, 0.3), min (-0.5, 0.4)] = Max [0.3, -0.5) = 0.3 Solat : Jika diketahui kombinasi evidence : E = (E1 or E2 or E3) and (E4 or E5) Dengan nilai CF masing – masing adalah : E1 = 0.9, E2 = 0.8, E3 = 0.3, E4 = -0.5, E5 = -0.4 Maka tentukanlah besar cF gejala E ! Bentuk Dasar rumus Certainty Factor sebuah aturan dalam bentuk If E Then H Bentuk dasar rumus certainty factor sebuah aturan dalam bentuk if E then H adalah sebagai berikut (Giarattano dan Riley, 2005) : Cf (H, e) = CF (E, e) * CF (H, E) Di mana : CF (E, e) adalah certainty factor evidence E yang dipengaruhi oleh evidence e CF (H, E) adalah certainty factor hipotesis H dengan asumsi evidence diketahui dengan pasti ketika CF (E, e) = 1 Cf (H, e) adalah certainty factor hipotesa yang dipengaruhi oleh evidence e Contoh penerapan certainty factor dalam If E then H adalah sebagai berikut. If sesak napas and bronkhi krepitasi and demam and sesak napas berat then menderita pneumonia, dengan CF = 0.87 Dengan memberikan notasi : E1 : Sesak napas E2 : bronkhi krepitasi E3 : demam 59 E4 : sesak napas berat H : menderita pneumonia Nilai certainty factor hipotesa pada saat evidence pasti adalah : CF (H,e) = CF (H, E1 and E2 and E3 and E4) = 0.87 Adapun besarnya nilai CF untuk gejala E adalah sebagai berikut. E1 = 0.8, E2 = 0.5, E3 = 0.75, E4 = 0.4 CF (E, e) = min [E1, E2, E3, E4] = Min[0.8, 0.5, 0.75, 0.4] = 0.4 Dan nilai CF (H, e) = CF (E,e) * CF (H,E) = 0.4 * 0.87 = 0.348 = 0.35 (Mungkin) Solat : Terdapat kaidah berikut : IF (E1 or E2) and (E3 or E4) then H dengan CF = 0.73 Dengan CF untuk gejala E masing – masing adalah : E1 = 0.57 E3 = 0.73 E2 = 0.68 E4 = 0.49 Maka tentukanlah besarnya CF (H, e) ! Kaidah dalam sebuah sistem pakar untuk hipotesa yang sama biasanya dapat terdiri dari lebih dari sebuah kaidah dan terdiri dari beberapa premis yang dihubungkan dengan And atau Or. 60 Formula CF untuk beberapa kaidah yang mengarah pada hipotesa yang sama dapat dituliskan sebagai berikut. Contoh : R1 : If a and b then H ; CF = 0.6 R2 : If c or d then H ; CF = 0.7 Diketahui nilai : CF (a) = 1.0 CF (c) = 0.6 CF (b) = 0.8 CF (d) = 0.9 Tentukanlah nilai CF Hipotesa H ! Jawab : CF (R1) : min [CF(a), CF(b)] * CF (H) = min [1.0, 0.8] * 0.6 = 0.8 * 0.6 = 0.48 CF (R2) : max [CF(c), CF(d)] * CF (H) = max [0.6, 0.9] * 0.7 = 0.9 * 0.7 = 0.63 CF (H) = CF (R1) + CF (R2) [1- CF (R1)] = 0.48 + 0.63 [1 - 0.48] = 0.48 + 0.63* 0.52 = 0.48 + 0.3276 = 0.8076 61 Solat : R1 : If a and b then H ; CF = 0.8 R2 : If c or d then H ; CF = 0.6 R3 : If (e and f) or (g and h) then H; CF = 0.75 Diketahui nilai : CF (a) = 1.0 CF (c) = 0.6 CF(e) = 0.65 CF(g) = 0.8 CF (b) = 0.8 CF (d) = 0.9 CF(f) = 0.7 CF(h) = 0.8 Tentukanlah nilai CF Hipotesa H ! Teore Probabilitas Bayesian Probabilitas Bayesian adalah salah satu cara untuk mengatasi ketidakpastian dengan menggunakan formula Bayes yang dinyatakan sebagai berikut (Giarratano dan Riley. 2005) : P(H | E) = P(E | H )P(H ) P(E ) Di mana : P(H | E) : Probabilitas Hipotesa H jika terdapat evidence E P(E | H) : Probabilitas munculnya evidence E jika diketahui Hipotesa H P(H) : Probabilitas Hipotesa H tanpa memandang evidence apapun P(E) : Probabilitas evidence E Solat : Berdasarkan data yang dimiliki oleh suatu perguruan tinggi dari hasil test Penerimaan Mahasiswa Baru (PMB) diketahui bahwa besarnya kemunkinan mahasiswa yang memilih jurusan TI dengan nilai test logika baik adalah 0.75. Besarnya nilai probabilitas calon mahasiswa memilih jurusan teknik informatika adalah 0.4. Nilai probabilitas test Logika – Matematika baik tanpa memperhitungkan jurusan yang dipilih adalah 0.6. Carilah nilai probabilitas calon mahasiswa nyang memiliki nilai test Logika – Matematika baik akan memilih jurusan Teknik Informatika ! Diketahui : 62 H = Memilih Jurusan TI E = Nilai test Logika Jawab : P (E | H) = P(Nilai Test Logika – Matematika Baik | Memilih Jurusan TI) = 0.75 P (E) = P(Nilai Test – logika matematika baik) = 0.60 P (H) = P(Memilih jurusan TI) = 0.40 Dicari : P(H|E) = P(Memilih jurusan TI | Nilai Test Logika – Matematika baik) = ? P(H|E) = = P(E | H )P(H ) P(E ) 0 . 75 * 0 . 40 = 0.50 0 . 60 Menghitung Nilai Certainty Factor dengan Metode Net Belief Terdapat kaidah sebagai berikut. If kulit berminyak then Phimosis If kulit mengelupas then phimosis If iritasi bagian bawah kulit then phimosis Terdapat data sebagai berikut : Dari data 10.000 penyakit A : 200 adalah penyakit Phimosis Gejala kulit berminyak berjumlah 80 orang Gejala kulit mengelupas berjumlah 100 orang Gejala iritasi bagian bawah kulit berjumlah 20 orang. Penyakit Phimosis dan juga terdapat gejala kulit berminyak berjumlah 32 orang atau 16% dari total Phimosis Penyakit phimosis dan juga terdapat gejala kulit mengelupas berjumlah 25% dari total phimosis 63 Penyakit phimosis dan juga terdapat gejala iritasi bagian bawah kulit berjumlah 1% dari total phimosis Misal : H = Phimosis E1 = Kulit berminyak E2 = Kulit mengelupas E3 = Iritasi bagian bawah kulit Jawab : P(E1)= P(Kulit Berminyak)= 80 / 10000 = 0.008 P(E2)= P(Kulit Mengelupas) = 100 / 10000 = 0.01 P(E3)= P(Iritasi bagian bawah kulit)= 20 / 10000 = 0.002 P(H)= P(Phimosis) = 200 / 10000 = 0.02 P (E1|H) = P(Kulit Berminyak|Phimosis) = 0.16 P (E2|H) = P (Kulit Mengelupas | Phimosis) = 0.25 P (E3|H) = P (Iritasi Bagian Bawah Kulit | Phimosis) = 0.01 P(H|E1) = = 0 . 16 * 0 . 02 = 0.4 0 . 008 P(H|E2) = = P(E 2 | H )P(H ) P ( E 2) 0 . 25 * 0 . 02 = 0.5 0 . 01 P(H|E3) = = P ( E1 | H ) P ( H ) P ( E 1) P(E 3 | H )P (H ) P ( E 3) 0 . 01 * 0 . 02 = 0.1 0 . 002 MB (H|E1) = max[ P ( H | E 1), P ( H )] − P ( H ) 1 − P(H ) 64 = max[ 0 . 4 , 0 . 02 ] − 0 . 02 1 − 0 . 02 = 0 . 4 − 0 . 02 0 . 38 = = 0.39 0 . 98 0 . 98 MD (H|E1) = min[ P ( H | E 1 ), P ( H )] − P ( H ) − P(H ) = max[ 0 . 4 , 0 . 02 ] − 0 . 02 − 0 . 02 = 0 . 02 − 0 . 02 0 = =0 − 0 . 02 − 0 . 02 CF1 = MB (H,E1) – MD (H, E1) = 0.39 – 0 = 0.39 MB (H|E2) = max[ P ( H | E 2 ), P ( H )] − P ( H ) 1 − P(H ) = max[ 0 . 5 , 0 . 02 ] − 0 . 02 1 − 0 . 02 = 0 . 5 − 0 . 02 0 . 48 = = 0.49 0 . 98 0 . 98 MD (H|E1) = min[ P ( H | E 2 ), P ( H )] − P ( H ) − P(H ) = max[ 0 . 5 , 0 . 02 ] − 0 . 02 − 0 . 02 = 0 . 02 − 0 . 02 0 = =0 − 0 . 02 − 0 . 02 CF2 = MB (H,E2) – MD (H, E2) = 0.49 – 0 = 0.49 MB (H|E3) = = max[ P ( H | E 3 ), P ( H )] − P ( H ) 1 − P(H ) max[ 0 . 1, 0 . 02 ] − 0 . 02 1 − 0 . 02 65 = 0 . 1 − 0 . 02 0 . 08 = = 0.0816 0 . 98 0 . 98 MD (H|E3) = min[ P ( H | E 3 ), P ( H )] − P ( H ) − P(H ) = max[ 0 . 5 , 0 . 02 ] − 0 . 02 − 0 . 02 = 0 . 02 − 0 . 02 0 = =0 − 0 . 02 − 0 . 02 CF3 = MB (H,E3) – MD (H, E3) = 0.0816 – 0 = 0.0816 CFKombinasi1(CF1,CF2) = CF1 + CF2(1-CF1) = 0.39 + 0.49 * 0.61 = 0.69 CFKombinasi2(CFKombinasi1, CF3) = CFKombinasi1+CF3(1-CFKombinasi1) = 0.69+0.0816(1-0.69) = 0.69+0.0816(0.31) = 0.69 + 0.025 = 0.715 Dengan demikian bahwa ketika sistem menyimpulkan bahwa bahwa penyakit yang diderita pasien adalah Phimosis maka tingkat kepastiannya adalah sebesar : 0.715 Jika aturan tersebut dirangkai menjadi : If kulit berminyak or kulit mengelupas or iritasi bagian bawah kulit then Phimosis, maka tentukanlah berapa nilai keyakinannya ! Jawab : 66 Misal E1 = Kulit Berminyak = 0.39 Misal E2 = Kulit mengelupas = 0.49 Misal E3 = Iritasi bagian bawah kulit = 0.0816 Misal H = Phimosis = 0.715 Jawab : CF (R) = max [E1, E2, E3] * CF(H) = 0.49 * 0.715 = 0.35035 Solat : Berdasarkan soal di atas jika misalnya : Jika CF = 0 – 0.1 maka diberi obat A Jika CF = >0.1 – 0.3 maka diberi obat B Jika CF = >0.3 maka diberi obat C Tentukanlah obat yang harus diberikan untuk gejala berikut. a. Kulit berminyak b. Kulit mengelupas dan juga terdapat iritasi bagian bawah kulit Perhatikan permasalahan berikut. beberapa kaidah dalam knowledge base dituliskan sebagai berikut: Kaidah 2 Menderita Penyakit “GONORE” dengan CF = 0.94 JIKA mengalami gejala/pernah CAIRAN BERCAMPUR NANAH pada lubang testis. DAN mengalami gejala/pernah SAKIT SAAT KENCING pada bagian saluran DAN mengalami gejala/pernah PANAS SAAT KENCING pada semua ba DAN mengalami gejala/pernah GATAL SAAT KENCING pada ujung testis. 67 DAN mengalami gejala/pernah BERHUBUNGAN SEKS DENGAN WTS beberapa hari yang lalu Kaidah 3 Menderita Penyakit “UNS” dengan CF = 0.91 JIKA mengalami gejala/pernah GATAL SAAT KENCING pada ujung testis DAN mengalami gejala/pernah BERCAK KUNING PADA CELANA saat bangun tidur pagi DAN mengalami gejala/pernah BERHUBUNGAN SEKS DENGAN WTS beberapa hari yang lalu DAN mengalami gejala/pernah PANAS SAAT KENCING pada semua bagian DAN mengalami gejala/pernah SERING KENCING lebih dari dua puluh kali sehari Kaidah terapi penyakit kelamin pria: Kaidah 23 Gunakan obat “TETRAKSILIN” JIKA mengalami penyakit “GONORE” dengan CF 0.01 s.d 0.40 Kaidah 24 Gunakan obat “SPIRAMYSIN” JIKA mengalami penyakit “GONORE” dengan CF 0.31 s.d 0.60 Kaidah 25 Gunakan obat “AMPISILIN” JIKA mengalami penyakit “GONORE” dengan CF 0.51 s.d 1.0 Kaidah 26 Gunakan obat “TETRAKSILIN HCL HCL” JIKA mengalami penyakit “UNS” dengan CF 0.01 s.d 0.40 Kaidah 27 Gunakan obat “SULFA TRIMETROPRIM” 68 Jika Misalkan user mengisikan gejala yang dialaminya adalah: Hasil konsultasi diperoleh data dari penderita sebagai berikut: Cairan bercampur nanah Sakit saat kencing Panas saat kencing Gatal saat kencing pada ujung testis Berhubungan seks dengan wts beberapa hari yang lalu Bercak kuning pada celana saat bangun tidur pagi Sering kencing lebih dari 20 kali sehari Asumsikan nilai CF untuk gejala di atas adalah sebagai berikut. (Dalam kenyataannya nilai CF gejala harus dihitung untuk masing – masing penyakit) Cairan bercampur nanah 0.1 Sakit saat kencing 0.4 Panas saat kencing 0.5 Gatal saat kencing pada ujung testis 0.5 Berhubungan seks dengan wts beberapa hari yang lalu 0.2 Bercak kuning pada celana saat bangun tidur pagi 0.2 Sering kencing lebih dari 20 kali sehari 0.4. Tentukanlah obat yang harus diberikan ! 69 Teknik Data Mining dengan Algoritma Apriori Menurut Jurnal ”Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi” (Kusrini, 2007), Algoritma apriori termasuk jenis aturan assosiasi pada data mining. Selain apriori yang termasuk pada golongan ini adalah metode Generalized Rule Induction dan Algoritma Hash Based. Aturan yang menyatakan asosiasi antara beberapa atribut sering disebut sebagai affinity analysis atau market basket analysis. Dengan penerapan algoritma apriori pada penelitian ini diharapkan akan ditemukan pola berupa produk yang sering dibeli bersamaan. Pola ini dapat digunakan untuk menempatkan produk yang sering dibeli bersamaan ke dalam sebuah area yang saling berdekatan, merancang tampilan produk di katalog, merancang kupon diskon (untuk diberikan kepada pelanggan yang membeli produk tertentu), merancang penjualan paket, dan lain – lain. Sementara itu penemuan pola merupakan keluaran lain dari data mining. Misalkan sebuah perusahaan yang akan meningkatkan faslitas kartu kredit dari pelanggan, maka perusahaan akan mencari pola dari pelanggan-pelanggan yang ada untuk mengetaui pelanggan yang potensial dan pelanggan yang tidak potensial. Data mining bukanlah suatu bidang yang sama sekali baru. Salah satu kesulitan untuk mendefinisikan data mining adalah kenyataan bahwa data mining mewarisi banyak aspek dan teknik dari bidang-bidang ilmu yang sudah mapan terlebih dulu. Gambar 2.2 di bawah ini menunjukkan bahwa data mining memiliki akar yang panjang dari bidang ilmu seperti kecerdasan buatan (artificial intelligent), machine learning, statistik, database dan juga information retrieval. 70 Pencarian Informasi Pembelajaran Neural network, pohon keputusan, fuzzy Pembelajaran Neural network, pohon keputusan, fuzzy Artificial Intelligent Data Mining Statistik Dasar ( Seleksi, presentasi hasil) Data yang besar (normalisasi data, transformasi, OLAP) Database Gambar 2.2 Bidang Ilmu Data Mining Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. Association Rule Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan assosiatif antara suatu kombinasi item. Contoh dari aturan assosiatif dari analisa pembelian di suatu pasar swalayan adalah dapat diketahuinya berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Dengan pengetahuan tersebut pemilik pasar swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu. 71 Karena analisis asosiasi menjadi terkenal karena aplikasinya untuk menganalisa isi keranjang belanja di pasar swalayan, analisis asosiasi juga sering disebut dengan istilah market basket analysis. Analisis asosiasi dikenal juga sebagai salah satu teknik data mining yang menjadi dasar dari berbagai teknik data mining lainnya. Khususnya salah satu tahap dari analisis asosiasi yang disebut analisis pola frequensi tinggi (frequent pattern mining) menarik perhatian banyak peneliti untuk menghasilkan algoritma yang efisien. Penting tidaknya suatu aturan assosiatif dapat diketahui dengan dua parameter, support (nilai penunjang) yaitu persentase kombinasi item tersebut dalam database dan confidence (nilai kepastian) yaitu kuatnya hubungan antar item dalam aturan assosiatif. Aturan assosiatif biasanya dinyatakan dalam bentuk : {roti, mentega} → {susu} (support = 40%, confidence = 50%) Yang artinya : "50% dari transaksi di database yang memuat item roti dan mentega juga memuat item susu. Sedangkan 40% dari seluruh transaksi yang ada di database memuat ketiga item itu." Dapat juga diartikan : "Seorang konsumen yang membeli roti dan mentega punya kemungkinan 50% untuk juga membeli susu. Aturan ini cukup signifikan karena mewakili 40% dari catatan transaksi selama ini." Analisis asosiasi didefinisikan suatu proses untuk menemukan semua aturan assosiatif yang memenuhi syarat minimum untuk support (minimum support) dan syarat minimum untuk confidence (minimum confidence). Metodologi dasar analisis asosiasi terbagi menjadi dua tahap : A. Analisa pola frekuensi tinggi 72 Tahap ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support dalam database. Nilai support sebuah item diperoleh dengan rumus 1 berikut: Support (A) = Jumlah Transaksi Mengandung A Total Transaksi ………………..[rumus 1] sedangkan nilai support dari 2 item diperoleh dari rumus 2 berikut : Jumlah Transaksi Mengandung A dan B Support (A, B) = P ( A ∩ B) = Total Transaksi …[rumus 2] Sebagai contoh, ada database dari transaksi belanja pasar swalayan seperti ditunjukkan dalam tabel 2.1 berikut : Tabel 2.1 Transaksi Transaction Item Purchased 1 Broccoli, Green Peppers, Corn 2 Asparagus, Squash, Corn 3 Corn, Tomatoes, Beans, Squash 4 Green Peppers, Corn, Tomatoes, Beans 5 Beans, Asparagus, Broccoli 6 Squash, Asparagus, Beans, Tomatoes 7 Tomatoes, Corn 8 Broccoli, Tomatoes, Green Peppers 9 Squash, Asparagus, Beans 10 Beans, Corn 11 Green Peppers, Broccoli, Beans, Squash 12 Asparagus, Beans, Squash 13 Squash, Corn, Asparagus, Beans 14 Corn, Geen Peppers, Tomatoes, Beans, Broccoli Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. 73 Data tersebut di atas dalam database transaksional biasa direpresentasikan dalam bentuk seperti tampak pada tabel 2.2 berikut: Tabel 2.2 Representasi Data Transaksi dalam Database Transaksional Transaction ID Items 1 Broccoli 1 Green Peppers 1 Corn 2 Asparagus 2 Squash 2 Corn 3 Corn 3 Tomatoes : . : . Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. Dan bila kita bentuk dalam bentuk tabular, data transaksi akan tampak seperti pada tabel 2.3 berikut: 74 Tabel 2.3 Format Tabular Data Transaksi Transaction Asparagus Beans Broccoli Corn Green Peppers Squash Tomatoes 1 0 0 1 1 1 0 0 2 1 0 0 1 0 1 0 3 0 1 0 1 0 1 1 4 0 1 0 1 1 0 1 5 1 1 1 0 0 0 0 6 1 1 0 0 0 1 1 7 0 0 0 1 0 0 1 8 0 0 1 0 1 0 1 9 1 10 0 11 0 12 1 13 1 14 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. Misalkan D adalah himpunan transaksi yang direperesentasikan dalam tabel 1, dimana masing-masing transaksi T dalam D merepresentasikan himpunan item yang berada dalam I. Misalkan kita memiliki himpunan items A (misal Beans dan squash) dan himpunan item lain B (misal asparagus). Kemudian aturan asosiasi akan berbentuk. Jika A, maka B ( A → B ) Dimana antecedent A dan consequent B merupakan subset dari I, dan A dan B merupakan mutually exclusive. Definisi ini tidak berlaku untuk aturan trivial seperti : 75 Jika Beans dan Squash maka Beans Seorang analis mungkin hanya akan mengambil aturan yang memiliki support dan/atau confidence yang tinggi. Aturan yang kuat adalah aturan – aturan yang melebihi kriteria support dan/atau confidence minimum. Misalnya seorang analist menginginkan aturan yang memiliki support lebih dari 20 % dan confidence lebih dari 35 %. Sebuah itemset adalah himpunan item-item yang ada dalam I, dan kitemset adalah itemset yang berisi k item. Misalnya {squash, beans) adalah sebuah 2-itemset dan {broccoli, green peppers, corn) merupakan 3-itemset. Frequent Itemset menunjukkan itemset yang memiliki frekuensi kemunculan lebih dari nilai minimum yang telah ditentukan (ф). Misalkan ф = 4, maka semua itemset yang frekuensi kemunculannya lebih dari 4 kali disebut frequent. Himpunan dari frequent k-itemset dilambangkan dengan Fk [3]. Tabel 2.4 berikut ini menujukkan calon 2-itemset dari data transaksi pada tabel 2.1. 76 Tabel 2.4 Calon 2-Itemset Combination Count Combination Count Asparagus, Beans 5 Broccoli, Corn 2 Asparagus, Broccoli 1 Broccoli, Green Peppers 4 Asparagus, Corn 2 Broccoli, Squash 1 Asparagus, Green Peppers 0 Broccoli, Tomatoes 2 Asparagus, Squash 5 Corn, Green Peppers 3 Asparagus, Tomatoes 1 Corn, Squash 3 Beans, Broccoli 3 Corn, Tomatoes 4 Beans, Corn 5 Green Peppers, Squash 1 Beans, Green Peppers 3 Green Peppers, Tomatoes 3 Beans, Squash 6 Squash, Tomatoes 2 Beans, Tomatoes 4 Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. Dari data tersebut diatas, jika ditetapkan nilai ф = 4 maka F2 = { {asparagus, beans}, {asparagus, squash}, {beans,corn}, {beans, squash}, {beans, tomatoes}, {broccoli, green peppers}, {corn,tomatoes} } Kombinasi dari itemset dalam F2 dapat kita gabungkan menjadi calon 3- itemset. Itemset-itemset dari F2 yang dapat digabungkan adalah itemset – itemset yang memiliki kesamaan dalam k-1 item pertama . Calon 3-itemset yang dapat dibentuk dari F2 seperti tampak pada tabel 2.5 berikut: 77 Tabel 2.5 Calon 3 – Itemset Combination Count Asparagus, Beans, Squash 4 Beans, Corn, Squash 2 Beans, Corn, Tomatoes 3 Beans, Squash, Tomatoes 2 Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. Dengan demikian F3 = {{asparagus, beans, squash}}, karena hanya kombinasi inilah yang memiliki frekeunsi kemunculan >= ф. B. Pembentukan aturan assosiatif Setelah semua pola frekuensi tinggi ditemukan, barulah dicari aturan assosiatif yang memenuhi syarat minimum untuk confidence dengan menghitung confidence aturan assosiatif A → B. Nilai confidence dari aturan A → B diperoleh dari rumus 3 berikut: Confidence = P (A | B) = Jumlah Transaksi Mengandung A dan B ...[rumus 3] Jumlah Transaksi Mengandung A Dari F3 yang telah ditemukan, dapat dilihat besarnya nilai support dan confidence dari calon aturan asosiasi seperti tampak pada tabel 2.6 berikut: 78 Tabel 2.6 Calon Aturan Asosiasi dari F3 If Antecedent, then Consequent Support Confidence If buy asparagus and beans, then buy squash 4 / 14 = 28.6% 4 / 5 = 80% If buy asparagus and squash, then buy beans 4 / 14 = 28.6% 4 / 5 = 80% If buy beans and squash, then buy asparagus 4 / 14 = 28.6% 4 / 6 = 66.7% Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. Misalkan ditetapkan nilai confidence minimal adalah 80% maka aturan yang bisa terbentuk adalah aturan dengan 2 antecedent berikut: If buy asparagus and beans, then buy squash If buy asparagus and squash, then buy beans Sementara itu calon aturan asosiasi dari F2 bisa dilihat pada tabel 2.7 berikut: Tabel 2.7 Calon Aturan Asosiasi dari F2 If Antecedent, then Consequent Support Confidence If buy asparagus, then buy beans 5 / 14 = 35.7% 5 / 6 = 83.3% If buy beans, then buy asparagus 5 / 14 = 35.7% 5 / 10 = 50% If buy asparagus, then buy squash 5 / 14 = 35.7% 5 / 6 = 83.3% If buy squash, then buy asparagus 5 / 14 = 35.7% 5 / 7 = 71.4% If buy beans, then buy corn 5 / 14 = 35.7% 5 / 10 = 50% If buy corn, then buy beans 5 / 14 = 35.7% 5 / 8 = 62.5% If buy beans, then buy squash 6 / 14 = 42.9% 6 / 10 = 60% If buy squash, then buy beans 6 / 14 = 42.9% 6 / 7 = 85.7% If buy beans, then buy tomatoes 4 / 14 = 28.6% 4 / 10 = 40% If buy tomatoes, then buy beans 4 / 14 = 28.6% 4 / 6 = 66.7% If buy broccoli, then buy green peppers 4 / 14 = 28.6% 4 / 5 = 80% If buy green peppers, then buy broccoli 4 / 14 = 28.6% 4 / 5 = 80% If buy corn, then buy tomatoes 4 / 14 = 28.6% 4 / 8 = 50% If buy tomatoes, then buy corn 4 / 14 = 28.6% 4 / 6 = 66.7% Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. 79 dan aturan asosiasi final terurut berdasarkan Support x Confidence terbesar dapat dilihat pada table 2.8 berikut: Tabel 2.8 Aturan Asosiasi Final If Antecedent, then Consequent Support Confidence Support x Confidence If buy squash, then buy beans 6 / 14 = 42/9% 6 / 7 = 85.7% 0.3677 If buy asparagus, then buy beans 5 / 14 = 35.7% 5 / 6 = 83.3% 0.2974 If buy asparagus, then buy squash 5 / 14 = 35.7% 5 / 6 = 83.3% 0.2974 If buy broccoli, then buy green peppers 4 / 14 = 28.6% 4 / 5 = 80% 0.2288 If buy green peppers, then buy broccoli 4 / 14 = 28.6% 4 / 5 = 80% 0.2288 If buy asparagus and beans, then buy squash If buy asparagus and squash, then buy beans 4 / 14 = 28.6% 4 / 5 = 80% 0.2288 4 / 14 = 28.6% 4 / 5 = 80% 0.2288 Sumber : Kusrini (2007) . “Penerapan Algoritma Apriori pada Data Mining Untuk Mengelompokkan Barang Berdasarkan Kecenderungan Kemunculan Bersama Dalam Satu Transaksi”. Algoritma Nearest Neighbor Adalah pendekatan untuk mencari suatu keputusan atas suatu data baru dengan melihat kedekatan data baru dengan data lama, yaitu berdasarkan pada pencocokan bobot dari sejumlah atribut yang ada. Data dengan kedekatan terbesarlah yang akan dijadikan keputusan. Nilai kedekatan adalah berkisar antara 0 dan 1. Langkah – langkah di dalam algoritma Nearest Neighbor adalah sebagai berikut. 1. Tentukanlah bobot untuk tiap atribut. 2. Tentukanlah kedekatan untuk masing – masing atribut. 80 Misalkan terdapat tabel kasus. No Jenis Kelamin Pendidikan Agama Bermasalah 1 L S1 Islam Ya 2 P SMA Kristen Tidak 3 L SMA Islam Tidak Definisi bobot atribut. Atribut Bobot Jenis Kelamin 0.5 Pendidikan 1 Agama 0.75 Kedekatan nilai atribut Jenis Kelamin Nilai 1 Nilai 2 Kedekatan L L 1 P P 1 L P 0.5 P L 0.5 Kedekatan nilai atribut pendidikan Nilai 1 Nilai 2 Kedekatan S1 S1 1 SMA SMA 1 S1 SMA 0.4 SMA S1 0.4 81 Kedekatan nilai atribut agama Nilai 1 Nilai 2 Kedekatan Islam Islam 1 Kristen Kristen 1 Islam Kristen 0.75 Kristen Islam 0.75 Misalkan terdapat data baru sebagai berikut. Jenis Kelamin : L, Pendidikan : SMA, dan Agama : Kristen Menghitung kedekatan dengan kasus No. 1 A : Kedekatan