BAB II KAJIAN PUSTAKA A. Sistem Pakar 1. Definisi Sistem Pakar - Agung Prabowo Bab II

BAB II KAJIAN PUSTAKA A. Sistem Pakar 1. Definisi Sistem Pakar Secara umum, sistem pakar (expert system) adalah sistem yang berusaha

  mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli (Kusumadewi, 2003). Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktifitasnya sebagai asisten yang sangat berpengalaman.

  Keahlian (expertise) adalah suatu kelebihan penguasaan pengetahuan dibidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. Pengetahuan tersebut memungkinkan para ahli untuk dapat mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan ahli.

  Pakar (expert) adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jika dipandang perlu memecah aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka.

  Pengalihan keahlian (transfering expertise) dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, hal inilah yang merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan 4 aktifitas yaitu : a. Tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya).

  b. Representasi pengetahuan.

  c. Inferensi pengetahuan.

  d. Pengalihan pengetahuan ke aplikasi.

  2. Keuntungan dan Kelemahan Sistem Pakar

  Adapun keuntungan Sistem Pakar sebagai berikut: a. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.

  b. Bisa melakukan proses secara berulang secara otomatis.

  c. Menyimpan pengetahuan dan keahlian para pakar. Kelemahan Sistem Pakar sebagai berikut: a. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.

  b. Sulit dikembangkan. Hal ini erat kaitannya dengan ketersediaan pakar dalam bidangnya.

  c. Sistem pakar tidak 100% bernilai benar.

  3. Karakteristik Sistem Pakar

  Sistem pakar mencapai konklusi yang tidak pasti karena informasi yang dipakainya sering berupa data yang kabur (Kusumadewi, 2003). Biarpun demikian sistem pakar diharapkan dapat memberi keputusan yang tergolong baik dalam arti tingkat kesalahannya tidak terlalu besar. Adapun perbedaan sistem pakar dengan perangkat umum biasa adalah:

  a. Terdapat banyak kemungkinan jawaban Akan memakan waktu lama untuk menguji dan mempelajari jawaban itu, karena ruang persoalan berukuran besar dan tidak pasti. b. Data kabur Sistem pakar mencapai konklusi yang tidak pasti karena informasi yang dipakai sering berupa data yang kabur. Biarpun demikian sistem pakar diharapkan dapat memberi keputusan yang tergolong baik dalam arti tingkat kesalahannya tidak terlalu besar.

4. Pendekatan Inferensi dalam Sistem Pakar

  Mekanisme inferensi dalam sistem pakar menerapkan pengetahuan untuk solusi problema yang sebenarnya (Kusumadewi, 2003). Mekanisme inferensi merupakan pusat dari kemampuan untuk belajar dari pengalaman atau proses belajar sebab memungkinkan untuk mengenerate fakta baru. Dan juga dapat melakukan verifikasi terhadap data-data yang ada. Dengan melakukan deteksi terjadinya kesalahan dalam alur berpikir dan menuntun user untuk memodifikasi aturan-aturan yang digunakan untuk mendapatkan goal.

  Penyusunan suatu mekanisme inferensi dengan pendekatan tertentu melibatkan konversi dari representasi pengetahuan yang ada ke dalam bentuk pendekatan mekanisme inferensi yang dipilih. Misal konversi pohon keputusan (decision tree) ke dalam bentuk aturan IF-THEN.

  Ada beberapa pendekatan dalam menyusun struktur mekanisme inferensi.

a. Teknik Heuristik

  Agar dapat memecahkan problema yang sangat sulit, seringkali harus dilakukan kompromi terhadap kecepatan dan sistematika serta membuat struktur pengadilan yang tidak menjamin didapatkannya jawaban yang terbaik namun optimal. Maka dipakailah teknik heuristik yaitu sebuah teknik yang mengembangkan efisien, namun dengan kemungkinan mengorbankan kelengkapan. Peran seorang pakar di sini sangat diperlukan dalam memberikan suatu saran tentang sifat heuristik yang dipakai dalam pemecahan suatu problema.

  Heuristik menggunakan pengetahuan tentang sifat problema untuk mendapatkan solusi secara efisien. Heuristik serupa dengan pruning yang merupakan salah satu dari elemen dasar kecerdasan buatan.

