Anda di halaman 1dari 79

SISTEM PAKAR UNTUK SERBUK LOGAM SELECTION USING VP-EXPERT SELEKSI MENGGUNAKAN VP-EXPERT Ibrahim Al-Harkan*, and Mahir

Es-Saheb** Ibrahim Al-Harkan *, dan Mahir EsSaheb ** * Industrial Engineering Department, ** Mechanical Engineering Department * Jurusan Teknik Industri, ** Jurusan Teknik Mesin College of Engineering, King Saud University College of Engineering, King Saud University PO Box 800, Riyadh 11421, Saudi Arabia PO Box 800, Riyadh 11421, Arab Saudi ABSTRACT ABSTRAK A part of a complete expert system for powder technology is presented. Sebuah bagian dari sistem pakar lengkap untuk teknologi bubuk disajikan. This part of Ini bagian dari the system deals with the powder selection according to predetermined recommended sistem penawaran dengan pemilihan bubuk sesuai dengan yang telah ditentukan direkomendasikan or required material properties, and specific powder characteristics. atau sifat material yang diperlukan, dan karakteristik bubuk tertentu. Then, determining Kemudian, menentukan the most common powder production (ie processing) method, which satisfies the produksi bubuk yang paling umum (yaitu pengolahan) metode, yang memenuhi specified powder requirements for a specific application. ditentukan bubuk persyaratan untuk aplikasi tertentu. For this purpose a detailed Untuk tujuan ini rinci functional prototype expert system is developed using a rule-based knowledge Prototipe sistem pakar fungsional dikembangkan menggunakan pengetahuan berbasis aturan representation model. model representasi. The expert system is designed to acquire knowledge from the Sistem pakar ini dirancang untuk memperoleh pengetahuan dari user then give recommendations. pengguna kemudian memberikan rekomendasi. The inference engine, VP Expert, is used as the Mesin inferensi, VP - Ahli, digunakan sebagai development tool. pengembangan alat. The forward and backward chain techniques are utilized, thus the Teknik-teknik rantai maju dan mundur yang digunakan, sehingga reverse process is also be possible. proses sebaliknya juga mungkin. Therefore, the system will determine or assign Oleh karena itu, sistem akan menentukan atau menetapkan some primary powder characteristics and production method to satisfy or achieve the beberapa karakteristik bubuk primer dan metode produksi untuk memenuhi atau mencapai required product and vice versa. diperlukan produk dan sebaliknya. The developed expert system is flexible, easy to be Sistem pakar dikembangkan adalah fleksibel, mudah untuk menjadi implemented, modified, and extended. dilaksanakan, dimodifikasi, dan diperpanjang. The system displayed excellent performance Sistem ini ditampilkan kinerja yang sangat baik and typical illustrative examples are shown. dan contoh gambaran khas yang akan ditampilkan. KEYWORD : E KEYWORD: E XPERT SYSTEM XPERT SISTEM ,M,M ETAL Dkk PP OWDER OWDER SS ELECTION PEMILU , VP-E , VP-E XPERT SYSTEM XPERT SISTEM 1. 1. INTRODUCTION PENDAHULUAN

In the powder technology field, the industries' main objective is to produce final Di bidang teknologi bubuk, Tujuan utama industri adalah untuk menghasilkan akhir products with specific characteristics in accordance with predetermined properties. produk dengan karakteristik tertentu sesuai dengan sifat yang telah ditentukan. This, however, depends on controlling a huge number of interdependent parameters at Ini, bagaimanapun, tergantung pada pengendalian sejumlah besar parameter saling bergantung pada the various stages of the process. berbagai tahapan proses. Therefore, a complete expert system for powder Oleh karena itu, sistem yang lengkap ahli untuk bubuk technology is essential. teknologi sangat penting. In the powder technology there are three main areas of work, which can be clearly Dalam teknologi bubuk ada tiga bidang utama pekerjaan, yang dapat dengan jelas identified. diidentifikasi. These are: (i) The loose powder area (ie the production, characterization Ini adalah: (i) Daerah loose powder (yaitu produksi, karakterisasi and classification of powders); (ii) The compaction and consolidation area (ie the dan klasifikasi bubuk), (ii) pemadatan dan konsolidasi daerah (yaitu compaction equipment and the compactability of powders) and; (iii) The final product pemadatan peralatan dan compactability bubuk) dan (iii) Produk akhir area (ie the final product characteristics, quality, testing, and post compaction daerah (yaitu karakteristik produk akhir, kualitas, pengujian, dan pemadatan pasca processes). proses). These three areas are interacting and heavily interdependent on each other. Ketiga bidang berinteraksi dan sangat saling bergantung satu sama lain. Thus the number of variables involved and the amount of information as well as the Jadi banyaknya variabel yang terlibat dan jumlah informasi serta databases of the material properties and powder production processes are huge [1-5]. database dari sifat material dan proses produksi bubuk sangat besar [1-5]. Therefore, the powder technology field is one of the most suitable fields for expert Oleh karena itu, bidang teknologi bubuk adalah salah satu bidang yang paling cocok untuk ahli Page 2 Halaman 2 Powder Selection . Powder Seleksi. 1 1 systems implementation. implementasi sistem. Particularly, that the area contains a huge amount of Khususnya, bahwa daerah tersebut mengandung sejumlah besar variables, information and data, which are mostly empirical. variabel, informasi dan data, yang sebagian besar empiris. Analytical Analitik analysis is rare and extremely difficult to obtain due to the complex nature of this analisis adalah langka dan sangat sulit diperoleh karena sifat kompleks ini field [6-8]. bidang [6-8]. In fact, the production of a successful product in powder technology is an 'art' seldom Bahkan, produksi produk yang sukses di bidang teknologi bubuk adalah 'seni' jarang based on scientific relations and requires intensive experimental work, knowledge and berdasarkan hubungan ilmiah dan membutuhkan kerja eksperimental intensif, pengetahuan dan expertise. keahlian. In practice, each company relies on their own secret information and Dalam prakteknya, setiap perusahaan bergantung pada informasi rahasia mereka sendiri dan experience in developing any new product. mengalami dalam mengembangkan produk baru. Hence, the use of computers and portable Oleh karena itu, penggunaan komputer dan portabel

microcomputers is an advantage, particularly with the increasing capacity and speed mikrokomputer merupakan suatu keuntungan, terutama dengan peningkatan kapasitas dan kecepatan of data processing. pengolahan data. But due to the complex nature of this problem, a complete Tapi karena sifat kompleks dari masalah ini, lengkap integrated approach is huge, and extremely difficult. Pendekatan terpadu sangat besar, dan sangat sulit. Therefore, as suggested by the Oleh karena itu, seperti yang disarankan oleh authors in recent works [9,10], the building of the expert system will be divided into penulis dalam karya terbaru [9,10], pembangunan sistem pakar akan dibagi menjadi stages, which will be tackled separately. tahap, yang akan ditangani secara terpisah. Later attempts could be made to integrate Kemudian upaya bisa dilakukan untuk mengintegrasikan these stages and form a complete CIM for powder technology (CIMPT), where most tahap ini dan membentuk CIM lengkap untuk bubuk teknologi (CIMPT), di mana sebagian of the powder technology activities are to be integrated. kegiatan bubuk teknologi ini, harus terintegrasi. Thus, the envisaged powder Dengan demikian, tergambar bubuk technology expert system consists of various parts [9,10]. teknologi sistem pakar terdiri dari berbagai bagian [9,10]. It utilizes the computers to Ini menggunakan komputer untuk automate the activities of powder selection, and controlling the powder manufacturing mengotomatisasi kegiatan seleksi bubuk, dan mengendalikan manufaktur bubuk process parameters according to specific required powder characteristics. parameter proses sesuai dengan karakteristik spesifik bubuk yang diperlukan. Finally Akhirnya designing the manufacturing processes or the final powder products according to their merancang proses manufaktur atau produk bubuk akhir sesuai dengan mereka specifications. spesifikasi. With the increasing pressure to produce cheaper and more reliable components and Dengan meningkatnya tekanan untuk menghasilkan komponen yang lebih murah dan lebih handal dan with the greater number of new engineering materials and manufacturing processes dengan lebih banyak bahan rekayasa baru dan proses manufaktur that are now available, there is growing need for an integrated approach to economic yang sekarang tersedia, ada kebutuhan yang berkembang untuk pendekatan terpadu untuk ekonomi analysis, design and materials and process selection [10-12]. analisis, desain dan bahan dan proses seleksi [10-12]. The industry today is Industri saat ini adalah strongly oriented towards computer integrated manufacturing (CIM) techniques. sangat berorientasi manufaktur komputer terpadu (CIM) teknik. Now, Sekarang, computer aided design, computer aided manufacture, computer aided economic desain dibantu komputer, komputer dibantu manufaktur, komputer dibantu ekonomi analysis and computerized materials properties data banks are proven to be very analisis dan komputerisasi bahan properti data bank yang terbukti sangat essential tools for profitability and competitiveness of the modern industry [13-19]. alat-alat penting untuk profitabilitas dan daya saing industri modern [13-19]. Though the increasing use of computers in the various stages of product development Meskipun meningkatnya penggunaan komputer di berbagai tahap pengembangan produk has made the integrated approach easier to attain; yet in the field of powder telah membuat pendekatan terintegrasi lebih mudah untuk mencapai, namun di bidang bubuk technology this approach is still lacking and not easy to be implemented due to the teknologi pendekatan ini masih kurang dan tidak mudah untuk dilaksanakan karena large number of factors that have to be taken into consideration. besar sejumlah faktor yang harus dipertimbangkan. However, very few Namun, sangat sedikit

scattered attempts are made in this regard by various investigators [13-16,20]. upaya tersebar dibuat dalam hal ini oleh peneliti berbagai [13-16,20]. Some Beberapa of these attempts tend to concentrate on selecting a powder material to satisfy specific dari upaya ini cenderung berkonsentrasi pada pemilihan bahan bubuk untuk memenuhi spesifik process requirements. persyaratan proses. Amongst these, the work published by Kipphut and German Di antara ini, pekerjaan yang diterbitkan oleh Kipphut dan Jerman [13] on powder selection for shape relation in powder injection molding and later by [13] pada seleksi bubuk untuk hubungan bentuk bubuk dalam cetakan injeksi dan kemudian oleh Griffo et al. Griffo dkk. [14] on powder selection and sintering pathways for zero dimensional [14] pada seleksi bubuk dan jalur sintering untuk nol dimensi changes, and most recently by Radwan and Es-Saheb [9,10,18] on some aspects of perubahan, dan terakhir dengan Radwan dan Es-Saheb [9,10,18] pada beberapa aspek powder databases and expert systems implementations. bubuk database dan implementasi sistem pakar. To the authors knowledge, a Untuk pengetahuan penulis, design of a complete Powder Technology Expert System (PTES) is not yet available. desain sebuah Sistem Teknologi Powder Ahli lengkap (PTEs) belum tersedia. Also, to date, the implementation of an effective Computer Aided Engineering (CAE) Juga, sampai saat ini, pelaksanaan Komputer efektif Aided Engineering (CAE) system to control and manage all activities of Powder Technology (PT) is still not sistem untuk mengontrol dan mengatur seluruh kegiatan Powder Technology (PT) masih belum available. tersedia. Page 3 Halaman 3 Powder Selection . Powder Seleksi. 2 2 In the last few decades, the field of relational database technology has Dalam beberapa dekade terakhir, bidang teknologi database relasional memiliki received wide attention by numerous workers and witnessed intensive research mendapat perhatian luas oleh pekerja banyak dan menyaksikan penelitian intensif activities. kegiatan. Amongst the prominent researches in this area, since the 60's, that due to Di antara penelitian terkemuka di daerah ini, sejak 60-an, bahwa karena Codd [21] on relational models and Date [22], Darwen [23] and later Date and Codd [21] pada model relasional dan Tanggal [22], Darwen [23] dan kemudian Tanggal dan Darwen [24], Hall et al [25] and Mcleod [26] on the database systems. Darwen [24], Hall et al [25] dan Mcleod [26] pada sistem database. Mittra [27] Mittra [27] and most recently Radwan and Es-Saheb [9,10,18], defined an intelligent database to dan yang terbaru Radwan dan Es-Saheb [9,10,18], didefinisikan database cerdas untuk be an application that combines a relational database consisting of relations, a menjadi aplikasi yang menggabungkan database relasional yang terdiri dari hubungan, sebuah knowledge base consisting of rules, and an inference mechanism that is activated by basis pengetahuan yang terdiri dari aturan, dan mekanisme inferensi yang diaktifkan oleh queries from end users and draws conclusions by using data from the relations to pertanyaan dari pengguna akhir dan menarik kesimpulan dengan menggunakan data dari relasi untuk execute rules in the knowledge base. melaksanakan aturan dalam basis pengetahuan. In addition, Smith and Midha [ 34 &35 ] have Selain itu, Smith dan Midha [34 & 35] memiliki described the elements of a prototype knowledge based system (KBS), which was menggambarkan elemen dari sistem berbasis pengetahuan prototipe (KBS), yang developed to provide advice relating to the manufacture of components through the dikembangkan untuk memberikan saran yang berkaitan dengan pembuatan komponen melalui

use of powder metallurgy technology. penggunaan teknologi metalurgi serbuk. In other word, they have devloped a new Dengan kata lain, mereka telah devloped baru modelling technique which employed Monte Carlo type simulations for prediction of pemodelan teknik yang digunakan simulasi Monte Carlo jenis untuk prediksi powder packing behaviour. bubuk kemasan perilaku. They claim that their system will enable production of Mereka mengklaim bahwa sistem mereka akan memungkinkan produksi comprehensive KBS modules, able to advice on optimum and concurrent design and komprehensif KBS modul, dapat rekomendasi untuk desain optimal dan bersamaan dan manufacture of powder metallurgy components. memproduksi komponen metalurgi serbuk. Finally, Cherian et al. Akhirnya, Cherian dkk. [36] have [36] memiliki developed an artificial neural network (NN) methodology for selection of powder and mengembangkan jaringan buatan metodologi (NN) saraf untuk pemilihan bubuk dan process parameters for Powder Metallurgy (PM) part manufacture. proses parameter untuk Powder (PM) manufaktur Metalurgi bagian. Employment of a Kerja dari NN approach allows specification of multiple input criterion, and generation of Pendekatan NN memungkinkan spesifikasi kriteria beberapa masukan, dan generasi multiple output recommendations. beberapa keluaran rekomendasi. The inputs comprise the required mechanical Input terdiri dari mekanik yang diperlukan properties for the PM material. properti untuk bahan PM. The system employed these data within the NN in Sistem ini menggunakan data ini dalam NN di order to recommend suitable metal powder compositions and process settings. memesan untuk merekomendasikan komposisi bubuk logam yang sesuai dan pengaturan proses. Their Mereka results showed that this approach, for predicting the materials and process settings Hasil penelitian menunjukkan bahwa pendekatan ini, untuk memprediksi bahan dan pengaturan proses needed for attainment of required process outcomes. diperlukan untuk pencapaian hasil proses yang diperlukan. The work presented in this research, however, is concentrated on the first area Pekerjaan yang diajukan dalam penelitian ini, bagaimanapun, terkonsentrasi pada daerah pertama mentioned above, with particular emphasis on the loose powder materials and the disebutkan di atas, dengan penekanan khusus pada bahan loose powder dan powder production process selections for certain application. bubuk pilihan proses produksi untuk aplikasi tertentu. The focus will be, Fokusnya akan, mainly, on the metallic materials available in the powder form, with particular terutama, pada bahan metalik yang tersedia dalam bentuk bubuk, dengan tertentu emphasis on those properties related to powder metallurgy (P/M) techniques. penekanan pada properti-properti yang berhubungan dengan metalurgi serbuk (P / M) teknik. A Sebuah knowledge based metallic powder selection system is to be developed and ready to be berbasis pengetahuan logam bubuk sistem seleksi yang akan dikembangkan dan siap untuk used by the industry. digunakan oleh industri. Therefore, first the practical definition for the expert system, as a system simulating Oleh karena itu, pertama definisi praktis untuk sistem ahli, sebagai suatu sistem simulasi the expert methods and knowledge in dealing with or manipulating special tasks is metode ahli dan pengetahuan dalam menangani atau memanipulasi tugas khusus presented. disajikan. Then, the application of such system in powder technology is attempted. Kemudian, penerapan sistem tersebut dalam teknologi bubuk dicoba. Thus, the work constitutes another part of an effort towards building a complete Dengan demikian, pekerjaan merupakan bagian lain dari upaya untuk membangun lengkap

