Anda di halaman 1dari 7

INTEGRAL, Vol. 10 No.

3, November 2005

PENERAPAN SISTEM PAKAR FORWARD CHAINING BERBASIS ATURAN PADA PENGAWASAN STATUS PENERBANGAN
Riskadewi dan Antonius Hendrik
Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Katholik Parahyangan, Bandung 40141 - INDONESIA E-mail : riska@home.unpar.ac.id

Intisari Bertambahnya kompleksitas sistem pesawat modern berteknologi tinggi membuat diperlukannya suatu sistem untuk membantu pilot pesawat meningkatkan kemudahan penggunaan teknologi yang kompleks tersebut. Sistem pakar pengawas status penerbangan dibuat untuk membantu memberikan interpretasi dalam pengawasan status pesawat. ESFSM akan memberikan peringatan dan rekomendasi berdasarkan prediksi sistem akan hasil downlink status pesawat. Makalah ini membahas sistem pakar forward chaining berbasis aturan. Sebuah perangkat lunak simulasi dibuat untuk memberikan contoh penerapan sistem pakar untuk mengatasi permasalahan tersebut. Kata kunci : sistem pakar, sistem forward chaining berbasis aturan .

Abstract The increasing complexity of modern high-performance aircraft system makes it a necessity to design a system to help aircraft pilots to effectively use the complex technology. Expert System Flight Status Monitor (ESFSM) is built to give interpretation in flight status monitoring. ESFSM will give warning and recommendation based on the system prediction by flight status downlink. The paper describes forward chaining rule based expert system. A simulation program is made as an example of expert system implementation to solve the problem. Keywords : expert system, forward chaining rule based system.

Diterima : 30 April 2005 Disetujui untuk dipublikasikan : 27 Juli 2005

1. Pendahuluan
Salah satu teknologi sistem pakar yang digunakan dalam bidang aeronautik adalah Sistem Pakar Pengawas Status Penerbangan (Expert System Flight

Status Monitor / ESFSM). Proyek ini dikembangkan oleh pusat riset penerbangan Dryden (bagian dari NASA Ames Research Center).

146

INTEGRAL, Vol. 10 No. 3, November 2005

Bertambahnya kompleksitas sistem pesawat modern berteknologi tinggi memerlukan teknik inovatif untuk membuat komunitas riset penerbangan secara efektif dan aman. Masalah utama dari teknologi ini terletak pada sistem kontrol penerbangan digital yang dapat mengakibatkan kegagalan pengujian,

kehilangan pesawat, bahkan kehilangan nyawa pilot itu sendiri. Untuk mengatasinya, diperlukan suatu sistem untuk menangani dengan cepat masalah tersebut. Gambar 1 menunjukan tingkat otomatisasi pengawasan penerbangan (flight monitoring) yang diterapkan pada sistem kontrol penerbangan digital.

Gambar 1 : Tingkat Otomatisasi Pengawasan Penerbangan

Tingkat pertama menggambarkan sistem pengawasan yang pertama kali dibuat, sistem primitif yang melibatkan banyak panel lampu yang menunjukan informasi masing-masing sistem pesawat tanpa adanya interpretasi dan evaluasi. Pada penerbangan HiMAT, system engineer mengawasi lebih dari 100 lampu untuk menentukan status pesawat dan memberikan rekomendasi aksi yang tepat untuk memperbaiki masalah tersebut Pada tingkat kedua, operasi logika dilakukan berdasarkan dengan informasi yang didapat dari pesawat. Walaupun interpretasi tersedia, system engineer tetap diperlukan untuk menentukan status pesawat tersebut. Tingkat ini telah diterapkan pada pesawat AFTI/F-16 dan X29 A. Otomatisasi tingkat ketiga memerlukan sebuah sistem yang mengintepretasi data dan memberikan hasilnya kepada system engineer. Pada tingkat keempat, sistem ini dapat memberikan rekomendasi aksi. Pada tingkat kelima, sistem mengevaluasi status sistem kontrol penerbangan digital pesawat

dan mengatur kembali sistem pesawat sesuai dengan hasil evaluasinya. ESFSM bekerja pada tingkat 4. ESFSM akan memberi informasi kepada pilot dan system engineer tentang masalah pada sistem kontrol dan menjelaskan penyebab masalah tersebut, kemudian akan memberikan rekomendasi aksi yang harus dilakukan dan prosedur yang harus dilakukan dalam keadaan normal dan darurat. Teknologi sistem pakar (expert system) adalah solusi yang paling potensial. Sistem ini akan memberikan otomatisasi dan memberikan keputusan oleh komputer (computer aided) yang diharapkan lebih baik dibandingkan sekelompok pakar manusia. Metode yang dipakai pada penelitian ini adalah forward chaining berbasis aturan. Forward chaining adalah strategi untuk memprediksi atau mencari solusi dari suatu masalah yang dimulai dengan sekumpulan fakta yang diketahui, kemudian menurunkan fakta baru berdasarkan aturan yang premisnya cocok dengan fakta yang diketahui. Proses ini

