bab 2 tinjauan pustaka sistem pakar penyakit kucing
DESCRIPTION
BAB II Tinjauan PustakaPengertian Sistem Pakar dan penyakit kucing dengan menggunakan metode Case Based Reasoning (CBR)TRANSCRIPT
BAB II
TINJAUAN PUSTAKA
2.1 Sistem Pendukung Keputusan
2.1.1 Struktur Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan
(development environment) dan lingkungan konsultasi (consultation environment).
Lingkungan pengembangan sistem pakar digunakan oleh pembangun sistem pakar
(ES builder) untuk membangun komponen dan untuk memasukan pengetahuan pakar
ke dalam lingkungan sistem pakar (basis pengetahuan). Sedangkan lingkungan
konsultasi digunakan oleh pengguna yang bukan pakar (nonexpert) guna memperoleh
pengetahuan dan saran setara pakar.
Dibawah ini merupakan gambar dari struktur sistem pakar menurut Turban.
Gambar 2.1 Struktur Sistem Pakar
4
5
Penjelasan :
1. Antar muka (user interface)
Merupakan interaksi antara pengguna dengan sistem pakar
2. Basis pengetahuan
Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian masalah
dalam domain tertentu. Dua jenis basis pengetahuan adalah fakta (yaitu situasi
dan teori) dan rule (heuristics atau aturan-aturan)
3. Akuisisi pengetahuan (knowledge acquisition)
Pemindahan kemampuan menyelesaikan masalah dari sumber pengetahuan ke
basis pengetahuan
4. Mesin inferensi
Merupakan metodologi penalaran informasi dalam basis pengetahuan dan
workplace untuk membuat kesimpulan
5. Workplace
Merupakan tempat penyimpanan hasil-hasil antara dan kesimpulan yang dicapai
6. Fasilitas penjelasan
Komponen tambahan yang akan meningkatkan kemampuan sistem pakar
7. Perbaikan pengetahuan
Perubahan oleh pakar apabila terdapat kesalahan
2.2 Case Based Reasoning
Cased Based Reasoning adalah pendekatan untuk membangun sistem pakar
dengan mengakses solusi yang pernah ada (disebut kasus) agar dapat mengambil
kesimpulan dari masalah-masalah yang akan datang. Cased Based Reasoning
melibatkan pertimbangan tentang kasus dalam jumlah besar dan bagaimana solusi
sebelumnya dapat diadaptasikan dari permasalahan baru atau bagaimana solusi
sebelumnya dapat dihubungkan dengan kasus-kasus baru.
6
2.2.1 Komponen Cased Based ReasoningKomponen penting yang terdapat dalam Cased Based Reasoning antara lain :
1. Basis Pengetahuan (Knowledge Base)
Basis Pengetahuan adalah kumpulan dari domain pengetahuan yang berisi
semua informasi tentang sesuatu objek yang berupa fakta (data) dan aturan
tersebut digunakan sebagai dasar untuk pengambilan keputusan. Basis
pengetahuan dapat berupa suatu aturan yang diperoleh dari pengamalan atau
dari seorang pakar pada bidang keahlian tertentu.
2. Basis data (data base)
Basis data adalah bagian yang mengandung semua fakta-fakta baik fakta
awal pada saat sistem mulai beroperasi namun fakta-fakta yang didapatkan
pada saat pengambilan kesimpulan sedang dilaksanakan. Dalam prakteknya,
basis data berada di dalam memori komputer. Kebanyakan aplikasi
mengandung basis data untuk menyimpan data hasil observasi dan data
lainnya yang dibutuhkan selama pengolahan.
3. Basis kasus (case base)
Basis kasus merupakan sebuah ruang penyimpanan yang digunakan untuk
menyimpan kasus-kasus yang telah ada sebelumnya, sebagai pertimbangan
untuk menyelesaikan kasus yang akan datang.
4. Antar muka pemakai (user interface)
Antar muka pemakai merupakan perangkat lunak yang menyediakan
sarana-sarana untuk pemakai agar dapat berkomunikasi dengan sistem. Antar
muka pemakai akan mengajukan pertanyaan dalam bentuk pilihan dan sistem
akan mengambil kesimpulan berdasarkan jawaban tersebut.
7
5. Akuisisi pengetahuan (knowledge acquisition)
Beberapa teknik yang dilakukan dalam melaksanakan akuisisi
pengetahuan adalah :
Wawancara, yaitu knowledge engineer menjelaskan masalah dan konselor
(pakar) menjelaskan proses penyelesaian masalah.
Diskusi masalah, yaitu knowledge engineer menggali data, pengetahuan
dan prosedur yang dibutuhkan untuk menyelesaikan masalah dari
konselor.
Deskripsi masalah, yaitu konselor mendeskripsikan solusi pada setiap
kategori masalah dalam domain permasalahannya.
Analisa permasalahan, yaitu dengan memberikan beberapa persoalan pada
konselor untuk menyelesaikan rangkaian penalarannya.
2.2.2 Siklus Cased Based ReasoningSecara umum terdapat level pada siklus CBR yang dapat digambarkan sebagai
berikut:
1. Retrieve (memperoleh kembali) kasus-kasus yang paling mirip.
Dimulai dengan pendeskripsian satu atau sebagian masalah dan berakhir
apabila telah ditemukan kasus sebelumnya yang paling cocok. Sub task
mengacu pada identifier fitur, pencocokan awal, pencarian dan pemilihan.
2. Reuse ( menggunakan) informasi dan pengetahuan dari kasus tersebut untuk
memecahkan pemasukan.
Proses reuse dari solusi kasus di peroleh dalam konteks kasus baru di
fokuskan pada 2 aspek yaitu :
1. Perbedaan antara kasus yang sebelumnya dan yang sekarang.
2. Bagian apa dari kasus yang telah diperoleh yang dapat ditransfer menjadi
kasus baru.
8
3. Revise (meninjau kembali atau memperbaiki ) usulan solusi
Fase ini terdiri dari 2 tugas yaitu :
1. Mengevalasi solusi kasus yang dihasilkan oleh proses reuse. Jika berhasil
maka dilanjutkan dengan proses retain
2. Jika tidak maka memperbaiki solusi kasus menggunakan domain spesifik
pengetahuan
4. Retain ( menyimpan) bagian-bagian dari pengalaman tersebut yang mungkin
berguna untuk memecahkan masalah di masa-masa yang akan datang.
Proses ini terdiri dari memilih informasi apa dari kasus yang akan disimpan.
Disimpan dalam bentuk apa, cara menyusun kasus agar mudah untuk
menentukan masalah yang mirip, dan bagaimanan mengintegrasikan kasus
baru pada struktur memori.
Gambar. 2.1 Siklus CBR
Pada saat terjadi permasalahan baru, pertama-tama sistem akan melakukan
proses Retrieve. Proses Retrieve akan melakukan dua langkah pemrosesan, yaitu
pengenalan masalah dan pencarian persamaan masalah pada database. Setelah proses
9
Retrieve selesai dilakukan, selanjutnya sistem akan melakukan proses Reuse. Di
dalam proses Reuse, sistem akan menggunakan informasi permasalahan sebelumnya
yang memiliki kesamaan untuk menyelesaikan permasalahan yang baru. Pada proses
Reuse akan menyalin, menyeleksi, dan melengkapi informasi yang akan digunakan.
Selanjutnya pada proses Revise, informasi tersebut akan dikalkulasi, dievaluasi, dan
diperbaiki kembali untuk mengatasi kesalahan-kesalahan yang terjadi pada
permasalahan baru. Pada proses terakhir, sistem akan melakukan proses Retain.
Proses Retain akan mengindeks,mengintegrasi, dan mengekstrak solusi yang baru.
Selanjutnya, solusi baru itu akan disimpan ke dalam knowledge-base untuk
menyelesaikan permasalahan yang akan datang. Tentunya, permasalahan yang akan
diselesaikan adalah permasalahan yang memiliki kesamaan dengannya.
2.3 Penerapan Algoritma Nearest Neighbor Retrieval Pada Metode Case Based
Reasoning
Algoritma Nearest Neighbor Retrieval (k-nearest neighbor atau k-NN) adalah
sebuah algoritma untuk melakukan klasifikasi terhadap objek berdasarkan data
pembelajaran yang jaraknya paling dekat dengan objek tersebut. Kasus khusus di
mana klasifikasi diprediksikan berdasarkan data pembelajaran yang paling dekat
(dengan kata lain, k = 1) disebut algoritma nearest neighbor.
Algoritma nearest neighbor berdasarkan pada proses pembelajaran
menggunakan analogi / learning by analogi. Training sampelnya dideskripsikan
dalam bentuk atribut numerik n-dimensi. Tiap sampel mewakili titik pda ruang n-
dimensi. Dengan cara ini, semua training sampel disimpan pada pola ruang n-
dimensi. Ketika diberikan “unknown” sampel, k-nearest neighbor classifier mencari
pola ruang K training sampel yang paling dekat dengan “unknown” sampel tersebut.
K training sampel ini adalah k nearest neighbor dari unknown sampel. Unknown
sampel ditetapkan dengan class yang paling umum diantara k nearest neighborsnya.
Ketika k = 1, unknown sampel ditetapkan dengan class dari training sampel yang
paling dekat dengan pola ruangnya.
10
Algoritma nearest neighbor retrieval menyimpan semua training sampel dan
tidak membangun classifier sampai sampel baru (unlabeled) perlu diklasifikasikan,
sehingga algoritma nearest neighbor retrieval sering disebut dengan instance-based
atau lazy learners.
Rumus untuk menghitung bobot kemiripan (similarity) dengan nearest
neighbor retrieval adalah:
Similarity (problem,case) = s1*w1+ s2*w2+ …… + sn*wn w1 + w2 + …… + wn
Keterangan:
S = similiarity (nilai kemiripan)
W = weight (nilai bobot yang diberikan)
2.4 Alat Perancangan Sistem
2.4.1 UML
Menurut Nugroho (2005), UML (Unified Modeling Language) adalah
bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma
berorientasi objek. Pemodelan (modeling) sesungguhnya digunakan untuk
penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa
sehingga lebih mudah dipelajari dan dipahami.
Menurut Nugroho (2009), “UML (Unified Modeling Language) adalah
Metodologi kolaborasi antara metoda-metoda Booch, OMT (Object Modeling
Technique), serta OOSE (object Oriented Software Enggineering) dan beberapa
metoda lainnya, merupakan metodologi yang paling sering digunakan saat ini
untuk analisa dan perancangan sistem dengan metodologi berorientasi objek
mengadaptasi maraknya penggunaan bahasa “pemrograman berorientasi objek”
(OOP)”.
Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan
bahwa “Unified Modelling Language (UML) adalah sebuah bahasa yang
berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan,
11
membangun dan pendokumentasian dari sebuah sistem pengembangan
perangkat lunak berbasis Objek (Object Oriented programming)”. Diagram
UML antara lain:
1. Use case diagram
Gambar 2.2 Simbol-Simbol Use Case Diagram
2. Activity Diagram
Gambar 2.3 Simbol-Simbol Activity Diagram
3. Sequence Diagram
12
Gambar 2.4 Simbol-Simbol Sequence Diagram
2.4.2 Data Flow Diagram (DFD)
Pengertian Data Flow Diagram (DFD) menurut Hartono (2005) adalah
diagram yang menggunakan notasi symbol untuk menggambarkan arus data
system. DFD sering digunakan untuk menggambarkan suatu sistem yang telah
ada atau sistem yang baru yang akan dikembangkan secara logika dan
menjelaskan arus data dari mulai pemasukan sampai dengan keluaran data
tingkatan diagram arus data mulai dari diagram konteks yang menjelaskan
secara umum suatu sistem atau batasan sistem dari level 0 dikembangkan
menjadi level 1 sampai sistem tergambarkan secara terperinci.
13
Tabel 2.1 Simbol – Simbol DFD
SimbolNama
SimbolKeterangan
External
Entity
Kesatuan lingkungan luar sistem yang
memberikan input atau output dari sistem
Arus DataArus data yang dapat berupa masukan
untuk system atau hasil dari proses sistem
Proses
Kegiatan yang dilakukan oleh orang,
mesin atau komputer dari hasil suatu
proses arus data yang akan keluar dari
proses
Data StoreMenunjukan media tempat penyimpanan
data
2.4.3 Flow Chart
Menurut Sutedjo (2002) flowchart merupakan metode untuk
menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan
symbol-simbol tertentu yang mudah dimengerti, mudah digunakan dan standar.
Tujuan utama penggunaan flowchart adalah untuk menggambarkan suatu tahap
penyelesaian masalah secara sederhana, terurai, rapi, dan jelas dengan
menggunakan symbol-simbol yang standar.
14
Tabel 2.2 Simbol-Simbol Flow Chart
Gambar Simbol untuk Keterangan
Proses /
LangkahMenyatakan kegiatan yang akan ditampilkan dalam diagram alir.
Titik
Keputusan
Proses / Langkah dimana perlu adanya keputusan atau adanya
kondisi tertentu. Di titik ini selalu ada dua keluaran untuk
melanjutkan aliran kondisi yang berbeda.
Masukan /
Keluaran DataDigunakan untuk mewakili data masuk, atau data keluar.
Terminasi Menunjukkan awal atau akhir sebuah proses.
Garis alir Menunjukkan arah aliran proses atau algoritma.
Kontrol /
Inspeksi
Menunjukkan proses / langkah dimana ada inspeksi atau
pengontrolan.
2.5 Alat Pengembang Sistem
15
2.5.1 HTML
Menurut Nugroho (2004) HTML adalah Hyper Text Markup Language
yang merupakan sebuah bahasa scripting berguna untuk menuliskan halaman
web. Pada web, HTML dijadikan sebagai Bahasa Script dasar yang berjalan
bersama berbagai bahasa scripting pemrograman lainnya. Semua tag-tag HTML
bersifat dinamis artinya kode HTML tidak dapat dijadikan sebagai file
executable program.
2.5.2 PHP
Menurut Swastika (2006) PHP merupakan bahasa berbentuk skrip yang
ditempatkan dalam server dan diproses di server. Hasilnya akan dikirim ke
client, tempat user menggunakan browser. PHP dikenal sebagai sebuah bahasa
scripting, yang menyatu dengan tag-tag HTML, dieksekusi di server, dan
digunakan untuk membuat halaman web yang dinamis.
2.6.3 Notepad++
Notepad++ adalah sebuah penyunting teks dan penyunting kode
sumber yang berjalan di sistem operasi Windows. Notepad ++ menggunakan
komponen Scintilla untuk dapat menampilkan dan menyintingkan tells dan
berkas kode sumber berbagai bahasa pemrograman, salah satunya PHP.
Notepad ++ ini juga mempunyai fitur yang sangat memudahkan kita
membedakan alur syntax yaitu fitur highlighting. Fitur ini akan menandai
sintaks dan variable yang digunakan dalam source code. Lainnya, tersedia fitur
tab yang dapat membantu anda mengelola beberapa kode dalam waktu
bersamaan.
2.6.4 MySQL
16
MySQL merupakan salah satu software database (basis data) open
source yang dikembangkan sebuah komunitas bernama MySQL AB dengan
tujuan membantu user untuk menyimpan data dalam tabel-tabel. Tabel terdiri
atas field (kolom) yang mengelompokkan data-data berdasarkan kategori
tertentu, misalnya nama, alamat, nomor telepon, dan sebagainya. Bagian lain
dari tabel adalah record (baris) yang mencantumkan data sebenarnya. Terdapat
empat instruksi dasar yang digunakan dalam sql (structured query language),
yaitu :
a. select (menampilkan data)
b. insert (menginput atau menambah data)
c. update (mengubah data)
d. delete (menghapus data) dalam database.
2.6.5 XAMPP
XAMPP adalah aplikasi web server instan yang dibutuhkan untuk
membangun aplikasi berbasis web. Fungsi XAMPP adalah sebagai server yang
berdiri sendiri (localhost), yang terdiri atas program Apache, Http server,
MySQL, database, dan penterjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl.
Nama XAMPP merupakan singkatan dari X (X=Cross Platform),
Apache, MySQL, Php, dan Perl. Program ini tersedia dalam lisensi GNU
(General Public License) dan gratis. Dengan menginstal XAMPP, kita tidak
perlu menginstal aplikasi server satu persatu, karena di dalam XAMPP sudah
terdapat :
a) Apache
b) MySQL
c) PHP
d) PHPMyAdmin
e) Perl
17
f) Filezilla FTP Server
g) Mercury Mail Transport System
2.6.6 Apache
Banyak pendapat yang mengemukakan pengertian dari Apache,
menurut pendapat Sukarno (2006) mengemukakan Apache merupakan web
server yang digunakan dalam pemrogramman web berbasis server.
Adapun pertimbangan memilih Apache adalah:
1. Apache termasuk dalam kategori free software
2. Instalasi Apache sangat mudah
3. Mampu beroperasi pda banyak platform
4. Apache mudah dalam penambahan peripheral lainnya ke dalam platform
web server