expert system for powder technology. sistem pakar untuk teknologi bubuk. A functional prototype expert system was Sebuah sistem prototipe fungsional ahli adalah developed using a rule-based knowledge representation model. dikembangkan dengan menggunakan model berbasis aturan representasi pengetahuan. This system which is Ini sistem yang structured on intelligent technology and engineering knowledge, is believed to be the terstruktur pada teknologi cerdas dan pengetahuan teknik, diyakini menjadi backbone of the suggested Computer Integrated Manufacture for Powder Technology tulang punggung Industri Komputer menyarankan Terpadu untuk Teknologi Powder (CIMPT). (CIMPT). Particularly, with the development of greater number of new engineering Terutama, dengan pengembangan lebih banyak teknik baru materials and manufacturing processes that are now available, and growing lag of material dan proses manufaktur yang sekarang tersedia, dan jeda yang berkembang expertise in this field. keahlian di bidang ini. The details of the suggested system and a complete description of the modules, Rincian dari sistem yang disarankan dan penjelasan lengkap dari modul, structure, and techniques utilized are given in the next sections. struktur, dan teknik yang digunakan diberikan pada bagian selanjutnya. Also, typical Juga, khas illustrative examples of the system are presented. contoh ilustratif dari sistem disajikan. Page 4 Halaman 4 Powder Selection . Powder Seleksi. 3 3 2. 2. POWDER SELECTION BUBUK SELEKSI For correct selection of a powder production method, one has to keep in mind the Untuk pilihan yang benar dari metode produksi bubuk, kita harus mengingat final properties of the part ( ie product) and the desired characteristics of the powder. akhir properti dari bagian (produk yaitu) dan karakteristik yang diinginkan dari bedak. This requires wide and deep knowledge in the powder production methods, Hal ini memerlukan pengetahuan yang luas dan mendalam dalam metode bubuk produksi, characteristics, and applications. karakteristik, dan aplikasi. These are well documented and available in Ini didokumentasikan dengan baik dan tersedia di literature [1,2,7,11,28]. literatur [1,2,7,11,28]. However, in the following sections the typical powder Namun, dalam bagian berikut bubuk khas characteristics and the main powder production methods are briefly discussed and karakteristik dan metode bubuk utama produksi secara singkat dibahas dan presented. disajikan. Also, some of the most common powder materials used are given, Juga, beberapa bahan bubuk yang paling umum digunakan yang diberikan, particully the metallic powder materials. particully bahan bubuk logam. Finally, the typical applications of these Akhirnya, khas aplikasi dari powders is also given. bubuk juga diberikan. Therefore, the data used in this work and displayed in Tables: Oleh karena itu, data yang digunakan dalam pekerjaan ini dan ditampilkan dalam Tabel: I and II below have been collected from many references [1,2,7,11,28]. I dan II di bawah telah dikumpulkan dari banyak referensi [1,2,7,11,28]. This data can Data ini dapat be expanded by adding more information as discussed in the following sections, (see diperluas dengan menambahkan informasi lebih lanjut, seperti yang dibahas dalam bagian berikut, (lihat Tables: I and II below). Meja: I dan II di bawah). 2.1. 2.1. Powders Characteristics Bubuk Karakteristik

Generally, powders characteristics can be grouped into two main categories Secara umum, karakteristik bubuk dapat dikelompokkan menjadi dua kategori utama [1,2,4,7,20]. [1,2,4,7,20]. These are : Ini adalah: (I) (I) Primary characteristics, which include the powder particles size (iemeshes) Karakteristik utama, yang meliputi ukuran partikel bubuk (iemeshes) and shape, and dan bentuk, dan (II) (II) Secondary characteristics, which covers powders material properties, Karakteristik sekunder, yang meliputi sifat serbuk bahan, performance and processability. kinerja dan processability. These characteristics include the powder Karakteristik ini meliputi bedak density, friction, flow, compactability, purity, softness, etc. Beside the kepadatan, gesekan, aliran, compactability, kemurnian, kelembutan, dll Selain reflected final product characteristics and process properties , such like the tercermin karakteristik produk akhir dan sifat proses, seperti seperti green strength, growth, hardness, mechanical properties, etc. hijau kekuatan, pertumbuhan, kekerasan, sifat mekanik, dll 2.2 Powders Production Methods 2,2 Bubuk Produksi Metode Powders are known to be produced by various techniques and methods. Bubuk dikenal untuk diproduksi oleh berbagai teknik dan metode. These Ini processes and procedures are well described and documented in the literarure proses dan prosedur dengan baik dijelaskan dan didokumentasikan dalam literarure yang [1,2,7,28]. [1,2,7,28]. However, Table : I, displays the most common metallic powders Namun, Tabel: I, menampilkan bubuk logam yang paling umum commercial production methods (eg atomization, grinding, gaseous reduction of komersial metode produksi (misalnya atomisasi, menggiling, pengurangan gas dari oxides, electrolytic, gaseous reduction of solutions, carbonyl decomposition, oksida, elektrolitik pengurangan, gas dari solusi, dekomposisi karbonil, reduction with carbon), as well as the distinguishing main primary and secondary reduksi dengan karbon), serta primer dan sekunder utama yang membedakan characteristics of the powders (eg size, shape, purity, density, compressibility, green karakteristik bubuk (misalnya ukuran, bentuk, kemurnian, densitas, kompresibilitas, hijau strength,etc). kekuatan, dll). Page 5 Halaman 5 Powder Selection . Powder Seleksi. 4 4 Table I : Some distinguishing characteristics of metal powders made by various Tabel I: Beberapa karakteristik yang membedakan dari serbuk logam yang dibuat oleh berbagai commercial methods [1,2,7,28]. metode komersial [1,2,7,28]. Method of Metode production produksi Typical Khas purity kemurnian (1) (1) Particle Partikel characteristics Compressibility karakteristik Kompresibilitas ( softness) (Kelembutan) Apparent Nyata

density kepadatan Green Hijau strength kekuatan Growth- Pertumbuhanwith- dengancopper - tembaga of iron dari besi (2) (2) Shape Bentuk Meshes Jerat available tersedia Atomization Atomisasi High Tinggi 99.5+ 99.5 + Irregular Tidak teratur to untuk smooth, halus, rounded bulat dense padat particles partikel Coarse shot Kasar tembakan to 325 mesh untuk 325 mesh Low to high Rendah ke tinggi Generally Umumnya high tinggi Generally Umumnya low murah High Tinggi Gaseous Gas reduction of pengurangan oxides oksida Medium Medium 98.5 to 98,5 untuk 99. 99. + + Irregular, Tidak teratur, spongy kenyal Usually 100 Biasanya 100 mesh and bertautan dan finer lebih halus Medium Medium Low to Rendah ke medium medium High to Tinggi untuk medium medium Low Murah Gaseous Gas reduction of pengurangan solutions solusi High Tinggi 99.2 to 99,2 untuk

99.8 99.8 Irregular, Tidak teratur, spongy kenyal Usually 100 Biasanya 100 mesh and bertautan dan finer lebih halus Medium Medium Low to Rendah ke medium medium High Tinggi Iron not Besi tidak produced diproduksi by this oleh method metode Reduction Pengurangan with carbon dengan karbon Medium Medium 98.5 to 98,5 untuk 99. 99. + + Irregular, Tidak teratur, spongy kenyal Most meshes Kebanyakan jerat from 8 down 8 dari bawah Medium Medium Medium Medium Medium Medium to high ke tinggi Medium Medium Electrolytic Elektrolit High + Tinggi + 99.5 + 99.5 + Irregular, Tidak teratur, flaky to keripik untuk dense padat All mesh Jala Semua sizes ukuran High Tinggi Medium Medium to high ke tinggi Medium Medium High Tinggi Carbonyl Karbonil decomposition pembusukan High Tinggi 99.5 + 99.5 + Spherical Bulat Usually in Biasanya dalam low micron rendah mikron ranges berkisar Medium Medium

Medium Medium to high ke tinggi Low Murah ?? Grinding Penggilingan Medium Medium 99. 99. + + Flaky and Terkelupas dan dense padat All mesh Jala Semua sizes ukuran Medium Medium Medium Medium to low ke rendah Low Murah High Tinggi (1) Purity varies with metal powder involved. (1) Kemurnian bervariasi dengan bubuk logam yang terlibat. (2) (2) Growth-with-copper of iron during sintering is increase in radial dimension of compacted Pertumbuhan-dengan-tembaga besi selama sintering adalah peningkatan dimensi radial dipadatkan iron-plus-copper powders. besi-plus-tembaga bubuk. 2.3. 2.3. Typical Powders and Applications Khas Bubuk dan Aplikasi Again the most widely used commercial metallic powders in industry are: iron, Sekali lagi bubuk paling banyak digunakan dalam industri logam komersial adalah: besi, copper, aluminum, nickel, brass, stainless steel, and magnesium [1,2,7,28]. tembaga, aluminium, nikel, kuningan, stainless steel, dan magnesium [1,2,7,28]. These Ini powders are used in many fields in industry to produce vast numbers of powder bubuk yang digunakan di berbagai bidang di industri untuk memproduksi sejumlah besar bubuk compacted parts and components. dipadatkan suku cadang dan komponen. Examples include gears, rotors for pumps, bearings, Contohnya termasuk roda gigi, rotor untuk pompa, bantalan, cams, levers, contact parts, magnets, metallic filters, sintered carbides, etc. Table : II , Cams, tuas, hubungi bagian, magnet, filter logam, karbida disinter, dll Tabel: II, gives a summary of the most common metal powders produced by the various memberikan ringkasan dari serbuk logam paling umum yang dihasilkan oleh berbagai commercial production methods, and typical applications of the powders [1,2,7,28]. metode produksi komersial, dan aplikasi khas dari bubuk [1,2,7,28]. Page 6 Halaman 6 Powder Selection . Powder Seleksi. 5 5 Table II : Metal powder production method and typical applications of the powders [1,2,7,28]. Tabel II: Logam bubuk produksi metode dan aplikasi khas dari bubuk [1,2,7,28]. Production Produksi Method Metode Typical Khas powders bubuk Typical applications Khas aplikasi

Atomization Atomisasi Stainless steel Stainless steel Filters, mechanical parts, atomic reactor fuel elements Filter, bagian mekanis, elemen bakar reaktor atom Brass Kuningan Mechanical parts, flaking stock, infiltration of iron Mesin bagian, saham mengelupas, infiltrasi dari besi Fe Fe Mechanical parts ( medium to high density), welding rods, Mekanikal bagian (media kepadatan tinggi), batang las, cutting and scarfing, general memotong dan scarfing, umum Al Al Flaking stock for pigment, solid fuels, mechanical parts Mengelupas stok untuk pigmen, bahan bakar padat, bagian mekanis Gaseous Gas reduction of pengurangan oxides oksida Fe Fe Mechanical parts, welding rods, friction materials, general Mesin bagian, batang las, bahan gesekan, umum Cu Cu Bearings, motor brushes, contacts, iron-copper parts, friction Bearing, sikat motor, kontak, besi-tembaga bagian, gesekan materials, brazing, catalysts bahan, mematri, katalis Gaseous Gas reduction of pengurangan solutions solusi (hydrometallurgy) (Hidrometalurgi) Ni Ni Iron-nickel sinterings, fuel cells, catalysts, Ni strip for coinage Besi-nikel sinterings, sel bahan bakar, katalis, Ni strip untuk mata uang Cu Cu Friction materials bearings, iron-copper parts, catalysts Gesekan bahan bantalan, besitembaga bagian, katalis Reduction with Pengurangan dengan carbon karbon Fe Fe Mechanical parts, welding rods, cutting and scarfing, Mesin bagian, batang las, memotong dan scarfing, chemical, general kimia, umum Electrolytic Elektrolit Fe Fe Mechanical parts ( high density), food enrichment, electronic Mekanikal bagian (kepadatan tinggi), pengayaan makanan, elektronik core powders inti bubuk Cu Cu Bearings, motor brushes, iron-copper parts, friction materials, Bearing, sikat motor, besitembaga bagian, bahan gesekan, contacts, flaking stock kontak saham, mengelupas Carbonyl de- Karbonil de-

composition komposisi Fe Fe Electronic core powders, additives to other metal powders for Bubuk inti Elektronik, aditif untuk serbuk logam lain untuk sintering sintering Ni Ni Storage batteries, additive to other metal powders for sintering Penyimpanan baterai, aditif serbuk logam lain untuk sintering Grinding Penggilingan Mg Mg Welding rod coatings, pyrotechnics Batang las pelapis, kembang api Ni Ni Filters, welding rods, sintered nickel parts Filter, batang las, bagian nikel sinter Fe Fe Waterproofing concrete, iron from electrolytic cathodes ( see Waterproofing beton, besi dari katoda elektrolitik (lihat Electrolytic above) Elektrolit di atas) 3. 3. EXPERT SYSTEM STRUCTURE FOR POWDER SELECTION SISTEM PAKAR UNTUK SELEKSI STRUKTUR BUBUK 3.1 General Background 3.1 Latar Belakang Umum Expert systems are rapidly becoming one of the major approaches to solving Sistem pakar yang cepat menjadi salah satu pendekatan utama untuk memecahkan engineering and manufacturing problems. teknik dan masalah manufaktur. Expert systems have been implemented for Sistem pakar telah dilaksanakan untuk several practical applications in many decision problems [29]. aplikasi praktis beberapa masalah keputusan banyak [29]. The growing interest in Meningkatnya minat the technology of expert systems has surpassed anything previously witnessed in the teknologi sistem pakar telah melampaui apa yang sebelumnya disaksikan di scientific community. ilmiah masyarakat. Expert systems are helping major companies to diagnose processes in real time, Sistem pakar membantu perusahaan-perusahaan besar untuk mendiagnosa proses secara real time, schedule operations, troubleshoot equipment, maintain machinery, and design service jadwal operasi, memecahkan masalah peralatan, mempertahankan mesin, dan layanan desain and production facilities. dan fasilitas produksi. With the implementation of expert systems in industrial Dengan penerapan sistem pakar dalam industri environments, companies are finding that real-world problems are best solved by an lingkungan, perusahaan menemukan bahwa masalah di dunia nyata yang terbaik diselesaikan dengan integrated strategy involving the management of personnel, software, and hardware strategi terpadu yang melibatkan pengelolaan personil, perangkat lunak, dan perangkat keras systems [29-31]. sistem [29-31]. By definition, an expert system is a computer program that simulates the thought Menurut definisi, sistem pakar adalah program komputer yang mensimulasikan pikiran process of a human expert to solve complex decision problems in a specific domain. proses ahli manusia untuk memecahkan masalah pengambilan keputusan yang kompleks dalam domain tertentu. Page 7 Halaman 7 Powder Selection . Powder Seleksi. 6 6

A general definition which is representative of the intended functions of Sebuah definisi umum yang merupakan perwakilan dari fungsi yang diinginkan dari expert systems is presented below. sistem pakar disajikan di bawah ini. An expert system is an interactive Sistem pakar adalah interaktif computer-based decision tool that uses both facts and heuristics to solve difficult berbasis komputer keputusan alat yang menggunakan kedua fakta dan heuristik untuk memecahkan sulit decision problems based on knowledge acquired from an expert [29]. masalah keputusan berdasarkan pengetahuan yang diperoleh dari seorang ahli [29]. The growth of Pertumbuhan expert systems is expected to continue for several years. sistem pakar diperkirakan akan terus berlanjut selama beberapa tahun. With the continuing growth, Dengan pertumbuhan yang berkelanjutan, many new and exciting applications will emerge. aplikasi baru dan menarik banyak akan muncul. An expert system operates as an Sebuah sistem pakar beroperasi sebagai interactive system that responds to questions, asks for clarification, makes sistem interaktif yang merespon pertanyaan, meminta klarifikasi, membuat recommendation and generally aids the decision making process. rekomendasi dan umumnya membantu proses pengambilan keputusan. Expert systems Ahli sistem provide expert advice and guidance in a wide variety of activities, from computer memberikan "ahli" saran dan bimbingan dalam berbagai macam kegiatan, dari komputer diagnosis to delicate medical surgery [29-31]. diagnosis untuk operasi medis halus [29-31]. Thus, as stated above, one of the applications that is suitable to develop an expert Dengan demikian, seperti yang dinyatakan di atas, salah satu aplikasi yang cocok untuk mengembangkan ahli system for is the selection of powders. sistem adalah pemilihan bubuk. The selection process should take into Proses seleksi harus mempertimbangkan consideration the production method and the desired properties and characteristics of mempertimbangkan metode produksi dan sifat yang diinginkan dan karakteristik the powder and the final product. bubuk dan produk akhir. Therefore, human experts are not available in all the process of powder selection Karena itu para ahli manusia tidak tersedia dalam semua proses seleksi bubuk stages, and even if they are, human forgets crucial details of a problem, are tahap, dan bahkan jika mereka, manusia lupa rincian penting dari masalah, adalah inconsistent in their day-to-day decisions, have a limited memory, and die. tidak konsisten dalam sehari-hari mereka keputusan, memiliki memori terbatas, dan mati. Therefore, Oleh karena itu, an expert system (ES) can be utilized to help the non-expert powder selector in sistem pakar (ES) dapat dimanfaatkan untuk membantu pemilih bubuk non-ahli dalam determining the best production method, the best powder to use, and the best menentukan metode produksi terbaik, bubuk terbaik untuk menggunakan, dan yang terbaik associated application given the wanted properties and characteristics of the powder. aplikasi yang terkait diberi sifat yang diinginkan dan karakteristik bedak. At this stage, it is important to state that, the use of available expert systems or the Pada tahap ini, penting untuk menyatakan bahwa, penggunaan sistem pakar tersedia atau development of our own special expert system could be adoppted. pengembangan sistem pakar sendiri khusus kami dapat adoppted. The later approach Pendekatan kemudian has been adoppted successfully by Radwan and Es-saheb [9,10,18]in recent works. telah adoppted berhasil oleh Radwan dan Es-Saheb [9,10,18] dalam karya terakhir. Though the system display good performance, it proved to be difficult , times Meskipun sistem menampilkan kinerja yang baik, itu terbukti menjadi sulit, kali

