Monday, October 3, 2016

SISTEM PAKAR

1.                  Pengertian Sistem Pakar
Kecerdasan Buatan (Artificial Intelegent) merupakan salah satu bagian dari ilmu komputer yang membuat agar komputer dapat melakukan pekerjaan seperti yang dilakukan manusia (Sri Kusumadewi, 2003). Kecerdasan buatan memiliki banyak bidang terapan diantaranya Expert Sistem (sistem pakar), Natural Language Processing (pemrosesan bahasa ilmiah), Computer Visio (mengintrepetasi gambar melalui komputer), Intelligence Computer Aided Instruction (tutor dalam melatih dan mengajar), Speech Recognition (pengenalan ucapan), Robotics and Sensory Sistem (robotika dan sistem sensor).
Sistem pakar adalah suatu sistem informasi yang berusaha mengadopsi pengetahuan dari manusia ke komputer, agar komputer dapat menyelesaikan masalah layaknya seorang pakar (Sri Kusumadewi, 2003). Sedangkan pengertian sistem informasi adalah kumpulan elemen yang saling berhubungan satu dengan yang lain untuk membentuk suatu kesatuan untuk mengintegrasi data, memproses dan menyimpan serta mendistribusikan informasi tersebut (Budi Sutejo, 2006).
Pada dasarnya sistem pakar diterapkan untuk mendukung  aktifitas  pemecahan masalah. Beberapa aktifitas pemecahan masalah yang dimaksud seperti (Lestari, 2012):
a)      Interpretasi
Membuat kesimpulan atau deskripsi dari sekumpulan data mentah. Pengambilan keputusan dari hasil observasi, termasuk pengenalan ucapan, analisis citra, interpretasi sinyal, dll.
b)      Prediksi
Memproyeksikan akibat-akibat yang dimungkinkan dari situasi-situasi tertentu. Contoh:  prediksi demografi, prediksi ekonomi, dll.
c)      Diagnosis
Menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati diagnosis medis, elektronis, mekanis, dll.
d)      Perancangan (desain)
Menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu. Contoh:  perancangan layout sirkuit, bangunan.
e)      Perencanaan
Merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu. Contoh: perencanaan keuangan, militer, dll.
f)       Monitoring
Membandingkan hasil pengamatan dengan kondisi yang diharapkan.  Contoh : computer aided monitoring system.
g)      Debugging
Menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi. Contoh: memberikan resep obat terhadap kegagalan.
h)      Instruksi
Mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subyek. Contoh: melakukan instruksi untuk diagnosis dan debugging.
i)       Kontrol
Mengatur tingkah laku suatu environment yang kompleks. Contoh: melakukan kontrol     terhadap interpretasi, prediksi, perbaikan dan monitoring kelakukan sistem.
Dengan sistem pakar, pemakai dapat memperoleh informasi yang berkualitas dengan mudah seperti halnya memperoleh dari para ahli di bidangnya. Selain itu, sistem pakar juga dapat membantu aktifitas para pakar sebagai asisten yang mempunyai pengetahuan yang dibutuhkan.

2.                  Kelebihan dan Kekurangan Sistem Pakar
Sistem pakar memiliki beberapa fitur yang merupakan kelebihannya (Rika Rosnelly, 2003), seperti:
a.       Meningkatkan ketersediaan (increased availability).
b.      Mengurangi biaya yang diperlukan untuk keahlian per satu orang pemakai.
c.  Sistem pakar menghasilkan solusi yang bersifat konsisten dibandingkan manusia yang terkadang berubah-ubah karena kondisi fisiknya seperti saat kelelahan.
d.     Sistem pakar menjelaskan detail proses penalaran yang dilakukan sehingga mendapatkan suatu kesimpulan.
e.       Sistem pakar relatif memberikan respon yang cepat dibandingkan seorang pakar.
f.        Sistem pakar dapat digunakan untuk mengolah data basis pengetehuan secara baik.
g.  Berperan sebagai pembimbing yang pintar, sistem pakar memberikan kesempatan pada pemakai untuk menjalankan contoh program dan menjelaskan proses penalaran yang benar.
Disamping memiliki kelebihan, sistem pakar juga mempunyai kekurangan, Menurut M.Arhami (2005) kekurangan sistem pakar adalah sebagai berikut:
a.       Untuk mendapatkan pengetahuan tidaklah selalu mudah, karena kadang kala pakar dari masalah yang dibuat tidak ada, dan kalaupun ada, kadang- kadang pendekatan yang dimilki oleh pakar tersebut berbeda-beda.
b.      Untuk membuat suatu sistem pakar yang benar-benar berkualitas, cukup sulit dan membutuhkan biaya yang tidak sedikit untuk pengembangannya.
c.       Kadang kala sistem tidak  menghasilkan sebuah keputusan.
d.      Sistem pakar perlu diuji ulang secara teliti sebelum digunakan, sehingga dalam hal ini faktor manusia tetaplah menjadi dominan.

