BAB 2 LANDAS AN TEORI
Bab ini berisi teori- teori pendukung yang digunakan dalam pembuatan aplikasi ini, di antaranya adalah pengertian kecerdasan buatan, pengertian sistem pakar, metode Fuzzy Logic, dan hal-hal yang terkait. 2.1
Teori Umum 2.1.1 Rekayasa Piranti Lunak 2.1.1.1 Pengertian Rekayasa Piranti Lunak M enurut Pressman (2005, p54), rekayasa perangkat lunak adalah sebuah teknologi yang terdiri dari lapisan (layer), yaitu : •
Fokus pada kualitas (A Quality Focus) Pendekatan teknik apapun (termasuk rekayasa perangkat lunak) harus bersandar pada komitmen organisasi terhadap suatu mutu. Total kualitas
manajemen dan filosofi yang sama mendorong
budaya perbaikan proses yang berkesinambungan dan budaya inilah yang pada akhirnya mengarah pada pengembangan pendekatan yang semakin dewasa untuk rekayasa perangkat lunak. Fondasi yang mendukung rekayasa perangkat lunak adalah focus pada kualitas.
7
8
•
Proses (Process) Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses pada rekayasa perangkat lunak adalah perekat yang memegang teknologi lapisan (layer)
bersama-sama dan memungkinkan
pengembangan perangkat lunak yang rasional dan tepat waktu. Proses mendefinisikan sebuah kerangka kerja untuk suatu set key process areas (KPAs) yang harus ditetapkan untuk penyampaian (delivery) yang efektif dari teknologi rekayasa perangkat lunak. Key process areas membentuk dasar bagi kontrol manajemen proyek perangkat lunak dan menetapkan konteks metode-metode teknis mana yang diterapkan, produk kerja (model, dokumen, data, laporan, form, dll) yang diproduksi, milestone yang ditetapkan, kualitas yang terjamin dan perubahan yang dikelola dengan baik. •
M etode (Method) M etode rekayasa perangkat lunak menyediakan teknis “bagaimana” untuk membangun perangkat lunak . M etode mencakup tugas yang mencakup
analisis
kebutuhan
(requirement analysis),
design
(design), program konstruksi (program construction), pengujian (testing), pemeliharaan (maintenance). •
Alat Bantu (Tools) Alat bantu otomatis atau semi-otomatis menyediakan dukungan untuk proses dan metode. Ketika alat-alat diintegrasikan sehingga informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat
9
lainnya, sebuah sistem untuk mendukung perangkat lunak, yang disebut computer-aided software engineering (CASE), didirikan. CASE menggabungkan software, hardware, dan database (sebuah repository berisi informasi penting tentang analisis, desain, program konstruksi, dan pengujian) untuk menciptakan lingkungan rekayasa perangkat lunak yang analog dengan computer-aided engineering (CAE) untuk hardware
Gambar 2.1 Lapisan pada rekayasa perangkat lunak (Pressman, 2005) 2.1.1.2 Kerangka Proses (A Process Framework) Sebuah kerangka proses (a process framework) menetapkan dasar bagi proses perangkat lunak yang lengkap dan mengidentifikasi sejumlah kecil aktivitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, tanpa memandang ukuran atau kompleksitas. Selain itu, kerangka proses mencakup serangkaian kegiatan yang berlaku di seluruh proses perangkat lunak. Berikut kerangka proses (process framework) yang berlaku untuk sebagian besar proses perangkat lunak : •
Komunikasi (Communication)
10
Aktifitas kerangka kerja ini melibatkan komunikasi dan kolaborasi dengan
pelanggan
(dan
stackholder
lainnya)
dan
meliputi
persyaratan pengumpulan kegiatan terkait lainnya. •
Perencanaan (Planning) Aktifitas kerangka kerja ini menetapkan suatu rencana untuk rekayasa perangkat lunak yang menggambarkan tugas-tugas teknis yang akan dilakukan, resiko yang mungkin, sumber daya yang dibutuhkan, pekerjaan produk yang harus dihasilkan, dan jadwal kerja.
•
Pemodelan (Modelling) Aktifitas kerangka kerja ini meliputi pembuatan model yang memungkinkan pengembang (developer) dan client untuk lebih memahami kebutuhan perangkat lunak (software requierement) dan desain untuk pencapaian requirement tersebut.
•
Konstruksi (Construction) Aktifitas kerangka kerja ini menggabungkan kegiatan coding (baik maual maupun otomatis) dan pengujian (testing) yang diperlukan untuk mengungkapkan kesalahan dalam kode.
•
Deployment Perangkat lunak (sebagai entitas lengkap atau selesai sebagian) diberikan kepada client dimana client yang akan mengevaluasi dan memberikan umpan balik berdasarkan hasil evaluasi.
11
2.1.1.3 Prespektif Model Proses Perangkat Lunak M enurut Pressman (2005, p78), setiap organisasi yang membangun suatu software harus menetapkan sebuah kerangka kerja yang unik untuk proses perangkat lunak. Terlepas dari model proses perangkat lunak yang dipilih, seorang software engineer pada umumnya memikih kerangka proses yang mencakup kerangka kerja : komunikasi (communication), perencanaan (planning),
pemodelan
(modelling),
konstruksi
(construction)
dan
deployment. Perspektif model proses perangkat lunak disebut prespektid karena model proses menetapkan (mempreskriptif) seperangkat kerangka proses kegiatan, kegiatan rekayasa perangkat lunak, tugas, produk kerja, jaminan mutu (quality assurance), dan perubahan mekanisme control untuk setiap proyek. Setiap model proses perangkat lunak juga menetapkan alur kerja (workflow) yaitu cara dimana elemen-elemen proses saling terkait satu sama lain. 2.1.1.4 Model Proses WaterFall M enurut Pressman (2005,p79), mode proses WaterFall, yang juga dikenal dengan classinc life cycle, adalah model proses yang sistematis, pendekatan yang berurutan dalam pengembangan perangkat lunak yang diawali dengan spesifikasi kebutuhan-kebutuhan (requirements) client dan akan melalui perencanaan (planning), pemodelan (modelling), konstruksi (construction), dan deployment, yang berpuncak pada penyelesaian perangkat lunak.
12
Gambar 2.2 M odel Proses Waterfall (Pressman, 2005) 2.1.1.5 The Unified Modelling Language (UML)
Unified Modelling Language (UM L) adalah sebuah “bahasa” yang telah menjadi standar
dalam industry
untuk visualisasi,
merancang dan
mendokumentasikan system piranti lunak. UM L menawarkan sebuah standart untuk merancang model sebuah system. (Wahono, R.S, 2003). Dengan menggunakan UM L kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, system operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UM L juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan pirate lunak dalam bahasa-bahasa berorientasi obyek seperti C++, Java, C# atau VB.NET.
13
a)
Konsepsi Dasar UML Konsepsi dasar UM L bisa kita rangkumkan dalam gambar di bawah
ini : Tabel 2.1 Konsepsi Dasar UM L
Abstraksi konsep
dasar
UM L yang terdiri dari structural
classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar di atas dari diagrams main
14
concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagram tersebut. Untuk menguasai UM L, sebenarnya cukup dua hal yang harus kita perhatikan, yaitu : 1.
M enguasai pembuatan diagram UM L
2.
M enguasai langkah-langkah dalam analisa dan pengembangan
dengan UM L. Langkah-langkah Penggunaan UM L : 1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. 2. Petakan
use
case
untuk
tiap
business
process
untuk
mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan dilengkapi dengan requirement, constraints dan catatan-catatan lain. 3. Buatlan deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem. 4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem. 5. Berdasarkan use case diagram, mulailah membuat activity diagram. 6. Definisikan obyek-obyek level atas (package atau domain) dan buatlah sequence dan atau collaboration diagram untuk tiap alir pekerjaan.
15
Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk rnasing-masing alir. 7. Buatlah rancangan user mreface model yang menvediakan antarmuka bagi pengguna untuk menjalankan skenario use case. 8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit rest untuk menguji fungsionalitas class dan interaksi dengan class lain. 9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah komponen diagram pada tahap ini. Juga, definisikan tes integrasi unnik setiap komponen meyakinkan ia berinteraksi dengan baik. 10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node. 11. M ulailah membangun sistem. Ada dun pendekatan yang dapat digunakan : •
Pendekatan use case, dengan meng-assign setiap use case
kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes. •
Pendekatan
komponen,
yaitu
meng-assign
komponen kepada tim pengembang tertentu.
setiap
16
12. Lakukan uji modul dan uji integrasi serta perbaiki model beserta code-nya. M odel harus selalu sesuai dengan code yang actual. 13. Aplikasi siap dirilis. b)
Diagram UML Diagram UM L dikelompokkan menjadi empat perspektif yang
berbeda untuk memodelkan suatu sistem, antara lain : ¾ Diagram Activity Diagram activity seperti diagram state, merupakan diagram yang dapat digunakan untuk memahami alur kerja dari obyek/komponen yang dilakukan. Diagram activity dapat digunakan untuk memvisualisasikan interelasi dan interaksi antara use case yang berbeda, serta sering dipakai untuk mengasosiasikan dengan class yang berbeda. Kekuatan diagram activity adalah mempresentasikan concurrent activity. (Thimoty C, 2002) Diagram activity menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-mas ing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Diagram activity juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi. (Wahono, R.S, 2003) Diagram acticity merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu diagram activity tidak menggambarkan behavior internal sebuah sistem
17
(dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana actor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UM L menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk
menggambarkan
behavior
pada
kondisi
tertentu.
Untuk
mengikustrasikan proses-proses pararel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertical. Diagram activity dapat dibagi menjadi beberapa object swinlane untuk menggambarkan obyek mana yang bertanggung jawab untuk aktivitas tertentu. ¾ Diagram Sequence Diagram sequence adalah diagram yang menunjukan urutan dari pertukaran pesan antar obyek dan tugas yang dilakukan, dan merupakan diagram yang menjelaskan urutan kejadian dari system (urutan lacak kejadian). (Thimoty C, 2002) Diagram sequence menggambarkan interaksi antar obyek di dalam dan di sekitar system (termasuk pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu.
18
Diagram sequence terdiri antar dimensi vertical (waktu) dan dimensi horizontal obyek-obyek yang terkait.(Wahono,R.S,2003) Diagram sequence biasa digunakan untuk menggambarkan scenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-tigger aktivitas tersebut, proses dan perubahan apa saja terjadi secara internal dan output apa yang dihasilkan. M asing-masing obyek, termasuk actor, memiliki lifetime vertical. Message digambarkan sebagai garis berpanah dari satu obyek ke obyek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukan lamanya eksekusi sebuah proses, basanya diawali dengan diterimanya sebuah message. Untuk obyek-obyek yang memiliki sifat khusus, standar UM L mendefinisikan icon
khusus untuk obyek boundary, controller
persistent entity. Diagram sequence digunakan untuk : •
Overview perilaku system
•
Menunjukan obyek-obyek yang diperlukan
•
M edokumentasikan skenatio dari diagram use case
•
M eberi jalur-jalur penaksesan Notasi diagram sequence :
dan
19
Gambar 2.3 Diagram Sequence (Thimoty C, 2002) ¾ Diagram Class Diagram class merupakan diagram yang terdiri dari sekumpulan obyek yang memiliki atribut-atribut dan method. Obyek adalah sebuah benda/unit/sifat kerja yang memiliki atribut-atribut. Operasi adalah procedural abstraction yang menspesifikasi tipe dari perilaku yang terdiri dari fungsi. Super class adalah class induk yang nantinya mempunyai class-class yang terdiri dari class dan subclass. (Thimoty C,2002) Class
adalah sebuah spesifikasi yang jika diinstansiasi akan
menghasilkan sebuah obyek dan merupakan inti dari pengembangan dan desain
berorientasi
obyek.
Class
menggambarkan
keadaan
(atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Jadi, class diagram menggambarkan struktur dan desktipsi class, package dan obyek beserta hubungan satu sama lain seperti containtment, pewarisan, asosiasi dan lain-lain. (Wahono, R.S, 2003)
20
Diagram class terdiri dari : a. Nama class b. Atribut c. Operasi Nama Class
Attributes Operasi Gambar 2.4 Diagram Class (Wahono, R.S, 2003) Atribut dan metoda dapat memiliki salah satu sifat berikut : •
Private, tidak dapat dipanggil dari luat class yang bersangkutan
•
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
•
Public, dapat dipanggil oleh siapa saja
Elemen penting dalam diagram class adalah : •
Class
•
Antar muka
•
Kolaborasi
•
Hubungan (relationship)
21
Hubungan antar class : 1. Asosiasi
yaitu
hubungan
statis
antar
class.
Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigalibity menunjukkan atah query antar class. 2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”). 3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak cari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. 4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubunggan dinamis dapat digambarkan dengan menggunakan sequence diagram sequence diagram yang akan dijelaskan kemudian. Kegunaan diagram class : •
M emodelkan kosakata sistem
•
M emodelkan distribusi tenggung jawab dari sistem
•
M emodelkan tipe
•
M emodelkan entitas bukan perangkat lunak
•
M emodelkan kolaborasi
•
M emodelkan sistem basis data logic
22
Kriteria diagram class yang baik : •
Fokus
•
Essensial
•
Konsisten
•
Tidak hilang
Pentingnya UM L untuk diagram class : •
Class
•
Association (relasi antar class)
•
Atribut
•
Operation
•
Generalization
¾ Use Case Use case merupakan desain yang berfokus pada user dan tugastugas user untuk memenuhi keinginan user. (Thimoty C, 2002). Use
case
diagram
menggambarkan
fungsionalitas
yang
diharapkan dari sebuah system. Yang ditekankan adalah “apa” yang diperbuat
system,
dan
bukan
“bagaimana”.
Sebuah
use
case
mempresentasikan sebuah interaksi antara actor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke system, membuat sebuah daftar belanja, dan sebagainya. Seorang/sebuah actor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan
23
system untuk melakukan pekerjaan-pekerjaan tertentu. (Wahono, R.S, 2003). Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah system, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang meng-includedieksekusi secara normal. Sebuah use case juga dapat meng-extend use case lain dengan behavior-nya sendiri. Sementara hubungan generalisasi antara use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. Use case ini terdiri dari : •
Aktor : pemakai sistem/sesuatu yang berinteraksi dengan sistem mempresentasikan pesan, bukan pemakai individual.
•
Use case : cara spesifik penggunaan sistem oleh actor.
24
Aktor
Use case
Gambar 2.5 Use case (Wahono, R.S, 2003) Diagram use case : •
M erupakan salah satu diagram untuk memodelkan aspek perilaku sistem.
•
M asing-masing menunjukkan sekumpulan use case, actor dan hubungannya.
•
Untuk memvisualisasikan dan mendokumentasikan kebutuhan perilaku sistem.
•
M elibatkan : sistem, actor, use case dan relasi.
Tujuan utama memodelkan use case : •
M emutuskan dan mendeskripsikan kebutuhan fungsional sistem.
•
M emberikan deskripsi yang jelas dan konsisten dari apa yang harus dilakukan.
•
M enyediakan basis untuk melakukan pengujian sistem yang memverifikasi sistem.
•
M enyediakan kemampuan melacak kebutuhan fungsi analitis menjadi class-class, operasi-operasi dan actual sistem
25
Ciri-ciri use case : •
Terdapat pola perilaku yang harus dipenuhi oleh sistem
•
Terdapat sekuen transaksi terhubung yang dilakukan actor dan sistem
•
M emberikan informasi yang berharga bagi user
Kegunaan use case :
2.1.2
•
M enangkap kebutuhan sistem
•
Berkomunikasi dengan pemakai akhir dan pakar domain masalah
•
Pengkajian sistem
Mobile Application
2.1.2.1 Definisi Mobile Application
Aplikasi M obile adalah aplikasi yang ditujukan untuk perangkat mobile atau ponsel yang dibuat oleh J2M E. M eskipun adalah aplikasi mobile, keamanan harus diperhitungkan di mana pengguna ponsel dilindungi dari penipuan, kualitas aplikasi mobile yang terjamin.
2.1.3
Kecerdasan Buatan 2.1.3.1 Definisi Kecerdasan Buatan
M enurut Turban dan Freuzel (1992, p3) kecerdasan buatan atau artificial intelligence merupakan bagian ilmu komputer yang digunakan
26
untuk menciptakan perangkat lunak dan perangkat keras dengan tujuan menghasilkan sesuatu seperti yang dihasilkan oleh manusia.
M enurut Kusumadewi (2003, pI) ArtifIcial Intelligence(AI) atau Kecerdasan Buatan adalah salah satu bagian ilmu komputer yang membuat agar mesin komputer dapat melakukan pekei:iaan seperti dan sebaik yang dilakukan oleh manusia. M enurut Russell dan Norvig (2003, p5), definisi tentang kecerdasan buatan dikembangkan berdasarkan empat kelompok kategori, yaitu:
2.1.3.2
1.
Sistem yang berpikir selayaknya manusia berpikir (think humanly)
2.
Sistem yang bertindak selayaknya manusia bertindak (act humanly)
3.
Sistem yang berpikir secara rasional (think rationally)
4.
Sistem yang bertindak secara rasional (act rationally)
Latar Belakang Kecerdasan Buatan Komputer pertama kali diciptakan manusia karena untuk membantu
manusia menghitung. Namun seiring dengan berjalannya waktu, fungsi komputer pun meluas hingga ke berbagai aspek. Dimulai dari hiburan hingga ke pembuat sebuah solusi. M anusia menjadi pintar dalam menyelesaikan segala permasalahan yang dihadapi karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan didapatkan dan proses belajar, pengalaman didapatkan karena perjalanan waktu
27
dan kehidupan yang dialami oleh manusia. Semakin banyak bekal pengetahuan dan pengalaman yang dimiliki oleh seseorang, diharapkan orang tersebut lebih mampu menyelesaikan masalah yang dihadapinya. Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan dan diberikan kemampuan untuk menalar. Untuk itu, artificial intelligence akan mencoba untuk memberikan beberapa metode untuk membekali computer dengan kedua komponen tersebut agar komputer bisa menjadi mesin yang cerdas. 2.1.3.3
Perbedaan Kecerdasan Buatan Dengan Kecerdasan Alami Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki oleh
manusia), kecerdasan
buatan memiliki beberapa keuntungan secara komersil
antara lain (Turban dan Frenzel, 1992, p9): a.
Kecerdasan buatan lebih bersifat permanen. Kecerdasan alami akan mengalami perubahan yang cepat. Hal inidisebabkan karena sifat manusia yang pelupa (lupa akan suatu hal).Kecerdasan buatan tidak akan berubah sepanjang sistem komputer dan program tersebut tidak berubah.
b.
Kecerdasan buatan lebih mudah diduplikasi dan disebarkan. M entransfer pengetahuan manusia dan satu orang ke orang lain membutuhkan waktu proses yang sangat lama, dan Juga keahlian itu tidak akan pernah diduplikasi secara lengkap. Oleh karena itu, jika pengetahuan terletak pada suatu sistem komputer, pengetahuan tersebut dapat disalin dari komputer dan dipindahkan dengan mudah ke dalam komputer lainnya.
28
c.
Kecerdasan buatan lebih murah dari kecerdasan alami. M enyediakan layanan komputer akan lebih mudah dan lehih murah dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.
d.
Kecerdasan buatan lebih bersifat konsisten.Hal ini disebabkan karena kecerdasan buatan adalah bagian dan teknologi komputer. Sedangkan kecerdasan alami yang merupakan bagian dan manusia akan senantiasa selalu berubah- ubah.
e.
Kecerdasan buatan dapat didokumentasikan. Keputusan yang dibuat oleh komputer dapat didokumentasikan dengan mudah dengan cara melacak setiap aktivasi dan sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.
f.
Kecerdasan
buatan
dapat
mengerjakan
pekerjaan
lebih
cepat
dibandingkan dengan kecerdasan alami. g.
Kecerdasan
buatan
dapat
mengerjakan
pekerjaan
lebih
baik
dibandingkan dengan kecerdasan alami. 2.1.3.4 Tujuan Kecerdasan Buatan Adapun tujuan Intelegensia Semu adalah sebagai berikut: 1.
Untuk mengembangkan metode dan sistem untuk menyelesaikan masalah,
masalah yang biasa diselesaikan melalui aktifivitas
intelektual manusia,
misalnya pengolahan
citra,
perencanaan,
pemahaman dan lain-lain, meningkatkan kinerja sistem informasi yang berbasis komputer.
29
2.
Untuk meningkatkan pemahaman kita pada bagaimana otak manusia bekerja.
2.1.4
Teori Dasar S istem Pakar
2.1.4.1 Pengertian Sistem M enurut Sri Kusumadewi (2003, p107) adalah sistem yan berusaha M engadopsi pengetahuan manusia ke computer, agar computer dapat menyelesaikan masalah seperti biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan system pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, system pakar ini juga
akan
membantu
aktivitasnya
sebagai
asisten
yang
sangat
berpengalaman. Ada beberapa definisi tentang system pakar, antara lain: •
M enurut Durkin: suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar.
•
M enerut Ignizio: suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar.
•
M enurut Giarrantano dan Riley: suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.
30
Sistem pakar pertama kali dikembangkan oleh komunitas AI pada pertengahan tahun 1960. Sistem pakar yang muncul pertama kali 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. Sampai saat ini sudah banyak sistem pakar yang dibuat, beberapa contoh diantaranya: •
M YCIN:
Diagnosa Penyakit.
•
DENDRAL:
M engidentifikasi struktur molecular
campuran
yang tak dikenal. •
XCON & XSEL: M embantu konfigurasi sistem komputer besar.
•
SOPHIE:
Analisis sirkit elektronik.
•
Prospector:
Digunakan di dalam geologi untuk membantu
mencari dan menemukan deposit. •
FOLIO:
M embantu memberikan keputusan bagi seorang
manajer dalam stok broker dan investasi. •
DELTA:
Pemeliharan lokomotif listrik disel.
2.1.4.2 Keuntungan Sistem Pakar Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain: •
M emungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
31
•
Bisa melakukan proses secara berulang secara otomatis.
•
M enyimpan pengetahuan dan keahlian para pakar.
•
M eningkatkan output dan produktivitas.
•
M eningkatkan kualitas.
•
M ampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka).
•
M ampu beroperasi dalam lingkungan yang berbahaya.
•
M emiliki kemampuan untuk mengakses pengetahuan.
•
M emiliki reliabilitas.
•
M eningkatkan kapabilitas sistem komputer.
•
M emiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.
•
Sebagai media pelengkap dalam pelatihan.
•
M eningkatkan kapabilitas dalam penyelesaian masalah.
•
M enghemat waktu dalam pengambilan keputusan.
2.1.4.3 Kelemahan Sistem Pakar Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain: •
Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
•
Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaannya pakar dibidangnya.
32
•
Sistem pakar tidak 100% bernilai benar.
2.1.4.4 Konsep Dasar Sistem Pakar M enurut Efraim Turban, konsep dasar sistem pakar mengandung keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan yang termasuk keahlian adalah: •
Fakta-fakta pada lingkup permasalahan tertentu.
•
Teori-teori pada lingkup permasalahan tertentu.
•
Prosedur-prosedur dan aturan-aturan berkenan dengan lingkup permasalahan tertentu.
•
Strategi-strategi global untuk menyelesaikan masalah.
•
Meta-knowledge (pengetahuan tentang pengetahuan). Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil
keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli.Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jika dipandang perlu, memecah aturanaturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka. Pengalihan keahlian dari ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama sistem pakar.
33
Proses ini membutuhkan 4 aktivitas yaitu: tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya), representasi pengetahuan (ke komputer), inferensi pengetahuan, dan pengalihan pengetahuan ke user. Pengetahuan yang disimpan di komputer disebut dengan nama basis pengetahuan. Ada 2 tipe pengetahuan yaitu : fakta dan prosedur (biasanya berupa aturan). Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk menalar. Jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan sudah tersedia program yang mampu mengakses basisdata, maka komputer harus dapat deprogram untuk membuat inferensi. Proses inferensi ini dikemas dalam bentuk motor inferensi (inference engine). Sebagian besar sistem pakar komersial dibuat dalam bentuk rulebased systems, yang mana pengetahuan disimpan dalam bentuk aturanaturan. Aturan tersebut biasanya berbentuk IF-THEN. Fitur
lainnya dari sistem pakar
adalah
kemampuan
untuk
merekomendasi. Kemampuan inilah yang membedakan sistem pakar dengan sistem konvensional: Tabel 2.2 Perbedaan Sistem Konvensional dengan Sistem Pakar Sistem Konvensional
Sistem Pakar
Informasi
dan
pemrosesannya Basis pengetahuan merupakan
biasanya
jadi
satu
dengan bagian terpisah dari mekanisme
34
program.
inferensi.
Biasanya tidak bisa menjelaskan Penjelasan
adalah
bagian
mengapa suatu input data itu terpenting dari sistem pakar. dibutuhkan, atau bagaimana output itu diperoleh. Pengubahan program cukup sulit Pengubahan & membosankan.
aturan
dapat
dilakukan dengan mudah.
Sistem hanya akan beroperasi jika Sistem dapat beroperasi hanya sistem tersebut sudah lengkap.
dengan beberapa aturan.
Eksekusi dilakukan langkah demi Eksekusi
dilakukan
pada
langkah.
keseluruhan basis pengetahuan
M enggunakan data.
M enggunakan pengetahuan.
Tujuan utamanya adalah efisiensi.
Tujuan
utamanya
adalah
efektivitas.
2.1.4.5 Bentuk Sistem Pakar Ada 4 bentuk sistem pakar, yaitu: •
Berdiri sendiri. Sistem pakar jenis ini merupakan software yang paling berdiri-sendiri tidak tergabung dengan software yang lainnya.
35
•
Tergabung. Sistem pakar jenis ini merupakan bagian program yang terkandung di dalam suatu algoritma (konvensional), atau merupakan program dimana di dalamnya memanggil algoritma subrutin lain (konvensional).
•
M enghubungkan ke software lain. Bentuk ini biasanya merupakan sistem pakar yang menguhubungkan ke suatu paket program tertentu, misalnya dengan DBM S.
•
Sistem mengabdi. Sistem pakar merupakan bagian dari komputer khusus yang dihubungkan dengan suatu fungsi tertentu.
2.1.4.6 S truktur Sistem Pakar Sistem pakar terdiri-dari 2 bagian pokok, yaitu: lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment). Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari segi pembangunan komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan oleh seseorang yang bukan ahli untuk berkonsultasi.
36
Struktur Sistem pakar. Basis Pengetahuan Fakta:
Apa yang diketahui tentang area domain.
Aturan:
logical reference
User Fasilitas penjelasan Antarmuka • • • Aksi yang diredikomendasi
Reka yasa pengetahuan
Interpreter Scheduler Consistency Enforcer
Pengetahua n ahli
Motor inferensi
BLACKBOARD Rencana
Agenda
Solusi
Deskripsi
Penyaring pengetahuan
Gambar 2.6 Struktur Sistem Pakar (Sri Kusumadewi, 2003)
Komponen-komponen yang ada pada sistem pakar adalah: •
Subsistem penambahan pengetahuan. Bagian ini digunakan untuk memasukkan
pengetahuan,
mengkonstruksi
atau
memperluas
37
pengetahuan dalam basis pengetahuan. Pengetahuan itu bisa berasal dari: ahli, buku, basisdata, penelitian, dan gambar. •
Basis pengetahuan. Berisi pengetahuan-pengetahuan yang dibutuhkan untuk memahami, memformulasikan dan menyelesaikan masalah.
•
M otor inferensi (inference engine). Program yang berisi metodologi yang digunakan untuk melakukan penalaran terhadap informasiinformasi dalam basis pengetahuan dan blackboard, serta digunakan untuk memformulasikan konklusi. Ada 3 elemen utama dalam motor inferensi, yaitu: o
Interpreter: mengeksekusi item-item agenda yang terpilih dengan menggunakan aturan-aturan dalam basis pengetahuan yang sesuai.
o
Scheduler: akan mengontrol agenda.
o
Consistency enforcer: akan berusaha memelihara kekonsistenan dalam merepresentasikan solusi yang bersifat darurat.
•
Blackboard. M erupakan area dalam memori yang digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada 3 tipe keputusan yang dapat direkam, yaitu: o
Rencana: bagaimana menghadapi masalah.
o
Agenda: aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi.
o
Solusi: calon aksi yang akan dibangkitkan.
38
•
Antarmuka. Digunakan untuk media komunikasi antara user dan program.
•
Subsistem penjelasan. Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan:
•
o
M engapa suatu pertanyaan ditanyakan oleh sistem pakar?
o
Bagaimana konklusi dicapai?
o
M engapa ada alternative yang dibatalkan.
o
Rencana apa yang digunakan untuk mendapatkan solusi?
Sistem penyaring pengetahuan.
Sistem ini digunakan
untuk
mengevaluasi kinerja sistem pakar itu sendiri untuk melihat apakah pengetahuan-pengetahuan yang ada masih cocok untuk digunakan di masa mendatang. 2.1.4.7 Basis Pengetahuan (Knowledge Base) Basis
pengetahuan
berisi
pengetahuan-pengetahuan
dalam
penyelesaian masalah, tentu saja di dalam domain tertentu. Ada 2 bentuk pendekatan basis pengetahuan yang sangat umum digunakan, yaitu: •
Penalaran berbasis aturan (Rule-Based-Reasoning). Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan menggunakan aturan berbentuk: IF-THEN. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu, bentuk ini juga
39
digunakan apabila dibutuhkan penjelasan tentang jejak(langkahlangkah) pencapaian solusi. •
Penalaran berbasis kasus (Case-Based Reasoning). Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusisolusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang hamper sama (mirip). Selain itu bentuk ini juga digunakan apabila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan.
2.1.4.8 Ciri-Ciri Sistem Pakar M enurut Sri Kusumadewi (2003, p122) sistem pakar yang baik harus memenuhi cirri-ciri sebagai berikut: •
M emiliki fasilitas informasi yang handal.
•
M udah dimodifikasi.
•
Dapat digunakan dalam berbagai jenis komputer.
•
M emiliki kemampuan untuk belajar beradaptasi.
2.1.4.9 Permasalahan Yang Disentuh Oleh Sistem Pakar Ada beberapa masalah yang menjadi area luas aplikasi system pakar, antara lain:
40
•
Interpretasi. Pengambilan keputusan dari hasil observasi, termasuk diantaranya:
pengawasan,
pengenalan
ucapan,
analisis
citra,
interpretasi sinyal, dan beberapa analisis kecerdasan. •
Prediksi. Termasuk diantaranya: peramalan, prediksi demografis, peramalan ekonomi, atau peramalan keuangan.
•
Diagnosis. Termasuk diantaranya: medis, elektronis, mekanis, dan diagnosis perangkat lunak.
•
Perancangan. Termasuk diantaranya: layout sirkuit dan perancangan bangunan.
•
Perencanaan.
Termasuk
diantaranya:
perencanaan
keuangan,
komunikasi, militer, pengembangan produk, routing, dan manajemen proyek. •
M onitoring. M isalnya: Computer-Aided Monitoring Systems.
•
Debugging, memberikan resep obat terhadap suatu kegagalan.
•
Perbaikan.
•
Intruksi. M elakukan intruksi untuk diagnosis, debugging dan perbaikan kinerja.
•
kontrol.
M elakukan
kontrol
terhadap
interpretasi-interpretasi,
prediksi, perbaikan, dan monitoring kelakuan sistem. 2.1.5
Proses Diagnostik Proses diagnostis merupakan perpaduan daripada aktivitas intelektual dan
manipulatif, di mana kita dapat mengenali suatu penyakit. Diagnosis banding didasarkan atas metode hipotesis, seperti yang diuraikan oleh Plato. Plato
41
merupakan bapak dari proses penalaran, yang digunakan dewasa ini dalam kegiatan penyelidikan penyeldikan ilmiah dan diagnosis medik. Diagnosis banding dimulai sejak permulaan daripada wawancara medik yang diselenggarakan dan berlangsung terus selama melakukan pemeriksaan fisik. Diagnosis banding tersebut akan mengarahkan pertanyaan yang diajukan dan perincian pemeriksaan fisik yang kita lakukan. Data yang berhasil dihimpun akan dipertimbangkan berdasarkan manifestasi gejala- gejala penyakit yang telah dialami oleh penderita. M enurut Richard Cabot, analisis diagnosis adalah munculnya daftar yang memuat petunjuk dan kemungkinan diagnostik pilihan, yang mempunyai radiasi masing-masing. Langkah pengkajian diagnostik atas seorang pasien diawali dengan perhatian kita terhadap manifestasi penyakit. M anifestasi tersebut dapat berupa gejala-gejala dan juga pola penemuan-penemuan klinik. Setelah manifestasi ditemukan, dianalisis, dan digabungkan, langkah berikutnya adalah memutuskan domain (satu daerah tubuh) mana yang merupakan dasar manifestasi. Setelah itu, kita harus mempertimbangkan gangguan apa saja yang mempengaruhi domain ini. Gangguan dapat dibagi dalam 2 jenis, struktural dan fungsional. Gangguan yang bersifat structural, mempunyai 3 sifat : kuantitas, lokasi dan konsistensi. Kuantitas berarti, banyaknya gangguan yang terjadi. M isalnya Osteopenia, Hepatonegali. Lokasi adalah tempat gangguan yang diharapkan atau tidak
42
diharapkan. Konsistensi berhubungan dengan pencerapan raba, apakah gangguan itu keras atau lunak atau sifat-sifat lain yang berhubungan dengan perabaan. Gangguan yang bersifat fungsional mempunyai 3 sifat, yaitu : arah, pengendalian dan besarnya. Di mana akan kita temukan arah aliran yang abnormal. Disfungsi pengendalian serta besarnya dapat dijelaskan dengan gangguan sistem endokrin, di mana hambatan umpan balik atau pengendalian respon hipotalamus-hipofisis-organ sasaran terganggu sehingga menyebabkan terjadinya disfungsi endokrin. Sesuai dengan tingkatan kepastian diagnosis yang dikemukakan oleh Engle dan Davis dibagi beberapa tingkatan: •
Diagnosis Dengan Kepastian Tingkat Pertama. Ini dapat diterapkan pada cacat anatomik yang besar, termasuk trauma (misalnya patah tulang tungkai bawah). Bibir sumbing, dan kelainan genetik, kisalnya sikel sel anemia.
•
Diagnosis Dengan Kepastian Tingkat Kedua. Contoh-contoh keadaan yang dapat dimasukkan dalam kategori ini adalah infeksi yang disebabkan mikroorganisme, gangguan gizi dan keracunan bahan kimia.
•
Diagnosis Dengan Kepastian Tingkat Ketiga. Keadaan-keadaan yang termasuk dalam kategori ini sebagian besar bersifat deskriptif dan dengan mudah dikenali, tetapi hanya sedikit sekali yang
43
diketahui mengenai etiologi dan patogenesisnya. M isalnya tukak lambung, hipertensi esensial, sirosis. •
Diagnosis Dengan Kepastian Tingkat Keempat. Kendati reaksi umum yang akan diberikan dapat dengan mudah dikenali, penyebab spesifiknya tidak kita ketahui. Di samping itu terdapat pula varisasi-varisasi yang bersifat individual dan lingkungan. Tumor jinak dan ganas cocok untuk dimasukkan ke dalam kategori ini. Terutama karena dapat dikenali dari perubahan-perubahan sel yang bersifat mikroskopik, malahan mereka akan memberikan banyak kesulitan, bahkan kepada para ahli patologi sekalipun.
•
Diagnosis Dengan Kepastian Tingkat Kelima. Golongan ini didasarkan atas kelompok atau kumpulan tanda-tanda dan gejalagejala yang akan menghasilkan gambaran suatu penyakit, tetapi etiologinya tetap
masih gelap
bagi kita. M isalnya adalah
sarkoidosis dan sistematik lupus eritematosus. 2.1.5.1 Data Dan Analisis Data Diagnosis Data dapat kita klasifikasikan dalam tiga kelompok: •
Nominal
•
Ordinal
•
M etric
Data nominal merupakan nama atau label; terdapat tanda atau tidak, seorang penderita hidup atau mati, panas atau dingin. Pada umumnya
44
dikatakan
bahwa data nominal tersebut
bersifat
binominal; yaitu,
mencerminkan dua keadaan. Data ordinal dapat kita bedakan oleh karena mereka diatur atau disusun dalam suatu deretan, pada umumnya menggambarkan besaran, misalnya derajat kekerasan bising dari 1 sampai 6+. Namun, perbedaan yang terdapat diantara besaran mereka dalam skala tersebut, tidak dapat ditetapkan secara kuantitatif. M isalnya, walaupun bising derajat 5 lebih keras jika kita bandingkan dengan bising derajat 4, kita tidak mungkin mengatakan bahwa perbedaan keras suara yang terdapat antara derajat 5 dan derajat 4 adalah sama besarnya dengan perbedaan bising yang terdapat antara bising derajat 3 dan bising derajat 2. Data nominal dan data ordinal dapat kita analisis dan rumusan-rumusannya pun dapat pula dibuat dengan mempergunakan metode statistic nonparametrik. Data metrik hampir sama dengan data ordinal, tetapi data metrik tersebut dapat ditetapkan secara kuantitatif dan mempersamakan perbedaan yang terdapat pada skala, seperti termometer. Sebagian besar pengukuran laboratoris, seperti gula darah, kolesterol, elektrolit bentuknya metric dan analisis serta definisi dapat dibuat dengan mempergunakan metode statistik parametrik. Tabel 2.3 Arti Nominal (M urphy, E.A, 1976) Sifat Probabilitas
fungsi
distribusi:
“kurva
Dipergunakan oleh
Istilah yang dianjurkan
Analisis statistikal
Gaussian
Ilmu deskriptif
Rata-rata, median
normal” Paling
mewakili
dari
45
kelasnya Umum ditemukan dalam
Data
yang Kebiasaan
kelasnya
menggambarkan “batas”
Paling sesuai untuk dapat Genetik
Optimal, paling cocok
bertahan hidup Tidak
mengakibatkan Ilmu kedokteran klinik
Aman
timbulnya bahaya atau mendapat hukuman Umumnya
Sosiologi,
mengharapkan akan
politik
Paling
sempurna M oral,
daripada kelasnya
ilmu-ilmu Konvensional
estetika, Ideal
metafisika
Diambil serta disesuaikan dari M urphy, E.A: The Lodic of M edicine, Baltimore: Johns Hopkins University Press, 1976. 2.1.5.2 Ketepatan, Ketelitian, Kepekaan, dan Kekhasan Ketepatan (Accuracy) merujuk kepada apakah pengukuran yang dilakukan benar-benar mencerminkan jumlah yang terdapat. Keputusan klinik yang dibuat atas dasar penetapan tunggal membutuhkan pengukuran yang tepat, misalnya kadar digoksin dalam darah. Ketelitian (Precision) merujuk kepada dapat dihasilkannya kembali suatu pengujian yang telah dilakukan atas contoh tunggal. Ketelitian terutama mempunyai arti penting dalam pengambilan keputusan klinik, bila perubahan nilai merupakan hal yang penting.
46
Kepekaan (Sensitivity) menggambarkan kemampuan satu tes untuk mengetahui adanya suatu kelainan atau penyakit.
2.2
Teori Khusus 2.2.1
Logika Fuzzy 2.2.1.1 Pendahuluan Logika Fuzzy M enurut Sri Kusumadewi (2003, p153) orang yang belum pernah mengenal logika fuzzy pasti akan mengira bahwa logika fuzzy adalah suatu yang amat rumit dan tidak menyenangkan. Namun, sekali seseorang mulai mengenalnya, ia pasti akan sangat tertarik dan akan menjadi pendatang baru untuk ikut serta mempelajari logika fuzzy. Logika fuzzy dikatakan sebagai logika baru yang lama, sebab ilmu tentang logika fuzzy modern dan metodis baru ditemukan beberapa tahun lalu, padahal sebenarnya konsep tentang logika fuzzy itu sendiri ada pada diri kita sejak lama. Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input kedalam suatu ruang output. Sebagai contoh: •
M anajer pergudangan mengatakan pada manajer produksi seberapa banyak persediaan barang pada akhir minggu ini, kemudian manajer produksi akan menetapkan jumlah barang yang harus diproduksi esok hari.
•
Pelayan restoran memberikan pelayanan terhadap tamu, kemudian tamu akan memberikan tip yang sesuai atas baik tindakanya pelayan yang diberikan.
47
•
Anda mengatakan pada saya seberapa sejuk ruangan anda inginkan, saya akan mengatur putaran kipas yang ada pada ruangan ini.
•
Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan yang diinginkan, sopir taksi akan mengatur pijakan gas taksinya.
2.2.1.2 Alasan Digunakannya Logika Fuzzy Ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara lain: •
Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti.
•
Logika fuzzy sangat fleksibel.
•
Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat.
•
Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
•
Logika fuzzy dapat membangun dan mengaplikasikan pengalamanpengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
•
Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional.
•
Logika fuzzy didasarkan pada bahasa alami.
2.2.1.3 Aplikasi Logika Fuzzy Beberapa aplikasi logika fuzzy, antara lain:
48
•
Pada tahun 1990 pertama kali dibuat mesin cuci dengan logika fuzzy di Jepang (M atsushita Electric Industrial Company). Sistem fuzzy digunakan untuk menentukan putaran yang tepat secara otomatis berdasarkan jenis dan banyaknya kotoran serta jumlah yang akan dicuci. Input yang digunakan adalah: seberapa kotor, jenis kotoran, dan banyaknya yang dicuci. M esin ini menggunakan sensor optic, mengeluarkan cahaya ke air dan mengukur bagaimana cahaya tersebut sampai ke ujung lainnya. M akin kotor, maka sinar yang sampai makin redup. Disamping itu, sistem juga dapat menentukan jenis kotoran (daki atau minyak).
•
Transmisi otomatis pada mobil. M obil Nissan telah menggunakan sistem fuzzy pada transmisi otomatis, dan mampu mengemat bensin 12-17%.
•
Kereta bawah tanah Sendai mengontrol pemberhentian otomatis pada area tertentu.
•
Ilmu kedokteran dan biologi, seperti sistem diagnosis yang didasarkan pada logika fuzzy, penelitian kanker, manipulasi peralatan prostetik yang didasarkan pada logika fuzzy, dll.
•
M anajemen dan pengambilan keputusan, seperti manajemen basisdata yang didasarkan pada logika fuzzy, tata letak pabrik yang didasarkan pada logika fuzzy, sistem pembuat keputusan militer yang didasarkan pada logika fuzzy, pembuatan games yang didasarkan pada logika fuzzy, dll.
49
•
Ekonomi, seperti pemodelan fuzzy pada sistem pemasaran yang kompleks, dll.
•
Klarifikasi dan pencocokan pola.
•
Psikologi,
seperti logika fuzzy untuk
menganalisis
kelakuan
masyarakat, pencegahan dan investigasi kriminal, dll. •
Ilmu-ilmu sosial, terutama untuk pemodelan informasi yang tidak pasti.
•
Ilmu lingkungan, seperti kendali kualitas air, prediksi cuaca, dll.
•
Teknik, seperti perancangan jaringan komputer, prediksi adanya gempa bumi, dll.
•
Riset operasi, seperti penjadwalan dan pemodelan, pengalokasian, dll.
•
Peningkatan kepercayaan, seperti kegagalan diagnosis, inspeksi dan monitoring produksi.
2.2.2
Teori Ruang Keadaan dan Pencarian M enurut Sri Kusumadewi (2003, p11), Secara umum, untuk
membangun suatu sistem yang mampu menyelesaikan masalah, perlu dipertimbangkan 4 hal: a.
M endefinisikan masalah dengan tepat. Pendefinisan ini mencakup spesifikasi yang tepat mengenai keadaan awal dan solusi yang diharapkan.
b.
M enganalisis
masalah
tersebut
penyelesaian masalah yang sesuai.
serta mencari beberapa teknik
50
c.
M erepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah tersebut.
d.
M emilih teknik penyelesaian masalah yang terbaik.
Secara umum, untuk mendeskripsikan masalah dengan baik, harus: a) M endefinisikan suatu ruang keadaan; b) M enetapkan satu atau lebih keadaan awal; c) M enetapkan satu arah lebih tujuan; d) M enetapkan kumpulan aturan.
51
2.2.2.1 Decision Tree Untuk menghindari kemungkinan adanya proses pelacakan suatu node secara berulang, maka digunakan struktur pohon.
M
D
A
B
I
C
C
J
E
E
F
I
G
J
H
T
F
I
G
J
H
T
T
T
Gambar 2.7 Pohon Keputusan
2.2.3
Android 2.2.3.1 Definisi Android Android adalah sistem operasi yang dirancang oleh Google untuk perangkat mobile. Konsep desain android adalah sebagai perangkat lunak yang meliputi tidak hanya sebuah sistem operasi, tetapi juga middleware dan aplikasi kunci (key applications). Pengembangan aplikasi untuk platform
52
Android menggunakan bahasa pemrograman Java. Sebagai informasi singkat Java adalah bahasa pemrograman yang awalnya dikembangkan oleh James Gosling di Sun M icrosystems (yang sekarang merupakan anak perusahaan dari Oracle Corporation) dan dirilis pada tahun 1995 sebagai komponen inti dari platform Java Sun Microsystems. Bahasa banyak berasal dari sintaks dari C dan Ci++ tapi memiliki model objek sederhana dan lebih sedikit tingkat rendah fasilitas.
2.2.3.2 Arsitektur Android Dari gambar di bawah, kita dapat melihat bahwa ada 4 lapisan mewakili konsep desain android ini terdiri dari Linux Kernel dan koleksi C / C + + Library yang menyediakan jasa untuk dan pengelolaan aplikasi runtime rincian lebih lanjut dari setiap lapisan akan menjelaskan mulai dari lapisan terendah.
Gambar 2.8 FrameWork Android
53
a.
Linux Kernel Android menggunakan Linux versi 2.6 untuk sistem inti (core system)
seperti keamanan (security), manajemen memori (memory management), manajemen proses (process management), network stack dan driver model. Kernel juga bertindak sebagai lapisan abstraksi (abstraction layer) antara perangkat keras dan perangkat lunak. b.
Library Pada layer Library, android termasuk satu set Library pada C++/C
yang digunakan oleh berbagai komponen sistem Android. Library ini ditampilkan untuk para pengembang melalui kerangka aplikasi. Beberapa Library inti meliputi:
Sistem C Library Implementasi BSD-berasal dari sistem C Library standar (libc).
Disetel untuk perangkat berbasis Linux.
M edia Library Berdasarkan
Packet
Videos
Open
CORE
perpustakaan
mendukung pemutaran dan perekaman audio populer dan format video, serta file gambar statis, termasuk M PEG4. R264. M P3. AAC. AMR JPG. dan PNG.
Surface M anager
54
M anajer Permukaan (surface manager) mengelola akses ke subsistem menampilkan komposisi lapisan 2D dan lapisan grafis 3D dari beberapa aplikasi.
LibWebCore Sebuah mesin web browser modern yang berkekuatan, baik
android browser dan embeddable tampilan web.
3D Library Implementasi berdasarkan OpenGL ES 1.0 API; Library
menggunakan akselerasi 3D hardware (jika tersedia) atau yang disertakan. Sangat optimal untuk rasterisasi software 3D.
SQLite Sebuah database yang powerful dan dapat dihubungkan dengan
semua aplikasi android 2.2.3.3 Keuntungan Android Di bawah ini adalah keuntungan yang dimiliki oleh android: a. Platform
Android
adalah
Open
Source,
M embiarkan
para
pengembang tertarik untuk mengembangkan aplikasi pada android untuk mengembangkan kualitas tinggi yang baru, kreatif dan aplikasi inovatif.
55
b. Karena Platform Android adalah open source maka jumlah pertumbuhan aplikasi yang sangat cepat untuk memenuhi kebutuhan konsumen. c. Bukan Cloud Computing, seperti push mail Blackberry yang menggunakan aliran data terpusat. Android dapat menemukan dan mengakses data dari mana saja. Jadi aliran data di Android lebih cepat. d. M endukung M ulti-tasking dan Aplikasi M ultiple dapat berjalan secara bersamaan. M embuatnya lebih mudah, cepat dan cairan untuk digunakan. e. Platform Android tidak ditambatkan pada satu perusahaan saja. Jadi siapa saja yang ingin memproduksi ponsel android sendiri mereka dapat mulai membangunnya. 2.2.3.4 Tipe- tipe gadget yang berbasis Android Berikut adalah tipe tipe gadget yang berbasis Android : Samsung I900 Galaxy S
Samsung Galaxy Tab T-Mobile
Samsung Nexus S
Samsung I5700 Galaxy Spica
Samsung I5500 Galaxy 5
Samsung Vibrant
Samsung Galaxy 3
Samsung Galaxy Tab CDMA
Samsung I9010 Galaxy S GiorgioArma
Samsung I7500 Galaxy
Samsung P1000 Galaxy Tab
Samsung i897 Captivate
56
Samsung I5801 Galaxy Apollo
HTC Desire Z
Samsung I9100 Galaxy S 2
HTC Google Nexus One
Samsung M 130K Galaxy K
HTC Gratia
Samsung Fascinate
HTC Legend
Samsung M esmerize i500
HTC Evo 4G
Samsung Epic 4G
HTC Hero
Samsung M 110S Galaxy S
HTC Aria
Samsung Continuum I400
HTC M agic
Samsung Galaxy 552
HTC Tattoo
Sony Ericsson XPERIA X10
HTC Droid Incredible
Sony XPERIA X8
LG Optinus One
Sony Ericsson XPERIA X10 mini pro
LG GT540 Optimus
Sony Ericsson XPERIA X10 mini
LG Optimus M ach LU3000
Sony Ericsson XPERIA X12
LG Optimus Chic E720
HTC Desire HD
LG GW620
HTC Wildfire
M otorola DEFY
HTC Desire
M otorola M ILESTONE
57
M otorola M ILESTONE 2
ZTE Blade
M otorola DROID PRO XT610
M icromax A60
M otorola M ILESTONE XT720
Acer Android phone
M otorola DROID X
Acer Liquid M etal
M otorola M OTO MT716
Huawei U8110
M otorola XT720 MOTOROI
Huawei U8150 IDEOS
M otorola DROID 2
Vodafone 845
Dell Streak
Garmin-Asus A10
2.2.4
Demam Berdarah Dengue 2.2.4.1 Definisi Demam Keadaan demam sejak zaman Hippocrates sudah diketahui sebagai pertanda penyakit. Galileo pada abad pertengahan menciptakan alat pengukur suhu dan Santorio di Padua melaksanakan aplikasi pertama penemuan alat ini di lingkungan klinik di Leipzig. Penggunaan kurve suhu semakin makin meluas setelah dipublikasikannya pendapat Wunderlich pada tahun 1868, di mana beliau mengatakan bahwa dengan semakin banyak pengalamannya dalam memakai alat pengukur suhu ini semakin bertambah keyakinannya mengenai manfaat pengukuran tersebut, khususnya untuk mendapatkan informasi yang cukup akurat dan prediktif mengenai kondisi seorang pasien. Suhu pasien biasanya diukur dengan termometer air raksa dan tempat pengambilannya dapat di aksila, oral atau
58
rectum. Suhu tubuh normal berkisar antara 36,5 – 37,2°C. Suhu abnormal di bawah 36°C. Dengan demam pada umumnya diartikan suhu tubuh di atas 37,2°C. Hiperperiksia adalah suatu keadaan kenaikan suhu tubuh sampai setinggi 41,2°C atau lebih, sedangkan
hipotermia adalah keadaan suhu tubuh di bawah 35°C.
Biasanya terdapat perbedaan antara pengukuran suhu tubuh di aksila dan oral maupun rektal. Dalam keadaan biasa perbedaan ini berkisar sekitar 0,5°C; suhu rektal lebih tinggi daripada suhu oral. Dalam beberapa keadaan diperlukan pengukuran suhu yang lebih akurat seperti pada pasien yang banyak berkeringat atau dengan frekuensi pernapasan yang tinggi. Pada keadaan tersebut, lebih baik diukur suhu rektal karena perbedaan yang mungkin didapatkan pada pengukuran suhu di berbagai tempat dan mencapai 2-3°C. demam pada mamalia dapat memberi petunjuk bahwa pada temperatur 39°C, produksi antibodi dan proliferasi sel limfosit-T meningkat sampai 20 kali dibandingkan
dengan
keadaan
temperatur
normal(37°C).
Dalam evolusi
kehidupan, tubuh telah mengembangkan suatu sistem pertahanan yang cukup ampuh terhadap infeksi dan peninggian suhu badan memberikan suatu peluang kerja yang optimal untuk sistem pertahanan tubuh. Demam terjadi karena penglepasan pirogen dari dalam leukosit yang sebelumnya telah terangsang oleh pirogen eksogen yang dapat berasal dari mikroorganisme atau merupaka suatu hasil reaksi imunologik yang tidak berdasarkan suatu infeksi. Dewasa ini diduga bahwa pirogen adalah suatu protein yang identik dengan interleukin-1. Di dalam hipotalamus zat ini merangsang penglepasan asam arakidonat serta mengakibatkan peningkatan sintesis prostagladin E2 yang langsung dapat menyebabkan suatu pireksida.
59
Pengaruh
pengaturan
autonom
akan
mengakibatkan
terjadinya
vasokonstrik perifer sehingga pengeluaran (dissipation) panas menurun dan pasien merasa demam. Suhu badan dapat bertambah tinggi lagi karena penambahan produksi panas dan karena kurang adekuat penyalurannya ke permukaan maka rasa demam bertambah pada seorang pasien. 2.2.4.2 Tipe Demam yang Sering Kita Jumpai • Demam Septik : Pada tipe demam septik, suhu badan berangsur naik ke tingkat yang tinggi sekali pada malam hari turun kembali ke tingkat di atas normal pada pagi hari. Sering disertai keluhan menggigil dan berkeringat. Bila demam yang tinggi tersebut turun ke tingkat yang normal dinamakan juga demam hektik. •
Demam Remiten : Pada tipe demam remiten, suhu badan dapat turun setiap hari tetapi tidak pernah mencapai suhu badan normal. Perbedaan suhu yang mungkin tercatat dapat mencapai dua derajat dan tidak sebesar perbedaan suhu yang dicatat pada demam septik.
•
Demam Intermiten : Pada tipe demam intermiten, suhu badan turun ke tingkat yang normal selama beberapa jam dalam satu hari. Bila demam seperti ini terjadi setiap dua hari sekali disebut tersiana dan bila terjadi dua hari bebas demam di antara dua serangan demem disebut kuartana.
•
Demam Kontinyu : Pada tipe demam kontinyu variasi tubuh sepanjang hari tidak berbeda lebih dari satu derajat. Pada tingkat demam yang terus menerus tinggi sekali disebut hiperperiksa.
60
•
Demam S iklik : Pada tipe demam siklik terjadi kenaikan suhu badan selama beberapa hari yang diikuti oleh periode bebas demam untuk beberapa hari yang kemudian diikuti oleh periode bebas demam untuk beberapa hari yang kemudian diikuti oleh kenaikan suhu seperti semula.
Suatu tipe demam kadang-kadang dapat dihubungkan dengan suatu penyakit tertentu, seperti misalnya tipe demam intermiten untuk malaria. Seorang pasien dengan keluhan demam mungkin dapat dihubungkan segera pada suatu sebab yang jelas, seperti misalnya: abses, pneumonia, infeksi saluran kencing atau malaria; tetapi kadang-kadang sama sekali tidak dapat dihubungkan dengan suatu sebab yang jelas. Bila demam disertai keadaan seperti sakit otot, rasa lemas, tak nafsu makan dan mungkin ada pilek, batuk dan tenggorok sakit, biasanya digolongkan sebagai influenza atau commoncold. Dalam praktek, 90% dari para pasien dengan demam yang baru saja dialami, pada dasarnya merupakan suatu penyakit yang self-limiting seperti influenza atau penyakit virus sejenis lainnya. Namun hal ini tidak berarti bahwa kita tidak harus tetap waspada terhadap suatu infeksi bakterial. Kausa demam selain infeksi juga dapat disebabkan oleh keadaan toksemia, karena keganasan atau reaksi terhadap pemakaian obat. Juga gangguan pada pusat regulasi suhu sentral dapat menyebabkan peninggian temperatur seperti pada heat stroke, pendarahan otak, koma atau gangguan sentral lainnya. Pada pendarahan internal pada saat terjadinya reabsorpsi darah pula menyebabkan peningkatan temperatur. Dalam praktek perlu sekali
61
diketahui penyakit-penyakit infeksi yang endemik di lingkungan tempat tinggal pasien, dan mengenai kemungkinan infeksi import dapat dinetralisasi dengan pertanyaan apakah pasien baru pulang dari suatu perjalanan dari daerah mana dan tempat apa saja yang telah dikunjunginya. Pada dasarnya untuk mencapai ketepatan diagnosis penyebab demam diperlukan antara lain, ketelitian pengambilan riwayat penyakit pasien, pelaksanaan pemeriksaan fisis yang seteliti mungkin, observasi perjalanan penyakit dan evaluasi pemeriksaan laboratorium serta penunjang lainnya secara tepat dan holistik. Salah diagnosis paling sering dibuat karenan pemeriksaan fisis yang tergesa-gesa sehingga kurang lengkap atau tidak tepat, dan terlalu cepat mendeduksi suatu kesimpulan dari suatu keadaan tertentu saja dengan tidak melihat kasus yang dihadapi dalam konteks keseluruhan. Beberapa hal yang secara khusus perlu diperhatikan pada demam, adalah cara timbul demam, lama demam, sifat harian demam, tinggi demam dan keluhan serta gejala lain yang menyertai demam. Demam yang tiba-tiba tinggi lebih sering disebabkan oleh penyakit virus. Waktu yang dikorbankan untuk menanyakan riwayat penyakit yang terperinci dan akurat dalam kenyataannya adalah waktu yang digunakan demi kepentingan pasien yang mencari pertolongan sehingga dapat
terhindar
dari orientasi diagnosis
yang salah
dan
sebagai
konsekuensinya mungkin pemberian obat yang kurang tepat serta permintaan pemeriksaan laboratorium yang mungkin salah pula, yang kesemuanya merupakan beban yang perlu ditanggung pasien. Salah orientasi ini dalam konteks yang luas merupakan suatu pemborosan fasilitas kesehatan yang
62
disediakan dan merupakan pengorbanan finansial pasien yang sama sekali tidak diinginkan.
2.2.4.3 Definisi Demam Berdarah Dengue Demam berdarah dengue/ DBD (dengue haemorrhagic fever/ DHF) adalah penyakit infeksi yang disebabkan oleh virus dengue dengan memanisfestasi klinis demam, nyeri otot dan/atau nyeri sendi yang disertai lekopenia, ruam, limfadenopati, trombositopenia dan diatesis hemogragik. Pada DBD terjadi perembesan plasma yang ditandai oleh hemokonsentrasi (peningkatan hematokrit) atau penunpukan cairan di rongga tubuh. Sindrom renjatan dengue (dengue shock syndrome) adalah demam berdarah dengue yang ditandai oleh renjatan/syok. Demam Berdarah Dengue atau yang disingkat sebagai DBD adalah penyakit yang disebabkan oleh virus dengue yang dibawa oleh nyamuk aedes aegypti betina lewat air liur gigitan saat menghisap darah manusia. Penyakit Demam Berdarah Dengue adalah penyakit demam akut yang ditemukan di daerah tropis, dengan penyebaran geografis yang mirip dengan malaria. Penyakit ini disebabkan oleh salah satu dari empat serotipe virus dari genus Flavivirus, family flaviviridae. Setiap serotipe cukup berbeda sehingga tidak ada proteksi-silang dan wabah yang disebabkan beberapa serotipe (hiperendemisitas) dapat terjadi. (Buku Ajar Ilmu Penyakit Dalam Jilid III Edisi IV, Aru W.Sudoyo; Bambang Setiyohadi; Idrus Alwi; M arcellus Simadibrata K; Siti Setiati, p1709)
63
2.2.4.4 Patogenesis Demam Berdarah Dengue Patogenesis terjadinya demam berdarah dengue hingga saat ini masih diperdebatkan. Berdasarkan data yang ada, terdapat bukti yang kuat bahwa mekanisme imunopatologis berperan dalam terjadinya demam berdarah dengue dan sindrom renjatan dengue. Respon imun yang diketahui berperan dalam patogenesis DBD adalah: a)
Respon humoral berupa pembentukan antibodi yang berperan dalam proses netralisasi virus, sitolisis yang dimediasi komplemen dan berperan dalam memepercepat replikasi virus pada monosit atau makrofag. Hipotesis ini disebut antibody dependent enhancement (ADE);
b)
Limfosit T baik T-helper (CD4) dan T sitotoksik (CD8) berperan dalam respon imun seluler terhadap virus dengue. Diferesiasi T helper yaitu TH1 akan memproduksi interferon gamma, IL-2 dan limfokin, sedangkan TH2 memproduksi IL-4, IL-5, IL-6 dan IL-10;
c)
M onosit dan makrofag berperan dalam fagositosis virus dengan opsoniasi antibodi. Namun proses fagositosis ini menyebabkan peningkatan replikasi virus dan sekresi sitokin oleh makrofag; Selain itu aktivasi komplemen oleh kompleks imun menyebabkan
terbentuknya C3a dan C5a. 2.2.4.5 Tanda dan Gejala Demam Berdarah Dengue Penyakit ini ditunjukkan melalui munculnya demam tinggi terus menerus, disertai adanya tanda perdarahan, contohnya ruam. Ruam demam berdarah mempunyai ciri-ciri merah terang. Selain itu tanda dan gejala lainnya adalah sakit
64
perut, rasa mual, trombositopenia, hemokonsentrasi, sakit kepala berat, sakit pada sendi (artralgia), sakit pada otot (mialgia). Sejumlah kecil kasus bisa menyebabkan sindrom shock dengue yang mempunyai tingkat kematian tinggi. Kondisi waspada ini perlu disikapi dengan pengetahuan yang luas oleh penderita maupun keluarga yang harus segera konsultasi ke dokter apabila pasien/penderita mengalami demam tinggi 3 hari berturut-turut. Banyak penderita atau keluarga penderita mengalami kondisi fatal karena menganggap ringan gejala-gejala tersebut.
Sesudah masa tunas / inkubasi selama 3 - 15 hari orang yang tertular dapat mengalami / menderita penyakit ini dalam salah satu dari 4 bentuk berikut ini : •
Bentuk abortif, penderita tidak merasakan suatu gejala apapun.
•
Dengue klasik, penderita mengalami demam tinggi selama 4 - 7
hari, nyeri-nyeri pada tulang, diikuti dengan munculnya bintik-bintik atau bercak-bercak perdarahan di bawah kulit. •
Dengue Haemorrhagic Fever (Demam berdarah dengue/DBD)
gejalanya sama dengan dengue klasik ditambah dengan perdarahan dari hidung (epistaksis/mimisan), mulut, dubur, dsb. •
Dengue Syok Sindrom, gejalanya sama dengan DBD ditambah
dengan syok / presyok. Bentuk ini sering berujung pada kematian.
65
Karena seringnya terjadi perdarahan dan syok maka pada penyakit ini angka kematiannya cukup tinggi, oleh karena itu setiap Penderita yang diduga menderita Demam Berdarah dalam tingkat yang manapun harus segera dibawa ke dokter atau Rumah Sakit, mengingat sewaktu-waktu dapat mengalami syok / kematian.
Demam berdarah umumnya lamanya sekitar enam atau tujuh hari dengan puncak demam yang lebih kecil terjadi pada akhir masa demam. Secara klinis, jumlah platelet akan jatuh hingga pasien dianggap afebril.