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.
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
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
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
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
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
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:
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,
smalltalk, Pascal, Eiffel, C/C++, Objective-C dan bahasa-bahasa sebelumnya secara cerdas.
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).
Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans IDE adalah sebuah produk bebas dengan tanpa batasan bagaimana digunakan.Tersedia juga NetBeans Platform, sebuah 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 lisensi Common Development and Distribution License (CDDL).
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.
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 :
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.