3.                  Elemen Manusia Pada Sistem Pakar
Pengembangan sistem pakar dari awal hingga menghasilkan solusi akhir melibatkan peran serta 4 kelompok  (Rika Rosnelly, 2003) diantaranya:
a.       Pakar (expert )
Pakar adalah individu yang memiliki pengetahuan khusus, pemahaman, pengalaman, dan metode-metode yang digunakan untuk memecahkan persoalan dalam bidang tertentu. Selain itu seorang pakar, juga memilki kemampuan untuk mengaplikasikan pengetahuannya dan memberikan saran serta pemecahan masalah pada domain tertentu.
b.      Pembangun  pengetahuan (knowledge engineer)
Pembangun pengetahuan adalah individu yang memiliki tugas menerjemahkan dan mempresentasikan pengetahuan yang diperoleh dari pakar, baik berupa pengalaman pakar dalam menyelesaikan masalah maupun sumber terdokumentasi lainnya ke dalam bentuk yang diterima oleh sistem. Dalam hal ini, pembangun pengetahuan mengintrepetasikan dan merepresentasikan pengetahuan dalam bentuk jawaban atas pertanyaan – pertanyaan yang diajukan pada pakar atau pemahaman, penggambaran analogis, sistemastis, konseptual yang diperoleh dari membaca beberapa dokumen cetak seperti text book, jurnal, makalah, dan sebagainya.
c.       Pembangun Sistem (system engineer)
Pembangun sistem adalah individu yang bertugas untuk merancang antar  muka pemakai sistem pakar, merancang pengetahuan yang sudah diterjemahkan oleh pembangun pengetahuan ke dalam bentuk yang sesuai dan dapat diterima oleh sistem pakar dan mengimplementasikan ke dalam mesin inferensi. Selain itu, pembangun sistem juga bertanggung jawab apabila  sistem pakar akan diintegrasikan dengan sistem komputerisasi lain.
d.      Pemakai (user)
Banyak sistem berbasis komputer mempunyai susunan pemakai tunggal. Hal ini berbeda dengan sistem pakar yang memungkinkan mempunyai beberapa kelas pemakai. Tabel 2.0 berikut menunjukkan beberapa contoh hubungan antara kelas pemakai, kepentingan pemakai dan fungsi sistem  pakar.

Tabel 2.0 Hubungan antar kelas pemakai, kepentingan pemakai dan fungsi sistem pakar
Pemakai
Kepentingan
Fungsi sistem pakar
Klien bukan pakar (masyarakat umum)
Mencari saran/nasehat, sarana belajar
Konsultan        atau penasehat
Pembangun sistem dan pengetahuan
Memperbaiki/menambah     basis pengetahuan, merancang sistem
Partner
Pakar
Membantu analisis rutin atau proses komputasi, mengklasifikasikan informasi, alat bantu diagnosa
Rekan kerja atau asisten
Sumber: Rika Rosnelly (2003)

4.                  Struktur Sistem Pakar

Menurut Rika Rosnelly (2003), adapun struktur sistem pakar dapat dilihat:


Gambar 2.1 : Struktur sistem pakar

