RPC

RPC ( Remote Procedure Call )

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me-request kepada sebuah match maker pada sebuah RPC port yang tetap. Match maker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.

RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.

RPC adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). Protokol RPC digunakan untuk membangun aplikasi klien-server yang terdistribusi. Protokol ini didasarkan pada memperluas konsep konvensional dari suatu prosedur dimana nantinya prosedur ini dapat dipanggil dimana pemanggil tidak harus mempunyai alamat yang sama dengan yang lokasi dimana prosedur ini dipanggil. Dimana proses ini dapat dilakukan pada sistem yang sama atau sistem yang berbeda namun terhubung pada jaringan.

Namun terdapat kelemahan di dalam bagian dari RPC yang berhubungan dengan pertukaran message melalui TCP/IP. Kegagalan terjadi dikarenakan karena penanganan kesalahan pada message yang berisi informasi yang salah. Hasil dari kelemahan ini berakibat pada bagian antar-muka RPC, yaitu bagian yang mendengarkan port RPC yang di-enable. Bagian antar-muka ini menangani objek aktivasi dari DCOM ( Distributed Component Object Model ) yang dikirimkan oleh mesin klien ke server. Kelemahan ini umumnya dimanfaatkan oleh seorang penyerang untuk dapat menjalankan suatu kode dengan kewenangan Administrator sistem lokal pada sistem yang terinfeksi. Dengan demikian, maka sistem yang diserang ini dapat diubah-ubah termasuk pengkopian dan penghilangan data sampai pembuatan user baru dengan hak tidak terbatas.

Protokol Message RPC

Protokol Message RPC didefinisikan dengan menggunakan deskripsi data eXternal Data Representation ( XDR ) yang meliputi struktur, enumerasi dan union. Protokol Message ini membutuhkan faktor-faktor pendukung sebagai berikut :

1. Spesifikasi yang unik untuk tiap prosedur call
2. Respon message yang sesuai untuk tiap message yang diminta
3. Otentifikasi klien untuk tiap layanan dan sebaliknya

Protokol Message RPC memiliki dua ( 2 ) struktur yang berbeda, yaitu call message dan reply message. Tiap klien yang akan melakukan RPC pada suatu server di jaringan akan menerima balasan (reply) berupa hasil dari eksekusi prosedur tersebut. Dengan menggunakan spesifikasi yang unik untuk tiap prosedure remote, maka RPC dapat mencocokkan message balasan untuk tiap call message yang diminta klien.

Fitur dalam RPC

RPC memiliki fitur – fitur sebagai berikut : batching calls, broadcasting calls, callback procedures dan using the select subroutine.

–       Batching Calls

Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur RPC didesain agar pada tiap call message yang dikirimkan oleh klien harus ada proses menunggu balasan dari server. Oleh karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi error pada message yang dikirim.

–       Broadcasting Calls

Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikanf ung sinya

–       Callback Procedures

Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan RPC callback ke proses yang dijalankan oleh klien.

–       Menggunakan select Subrutin

Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.

Model dan Cara Kerja RPC

Prosedur call umumnya berkaitan dengan penggunaan stack, penyimpanan parameter yang diterima dalam stack tersebut dan pengalokasian ruang untuk lokal variabel. Namun selain itu ada yang disebut dengan Prosedur Call remote, yang berarti pelaksanaan proses diatas namun pada suatu sistem lain yang berhubungan melalui suatu jaringan. Sistem prosedur remote ini memiliki cara kerja yang sedikit banyak mirip, namun berbeda dengan prosedur call biasa.

Remote Procedure Call Flow

Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien.

Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu. Server harus membaca tiap parameter yang diberikan, kemudian memberikan prosedur lokal yang sesuai dengan permintaan dan parameter. Kemudian setelah eksekusi, server harus mengirimkan hasil kepada pihak pemanggil proses.

