Sistem Pakar merupakan suatu program komputer yang mengandung pengetahuan dari satu atau lebih pakar manusia mengenai suatu bidang spesifik. Jenis program ini pertama kali dikembangkan oleh periset kecerdasan buatan pada dasawarsa 1960-an dan 1970-an dan diterapkan secara komersial selama 1980-an. Bentuk umum sistem pakar adalah suatu program yang dibuat berdasarkan suatu set aturan yang menganalisis informasi (biasanya diberikan oleh pengguna suatu sistem) mengenai suatu kelas masalah spesifik serta analisis matematis dari masalah tersebut. Tergantung dari desainnya, sistem pakar juga mampu merekomendasikan suatu rangkaian tindakan pengguna untuk dapat menerapkan koreksi. Sistem ini memanfaatkan kapabilitas penalaran untuk mencapai suatu simpulan.

Sistem pakar (expert system) adalah sistem yang berusaha mengapdosi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Jadi sistem pakar = kepakaran ditransfer dari seorang pakar (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll.) seperti layaknya seorang pakar, kemudian menjelaskannya ke pengguna tersebut, bila perlu dengan alasan-alasannya. Sistem Pakar terkadang lebih baik unjuk kerjanya daripada seorang pakar manusia. Dengan sistem pakar, orang awam pun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman.

Ketika suatu sistem pakar akan dibangun, maka seorang pengembang software (software developer) bekerja bersama dengan seorang pakar, pengembang ini akan melakukan serangkaian tanya-jawab (knowledge acquisition) untuk mengumpulkan dasar-dasar pengetahuan (knowledge base) sang pakar. Dasar-dasar pengetahuan ini kemudian dialihkan menjadi basis-pengetahuan sistem pakar dalam bentuk fakta dan aturan. Kemudian pengembang membangun suatu mesin inferensi (inference engine) yang merupakan pembuat keputusan dalam sistem pakar, mengumpulkan informasi dari user melalui tanya jawab, dan membandingkan informasi ini dengan basis-pengetahuan, kemudian memutuskan apa yang harus di-informasikan ke pengguna berdasarkan data/informasi yang diberikannya.

Model Sistem Pakar

Model Sistem Pakar

Ketika seorang pengguna memerlukan informasi dari sistem pakar, maka mesin inferensi akan mengajukan serangkaian pertanyaan yang harus dijawab oleh pengguna melalui suatu user-interface (antarmuka pengguna). Jawaban yang dikumpulkan oleh mesin inferensi kemudian dipakai untuk menemukan informasi dari basis-pengetahuan, informasi ini kemudian diteruskan ke pengguna. Apabila pengguna ingin mengetahui lebih rinci tentang informasi yang diperolehnya maka dapat melakukan klarifikasi melalui fasilitas penjelas (explanation facility).

Contoh dialog sistem pakar dengan penggunanya adalah sebagai berikut:

Sistem : Halo, saya pakar buah, silahkan jawab pertanyaan saya, ya atau tidak.

Sistem : Apakah warnanya hijau?
User : Tidak

Sistem : Apakah warnanya ungu kemerahan?
User : Ya

Sistem : Apakah batangnya merambat?
User : Ya

Sistem : Apakah bentuknya bulat kecil?
User : Ya

Sistem : Buah yang anda maksud adalah ANGGUR

Agar tanya jawab ini bisa berlangsung dengan baik maka sistem pakar ini harus memiliki basis-pengetahuan sebagai berikut:

Apel : – warna kuning atau merah

- batangnya adalah pohon
- bentuknya bulat sedang

Anggur : – warna ungu kemerahan

- batangnya merambat
- bentuknya bulat kecil

Jeruk : – warna oranye

- batangnya adalah pohon
- bentuknya bulat sedang

Ketika Sistem melakukan tanya jawab dengan User maka jawaban Ya akan dijadikan basis untuk memeriksa knowledge-base, misalnya pada contoh diatas data masukan adalah (ungu kemerahan, merambat, bulat kecil) dan data ini cocok dengan karakteristik dari Anggur, maka jawaban dari sistem adalah: ANGGUR.



Sistem Pakar

Sebuah sistem komputer yang bekerja berdasarkan pengetahuan dan keahlian layaknya pakar dikenal dengan sebuah sistem pakar (expert system). Umumnya sebuah sistem pakar dibentuk dengan kumpulan aturan yang menganalisis informasi mengenai permasalahan yang ada dan merekomendasikan jalan keluar bagi pengguna.

Sistem pakar dapat diciptakan untuk membantu pekerjaan dalam bidang akunting, kedokteran, produksi, sumber daya manusia, keuangan, dan lain sebagainya.

Salah satu contoh sistem pakar yang telah lama diterapkan adalah Mycin, yang ditulis dengan bahasa pemrograman Lisp.