Komponen yang terdapat dalam struktur sistem pakar ini adalah sebagai berikut:
a.         Basis Pengetahuan (Knowledge Base)
Basis pengetahuan berisi pengetahuan untuk pemahaman, formulasi dan penyelesaian masalah. Sistem pakar disusun atas dua elemen dasar yaitu fakta dan aturan. Fakta merupakan informasi tentang  objek  dalam  area permasalahan tertentu, sedangkan aturan merupakan informasi cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui. Pada struktur sistem pakar diatas, knowledge base berfungsi untuk menyimpan pengetahuan dari pakar berupa rule / aturan (if <kondisi> then <aksi> atau dapat juga disebut condition-action rules).
b.         Mesin Inferensi (Inference Engine)
Mesin Inferensi merupakan otak dari sebuah sistem pakar dan dikenal juga dengan sebutan control structure atau rule interpreter (dalam sistem pakar berbasis kaidah). Komponen ini berisi mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah processor pada sistem pakar yang mencocokkan bagian kondisi dari rule yang tersimpan di dalam knowledge base dengan fakta yang tersimpan di working memory. Ada beberapa teknik penalaran yang dapat digunakan salah satunya adalah forward chaining.
Foward chaining merupakan pencocokan fakta atau pernyataan dimulai dari bagian kiri (IF) atau dengan kata lain penalaran dimulai dari fakta  terlebih dahulu untuk menguji kebenaran (Sri Kusumadewi, 2003). Metode ini sering disebut data-driven karena mesin inferensi menggunakan informasi yang ditentukan oleh pemakai untuk memindahkan ke seluruh jaringan dari logika „AND‟ dan „OR‟ sampai sebuah terminal ditentukan sebagai objek. Bila mesin inferensi tidak dapat menentukan objek maka akan meminta informasi lain. Aturan (Rule) dimana menentukan objek, membentuk lintasan (path) yang mengarah ke objek. Oleh karena itu, hanya satu cara untuk mencapai suatu objek adalah dengan memenuhi semua aturan.
Ada dua pendapat mengenai pelaksanaan metode ini. Pertama dengan cara membawa seluruh data yang didapat ke dalam sistem pakar. Kedua dengan membawa bagian penting-penting saja dari data yang didapat ke dalam sistem pakar. Cara pertama akan baik digunakan jika sistem pakar terhubung dengan proses otomatis dan dapat menerima seluruh data dari basis data. Namun cara kedua lebih efisien karena menghemat biaya dan waktu dengan mengambil data-data yang penting saja.
Contoh:
R1: IF A and C, THEN E
R2: IF D and C, THEN F
R3: IF B and E, THEN F
R4: IF B, THEN C
R5: IF F, THEN G
Fakta nya adalah: A benar dan B benar
Langkah –langkahnya:
1)      Dimulai  dari  R1  Karena  C  dan  E  tidak  diketahui  maka  tidak diambil kesimpulan. Pencocokan lanjut di R2, ternyata di R2 juga tidak diambil kesimpulan. Lakukan hal sama pada R3, kemudian pada R4 bernilai benar karena  B diketahui benar.
2)      Selanjutnya ke R5, namun tidak dapat diambil kesimpulan. Lalu kembali lagi ke atas, R1 bernilai benar karena A benar dan C benar maka F benar.
3)      Lalu ke R2, karena D belum diketahui kebenarannya makanya tidak dapat diambil kesimpulan.
4)      Lanjut pada R3, karena B dan F benar maka E juga benar.
5)      Selanjutnya pada R5, karena F benar maka G benar. Sehingga dengan demikian G adalah kesimpulannya.

 
Gambar  2.2 Diagram Pohon Foward Chaining

c.         Memori Kerja (Working Memory)
Berguna untuk menyimpan fakta yang dihasilkan oleh mesin inferensi dengan penambahan parameter berupa derajat kepercayaan atau dapat juga dikatakan sebagai global database dari fakta yang digunakan oleh aturan- aturan yang ada.
d.         Fasilitas penjelasan (Explanation facility)
Menyediakan kebenaran dari solusi yang dihasilkan kepada pemakai.
e.         Akuisisi pengetahuan (Knowledge acquisition facility)
Meliputi proses pengumpulan, pemindahan, dan perubahan dari kemampuan pemecahan masalah seorang pakar atau sumber pengetahuan terdokumentasi ke program komputer yang bertujuan untuk memperbaiki atau mengembangkan basis pengetahuan.
f.          Tampilan pemakai (User Interface)
Mekanisme untuk memberi kesempatan kepada pemakai dan sistem pakar untuk berkomunikasi antar muka yaitu dengan menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu antar muka menerima informasi dari sistem dan menyajikannya ke dalam bentuk yang dapat dimengerti oleh pemakai

5.                  Jenis – Jenis Metode Pengembangan Sistem
Dalam membangun suatu sistem informasi diperlukan sebuah cara atau metode yang dijadikan sebagai panduan untuk mendapatkan sistem yang diharapkan. Beberapa metode pengembangan sistem adalah Prototype, Incremental, Code-and-fix, Star Lifecycle, Spiral dan waterfall.
Metode Waterfall atau dapat disebut sebagai model air terjun adalah satu metode dalam pengembangan sistem yang mempunyai ciri khas pengerjaan setiap fase dalam waterfall harus diselesaikan terlebih dahulu sebelum melanjutkan ke fase selanjutnya.
Menurut Kadir (2003), model waterfall mempunyai langkah –langkah sebagai berikut:

