BAB 2
TINJAUAN TEORI
2.1.
Kecerdasan Buatan
Artificial Intelligence ( AI ) atau kecerdasan buatan merupakan cabang dari ilmu komputer yang berhubungan dengan pengotomatisan tingkah laku cerdas. AI adalah bagian dari komputer sehingga harus didasarkan pada Sound theoretical ( teori suara) dan prinsip-prinsip aplikasi dari bidangnya. Prinsip-prinsip ini meliputi struktur data yang digunakan dalam representasi pengetahuan, algoritma yang diperlukan untuk mengaplikasikan pengetahuan tersebut, serta bahasa dan teknik pemrograman yang digunakan dalam mengimplementasikannya.
Ada tiga tujuan kecerdasan buatan, yaitu : membuat komputer lebih cerdas, mengerti tentang kecerdasan, dan membuat mesin lebih berguna. Yang dimaksud kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman, memahami pesan yang kontradiktif dan ambigu, menanggapi dengan cepat dan baik atas situasi yang baru, menggunakan penalaran dalam memecahkan masalah serta menyeslesaikannya dengan efektif.
Kecerdasan
buatan
berbeda
dengan
pemrograman
konvensional.
Pemrograman konvensional berbasis pada algoritma yang mendefinisikan setiap langkah dalam penyelesaian masalah. Lain halnya dengan pemrograman dalam kecerdasan buatan yang berbasis pada representasi simbol dan manipulasi. Dalam kecerdasan buatan, sebuah simbol dapat berupa kalimat, kata, atau angka yang diguanakan untuk merepresentasikan obyek, proses dan hubungannya.
Beberapa bidang penelitian dalam kecerdasan buatan di antaranya:
1.
Formal tasks (matematika, games)
2.
Mundane task (perception, robotics, natural language, common sense, reasoning)
3.
Expert Task (financial analysis, medical diagnostics, engineering, scientific analysis, dll.)
2.2
Sistem Pakar
Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memcahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut.
Pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas pemecahan masalah. Beberapa aktifitas pemecahan yang dimaksud antara lain: pembuatan keputusan (decision making), pemaduan pengetahuan (knowledge fusing), pembuatan desain (designing), perencanaan (planning), prakiraan (forecasting), pengaturan (regulating), perumusan (prescribing), penjelasan (explaining), pemberian nasihat (advising ) dan pelatihan (tutoring). Selain itu sistem pakar juga dapat berfungsi sebagai asisten yang pandai dari seorang pakar.
Pengetahuan medis dari dokter sangat diperlukan untuk pengembangan sistem pakar. Pengetahuan ini dikumpulkan dalam dua tahap. Dalam tahap pertama, latar belakang medis penyakit pernapasan dicatat melalui wawancara dengan dokter dan pasien. Dalam tahap kedua, satu set aturan yang dibuat di mana setiap aturan berisi di bagian JIKA yang memiliki gejala-gejala dan bagian MAKA yang memiliki penyakit.
Biasanya sistem pakar hanya digunakan untuk memecahkan masalah yang memang sulit untuk dipecahkan dengan pemrograman biasa, mengingat biaya yang diperlukan untuk membuat sistem pakar jauh lebih besar dari pembuatan sistem biasa.
2.2.1
Sejarah Sistem Pakar
Sistem pakar mulai dikembangkan pada pertengahan tahun 1960-an oleh Artificial Intelligence Corporation.
1961
General Problem Solver (GPS) oleh A. Newell and H. Simon. Adalah sebuah program yang dibangun untuk menyelesaikan permasalahan mulai dari games sampai matematika integral.
1969
DENDRAL. Dibangun di Stanford University atas permintaan NASA (Buchanan and Feigenbaum) untuk melakukan analisis kimiawi terhadap kondisi tanah di planet Mars.
1970
MCYN. Dibuat untuk diagnosa medis oleh Buchanan dan Shortliffe.
1982
R1/XCON adalah sistem pakar pertama yang dibuat oleh para peneliti di Carnegie Melon University (CMU).
2.2.2
Adapun ciri-ciri sistem pakar diantaranya adalah :
1. Bekerja secara sistematis berdasarkan pengetahuan dan mekanisme tertentu. 2. Pengambilan keputusan berdasarkan kaidah-kaidah tertentu dan dapat merespons masukkan user (melalui kotak dialog). 3. Dapat menalar data-data yang tidak pasti dan memberikan beberapa alasan pemilihan. 4. Dikembangkan secara bertahap dan terbatas pada bidang keahlian tertentu saja. 5. Outputnya berupa saran atau anjuran.
2.2.3
Pemakai Sistem Pakar
Sistem pakar dapat digunakan oleh:
1.
Orang awam yang bukan pakar untuk meningkatkan kemampuan mereka dalam memecahkan masalah.
2.
Pakar sebagai asisten yang berpengetahuan.
3.
Memperbanyak atau menyebarkan sumber pengetahuan yang semakin langka.
Sistem pakar merupakan program yang dapat menggantikan keberadaan seorang pakar. Alasan mendasar mengapa sistem pakar dikembangkan untuk menggantikan seorang pakar:
1.
Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
2.
Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
3.
Seorang pakar akan pensiun atau pergi.
4.
Menghadirkan/menggunakan jasa seorang pakar memerlukan biaya mahal.
5.
Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat ( hostile environment).
2.2.4
Keuntungan Sistem Pakar
Adapun keunggulan sistem pakar yang dapat diambil manfaat dari penggunaanya adalah : 1.
Memungkinkan orang awam bisa mengerjakan perkerjaan para ahli
2.
Bisa melakukan proses berulang secara otomatis.
3.
Menyimpan pengetahuan dan keahlian para pakar.
4.
Meningkatkan produktivitas.
5.
Meningkatkan kualitas dan kapabilitas komputer dalam penggunaan komputer dan dalam menyelesaikan masalah, karena pemberdayaan kemampuan komputer untuk memecahkan masalah baru.
6.
Mampu mengambil dan melestarikan keahlian para pakar, terutama untuk ilmu pengetahuan yang tidak dimilki oleh sebanyak ilmu lainya oleh para pakar.
7.
Memiliki reliabilitas, yaitu bisa dipercaya kebenaranya dan tahan uji atas kemampuan yang diterima.
8.
Sebagai media pelengkap dalam pelatihan.
9.
Menghemat waktu dalam pengambilan keputusan.
2.2.5
Kelemahan Sistem Pakar
Namun Sistem ini tetap memiliki kelemahan-kelemahan yang merupakan bentuk tidak kemampuan rekayasa pengetahuan dan pakar dengan hasil semaksimal mungkin. Kelemahan-kelemahan tersebut antara lain: 1. Biaya yang diperlukan sangat mahal untuk membuat dan pemeliharaan sistem ini. 2. Sulit dikembangkan, terutama bila dikaitkan dengan ketersediaan pakar dibidangnya. 3. Sistem Pakar tidak 100% bernilai benar, karena ini rekayasa manusia untuk membantu menyelesaikan masalah bukan sebagai penyelesaian secara utuh.
2.2.6
Arsitektur Sistem Pakar
Sistem pakar dapat ditampilkan dengan dua lingkungan, yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment) (Gambar 2.1). Lingkungan pengembangan digunakan oleh sistem pakar (ES) builder untuk membangun komponen dan memasukkan pengetahuan ke dalam basis pengetahuan. Lingkungan konsultasi digunakan oleh nonpakar untuk memperoleh pengetahuan dan nasihat pakar. Lingkungan ini dapat dipisahkan setelah sistem lengkap.
Gambar 2.1 Struktur Sistem Pakar
Sistem pakar memiliki beberapa komponen utama, yaitu:
1. Antarmuka pengguna (user interface) Antarmuka pemakai merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan sistem pakar menerima instruksi dan informasi (input) dari pemakai, juga memberikan informasi (output) kepada pemakai.
2. Basis Pengetahuan Berisi pengetahuan setingkat pakar pada subyek tertentu. Berisi pengetahuan yang dibutuhkan untuk memahami, merumuskan, dan menyelesaikan masalah.
Basis data ini terdiri dari 2 elemen dasar: a. Fakta, situasi masalah dan teori yang terkait b. Heuristic khusus atau rules, yang langsung menggunakan pengetahuan untuk menyelesaikan masalah khusus Pada basis pengetahuan terdapat 2 (dua) bentuk pendekatan basis pengetahuan yang umum, yaitu :
a. Rule-based Reasoning (Penalaran berbasis pengetahuan). Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan menggunakan aturan berbentuk: IF-THEN. Bentuk ini digunakan apabila dimiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang jejak (langkah-langkah) pencapaian solusi.
b.
Case-based Reasoning (Penalaran berbasis kasus) 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 hampir sama
3. Fasilitas akusisi pengetahuan (knowledge acquisition facility) Perangkat lunak yang menyediakan fasilitas dialog anatara pakar dengan sistem. Fasilitas akusisi ini digunakan untuk memasukkan fakta-fakta dan kaidah sesuai dengan perkembangan ilmu.
4. Mekanisme inferensi (inference mechanism) Perangkat
lunak
yang
melakukan
penalaran
dengan
menggunakan
pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir.
5. Fasilitas penjelasan (explanation facility) Berguna dalam memberikan penjelasan kepada pengguna mengapa komputer meminta suatu informasi tertentu dari pengguna dan dasar apa yang digunakan komputer sehingga dapat menyimpulkan suatu kondisi. 6. Blackboard (Tempat Kerja) Blackboard adalah area kerja memori yang disimpan sebagai database untuk deskripsi persoalan terbaru yang ditetapkan oleh data input dan digunakan
juga untuk penekanan hipotesis dan keputusan sementara. Tiga tipe keputusan yang dapat direkam dalam blackboard : •
Rencana : bagaimana mengatasi persoalan
•
Agenda
: tindakan potensial sebelum eksekusi
•
Solusi
: hipotesis kandidat dan arahan alternatif yang telah dihasilkan
sistem sampai saat ini.
7. Perbaikan Pengetahuan Pakar manusia memiliki sistem perbaikan-pengetahuan, yakni mereka dapat menganalisis pengetahuannya sendiri dan kegunaannya, belajar darinya, dan meningkatkannya untuk konsultasi mendatang. Serupa pula, evaluasi tersebut diperlukan
dalam
pembelajaran
komputer
sehingga
program
dapat
menganalisis alasan keberhasilan atau kegagalannya. Hal ini dapat mengarah kepada peningkatan sehingga menghasilkan basis pengetahuan yang lebih akurat dan pertimbangan yang lebih efektif. Komponen tersebut tidak tersedia dalam sistem pakar komersil saat ini, tetapi sedang dikembangkan dalam ES eksperimental pada beberapa universitas dan lembaga riset.
2.2.7
Representasi Pengetahuan
Representasi pengetahuan merupakan metode yang digunkan untuk mengkodekan pengetahuan dalam sebuah sistem pakar. Representasi dimaksudkan untuk menangkap sifat-sifat penting masalah dan membuat informasi itu dapat diakses oleh prosedur pemecahan masalah.
Adapun karakteristik dari metode representasi pengetahuan adalah: a.
Harus bisa diprogram dengan bahasa pemrograman atau dengan shells dan hasilnya disimpan dalam memori.
b.
Dirancang sedemikian sehingga isinya dapat digunakan untuk proses penalaran.
c.
Model representasi pengetahuan merupakan sebuah struktur data yang dapat dimanipulasi oleh mesin inferensi dan pencarian untuk aktivitas pencocokan pola.
Sistem pakar lebih sering menggunakan pengetahuan daripada data untuk menyediakan solusi. Pengetahuan dikodekan dan dipelihara terpisah dari program pengendalian entitas. Sistem pakar mampu menjelaskan bagaimana kesimpulan tertentu telah tercapai. Sistem pakar menggunakan representasi simbolis untuk pengetahuan (aturan, jaringan, bingkai atau Script) dan melakukan inferensi melalui perhitungan simbolik.
1. Aturan produksi Aturan produksi adalah bentuk representasi pengetahuan yang paling populer untuk sistem pakar. Pengetahuan direpsentasikan dalam bentuk :
IF [kondisi] Then [aksi]
Tiap aturan produksi dalam basis pengetahuan mengimplementasikan sebagian keahlian otonomi yang dapat dikembangkan dan dimodifikasi secara terpisah dari aturan lain. Pada saat dimasukkan dan digabungkan kedalam mesin inferensi, set aturan berlaku secara sinergi, memberikan hasil yang lebih baik daripada jumlah hasil aturan individu.
2. Bingkai (Frame) Frame merupakan kumpulan pengetahuan tentang suatu objek tertentu, peristiwa, lokasi, situasi, dan lain-lain. Frame memiliki slot yang menggambarkan rincian (atribut) dan karakteristik objek. Biasanya digunakan untuk mempresentasikan pengetahuan yang didasarkan pada karakteristik yang sudah dikenal yang merupakan pengalaman-pengalaman.
3. Jaringan Semantik Jaringan semantik adalah gambaran pengetahuan grafis yang menunjukan hubungan antar berbagai objek. Jaringan semantik terdiri dari lingakran-
lingkaran yang menunjukan objek dan informasi tentang objek tersebut. Salah satu kelebihan jaringan semantik ini adalah ‘bisa mewariskan ‘. Artinya dari suatu objek yang merupakan sebuah subjek masih dapat dilakukan penurun informasi objek dari informasi objek yang mengikuti objek tersebut sebelumnya. Sistem jaringan semantik ini selalu tergantung pada jenis masalah yang dipecahkan.
4. Script Script merupakan skema representasi pengetahuan yang sama dengan frame. Hanya saja frame menggambarkan objek sedangkan script menggambarkan urutan
peristiwa.
Sama
halnya
dengan
frame,
script
juga
untuk
merepresentasikan situasi atau pengetahuan stereotipe atau pengetahuan yang didasarkan pada karakteristik yang sudah dikenal dan merupakan pengalaman. Berbeda dengan frame, script biasanya direpresentasikan ke dalam konteks tertentu.
Penggambaran
urutan
peristiwa
pada
script
menggunakan
serangkaian slot yang berisi informasi tentang orang, objek, dan tindakantindakan yang terjadi dalam suatu peristiwa.
2.2.8
Metode Inferensi
Mesin inferensi (penalaran maju) adalah suatu mekanisme di mana aturan-aturan dipilih untuk ditembakkan. Hal ini didasarkan pada pola pencocokan algoritma yang tujuan utamanya adalah untuk mengasosiasikan fakta (data masukan) dengan aturan yang berlaku dari aturan dasar.
Ada dua metode inferensi yang penting dalam sistem pakar yaitu: 1.
Runut Maju (Forward Chaining) Runut maju berarti menggunakan aturan kondisi-aksi. Dalam metode ini, data digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. Mungkin proses menambahkan data ke memori kerja. Proses diulang sampai ditemukan suatu hasil.
DATA
ATURAN
KESIMPULAN
A=1 B=2
JIKA A = 1 DAN B = 2 MAKA C = 3 JIKA C = 3 MAKA D = 4
D=4
Gambar 2.2 Forward Chaining
Table 2.1 Contoh-contoh aturan No.
Aturan
R-1
IF A & B THEN C
R-2
IF C THEN D
R-3
IF A & E THEN F
R-4
IF A THEN G
R-5
IF F & G THEN D
R-6
IF G & E THEN H
R-7
IF C & H THEN I
R-8
IF I & A THEN J
R-9
IF G THEN J
R-10
IF J THEN K
Pada tabel di atas ada 10 aturan (rule) yang tersimpan dalam basis pengetahuan. Fakta awal yang diberikan hanya : A & E (yaitu berarti A dan E bernilai benar). Hipotesanya adalah apakah K bernilai benar ?
Untuk itu dilakukan langkah-langkah inferensia sebagai berikut : •
Start dari R-1. A merupakan fakta sehingga bernilai benar, sedangkan B belum
diketahui
kebenarannya,
sehingga
C
pun
belum
diketahui
kebenarannya. Oleh karena itu pada R-1 kita tidak mendapatkan informasi apapun. Sehingga kita menuju ke R-2. •
Pada R-2 juga sama kita tidak dapat memastikan kebenaran D karena C belum diketahui apakah benar atau salah sehingga kita tidak mendapatkan informasi apapun , sehingga kita menuju ke R-3.
•
Pada R-3 A dan E adalah fakta sehingga jelas benar. Dengan demikian F sebagai konsekuensi juga benar. Dari sini kita mendapat fakta baru yaitu F, tetapi karena F bukan hipotesa maka langkah diteruskan ke R-4
•
Pada R-4 A adalah fakta berarti jelas benar, sehingga G sebagai konsekuen juga benar. Jadi terdapat fakta baru yaitu G, tetapi G bukan hipotesa sehingga langkah diteruskan ke R-5.
•
Pada R-5 F dan G benar berdasarkan aturan R-3 dan R-4, sehingga D sebagai konsekuen juga benar. Terdapat fakta baru yaitu D, tetapi D bukan hipotesa sehingga diteruskan ke R-6.
•
Pada R-6, E dan G benar berdasarkan fakta dan R-4, maka H benar. Sehingga terdapat fakta baru yaitu H, tetapi H bukan hipotesa, sehingga diteruskan ke R-7.
•
Pada R-7, karena C belum diketahui, maka I juga belum dapat diketahui kebenarannya, sehingga kita tidak mendapatkan informasi apapun. Diteruskan ke R-8
•
Pada R-8, meskipun A benar karena fakta tetapi I belum diketahui, sehingga J juga belum dapat diketahui kebenarannya. Diteruskan ke R-9.
•
Pada R-9, G benar menurut R-4, sehingga konsekuennya J juga benar, tetapi J bukan hipotesa, maka diteruskan ke R-10.
•
Pada R-10, K benar karena J benar menurut R-9. Karena K merupakan hipotesa yang dibuktikan maka selesai
Secara diagram dapat digambarkan sebagai berikut
R-4
G
R-5 A
R-3
R-10 J
R-6 F
E
R-9
D H
K
Gambar 2.3 Diagram Forward Chaining
2.
Runut Balik (Backward Chaining) Runut balik merupakan metode penalaran kebalikan dari runut maju. Dalam runut balik penalaran dimulai dengan tujuan kemudian merunut balik ke jalur yang akan mengarah ke tujuan tersebut (Giarattano dan Rilley, 1994). Runut balik disebut juga sebagai goal-driven reasoning, merupakan cara yang efisian untuk memecahkan masalah yang dimodelkan sebagai masalah pemilihan terstruktur.
ATURAN
SUB TUJUAN A=1 B=2
TUJUAN
JIKA A = 1 DAN B = 2 MAKA C = 3 JIKA C = 3 MAKA D = 4
D=4
Gambar 2.4 Backward Chaining
2.3 Sistem Pernapasan
Sistem pernapasan tersusun atas saluran pernapasan dan paru-paru sebagai tempat perrtukaraan udara pernapasan. Pernapasan merupakan proses untuk memenuhi kebutuhan oksigen yang diperlukan untuk mengubah sumber energi menjadi energi dan membuang CO2 sebagai sisa metabolisme. Saluran udara pernapasan tersusun atas: lubang hidung, rongga hidung, faring, laring, trakea, bronkus, dan bronkeolus. Lubang hidung sampai bronchiolus disebut pars konduktoria karena fungsinya sebagai saluran udara respirasi.
Kelainan-kelainan pernapasan dan saluran pernapasan merupakan salah satu keluhan yang sering terjadi terutama pada anak-anak. Umumnya keluhan ini banyak dijumpai pada musim hujan atau pada peralihan musim. Gejala-gejala yang menunjukkan adanya gangguan pada saluran pernapasan dapat berupa batuk, demam, kesulitan bernapas atau bersin. Kadang-kadang nyeri telan, ada perasaan kering pada tenggorokan, merasa lelah, nyeri dada atau perut, suara mendengkur saat bernapas atau pegal- pegal. Penyakit saluran pernapasan juga bisa disebabkan karena tersumbatnya jalur pernapasan atau kekurangan zat tertentu yang menyebabkan gangguan pada saluran pernapasan. Jika tidak segera ditangani, dapat menyebabkan kematian.