147

INTEGRAL, Vol. 10 No. 3, November 2005


dilanjutkan sampai dengan mencapai goal atau tidak ada lagi aturan yang premisnya cocok dengan fakta yang diketahui. Penelitian ini bertujuan untuk mempelajari sistem pakar forward chaining dan mengaplikasikannya ke dalam permasalahan di dunia nyata. Sebuah perangkat lunak simulasi dibuat untuk memberikan contoh penggunaan sistem pakar untuk mengatasi permasalahan yang disebutkan di atas pakar dalam bidang tertentu dengan pandangan untuk memecahkan masalah atau memberikan nasehat [1]. Pakar manusia (human expert) adalah seseorang yang mempunyai penguasaan yang mendalam terhadap suatu masalah. Berdasarkan pengalamannya, pakar manusia mengembangkan kemampuannya dalam memecahkan masalah secara lebih efisien dan efektif. Sistem pakar juga harus dapat menjelaskan alasan dari setiap langkah dalam mencapai suatu tujuan (goal) dan menjawab pertanyaan tentang solusi yang dicapainya, seperti halnya seorang pakar manusia. Sistem pakar forward chaining berbasis aturan dapat dimodelkan seperti Gambar 2.

2. Sistem Pakar Forward Chaining Berbasis Aturan


Sistem pakar adalah program komputer yang merepresentasikan dan melakukan penalaran dengan pengetahuan dari seorang

Gambar 2 : Model Berbasis Aturan

Operasi dari sistem forward chaining dimulai dengan memasukkan sekumpulan fakta yang diketahui ke dalam memori kerja (working memory), kemudian menurunkan fakta baru berdasarkan aturan yang premisnya cocok dengan fakta yang

diketahui. Proses ini dilanjutkan sampai dengan mencapai goal atau tidak ada lagi aturan yang premisnya cocok dengan fakta yang diketahui. Operasi tersebut dapat digambarkan seperti Gambar 3.

In s e rt in fo rm a tio n in to w o rk in g m e m o ry

C h e c k firs t ru le C h e ck n e xt ru le T ru e A d d c o n c lu s io n to w o rkin g m e m o ry P re m is e s m a tc h w o rk in g m e m o ry F a ls e F a ls e sto p

T ru e

R u le s re m a in

Gambar 3 : Operasi Sistem Forward Chaining

Langkah-langkah yang harus dilakukan dalam membuat sistem forward chaining berbasis aturan, yaitu:

1. Pendefinisian Masalah. Tahap ini meliputi pemilihan domain masalah dan akusisi pengetahuan.

148

INTEGRAL, Vol. 10 No. 3, November 2005


2. Pendefinisian Data Input. Sistem forward chaining memerlukan data awal untuk memulai inferensi. 3. Pendefinisian Struktur Pengendalian Data. Aplikasi yang kompleks memerlukan premis tambahan untuk membantu mengendalikan pengaktifan suatu aturan. 4. Penulisan Kode Awal. Tahap ini berguna untuk menentukan apakah sistem telah menangkap domain pengetahuan secara efektif dalam struktur aturan yang baik. 5. Pengujian Sistem. Pengujian sistem dilakukan dengan beberapa aturan untuk menguji sejauh mana sistem berjalan dengan benar. 6. Perancangan Antarmuka. Antarmuka adalah salah satu komponen penting dari suatu sistem. Perancangan antarmuka dibuat bersama-sama dengan pembuatan basis pengetahuan. 7. Pengembangan Sistem. Pengembangan sistem meliputi penambahan antarmuka dan pengetahuan sesuai dengan prototipe sistem. 8. Evaluasi Sistem. Pada tahap ini dilakukan pengujian sistem dengan masalah yang sebenarnya. Jika sistem belum berjalan dengan baik maka akan dilakukan pengembangan kembali. Dryden Flight Research Facility berupa hasil tanya jawab melalui email. Pendefinisian Data Input User akan melakukan aktivasi program. Kemudian program akan membangkitkan bilangan acak untuk input internal sistem, bilangan acak yang dihasilkan menyatakan nomor kerusakan dan status ya (yes) atau tidak (no). Output yang dihasilkan adalah peringatan mengenai kemungkinan yang akan terjadi dan nasihat berupa langkahlangkah yang harus dilakukan oleh pilot. Pendefinisian Struktur Pengendalian Data Aturan ditulis dalam struktur IF THEN dan diberi nomor aturan untuk membedakan aturan yang satu dengan yang lain. Aturan akan dituliskan pada file teks dengan menggunakan sintaks PROLOG. Sintaks rule yang digunakan adalah sebagai berikut : rule <rule id> if [<N>:<kondisi>,] then [<aksi>,]. Keterangan : - rule id : nomor identifikasi dari aturan tersebut. - N : nomor identifikasi untuk kondisi - kondisi : premis atau pola untuk dicocokkan dengan memori kerja - aksi : konklusi atau aksi yang akan dilakukan. Aksi yang dapat dilakukan adalah : retract(X) : menghapus kondisi ke X dari memori kerja. assert(X) : memasukkan X ke dalam memori kerja. write(X) : menuliskan X ke layar. randomize(X,Y) : acak Y pilihan dari rule ke X. nl : menuliskan satu baris kosong ke layar. Implementasi salah satu aturan : rule 1 if [1: start] then [retract(1), randomize(0,3), nl, nl, write('Checking system for failure ...'), nl]. 149

