Rencana Pengujian Kasus dan Hasil Pengujian

b. Flowchart 1 dataKomponen = null ? 2 loop dataKomponen ? 3 issetdataKomp onen[ gejala] ? Start TRUE end FALSE FALSE TRUE FALSE 4 dataKerusakan {query} TRUE 5 loop dataKerusakan ? 6 pembilang = 0.0; p_gejala = {query} dataKerusakan[j][ pembagi] = dataKerusakan[i][ pembagi ] + p_pembagi ; TRUE 7 loop dataKomponen[ gejala] ? 8 dataCF {query} 9 pembilang = pembilang + dataCF; TRUE 10 diagnosis = pembilang dataKerusakan[j][pembagi] 100; dataHasil[i][diagnosis][j][probabilitas] = diagnosis; 11 loop dataHasil[i][diag nosis] ? 12 issethasil[i][diagno sis][l-1] ? TRUE 13 old = hasil[i][diagnosis][l-1]; new = hasil[i][diagnosis][j]; 14 new[probabilitas] old[probabilitas] ? 15 hasil[i][diagnosis][l-1] = new; hasil[i][diagnosis][j] = old; TRUE FALSE FALSE FALSE FALSE FALSE dataHasil = null; Gambar 4.32 Flowchart Method dengan Teori Probabilitas Bayesian c. Flowgraph 1 2 3 4, 5 6, 7 8, 9 10, 11 12 13, 14 15 17 16 Gambar 4.33 Flowgraph Method dengan Teori Probabilitas Bayesian yang dibuat 2. Cyclometic complexity Berdasarkan flowgraph terdapat data yang didapat yaitu : a. Independent Path 1. Path 1 = 1 – 16 - 17 2. Path 2 = 1 – 2 – 17 3. Path 3 = 1 – 2 – 3 – 2 – 17 4. Path 4 = 1 – 2 – 3 – 4 – 5 – 2 – 17 5. Path 5 = 1 – 2 – 3 – 4 – 5 – 6 – 7 – 10 – 11 – 4 – 5 – 2 – 17 6. Path 6 = 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9 – 10 – 11 – 12 – 4 – 5 – 2 - 17 7. Path 7 = 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9 – 6 – 7 – 10 – 11 – 12 – 10 – 11 – 4 – 5 – 2 – 17 8. Path 8 = 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9 – 6 – 7 – 10 – 11 – 12 – 13 – 14 – 10 – 11 – 4 – 5 – 2 – 17 9. Path 9 = 1 – 2 – 3 – 4 – 5 – 6 – 7 – 8 – 9 – 6 – 7 – 10 – 11 – 12 – 13 – 14 – 15 – 10 – 11 – 4 – 5 – 2 – 17 b. Jumlah edge = 19 edge c. Jumlah node = 12 node d. Jumlah predikat node = 8 predikat node e. Jumlah region = 9 region Berdasarkan data yang didapat, maka dapat dihitung nilai cyclometic complexity dari algoritma yang dibuat. Berikut perhitungannya: a. VG = E – N + 2 VG = 19 edge – 12 node + 2 VG = 9 b. VG = P + 1 VG = 8 predikat node + 1 VG = 9 3. Graph Matrix Tabel 4.10 Graph Matrix Method dengan Teori Probabilitas Bayesian yang dibuat N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 1 1 1 2 1 1 1 3 1 1 1 4 1 5 1 1 1 6 1 7 1 1 1 8 1 9 1 10 1 11 1 1 1 12 1 1 1 13 1 14 1 1 1 15 1 16 Jumlah +1 9 4. Pengujian Path Method dengan Teori Probabilitas Bayesian yang dibuat Tabel 4.11 Pengujian Path Method dengan Teori Probabilitas Bayesian yang dibuat No Kasus Uji Hasil yang diharapkan Hasil uji kasus Keterangan 1 dataKomponen = Null Diagnosis tidak dilakukan dataKomponen = Null diagnosis tidak dilakukan Alur terlewati 2 memberikan dataKomponen = 6 for i+1 to 5 do endofor keluar dari perulangan dataKomponen = 6 keluar dari perualangan Alur terlewati 3 Jika siswa tidak memilih gejala dalam suatu kategori komponen melewati proses dan melakukan perulangan ke index dataKomponen selanjutnya dataKomponen[i][‘gejal a’] = null melewati proses dan melakukan perulangan ke index dataKomponen selanjutnya Alur terlewati dataKomponen [i][‘gejala’] = null 4 memberi dataKerusakan = 5 for j+1 to 4 do endfor melewati perulangan dan melanjutkan ke index dataKomponen selanjutnya dataKerusakan = 5 melewati perulangan dan melanjutkan ke index dataKomponen selanjutnya Alur terlewati 5 Proses perulangan dataKerusakan mendapatkan nilai probabilitas kerusakan dan melanjutkan perulangan ke index dataKerusakan berikutnya Mendapatkan nilai probabilitas kerusakan dan melanjutkan perulangan ke index dataKerusakan berikutnya Alur terlewati 6 memberi dataKomponen [i][‘gejala’] = 6 for k+1 to 5 do endfor melewati perulangan dan menghitung pembilang dan penyebut sesuai dengan rumus persamaan bayes melewati perulangan dan mendapatkan hasil diagnosis Alur terlewati 7 Proses perulangan dataKomponen [i][‘gejala’] Mendapatkan nilai cf dan menjumlahkan pembilang dengan nilai cf yang didapat nilai pembilang berubah Alur terlewati 8 memberi dataHasil[i][‘di agnosis’] = 6 for l+1 to 5 do endfor Melewati perulangan dan melanjutkan perulangan dataKerusakan ke index berikutnya Melewati perulangan dan melanjutkan perulangan dataKerusakan ke index berikutnya Alur Terlewati 9 Proses perulangan Melakukan pengurutan Mendapatkan hasil diagnosis yang terurut Alur terlewati datahasil[i][‘dia gnosis’] hasil perhitungan probabilitas kerusakan dari terbesar ke terkecil berdasarkan kategori komponen dari terbesar hingga terkecil berdasarkan kategori komponen 99 5. Penelusuran Data ketika user memilih gejala kerusakan a. Kendaraan dipilih : motor konvensional 4T tipe bebek [ id_kendaraan = 1 ] b. Gejala yang dipilih : 1. Pengereman kurang pakem [ id_gejala = 23 ] 2. Terjadi bunyi pada saat di rem [ id_gejala = 25 ] 3. Mesin bersuara mengelitik [ id_gejala = 20 ] 4. Suara kasar pada kepala silinder [ id_gejala = 1 ] Tabel 4.12 Penelusuran Data kendaraan dataKomponen dataKerusakan pembilang cf diagnosis dataHasil i Gejala j pembagi id_kerusakan kerusakan kategori komponen i diagnosis k id_gejala kategori j probabilitas 1 20 1 1.65000001 96695 8 kompresi mesin lemah mesin 0.264 0.264 22 22 1 1 1 0.363 0.099 20 1 1 2.21099999 60661 1 kerusakan pada Piston mesin 0.099 0.099 17.91 1 17.91 1 1 1 0.396 0.297 20 1 2 1.58400002 36034 3 kerusakan pada klep mesin 0.099 0.099 12.5 2 12.5 1 1 1 0.198 0.099 1 - - - - - - - - - - - 2 - - - - - - - - - - - 3 23 5 0.66 9 rem tidak pakem sistem rem tromol 0.297 0.264 55 3 0 55 1 25 5 0.363 0.099 23 5 1 0.69299998 819828 10 tromol macet sistem rem tromol 0.0 0.0 42.86 3 1 42.86 1 25 5 0.297 0.297