consuming and requires tremendious efforts to be achieved. dan memerlukan upaya tremendious ingin dicapai. Thus, in this work, it is Dengan demikian, dalam pekerjaan ini, suggested to use a commercial expert system such like VP-Expert system for the disarankan untuk menggunakan sistem pakar komersial seperti seperti VP-Sistem pakar untuk obvious practical addvantages. jelas praktis addvantages. However, both approaches serve the same goals and Namun, kedua pendekatan melayani tujuan yang sama dan each of them has its advantages and short comes. masing-masing memiliki kelebihan dan datang pendek. For more detailed disscusion of Untuk Disscusion lebih rinci these issues are available in literature [32]. isu-isu ini tersedia dalam literatur [32]. Thus, a functional prototype expert system is developed using a rule-based knowledge Dengan demikian, sistem prototipe fungsional pakar ini dikembangkan menggunakan pengetahuan berbasis aturan representation model. model representasi. The expert system developed is designed to acquire knowledge Sistem pakar yang dikembangkan dirancang untuk memperoleh pengetahuan from the user then give recommendations. dari pengguna kemudian memberikan rekomendasi. The inference engine, VP-Expert, is used Mesin inferensi, VP-Ahli, digunakan as the development tool [33]. sebagai alat pengembangan [33]. 3.2 System Structure 3.2 Sistem Struktur The structure of the expert system is presented below. Struktur sistem pakar disajikan di bawah ini. The steps of the general Langkah-langkah umum procedure for the expert system are as follows: prosedur untuk sistem ahli adalah sebagai berikut: 1- Obtain all information from the user. 1 - Mendapatkan semua informasi dari pengguna. 2- Attempt to satisfy the user's goals. 2 - Mencoba untuk memenuhi tujuan pengguna. 3- Try to select the best production method according to powder applications 3 - Cobalah untuk memilih metode produksi terbaik sesuai dengan aplikasi bubuk or powder characteristics. atau bubuk karakteristik. 4- Recommend the best production method, applications, metal powder and 4 - Kenalkan metode produksi terbaik, aplikasi, bubuk logam dan characteristics. karakteristik. The structure of the expert system, as used in this work, is given in Fig. Struktur sistem pakar, seperti yang digunakan dalam pekerjaan ini, diberikan pada Gambar. 1. 1. The Itu knowledge base, the inference engine, the user interface (consultation and data entry), basis pengetahuan, mesin inferensi, antarmuka pengguna (konsultasi dan entri data), Page 8 Halaman 8 Powder Selection . Powder Seleksi. 7 7 the external interfaces, and recommendation are the five components of the expert antarmuka eksternal, dan rekomendasi adalah lima komponen ahli system. sistem. A brief description of these components is given in the next sections. Sebuah deskripsi singkat dari komponen ini diberikan pada bagian selanjutnya. Fig. Gambar. 1. 1. The expert system structure Struktur sistem pakar .. 3.3. 3.3. User Interface User Interface The user interface is the link between the user and the inference engine. User interface adalah penghubung antara pengguna dan mesin inferensi. There are two Ada dua distinct user interface modes. antarmuka pengguna mode yang berbeda. The first is the user interface consultation and the Yang pertama adalah user interface konsultasi dan second is the user interface data entry. kedua adalah user interface entri data. 3.4. 3.4. Inference Engine Inferensi Mesin

The inference engine VP-Expert, is used in this work. Mesin inferensi VP-Expert, digunakan dalam pekerjaan ini. Using the knowledge-based Menggunakan pengetahuan berbasis rules and facts, the inference engine directs and controls the system to reach the aturan dan fakta, mesin inferensi mengarahkan dan mengendalikan sistem untuk mencapai required conclusion. diperlukan kesimpulan. After the user answers the questions in the user interface Setelah user menjawab pertanyaan-pertanyaan dalam antarmuka pengguna consultation, the inference engine will activate external interface and/or database if konsultasi, mesin inferensi akan mengaktifkan antarmuka eksternal dan / atau database jika needed. dibutuhkan. The activation will come from the knowledge base, which will be explained Aktivasi akan datang dari basis pengetahuan, yang akan dijelaskan next. berikutnya. Finally, the inference engine gives the recommended production method, Akhirnya, mesin inferensi memberikan metode produksi yang direkomendasikan, material, and applications bahan, dan aplikasi .. Production Method, Metal powder, Applications, and Metode Produksi, bubuk Logam, Aplikasi, dan Characteristics are recommended according to the user Karakteristik yang direkomendasikan sesuai dengan pengguna interface consultation antarmuka konsultasi Recommendation Rekomendasi Inference Kesimpulan Engine Mesin VP-EXPERT VP-EXPERT Knowledge Base Knowledge Base Contains rules and facts Berisi aturan dan fakta that lead to the best yang mengarah pada yang terbaik Production Method, Metal Cara Produksi, Logam powder, Applications, and bubuk, Aplikasi, dan Characteristics Karakteristik Data base Data base External Luar Interfaces Antarmuka Executable programs Program yang dapat dieksekusi Powder applications Powder aplikasi Powder characteristics Powder karakteristik Application Aplikasi Purity level Kemurnian tingkat Metal powder Logam bubuk Shape type Bentuk jenis Production method Produksi metode Meshes available Tersedia jerat Metal Logam User Interface Consultation User Interface Konsultasi Page 9 Halaman 9 Powder Selection . Powder Seleksi. 8 8 3.5. 3.5. Knowledge Base Knowledge Base The knowledge base is the third main level of the expert system. Basis pengetahuan adalah tingkat utama ketiga dari sistem pakar. The Itu

knowledge base contains rules and facts that guide the inference engine to achieve the basis pengetahuan berisi aturan dan fakta yang membimbing mesin inferensi untuk mencapai goal wanted. Tujuan inginkan. Hence, this knowledge base will contain knowledge about the Oleh karena itu, pengetahuan dasar ini akan berisi pengetahuan tentang production methods, metal powders, and powder applications and characteristics ( see metode produksi, serbuk logam, dan aplikasi bubuk dan karakteristik (lihat Tables : I and II). Meja: I dan II). The decision tree used to build the knowledge-base structure is Pohon keputusan digunakan untuk membangun struktur pengetahuan dasar given in Fig. diberikan pada Gambar. 2. 2. Production rules form the knowledge representation model used in Aturan produksi membentuk model representasi pengetahuan yang digunakan dalam this work. pekerjaan ini. In this knowledge base, there are 124 if-then structure rules excluding the Dalam basis pengetahuan, ada 124 aturan jika-maka struktur tidak termasuk rules for inference engine operations. aturan untuk operasi mesin inferensi. Therefore, for purpose of illustration, a rule Oleh karena itu, untuk tujuan ilustrasi, sebuah aturan developed is shown below with brief description: dikembangkan ditunjukkan di bawah ini dengan penjelasan singkat: RULE 8 ATURAN 8 IF Option=PC AND JIKA Option = PC DAN Purity=High_99.5 AND Kemurnian = High_99.5 DAN Shape=Flaky_to_dense Bentuk = Flaky_to_dense THEN Meshes=All_mesh_sizes KEMUDIAN Meshes = All_mesh_sizes Softness=High Kelembutan = Tinggi Density=Medium_to_high Kepadatan = Medium_to_high Green=Medium Hijau = Menengah Growth=High Pertumbuhan = Tinggi PM=Electrolytic; AM = elektrolit; In this rule, the meshes available in powder will be all mesh sizes, the powder Dalam aturan ini, jerat tersedia dalam bubuk akan ukuran jaring semua, bedak softness will be high, the powder density will be medium to high, the powder green kelembutan akan tinggi, kepadatan bubuk akan menengah ke tinggi, bubuk hijau strength will be medium, growth with copper of iron will be high, and electrolytic will kekuatan akan menjadi sedang, pertumbuhan dengan tembaga besi akan tinggi, dan elektrolit akan be selected as a powder production method when the powder characteristics (PC) dipilih sebagai metode produksi serbuk ketika karakteristik bubuk (PC) have been chosen, powder purity is high 99.5, and powder shape is flaky to dense, see telah dipilih, kemurnian serbuk tinggi 99,5, dan bentuk bubuk adalah keripik untuk padat, lihat Table: I. Tabel: I. Page 10 Halaman 10 Powder Selection . Powder Seleksi. 9 9 Fig. Gambar. 2. 2. Decision tree for powder selection Pohon keputusan untuk pemilihan bubuk .. START MULAI There are two options :- Ada dua pilihan: 1- Using powder characteristics to allocate the production method. 1 - Menggunakan karakteristik bubuk untuk mengalokasikan metode produksi.

2- Using powder applications to allocate the production method. 2 - Menggunakan aplikasi bubuk untuk mengalokasikan metode produksi

6 BAB IITINJAUAN PUSTAKA

2.1 Pengertian Sistem Pakar Sistem pakar dapat didefinisikan sebagai sebuahprogram komputer berbasis pengetahuan yang dapatmemberikan pemecahan setingkat pakar dalam bidangtertentu yang hasil pemecahannya mirip denganpemecahan yang diberikan oleh pakar yangsesungguhnya 1 .Suatu sistem pakar adalah suatu sistem komputer yangmenyamai ( emulates ) kemampuan pengambilan keputusan dariseorang pakar 2 .

Basis pengetahuan yang diperoleh, diambil daripengalaman seorang pakar maupun teori-teori yang ada padabidang yang spesifik saja, oleh karena itu sistem pakar memilikiketerbatasan. 2.2 Sejarah Singkat Sistem Pakar 3

Perkembangan AI ( Artificial Intelligense ) merupakanteknologi baru dalam dunia komputer. AI berkembangperusahaan General Electric menggunakan komputer pertamakali di bidang bisnis. Pada tahuan 1956, istilah AI mulaidipopulerkan oleh John McCarthy sebagai suatu tema ilmiah dibidang komputer yang diadakan di Dartmouth College

. 1 Dologite, Development Computer Based Information System using VP-Expert , hal 1 2 Arhami, M. Konsep Dasar Sistem Pakar. Yogyakarta. Penerbit Andi. 2005, hal 2 3 Tim Penerbit Andi, Pengembangan Sistem Pakar Menggunakan Visual Basic. Yogyakarta.Penerbit Andi. 2009, hal 5

7 Pada tahun yang sama komputer berbasis AI pertamakali dikembangkan dengan nama Logic Theorist yang melakukanpenalaran terbatas untuk teorema kalkulus. Perkembangan inimendorong para peneliti untuk mengembangkan program lainyang disebut sebagai General Problem Solver (GPS). Program inibertujuan untuk memecahkan berbagai jenis masalah danternyata tugas yang sangat besar dan sangat berat untukdikembangkan.Setelah GPS, ternyata AI banyak dikembangkan dalambidang permainan atau game , misalnya program permainan caturoleh Shannon (1955) dan program untuk pengecekan masalaholeh Samuel (1963). Banyak juga ahli yangmengimplementasikan AI dalam bidang bisnis dan matematika.Pada tahun 1972, Newell dan Simon memperkenalkanTeori Logika secara konseptual yang kemudian berkembangpesat dan menjadi acuan pengembangan sistem berbasiskecerdasan buatan lainnya.Buchanan dan Feigenbaum juga mengembangkanbahasa pemrograman DENDRAL, pada tahun 1978. Bahasapemrograman ini dibuat untuk badan antariksa Amerika Serikat,yaitu NASA, dan digunakan untuk penelitian kimia di planet Mars.Pada tahun 1976, yaitu 2 tahun sebelum DENDRAL,sebenarnya program sistem pakar sudah dikembangkan secaramodern, yaitu MYCIN yang dibuat oleh Shortliffe dengan bahasapemrograman LISP. Program MYCIN menyimpan 500 basispengetahuan dan basis aturan untuk mendiagnosis penyakit

manusia. Program ini juga mengimplementasikan metodepenelusuran dan pemecahan masalah, serta mengembangkanberbagai teori penting dalam kecerdasan buatan seperti metode certainty factor , teori probabilitas dan teorema fuzzy. Dewasa ini program MYCIN menjadi acuan penting untukpengembangan sistem pakar secara modern karena di dalamnyatelah terintegrasi semua komponen standar yang dibutuhkan olehsistem pakar itu sendiri. 2.3 Konsep Dasar Sistem Pakar2.3.1 Konsep Dasar Sistem Pakar Ada enam hal yang menjadi konsep dasar dari sebuahSistem Pakar 4 , yaitu :a. Keahlian ( Expertise )Keahlian dapat diperoleh dari pelatihan/ training , membacaatau dari pengalaman. Keahlian itu meliputi :

Fakta-fakta tentang area permasalahan.

Teori-teori tentang area permasalahan.

Aturan-aturan tentang apa yang harus dilakukan dalamsituasi permasalahan yang diberikan.

Strategi global untuk memecahkan masalah. 4 Arhami, Muhammad. Konsep Dasar Sistem Pakar. Yogyakarta. 2005, hal.11

b. Pakar ( Expert )Sulit untuk mendefinisikan apakah yang dimaksud denganpakar itu. Masalahnya adalah berapa banyak keahlian yangharus dimiliki oleh seseorang agar dapat dikualifikasikansebagai pakar. Namun berikut ini dijelaskan beberapakualifikasi yang harus dimiliki oleh seorang pakar :

Dapat mengenal dan merumuskan masalah.

Dapat memecahkan masalah dengan cepat dansemestinya.

Dapat menjelaskan suatu solusi.

Dapat menentukan hubungan.

Belajar dari pengalamanc. Pemindahan Keahlian ( Transferring Expertise )Tujuan dari sistem pakar adalah memindahkan keahlian dariseorang pakar ke komputer dan kemudian ke manusia lainyang bukan pakar. Proses ini meliputi empat kegiatan, yaitu :

Memperoleh pengetahuan pakar.

Merepresentasikan pengetahuan ke dalam komputer.

Mengolah pengetahuan sehingga dapat menghasilkankesimpulan.

Memindahkan pengetahuan ke pengguna.Pengetahuan disimpan dalam komputer berupa komponenyang disebut knowledge base. Pengetahuan ini dibedakanmenjadi dua, yaitu fakta dan

rule .

10 d. Menarik Kesimpulan ( Inferencing )Keistimewaan dari sistem pakar adalah kemampuannalarnya. Komputer diprogram sehingga dapat membuatkesimpulan. Pengambilan keputusan ini dilaksanakan dalamkomponen yang disebut inference engine. e. Aturan ( Rule )Kebanyakan sistem pakar adalah sistem berbasis rule ,pengetahuan disimpan dalam bentuk rule-rule sebagaiprosedur pemecahan masalah.f. Kemampuan Menjelaskan ( Explanatin Capability )Keistimewaan lain dari sistem pakar adalah kemampuanmenjelaskan darimana asal sebuah solusi/rekomendasidiperoleh. 2.3.2 Arsitektur Sistem Pakar Komponen utama yang harus ada dalam sebuah sistempakar adalah knowledge base (basis pengetahuan), inference engine (mesin penarik kesimpulan), explanation subsystem (subsistem penjelas output), dan user interface

(antarmukapengguna). Secara umum arsitektur sistem pakar 5 dapat dilihatpada gambar 2.1. 5 Gunawan, Ir, Pengantar ke Expert System, Indonesia : Surabaya, 2007, hal 6

11 Gambar 2.1 Arsitektur Sistem Pakara. Basis Pengetahuan ( Knowledge Base )Basis pengetahuan merupakan bagian yang paling pentingpada sistem pakar, karena keahlian dari pakar disimpan didalamnya. Basis pengetahuan tersebut berisi fakta-fakta yangdidapat dari seorang ahli dan diimplementasikan ke dalam sistemkomputer dengan menggunakan metode representasipengetahuan tertentu. Metode representasi pengetahuan adalahcara untuk menstrukturkan pengetahuan yang dimiliki oleh pakaragar mudah diolah oleh komputer.Jadi basis pengetahuan merupakan jantung sistem pakar,dimana bagian ini berisi pengetahuan penting untuk mengerti,merumuskan dan memecahkan permasalahan, yang mempunyaidua elemen dasar, yaitu fakta tentang keadaan masalah dan teoritentang area masalah.b. Mesin Pengambil Keputusan ( Inference Engine ) Inference Engine merupakan bagian dari sistem pakar yangbertugas untuk menemukan solusi yang tepat dari banyaknya

12 solusi yang ada. Proses dilakukan dalam inference engine adalahbagaimana pengambilan keputusan terhadap konsultasi yangterjadi dan proses penalaran pada basis pengetahuan yangdimilikinya.Penentuan sistem pendukung keputusan dan metodepelacakan sangat penting dalam rangka menyelesaikan masalah. Inference engine merupakan otak dari sistem pakar

6 , juga dikenalsebagai struktur kontrol/ interpreter. c. Explanation Subsystem Explanation subsystem merupakan kemampuan untukmemberikan penjelasan atas sebuah kesimpulan yang diberikan.d. User Interface User interface merupakan bagian dari sistem pakar yangberfungsi sebagai pengendali input output . User interface melayani user selama proses konsultasi, mulai dari tanya jawabuntuk mendapatkan fakta-fakta yang dibutuhkan inference engine sampai menampilkan output yang merupakankesimpulan/rekomendasi yang dihasilkan oleh inference engine. e. Knowledge Base Editor Knowledge base editor merupakan bagian yang digunakanuntuk menambah, menghapus dan memperbaiki basispengetahuan. 6 Durkin, John. Expert System and Development, New York : Macmillan, 1995, hal 168

