BAB II
LANDASAN TEORI
2.1
Sistem Pakar “Artificial Intelegence (Teknik dan Aplikasinya)”. Secara umum, sistem pakar
(expert
system)
adalah
sistem
yang
berusaha
mengadopsi
pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman (Sri Kusumadewi, 2003). Ada beberapa definisi tentang sistem pakar, antara lain : a. Menurut
(Durkin,
2003)
“Artificial
Intelegence
(Teknik
dan
Aplikasinya)”: Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar. b. Menurut
(Ignizio,
2003)
“Artificial
Intelegence
(Teknik
dan
Aplikasinya)”: Sistem pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar. c. Menurut (Giarratano dan Riley, 2003) “Artificial Intelegence (Teknik dan Aplikasinya)”: Sistem pakar adalah suatu sistem yang bisa menyamai atau meniru kemampuan seorang pakar. Sistem pakar merupakan cabang dari AI (Artificial Inteligent) yang membuat ekstensi khusus untuk spesialisasi pengetahuan guna memecahkan suatu permasalahan pada Human Expert. Human Expert merupakan
http://digilib.mercubuana.ac.id/
seseorang yang ahli dalam suatu bidang ilmu pengetahuan tertentu, ini berarti bahwa expert memiliki suatu pengetahuan atau skill khusus yang dimiliki oleh orang lain. Expert dapat memecahkan suatu permasalahan yang tidak dapat dipecahkan oleh orang lain dengan cara efisien. Pengetahuan di dalam Expert System berasal orang atau knowledge yang berasal dari buku-buku referensi, surat kabar atau karya ilmiah orang lain.
Gambar 2.1 Area Artifical Intellegence (Giarratano dan Riley, 1994) pengetahuan
manusia
ke
dalam
komputer,
agar
komputer
dapat
menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli (Kusumadewi, 2003). Atau dengan kata lain sistem pakar adalah sistem yang didesain dan diimplementasikan dengan bantuan bahasa pemrograman tertentu untuk dapat menyelesaikan masalah seperti yang dilakukan oleh para pakar dalam hal ini adalah dokter. Ciri-ciri sistem pakar (Azis, 1994), adalah sebagai berikut : 1. Terbatas pada domain tertentu. 2. Dapat memberikan solusi untuk data-data yang tidak lengkap. 3. Dapat mengemukakan rangkaian-rangkaian alasan yang diberikan dengan cara yang mudah dipahami. 4. Berdasarkan pada kaidah atau rule tertentu. 5. Dirancang untuk dapat dikembangkan secara bertahap. 6. Pengetahuan dan mekanisme inferensi yang jelas terpisah. 7. Sistem dapat mengaktifkan kaidah secara searah yang sesuai dituntun oleh pemakai dengan dialog. 2.2
Perbandingan Antara Seorang Pakar dan Sistem Pakar Keuntungan sistem pakar dibandingkan dengan seorang pakar yaitu:
http://digilib.mercubuana.ac.id/
Seorang Pakar
2.3
Sistem Pakar
1. Memiliki batas (umur)
1. Tidak memiliki batasan waktu
2. Ilmu pengetahuan sulit di transfer
2. Mudah ditransfer
3. Dipengaruhi oleh situasi dan emosi
3. Tidak terpengaruh oleh emosi
4. Biaya tinggi
4. relatif
Komponen Sistem Pakar Sistem pakar sebagai sebuah program yang berfungsikan untuk menirukan pakar manusia harus bisa melakukan hal-hal yang dapat dikerjakan oleh seorang pakar. Untuk membangun sebuah sistem yanng seperti itu maka komponen-komponen yang harus dimiliki adalah sebagai berikut (Giarranto dan Riley, 2005): 1. Basis Pengetahuan (Knowledge Base) Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta yang sudah diketahui. 2. Mesin Inferensi (Inference Engine) Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan startegi penalaran dan startegi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran yang tidak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya. Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan proses penalaran. Terhadap tiga teknik
http://digilib.mercubuana.ac.id/
pengendalian yang sering digunakan, yaitu forward chaning, backward chaining, dan gabungan dari kedua teknik pengendalian tersebut. 3. Basis Data (Data Base) Basis data terdiri atas semua fakta yang dipelukan, dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemprosesan. 4. Antarmuka Pemakai (User Interface) Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan komputer. 2.4
Fasilitas Akuisisi Pengetahuan Di dalam akuisisi pengetahuan dilakukan proses akumulasi, transfer dan transformasi kepakaran. Pemecahan persoalan dari sumber pengetahuan ke perangkat lunak untuk membantu atau mengembangkan basis pengetahuanpengetahuan tentang dasar tentang domain meliputi istilah dan konsep dasar. Pengetahuan pakar tersebut terdapat dalam jurnal, buku dan sebagainya. Namun, tidak semua kepakaran dapat didokumentasikan. Prosedur interaktif diperlukan untuk mendapatkan informasi tambahan dari pakar dalam mengembangkan pengetahuan dasar. Proses ini cukup kompleks dan biasanya membutuhkan bantuan rekayasa pengetahuan.
http://digilib.mercubuana.ac.id/
Gambar 2.2 Komponen Sistem Pakar (Turban 1995) 1. Basis pengetahuan Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian masalah, tentu saja dalam domain tertentu. Ada dua bentuk pendekatan basis pengetahuan yang sangat umum digunakan, yaitu : a) Penalaran berbasis aturan (Rule-Based Reasoning) Basis pengetahuan direpresentasikan dengan menggunakan aturan berbentuk IF-THEN. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu. b) Penalaran berbasis kasus (Case-Based Reasoning) Basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang. 2. Blackboard Blackboard digunakan untuk menggambarkan masalah dan mencatat hasil sementara sebelum mendapatkan solusi terakhir. Tiga tipe keputusan yang dapat disimpan pada Blackboard adalah rencana yaitu bagaimana memecahkan persoalan. Agenda yaitu aksi potential yang menunggu eksekusi. Hipotesa dan aksi yang sudah diproses akan diproses dalam solusi. 3. Antarmuka Pemakai
http://digilib.mercubuana.ac.id/
Antarmuka digunakan mempemudah komunikasi antar pemakai dengan sistem. Komunikasi tersebut berupa permintaan informasi yang diperlukan sistem untuk pencarian solusi, pembagian informasi dari pemakai, pemberian informasi dari pemakai kepada sistem, permintaan informasi penjelasan dari pemakai kepada sistem, permintaan informasi penjelasan oleh pemakai dan pemberian informasi oleh sistem. 2.5
Pengembangan Mesin Inferensi Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) atau implikasi berdasarkan pada informasi yang tersedia. Dalam sistem pakar, proses inferensi dilakukan dalam suatu modul yang disebut Inference engine (mesin inferensi). Ketika representasi pengetahuan pada bagian knowledge base telah lengkap, atau paling tidak telah berada pada level cukup akurat, maka referensi pengetahuan tersebut telah siap digunakan. Sedangkan inferensi engine merupakan modul yang berisi program tentang bagaimana mengendalikan proses reasoning. Sesuai dengan tujuan sistem pakar untuk mengembangkan dan memasyarakatkan serangkaian usulan jawaban dari suatu masalah, untuk itu sistem pakar memiliki suatu strategi penalaran (inference) dimana proses penalaran itu akan ditemukan berbagai macam jawaban. Terdapat dua metode umum penalaran yang dapat digunakan apabila pengetahuan dipresentasikan untuk mengikuti aturan-aturan sistem pakar yaitu:
1. Backward chaining Penalaran berdasarkan tujuan (goal-driven), metode ini dimulai dengan membuat perkiraan dari apa yang akan terjadi, kemudian mencari fakta-fakta (evidence) yang mendukung (atau membantah) hipotesa tersebut. Backward chaining adalah suatu alasan yang berkebalikan dengan hypothesis, potensial konklusinya mungkin akan terjadi atau terbukti, karena adanya fakta yang mendukung akan hypothesis tersebut (Giarratano dan Riley, 1994).
http://digilib.mercubuana.ac.id/
Dengan kata lain, prosesnya dimulai dari initial Hyphotesis or goal (Hipotesa awal atau tujuan) melalui Intermediet Hipotheses or sub goals (hipotesa lanjutan atau bagian dari tujuan) yang akan memerikasa semua hipotesa yang ada apakah hipotesa itu benar atau salah sehingga akhirnya akan menuju suatu Evidence (fakta). Sebagai contoh akan diuraikan sebagai berikut, jika suatu masalah mempunyai sederetan kaidah seperti tertulis dibawah ini: R1 : A and C, THEN E R2 : IF D and C, THEN F R3 : IF B and E, Then F R4: IF B THEN C R5 : IF F THEN G Dimana sebagai acuan diketahui bahwa fakta A dan B adalah true (benar) dan G adalah GOAL (tujuan). Berikut ini langkah-langkah yang digunakan dalam metode backward chaining: 1. Langkah 1 : Mencari kebenaran dasar dari tujuan berdasarkan fakta yang ada, dimana sebagai acuannya kita sudah mengetahuinya. 2. Langkah 2 : R5 menunjukkan bahwa jika F benar maka G benar. Untuk itu, maka kita akan melihat R2 dan R3. 3. Langkah 3 : R2 menunjukkan bahwa D belum tentu benar sebab D tidak termasuk dalam fakta acuan, sehingga R2 tidak bisa digunakan, maka kita akan melihat ke kaidah yang lainnya yaitu kaidah R3. 4. Langkah 4 : Pada kaidah R3, kita ketahui sesuai fakta acuan yang ada bahwa B adalah benar, selanjutnya kita akan melihat apakah E benar. 5. Langkah 5 : Pada kaidah R1 sangat tergantung dengan kebenaran A dan C. 6. Langkah 6 : Karena A diketahui sebagai fakta acuan adalah benar, selanjutnya kita akan melihat apakah C benar, dengan melihat R4. 7. Langkah 7: R4 menunjukkan bahwa C adalah benar karena B adalah benar. Dari langkah diatas dapat diambil kesimpulan bahwa G adalah benar.
http://digilib.mercubuana.ac.id/
2. Forward Chaining Forward chaining merupakan fakta untuk mendapatkan kesimpulan (conclusion) dari fakta tersebut (Menurut Giarratano dan Riley, 1994). Penalaran ini berdasarkan fakta yang ada (data driven), metode ini adalah kebalikan dari metode backward chaining, dimana metode ini dijalankan dengan mengumpulkan fakta-fakta yang ada untuk menarik kesimpulan. Dengan kata lain, prosesnya dimulai dari facts (fakta-fakta yang ada) melalui proses inference fact (penalaran fakta-fakta) menuju suatu goal (suatu tujuan). Metode ini bisa juga disebut menggunakan aturan IFTHEN dimana premise (IF) menuju conclusion (THEN) atau dapat juga dituliskan sebagai berikut. THEN (konklusi) Ada dua pendapat mengenai pelaksanaan metode ini. Pertama dengan cara membawa seluruh data yang didapat ke sistem pakar. Kedua dengan membawa bagian-bagian penting saja dari data yang didapat ke Sistem Pakar. Cara pertama lebih baik digunakan jika sistem pakar terhubung dengan proses otomatis dan menerima seluruh data dari database. Cara kedua menghemat waku dan biaya dengan mengurangi data dan mengambil data yang dianggap perlu. Sebagai contoh, seperti kasus diatas maka berdasarkan metode ini langkah-langkah yang diambil : R1 : IF A and C, THEN B R2 : IF D and C, THEN F R3: IF B and E, THEN F R4 : IF B, THEN C R5 : IF F, THEN G Dan faktanya : A adalah benar, B benar. Langkah 1 : R4 menunjukkan bahwa C benar, karena A dan B adalah benar. Langkah 2 : Karena A dan C benar, maka E adalah benar. Langkah 3 : Karena B dan E benar, maka F adalah benar. Langkah 4: Karena F adalah benar maka dengan demikian G adalah benar.
http://digilib.mercubuana.ac.id/
Kedua jenis strategi ini akan mengarah pada suatu kesimpulan. Namun efisiensinya tergantung dari kondisi masalah yang dihadapi, jika suatu masalah memiliki premise yang jumlahnya lebih sedikit dibanding conclusion maka strategi yang ditawarkan adalah forward chaining, sebaliknya jika jumlah premise lebih banyak jika dibandingkan dari conclusion, maka strategi
yang ditawarkan
backward
chaining
(ignizio,1991). 2.6
Metode Pengembangan Sistem Metode Pengembangan adalah sebuah cara yang tersistem atau teratur yang bertujuan untuk melakukan analisa pengembangan suatu sistem agar sistem tersebut dapat memenuhi kebutuhan. Jadi dalam melakukan pembangunan atau perbaikan suatu sistem yang terkomputerisasi harus melakukan langkah-langkah dalam mengimplementasikannya.
2.6.1 Metode Waterfall Menurut M-Shalahuddin (2011 : 27) “Metode Waterfall merupakan sebuah netode yang menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian dan tahap pendukung atau support”. Metode Waterfall disebut juga dengan Classic Life Cycle. Metode ini membutuhkan
pendekatan
dalam
penembangan
perangkat
lunak,
Mengumpulkan kebutuhan secara lengkap (Requirements Definition), Analisa kebutuhan (Implementation and unit testing), uji coba (Testing), dan pemeliharaan (Maintenance). Menurut Dennis (2009 : 9) Metode Waterfall merupakan pengembangan sistem dimana antara satu fase ke fase yang lain dilakukan secara berurutan. Biasanya sebuah langkah akan diselesaikan terlebih dahulu sebelum melanjutkan ke fase berikutnya. Keuntungan menggunakan metodologi ini requirement harus didefinisikan lebih mendalam sebelum proses coding dilakukan. Disamping itu metodologi ini memungkinkan sesedikit mungkin perubahan dilakukan pada saat proyek berlangsung. Namun, metodologi ini juga mempunyai beberapa kelemahan, diantaranya desain harus komplit
http://digilib.mercubuana.ac.id/
sebelum programming dimulai, serta jika terjadi fase yang terlewati, maka biaya yang akan ditimbulkan akan lumayan besar.
Gambar 2.3 Metode Waterfall (Dennis, 2009) 1. Planning Merupakan proses pokok yang menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan. 2. Analysis Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap atau suatu proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program yang dibentuk software engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan interface terhadap elemen lainnya. Hasil dari analisis ini di dokumentasikan dan di review atau di bahas atau di tinjau bersama-sama. 3. Design Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap. Proses design adalah proses menerjemahkan kebutuhan kedalam representasi software yang dapat diukur kualitasnya sebelum mulai
http://digilib.mercubuana.ac.id/
coding. Hasil dari design ini didokumentasikan dan menjadi bagian dari konfigurasi software. 4. Implementation Pada tahap ini dilakukan untuk membangun perangkat lunak berdasarkan analisa dan permodelan yang dilakukan. Sehingga hasil dari tahap ini adalah basis data dan source code perangakt lunak. Selama tahap ini, desain perangkat lunak disadari sebagai sebuah program lengkap atau unit program. Design yang telah disetujui , di ubah dalam bentuk kodekode program, tahap ini kode-kode program yang di hasilkan masih pada tahap modul-modul. Diakhir tahap ini,
tiap modul di testing tanpa
diintegrasi. Perancangan perangkat lunak di realisasikan sebagai serangkaian program. 5. System Merupakan fase siklus yang paling lama, sistem diinstal dan dipakai perbaikan mencakup koneksi dari berbagai error, dan implementasi unit sistem dan pendigraman sistem. Proses pemeliharaan perangkat lunak dan keseluruhan sistem bila terjadi kesalahan pada program, atau terjadi perubahan lingkungan perangkat lunak dan juga bila terjadi perubahan requiremence
dan
maintenance
yang
bersifat
preventif.
Untuk
mengantisifikasi keadaan yang tidak diinginkan. Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem. 2.7
Metode Pengujian Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum dan juga untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil yang sebenarnya.
2.7.1 Metode White Box Menurut Soetam Rizky (2011:261) “White Box testing secara umum merupakan jenis testing yang lebih berkonsentrasi terhadap “isi” dari
http://digilib.mercubuana.ac.id/
perangkat lunak itu sendiri. Jenis ini lebih banyak berkonsentrasi kepada source code dari perangkat lunak yang dibuat”. Dengan menggunakan metode pengujian White Box, akan dapat diperoleh : 1. Menjamin seluruh independent path didalam modul yang dikerjakan sekurang-kurangnya sekali. 2. Mengerjakan seluruh keputusan secara logical. 3. Mengerjakan seluruh loop yang sesuai dengan batasannya. 4. Mengerjakan seluruh struktur data internal yang menjamin validasi. 2.7.3 Metode Black Box Menurut Soetam Rizky (2011:264) “Black box testing adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenai proses testing di bagian luar”. Metode black box berusaha menemukan kesalahan seperti : 1. Fungsi-fungsi yang tidak benar atau hilang 2. Kesalahan interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan kinerja 5. Kesalahan inisialisasi dan terminasi 2.8
Analisa dan Perancangan Sistem Analisa dan perancangan berorientasi objek berarti merumuskan dan menyelesaikan masalah serta menghasilkan suatu solusi, kemudian memodelkanya dengan pendekatan berorientasi objek. UML(Unified Modelling Language) adalah sebuah bahasa yang telah menjadi standar dalam industry untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak, UML(Unified Modelling Language) menawarkan sebuah standar untuk merancang model sebuah sistem.
2.8.1 Use Case Diagram Use case diagram adalah gambar dari beberapa atau seluruh actor dan use case dengan tujuan mengenali interaksi mereka dalam suatu sistem. Use
http://digilib.mercubuana.ac.id/
case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang ditekankan adalah apa yang diperbuat sistem dan bukan bagaimana. Sebuah use case mempresentasikan sebuah interaksi antara actor dengan sistem, use case menggambarkan kata kerja sperti login ke sistem, maintenance user dan sebagainya. Oleh karena itu use case diagram dapat membantu menganalisa kebutuhan sistem. Use Case Diagram merupakan salah satu diagram yang menggambarkan suatu
proses
bisnis.
Use
Case
Diagram
bekerja
dengan
cara
mendeskripsikan tipikal interaksi antara (User) pengguna sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah scenario mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan Use Case adalah serangkaian scenario yang digabunggkan bersama-sama oleh tujuan umum pengguna. Dalam pembicaraan tentang Use Case, pengguna biasanya disebut dengan actor. Actor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem.
http://digilib.mercubuana.ac.id/
Tabel 2.4 Syntax for Use-Case Diagram (Dennis, 2009)
http://digilib.mercubuana.ac.id/
Gambar 2.5 Use-Case Model (Dennis, 2009) 2.8.2 Activity Diagram (Diagram Aktifitas) Activity Diagram adalah tekhnik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah Activity Diagram yang bisa mendukung perilaku paralel, sedangkan flowchart tidak bisa. Simbol yang digunakan sebagi berikut :
http://digilib.mercubuana.ac.id/
Gambar 2.6 Syntax for Activity Diagram (Dennis, 2009)
http://digilib.mercubuana.ac.id/
Gambar 2.7 Activity Diagram Model (Dennis, 2009) 2.8.3 Sequence Diagram Sequence Diagram menggambarkan kelakuan objek use case dengan mengkespresikan waktu hidup objek dengan message yang dikirimkan dan yang diterima antar objek. Oleh karena itu untuk menggambarkan seqeuence diagram maka harus diketahui objek-objek yang terlibat dalam use case beserta yang dimiliki kelas. Komponen utama sequence diagram terdiri atas objek yang ditulis dengan kotak segi empat yang bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukan dengan progress vertical.
http://digilib.mercubuana.ac.id/
Gambar 2.8 Syntax for Sequence Diagram Dennis, 2009)
http://digilib.mercubuana.ac.id/
Gambar 2.9 Sequence Diagram Model (Dennis, 2009) 2.8.4 Class Diagram Class diagram menggambarkan struktur sistem dari segi pendefinisan kelas-kelas yang akan dibuat untuk membangun sebuah sistem. Class diagram adalah model statis yang menunjukkan kelas dan hubungan antara kelas yang tetap konstan dalam sistem dari waktu ke waktu. Class diagram menggambarkan kelas, yang mencakup baik perilaku dan perkumpulan, dengan hubungan antara kelas. Itu merupakan bagian pertama dalam menyajikan elemen dari class diagram, diikuti dengan cara di mana class diagram diambil.
http://digilib.mercubuana.ac.id/
Gambar 2.10 Syntax for Class Diagram Dennis, 2009)
http://digilib.mercubuana.ac.id/
Gambar 2.11 Class Diagram Model Dennis, 2009) 2.9
Rekayasa Pengetahuan Definisi menurut rekayasa pengetahuan (knowledge engineering) merupakan proses pembentukan suatu sistem pakar dengan mengambil data dari seorang ahli (human expert) atau dari nara- sumber lainnya yang kemudian diolah menjadi suatu sistem pakar (Giarrratano dan Riley, 1994). Tujuan utama dalam rekayasa pengetahuan untuk membangun perangkat lunak modular sehingga perubahan dapat dibuat dalam suatu modul tanpa mempengaruhi kerja modul lainnya. Rekayasa pengetahuan membantu
http://digilib.mercubuana.ac.id/
pakar mengekstrasi pengetahuan yang dimilikinya dan biasanya berperan sebagai pembangun system. 2.10 Probabilitas Probabilitas
digunakan
untuk
menyatakan
tingkat
atau
derajat
kepercayaan. Nilai probabilitas berada antara 0 dan 1. Notasi P (A | B) merupakan notasi yang menunjukkan probabilitas kondisional. Notasi tersebut diinterpretasikan sebagai tingkat atau derajat kepercayaan bahwa A benar dengan diberikannya nilai B. Tingkat atau derajat kepercayaan berbeda dengan tingkat atau derajat kebenaran. Probabilitas 0.1 tidak berarti benar 10%, tetapi 10% tingkat kepercayaan terhadap sesuatu. Nilai probabilitas berasal dari : 1. Frekuensi, 2. pandangan objektif dan, 3. pandangan subjektif. Nilai probabilitas yang didapat dari frekuensi merupakan bilangan yang menyatakan besarnya nilai probabilitas yang berasal dari eksperimen. Seperti misalnya dari 100 pasien yang datang terdapat 10 pasien menderita sakit A, maka dikatakan probabilitas pasien menderita penyakit A adalah 0.1. Nilai probabilitas yang didapat dari pandangan objektif untuk menentukan besarnya derajat kepercayaan lebih cenderung memilih dengan melihat objek berperilaku tertentu daripada nilai yang diberikan oleh subjek (orang). Sedangkan nilai probabilitas yang didapatkan dari subyek yang berkepentingan disebut pandangan subjektif. Probabilitas mempunyai 3 pendekatan dalam pengambilan keputusan. 1. Pendekatan klasik Apabila suatu peristiwa (Event) E dapat terjadi sebanyak h dari sejumlah n kejadian yang mempunyai kemungkinan sama untuk terjadi maka probabilitas peristiwa E atau P(E) dapat dirumuskan :
2. Pendekatan Empiris
http://digilib.mercubuana.ac.id/
Perumusan perhitungan berdasarkan pendekatan empiris atas dasar pengertian frekuensi relatif. Pendekatan ini dilakukan karena pendekatan perhitungan klasik dipandang memiliki beberapa kelemahan. Dalam kenyataan, syarat yang ditetapkan jarang dapat dipenuhi. Suatu peristiwa E mempunyai h kejadian dari serangkaian n kejadian dalam suatu percobaan, maka peluang E merupakan frekuensi relatif h/n , dinyatakan sebagai :
untuk n mendekati nilai tak terhingga. 3. Pendekatan subyektif Pada pendekatan subyektif, beberapa orang dapat saja memiliki keyakinan yang berbeda terhadap terjadinya suatu peristiwa, meskipun informasi yang diterima berkaitan dengan peristiwa tersebut adalah sama. Hal tersebut disebabkan karena setiap orang berpikir dan mempunyai keyakinan yang berbeda terhadap suatu masalah yang sama. Dari pengertian-pengertian tersebut, dapat disusun suatu pengertian umum mengenai probabilitas, yaitu sebagai berikut : Probabilitas merupakan suatu indeks atau nilai yang digunakan untuk menentukan tingkat terjadinya suatu kejadian yang bersifat random (acak) karena probabilitas merupakan suatu indeks atau nilai maka probabilitas memiliki batas-batas yaitu mulai dari 0 sampai dengan 1 0 ≤ P (E) ≤ 1 Artinya : Jika P = 0 disebut probabilitas kemustahilan artinya kejadian atau peristiwa tersebut tidak akan terjadi. Jika P = 1, disebut probabilitas kepastian, artinya kejadian atau peristiwa tersebut pasti terjadi. Jika 0< P< 1, disebut probabilitas kemungkinan, artinya kejadian atas peristiwa tersebut dapat atau tidak dapat terjadi.
http://digilib.mercubuana.ac.id/
Jika kemungkinan terjadinya peristiwa E disebut P (E) maka besarnya probabilitas bahwa peristiwa E tidak terjadi diformulasikan CF[h,e] = MB[h,e] – MD[h,e] dengan:
2.11 Konsep Dasar Sistem Pakar Menurut (Efraim Turban, 1995) dalam bukunya “Decision Support and Expert Management Support System”, konsep dasar sistem pakar mengandung keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian adalah suatu kelebihan penguasaan pengetahuan dibidang tertentu yang diperoleh dari pelatihan, membaca dan pengalaman. Contoh bentuk pengetahuan yang termasuk keahlian adalah : 1) Fakta-fakta pada lingkup permasalahan tertentu. 2) Teori-teori pada lingkup permasalahan tertentu. 3) Prosedur-prosedur dan aturan-aturan berkelanjutan dengan lingkup permasalahan tertentu. 4) Strategi-strategi global untuk menyelesaikan masalah. 5) Meta knowledge (pengetahuan tentang pengetahuan). Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli. Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka. Pengalihan keahlian dari pada ahli ke komputer untuk kemudian diahlikan lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan 4 aktivitas yaitu : 1) Tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya). 2) Representasi pengetahuan (ke komputer). 3) Inferensi pengetahuan.
http://digilib.mercubuana.ac.id/
4) Pengalihan pengetahuan ke user. Pengetahuan yang disimpan di komputer disebut dengan nama basis pengetahuan. Ada 2 tipe pengetahuan, yaitu : fakta dan prosedur (biasanya berupa aturan). Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk menalar. Jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan sudah tersedia program yang mampu mengakses basis data, maka komputer harus dapat diprogram untuk membuat inferensi. Progres inferensi ini dikemas dalam bentuk motor inferensi (inference engline). sebagianbesar sistem pakar komersial dibuat dalam bentuk rulebased system, yang dimana pengetahuannya disimpan dalam bentuk aturanaturan. Aturan tersebut biasanya berbentuk IF-THEN. 2.11.1 Keuntungan Sistem Pakar Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar ini, antara lain : 1) Menjadikan pengetahuan dan nasihat lebih mudah didapat. 2) Meningkatkan output dan produktivitas. 3) Menyimpan kemampuan dan keahlian pakar. 4) Meningkatkan
penyelesaian
masalah–menerusi
paduan
pakar,
penerangan, sistem pakar khas. 5) Meningkatkan reliabilitas. 6) Memberikan respon (jawaban) yang cepat. 7) Merupakan panduan yang intelligence (cerdas). 8) Bisa melakukan proses secara berulang dengan otomatis. 9) Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka). 10) Mampu beroperasi dalam lingkungan yang berbahaya. 11) Memiliki kemampuan untuk mengakses pengetahuan. 12) Meningkatkan kapabilitas sistem komputer. 13) Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian. 14) Menghemat waktu dalam pengambilan keputusan.
http://digilib.mercubuana.ac.id/
2.11.2 Kelemahan Sistem Pakar Selain keuntungan-keuntungan di atas, sistem pakar seperti halnya sistem lainnya, juga memiliki kelemahan, diantaranya adalah : 1) Masalah dalam mendapatkan pengetahuan di mana pengetahuan tidak selalu bisa didapatkan dengan mudah, karena kadangkala pakar dari masalah yang kita buat tidak ada, dan kalupun ada kadang-kadang pendekatan yang dimiliki oleh pakar berbeda-beda. 2) Untuk membuat suatu sistem pakar yang benar-benar berkualitas tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk membangun dan pemeliharaannya. 3) Boleh jadi sistem tak dapat membuat keputusan. 4) Sistem pakar tidaklah 100% menguntungkan, walaupun seorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu perlu diuji ulang secara teliti sebelum digunakan. Dalam hal ini peran manusia tetap merupakan factor domain. Kelemahan-kelemahan atau kekurangan dari sistem pakar tersebut bukanlah sama sekali tidak bisa diatasi, tetapi dengan terus melakukan perbaikan dan pengolahan berdasarkan pengalaman yang telah ada maka hal itu diyakini akan dapat diatasi, walaupun dalam waktu yang panjang dan terus menerus. 2.12 Pemrograman 2.12.1 HTML (Hypertext Markup Language) Hypertext Markup Language (HTML) merupakan sistem yang digunakan untuk membangun sebuah halaman dan dokumen yang akan disajikan pada halaman web. Dokumen ini dikenal sebagai web page. Dalam pembuatan HTML, penulisan elemen yang diawali dan diakhiri tanda tag HTML memiliki syarat penulisan : 1) Tag HTML diapit dengan dua karakter kurung siku ( < dan > ). 2) Tag HTML secara normal selalu berpasangan, missal (
… dan ). 3) Tag HTML tidak case sensitive.
sama dengan .
http://digilib.mercubuana.ac.id/
4) Jika dalam suatu tag ada tag lagi, maka penulisan tag akhir tidak boleh bersilang, harus berurutan, Misalnya …. tebal dan miring … . 2.12.2 PHP (Personal Home Page) Menurut Betha Sidik (2012 : 4)PHP adalah singkatan dari PHP : Hypertext Preprocessor, merupakan secara umum dikenal sebagai bahasa pemrograman script script yang membuat dokumen HTML secara on the flyyang dieksekusi di server web, dokumen HTML yang dihasilkan dari suatu aplikasi bukan dokumen HTML yang dibuat dengan menggunakan editor teks atau editor HTML. Dikenal juga sebagai bahasa pemrograman server side. Dengan menggunakan PHP maka maintenance suatu situs menjadi lebih mudah. Proses update data dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. 2.12.3 Basis Data Di dalam sebuah sistem, diperlukan penyimpanan data agar setiap fungsi-fungsi dari sistem dapat berjalan sesuai dengan apa yang telah dibuat. Basis data (database) adalah kumpulan informasi yang disimpan didalam
komputer
secara
sistematik
sehingga
dapat
diperiksa
menggunakan suatu program komputer untuk menyimpan informasi atau data yang terintegrasi dengan baik di dalam komputer. 1) DBMS Untuk mengelola database diperlukan perangkat lunak yang disebut DBMS (Database Management System). DBMS merupakan suatu sistem perangkat lunak yang memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan memanipulasi data yang ada. 2) MySQL MySQL merupakan software database yang mendukung pemakaian SQL (Structured Query Language) dan dirancang untuk pengguna aplikasi dengan arsitektur client / server. Disamping dukungannya ke
http://digilib.mercubuana.ac.id/
dalam berbagai macam platform, kecepatan aksesnya cukup bisa diandalkan. Kemudahan dalam integrasi ke berbagai aplikasi web (terutama PHP) cukup membantu dalam pengembangan sistem informasi online. 3) SQL SQL merupakan singkatan dari Structured Query Language. SQL atau sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak bergantung pada mesin yang digunakan (IBM, Microsoft atau oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir semua. Terdapat dua jenis perintah SQL, yaitu : a) DDL atau Data Definition Language. DDL merupakan
perintah
SQL yang berhubungan
dengan
pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah yang termasuk DDL ini antara lain : create, after, rename, drop. b) DML atau Data Manipulation Language. DML merupakan perintah SQL yang berhubungan manipulasi atau pengelolaan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain : select, insert, update, delete. Secara umum ada 3 jenis basis data yang paling dominan di dunia pemrograman basis data, yaitu : a. Basis data model hirarkis b. Basis data model jaringan (network) c. Basis data model relasional Sebelum berkembangnya model relasional, dua model yang paling dominan adalah model hirarkis dan model network. Model hirarkis menyimpan data dalam bentuk pohon. Model ini sangat cocok dipakai untuk menyimpan jenis data tertentu yang memang berbentuk hirarkis
http://digilib.mercubuana.ac.id/
seperti struktur organisasi perusahaan atau katalog. Namun, sebenarnya model hirarkis ini bersifat kaku sebab tidak cocok digunakan untuk menyimpan data yang tidak memiliki struktur seperti pohon. (Haryanto, 2005). Basis data model network menyimpan data dalam bentuk node-node yang dihubungkan satu sama lain. Model ini sifatnya memang fleksibel karena sangat generik. Pohon adalah salah satu jenis graph, tapi sebuah graph dapat berbentuk macam-macam. Kekurangan model ini adalah model ini sulit dimengerti. Sebuah data yang kompleks dapat rumit sekali hubungan antar nodenya. (Bulger, Brad, 2004). Jadi kedua model di atas masing-masing memiliki kekurangan, yang satu amat spesifik dan kaku sementara yang lain fleksibel tapi sulit dimengerti. Model relasional hadir sebagai jembatan atau alternatif yang baik. Model ini sederhana namun tetap eksibel serta memiliki landasan matematika yang jelas (Bulger, Brad, 2004). 2.12.4 Model Basis Data Relasional Basis data model relasional “memecah” basis data menjadi banyak tabel 2 dimensi. Setiap tabel selalu terdiri atas lajur mendatar yang disebut dengan baris data (row/record) dan lajur vertical yang disebut kolom (column atau field ) (Fatansyah, 2004). Semua data dalam model relasional disimpan dalam relasi. Berikut adalah contoh sebuah relasi : Orang : {Nama, Kelamin} 19 Setelah itu kita dapat membuat sejumlah tuple 3 untuk relasi ini, contohnya : {Burhan, pria} {Rosyid, Mira} Pada contoh di atas kita meletakkan 2 buah data yaitu bahwa “Rosyid adalah seorang pria” dan “Mira adalah seorang wanita”. Jadi semua data di dalam model relasional disimpan dalam bentuk tuple (di dalam relasi tertentu). Pada contoh di atas relasi tersebut memiliki 2 buah atribut yaitu : nama & jenis kelamin. Menurut teori set, sebuah relasi adalah sebuah set yang
http://digilib.mercubuana.ac.id/
berisi tuple. Urutan tuple dalam relasi tidak penting. Akan tetapi, urutan atribut dalam sebuah tuplelah yang penting. Dalam basis data MySQL, sebuah relasi dapat berbentuk multiset karena dapat mengandung tuple yang sama beberapa kali. 2.12.5 Model Keterhubungan Entitas Proses perancangan basis data yang baik dimulai dengan tahap pemodelan data. Model data dapat didefinisikan sebagai kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik data, dan batasan data. Dalam proses perancangan sebuah basis data ada beberapa cara untuk merepresentasikan model data (Fatansyah, 2004) yaitu: 1. Model Logika Data Berdasarkan Objek (Object-based Logical Models), model ini terdiri atas : a) Model Keterhubungan Entitas (Entity-Relationship Model). b) Model Berorientasi Objek (Object-Oriented Model). c) Model Data Semantik (Semantic Data Model). d) Model Data Fungsional (Functional Data Model). 2. Model Logika Data Berdasarkan Record, model ini terdiri atas : a) Model Relasional (Relational Model). b) Model Hirarkis (Hierarchical Model). c) Model Jaringan (Network Model). Dalam penulisan ini yang digunakan dalam proses perancangan basis data adalah model keterhubungan entitas. Pada model Keterhubungan Entitas semua data dalam dunia nyata akan diterjemahkan dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data yang dikenal dengan Entity Relationship Diagram (ERD). Model KeterhubunganEntitas tersusun dari 3 elemen penyusunnya (Silberschatz, Abarahan & Sudarshan, 2002) yaitu: 1. Himpunan Entitas (entity sets). Entitas adalah sesuatu/objek dalam dunia nyata yang berbeda dengan objek lainnya. Misalnya, setiap orang dalam sebuah perusahaan adalah suatu entitas. Sebuah entitas memiliki sifat-sifat tertentu dan nilai dari sifat-sifat tersebut secara unik akan
http://digilib.mercubuana.ac.id/
mengidentifikasi setiap entitas. Himpunan entitas adalah kumpulan entitas yang memiliki kesamaan tipe dan memiliki sifat-sifat yang sama. Misalnya, kumpulan karyawan dalam suatu perusahaan dapat disebut sebagai himpunan entitas. 2. Himpunan Relasi (relationship sets ). Relasi adalah hubungan keterkaitan antar beberapa entitas. Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Misalnya, entitas karyawan dengan nomor pegawai 002 memiliki relasi dengan entitas sebuah departemen dengan kode departemen P02 dan nama departemen departemen pemasaran. Relasi di antara kedua entitas tersebut memiliki arti bahwa karyawan tersebut adalah staf dari sebuah departemen di suatu perusahaan. 3. Atribut. Atribut adalah sesuatu yang mendeskripsikan karakteristik dari suatu entitas. Pemilihan atribut untuk setiap entitas merupakan hal yang penting dalam pembentukan model data. Misalnya, atribut nomor induk pegawai adalah atribut bagi himpunan entitas karyawan. 2.12.6 Entity-Relationship Diagram Entity-Relationship sistematis
dari
Diagram
(ERD)
merupakan
komponen
penggambaran
penyusun
model
entityrelationship/keterhubungan entitas (himpunan entitas, himpunan relasi, atribut) yang kesemuanya merupakan representasi dari seluruh fakta dan data dari dunia nyata. Tujuan utama dari penggambaran ERD adalah untuk menunjukkan objek-objek apa saja yang ingin dilibatkan dalam sebuah basis data dan bagaimana hubungan yang terjadi di antara objekobjek tersebut. Beberapa notasi yang digunakan dalam pembuatan ERD antara lain adalah : a) Persegi panjang : digunakan untuk menyatakan himpunan entitas. b) Persegi panjang ganda : untuk entitas lemah. c) Lingkaran elips : digunakan untuk menyatakan atribut. d) Belah ketupat : digunakan untuk menyatakan himpunan relasi. e) Belah ketupat ganda : untuk himpunan relasi entitas lemah.
http://digilib.mercubuana.ac.id/
f) Garis : sebagai penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya. g) Kardinalitas dapat dinyatakan dengan banyaknya cabang pada ujung garis atau dengan penggunaan angka (1= satu, N = banyak). 2.12.7 Web Browser Web browser berfungsi untuk mengidentifikasikan halaman yang dikehendaki, dan menyampaikan informasi yang dibutuhkan oleh web server. Web browser merupakan sebuah perangkat lunak yang berfungsi untuk melihat dan juga mengakses halaman-halaman PHP. Web browser yang dapat digunakan antara lain : Mozilla firefox, google chrome. 2.12.8 Web Server Web server merupakan perangkat lunak yang digunakan untuk melayani permintaan dari web browser yang diakses oleh user. Dengan adanya web server, maka web browser dapat mengenali perintah-perintah yang ada pada alamat internet, browser mendapatkan alamat dari web server, browser juga mengidentifikasikan halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh server. Dalam program tugas akhir ini digunakan tool XAMPP yang menyediakan paket perangkat lunak web dalam satu buah paket. Dengan menginstal XAMPP maka tidak perlu lagi melakukan instalasi dan konfirmasi web serverApache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasi secara otomatis atau auto konfigurasi. 2.12.9 Teks Editor Teks editor berguna sebagai tempat untuk menulis listing dari program PHP yang digunakan pada system pakar ini. File-file PHP dapat dibuat dengan menggunakan teks editor seperti : notepad, notepad++, PHP expert editor, macromedia dreamweaver dan masih banyak lagi. 2.12.10 jQuery jQuery adalah javascript library atau kumpulan kode / fungsi Javascript sehingga mempermudah kita untuk membuat kode Javascript. Atau dalam kesimpulan slogannya “Write less, do more” kelebihan menggunakan library jQuery diantaranya:
http://digilib.mercubuana.ac.id/
1) kompatibel dengan hampir seluruh browser. 2) jQuery telah digunakan oleh website-websiteraksasa. 3) Dokumentasi dan tutorialnya lengkap, bias langsung dilihat di (http://jquery.com 4) Open source atau free. Berikut beberapa kemampuan yang dimiliki jQuery, diantaranya: 1) Mempermudah akses dan manipulasi elemen tertentu pada dokumen. 2) Mempermudah modifikasi / perubahan tampilan halaman web. 3) Mempersingkat Ajax ( Asynchronous Javascript and XML ). 4) Mampu merespon interaksi antara user dengan halaman web lebih cepat. 2.13 Faktor Kepastian ( Certainty Factor ) Menurut (Sri Kusumadewi, 2003) dalam bukunya “Artificial Intelegence (Teknik dan Aplikasinya)”. Factor kepastian (Certainty Factor – CF) diperkenalkan oleh Shortliffe Buchanan dalam membuat MYCIN. Factor kepastian merupakan nilai parameter klinis yang diberikan MYCIN untuk menunjukan besarnya kepercayaan. Ada dua macam factor kepastian yang dapat digunakan, yaitu factor kepastian yang disisikan oleh pakar bersama aturan dan factor kepastian yang diberikan oleh pengguna. Factor kepastian yang diisikan oleh pakar menggambarkan
kepercayaan
pakar
terhadap
hubungan
antara
antecedentdan consequent pada aturan kaidah produksi. Factor kepastian dari pengguna menunjukan besarnya kepercayaan terhadap keberadaan masing-masing elemen dalam antecedent. Certainty Factor memperkenalkan konsep keyakinan dan ketidakyakinan yang kemudian diformulakan dalam rumusan dasar sebagai berikut : CF [P,E] = MB [P,E] – MD [P,E] Ketentuan : CF : Certainty Factor MB : Measure of Belief MD : Measure of Disbelief P
: Probability
http://digilib.mercubuana.ac.id/
E
: Evidence (Peristiwa/Fakta)
Berikut ini adalah deskripsi beberapa kombinasi Certainty factor terhadap berbagai kondisi : a. Certainty Factor untuk kaidah dengan premis tunggal (single premis rules) : CF(H,E) = CF(E)*CF(rule) = CF(user)*CF(pakar) b. Certainty Factor untuk kaidah dengan kesimpulan yang serupa (similarly concluded rules): CF COMBINE (CF1, CF2) = CF1 + CF2*(1-CF1) 2.13.1 Implementasi 1) Metode Certainty Factor (CF) Pada sesi konsultasi system, user diberi pilihan jawaban yang masing-masing memiliki bobot sebagai berikut : a) Untuk dua pilihan jawaban : - Tidak
= 0
- Ya
= 1
Nilai 0 menunjukan bahwa user tidak mengalami gejala seperti yang ditanyakan oleh system. Jika user mengalami gejala yang ditanyakan system maka akan bernilai 1. Proses penghitungan prosentase keyakinan diawali dengan pemecahan sebuah kaidah (rules) yang memiliki premis majemuk, menjadi kaidah-kaidah (rules) yang memiliki premis tunggal. Kemudian masing-masing rule baru dihitung CF nya dengan menggunakan persamaan sehingga setelah diperoleh nilai CF. Untuk
masing-masing
rule,
kemudian
nilai
CF
tersebut
dikombinasikan dengan persamaan. Sebagai contoh, berikut ini adalah proses pemberian bobot pada setiap premis (gejala) hingga perolehan prosentase keyakinan untuk penyakit Kor Pulmonale Akut. Kaidah 1: IF Nyeri Perut Saat Menstruasi AND Nyeri Perut Bagian Bawah
http://digilib.mercubuana.ac.id/
AND Sakit Pada Pinggang Belakang AND Sakit Saat Berhubungan Intim AND Nyeri Perut Hebat Di Sertai Mual Dan Muntah AND Pendarahan Vagina Yang Hebat Dan Tidak Teratur AND Haid Yang Sangat Banyak Atau Justru Terlalu Sedikit AND Terlambat Haid Atau Pendarahan Di Antaranya Periode Haid Langkah pertama, pakar menentukan nilai CF untuk masing-masing gejala sebagai berikut : CFpakar (Nyeri Perut Saat Menstruasi)
= 0.1
CFpakar (Nyeri Perut Bagian Bawah)
= 0.2
CFpakar (Sakit Pada Pinggang Belakang)
= 0.3
CFpakar (Sakit Pada Saat Berhubungan Intim)
= 0.4
CFpakar (Nyeri Perut Hebat Di Sertai Mual Dan Muntah)
= 0.5
CFpakar (Pendarahan Vagina Yang Hebat Dan Tidak Teratur)
= 0.6
CFpakar (Haid Yang Sangat Banyak Atau Justru Terlalu Sedikit)
= 0.7
CFpakar (Terlambat Haid Atau Pendarahan Di Antaranya Periode Haid) = 0.8 Misalkan user memilih jawaban sebagai berikut : Nyeri Perut Saat Menstruasi
= YA
=1
Nyeri Perut Bagian Bawah
= YA
=1
Sakit Pada Pingang Belakang
= YA
=1
Sakit Pada Saat Berhubungan Intim
= YA
=1
Nyeri Perut Hebat Di Sertai Mual Dan Muntah
= YA
=1
Pendarahan Vagina Yang Hebat Dan Tidak Teratur
= YA
=1
Haid Yang Sangat Banyak Atau Justru Terlalu Sedikit
= YA
=1
Terlambat Haid Atau Pendarahan Di Antaranya Periode Haid = YA
=1
Kaidah awal yang memiliki 8 premis dipecah menjadi kaidah yang memiliki premis tunggal, sehingga menjadi : Kaidah 1.1 IF Nyeri Perut THEN Kista Ovarium Kaidah 1.2 IF Nyeri Perut Bagian Bawah
http://digilib.mercubuana.ac.id/
THEN Kista Ovarium Kaidah 1.3 IF Sakit Pada Pinggang Belakang THEN Kista Ovarium Kaidah 1.4 IF Sakit Saat Berhubungan Intim THEN Kista Ovarium Kaidah 1.5 IF Nyeri Perut Hebat Di Sertai Mual Dan Muntah THEN Kista Ovarium Kaidah 1.6 IF Pendarahan Vagina Yang Hebat Dan Tidak Teratur THEN Kista Ovarium Kaidah 1.7 IF Haid Yang Sangat Banyak Atau Justru Terlalu Sedikit THEN Kista Ovarium Kaidah 1.8 IF Terlambat Haid Atau Pendarahan Di Antaranya Periode Haid THEN Kista Ovarium Kaidah – kaidah yang baru tersebut dihitung nilai CFnya dengan mengalikan CFpakar dengan CF user menjadi : CF1.1 (Nyeri Perut)
= 0.1*1 = 0.1
CF1.2 (Nyeri Perut Bagian Bawah)
= 0.2*1 = 0.2
CF1.3 (Sakit Pada Pinggang Belakang)
= 0.3*1 = 0.3
CF1.4 (Sakit Saat Berhubungan Intim)
= 0.4*1 = 0.4
CF1.5 (Nyeri Perut Hebat Di Sertai Mual Dan Muntah)
= 0.5*1 = 0.5
CF1.6 (Pendarahan Vagina Yang Hebat Dan Tidak Teratur)
= 0.6*1 = 0.6
CF1.7 (Haid Yang Sangat Banyak Atau Justru Terlalu Sedikit) = 0.7*1 = 0.7 CF1.8 (Terlambat Haid/Pendarahan Di Antaranya
= 0.8*1 = 0.8
Periode Haid) Setelah mendapatkan nilai kepastian (CF), lakukan perhitungan dengan menggunakan rumus kombinasi CF sebagai berikut :
http://digilib.mercubuana.ac.id/
CF combine (CF1.1,CF1.2) = CF1.1 + CF1.2 * (1-CF1.1) CF combine (CF1.1,CF1.2) = 0.1 + 0.2 * (1-0.1) = 0.28 = CFold Kombinasikan CFold dengan CF 1.3 CF combine (CFold,CF 1.3) = 0.28 + 0.3 * (1-0.28) = 0.496 = Cfold Kombinasikan CFold dengan CF 1.4 CF combine (CFold,CF 1.4) = 0.496 + 0.4 * (1-0.496) = 0.6976 = CFold Kombinasikan CFold dengan CF 1.5 CF combine (CFold,CF 1.5) = 0.6976 + 0.5 * (1-0.6976) = 0.8488 = CFold Kombinasikan CFold dengan CF 1.6 CF combine (CFold,CF 1.6) = 0.8488 + 0.6 * (1-0.8488) = 0.9395 = Cfold Kombinasikan CFold dengan CF 1.7 CF combine (CFold,CF 1.7) = 0.9395 + 0. 7 * (1-0.9395) = 0.9819 = CFold Kombinasikan CFold dengan CF 1.8 CF combine (CFold,CF 1.8) = 0.9819 + 0.8 * (1-0.9819) = 0.9964 Presentase keyakinan = CF combine * 100% = 0.9964 * 100% = 99.64% Berdasarkan perhitungan manual tersebut, dapat ditarik kesimpulan bahwa kemungkinan penyakit kista pada manusia dengan presentase keyakinan sebesar 99.64%. a. Knowledge base tentang penyakit kista, gejala-gejalanya dan realisinya dapat dibentuk kaidah produksi (production rule) dengan representasi OAV (object atribute value). b. Penelusuran backward chaining dan forward chaining diimplementasikan dalam inference engine. Penelusuran yang pertama untuk menentukan jenis penyakit yang diderita manusia, sedang yang kedua untuk menentukan terapi penyembuhan. c. Certainty factor (CF) digunakan untuk menangani ketidak pastian dalam diagnosa penyakit kista. 2.14 Penyakit Kista Berbagai jenis penyakit kista yang disebabkan oleh virus secara primer tidak menyebabkan sakit atau hanya memperlihatkan gejala ringan.
http://digilib.mercubuana.ac.id/
Sebaliknya, dapat menyebabkan penyakit akut atau mematikan (Capenito, LJ. 2001). Berikut ini adalah jenis-jenis penyakit pada kista seperti : 1) Kista adalah tumor jinak di organ reproduksi perempuan yang paling sering ditemui. Kista adalah kantong abnormal yang berisi cairan encer jernih, cairan kental, kuning, bisa berupa cairan darah berwarna coklat, dan bahkan kadangkala berisi rambut. Bila cairan dalam kantong kista bertambah maka kistapun akan membesar sehingga dinding kista menipis dan mudah pecah. 2) Ovarium merupakan organ genitalia interna yang mempunyai fungsi penting untuk pembentukan ovum dan hormon dalam perjalanan reproduksi seorang wanita. Karena jaringan ini sangat dinamik dan dipengaruhi oleh rangsang hormonal sejak pubertas hingga menopouse, maka hal ini merupakan alasan mengapa banyak kista atau tumor jinak timbul di ovarium (Llewellyn, 2001). 3) Kista ovarium adalah pertumbuhan sel yang berlebihan/abnormal pada ovarium yang membentuk seperti kantong. Kista ovarium secara fungsional adalah kista yang dapat bertahan dari pengaruh hormonal dengan siklus mentsruasi. (Lowdermilk, dkk. 2005: 273) 4) Kista folikel berkembang pada wanita muda, sebagian akibat folikel de graft yang matang karena tidak dapat menyerap cairan setelah ovulsi. Kista ini bisanya asimptomotik kecuali jika robek, dimana kasus ini terdapat nyeri pada panggul. Jika kista tidak robek, bisanya meyusut setelah 2-3 siklus menstrusi. 5) Kista corpus luteum. Terjadi setelah ovulasi dan karena peningkatan sekresi dari progesteron akibat dari peningkatan cairan di korpus luteum ditandai dengan nyeri, tendenderness pada ovari, keterlambatan menstuasi dan siklus menstuasi yang tidak teratur atau terlalu panjang. Rupture dapat mengakibatkan haemoraghe intraperitoneal. Biasanya kista corpus luteum hilang selama 1-2 siklus menstruasi. 6) Sindroma rolisistik ovarium. Terjadi ketika endokrin tidak seimbang sebagai akibat dari estrogen yang terlalu tinggi, testosteron dan LH
http://digilib.mercubuana.ac.id/
serta penurunan sekresi FSH. Tanda dan gejala terdiri dari obesitas, hirsurism (kelebihan rambut di badan) mens tidak teratur, infertilitas. 7) Kista Theca- lutein. Biasanya bersama dangan mola hydatidosa. Kista ini berkembang akibat lamanya stimulasi ovarium dari human chorionik gonadotropine (HCG). 8) Kista denoma. Berasal dari pembungkus ovarium yang tumbuh menjadi kista. Kista ini juga dapat menyerang ovarium kanan atau kiri. Gejala yang timbul biasanya akibat penekanan pada bagian tubuh sekitar seperti vesika urinaria sehingga dapat menyebabkan inkontinensia atau retensi. Jarang terjadi tapi mudah menjadi ganas terutama pada usia di atas 45 tahun atau kurang dari 20 tahun. 9) Kista coklat (endometrioma). Terjadi karena lapisan di dalam rahim tidak terletak di dalam rahim tapi melekat pada dinding luar indung telur. Akibatnya, setiap kali haid, lapisan ini akan menghasilkan darah terus menerus yang akan tertimbun di dalam ovarium dan menjadi kista. Kista ini dapat terjadi pada satu ovarium. Timbul gejala utama yaitu rasa sakit terutama ketika haid atau bersenggama. 10) Kista dermoid. Dinding kista keabu-abuan dan agak tipis, konsistensi sebagian kistik kenyal dan sebagian lagi padat. Dapat terjadi perubahan kearah keganasan, seperti karsinoma epidermoid. Kista ini diduga berasal dari sel telur melalui proses partenogenesis. Gambaran klinis adalah nyeri mendadak diperut bagian bawah karena torsi tangkai kista. 11) Kista endometriosis. Merupakan kista yang terjadi karena ada bagian endometrium yang berada di luar rahim. Kista ini berkembang bersamaan dengan tumbuhnya lapisan endometrium setiap bulan sehingga menimbulkan nyeri hebat, terutama saat menstruasi dan infertilitas. 12) Kista hemorrhage. Merupakan kista fungsional yang disertai perdarahan sehingga menimbulkan nyeri di salah satu sisi perut bagian bawah. 13) Kista lutein. Merupakan kista yang sering terjadi saat kehamilan. Kista lutein yang sesungguhnya, umumnya berasal dari korpus luteum haematoma.
http://digilib.mercubuana.ac.id/
14) Kista polikistik ovarium. Merupakan kista yang terjadi karena kista tidak dapat pecah dan melepaskan sel telur secara kontinyu. Biasanya terjadi setiap bulan. Ovarium akan membesar karena bertumpuknya kista ini. Untuk kista polikistik ovarium yang menetap (persisten), operasi harus dilakukan untuk mengangkat kista tersebut agar tidak menimbulkan gangguan dan rasa sakit. 15) Kista inklusi germinal terjadi karena invaginasi dan isolasi bagianbagian kecil dari epitel germinativum pada permukaan ovarium. Dindingnya terdiri atas satu lapisan epitel kubik atau torak rendah dan isinya cairan jernih dan serus. 16) Kista Stein Leventhal disebabkan karena peningkatan kadar LH yang menyebabkan hiperstimuli ovarium dengan produk kista yang banyak. 17) Kista teka lutein tumbuh akibat dari hormon koriogonadotropin yang berlebihan (mola, koriokarsinoma) dengan hilangnya pengaruh hormon, maka ovarium akan mengecil secara spontan (Prawirohardjo, 2008). 18) Stein Levental ovary. Biasanya kedua ovarium membesar dan bersifat polykistik, permukaan rata, berwarna keabu-abuan dan berdinding tebal. Pada pemeriksaan mikroskopis akan tampak tunica yang tebal dan fibrotik. Dibawahnya tampak follikel dalam bermacam-macam stadium, tetapi tidak ditemukan corpus luteum. Secara klinis memberikan gejala yang disebut Stein-Leventhal Syndrom, yaitu yang terdiri dari hirsutisme, sterilitas, obesitas dan oligomenorrhoe. Kecenderungan virilisasi mungkin disebabkan hyperplasi dari tunica interna yang menghasilkan zat androgenic. Kelainan ini merupakan penyakit herediter yang autosomal dominant. 19) Kista endometrial merupakan endometriosis yang berlokasi di ovarium. 20) Kista ovarium simpleks. Kista ini mempunyai permukaan rata dan halus, biasanya bertangkai, seringkali bilateral, dan dapat menjadi besar. Dinding kista tipis dan cairan di dalam kista jernih, serus, dan berwarna kuning. Pada dinding kista tampak lapisan epitel kubik. Berhubung dengan adanya tangkai, dapat terjadi torsi (putaran tangkai) dengan gejala-gejala mendadak. Diduga bahwa kista ini suatu jenis
http://digilib.mercubuana.ac.id/
kistadenoma serosum yang kehilangan epitel kelenjarnya berhubung dengan tekanan cairan dalam kista. Terapi terdiri atas pengangkatan kista dengan reseksi ovarium, akan tetapi jaringan yang dikeluarkan harus segera diperiksa secara histologik untuk mengetahui apakah ada keganasan. 21) Kista Denoma Ovarii Musinosum. Asal tumor ini belum diketahui dengan pasti. Menurut Meyer, ia mungkin berasal dari suatu teratoma di mana dalam pertumbuhannya satu elemen mengalahkan elemen-elemen lain. Ada penulis yang berpendapat bahwa tumor berasal dari lapisan germinativum, sedang penulis lain menduga tumor ini mempunyai asal yang sama dengan tumor Brenner. 22) Kista Denoma Ovarii Serosum. Pada umumnya para penulis berpendapat bahwa kista ini berasal dari epitel permukaan ovarium (germinal epithelium). Kista ini ditemukan dalam frekuensi yang hampir sama dengan kistadenoma musinosum dan dijumpai pada goloongan umur yang sama. Pada umumnya kista jenis ini tak mencapai ukuran yang amat besar dibandingkan dengan kistadenoma musinosum. Permukaan tumor biasanya licin, akan tetapi dapat pula berbagala karena kista serosum pun dapat berbentuk multilokuler, meskipun lazimnya berongga satu. Warna kista putih keabu-abuan. 23) Kista Endometrioid. Kista ini biasanya unilateral dengan permukaan licin; pada dinding dalam terdapat satu lapisan sel-sel, yang menyerupai lapisan epitel endometrium. Kista ini, yang ditemukan oleh Sartesson dalam tahun 1969, tidak ada hubungannya dengan endometriosis ovarii. 24) Kista Dermoid. Sebenarnya kista dermoid ialah satu teratoma kistik yang jinak dimana struktur-struktur ektodermal dengan diferensiasi sempurna, seperti epitel kulit, rambut, gigi dan produk glandula sebasea berwarna putih kuning menyerupai lemak nampak lebih menonjol daripada elemen-elemen entoderm dan mesoderm. Tentang histogenesis kista dermoid, teori yang paling banyak dianut ialah bahwa tumor berasal dari sel telur melalui proses partenogenesis.
http://digilib.mercubuana.ac.id/
25) Struma Ovarium. Tumor ini terutama terdiri atas jaringan tiroid, dan kadang-kadang dapat menyebabkan hipertiroidi. Antara 1960 dan 1964 di RS. Dr. Soetomo Surabaya pernah ditemukan 5 kasus struma ovarium, semuanya tak berfungsi dan tidak ganas. Hariadi selam 5 tahun (1963-1968) menemukan 3 kasus struma ovarium (=0,5%), Djaswadi selam 10 tahun (1965-1974) hanya mencatat satu kasus (=0,5%); sedangkan Gunawan selama 3 tahun (1974-1977) melaporkan satu kasus (=0,2%). 26) Kistadenoma ovarii musinosum dan kistadenoma ovarii serosum. Kistakista dapat dianggap sebagai adenoma yang bertasal dari satu elemen dari epitelium germinativum. 27) Koriokarsinoma. Tumor ganas ini jarang ditemukan dan untuk diagosis harus dibuktikan adanya hormon koriogonadotropin. 28) Kista tuba lutein, disebabkan karena meningkatnya kadar HCG terdapat pada mola hidatidosa. 29) Kista stein laventhal, disebabkan karena peningkatan kadar LH yang menyebabkan hiperstimuli ovarium.
http://digilib.mercubuana.ac.id/