b. Motor Inferensi

  Mesin inferensi adalah bagian yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan terbaik. Ada dua teknik yang dapat dikerjakan dalam melakukan inferensi, yaitu : 1) Forward Chaining Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri (IF dulu).

  Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis.

  2) Backward Chaining Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan, seperti Gambar 1.

  Gambar 1. Forward dan Backward Chaining. Keterangan :

  Diberitahukan kepada sistem bahwa I ingin dibuktikan. Untuk mengetahui I, harus dibuktikan E dan H (aturan 4). Untuk membuktikan H, harus dibuktikan F dan G (aturan 3). Untuk membuktikan F, harus dibuktikan A dan B (aturan1). Untuk membuktikan G, harus dibuktikan C dan D (aturan2). Karena A,B,C,D,E telah dibuktikan, oleh karena itu I juga dapat dibuktikan.

B. Sepeda Motor

  Menurut Yogaswara (2013) Motor Besin adalah motor bakar torak berbahan bakar bensin. Motor bakar torak adalah suatu mesin yang mengubah energi panas dari pembakaran bahan bakar di dalam silinder menjadi energi mekanik atau energi gerak putar pada poros. Khusus untuk motor bensin berarti bahan bakar yang digunakan adalah bensin. Pada motor bensin, bahan bakar bensin dan udara diisap kedalam silinder dan dikompreskan oleh suatu torak. Dengan perantara bunga api listrik pada busi, bahan bakar tersebut di bakar hingga menjadi tekannan dan temperatur yang tinggi. Tekanan tersebut akan mendesak torak untuk bergerak dengan tenaga yang kuat. Gerakan ini diubah oleh engkol menjadi gerak putar pada poros.

  1. Macam-macam motor bahan bakar torak dapat dilihat dari :

  a. Jumlah silinder

  b. Susunan silinder

  c. Letak kutup

  d. Mekanisme katup

  e. Cara pendinginan

  f. Jumlah langkah tiap siklus

  g. Jenis bahan bakar

  h. Perbandingan langkah dengan diameter silinder

  2. Jumlah silinder dari suatu motor bahan bakar torak terdiri atas :

  a. Satu silinder

  b. Dua silinder

  c. Tiga silinder

  d. Empat silinder

  e. Lebih dari empat silinder

  3. Untuk motor bahan bakar torak dengan dua silinder atau lebih, silinder dapat tersusun atas : a. Satu baris silinder

  b. Silinder berlawannan

  c. Silinder tiga

  d. Silinder bersudut

  e. Torak berlawanan

  f. Silinder radial

  4. Letak katup jenis L Pada motor torak dengan katup yang mempunyai letak jenis L, ruang bakarnya berbentuk L terbalik, serta letak katup masuk dan katup buanganya berada pada salah satu sisi berdampingan di atas silinder.

  5. Letak katup jenis I Pada motor bakar torak dengan letak katup jenis I, katup terletak pada satu baris yang dapat digerakan oleh satu poros kem. Jenis letak katul I ini banyak digunakan pada motor-motor bakar torak yang mempunyai silinder satu baris.

  6. Letak katup jenis T Pada motor bakar torak dengan letak katup T, katup ditempatkan di kedua sisi silinder membentuk huruf T. Katup digerakan oleh dua poros kam yang masing- masing berfungsi sebagai penggerak katup isap dan katup buang.