Gambar 2.9 Model Waterfall

Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model tersebut:
a.       Analisa Kebutuhan
Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dilakukan melalui wawancara dan studi literatur. Sistem analis akan menggali informasi sebanyak-banyaknya dari pemakai sehingga akan tercipta sebuah sistem komputer yang melakukan tugas-tugas yang diinginkan oleh pemakai tersebut. Tahapan ini akan menghasilkan dokumen pemakai recruitment atau dikatakan sebagai data yang berhubungan dengan keinginan pemakai dalam pembuatan sistem. Dokumen ini lah yang akan menjadi acuan sistem analis untuk menerjemahkan ke dalam bahasa pemrograman
b.      Desain Sistem
Tahapan dimana dilakukan penuangan pikiran dan perancangan sistem terhadap solusi dari permasalahan yang ada dengan menggunakan perangkat pemodelan sistem seperti diagram alir data (data flow diagram), serta use case diagram.
1)      Data Flow Diagram (DFD)
Data Flow Diagram (DFD) adalah diagram yang menggunakan notasi simbol untuk menggambarkan arus data sistem (Jogiyanto Hartono, 2005).
DFD merupakan gambaran sistem secara logika dari input sampai menghasilkan output dan tidak terikat oleh perangkat keras, perangkat lunak, dan organisasi file. DFD berfungsi memudahkan pemakai untuk memahami bagaimana proses kerja sistem yang akan dibuat.
Tabel 2.4 Simbol – simbol DFD
Simbol
Nama
Keterangan



Entitas Eksternal
Entitas eksternal, dapat berupa orang/unit terkait yang berinteraksi dengan sistem teteapi diluar sistem




Proses
Kegiatan dari hasil suatu arus data yang masuk dalam proses dihasilkan arus data yang akan keluar atau mengubah input menjadi output.



Aliran data ( data flow)
Data mengalir melalui sistem, dimulai dengan sebagian input dan diubah menjadi output.






Penyimpanan data (data storage)

Data disimpan untuk keperluan berikutnya

Adapun tingkatan-tingkatan dari suatu DFD adalah sebagai berikut (Kendall, 2006)  adalah Diagram level 0, diagram level 1, diagram level n.


Gambar 2.10 Contoh DFD

2)      Use Case Diagram
Use Case Diagram adalah model fungsional sebuah sistem yang menggunakan aktor dan use case. Aktor berfungsi menjelaskan seseorang atau sesuatu yang berinteraksi dengan sistem. Menurut Hendri et al  (2008) use case adalah fasilitas atau fungsi-fungsi yang disediakan untuk pemakainya.


Gambar 2.11 Contoh Use Case


c.       Penulisan Kode Program
Penulisan kode program atau coding merupakan penerjemahan design dalam bahasa yang dikenali oleh komputer. Dilakukan oleh programmer yang akan menerjemahkan transaksi yang diminta oleh pemakai. Tahapan ini lah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan    komputer    akan    dimaksimalkan    dalam    tahapan    ini.  Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian diperbaiki.
d.      Pengujian Program
Tahapan akhir dimana sistem yang baru diuji kemampuan dan keefektifannya sehingga didapatkan kekurangan dan kelemahan sistem yang kemudian dilakukan pengkajian ulang dan perbaikan terhadap aplikasi menjadi lebih baik dan sempurna.
e.       Penerapan Program dan Pemeliharaan
Sistem yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut karena mengalami kesalahan karena sistem harus menyesuaikan dengan lingkungan baru (periperal atau sistem operasi baru), atau karena pelanggan membutuhkan perkembangan fungsional sehingga diperlukan pemeliharaan.

