bab ii
DESCRIPTION
contohTRANSCRIPT
BAB II
LANDASAN TEORI
2.1 Kecerdasan Buatan (Artificial Intelligence)
Perkembangan kecerdasan buatan (artificial intelligence) merupakan terobosan baru
dalam dunia komputer. Kecerdasan buatan (artificial intelligence) berkembang setelah
perusahaan General Electric menggunakan komputer pertama kali di bidang bisnis. Pada
tahun 1956, istilah kecerdasan buatan (artificial intelligence) mulai dipopulerkan oleh John
McCharty sebagai salah satu tema ilmiah di bidang komputer yang diadakan di Darmouth
Collage.
2.1.1 Definisi Kecerdasan Buatan
Ada beragam definisi tentang kecerdasan buatan (artificial intelligence, atau disingkat
AI), sebagaimana diperlihatkan pada Tabel 2.1 (Kadir dan Triwahyuni, 2005: 326).
Tabel 2.1 Berbagai Definisi Kecerdasan Buatan (artificial intelligence).
Sumber Definisi
Scalkhoff
(1990)
AI adalah bidang studi yang berusaha menerangkan dan meniru
perilaku cerdas dalam bentuk proses komputasi.
Rich and
Knight
(1991)
AI adalah studi tentang cara membuat komputer melakukan
sesuatu yang, sampai saat ini, orang dapat melakukannya dengan
baik.
Luger and
Stubblefield
(1993)
AI adalah cabang ilmu komputer yang berhubungan dengan
otomasi perilaku yang cerdas.
Haag dan
Keen (1996)
AI adalah bidang studi yang berhubungan dengan penangkapan,
pemodelan, dan penyimpanan kecerdasan manusia dalam sebuah
sistem teknologi informasi sehingga sistem tersebut dapat
memfasilitasi proses pengambilan keputusan yang biasanya
dilakukan oleh manusia.
Sumber (Kadir dan Triwahyuni, 2005: 326)
2.1.2 Sejarah Kecerdasan Buatan
Kecerdasan buatan atau artificial intelligence dimunculkan oleh seorang professor
dari Massachusetts Institute of Technolgy yang bernama John McCharty pada tahun 1956
pada Dartmouth Conference yang dihadiri oleh para peneliti AI (artificial intelligence). Pada
konferensi tersebut juga didefinisikan tujuan utama dari kecerdasan buatan, yaitu :
mengetahui dan memodelkan proses berfikir manusia dan mendesain mesin agar dapat
menirukan kelakuan manusia tersebut. (Kusumadewi, 2003: 5).
2.1.3 Tujuan Kecerdasan Buatan
Ada tiga tujuan kecerdasan buatan (Kusrini, 2006: 4), yaitu :
1. Membuat komputer lebih cerdas;
2. Membuat komputer mengerti tentang kecerdasan;
3. Membuat mesin (komputer) lebih berguna.
2.1.4 Ruang Lingkup Kecerdasan Buatan
Ruang lingkup utama dalam kecerdasan buatan (Kusumadewi, 2003: 7), adalah :
1. System pakar (Expert System). Disini komputer digunakan sebagai sarana untuk
menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki
keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki
oleh pakar.
2. Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan
bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan
menggunakan bahasa sehari-hari.
3. Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan diharapkan
manusia dapat berkomunikasi dengan komputer dengan menggunakan suara.
4. Robotika dan Sistem Sensor (Robotics and Sensory Systems).
5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau obyek-
obyek tampak melalui komputer.
6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang
dapat melatih dan mengajar.
7. Game Playing.
2.1.5 Perbandingan Antara Kecerdasan Buatan dengan Pemrograman Konvensional
Perbandingan antara kecerdasan buatan dengan pemrograman konvensional dapat
dilihat pada Tabel 2.2 (Kusumadewi, 2003: 5)
Tabel 2.2 Perbandingan Kecerdasan Buatan Vs. Pemrograman Konvensional.
Dimensi Kecerdasan BuatanPemrograman
Konvensional
PemrosesanMengandung konsep-
konsep simbolik.Algoritmik.
Sifat input Bisa tidak lengkap Harus Lengkap.
PencarianKebanyakan bersifat
heuristic
Biasanya didasarkan pada
algoritma.
Keterangan Disediakan Biasanya tidak disediakan
Fokus Pengetahuan Data dan informasi
StrukturKontrol dipisahkan dari
pengetahuan
Kontrol terintefrasi dengan
informasi (data)
Sifat Output Kuantitatif Kualitatif.
Pemeliharaan
dan UpdateRelatif mudah Sulit
Kemampuan
menalarYa Tidak
Sumber (Kusumadewi, 2003: 5)
2.2 Sistem Pakar
Sistem pakar adalah program komputer yang merupakan cabang dari penelitian ilmu
komputer yang disebut AI. Tujuan ilmu AI adalah membuat sesuatu menjadi cerdas dalam
hal pemahaman melalui program komputer yang ditunjukan dengan tingkah laku cerdas
(Desiani dan Arhami, 2006: 227).
2.2.1 Definisi Sistem Pakar
Secara umum, sistem pakar (expert system) adalah sistem yang berusaha mengadopsi
pengetahuan manusia ke komputer, agar komputer dapat meyelesaikan masalah seperti yang
biasa dilakukan oleh para ahli (Kusumadewi, 2003: 109).
Ada beberapa tentang definisi sistem pakar (Kusumadewi, 2003: 109), diantaranya:
1. Menurut Durkin: sistem pakar adalah suatu program komputer yang dirancang
untuk memodelkan kemampuan penyelesaian masalah yang dilakukan seorang
pakar;
2. 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;
3. Menurut Giarratano dan Riley: Sistem pakar adalah suatu sistem komputer yang
bisa menyamai atau meniru kemampuan seorang pakar.
Sistem pakar dibuat pada wilayah pengetahuan tertentu untuk suatu kepakaran
tertentu yang mendekati kemampuan manusia di salah satu bidang. Sistem pakar mencoba
mencari solusi yang memuaskan sebagaimana yang dilakukan seorang pakar. Selain itu
sistem pakar juga dapat memberikan penjelasan terhadap langkah yang diambil dan
memberikan alasan atas saran atau kesimpulan yang ditemukannya.
Biasanya sistem pakar hanya digunakan untuk memecahkan masalah yang memang
sulit untuk dipecahkan dengan pemrograman biasa, mengingat biaya yang diperlukan untuk
membuat sistem pakar jauh lebih besar daripada pembuatan sistem biasa (Kusrini, 2006: 12).
Gambar 2.1 Konsep Dasar Fungsi Dasar Sistem Pakar, (Arhami, 2005: 4).
Gambar 2.1 menggambarkan konsep dasar suatu sistem pakar knowledge based.
Pengguna menyampaikan fakta atau informasi untuk sistem pakar dan kemudian menerima
saran dari pakar atau jawaban ahlinya. Bagian dalam sistem pakar terdiri dari 2 komponen
utama, yaitu knowledge based yang berisi knowledge dan mesin inferensi yang
menggambarkan kesimpulan. Kesimpulan tersebut merupakan respons dari sistem pakar atas
permintaan pengguna.
2.2.2 Perbandingan Antara Sistem Pakar dengan Kemampuan Seorang Pakar
Perbandingan antara sistem pakar dengan kemampuan seorang pakar dapat dilihat
pada Tabel 2.3 (Desiani dan Arhami, 2006: 229).
Tabel 2.3 Perbandingan Sistem Pakar dengan Kemampuan Seorang Pakar.
Faktor Human Expert Expert System
Time Availability Hari Kerja Setiap saat
Geografis Local / tertentu Dimana saja
Keamanan Tidak tergantikan Dapat digantikan
Perishable / dapat habis Ya Tidak
Performansi Variable Konsisten
Kecepatan Variable Konsisten
Biaya Tinggi Terjangkau
Sumber (Desiani dan Arhami, 2006: 229).
Ada beberapa alasan mendasar mengapa sistem pakar dikembangkan untuk
menggantikan seorang pakar (Desiani dan Arhami, 2006: 231), di antaranya:
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. Seseorang pakar adalah mahal;
5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile
environtment).
2.2.3 Perbandingan antara sistem pakar dengan sistem konvensional
Perbandingan antara sistem pakar dengan sistem konvensional dapat dilihat pada
Tabel 2.4 (Arhami, 2005: 8).
Tabel 2.4 Perbandingan Antara Sistem Pakar dengan Sistem Konvensional.
Sistem Konvensional Sistem Pakar
Informasi dan Pemrosesan
umumnya digabung salam satu
program sekuensial.
Basis pengetahuan terpisah
dari mekanisme pemrosesan
(inferensi).
Program tidak pernah salah Program bisa saja melakukan
(kecuali pemrogramnya yang
salah)
kesalahan.
Tidak menjelaskan mengapa
input dibutuhkan atau
bagaimana hasil diperoleh.
Penjelasan (explanation)
merupakan bagian dari sistem
pakar.
Membutuhkan semua input
data.
Tidak harus menginputkan
semua data atau fakta.
Perubahan pada program
merepotkan.
Perubahan pada kaidah dapat
dilakukan dengan mudah.
Sistem bekerja jika sudah
lengkap.
Sistem dapat bekerja hanya
dengan kaidah yang sedikit.
Eksekusi secara algoritmik
(step by step).
Eksekusi dilakukan secara
heuristik dan logis.
Manipulasi efektif pada
database yang besar.
Manipulasi efektif pada basis
pengetahuan yang besar.
Efisiensi adalah tujuan utama. Efektifitas adalah tujuan
utama.
Data Kuantitatif. Data kualitatif.
Representasi pengetahuan
dalam numerik.
Representasi pengetahuan
dalam simbolik.
Menangkap, menambah dan
mendistribusikan data numerik
atau informasi.
Menangkap, menambah dan
mendistribusi pertimbangan
(judgment) dan pengetahuan.
Sumber (Arhami, 2005: 8).
2.2.4 Sejarah Sistem Pakar
Sistem pakar pertama kali dikembangkan oleh komunitas AI pada pertengahan tahun
1960. Sistem pakar yang pertama kali muncul adalah General Purpose Problem Solver (GPS)
yang dikembangkan oleh Newel dan Simon. GPS (dan program-program yang serupa) ini
mengalami kegagalan dikarenakan cakupannya terlalu luas sehingga terkadang justru
meninggalkan pengetahuan-pengetahuan penting yang seharusnya disediakan (Kusumadewi,
2003: 109).
Table 2.5 memperlihatkan beberapa contoh Sistem Pakar (kadir & Triwahyuni, 2005:
341).
Tabel 2.5 Berbagai Contoh Sistem Pakar.
Sistem Pakar Keterangan
BERT Merupakan sistem pakar untuk merancang bangunan.
DART / DASD Digunakan untuk mendiagnosis kerusakan komputer.
DELTA Merupakan sistem pakar untuk mendiagnosis kerusakan
mesin-mesin diesel pada General Electric
DENDRAL Sistem pakar untuk menganalisis struktur molekul suatu
senyawa kimia.
EL Merupakan sistem pakar yang dapat digunakan untuk
menganalisis rangkaian elektronika yang mengandung
transistor, diode, dan resistor.
FOLIO Merupakan sistem pakar untuk mengevaluasi investasi
saham.
HEATINGS Sistem pakar yang digunakan untuk mengendalikan
proses pembakaran batubara.
MYCIN Sistem ini dikembangkan di Universitas Standford pada
pertengahan 1970-an dengan tujuan untuk membantu juru
medis dalam mendiagnosis penyakit yang disebabkan
bakteri.
OPERA Sistem pakar ini berguna untuk mendiagnosis gangguan
pada jaringan komputer PDP 11/70.
PROSPECTOR Sistem ini diciptakan oleh Richard Duda, Peter Hard, dan
Rene Rreboh pada tahun 1978 yang menyediakan
kemampuan seperti seorang pakar di bidang geologi.
PUFF Sistem ini digunakan untuk mendiagosis gangguan paru-
paru.
REBES Sistem pakar yang membantu detektif menangani
masalah kejahatan.
SHEARER Sistem pakar untuk mendiagnosis kerusakan mesin
pemotong batubara.
XSEL Sistem pakar ini dapat bertindak sebagai asisten penjual,
yang membantu penjual komputer DEC memilihkan
pesanan pelanggan sesuai dengan kebutuhan.
Sumber (Kadir & Triwahyuni, 2005: 341).
2.2.5 Tujuan Sistem Pakar
Tujuan dari sebuah sistem pakar adalah untuk mentransfer kepakaran yang dimiliki
seorang pakar ke dalam komputer, dan kemudian kepada orang lain (non expert). Aktifitas
yang dilakukan untuk memindahkan kepakaran (Arhami, 2005: 9), adalah:
1. Knowledge Acquisition (dari pakar atau sumber lainnya);
2. Knowledge Representation (ke dalam komputer);
3. Knowledge Inferencing;
4. Knowledge Transfering.
2.2.6 Ciri-Ciri Sistem Pakar
Sistem Pakar merupakan program-program praktis yang menggunakan strategi
heuristik yang dikembangkan oleh manusia untuk menyelesaikan masalah-masalah yang
spesifik (khusus). Disebabkan oleh keheuristikannya dan sifatnya yang berdasarkan pada
pengetahuan, maka pada umumnya sistem pakar bersifat (Arhami, 2005: 23):
1. Memiliki informasi yang handal baik dalam menampilkan langkah-langkah antara
maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian;
2. Mudah dimodofikasi, yaitu dengan menambah atau menghapus suatu kemampuan
dari basis pengetahuannya;
3. Heuristik dalam menggunakan pengetahuan (yang sering kali tidak sempurna) untuk
mendapatkan penyelesaiannya;
4. Dapat digunakan dalam berbagai jenis komputer;
5. Memiliki kemampuan untuk beradaptasi.
2.2.7 Kategori Masalah Sistem Pakar
Sistem pakar pada saat ini telah dibuat untuk memecahkan berbagai macam
permasalahan dalam berbagai bidang, seperti matematika, teknik, kedokteran, kimia, farmasi,
sains komputer, bisnis, hukum, pendidikan, sampai pertahanan. Secara umum ada beberapa
kategori dan area permasalahan sistem pakar (Arhami, 2005: 23), yaitu:
1. Interpretasi, yaitu pengambilan keputusan atau deskripsi tingkat tinggi dari
sekumpulan data mentah, termasuk di antaranya juga pengawasan, pengenalan
ucapan, analisis citra, interpretasi sinyal, dan beberapa analisis kecerdasan;
2. Proyeksi, yaitu memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi
tertentu, di antaranya peramalan, prediksi demografis, peramalan ekonomi,
prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan;
3. Diagnosis, yaitu menentukan sebab malfungsi dalam situasi kompleks yang
didasarkan pada gejala-gejala yang teramati, di antaranya medis, elektronis,
mekanis, dan diagnosis perangkat lunak;
4. Desain, yaitu menentukan konfigurasi komponen-komponen sistem yang cocok
dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu, di
antaranya layout sirkuit dan perancangan bangunan;
5. Perencanaan, yaitu merencanakan serangkaian tindakan yang akan dapat
mencapai sejumlah tujuan dengan kondisi awal tertentu, di antaranya perencanaan
keuangan, komunikasi militer, pengembangan produk, routing, dan manajemen
proyek;
6. Monitoring, yaitu membandingkan tingkah laku suatu sistem yang teramati
dengan tingkah laku yang diharapkan darinya, di antaranya Komputer Aided
Monitoring Systems;
7. Debugging dan Repair, yaitu menentukan dan mengimplementasikan cara-cara
untuk mengatasi malfungsi, di antaranya memberikan resep obat terhadap suatu
kegagalan;
8. Instruksi, mendeteksi, dan mengoreksi defisiensi dalam pemahaman domain
subjek, di antaranya melakukan instruksi untuk diagnosis, debugging, dan
perbaikan kinerja;
9. Pengendalian, yaitu mengatur tingkah laku suatu environment yang kompleks
seperti control terhadap interpretasi-interpretasi, prediksi, perbaikan, dan
monitoring kelakuan sistem;
10. Seleksi, mengidentifikasi pilihan terbaik dari sekumpulan (List) kemungkinan;
11. Simulasi, pemodelan interaksi antara komponen-komponen sistem.
2.2.8 Kelebihan dan Kelemahan Sistem Pakar
Sebuah sistem pakar memiliki banyak kelebihan dibandingkan sistem konvensional.
Namun, selain banyak kelebihan yang diperoleh, sistem pakar juga memiliki beberapa
kelemahan.
2.2.8.1 Kelebihan Sistem Pakar
Secara garis besar, banyak kelebihan yang dapat diambil dengan adanya sistem pakar
(Kusumadewi, 2003: 110), antara lain :
1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli;
2. Bisa melakukan proses secara berulang secara otomatis;
3. Menyimpan pengetahuan dan keahlian para pakar;
4. Meningkatkan output dan produktifitas;
5. 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 pelatihan;
13. Meningkatkan kapabilitas dalam penyelesaian masalah;
14. Menghemat waktu dalam pengambilan keputusan.
2.2.8.2 Kelemahan Sistem Pakar
Di samaping memiliki beberapa kelebihan, sistem pakar juga memiliki beberapa
kelemahan (Kusumadewi, 2003: 111), antara lain:
1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal;
2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di
bidangnya;
3. Sistem pakar tidak 100% bernilai benar.
2.2.9 Bentuk Sistem Pakar
Ada 4 bentuk sistem pakar (Kusumadewi, 2003: 113), yaitu:
1. Berdiri sendiri. Sistem pakar jenis ini merupakan software yang berdiri sendiri
tidak bergabung dengan software lainnya;
2. Tergabung. Sistem pakar jenis ini merupakan bagian bagian program yang
terkandung di dalam suatu algoritma (konvensional), atau merupakan program
dimana di dalamnya memanggil algoritma subrutin lain (konvensional);
3. Menghubungkan ke software lain. Bentuk ini biasanya merupakan sistem pakar
yang menghubungkan ke suatu paket program tertentu, misalnya DBMS;
4. Sistem mengabdi. Sistem pakar merupakan bagian dari komputer khusus yang
dihubungkan dengan suatu fungsi tertentu. Misalnya sistem pakar yang digunakan
untuk membantu menganalisis data radar.
2.2.10 Orang Yang Terlibat Dalam Sistem Pakar
Untuk memahami perancangan sistem pakar, perlu dipahami mengenai siapa saja
yang berinteraksi dengan sistem mereka (Kusrini, 2006: 19) adalah:
1. Pakar (Domai Expert), seseorang ahli yang dapat menyelesaikan masalah yang sedang
diusahakan untuk dipecahkan oleh sistem;
2. Pembangun pengetahuan (Knowledge Engineer), seseorang yang menerjemahkan
pengetahuan seorang pakar dalam bentuk deklaratif sehingga dapat digunakan oleh
sistem pakar;
3. Pengguna (User), seseorang yang berkonsultasi dengan sistem untuk mendapatkan
saran yang disediakan oleh pakar;
4. Pembangun sistem (System Engineer), seseorang yang membuat antarmuka pengguna,
merancang bentuk basis pengetahuan secara deklaratif dan mengimplementasikan
mesin inferensi.
2.2.11 Arsitektur Sistem Pakar
Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan
(Development Environment) dan lingkungan konsultasi (Consultant Environment).
Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar
ke dalam lingkungan sistem pakar, sedangkan lingkungan konsultasi digunakan oleh
pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen
sistem pakar dalam kedua bagian tersebut dapat dilihat pada gambar 2.2 (Arhami, 2005: 13).
Gambar 2.2 Arsitektur Sistem Pakar.
2.2.12 Komponen Sistem Pakar
Komponen dalam sistem pakar adalah seperti yang terdapat pada Gambar 2.2, yaitu
User Interface (antarmuka pengguna), basis pengetahuan, akuisisi pengetahuan, mesin
inferensi, workplace, fasilitas penjelasan, dan perbaikan pengetahuan.
2.2.12.1 Antarmuka Pengguna (User Interface)
User Interface merupakan mekanisme yang digunakan oleh pengguna dan sistem
pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya
ke dalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka menerima informasi
dari sistem dan menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai
(Arhami, 2005: 14).
2.2.12.2 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 objek dalam area permasalahan tertentu,
sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari
fakta yang telah diketahui (Arhami, 2005: 15).
2.2.12.3 Akuisisi Pengetahuan
Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam
menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer. Dalam tahap
ini knowledge engineer berusaha merayap pengetahuan untuk selanjutnya ditransfer ke dalam
basis pengetahuan. Pengetahuan diperoleh dari pakar, dilengkapi dengan buku, basis data,
laporan penelitian dan pengalaman pemakai (Arhami, 2005: 16).
Terdapat tiga metode utama dalam akuisisi pengetahuan, yaitu (Arhami, 2005: 16):
1. Wawancara
Wawancara adalah metode akuisisi yang paling banyak digunakan. Metode ini
melibatkan pembicaraan dengan pakar secara langsung dalam suatu wawancara.
2. Analisis Protokol
Dalam metode akuisisi ini, pakar diminta untuk melakukan suatu pekerjaan dan
mengungkapkan proses pemikirannya dengan menggunakan kata-kata. Pekerjaan
tersebut direkam, dituliskan, dan dianalisis.
3. Observasi pada pekerjaan pakar
Dalam metode ini, pekerjaan dalam bidang tertentu yang dilakukan pakar direkam
dan diobservasi.
4. Induksi aturan dari contoh
Metode ini dibatasi untuk sistem berbasis aturan. Induksi adalah suatu proses
penalaran dari khusus ke umum. Suatu sistem induksi aturan diberi contoh-contoh
dari suatu masalah yang hasilnya diketahui. Setelah diberikan beberapa contoh,
sistem induksi aturan tersebut dapat membuat aturan yang benar untuk kasus-
kasus conto. Selanjutnya aturan dapat digunakan untuk menilai kasus lain yang
hasilnya tidak diketahui.
Akuisisi pengetahuan dilakukan sepanjang proses pembangunan sistem. Proses
akuisisi pengetahuan dibagi kedalam enam tahap, yaitu (Arhami, 2005: 17):
1. Tahap identifikasi
Tahap identifikasi meliputi penentuan komponen-komponen kunci dalam sistem
yang sedang dibangun. Komponen kunci ini adalah knowledge engineer, pakar,
karakteristik masalah, sumber daya, dan tujuan Knowledge engineer dan pakar
bekerja bersama untuk menentukan berbagai aspek masalah, seperti lingkup dari
proyek, data input yang dimasukkan, bagian-bagian penting dan interaksinya,
bentuk dan isi dari penyelesaiannya, dan kesulitan-kesulitan yang mungkin terjadi
dalam pembangunan sistem. Mereka juga harus menentukan sumber pengetahuan
seperti basis data, sistem informasi manajemen, buku teks, prototipe masalah dan
contoh, serta mengklarifikasi dan menentukan tujuan-tujuan sistem dalam proses
penentuan masalah.
2. Tahap Konseptualisasi
Konsep-konsep kunci dan hubungannya yang telah ditentukan pada tahap pertama
dibuat lebih jelas dalam tahap konseptualisasi.
3. Tahap Formalisasi
Tahap ini meliputi pemetaan konsep-konsep kunci, sub masalah, dan bentuk aliran
informasi yang telah ditentukan dalam tahap-tahap sebelumnya ke dalam
representasi formal yang paling sesuai dengan masalah yang ada.
4. Tahap Implementasi
Tahap ini meliputi pemetaan pengetahuan dari tahap sebelumnya yang telah
diinformalisasi ke dalam skema representasi pengetahuan yang dipilih.
5. Tahap Pengujian
Setelah tahap prototipe sistem yang dibangun dalam tahap sebelumnya berhasil
menangani dua atau tiga contoh, prototipe sistem tersebut harus menjalani
serangkaian pengujian dengan teliti menggunakan beragam sampel masalah.
Masalah-masalah yang ditemukan dalam pengujian ini biasanya dapat dibagi
kedalam tiga kategori, yaitu kegagalan input atau output, kesalahan logika, dan
strategi control.
6. Revisi Prototipe
Suatu unsur penting pada semua tahap dalam proses akuisisi pengetahuan adalah
kemampuan untuk kembali ke tahap-tahap sebelumnya untuk memperbaiki sistem.
2.2.13 Mesin Inferensi
Mesin inferensi adalah program komputer yang memberikan metodologi untuk
penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace, dan
untuk memformulasikan kesimpulan (Arhami, 2005: 19).
2.2.13.1 Metode Inferensi
Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis
aturan, yaitu pelacakan ke depan (forward chaining) dan pelacakan ke belakang (backward
chaining) (Arhami, 2005: 19).
Dalam memilih apakah akan menggunakan pelacakan ke depan atau ke belakang,
semuanya bergantung masalah yang akan dibuat sistem pakarnya, dan belum dapat
dibuktikan mana yang lebih baik di antara kedua metode inferensi ini. Untuk sebuah sistem
pakar yang besar, dengan jumlah rule yang relatif banyak, metode pelacakan ke depan akan
sangat lamban dalam pengambilan kesimpulan, sehingga untuk sistem-sistem yang besar
digunakan metode pelacakan ke belakang (Arhami, 2005: 21).
Ada beberapa faktor yang mempengaruhi pemilihan forward atau backward dalam
memilih metode pelacakan (Kusumadewi, 2003: 89), antara lain:
1. Banyaknya keadaan awal dan tujuan. Jika jumlah keadaan awal lebih kecil
daripada tujuan, maka digunakan penalaran forward chaining. Sebaliknya, jika
jumlah tujuan lebih banyak daripada keadaan awal maka dipilih penalaran
backward chaining.
2. Rata-rata jumlah node yang dapat diraih secara langsung dari suatu node. Lebih
baik dipilih yang jumlah node tiap cabangnya lebih sedikit.
3. Apakah program butuh menanyai user untuk melakukan justifikasi terhadap
proses penalaran? Jika iya, maka alangkah baiknya jika dipilih arah yang lebih
memudahkan user.
4. Bentuk kejadian yang akan memicu penyelesaian masalah. Jika kejadian itu
berupa fakta baru, maka lebih baik dipilih penalaran forward. Namun, jika
kejadian itu berupa query, maka lebih baik digunakan penalaran backward.
Table 2.6 berikut ini menunjukkan beberapa karakteristik dari metode inferensi runut
maju (forward chaining) dan runut balik (backward chaining) (Arhami, 2005: 114).
Table 2.6 Beberapa Karakteristik Forward Chaining dan Backward Chaining.
Forward Chaining Backward Chaining
Perencanaan, monitoring, kontrol Diagnosis
Disajikan untuk masa depan Disajikan untuk masa lalu
Antecedent ke Konsequent Konsequent ke Antecedent
Data memandu, penalaran dari
bawah ke atas
Tujuan memandu, Penalaran dari
atas ke bawah.
Bekerja ke depan untuk mengetahui
solusi apa yang mengikuti fakta
Bekerja ke belakang untuk
mengetahui solusi apa yang
mengikuti fakta
Breadth first search dimudahkan Depth first search dimudahkan
Antecedent menentukan pencarian Consequent menentukan pencarian
Penjelasan tidak difasilitasi Penjelasan difasilitasi
Sumber : (Arhami, 2005: 114)
1. Pelacakan ke Depan (Forward Chaining)
Pelacakan kedepan adalah pendekatan yang dimotori data (data driven).
Dalam pendekatan ini pelacakan dimulai dari informasi masukan, dan selanjutnya
mencoba menggambarkan kesimpulan, pelacakan ke depan mencari fakta yang sesuai
dengan bagian IF dari aturan IF THEN. Gambar 2.3 menunjukan proses Forward
Chaining (Arhami,2005: 20)
Gambar 2.3 Proses Forward Chaining (Arhami, 2005: 20).
Contoh pelacakan ke Depan (Forward Chaining) (Kusumadewi, 2003: 120):
Diketahui sistem pakar dengan aturan-aturan sebagai berikut:
R1 : IF suku bunga turun THEN harga obligasi naik
R2 : IF suku bunga naik THEN harga obligasi turun
R3 : IF suku bunga tidak berubah THEN harga obligasi tidak berubah
R4 : IF dolar naik THEN suku bunga turun
R5 : IF dolar turun THEN suku bunga naik
R6 : IF harga obligasi turun THEN beli obligasi
Apabila diketahui bahwa dolar turun, maka untuk memutuskan apakah akan
membeli obligasi atau tidak dapat ditunjukan sebagai berikut (Kusumadewi, 2003:
120):
Dari fakta dolar turun, berdasarkan aturan 5, diperoleh konklusi suku bunga
naik. Dari aturan 2, suku bunga naik menyebabkan harga obligasi turun.
Dengan menggunakan aturan 6, jika harga obligasi turun, maka kesimpulan
yang diambil adalah membeli obligasi.
Solusi dengan menggunakan pelacakan ke depan (Forward Chaining) dapat
dilihat pada Gambar 2.4
Gambar 2.4 Penyelesaian dengan Forward Chaining,
(Kusumadewi, 2003: 121).
2. Pelacakan ke Belakang (Backward 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. Selanjutnya proses pelacakan
menggunakan premis untuk aturan tersebut sebagai tujuan baru dan mencari aturan
lain dengan tujuan baru sebagai kesimpulannya. Proses berlanjut sampai semua
kemungkinan ditemukan. Gambar 2.5 menunjukan proses backward chaining
(Arhami, 2005: 19).
Gambar 2.5 Proses Backward Chaining, (Arhami, 2005: 19).
Contoh pelacakan ke Belakang (Backward Chaining) (Kusumadewi,
2003:120) :
Diketahui sistem pakar dengan aturan-aturan sebagai berikut:
R1 : IF suku bunga turun THEN harga obligasi naik
R2 : IF suku bunga naik THEN harga obligasi turun
R3 : IF suku bunga tidak berubah THEN harga obligasi tidak berubah
R4 : IF dolar naik THEN suku bunga turun
R5 : IF dolar turun THEN suku bunga naik
R6 : IF harga obligasi turun THEN beli obligasi
Apabila diketahui bahwa dolar turun, maka untuk memutuskan apakah akan
membeli obligasi atau tidak dapat ditunjukan sebagai berikut (Kusumadewi, 2003:
121):
Berangkat dari solusi yaitu membeli obligasi, dengan menggunakan aturan 6
diperoleh antaseden harga obligasi turun. Dari aturan 2 bisa akan dibuktikan
harga obligasi turun bernilai benar jika suku bunga naik bernilai benar. Dari
aturan 5, suku bunga naik memang bernilai benar karena diketahui factor dolar
turun.
Solusi dengan menggunakan pelacakan ke belakang (backward chaining)
dapat dilihat pada Gambar 2.6.
Gambar 2.6 Penyelesaian dengan Backward Chaining
(Kusumadewi, 2003: 121).
2.2.13.2 Teknik Penelusuran Data
Kedua metode inferensi tersebut dipengaruhi oleh tiga macam penelusuran, yaitu
Depth First Search, Breadth First Search, dan Best First Search.
1. Depth First Search
Depth first search, melakukan penelusuran kaidah secara mendalam dari simpul akar
bergerak menurun ke tingkat dalam yang berurutan (Arhami, 2005: 20). Diagram alir
teknik penelusuran depth first search dapat dilihat pada Gambar 2.7.
Gambar 2.7 Diagram Alir Teknik Penelusuran Depth First Search,
(Arhami, 2005: 21).
2. Breadth First Search
Breadth first search, bergerak dari simpul akar, simpul yang ada pada setiap tingkat
diuji sebelum pindah ke tingkat selanjutnya (Arhami, 2005: 20). Diagram alir teknik
penelusuran breadth first search dapat dilihat pada Gambar 2.8.
Gambar 2.8 Diagram Alir Teknik Penelusuran Breadth First Search,
(Arhami, 2005: 21).
3. Best First Search
Best first search, bekerja didasarkan kombinasi kedua metode sebelumnya (Arhami,
2005: 20).
2.2.13.3 Workplace
Workplace merupakan area dari sekumpulan memori kerja (working memory).
Workplace digunakan untuk merekam hasil-hasil antara dan kesimpulan yang dicapai. Ada
tiga tipe keputusan yang dapat direkam, yaitu (Arhami, 2005: 22) :
1. Rencana : bagaimana menghadapi masalah
2. Agenda : aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi
3. Solusi : calon aksi yang akan dibangkitkan
2.2.13.4 Fasilitas Penjelasan
Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan
sistem pakar. Komponen ini menggambarkan penalaran sistem pada pemakai. Fasilitas
penjelasan dapat menjelaskan perilaku sistem pakar dengan menjawab pertanyaan-pertanyaan
sebagai berikut (Arhami, 2005: 22) :
1. Mengapa pertanyaan tertentu ditanyakan oleh sistem pakar?
2. Bagaimana kesimpulan tertentu diperoleh?
3. Apa rencana untuk memperoleh penyelesaian?
2.2.13.5 Perbaikan Pengetahuan
Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta
kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut adalah penting dalam
pembelajaran terkomputerisasi, sehingga program akan mampu menganalisi penyebab
kesuksesan dan kegagalan yang dialaminya (Arhami, 2005: 22).
2.2.14 Representasi Pengetahuan
Dalam sistem pakar ada beberapa metode representasi pengetahuan. Jika pengetahuan
berupa pengetahuan yang bersifat deklaratif, maka metode representasi pengetahuan yang
cocok adalah jaringan semantik, frame, dan logika predikat. Tetapi jika pengetahuannya
berupa pengetahuan prosedural yang mempresentasikan aksi dan prosedur, maka metode
representasi pengetahuan yang cocok adalah kaidah produksi (Kusrini, 2006: 6).
2.2.14.1 Definisi Representasi Pengetahuan
Representasi pengetahuan merupakan metode yang digunakan untuk mengkodekan
pengetahuan dalam sebuah sistem pakar yang berbasis pengetahuan. Perepresentasian
dimaksudkan untuk menangkap sifat-sifat penting problem dan membuat informasi itu dapat
diakses oleh prosedur pemecahan problema (Kusrini, 2006: 24).
Bahasa representasi harus dapat membuat seorang pemrogram mampu
mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi problema, dapat
diterjemahkan ke dalam bahasa pemrograman dan dapat disimpan. Harus dirancang agar
fakta-fakta dan pengetahuan lain yang terkandung di dalamnya dapat digunakan untuk
penalaran (Kusrini, 2006: 24).
2.2.14.2 Model Representasi Pengetahuan
Pengetahuan dapat direpresentasikan dalam bentuk yang sederhana atau kompleks,
tergantung dari masalahnya. Beberapa model representasi pengetahuan yang penting
(Kusrini, 2006: 24), adalah:
1. Logika (logic);
2. Jaringan semantik (semantic nets);
3. Object Atributte Value (OAV);
4. Bingkai (frame);
5. Kaidah produksi (production rule).
2.2.14.3 Logika (logic)
Logika merupakan suatu pengkajian ilmiah tentang serangkaian penalaran, sistem
kaidah, dan prosedur yang membantu proses penalaran. Logika merupakan bentuk
representasi pengetahuan yang paling tua, yang menjadi dasar dari teknik representasi high
level (Kusrini, 2006: 25). Proses logika dapat dilihat pada Gambar 2.9.
Gambar 2.9 Proses Logika, (Kusumadewi, 2003: 62).
Dalam melakukan penalaran, komputer harus dapat menggunakan proses penalaran
deduktif dan induktif ke dalam bentuk yang sesuai dengan manipulasi komputer, yaitu berupa
logika simbolik atau logika matematika. Logika itu disebut logika komputansional (Kusrini,
2006: 25).
Penalaran deduktif ini bergerak dari penalaran umum menuju ke konklusi khusus.
Umumnya dimulai dari suatu silogisme, atau pernyataan premis dan inferensi yang biasanya
terdiri dari tiga bagian, yaitu premis mayor, premis minor, dan konklusi. (Kusrini, 2006: 25).
Berikut ini contoh penalaran secara deduktif dan induktif :
Contoh penalaran deduktif (Kusrini, 2006: 25), adalah sebagai berikut:
Premis Mayor : Jika hujan turun saya tidak akan lari pagi.
Premis Minor : Pagi ini turun hujan.
Konklusi : Oleh karena itu pagi ini saya tidak akan lari pagi.
Sedangkan penalaran induktif dimulai dari masalah khusus menuju ke masalah umum.
Penalaran induktif menggunakan sejumlah fakta atau premis yang sesuai untuk menarik
kesimpulan umum (Kusrini, 2006: 25).
Contoh penalaran induktif (Kusrini, 2006: 27), adalah sebagai berikut:
Premis : Dioda yang salah menyebabkan peralatan elektronik
rusak.
Premis : Transistor rusak menyebabkan elektronik rusak.
Premis : IC rusak menyebabkan peralatan elektronik tidak
berfungsi.
Konklusi : Maka, penyebab semikonduktor rusak merupakan
penyebab utama rusaknya peralatan elektronik.
Pada penalaran Induktif, konklusi tidak selalu mutlak, dapat berubah bilamana
ditemukan fakta-fakta baru.
2.2.14.4 Jaringan Semantik (Semantic Nets)
Konsep jaringan semantik diperkenalkan pada tahun 1968 oleh Ros Quillian. Jaringan
semantik merupakan teknik representasi kecerdasan buatan klasik yang digunakan untuk
informasi proporsional (Giarrantano dan Riley, 1994). Yang dimaksud dengan informasi
proporsional adalah pernyataan yang mempunyai nilai benar atau salah. Informasi
proporsional merupakan bahasa deklaratif karena menyatakan fakta (Kusrini, 2006: 30).
Representasi jaringan semantik merupakan penggambaran grafis dari pengetahuan
yang memperlihatkan hubungan hirarkis dari objek-objek. Komponen dasar untuk
merepresentasikan pengetahuan dalam bentuk jaringan semantik adalah simpul (node) dan
penghubung (link). Objek direpresentasikan oleh simpul. Hubungan antar objek-objek
dinyatakan oleh penghubung yang diberi label untuk menyatakan hubungan yang
direpresentasikan (Kusrini, 2006: 30).
Gambar 2.10 berikut ini adalah sebuah contoh bagaimana pengetahuan dapat
direpresentasikan menggunakan jaringan semantic (Kusrini, 2006: 30).
Gambar 2.10 Contoh Representasi Jaringan Semantik, (Kusrini, 2006: 30).
Jaringan semantic pada Gambar 2.10 merepresentasikan pernyataan bahwa semua
komputer adalah alat elektronik, semua PC merupakan komputer, dan semua komputer
memiliki monitor. Dari pernyataan tersebut dapat diketahui bahwa semua PC memiliki
monitor dan hanya sebagian alat elektronik yang memiliki monitor.
2.2.14.5 Object Attribute Value (OAV)
Object dapat berupa bentuk fisik atau konsep. Attribute adalah karakteristik atau sifat
dari object tersebut. Values (nilai) besaran/ nilai/ takaran spesifik dari attribute tersebut pada
situasi tertentu, dapat berupa numeric, string atau Boolean (Kusrini, 2006: 31).
Sebuah object bisa memiliki beberapa attribute, biasa disebut OAV Multi Attribute.
Contoh representasi pengetahuan dengan OAV ditunjukan pada Tabel 2.7 (Kusrini, 2006:
31).
Tabel 2.7 Representasi Pengetahuan dengan OAV.
Object Attribute Value
Mangga Warna Hijau, Orange
Mangga Berbiji Tunggal
Mangga Rasa Asam, Manis
Mangga Bentuk Oval
Pisang Warna Hijau, Kuning
Pisang Bentuk Lonjong
(Kusrini, 2006: 31)
2.2.14.6 Bingkai (Frame)
Bingkai berupa ruang-ruang (slots) yang berisi atribut untuk mendeskripsikan
pengetahuan. Pengetahuan yang terdapat dalam slot dapat berupa kejadian, lokasi, situasi,
maupun elemen-elemen lainnya. Bingkai digunakan untuk representasi pengetahuan
deklaratif (Kusrini, 2006: 31). Contoh frame dapat dilihat pada Gambar 2.11.
Gambar 2.11 Contoh Frame, (Kusumadewi, 2003: 83).
Seperti pada jaringan semantik, tidak ada standar untuk mendefinisikan sistem
berbasiskan bingkai. Bingkai dapat dipandang sebagai suatu struktur record pada bahasa
tingkat tinggi atau sebuah atom dengan daftar propertinya (Kusrini, 2006: 32).
2.2.14.7 Kaidah Produksi (Production Rule)
Kaidah produksi menyediakan cara formal untuk mempresentasikan rekomendasi,
arahan, atau strategi. Kaidah produksi dituliskan dalam bentuk jika-maka (if-then). Kaidah
produksi if-then menghubungkan antaseden (antecedent) dengan konsekuensi yang
diakibatkannya. Berbagai struktur kaidah if-then yang menghubungkan objek atau atribut
sebagai berikut (Kusrini, 2006: 33):
IF premis THEN konklusi
IF masukan THEN keluaran
IF kondisi THEN tindakan
IF antaseden THEN konsekuen
IF data THEN hasil
IF tindakan THEN tujuan
IF sebab THEN akibat
IF gejala THEN diagnose
Premis mengacu pada fakta yang harus benar sebelum konklusi tertentu yang
diperoleh. Masukan mengacu pada data yang harus tersedia sebelum keluaran dapat
diperoleh. Kondisi mengacu pada keadaan yang harus berlaku sebelum tindakan dapat
diambil. Antaseden mengacu situasi yang terjadi sebelum konsekuensi dapat diamati. Data
mengacu pada kegiatan yang harus dilakukan sebelum hasil dapat diharapkan (Kusrini, 2006:
33).
Terdapat langkah-langkah yang harus ditempuh dari pengetahuan yang didapatkan
dalam domain tertentu. Langkah-langkah tersebut adalah dengan menyajikan pengetahuan
yang berhasil didapatkan dalam bentuk tabel keputusan (decision table) kemudian dari tabel
keputusan dibuat pohon keputusan (decision tree).
1. Tabel keputusan (Decision table)
Menurut Jogiyanto (1999), tabel keputusan (decision table) merupakan tabel yang
digunakan sebagai alat bantu untuk menyelesaikan logika didalam program. Tabel
keputusan merupakan suatu cara untuk mendokumentasikan pengetahuan. Tabel
keputusan juga merupakan matrik kondisi yang dipertimbangkan dalam
pendiskripsian kaidah. Walaupun kaidah secara langsung dapat dihasilkan dari
tabel keputusan tetapi untuk menghasilkan kaidah yang efisien terdapat suatu
langkah yang harus ditempuh yaitu membuat pohon keputusan terlebih dahulu.
Dari pohon keputusan dapat diketahui atribut (kondisi) yang dapat direduksi
sehingga menghasilkan kaidah yang efisien dan optimal. Contoh tabel keputusan
dapat dilihat pada Tabel 2.8.
Tabel 2.8 Contoh Tabel Keputusan.
HipotesaHipotesa 1 Hipotesa 2 Hipotesa 3 Hipotesa 4
Evidence
Evidence A Ya Ya Ya Tidak
Evidence B Ya Tidak Ya Ya
Evidence C Ya Tidak Tidak Ya
Evidence D Tidak Tidak Tidak Ya
Evidence E Tidak Ya Ya Tidak
Sumber : Jogiyanto (2009).
2. Pohon Keputusan
Menurut kusumadewi (2003), tree (pohon keputusan) merupakan struktur
penggambaran pohon secara hirarkis. Tree juga merupakan suatu hirarki struktur
yang terdiri dari node (simpul) yang menyimpan informasi atau pengetahuan dan
cabang yang menghubungkan node. Cabang disebut juga link atau edge dan node
disebut vertek. Gambar 2.12 menunjukan binary tree yang mempunyai 0,1 atau 2
cabang per node. Dengan berorientasi pada tree (pohon), akar node adalah node
yang tertinggi dalam hierarki dan daun adalah paling bawah. Tree dapat dianggap
sebagai suatu tipe khusus dari jaringan semantik yang setiap nodenya, kecuali
akar, pasti mempunyai satu node orang tua dan mempunyai nol atau lebih node
anak.
Untuk tipe biasa dari binary tree, maksimum mempunyai dua anak untuk
setiap node, dan sisi kiri dan kanan dari node anak dibedakan. Contoh tree (pohon
keputusan) dapat dilihat pada Gambar 2.12.
Gambar 2.12 Contoh Tree (pohon keputusan), (Kusumadewi, 2003: 82).
Jika node mempunyai lebih dari satu orang tua maka disebut dengan
jaringan. Gambar 2.12 menunjukan hanya ada satu urutan dari edge atau path dari
akar untuk setiap node. Oleh karena itu dalam hal ini tidak mungkin untuk
memindahkan secara berlawanan dengan arah panah.
2.2.15 Tahap Pengembangan Sistem Pakar
Seperti layaknya pengembangan perangkat lunak, pada pengembangan sistem pakar
pun diperlukan beberapa tahapan seperti terlihat pada Gambar 2.13
Gambar 2.13 Tahap-tahap Pengembangan Sistem Pakar (Kusumadewi, 2003: 123).
Secara garis besar pengembangan sistem pakar pada Gambar 2.13 adalah sebagai
berikut (Kusumadewi, 2003: 124):
1. Mengidentifikasi masalah dan kebutuhan
Yaitu mengkaji situasi dan memutuskan dengan pasti tentang masalah yang akan
dikomputerisasi dan apakah sistem pakar bisa lebih membantu atau tidak;
2. Menentukan masalah yang cocok.
Dalam hal ini ada beberapa syarat yang harus dipenuhi agar sistem pakar dapat
bekerja dengan baik, yaitu:
Domain masalah tidak terlalu besar;
Kompleksitasnya menengah, artinya jika masalah terlalu mudah (dapat
diselesaikan dalam beberapa detik saja) atau masalah yang sangat
kompleks seperti peramalan inflasi tidak memerlukan sistem pakar;
Tersedianya ahli;
Menghasilkan solusi mental bukan fisik, artinya sistem pakar hanya
memberikan anjuran tidak bisa melakukan aktifitas fisik seperti membau
atau merasakan;
Tidak melibatkan hal-hal yang bersifat common sense, yaitu penalaran
yang diperoleh dari pengalaman, seperti: adanya gravitasi membuat benda
jatuh, atau jika lampu lalulintas merah akan kendaraan harus berhenti.
3. Mempertimbangkan alternatif
Dalam hal ini ada dua alternative yaitu menggunakan sistem pakar atau komputer
tradisional;
4. Menghitung pengembalian investasi. Termasuk diantaranya: biaya pembuatan
sistem pakar, biaya pemeliharaan, dan biaya training;
5. Memilih alat pengembangan. Bisa digunakan software pembuat sistem pakar
(seperti:SHELL) atau dirancang dengan bahasa pemrograman sendiri (misalnya:
dengan menggunakan PROLOG);
6. Rekayasa pengetahuan. Perlu dilakukan penyempurnaan terhadap aturan-aturan
yang sesuai;
7. Merancang sistem. Bagian ini termasuk pembuatan prototype, serta
menterjemahkan pengetahuan menjadi aturan-aturan;
8. Melengkapi pengembangan. Termasuk pengembangan prototype apabila sistem
yang telah ada sudah sesuai dengan keinginan;
9. Menguji dan mencari kesalahan sistem;
10. Memelihara sistem. Dalam hal ini harus dilakukan: memperbaharui pengetahuan,
mengganti pengetahuan yang sudah ketinggalan, dan meluweskan sistem agar bisa
lebih baik lagi dalam menyelesaikan masalah.
2.3 Unified Modeling Language (UML)
2.3.1 Definisi UML
Menurut (Widodo, 2011) UML adalah bahasa pemodelan standar yang memiliki
sintak dan semantik.
Menurut (Nugroho, 2010) UML adalah bahasa pemodelan untuk sistem atau
perangkat lunak yang berparadigma (berorientasi obyek). Pemodelan sesungguhnya
digunakan untuk penyederhanaan permasalahan – permasalahan yang kompleks sedemikian
rupa sehingga lebih mudah dipelajari dan dipahami.
Berdasarkan pendapat yang dikemukakan di atas, dapat ditarik kesimpulan bahwa UML
adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk memvisualisasikan,
menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan
perangkat lunak berbasis obyek.
2.3.2 Bangunan Dasar Metodelogi UML
Menurut (Nugroho, 2010) bangunan dasar metodologi UML menggunakan tiga
bangunan dasar untuk mendeskripsikan sistem/ perangkat lunak yang akan dikembangkan,
yaitu :
a. Sesuatu (things)
Ada 4 macam things dalam UML, yaitu :
1. Structural Things
2. Merupakan bagian yang relatif statis dalam model UML. Bagian yang relatif
statis dapat berupa elemen – elemen yang bersifat fisik maupun konseptual.
3. Behavioral Things
Merupakan bagian yang dinamis pada model UML, biasanya merupakan kata
kerja dari model UML, yang mencerminkan perilaku sepanjang ruang dan
waktu.
4. Grouping Things
Merupakan bagian pengorganisasi dalam model UML. Dalam penggambaran
model yang rumit kadang diperlukan penggambaran paket yang
menyederhanakan model. Paket – paket ini kemudian dapat didekomposisi
lebih lanjut. Paket berguna bagi pengelompokkan sesuatu, misalnya model –
model dan subsistem – subsistem.
5. Annotational Things
Merupakan bagian yang memperjelas model UML dan dapat berupa komentar
– komentar yang menjelaskan fungsi serta ciri – ciri setiap elemen dalam
model UML.
b. Relasi (relationship)
Ada 4 macam relationship dalam UML, yaitu :
1. Ketergantungan
Merupakan hubungan dimana perubahan yang terjadi pada suatu elemen
mandiri (independent) akan mempengaruhi elemen yang bergantung padanya
elemen yang tidak mandiri (dependent).
2. Asosiasi
Merupakan apa yang menghubungkan antara obyek satu dengan obyek
lainnya, bagaimana hubungan suatu obyek dengan obyek lainnya. Suatu
bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu obyek
dengan bagian – bagiannya.
3. Generalisasi
Merupakan hubungan dimana obyek anak (descendent) berbagi perilaku dan
struktur data dari obyek yang ada di atasnya obyek induk (ancestor). Arah dari
atas ke bawah dari obyek induk ke obyek anak dinamakan spesialisasi,
sedangkan arah berlawanan sebaliknya dari arah bawah ke atas dinamakan
generalisasi.
4. Realisasi
Merupakan operasi yang benar – benar dilakukan oleh suatu obyek.
2.3.3 Jenis – Jenis Diagram UML
Terdapat empat jenis diagram UML diantaranya:
a. Use Case Diagram
Use case diagram adalah menjelaskan manfaat sistem jika dilihat menurut
pandangan orang yang berada diluar sistem (aktor). Diagram ini menunjukkan
fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan
dunia luar (Suhendar & Gunadi, 2002).
Tabel 2.9 Simbol Pemodelan Use Case Diagram.
SIMBOL NAMA KETERANGAN
Use CaseMenggambarkan bagaimana
seseorang menggunakan sistem
Aktor
Aktor adalah seseorang atau
sesuatu di luar sistem yang harus
berinteraksi dengan sistem
Association
Relationship
Menggambarkan hubungan
antara 2 atau lebih aktor dan use
case dan antara 2 atau lebih use
case
Dependency
Hubungan semantik antara 2
benda yang mana benda berubah
akibat benda satunya akan
berubah pula
b. Class Diagram
Class diagram adalam kumpulan obyek – obyek yang mempunyai struktur umum,
behavior umum, relasi umum, dan kata yang umum. Class – class
ditentukan/ditemukan dengan cara memeriksa obyek – obyek dalam sequence
diagram dan collaboration diagram. Sebuah class digambarkan seperti sebuah
bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi nama
menggunakan kata benda sesuai dengan domain/ bagian/ kelompoknya (Whitten,
2004).
Class 1 Class 2 Class 3
- atribut 1 - atribut 1 - atribut 1
- atribut 2 - atribut 2 - atribut 2
- atribut 3 - atribut 3 - atribut 3
-
operation1 - operation1 - operation1
-
operation2 - operation2 - operation2
Gambar 2.14 Model Class Diagram.
c. Sequence Diagram
Sequence diagram secara khusus menjabarkan aktivitas sebuah skenario tunggal
(Fowler, 2005), diagram tersebut menunjukkan sejumlah obyek contoh dan pesan
– pesan yang melewati obyek – obyek di dalam use case diagram.
Tabel 2.10 Simbol Pemodelan Sequence Diagram.
SIMBOL NAMA KETERANGAN
Entity
Digambarkan dengan bentuk persegi
panjang. Entity adalah sesuatu apa
saja yang ada dalam sistem, nyata
maupun abstrak dimana data
disimpan atau dimana terdapat data.
Aktor
Aktor adalah seseorang atau sesuatu
di luar sistem yang harus
berinteraksi dengan sistem
Kelas Boundary
Adalah yang memodelkan interaksi
antara 1 atau lebih aktor dengan
sistem
Kelas Control
Digunakan untuk memodelkan
perilaku mengatur, khusus untuk 1
atau beberapa use case saja.
Kelas Entitas
Memodelkan informasi yang harus
disampaikan oleh sistem
d. Activity Diagram
Activity diagram adalah diagram yang menunjukkan tampilan dan operasi dan
transmisi – transmisi yang dipicu oleh kelengkapan atas operasi (Jones & Rama,
2006).
Tabel 2.11 Simbol Pemodelan Activity Diagram.
SIMBOL NAMA KETERANGAN
ActivityMenggambarkan sebuah pekerjaan
atau tugas dalam workflow
Start State
Menunjukkan dimulainya suatu
workflow pada sebuah activity
diagram. Start state digambarkan
dengan simbol lingkaran yang solid.
End State
Menggambarkan akhir atau terminal
dari pada sebuah activity diagram.
Bisa mendapat lebih dari satu end
state pada sebuah activity diagram.
State TransitionMenunjukkan kegiatan apa berikutnya
setelah suatu kegiatan sebelumnya
DecisionMenunjukkan kegiatan apa berikutnya
setelah suatu kegiatan sebelumnya
2.4 Basis Data
Basis data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta
mengenai obyek, orang dan lain – lain. Data dinyatakan dengan nilai (angka, deretan
karakter, atau simbol) (Kusrini, 2007).
Menurut date, sistem basis data pada dasarnya adalah sistem terkomputerisasi yang
tujuan utamanya adalah memelihara dan membuat informasi tersebut tersedia saat dibutuhkan
(Kadir, 2012).
Dari beberapa pengertian tersebut dapat disimpulkan bahwa basis data adalah sistem
berkas terpadu yang dirancang untuk memelihara informasi, meminimalkan pengulangan data
dan dapat membuat informasi tersebut tersedia setiap saat dibutuhkan.
Perancangan basis data dapat dilakukan melalui beberapa tahap, yaitu :
a. ERD (Entity Relationship Diagram)
b. Transformasi ERD ke LRS
c. LRS (Logical Record Structure)
2.4.1 ERD (Entity Relationship Diagram)
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis
data berdasarkan obyek – obyek dasar data yang mempunyai hubungan antar relasi. ERD
adalah suatu model jaringan yang menggunakan susunan data yang tersimpan secara sistem
atau teknik menggambar suatu skema database dimana setiap komponen yang terlihat dalam
ERD memiliki atribut masing – masing yang mempresentasikan fakta dari dunia nyata yang
sedang ditinjau (Fatansyah, 2004). Pada dasarnya ada tiga simbol yang digunakan, yaitu :
a. Entity
Entity merupakan obyek yang mewakili sesuatu yang nyata dan dapat dibedakan
dari sesuatu yang lain. Simbol dari entity ini biasanya digambarkan dengan
persegi panjang.
b. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk
mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai
sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar
atribut diwakili oleh simbol elips.
c. Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang
berbeda. Ada tiga kemungkinan hubungan atau cardinality yang terjadi, yaitu :
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 elemen 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.4.2 Transformasi ERD ke LRS
Transformasi diagram berhubungan entitas ke dalam LRS merupakan kegiatan untuk
membentuk data – data di ER-Diagram ke dalam LRS. Pada sebuah ER-Diagram nama field
di luar kotak, sedangkan pada sebuah LRS setiap field ditulis di dalam kotak, dan memiliki
sebuah nama unik (Firman, 2008).
2.4.3 LRS (Logical Record Structured)
Setelah ERD ditransformasikan ke bentuk LRS, maka hasil akhir dari proses
transformasi tersebut adalah sebuah diagram yang sudah dapat menggambarkan basis data
yang akan digunakan. LRS terdiri dari tipe record, yang berupa sebuah persegi dengan field
yang dibutuhkan di dalamnya. LRS terdiri juga dari hubungan antara tipe record tersebut
(Nugraha, 2011).
LRS (Logical Record Structure) adalah representasi dari struktur record – record pada
tabel – tabel yang terbentuk dari hasil antar himpunan entitas (Yuswanto, 2003).
2.5 Mendiagnosa Penyakit Kulit
2.5.1
1. Tinea Kruris (Ekzema Marginatum)
Penyebab Disebabkan Oleh Jamur E.floccosum, T.rubrum dan T.mentagrophytes.
Gejala :
1 . Adanya rasa gatal
2 . Adanya elemen jamur
3 . Adanya sisik halus
4 . Adanya skuama
5 . Skuama lebih tebal dan berlapis lapis
6 . Terjadinya eritema
Keterangan :
Tinea dari selangkangan ("gatal joki") cenderung mempunyai suatu warna coklat kemerahan
dan meluas dari lipatan-lipatan selangkangan turun ke satu atau kedua paha. Kondisi-kondisi
lain yang dapat meniru tinea cruris termasuk infeksi-infeksi ragi, psoriasis, dan intertrigo,
suatu ruam gossokan (chafing rash) yang berakibat dari gosokkan kulit terhadap kulit.
Solusi :
Menghilangkan faktor predisposisi, menganjurkan pasien mengusahakan daerah lesi selalu
kering dan memakai pakaian yang menyerap keringat. Bila menggunakan terapi topikal,
pengobatan dilanjutkan hingga 1 minggu setelah lesi sembuh. Jika lesi luas atau gagal dengan
terapi topikal, dapat digunakan obat oral seperti griseofulvin 500-1000 mg/hari (dewasa) atau
10-20 mg/kgBB/hari (anak-anak) dosis tunggal selama 2-6 minggu atau terbinafin 250
mg/hari (dewasa) selama 1- 2 minggu atau itrakonazol 2x100 mg/hr selama 2 minggu atau
ketokonazol 200 mg/hr selama 10-14 hari.
2. Tinea Kapitis
Disebabkan Oleh Jamur Golongan Dermatofita, terutama T.rubrum, T.Mentagropytes dan
M.gypseum.
Gejala :
Adanya rasa gatal
Adanya elemen jamur
Timbulnya bintik-bintik berwarna merah kuning
Adanya rasa nyeri otot
Adanya skuama
Rambut mudah putus
Berbau busuk
Tampak bisul-bisul kecil pada kulit kepala
Keterangan :
Tinea kapitis (tinea capitis) adalah infeksi jamur pada folikel rambut kulit kepala yang
ditandai oleh pembentukan kerak kecil di dasar folikel. Kondisi ini juga disebut kurap kulit
kepala.
.Penyakit ini sering terjadi pada anak-anak yang dapat ditularkan dari binatang peliharaan
misalnya kucing dan anjing. Selain itu lingkungan kotor dan panas serta udara yang lembap
ikut berperan dalam penularan penyakit ini.
Solus :
pada anak biasanya diberikan per oral dengan griseofulvin 10-25 mg/kg berat badan per hari
selama 6 minggu. Dosis pada orang dewasa sebesar 500 mg perhari selama 6 minggu. Selain
itu pengobatan dapat dilakukan dengan mencuci kepala dan rambut dengan shampo
desinfektan antimikotik seperti larutan asam
3. Tinea Manus
Disebabkan Oleh Jamur T.mentagropytes dan T.rubrum
Gejala :
Adanya rasa gatal
Adanya elemen jamur
Adanya vesikel
Keterangan :
Tinea manus: Ringworm melibatkan tangan-tangan, terutama telapak tangan dan ruang-ruang
antara jari-jari tangan. Ia secara khas menyebabkan penebalan (hyperkeratosis) dari area-area
ini, seringkali pada hanya satu tangan. Tinea manus adalah suatu teman yang umum dari tinea
pedis (ringworm dari kaki-kaki). Ia juga disebut tinea manuum.
Solusi :
Pemilihan terapi topikal atau sistemik antara lain bergantung pada luas lesi dan ada/tidaknya
kontraindikasi.
Preparat topical yang dapat digunakan antara lain golongan imidazol atau alilamin.
Obat topikal digunakan hingga 1 minggu setelah lesi sembuh.
4. Tinea Versikolor (Panu)
Disebabkan Oleh Malassezia Furfur
Gejala :
Adanya rasa gatal
Adanya sisik halus
Adanya perubahan pada warna kulit
Keterangan :
Tinea Vesikolor adalah suatu penyakit jamur kulit yang kronik dan asimtomatik serta ditandai
dengan bercak putih sampai coklat yang bersisik. Kelainan ini umumnya menyerang badan
dan kadang-kadang terlihat di ketiak, sela paha, tungkai atas, leher, muka, dan kulit kepala.
Solusi :
salaep whitfield,salep salsil sulfur, larutan salisil spritus, larutan tiosulfat natrikus dan latio
kumerfeldi.
5. Tinea Imbrikata
Disebabkan oleh Jamur Tichophyton Concentricum
Gejala :
Adanya rasa gatal
Adanya sisik kasar
Sisik menyerupai lingkaran bermata 1
Keterangan :
Infeksi jamur superfisial yang menyerang kulit dengan gambaran khas berupa skuama kasar
yang tersusun konsentris sehingga tanpak seperti atap genteng.
Solusi :
Sistemik Griseofulvin 0,5 g selama l-2bulan.
Topikal Keratolitik kuat yang bersifat fungisid antara lain:
krisarobin 5%, sulfur 5% atau asam salisilat 5%. G Castellani, spaint G Salep Whitfield 2 kali
sehari G Antimikotik golongan imidazol mempunyai khasiat baik.
6. Tinea Barbae & Sikosis Barbae
Disebabkan Oleh Jamur Golongan Trichopyton dan Microsporum
Gejala :
Adanya rasa gatal
Adanya bintik-bintik kemerahan
Adanya rasa pedih pada kulit
Adanya nanah
Adanya edema
Adanya Vesikopustula miliar
Rambut mudah putus
Tampak reaksi radang pada folikel
Keterangan :
Adalah bentuk infeksi jamur dermatofita pada dacrah dagu, jenggot, yang menyerang kulit
dan folikel rambut.
Yang terkene jamur ini akan mudah patah, kusam. Sedangkan kulit bagian leher yang terkene
virus ini akan terdapat bintik-bintik putih.
Di sebabkan oleh Jamur Trichophyton mentagrophytes, Trichophyton violaceum,
Microsporum cranis. Dapat tertular apabila bersentuhan atau melalui alat pemotong jenggot
yang telah terinfeksi
Solusi :
Toksilat, haloprogin, tolnaftate, dan derival imidasol seperti mikonasol, ekonasol,bifanasol,
kotrimasol dalam bentuk larutan atau krem dengan konsentrasi 1-2% dioleskan 2x sehari
dalam waktu 1-3 minggu
7. Tinea Nigra Palmaris
Disebabkan Oleh Jamur Cladosporium Werneckii
Gejala :
Adanya rasa gatal
Timbulnya bintik hitam kecoklatan
Adanya rasa nyeri otot
Keterangan :
Tinea nigra palmaris adalah penyakit infeksi jamur superfisial yang menyerang telapak kaki
dan tangan, menimbulkan gambaran khas berupa warna coklat-kehitamanpada kulit.
Solusi :
salep anti jamur seperti Salep whitfield 1 dan 2 atau salep sulfur salisil
Obat anti jamuur dan preparat-preparat imidazol, seperti isokotonasol, bifonasol, klotrimasol
dalam bentuk salep atau krim
8. Kandidiasis
Disebabkan Oleh Jamur Candida albicans
Gejala :
Adanya rasa gatal
Kulit panas seperti terbakar
Adanya rasa nyeri otot
Adanya skuama
Adanya vesikel
Kuku berwarna hitam coklat tak bercahaya
Timbulnya ulkus
Keterangan :
Adalah penyakit infeksi yang disebabkan oleh jamur kandida /candida albicans. merupakan
jamur mirip ragi dan selalu ada dalam tubuh kita, dalam jumlah sedikit. Dalam keadaan
normal jamur ini hidup di rongga mulut, vagina dan usus. Tanpa menimbulkan gangguan atau
penyakit.
Perubahan kondisi tubuh kadang bisa mengakibatkan kandida tumbuh dan berkembang biak
secara berlebihan sehingga menimbulkan infeksi yang di sebut Kandidiasis jadi.. “dia”
termasuk penyakit yang bersifat oportunistik dalam keadaan normal jamur ini tidak
menyebabkan ganguan. Na..muunn..bila kulit lembab, hangat, terluka, akan memicu Kandida
semakin memeperbanyak diri dan akhirnya membuat infeksi.
Infeksi kandida menyerang kulit dan selaput mukosa; yaitu jaringan yang melapisi
permukaan bagian tubuh kita misalnya vagina, (vagina condidiasis) yang sering kita kenal
keputihan dan rongga mulut, (oral condidiasis) Kandida juga merupakan penyebab tersering
dari paronokia yaitu infeksi kulit di sekitar kuku dan onikomikosis panyakit jamur kuku.
Solusi :
larutan gentian violet 1-2% dioleskan 1-2 kali sehari sampai dengan 5-7 hari, biasanya
dipakai untuk kandidasis kuitis dan mukokutan
Nistatin
- Bentuk krim atau salep dipakai untuk mengobati kandidiasis kuitis
- Bentuk larutan dipakai untuk kuku dan mult
- Bentuk tablet untuk mengatasi kandidasis disaluran cerna
- Bentuk tablet vaginal untuk mengatasi kandidiasis vaginitis Amfoterisin B
- Bentuk salep atau krim untuk mengobati kandidiasis kulit
- Bentuk tablet untuk mengatasi atau memberantas sumber infeksi di dalam usus
- Bentuk tablet Vaginal untuk mengatasi vaginitis
- Bentuk suntikan untuk mengobati kandidiasis sistemik Natasin
- Bentu k salep atau krim untuk mengobati kandidiasis kulit
- Bentuk tablet vagina mengobati vulvovaginitis
Trikomisin, bentuk salep atau krim untuk mengobati kandidiasis kutis dan selaput lendir
5 Fluorositosin (5F.C), bentuk tablet untuk mengobati kandidiasis alat cerna dan kandidiasis
sitemik
Asam undesilinat, dalam bentuk salep 5%, krim 5%, dan tingtura 5% serta dalam bentuk
larutan 15% dapat mengobati kandidiasis kuitis dan selaput lendir.
9. Misetoma
Disebabkan Oleh Jamur Actinomycetes termasuk genus Nocardia dan Streptomyces
Gejala :
Adanya elemen jamur
Adanya butiran-butiran kuning kehijauan
Adanya rasa nyeri otot
Adanya Postula
Adanya tumor/kutil
Adanya kelainan bentuk pada kaki
Adanya pembengkakan pembuluh limfe
Adanya jembatan-jembatan kutil
Timbulnya ulkus
Keterangan :
Merupakan infeksi kronik pada jaringan dibawah kulit, yang dapat melua sampai ke fasia dan
tulang-tulang dengan menimbulkan kelainan-kelainan berupa pembengkakan kruris
deforminitas dari alat-alat yang diserang
Daerah yang diserang adalah telapak kaki, tangan, pergelangan kaki, tangan, dan lutut.
Solusi :
Untuk jenis misetoma aktinomikotik dapat diobati dengan penisilin prokain dosis tinggi 2.4
juta unit sampai 2 mega unit. Etiologinya genus nokardia yang diobati dengan preparat sulfur,
seperti sulfadiasin 3-8 gram perhari diberikan sampai 2-4 minggu, Pengobatan misetoma
eumikotik sangat susah susah dan dapat dicoba dengan amfoterisin B intravena. Pengobatan
dengan turunan Asol, seperti itrakonasol 400 mg/hari dan flutosin 2gr/hari selama 1-2 bulan.
10. Kromomikosis
Disebabkan Oleh Jamur Phialophora pedrosoi, P.verrucosa, P.compacta dan Cladosporium
carioni
Gejala :
Adanya elemen jamur
Timbulnya lesi
Lesi menyerupai kembang kol
Adanya pembengkakkan lesi
Timbul papula/Nodula
Keterangan :
Merupakan penyakit jamur yang biasanya mengenai kaki, tangan, dan bokong. Penyebab
kromomikosis masuk kedalam tubuh melalui luka- dikulit, secara kontak langsung.
Penyakit ini banyak menyerang pria, terutama petani dan buruh peternakan. Biasanya dimulai
dengan pembengkakkan berupa pembentukan nodul-nodul pada tempat luka atau aberasi kulit
Solusi :
Amfoterisin B dosisi tinggi dapat diberikan suntikan didalam lesi
larutan kalium iodida
Derifatasol, itrakonasol dengan dosis 2x100 mg/hari selama 5 bulan.
2.6 Software Pendukung
2.6.1 Notepad ++
Notepad++ adalah sebuah penyunting teks dan penyunting kode sumber yang
berjalan di sistem operasi Windows. Notepad++ menggunakan komponen Scintilla untuk
dapat menampilkan dan menyuntingan teks dan berkas kode sumber berbagai bahasa
pemrograman. Bahasa pemrograman yang didukung oleh Notepad++ Didukung dalam hal
ini adalah dimengerti dan diterjemahkan menjadi teks oleh Notepad++. Misalnya pada C++,
fungsi-fungsinya akan di masukan kedalam daftar fungsi dan kata-katanya akan berubah
warna sesuai dengan makna kata tersebut di C++.
Berikut sejumlah bahasa pemrograman yang didukung oleh Notepad++ :
ActionScript, Ada, ASP, Assembler, autoIt
Batch
C, C++, C#, Caml, Cmake, COBOL, CSS
D, Diff
Flash ActionScript, Fortran
Gui4CLI
Haskell, HTML
Berkas INI, InnoSetup
Java, Javascript, JSP
KiXtart
LISP, Lua
Makefile, Matlab, MS-DOS
NSIS
Objective-C
Pascal, Perl, PHP, Postscript, PowerShell, Properties file, Python
R, Resource file, Ruby
Shell, Scheme, Smalltalk, SQL
TCL, TeX
Pascal, Perl, PHP, Postscript, PowerShell, Properties file, Python
XML
YAM
2.6.2 MySQL
Menurut (Hendra Kurniawan, 2011) dan (Eri dan Nur, 2012) Structured Query
Language (SQL) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis
data relasional. SQL juga dapat diartikan sebagai antarmuka standar untuk sistem manajemen
basis data relasional, termasuk sistem yang beroperasi pada komputer pribadi. SQL
memungkinkan seorang pengguna untuk mengakses informasi tanpa mengetahui dimana
lokasinya atau bagaimana informasi tersebut disusun.
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa
inggris : DataBase Management System) atau DBMS yang multi thread, dan multi user.
MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB,
dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan
satu orang Finlandia yang mendirikan MySQL AB adalah David Axmark, Alla Larsson, dan
Michael “Monty” Widenius.
MySQL adalah Relational DataBase Management System (RDBMS) yang
didistribusikan secara gratis dibawah lisensi General Public License (GPI), dimana setiap
orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang
bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam
database sejak lama, yaitu SQL. SQL adalah sebuah konsep pengoperasian database,
terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan
pengoperasian data dikerjakan dengan mudah secara otomatis. Contoh MySQL adalah
APACHE, XAMPP, WampServer.
2.6.3 Enterprise Architecture
Enterprise Archictecture (EA) atau lebih dikenal dengan arsitektur enterprise adalah
deskripsi dari misi stakeholder yang di dalamnya termasuk informasi,
fungsionalitas/kegunaan, lokasi organisasi dan parameter kinerja. EA adalah sebuah sistem
atau sekumpulan sistem (Osvalds, 2001).
Bagaimana implementasi dari EA bisa digunakan oleh organisasi adalah sebaiknya
organisasi mengadopsi sebuah metode atau framework yang bisa digunakan dalam
melakukan pengembangan arsitektur enterprise tersebut. Sehingga dengan adanya metode
EA diharapkan dapat mengelola sistem yang kompleks dan dapat menyelaraskan bisnis dan
TI yang akan diinvestasikan (Kourdi, 2007).
2.7 Pengujian Sistem (Testing)
2.7.1 Filosopi Pengujian
Pengujian sistem merupakan proses mengeksekusi sistem perangkat lunak untuk
menentukan apakah sistem perangkat lunak tersebut cocok dengan spesifikasi sistem dan
berjalan sesuai dengan lingkungan yang diinginkan (Fatta, 2007). Pengujian sistem sering
diasosiasikan dengan pencarian bug, ketidaksempurnaan program, kesalahan pada baris
program yang menyebabkan kegagalan pada eksekusi sistem perangkat lunak (Fatta, 2007).
Menemukan dan menghilangkan ketidaksempurnaan program disebut dedugging, yang
berbeda dengan pengujian sistem yang berfokus pada pengidentifikasian adanya
ketidaksempurnaan (Fatta, 2007).
2.7.2 Metode Pengujian Sistem
Beberapa test case harus dilaksanakan dengan beberapa perbedaan strategi transaksi,
query, atau jalur navigasi yang mewakili penggunaan sistem yang tipikal, kritis, atau
abnormal. Isu kunci pada pengembangan sistem adalah pemilihan sekelompok test case yang
cocok, sekecil, dan secepat mungkin, untuk meyakinkan perilaku sistem secara detail.
Pengujian harus mencakup unit testing, yang mencecek validasi dari prosedur dan fungsi –
fungsi secara independen dari komponen sistem yang lain. Kemudian modul testing harus
menyusul dilakukan untuk mengetahui apakah penggabungan beberapa unit dalam satu
modul sudah berjalan dengan baik, termasuk eksekusi dari beberapa modul yang saling
berelasi apakah sudah berjalan sesuai karakteristik sistem yang diinginkan. Berikut ini
kategori tes yang bisa dilakukan (Fatta, 2007) :
a. Stub Testing
Stub testing adalah pengujian yang difokuskan pada pengujian struktur kendali
sebelum semua modul dituliskan. Sistem perangkat lunak secara umum terdiri dari
modul yang berelasi, baik secara hierarki maupun relasional. Pengujian ini penting
untuk mengecek apakah struktur kendali sudah memetakan kinerja keseluruhan
modul secara tepat. Jika ada modul yang berfungsi memanggil modul yang lain
maka harus dipastikan semua modul bekerjasama dengan tepat.
b. Unit Testing
Pengujian unit digunakan untuk menguji setiap modul untuk menjamin setiap modul
menjalankan fungsinya dengan baik. Ada 2 metode untuk melakukan unit testing,
yaitu :
1. Black Box Testing
Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan
atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu
sesuai dengan proses bisnis yang diinginkan. Jika ada unit yang tidak sesuai
outputnya maka untuk menyelesaikannya, diteruskan pada pengujian yang
kedua, yaitu white box testing.
Dengan mengaplikasikan uji coba black box, diharapkan dapat menghasilkan
sekumpulan kasus uji yang memenuhi kriteria berikut (Ayuliana, 2009) :
a. Kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah dari uji
kasus tambahan harus didesain untuk mencapai uji coba yang cukup
beralasan.
b. Kasus uji yang memberitahukan sesuatu tentang keberadaan atau tidaknya
suatu jenis kesalahan, daripada kesalahan yang terhubung hanya dengan
suatu uji coba yang spesifik.
2. White Box Testing
White box testing adalah cara pengujian dengan melihat ke dalam modul untuk
meneliti kode – kode program yang ada, dan menganalisis apakah ada kesalahan
atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan
proses bisnis yang dilakukan, maka baris – baris program, variabel, dan
parameter yang terlibat pada unit tersebut dicek satu persatu dan diperbaiki,
kemudian dicompile ulang.
Dalam melakukan pengujian menggunakan metode white box ada 2 hal yang
perlu dilakukan, yaitu (Ayuliana, 2009) :
a. Uji Coba Basis Path
Merupakan teknik uji coba white box yang diusulkan Tom McCabe.
Metode ini memungkinkan perancang test case mendapatkan ukuran
kekompleksan logical dari perancangan prosedural dan menggunakan
ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur
pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set
yang menjamin pengerjaan setiap perintah minimal satu kali selama uji
coba.
b. Pengujian Loop
Loop merupakan kendala yang sering muncul untuk menerapkan algoritma
dengan tepat. Uji coba loop merupakan teknik pengujian white box yang
fokusnya pada validitas dari loop. Kelas loop yaitu loop sederhana, loop
tersarang, loop terangkai, dan loop tidak terstruktur.