C. Java

  Java merupakan sebuah bahasa pemrograman berorientasi objek yang dapat berjalan pada platform yang berbeda, baik di Windows, Linux, serta sistem operasi lainnya. Dengan menggunakan Java, kita dapat mengembangkan banyak aplikasi yang dapat digunakan pada lingkungan yang berbeda, seperti pada: Desktop, Mobile,

  Internet , dan lain-lain (Supriyatno, 2010).

  Bahasa Java dirancang dengan mengumpulkan kemampuan-kemampuan penting bahasa-bahasa sebelumya. Bahasa Java adalah kompilasi hampir seluruh kemampuan terbaik bahasa-bahasa karya manusia, yaitu:

  1. Meminjam gagasan pemrograman berorientasi objek yang bermula di bahasa Simula sekitar tahun 1967. Pada bahasa Java, kelas menjadi bentukan terpenting dalam membangun dan mengembangkan kemampuan-kemampuan membuat sangat beragam aplikasi mulai dari aplikasi mandiri, applet di web browser, multi

  threading , atau sebagai pembentuk komponen JavaBeans atau Enterprise Java Beans di application server dan sebagainya. Seluruhnya dikemas dalam satu

  kelas. Perluasan kemampuan dengan pembuatan kelas baru yang spesifik.

  2. Meminjam struktur kendali ampuh bahasa C yaitu paduan struktur teratur bahasa

  pascal , ditambah kendali transfer eksekusi seperti break, continue, return, struktur loop ampuh C/C++ dan sebagainya.

  3. Meminjam strongly-type bahasa ada yang andal dalam aplikasi kritis.

  4. Meminjam gagasan interface bahasa objective-C untuk menangani multiple

  inheritance dan memisah implementasi dan antar muka sehingga benar-benar secara total meniadakan ketergantungan implementasi dan antarmuka.

  5. Meminjam penanganan exception handling di C++ dan Ada.

  6. Meminjam sangat banyak sintaks dan semantiks C++, namun secara berani menyederhanakan sehingga mempermudah pemrograman, serta menghilangkan fasilitas-fasilitas redundan yang sering menimbulkan kesalahan pemakaian.

  7. Meminjam kemampuan dan gagasan canggih dari Simula, CLU, LISP, CLOS, dan bahasa-bahasa sebelumnya

  smalltalk, Pascal, Eiffel, C/C++, Objective-C secara cerdas.

  Bahasa Java dapat menjadi bahasa untuk membuat aplikasi di beragam komputer mulai dari hand-held devices seperti handphone menggunakan J2ME (Java

2 Micro Edition), aplikasi standar dengan J2SE (Java 2 Standard Edition), atau

  aplikasi dan back-end enterprise dengan J2EE (Java 2 Enterprise Edition). Bahasa Java tidak kompatibel dengan bahasa-bahasa sebelumnya sehingga tidak terbebani keharusan mengakomodasi kekeliruan-kekeliruan serta kelemahan-kelemahan bahasa sebelumnya (Hariyanto, 2010).

  NetBeans IDE adalah IDE open source yang ditulis sepenuhnya dengan

bahasa Java menggunakan platform NetBeans. NetBeans IDE mendukung

pengambangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur

lainnya adalah sistem proyek berbasis Ant, control versi, dan refactoring. Modularitas

: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi

yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java,

editing , atau dukungan bagi CVS.

  NetBeans memuat semua modul yang diperlukan dalam pengembangan Java

dalam sekali download, memungkinkan pengguna untuk mulai bekerja sesegera

mungkin. Modul-modul juga mengijinkan NetBeans untuk dikembangkan. Fitur-fitur

baru, seperti dukungan bahsa pemrograman lain, dapat ditambahkan dengan

menginstal modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise,

dan Sun Java Studio Creator dari Sun Microsistem semuanya berbasis NetBeans IDE

