• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Aplikasi Deteksi Kerusakan Mobil Berbasis XML T1 672007002 BAB IV

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Aplikasi Deteksi Kerusakan Mobil Berbasis XML T1 672007002 BAB IV"

Copied!
14
0
0

Teks penuh

(1)

40

Bab 4

Hasil dan Pembahasan

1.14

Hasil Implementasi

Implementasi Aplikasi Sistem Pakar terdiri dari implementasi

diagnosa kerusakan yang terdiri dari gejala, tempat yang diduga, diagnosa

kerusakan dan pencarian hasil atau kesimpulan serta implementasi

workplace.

4.1.1 Implementasi Gejala

Pada modul gejala, dilakukan implementasi dengan membaca

berkas xml yang berisi daftar gejala yang disediakan oleh sistem pakar

untuk kemudian ditampilkan ke dalam antarmuka pengguna aplikasi

sistem pakar.

Kode Program 4.1. Menampilkan Daftar Gejala

1 XStream xstreamGejala = new XStream(new DomDriver());

2 xstreamGejala.alias("gejala", Gejala.class);

3 ArrayList<Gejala> listGejala = new ArrayList<Gejala>();

4 ObjectInputStream in;

5

6 model = new DefaultListModel();

7 lstGejala.setModel(model);

8 try {

9 in = xstreamGejala.createObjectInputStream(

10 new FileInputStream("gejala.xml"));

11 listGejala = (ArrayList<Gejala>) in.readObject();

12 for (Gejala g : listGejala) {

13 model.addElement(g);

14 }

15 } catch (Exception ex) {

16 Logger.getLogger(frmGejala.class.getName()).log(

17 Level.SEVERE, null, ex);

(2)

Kode Program 4.1 dapat dijelaskan pada baris 1 dibuat objek

pustaka XStream yang dapat digunakan untuk membantu membaca berkas

xml menjadi objek di dalam java. Pada baris 2, ditentukan class java yang

akan menampung data xml yaitu class Gejala. Pada baris 3, dibuat list

untuk menampung Gejala lebih dari satu menggunakan ArrayList.

Pada baris 6 dan 7 ditentukan model antarmuka yang menampilkan

daftar gejala yaitu lstGejala. Baris 9 dan 10, ditentukan berkas xml yang

akan dibaca oleh xstream yaitu gejala.xml. Pada baris 11, dibaca data xml

dan dikonversi ke dalam bentuk ArrayList.

Pada baris 12-14, setiap data di dalam list dimasukkan ke dalam

model yang akan mengubah tampilan menjadi berisi data-data gejala dari

berkas xml. Selanjutnya baris 15-18 adalah baris yang akan dijalankan

ketika terjadi kesalahan aplikasi.

4.1.2 Implementasi Tempat Yang Diduga

Berikutnya setelah pengguna memilih gejala tertentu, maka

pengguna diharuskan untuk memilih tempat yang diduga. Data-data

tempat yang diduga juga diambil berdasarkan berkas xml sesuai dengan

Kode Program 4.2.

Kode Program 4.2. Implementasi Tempat Yang Diduga

1 XStream xstreamTYD = new XStream(new DomDriver());

2 xstreamTYD.alias("tempatYangDiduga", TempatYangDiduga.class);

3 ArrayList<TempatYangDiduga> listTYD =

4 new ArrayList<TempatYangDiduga>();

5 ObjectInputStream in;

6

7 model = new DefaultListModel();

8 lstTempatYgDiduga.setModel(model);

9 try {

10 in = xstreamTYD.createObjectInputStream(

11 new FileInputStream("tyd.xml"));

(3)

13 for (TempatYangDiduga tyd : listTYD) {

14 if (tyd.kodeGejala.equals(kodeGejala)) {

15 model.addElement(tyd);

16 }

17 }

18 } catch (Exception ex) {

19 Logger.getLogger(frmGejala.class.getName()).log(

20 Level.SEVERE, null, ex);

21 }

Kode Program 4.2 dapat dijelaskan pada baris 1 dibuat objek

pustaka XStream yang dapat digunakan untuk membantu membaca berkas

xml menjadi objek di dalam java. Pada baris 2, ditentukan class java yang

akan menampung data xml yaitu class TempatYangDiduga. Pada baris 3,

dibuat list untuk menampung TempatYangDiduga lebih dari satu

menggunakan ArrayList.

Pada baris 6 dan 7 ditentukan model antarmuka yang menampilkan

daftar tempatyang diduga yaitu lstTempatYangDiduga. Baris 9 dan 10,

ditentukan berkas xml yang akan dibaca oleh xstream yaitu tyd.xml. Pada

baris 11, dibaca data xml dan dikonversi ke dalam bentuk ArrayList.

Pada baris 13-17, setiap data di dalam list dimasukkan ke dalam

model yang akan mengubah tampilan menjadi berisi data-data tempat

yang diduge dari berkas xml. Pada baris 14 dilakukan pengecekan data

tempat yang diduga yang dimasukkan adalah tempat yang diduge yang

termasuk dalam gejala sesuai yang dipilih pengguna. Selanjutnya baris

18-21 adalah baris yang akan dijalankan ketika terjadi kesalahan aplikasi.

4.1.3 Implementasi Diagnosa Kerusakan

Berikutnya adalah diagnosa kerusakan yang akan menampilkan

pertanyaan-pertanyaan sesuai dengan tempat yang diduga oleh pengguna

sistem pakar. Implementasi Diagnosa Kerusakan terdapat di dalam Kode

(4)

Kode Program 4.3. Implementasi Diagnosa Kerusakan

1 String kodeSelanjutnya = "";

2 if (y) {

3 kodeSelanjutnya = solusi.kodeJawabOk;

4 } else {

5 kodeSelanjutnya = solusi.kodeJawabJelek;

6 }

7

8 Solusi solusiBerikutnya = null;

9 for(Solusi s:listSolusi) {

10 if (s.kode.equals(kodeSelanjutnya)) {

11 solusiBerikutnya = s;

17 frmKesimpulan kesimpulan = new frmKesimpulan(

18 null, true, "Solusi Kerusakan Tidak Dapat Ditemukan!");

19 kesimpulan.setVisible(true);

20 this.dispose();

21 } else {

22 if (solusiBerikutnya.jenis.equals("Kesimpulan")) {

23 frmKesimpulan kesimpulan = new frmKesimpulan(

24 null, true, solusiBerikutnya.isi);

25 kesimpulan.setVisible(true);

26 this.dispose();

27 } else {

28 frmDiagnosaKerusakan nextForm = new frmDiagnosaKerusakan(

29 null, true, solusiBerikutnya);

30 nextForm.setVisible(true);

31 this.dispose();

32 }

33 }

Kode Program 4.3 dapat dijelaskan pada baris 1-6 dicek apakah

yang dipilih pengguna jawaban Bagus atau Jelek. Jika jawaban bagus yang

dipilih maka kode selanjutnya diambilkan kodeJawabOK dari solusi yang

diberikan. Sedangkan jika pilihan jawaban adalah Jelek maka kode solusi

(5)

Pada baris 8-14 dilakukan pencarian solusi yang sesuai dengan

kode selanjutnya yang didapatkan. Dari semua solusi dilakukan

perulangan kemudian menggunakan if, akan didapatkan solusi yang sesuai

dengan kode selanjutnya.

Pada baris 16-21 dicek apakah solusi berikutnya bernilai null. Jika

solusi berikutnya bernilai null, artinya tidak ditemukan kesimpulan atau

hasil yang cocok. Maka tampilkan FormKesimpulan dan diisi dengan

kesimpulan “Solusi Kerusakan Tidak Dapat Ditemukan!”.

Pada baris 22-27, adalah kondisi ketika solusi tidak null dan solusi

memiliki tipe sebagai kesimpulan. Maka tampilkan FormKesimpulan

dengan isi dari isi solusi tersebut.

Pada baris 28-32 adalah kondisi ketika solusi tidak null dan solusi

memiliki tipe bukan kesimpulan, maka tampilkan

FormDiagnosaKerusakan dengan isi solusi yang didapatkan tersebut.

Dengan perintah tersebut, maka sebelum solusi ditemukan akan terus

ditampilkan pertanyaan-pertanyaan sampai didapatkan solusi berupa

kesimpulan atau jika null berarti tidak ada solusi yang cocok dan solusi

tidak ada.

4.1.4 Implementasi Kesimpulan

Berikutnya adalah implementasi Kesimpulan. Pada implementasi

kesimpulan, memiliki inputan berupa isi kesimpulan yang ditampilkan ke

dalam Textarea hasil kesimpulan tersebut.

Kode Program 4.4. Implementasi Kesimpulan

1 public frmKesimpulan(Frame parent, boolean modal, String kesimpulan) {

2 txtGejala.setText(kesimpulan);

(6)

4.1.5 Implementasi Workplace

Implementasi yang terakhir adalah workplace. Workplace akan

menampilkan

Kode Program 4.5. Implementasi Workplace

1 xstreamWorkplace = new XStream(new DomDriver());

2 xstreamWorkplace.alias("workplace", Workplace.class);

3

4 model = (DefaultTableModel) tblData.getModel();

5 model.setRowCount(0);

6 try {

7 in = xstreamWorkplace.createObjectInputStream(

8 new FileInputStream("workplace.xml"));

9 listWorkplace = (ArrayList<Workplace>) in.readObject();

10 for (Workplace work : listWorkplace) {

11 model.addRow(new Object[]{

12 work, work.gejala,

13 work.tempatyangdiduga, work.kesimpulan});

14 }

15 } catch (Exception ex) {

16 Logger.getLogger(frmGejala.class.getName()).log(

17 Level.SEVERE, null, ex);

18 }

Kode Program 4.5 dapat dijelaskan pada baris 1-2 dilakukan

inisialisasi xstream agar dapat membaca berkas xml berdasarkan class

Workplace. Pada baris 4-5 didapatkan model dari tabel agar tabel dapat

dimodifikasi isi datanya. Pada baris 6-15 dilakukan pembacaan data dari

workplace.xml dilakukan loop setiap data dan dimasukkan ke dalam tabel

melalui model. Pada baris 15-18 adalah kode program yang dijalankan

(7)

1.15

Pengujian Aplikasi

Pengujian aplikasi dilakukan dengan menguji modul utama sistem

yaitu:

- Pengujian diagnosa kerusakan disamakan dengan manual. Jika urutan

yang dilakukan sama dan menghasilkan kesimpulan yang sama, maka

sistem pakar diagnosa kerusakan sudah dapat dikatakan berjalan

dengan baik dan benar.

- Pengujian berikutnya adalah pada workplace. Setiap hasil pengujian

seharusnya tersimpan ke dalam workplace dan dapat ditampilkan

kembali dengan baik.

4.2.1 Pengujian Diagnosa Kerusakan (Sistem Pakar)

Pengujian diagnosa dilakukan dengan membandingkan antara

urutan gejala, tempat yang diduga, pertanyaan yang muncul dan

kesimpulan atau solusi yang didapatkan.

Gambar 4.1. Pengujian Input Nama Workplace

Awal mula ketika memulai diagnosa kerusakan kita akan diminta

untuk memasukkan nama workplace sebagai penanda proses diagnosa.

Nama yang dimasukkan kemudian nantinya akan dapat diakses melalui

(8)

Gambar 4.2. Pengujian Pemilihan Gejala

Ketika sudah memasukkan nama workplace maka selanjutnya

adalah memilih gejala yang ditampilkan oleh sistem pakar. Seperti pada

Gambar 4.2. kita memilih “Mesin tidak bisa berputar” sebagai gejala

(9)

Gambar 4.3. Pengujian Tempat Yang Diduga

Berikutnya akan muncul Form Tempat Yang Diduga yang akan

mengharuskan pengguna untuk memilih tempat yang diduga mengalami

kerusakan. Sesuai dengan Gambar 4.3. ditampilkan pilihan “Starter dan

relay starter” dan “Rangkaian switch posisi parkir / netral”. Dua pilihan

tersebut tampil karena pengguna memilih gejala “mesin tidak bisa

berputar”.

Jika pengguna melakukan pemilihan gejala yang lain, maka daftar

tempat yang diduga yang ditampilkan juga akan berbeda. Dibandingkan

dengan manual, sudah sesuai urutan dari gejala yang dipilih ke daftar

(10)

Gambar 4.4. Pengujian Diagnosa Kerusakan Melalui Pertanyaan

(11)

Gambar 4.6. Pengujian Diagnosa Kerusakan 3

(12)

Ketika pengguna sudah memilih tempat yang diduga tertentu,

maka akan ditampilkan beberapa pertanyaan yang mengharuskan

pengguna untuk melakukan pengecekan kondisi komponen tertentu.

Pengguna cukup menjawab kondisi bagus (ok) atau kondisi jelek. Seperti

pada Gambar 4.4. sampai pada Gambar 4.7 ditampilkan pertanyaan sesuai

dengan kondisi hasil pengecekan pengguna. Sampai akhirnya didapatkan

kesimpulan seperti pada Gambar 4.8 yaitu “Jika arus tidak seperti yang

ditentukan, gant starter”. Berdasarkan hasil pengujian tersebut, maka dapat

disimpulkan modul sistem pakar diagnosa kerusakan dapat berjalan

dengan baik dan benar.

(13)

4.2.2 Pengujian Workplace

Pengujian berikutnya adalah pengujian workplace. Pengujian dilakukan dengan melihat daftar diagnosa yang telah dilakukan menggunakan sistem pakar, kemudian melihat detail dari jawaban sampai pada kesimpulan yang didapatkan.

Hasil pengujian workplace dapat dilihat pada Gambar 4.9, ditampilkan daftar penggunaan diagnosa kerusakan yang telah dilakukan sebelumnya:

Gambar 4.9. Pengujian Workplace

(14)

Gambar

Gambar 4.1. Pengujian Input Nama Workplace
Gambar 4.2. Pengujian Pemilihan Gejala
Gambar 4.3. Pengujian Tempat Yang Diduga
Gambar 4.4. Pengujian Diagnosa Kerusakan Melalui Pertanyaan
+5

Referensi

Dokumen terkait

Mata bor helix kecil ( Low helix drills ) : mata bor dengan sudut helix lebih kecil dari ukuran normal berguna untuk mencegah pahat bor terangkat ke atas

Disemprotkan ( Jet Application of Fluid ), pada proses pendinginan dengan cara ini cairan pendingin disemprotkan langsung ke daerah pemotongan (pertemuan antara

Pendekatan matematika realistik adalah pendekatan yang proses belajarnya memanfaatkan masalah-masalah matematika yang nyata (real), siswa dapat terlibat dalam proses pembelajaran

Definisi: Suatu matriks bujur sangkar yang mana semua elemen di bawah atau di atas diagonal adalah nol (0). Dari keadaan ini diperoleh dua bentuk matriks segitiga, yaitu

Panitia Pengadaan Barang/ Jasa pada Dinas Pendidikan Kabupaten Humbang Hasundutan akan melaksanakan Pelelangan Sederhana dengan pascakualifikasi yang bersumber dari

tanggat 14 Nopember 2017 dengan ini Panitia Pengadaan Barang/Jasa Dinas Perindustrian Perdagangan dan ESDM Kabupaten Jember mengumumkan calon pemenang untuk

Pemanfaatan energi angin mempunyai harapan besar dengan listrik yang dihasilkan mampu mengalirkan listrik yang digunakan untuk pembuatan es batu

[r]