13

f. Learning Learning adalah suatu proses belajar dari suatu sistempakar apabila sistem tidak menemukan solusi masalah.g. Certainty Factor Certainty factor merupakan faktor keyakinan atas fakta-faktayang ada. 2.3.3 Metode Inferensi Komponen ini mengandung mekanisme pola pikir danpenalaran yang digunakan oleh pakar dalam menyelesaikansuatu masalah. Metode inferensi adalah program komputer yangmemberikan metodologi untuk penalaran tentang informasi yangada dalam basis pengetahuan dan dalam workspace , dan untukmenformulasikan kesimpulan (Turban, 1995).Kebanyakan sistem pakar berbasis aturan menggunakaninferensi yang dinamakan modus ponen. Berdasarkan strategi ini, jika terdapat aturan IF A THEN B, dan jika diketahui bahwa Abenar, maka dapat disimpulkan bahwa B juga benar.Terdapat dua pendekatan untuk mengontrol inferensidalam sistem pakar berbasis aturan, yaitu pelacakan ke depan( Forward Chaining) dan pelacakan ke belakang ( Backward Chaining ).a. Pelacakan ke depan ( Forward Chaining )Pelacakan ke depan adalah pendekatan yang dimotori data( data-driven ). Dalam pendekatan ini pelacakan dimulai dariinformasi masukan, dan selanjutnya mencoba menggambarkan

14 kesimpulan. Pelacakan ke depan, mencari fakta yang sesuaidengan bagian IF dari aturan IF-THEN.b. Pelacakan ke belakang ( Backward Chaining )Pelacakan ke belakang adalah pendekatan yang dimotorioleh tujuan (

goal-driven ). Dalam pendekatan ini pelacakandimulai dari tujuan, selanjutnya dicari aturan yang memiliki tujuantersebut untuk kesimpulannya. Selanjutnya proses pelacakanmenggunakan premis untuk aturan tersebut sebagai tujuan barudan mencari aturan lain dengan tujuan baru sebagaikesimpulannya. Proses berlanjut sampai semua kemungkinanditemukan (Kusumadewi, 2003). 2.3.4 Ciri-ciri Sistem Pakar Adapun ciri-ciri sistem pakar diantaranya adalah :a. Bekerja secara sistematis berdasarkan pengetahuan danmekanisme tertentu.b. Pengambilan keputusan berdasarkan kaidah-kaidah tertentudan dapat merespons masukkan user (melalui kotak dialog).c. Dikembangkan secara bertahap dan terbatas pada bidangkeahlian tertentu saja.d. Outputnya berupa saran atau anjuran. 2.3.5 Kategori Sistem Pakar Sistem pakar saat ini telah dibuat untuk memecahkanberbagai macam permasalahan dalam berbagai bidang, sepertimatematika, teknik, kedokteran, kimia, farmasi, sains komputer,bisnis, hukum, pendidikan, sampai pertahanan. Secara umum

15 ada beberapa kategori dan area permasalahan sistem pakar,yaitu 7 :a. Interprestasi, yaitu pengambilan keputusan atau deskripsitingkat tinggi dari sekumpulan data mentah, termasukdiantaranya juga pengawasan, pengenalan ucapan, analisiscitra, interprestasi sinyal, dan beberapa analisis kecerdasan.b. Proyeksi, yaitu memprediksi akibat-akibat yangdimungkinkan dari situasi-situasi tertentu, diantaranyaperamalan, prediksi demografis, peramalan ekonomi,prediksi lalu lintas, estimasi hasil, militer, pemasaran, atauperamalan keuangan.c. Diagnosis, yaitu menentukan sebab malfungsi dalam situasikompleks yang didasarkan pada gejala-gejala yang teramati,diantaranya medis, elektronis, mekanis dan diagnosisperangkat keras dan perangkat lunak komputer.d. Desain, yaitu menentukan konfigurasi komponenkomponensistem yang cocok dengan tujuan-tujuan kinerja tertentuyang memenuhi kendala-kendala tertentu, diantaranya layout sirkuit dan perancangan bangunan.e. Perencanaan, yaitu merencanakan serangkaian tindakanyang akan dapat mencapai sejumlah tujuan dengan kondisiawal tertentu, diantaranya perencanaan keuangan,komunikasi, militer, pengembangan produk, routing danmanajemen proyek.

7 Arhami, Muhammad. Konsep Dasar Sistem Pakar. Yogyakarta. 2005, hal 23

16 f. Pengawasan ( Monitoring ), yaitu membandingkan tingkahlaku suatu sistem yang teramati dengan tingkah laku yangdiharapkan darinya, diantaranya Computer Aided Monitoring System. g. Pelacakan dan Perbaikan ( Debugging and

Repair) , yaitumenentukan dan mengimplementasikan cara-cara untukmengatasi malfungsi, diantaranya memberikan resep obatterhadap suatu kegagalan.h. Instruksi, yaitu mendeteksi dan mengoreksi defisiensi dalampemahaman domain subjek, diantaranya melakukaninstruksi untuk diagnosis, debugging dan perbaikan kinerja.i. Pengendalian, yaitu mengatur tingkah laku suatu environtment yang kompleks seperti kontrol terhadapinterprestasi-interprestasi, prediksi, perbaikan dan monitoringkelakuan sistem. j. Seleksi, yaitu mengidentifikasi pilihan terbaik darisekumpulan ( list ) kemungkinan.k. Simulasi, yaitu pemodelan interaksi antara komponen-komponen sistem. 2.3.6 Elemen Manusia dalam Sistem Pakar Dalam pengembangan sebuah sistem pakar, faktormanusia ikut menentukan keberhasilan dari sistem pakartersebut. Adapun faktor manusia yang dimaksud ialah 8 : 8

Durkin, John. Expert System and Development, New York: Macmillan, 1995, hal 476-477

17 a. Pakar ( Domain Expert )Pakar adalah seorang yang mempunyai pengetahuankhusus, pendapat, keahlian dan metode serta kemampuan untukmenggunakannya. Pakar dapat memberikan nasehat danmemecahkan masalah. Tugasnya menyediakan pengetahuantentang bagaimana cara melaksanakan tugasnya untuk kemudiandiserap dan diimplementasikan ke dalam sistem pakar.b. Perancang ( Knowledge Engineer ) Knowledge engineer adalah pihak yang membantu dalampembuatan sebuah sistem pakar. Knowledge engineer inibertugas menyerap pengetahuan yang dimiliki oleh para pakardan mengimplementasikannya ke dalam software sistem pakar.Tugas ini cukup sulit karena knowledge engineer tidak bolehmemasukkan perkiraan atau perasaannya ke dalam pengetahuanyang diperoleh. Selain itu seorang knowledge engineer haruspandai mengorek pengetahuan pakar karena adakalanyaseorang pakar tidak dapat menceritakan/menjelaskan semuakeahliannya.c. Pemakai ( End User )Merupakan manusia yang menggunakan hasil dariperancangan sistem pakar.

18

2.3.7 Alat Pengembangan Sistem Pakar Ada dua jenis alat untuk mengembangkan sistem pakar,yaitu 9 :a. Bahasa PemrogramanBahasa tentunya mengacu pada bahasa pemograman yangdigunakan oleh komputer untuk membuat suatu perangkat lunakbaru. Sistem pakar dewasa ini telah dibuat atau diciptakandengan berbagai jenis bahasa pemrograman dan bahkan hampirsemua bahasa pemograman telah digunakan untuk pembuatansistem pakar ini, diantaranya BASIC, C, Pascal, FoxPro, Delphi,PHP dan JAVA.Selain itu ada juga bahasa pemrograman yang paling baikuntuk sistem pakar yang memang khusus dirancang untukaplikasi Artificial Intelligence (AI) dan juga dapat digunakan untukmembuat sistem pakar. Bahasa-bahasa tersebut adalah CLIPS,LISP dan PROLOG.b. Shell

Shell sistem pakar atau disebut juga generator merupakanpaket perangkat lunak yang khusus dibuat untuk membantupembuatan sistem pakar. Shell merupakan utility terpasang yangbisa mempermudah dan mempercepat proses pengembangan.Beberapa generator sistem pakar sebenarnya adalah sejenis compiler . Sesudah kaidah dimasukkan ke dalam editor, generator

Arhami, M. Konsep Dasar Sistem Pakar. Yogyakarta, Penerbit Andi. 2005, hal 170(dikutip dari Suparman (1991)).

19 mengkompilasinya ke dalam kode terakhir, kemudian motorinferensi dan user interface menggunakannya. 2.3.8 Kelebihan Sistem Pakar Beberapa kelebihan yang diperoleh dari penggunaansistem pakar adalah :a. Meningkatkan output dan produktivitas. Sistem pakar dapatbekerja lebih cepat dari manusia.b. Meningkatkan kualitas. Sistem pakar menyediakan nasihatyang konsisten dan dapat mengurangi tingkat kesalahan.c. Handal ( Reability ). Sistem pakar tidak lelah/bosan, jugakonsisten dalam memberi jawaban.d. Merupakan arsip yang terpercaya dari sebuah keahlian,sehingga pengguna seolah-olah berkonsultasi langsungdengan pakar, meskipun sang pakar mungkin sudahpensiun. 2.3.9 Kelemahan Sistem Pakar Selain memiliki kelebihan, sistem pakar juga memilikikelemahan 10 diantaranya adalah :a. Masalah dalam mendapatkan pengetahuan, dimanapengetahuan tidak selalu bisa didapatkan dengan mudah,karena kadangkala pakar dari masalah yang kita buat tidakada, dan kalaupun ada kadang-kadang pendekatan yangdimiliki oleh pakar berbeda-beda. 10 Arhami, Muhammad. Konsep Dasar Sistem Pakar, Yogyakarta, 2005, hal. 10-11

20 b. Untuk membuat suatu sistem pakar yang benar-benarberkualitas tinggi sangatlah sulit dan memerlukan biaya yangsangat besar untuk pengembangan dan pemeliharaannya.c. Sistem pakar tidaklah 100% bernilai benar. Oleh karena ituperlu diuji ulang secara teliti sebelum digunakan. Dalam halini peran manusia tetap merupakan faktor dominan.

2.3.10 Alasan Pengembangan Sistem Pakar Ada beberapa alasan mendasar mengapa sistem pakardikembangkan untuk menggantikan seorang pakar 11 ,diantaranya:a. Dapat menyediakan kepakaran setiap waktu dan di berbagailokasi.b. Secara otomatis mengerjakan tugas-tugas rutin yangmembutuhkan seorang pakar.c. Seorang pakar akan pensiun atau pergi.d. Seorang pakar adalah mahal.e. Kepakaran dibutuhkan juga pada lingkungan yang tidakbersahabat ( hostile environtment ). 2.4 Analisa dan Perancangan Sistem2.4.1 Pengertian Analisa Sistem Tahap analisa sistem dilakukan sebelum tahap desainsistem dan tahap perancangan sistem. Tahap analisa merupakantahap yang kritis dan sangat penting, karena kesalahan yang 11 Arhami, Muhammad. Konsep Dasar Sistem Pakar, Yogyakarta, 2005, hal. 7-8

21 terjadi pada tahap ini akan mengakibatkan terjadinya kesalahanpada tahap berikutnya.Analisa sistem adalah suatu penguraian dari suatu sisteminformasi yang utuh ke dalam bagian komponennyadengan maksud untuk mengidentifikasikan danmengevaluasikan permasalahan, kesempatan, hambatanyang terjadi dan kebutuhan yang diharapkan sehinggadapat diusulkan perbaikkannya 12 . 2.4.2 Tujuan Analisa Sistem Tujuan dari analisa sistem adalah sebagai berikut :a. Agar dapat mengetahui informasi apa saja yang dibutuhkanoleh pemakai sistem yang belum dapat dihasilkan olehsistem lama.b. Agar dapat menemukan kelemahan-kelemahan yang lamadan dapat diusulkan perbaikkannya. 2.4.3 Pengertian Perancangan Sistem Perancangan sistem adalah kegiatan untuk menentukanbagaimana suatu sistem akan menyelesaikan apa yangharus diselesaikan, tahap ini menyangkutmengkonfigurasikan komponen-komponen perangkatlunak dan perangkat keras suatu sistem, sehinggasetelah instalasi atas sistem akan benarbenarmemuaskan rancang bangun yang telah ditetapkan padaakhir tahap analisis sistem

13 . 2.4.4 Tujuan Perancangan Sistem Tujuan perancangan sistem adalah :a. Untuk memenuhi kebutuhan kepada pemakai sistem 12 Jogiyanto, HM., Analisis & Desain Sistem Informasi Pendekatan Terstruktur Teori danPraktek Aplikasi Bisnis, ANDI, 2005, Hal. 129 13 Ibid, Hal. 196 (dikutip dari George M. Scott)

22 b. Untuk memberikan gambaran yang jelas dan rancangbangun yang lengkap kepada pemrogram komputer danahli-ahl teknik lainnya yang terlibat.Untuk mencapai tujuan ini, analis sistem harus dapatmencapai sasaran sebagai berikut :a. Perancangan sistem harus berguna, mudah dipahami dannantinya mudah digunakanb. Perancangan sistem harus dapat mendukung tujuan utamasesuai dengan yang telah didefinisikan pada tahapperencanaan dan analisis sistem. 2.5 Analisis dan Desain Berorientasi Objek2.5.1 Pengertian Analisis dan desain berorientasi objek adalah metodeuntuk menganalisa dan merancang sistem dengan pendekatanberorientasi objek. Objek diartikan sebagai suatu entitas yangmemiliki identitas, properti dan method atau behavior. Pada analisa, identitas sebuah objek menjelaskanbagaimana seorang user membedakannya dari objek lain, dan behavior objek digambarkan melalui event yang dilakukannya.Sedangkan pada perancangan, identitas sebuah objekdigambarkan dengan cara bagaimana objek lain mengenalinyasehingga dapat diakses, dan

behavior objek digambarkan denganoperasi yang dapat dilakukan objek tersebut yang dapatmempengaruhi objek lain dalam sistem.

23 2.5.2 Keuntungan Berikut ini adalah beberapa keuntungan dari analisis dandesain berorientasi objek :1. Merupakan konsep umum yang dapat digunakan untukmemodelkan hampir semua fenomena dan dapat dinyatakandalam bahasa umum ( natural language ). Kata bendamenjadi objek atau class, keterangan menjadi properti atauatribut dan kata kerja menjadi behavior atau method. 2. Memberikan informasi yang jelas tentang konteks darisistem.3. Memudahkan untuk mencari hal yang akan diubah.4. Membuat perubahan pada area lokal tidak berpengaruhpada modul yang lain. 2.6 Pengantar Basis Data Basis data adalah himpunan kelompok data yang salingberhubungan dan diorganisasi sedemikian rupa agar kelak dapatdimanfaatkan kembali dengan cepat dan mudah 14 .Merancang basis data merupakan suatu hal yang sangatpenting, karena pada basis data inilah basis pengetahuan yangmenjadi jantung sistem pakar akan disimpan. Kesulitan utamadalam merancang basis data adalah bagaimana merancangsehingga basis data dapat memuaskan keperluan saat ini danmasa datang. Pada perancangan konseptual akan menunjukkan 14 Fatansyah. Basis Data. Bandung, Informatika. 2007, hal 2.

24 entity

dan relasinya berdasarkan proses yang diinginkan olehsuatu institusi. Ketika menentukan entity dan relasinyadibutuhkan analisis data tentang informasi yang ada dalamspesifikasi di masa mendatang. Pada perancangan modelkonseptual, penekanan tinjauan dilakukan pada struktur data danrelasi antar file. Pendekatan yang dilakukan pada perancanganmodel konseptual adalah menggunakan model data relasional.Pada model data relasional hubungan antar file direlasikandengan kunci relasi ( relation key ), yang merupakan kunci utamadari masing-masing file . Perancangan basis data yang tepat akanmenyebabkan paket program relasional akan bekerja secaraoptimal. 2.6.1 Entity Relationship Diagram (ERD) Entity Relationship Diagram adalah satu set konsep dansimbol grafis yang dapat digunakan untuk menciptakan skemakonseptual 15 . Diagram ER merupakan jaringan yangmemperlihatkan atau menggambarkan tentang data yangtersimpan dari suatu sistem serta menggambarkan hubunganantar entitas dalam suatu sistem. 15 Kroenke, M, David. Database Processing Dasar-dasar, Desain dan Implementasi.Erlangga. 2008. hal 38.

25

Entity Relationship Diagram terdiri dari komponen-komponen sebagai berikut :a. EntitasSegala sesuau yang dapat dijelaskan dengan data,sekelompok benda atau objek.Simbol :b. AtributMenunjukkan karakteristik dari setiap atau sesuatu yangmenjelaskan entitas atau hubugan.Simbol :c. Relasi atau hubunganAdanya hubungan yang terjadi antara satu atau lebih entitas.Simbol :d. PenghubungMedia yang menghubungkan atribut dengan kumpulanentitas dan kumpulan entitas dengan relasi.Simbol : 2.6.2 Kardinalitas Kardinalitas merupakan tingkat hubungan yang terjadidilihat dari segi kejadian atau banyak faktornya hubungan antaraentitas pada ERD. Ada tiga kemungkinan hubungan-hubunganyang akan terjadi, yaitu :a. Satu ke satu/ one to one (1 : 1)Yaitu tingkatan hubungan dimana satu kejadian entitas yangpertama hanya mempunyai hubungan dengan satu kejadianpada entitas kedua dan sebaliknya.

