BAB 2 TINJAUAN PUSTAKA
2.1
Landasan Teori 2.1.1 Inteligensia Semu
Inteligensia semu yang disebut dengan kecerdasan buatan atau Artificial Intelligence merupakan ilmu yang mempelajari cara membuat komputer melakukan sesuatu seperti yang dilakukan manusia (Kusumadewi, 2003, p1). Inteligensia semu juga merupakan bagian dari ilmu komputer yang bertujuan untuk menciptakan software dan hardware komputer untuk memberikan hasil yang sama dengan yang dihasilkan oleh manusia. (Turban dan Frenzel, 1992, p3). Inteligensia semu mengkombinasikan berbagai aspek seperti aspek psikologi, ilmu komputer, bahasa dan filosofi. Oleh karena itu, inteligensia semu disebut juga sebagai bidang multidisiplin dengan dua tujuan utama, yaitu: untuk menciptakan kemampuan komputer yang dapat membantu manusia memecahkan masalah, dan untuk memberikan kemudahan dalam menjelaskan penalaran, pembelajaran, mengerti, dan berpikir. Menurut Kusumadewi (2003, p7), inteligensia semu mempunyai banyak bidang terapan yaitu: 1. Expert System (Sistem Pakar) 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. Natural Language Processing (Pengolahan Bahasa Ilmiah) Dengan adanya pengolahan bahasa alami diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa seharihari. 3. Speech Recognition (Pengenalan Ucapan)
7
8 Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer dengan menggunakan suara. 4. Robotics and Sensory System (Robotika dan Sistem Sensor) 5. Computer Vision` Computer Vision mencoba untuk dapat menginterpretasikan gambar atau objek-objek tampak melalui komputer. 6. Intelligence Computer-Aided Instruction (ICAI). Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar. 7. Game Playing. Menurut Turban (1995, p 452-456) ruang lingkup inteligensia semu juga memiliki bidang terapan yang lain seperti: 1. Machine Learning (membuat mesin belajar). 2. Artificial Intelligence Phylosophy
(Filosofi inteligensia
semu). 3. Neural Network of Parallel Distributed Processing (pemrosesan jaringan saraf yang terdistribusi secara paralel).
2.1.2 Sistem Pakar 2.1.2.1 Definisi Sistem Pakar
Sistem pakar merupakan cabang inteligensia semu yang penerepannya paling cepat dan berkembang luas penerapannya dari cabang-cabang inteligensia semu lainnya. Hal ini dikarenakan sistem ini dapat membantu dalam memberikan saran yang hampir menyerupai seorang ahli pakar dalam menyelesaikan masalahmasalah dalam domain yang spesifik. Berikut ini merupakan definisi sistem pakar dari beberapa buku referensi sistem pakar diantaranya: •
Menurut Rich & Knight (1991, p547) Sistem pakar adalah sebuah sistem yang bertujuan untuk memecahkan masalah yang biasanya dilakukan oleh seorang pakar.
9 •
Menurut Turban (1995, p21) Sistem pakar adalah sebuah sistem yang menggunakan keahlian manusia yang disimpan dalam sebuah untuk
memecahkan
masalah-masalah
komputer
yang
biasanya
membutuhkan keahlian manusia. •
Menurut Kusumadewi (2003, p107) Sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Berdasarkan definisi-definisi diatas dapat disimpulkan bahwa
sistem pakar merupakan sebuah sistem yang memiliki kemampuan seperti seorang pakar dan mampu untuk menyelesaikan masalahmasalah yang spesifik. Sistem ini bekerja dengan menggunakan pertanyaan-pertanyaan dan mengindentifikasi jawaban berdasarkan fakta-fakta yang ada.
2.1.2.2 Kelebihan Sistem Pakar
Menurut Turban dan Frenzel (1992, pp94-98), sistem pakar memiliki beberapa kelebihan, yaitu: •
Meningkatkan output dan produktifitas Sistem pakar dapat bekerja lebih cepat dari manusia, sehingga dapat menghemat waktu dan biaya yang dikeluarkan.
•
Meningkatkan kualitas Sistem pakar dapat meningkatkan kualitas dengan memberikan saran yang konsisten dan dapat mengurangi terjadinya kesalahan (error rate).
•
Mengurangi downtime Banyak
sistem
pakar
operasional
digunakan
untuk
mendiagnosa kesalahan fungsi dan menentukan perbaikanperbaikan
yang
harus
dilakukan.
Sistem
pakar
dapat
mendeteksi kesalahan (malfunction) dalam produksi yang
10 terjadi sehingga dapat mengurangi terjadinya kehilangan waktu yang sangat merugikan perusahaan. •
Menyimpan kepakaran yang langka. Kelangkaan kepakaran menjadi nyata pada situasi dimana hanya terdapat sedikit pakar untuk suatu masalah, seperti pakar tersebut pensiun atau meninggalkan pekerjaannya. Sistem pakar dapat digunakan untuk memperoleh keahlian yang dimiliki oleh pakar tersebut.
•
Fleksibilitas Sistem pakar memberikan fleksibilitas dalam menyediakan pelayanan serta dalam pengembangannya.
•
Peralatan pengoperasian yang lebih mudah Sistem pakar dapat membuat peralatan yang kompleks pengoperasiannya sehingga menjadi lebih mudah untuk dioperasikan.
•
Penghilangan kebutuhan akan peralatan yang mahal Pada umumnya manusia harus bergantung pada peralatan yang mahal dalam melakukan pengawasan dan kontrol. Sistem pakar dapat melakukan tugas yang sama dengan peralatan yang lebih
murah
karena
sistem
ini
memiliki
kemampuan
melakukan penyelidikan informasi yang disediakan oleh peralatan tersebut secara menyeluruh dan cepat. •
Memiliki kemampuan untuk mengakses pengetahuan Sistem pakar membuat pengetahuan dan informasi menjadi lebih mudah untuk dapat diakses.
•
Kehandalan (reliabilitas) Sistem pakar dapat dihandalkan karena sistem pakar konsisten dan detail dalam memberikan solusi. Hal ini dikarenakan sistem pakar bukan manusia yang bisa lelah, bosan, atau sakit ketika mengambil keputusan, sehingga keputusan yang diambil lebih potensial.
•
Meningkatkan kemampuan dari sistem komputerisasi lain
11 Penggabungan sistem pakar dengan sistem yang lain menyebabkan sistem tersebut menjadi lebih efektif, bekerja lebih cepat, dan memberikan solusi dengan kualitas yang lebih baik. •
Penggabungan opini dari beberapa pakar Penggabungan opini dari beberapa pakar ke dalam basis pengetahuan
dapat
meningkatkan
kualitas
saran
dan
kesimpulan yang diberikan. Semakin banyak pengetahuan dimasukkan ke dalam sistem, maka semakin berkualias solusi yang diberikan. •
Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian. Sistem pakat dapat bekerja dengan informasi yang tidak lengkap, seperti jawaban “tidak tahu”, dengan menggunakan tingkat kemungkinan (probabilitas) terhadap hasil yang diberikan.
•
Penyedian pelatihan Sistem pakar dapat membantu bagi pemula yang bekerja dengan sistem pakar sehingga pengalamannya akan terus meningkat.
•
Memiliki kemampuan untuk memecahkan masalah yang sulit Sistem pakar mampu memecahkan masalah yang sulit dikarenakan sistem pakar memiliki pengetahuan yang hampir sama dengan pakarnya.
•
Memungkinkan untuk mentransfer pengetahuan ke tempat yang jauh Salah satu keuntungan utama dari sistem pakar adalah sistem pakar tersebut bisa menjangkau internasional, misalnya seperti seorang pakar yang sedang berada di luar negeri dan user bisa menemukan solusi dengan menggunakan sistem pakar.
2.1.2.3 Keterbatasan Sistem Pakar
12 Menurut Turban dan Frenzel (1992, pp98-99), sistem pakar juga memiliki keterbatasan, antara lain: •
Pengetahuan tidak selalu tersedia
•
Kepakaran sulit didapat dari seorang pakar
•
Pendekatan dari setiap pakar terhadap situasi yang dihadapi berbeda-beda
•
Sulit bagi seorang pakar untuk menilai situasi yang baik ketika berada di bawah tekanan waktu
•
Penggunaan sistem pakar memiliki keterbatasan kemampuan alami
•
Sistem pakar bekerja dengan baik hanya pada ruang lingkup yang sempit
•
Kosakata yang digunakan para pakar untuk mengekspresikan fakta dan hubungan biasanya terbatas dan tidak dimengerti oleh pakar lain
•
Konstruksi sistem pakar menjadi mahal karena dibutuhkan bantuan dari knowledge engineer yang jarang dan mahal
•
Kurang kepercayaan dari pengguna dapat menjadi halangan untuk penggunaan sistem pakar.
2.1.2.4 Konsep Sistem Pakar
Menurut Turban dan Frenzel (1992, pp78-81), konsep dasar sistem pakar terdiri atas: a. Expertise (keahlian) Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca dan pengalaman sendiri. Contoh bentuk pengetahuan yang termasuk keahlian adalah: 1. Fakta-fakta pada lingkup permasalahan tertentu 2. Teori-teori pada lingkup tertentu 3. Prosedur-prosedur
dan
aturan-aturan
lingkup permasalahan tertentu.
berkenaan
dengan
13 4. Strategi-strategi global untuk menyelesaikan masalah. 5. Meta-knowlegde (pengetahuan tentang pengetahuan). Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan seorang ahli. b. Expert (pakar) Pakar merupakan hal yang sulit untuk didefinisikan. Hal ini dikarenakan yang sebenarnya dibicarakan adalah derajat atau tingkatan dari keahlian atau kepakaran (expertise) seseorang. Pada
umumnya,
kepakaran
seorang
manusia
terdiri
dari
sekumpulan kebiasaan yang melibatkan beberapa aktifitas seperti di bawah ini: 1. Pengenalan dan penyimpulan masalah 2. Pemecahan permasalahan secara cepat dan tepat 3. Menerangkan pemecahan permasalahan 4. Belajar dari pengalaman 5. Merestrukturisasi pengetahuan secara menyeluruh 6. Pemecahan aturan-aturan yang harus dikerjakan dalam sistem 7. Menentukan hubungan yang sesuai dalam pemecahan masalah 8. Penyesuaian secara perlahan. c. Transferring Ecpertise (pengalihan keahlian) Tujuan utama dari sistem pakar adalah pengalihan keahlian yang dimiliki seorang pakar ke dalam suatu sistem komputer untuk kemudian dialihkan lagi ke orang lain yang bukan pakar. Proses ini membutuhkan 4 aktivitas yaitu: 1. Penambahan
pengetahuan
(knowlege
acquisition)
yaitu
kegiatan mencari dan mengumpulkan pengetahuan dari para ahli atau sumber keahlian yang lainnya. 2. Representasi pengetahuan (knowledge representation) adalah kegiatan menyimpan dan mengatur penyimpanan pengetahuan yang diperoleh kedalam komputer. Pengetahuan berupa fakta dan aturan disimpan dalam komputer sebagai sebuah komponen yang disebut sebagai basis pengetahuan,
14 3. Inferensi pengetahuan (knowledge inferencing) adalah kegiatan melakukan inferensi berdasarkan pengetahuan yang telah disimpan di dalam komputer. 4. Pengalihan pengetahuan (knowledge transfer) adalah kegiatan pemindahan pengetahuan dari komputer ke pemakai yang tidak ahli. Ada 2 tipe pengetahuan yaitu fakta dan prosedur yang biasanya berupa aturan-aturan. 1. Inference (kesimpulan) Kesimpulan dari sistem pakar adalah kemampuannya dalam memberikan penalaran, yaitu dengan menyimpan semua keahlian dalam basis pengetahuan dan ketersediaan program yang dapat mengakses basis data sehingga komputer dapat memberikan kesimpulan. Penarikan kesimpulan dilakukan oleh sebuah komponen yang disebut mesin inferensi / mesin pengambil kesimpulan
(inference
engine)
yang
berisi
aturan-aturan
penyelesaian masalah. 2. Rules (aturan) Sebagian besar dari sistem pakar merupakan sistem yang berbasiskan aturan. Sistem akan bekerja dengan menyimpan basis pengetahuan dalam bentuk aturan-aturan ke dalam komputer untuk pemecahan masalah. 3. Explanation capability (kemampuan menjelaskan) Setelah mengambil keputusan dari aturan-aturan yang ada, sistem pakar
memiliki
kemampuan
untuk
menjelaskan
atau
merekomendasikan sebuah solusi untuk digunakan dalam pemecahan masalah.
2.1.2.5 Komponen-Komponen Sistem Pakar
Menurut Turban (1995, pp 480-483), sistem pakar disusun oleh 2 bagian utama, yaitu: -
Lingkungan Pengembangan
15 Lingkungan pengembangan digunakan oleh perancang sistem pakar
untuk
membuat
komponen-komponen
dan
memperkenalkan pengetahuan ke dalam basis pengetahuan. -
Lingkungan Konsultasi Lingkungan
konsultasi
digunakan
oleh
non-pakar
untuk
memperoleh pengetahuan dan saran pakar. Beberapa komponen-komponen dalam sistem pakar antara lain: a) Knowledge Acquisition b) Knowledge Base (Knowledge Representation) c) Inference Engine d) Blackboard (Workplace) e) UserIinterface f)
Explanation Subsystems (Justifer)
g) Knowledge Refining System Berikut ini adalah penjelasan yang terperinci mengenai komponen-komponen yang ada pada sistem pakar tersebut adalah : a) Knowledge Acquisition Menurut Turban (1992, p82) Knowlege Acquisition adalah akumulasi, pengiriman, dan transformasi dari kepakaran dalam memecahkan masalah yang berasal dari beberapa sumber pengetahuan ke dalam program komputer untuk dibangun dan dikembangkan menjadi basis pengetahuan (knowledge base). Berdasarkan Turban dan Frenzel (1992, pp-126-128) proses akuisisi pengetahuan dibagi ke dalam 5 tahap, yaitu: 1. Identifikasi Pada tahapan ini diidentifikasi masalah yang akan dikaji. Masalah bisa menjadi beberapa sub-masalah jika perlu, partisipan (pakar dan pengguna) diidentifikasi, dan sumber daya diuraikan. Knowledge engineer mempelajari situasi dan menyetujui maksud dari pembuatan aplikasi kecerdasan buatan. 2. Konseptualisasi Konseptualisasi merupakan tahapan dalam menentukan konsep untuk menggambarkan pengetahuan yang relevan
16 dengan mengambil keputusan untuk situasi yang sangat beragam sehingga perlu ditentukan konsep dan hubungannya. 3. Perumusan Pengetahuan diperoleh untuk direpresentasikan ke dalam basis pengetahuan. Bagaimana pengetahuan diorganisasikan dan dipresentasikan dapat menentukan metodologi akuisisi. 4. Implementasi Pada tahap ini, dilakukan pemrograman dari pengetahuan ke dalam komputer. Perbaikan pengetahuan dibuat dengan penambahan akuisisi atau perubahan. Sebuah prototipe sistem pakar dikembangkan pada tahapan ini. 5. Pengujian Pada tahap ini, seorang knowledge engineer akan menguji sistem dengan memakai contoh-contoh kasus yang ada. Kemudian hasilnya akan ditunjukkan kepada pakar-pakar dan aturan-aturannya akan direvisi bila diperlukan. Dengan kata lain validitas dari pengetahuan diperiksa. b) Knowledge Base (Knowledge Representation) Knowledge base adalah pengetahuan yang penting untuk memperoleh pengertian, memformulasikan, dan memecahkan masalah. Dimana knowledge base mempunyai dua elemen dasar yang terdiri dari: fakta-fakta dan heuristik (aturan-aturan). Basis pengetahuan memuat fakta-fakta mengenai area masalah, dan teknik menerangkan masalah yang menjelaskan bagaimana fakta-fakta tersebut cocok satu dengan yang lain dalam urutan yang logis. Basis pengetahuan juga dapat berisi konsep-konsep, teori-teori, dan prosedur-prosedur yang mudah dilaksanakan penggambaran pengetahuan (representasi) yang diorganisasikan ke dalam suatu bentuk yang dapat diakses oleh sistem pakar untuk pengambilan keputusan. Banyak penggambaran
model
yang
pengetahuan
dapat (Knowledge
digunakan
untuk
Representation).
Pemulihan model yang akan digunakan didasarkan pada permasalahan yang dihadapi. Beberapa teknik digunakan pada
17 sebagian besar sistem pakar yang sudah dibuat. Namum beberapa masalah memerlukan model yang unik. Model-model yang digunakan dalam penggambaran pengetahuan antara lain model jaringan semantik, frames, rules, propositional logic, O-A-V triplets, hybrids, dan scripts. Adapun beberapa cara mempresentasikan pengetahuan (Turban dan Frenzel, 1992, pp170-187) yaitu melalui: 1. Logika (logic). Dua bentuk komputasi logic adalah propositional logic (logika proposisi) dan predicate logic (logika predikat). a. Logika proposisi adalah sebuah pernyataan yang bisa bernilai benar atau salah yang dapat menjadi premis yang dapat digunakan untuk menurunkan proporsi baru.
Aturan
kebenaran
digunakan
(true)
atau
untuk
kesalahan
menentukan (false)
pada
proposisi baru. Pada logika proposisi digunakan simbol seperti huruf alfabet untuk menampilkan berbagai proposisi, premis, atau kesimpulan. Contoh: Pernyataan A : Hanna pulang ke rumah setiap hari Sabtu dan Minggu. Pernyataan B : Hari ini adalah hari Senin. Kesimpulan : Hari ini Hanna tidak pulang ke rumah. b. Logika predikat Logika predikat merupakan bentuk logika yang lebih kompleks dimana konsep dan aturan yang digunakan sama dengan logika proposisi. Logika predikat memberikan kemampuan tambahan untuk merepresentasikan
pengetahuan
secara
Iebih
mendetil. Logika predikat memungkinkan untuk penguraian
obyek, karakteristik obyek, atau p
enegasan obyek. 2. Semantic Network
18 Semantic Network adalah gambaran grafis dari pengetahuan yang terdiri dari simpul (node) dan hubungan antara node (link) yang memperlihatkan hubungan hirarkis antara objek. 3. Script Script merupakan bentuk representasi pengetahuan yang mirip dengan frame, tetapi selain menggambarkan obyek, script juga menggambarkan uturan kejadian-kejadian. 4. List List adalah daftar tertulis dari item-item yang saling berhubungan. Bisa berupa daftar orang yang anda kenal, barang-barang yang harus dibeli di pasar swalayan, hal-hal yang harus dilakukan minggu ini, atau produk-produk dalam suatu katalog. 5. Tabel keputusan Tabel keputusan adalah pengetahuan yang diatur dalam bentuk format lembar kerja (spreedsheet), menggunakan kolom dan garis. 6. Pohon keputusan Pohon keputusan adalah tree yang berhubungan dengan tabel keputusan dan sering digunakan dalam analisis sistem (bukan sistem kecerdasan buatan). 7. Objects, Atrribute, dan Values Salah satu cara yang paling umum untuk mempresentasikan pengetahuan
adalah
dengan
menggunakan
objects,
atrribute, dan value (O-A-V triplet). Object dapat berupa fisik atau konseptual. Atrribute adalah karakteristik dari object. Value adalah ukuran spesifik dari atrribute dalam situasi tertentu. Representasi pengetahuan menggunakan OA-V triplet dapat dilihat pada tabel 2.1.
19 Tabel 2.1 Representatif O-A-V (Turban dan Frenzel, 1992, p180)
Object Rumah Rumah
Atrributes Kamar tidur Warna
Values 2, 3, 4 Hijau, putih,
Penerimaan di
Rata-rata nilai ujian 3.0, 3.5, 3.7
masuk Kontrol inventori Level dari inventori 15, 20, 30 Kamar tidur Ukuran 9 x 10, 10 x 12
8. Production System Production System dikembangkan oleh Newell dan Simon sebagai model dari pemikiran manusia. Ide dasar dari sistem ini
adalah
pengetahuan
yang
digambarkan
sebagai
production rules dalam bentuk pasangan kondisi-aksi. Production system terbentuk dari production rules yang berupa: a. Antecedent, yaitu
bagian
yang
mengekspresikan
situasi atau premis (pernyataan berawalan IF). b. Konsekuen, yaitu bagian yang menyatakan suatu tindakan tertentu atau konklusi yang diterapkan jika suatu situasi atau premis bernilai benar (pernyataan berawalan THEN) Contoh : Aturan 1 : IF konflik internasional mulai THEN harga emas naik. Aturan 2 : IF laju inflasi berkurang THEN harga emas turun. Aturan 3 : IF konflik internasional berlangsung lebih dari tujuh hari AND IF IF konflik terjadi di Timur Tengah THEN beli emas 9. Frame
20 Frame adalah struktur data yang berisi semua pengetahuan tentang obyek tertentu. Pengetahuan ini diatur dalam suatu struktur hirarki khusus yang memperbolehkan
diagnosa
terhadap
indpendansi
pengetahuan. Frame pada dasarnya adalah aplikasi dari
pemograman
berorientasi
obyek
untuk
kecerdasan buatan dan sistem pakar.
2.1.2.6 Knowledge Inferences
Dalam perancangan sistem pakar ini, komputer diharapkan mampu membuat kesimpulan-kesimpulan (inferences) yang berdasarkan pengetahuan. Ada dua teknik dalam inference, yaitu: 1. Forward chaining atau penelusuran ke depan merupakan pendekatan data-driven, yaitu pencarian yang dimulai dari sekumpulan data menuju ke kesimpulan (goal) 2. Backward chaining
atau penelusuran ke belakang
merupakan pendekatan goal-driven, yaitu penelusuran yang dimulai dari tujuan (goal) sampai ke kondisi awal. Kedua teknik diatas dipengaruhi oleh 2 macam teknik penelusuran, yaitu: 1. Depth-first search adalah penelusuran yang dimulai dari simpul atau akar yang paling atas (utama) bergerak turun ke simpul yang paling dasar secara berurutan. Proses ini berlanjut sampai satu solusi ditemukan, atau melakukan penelusuran ke belakang (back tracking) apabila mencapai jalan yang buntu. 2. Breadth-first search adalah penelusuran yang dimulai dari simpul atau akar yang paling atas, setiap simpul pada tiap level diperiksa seluruhnya sebelum pindah ke level berikutnya, dan setiap lingkaran memiliki nomor yang menunjukkan urutan simpul-simpul diperiksa. Metode breadth first search akan selalu menemukan jalan terpendek
21 antara kondisi awal dengan kondisi akhir, dengan jumlah langkah yang sedikit.
2.1.2.7 Permasalahan yang Disentuh Sistem Pakar
Ada beberapa masalah yang menjadi area luas aplikasi sistem pakar antara lain (Kusumadewi 2003, p122): •
Interpretasi. Pengambilan dari hasil observasi, termasuk diantaranya : pengawasan, pengenalan ucapan, analisa citra, interpretasi sinyal, dan beberapa analisis kecerdasan.
•
Prediksi.
Termasuk
diantaranya
peramalan,
prediksi
demografis, peramalan ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, peramalan keuangan. •
Diagnosa. Termasuk diantaranya : medis, elektronis, mekanis, dan diagnosa perangkat lunak.
•
Perancangan. Termasuk diantaranya : layout sirkuit
dan
perancangan bangunan. •
Perencanaan. Termasuk diantaranya : perencanaan keuangan, komunikasi, militer, pengembangan produk, routing dan manajemen proyek.
•
Monitoring. Misalnya : Computer-Aided Monitoring System.
•
Debugging. Misalnya memberikan resep obat terhadap suatu kegagalan.
•
Perbaikan.
•
Instruksi. Melakukan instruksi untuk diagnosa, debugging, dan perbaikan kerja.
•
Kontrol. Melakukan kontrol terhadap interpretasi, prediksi, perbaikan, dan memonitoring kelakuan sistem.
2.1.2.8 Pengembangan Sistem Pakar
Diperlukan beberapa tahapan dalam mengembangkan sistem pakar (Kusumadewi 2003, pp122-15) terlihat dalam Gambar 2.1.
22
Gambar 2.1 Tahap-tahap pengembangan sistem pakar (Kusumadewi 2003, p1230)
Secara garis besar pengembangan sistem pakar pada Gambar 2.1 adalah sebagai berikut: 1. Mengindentifikasi masalah dan kebutuhan. Mengkaji situasi dan memutuskan dengan pasti tentang masalah yang akan dikomputerisasi dan apakah dengan sistem pakar bisa lebih membantu atau tidak. 2. Menentukan masalah yang cocok. Ada beberapa syarat yang harus dipenuhi agar sistem pakar dapat bekerja dengan baik, yaitu: • Domain masalah tidak terlalu luas • Kompleksitas menengah, artinya jika masalah terlalu mudah (dapat diselesaikan dalam beberapa detik saja) atau masalah yang sangat kompleks seperti
23 peramalan inflasi yang tidak perlu menggunakan sistem pakar. • Tersedianya ahli • Menghasilkan solusi mental bukan fisik, artinya sistem pakar hanya memberikan anjuran dan tidak bisa melakukan aktivitas fisik seperti membau dan merasakan • Tidak melibatkan hal-hal yang bersifat common sense, yaitu penalaran yang diperoleh dari pengalaman, seperti : jika lampu lalulintas merah maka kendaraan akan berhenti. 3. Mempertimbangkan alternatif dengan 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. 6. Rekayasa
pengetahuan
yaitu
dengan
melakukan
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 seperti memperbaharui pengetahuan dan meluweskan sistem agar bisa lebih baik lagi dalam menyelesaikan masalah.
24 2.1.3 Android 2.1.3.1
Pengertian Android
Android adalah platform berupa sistem operasi yang opensource dan komprehensif pertama untuk perangkat mobile, perangkat lunak untuk menjalankan ponsel tetapi tanpa hambatan kepemilikan sehingga meningkatkan inovasi dalam teknologi mobile. (Reto Meier, 2010, p4).
2.1.3.2 Struktur
Menurut Reto Meier (2010, p13-p14), struktur aplikasi sistem operasi berbasis android adalah sebagai berikut : Berikut penjelasan dari Arsitektur Android yaitu : 1. Applications : semua aplikasi, baik native dan third party dibuat pada layer aplikasi menggunakan API libraries yang sama. 2. Application Framework : paparan berbagai kemampuan dari OS Android untuk pengembang aplikasi sehingga pengembang dapat menggunakan berbagai kemampuan itu kedalam aplikasi 3. Libraries : berisi senua code yang menyediakan fitur utama dari OS Android 4. Android Runtime : terletak pada layer yang sama seperti libraries,
Gambar 2.2 Struktur Android
25
5. Android Runtime menyediakan satu set inti libraries yang memungkinkan pengembang untuk menulis aplikasi Android menggunakan bahasa pemrograman Java 6. Linux Kernel : merupakan kernel dasar dari Android. Layer ini berisi semua low level device drivers untuk berbagai komponen perangkat keras dari perangkat Android.
2.1.3.3 Forward Chaining
Forward chaining merupakan metode inferensi yang melakukan penalaran dari suatu masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining. Contoh: Terdapat 10 aturan yang tersimpan dalam basis pengetahuan yaitu : R1 : if A and B then C R2 : if C then D R3 : if A and E then F R4 : if A then G R5 : if F and G then D R6 : if G and E then H R7 : if C and H then I R8 : if I and A then J R9 : if G then J R10 : if J then K Faka awal yang diberikan hanya A dan E, ingin membuktikan apakah K bernilai benar. Proses penalaran forward chaining terlihat pada gambar dibawah :
26
Gambar 2.3 Forward Chaining
2.1.4 Unified Modeling Language
Unified Modeling Language adalah sebuah gambaran berdasarkan objek yang berorientasi pada analisis dan desain menggunakan model untuk membantu dalam pengembangan perangkat lunak, pemahaman yang berkelanjutan, dan memberikan cara komunikasi yang lebih baik dalam merepresentasikan alur maksud dan tujuan. (Whitten & Bentley, 2007)
2.1.4.1 Diagram Unified Modeling Language
Adapun
diagram-diagram
yang
menggunakan
notasi
Unified
Modelling Language (UML) dalam pengembangan perangkat lunak menurut Whitten dan Bentley (2007) adalah sebagai berikut:
1. Use-Case Diagram Diagram yang mendefinisikan urutan interaksi antara pelaku (objek yang terlibat dalam sebuah sistem) dan sistem itu sendiri. Pelaku/actor digambarkan sebagai objek berupa stick figure pada usecase diagram, sedangkan batasan sistem digambarkan sebagai sebuah kotak. Untuk pelaku yang bertindak sebagai sistem ditambah label <<system>> (Whitten & Bentley, 2007).
27
Gambar 2.4 Contoh Use-Case Diagram (Whitten & Bentley, 2007)
Selain itu terdapat pula pelaku yang bukan merupakan bagian dari sistem utama tetapi bertindak sebagai pengatur waktu. Biasanya pelaku tersebut diberi label “Time”. Tindakan atau kegiatan yang dilakukan atau dikenakan kepada pelaku digambarkan dengan bentuk sebuah ellips. Tindakan atau kegiatan yang dilakukan oleh pelaku tersebut merupakan salah satu bagian rangkaian komponen dalam sistem sehingga dibutuhkan batasanbatasan sistem.
28 Tabel 2.2 Tabel Simbol pada Use-Case Diagram
29 2.
Class Diagram
Diagram yang mengklasifikasikan objek dalam bentuk sebuah class, kemudian digambarkan dalam objek yang berbentuk kotak, dan dihubungkan dengan sebuah garis yang merepresentasikan sebuah bentuk hubungan yang memiliki tujuan (relationship). Untuk pengembang perangkat lunak, dibutuhkan simbol visibility, untuk membantu proses pemindahan dari diagram ke kode program. (Whitten & Bentley, 2007)
Tabel 2.3 Tabel Simbol Visibility pada Class Diagram
30
Gambar 2.5 Contoh Class Diagram (Whitten & Bentley, 2007)
31
Adapun 3 bentuk hubungan (relationship) dalam class diagram adalah sebagai berikut : •
Association yaitu bentuk hubungan statis antara dua atau lebih class. Association memiliki bentuk berupa garis dengan panah hitam kecil untuk menunjukan arah class yang dituju. Pada setiap akhir garis biasanya terdapat label yang menjelaskan banyaknya jumlah association di class yang dituju. Banyaknya jumlah association menentukan berapa banyak instansi dari satu class yang dapat berhubungan dengan instansi dari class lain.
Tabel 2.4 Tabel Indikator Relationship pada Class Diagram
•
Composition adalah bentuk hierarki hubungan yang bersifat keseluruhan. Composition diwakili dengan objek berbentuk segi empat dengan warna hitam yang merepresentasikan
penuh
atau
keseluruhan.
Aggregation adalah bentuk hierarki hubungan yang
32 bersifat sebagian. Aggregation diwakili dengan objek berbentuk
segi
empat
berongga
yang
merepresentasikan sebagian.
Gambar 2.6 Contoh penerapan Association pada Aggregation dan Composition (Whitten & Bentley, 2007) •
Generalization / Specialization adalah hubungan yang bersifat warisan (inheritance). Sebuah Generalization / Specialization
digambarkan
sebagai
panah
yang
bergabung antara subclass (anak) dengan superclass (induk), dengan panah menyentuh kotak superclass dari subclass.
33
Gambar 2.7 Contoh Generalization dan Specialization (Whitten & Bentley, 2007)
Tiap relationship pada class diagram menghubungkan antar class dengan class lainnya. Dalam pengembangannya, class diagram dapat menghubungkan antara pengembang perangkat lunak dengan pengguna.
3.
Activity Diagram Diagram yang menggambarkan aliran kontrol dan urutan antar
kegiatan. Sebuah activity diagram menunjukkan urutan kegiatan, keputusan, perulangan, dan kegiatan yang dilakukan bersamaan. Activity diagram yang banyak digunakan dalam pemodelan alur kerja , misalnya untuk aplikasi berorientasi layanan. (Whitten & Bentley, 2007)
34 Tabel 2.5 Tabel Simbol pada Activity Diagram
35
Gambar 2.8 Contoh Activity Diagram dengan Partition (Whitten & Bentley, 2007)
36 2.1.5
Pneumonia
2.1.5.1 Pengertian Pneumonia
Radang paru atau yang lebih dikenal dengan sebutan pneumonia merupakan penyakit saluran napas bawah akut yang biasanya disebabkan oleh infeksi (Jeremy, 2007). Pneumonia sendiri adalah suatu proses infeksi akut yang mengenai jaringan paru-paru (alveoli) dan dapat dikenali berdasarkan pedoman tanda-tanda klinis lainnya serta pemeriksaan penunjang seperti rontgen dan laboratorium (Wilson, 2006) . Pneumonia merupakan penyakit yang sangat serius dan menjadi salah satu penyebab kematian tertinggi di dunia. Ironisnya, faktor risiko utama kematian ternyata akibat pemberian antibiotik yang tidak tepat.
2.1.5.2 Penyebab Pneumonia
Menurut Bartlett, (2008), ada beberapa hal yang menyebabkan penyakit pneumonia, antara lain: 1. Bakteri Bakteri merupakan yang paling sering menyebabkan pneumonia pada orang dewasa
seperti: Streptococcus pneumoniae,
Staphylococcus aereus, Legionlla, dan Hemophilus influenzae. 2. Virus Virus yang menyebabkan pneumonia adalah virus influenza dan chicken-pox (cacar air). 3. Organisme mirip bakteri Organisme mirip bakteri atau yang disebut dengan Mycoplasma pneumoniae ini sering menyerang anak-anak dan remaja. 4. Jamur tertentu Adapun cara jamur ini masuk sampai ke paru-paru melalui: •
Inchalasi (penghirupan) dari udara yang tercemar
•
Aliran darah yang terinfeksi dari organ tubuh yang lain
37 •
Perpindahan jamur langsung dari infeksi di dekat paruparu
5. Alkohol, rokok, gangguang sistem kekebalan tubuh karena obat tertentu, dan penerima organ transplantasi merupakan penyebab yang rentan menyerang anak muda. 6. Pneumonia juga bisa terjadi setelah melakukan pembedahan pada perut atau cedera dada yang mengakibatkan kesulitan untuk bernafas dalam, batuk dan mengeluarkan lendir yang tertahan
2.1.5.3 Gejala Pneumonia
Menurut John G. Bartlett, MD (2008), gejala-gejala pneumonia yang bisa ditemukan adalah sebagai berikut: -
Batuk berdahak
-
Nyeri dada
-
Sesak nafas
-
Laju pernafasan meningkat
-
Demam, menggigil, dan tidak enak badan
-
Mudah lelah
-
Mual, muntah, nafsu makan berkurang
-
Nyeri perut
-
Kekakuan otot dan sendi
2.1.5.4 Jenis Pneumonia
Ada
dua
jenis
pneumonia
yang
didapat
berdasarkan
sumbernya, yaitu Pneumonia yang di dapat dari rumah sakit dan Pneumonia yang di dapat dari komunitas (Soeparman, 1991, pp245247): •
Pneumonia yang didapat dari rumah sakit Pneumonia ini sering disebut dengan hospital-acquired pneumonia (HAP) didefinisikan sebagai infeksi paru yang
38 berkembang sekurang-kurangnya 48 jam setelah dirawat di rumah sakit. HAP disebabkan oleh hasil organisme yang resisten seperti Klebsiella, Pseudomonas, Acinetobacter yang terdapat di rumah sakit. •
Pneumonia
yang
didapat
dari
komunitas
Pneumonia ini sering disebut dengan community-acquired pneumonia (CAP) merupakan infeksi paru-paru yang terjadi pada pasien yang tidak baru saja dirawat di rumah sakit dan tidak berisiko aspirasi.