Skripsi Sistem Pakar [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

BAB I PENDAHULUAN 1.1 Latar Belakang Sistem Pakar adalah salah satu bagian dari Kecerdasan Buatan yang mengandung pengetahuan dan pengalaman yang dimasukkan oleh banyak pakar ke dalam suatu area pengetahuan tertentu sehingga setiap orang dapat menggunakannya untuk memecahkan berbagai masalah yang bersifat spesifik dalam hal ini adalah permasalahan pada penyakit batu karang. Penyakit batu karang terjadi akibat kelalaian dalam pola makan. seseorang baru menyadari Penyakit batu karang setelah susah pada saat buang air kecil atau sakit pada ginjalnya. Oleh karena itu dalam mengatur pola makanan kemungkinan besar membutuhkan pengetahuan yang baik. Dengan cara mendeteksi gejala penyakit apa yang terjadi pada tubuh kita. Metode kecerdasan buatan (Artificial Intelligence /AI) sangat banyak digunakan dalam segala bidang termasuk aplikasi di bidang kesehatan/kedokteran. Teknologi softcomputing adalah sebuah bidang kajian penelitian interdisipliner dalam ilmu komputasi dan kecerdasan buatan. Beberapa teknik dalam softcomputing antara lain sistem pakar (expert system), jaringan syaraf tiruan (neural networks), logika fuzzy (fuzzy logic), dan algoritma genetik (genetic algorithms) banyak dikembangkan karena mempunyai keunggulan dalam penyelesaian masalah yang mengandung ketidakpastian, ketidaktepatan dan kebenaran parsial, termasuk dalam bidang kesehatan. Penyampaian informasi



dilakukan dengan meminta request dari user.



Request tersebut akan diproses dalam sistem kemudian hasilnya akan dikirim lagi ke user. Diharapkan sistem ini mampu memberikan informasi yang optimal dari timbal balik user dan sistem. Uraian di atas menjadi latar belakang pertimbangan bagi peneliti untuk membuat judul “ SISTEM PAKAR DIAGNOSA PENYAKIT BATU KARANG



FACTOR”.



DENGAN



MENGGUNAKAN



METODE



CERTAINTY



1.2 Rumusan Masalah Berdasarkan latar belakang masalah yang telah dikemukakan di atas, maka Penulis merumuskan beberapa masalah sebagai berikut: a. Bagaimana sistem pakar mampu mendiagnosis penyakit batu karang menggunakan metode certainty factor? b. Bagaimana sistem dapat diakses oleh pemakai secara cepat ? 1.3 Batasan Masalah Adapun batasan masalah yang dimaksud adalah sebagai berikut: a. Aplikasi yang dibuat menggunakan metode certainty factor. b. Membuat aplikasi sistem pakar untuk mendiagnosis mendiagnosis penyakit batu karang yang kontennya mencakup gejala penyakit, jenis penyakit, keterangan penyait, solusi terbaik yang harus dicapai c. Bahasa pemrograman yang digunakan adalah bahasa pemrograman PHP dan MySQL



a.



1.4 Tujuan Penelitian Merancang sebuah sistem pakar yang dapat mendiagnosis penyakit batu karang



b.



Informasi yang di dapat lebih up to date, mudah, cepat serta akurat 1.5 Manfaat Penelitian Manfaat-manfaat yang diharapkan dari hasil penelitian ini adalah: a. Bagi Mahasiswa Wawasan pengetahuan di luar kampus, pengalaman dalam dunia kerja serta bekal tambahan yang dapat dipergunakan untuk persiapan bila nanti terjun dalam masyarakat. b. Masyarakat luas Dapat membantu masyarakat mendiagnosa mendiagnosis penyakit batu karang.



1.6 Metodelogi Penelitian Langkah-langkah yang ditempuh dalam menyelesaikan penelitian sebagai berikut: 1. Studi literatur Pada tahap ini penulis mengumpulkan infomasi dan mempelajari materi serta sumber-sumber data yang berhubungan dengan sistem pakar, metode Certainty Factor, jenis penyakit, gejala-gejala penyakit beserta solusinya maupun materi lain yang terkait dengan penelitian ini. 2. Analisis data Pada tahap ini dilakukan pengumpulan fakta-fakta yang mendukung perancangan sistem dengan mengadakan konsultasi dengan seorang pakar dan membandingkan hasil penelitian dengan yang ada pada buku penuntun dan dilakukan perancangan Data Flow Diagram, Entity Relationship Diagram dan perancangan antarmuka sesuai dengan hasil dari analisis sistem. 3. Implementasi sistem Pada tahap ini sistem yang dirancang di implementasikan ke dalam bentuk kode program php. 4. Pengujian Pada tahap ini dilakukan pengujian sistem apakah berjalan dengan benar dan sesuai dengan perancangan. 5. Penyusunan laporan Pada tahap ini dilakukan penulisan dokumentasi hasil analisis dari aplikasi sistem pakar dengan metode Certainty Factor untuk mendiagnosis penyakit batu karang. 6. Kerangka Konsep Berikut ini merupakan tahapan dalam perancangan sistem pakar diagnosa penyakit dapat dilihat pada gambar 1.1



START



IDENTIFIKASI TINJAUAN PUSTAKA ANALISA KEBUTUHAN SISTEM



PERANCANGAN APLIKASI



PERANCANGAN JENIS PENYAKIT



PERANCANGAN SOLUSI



T PENGUJIAN SISTEM



Y END Gambar 1.1 Kerangka Konsep 1.9 Sistematika Penulisan Dalam skripsi, penulis akan menjelaskan sistematika dari penyusunan skripsi yang terdiri dari beberapa bab, yaitu: BAB I PENDAHULUAN Pokok bahasan meliputi latar belakang permasalahan, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.



BAB II LANDASAN TEORI Pokok bahasan menguraikan teori-teori yang mendasari pembahasan secara detail, dapat berupa definisi -definisi atau model yang langsung berkaitan dengan ilmu atau masalah yang diteliti. BAB III ANALISA DAN PERANCANGAN SISTEM Bab ini menguraikan



tentang analisis terhadap permasalahan yang



terdapat di kasus yang sedang di teliti. Meliputi analisis terhadap masalah sistem yang sedang berjalan, analisis hasil solusinya, analisis kebutuhan terhadap system yang di usulkan, analisis kelayakan sistem yang di usulkan. Perancangan sistem berisikan model-model penyelesaian masalah sistem lama dengan membuat rancangan untuk sistem baru yang diusulkan. BAB IV IMPLEMENTASI Bagian ini berisi penjelasan tentang lingkungan implemetasi (OS, perangkat keras dan bahasa pemrograman yang digunakan), file-file implementasi analisa dan perancangan sistem dari masing-masing modul atau klas (relasinya) serta algoritma yang diimplementasikan. BAB V PENGUJIAN DAN PEMBAHASAN Untuk kategori topik pengembangan perangkat lunak (dimana perangkat lunak sebagai produk utama/akhir), maka bagian ini berisi penjelasan tentang strategi pengujian (unit, integrasi dan validasi) dan teknik pengujian (black box atau



white box) yang dilakukan.



Dijelaskan juga seluruh kasus uji beserta hasil pengujiannya. Di dalam penjelasan setiap kasus uji harus dimasukkan antara lain tujuan, data masukan, prosedur uji dan hasil yang diharapkan. BAB VI KESIMPULAN DAN SARAN Kesimpulan memuat secara singkat dan jelas tentang hasil penelitian yang diperoleh sesuai dengan tujuan penelitian. Kesimpulan didasarkan atas pengujian dan analisis yang dilakukan di dalam proses penelitian. Kesimpulan harus memiliki korelasi dengan rumusan masalah. Saran



digunakan untuk menyampaikan masalah yang dimungkinkan untuk penelitian lebih lanjut. Saran berisi hal-hal yang diperlukan dalam rangka pengembangan topik skripsi selanjutnya maupun perbaikan yang harus dilakukan sesuai dengan kesimpulan yang didapatkan.



BAB II LANDASAN TEORI 2.1



Tinjauan Pustaka Tinjauan Pustaka mempunyai arti peninjauan kembali pustaka-pustaka yang



terkait (review of related literature). Sesuai dengan arti tersebut, suatu tinjauan pustaka berfungsi sebagai peninjauan kembali (review) pustaka (laporan penelitian, dan sebagainya) tentang masalah yang berkaitan tidak selalu harus tepat identik dengan bidang permasalahan yang dihadapi tetapi termasuk pula yang seiring dan berkaitan (collateral). Fungsi peninjauan kembali pustaka yang berkaitan merupakan hal yang mendasar dalam penelitian. 2.1.1



Penelitian Terkait Luther (2006) “sistem pakar pendiagnosa penyakit anak menggunakan



certainty factor (cf).” Sistem Pakar Pendiagnosa Penyakit Anak Menggunakan Certainty Factor dapat digunakan untuk mendiagnosa penyakit anak dengan tingkat kepercayaan yang telah ditentukan oleh pakar terhadap gejala-gejala yang mempengaruhi probabilitas terjadinya suatu penyakit anak. Sistem ini akan optimal jika seorang atau sekelompok pakar dalam hal ini dokter ahli anak telah mendefenisikan secara jelas nilai CF setiap gejala penyakit terhadap kemungkinan terjadinya penyakit anak. Syatibi (2012) “sistem pakar diagnosa awal penyakit kulit sapi berbasis web dengan menggunakan metode certainty factor.” sistem mampu melakukan diagnosa penyakit kulit sapi berdasarkan gejala-gejala yang diderita pasien meskipun gejala-gejala tersebut mengandung ketidakpastian. Hasil diagnosa disertai nilai Certainty Factor yang menunjukkan tingkat kebenaran, keakuratan dari kemungkinan penyakit kulit pada hewan sapi. Ruen (2012) “Implementasi Metode Certainty Factor Untuk Diagnosa Penyakit



Jantung.”



dalam



penelitian



yang



di



lakukan



adalah



mengimplementasikan Metode Certainty Factor untuk mendiagnosa penyakit jantung. Wahyudi (2013) Dari penelitian yang telah dilakukan, dihasilkan sebuah perangkat lunak (software) baru tentang sistem pakar berbasis dekstop untuk mendiagnosa penyakit udang galah. Sebagai penarikan kesimpulan mengunakan metode Forward Chaining dan sebagai alat kepastian atau penarikan kesimpulan menggunakan Theorema Bayes. Syatibi (2012) sistem mampu melakukan diagnosa penyakit kulit sapi berdasarkan gejala-gejala yang diderita pasien meskipun gejala-gejala tersebut mengandung ketidakpastian. Hasil diagnosa disertai nilai Certainty Factor yang menunjukkan tingkat kebenaran, keakuratan dari kemungkinan penyakit kulit pada hewan sapi. Afriani



(2012)



dalam



penelitian



yang



di



lakukan



adalah



mengimplementasikan Metode Forward Chaining untuk mendiagnosa penyakit jantung. Honggowibowo (2009) dalam penelitian yang mereka lakukan bahwa mereka melakukan penelitian mengenai kepakaran dalam mendiagnosis penyakit tanaman padi 2.1.2 Perbandingan Penelitian Terkait No 1



Nama Wahyudi



Tahun 2013



Metode Forward Chaining



kesimpulan Dari penelitian yang telah dilakukan, dihasilkan sebuah perangkat lunak (software) baru tentang sistem pakar berbasis dekstop untuk mendiagnosa penyakit udang galah. Sebagai penarikan kesimpulan mengunakan metode Forward Chaining dan sebagai alat kepastian atau penarikan kesimpulan menggunakan Theorema Bayes.



2



Syatibi



2012



Certainty Factor



sistem mampu melakukan diagnosa penyakit kulit sapi berdasarkan gejala-gejala yang diderita pasien meskipun gejala-gejala tersebut mengandung ketidakpastian. Hasil diagnosa disertai nilai Certainty Factor yang menunjukkan tingkat kebenaran, keakuratan dari kemungkinan penyakit kulit



3



Afriani



2012



Forward Chaining



pada hewan sapi. dalam penelitian yang di lakukan adalah mengimplementasikan Metode Forward Chaining untuk



4



Ruen



2012



Certainty Factor



mendiagnosa penyakit jantung. dalam penelitian yang di lakukan adalah mengimplementasikan Metode Certainty Factor untuk



5



Honggowibowo



2009



Forwad Chaining



mendiagnosa penyakit jantung. dalam penelitian yang mereka lakukan bahwa mereka melakukan penelitian mengenai kepakaran dalam mendiagnosis penyakit



6



Luther



2006



Certainty Factor



tanaman padi Sistem Pakar Pendiagnosa Penyakit Anak Menggunakan Certainty Factor dapat digunakan untuk mendiagnosa penyakit anak dengan tingkat kepercayaan yang telah ditentukan oleh pakar terhadap gejala-gejala yang mempengaruhi probabilitas terjadinya suatu penyakit anak.



Sistem ini akan optimal jika seorang atau sekelompok pakar dalam hal ini dokter ahli anak telah mendefenisikan secara jelas nilai CF setiap gejala penyakit terhadap kemungkinan terjadinya 7



Rumaisa



2006



Certainty Factor



penyakit anak. Aplikasi yang dikembangkan ini bertujuan untuk menentukan jenis gangguan pada wanita mulai umur 17 tahun dengan hanya memperhatikan gejalagejala yang dialami. Dengan menggunakan metode Certanty Factor (CF), didapatkan nilai Kemungkinan gangguan yang dialami pasien.



2.2 Sistem Pakar Sistem pakar adalah suatu program komputer yang dirancang untuk mengambil keputusan seperti keputusan yang diambil oleh seorang atau beberapa orang pakar. Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu. Modul Penyusun Sistem Pakar Suatu sistem pakar disusun oleh tiga modul utama (Staugaard, 1987), yaitu : a. Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode)



Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya b. Modul Konsultasi (ConsultationMode) Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem. c. Modul Penjelasan (Explanation Mode) Modul ini menjelaskan proses pengambilan keputusan oleh sistem (bagaimana suatu keputusan dapat diperoleh). 2.2.1 Ciri-Ciri Sistem Pakar Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut : 1.