26 Contoh :b. Satu ke banyak/ one to many (1 : M) atau banyak ke satu many to one (M : 1)Yaitu tingkatan hubungan dimana satu kejadian pada entitasyang pertama mempunyai hubungan dengan satu atau lebihdari satu kejadian pada entitas kedua dan sebaliknya.Contoh :c. Banyak ke banyak/ many to many (M : N)Yaitu tingkat hubungan dimana lebih dari satu kejadian padaentitas yang pertama mempunyai hubungan lebih dari satukejadian pada entitas kedua dan sebaliknya.Contoh :

27 2.5.3 Normalisasi Normalisasi merupakan teknik penyederhanaan relasi-relasi yang ada pada suatu tabel dengan cara mendefinisikanulang relasi ke dalam dua atau lebih relasi supaya mempunyaistruktur yang tepat dan lebih efektif 16

.Pada saat menormalisasi basis data, ada empat tujuanyang harus dicapai, yaitu 17 :a. Mengatur data dalam kelompok-kelompok, sehingga masing-masing kelompok hanya menangani bagian kecil sistem.b. Meminimalkan jumlah data berulang dalam basis data.c. Membuat basis data yang datanya diakses dan dimanipulasisecara cepat dan efisien tanpa melupakan integritas data.d. Mengatur data sedemikian rupa sehingga ketikamemodifikasi data, Anda hanya mengubah pada satutempat.Definisi dari tiap tahap normalisasi :a) Bentuk tidak normal ( Unnormalized )Bentuk ini merupakan data yang akan direkam, tidak adakeharusan mengikuti format, dapat saja data tidak lengkapatau terduplikasi. 16 Kroenke, M., David. Database Processing Dasar-dasar, desain dan implementasi,Erlangga, 2008, Hal. 130 17 Paryudi, I & S, Janner. Basis Data. Yogyakarta, Penerbit Andi. 2006, hal 77

28 b) Bentuk normal pertama (1NF)Bentuk normal pertama mempunyai ciri, yaitu setiap datadibentuk dalam file data, data dibentuk dalam satu record demi satu record dan field-field. c) Bentuk normal kedua (2NF)Bentuk normal kedua mempunyai syarat, yaitu bentuk datatelah memenuhi kriteria bentuk normal pertama. Atributbukan kunci harus bergantung secara fungsi pada kunciutama atau primary key.

d) Bentuk normal ketiga (3NF)Untuk menjadi bentuk normal ketiga, maka relasi haruslahdalam bentuk normal kedua dan semua atribut bukan primertidak punya hubungan yang transitif. Dengan kata lain,semua atribut bukan kunci tergantung secara fungsionalhanya pada kunci utama.e) Bentuk normal Boyce-Code (BCNF)Bentuk normal Boyce-Code (BCNF) adalah versi 3NF yanglebih teliti dan berhubungan dengan tabel relasional yangmempunyai banyak kunci kandidat, kunci kandidat gabungandan kunci kandidat yang saling tumpang tindih. BCNFdidasarkan pada konsep penentu. Sebuah kolom penentuadalah kolom dimana kolom-kolom lain sepenuhnyatergantung secara fungsional.f) Bentuk normal keempat (4NF)Normalisasi bentuk keempat didasarkan pada konsepketergantungan multivalue . Sebuah ketergantungan

29 multivalue terjadi ketika dalam sebuah tabel relasional yangmengandung setidaknya tiga kolom, satu kolom mempunyaibanyak baris bernilai sama, tetapi kolom lain bernilaiberbeda.g) Bentuk normal kelima (5NF)Bentuk normal kelima dapat dipandang sebagai perluasandari 4NF, dalam arti saat ini multi-value dependency tidaklagi bersifat independent atau melainkan menjadi bersifat dependent. 2.7 Pengantar Komputer2.7.1 Pengertian Komputer Komputer berasal dari bahasa latin, yaitu computare yangmengandung arti menghitung. Karena luasnya bidang garapanilmu komputer, para pakar dan peneliti sedikit berbeda dalammendefinisikan komputer.Pengertian computer menurut Hamacher :Komputer adalah mesin penghitung elektronik yangcepat dan dapat menerima informasi input digital,kemudian memprosesnya sesuai dengan program yangtersimpan di memorinya, dan menghasilkan outputberupa informasi.Blissmer mendefiniskan komputer sebagai berikut

:Komputer adalah suatu alat elektronik yang mampumelakukan beberapa tugas sebagai berikut :1. Menerima input2. Memproses input tadi sesuai dengan programnya3. Menyimpan perintahperintah dan hasil daripengolahan

30 4. Menyediakan output dalam bentuk informasi.Sedangkan Fuori berpendapat, komputer adalah suatupemroses data yang dapat melakukan perhitungan besar secaracepat, termasuk perhitungan aritmatika dan operasi logika, tanpacampur tangan dari manusia.Sehingga secara umum komputer dapat didefinisikansebagai alat elektronik yang dapat menerima input data,mengolah data, dan memberikan hasil dalam bentukinformasi dengan menggunakan suatu program yangtersimpan di memori komputer dan juga dapatmenyimpan program dan hasil pengolahan yang bekerjasecara otomatis sehingga akan mempermudah pekerjaanmanusia 18 .Untuk mewujudkan konsepsi komputer sebagai pengolahdata dan menghasilkan suatu informasi, maka diperlukan sistemkomputer ( computer system ) yang elemennya terdiri dari hardware, software dan brainware . Ketiga elemen sistemkomputer tersebut harus saling berhubungan dan membentukkesatuan untuk mencapai suatu tujuan. Hardware tidak akanberfungsi apabila tanpa software , demikian juga sebaliknya. Dankeduanya tiada bermanfaat apabila tidak ada manusia( brainware ) yang mengoperasikan dan mengendalikannya. 18 Madcoms. Panduan Lengkap untuk Teknisi Komputer. Yogyakarta. 2008, hal. 1

31 2.7.2 Elemen Komputer Elemen yang sangat berperan sangat penting dalampenggunaan komputer adalah :a. Hardware (Perangkat Keras)Perangkat keras komputer adalah semua bagian fisikkomputer, dan dibedakan dengan data yang berada didalamnya atau yang beroperasi di dalamnya, dan dibedakandengan perangkat lunak yang menyediakan instruksi untukperangkat keras dalam menyelesaikan tugasnya 19 .Perangkat keras juga juga didefinisikan, suatu alat yang bisadilihat dan diraba oleh manusia secara langsung yangmendukung proses komputerisasi 20 .b. Software (Perangkat Lunak)Perangkat lunak adalah istilah umum untuk data yangdiformat dan disimpan secara digital, termasuk programkomputer, dokumentasinya, dan berbagai informasi yangbisa dibaca dan ditulis oleh komputer 21 . Dengan kata lain,perangkat lunak adalah bagian dari sistem komputer yangtidak berwujud fisik. 19 http://id.wikipedia.org/wiki/Perangkat_keras 20 Madcoms. Panduan Lengkap untuk Teknisi Komputer. Yogyakarta. 2008, hal. 1 21 http://id.wikipedia.org/wiki/Perangkat_lunak

32 c. Brainware (Manusia)

Brainware adalah bagian penting dari sebuah sistemkomputer. Perangkat keras tidak dapat bekerja tanpatperangkat lunak. Sementara perangkat keras dan perangkatlunak memerlukan brainware untuk menggunakannya.Secara harafiah, brainware dapat diartikan sebagaiperangkat intelektual (dalam hal ini otak manusia) yangmengoperasikan dan mengeksplorasi kemampuan dariperangkat keras dan perangkat lunak yang ada 22 . 2.8 Pengenalan Java2.8.1 Sejarah Java Java adalah bahasa pemrograman berorientasi objekyang dikembangkan oleh Sun Microsystems yang dipimpin olehJames Gosling dan Patrick Naughton sejak tahun 1991, sebuahperusahaan besar di Amerika Serikat. Bahasa ini dikembangkandengan model yang mirip dengan C++ dan Smalltalk , namundirancang agar lebih mudah dipakai dan multiplatform , yaitudapat dijalankan di berbagai jenis sistem operasi dan arsitekturkomputer.Pada mulanya bahasa ini diberi nama Oak oleh JamesGosling yang mendapat inspirasi dari sebuah pohon yang beradapada seberang kantornya, namun dikarenakan nama Oak sendirimerupakan bahasa pemrograman yang telah ada sebelumnya, 22 Madcoms. Panduan Lengkap untuk Teknisi Komputer. Yogyakarta. 2008, hal. 6

33 maka Sun menggantinya dengan Java. Nama Java sendiriterinspirasi pada saat mereka sedang menikmati secangkir kopidi sebuah kedai kopi yang kemudian dengan tidak sengaja salahsatu dari mereka

menyebutkan kata Java yang mengandung artiasal bijih kopi. Akhirnya mereka sepakat untuk memberikan namabahasa pemrograman tersebut dengan nama Java. 2.8.2 Pemrograman Berorientasi Objek Java merupakan bahasa pemrograman yang murniberorientasi objek. Konsep pemrograman berorientasi objekadalah konsep menggabungkan antara data dan fungsi atauprosedur menjadi sebuah kesatuan unit, unit ini dikenal dengannama class (kelas) dan instance atau implementasi dari class adalah object (objek). Dalam konsep pemrograman berorientasiobjek, kita melihat program sebagai sekumpulan objek yangmemuat perintah, nilai, metode dan banyak hal lainnya sepertilayaknya objek pada kehidupan nyata. Dengan konsep tersebut,kita akan dimudahkan dalam pembuatan program yang kompleksdan dapat berkembang setiap saat. Selain itu, modifikasi programdapat dengan mudah dilakukan karena kita hanya cukupmenambahkan objek yang diinginkan, atau menghapus objekyang tidak dibutuhkan.Tiga pilar utama dalam konsep pemrogramanberorientasi objek adalah Encapsulation, Inheritance dan Polymorphism.

34 a. Encapsulation

Encapsulation atau Enkapsulasi adalah konsepmembungkus berbagai data dan metode dalam satu class

.Namun, tidak semua data atau metode di dalamnya dapatdimanfaatkan. Kita bisa memilah-milah data atau metode tertentusaja yang dapat dipanggil oleh class lain ( public) , sedangkanmetode lainnya hanya dapat diakses dalam satu class ( private ).Dengan membuatnya tidak bisa diakses dari luar, sama halnyadengan menyembunyikan proses dalam class . Class lain hanyamengetahui output yang dihasilkan dari class tersebut jikadijalankan pada proses input tertentu.b. Inheritance

Inheritance atau pewarisan merupakan konsep penurunansifat, properti ataupun metode yang dimiliki oleh class yang lebihatas ( superclass ) pada class dibawahnya ( subclass

). Denganmemanfaatkan konsep pewarisan ini dalam pemrograman, kitahanya perlu mendefinisikan karakteristik yang spesifik dimilikioleh suatu class , sementara semua karakteristik yang lebihumum akan didapatkan dari class dimana ia diturunkan. Dalampemrograman, hal ini akan menghemat jumlah baris kode yangharus ditulis, sekaligus meningkatkan reusability ataupenggunaan kembali dari kode tersebut.c. Polymorphism

Polymorphism berasal dari bahasa Yunani yang berartibanyak bentuk. Konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu objek agar

35 melakukan suatu aksi atau tindakan yang mungkin akanmemberikan hasil akhir yang serupa, tapi melalui proses yangberbeda. Dalam konsep yang lebih umum seringkali polymorphism disebut dengan istilah satu interface banyak aksi. 2.9 Netbeans IDE Netbeans IDE ( Integrated Development Environment )adalah sebuah program/alat bantu yang terdiri atas Editor,Compiler, Debugger

dan Design yang terintegrasi dalam satuaplikasi 23 .Editor Netbeans cukup luar biasa untuk membuat aplikasiJava, karena didukung dengan fasilitas drag and drop komponen.Yaitu dukungan Rapid Application Development (pemrogramanberbasis visual). Satu hal lagi yang paling penting adalah produkini bersifat free atau gratis yang dibuat oleh Sun Microsystem. 2.10 Pengenalan UML 24

Pemodelan (modeling) adalah proses merancang perantilunak ( software ) sebelum melakukan pengkodean (coding ).Model peranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model darisebuah sistem yang kompleks sangatlah penting, karena kitatidak dapat memahami sistem semacam itu secara menyeluruh. 23 Huda, Miftahul, 2010, Membuat Aplikasi Database dengan Java, MySQL, dan Netbeans,Jakarta : Elex Media Komputindo, hal. 23 24 Ibid, hal. 137

36 Semakin kompleks sebuah sistem, semakin penting pulapenggunaan teknik pemodelan yang baik. 2.10.1 Pengertian UML Unified Modeling Language (UML) adalah sebuahbahasa yang telah menjadi standar dalam industri untukvisualisasi, merancang dan mendokumentasikan sistem perantilunak. UML adalah salah satu alat bantu yang sangat handal didunia pengembangan sistem yang berorientasi objek 25 . Secarakonsep dasar, UML mendefinisikan delapan diagram sebagaiberikut.a. Use Case Diagram Menggambarkan fungsionalitas dari sebuah sistem (apafungsinya), yang mempresentasikan sebuah interaksi antaraaktor dengan sistem (sebuah pekerjaan). Misalnya menambahdata/membuat laporan. Aktor adalah sebuah entitas manusiaatau mesin yang berinteraksi dengan sistem untuk melakukanpekerjaan-pekerjaan tertentu.b. Class Diagram