4.4.2.2 Pengujian Black Box

Kasus dan hasil uji perangkat lunak yang sudah dibangun dengan menggunakan metode black box berdasarkan pengamatan yang dilakukan dan menghasilkan kesimpulan dari pengujian tersebut, diantaranya sebagai berikut. Tabel 4.13 Pengujian Black Box Kasus dan Hasil Uji Data Normal Data masukan Keluaran yang diharapkan Pengamatan Kesimpulan Data berupa nama kendaraan dan kode kendaraan Menampilkan informasi data tersimpan Nama kendaraan dan kode terdapat dalam list data kendaraan OK Data berupa nama komponen kendaraan Menampilkan informasi data tersimpan Nama komponen kendaraan terdapat pada list data komponen kendaraan OK Data kerusakan baru Menampilkan informasi data tersimpan Data kerusakan terdapat pada list data kerusakan OK Mengubah data aturan diagnosis kerusakan Menampilkan data berhasil dirubah Menampilkan data berhasil dirubah OK Kasus dan Hasil Uji Data Salah Nama kendaraan atau kode kendaraan tidak di isi Menampilkan informasi harus di isi Menampilkan informasi kode kendaraan atau nama kendaraan harus di isi OK Nama komponen tidak di isi Menampilkan informasi harus di isi Menampilkan informasi nama komponen harus di isi OK Nama kerusakan tidak di isi Menampilkan informasi harus di isi Menampilkan informasi nama kerusakan harus di isi OK Memasukan nilai aturan diatas 1 atau di bawah 0 atau huruf atau simbol Menampilkan informasi data gagal di simpan Menampilkan data gagal di simpan OK Memilih data kendaraan dan memilih gejala Menampilkan data gejala dan menampilkan hasil diagnosis kerusakan berdasarkan gejala yang dipilih Menampilkan data gejala dan menampilkan hasil diagnosis kerusakan berdasarkan gejala yang dipilih OK