Dari namanya yang mengingatkan orang pada antibiotik (yang umumnya berakhiran “mycin”), sistem ini memang didesain untuk mendiagnosis penyakit infeksi darah dan merekomendasikan antibiotik dengan dosis yang disesuaikan dengan berat badan pasien.

Sebagaimana pengetahuan seorang pakar yang dapat berkembang, sistem pakar juga dirancang agar dapat terus dikembangkan dengan menanamkan pengetahuan pada sistem secara bertahap.

Sistem pakar sangat membantu untuk melakukan hal-hal yang tidak dapat dilakukan pakar sesungguhnya, misalnya ketersediaan waktu selama 24 jam non -stop, atau gabungan

pengetahuan para pakar dalam satu sistem, di mana pengguna seolah-olah sedang berkonsultasi dengan banyak pakar.

Tidak seperti pakar sesungguhnya, sebuah sistem tentunya lebih mudah untuk didistribusikan ke banyak tempat sekaligus. Hal ini juga menjadi sebuah keuntungan yang ditawarkan sistem pakar.

Yang menjadi pertanyaan besar adalah seberapa jauh sebuah sistem dapat menggantikan keahlian seorang (atau lebih) pakar yang sesungguhnya?

Keterbatasan Masalah

Mungkinkah di masa depan kecerdasan buatan sudah sedemikian maju sehingga dapat menggantikan semua tugas manusia? Ternyata tidak semudah itu, otak manusia memiliki kemampuan luar biasa yang cara kerjanya bisa jadi tidak dapat ditiru persis 100% oleh mesin hingga saat ini.

Contohnya, beberapa permasalahan dipecahkan oleh manusia secara intuisi. Bagaimana memprogram intuisi pada kecerdasan buatan? Mungkin belum terbayangkan hingga saat ini, karena berbicara mengenai intuisi, akan lebih mengarahkan cara kerja pengetahuan bawah sadar otak manusia.

Sementara kecerdasan buatan memetakan pemikiran yang dilakukan otak manusia secara logis dan sistematis.

Permasalahan lainnya adalah asumsi yang timbul pada otak manusia bisa jadi sangat luas dan tidak dapat dicapai oleh kecerdasan buatan, misalnya pada saat kata “burung” muncul pada sebuah percakapan, otak manusia dapat menggambarkan burung adalah seekor binatang kecil, bernyanyi, dan terbang.

Asumsi yang tampaknya sederhana bagi otak manusia ini tidak dengan mudah ditemukan oleh kecerdasan buatan saat menangkap kata “burung”. Karena tidak satupun asumsi di atasbenar untuk mendefi nisikan burung secara umum. Mengapa?

Karena kecerdasan buatan tidak akan diberikan aturan bahwa burung adalah binatang kecil (ada burung yang besar), atau burung bisa bernyanyi (ada burung yang tidak bernyanyi), maupun burung bisa terbang (ada burung yang tidak dapat terbang seperti burung unta dan penguin).

Otak manusia juga memiliki informasi di atas, tetapi hal tersebut tidak membatasi asumsi yang dapat timbul dalam otak manusia.

Algoritma Pencarian


Salah satu unsur penting kecerdasan buatan adalah menyangkut algoritma pencariannya. Beberapa algoritma pencarian yang dikenal, antara lain:

1. Naive.
Contoh algoritma pencarian ini dapat dilihat pada Breadth First Search (BFS), yang dapat Anda bayangkan sebagai sebuah pohon node seperti pada Gambar 1.

Node teratas (node nomor 1) akan mulai mencari pada node terdekat (node nomor 2, 3, dan 4), proses pencarian berulang dengan cara yang sama pada masing-masing node tersebut, dan dilakukan hingga ditemukannya tujuan pencarian.

Algoritma pencarian naive yang lain adalah Depth First Search dan Best First Search (yang merupakan kombinasi dari Breadth First Search dan Depth First Search).

2. Heuristic.
Proses pencarian heuristic bekerja untuk menemukan jawaban yang paling cocok, ditujukan untuk mendapatkan performa pencarian yang baik dan mudah, dengan konsekuensi tingkat akurasi yang tidak terjamin.

Algoritma heuristic mencoba untuk meniru otak manusia saat menebak, dengan alasan yang masuk akal.

Heuristic umumnya digunakan saat menghadapi masalah yang kompleks atau memiliki informasi yang kurang memadai.

Misalnya pada saat dihadapkan pada pilihan untuk menentukan minuman yang paling enak di antara beberapa jenis minuman, sementara informasi yang adalah harga minuman,maka dapat diciptakan sebuah rule agar secara heuristic akan dipilih minuman dengan harga termahal sebagai minuman yang paling enak.

Tentu saja hal tersebut tidak menjamin bahwa pilihan itu benar, tetapi pilihan tersebut adalah pilihan yang paling masuk akal dan sederhana oleh otak manusia dengan keterbatasan informasi yang tersedia pada kasus tersebut.

