BAB II DASAR TEORI
2.1 Artificial Intelligence (Kecerdasan buatan) 2.1.1 Definisi Kecerdasan buatan menurut Gaskins [3] (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika. Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain sepak bola. Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.
II-1
II-2
'Kecerdasan buatan' ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya. Tidak ada definisi yang memuaskan untuk 'kecerdasan': 1. Kecerdasan:
kemampuan
untuk
memperoleh
pengetahuan
dan
menggunakannya, atau 2. Kecerdasan yaitu apa yang diukur oleh sebuah 'Tes Kecerdasan' 2.1.2
Paham Pemikiran Secara garis besar, AI menrut Gaskins [3] terbagi ke dalam dua faham
pemikiran yaitu AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI konvensional kebanyakan melibatkan metodametoda yang sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. Dikenal juga sebagai AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). Metoda-metodanya meliputi: 1.
Sistem pakar: menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.
2.
Petimbangan berdasar kasus
3.
Jaringan Bayesian
4.
AI berdasar tingkah laku: metoda modular pada pembentukan sistem AI secara manual Kecerdasan komputasional melibatkan pengembangan atau pembelajaran
iteratif misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI nonsimbolis, AI yang tak teratur dan perhitungan lunak. Metoda-metoda pokoknya meliputi: 1.
Jaringan Syaraf: sistem dengan kemampuan pengenalan pola yang sangat kuat
II-3
2.
Sistem Fuzzy: teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen.
3.
Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk menghasilkan pemecahan masalah yang lebih baik. Metoda-metoda ini terutama dibagi menjadi algoritma evolusioner
(misalnya algoritma genetik) dan kecerdasan berkelompok (misalnya algoritma semut). Dengan sistem cerdas hibrid, percobaan-percobaan dibuat untuk menggabungkan kedua kelompok ini. Aturan inferensi pakar dapat dibangkitkan melalui jaringan syaraf atau aturan produksi dari pembelajaran statistik seperti dalam ACT-R. Sebuah pendekatan baru yang menjanjikan disebutkan bahwa penguatan kecerdasan mencoba untuk mencapai kecerdasan buatan dalam proses pengembangan evolusioner sebagai efek samping dari penguatan kecerdasan manusia melalui teknologi.
2.2
Expert System (Sistem Pakar) Menurut Kusrini [4] sistem pakar adalah sistem berbasis komputer yang
menggunakan pengetahuan, fakta, dan tehnik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut Sistem pakar memberikan nilai tambah pada teknologi untuk membantu dalam menangani era informasi yang semakin canggih. Menurut Turban [5] konsep dasar suatu sistem pakar mengandung beberapa unsur, diantaranya adalah keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian merupakan salah satu penguasaaan pengetahuan di bidang tertentu yang didapatkan baik secara formal maupun non formal. Ahli adalah seseorang yang mempunyai pengetahuan tertentu dan mampu menjelaskan suatu tanggapan dan mempunyai keinginan untuk belajar memperbaharui pengetahuan dalam bidangnya. Pengalihan keahlian adalah mengalihkan keahlian dari seorang pakar dan kemudian dialihkan lagi ke orang
II-4
yang bukan ahli atau orang awam yang membutuhkan. Sedangkan inferensi, merupakan suatu rangkaian proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Kemampuan menjelaskan, merupakan salah satu fitur yang harus dimiliki oleh sistem pakar setelah tersedia program di dalam komputer. Tujuan pengembangan sistem pakar sebenarnya tidak untuk menggantikan peran para pakar, namun untuk mengimplementasikan pengetahuan para pakar ke dalam bentuk perangkat lunak, sehingga dapat digunakan oleh banyak orang dan tanpa biaya yang besar. Untuk membangun sistem yang difungsikan untuk menirukan seorang pakar manusia harus bias melakukan hal-hal yang dapat dikerjakan oleh para pakar. Untuk membangun sistem yang seperti itu maka komponen-komponen dasar yang minimal harus dimiliki adalah sebagai berikut: 1. Antar muka (user interface). 2. Basis pengetahuan (knowledge base). 3. Mesin inferensi (Inference Engine). Kaidah produksi merupakan salah satu model untuk merepresentasikan pengetahuan. Kaidah produksi menjadi acuan yang sangat sering digunakan oleh sistem inferensi. Kaidah produksi dituliskan dalam bentuk pernyataan IF-THEN (Jika-Maka). Pernyataan ini menghubungkan bagian premis (IF) dan bagian kesimpulan (THEN) yang dituliskan dalam bentuk : IF [premis] THEN [konklusi] Kaidah ini dapat dikatakan sebagai suatu implikasi yang terdiri dari dua bagian, yaitu premis dan bagian konklusi. Apabila bagian premis dipenuhi maka bagian konklusi akan bernilai benar. Bagian premis dalam aturan produksi dapat memiliki lebih dari satu proposisi. Proposisi-proposisi tersebut dihubungkan dengan menggunakan operator logika AND atau OR. Sebagai contoh : IF Darah di dalam air kencing (hematuria) AND Demam AND Mudah lelah AND Nyeri di daerah kandung kemih
II-5
AND Penurunan berat badan AND Tekanan darah tinggi/hipertensi THEN Kanker ginjal Suatu pengetahuan dari sistem pakar bersifat khusus untuk satu domain masalah saja. Domain masalah tersebut bersifat khusus, seperti kedokteran, keuangan, bisnis atau teknik. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para pakar. Dengan sistem pakar, orang awam dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar dapat membantu aktifitasnya sebagai asisten yang sangat berpengalaman. Menurut Kusrini [4] seorang pakar dengan sistem pakar mempunyai banyak perbedaan. Perbandingan kemampuan antara seorang pakar dengan sebuah sistem pakar dapat dilihat seperti pada tabel 2.1 berikut:
Tabel 2.1 Perbandingan Seorang Pakar dengan Sistem Pakar Pakar Manusia Terbatas
Waktu
karena
Sistem Pakar manusia Tidak terbatas karena dapat digunakan
membutuhkan istirahat
kapanpun juga
Tempat akses bersifat local pada suatu Dapat digunakan diberbagai tempat tempat saja dimana pakar berada Pengetahuan bersifat variable dan dapat Pengetahuan bersifat konsisten berubah-ubah tergantung situasi Kecepatan untuk menemukan solusi Kecepatan untuk memberikan solusi sifatnya bervariasi.
konsisten dan lebih cepat daripada manusia
Biaya
yang
harus
dibayar
konsultasi biasanya sangat mahal
untuk Biaya yang dikeluarkan lebih murah
II-6
2.3 Klasifikasi Sistem Pakar Menurut Kusrini [4] berdasarkan kegunaannya, sistem pakar dapat diklasifikasikan menjadi enam jenis yaitu: 1. Diagnosis Diagnosis adalah suatu tindakan atau perilaku yang menggunakan bantuan suatu alat dan sistem untuk mempelajari atau mengamati sesuatu hal yang tidak tepat, tidak teratur, sehingga menghasilkan suatu informasi dan membuat dan membuat inferensi kemungkinan penyebab timbulnya ketidak beresan. Diagnosis sistem pakar biasanya digunakan untuk merekomendasikan obat untuk orang sakit, kerusakan mesin, kerusakan rangkaian elektronik dan sebagainya. Prisispnya adalah menemukan masalah atau kerusakan yang terjadi. Sistem pakar diagnosis merupakan jenis sistem pakar yang paling populer saat ini. Biasanya sistem pakar diagnosis menggunakan pohon keputusan (decision tree) sebagai representasi pengetahuannya. Hal lain dari sistem pakar diagnosis ini adalah basis pengetahuannya bertambah besar secara eksponsial dengan kompleksnya permasalahan. 2. Pengajaran Sistem pakar ini digunakan untuk mengajar, mulai dari murid sekolah dasar sampai mahasiswa perguruan tinggi. Kelebihan sistem pakar dapat digunakan untuk membuat diagnosa apa penyebab dari kekurangan dari seorang siswa, kemudian cara untuk memperbaikinya. 3. Interpretasi Sistem pakar interpretasi ini digunakan untuk menganalisa data yang tidak lengkap, tidak teratur, dan data yang kontradiktif misalnya untuk menginterpretasi citra. 4. Prediksi Keunggulan dari seorang pakar adalah memprediksi kedepan. Contoh yang mudah kita temui, bagaimana seorang pakar meteorologi memprediksi cuaca besok berdasrkan data-data sebelumnya. Penggunaan sistem pakar prediksi misalnya untuk peramalan cuaca, penentuan masa tanam, dan sebagainya.
II-7
5. Perencanaan Perencanaan sistem pakar sangat luas mulai dari perencanaan mesinmesin sampai manajemen bisnis. Penggunaan sisem pakar jenis ini dapat menghemat biaya, waktu dan material. Contoh penggunaan antara lain yaitu sistem konfigurasi, komputer, tata letak sirkuit. 6. Kontrol Sistem pakar kontrol ini digunakan untuk melakukan pengontrolan terhadap kegiatan yang membutuhkan presisi waktu yang tinggi, misalnya pada industri-industri berteknologi tinggi.
2.4 Manfaat, Keterbatasan dan Alasan Pengembangan Sistem Pakar 2.4.1
Manfaat Sistem Pakar Mengapa Sistem Pakar menjadi sangat populer? Hal ini disebabkan oleh
sangat banyaknya kemampuan dan manfaat yang diberikan oleh Sistem Pakar, di antaranya: a. Meningkatkan output dan produktivitas, karena sistem pakar dapat bekerja lebih cepat dari manusia. b. Meningkatkan kwalitas, dengan memberi nasehat yang konsisten dan mengurangi kesalahan. c. Mampu menangkap kepakaran yang sangat terbatas. d. Dapat beroperasi di lingkungan yang berbahaya. e. Handal. Sistem Pakar tidak pernah menjadi bosan dan kelelahan atau sakit. Sistem Pakar juga secara konsisten melihat semua detil dan tidak akan melewatkan informasi yang relevan dan solusi yang potensial. f. Mampu bekerja dengan informasi yang tidak lengkap atau tidak pasti. Berbeda dengan sistem komputer konvensional, Sistem Pakar dapat bekerja dengan inofrmasi yang tidak lengkap. Pengguna dapat merespon dengan: “ya” atau “tidak” pada satu atau lebih pertanyaan selama konsultasi, dan Sistem pakar tetap akan memberikan jawabannya.
II-8
2.4.2
Keterbatasan Sistem Pakar Metodologi Sistem Pakar yang ada tidak selalu mudah, sederhana dan
efektif. Berikut adalah keterbatasan yang menghambat perkembangan Sistem Pakar: 1. Pengetahuan yang hendak diambil tidak selalu tersedia. 2. Kepakaran sangat sulit diekstrak dari manusia. 3. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda, meskipun sama-sama benar. 4. Adalah sangat sulit bagi seorang pakar untuk mengabstraksi atau menjelaskan langkah mereka dalam menangani masalah. 5. Sistem Pakar bekerja baik untuk suatu bidang yang sempit. 6. Banyak pakar yang tidak mempunyai jalan untuk mencek apakah kesimpulan mereka benar dan masuk akal. 7. Pengembangan
sistem
pakar
seringkali
membutuhkan
perekayasa
pengetahuan (knowledge engineer) yang langka dan mahal. 8. Kurangnya rasa percaya pengguna menghalangi pemakaian sistem pakar. 2.4.3
Alasan Pengembangan Sistem Pakar Sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :
1. Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi. 2. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar. 3. Seorang pakar akan pensiun atau pergi. 4. Seorang pakar adalah mahal. 5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.
2.5
Struktur Sistem Pakar Menurut Turban [5] struktur sistem pakar disusun oleh dua bagian utama,
yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem
II-9
pakar, sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar.
Gambar 2.1 Struktur Sistem Pakar
2.5.1 Antarmuka Pengguna (User Interface) Sistem Pakar mengatur komunikasi antara pengguna dan komputer. Komunikasi ini paling baik berupa bahasa alami, biasanya disajikan dalam bentuk tanya-jawab dan kadang ditampilkan dalam bentuk gambar/grafik. Antarmuka yang lebih canggih dilengkapi dengan percakapan (voice communication).
2.5.2 Akuisisi Pengetahuan Akuisis ini merupakan suatu proses untuk mengumpulkan data-data pengetahuan akan suatu masalah dari pakar. Bahan pengetahuan dapat ditempuh dengan beberapa cara, misalnya mendapatkan pengetahuan dari buku, jurnal ilmiah, para pakar di bidangnya, laporan dan literatur. Sumber pengetahuan tersebut dijadikan dokumentasi untuk dipelajari, diolah dan diorganisasikan secara terstruktur menjadi basis pengetahuan. Setelah proses akuisisi pengetahuan selesai dilakukan, maka pengetahuan tersebut harus direpresentasikan menjadi basis pengetahuan dan basis aturan yang selanjutnya dikumpulkan, dikodekan, diorganisasikan, dan digambarkan dalam bentuk rancangan lain menjadi bentuk yang sistematis.
II-10
2.5.3 Basis Pengetahuan Basis
pengetahuan
mengandung
pengetahuan
untuk
pemahaman,
formulasi, dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang obyek dalam area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui. Dalam studi kasus pada sistem berbasis pengetahuan terdapat beberapa karakteristik yang dibangun untuk membantu kita di dalam membentuk serangkaian prinsip-prinsip arsitekturnya.
2.5.4
Mesin Inferensi Komponen ini mengandung mekanisme pola pikir dan penalaran yang
digunakan oleh pakar dalam menyelesaikan suatu masalah. Menurut Turban [5] Mesin inferensi adalah program computer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace dan untuk memformulasikan kesimpulan. Terdapat dua pendekatan untuk mengontrol inferensi dalam system pakar berbasis aturan, yaitu pelacakan ke belakang (backward chaining) dan pelacakan ke depan (forward chaining). Pelacakan ke belakang adalah pendekatan yang dimotori tujuan (goal-driven). Dalam pendekatan ini pelacakan dimulai dari tujuan, selanjutnya dicari aturan yang memiliki tujuan tersebut untuk kesimpulannya. Pelacakan ke depan adalah pendekatan yang dimotori data (datadriven). Dalam pendekatan ini pelacakan dimulai dari informasi masukan dan selanjutnya mencoba menggambarkan kesimpulan. Kedua metode inferensi tersebut dipengaruhi oleh tiga macam penelusuran yaitu sebagai berikut : •
Depth-first search, melakukan penelusuran kaidah secara mendalam dari simpul akar bergerak menurun ke tingkat dalam yang berurutan.
•
Breadth-first search, bergerak dari simpul akar, simpul yang ada pada setiap tingkat diuji sebelum pindah ke tingkat selanjutnya.
•
Best-first search, bekerja berdasarkan kombinasi kedua metode sebelumnya.
II-11
2.6
Teori Dempster-Shafer Menurut journal dari Aprilia Sulistyohati dan Taufik Hidayat [6] ada
berbagai macam penalaran dengan model yang lengkap dan sangat konsisten, tetapi pada kenyataannya banyak permasalahan yang tidak dapat terselesaikan secara lengkap dan konsisten. Ketidakkonsistenan yang tersebut adalah akibat adanya penambahan fakta baru. Penalaran yang seperti itu disebut dengan penalaran non monotonis. Untuk mengatasi ketidakkonsistenan tersebut maka dapat menggunakan penalaran dengan teori Dempster-Shafer. Secara umum teori Dempster-Shafer ditulis dalam suatu interval: [Belief,Plausibility] • Belief (Bel) adalah ukuran kekuatan evidence dalam mendukung suatu himpunan proposisi. Jika bernilai 0 maka mengindikasikan bahwa tidak ada evidence, dan jika bernilai 1 menunjukkan adanya kepastian. • Plausibility (Pl) dinotasikan sebagai : Pl(s) = 1 – Bel (⌐s) Plausibility juga bernilai 0 sampai 1. Jika yakin akan ⌐s, maka dapat dikatakan bahwa Bel(⌐s)=1, dan Pl(⌐s)=0. Pada teori Dempster-Shafer dikenal adanya frame of discrement yang dinotasikan dengan θ. Frame ini merupakan semesta pembicaraan dari sekumpulan hipotesis. Misalkan: θ = {A, F, D, B} Dengan: A = Alergi; F = Flu; D = Demam; B = Bronkitis. Tujuannya adalah mengaitkan ukuran kepercayaan elemen-elemen θ. Tidak semua evidence secara langsung mendukung tiap-tiap elemen. Sebagai contoh, panas mungkin hanya mendukung {F, D, B}. Untuk itu perlu adanya probabilitas fungsi densitas (m). Nilai m tidak hanya mendefinisikan elemen-elemen θ saja, namun juga semua subset-nya. Sehingga n
jika θ berisi n elemen, maka subset θ adalah 2 . Jumlah semua m dalam subset θ
II-12
sama dengan 1. Apabila tidak ada informasi apapun untuk memilih hipotesis, maka nilai : m{θ} = 1,0 Jika kemudian diketahui bahwa panas merupakan gejala dari flu, demam, dan bronkitis dengan m = 0,8, maka: m{F,D,B} = 0,8 m{θ} = 1 – 0,8 = 0,2 Andaikan diketahui X adalah subset dari θ, dengan m1 sebagai fungsi densitasnya, dan Y juga merupakan subset dari θ dengan m2 sebagai fungsi densitasnya, maka kita dapat membentuk fungsi kombinasi m1 dan m2 sebagai m3, yaitu:
m3(Z) =
ΣX∩Y = Z m1 (X). m2(Y) 1 - ΣX∩Y = Ø m1 (X). m2(Y)
Contoh 2.1: Si Ani mengalami gejala panas badan. Dari diagnosa dokter, penyakit yang mungkin diderita oleh Si Ani adalah flue, demam, atau bronkitis.
Gejala-1: panas Apabila diketahui nilai kepercayaan setelah dilakukan observasi panas sebagai gejala dari penyakit flue, demam, dan bronkitis adalah: m1{F,D,B} = 0,8 m1{θ} = 1 – 0,8 = 0,2 Sehari kemudian, Si Ani datang lagi dengan gejala yang baru, yaitu hidungnya buntu. Gejala-2: hidung buntu Kemudian diketahui juga nilai kepercayaan setelah dilakukan observasi terhadap hidung buntu sebagai gejala dari alergi, penyakit flu, dan demam adalah: m2{A,F,D} = 0,9 m2{θ} = 1 – 0,9 = 0,1 Tabel 2.2 menunjukkan aturan kombinasi tersebut
II-13
Tabel 2.2 Aturan Kombinasi untuk m3 Contoh 2.1 {A,F,D}
(0,9)
θ
(0,1)
{F, D, B} (0, 8)
{F, D}
(0,72)
{F,D,B}
(0,08)
Θ
{A,F,D}
(0,18)
θ
(0,02)
(0, 2)
Sehingga dapat dihitung: •
M3 {F,D} = 0,72 = 0,72 1–0
•
M3 {A,F,D} = 0,18 = 0,18 1–0
•
M3 {F,D,B} = 0,08 = 0,08 1–0
•
M3 {ɵ} = 0,02 = 0,02 1–0
Dari sini dapat kita lihat bahwa, pada mulanya dengan hanya ada gejala panas, m{F,D,B} = 0,8; namun setelah ada gejala baru yaitu hidung buntu, maka nilai m{F,D,B} = 0,08. Demikian pula, pada mulanya dengan hanya ada gejala hidung buntu, m{A,F,D} = 0,9; namun setelah ada gejala baru yaitu panas, maka nilai m{A,F,D} = 0,18. Dengan adanya 2 gejala ini, nilai densitas yang paling kuat adalah m{F,D} yaitu sebesar 0,72. Hari berikutnya, Si Ani datang lagi, dan memberitahukan bahwa minggu lalu dia baru saja datang dari piknik. Gejala-3: piknik Jika diketahui nilai kepercayaan setelah dilakukan observasi terhadap piknik sebagai gejala dari alergi adalah: m4{A} = 0,6 m4{θ} = 1 – 0,6 = 0,4 maka dapat dicari aturan kombinasi dengan nilai kepercayaan m5 seperti pada tabel 2.3.
II-14
Tabel 2.3 Aturan Kombinasi untuk m5 Contoh 2.1 {A} (0,6) θ (0,4) {F,D} (0,72) ∅ (0,432) {F,D} (0,288) {A} (0,108) {A,F,D} (0,072) {A,F,D} (0,18) {F,D,B}
θ
(0,08) (0,02)
∅ {A}
(0,048) (0,012)
{F,D,B}
θ
(0,032) (0,008)
Sehingga dapat dihitung: •
M5 {A} =
•
M5 {F,D} =
•
M5 {A,F,D} =
•
M5 {ɵ} = 0,008 = 0,015 1 – (0,432 + 0,048)
0,108 + 0,012 = 0,231 1 – (0,432 + 0,048) 0,288 = 0,554 1 – (0,432 + 0,048) 0,072 = 0,138 1 – (0,432 + 0,048)
Dengan adanya gejala baru ini (Si Ani baru saja datang piknik), nilai densitas yang paling kuat tetap m{F,D} yaitu sebesar 0,554. 2.7
Representasi Pengetahuan Representasi pengetahuan adalah suatu teknik untuk merepresentasikan
basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain[1]. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Ada beberapa cara merepresentasikan data menjadi basis pengetahuan, seperti yang dikemukakan oleh Barr dan Feigenbaum pada tahun 1981, yaitu data dalam bentuk kalkulus predikat, bingkai, kaidah produksi, representasi logika, jaringan semantik. Semua bentuk representasi data tersebut bertujuan untuk menyederhanakan data sehingga mudah dimengerti dan mengefektifkan proses pengembangan program. Dalam melakukan representasi pengetahuan penulis menggunakan kaidah produksi.
II-15
Metode kaidah produksi biasanya dituliskan dalam bentuk jika-maka (ifthen). Kaidah ini dapat dikatakan sebagai hubungan implikasi dua bagian, yaitu bagian premise (jika) dan bagian konklusi (maka). Apabila bagian premise dipenuhi maka bagian konklusi juga akan bernilai benar. Sebuah kaidah terdiri dari klausa-klausa. Sebuah klausa mirip sebuah kalimat dengan subyek, kata kerja dan obyek yang menyatakan suatu fakta. Ada sebuah klausa premise dan sebuah klausa konklusi pada setiap kaidah. Suatu kaidah juga terdiri atas beberapa premise dan lebih dari satu konklusi. Antara premise dan konklusi dapat dihubungkan dengan “atau” atau “dan”.
2.8
Penyakit Anak Menurut Heri Suyono [7] Beberapa penyakit yang umum diderita anak
hampir dipastikan pada suatu saat menyerang anak kita. Oleh sebab itu gejala penyakit dan cara penanganannya perlu dikenali. Penanganan juga bukan hanya membantu penyembuhan, namun juga dapat mencegah timbulnya komplikasi lebih jauh. Penyakit yang sering diderita bayi dan balita, menurut Dr. Kishore R.J., dokter spesialis anak yang berpraktik di Rumah Sakit Ibu dan Anak Hermina di Jatinegara, Jakarta, antara lain, demam, infeksi saluran napas, dan diare. Tapi yang sering membuat orang tua segera membawa anaknya berobat adalah demam dan diare. Demam memang bukan penyakit, tapi gejala suatu penyakit. Semisal karena batuk dan pilek, radang tenggorokan, diare, infeksi lain pada saluran pencernaan, atau infeksi saluran napas. Dalam buku Mengatasi Gangguan Kesehatan pada Anak-Anak, karangan dr. Anies dari Fakultas Kedokteran Universitas Diponegoro, Semarang, kenaikan suhu tubuh juga sering terjadi saat tumbuh gigi pertama. Suhu tubuh juga akan meninggi sehabis memperoleh imunisasi DPT (difteria, pertusis, dan tetanus), namun hanya berlangsung kirakira 24 jam. Menurut Tony Smith [8] Adakalanya penyakit dan masalah kesehatan datang tanpa diduga dan pada waktu yang juga tidak terduga. Sementara untuk
II-16
mendapatkan pertolongan dokter atau tenaga ahli lainnya tidak memungkinkan atau memang kita yang malas mencarinya karena berbagai alasan. Maka dengan adanya program ini bisa menjadi solusi untuk penyelesaian masalah tersebut, disamping itu juga akan membantu kita menemukan penyebab dari gejala penyakit dan masalah kesehatan yang dihadapi dan juga bagaimana cara pencegahannya agar penyakit tidak menyerang anak kita. Dikutip dari buku [9] yang menyatakan bahwa diagnosis penyakit yang akan diterapkan dalam aplikasi ini berdasarkan buku “1001 Tentang Merawat Si Kecil". Di dalam buku dibahas mengenai banyak hal tentang anak khususnya yang berusia 0-2 tahun, suatu kurun waktu yang sangat penting dalam pertumbuhan anak baik dalam soal pertumbuhan fisik maupun mentalnya. Di dalam buku ini dibahas juga mengenai gizi, psikologi sampai dengan gangguan-gangguan penyakitbanak yang diulas lengkap brikut dengan cara penanggulangannya Seorang ibu yang baru saja melahirkan bayi sangatlah membutuhkan pengetahuan-pengetahuan yang akurat dan lengkap tentang pertumbuhan bayinya, kendala-kendala yang akan dihadapi dan cara menanganinya.
2.9
Rekayasa Perangkat Lunak Rekayasa perangkat lunak adalah suatu ilmu yang digunakan untuk
pengembangan, pengoperasian dan pemeliharaan perangkat lunak dengan cara pendekatan yang sistematis dan teratur. Pembangunan suatu perangkat lunak selalu menggunakan suatu cara atau metode tertentu untuk menciptakan perangkat lunak itu. Metode pengembangan sistem yang digunakan oleh penulis adalah metode Waterfall. Metode ini merupakan salah satu metode yang sering digunakan dalam proses perancangan perangkat lunak / pengembangan sistem. Metode waterfall menggunakan pendekatan yang sistematis dan sekuensial dalam membangun perangkat lunak. Model pendekatan waterfall ini terdiri dari tahapan harus dilalui secara berurutan. Tahapan berikutnya tidak bisa dilaksanakan sebelum tahap sebelumnya diselesaikan terlebih dahulu. Setiap tahapan menghasilkan keluaran yang
II-17
diperlukan sebagai bahan inputan untuk melanjutkan ke tahapan berikutnya. Tahapan-tahapan tersebut adalah : 1. Sistem/Information Engineering 2. Analysis (Analisa) 3. Design (Perancangan) 4. Coding (Pengkodean/Implementasi) 5. Testing (Pengujian) Pada tugas akhir pengujian yang dilakukan dengan memasukkan nilai certainty factor kemudian akan dihitung secara manual apakah hasil perhitungan yang diperoleh sama dengan hasil perhitungan sistem. System Engineering
Analysis
Design
Coding
Testing
Maintenence
Gambar 2.2 Pengembangan Sistem Literate Waterfall
2.9.1 Sistem/Information Engineering Tahap ini menunjukkan gambaran sistem secara umum dan posisi dimana perangkat lunak akan dipakai. Karena suatu perangkat lunak selalu merupakan bagian dari suatu sistem yang besar, maka pekerjaan merekayasa perangkat lunak dimulai dengan menentukan kebutuhan semua elemen sistem dan kemudian mengalokasikan beberapa kebutuhan elemen sistem ini kedalam perangkat lunak tertentu. Cara ini mutlak karena perangkat lunak tersebut akan berinteraksi langsung dengan elemen lain seperti software lain, hardware, karyawan dan basis data.
II-18
2.9.2 Analisa (Analysis) Tahap yang mengidentifikasikan permasalahan yang ada pada sistem, menjelaskan tentang batasan masalah, fungsi-fungsi yang ada didalam sistem dan menentukan spesifikasi kebutuhan sistem.
2.9.3 Perancangan (Design) Tahap yang menjelaskan setiap bagian-bagian spesifikasi sistem kedalam modul-modul perancangan yang lebih detail sehingga menghasilkan struktur data, arsitektur perangkat lunak, prosedur-prosedur dan rancangan user interface.
2.9.4
Pengkodean (Coding) Perancangan perangkat lunak diwujudkan kedalam penulisan program
atau prosedur-prosedur program yang dimengerti mesin komputer dengan bantuan bahasa pemrograman.
2.9.5 Pengujian (Testing) Pada tugas akhir pengujian yang dilakukan dengan memasukkan nilai certainty factor kemudian akan dihitung secara manual apakah hasil perhitungan yang diperoleh sama dengan hasil perhitungan sistem.
2.10
Alat Bantu Pemodelan Sistem Alat bantu (tools) digunakan untuk memahami dan menggambarkan
keadaan sistem dengan sederhana sehingga lebih mudah dipahami. Dengan menggunakan tools tersebut sistem dapat dibagi-bagi menjadi modul-modul sederhana. Dengan demikian setiap permasalahan dalam modul mudah menganalisanya,
merancang
dan
mengimplementasikannya.
digunakan pada penulisan tugas akhir ini adalah: 1. Diagram Konteks Data (Data Contex Diagram) 2. Diagram Alir Data (Data Flow Diagram) 3. Spesifikasi Proses (Proses Spesification) 4. Kamus Data (Data Dictionary)
Tools
yang
II-19
2.10.1 Diagram Konteks Data (Data Contex Diagram) Diagram konteks adalah diagram yang menggambarkan batasan sistem. Diagram ini menunjukkan hubungan interaksi sistem dengan entitas-entitas luar (terminator) secara umum berserta data yang mengalir dalam hubungan tersebut sehingga
batasan
sistem
terlihat
jelas.
Diagram
konteks
tidak
perlu
menggambarkan hubungan antar entitas luar. Diagram konteks disebut juga DFD level 0 (level tertinggi didalam sistem). Diagram konteks sering menggunakan simbol seperti: Tabel 2.4 Simbol Diagram Konteks Data (DCD) Simbol Keterangan Sistem yang dibahas Entitas luar (terminator) Data yang mengalir
2.10.2 Diagram Alir Data (Data Flow Diagram) Diagram alir data atau Data Flow Diagram (DFD) adalah grafik yang merepresentasikan sistem dengan aliran data antar proses, entitas luar dan media penyimpanan data tersebut. Sebagai perangkat analisis, tools ini hanya mampu menggambarkan sistem dari sudut pandang fungsi saja. Penggambaran DFD dibuat bertingkat-tingkat. Tingkatan tertinggi adalah tingkat 0 (atau disebut juga Diagram Konteks), dimana hanya terdapat satu proses saja. Banyaknya tingkatan tergantung pada proses yang ada. Jika proses masih bisa dipecah maka perlu dibuat tingkatan yang baru. Simbol yang digunakan dalam membangun DFD ini adalah: Tabel 2.5 Simbol Diagram Aliran Data (DFD) Simbol Keterangan Proses atau sub-sub proses Entitas luar (terminator) Data yang mengalir Relasi
II-20
Menyimpan data hasil proses
2.10.3 Spesifikasi Proses (Process Specification) Spesifikasi proses adalah katalog fakta yang menerangkan semua proses yang terdapat pada tingkat yang paling rendah didalam diagram aliran data. Pada umumnya informasi yang terdapat pada spesifikasi proses adalah: nomor proses, nama proses, deskripsi proses, dan logika proses atau dapat juga dibuat berupa deskriptif (penjelasan).
2.10.4 Kamus Data (Data Dictionary) Kamus data adalah daftar terorganisir dari semua elemen data yang ada pada suatu sistem dengan definisi jelas/tepat, sehingga user dan analisis sistem bisa mendapat kesepahaman dari input, output dan komponen-komponen lainnya. Kamus data berisi informasi nama data, deskripsi data dan struktur data.
2.11
Pemrograman Microsoft Visual Studio 2008 Microsoft Visual Studio 2008 merupakan suatu bahasa pemrograman yang
memberikan berbagai fasilitas pembuatan aplikasi visual. Keunggulan bahasa pemrograman ini terletak pada produktivitas, kualitas, pengembangan perangkat lunak, kecepatan kompilasi, pola desain yang menarik serta diperkuat dengan pemrogramannya yang terstruktur. Keunggulan lain dari Microsoft Visual Studio 2008 ini adalah dapat digunakan untuk merancang program aplikasi yang memiliki tampilan seperti program aplikasi lain yang berbasis Windows. Khusus untuk pemrograman database, Microsoft Visual Studio 2008 menyediakan fasilitas objek yang kuat dan lengkap yang memudahkan programmer dalam membuat program. Bentuk database yang dimiliki Microsoft Visual Studio 2008 adalah bentuk database Paradox, dBase, MS.Access, ODBC, Fox Pro, Excel dan lain-lain. Lingkungan
pengembangan
terpadu
atau
Integrated
Development
Environment (IDE) dalam program Microsoft Visual Studio 2008 terbagi menjadi empat bagian yaitu :
II-21
a. Form Perantara Pemakai Dalam Microsoft Visual Studio 2008, form adalah sebuah jendela yang dapat diatur untuk membuat perantara pemakai dari program. Dalam program Step up, form adalah jendela yang dilihat pada saat bekerja. Sebuah form dapat berisi menu, tombol, kotak daftar, baris penggulung, dan item lainnya yang ada pada program bebasis window pada umumnya. b. Toolbox Untuk menambahkan elemen-elemen perantara pemakai program ke sebuah form memakai alat Bantu tool, atau kontrol, dalam toolbox, yang umumnya terletak di sebelah kiri layar. Setelah kontrol ditambahkan ke sebuah form, kontrol ini menjadi sebuah objek, atau elemen perantara pemakai yang dapat di program, dalam program tersebut. Toolbox berisi kontrol-kontrol yang dapat kita pakai untuk menambah artwork, label, tombol-tombol, kotak daftar, baris penggulung, kisi-kisi, menu, dan bentuk-bentuk geometric ke perantara pemakai. Elemen-elemen ini akan terlihat ketika program dijalankan. Toolbox juga berisi objek-objek yang melaksanakan operasi khusus ”dibelakang layar” objek ini tidak akan terlihat meskipun program sudah dijalankan. c. Jendela Properties Memungkinkan untuk mengubah karakteristik, atau pengaturan property, dari elemen-elemen perantara pemakai pada sebuah form. Pengaturan properties adalah kualitas salah satu objek dalam perantara pemakai. Jendela properties berisi sebuah kotak daftar objek, yang mendaftarkan semua elemen perantarapemakai (objek) yang ada pada form. Jendela properties juga mendaftarkan peraturan property yang dapat diubah untuk setiap objek. d. Jendela Project Program Microsoft Visual Studio 2008 tersusun dari beberapa file yang dirangkai bersama, atau di kompilasi, jika program telah lengkap. Jendela project berfungsi untuk membantu perpindahan antar komponen saat mengerjakan program dalam lingkungan pemprograman. Kode-kode program yang akan diletakkan pada objek yang akan menggunakan kode tersebut pada setiap kejadian yang kita inginkan. Kode
II-22
tersebut akan dijalankan setiap terjadi sesuatu atas objek tersebut selama Running Time. Setiap kejadian yang terjadi atas objek tersebut selanjutnya disebut Event Handler. Setiap aplikasi Windows selalu digerakkan oleh pesan (message). Pesan ini dikirimkan oleh Windows ke aplikasi dan aplikasi memberikan respon karena pesan yang diterimanya. Cara ini merupakan teknik yang dilakukan oleh Windows untuk implementasi aplikasi-aplikasi yang berada dalam lingkungannya, terutama untuk manajemen sistem supaya beberapa program dapat dijalankan pada saat yang bersamaan (multitasking).