6.                  Jaminan Kualitas Sistem
Jaminan kualitas sistem adalah aktifitas pelindung yang diaplikasikan pada seluruh proses sistem. Tujuannya adalah untuk memberikan data yang diperlukan oleh manajemen untuk menginformasikan masalah kualitas sistem, sehingga dapat memberikan kepastian bahwa kualitas sistem dapat memenuhi sasaran.
Dalam menentukan kualitas suatu sistem, dibutuhkan suatu aspek  ukuran yang bisa menjadi acuan seberapa puaskah pemakai terhadap penggunaan sistem yang dibuat. Komponen yang digunakan untuk mengukur seberapa baik suatu sistem tersebut sehingga pemakai merasa puas adalah sebagai berikut  International Standart Organization (ISO) 9241:11, 1998):
a)      Kemudahan (learnability) didefinisikan seberapa cepat pemakai mahir dalam menggunakan sistem serta kemudahan dalam penggunaan menjalankan suatu fungsi serta apa yang pemakai inginkan dapat mereka dapatkan.
b)      Efisiensi (efficiency) didefenisikan sebagai sumber daya yang dikeluarkan guna mencapai ketepatan dan kelengkapan tujuan.
c)      Mudah diingat (memorability) didefinisikan bagaimana kemampuan pemakai mempertahankan pengetahuannya setelah jangka waktu   tertentu, kemampuan mengingat didapatkan dari peletakkan menu yang selalu  tetap.
d)      Kesalahan dan keamanan (errors) didefinisikan berapa banyak kesalahan- kesalahan apa saja yang dibuat pemakai, kesalahan yang dibuat pemakai mencangkup ketidaksesuaian apa yang pemakai pikirkan dengan apa yang sebenarnya disajikan oleh sistem.
e)      Kepuasan (satisfaction) didefinisikan kebebasan dari ketidaknyamanan, dan sikap positif terhadap penggunaan produk atau ukuran subjektif sebagaimana pemakai merasa tentang penggunaan sistem.

7.                   Program Kecerdasan Tiruan
Aplikasi Sistem pakar dapat dibuat dengan menggunakan suatu program paket, yaitu alat pengembangan sistem aplikasi pengetahuan (knowledge system application development tool) diantaranya :
·         VP-Expert
·         PC PLUS
·         GURU
·         JESS(Java Expert System Shell) Version 5.0
·         EXSYS
Aplikasi sistem pakar dengan menggunakan bahasa untuk pemprograman kecerdasan tiruan diantaranya :
·         Prolog
·         Win-Prolog 4.040
·         LISP (Lisp Processing)
·         CLIPS

Contoh Penerapan Aplikasi Sistem Pakar

  1.  Sistem Pakar Dalam Bidang Kedokteran

Di dunia kedokteran, sudah banyak bermunculan aplikasi sistem pakar. Sistem pakar ini mampu mendiagnosis berbagai jenis penyakit pada manusia, baik penyakit mata, THT (telinga, hidung, tenggorokan), mulut, organ dalam (jantung, hati, ginjal), maupun AIDS. Dengan adanya sistem pakar ini, orang awam mampu mendeteksi adanya penyakit pada dirinya berdasarkan gejala-gejala yang dirasakan oleh orang tersebut dengan menjawab pertanyaan pada aplikasi seperti halnya konsultasi ke dokter.
Aplikasi sistem pakar dalam bidang kedokteran yang dibuat dengan proses penelusuran maju (forward chaining) mampu mengenali jenis penyakit pada manusia, terutama jenis penyakit mata. Aplikasi sistem pakar ini dapat menjadi sarana untuk menyimpan pengetahuan tentang penyakit terutama yang berkenaan dengan jenis penyakit mata dari para pakar atau ahlinya. Sistem pakar mampu membantu pasien maupun dokter dalam menyediakan sistem pendukung keputusan dan saran dari pakar.
Pada aplikasi sistem pakar umumnya user akan diminta untuk menjawab pertanyaan sesuai dengan gejala yang dirasakan. Dalam aplikasi ini, user menjawab dengan ya atau tidak. Setelah menjawab beberapa pertanyaan, maka aplikasi akan menghasilkan kesimpulan mengenai jenis penyakit mata yang diderita user. Pada aplikasi sistem pakar lainnya, tidak jarang juga sudah memberikan solusi atau cara penanganan terhadap jenis penyakit yang diderita tersebut.

2. Implementasi Sistem Pakar di Bidang Hankam

Bentuk implementasi system pakar di bidang ini antara lain pada radar. Fungsi radar secara umum ialah mendeteksi keberadaan benda di lingkungan dimana radar berada. Jarak jangkauan radar bermacam-macam. Semakin berkembangnya teknologi kemampuan radar semakin canggih. Radar saat ini dapat mendeteksi keberadaan awak yang tidak dikenal, dan menampilkan informasi yang mendukung tentang benda yang ditangkap pada radar.
  •         Membantu pertahanan sebuah instansi atau bahkan Negara.
  •        Membantu dalam sistem keamanan yang terbatas dapat dilakukan oleh manusia.
  •        Mengurangi penyalahgunaan alat yang penting.


References :
·         Sri Kusumadewi, (2003). Artificial Intelligence (Teknik dan Aplikasinya), edisi pertama. Penerbit Graha Ilmu, Jakarta.

·         Buku Kecerdasan tiruan, jilid 2 (Siswanto: 2010)

0 comment:

Post a Comment

 
;