BAB II LANDASAN TEORI
II.1.
Sistem Pakar Sistem pakar (expert system) adalah salah satu teknik kecerdasan buatan
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, masyarakat awam pun dapat menyelesaikan masalah 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: 109). Ada beberapa definisi tentang sistem pakar antara lain : a.
Menurut Durkin Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan seorang pakar.
b.
Menurut Ignizio Sistem pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar.
12
13
c.
Menurut Giarratano dan Riley Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.
II.1.1.
Konsep Dasar Sistem Pakar Menurut Efraim Turban, 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 atau pengalaman. Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan, menyusun kembali pengetahuan jika diapandang perlu, memecahkan aturan- aturan jika dibutuhkan, dan menetukan relevan tidaknya keahlian mereka. Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan 4 aktivitas yaitu : tambahan pengetahuan (dari para ahli atau sumber- sumber lainnya), represetasi pengetahuan (komputer), inferensi pengetahuan dan pengalihan pengetahuan ke user. Pengetahuan yang disimpan di komputer disebut 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 menanalar. 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. Proses
14
inferensi ini dikemas dalam bentuk inferensi (inference engine). Sebagian besar sistem pakar komersial dibuat dalam bentuk rule based systems, yang nama pengetahuan disimpan dalam bentuk aturan- aturan. Aturan tersebut biasanya berbentuk IF-THEN (Sri Kusumadewi; 2003: 109).
II.1.2.
Struktur Sistem Pakar Sistem pakar terdiri dari dua bagian pokok, yaitu lingkungan
pengembangan
(development
environtment)
dan
lingkungan
konsultasi
(consultation environtment). Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari segi pembangunan komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan oleh seseorang yang bukan ahli untuk berkonsultasi. Komponen-komponen sistem pakar dalam kedua bagian tersebut terlihat dalam gambar II.1 :
15
Gambar II.1 : Struktur Sistem Pakar Sumber : (Sri Kusumadewi; 2003: 114)
Keterangan : 1.
Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan pengetahuan, mengkonstruksi atau memperluas pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari: ahli, buku, basisdata, penelitian, dan gambar.
2.
Basis pengetahuan. Berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah.
16
3.
Motor inferensi (inference engine). Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasi-informasi dalam basis pengetahuan dan blackboard, serta digunakan untuk memformulasi konklusi. Ada 3 elemen utama dalam motor inferensi yaitu: a. Interpreter : mengeksekusi item-item agenda yang terpilih dengan menggunakan aturan-aturan dalam basis pengetahuan yang sesuai. b. Scheduler : akan mengontrol agenda. c. Consistency enforcer: akan berusaha memelihara kekonsistenan dalam merepresentasikan solusi yang bersifat darurat.
4.
Blackboard. Merupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada 3 tipe keputusan yang dapat direkam, yaitu : a. Rencana
: bagaimana menghadapi masalah.
b. Agenda
: aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi.
c. Solusi
: calon aksi yang akan dibangkitkan.
5.
Antarmuka. Digunakan untuk media komunikasi antara user dan program.
6.
Subsistem penjelasan. Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan: a. Mengapa suatu pertanyaan ditanyakan oleh sistem pakar? b. Bagaimana konklusi dicapai? c. Mengapa ada alternatif yang dibatalkan?
17
d. Rencana apa yang digunakan untuk mendapatkan solusi? 7.
Sistem penyaring pengetahuan. Sistem ini digunakan untuk mengevaluasi kinerja sistem pakar itu sendiri untuk melihat apakah pengetahuanpengetahuan yang ada masih cocok untuk digunakan di masa mendatang.
II.1.3.
Ciri – Ciri Sistem Pakar Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :
1. Memiliki fasilitas informasi yang handal. 2. Mudah dimodifikasi 3. Dapat digunakan dalam berbagai jenis komputer. 4. Memiliki kemampuan untuk belajar beradaptasi.
II.2.
Bakteri E.Coli Serotipe-serotipe tertentu dari Escherichia coli dapat menyebabkan
penyakit diare pada bayi. Ada jenis E.coli yang dapat bergerak dan ada yang tidak dapat bergerak. Umumnya E.coli tidak menyebabkan hemolisa pada lempeng agar darah. E.coli dapat menyebabkan pelbagai penyakit pada manusia (Gerard Bonang dan Enggar S. Koeswardono; 1982: 113), yaitu : - Penyakit yang kadang-kadang dapat menjadi fatal seperti sistitis, pielitis, pielonefritis, appendicitis, peritonitis, infeksi kandung empedu, septisemia, meningitis, dan endokarditis. - “Epidemic Diarrhea” pada bayi dan neonates. - “Summer Diarrhea ”.
18
II.3.
Teorema Bayes Probabilitas Bayes merupakan salah satu cara untuk mengatasi
ketidakpastian data dengan menggunakan formula Bayes yang dinyatakan dalam rumus sebagai berikut (Sri Kusumadewi; 2003: 92):
…………………… ………………[1]
Keterangan : P(H | E) : probabilitas hipotesis H jika diberikan evidence E P(E | H) : probabilitas munculnya evidence apapun P(E)
: probabilitas evidence E
P(H)
: probabilitas hipotesa H Dalam bidang kedokteran teorema Bayes sudah dikenal tapi teorema ini
lebih banyak diterapkan dalam logika kedokteran modern. Teorema ini lebih banyak diterapkan pada hal-hal yang berkenaan dengan probabilitas serta kemungkinan dari penyakit dan gejala-gejala yang berkaitan.
II.4.
Basis Data Beberapa defenisi basis data dari para pakar dibidangnya, antara lain : 1. Database adalah sekumpulan data store (bisa dalam jumlah yang sangat besar) yang tersimpan dalam magnetic disk, optical disk, magnetic drum atau media penyimpanan sekunder lainnya.
19
2. Database adalah sekumpulan program-program aplikasi umum yang bersifat “batch” yang mengeksekusi dan memroses data secara umum (seperti: pencarian, peremajaan, penambahan, dan penghapusan terhadap data). 3. Database terdiri dari data yang akan digunakan atau diperuntukkan terhadap
banyak
„user‟,
dimana
masing-masing
„user‟
(baik
menggunakan teknik pemrosesan yang bersifat batch atau on-line) akan menggunakan data tersebut sesuai dengan tugas dan fungsinya, dan „user‟ lain dapat juga menggunakan data tersebut dalam waktu yang bersamaan. 4. Database adalah koleksi terpadu dari data-data yang saling berkaitan dari suatu enterprise (perusahaan, instansi pemerintah, atau swasta). Sebagai ilustrasi: a. Database perusahaan manufaktur akan terdiri dari data perencanaan produksi, data warehouse, data produksi aktual, data kualitas produksi, data pemesanan material, data pengiriman hasil produksi, dll. b. Database rumah sakit akan terdiri dari data-data pasien, karyawan, dokter dan perawat. c. Database universitas akan terdiri dari data-data mahasiswa, dosen, karyawan dan alumni (Al-Bahra Bin Ladjamuddin B; 2004: 3).
20
II.4.1.
Arsitektur Basis Data Arsitektur basis data terbagi menjadi 3 tingkatan(Al-Bahra Bin
Ladjamuddin B; 2004: 37): a. Internal level
:
Level
ini
penyimpanan
menerangkan basis
data
struktur
secara
fisik
pada sistem computer dan organisasi file yang digunakan dalam menyimpan dan mengakses basis data. b. Konseptual level
:
Level ini menerangkan secara menyeluruh tampilan komunitas dari basis data. Pada tingkatan ini digambarkan data apa yang disimpan dalam basis data dan kardinalitas relasi dari data tersebut.
c. Eksternal level sekelompok
:
Menerangkan view (tampilan) basis data dari pemakai.
Pada
tingkatan
ini
digambarkan sebagian basis data yang relevan dengan kebutuhan pemakai (user).
II.5.
ERD (Entity Relationship Diagram) ERD adalah suatu model jaringan yang menggunakan susunan data
yang disimpan dalam sistem secara abstrak. Biasanya ERD ini digunakan oleh professional sistem untuk berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam suatu organisasi (seperti wakil presiden direktur dan manajer yang tidak
21
tertarik pada pelaksanaan operasi-operasi sistem sehari-hari). Pemakai ini lebih tertarik dengan hal-hal sebagi berikut :
Data apa saja yang dibutuhkan untuk bisnis mereka?
Bagaimana data tersebut berelasi dengan data lainnya?
Siapa saja yang diperkenankan untuk mengakses data tersebut? Diagram hubungan entitas atau yang lebih dikenal dengan sebutan ER
Diagram, adalah notasi grafik dari sebuah model data atau sebuah model jaringan yang menjelaskan tentang data yang tersimpan (storage data) dalam sistem secara abstrak (Al-Bahra Bin Ladjamuddin B; 2004: 123-124).
II.6.
Normalisasi Ketika merancang suatu basis data untuk suatu sistem relasional,
prioritas utama dalam mengembangkan model data logical adalah dengan merancang suatu representasi data yang tepat bagi relationship dan constrainnya (batasannya). Teknik yang dapat digunakan untuk membantu mengidentifikasi relasi-relasi tersebut dinamakan Normalisasi. Proses normalisasi pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. Normalisasi sering dilakukan sebagai suatu uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi tersebut sudah baik atau masih melanggar aturan-aturan standar yang diberlakukan pada suatu relasi yang normal (sudah dapat dilakukan proses insert, update, delete, dan modify pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut).
22
Proses normalisasi merupakan metode yang formal/ standard dalam mengidentifikasi dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan dependensi fungsional diantara atribut-atribut dari relasi tersebut.
Normalisasi
akan
membantu
perancangan
basis
data
dengan
menyediakan suatu uji coba yang berurut yang dapat diimplementasikan pada hubungan individual sehinggga skema relasi dapat dinormalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjandinya error atau inkonsistensi data, bila dilakukan update terhadap relasi tersebut dengan Anomaly (Al-Bahra Bin Ladjamuddin B; 2004: 173-174).
II.7.
MySQL MySQL atau dibaca “My Sekuel” adalah suatu RDBMS (Relational
Database Management System) yaitu aplikasi sistem yang menjalankan fungsi pengolahan data. MySQL pertama dikembangkan oleh MySQL AB yang kemudian diakuisisi Sun Microsystem dan terakhir dikelola oleh Oracle Coorporation (Alexander F.K. Sibero;2013;97).
II.8.
PHP Pada tahun 1994 seorang programmer bernama Rasmus Lerdorf
awalnya membuat sebuah halaman website pribadi, tujuannya adalah untuk mempertahankan halaman website pribadi tersebut sekaligus membangun halaman web yang dinamis. PHP pada awalnya diperkenalkan sebagai singkatan dari Personal Home Page. PHP pertama ditulis dengan bahasa Perl (Perl Script),
23
kemudian ditulis ulang menggunakan bahasa pemrograman C CGI-BIN (Common Gateway Interface-Binary) yang ditujukan untuk mengembangkan halaman website yang mendukung formulir dan penyimpanan data. Pada tahun 1995 PHP Tool 1.0 dirilis untuk umum, kemudian pengembangannya dilanjutkan oleh Andi Gutmans dan Zeev Suraski. Perusahaan bernama Zend kemudian melanjutkan pengembangan PHP dan merilis PHP versi 5 terakhir pada saat ini. PHP adalah pemrograman interpreter yaitu proses penerjemahan baris kode sumber menjadi kode mesin yang dimengerti komputer secara langsung pada saat baris kode dijalankan. PHP disebut sebagai pemrograman Server Side Programming, hal ini dikarenakan seluruh prosesnya dijalankan pada server. PHP adalah suatu bahasa dengan hak cipta terbuka atau juga dikenal dengan istilah Open Source, yaitu pengguna dapat mengembangkan kode-kode fungsi PHP sesuai dengan kebutuhannya. Pemrograman PHP dapat ditulis dalam dua bentuk yaitu penulisan baris kode PHP pada file tunggal dan penulisan kode PHP pada halaman html (embedded). Kedua cara penulisan tersebut tidak memiliki perbedaan, hanya menjadi
kebiasaan
gaya
penulisan
dari
programmer
(Alexander
F.K.
Sibero;2013;49). II.9.
Adobe Dreamweaver Adobe Dreamweaver adalah suatu produk Web Developer yang
dikembangkan oleh Adobe Systems Inc., sebelum produk Dreamweaver dikembangkan oleh Macromedia Inc. Setelah diambil alih oleh Adobe Systems
24
Inc., Dreamweaver dikembangkan dan dirilis dengan kode nama Creative Suit (CS) (Alexander F.K. Sibero;2013:384).
II.10.
UML (Unified Modelling Language) UML (Unified Modelling Language) adalah salah satu alat bantu yang
sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual
yang
memugkinkan bagi pengembang sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengomunikasikan rancangan mereka dengan yang lain (Munawar; 2005; 17).