7
TINJAUAN PUSTAKA
2.1 Landasan Teori
2.1.1 Kecerdasan Buatan
Kecerdasan buatan adalah suatu bidang ilmu dalam sains dan teknik yang mempelajari bagaimana cara membuat mesin yang dapat berpikir dan bertindak secara manusiawi dan rasional sehingga dapat membuat keputusan, memecahkan masalah, belajar, dan menyesuaikan diri terhadap lingkungannya sehingga dapat melakukan pekerjaan seperti dan sebaik manusia bahkan bisa lebih baik lagi daripada manusia.
Pada dasarnya pengertian kecerdasan buatan dibagi ke dalam dua dimensi dan empat kategori.
Thinking Humanly
“The exciting new effort to make computers think … machines with minds, in the full and literal sense.”
(Haugeland, 1985)
“[The automation of] activities that we associate with human thinking, activities such as decision-making, problem solving, learning...”
(Hellman, 1978)
Thinking Rationally
“The study of mental faculties through the use of computional models.”
(Charniak and McDermott, 1985)
“The study of the computations that make it possible to perceive reason, and act.”
(Winston, 1992) Acting Humanly
“The art of creating machines that performs functions that require intelligence when performed by people.” (Kurzweil, 1990)
“The study of how to make
computers do things at which, at the moment, people are better.” (Rich and Knight, 1991)
Acting Rationally
“Computational Intelligence is the study of the design of intelligent agents.” (Poole et all, 1998)
“AI… is concerned with intelligent behavior in artifacts.” (Nilsson, 1998)
Gambar 2.1 Dua dimensi dan Empat Kategori dalam Kecerdasan Buatan (Russell & Norvig, 2010)
Pada gambar 2.1, bagian atas menunjukkan definisi berpusat pada pemikiran dan penalaran, sedangkan yang bagian bawah menunjukan bahwa kecerdasan buatan adalah sistem dengan perilaku seperti manusia. Pada bagian kiri menjelaskan bahwa kecerdasan buatan sebagai tolak ukur kinerja manusia, sedangkan pada bagian kanan menjelaskan performa ideal yang disebut rasional (Russell & Norvig, 2010:1-2).
2.1.1.1 Sejarah kecerdasan buatan
Kecerdasan buatan pertama kali dibuat setelah perang dunia ke dua. Pada tahun 1950, Alan Turing ingin membuktikan apakah sebuah mesin dapat berpikir seperti manusia. Kemudian Alan melakukan suatu penelitian dengan melibatkan mesin dan manusia. Di dalam penelitian ini, seorang peserta akan menjadi penentu apakah penelitian ini berhasil atau tidak. Penentu menjalani tes di ruangan yang terpisah dari mesin dan manusia. Penentu akan melakukan perbincangan dengan agen (manusia dan mesin). Perbincangan hanya terbatas oleh teks melalu keyboard dan monitor. Penentu akan mengajukan pertanyaan dan agen diminta untuk memberikan tanggapan dari pertanyaan yang diajukan oleh penentu. Jika penentu tidak bisa membedakan apakah tanggapan yang diberikan berasal dari mesin atau manusia, maka mesin akan lulus tes. Tes ini bukan bermaksud untuk mengecek apakah jawaban dari mesin salah atau benar, namun seberapa mirip jawaban mesin dengan manusia. Tes ini dikenal dengan nama “Tes Turing“.
Program kecerdasan buatan (Artificial Intelegence) yang pertama kali bekerja ditulis pada tahun 1951. Program ini dibuat oleh ilmuan bernama Christopher Strachey. Christopher membuat program berupa permainan naskah. Selain Christopher ada juga Dietrich Prinz yang membuat program berupa permainan catur.
Pada tahun 1959, Hebert A. Simon, J.C. Shaw, dan Allen Newell menciptakan program komputer untuk pemecahan masalah. Program ini dikenal dengan nama General Problem Solver. Program ini dirancang dari awal untuk meniru cara manusia untuk memecahkan suatu masalah. Dengan ruang lingkup dan masalah yang dibatasi, ternyata urutan pemecahan masalah dan tindakan yang mungkin diambil oleh komputer mirip dengan manusia dengan masalah yang sama.
Jadi GPS (General Problem Solver) mungkin adalah program pertama yang mencakup pendekatan pemikiran manusia.
Pada tahun 1970-an, Feigenbaum, Buchanan, dan Dr Edward Shortliffe tertarik untuk mempelajari perkembangan dari kecerdasan buatan, salah satunya sistem pakar. Feigenbaum, Buchanan, dan Dr Edward menyelidiki sejauh mana metodologi baru dari sistem pakar dapat diterapkan di manusia, terutama di bidang medis. Feigenbaum, Buchanan, dan Dr Edward Shortliffe mengembangkan MYCIN untuk mendiagnosa infeksi pada darah. Dengan menggunakan empat ratus lima puluh aturan atau rule, MYCIN dapat bekerja sama seperti para ahli, bahkan lebih baik daripada dokter yang masih junior. Mereka menggunakan metode wawancara untuk mendapatkan data dari pakar ahli di bidangnya.
Tahun 1980-an, Jaringan syaraf dibuat dengan menggunakan algoritma back propagation yang ditemukan oleh Paul john Werbos. Tahun 1990-an sudah mulai banyak aplikasi berbasis kecerdasan buatan. Sebagai contoh adalah Deep Blue, sebuah komputer permainan catur yang pernah mengalahkan grandmaster pecatur utama dunia Garry Kasparov dalam sebuah pertandingan pada tahun 1997. Darpa juga menggunakan kecerdasan buatan untuk menghitung biaya yang dikeluarkan pada perang teluk pertama.
Kecerdasan di zaman ini sudah bisa memenuhi harapan / tujuan di zaman lalu. kecerdasan buatan mulai banyak dipakai di seluruh industri teknologi. Keberhasilan ini dicapai karena adanya peningkatan daya komputer dan terpusat pada masalah tertentu untuk mencapai hasil yang maksimal. Diharapkan kecerdasan buatan dapat mencapai tujuan yang diimpikan oleh para ilmuan yang hidup di zaman 1960-an (Russell & Norvig, 2010:16-28).
2.1.2 Sistem Pakar
Sistem pakar adalah sebuah sistem komputer yang mempunyai kemampuan seperti seorang pakar untuk mengambil sebuah keputusan.
Sistem pakar sendiri merupakan cabang dari AI yang menggunakan pengetahuan khusus untuk menyelesaikan masalah seperti seorang pakar dimana pengetahuan tersebut hanya dimiliki oleh seseorang yang memiliki pengetahuan dan kemampuan yang tidak dimiliki oleh banyak orang. Seorang pakar dapat menyelesaikan sebuah masalah lebih efektif dari pada orang
biasa. Sistem pakar sering juga disebut knowledge-based system, atau knowledge-based expert system (Giarratano & Riley, 2005:5-6).
Sistem pakar sudah dirancang supaya dapat bertindak seperti asisten pintar dari seorang pakar, oleh karena itu diperlukan pengetahuan yang spesifik pada satu lingkup masalah seperti pada kedokteran, keuangan, sains, engineering, dan sebagainya. Pengetahuan seorang pakar terhadap cara menyelesaikan suatu masalah yang spesifik disebut dengan knowledge domain yang berisi dengan semua pengetahuan yang berhubungan dengan suatu masalah tersebut. Di dalam knownledge domain yang paham tentang masalah tersebut, sistem pakar mengambil keputusan dan kesimpulan dengan cara yang sama seperti seorang pakar (Giarratano
& Riley, 2005:7).
2.1.2.1 Konsep Desain Dari Sistem Pakar
Gambar 2.2 Konsep Dasar dari Fungsi Sistem Pakar (Giarratano & Riley, 2005:6)
Gambar 2.3 Piramida Pengetahuan Sistem Pakar (Hemmer, 2008:11) Menurut Hemmer (2008:10), sistem pakar mempunyai desain standar berbentuk piramida pengetahuan yang mendeskripsikan hubungan kuantitatif dan logika dari data, informasi, pengetahuan, dan tindakan.
a. Data
Merupakan dasar dari piramida pengetahuan dan merupakan hasil dari pengukuran, pengamatan, dan perhitungan. Data menjadi berguna dan bermanfaat jika data tersebut sesuai dengan konteksnya, sehingga diperlukan penjelasan tambahan untuk menjelaskan teknik pengukuran, parameter, kondisi, dan atributnya. Data tambahan yang menjelaskan konteksnya biasanya disebut sebagai metadata.
b. Informasi (Information)
Informasi merupakan kumpulan dari data yang sudah diolah dengan cara representasi, analisis dan menafsirkan data - data tersebut. Misalnya dari sebuah kumpulan data, dapat dibuat menjadi spektrum grafik yang lebih efisien untuk dipahami daripada hanya sebuah data mentah.
c. Ilmu pengetahuan (Knowledge)
Pengetahuan merupakan sesuatu hasil dari informasi. Misalnya dari penafsiran pada spektrum grafik dapat mengarah pada kemungkinan bahwa puncak dari grafik tersebut berhubungan pada entitas tertentu.
Dengan memvalidasi dari hasil penafsiran tersebut dengan metode percobaan, akan dapat diperoleh sebuah pengetahuan.
d. Tindakan (Action)
Langkah terakhir dari konsep piramida pengetahuan adalah menggunakan pengetahuan untuk membuat keputusan dan akhirnya mengambil tindakan yang pasti. Dengan mengaplikasikan pengetahuan tersebut, keseluruhan pendekatan pengambilan keputusan adalah murni teoritis.
2.1.2.2 Struktur dan Komponen Sistem Pakar
Menurut Hemmer (2008:35-37), sistem pakar (expert system) atau knowledge-based system memiliki beberapa komponen utama yaitu knowledge base, working memory, inference engine dan user interface.
1. Knowledge Base
Menurut Hemmer (2008:35), Knowledge Base atau Rule Base merupakan teknik pengembangan sistem pakar yang paling banyak digunakan. Rule ini merepresentasikan pengetahuan dalam bentuk rules atau aturan aturan untuk pengambilan keputusan. Sebuah Rule terdiri dari bagian if dan bagian then.
Sistem Rule Base terdiri dari sekumpulan aturan if-then, kumpulan dari fakta, dan sebuah penerjemah yang mengatur penerapan aturan aturan yang ada dari fakta yang diberikan. Aturan aturan disimpan dalam deklarasi kalimat dan bisa ditambahkan, diubah, dan diganti. Aturan tersebut dapat berasal dari seorang pakar dengan proses pengolahan pengetahuan atau dimasukkan oleh sang pakar sendiri. Proses penerjemahan antar fakta dengan aturan disebut dengan pattern matching.
2. Working memory
Merupakan kumpulan dari data berupa fakta yang digunakan oleh aturan- aturannya, dimana data tersebut sifatnya spesifik terhadap masalah yang akan diselesaikan. Working memory ini berisi fakta yang dimasukkan oleh pengguna melalui pertanyaan yang diajukan sebuah sistem pakar dan fakta yang berasal dari sistem. Working memory juga dapat memperoleh informasi dari database, spreadsheets, atau sensor dan dapat digunakan oleh sistem pakar untuk
Gambar 2.4 Hubungan Antar Elemen Sistem Pakar (Hemmer, 2008:36)
memberikan informasi tambahan dari masalah yang ada dengan menggunakan pengetahuan dari knowledge base.
3. Inference engine
Dalam inference engine, pencocokan pola dan penentuan antara rules (aturan) dengan fakta (knowledge base) terjadi secara otomatis. Terdapat tiga langkah proses yaitu: (1) membandingkan rule dengan pola atau fakta yang diberikan;
(2) memilih rule yang paling sesuai; dan (3) menerapkan tindakan yang sesuai.
Inference engine berlaku seperti otak pada sistem pakar, mengelola fakta dan aturan-aturan, mencocokkan antara aturan dengan faktanya, dan menerapkan tindakan sesuai dengan ketentuan.
Pendekatan yang paling sering digunakan dalam shell sistem pakar adalah algoritma Rete. Algoritma Rete terdiri dari logika untuk mencocokkan fakta dengan aturannya. Aturan-aturan tersebut terdiri dari satu atau lebih kondisi dan sekumpulan tindakan yang akan diambil jika sekumpulan fakta tersebut cocok dengan kondisinya. Alogirtma Rete ini tidak hanya mencocokkan secara keseluruhan namun bisa secara parsial, yang dapat menghindari evaluasi keseluruhan fakta ketika rule based-nya berubah.
Secara umum ada dua tipe sistem rule-based yaitu: sistem forward-chaining dan backward-chaining. Dalam sistem forward-chaining yang menggunakan acuan data, prosesnya dimulai dari fakta awal kemudian menggunakan aturan aturan untuk pengambilan kesimpulan atau mengambil tindakan tertentu.
Sedangkan pada sistem backward-chaining yang menggunakan acuan target, prosesnya dimulai dari pengambilan hipotesis, atau target, yang akan dibuktikan dan dicari aturan sesuai dengan hipotesis yang telah ada.
4. User Interface
Fungsi dari bagian ini untuk menampilkan pertanyaan dan informasi kepada penggunanya dan untuk memberikan input dari pengguna ke inference engine.
Nilai yang diisi oleh pengguna harus diterima dan diterjemahkan melalui user interface. Sebagian dari input yang ada dihilangkan untuk sekumpulan jawaban yang memungkinkan, sebagian lagi tidak. User Interface memastikan semua tipe data input-nya sesuai dengan ketentuannya. Komunikasi antara user interface dengan inference engine dilakukan dengan menggunakan bagian kontrol dari user interface.
Ketika sebuah kesimpulan telah diambil, sang pakar dan sistem pakar harus menjelaskan mengapa kesimpulan tersebut diambil sehingga pengguna dapat menilai ketepatan pengambilan keputusan. Sistem pakar juga sering memiliki kemampuan untuk menjelaskan mengapa pertanyaan tersebut diajukan. Komunikasi dengan sistem pakar harus dibuat senyaman mungkin seperti sedang berbicara dengan seorang pakar yang sesungguhnya.
Penjelasan yang informatif membuat pengguna merasa nyaman.
2.1.3 Logika Fuzzy
Logika fuzzy awalnya dikembangkan karena penyelesaian masalah dengan menggunakan teknologi berdasarkan data eksperimen dianggap kurang tepat walaupun untuk seorang ilmuwan yang berpengalaman dapat mengatur ketepatan dari data yang digunakan sebagai knowledge base dari sebuah sistem pakar. Namun jika data yang diukur kurang tepat karena kesalahan relatif atau kesalahan sistem, atau banyaknya data pengganggu, akan mengakibatkan pengambilan kesimpulan yang tidak bisa digunakan dalam sistem pakar. Oleh karena itu diperlukannya sebuah metode untuk menangani ketidaktepatan terhadap data dengan logika fuzzy.
Menurut Hemmer (2008:25-26), pendekatan logika fuzzy menggunakan struktur matematis untuk menyajikan dan menghitung ketidaktepatan suatu data dalam metode kecerdasan buatan (Artificial Intelligence). Logika fuzzy merupakan himpunan bagian dari logika Boolean konvensional yang telah dikembangkan untuk menangani nilai yang letaknya sepenuhnya benar dan sepenuhnya salah.
Menurut Jang (1997:13), himpunan klasik merupakan himpunan dengan batas yang pasti (crisp boundary). Misalnya himpunan klasik A dari bilangan asli yang lebih dari 6 dapat ditulis dalam notasi berikut:
dari notasi tersebut sangat jelas bahwa batas himpunan adalah 6, jika x lebih besar daripada 6, maka x merupakan himpunan bagian dari himpunan A; selain itu bukan merupakan himpunan bagian dari himpunan A. Jika kita misalkan A = “orang yang memiliki badan tinggi” dan x = “tinggi”, tentu pemisalan tersebut kurang pantas untuk mengkategorikan tinggi badan seseorang. Himpunan klasik akan mengkategorikan orang yang memiliki tinggi badan 6.001 kaki sebagai orang yang tinggi, namun tidak untuk orang dengan tinggi badan 5.999 kaki. Hal tersebut tentu saja tidak masuk akal, oleh sebab itu diperlukannya logika fuzzy.
Istilah logika fuzzy mengarah pada hubungan antara logika yang fuzzy itu sendiri. Himpunan fuzzy dan logika digunakan untuk merepresentasikan ketidakpastian, dimana hal tersebut sangat penting untuk menangani sistem secara alami. Sistem pakar fuzzy merupakan sistem pakar yang menggunakan sekumpulan fungsi fuzzy dan aturan aturan untuk memberikan penalaran terhadap suatu data; Tidak seperti sistem pakar yang biasa, yang menggunakan simbol dalam penalarannya.
2.1.3.1 Himpunan Fuzzy
Misalkan X adalah himpunan semesta, dan x adalah elemen dari X.
Dalam himpunan klasik A, A himpunan bagian dari X, didefinisikan sebagai himpunan dari elemen atau objek yang terdiri dari x X, sehingga setiap elemen x dapat merupakan anggota A dan bukan anggota A. Dengan fungsi keanggotaan untuk setiap elemen x dalam X, kita dapat membuat himpunan klasik A dengan himpunan pasangan yang berurutan (x, 0) or (x, 1) yang menunjukkan x A atau x A seperti pada notasi berikut:
dimana, XA(x) melambangkan keanggotaan x dalam himpunan A, simbol dan melambangkan apakah merupakan anggota A atau bukan. Dalam himpunan klasik, jika XA(x) adalah 1, maka x merupakan anggota dari himpunan A dan jika XA(x) adalah 0, maka x bukan merupakan anggota dari himpunan A (Jang, 1997:14).
Menurut Yuan (1995:11), dari nilai yang diberikan dengan fungsi pada himpunan fuzzy dapat mempunyai rentang yang menunjukkan derajat keanggotaan dari suatu elemen dalam suatu himpunan. Nilai yang lebih besar menunjukkan derajat keanggotaan yang lebih tinggi, dan sebaliknya. Fungsi tersebut disebut sebagai fungsi keanggotaan, dan himpunannya disebut sebagai himpunan fuzzy. Fungsi keanggotaan untuk himpunan fuzzy A dilambangkan dengan µA; yaitu, µA : X → [0,1]
2.1.3.2 Fungsi Keanggotaan
Membuat fungsi keanggotaan adalah langkah awal dalam logika fuzzy karena keseluruhan nilai himpunan fuzzy ditentukan oleh fungsi keanggotaannya. Fungsi keanggotaan digambarkan sebagai grafik dengan fungsi kontinyu.
Gambar 2.5 Fungsi Keanggotaan Untuk Himpunan Fuzzy
Core atau inti dari fungsi keanggotaan untuk sebuah himpunan fuzzy didefinisikan dengan derajat keanggotaan secara penuh dalam sebuah himpunan misalnya himpunan , sehingga derajat keanggotaan elemen x yang berada dalam rentang inti adalah µ (x) = 1.
Support atau pendukung dari fungsi keanggotaan untuk sebuah himpunan fuzzy didefinisikikan dengan nilai derajat keanggotaan yang bukan nol dalam himpunan misalnya himpunan , dimana derajat keanggotaan dari elemen x adalah yang berada dalam rentang support adalah µ (x) > 0.
Boundaries atau rentang dari fungsi keanggotaan untuk sebuah himpunan fuzzy didefinisikan sebagai daerah yang terdiri dari elemen elemen yang memiliki derajat keanggotaan yang bukan nol, namun tidak memiliki derajat keanggotaan penuh. Misalnya dalam himpunan , derajat keanggotaan elemen x yang berada dalam rentang boundaries adalah 0 < µ (x) < 1. Dapat disimpulkan bahwa semua elemen yang berada pada rentang ini, hanya memiliki derajat keanggotaan secara parsial dalam himpunan fuzzy . (Ross, 2010:90-91).
Jang (1997:24), menambahkan bahwa himpunan fuzzy ditentukan oleh fungsi keanggotaannya, karena kebanyakan dari humpunan fuzzy yang
digunakan merupakan himpunan dari semesta X yang terdiri dari himpunan bilangan asli R, maka akan menjadi tidak praktis jika harus menuliskan semua pasangan himpunan yang menunjukkan fungsi keanggotaan. Oleh karena itu, dibuatlah cara yang lebih tepat untuk membuat fungsi keanggotaan dengan formula matematika. Fungsi keanggotaan tersebut biasanya terdiri dari satu atau dua dimensi yang berpengaruh pada input dan parameternya. Hal ini sangat penting dalam pengaturan sistem inferensi fuzzy dalam rangka mendapatkan pemetaan input / output yang diinginkan.
Fungsi keanggotaan satu dimensi, terdiri hanya dari satu input. Fungsi keanggotaan triangular ditentukan dengan 3 parameter {a,b,c} seperti pada notasi berikut:
Parameter {a, b, c, d} (dengan a < b ≤ c < d) menentukan koordinat x dari 4 titik sudut dari fungsi keanggotaan trapezoid. Fungsi keanggotaan triangular dan trapezoidal paling sering digunakan karena formula yang sederhana dan perhitungan yang efisien.
Gambar 2.6 (a) Fungsi Keanggotaan Triangular; (b) Fungsi Keanggotaan Trapezoid (Jang, 1997)
Pada gambar 2.6(a) merupakan fungsi keanggotaan triangular yang didefinisikan dengan segitiga (x; 20, 60, 80). Pada gambar 2.6(b) merupakan fungsi keanggotaan trapezoid yang dibentuk dari trapesium (x; 10, 20, 60, 95). Sebagai catatan, jika parameter b sama dengan c pada fungsi keanggotaan trapesium dengan parameter {a, b, c, d}, maka akan berubah menjadi fungsi keanggotaan triangular (Jang, 1997:24-26).
2.1.3.3 Fuzzification
Fuzzification merupakan sebuah proses pengubahan nilai asli (crisp value) menjadi nilai fuzzy. Menurut Ross (2010), nilai yang kita anggap nilai asli dan dapat diukur sebenarnya tidak seluruhnya dapat diukur. Beliau beranggapan bahwa semua nilai tersebut membawa ketidakpastian. Nilai variabel yang tidak pasti tersebut muncul karena pengukuran tidak tepat dan bersifat ambigu. Oleh karena itu, variabel tersebut dianggap variabel fuzzy dan dapat direpresentasikan dengan fungsi keanggotaan.
Representasi dari data yang tidak tepat menjadi sebuah himpunan fuzzy sangat berguna, namun bukan merupakan keharusan ketika data tersebut digunakan dalam suatu sistem fuzzy. Di dalam sebuah sistem kontrol yang menggunakan fuzzy, sebuah input yang berupa hasil pengukuran maupun data yang tidak pasti akan diubah nilainya melalui proses fuzzification untuk digunakan dalam sebuah sistem inferensi fuzzy. Hal tersebut akan dilakukan oleh pengontrol fuzzy untuk menjalankan sistem rule-based. Oleh karena itu di dalam sistem fuzzy, nilai yang memiliki besaran harus mengalami proses fuzzification terlebih dahulu melalui pemetaan pada fungsi keanggotaannya, setelah itu dapat digunakan sebagai input dalam sistem fuzzy (Ross, 2010:94-95)
2.1.3.4 Defuzzification
Merupakan proses penterjemahan dari nilai fuzzy menjadi nilai atau angka yang pasti menggunakan fungsi keanggotaan yang sesuai dengan proses fuzzification. Melalui proses ini, kesimpulan dari sebuah sistem pakar fuzzy dapat diterjemahkan menjadi sebuah nilai atau angka yang pasti. Hal ini dilakukan dengan cara pemetaan faktor keyakinan yang merupakan hasil dari fuzzy terhadap fungsi keanggotaannya. Nilai yang di-defuzzification dapat dihitung dengan cara atau metode yang berbeda, seperti titik tengah dari gravitasi, nilai terkecil atau terbesar atau rata - rata maksimum dari sebuah fungsi. (Hemmer, 2008:26)
Ross (2010:98) menambahkan bahwa defuzzification merupakan langkah yang harus dilalui dimana sebuah proses fuzzy memerlukan output tunggal skalar yang merupakan kebalikan dari himpunan fuzzy.
Defuzzification merupakan pengubahan dari nilai fuzzy menjadi nilai yang tepat. Output dari proses fuzzy dapat berupa union atau gabungan dari dua atau lebih fungsi keanggotaan fuzzy yang didefinisikan pada himpunan semesta pembicaraan untuk variable output.
Gambar 2.7 Contoh Output Proses Fuzzy: (a) Bagian pertama output fuzzy; (b) Bagian kedua output fuzzy; (c) Gabungan keduanya.
Misalnya ada output fuzzy yang terdiri dari dua bagian: (1) , berbentuk trapesium (Gambar 2.7a) dan (2) , fungsi keanggotaan berbentuk segitiga (Gambar 2.7b).
Gabungan dari keduanya yaitu = ∪ , menggunakan operator max, sehingga menghasilkan bentuk seperti pada Gambar 2.7c. Sehingga secara umum, kita mendapat himpunan semesta pembicaran:
= =
Contoh metode yang dapat digunakan untuk melakukan defuzification pada output fuzzy adalah metode centroid versi kontinyu dan versi diskrit yang akan dibahas dibawah ini sebagai berikut:
1. Centroid method: Metode ini juga disebut center of area atau center of gravity adalah yang paling umum digunakan dan paling bagus bentuknya dari semua metode defuzzification (Sugeno, 1985; Lee, 1990); metode ini dijabarkan dalam ekspresi aljabra dan tanda melambangkan integrasi aljabar.
Gambar 2.8 Metode Centroid Defuzzification.
2. Weighted average method: adalah metode yang paling sering digunakan pada aplikasi fuzzy karena merupakan salah satu metode yang perhitungannya efisien.
Menurut Buckley & Siler (2005:122) metode ini merupakan bentuk diskrit dari metode centroid dimana terdapat himpunan nilai diskrit yang diberikan ke dalam fungsi keanggotaanya. Sayangnya, metode tersebut terbatas pada output fungsi
keanggotaan yang harus simetris. Metode ini dijabarkan dalam bentuk ekspresi aljabar:
dimana ∑ melambangkan penjumlahan aljabar dan z adalah titik tengah dari fungsi keanggotaanya. Sebagai contoh akan dijelaskan pada gambar dibawah ini:
Gambar 2.9 Contoh Penerapan Metode Defuzzification Weighted Average.
Metode ini bekerja dengan cara mengambil nilai maksimum dari setiap output fungsi keanggotaannya. Sehingga akan menghasilkan nilai output defuzzification:
Karena metode ini terbatas hanya pada fungsi keanggotaan yang simetris, maka nilai a dan b merupakan rata - rata (titik tengah) dari bentuk output tersebut.
2.1.3.5 Sistem Fuzzy (Rule-Based)
Menurut Ross (2010:145-147), Dalam bidang kecerdasan buatan ada cara yang bermacam - macam untuk merepresentasikan pengetahuan. Cara representasi yang paling umum adalah dengan mengubahnya ke dalam bentuk bahasa natural seperti:
IF premise (antecedent), THEN conclusion (consequent)
Pola diatas umumnya sering disebut sebagai bentuk IF-THEN yang merupakan bentuk deduktif. Pola tersebut merupakan sebuah inferensi, jika kita mengetahui fakta atau penyebab (premise, hyphthesis, antecedent), kemudian kita dapat mengambil penalaran yang disebut kesimpulan (consequent). Bentuk pengetahuan ini dikenali sebagai bentuk yang mudah dimengerti karena dari segi bahasanya yang mengungkapkan pengetahuan manusia dalam bahasa yang dimengerti manusia.
Bentuk dari rule diatas dapat memiliki penyebab atau antecedent lebih dari satu, yaitu:
1. Multiple conjunctive antecedents
IF x is 1 and 2 … and L THEN y is s.
Sehingga himpunan bagian fuzzy s yang baru menjadi
s = 1 n 2 n… L
Diungkapkan dengan fungsi keanggotaan menjadi:
µ s(x) = min [µ 1(x), µ 2(x)… µ L(x)]
2. Multiple disjunctive antecedents
IF x is 1 OR x is 2 … OR x is L THEN y is s Sehingga himpunan bagian fuzzy s menjadi:
s = 1 U 2 U … U L
Diungkapkan ke dalam fungsi keanggotaanya menjadi:
µ s(x) = max [µ 1(x), µ 2(x)… µ L(x)]
2.1.3.5.1 Agregasi dari Aturan Fuzzy
Kebanyakan dari sistem rule-based mempunyai lebih dari satu aturan. Proses pengambilan keseluruhan keputusan dari setiap aturan dalam rule-base disebut dengan agregasi. Ada dua macam tipe agregasi yaitu:
1. Conjunctive system of rules: pada sistem yang mengadopsi tipe ini, setiap rule yang ada dihubungkan dengan operator “and”. Hasil output yang di agregasi diperoleh dengan metode irisan (intersection) dari setiap aturan yang berhubungan menjadi:
2. Disjunctive system of rules: pada sistem yang mengadopsi tipe ini , setiap
rule dihubungkan dengan operator “or”. Dalam hal ini, output yang diagregasi diperoleh dengan metode penggabungan (union) dari setiap rule yang ada menjadi:
2.1.3.5.2 Teknik Inferensi Mamdani
y = y1 and y2 and … and yr dimana i = 1,2, … r
atau
y = y1 y2 … yr, yang didefinisikan dengan fungsi keanggotaan menjadi:
y = y1 or y2 or … or yr atau
y = y1 y2 … yr, yang didefinisikan dengan fungsi keanggotaan menjadi :
Teknik inferensi ini diciptakan oleh Mamdani dan Assilian (1975). Teknik ini merupakan yang paling umum digunakan dalam praktek dan dalam literatur.
Misalkan didalam sebuah sistem fuzzy dengan dua input x1 dan x2 (antecedent) dan output tunggal y (consequent) dijelaskan dengan kumpulan sebanyak r yang merupakan bentuk linguistic IF-THEN; dalam bentuk Mamdani menjadi:
dimana 1k dan 2k merupakan himpunan fuzzy yang merepresentasikan pasangan antecedent yang ke-k dan k merupakan himpunan fuzzy yang merepresentasikan consequent yang ke-k.
Sebagai contoh, input x1 dan x2 merupakan nilai asli (crisp values). maka keanggotaan untuk input x1 dan x2 akan dijelaskan sebagai berikut:
Gambar 2.10 Metode Inferensi Mamdani (max-min) dengan Input Nilai Asli (Crisp Input)
Berdasarkan metode implikasi Mamdani untuk proses inferensi dan untuk himpunan dari disjunctive rules, ouput yang sudah diagregasi untuk sebanyak r rules akan disimpulkan menjadi:
Gambar 2.10 merupakan analisis dalam bentuk grafik dari dua rules, dimana simbol A11 dan simbol A12 merupakan antecedent yang pertama dan kedua pada rule yang pertama. Simbol B1 merupakan kesimpulan dari rule yang pertama. Sedangkan simbol A21 dan A22 merupakan antecedent yang pertama dan kedua pada rule yang kedua. Dari gambar 2.10, fungsi minimum digunakan karena struktur rule dihubungkan dengan operator “and” sehingga menghasilkan nilai keanggotaan minimum. Setelah inferensi dilakukan setiap rule, maka fungsi keanggotaan di setiap rule diagregasi dengan fungsi conjuction prinsipnya sama seperti pada disjunctive rules yang menggunakan operator “max”. Hasil agregasinya menjadi fungsi keanggotaan yang menyatu dari setiap rule-nya (Ross, 2010:148-149).
2.1.4 C Sharp (C#)
C# adalah salah satu bahasa pemrograman baru berorientasi objek yang dikembangkan oleh Microsoft. Bahasa pemrograman ini mirip dengan C dan C++, namun banyak pengembang mengatakan bahwa bahasa pemrograman ini lebih mirip dengan bahasa pemrograman Java. Ada beberapa persamaan dengan bahasa pemrograman lain yaitu bahasa pemrograman ini mempunyai GUI (Graphical User Interface) yang lebih cepat dan bagus dari Visual Basic versi sebelumnya, mirip dengan bahasa pemrograman C, dan mempunyai object-oriented class libraries yang mirip dengan bahasa pemrograman Java. C# dirancang oleh Microsoft sebagai bagian dari kerangka .NET Framework. Sejumlah classes dimasukan sebagai bagian dari .NET. C# dapat digunakan untuk mengembangkan segala jenis komponen software seperti mobile applications, web dinamis, akses komponen database, aplikasi desktop Windows, web services, dan aplikasi berbasis console. C# memungkinkan pengembang untuk membuat programnya memiliki fitur-fitur umum yang hanya bisa ditemukan di Java, Common Gateway Interface (CGI), dan PERL. (Doyle , 2013:21).
2.1.4.1 Keuntungan C#
Keuntungan menggunakan C# menurut Doyle (2013:17-24) antara lain : 1. Sederhana
C# sederhana karena bahasa pemrograman ini mirip bahasa pemrograman Visual Basic yang sudah ada sebelumnya. Aspek-aspek seperti untuk looping dan selection diadopsi langsung dari C, C++, dan Java, serta adanya perbaikan dan penambahan fitur.
2. Object Oriented Language
C# dapat dikatakan sebagai bahasa pemrograman bersifat object oriented karena adanya abstraction, encapsulation dan information hiding, dan inheritance dan polymorphism.
3. Powerfull dan Fleksibel
C# dapat dengan mudah mengembangkan berbagai aplikasi kompleks seperti aplikasi console, web, spreadsheets, atau membuat compiler untuk sebuah bahasa pemrograman karena hanya berfokus pada objek yang akan kita manipulasi.
4. Efisien
Dengan prinsip class dapat dibuat banyak objek dengan karakteristik yang sama tanpa harus mendefinisikan ulang class-nya, sehingga mengurangi kerumitan.
2.1.5 .NET Framework
.NET Framework merupakan kumpulan class yang dibuat dengan bahasa C#
untuk bekerja dengan .NET .NET sendiri merupakan platform yang dibuat dengan tujuan untuk membantu pengembangan berbagai jenis aplikasi serta untuk menjalankan berbagai macam aplikasi. .NET juga disebut sebagai layer penghubung antara software dengan operating system yang diperlukan untuk banyak aplikasi yang berjalan pada Windows dan menyediakan fungsionalitas umum untuk menjalankan aplikasi. (Doyle, 2013:21-23).
2.1.5.1 Sejarah .NET Framework
Teknologi .NET dikembangkan oleh Microsoft selama tiga tahun.
Pada tahun 2000 Microsoft meresmikan .NET. Microsoft mendistribusikan versi beta sebelum pengumuman resmi. Versi beta belum sepenuhnya diuji sehingga masih banyak bugs atau errors. Pada tanggal 13 Febuari 2002 Microsoft merilis versi pertama dari Visual Studio untuk mengembangakan aplikasi C#, Visual Basic, Visual C++, dan Visual C#. Pada tanggal 6 November 2006 .NET Framework disertakan di Windows Server 2008 dan Windows Vista (versi 3.0). Versi 3.5 disertakan di Windows 7 dan juga bisa
diinstal di Windows XP maupun Windows Server 2003. Pada tanggal 12 April 2010 .NET Framework versi 4.0 dirilis bersamaan dengan aplikasi Visual Studio 2010. (Doyle, 2013:21-22).
2.1.6 Ikan Diskus
Diskus adalah ikan dari jenis Symphysodon yang dimiliki oleh famili Cichlids. Ikan ini berasal dari perairan Brazil, tepatnya dari sungai Amazon.
Diskus merupakan ikan yang mempunyai sifat paling dekat dengan famili Cichlids. Ikan ini hidup secara berkelompok (social fish) . Karena sifatnya yang tidak agresif, maka ikan ini tidak harus dipelihara di akuarium. Ikan diskus tidak mengigit karena mereka bukan termasuk predator, maka tidak akan menjadi masalah apabila ikan ini dipelihara bersama-sama dengan ikan kecil lainnya di satu akuarium. Seperti famili Cichlids dari jenis Pterophyllum, semua spesies dari Symphysodon mempunyai bentuk tubuh yang pipih. Tidak seperti spesies dari Pterophyllum yang mempunyai bentuk tubuh yang cenderung memanjang, spesies dari Symphysodon mempunyai bentuk yang lebih bulat. Karena bentuk tubuh inilah ikan ini dinamakan ikan diskus. Panjang dari tubuh ikan diskus yang sudah dewasa bisa mendapai 8–
10 inci (20-25 cm) (Giovanetti, 1991:5).
2.1.6.1 Sejarah Ikan Diskus
Menurut Giovanetti (1991:5), diskus ditemukan oleh ichthyologist (seseorang yang mempelajari ilmu perikanan) dari Austria, Dr. Johann Jacob Heckel pada tahun 1840. Salah satu masalah pada masa itu adalah adalah proses pengembangbiakan ikan diskus diperlukan waktu yang sangat lama.
Pada tahun - tahun berikutnya para ilmuan sangat tertarik untuk mempelajari ikan ini namun belum ada yang memperoleh kemajuan yang berarti. Para ilmuan mencoba untuk menternakannya akan tetapi selalu gagal. Salah satu penyebabnya adalah mereka tidak tahu pentingnya lendir dari tubuh induk untuk anak ikan. Situasi ini terus berlangsung sampai Harald Schulz membuat laporan tentang diskus. Mulai saat itu ikan diskus dibawa ke German dan berhasil diternakaan di sana. Spesies paling awal dikirim ke German. Total 55 galon (208 liter) drum dibawa dengan menggunakan pesawat. Pada tahun
1930 sampai 1940 dealer akuarium mulai mengekspor ikan diskus mulai dari Eropa sampai Amerika dengan nama umum “ ikan pompodaur”.
2.1.6.2 Anatomi Ikan Diskus
Menurut Giovanetti (1991:6), anatomi ikan diskus dibagi seperti gambar di bawah ini
Gambar 2.11 Anatomi Ikan Diskus (Giovanetti, 1991) Keterangan :
1. Mulut
2. Lubang hidung 3. Interorbital space 4. Mata
5. Dahi 6. Kepala 7. Badan
8. Spinous dorsal fins 9. Dorsal ridge 10. Soft dorsal fin 11. Caudal peduncle 12. Caudal spines 13. Ekor
14. Anal fin 15. Pelvic fin
16. Total panjang ikan 17. Standar panjang ikan 18. Pectocal fin
19. Tenggorokan 20. Operculum 21. Pipi
2.1.6.3 Ikan Diskus Di Indonesia
Menurut data statistik Badan Karantina Ikan, Pengendalian Mutu dan Keamanan Hasil Perikanan pada tahun 2011 tercatat bahwa Indonesia mengekspor ikan diskus sebanyak 578.371 ekor. Sementara itu Indonesia mengimpor ikan diskus hanya sebanyak 1.390 ekor atau hanya 8 kilogram.
2.1.6.4 Spesies Ikan Diskus
Menurut Giovanetti (1991:5-7), spesies ikan diskus dibagi menjadi dua namun mempunyai empat tipe yang salah satu spesiesnya termasuk dari tiga subspesies, terdiri dari:
1. Symphysodon discus, atau biasa disebut diskus Heckel (Heckel discus) 2. Symphysodon aequifasciata
• Symphysodon discus
Diskus Heckel biasa dipanggil red Heckel atau Blue Heckel. Tipe ini ditemukan di area Manaus (Rio Negro) di Brazil tengah. Dari sembilan garis vertikal yang dimiliki, garis pertama, garis kelima, dan garis ke sembilan menjadi ciri dari ikan ini. Garis pertama melewati mata, garis kelima melewati bagian tengah dari tubuh, dan garis ke sembilan melewati pangkal ekor. Garis di bagian tengah tubuh dari diskus Heckel selalu lebih tebal daripada garis lainnya. Ini menjadi ciri dari diskus Heckel. Ikan ini memiliki warna latar belakang mahoni, dengan garis-garis biru yang samar horizontal dan dengan sirip tipis berwarna merah.
Gambar 2.12 Symphysodon discus
Diskus Heckel termasuk spesies ikan yang paling sedikit dicari, karena penggemar ikan diskus sekarang lebih suka dengan corak ikan yang berwarna kebiruan. Selain itu spesies ini paling susah untuk dikembangbiakan. Terkadang diskus Heckel jantan lebih mudah berkembang biak daripada yang betina, maka dari itu biasanya diskus Heckel dikembangbiakkan dengan ikan betina spesies lain untuk mendapatkan corak warna dan pola yang diinginkan, khususnya di Asia.
• Symphysodon aequifasciata aequifasciata
Diskus hijau berasal dari sungai Putumayo, bagian utara dari Peru. Diskus hijau dikirim ke Iquitos dan ditangkap di Rio Nanay, di mana arah dari sungai menuju ke Amazon dari Iquitos. Diskus hijau mempunyai pola dan warna yang bervariasi. Diskus hijau mempunyai warna latar belakang yang bervariasi dari warna coklat sampai warna hijau, dengan garis-garis horizontal metalik di daerah punggung dan perut. Diskus hijau biasanya mempunyai garis yang lebih banyak dari pada diskus coklat. Diskus hijau mempunyai garis-garis hijau di seluruh tubuh yang biasa disebut royal green discus. Warna ini yang biasa dicari oleh para penggemar.
Gambar 2.13 Symphysodon aequifasciata aequifasciata
• Symphysodon aequifasciata axelrodi
Diskus cokelat adalah diskus yang paling sering dipeliahara di akuarium rumah sebagai ikan hias, namun akhir - akhir ini penggemar memelihara diskus cokelat dengan warna yang lebih bervariasi. Diskus cokelat mempunyai warna yang terang sampai ke cokelat gelap dan mempunyai garis vertikal yang sama tebalnya, tidak seperti diskus Heckel yang garis kelima lebih tebal daripada garis lainnya. Goresan pada diskus cokelat muncul di dahi dan dorsium anterior, dan melewati sirip punggung ke dubur. Terkadang diskus cokelat berwarna kemerahan.
Gambar 2.14 Symphysodon aequifasciata axelrodi
• Symphysodon aequifasciata haraldi
Diskus biru ditemukan di Munaus. Diskus biru hampir mirip dengan saudaranya, diskus cokelat. Karena alasan tersebut, beberapa orang merasa diskus biru tidak lebih dari diskus cokelat yang mempunyai lebih banyak warna. Berbeda dengan diskus cokelat, diskus biru mempunyai warna yang lebih gelap, warnanya hampir seperti ungu kecokelatan terutama di bagian wajah. Diskus biru mempunyai garis horizontal berwarna biru, melewati kepala dan daerah punggung. Diskus biru yang mempunyai garis horizontal yang cerah biasanya disebut royal blue discus dan berharga sangat mahal.
Namun banyak diskus biru yang dijual seharga dengan royal blue discus.
Gambar 2.15 Symphysodon aequifasciata haraldi
2.1.6.5 Penyakit penting pada ikan diskus
Menurut Giovanetti (1991:71-74), terdapat beberapa penyakit yang sering ditemukan di ikan diskus :
1. Penyakit Insang (Gill Flukes)
Penyakit ini merupakan salah satu masalah bagi para peternak karena penyakit ini tidak menunjukan gejala apapun. Namun apabila diperhatikan dengan lebih teliti, ikan seperti susah bernafas. Ikan yang sehat dapat membuka dan menutup insangnya dengan ritme yang sama, Namun bagi ikan yang terserang penyakit ini akan terlihat kalau ikan bernafas terengah-engah.
Gambar 2.16 Penyakit Insang
2. Pembusukan Sirip dan Ekor (Fins and Tail Rot)
Sirip membusuk menunjukan adanya infeksi terhadap ikan. Penyakit ini sangat menular dari sirip menuju ke ekor. Biasanya penyakit ini disebabkan oleh bakteri Pseudomonas, Aeromona dan Vibrio. Bakteri
ini berbentuk seperti tabung atau batang. Bakteri ini menginfeksi jaringan yang rusak dari ikan. Bakteri ini timbul karena kondisi air yang buruk, adanya cedera di ikan, dan muncul dari parasit yang ada di ikan (jika ikan terjangkit parasit). Sirip yang terinfeksi akan berubah warna menjadi gelap lalu memutih. Sirip ikan akan berjumbai. Kemudian sirip akan berubah warna menjadi kemerahan.
Jika ikan tidak kuat tentunya akan berujung kepada kematian.
Pembusukan sirip biasa terjadi karena penanganan yang kurang baik, pH air yang terlalu tinggi sehingga membakar sirip dan menyebabkan kerusakan. Ada suatu kasus dimana jamur juga ikut menyerang sirip dan merumitkan masalah. Dalam kasus ini diperlukan pengobatan antibiotik.
Gambar 2.17 Pembusukan Sirip dan Ekor
3. Luka Terbuka (Skin Flukes)
Luka yang terinfeksi biasa ditemukan di ikan. Penyakit ini biasanya disebabkan oleh bakteri Vibrio. Luka muncul pertama kali seperti belang putih pada kulit dan sisiknya menonjol, namun dengan cepat akan berubah kemerahan dan infeksi. Luka akan berubah menjadi lubang yang mengeluarkan darah. Luka ini akan terinfeksi oleh organism - organism yang ada di air. Penyakit ini dapat dicegah dengan perawatan akuarium yang baik, kecuali dalam kasus luka traumatis.
Gambar 2.18 Luka Terbuka
4. Masalah Jamur (Fungal Problems)
Jamur Saproglenia berbentuk seperti benang. Jamur ini tumbuh di jaringan yang sudah mati, sisa makanan ikan yang tidak termakan, dan telur ikan yang sudah mati. Spora jamur yang berada di air akuarium akan berkembang biak pada sisa makanan yang tidak termakan dan pengumpulan remah-remah yang ada di air. Maka dari itu ada baiknya kalau akuarium sering dibersihkan sehingga spora jamur tidak bisa berkembang biak.
Gambar 2.19 Masalah Jamur
5. Hexamita
Hexamita merupakan salah satu penyakit yang sering ditemui pada saat perkembangbiakan ikan diskus. Hexamita berasal dari protozoa flagelata dengan skala serangan yang kecil. Hexamita biasa
disebut sindrom “Head and Lateral Line Erosion“ (HLLE) yang disebabkan oleh kondisi lingkungan. Ketika terserang penyakit Hexamita, ikan akan sering bersembunyi di sudut bawah aquarium, menjadi kurus, warna menjadi gelap, berenang mundur, dan mengeluarkan kotoran berwarna putih. Kotoran berwarna putih menjadi gejala yang paling mudah dilihat dari penyakit Hexamita, bahkan saat ikan masih makan dan berperilaku normal.
Gambar 2.20 Hexamita
6. Costiosis (Body Flukes)
Penyakit ini sering kali menyerang ikan diskus. Parasit ini berkembang biak dengan pesat, dimana di dalam tubuhnya mempunyai embrio tiga keturunan, di dalam embrio yang sudah dewasa mengandung embrio yang di dalamnya mengandung embrio lain. Parasit ini dapat menghasilkan satu juta keturunan dalam satu bulan. Parasit ini memakan kulit dan darah ikan, memang tidak menyebabkan luka yang berarti, namun dengan populasi nya yang sangat banyak tentu akan menyengsarakan ikan. Infeksi parasit ini menyebabkan luka terbuka yang berpotensi terinfeksi oleh bakteri, selanjutnya kumpulan parasit tersebut akan melepaskan diri dari ikan dan bisa hidup selama sepuluh hari. Pada kasus infeksi yang parah, terdapat bintik – bintik putih di sepanjang tubuh dan sirip.
Gambar 2.21 Costiosis
2.2 Hasil penelitian dan produk sebelumnya
Para peneliti sebelumnya telah membuat penelitian sejenis mengenai sistem pakar untuk mendeteksi penyakit pada hewan. Oleh karena itu akan diulas penelitian yang sudah ada sebelumnya untuk mengetahui kekurangan dan kelebihannya sehingga dapat berguna untuk penelitian yang dibuat.
2.2.1 Fresh Water Fish Disease Diagnosis System Development
Fresh Water Fish Disease Diagnosis System Development merupakan penelitian yang menggunakan sistem pakar untuk mendiagnosa penyakit pada ikan air tawar. Sistem pakar ini berguna untuk peternakan ikan di malaysia untuk membantu para peternak menangani penyakit - penyakit yang mengancam peternakan ikan di Malaysia. Sistem pakar ini dibangun berbasis aplikasi web bernama SDIK yang dapat berfungsi untuk identifikasi penyakit dan memberikan saran pencegahannya dari solusi yang diberikan. Aplikasi ini dikembangkan oleh Nureize Arbaiy, Chuah Chai Wen, dan Zurinah Suradi.
Sistem ini diperkenalkan pada International Conference on IT Research and Applications pada tahun 2007.
Menurut data yang diperoleh, industri perikanan memegang peranan penting dalam kelangsungan ekonomi di Malaysia yang juga menyediakan untuk pangan. Pada tahun 2003 konsumsi ikan mencapai 103 juta. (Arbaiy, Wen, Suradi, 2007). Penyakit pada ikan cukup menjadi suatu masalah yang besar bagi industri perikanan, dapat mengakibatkan kehilangan nilai investasi, biaya pengobatan dan berkurangnya produktivitas peternakan. Oleh karena itu dibutuhkan manajemen yang baik dibidang perikanan dengan membuat aplikasi yang dapat memberikan pengetahuan dari sang pakar kepada para peternak.
Aplikasi SDIK ini mendiagnosa penyakit ikan yang diakibatkan karena infeksi parasit. Aplikasi ini dibuat dengan metode Knowledge Engineering, basis pengetahuan didapat dari pakar Pusat Penyelidikan Kesihatan Ikan Kebangsaan Penang melalui interview. Aplikasi ini dapat digunakan dengan internet untuk memudahkan akses dimana saja, mendapatkan update informasi terbaru, serta konsultasi secara interaktif.
Pengembangan aplikasi SDIK didasarkan dengan teknik sistem pakar, komponennya terdiri dari inference engine, working memory, knowledge base, explanation facility dan user interface. Representasi pengetahuan digunakan untuk menggambarkan informasi yang dianalisis menggunakan Inference Network, Cognitive Map dan Flow Chart. Sistem pakarnya dibangun dengan Rule Base dengan bentuk IF-THEN rules. Sistem pakar ini menggunakan forward chaining dan backward chaining dalam proses inferensinya.
Cara kerja aplikasi ini dengan memberikan pertanyaan diagnosis untuk mengetahui apakah ikan berperilaku abnormal atau normal melalui user input seperti radio buttons, menu, checkbox maupun text fields.
Kemudian sistem pakar yang berlaku seperti konsultan memberikan hasil diagnosanya melalui interaksi dengan user.
Gambar 2.22 Tampilan Awal Aplikasi SIDK
Gambar 2.23 Tampilan Menu Konsultasi Aplikasi SIDK
Gambar 2.24 Tampilan Hasil Diagnosis Aplikasi SDIK
Kelebihan dari aplikasi ini adalah adanya alasan dan penjelasan mengapa diagnosa itu diberikan. Aplikasi ini memiliki explanation subsystem dimana memberikan penjelasan dan pengertian kepada pengguna bagaimana dan dari mana asalnya suatu keputusan diagnosa diambil. Dengan adanya
kelebihan ini, pengguna dapat merasa lebih yakin terhadap diagnosa yang diberikan. Selain itu aplikasi ini berbasis web sehingga dapat diakses dimana saja dengan internet dan database penyakitnya dapat di-update. Namun, kekurangannya ialah tidak ada cara penanganan dan pencegahannya, padahal hal tersebut merupakan fitur yang sangat penting dalam mendiagnosa suatu penyakit. Selain itu tidak ada pengkategorian untuk jenis ikan, karena setiap jenis ikan dapat memiliki ciri - ciri yang berbeda walaupun penyakitnya sama.
2.2.2 Sistem Pakar Mendiagnosa Penyakit Pada Ikan Konsumsi Air Tawar Berbasis Website
Sistem Pakar Mendiagnosa Penyakit Pada Ikan Konsumsi Air Tawar Berbasis Website merupakan sistem pakar berbasis Web. Aplikasi sistem pakar ini dibuat karena adanya kendala yang ditemukan oleh para peternak ikan, seperti penyakit ikan yang mengakibatkan kematian pada ikan sehingga menimbulkan kerugian pada peternak dan kurangnya jumlah pakar ikan sebagai tempat untuk konsultasi. Dengan sistem pakar ini para petani dapat mengetahui penyakit yang menyerang ikan ternaknya lebih mudah. Aplikasi ini dikembangkan oleh Elfani dan Pujiyanta kemudian diperkenalkan dalam Jurnal Sarjana Teknik Informatika pada tahun 2013.
Konsumsi ikan sangat tinggi dikalangan masyarakat dibandingkan dengan lauk lain. Sehingga menjadikan prospek yang baik untuk para pebisnis dalam bidang peternakan ikan. Namun para peternak ikan sering mengalami kerugian yang berarti karena penyakit pada ikan. Dalam survey terdapat kematian sekitar 1500 ekor pada peternakan ikan di Desa Baturetno Kec. Banguntapan, Yogyakarta. (Elfani dan Pujiyanta, 2013) Selain itu karena kurangnya pengetahuan mengenai cara mengatur kolam untuk ikan dan minimnya pakar ikan untuk berkonsultasi. Oleh karena itu aplikasi ini dibuat untuk mendiagnosa, memberi definisi penyakit, dan memberi solusi penanganan penyakit.
Aplikasi sistem pakar berbasis Web ini menggunakan beberapa theorema untuk melakukan diagnosanya antara lain : Theorema Certainty Bayes. Metode ini digunakan untuk mencari nilai kepastian dari diagnosa yang dihasilkan. Pengembangannya menggunakan pengembangan sistem
modified waterfall menggunakan bahasa pemrograman PHP dengan Framework Codeigniter. Pengumpulan data pengetahuan untuk sistem pakar dilakukan dengan mewawancarai seorang pakar.
Cara kerja aplikasi ini yaitu dengan input data penyakit, gejala, penyebab, solusi, aturan gejala, aturan penyebab dan aturan solusi dari penyakit. Setelah itu akan diproses untuk pelacakan penyakit dan akan ditampilkan serta didokumentasikan data diagnosisnya.
Gambar 2.25 Tampilan Utama Aplikasi Sistem Pakar Mendiagnosa Penyakit Pada Ikan Air Tawar
Gambar 2.26 Menu Konsultasi Aplikasi Sistem Pakar Mendiagnosa Penyakit Pada Ikan Air Tawar
Gambar 2.27 Hasil Diagnosa Aplikasi Sistem Pakar Mendiagnosa Penyakit Pada Ikan Air Tawar
Kelebihan dari aplikasi ini adalah informasi mengenai diagnosa diberikan secara lengkap dan spesifik dengan definisi penyakitnya, pengendalian, penyebab, keterangan lengkap dan probabilitasnya. Selain itu aplikasi memiliki user interface yang baik. Namun kekurangannya aplikasi ini tidak memberikan kategori secara spesifik terhadap gejala penyakit yang muncul pada ikan. Hasilnya aplikasi ini memperoleh akurasi 100% pada pengujian Black Box test. Namun kurang akurat jika diuji dengan menggunakan alpha test, hanya diperoleh akurasi sistem sebesar 34.3%.
2.2.3 Sistem Pakar Untuk Mengidentifikasi Penyakit Udang Galah Dengan Metode Theorema Bayes
Sistem Pakar Untuk Mengidentifikasi Penyakit Udang Galah Dengan Metode Theorema Bayes dibuat karena adanya kendala dalam beternak udang yaitu penyakit udang galah yang menyebabkan kematian dan penurunan produksi. Perangkat lunak sistem pakar ini dikembangkan oleh Muhammad Johan Wahyudi dan Abdul Fadlili, diperkenalkan melalui Jurnal Sarjana Teknik Informatika pada tahun 2013.
Di Indonesia, budidaya udang galah yang hidup di perairan tawar memiliki prospek yang sangat menguntukan, memiliki nilai ekonomis yang tinggi baik untuk konsumsi domestik maupun mancanegara. (Wayudi dan Fadlili, 2013) Selain itu juga pembudidayaan udang galah ini cukup mudah dibanding jenis udang lainnya. Walaupun pembudidayaan mudah, pembudidayaan udang galah sering mengalami banyak kendala yang membuat produksi udang berfluktuasi seperti kualitas tambak, pakan, dan penyakit. Penyakit salah satu hal membuat kerugian besar, salah satu penyakit yang paling banyak menjangkit udang galah adalah “Black Spot” karena bakteri dan jamur. Karena kurangnya pengetahuan pembudidaya tentang penyakit, mereka banyak mengalami kerugian dan tidak tahu cara menangani penyakit tersebut dengan cepat dan tepat. Oleh karena itu dibuatlah aplikasi sistem pakar berbasis desktop yang dapat diguanakan untuk sarana konsultasi dari para pembudidaya udang dalam mengidentifikasi penyakit.
Aplikasi ini menggunakan metode Theorema Bayes untuk perhitungan ketidakpastiannya. Dalam sistem pakar ini menggunakan metode inferensi forward chaining. Dikembangkan dengan menggunakan bahasa
pemrograman Visual Basic. Pengetahuan dan data dikumpulkan melalui studi literatur dari internet dan buku, dokumentasi, dan wawancara dengan sang pakar.
Cara kerja aplikasi ini dengan cara pengguna harus memasukkan input dengan cara memilih gejala apa saja yang tampak pada udang galah, kemudian akan diproses untuk di diagnosa. Hasil diagnosa akan ditampilkan dalam bentuk laporan yang berisi nama pengguna, nama penyakit, definisi penyakit, nilai bayes, gejala, penyebab dan solusinya.
Gambar 2.28 Tampilan Awal Aplikasi Sistem Pakar Untuk Mengidentifikasi Penyakit Udang Galah
Gambar 2.29 Tampilan Menu Konsultasi dan Hasil Diagnosa Aplikasi Sistem Pakar Untuk Mengidentifikasi Penyakit Udang Galah
Kelebihan dari aplikasi ini adalah tampilan user interface yang cukup menarik serta adanya laporan terpisah yang dapat memudahkan untuk dicetak. Namun kekurangannya cukup banyak yaitu menu dan tombol yang membingungkan bagi pembudidaya, kurangnya keterangan yang jelas pada cara penggunaan aplikasi, nama gejala kurang spesifik. Akurasi diagnosa dari aplikasi ini cukup memuaskan, dengan pengujian Black Box test akurasi mencapai 100%, namun hasil dari pengujian alpha test mendapatkan nilai 65.7 %.
2.2.4 Diagnosis of Fish Diseases Using Artificial Neural Networks
Diagnosis of Fish Diseases Using Artificial Neural Networks merupakan penelitan yang bertujuan untuk mengevaluasi dua artificial neural networks untuk mendiagnosa penyakit pada ikan yang disebabkan oleh protozoa dan bakteri. ANN merupakan metode yang penting untuk pengambilan keputusan dalam diagnosa penyakit. Training ANN
menggunakan pendekatan back-propagation feed-forward dengan dua layer, fungsi aktivasi sigmoid dan linear, dan algoritma Levenberg - Marquardat.
Sistem ini dikembangkan oleh J.N.S. Lopes, A.N.A. Goncalves, R.Y.Fujimoto, dan J.C.C. Carvalho dan diperkenalkan pada IJCSI International Journal of Computer Science.
Sistem ini dibuat untuk membantu diagnosa penyakit pada ikan, karena kompleksitas penyakit pada ikan cukup tinggi dan dapat menyebabkan ikan mati dengan cepat jika tidak ditangani oleh pakar yang handal.
Kebanyakan penyakit yang menyerang ikan disebabkan oleh bakteri dan protozoa. Penyakit tersebut sulit untuk didiagnosa karena tanda - tanda klinis yang tampak kelihatan sama, perbedaannya hanya muncul ketika penyakit tersebut menjadi lebih akut. Oleh sebab itu, dibutuhkan sebuah sistem yang lebih efektif untuk mendiagnosa penyakit yang disebabkan oleh bakteri dan protozoa.
Metode yang digunakan adalah dengan membuat dua back- propagation feed-forward neural network, satu untuk bakteri dan yang satu lagi untuk penyakit karena protozoa. Neural network dibuat berdasarkan kumpulan data berisi gejala gejala dari ikan yang terinfeksi dan diagnosanya.
Kumpulan data tersebut yang diperoleh dari Ichthyoparasitology dan Laboratorium Perikanan di Universitas Federal Brazil.
Data untuk neural network dibagi ke dalam dua bagian yaitu input dan ouput. Data input berupa gejala klinis diberi nilai 1 jika gejalanya tampak dan diberi nilai 0 jika tidak tampak. Output-nya berupa hasil diagnosa
penyakitnya. Neural network untuk mendiagnosa penyakit karena bakteri terdiri dari 43 input, 20 neuron pada hidden layer dan 12 neuron pada output layer, sedangkan untuk penyakit karena protozoa, terdiri atas 28 input, 22 neuron pada hidden layer dan 8 neuron pada output layer. Struktur network ada pada gambar 2.30 dan 2.31
Gambar 2.30 Neural Network untuk Mendiagnosa Penyakit yang Disebabkan Bakteri.
Gambar 2.31 Neural Network untuk Mendiagnosa Penyakit yang Disebabkan Protozoa.
Kelebihan dari sistem ini adalah kecepatan training neural network karena menggunakan algoritma training Levenberg - Manquardt. Selain itu kelebihan lainnya adalah tingkat akurasi yang baik dengan persentase sebesar 97% pada pengujian penyakit yang disebabkan protozoa dan bakteri. Neural network sukses mendeteksi 8 tipe penyakit yang disebabkan protozoa, dan 12 penyakit yang disebabkan bakteri. Namun kekurangannya ketika menggunakan validation vector untuk menghentikan training network pada titik tertentu, performa GRADIENT menurun, performa adaptive variable (MU) juga menurun, dan validation performance (VAL FAIL) meningkat. Hal tersebut mengakibatkan ketepatan training neural network berkurang.
Tabel 2.1 Tabel Analisis Jurnal dan Metode yang Diterapkan Nama Jurnal Metode yang
digunakan
Hasil
Fresh Water Fish Disease Diagnosis System
Development
Metode sistem pakar yang digunakan adalah IF-THEN rules
mencakup forward dan backward chaining
Sistem dapat memberi informasi dan
pembelajaran kepada peternak mengenai penyakit pada ikan air tawar dan cara
penanggulangannya Sistem Pakar
Mendiagnosa Penyakit Pada Ikan Konsumsi Air Tawar Berbasis Website
Sistem pakar
menggunakan Theorema Certainty Bayes
menentukan kepastian dari diagnosanya.
Akurasi dari:
- Blackbox test: 100 % - Alpha test: 34.3 %
Sistem Pakar Untuk Mengidentifikasi Penyakit Udang Galah Dengan Metode Theorema Bayes
Metode inferensi yang digunakan adalah forward chaining.
Akurasi dari:
- Blackbox test: 100%
- Alpha Test: 65.7 %
Diagnosis of Fish Disease Using Artificial Neural Networks
Metode sistem pakar yang digunakan adalah Artificial Neural Network dengan pendekatan Feed Forward Backward Propagation
• Neural Network dapat mendeteksi dengan sukses 8 tipe penyakit yang disebabkan oleh protozoa, dan 12 oleh bakteri.
• Persentase akurasinya mencapai 97%