Terbatas pada domain keahlian tertentu.



2.



Berdasarkan pada kaidah/rule tertentu.



3.



Dapat digunakan dalam berbagai jenis komputer. 4.



Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya.



5.



Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh dialog dengan pemakai.



2.2.2 Keuntungan dan Kelemahan Sistem Pakar Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain : 1. 2. 3. 4. 5.



Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli. Bisa melakukan proses secara berulang secara otomatis. Menyimpan pengetahuan dan keahlian para pakar. Meningkatkan output dan produktivitas. Meningkatkan kualitas.



6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka). 7. Mampu beroperasi dalam lingkungan yang berbahaya. 8. Memiliki kemampuan untuk mengakses pengetahuan. 9. Memiliki reliabilitas. 10. Meningkatkan kapabilitas sistem komputer. 11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian. 12. Sebagai media pelengkap dalam penelitian. 13. Meningkatkan kapabilitas dalam penyelesaian masalah. 14. Menghemat waktu dalam pengambilan keputusan. Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain : 1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal. 2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar dibidangnya.



2.2.3 Struktur Sistem Pakar Komponen utama pada struktur sistem pakar (Hu et al, 1987) meliputi: 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 baru dari fakta yang sudah diketahui. Menurut Gondran (1986) dalam Utami (2002), basis pengetahuan merupakan representasi dari seorang pakar, yang kemudian dapat dimasukkan kedalam bahasa pemrograman khusus untuk kecerdasan buatan. 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 strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak 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