4.4.3 Kesimpulan Hasil Pengujian

Kesimpulan hasil pengujian merupakan penjelasan mengenai suatu pemikiran yang diambil berdasarkan data pengujian yang dilakukan. Berdasarkan pengujian yang dilakukan secara keseluruhan fungsional dari sistem berjalan sesuai dengan yang diharapkan tidak ada kesalahan baik proses dan secara fungsional.

4.5 Implementasi

Implementasi atau tahapan penerapan adalah suatu bentuk kegiatan yang merupakan rangkaian lanjutan dari kegiatan perancangan perangkat lunak. Implementasi dimaksudkan sebagai usaha untuk mewujudkan hasil dari perancangan perangkat lunak. Hasil ini berarti hasil dari proses aplikasi yang telah dibuat dan sudah dapat digunakan serta berfungsi dengan baik.

4.5.1 Implementasi Perangkat Lunak

Untuk membangun sistem yang diusulkan, penulis menggunakan bahasa pemrograman basis web yaitu PHP, CSS, Javascript dengan framework Codeigniter versi 2.2.0 untuk PHP, INK versi 3.10 untuk CSS, dan Jquery versi 1.10.1 untuk Javascript. Sublime text versi 3 penulis gunakan untuk pengkodean program, software paketan dari apache yaitu XAMPP ver 1.8.3 untuk menjalankan aplikasi server lokal berupa apache server dan aplikasi database seperti MySQL versi 5 agar penulis dapat melakukan testing terhadap program yang diusulkan selama tahap pembangunan dan browser chrome untuk pengaksesan secara offline dari program yang dibuat.

4.5.2 Implementasi Perangkat Keras

Adapun spesifikasi minimum perangkat keras yang digunakan untuk menjalankan aplikasi yang digunakan untuk menjalankan program yang dibangun dapat digunakan dalam keadaan offline. Berikut spesifikasinya : 1. Processor dengan dual core 1 Ghz clockspeed 2. 2 Gb RAM 3. 1 Gb hardisk space.

4.5.3 Implementasi Basis Data

Pembuatan basis data, dilakukan dengan menggunakan aplikasi MySQL. Implementasi basis data dalam bahasa SQL adalah sebagai berikut : Tabel 4.14 Implementasi Basis Data No Nama Tabel SQL 1. tb_kendaraan CREATE TABLE IF NOT EXISTS `tb_kendaraan` `id_kendaraan` int4 NOT NULL, `kode` varchar25 NOT NULL, `nama_kendaraan` varchar100 NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 2. tb_user CREATE TABLE IF NOT EXISTS `tb_user` `id_user` int4 NOT NULL, `nama` varchar30 NOT NULL, `username` varchar25 NOT NULL, `password` varchar41 NOT NULL, `email` varchar50 NOT NULL, `level` int4 NOT NULL, `status` int4 NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 3. tb_kerusakan CREATE TABLE IF NOT EXISTS `tb_kerusakan` `id_kerusakan` int4 NOT NULL, `id_kategori` int4 NOT NULL, `id_kendaraan` int4 NOT NULL, `kerusakan` text NOT NULL, `file` varchar50 DEFAULT NULL, `video` varchar50 DEFAULT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 4. tb_gejala CREATE TABLE IF NOT EXISTS `tb_gejala` `id_gejala` int11 NOT NULL, `id_kerusakan` int4 NOT NULL, `gejala` varchar250 NOT NULL, `cf` float NOT NULL DEFAULT 0.9 ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; 5. tb_solusi CREATE TABLE IF NOT EXISTS `tb_solusi` `id_solusi` int4 NOT NULL, `id_kerusakan` int4 NOT NULL, `solusi` varchar200 NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 6. tb_penyebab CREATE TABLE IF NOT EXISTS `tb_penyebab` `id_penyebab` int4 NOT NULL, `id_kerusakan` int4 NOT NULL, `penyebab` varchar250 NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 7. tb_kategori_komponen CREATE TABLE IF NOT EXISTS `tb_kategori_komponen` `id_kategori` int4 NOT NULL, `kategori_komponen` varchar100 NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 8. tb_komponen CREATE TABLE IF NOT EXISTS `tb_komponen` `id_komponen` int4 NOT NULL, `id_kategori` int4 NOT NULL, `nama_komponen` varchar100 NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 9. tb_aturan CREATE TABLE IF NOT EXISTS `tb_aturan` `id_gejala` int4 NOT NULL, `id_kerusakan` int4 NOT NULL, `cf` float NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1; 10. tb_feedback CREATE TABLE IF NOT EXISTS `tb_feedback` `id_user` int4 NOT NULL, `id_kerusakan` int4 NOT NULL, `terbantu` int1 NOT NULL, `komen` varchar255 NOT NULL ENGINE=InnoDB DEFAULT CHARSET=latin1;