3. Implementasi dan Pengujian


Pendefinisian Masalah Domain masalah yang digunakan adalah prosedur darurat pilot (Pilot Emergency Procedure) untuk pesawat AFTI F-16. Prosedur darurat pilot adalah langkahlangkah yang harus dilakukan oleh pilot jika terjadi suatu masalah pada pesawat. Aturan akan mengambil data-data kerusakan pada pesawat AFTI F-16, yang dibagi menjadi tiga bagian yaitu kerusakan sistem listrik, kerusakan DFCS, dan kerusakan umum seperti kebakaran, kebocoran, kerusakan pada saat start, lepas landas, mendarat, dan kerusakan kokpit, kontrol, dan rem. Sedangkan akuisisi pengetahuan diperoleh dari NASA Technical Memorandum sebagai sumber utama, dan bantuan pakar dari NASA

INTEGRAL, Vol. 10 No. 3, November 2005

Penomoran dan klasifikasi aturan dapat dilihat pada Tabel 1. Nomor Aturan 1 2-4 5-7 8,9,12-17 10,11,18-36 37-40 41, 45-47 42,48-50 43,51-74 44, 75-80 Keterangan Inisialisasi. Kerusakan pada sistem listrik (2), DFCS (3), kerusakan lainnya (4). Pemeriksaan sistem listrik (5), DFCS (6), status pesawat (7). Kerusakan sistem listrik. Kerusakan DFCS. Status pesawat pada saat di darat (37), lepas landas (38), terbang (39), mendarat (40). Kerusakan saat pesawat ada di darat. Kerusakan saat pesawat lepas landas. Kerusakan saat pesawat sedang terbang. Kerusakan saat pesawat mendarat.
Tabel 1 : Penomoran dan Klasifikasi Aturan

Penulisan Kode Awal Langkah-langkah yang dilakukan dalam sistem : 1. Aktivasi oleh user. 2. Basis pengetahuan diambil (load) dari file. 3. Fungsi random dijalankan oleh sistem menghasilkan input berupa fakta yang dimasukkan ke dalam memori kerja. 4. Fakta dicocokkan dengan premis dari aturan. 5. Jika premis cocok dengan fakta pada memori kerja, maka konklusi dari aturan tersebut akan diproses. Hasilnya berupa fakta baru untuk memori kerja atau solusi untuk ditampilkan 6. Jika premis tidak cocok, maka aturan selanjutnya akan diperiksa dan kembali ke langkah 4. 7. Proses berhenti jika solusi sudah ditemukan. Implementasi predikat - predikat untuk inferensi : // mencocokkan premis dari aturan dengan fakta kemudian memprosesnya try(LHS,RHS) :- match(LHS), process(RHS,LHS), !.

// mencocokkan premis dari aturan dengan fakta di memori kerja match([]) :- !. match([N: Prem|Rest]) :- !, (fact(Prem); test(Prem)), match(Rest). // menguji kecocokan premis test(not(X)) :- fact(X), !, fail. test(not(X)) :- !. test(X#Y) :- X=Y,!. test(X>Y) :- X>Y,!. test(X>=Y) :- X>=Y,!. test(X<Y) :- X<Y,!. test(X=<Y) :- X=<Y,!. test(X = Y) :- X is Y,!. // melaksanakan aksi di konklusi process([],_) :- !. process([Action|Rest],LHS) :take(Action,LHS), !, process(Rest,LHS). // melaksanakan aksi take(retract(N),LHS) :- (N == all; integer(N)), retr(N,LHS), !. take(A,_) :- take(A), !. take(retract(X)) :retract(fact(X)), !.

150

INTEGRAL, Vol. 10 No. 3, November 2005