(Augusta, 2011).

  NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan

  pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra. Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Saat ini terdapat dua produk: NetBeans IDE dan NetBeans Platform. Thedalah sebuah lingkungan pengembangan sebuah kakas untuk pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program. Netbeans IDE ditulis dalam Java, namun dapat mendukung bahasa pemrograman lain.

  Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans IDE adalah sebuah produk bebas dengan tanpa batasan bagaimana digunakan.Tersedia jugasebuah fondasi yang modular dan dapat diperluas yang dapat digunakan sebagai perangkat lunak dasar untuk membuat aplikasi desktop yang besar.

  Mitra ISV menyediakan plug-in bernilai tambah yang dapat dengan mudah diintegrasikan ke dalam Platform dan dapat juga digunakan untuk membuat kakas dan solusi sendiri. Kedua produk adalah kode terbuka (open source) dan bebas (free) untuk penggunaan komersial dan non komersial. Kode sumber tersedia untuk guna ulang dengan lisensiCDDL).

  D. Database

  Database terdiri dari data yang akan digunakan atau diperuntukan terhadap banyak „user‟ dimana masing-masing „user‟ (baik menggunakan teknik pemprosesan yang bersifat batch atau on-line) akan menggunakan data tersebut sesuai dengan tugas dan fungsinya, dan „user‟ lain dapat juga menggunakan data tersebut dalam waktu yang bersamaan (Supriyatno, 2010).

  E. Penelitian terdahulu

  Penelitian-penelitian tentang sistem pakar metode Forward Chaining yang pernah dilakukan dan terkait.

  1. Sistem pakar kerusakan pada mobil panther menggunakan metode Forward

  Chaining (Yudatama, 2010). Sistem pakar ini dirancang berbasis web, untuk

  mendiagnosa kerusakan pada mobil panther menggunakan metode Forward

  Chaining. Hasil yang telah dibuat mendeteksi hasil yang dibuat oleh seorang pakar.

  2. Sistem pakar untuk mendiagnosa kerusakan pada motor matic (Permana, 2013).

  Sistem pakar ini dibuat menggunakan bahasa pemrograman PHP. Mendiagnosa kerusakan kendaraan pada motor matic memang harus cepat dan seakurat mungkin, hal itu dikarenakan agar kerusakan tidak menjalar ke komponen lain. Dari hasil aplikasi yang telah dibuat, menghasilkan diagnosis kerusakan kendaraan seperti yang dibuat oleh para ahli pakar mesin motor matic.

  3. Sistem pakar menentukan kerusakan kendaraan bermotor menggunakan metode

  Forward Chaining (Sukotjo, 2012). Sistem pakar ini dirancang menggunakan

  bahasa pemrograman Java, dalam mendiagnosa kerusakan kendaraan bermotor menggunakan metode Forward Chaining yang digunakan untuk kendaraan bermotor roda dua non matic atau manual. Hasil aplikasi yang telah dibuat sudah dibuktikan dan telah menghasilkan diagnosa kerusakan kendaraan bermotor, seperti diagnosa para ahli kendaraan bermotor.

  4. Sistem pakar untuk diagnosa kerusakan motor dan kelistrikan pada kendaraan bermotor tipe Yamaha Majesty 125 cc (Sugiharto, 2012). Sistem pakar ini dikembangkan menggunakan Forward Chaining, representasi pengetahuan yang digunakan menggunakan representasi berbasis aturan (rule base) dan program dibuat dengan menggunakan Delphi dan MySQL. Dari hasil yang telah dibuat mendeteksi hasil yang dibuat oleh seorang pakar.

  Perbedaan dan kelebihan dari penelitian saya dibandingkan dengan penelitian terdahulu yaitu :

  1. Pada penelitian (Yudatama, 2010) berfokus pada mobil Panther. Sedangkan penelitian saya berfokus pada motor matic dan non matic 4 tak. Dan berbasis desktop. Untuk kelebihannya lebih simple dan mudah digunakan bagi penggunanya, karena aplikasi ini dirancang untuk komputer offline.

  2. Penelitian (Permana, 2013) hanya berfokus pada motor matic. Sedangkan penelitian saya berfokus pada motor matic dan non matic 4 tak.

  3. Pada penelitian (Sukotjo, 2012) hampir sama dengan penelitian saya perbedaannya pada penelitian (Sukotjo, 2012) hanya berfokus pada sepeda motor

  non matic sedangkan pada penelitian saya berfokus pada sepeda motor matic dan non matic .

  4. Pada penelitian (Sugiharto, 2012) hanya berfokus pada Yamaha Majesty 125 cc motor matic saja. Sedangkan penelitian saya berfokus pada motor matic dan non

  matic 4 tak.