Diagram diatas memberikan gambaran mengenai flow dari eksekusi dalam proses RPC. Berikut ini adalah diagram yang akan menjelaskan secara rince mengenai proses yang terjadi pada klien dan server dalam eksekusi suatu prosedur RPC :

Berikut penjelasan dari diagram diatas :

1. Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam   suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.

2. Fungsi Network pada O/S (Operating system – Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.

3. Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.

4. Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.

5. Stub pada server kemudian mengeksekusi prosedur panggilan lokal.

6. Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server

7. Stub server akan melakukan proses marshals lagi dan mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.

8. Message ini akan dikirim kembali ke klien.

9. Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.

10. Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal

Preses RPC

Proses diatas akan dilakukan berulang-ulang ( rekursif ) dalam pengeksekusian RPC dalam suatu remote sistem

RPC pada Windows 2000 Server

Tujuan utama penggunaan protokol RPC adalah untuk mempermudah komunikasi dalam pembangunan aplikasi klien – server yang terdistribusi. Namun dalam perkembangannya, seiring dengan perkembangan sistem operasi, protokol ini banyak disalah-gunakan. Hal ini terkait dengan kelemahan protokol ini yang dimanfaatkan oleh pihak-pihak tertentu untuk mendapatkan keuntungan atau sekedar untuk mengacaukan sistem yang berlaku. Tindakan ini disebut juga dengan eksploitasi RPC.

Kelemahan RPC pada Sistem Operasi Windows

Sistem operasi Microsoft Windows adalah salah satu sistem operasi yang mendukung protokol RPC. Sebagai sistem operasi yang paling banyak digunakan di seluruh dunia baik untuk PC Desktop maupun server, sistem operasi Windows menjadi salah satu sistem operasi yang banyak dijadikan target mulai dari serangan virus, worm, sampai trojan. Protokol RPC juga tidak luput menjadi sasaran serangan oleh pihak yang tidak bertanggung jawab.

Alasan penyerangan pada protokol ini disebabkan karena kemudahan ketergantungan sistem operasi Windows pada servis/layanan RPC. Banyak layanan pada sistem operasi ini yang didesain untuk bergantung pada layanan RPC, baik digunakan maupun tidak. Dan sayangnya, pengguna sistem operasi ini tidak dapat mengdisfungsikan layanan RPC.

Pengguna bisa saja menggunakan firewall untuk memblok port RPC, namun karena sistem operasi Windows terlalu bergantung pada mekanisme RPC sebagai fungsi dasarnya maka hal ini kadang-kadang tidak berhasil. Bahkan sebagai studi kasus, pada sistem operasi Windows Server 2003 terdapat kelemahan pada fungsi RPC itu sendiri ( Informasi lengkapnya dapat dilihat pada tabel kelemahan sistem operasi ini pada lampiran ).

Kelemahan protokol RPC pada sistem operasi ini terletak pada fungsi RPC yang berhubungan dengan pertukaran message melalui protokol TCP/IP. Hal ini mempengaruhi bagian antar-muka Distributed Component Object Model (DCOM) yang berhubungan dengan RPC, yang akan mendengarkan ( listen ) port-port RPC yang tersedia.

DCOM adalah protokol yang berfungsi untuk mengaktifkan komponen pada perangkat lunak (software) agar dapat berkomunikasi langsung dengan jaringan. Protokol ini didesain untuk penggunaan jaringan multi tranport termasuk protokol Internet misalnya HTTP. RPC melalui HTTP v1 ( pada sistem operasi WIndows NT 4.0, Windows 2000 ) dan v2 ( Windows XP, Windows Server 2003 ) mempunyai suatu fitur baru yaitu mendukung protokol transportasi RPC yang mengijinkan RPC untuk beroperasi melalui port TCP 80 dan 443. Hal ini menyebabkan komunikasi antara klien dan server dapat dilakukan walaupun dalam pengawasan server proxy dan firewall. COM Internet Services ( COM ) mengijinkan DCOM untuk melakukan RPC melalui HTTP untuk komunikasi DCOM klien dan DCOM server.

Port Portmap 111 adalah nomor port yang paling banyak diakses, namun umumnya nomor port ini telah difilter oleh firewall. Kecenderungan lain berpindah pada nomor port lain yang dapat digunakan untuk mengirim pesan tertentu yang telah dimanipulasi, seperti port 135, 139, 445, 593 pada remote komputer. Melalui port-port ini maka seorang user dapat melakukan permintaan yang dapat mengekploitasi dengan menjalankan kode dengan hak sistem lokal.

Berikut ini tabel protokol yang sering dimanfaatkan pada ekploitasi RPC :

Urutan Protokol yang digunakan oleh Endpoint Mapper 

 

Port TCP atau UDP 

 

ncacn ip tcp
ncacn ip udp
ncacn np pipe emapper 

ncacn http

ncacn http dengan servis COM Internet aktif

 

TCP/135
UDP/135
TCP/139 dan TCP/445
TCP/593
TCP/180 

 

Masalah ini semuanya disebabkan oleh kelemahan pada servis RPCSS. Servis ini berhubungan dengan aktivasi DCOM. Kegagalan terjadi pada penanganan messages yang salah sehingga mempengaruhi aktivasi DCOM yang mendengarkan port UDP 135, 137, 138, 445 dan port TCP 135, 139, 445, 593. Ditambah port 80 dan 443 ( CIS atau RPC over HTTP ) jika diaktikan. Dengan kesalahan ini, maka seorang klien dapa menggunakan kegagalan ini untuk mengeksekusi kode yang dapat dijalankan pada server.

Implementasi Eksploitasi RPC

Pada implementasi ini digunakan beberapa tools yang digunakan untuk melakukan eksploitasi pada RPC. Pada contoh kasus ini, implementasi dilakukan pada Local Area Network ( LAN ) dengan host yang menggunakan sistem operasi Microsoft Windows XP. Eksekusi eksploitasi ini dibagi menjadi beberapa tahap. Tahap pertama adalah deteksi sistem yang memiliki kelemahan ( vulnerability ). Tahap kedua adalah penyerangan terhadap sistem tersebut. Biasanya pada tahap ini digunakan program yang didesain khusus untuk mengeksploitasi RPC.

Pada contoh kasus ini digunakan program bernama ”Kaht”. Tahap terakhir adalah tahap eksekusi kode pada sistem yang telah ter-remote. Pada tahap ini, seorang penyerang dapat melakukan apa saja mulai dari pembuatan account user dengan hak administrator sampai pengambilan data pada sistem.

Deteksi Sistem

Tools yang digunakan pada tahap ini adalah RPCScan v.2.03 buatan Foundstone.inc dan digunakan pada sistem operasi Microsoft Windows. Sebetulnya tujuan awal penggunaan perangkat ini adalah untuk mendeteksi sistem yang memiliki kelemahan keamanan bagi para Administrator, namun dapat dipakai untuk tujuan lain. Software ini dapat mendetaksi sistem operasi yang memiliki kelemahan yaitu pada layanan DCOM (Distributed Component Object Model). Sesuai dengan penjelasan pada bagian sebelumnya, layanan DCOM merupakan komponen yang berhubungan dengan servis RPC

Sistem yang memiliki kelemahan

Sistem yang masih mengaktifkan layanan DCOM akan diberi status ”Vulnerable” dan sebaliknya akan diberi status ”DCOM Disabled”( Figure 3.1). Batasan pen-scan-an pada perangkat ini terbatas pada jaringan dengan protokol IP v4. Namun mengingat masih banyaknya sistem yang menganut protokol ini, maka implementasi pengecekan sistem dapat terjadi pada siapa saja. Serangan akan ditujukan pada sistem dengan keterangan Vulnerable.

Eksploitasi Protokol RPC menggunakan Program

Pada tahap ini akan dilakukan eksploitasi protokol RPC, agar terjadi kekeliruan penanganan message dari penyerang ( host1 ) ke sistem yang diserang ( host2 ) sehingga host1 dapat melakukan eksekusi kode pada host2. Tools yang
digunakan pada tahap ini adalah program bernama ”Kaht”. Program ini akan
mengeksploitasi port 135 dari sistem yang terserang. Sistem yang akan diserangadalah sistem dengan IP ”192.168.0.13”. Berikut ini tampilan eksekusi dari program ini :

Penyerangan pada sistem

Gambar diatas menyatakan bahwa host1( IP 192.168.0.87) telah berhasil masuk kedalam sistem remote pada host2 ( IP 192.168.0.13 ). Keberhasilan eksploitasi ini juga dapat dilihat pada kondisi port-port yang terhubung antara host1 dan host2. Sebelum tereksploitasi, tidak ada port TCP pada host1 yang terhubung dengan siapapun. Setelah ekploitasi pada host2 berhasil dilakukan, maka terlihat bahwa pada port 135 terjadi koneksi / koneksi sedang berjalan dan tersambung ( Figure 3.3 ). Dengan demikian maka pengeksekusian kode pada host2 oleh host1 dapat dilakukan. Sampai tahap ini, host1 hanya merupakan user dengan hak biasa saja. Berikutnya adalah implementasi pengeksekusian kode misalnya membuat account user baru dengan hak administrator.

Sesudah dan sebelum eksploitasi

Eksekusi Kode

Tahap ini merupakan tahap eksekusi kode yang diinginkan. Pada tahap ini host1 dapat melakukan melakukan apa saja. Pada contoh kasus ini akan dicoba untuk membuat sebuah account baru dengan hak seorang administrator. Setelah masuk pada sistem host2, maka gunakan perintah berikut untuk mengeksekusi pembuatan user baru :

net user tom2 /add

Kemudian hak user ini diubah menjadi hak Administrator :

net localgroup Administrators tom2 /add

Dengan demikian pada host2 akan didapatkan satu user baru bernama ”tom2” dengan hak seorang administrator.

Pembuatan User

Implementasi ini dapat dilakukan untuk tujuan baik, misalnya pada kasus
hilangnya password seorang user yang memiliki hak sebagai Administrator.
Namun pada dasarnya hal ini sendiri adalah kelemahan utama didalam sistem
keamanan pada sistem operasi. Selain pembuatan user baru, eksekusi kode yang
dapat dilakukan lainnya antara lain upload atau download data dari dan ke host2,
perusakan sistem, dll.

Pencegahan Eksploitasi RPC

Pentingnya nilai informasi yang terkandung dalam suatu server atau sebuah komputer pribadi mengharuskan penggunanya baik user atau administrator harus melakukan tindakan preventif guna menghindari adanya kebocoran informasi ini. RPC sendiri adala suatu layanan yang vital dan ada di dalam setiap sistem operasi, khususnya sistem operasi Microsoft Windows yang bergantung pada jenis layanan ini. Oleh karena itu menghilangkan layanan RPC pada sistem operasi terasa lebih susah ketimbang dilakukan pengawasan ekstra terhadap layanan ini. Berikut ini adalah beberapa cara yang dapat digunakan untuk melakukan hal ini ( dikutip dari buletin keamanan Microsoft MS03-026 ):

–       Memblokir port 135, 137, 138 dan 445 pada UDP dan port 135, 149, 445, dan 593 pada TCP melalui Firewall. Disfungsikan COM Internet Services ( CIS ) dan RPC melalui HTTP yang menggunakan port 80 dan 443 terutama pada jaringan remote yang menggunakan VPN ( Virtual Private Network ) atau sejenisnya.

–       Gunakan personal Firewall seperti Internet Connection Firewall.

–       Blokir semua port sering diekploitasi dengan menggunakan filter IPSEC.

–       Disfungsikan fitur DCOM pada setiap komputer atau server. Disable
DCOM on all affected machines.

–       Khusus Sistem operasi buatan Microsoft, selalu update security Patch
untuk meningkatkan keamanan sistem operasi tersebut.

Leave a comment »

Artificial intelligent

Technology AI  yang sedang dikembangkan oleh para ahli sampai sekarang untuk masa depan nanti yang entah kapan akan terwujud yang penting para ahli terus-menerus melakukan penelitian dan percobaan.

1. GAME PLAYING (Permainan Game)

Game playing (permainan game) merupakan bidang AI yang sangat populer berupa permainan antara manusia melawan mesin yang memiliki intelektual untuk berpikir. Bermain dengan computer memang menarik bahkan sampai melupakan tugas utama yang lebih penting. Komputer dapat bereaksi dan menjawab tindakan-tindakan yang diberikan oleh lawan mainnya. Ribuan macam permainan computer telah dibuat dan dikembangkan. Yang menarik untuk dibahas disini adalah permainan catur. Betulkah computer dapat berpikir seperti manusia sehingga dapat bermain catur? Bagaimana suatu computer yang hanya mengenal on atau off (0 atau 1) dapat mengerti bermain catur. Papan, biji-biji- catur dan langkah-langkah permainan diterjemahkan kedalam bahasa yang dimengerti oleh computer, sehingga computer dapat menganalisanya. Papan catur dibagi kedalam suatu matrik, terdiri dari baris horizontal dan kolom vertical, sehingga suatu biji catur tertentu dapat diketahui letaknya. Dan masih banyak lagi permainan lainnya yang tidak kalah menarik & banyak berpikir.

2. GENERAL PROBLEM SOLVING (Pemecahan Masalah Secara Umum)

Bidang AI ini berhubungan dengan pemecahan masalah terhadap suatu situasi yang akan dislesaikan oleh computer. Permasalahan diungkapkan dalam suatu cara yang sedemikian rupa sehingga computer dapat mengerti. Semua deskripsi-deskripsi yang diinginkan juga diberikan pada computer. Biasanya permasalahan tersebut akan diselesaikan secara trial and error sampai solusi yang dinginkan didapatkan. Suatu program paket yang cukup populer di computer mikro untuk pemecahan masalah trial and error adalah EUREKA yang ditulis oleh Borland. Karena dasarnya trial and error, maka dapat digunakan untuk menyelesaikan bermacam-macam model apapun.

3. NATURAL LANGUAGE RECOGNITION (Pengenalan Bahasa Alamiah)

Study mengenai AI mencoba supaya computer dapat mengerti bahasa alamiah yang diketikkan lewat keyboard. Bahasa alamiah (natural language) adalah bahasa sehari-hari yang dipergunakan oleh orang-orang untuk berkomunikasi. Komputer dapat menterjemahkan suatu bahasa ke bahasa lainnya merupakan contoh dari penerapan AI di bidang ini. Bahasa computer yang khusus untuk AI & dapat digunakan pada bidang ini diantaranya adalah IPL (Information Processing Language), LISP, INTERLISP, SAIL, PLANNER, KRL , PROLOG. Bidang AI masih sangat sulit dan belum dapat sempurna penerapannya.

4. SPEECH RECOGNITION (Pengenalan Percakapan)

Bidang AI ini juga msih dikembangkan dan terus dilakukan penelitiannya. Kalau bidang ini berhasil dengan baik dan sempurna, alangkah hebatnya computer. Dapatkah Anda membayangkan kalau berkomunikasi dengan computer cukup melalui percakapan saja, tanpa harus mengetikkan lewat keyboard. Alangkah mudahnya menggunakan computer. Anda dan saya akan sangat terbantu sekali. Untuk mengarang suatu artikel, mungkin saya dapat melakukannya dengan tiduran sambil bercakap-cakap dengan computer, tanpa harus mengetikannya lewat keyboard. Akan tetapi bidang ini masih belum sempurna seperti yang diharapkan. Mengenal suara masih sangat sulit bagi computer, karena tiap-tiap orang mempunyai akses pengucapan dan nada suara yang berbeda. Texas Instrument baru berhasil membuat computer yang mengenal ucapan manusia yang sudah dilatihkan ke computer dan masih sedikit saja kata-kata yang dimengertinya.

5. VISUAL RECOGNITION (Pengenalan Penglihatan)

Bidang AI ini merupakan kemampuan suatu computer yang dapat menangkap signal elektronik dari suatu kamera dan dapat memahami apa yang dilihat tersebut. Penerapan AI ini misalnya pada computer yang dipasang di peluru kendali dapat diprogram untuk selalu mengejar sasarannya yang tampak dikamera.

6. ROBOTICS

Robot adalah suatu mesin yang dapat diarahkan untuk mengerjakan bermacam-macam tugas tanpa campur tangan lagi dari manusia. Secara ideal robot diharapkan dapat melihat, mendengar, menganalisa lingkungannya dan dapat melakukan tindakan-tindakan yang terprogram. Dewasa ini robot digunakan untuk maksud-maksud tertentu dan yang paling banyak untuk keperluan industri. Diterapkannya robot untuk industri terutama untuk pekerjaan 3D yaitu Dirty, Dangerous, Difficult (kotor, berbahaya atau pekerjaan yang sulit). Negara yang banyak menggunakan robot untuk industri adalah Jepang, Amerika Serikat dan Jerman Barat.

7. EXPERT SYSTEM (Sistem Ahli)

Tiap-tiap orang mempunyai keahlian masing-masing yang mungkin suatu orang dengan yang lainnya mempunyai keahlian berbeda, tergantung dari pengetahuannya masing-masing, ada yang ahli kimia, fisika, computer, dokter dan lain sebagainya. Komputer dapat diprogram untuk berbuat seperti orang yang ahli dalam bidang tertentu. Komputer yang demikian dapat dijadikan seperti konsultan atau tenaga ahli di bidang tertentu yang dapat menjawab pertanyaan dan memberikan nasehat-nasehat yang dibutuhkan. Sistem demikian disebut Expert System. Sistem ini dapat digunakan untuk bidang yang tertentu seperti misalnya medeteksi penyakit, menganalisis kimia dan sebagainya. Expert System ini sangat berguna disebabkan maih langkanya orang yang berkualifikasi dalam bidang tertentu. Salah satu expert system yang pertama adalah MACSYMA yang diguankan untuk tugas-tugas matematika. Expert System yang lain diantaranya MYCIN untuk mendiagnosa penyakit infeksi pada darah. CADECEUS untuk mendeteksi penyakit, PUFF untuk mengukur fungsi dari paru-paru, PROSPECTOR digunakan untuk memberi nasehat dalam eksplorasi mineral, XCON yang digunakan perusahaan DEC untuk menggambarkan konfigurasi dari system computer bagi para langgannya, DENDRAL untuk mengidentifikasi struktur molekul suatu komposisi kimia dan lain sebagainya. Untuk mengembangkan Expert System , jarus diciptakan terlebih dahulu suatu Knowledge Base yang dibutukan oleh aplikasinya. Suatu knowledge base terdiri dari kumpulan data tertentu untuk permasalahan yang spesifik dan aturan-aturan bagaimana memanipulasi data yang disimpan tersebut. Berbeda dengan database biasa , knowledge base mungkin juga dapat terdiri dari asumsi-asumsi. Kepercayaan-kepercayaan, pendugaan-pendugaan, metode-metode heuristic (heuristic merupakan metode pemecahan masalah yang biasanya dilakukan secara trial and error atau secara rule of thumb). Untuk membuat knowledge base perencanaan system harus bekerja sama atau meminta nasehat dari ahli dibidangnya. Orang yang menciptakan Expert System disebut Knowledge Engineer.

Leave a comment »