Class adalah sebuah spesifikasi objek yang memilikiatribut/properti dan layanan/fungsionalitas (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi kelas, package , dan objek beserta hubungan satu sama lain, seperti containment, pewarisan, asosisasi, dan lain-lain. Kelas memilikitiga hal pokok: Nama (dan stereotype ), Atribut, dan Metode. 25 Munawar, Pemodelan Visual dengan UML, Yogyakarta : Graha Ilmu, hal. 17

37 c. Statechart Diagram Diagram ini menggambarkan transisi dan perubahankeadaan suatu objek akibat dari stimulus/input yang diterimanya. State digambarkan berbentuk segi empat dengan sudutmembulat dan memiliki nama sesuai kondisinya. Transisi antarstate umumnya memiliki kondisi yang merupakan syaratterjadinya transisi yang bersangkutan.d. Activity Diagram Diagram ini menggambarkan berbagai aktivitas dalam sistemyang sedang dirancang, mulai dari titik awal, melalui kondisi( decision ) yang mungkin terjadi, kemudian sampai titik akhir.Diagram ini juga mampu menggambarkan proses paralel yangmungkin terjadi pada beberapa eksekusi. Diagram ini tidakmenggambarkan perilaku/proses internal sebuah sistem maupuninteraksi antara subsistem, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas secara umum ( global ).e. Sequence Diagram Diagram ini menggambarkan interaksi antar objek di dalamdan di sekitar sistem berupa pesan yang digambarkan terhadapwaktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dandimensi horizontal (objek-objek yang terkait). Biasa digunakanuntuk menggambarkan skenario atau rangkaian langkah-langkahyang dilakukan sebagai respon dari sebuah event untukmenghasilkan output tertentu.

38 f. Collaboration Diagram

Collaboration diagram juga menggambarkan interaksi antarobjek seperti sequence diagram , tetapi lebih menekankan padaperan masing-masing objek dan bukan pada waktu penyampaianpesan.g. Component Diagram Diagram ini menggambarkan struktur dan hubungan antarkomponen peranti lunak, termasuk ketergantungan ( depency ).Diantaranya modul berisi kode, baik berisi source code, binary,library, executable. h. Deployment Diagram

Deployment diagram menggambarkan detail bagaimanakomponen dibentuk dan didistribusikan ( deploy ) dalaminfrastruktur sistem. Dimana komponen akan terletak pada mesin,server atau peranti keras apa. Bagaimana jaringan pada lokasitersebut tersebut, misalnya server, client dan hal-hal lain yangbersifat fisik. 2.11 MySQL Server 5.1 MySQL adalah sebuah perangkat lunak sistemmanajemen basis data SQL atau yang dikenal dengan DBMS( Database Management System ), database ini multithread, multi- user 26 .

26 Huda, Miftahul, 2010, Membuat Aplikasi Database dengan Java, MySQL, dan Netbeans,Jakarta : Elex Media Komputindo, hal. 181

39 Kekuatan MySQL tidak ditopang oleh sebah komunitas,seperti Apache yang dikembangkan oleh komunitas umum, danhak cipta untuk kode sumber dimiliki oleh pemilik masing-masing,tetapi MySQL didukung penuh oleh sebuah perusahaanprofesional dan komersial, yakni MySQL AB dari Swedia.MySQL AB membuat MySQL tersedia sebagai perangkatlunak gratis di bawah lisensi GNU General Public License (GPL),tetapi mereka juga menjual di bawah lisensi komersial untukkasus-kasus yang bersifat khusus.Sebagai database server, MySQL dapat dikatakan lebihunggul dibandingkan database server lainnya, terutama dalamkecepatan. Berikut ini beberapa keistimewaan MySQL, antaralain :a. Portability MySQL dapat berjalan stabil pada berbagai sistem operasiseperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris,Amiga dan masih banyak lagi.b. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktuyang bersamaan tanpa mengalami masalah atau konflik.c. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnet mask , nama host, dan izin akses user dengan sistemperizinan yang mendetail serta password yang terenkripsi.

40 d. Scalability dan Limits MySQL mampu menangani database dalam skala besar,dengan jumlah

records lebih dari 50 juta dan 60 ribu tabel serta 5milyar baris. Selain itu batas indeks yang dapat ditampungmencapai 32 indeks pada setiap tabelnya

1 SISTEM PAKAR Referensi:Durkin. Expert Systems: Design and Development. MacMillan.Dologite. Developing Knowledge Based Systems using VP Expert. MacMillan. Definisi Sistem Pakar Sumber: Durkin, halaman 7Sistem Pakar adalah sebuah program komputer yang dirancang untuk memodelkankemampuan penyelesaian masalah dari seorang pakar. Arsitektur Sistem Pakar

Penyusun Sistem Pakar Sumber: Durkin, halaman 7, 27-32; Dologite, halaman 3-6Knowledge Base, Working Memory, Inference Engine, Explanation Facility, dan UserInterface.Knowledge BaseBerisi kumpulan informasi atau pengetahuan khusus pada area masalah yangdiberikan oleh pakar.Knowledge Engineer: seorang spesialis komputer yang mempunyai kemampuanmenambang pengetahuan pakar dan mentransferkannya ke dalam Knowledge Baseyang terkomputerisasi.Representasi pengetahuan secara umum adalah rule.Working MemoryBerisi fakta-fakta yang telah ditemukan selama proses konsultasi.

ExplanationFacilityInferenceEngineUserInterfaceKnowledgeBaseWorkingMemoryuser

2 Fakta ini bisa berupa:-

Informasi yang diberikan oleh user-

Konklusi yang diberikan oleh ruleInference EngineAdalah prosesor pengetahuan yang dimodelkan menurut reasoning seorang pakar.Merupakan otak dari sistem pakar.Dapat dibuat secara manual oleh programmer, tetapi sistem pakar sekarang iniumumnya dibuat menggunakan sebuah shell yang

mempunyai built-in inferenceengine. Shell ini disebut Expert System Shell. Contoh ES Shell: VP Expert.Explanation FacilityMenyimpan history selama konsultasi seorang user.History berisi rule-rule yang digunakan untuk membangkitkan konklusi akhir.User InterfaceMengakomodasi interaksi antara sistem pakar dan user, menggunakan bahasaalami.Model umum user interface adalah pertanyaanpertanyaan dengan sejumlah opsi jawaban. Rule sebagai Knowledge Representation Sumber: Durkin, halaman 59-60Rule adalah struktur pengetahuan yang menghubungkan informasiinformasi yangtelah diketahui ke informasi baru.Struktur rule biasanya berupa IF-THEN.Bagian IF berisi sejumlah antecedent (atau premis).Bagian THEN berisi sejumlah concequent (atau conclusion).Contoh:IF bola berwarna merahTHEN saya menyukai bola ituRule dapat mempunyai banyak premis yang digabungkan dengan AND (conjunction),atau OR (disjunction), atau kombinasi keduanya.

3 Konklusi bisa berupa sebuah pernyataan tunggal, atau kombinasi yang digabungkandengan AND.Rule juga dapat berisi bagian ELSE, yang akan dinyatakan TRUE jika salah satupremisnya FALSE.Contoh:IF jam sekarang lewat jam 10AND hari ini adalah Senin sampai JumatAND saya sedang di rumahOR bos menelepon saya dan mengatakan saya terlambat bekerjaTHEN saya terlambat bekerjaELSE saya tidak terlambat bekerjaPerlu diperhatikan: secara umum AND lebih kuat daripada OR. Inference Sumber: Durkin, halaman 94-95, 60-61Inference adalah proses yang digunakan oleh sistem pakar untuk membangkitkaninformasi baru dari informasi-informasi yang telah diketahui.Inference melibatkan Knowledge Base sebagai long-term memory dan WorkingMemory sebagai short-term memory.Contoh inference:USER INTERFACEQ: Apa warna bola?A: merahWORKING MEMORYBola berwarna merahSaya menyukai bola ituSaya akan membeli bola ituStep 1KNOWLEDGE BASEIF Bola berwarna merahTHEN Saya menyukai bola ituIF Saya menyukai bola ituTHEN Saya akan membeli bola ituStep 3Step 5Step 2Step 4

4 Inference diawali dengan menanyakan kepada user tentang warna bola. Sistemmendapatkan jawaban merah dan memasukkan fakta ini ke dalam workingmemory (Step 1). Selanjutnya sistem mencocokkan premis rule pertama (Step 2),sehingga menyebabkan rule pertama dipanggil dan konklusi saya menyukai bolaitu ditambahkan ke dalam working memory (Step 3). Informasi baru ini cocokdengan premis rule kedua (Step 4), sehingga menyebabkan rule kedua dipanggil dankonklusi saya akan membeli bola itu ditambahkan ke dalam working memory(Step 5). Pada titik ini, tidak ada lagi rule lain yang ada dalam sistem untukdiperhatikan, sehingga proses berhenti.Ada dua macam inference: Forward Chaining dan Backward Chaining.

F orward Chaining Sumber: Durkin, halaman 100-103Semua premiscocok dengan workingmemoryMemasukkan semua informasiyang diketahui user ke dalamworking memoryMemeriksa rulepertama yang belumpernah dijalankanMenambahkankonklusi keworkingmemoryTMasih adarule lagiFMemeriksa ruleberikutnya yang belumpernah dijalankanTFSTOP

5 Contoh rule:RULE 1IF pasien merasa tenggorokannya sakitAND pasien diduga terinfeksi bakteriTHEN pasien terkena radang tenggorokanRULE 2IF suhu pasien > 100THEN pasien terkena demamRULE 3IF lama pasien sakit > 1 bulanAND pasien terkena demamTHEN pasien diduga terinfeksi bakteriContoh kumpulan fakta dari user:Suhu pasien = 102Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitForward chainning berangkat dari FAKTA.Inference menurut Forward Chaining:Siklus 1 WORKING MEMORYRule 1 Premis 1 Suhu pasien = 102Pasien merasa tenggorokannya sakit Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitRule 1 Premis 2 Suhu pasien = 102Pasien diduga terinfeksi bakteri Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitRule 2 Premis 1 Suhu pasien = 102Suhu pasien > 100 Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitTrueUnknownTrue

6 Rule 2 dijalankan Suhu pasien = 102Pasien terkena demam Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien terkena demamSiklus 2Rule 1 Premis 1 Suhu pasien = 102Pasien merasa tenggorokannya sakit Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien terkena demamRule 1 Premis 2 Suhu pasien = 102Pasien diduga terinfeksi bakteri Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien terkena demamRule 2: sudah dijalankanRule 3 Premis 1 Suhu pasien = 102Lama pasien sakit > 1 bulan Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien terkena demamRule 3 Premis 2 Suhu pasien = 102Pasien terkena demam Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien terkena demamRule 3 dijalankan Suhu pasien = 102Pasien diduga terinfeksi bakteri Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien terkena demamPasien diduga terinfeksi bakteriSiklus 3Rule 1 Premis 1 Suhu pasien = 102Pasien merasa tenggorokannya sakit Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitTrueUnknownTrueTrueTrue

7 Pasien terkena demamPasien diduga terinfeksi bakteriRule 1 Premis 2 Suhu pasien = 102Pasien diduga terinfeksi bakteri Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien

terkena demamPasien diduga terinfeksi bakteriRule 1 dijalankan Suhu pasien = 102Pasien terkena radang tenggorokan Lama pasien sakit = 2 bulanPasien merasa tenggorokannya sakitPasien terkena demamPasien diduga terinfeksi bakteriPasien terkena radang tenggorokanSiklus 4Semua rule telah dijalankan -> STOP Conflict Resolution pada F orward Chaining Sumber: Durkin, halaman 102, 104-106Contoh rule:RULE 1IF The Steelers main hari iniAND saya mempunyai uang $20THEN saya seharusnya pergi ke stadionRULE 2IF film favorit saya main hari iniAND saya mempunyai uang $20THEN saya seharusnya pergi ke bioskopAndaikata semua premis kedua rule ini benar, maka dengan Forward Chainingkonvensional, kedua rule akan dijalankan dan konklusinya menjadi: saya seharusnyapergi ke stadion dan ke bioskop. Di sini terjadi konflik antara dua rekomendasi.True

Strategi sederhana mengatasi konflik:1.

Menetapkan sebuah goal.2.

Menghentikan chaining jika goal telah diperoleh.Berdasarkan contoh sebelumnya:Goal: saya seharusnya pergi ke mana?Setelah rule 1 dijalankan dan menghasilkan konklusi: ke stadion,maka sistem dihentikan, dan rekomendasi yang dihasilkan adalah ke stadion.Kelemahan yang terjadi: jawaban bisa tidak mengenai sasaran sebenarnya.Cara mengatasinya: memberikan prioritas kepada setiap rule.Mula-mula mencari semua rule yang belum pernah dijalankan dan yang semuapremisnya terpenuhi, dan menjalankan rule yang prioritasnya tertinggi.Prioritas tertinggi dapat diganti dengan:-

Yang paling spesifik.-

Yang mengacu fakta yang barusan ditambahkan ke working memory. B ackward Chaining

Sumber: Durkin, halaman 106-109Contoh rule:RULE 1IF pasien merasa tenggorokannya sakitAND pasien diduga terinfeksi bakteriTHEN pasien terkena radang tenggorokanRULE 2IF suhu pasien > 100THEN pasien terkena demamRULE 3IF lama pasien sakit > 1 bulanAND pasien terkena demamTHEN pasien diduga terinfeksi bakteriBackward chainning berangkat dari GOAL.Goal: apakah pasien terkena infeksi tenggorokan?

9 Inference menurut Backward Chaining:Step 1Goal: pasien terkena infeksi tenggorokan? -> belum diketahuiStep 2Cari rule dengan konklusi Pasien terkena infeksi tenggorokan -> Rule 1RULE 1IF pasien merasa tenggorokannya sakitAND pasien diduga terinfeksi bakteriTHEN pasien terkena radang tenggorokanStep 3Premis 1 Rule 1: pasien merasa tenggorokannya sakit? -> belum diketahuiStep 4Cari rule dengan konklusi Pasien merasa tenggorokannya sakit?-> tidak ditemukanStep 5Menanyakan Pasien merasa tenggorokannya sakit?Q: Apakah pasien merasa tenggorokannya sakit?A: TrueStep 6Kembali ke Step 2 (Rule 1)Premis 2 Rule 1: pasien diduga terinfeksi bakteri? -> belum diketahuiStep 7Cari rule dengan konklusi Pasien diduga terinfeksi bakteri? -> Rule 3RULE 3IF lama pasien sakit > 1 bulanAND pasien terkena demamTHEN pasien diduga terinfeksi bakteriStep 8 Premis 1 Rule 3: lama pasien sakit > 1 bulan? -> belum diketahuiStep 9Cari rule dengan konklusi Lama pasien sakit > 1 bulan? -> tidak ditemukanStep 10Menanyakan Lama pasien sakit > 1 bulan?Q: Berapa lama pasien sakit?A: 2 bulanWORKING MEMORYPasien merasa tenggorokannya sakitWORKING MEMORYPasien merasa tenggorokannya sakitLama pasien sakit > 1 bulan

10 Step 11Kembali ke Step 7 (Rule 3)Premis 2 Rule 3: pasien terkena demam? -> belum diketahuiStep 12Cari rule dengan konklusi Pasien terkena demam? -> Rule 2RULE 2IF suhu pasien > 100THEN pasien terkena demamStep 13Premis 1 Rule 2: suhu pasien > 100? -> belum diketahuiStep 14Cari rule dengan konklusiSuhu pasien > 100? -> tidak ditemukanStep 15Menanyakan Suhu pasien > 100?Q: Berapa suhu pasien?A: 102Step 16Kembali ke Step 12 (Rule 2)Rule 2 dijalankanKonklusi: Pasien terkena demamStep 17Kembali ke Step 7 (Rule 3)Rule 3 dijalankanKonklusi: Pasien diduga terinfeksi bakteriStep 1 8 Kembali ke Step 2 (Rule 1)Rule 1 dijalankanKonklusi: Pasien terkena radangtenggorokanStep 19Goal telah diketahui -> TrueWORKING MEMORYPasien merasa tenggorokannya sakitLama pasien sakit > 1 bulanSuhu pasien > 100WORKING MEMORYPasien merasa tenggorokannya sakitLama pasien sakit > 1 bulanSuhu pasien > 100Pasien terkena demamWORKING MEMORYPasien merasa tenggorokannya sakitLama pasien sakit > 1 bulanSuhu pasien > 100Pasien terkena demamPasien diduga terinfeksi bakteriWORKING MEMORYPasien merasa tenggorokannya sakitLama pasien sakit > 1 bulanSuhu

pasien > 100Pasien terkena demamPasien diduga terinfeksi bakteriPasien terkena radang tenggorokan

11 F orward Chaining dan B ackward Chaining Sumber: Durkin, halaman 112-116

Keunggulan Forward Chaining:-

Bekerja baik apabila masalah alaminya berawal dengan mengumpulkan semuafakta dan selanjutnya mengamati apa saja yang dapat ditarik daripadanya.-

Dapat menyediakan sejumlah informasi dari sekumpulan kecil data.Kelemahan Forward Chaining:-

Sistem harus menanyakan semua pertanyaan, padahal mungkin saja hanya butuhsedikit pertanyaan untuk tiba pada konklusi akhir.-

Pertanyaan-pertanyaan yang diajukan bisa saja tidak ada hubungannya.Contoh:Q: Apakah suhu anda tinggi?Q: Apakah anda baru-baru ini mengunjungi Inggris?Keunggulan Backward Chaining:-

Bekerja baik apabila masalah alaminya berawal dengan membentuk sebuahhipotesis dan selanjutnya mengamati apakah dapat dibuktikan.-

Berfokus pada goal yang diberikan.-

Pertanyaan-pertanyaan yang diajukan hanya yang berhubungan dengan konklusi.Cara menentukan apakah menggunakan Forward Chaining atau Backward Chaining:-

Bagaimana cara pakar menyelesaikan permasalahan?Apabila mula-mula mengumpulkan data lalu mencari kesimpulan daripadanya ->FORWARDApabila mula-mula membentuk hipotesis dan lalu membuktikannya ->BACKWARD-

Memperhatikan search spaceApabila jumlah fakta lebih banyak dari jumlah konklusi -> BACKWARDApabila jumlah konklusi lebih banyak dari jumlah fakta -> FORWARDKombinasi Forward Chaining dan Backward Chaining:-

Separate systemsPerancang sistem pakar membagi masalah menjadi subtask.Menentukan subtask yang harus dikerjakan -> FORWARDMenyelesaikan masalah dalam sebuah subtask -> BACKWARD

12 Contoh:Diagnosa penyakit:Semua fakta awal diambil untuk menentukan hipotesis -> FORWARDDiagnosa penyakit untuk membuktikan hipotesis -> BACKWARD-

Demon ruleAda sejumlah demon rule.Sebuah demon rule terdiri atas sejumlah rule.Penyelesaian dalam sebuah demon rule -> BACKWARDSebuah demon rule mempengaruhi demon rule yang lain -> FORWARDContoh demon rule:DEMON 1 Masalah tekanan tangkiIF sumber daya matiAND tekanan tangki > 1000THEN problem = masalah tekanan tangkiDEMON 2 Situasi daruratIF problem = masalah tekanan tangkiTHEN situasi = daruratDEMON 3 EvakuasiIF situasi = daruratTHEN respon = evakuasi personel Pengembangan Sistem Pakar B erbasis Rule Sumber: Dologite, halaman 17-33Tahap 1: isolasi areaTahap 2: membuat diagram blok situasi pengambilan keputusanTahap 3: membuat diagram ketergantunganTahap 4: membuat tabel keputusanTahap 5: membuat rule setTahap 6: membuat daftar pertanyaanTahap 7: menuliskan rule set dan daftar pertanyaan sebagai scriptTahap 8 : melakukan percobaan konsultasi

13

Contoh: Sistem Pakar layanan HMO (Health Maintenance Organization)Tahap 1: isolasi areaHMOPermohonan Pendaftaran ManajemenAnggota Anggota Fasilitas...... ...... Fungsi FungsiLayanan AdministrasiArea yang mau dibuat KBS-nya adalah Fungsi Layanan HMO.Layanan HMOKasus Kasus Informasi/ BukanBaru Lanjutan Lainnya AnggotaKasus Kasus Kasus Layanan LayananBaru: Baru/Lanjutan: Lanjutan: Informasi/ BukanTidak Serius Tidak Lainnya AnggotaSerius (Layanan Serius(Layanan Level 1) (LayananLevel 2) Level 3)Tahap 2: membuat diagram blok situasi pengambilan keputusanAnggota Kartu Anggota Suhu GejalaStatus HMO Alasan MasalahLevel Layanan

14 Tahap 3: membuat diagram ketergantungan?anggota(ya, tidak)?id_valid(ya, tidak)?alasan layanan(kasus_baru, kasus_lanjutan, informasi_lainnya) level_1level_2?temperatur level_3(normal, abnormal, tidak_tahu) informasi_lainnyabukan_anggota?gejala_lain(ada, tidak_ada)Tahap 4: membuat tabel keputusanTahap 5: membuat rule setlayanan (level_1, level_2, level_3, informasi_lainnya, bukan_anggota)Rule status_anggota Alasan masalah layanan1 ok kasus_baru serius level_12 ok kasus_baru tidak_serius level_23 ok kasus_lanjutan serius level_14 ok kasus_lanjutan tidak_serius level_35 ok informasi_lainnya serius informasi_lainnya6 ok informasi_lainnya tidak_serius informasi_lainnya7 tidak_ok kasus_baru serius bukan_anggota 8 tidak_ok kasus_baru tidak_serius bukan_anggota9 tidak_ok kasus_lanjutan serius bukan_anggota10 tidak_ok kasus_lanjutan tidak_serius bukan_anggota11 tidak_ok informasi_lainnya serius bukan_anggota12 tidak_ok informasi_lainnya tidak_serius bukan_anggotastatus_anggotaoktidak_okmasalahseriustidak_serius

15 direduksi menjadi:Rule status_anggota Alasan masalah layanan1 ok kasus_baru serius level_12 ok kasus_baru tidak_serius level_23 ok kasus_lanjutan serius level_14 ok kasus_lanjutan tidak_serius level_35-6 ok informasi_lainnya x informasi_lainnya7-12 tidak_ok X x bukan_anggotaRule set untuk layanan:Perhatian: penulisan rule di sini mengikuti acuan VP ExpertDi VP Expert: OR lebih kuat daripada AND (hirarki ini tidak standar)RULE 1IF status_anggota = okAND alasan = kasus_baru OR alasan = kasus_lanjutanAND masalah = seriusTHEN layanan = level_1;RULE 2IF status_anggota = okAND alasan = kasus_baruAND masalah = tidak_seriusTHEN layanan = level_2;RULE 3IF status_anggota = okAND alasan = kasus_lanjutanAND masalah = tidak_seriusTHEN layanan = level_3;RULE 4IF status_anggota = okAND alasan = informasi_lainnyaTHEN layanan = informasi_lainnya;RULE 5IF status_anggota = tidak_okTHEN layanan = bukan_anggota;

16

status_anggota (ok, tidak_ok)Rule anggota id_valid status_anggota1 ya ya Ok2 ya tidak not_ok3 tidak ya not_ok4 tidak tidak not_okdireduksi menjadi:Rule anggota id_valid status_anggota1 ya ya Ok2 ya tidak tidak_ok3-4 tidak x tidak_okRule set untuk status_anggota:RULE 6IF anggota = yaAND id_valid = yaTHEN status_anggota = ok;RULE 7IF anggota = yaAND id_valid = tidakTHEN status_anggota = tidak_ok;RULE 8 IF anggota = tidakTHEN status_anggota = tidak_ok;masalah (serius, tidak_serius)Rule suhu gejala_lain masalah1 normal Ada serius2 normal tidak_ada tidak_serius3 abnormal Ada serius4 Abnormal tidak_ada serius5 tidak_tahu Ada serius6 tidak_tahu tidak_ada serius

17 direduksi menjadi:Rule Suhu gejala_lain masalah1 Normal Ada serius2 Normal tidak_ada tidak_serius3-4 Abnormal X serius5-6 tidak_tahu X seriusRule set untuk masalah:RULE 9IF suhu = normalAND gejala_lain = adaTHEN masalah = serius;RULE 10IF suhu = normalAND gejala_lain = tidak_adaTHEN masalah = tidak_serius;RULE 11IF suhu = abnormal OR suhu = tidak_tahuTHEN masalah = serius;Tahap 6: membuat daftar pertanyaanASK anggota: Apakah anda adalah anggota HMO? ;CHOICES anggota: ya, tidak;ASK id_valid: Apakah kartu anggota anda masih berlaku? ;CHOICES id_valid: ya, tidak;ASK alasan: Alasan apa anda mendatangi fasilitas HMO? ;CHOICES alasan: kasus_baru, kasus_lanjutan, informasi_lainnya;ASK suhu: Bagaimana suhu tubuh anda? ;CHOICES suhu: normal, abnormal, tidak_tahu;ASK gejala_lain: Adakah gejala lain yang anda rasakan? ;CHOICES gejala_lain: ada, tidak_ada;

1 8

Struktur K B S pada VP Expert Sumber: Dologite, halaman 33-35Dibagi menjadi 3 blok:-

Blok ACTIONS: adalah blok yang pertama kali dijalankan oleh VP Expert-

Blok RULES: berisikan rule set-

Blok QUESTIONS: berisikan daftar pertanyaanContoh blok ACTIONS:ACTIONSDISPLAY Selamat datang di Layanan HMO ;FIND layanan;DISPLAY Rekomendasi layanan: {layanan} ;Keyword FIND berfungsi untuk menjalankan Backward Chaining dalam upayamencari layanan sebagai goal. B ackward Chaining dengan PROLOG Sumber: http://www.amzi.com/ExpertSystemsInProlog/http://en.wikipedia.org/wiki/PrologPROLOG (Programming in Logic atau Pemrograman Logika) merupakan bahasapemrograman deklaratif yang seringkali dikaitkan dengan kecerdasan buatan.Struktur program PROLOG paling dasar terdiri atas:-

Bagian predicates-

Bagian clausesContoh program PROLOG sederhana:predicatesmother_child(symbol, symbol)father_child(symbol, symbol)sibling(symbol, symbol)parent_child(symbol, symbol)clausesmother_child(trude, sally).father_child(tom, sally).

19 father_child(tom, erica).father_child(mike, tom).sibling(X, Y) :- parent_child(Z, X), parent_child(Z, Y).parent_child(X, Y) :- father_child(X, Y).parent_child(X, Y) :- mother_child(X, Y).Goal pada PROLOG ada dua macam:-

External goal: ditanyakan oleh PROLOG engine apabila tidak ditemukan bagiangoal pada source code.-

Internal goal: ditulis pada bagian goal.Contoh goal:sibling(sally, erica)PROLOG engine akan menjawab: YesContoh goal yang lain:father_child(Father, Child)PROLOG engine akan mengenumerasi semua jawaban yang valid menggunakanalgoritma backtracking.Kerja PROLOG engine mirip dengan kerja Backward Chaining, sehingga BackwardChaining sangat mudah diimplementasikan dengan PROLOG.Contoh sistem pakar HMO dengan PROLOG:domainslist = symbol*databaseknown(symbol, symbol)predicatesactionslayanan(symbol)status_anggota(symbol)masalah(symbol)anggota(symbol)i d_valid(symbol)

20 alasan(symbol)suhu(symbol)gejala_lain(symbol)ask(string, symbol, symbol, list)check_value(string, symbol, symbol, symbol, list)member(symbol, list)clausesactions :- retractall(known(_, _)),write( Selamat datang di Layanan HMO ), nl,layanan(X),write( Rekomendasi layanan: , X).layanan(level_1) :- status_anggota(ok),alasan(kasus_baru),masalah(serius).layanan(level_1) :status_anggota(ok),alasan(kasus_lanjutan),masalah(serius).layanan(level_2) :status_anggota(ok),alasan(kasus_baru),masalah(tidak_serius).layanan(level_3) :status_anggota(ok),alasan(kasus_lanjutan),masalah(tidak_serius).layanan(informasi_lain) :status_anggota(ok),alasan(informasi_lainnya).layanan(bukan_anggota) :status_anggota(tidak_ok).status_anggota(ok) :- anggota(ya),id_valid(ya).status_anggota(tidak_ok) :anggota(ya),id_valid(tidak).status_anggota(tidak_ok) :- anggota(tidak).

21 masalah(serius) :- suhu(normal),gejala_lain(ada).masalah(tidak_serius) :suhu(normal),gejala_lain(tidak_ada).masalah(serius) :- suhu(abnormal).masalah(serius) :suhu(tidak_tahu).anggota(X) :- ask( Apakah anda adalah anggota HMO ,anggota, X, [ya, tidak]).id_valid(X) :- ask( Apakah kartu anggota anda masih berlaku ,id_valid, X, [ya, tidak]).alasan(X) :- ask( Alasan apa anda mendatangi fasilitas HMO ,alasan, X,[kasus_baru, kasus_lanjutan, informasi_lainnya]).suhu(X) :- ask( Bagaimana suhu tubuh anda ,suhu, X, [normal, abnormal, tidak_tahu]).gejala_lain(X) :- ask( Adakah gejala lain yang anda rasakan ,gejala_lain, X, [ada, tidak_ada]).ask(_, A, V, _) :- known(A, V), !.ask(_, A, _, _) :- known(A, _), !, fail.ask(Q, A, V, L) :- write(Q, ? , L, : ),readln(X),check_value(Q, X, A, V, L),asserta(known(A, X)),X = V.check_value(_, X, _, _, L) :- member(X, L), !.check_value(Q, _, A, V, L) :- write( Salah input. Ulangi lagi. ), nl, !,ask(Q, A, V, L).member(X, [X|_]) :- !.member(X, [_|T]) :- member(X, T).

22 goalactions Reduksi Rule Set Menggunakan Metode Induksi Sumber: http://www.cise.ufl.edu/~ddd/cap6635/Fall-97/Short-papers/2.htm

Durkin, halaman 4 8 7-517Rule Set sebenarnya dapat dibangkitkan langsung dari sebuah tabel keputusan.Tetapi hal ini menyebabkan jumlah rule menjadi terlalu banyak. Karena itu, harusdireduksi. Salah satu cara mereduksinya adalah dengan menggunakan metodeinduksi.Induksi adalah proses reasoning dari sekumpulan fakta untuk menghasilkansejumlah prinsip atau rule umum.Salah satu metode induksi

yang sangat mudah dipelajari adalah algoritma ID3(Iterative Dichotomiser 3), yang ditemukan oleh J. Ross Quinlan tahun 1975.ID3 sebenarnya dikembangkan dari algoritma CLS (Concept Learning System) yangditemukan oleh Hunt tahun 1966.Output ID3 adalah pohon keputusan (decision tree), yang selanjutnya dapatditerjemahkan menjadi rule set.Mula-mula ID3 mencari sebuah atribut yang menjadi root. Untuk menentukanatribut yang paling cocok, diperlukan Information Gain, diambil dari yangmempunyai Gain paling tinggi.Gain mengukur seberapa bagusnya sebuah atribut yang diberikan mampumemisahkan training set menjadi kelas-kelas target.Untuk menghitung Gain, dibutuhkan Entropy. Entropy mengukur banyaknyainformasi yang dikandung dalam sebuah atribut.Entropy(S) = 7 I -p( I ) log2 p( I )dimana:p( I ) adalah proporsi S mengacu ke kelas I .Log2 adalah logaritma basis 2.

23 Gain(S, A) = Entropy(S) 7 v (( |S v | / |S| ) * Entropy(S v ))dimana:S v

= himpunan bagian dari S yang mana atribut A bernilai v.|S v | = jumlah elemen dalam S v .|S| = jumlah elemen dalam S.Contoh:Himpunan S adalah seperti berikut:status_anggota Alasan masalah layananOk kasus_baru serius level_1Ok kasus_baru tidak_serius level_2Ok kasus_lanjutan serius level_1Ok kasus_lanjutan tidak_serius level_3Ok informasi_lainnya serius informasi_lainnyaOk informasi_lainnya tidak_serius informasi_lainnyatidak_ok kasus_baru serius bukan_anggotatidak_ok kasus_baru tidak_serius bukan_anggotatidak_ok kasus_lanjutan serius bukan_anggotatidak_ok kasus_lanjutan tidak_serius bukan_anggotatidak_ok informasi_lainnya serius bukan_anggotatidak_ok informasi_lainnya tidak_serius bukan_anggotaAda 5 kelas dalam S, yaitu level_1, level_2, level_3, informasi_lainnya, danbukan_anggota.Entropy(S)= - (2/12) log2 (2/12) (1/12) log2 (1/12) - (1/12) log2 (1/12)- (2/12) log2 (2/12) - (6/12) log2 (6/12)= 0,430 8 270 8 4 + 0,29 8 746 8 75 + 0,29 8 746 8 75 + 0,430 8 270 8 4 + 0,5 = 1,959147917Ada 3 atribut dalam S, yaitu status_anggota, alasan, dan masalah.Ada 2 variasi nilai dalam status_anggota yaitu ok dan tidak_ok.Entropy(S ok

)= - (2/6) log2 (2/6) - (1/6) log2 (1/6) - (1/6) log2 (1/6) - (2/6) log2 (2/6)= 0,52 8 320 8 34 + 0,430 8 270 8 4 + 0,430 8 270 8 4 + 0,52 8 320 8 34 = 1,91 8 295 8 34Entropy(S tidak_ok )= - (6/6) log2 (6/6) = 0

24 Gain(S, status_anggota)= Entropy(S) - (6/12) * Entropy(S ok

) - (6/12) * Entropy(S tidak_ok )= 1,959147917 - (6/12) * 1,91 8 295 8 34 - (6/12) * 0= 1,959147917 - 0,959147917 = 1Ada 3 variasi nilai dalam alasan yaitu kasus_baru, kasus_lanjutan, daninformasi_lainnya.Entropy(S kasus_baru )= - (1/4) log2 (1/4) - (1/4) log2 (1/4) - (2/4) log2 (2/4)= 0,5 + 0,5 + 0,5 = 1,5Entropy(S kasus_lanjutan )= - (1/4) log2 (1/4) - (1/4) log2 (1/4) - (2/4) log2 (2/4)= 0,5 + 0,5 + 0,5 = 1,5Entropy(S informasi_lainnya )= - (2/4) log2 (2/4) - (2/4) log2 (2/4)= 0,5 + 0,5 = 1Gain(S, alasan)= Entropy(S) - (4/12) * Entropy(S kasus_baru ) - (4/12) * Entropy(S kasus_lanjutan )- (4/12) * Entropy(S informasi_lainnya )= 1,959147917 - (4/12) * 1,5 - (4/12) * 1,5 - (4/12) * 1= 1,959147917 - 0,5 - 0,5 - 0,333333333 = 0,625 8 145 8 4Ada 2 variasi nilai dalam masalah yaitu serius dan tidak_serius.Entropy(S serius )= - (2/6) log2 (2/6) - (1/6) log2 (1/6) - (3/6) log2 (3/6)= 0,52 8

320 8 34 + 0,430 8 270 8 4 + 0,5 = 1,459147917Entropy(S tidak_serius )= - (1/6) log2 (1/6) - (1/6) log2 (1/6) - (1/6) log2 (1/6) - (3/6) log2 (3/6)= 0,430 8 270 8 4 + 0,430 8 270 8 4 + 0,430 8 270 8 4 + 0,5 = 1,7924 8 1251Gain(S, masalah)= Entropy(S) - (6/12) * Entropy(S serius ) - (6/12) * Entropy(S tidak_serius )= 1,959147917 - (6/12) * 1,459147917 - (6/12) * 1,7924

8 1251= 1,959147917 - 0,72957395 8 - 0, 8 96240626 = 0,333333333Berarti atribut yang diambil terlebih dahulu adalah status_anggota.

25 status_anggotaok tidak_okHimpunan S ok adalah seperti berikut:alasan masalah layanankasus_baru serius level_1kasus_baru tidak_serius level_2kasus_lanjutan serius level_1kasus_lanjutan tidak_serius level_3informasi_lainnya serius informasi_lainnyainformasi_lainnya tidak_serius informasi_lainnyaAda 4 kelas dalam S ok , yaitu level_1, level_2, level_3, dan informasi_lainnya.Entropy(S ok )= - (2/6) log2 (2/6) - (1/6) log2 (1/6) - (1/6) log2 (1/6) - (2/6) log2 (2/6)= 0,52 8 320 8 34 + 0,430 8 270 8 4 + 0,430 8 270 8

4 + 0,52 8 320 8 34 = 1,91 8 295 8 34Ada 2 atribut dalam S ok , yaitu alasan dan masalah.Ada 3 variasi nilai dalam alasan yaitu kasus_baru, kasus_lanjutan, daninformasi_lainnya.Entropy(S ok,kasus_baru )= - (1/2) log2 (1/2) - (1/2) log2 (1/2)= 0,5 + 0,5 = 1Entropy(S ok,kasus_lanjutan )= - (1/2) log2 (1/2) - (1/2) log2 (1/2)= 0,5 + 0,5 = 1Entropy(S ok,informasi_lainnya )= - (2/2) log2 (2/2) = 0Gain(S ok , alasan)= Entropy(S ok ) - (2/6) * Entropy(S ok,kasus_baru ) - (2/6) * Entropy(S ok,kasus_lanjutan )- (2/6) * Entropy(S ok,informasi_lainnya )= 1,91

8 295 8 34 - (2/6) * 1 - (2/6) * 1 - (2/6) * 0= 1,91 8 295 8 34 - 0,333333333 - 0,333333333 8 0 = 1,25162916

26 Ada 2 variasi nilai dalam masalah yaitu serius dan tidak_serius.Entropy(S ok,serius )= - (2/3) log2 (2/3) - (1/3) log2 (1/3)= 0,3 8 9975001 + 0,52 8 320 8 34 = 0,91 8 295 8 34Entropy(S ok,tidak_serius )= - (1/3) log2 (1/3) - (1/3) log2 (1/3) - (1/3) log2 (1/3)= 0,52

8 320 8 34 + 0,52 8 320 8 34 + 0,52 8 320 8 34 = 1,5 8 4962501Gain(S ok , masalah)= Entropy(S ok ) - (3/6) * Entropy(S ok,serius ) - (3/6) * Entropy(S ok,tidak_serius )= 1,25162916 8 - (3/6) * 0,91 8 295 8

34 - (3/6) * 1,5 8 4962501= 1,25162916 8 - 0,459147917 - 0,7924 8 1250 = 0,000000001Berarti atribut selanjutnya yang diambil adalah alasan.status_anggotaok tidak_okalasankasus_baru kasus_lanjutan informasi_lainnyaHimpunan S tidak_ok adalah seperti berikut:alasan masalah layanankasus_baru serius bukan_anggotakasus_baru tidak_serius bukan_anggotakasus_lanjutan serius bukan_anggotakasus_lanjutan tidak_serius bukan_anggotainformasi_lainnya serius bukan_anggotainformasi_lainnya tidak_serius bukan_anggotaCuma ada 1 kelas, yaitu bukan_anggota -> tidak diproses.status_anggotaok tidak_okalasan bukan_anggotakasus_baru kasus_lanjutan informasi_lainnya

27 dan seterusnya... hingga menghasilkan pohon keputusan seperti berikut:status_anggotaok tidak_okalasan bukan_anggotakasus_baru kasus_lanjutan informasi_lainnyamasalah masalah informasi_lainnyaserius tidak_serius serius tidak_seriuslevel_1 level_2 level_1 level_3Rule set dibangkitkan dengan melakukan traversal terhadap pohon keputusan ini,dan menghasilkan:RULE 1IF status_anggota = okAND alasan = kasus_baruAND masalah = seriusTHEN layanan = level_1;RULE 2IF status_anggota = okAND alasan = kasus_baruAND masalah = tidak_seriusTHEN layanan = level_2;RULE 3IF status_anggota = okAND alasan = kasus_lanjutanAND masalah = seriusTHEN layanan = level_1;RULE 4IF status_anggota = okAND alasan = kasus_lanjutanAND masalah = tidak_seriusTHEN layanan = level_3;

2 8

RULE 5IF status_anggota = okAND alasan = informasi_lainnyaTHEN layanan = informasi_lainnya;RULE 6IF status_anggota = tidak_okTHEN layanan = bukan_anggota; Certainty Sumber: Durkin, halaman 332-353Dologite, halaman

8 58 9Teori certainty adalah alternatif populer menggunakan teori probabilitas untukinexact reasoning dalam sebuah sistem pakar.Teori certainty membicarakan tentang ketidakpastian. Ketidakpastian diwakilidengan frase seperti probably , it is likely that... , it almost seems certain that... .Dalam teori certainty, ada dua macam ketidakpastian (uncertain): y

kejadian yang tidak pasti (uncertain evidence) y

rule yang tidak pasti (uncertain rule)Besarnya ketidakpastian ini dinyatakan dalam sebuah konstanta, yang dikenalsebagai CF (Certainty Factor). Dalam buku Dologite, menggunakan istilah CNF(Confidence Factor).Nilai CF berada dalam rentang -1 (definitely false) sampai +1 (definitely true).Tetapi dalam buku Dologite, rentang nilai CF disederhanakan menjadi mulai 0 (noconfidence) sampai 100 (definitely confidence).Nilai CF yang ada dalam rentang -1 sampai 1 dapat dinyatakan dalam frase sesuaitabel 12.2 halaman 344 buku Durkin:CF = -1.0 => definitely notCF = -0. 8 => almost certainly notCF = -0.6 => probably notCF = -0.4 => maybe not

29 CF = -0.2 sampai 0.2 => unknownCF = 0.4 => maybeCF = 0.6 => probablyCF = 0. 8 => almost certainlyCF = 1.0 => definitelyContoh rule yang tidak pasti:IF the stain of the organism is gram positiveAND the morphology of the organism is coccusAND the growth conformation of the organism is chainsTHEN there is suggestive evidence that the identity of the organism is streptococcusCF = 0.7Contoh dari buku Dologite (halaman 8 7):IF suhu = normalAND gejala_lain = adaTHEN masalah = serius CNF =

8 0;Contoh kejadian yang tidak pasti, menurut buku Dologite (halaman 88 gambar 4-21):suhu = normal CNF 90gejala_lain = ada CNF 75Karena adanya uncertain evidence dan uncertain rule, menimbulkan yang namanyauncertain inference (penarikan kesimpulan yang tidak pasti).Berarti kita harus menghitung berapa besarnya ketidakpastian konklusi yangdihasilkan.Rumus menghitung ketidakpastian sebuah konklusi dari sebuah rule dengan sebuahpremis:CF(H, E) = CF(E) * CF(RULE)Contoh:IF ada awan hitamTHEN akan turun hujan CF = 0. 8 Diketahui: kejadian ada awan hitam dengan CF = 0.5maka nilai certainty untuk konklusi akan turun hujan adalah:CF(akan turun hujan) = CF(ada awan hitam) * CF(RULE) = 0.5 * 0. 8 = 0.4

30 sehingga konklusi akan turun hujan dapat diwakili dengan frase maybe turunhujan.Rumus menghitung ketidakpastian sebuah konklusi dari sebuah rule dengansejumlah premis yang dihubungkan dengan logika AND (conjunctive rule):CF(H, E 1 AND E 2 AND ...) = min(CF(E i )) * CF(RULE)Contoh:IF langit gelapAND angin bertiup kencangTHEN akan turun hujan CF = 0. 8 Diketahui: kejadian langit gelap dengan CF = 1.0 dan angin bertiup kencang denganCF = 0.7, maka nilai certainty untuk konklusi akan turun hujan adalah:CF(akan turun hujan) = min(CF(langit gelap), CF(angin bertiup kencang)) * CF(RULE)= min(1.0, 0.7) * 0. 8 = 0.56Rumus menghitung ketidakpastian sebuah konklusi dari sebuah rule dengansejumlah premis yang dihubungkan dengan logika OR (disjunctive rule):CF(H, E

1 OR E 2 OR ...) = max(CF(E i )) * CF(RULE)Contoh:IF langit gelapOR angin bertiup kencangTHEN akan turun hujan CF = 0.9Diketahui: kejadian langit gelap dengan CF = 1.0 dan angin bertiup kencang denganCF = 0.7, maka nilai certainty untuk konklusi akan turun hujan adalah:CF(akan turun hujan) = max(CF(langit gelap), CF(angin bertiup kencang)) * CF(RULE)= max(1.0, 0.7) * 0.9 = 0.9Hati-hati: VP Expert tidak menerapkan rumus ini terkait disjunctive rule.Rumus menghitung ketidakpastian sebuah konklusi yang didapatkan dari dua buahrule:CF COMBINE (CF 1 , CF 2 ) = CF 1 + CF 2 * (1 - CF 1 ); jika semuanya > 0CF COMBINE (CF 1 , CF 2 ) = (CF

1 + CF 2 ) / (1 - min(|CF 1 |, |CF 2 |)); jika salah satu < 0CF COMBINE (CF 1 , CF 2 ) = CF 1 + CF 2 * (1 + CF 1 ); jika semuanya < 0

31 Contoh:IF ahli cuaca mengatakan akan hujanTHEN akan turun hujan CF = 0. 8 IF petani mengatakan akan hujanTHEN akan turun hujan CF = 0. 8 Diketahui: kejadian ahli cuaca mengatakan akan hujan dengan CF = 0.6, dan petanimengatakan akan turun hujan dengan CF = 0.5; maka certainty untuk konklusi akanturun hujan adalah:CF

1 (akan turun hujan) = CF(ahli cuaca mengatakan akan hujan) * CF(RULE 1 )= 0.6 * 0. 8 = 0.4 8 CF 2 (akan turun hujan) = CF(petani mengatakan akan hujan) * CF(RULE 2 )= 0.5 * 0. 8 = 0.4CF COMBINE (akan turun hujan) = CF 1 + CF 2 * (1 - CF 1 ) = 0.4 8 + 0.4 * (1 8 ) = 0.6 88 0.4

Contoh lengkap:RULE 1IF cuaca terlihat burukAND saya malas bermain bolaTHEN saya seharusnya tidak ke lapangan bola CF = 0.9RULE 2IF saya percaya akan hujanTHEN cuaca terlihat buruk CF = 0. 8 RULE 3IF saya percaya akan hujanAND ahli cuaca mengatakan akan hujanTHEN saya malas bermain bola CF = 0.9RULE 4IF ahli cuaca mengatakan akan hujanTHEN cuaca terlihat buruk CF = 0.7RULE 5IF cuaca terlihat burukTHEN saya malas bermain bola CF = 0.95Backward chaining dilakukan dengan goal saya seharusnya tidak ke lapangan bola .

32 STEP 1Rule dengan konklusi saya seharusnya tidak ke lapangan bola => RULE 1Premis pertama: cuaca terlihat burukSTEP 2Rule dengan konklusi cuaca terlihat buruk => RULE 2 dan RULE 4Ke RULE 2 dulu (sebuah premis)Premis: saya percaya akan hujanSTEP 3Rule dengan konklusi saya percaya akan hujan => tidak adaUser ditanyai saya percaya akan hujan => dijawab: ya dengan CF = 0.95Berarti: CF(saya percaya akan hujan) = 0.95STEP 4Kembali ke RULE 2Menghitung CF(cuaca terlihat buruk) => rumus rule dengan sebuah premisCF(cuaca terlihat buruk) = CF(saya percaya akan hujan) * CF(RULE

2)= 0.95 * 0. 8 = 0.76STEP 5Rule dengan konklusi cuaca terlihat buruk => masih ada RULE 4Ke RULE 4 (sebuah premis)Premis: ahli cuaca mengatakan akan hujanSTEP 6Rule dengan konklusi ahli cuaca mengatakan akan hujan => tidak adaUser ditanyai ahli cuaca mengatakan akan hujan => dijawab: tidak denganCF = 0. 8 5Berarti: CF(ahli cuaca mengatakan akan hujan) = -0. 8 5STEP 7Kembali ke RULE 4Menghitung CF(cuaca terlihat buruk) => rumus rule dengan sebuah premis:CF(cuaca terlihat buruk) = CF(ahli cuaca mengatakan akan hujan) * CF(RULE 4)= -0. 8 5 * 0.7 = -0.595STEP 8 Rule dengan konklusi COMBINE cuaca terlihat buruk => RULE 2 dan RULE 4Menghitung CF

(cuaca terlihat buruk) => kasus 2: salah satu < 0CF COMBINE (cuaca terlihat buruk) = (CF 1 + CF 2 ) / (1 - min(|CF 1 |, |CF 2 |))= (0. 8 5 - 0.595) / (1 - min(0. 8 5, 0.595)) = 0.6296

33 STEP 9Kembali ke RULE 1Premis kedua: saya malas bermain bolaSTEP 10Rule dengan konklusi saya malas bermain bola => RULE 3 dan RULE 5Ke RULE 3 dulu (dua premis)Premis pertama: saya percaya akan hujanSudah dijawab dengan CF(saya percaya akan hujan) = 0.95Premis kedua: ahli cuaca mengatakan akan hujanSudah dijawab dengan CF(ahli cuaca mengatakan akan hujan) = -0. 8 5Menghitung CF(saya malas bermain bola) => rumus conjunctive rule:CF(saya malas bermain bola) = min(CF(saya percaya akan hujan),CF(ahli cuaca mengatakan akan hujan)) *CF(RULE 3)= min(0.95, -0. 8 5) * 0.9 = -0.765STEP 11Rule dengan konklusi saya malas bermain bola => masih ada RULE 5Ke RULE 5 (sebuah premis)Premis: cuaca terlihat burukSudah diketahui dengan CF(cuaca terlihat buruk) = 0.6296 (dari STEP 8

)Menghitung CF(saya malas bermain bola) => rumus rule dengan sebuah premis:CF(saya malas bermain bola) = CF(cuaca terlihat buruk) * CF(RULE 5)= 0.6296 * 0.95 = 0.59 8 1STEP 12Rule dengan konklusi COMBINE (saya malas bermain bola) => kasus 2: salah satu < 0CF COMBINE (saya malas bermain bola) = (CF 1 + CF 2 ) / (1 - min(|CF 1 |, |CF 2 |))= (-0.765 + 0.59 8 1) / (1 - min(0.765, 0.59 8 1)) = -0.4153STEP 13Kembali ke RULE 1Menghitung CF(saya seharusnya tidak ke lapangan bola) => rumus conjunctive rule:CF(saya seharusnya tidak ke lapangan bola)= min(CF(cuaca terlihat buruk), CF(saya malas bermain bola)) * CF(RULE 1)= min(0.6296, -0.4153) * 0.9 = -0.373 8 Kesimpulan: saya TIDAK seharusnya tidak ke lapangan bola, atau saya seharusnya kelapangan bola, dengan CF = 0.373 8 saya malas bermain bola => RULE 3 dan RULE 5Menghitung CF

34

Hasil CF rendah bisa kita tolak, dengan mengimplementasikan yang namanyaTRUTHTHRESH (threshold kebenaran).Contoh:seandainya TRUHTHRESH = 0.6STEP 1Rule dengan konklusi saya seharusnya tidak ke lapangan bola => RULE 1Premis pertama: cuaca terlihat burukSTEP 2Rule dengan konklusi cuaca terlihat buruk => RULE 2 dan RULE 4Ke RULE 2 dulu (sebuah premis)Premis: saya percaya akan hujanSTEP 3Rule dengan konklusi saya percaya akan hujan => tidak adaUser ditanyai saya percaya akan hujan => dijawab: ya, dengan CF = 0.95Berarti: CF(saya percaya akan hujan) = 0.95STEP 4Kembali ke RULE 2Menghitung CF(cuaca terlihat buruk) => rumus rule dengan sebuah premisCF(cuaca terlihat buruk) = CF(saya percaya akan hujan) * CF(RULE

2)= 0.95 * 0. 8 = 0.76STEP 5Rule dengan konklusi cuaca terlihat buruk => masih ada RULE 4Ke RULE 4 (sebuah premis)Premis: ahli cuaca mengatakan akan hujanSTEP 6Rule dengan konklusi ahli cuaca mengatakan akan hujan => tidak adaUser ditanyai ahli cuaca mengatakan akan hujan => dijawab: tidak, denganCF = 0. 8 5Berarti: CF(ahli cuaca mengatakan akan hujan) = -0. 8 5STEP 7Kembali ke RULE 4Menghitung CF(cuaca terlihat buruk) => rumus rule dengan sebuah premis:CF(cuaca terlihat buruk) = CF(ahli cuaca mengatakan akan hujan) * CF(RULE 4)= -0. 8 5 * 0.7 = -0.595 => ditolak

35 STEP 8 Rule dengan konklusi cuaca terlihat buruk => RULE 2 diterima, RULE 4 ditolakCF(cuaca terlihat buruk) = 0.76STEP 9Kembali ke RULE 1Premis kedua: saya malas bermain bolaSTEP 10Rule dengan konklusi saya malas bermain bola => RULE 3 dan RULE 5Ke RULE 3 dulu (dua premis)Premis pertama: saya percaya akan hujanSudah dijawab dengan CF(saya percaya akan hujan) = 0.95Premis kedua: ahli cuaca mengatakan akan hujanSudah dijawab dengan CF(ahli cuaca mengatakan akan hujan) = -0. 8

5Menghitung CF(saya malas bermain bola) => rumus conjunctive rule:CF(saya malas bermain bola) = min(CF(saya percaya akan hujan),CF(ahli cuaca mengatakan akan hujan)) *CF(RULE 3)= min(0.95, -0. 8 5) * 0.9 = -0.765STEP 11Rule dengan konklusi saya malas bermain bola => masih ada RULE 5Ke RULE 5 (sebuah premis)Premis: cuaca terlihat burukSudah diketahui dengan CF(cuaca terlihat buruk) = 0.76 (dari STEP 8 )Menghitung CF(saya malas bermain bola) => rumus rule dengan sebuah premis:CF(saya malas bermain bola) = CF(cuaca terlihat buruk) * CF(RULE 5)= 0.76 * 0.95 = 0.722STEP 12Rule dengan konklusi saya malas bermain bola => RULE 3 dan RULE 5Menghitung CF COMBINE (saya malas bermain bola) => kasus 2: salah satu < 0CF COMBINE (saya malas bermain bola) = (CF 1 + CF 2 ) / (1 - min(|CF 1 |, |CF 2 |))= (-0.765 + 0.722) / (1 - min(0.765, 0.722)) = -0.1547 => ditolakSTEP 13Kembali ke RULE 1Premis saya malas bermain bola itu tidak diketahui, sehinggakonklusi saya seharusnya tidak ke lapangan bola juga tidak bisa diketahui.

36 Pada VP Expert: y

CNF hanya bernilai positif, dalam rentang 0 sampai 100.CNF = 100 dihitung sebagai CF = 1 (CF = CNF / 100). y

Jika premis ditolak, maka rule ditolak. y

Disjunctive rule: menggunakan rumus kombinasi dua rule versi Durkin, kasuspertama yaitu semuanya > 0. y

Seandainya ada dua rule atau lebih yang mendefinisikan sebuah konklusi yangsama, dan apabila rule pertama telah diterima, maka rule yang lain tidakdiperiksa. y

Karena rule kedua tidak diperiksa, maka anda harus menggabungkan dua ruleatau lebih yang mendefinisikan sebuah konklusi yang sama, menjadi sebuahdisjunctive rule, agar rumus kombinasi dua rule terpakai.