take(assert(X)) :asserta(fact(X)), !. take(X # Y) :- X=Y, !. take(X = Y) :- X is Y, !. take(write(X)) :- write(X), !. take(nl) :- nl, !. take(read(X)) :- read(X), !. take(prompt(X,Y)) :nl, write(X), read(Y), !. No. Input Output 1. go. Checking system for failure ... Checking status ... Status : Landing Checking landing system... Checking ILS ... ILS OK Checking gear ... Gear ok Prepare for touchdown Warning : Tire failure Action : 1. Keep throttle idle 2. Extend speedbrake 3. Switch brake selector(ANTISKID OFF) 4. Brakes as required 5. Steer nosewheel as required 2. exit. Program Succeeded take(randomize(X,Y)) randomize(X,Y), !. :-

Pengujian Sistem Pengujian dilakukan dengan metode black box. Pengujian bertujuan untuk melihat hasil keluaran dari program. Hasil pengujian dapat dilihat pada Tabel 2. Keterangan 1. Program akan memeriksa apakah terjadi kesalahan. 2. Kesalahan terjadi, program memeriksa status pesawat. 3. Status pesawat adalah akan mendarat. Program memeriksa sistem pendarat (ILS). 4. ILS berjalan dengan baik. Program memeriksa roda pesawat. 5. Roda pesawat benar, pilot dapat mendarat. 6. Saat mendarat terjadi kesalahan ban. 7. Aksi yang harus dilakukan adalah menjaga kecepatan pesawat, gunakan rem, tekan tombol pemilih rem ke posisi ANTISKID OFF, rem seperlunya, setir pesawat seperlunya. Keluar dari program

Tabel 2 : Pengujian Terhadap Hasil Keluaran Program

Perancangan dan Implementasi Antarmuka Program ini memiliki antarmuka berupa tampilan teks. Layar tampilan dibagi menjadi empat bagian, yaitu : 1. Welcome. Berisi judul program dan cara menjalankan program. 2. Prompt. Merupakan penunjuk tempat memasukkan perintah.

3. System Status. Tampilan keadaan sistem saat ini. 4. Warning and Advice. Hasil keluaran dari program yang berisi peringatan dan langkah-langkah yang harus dilakukan oleh user. Implementasi antarmuka dapat dilihat pada Gambar 4.

151

INTEGRAL, Vol. 10 No. 3, November 2005

Gambar 4 : Implementasi antarmuka program

4. Kesimpulan
Pada penelitian ini telah berhasil dibuat sebuah perangkat lunak simulasi sistem pakar pengawas status penerbangan (ESFSM) dengan menggunakan Prolog. Dari penelitian yang telah dilakukan dapat diambil beberapa kesimpulan bahwa: - Program ESFSMS dapat mensimulasikan cara kerja ESFSM dengan memberikan input secara acak dan menampilkan hasil sesuai dengan yang diharapkan. - ESFSM adalah salah satu contoh sistem pakar dalam dunia nyata yang sangat berguna untuk membantu pilot pesawat dalam mengambil keputusan. 5. Daftar Pustaka [1] Durkin, John. Expert Systems Design and Development, PrenticeHall, 1994. [2] Merritt, Dennis. Building Expert Systems in Prolog, Springer, 1989. [4] A. Bowen, Kenneth. PROLOG and Expert Systems, 1st edition, McGraw Hill, 1991. [5] Duke, Eugene L., Disbrow, J.D., and Butler, G.F. , NASA technical memorandum : A Knowledge Based Flight Status Monitor for Real Time Aplication in Digital Avionics System, National Aeronautics and Space Administration, www.nasa.gov, Ames Research Center, Edwards, California, 1989. [6] Duke, Eugene L., Regenie, Victoria A., and Brazee, M., NASA technical memorandum : An Engineering Approach to the Use of Expert System Technology in 152

Avionics Applications, National Aeronautics and Space Administration, www.nasa.gov, Ames Research Center, Edwards, California, 1986. [7] Duke, Eugene L., and Regenie, Victoria A., NASA technical memorandum : Design of an Expert System Flight Status Monitor, National Aeronautics and Space Administration, www.nasa.gov, Ames Research Center, Edwards, California, 1985. [8] Duke, Eugene L., and Regenie, Victoria A., NASA technical memorandum : Description of an Experimental Expert System Flight Status Monitor, National Aeronautics and Space Administration, www.nasa.gov, Ames Research Center, Edwards, California, 1985. [9] Duke, Eugene L., and Regenie, Victoria A., NASA technical memorandum : Expert System Development and Application, National Aeronautics and Space Administration, www.nasa.gov, Ames Research Center, Edwards, California, 1985. [10] Van Norman, Michael, and Mackall, Dale A., NASA technical memorandum : Development Experience With a Simple Expert System Demonstrator for Pilot Emergency Procedures, National Aeronautics and Space Administration, www.nasa.gov, Ames Research Center, Edwards, California, 1986.