ABSTRAK
Dalam tugas akhir ini dikembangkan sebuah aplikasi untuk memprediksi kerusakan mesin mobil berdasarkan data Electronic Control Unit (ECU). Aplikasi ditujukan untuk membantu pemiliki kendaraan dan pakar untuk melakukan diagnosa pencarian penyebab kerusakan mesin berdasarkan data-data Diagnostic Trouble Code (DTC) yang dilaporkan oleh ECU. Pembentukan pohon keputusan ID3 dilakukan dengan menggunakan data DTC yang digabungkan dengan analisis pakar. Dalam proses penelusuran aturan, selain mendeteksi kerusakan utama, dilakukan pula pencarian alternatif dengan memeriksa setiap ranting pohon keputusan yang dilewati pada saat pencarian solusi utama. Testing dan pengembangan aplikasi pada ECU kendaraan menggunakan perangkat simulasi ELM327. Pembuatan aturan dilakukan dengan menggunakan perangkat Weka, basis data menggunakan SQL Server dan penulisan aplikasi menggunakan C# .Net. Hasil pengujian dengan menggunakan t-test (dengan tingkat kepercayaan 87.5%), pada pencarian solusi menghasilkan nilai signifikasi yang setara dengan kemampuan pakar untuk kasus-kasus kerusakan umum.
Kata kunci : sistem pakar, algoritma ID3, kerusakan mesin, Electronic Control Unit,
ABSTRACT
In this project, an expert system application based on historical data and ID3 algorithm is developed. The objective of the application is as to identify general solutions of engine failures. The historical data is constructed following expert instructions and Diagnostic Trouble Code (DTC) manual. A special algorithm is developed to suggest alternative solutions derived from the decision tree. The ID3 decision tree is constructed by employing Weka datamining tools, and is implemented in a SQL Server database. The application itself is developed by using C# .Net programming language. The experimental results show that the system achieved a comparable performance as an expert within a 87.5% confidence of t-test evaluation for a number of general engine malfunction cases.
Daftar ISI
PERNYATAAN ORISINILITAS LAPORAN PENELITIAN ... iii
PERNYATAAN PUBLIKASI LAPORAN PENELITIAN... iv
PRAKATA ... vi
ABSTRAK ... viii
Daftar Tabel ... xiv
Daftar Gambar ... xv
BAB I ... 1
Pendahuluan ... 1
1.1 Latar Belakang... 1
1.2 Rumusan Masalah ... 1
1.3 Tujuan ... 2
1.4 Batasan Masalah ... 2
1.5 Sistematika Pembahasan ... 2
BAB II ... 4
Landasan Teori ... 4
2.1 Data Mining ... 4
2.2 Pembelajaran Pohon Keputusan ... 4
2.2.1 Pohon (Tree) ... 5
2.2.2 Algoritma ID3 ... 5
2.2.3 Entropy dan Information Gain ... 6
2.3 Weka untuk pembelajaran mesin... 8
2.3.1 Graphical User Interface Weka 9
2.3.3 CSV File 13 2.4 Pemrograman Berorientasi Objek dengan C# ... 14
2.4.1 Percabangan 17
2.4.2 Perulangan 17
2.5 Structured Query Language ... 18
2.5.1 Menambah Table baru 19
2.5.2 Menambah Data didalam Tabel 19
2.5.3 Merubah data didalam Tabel 19
2.5.4 Menghapus data pada tabel 19
2.5.5 Membuat View 20
2.5.6 Membuat Store Procedure 20
2.6 Unified Modelling Language (UML) ... 20
2.6.1 Activity Diagram 22
2.6.2 ERD (Entity Relationship Diagram) 24
2.6.2.1 Entitas 24
2.6.2.2 Atribut 24
2.6.2.3 Relasi 25
2.6.2.4 Crow's Foot Notation 28
2.7 Uji Statistika ... 29
2.7.1 Uji t-test 29
2.8. Onboard Diagnostic ... 30
2.8.1 OBD-II 30
2.8.2 OBD-II PID 31
BAB III ... 33
Analisis Dan Pemodelan ... 33
3.1 Deskripsi Domain ... 33
3.2 Sample Data ... 34
3.3 Arsitektur Sistem ... 35
3.4 Entity Relation Diagram ... 37
3.5 Use Case Diagram ... 39
3.6 Activity Diagram ... 40
3.6.1 Melakukan Login 40 3.6.2 Menghubungkan aplikasi ke scanner 40 3.6.3 Menarik data Diagnostic Trouble Code dari scanner 41 3.6.4 Diagnosa Kerusakan mesin 42 3.6.5 Tambah Rule Baru 45 3.6.6 Rubah Rule Baru 45 3.6.7 Hapus Rule Baru 46 3.6.8 Tambah Solusi Baru 46 3.6.9 Rubah Solusi Baru 47 3.6.10 Hapus Solusi Baru 47 3.7 Tampilan Tatap Muka ... 49
3.7.1 Tampilan Koneksi 49 3.7.2 Tampilan Form Keluhan 50 3.7.3 Tampilan Data Solusi dan Solusi Akhir 51 BAB IV ... 54
4.1 Implementasi Sistem ... 54 4.2 Implementasi Penyimpanan Data ... 56 4.3 Implementasi Antarmuka dan Rules ... 60
4.3.1 Tampilan Login 60
4.3.2 Tampilan Halaman Muka 60
4.3.3 Mengambil DTC dari mesin kendaraan 61
4.3.4 Menyimpan data DTC 63
4.3.5 Melakukan Parsing Rule ID3 Tree 63
4.3.6 Mencari Solusi 69
4.3.7 Form Pengolahan Kendaraan dan Komsumen 75
4.3.8 Tampilan Form Pengguna 78
4.3.9 Tampilan History Log 80
4.3.10 Tampilan tambah Rule dan Solusi 81
BAB V ... 84 TESTING DAN EVALUASI SISTEM ... 84 5.1 Evaluasi perbandingan kinerja Pakar dengan Mesin ... 84
5.1.1 Testing Data pada Rules 84
5.1.2 Testing Data dengan Pakar 86
5.2 Uji Signifikansi dengan t-Test 87
5.3 Hasil Evaluasi ... 92 5.4 Uji Blackbox ... 92
5.4.1 Pengujian Form Log-in 92
5.4.2 Pengujian Form Koneksi 93
5.4.4 Pengujian Form Tambah Rule 93
5.4.5 Pengujian Form Pengguna 94
BAB VI ... 96
KESIMPULAN DAN SARAN ... 96
6.1 Kesimpulan ... 96
6.2 Saran ... 96
Daftar Pustaka ... 97
LAMPIRAN A RIWAYAT HIDUP PENULIS ... 98
Lampiran B Tabel Rule kode DTC dan Solusi ... 99
Lampiran C Data Solusi Kerusakan ... 102
Daftar Tabel
Tabel 2.1 Simbol Activity Diagram 22
Tabel 2.2 Tabel kode PIDs (parameter Identifications) 32
Tabel 3.1 Beberapa sampel data 34
Tabel 4.1 Entitas tbRule 56
Tabel 4.2 Entitas tbRule2 56
Tabel 4.3 Entitas Solusi 57
Tabel 4.4 Entitas solusi2 57
Tabel 4.5 Entitas Mekanik 57
Tabel 4.6 Entitas tbLog 57
Tabel 4.7 Entitas Konsumen 58
Tabel 4.8 Entitas Kendaraan 58
Tabel 4.9 Entitas DTC 58
Tabel 4.11 Entitas tbTree 59
Tabel 4.12 Entitas DTC_Tracker 59
Tabel 4.13 Entitas Hasil_Sol 59
Tabel 5.1 Tabel Pengujian Rules 84
Tabel 5.2 Tabel Akurasi 88
Tabel 5.3 Testing Form Login 92
Tabel 5.4 Testing Koneksi 93
Tabel 5.5 Testing Tambah Solusi 93
Tabel 5.6 Testing Tambah Rule 94
Tabel 5.7 Testing Form Pengguna 94
Daftar Gambar
Gambar 2.1 Ilustrasi Pohon (Tree) 5
Gambar 2.2 Tampilan Utama Weka 9
Gambar 2.3 Tampilan Weka EXPLORER 10
Gambar 2.4 Tampilan data di Weka EXPLORER 10
Gambar 2.5 Tampilan Weka ID3 rule 11
Gambar 2.6 Tampilan Rule pada Weka 12
Gambar 2.7 Komponen – komponen dalam Activity Diagram 23
Gambar 2.8 Komponen ERD 28
Gambar 2.9 Entitas pada Notasi Crow’s Foot 29
Gambar 2.10 Cardinalitas dan Modalitas pada notasi Crow’s Foot 29
Gambar 2.11 Bentuk Port OBD-II pada kendaraan 31
Gambar 3.1 Strukture Aplikasi 33
Gambar 3.2 ID3 Rule 35
Gambar 3.3 Rule ID3 hasil dari Weka 36
Gambar 3.5 use case diagram 39
Gambar 3.6 Activity Diagram Login 40
Gambar 3.7 Melakukan koneksi ke Scanner 41
Gambar 3.8 Menarik data Diagnostic Trouble Code dari scaner 42
Gambar 3.9 Menampilkan Solusi dari masalah 44
Gambar 3.10 Activity Diagram New Rule 45
Gambar 3.11 Activity Diagram Edit Rule 46
Gambar 3.12 Activity Diagram Delete Rule 47
Gambar 3.14 Activity Diagram Edit Solusi 48
Gambar 3.15 Activity Diagram Delete Solusi 49
Gambar 3.16 Tampilan Koneksi 50
Gambar 3.17 Tampilan Form Keluhan 51
Gambar 3.18 Tampilan Data Solusi 52
Gambar 3.19 Tampilan Solusi 53
Gambar 4.1 Tampilan Login 60
Gambar 4.2 Tampilan Halaman muka 61
Gambar 4.3 Tampilan aplikasi setelah terkoneksi 62
Gambar 4.4 Tampilan read DTC 62
Gambar 4.5 Tampilan Notifikasi setelah DTC tersimpan 63
Gambar 4.6 Tampilan form parsing 64
Gambar 4.7 Tampilan output parsing 69
Gambar 4.8 Tampilan Halaman Pencarian Solusi 70
Gambar 4.9 Tampilan Form Data Konsumen 75
Gambar 4.10 Tampilan Form Tambah Konsumen 76
Gambar 4.11 Tampilan Form Ubah dan Hapus Konsumen 76
Gambar 4.12 Tampilan Tambah Kendaraan 77
Gambar 4.13 Tampilan Ubah dan Hapus Kendaraan 77
Gambar 4.14 Tampilan Pengguna 78
Gambar 4.15 Tampilan Tambah Mekanik Baru 79
Gambar 4.17 Tampilan Ubah Password 80
Gambar 4.18 Tampilan Peringatan 80
Gambar 4.19 Tampilan History Log 81
Gambar 4.20 Tampilan Solusi 82
Gambar 4.21 Tampilan Form Rule 83
Gambar 5.1 Hasil testing bersama pakar 87
Gambar 5.2 Data Testing t-test 89
Gambar 5.3 Hasil pengujian signifikansi t-test dengan pakar 90
Gambar 5.4 Hasil t-test ke-2 91
BAB I
Pendahuluan
1.1 Latar Belakang
Perkembangan dunia otomotif saat ini semakin pesat. Kendaraan khususnya mobil saat ini menjadi tulang punggung dalam transportasi dan pergerakan ekonomi di masyarakat. Karena pentingnya peranan sebuah kendaraan, bila terjadi kerusakan yang mengakibatkan kendaraan tidak dapat berjalan dapat menyebabkan kerugian,terutama kendaraan yang digunakan untuk bisnis.
Bersamaan dengan pesatnya perkembangan dunia otomotif, bisnis yang bergerak di bidang jasa penyedia layanan reparasi kendaraan, semakin memiliki peran vital untuk menjaga kendaraan tetap beroperasi. Saat ini penyedia layanan reparasi kendaraan bergantung pada ilmu seorang ahli atau mekanik yang melakukan diagnosa kerusakan pada kendaraan. Oleh karena itu kelangsungan bisnis bisa terganggu bila seorang pakar yang bertugas sedang sakit atau keluar.
Oleh karena itu dibutuhkan suatu sistem pakar yang dapat membantu pekerjaan sang pakar, untung melakukan proses diagnosa kerusakan.
1.2 Rumusan Masalah
Adapun rumusan masalah yang hendak dibahas berdasarkan latar belakang di atas adalah :
1. Bagaimana membuat aplikasi sistem diagnosa untuk melakukan prediksi kerusakan mesin mobil berdasarkan data dari ECU kendaraan?
2
1.3 Tujuan
Berdasarkan latar belakang di atas tujuan dari penelitian ini adalah:
1. Membuat sistem informasi untuk melakukan prediksi kerusakan mesin mobil berdasarkan data dari ECU kendaraan.
2. Membuat sistem yang mampu memanfaatkan hasil diagnosa kerusakan untuk menemukan komponen mesin yang rusak.
1.4 Batasan Masalah
Dalam pembuatan Program ini terdapat batasan masalah agar apa yang dibahas dan dibuat tetap pada jalurnya:
1. Menggunakan C# .NET sebagai bahasa pemprograman. 2. Menggunakan Sistem Basis Data MicrosoftSQLServer.
3. Menggunakan Simulator OBDII untuk pengembangan aplikasi. 4. Menggunakan Tools Weka untuk membentuk aturan algoritma ID3. 5. Diagnosa kerusakan yang di lakukan aplikasi dibatasi pada kerusakan
komponen elektronik di bagian mesin kendaraan
1.5 Sistematika Pembahasan
Berikut ini adalah sistematika pembahasan dalam penelitian ini :
BAB I PENDAHULUAN
Bab ini berisi pendahuluan dan gambaran keseluruhan dari program berdasarkan subsistem / modul yang akan dibuat.
BAB II KAJIAN TEORI
Bab ini berisi deskripsi atau gambaran tentang antarmuka eksternal sebagai lingkungan yang mendukung berjalannya program dan fitur – fitur yang dimiliki program berdasarkan subsistem / modul yang dibuat.
BAB III DESAIN PERANGKAT LUNAK
3
BAB IV PENGEMBANGAN SISTEM
Bab ini berisi pembahasan mengenai perencanaan, pembagian modul dan keterkaitannya dengan modul lain, perjalanan implementasi sistem, fungsionalitas program berdasarkan subsistem / modul yang dibuat dan ulasan mengenai user
interface design.
BAB V TESTING DAN EVALUASI SISTEM
Bab ini berisi pembahasan mengenai rencana pengujian/testing program yang sudah diimplementasikan, metode testing yang digunakan, hasil testing dan ulasan hasil evaluasi berdasarkan hasil testing terhadap program.
BAB VI KESIMPULAN DAN SARAN
BAB VI
KESIMPULAN DAN SARAN
6.1Kesimpulan
Dari hasil penelitian yang dilakukan selama pembuatan tugas akhir ini dapat diambil kesimpulan sebagai berikut:
1. Pembuatan aplikasi sistem pakar telah berhasil melakukan prediksi kerusakan pada mesin kendaraan, berdasarkan data-data yang dihasilkan oleh ECU kendaraan. Dan dapat diandalkan untuk melakukan reparasi kendaraan.
2. Hasil diagnosa sistem pakar masih memiliki nilai akurasi dibawah seorang pakar. Namun sistem pakar dapat mencari dan memberikan kumpulan prediksi kerusakan komponen mesin lebih luas dengan berbagai alternatif.
6.2Saran
Beberapa hal yang dapat ditambahkan atau diperbaiiki jika akan melanjutkan penelitian ini adalah:
1. Dibuat versi mobile untuk perangkat ponsel atau komputer tablet sehingga pengguna dapat melakukan diagnosa dan pencarian kerusakan lebih mudah.
97
Daftar Pustaka
Chapple, M. (2008). Microsoft SQL Server 2008 For Dummies. Indiana: Wiley. Christian Nagel, B. E. (2006). Professional C# 2005. Indiana: Wiley.
Electronic, E. (2012, 11 12). ELM Electronic - Circuit for Hobbys. Retrieved 11 12, 2012, from ELM Electronic - Circuit for Hobbys:
www.elmelectronics.com/obdic.html
Fowler, M. (2005). Panduan Singkat Bahasa Pemodelan Objek Standar. Yogyakarta: Andi.
Peng, W., Chen, J., & Zhou, H. (2006). An Implementation of ID3. Decision Tree, 3-4.
Pilone, D., & Pitman, N. (2005). UML 2.0 in a nutshell. o'reilly. Sugiyono. (1996). Statistika untuk Penelitian. Bandung: Alfabeta.
UCLA, Anderson. (n.d.). UCLAANDERSON. Retrieved 01 07, 2014, from UCLAANDERSON SCHOOL OF MANAGEMENT:
http://www.anderson.ucla.edu/faculty/jason.frand/teacher/technologies/palace/ datamining.htm
Wahyudin. (2009). Metode Iterative Dichotomizer 3 ( ID3 ). Metode Iterative
Dichotomizer 3 ( ID3 ) Untuk Penyeleksian Penerimaan Mahasiswa Baru,
5-7.
Warren, L., & Haynes, J. H. (2004). Jeep Grand Cherokee Haynes Repair Manul. California: Haynes North America.
WEKA. (2012, 11 12). WEKA 3: Data Mining Software. Retrieved 11 12, 2012, from Weka: www.cs.waikato.ac.nz/ml/weka/
Witten, I. H. (2006). Weka: Practical Machine Learning Tools and Techniques.