IMPLEMENTASI INFERENCE ENGINE DENGAN RANGKAIAN MUNDUR PADA SISTEM PAKAR UNTUK SIMULASI SELEKSI TERNAK Oleh : Harmayani, ST, M.Kom Dosen AMIK INTeL Com GLOBAL INDO
Abstrak Dalam jurnal ini akan dibahas implementasi langkah-langkah inference engine untuk kasus pembuatan sistem pakar simulasi seleksi ternak. Sistem pakar ini dapat digunakan untuk membantu memilih ternak-ternak yang dianggap unggul sebagai ternak bibit. Proses pembentukan inference engine dengan menggunakan metode backward chaining didahului dengan proses akuisisi pengetahuan, dilanjutkan dengan representasi pengetahuan ke dalam aturan-aturan IF…THEN. Informasi-informasi yang ada disimpan dalam bagian pernyataan basis pengetahuan yang disebut “fact”. Hal ini berarti premis (sisi IF) dari aturan adalah benar. Dengan menggunakan modus ponen, kesimpulan (consequent) akan bernilai benar. Kita katakan bahwa aturan I telah disulut (fires). Penyulutan sebuah aturan terjadi hanya ketika semua bagian-bagian aturan terpenuhi (baik benar atau salah). Maka, kesimpulan disimpan dalam basis pernyataan. Pemberian nilai benar (atau salah) untuk setiap bagian aturan dapat diperoleh dengan memberikan pertanyaan ke user atau dengan menyulut aturan yang lain. Dari pengetahuan yang diperoleh, telah dirumuskan 3 buah fakta (fact) dan 11 aturan proses simulasi seleksi ternak. Dari 11 aturan tersebut, dibuat sebuah rangkaian mundur ( backward chaining ) dengan proses penalaran modus ponen sehingga dicapai suatu tujuan, yaitu mendapatkan sekelompok ternak terseleksi.
Kata kunci : Inference engine, backward chaining, fact 1.
Pendahuluan Sumberdaya genetik ternak merupakan unsur penting dalam kegiatan pemuliaan ternak dan mempunyai peranan yang sangat menentukan bagi perolehan bibit bermutu, sehingga sumberdaya genetik ternak sebagai kekayaan nasional perlu dilestarikan dan dimanfaatkan guna menunjang peningkatan produksi ternak. Dalam pemuliaan temak, seorang peternak cenderung untuk merubah atau menentukan hal-hal yang terlihat seperti produktifitas ternak pada tingkatan tertentu yang diinginkan (Ruhyat Kartasudjana,2001). Untuk melakukannya diperlukan informasi atau data mengenai sifat-sifat yang akan diturunkan tersebut atau sering disebut dengan sifat-sifat genetik misalnya seperti bobot badan, produksi telur, dan sebagainya. Sifat-sifat seperti itu dikenal sebagai sifat kuantitatif dan dikontrol oleh sejumlah kecil gen. Sifat kualitatif adalah sifat yang tidak dapat diukur, tapi bisa dikelompokkan. Misalnya warna bulu, bentuk tanduk. Sifat ini sedikit atau tidak dipengaruhi lingkungan dan biasanya dikontrol oleh satu atau dua pasang gen saja. Sedangkan kebanyakan sifat-sifat produktif yang menjadi pengamatan peternak adalah dikontrol oleh pasangan - pasangan gen dan termodifikasi oleh lingkungan yang dihadapi oleh ternak bersangkutan. Seorang peternak dapat menentukan dua hal yang berpengaruh terhadap peningkatan mutu genetik
temaknya yakni melalui memilih ternak yang dipakai sebagai tetua dan memilih ternak yang akan dikawinkan. 2.
Tujuan Penelitian Dari latar belakang tersebut, akan sangat membantu jika ada alat bantu berupa sistem simulasi ternak, sehingga bagi seorang peneliti tidak harus nenunggu waktu berpuluh-puluh tahun untuk melihat hasil seleksi yang dilakukannya. Sistem simulasi ternak ini akan disajikan dalam sebuah sistem pakar. 3. Uraian Teoritis 3.1. Pengertian Sistem Pakar (Expert System) Sistem pakar adalah sebuah perangkat lunak yang memasukkan suatu pengetahuan dan proses penalaran seorang pakar. Atau dengan kata lain, sistem pakar merupakan perangkat lunak yang berbasis pengetahuan yang menyediakan penyelesaian berkualitas pakar (Rahmadi Wijaya, 2007). Sehingga sistem pakar juga disebut sebagai sistem yang berbasis pengetahuan (Knowledge Based System).
3.2.Konsep Dasar Sistem Pakar
The light is red → stop
Orang yang bertugas untuk membuat sistem pakar disebut dengan knowledge engineer. Sebuah sistem harus memiliki sejumlah komponen yang saling berinteraksi untuk mencapai tujuannya. Pada sistem pakar komponen utama yang harus ada yaitu : knowledge base, inference engine dan user interface. Sedangkan explanation module dan working memory merupakan komponen pendukungnya. Gambar 2.2.merupakan gambaran konsep dasar Sistem Pakar, dimana pengguna (user) menyampaikan fakta atau informasi kepada Sistem Pakar, kemudian fakta dan informasi tersebut akan di simpan ke knowledge-base (basis pengetahuan), dan diolah dengan mekanisme inferensi, sehingga sistem dapat memberikan respon kepada penggunanya berupa keahlian atau jawaban berdasarkan pengetahuan yang dimilikinya (Rahmadi Wijaya, 2007).
The light is green → go
Fakta
Production rule juga dapat diekspresikan dalam bentuk IF THEN berikut : Rule : red_light IF the light is red THEN Stop Rule : Green_light IF
Knowledge Base
The light is green Then
Knowledge-
User
Base
Go 3.4. Working Memory
Keahlian
Mesin Inferensi
Sistem Gambar. 3.1. Konsep Sistem Pakar 3.3. .Knowledge Base Knowledge base pengertiannya sama dengan Expert System yaitu program pemberi advis/nasehat yang terkomputerisasi yang ditujukan untuk menirukan atau menggantikan proses reasoning dan pengetahuan (knowledge) dari pakar dalam menyelesaikan permasalahan yang spesifiik. Knowledge base yang merupakan jantung dari sistem pakar dimana keahlian seorang pakar yang telah diformat dalam bentuk rule. Knowledge base ini biasanya disimpan dalam bentuk file teks sehingga mudah diakses dan dimodifikasi. Untuk membentuk knowledge base, seorang pakar harus terlebih dahulu mengidentifikasi apa yang akan menjadi objek atau goal yang ingin dicapai. Setelah itu mengidentifikasi semua attributte beserta value – value yang dimiliki tiap attributte, baik untuk attributte condition maupun conclusion, yang mendukung objek atau goal yang ingin dicapai. Pada sistem pakar berbasis pengetahuan, knowledge base disebut sebagai production memory ( Ida Ayu Yulie Primashanti, 2007 ). Production rules dituliskan dalam bentuk berikut :
Working memory pada dasarnya merupakan sebuah perluasan dari knowledge base. Working memory digunakan untuk menyimpan intermediate result, yaitu ketika usaha untuk menyelesaikan setiap permasalahan, sistem menyimpannya dalam working memory. 3.5. Inference Engine Sebagai komponen yang berfungsi sebagai pengolah pengetahuan, inference engine akan bernalar seperti otak manusia dengan melakukan sejumlah operasi atau menggabungkan berbagai fakta dan aturan yang telah disediakan di dalam knowledge base untuk mengembangkan dan menarik fakta – fakta baru, sehingga dapat memberikan konklusi dari pengetahuan dan masalah yang tersedia. Inference engine secara langsung melakukan pencarian ke dalam knowledge base untuk menemukan fakta atau rule yang dibutuhkan. Setelah proses inference engine selesai, maka sistem akan memberikan masukan atau jawaban kepada user. Teknik inference engine untuk menemukan fakta atau rule yang dibutuhkan ada banyak metode, antara lain forward chaining (atau data driven) dan backward chaining (atau goal driven). Jika suatu knowledge base memiliki sedikit condition dan banyak conclusion, maka forward chaining merupakan proses penalaran terbaik. Dan sebaliknya, jika suatu knowledge base memiliki
banyak condition dan sedikit conclusion maka sebaiknya proses penalarannya menggunakan backward chaining. 3.6.
Backward Chaining
Backward Chaining adalah suatu metode untuk menemukan suatu fakta dengan cara menelusuri subgoals yang ada secara rekursif. Fakta adalah suatu goals yang sudah tidak mempunyai subgoals dan selalu bernilai benar (Herry dan Claudina, 2005). Gambar 2.4. berikut merupakan skema backward chaining. Backward Backward
Goal
IS
Subgoal
Goal yang dicari Subgoal yang ada Gambar. 3.2. Skema Backward Chaining Keterangan : IS : Inference Systems (Sistem Penarikan Kesimpulan) Backward chaining dimulai dengan mengetahui variabel goals yang dicari kemudian melakukan searching variabel tersebut pada statement THEN pada semua rule. Semua variabel pada kondisi IF pada rule tersebut subgoals. Nilai subgoals dicari pada statement THEN pada semua rule yang lain, bila tidak ditemukan pada rule, dicari pada direct input dari user pada statement ASK. Backward chaining bekerja berlawanan arah dengan forward chaining. Daripada mengambil data dan menunggu apa yang akan keluar berikutnya, backward chaining mencoba untuk mengfire suatu rule secara langsung. Langkah pertama backward chaining adalah mendaftar semua rule yang mengandung attributte goal pada bagian THEN conclusion. Kemudian inference engine akan mencoba mengfire setiap rule tersebut, sampai salah satu dari rule tersebut berhasil difired. Untuk melakukan itu, inference engine mengambil rule pertama dalam daftar untuk mencoba mengfire rule tersebut. Untuk mengfire rule tersebut, maka inference engine perlu untuk mengetahui bahwa semua if-clause sudah ada dalam working memory. Diasumsikan bahwa tidak ada informasi yang terdapat dalam working memory. Ini menandakan bahwa tidak ada if-clause yang diketahui. Karena itu, inference engine mencoba dan sampai pada if-clause secara tidak langsung. 3.Pembahasan 3.1.Analisa Masalah Pembentukan langkah-langkah inference engine untuk kasus pembuatan sistem pakar simulasi seleksi ternak yaitu sistem pakar yang dapat digunakan untuk
membantu memilih ternak-ternak yang dianggap unggul sebagai ternak bibit. Sebelum melakukan langkah-langkah dalam membuktikan goal, terlebih dahulu di buat model simulasi seleksi ternaknya. Dengan melihat model simulasi seleksi ternak maka dapat dibentuk rule-rulenya dan selanjutnya akan didapat populasi tetua baru yang dapat dikembangbiakkan. 3.2. Knowledge Base (Basis Pengetahuan) Langkah- langkah yang digunakan dalam pembuatan sistem pakar adalah menentukan basis pengetahuan (knowledge base), dengan menentukan basis pengetahuan (knowledge base) berarti memasukkan fakta-fakta yang dibutuhkan sistem. Setelah memahami model simulasi seleksi ternak, maka mulailah merumuskan fakta-fakta dan aturanaturan guna pembentukan inference engine. Fakta-fakta dan aturan-aturan tersebut adalah sebagai berikut : 3.2.1. Aturan-aturan Ada 11 aturan yang dapat didefenisikan : R1 : IF data teknis is yes THEN populasi tetua is yes R2 : IF populasi tetua is yes AND asumsi is yes THEN populasi anak is yes R3 : IF populasi anak is yes THEN Heritabilitas is 0,3 – 0,9 R4 : IF populasi anak is yes THEN Ripitabilitas is 0,3 – 0,9 R5 : IF populasi anak is yes THEN korelasi genetik is yes R6 : IF heritabilitas is 0,3-0,9 AND populasi anak is yes THEN nilai pemuliaan is yes R7 : IF nilai pemuliaan is yes AND metode seleksi is yes THEN ternak terseleksi is yes R8 : IF ternak terseleksi is yes AND heritabilitas is 0,3 – 0,9 THEN respon seleksi is yes R9 : IF Ripitabilias is 0,3-0,9 AND populasi tetua is yes THEN MPPA is yes R10 : IF populasi tetua is yes AND populasi anak is yes AND populasi terpilih is yes AND MPPA is yes THEN seleksi populasi tetua is yes R11 : IF tetua dipertahankan is yes AND ternak terpilih is yes THEN populasi tetua baru is yes 3.2.2. Database Database terdiri dari sekumpulan fakta ( facts ) yang digunakan. Sedangkan bentuk fakta itu sendiri yaitu If part dari rule yang disimpan dalam Knowledge Base. Database adalah bagian yang mengandung semua fakta-fakta baik fakta awal pada saat sistem beroperasi maupun fakta-fakta pada saat pengambilan kesimpulan sedang dilaksanakan selama sistem pakar beroperasi basis data berada di dalam memori kerja. Disini fakta – faktanya adalah A (data teknis), B (asumsi ), C (populasi tetua), D (populasi anak), E1 (heritabilitas), E2 (ripitabilitas), E3 (ripitabilitas), F
(nilai pemuliaan), G (metode seleksi ), H (ternak terseleksi), J (MPPA), dan K (tetua dipertahankan) . Jadi setiap rule yang dieksekusi jika If partnya sama dengan fakta, maka konklusi ditambahkan ke dalam database sebagai fakta baru. 3.2.3. Lambang/Notasi Untuk menyederhanakan, maka aturan-aturan dan fakta-fakta diatas dilambangkan dengan notasi tertentu. A = Data Teknis B = Asumsi C = Populasi Tetua D = Populasi Anak E1 = Heritabilitas E2 = Ripitabilitas E3 = Korelasi Genetik F = Nilai Pemuliaan G = Metode Seleksi H = Ternak Terseleksi I = Respon Seleksi J = MPPA K = Tetua dipertahankan L = Populasi Tetua Baru Untuk menyederhanakan, aturan-aturan di atas ditulis dalam notasi berikut : R1 : A→C R2 : BΛC→D R3 : D → E1 R4 : D → E2 R5 : D → E3 R6 : E1 Λ D → F R7 : FΛG→H R8 : E1 Λ H → I R9 : E2 Λ C → J R10 : CΛDΛHΛJ→K R11 : KΛH→L 3.3. Analisa Proses Inference Engine
4.1.Form Inisialisasi Semua Variabel Setelah mengaktifkan file basis data untuk Basis Pengetahuan, maka selanjutnya pengisian data Tabel Variabel dan Konklusi dapat dilakukan. Pada form ini akan di inisialisasi semua variabel baik yang ada pada bagian IF dan konklusi yang berada pada bagian THEN seperti pada gambar 5.2. Semua variabel pada kondisi akan diinput pada bagian Variabel List dengan memasukkan kode variabel dan nama variabel. Selanjutnya semua variabel konklusi diinput pada bagian Konklusi List dengan memasukkan kode dan nama variabelnya seperti pada gambar dibawah ini.
Gambar 4.1.. Form Pengisian Variabel
Gambar 4.2. Form Pengisian Konklusi
Berdasarkan aturan-aturan dan fakta-fakta yang ada, disusunlah suatu inference engine seperti terlihat pada gambar 4.3. Inference Engine adalah bagian yang menyediakan mekanisme fungsi berfikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. - Mekanisme ini akan menganalisa masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik. - Mesin ini akan dimulai pelacakannya dengan mencocokan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data. 4.
User Interface (Antarmuka Pemakai) Antarmuka pemakai adalah bagian penghubung antara program sistem pakar dengan pemakai. Pada bagian ini memungkinkan pengguna untuk memasukkan instruksi dan informasi ke dalam sistem pakar serta menerima penjelasan dan kesimpulan.
Gambar 4.3. Form Eksekusi Rule
prototype program dengan menggunakan Visual Basic 6.0
DAFTAR PUSTAKA 1.
Ali Ridho Barakbah (2006). “Expert System”
2. Erhan Ferdian ,Jaka Fahrial,Parmahaki,Raden Pangribuan (2001) “Sistem Pakar, Mengidentifikasi Kerusakan Gangguan Sambungan Telepon PT. TELKOM (Studi Kasus)”, FMIPA Jurusan Ilmu Komputer Universitas Pakuan Bogor 3.
Irfan Subakti (2002). “Sistem Berbasis Pengetahuan (Knowledge Based System)”. Fakultas Teknologi Industri, Jurusan Teknik Informatika, ITS
4.
Irfan Subakti & Alexander L. Romy (2003), “Mesin Inferensia Umum”. Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember.
5.
Ikbal Pujananto dan Dadam Syukur (2006), “Seleksi dan Pemilihan Bibit Ternak”.
6.
Ida Ayu Yulie Primashanti, “Sistem Berbasis Pengetahuan-Pengenalan Sistem Pakar”.
7.
Joko Lianto Buliali, Faizal Johan, Dian Fetriah (2007). “Sistem Berbasis Pengetahuan Untuk Kenaikan Pangkat Militer TNI AU”.
8.
Kartasudjana, Ruhyat, Dr, Ir., MS (2001). “Modul Program Keahlian Budidaya Ternak”, Departemen Pendidikan Nasional.
9.
Peraturan Menteri Pertanian Nomor : 35/Permentan/OT.140/8/2006 Tentang Pedoman Pelestarian dan Pemanfaatan Sumberdaya Genetik Ternak
10. Rahmadi Wijaya (2007), “Penggunaan Sistem Pakar dalam Pengembangan portal Informasi untuk Spesifikasi Jenis Penyakit Infeksi”.
Gambar 4.5. Form Eksekusi Rule 5. Analisa Hasil Dari hasil di atas, diketahui bahwa perancangan inference engine dapat dilakukan dengan memahami permasalahan, kemudian menyajikan permasalahan tersebut dalam bentuk aturan-aturan dan menyusunnya dalam suatu rangkaian mundur (backward chaining) sebagai mekanisme untuk mencapai tujuan. Rangkaian berjalan mundur karena dimulai dari tujuan dan menuju ke keadaan-keadaan yang lebih awal. Untuk menguji inference engine tersebut telah dibuat suatu
11. Ruhyat Kartasudjana, (2001), “ Modul Program Keahlian Budidaya Ternak”. Departemen Pendidikan Nasional. 12. Tessy Badriyah, Zahri Fudoli (2003). “Perancangan dan Pembuatan Sistem Pakar Untuk Menentukan Lokasi Penangkapan Ikan Tuna Di Perairan Indonesia”. 13. Wawan Yunanto (2007). “Algoritma Backward Chaining Pada Rule Based Expert System”.