3. Local.
Pencarian lokal berusaha untuk melakukan optimasi, misalnya dengan teknik Hill Climbing.

Teknik Hill Climbing dapat digunakan untuk memecahkan persoalan yang memiliki banyak alternatif solusi untuk kemudian memilih solusi yang terbaik. Cara kerjanya dimulai dengan memilih solusi acak, kemudian dilakukan perubahan sedikit demi sedikit, setiap perubahan menghasilkan solusi yang lebih baik.

Saat perubahan yang dilakukan tidak lagi mendapatkan solusi yang lebih baik, algoritma Hill Climbing akan berhenti mencari dan menentukan solusi terakhir sebagai solusi yang optimal.

Contoh penggunaan Hill Climbing pada kecerdasan buatan adalah pencarian rute terbaik, dari berbagai kemungkinan rute yang ada.

Contoh lain dari pencarian local adalah teknik pencarian Beam (Beam Search) dan Simulated Annealing (SA).

4. Genetic.
Pencarian dengan algoritma genetic meniru proses seleksi alam atau proses evolusi seperti inheritance, mutasi, seleksi, dan kombinasi ulang (crossover).

Dengan algoritma genetic, diharapkan mesin dapat menghasilkan kreativitas, hal ini melahirkan cabang kecerdasanbuatan yang dinamakan kreativitas buatan (Artifi cial Creativity). Aplikasinya bisa jadi mengarahkan mesin untuk dapat menciptakan musik, desain, dan lain sebagainya.

Walaupun pada dasarnya bahasa pemrograman yang umum digunakan seperti Visual Basic, C++, Delphi, FoxPro, dan sebagainya memungkinkan untuk menciptakan sebuah aplikasi kecerdasan buatan, tetapi para pengembang kecerdasan buatan telah membuat bahasa pemrograman yang khusus untuk keperluan tersebut.

Beberapa bahasa pemrograman untuk kecerdasan buatan yang dikenal adalah IPL, Lisp, Prolog, STRIPS, dan Planner.

Aplikasi Kecerdasan Buatan

Kecerdasan buatan juga telah digunakan dalam bidang bisnis, bahkan pada sebuah kompetisi trading fi nansial tahun 2001, robot bernama Bots ciptaan IBM telah dapat mengalahkan team manusia dengan mengumpulkan keuntungan 7% lebih banyak.

Walaupun tidak diikuti oleh trader profesional, hasil kompetisi tersebut membuat aplikasi kecerdasan buatan semakin diperhitungkan penggunaannya di dalam pasar finansial.

Penggunaan robot telah menjadi hal yang umum pada saat ini pada berbagai industri, terutama untuk menggantikan pekerjaan yang dapat berbahaya bagi manusia. Juga terbukti bahwa robot dapat melakukan pekerjaan yang memerlukan pengulangan dengan lebih efektif dan mengurangi human error.

Perusahaan General Motor menggunakan sekitar 16.000 robot untuk tugas mengecat, las, dan perakitan produknya. Jepang merupakan leader dalam menggunakan dan memproduksi robot.

Kecerdasan buatan juga telah diaplikasikan pada mainan elektronik, misalnya Furby, robot berbentuk burung hantu yang dapat berbicara. Furby tergolong dalam kategori robot otonomi, yaitu robot yang dapat melakukan suatu tindakan didalam sebuah lingkungan tanpa pengarahan dari manusia.

Akankah Ciptaan Menjajah Pencipta?

Kecerdasan buatan merupakan salah satu topik yang disukai penggemar science-fiction, pada film Terminator digambarkan perang manusia melawan mesin, bahkan dalam novel berjudul With Folded Hands karangan Jack Williamson, digambarkan bangsa Humanoids (robot mesin ciptaan manusia) menjajah bangsa manusia dan menggantikan semua peranan manusia.

Walaupun masih merupakan khayalan, tetapi kontroversi apakah hal tersebut dapat terjadi merupakan hal yang menarik untuk diperdebatkan. Apakah ratusan atau ribuan tahun mendatang mesin dapat mencapai kemampuan untuk menguasai manusia, ataukah sampai di satu titik saat kecerdasan buatan tidak dapat menjadi lebih cerdas lagi?

Satu hal yang jelas, kecerdasan buatan tentunya diarahkan untuk membantu manusia. Kecerdasan buatan dapat membantu memberikan diagnosis, prediksi, rekomendasi, simulasi, dan lain sebagainya, tetapi keputusan akhir tetaplah pada pengontrolan manusia.

LEBIH LANJUT

http://en.wikipedia.org/wiki/Artificial_intelligence
http://en.wikipedia.org/wiki/Hill_climbing

Sumber : majalah PC Media

0 komentar:

Posting Komentar