prose



penalaran.



Terdapat



tiga



tehnik



pengendalian yang sering digunakan, yaitu Certainty Factor, backward chaining, dan gabungan dari kedua tehnik pengendalian tersebut. 3. Basis Data (Database) Basis data terdiri atas semua fakta yang diperlukan, 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 pemrosesan. 4. Antarmuka Pemakai (User Interface) Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan sistem. Hubungan antar komponen penyusun struktur sistem pakar 2.3 Mekanisme Inferensi (Inference Engine) Mekanisme Inferensi adalah bagian dari sistem pakar yang melakukan penalaran dengan menggunakan isi daftar aturan berdasarkan urutan dan pola terentu. Selama proses konsultasi antar sistem dengan pemakai, mekanisme inferensi menguji aturan satu sampai kondisi aturan itu benar. Secara umum ada dua teknik utama yang digunakan dalam mekanisme inferensi untuk pengujian aturan, yaitu Metode Certainty Factor dan Backward Chaining.



2.3.1 Certainty Factor Faktor Kepastian (Certainty Factor) menyatakan kepercayaan dalam sebuah kejadian (atau fakta atau hipotesis) berdasarkan bukti atau penilaian pakar (Turban, 2005). Certainty Factor menggunakan suatu nilai untuk mengasumsikan derajad keyakinan seorang pakar



terhadap suatu data. Certainty Factor



memperkenalkan konsep keyakinan dan ketidakyakinan yang kemudian diformulakan dalam rumusan dasar sebagai berikut : CF [P,E] = MB [P,E] – MD [P,E] Keterangan : CF : Certainty Factor MB : Measure of Belief MD : Measure of Disbelief P : Probability E : Evidence (Peristiwa/Fakta) Berikut ini adalah deskripsi beberapa kombinasi Certainty Factor terhadap berbagai kondisi : 1. Certainty Factor untuk kaidah dengan premis tunggal (single premis rules): CF(H,E) = CF(E)*CF(rule) = CF(user)*CF(pakar) 2. Certainty Factor untuk kaidah dengan premis majemuk (multiple premis rules): CF (A AND B ) = Minimum (CF (a),CF (b)) * CF (rule) CF (A OR B ) = Maximum (CF (a),CF (b)) * CF (rule) 3. Certainty Factor untuk kaidah dengan kesimpulan yang serupa (similarly concluded rules) : CFcombine (CF1, CF2) = CF1 + CF2*(1-CF1) 2.4 PHP PHP (PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-



sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server (dapat dilihat pada gambar dibawah). Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut : a. Membaca permintaan dari client/browser b. Mencari halaman/page di server c. Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page. d. Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.



2.5 MySQL SQL (Structured Query Language) adalah bahasa standar yang digunakan untuk mengakses server database. MySQL sebenarnya merupakan susunan salah satu konsep utama dalam database sejak lama. Keandalaan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimezernya dalam melakukan proses perintah-perintah SQL yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. MySQL adalah satu dari sekian banyak sistem database, merupakan terobosan solusi yang tepat dalam aplikasi database. 1.



SQL tidak memiliki fasilitas pemrograman yang lengkap, tidak ada looping ataupun percabangan. Sehingga untuk menutupi kelemahan ini perlu digabung dengan bahasa pemrograman semisal Pascal. Dalam training ini kita menggunakan MySQL sebgai SQL server karena berbagai kelebihannya. Antara lain :



a.Source MySQL dapat diperoleh dengan mudah dan gratis. b.Sintaksnya lebih mudah dipahami dan tidak rumit. c.Pengaksesan database dapat dilakukan dengan mudah. 2.6 ERD (Entity Relationnship Diagram) ERD (Entity Relationnship Diagram) pertama kali di deskripsikan oleh Peter Chen dalam bukunya “The Entity Relationship Model-Toward a Unifield of Data”. Dalam buku ini Chen mencoba merumuskan dasar-dasar model setelah itu dikembangkan dan dimodifikasi oleh Chen dan banyak pakar lain. ERD (Entity Relationship Diagram) adalah pemodelan data utama yang membantu mengorganisasikan data dalam suatu proyek ke dalam entitas-entitas dan menentukan hubungan antar entitas atau sejumlah notasi dan simbol untuk menggambarkan struktur dan hubungan antar data. Ada beberapa macam elemen yang umum digunakan yaitu : 1. Entitas/Entity adalah suatu tempat atau objek untuk menyimpan data. Contoh: Entitas buku untuk menyimpan atribut mengenai buku (judul buku, kode buku, pengarang, dsb). Entity digambarkan dengan persegi panjang. 2. Atribut. Atribut berfungsi untuk mendeskripsikan entitas dan atribut mempunyai nilai (harga). Atribut digambarkan dengan simbol ellips. 3. Relasi/Relationship. Database adalah kumpulan file yang saling berkaitan. Pada model data relasi hubungan antar file direlasikan dengan kunci relasi. Relasi ini digambarkan dengan garis dalam ERD. 4. Cardinalitas. Terdapat beberapa pengertian key sehubungan dengan normalisasi dan ERD, antara lain : a. Superkey adalah gugus dari sejumlah atribut entiti yang dapat digunakan untuk mengindentifikasi obyek secara unik. b. Candidate key adalah superkey yang jumlah atribut minimal dan dapat bTerdiri sendiri.



c. Primary key adalah superkey yang dipilih oleh desainer atau administrator basis data. Dalam kardinalitas terdapat relasi dari antar table/instansi untuk menghubungkan key-key yang telah terhubung. Relasi yang dapat terjadi ialah : 1. Satu ke satu (One to one) Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B. 2.



Satu ke banyak (One to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.



3.



Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.



2.7 Diagram Konteks Diagram konteks adalah diagram yang terdiri dari suatu proses dan menggambarkan ruang lingkup suatu sistem. Diagram konteks merupakan level tertinggi dari DFD yang menggambarkan seluruh input ke sistem atau output dari sistem. Ia akan memberi gambaran tentang keseluruhan sistem. Sistem dibatasi oleh boundary (dapat digambarkan dengan garis putus). Dalam diagram konteks hanya ada satu proses. Tidak boleh ada store dalam diagram konteks. 2.8 Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari sistem. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan di kembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misanya lewat telepon seluler, surat, dan sebagainya) atau lingkungan fisik dimana data tersebut akan disimpan (misalnya file kartu, harddisk, tape, diskette, dan lain sebagainya).



2.8.1



Komponen Data Flow Diagram Tabel 2.3 Simbol-simbol DFD Model Yordan Demarko



No .



Simbol



Keterangan Terminator adalah entitas diluar sistem yang berkomunikasi / berhubungan langsung dengan sistem. Terminator dapat berupa orang, sekelompok orang, organisasi, perusahaan/departemen yang berada diluar sistem, diberi nama yang berhubungan dengan sistem tersebut. Arus Data digunakan untuk menerangkan perpindahan data/paket data dari satu bagian ke bagian lainnya. Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputerr dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Proses disesuaikan dengan proses / kegiatan yang sedang dilakukan. Data Store adalah tempat penyimpanan data



1



2



3



4



Kita dapat menggunakan DFD untuk dua hal utama, yaitu untuk membuat dokumentasi dari sistem informasi yang ada, atau untuk menyusun dokumentasi untuk sistem informasi yang baru. 2.8.2



Syarat dan Fungsi DFD Syarat-syarat pembuatan sebuah DFD, antara lain : 1. Pemberian nama untuk tiap komponen DFD. 2. Pemberian nomor pada komponen proses 3.



Penggambaran DFD sesering mungkin agar nyaman dilihat.



4.



Penghindaran penggambaran DFD yang rumit.



5. Emastian DFD yang dibentuk itu konsisten secara logika Adapun fungsi dari DFD adalah sebagai berikut :



1. Membantu para analis sitem meringkas informasi tentang sistem, mengetahui



hubungan



antar



sub-sub



sistem,



dan



membantu



perkembangan aplikasi secara efektif. 2. DFD berfungsi sebagai alat komunikasi yang baik antara pemakai dan analis sistem. Menggambarkan sejumlah batasan otomasi untuk pengembangan alternatif sistem fisik. 2.9 Entity Relationship Diagram (ERD) ERD (Entity Relationnship Diagram)pertama kali di deskripsikan oleh Peter Chen dalam bukunya “The Entity Relationship Model-Toward a Unifield of Data”. Dalam buku ini Chen mencoba merumuskan dasar-dasar model setelah itu dikembangkan dan dimodifikasi oleh Chen dan banyak pakar lain. ERD (Entity Relationship Diagram) adalah pemodelan data utama yang membantu mengorganisasikan data dalam suatu proyek kedalam entitas-entitas dan menentukan hubungan antar entitas atau sejumlah notasi dan simbol untuk menggambarkan struktur dan hubungan antar data. Ada beberapa macam elemen yang umum digunakan yaitu : 1. Entitas/Entity adalah suatu tempat atau objek untuk menyimpan data. Contoh: Entitas buku untuk menyimpan atribut mengenai buku (judul buku, kode buku, pengarang, dsb). Entity digambarkan dengan persegi panjang. 2. Atribut. Atribut berfungsi untuk mendeskripsikan entitas dan atribut mempunyai nilai (harga). Atribut digambarkan dengan simbol ellips. 3. Relasi/Relationship. Database adalah kumpulan file yang saling berkaitan. Pada model data relasi hubungan antar file direlasikan dengan kunci relasi. Relasi ini digambarkan dengan garis dalam ERD. 4. Cardinalitas. Terdapat beberapa pengertian key sehubungan dengan normalisasi dan ERD, antara lain : a. Superkey adalah gugus dari sejumlah atribut entiti yang dapat digunakan untuk mengindentifikasi obyek secara unik. b. Candidate key adalah superkey yang jumlah atribut minimal dan dapat bTerdiri sendiri. c. Primary key adalah superkey yang dipilih oleh desainer atau administrator basis data.



Dalam



kardinalitas



terdapat



relasi



dari



antar



table/instansi



untuk



menghubungkan key-key yang telah terhubung. Relasi yang dapat terjadi ialah : 1. Satu kesatu (One to one) Hubungan relasi satu kesatu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B. penerima



1



mendapat



1



bantuan



2. Satu kebanyak (One to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A. Penerima



1



Bekerja



M



Proyek



3. Banyak kebanyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B. Penerima



M



Bekerja



M



Proyek



BAB III ANALISA DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Berjalan 3.1.1 Analisis masalah Terkadang orang pada awalnya tidak mengetahui jenis gejala maupun penyakit batu karang yang dialami karena minimnya informasi yang mereka ketahui. Untuk menyelasaikan masalah yang terjadi, di butuhkan suatu sistem yang mampu diakses secara cepat berdasarkan data yang telah di konsultasi yaitu data yang diambil dari rumah sakit. Penerapan sistem pakar dignosa penyakit batu karang meliputi pengumpulan data gejala, penyakit, dan solusinya. Untuk kepastian hipotesa penyakit ini diterpkan metode certainty factor. 3.1.2



Analisis Kebutuhan Data Data yang diperoleh ialah data mengenai gejala-gejala penyakit, penyakit



dan cara penanggulangannya. Data tersebut didapat dari beberapa sumber, internet, dan dari rumah sakit yang telah memberikan bimbingan dan pengarahan serta informasi yang dibutuhkan selengkapnya dalam proses pembuatan sistem pakar diagnosa penyakit batu karang ini. 3.1.3



Analisis Data Penyakit Keberhasilan suatu sistem pakar terletak pada pengetahuan dan bagaimana



mengolah pengetahuan tersebut agar dapat ditarik suatu kesimpulan. Pengetahuan yang diperoleh dari hasil wawancara dan analisa lewat buku dikonversi kedalam



sebuah tabel penyakit dan gejala guna mempermudah proses peencarian solusi. Tabel jenis penyakit dan gejala ini digunakan sebagai pola pencocokan informasi yang dimasukkan oleh pemakai dan basis pengetahuan. Pada tabel jenis penyakit dab gejala terdapat dua jenis penyakit yang ditunjukan oleh P001, P002, ... P003 dan gejala yang ditunjukkan oleh G001, G002, ...G06. berikut ini adalah tabel jenis penyakit dan gejala yaitu pada tabel 3.1 yaitu tabel gejala dan jenis penyakit batu karang. Tabel 4.1 Jenis Penyakit Dan Gejala g/p G001 G002 G003 G004 G005 G006



K001 X X



K002 x x x x



Keterangan Gejala penyakit : G001 : Rasa pedih ketika kencing G002 : Rasa loya (mual) & muntah tanpa sebab G003 : Rasa seperti pasir berada dalam badan G004 : Air kencing kotor & berbau busuk G005 : Rasa sakit di kawasan pinggang G006 : Rasa sakit pada alat sulit Keterangan Dari Jenis Penyakit: P001: Batu Karang Peringkat Awal P002: Batu Karang Peringkat Kedua P003 : Batu Karang Peringkat Ketiga 3.2 Perancangan Sistem 3.2.1



Penanganan Ketidakpastian



K003 x x x x x x



Untuk sistem ini, tingkat kepastian sistem terhadap kesimpulan yang diperoleh dihitung berdasarkan nilai probabilitas penyakit karena adanya evident/gejala tertentu. Sebagai contoh penerapan perumusan tingkat kepastian, Penyakit batu karang awal ditunjukkan oleh gejala Rasa pedih ketika kencing, Rasa loya (mual) & muntah tanpa sebab. Seandainya diketahui dari pakar batu karang bahwa probabilitas penyakit batu karang awal adalah 0.03 P (Batu Karang Awal) = 0.03 P (Rasa pedih ketika kencing) = 0.4 P (Rasa loya (mual) & muntah tanpa sebab) = 0.5 dengan menganggap : H : Batu Karang Awal E1 : Rasa pedih ketika kencing E2 : Rasa loya (mual) & muntah tanpa sebab Nilai tingkat kepastian bahwa Batu Karang Awal disebabkan oleh Rasa pedih ketika



kencing dihitung oleh sistem MB (H,E1)



= (0.4 – 0.03) / (1-0.03) = 0.37 / 0.97 = 0.381



MD (H, E1)



= (0.03 – 0.03) / (0 – 0.03) = 0



CF (H, E1)



= MB (H, E1) – MD (H, E1) = 0.381 – 0 = 0.381



CF1



= 0.381



Dengan cara yang sama sistem menghitung tingkat kepastian penyakit Batu Karang



Awal berdasarkan gejala Rasa loya (mual) & muntah tanpa sebab MB (H, E2)



= (0.5 – 0.03) / (1-0.03) = 0.47 / 0.97 = 0.484



MD (H,E2)



= 0.03 – 0.03) / (0-0.03) = 0



CF (H, E2) MB (H,E2) = 0.484 – 0 = 0.484 CF2



= 0.484 Dari kedua perhitungan di atas, ketika sistem menyimpulkan bahwa



penyakit yang dialami adalah Batu Karang Awal maka tingkat kepastiannya adalah hasil perhitungan (5) berikut ini: CFkombinasi (CF1, CF2) = CF (H,E1) + CF (H,E2) (1-CF(H,E1) CFk = CF(H,E1) + CF(H,E2) (1-CF(H,E1) = 0.381 + 0.484 (1-0.381)



Info Data Data penyakit Pemakai



= 0.619*0.484+0.381 = 0.3 + 0.381 CFk1 = 0.681 Hasil dari perhitungan rumus menunjukkan bahwa nilai kepastian



Info Data penangulangan



mengalami penyakit batu karang awal dengan tingkat kepastian 0.681



Login admin InfoInfo Data penyakit 3.2.2 Info DataData gejalaContext Info Data relasi



Diagram (DCD)



Login admin Data penyakit Data gejala Data relasi



Sistem pakar diagnosa penyakit batu karang Data penangulangan



ADMIN



Gambar 3.1 Data Context Diagram



PEMAKAI



Info Data penyakit



Data relasi Info data relasi Info data gejala Info Data penyakit



Gambar 3.1 diatas menunjukkan bahwa sistem pakar berinteraksi dengan 2



Info data gejala



external entity, yaitu Admin dan Pemakai. Seorang admin dapat memasukkan data kepakaran ke dalam sistem serta dapat memperoleh informasi admin. Seorang Databisa gejalamelakukan konsultasi dengan sistem, yaitu dengan memilih pemakai hanya Info data



data penyakit seperti gejala penyakit, kemudian memperoleh hasil kesimpulan gejala



atau solusi. Data diagnosa



3.2.3 Data Flow Diagram (DFD) Level 1



Info data diagnosa



DFD Level 1 Pengolahan data admin dan pengguna, menggambarkan



Data diagnosa pemakai



mengenai login admin, pengolahan data admin, pengolahan data penyakit,



Info data pengolahan diagnosa pemakai data



relasi, pengolahan data gejala, pengolahan diagnosa. Gambar



DFD Level 1 Pengolahan data admin dan pengguna dapat dilihat pada gambar 3.2



Relasi



Info data gejala Info Data penyakit



Info Data penyakit



Data penyakit



Login admin



Gambar 3.2 Data Flow Diagram Level 1 Invalid



5.



Login admin Data login



DFD Level 1 Proses Login Admin Proses 1 login admin di DFD level 1 dirincikan lagi menjadi dua subproses



yaitu verifikasi username dan password serta validasi username dan password.



Info Data login



Model penurunan proses tersebut dapat dilihat pada Gambar 3.3 ADMIN



Data login



Verivikasi username dan pasword



Validasi username dan pasword



Gambar 3.3 Data Flow Diagram Level 1 Proses login admin 6.



DFD Level 1 Proses Pengolahan Data Penyakit Proses 2 pengolahan data penyakit di DFD level 1 dirincikan lagi menjadi



beberapa subproses. Model penurunan proses tersebut dapat dilihat pada Gambar 3.4



Info Ubah Info Hapus Info Tambah



Info update data penyakit Info data penyakit



Hapus penya



Data penyakit Info data penyakit



Gambar 3.4 Data Flow Diagram Level 1 Proses Pengolahan Data penyakit



Info Ubah Info Hapus Info Tambah



7.



DFD Level 2 Proses Pengolahan Data Gejala Proses 3 pengolahan data data gejala di DFD level 1 dirincikan lagi menjadi Info update gejala



Info data gejala



beberapa subproses. Model penurunan proses tersebut dapat dilihat pada Gambar 3.5



Hapus geja



Data gejala Info data gejala



Info Data penyakit



Gambar 3.5 Data Flow Diagram Level 1 Proses Pengolahan Data Gejala



Data penyakit



Tampil



8.



DFD Level 1 Proses Pengolahan Data Relasi Proses 4 pengolahan data relasi di DFD level 1 dirincikan lagi menjadi



beberapa subproses. Model penurunan proses tersebut dapat dilihat pada Gambar 3.6 Info data penyakit



Info data gejala Info Pilih gejala Info data relasi Info Pilih penyakit Info update data relasi



Pilih gejala Pilih penyakit



Gambar 3.6 Data Flow Diagram Level 1 Proses Pengolahan Data Relasi 9.



DFD Level 1 Proses Diagnosa



Pilih ge



Info data Data gejala



diagnosa



Info data relasi Info data gejala Data diagnosa



Data relasi



Info data diagnosa



gejala Proses 10 diagnosa di DFD level Data 1 dirincikan lagi menjadi beberapa Data penyakit



subproses. Model penurunan proses tersebut dapat dilihat pada Gambar 3.7 Data diagnosa



Info data gejala



Info data diagnosa Info data penyakit Data diagnosa pemakai



Data diagnosa Info data diagnosa



A



diagnosa



Data diagnosa



Info data kerusakan



Data pemakai



Info Data penyakit



Gambar 3.7 Data Flow Diagram Level 1 Proses Diagnosa



3.2.4 Flowchart Sistem Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Sistem flowchart tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah , tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk. Admin



Input gejala, penyakit dan solusi



Sistem pakarData penyakit User gejala, penyakit dan solusi



Pilihan penyakit



gejala, penyakit dan solusi



Hasil Diagnosa



Diagnosa



Hasil Diagnosa



Gambar 4.8 Flowchart Sistem



3.2.5 Desain output 1. Hasil Diagnosa



Tmp gejala



HASIL DIAGNOSA Nomor Diagnosa



PEMAKAI : 9999



Tanggal Diagnosa : 99-99-9999



Nama Pemilik



: x-25-x



GEJALA



PENYAKIT



SOLUSI



1. 2. 3. 4. 5.



1. 2. 3. 4. 5.



1. 2. 3. 4.



x-100-x x-100-x x-100-x x-100-x



x-100-x x-100-x x-100-x x-100-x



x-100-x x-100-x x-100-x x-100-x



PENYEBAB : x-100-x



3.2.6 Perancangan Database Tabel-tabel yang digunakan dalam membangun Sistem Pakar Untuk mendiagnosa penyakit batu karang Dengan Metode Certainty Factor ini terdiri atas tabel, tabel gejala, tabel admin, tabel penyakit, Tabel diagnosa. Adapun struktur tabelnya adalah sebagai berikut : 1. Tabel Gejala File indeks : kd_gejala Tabel 4.2 Tabel gejala Nama Field



Type



kd_gejala gejala



VARCHAR TEXT



Ukura n 50



Keterangan



Ukura n 50 50 50



Keterangan



Ukura n 50



Keterangan



Kode gejala Nama gejala



2. Tabel admin File indeks : id Tabel 4.3 Tabel Admin Nama Field



Type



id usn psw



VARCHAR VARCHAR VARCHAR



Id Username Password



3. Tabel Penyakit File indeks : kd_penyakit Tabel 4.4 Tabel penyakit Nama Field



Type



kd_ penyakit



VARCHAR



Kode penyakit



penyakit



VARCHAR



50



Nama penyakit



4. Tabel Solusi File indeks : kd_penyakit Tabel 4.5 Tabel Solusi Nama Field



Type



Kd_penyakit Kd_gejala solusi



VARCHAR



Ukura n 50



Text



Keterangan penyakit Solusi



5. Tabel hasil diagnosa File indeks : kd_penyakit Tabel 4.5 Tabel hasil diagnosa Nama Field



Type



Ukura n



kd_ penyakit Penyakit Gejala Solusi



Int VARCHAR 50 VARCHAR 50 TEXT



Keterangan Kode Penyakit penyakit Gejala solusi



3.2.8 Perancangan Interface Interface atau antar muka merupakan tampilan dari suatu program aplikasi yang berperan sebagai media komunikasi yang digunakan sebagai sarana SISTEM PAKAR DIAGNOSA PENYAKIT BATU KARANG bERDialog antara program dengan user. Sistem yang akan dibanggun diharapkan menyediakan interface yang mudah dipahami dan digunakan oleh user. perancangan interface untuk aplikasi Sistem Pakar adalah sebagai berikut: Home



a. Form Menu Utama Konsultasi



Layar ini berfungsi menampilkan menu utama yang terdiri dari home,



Master



diagnosa, informasi penyakit,login pakar. About Login



GAMBAR



User name



Password



Gambar



Gambar



Nanda @ 2013



Gambar



Gambar



Gambar 4. 9 Form Menu Utama (User)



b. Form Menu Konsultasi



SISTEM PAKAR DIAGNOSA PENYAKIT BATU KARANG



Home Konsultasi Master About



NKonsultasi GEJALAPenyakit Batu Karang O 1 2 3 4 5



YA



Login User name



Password



Gambar 4. 10 Form Menu Konsultasi Nanda @ 2013



SISTEM PAKAR DIAGNOSA PENYAKIT BATU KARANG



Home



c.



Form Menu Daftar Penyakit DAFTAR Konsultasi



PENYAKIT



Master About Laogout



Nanda @ 2013



Gambar 4. 11 Form Menu Daftar Penyakit



SISTEM PAKAR DIAGNOSA PENYAKIT BATU KARANG



Home



d. Form Menu Daftar Gejala Konsultasi



DAFTAR GEJALA



Master About Laogout



Rosdiana @ 2013



Gambar 4. 12 Form Menu Daftar Gejala