Metode dan Perancangan Sistem

5 penjelas yang menjelaskan tentang aksi sistem. Penjelasan dapat berupa bagaimana kesimpulan akhir diperoleh dan dari mana solusi yang diberikan didapatkan. Antar muka pengguna user interface merupakan sarana komunikasi antara sistem dengan pengguna[9]. Rule based reasoning merupakan teknik representasi pengetahuan dengan menggunakan aturan berbentuk: IF-THEN . Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan seorang pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu, juga digunakan apabila dibutuhkan penjelasan tentang jejak langkah – langkah pencapaian solusi[10]. Forward chaining merupakan suatu strategi pengambilan keputusan yang dimulai dari bagian sebelah kiri IF terlebih dahulu. Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis[10].

3. Metode dan Perancangan Sistem

Aplikasi shell sistem pakar untuk pembelajaran kecerdasan buatan dirancang dengan menggunakan UML Unified Modelling Language yaitu metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek[11]. Aplikasi dirancang dengan menggunakan use case diagram dan activity diagram . Use case diagram adalah abstraksi dari interaksi antara sistem dan aktor[12]. Pada use case diagram , pengguna dapat dapat membuka halaman konsultasi pada menu konsultasi yang akan menampilkan pertanyaan dan hasil konsultasi. Selain itu pengguna juga dapat melihat petunjuk penggunaan aplikasi pada menu petunjuk. Sedangkan pakar diharuskan membuka halaman pengaturan pada menu pengaturan untuk menginputkan basis pengetahuan yang berupa file aturan dan file pertanyaan yang telah dibuat sebelumnya dengan format yang telah ditentukan. Use case pada perancangan aplikasi ini dapat dilihat pada Gambar 3. Gambar 3 Use Case Diagram 6 Activity diagram adalah salah satu cara untuk memodelkan event-event yang terjadi dalam suatu use case [13]. Activity diagram menjelaskan langkah atau urutan aktifitas dalam sebuah proses. Activity diagram dalam perancangan aplikasi ini dibuat berdasarkan aktifitas yang dilakukan oleh aktor pada use case diagram . Activity diagram untuk pakar dimulai dengan memilih menu pengaturan lalu sistem akan menampilkan form input pertanyaan dan aturan. Kemudian pakar menginputkan file pertanyaan dan aturan yang akan digunakan pada sistem sebagai basis pengetahuan. Setelah itu akan dilakukan pengecekan pada file , jika file tidak sesuai ketentuan maka sistem akan menampilkan pesan file tidak sesuai ketentuan, jika file yang dicek sesuai ketentuan maka sistem akan menampilkan pesan file berhasil disimpan. Activity diagram untuk pakar dapat dilihat pada Gambar 4. Gambar 4 Activity Diagram Pakar Activity diagram untuk pengguna dimulai dengan memilih menu konsultasi maka sistem akan membaca file pertanyaan untuk kemudian ditampilkan pada user interface . Pengguna yang ingin berkonsultasi diharuskan memilih pertanyaan yang sesuai dengan gejala yang dialami untuk kemudian dilakukan pencarian gejala yang sesuai pada aturan yang ada di database . Jika pencarian gejala tidak ditemukan atau dapat diartikan pengguna tidak memilih satu pun gejala, maka sistem akan menampilkan pesan tidak ditemukan gejala. Sedangkan jika pencarian gejala ditemukan, maka sistem akan menampilkan hasil konsultasi yang berupa kesimpulan dari gejala yang ditemukan. Activity diagram untuk pengguna dapat dilihat pada Gambar 5. 7 Gambar 5 Activity Diagram Pengguna Aplikasi shell sistem pakar untuk pembelajaran kecerdasan buatan dirancang berdasarkan modifikasi komponen-komponen dasar penyusun shell sistem pakar. Komponen-komponen penyusun shell sistem pakar yang digunakan pada pembuatan aplikasi ini meliputi basis pengetahuan, mesin inferensi dan antarmuka pengguna user interface . Komponen-komponen shell sistem pakar yang digunakan pada aplikasi ini dapat dilihat pada Gambar 6. Expert System Shell Gambar 6 Komponen shell sistem pakar Basis pengetahuan pada aplikasi ini memerlukan dua file , yaitu file pertanyaan dan file aturan. Kedua file tersebut dibuat dengan menggunakan program editor teks biasa seperti notepad yang disimpan dengan format yang Basis Pengetahuan Pertanyaan Aturan Mesin Inferensi Antarmuka Pengguna User Interface Knowledge Enginner Pakar Pengguna Expert System Shell 8 telah ditentukan, yaitu .x2s. Tujuannya adalah untuk memudah pakar dalam membangun maupun memodifikasi basis pengetahuan. Untuk file pertanyaan, berisi pertanyaan-pertanyaan yang akan diajukan kepada pengguna dalam proses konsultasi. File pertanyaan tersebut dibuat dengan format penulisan yang telah ditentukan sebelumnya agar dapat ditampilkan kepada pengguna melalui user interface . Bentuk format penulisan file pada pertanyaan dapat dilihat pada Gambar 7. Gambar 7 Bentuk Format Penulisan File Pertanyaan Gambar 7 merupakan bentuk format penulisan pada file pertanyaan yang diawali dengan pola “Apakah” yang diikuti dengan kondisi-kondisi yang akan ditanyakan pada pengguna dan diakhiri dengan simbol tanya ?. Setiap pertanyaan dipisah menggunakan baris baru. Gambar 8 Flowchart Proses Menampilkan Pertanyaan Pada flowchart Gambar 8 dijelaskan proses menampilkan pertanyaan setelah dilakukan pengecekan untuk format file maupun format penulisan file pada pertanyaan. Tahap pertama, file pertanyaan yang menjadi input awal dibaca oleh sistem untuk kemudian dilakukan pemisahan berdasarkan baris. Setelah dilakukan pemisahan, maka setiap baris pertanyaan akan tersimpan ke dalam array . Apakah kondisi_1 ? Apakah kondisi_2 ? Apakah kondisi_3 ? Apakah kondisi_4 ? Apakah kondisi_5 ? 9 kol_1 kol_2 kol_3 kol_4 kol_5 kol_6 Kesimpulan kondisi_1 kondisi_2 kondisi_3 kondisi_4 kondisi_5 Selanjutnya akan dihitung jumlah data pada array yang nantinya akan digunakan pada proses tahap terakhir. Proses tahap terakhir akan dilakukan perulangan sebanyak jumlah data pada array untuk menampilkan pertanyaan-pertanyaan pada proses konsultasi. Sedangkan untuk file aturan, berisi aturan-aturan yang akan digunakan pada sistem dalam mencapai suatu kesimpulan. Aturan-aturan direpresentasikan menggunakan teknik representasi pengetahuan rule based reasoning dengan bentuk pola IF-THEN . Bentuk format penulisan file aturan dapat dilihat pada Gambar 9. Gambar 9 Bentuk Format Penulisan File Aturan Pada Gambar 9 menjelaskan bagaimana format penulisan file aturan sehingga sistem dapat membacanya. Tahap pertama penulisan file aturan dimulai dengan bentuk pola IF yang akan diikuti dengan kondisi-kondisi. Untuk setiap kondisi yang ada dipisah menggunakan pola AND. Kemudian untuk menuliskan kesimpulan dari berbagai kondisi yang ada digunakan pola THEN dengan diikuti pernyataan kesimpulan. Aturan satu dengan aturan lainnya dipisah menggunakan simbol pagar . Aturan-aturan yang telah dibuat dengan mengikuti pola IF-THEN akan dibaca oleh sistem untuk selanjutnya direpresentasikan ke dalam bentuk tabel database. Bentuk representasi aturan ke dalam tabel database dapat dilihat pada Gambar 10. Gambar 10 Bentuk Representasi Aturan Pada Tabel Database Kondisi = 5 Pada Gambar 10 dijelaskan bentuk representasi aturan ke dalam tabel database dengan aturan yang memiliki jumlah kondisi = 5. Tabel hanya terdiri atas 6 kolom dimana kol_1 merupakan isi dari kesimpulan sedangkan kol_2 sampai dengan kol_6 merupakan isi dari kondisi. Jadi kondisi-kondisi yang ada IF kondisi_1 AND kondisi_2 AND kondisi_3 AND kondisi_4 AND kondisi_5 THEN Kesimpulan_1 IF kondisi_1 AND kondisi_2 AND kondisi_3 THEN Kesimpulan_2 10 pada aturan akan disimpan pada kol_2 sampai dengan kol_6, sedangkan untuk kesimpulan dari suatu aturan akan disimpan pada kol_1. Bentuk representasi aturan ke dalam tabel database dengan aturan yang memiliki jumlah kondisi 5 ditunjukkan pada Gambar 11. Gambar 11 Bentuk Representasi Aturan Pada Tabel Database Kondisi 5 Pada Gambar 11 dilihat bahwa jumlah kondisi yang ada pada aturan berjumlah lebih dari 5 yaitu terdapat 7 kondisi. Sedangkan kolom kondisi hanya berjumlah 5 kolom yaitu kol_2, kol_3, kol_4, kol_5 dan kol_6. Untuk itu, maka dibuatlah baris baru pada tabel dengan sub aksi sebagai kondisi penghubung. Jadi, tahap pertama dimulai dengan mengisi kesimpulan pada kol_1. Kemudian tahap kedua dilakukan dengan mengisi kondisi pada kol_2 sampai dengan kol_5. Tahap ketiga dilakukan dengan mengisi kondisi sebagai sub aksi pada kol_6. Selanjutnya tahap keempat dibuatlah baris baru dengan kol_1 yang diisi dengan nama yang sama pada kol_6 baris sebelumnya sebagai penghubung. Tahap kelima yaitu dengan mengisikan sisa kondisi pada kol_2 sampai dengan kol_6 pada baris baru. Ulangi tahap ketiga jika diperlukan dengan menyesuaikan sisa kondisi. Perancangan proses merepresentasikan aturan ke dalam tabel database diterapkan dalam bentuk flowchart yang dapat dilihat pada Gambar 12. kol_1 kol_2 kol_3 kol_4 kol_5 kol_6 Kesimpulan kondisi_1 kondisi_2 kondisi_3 kondisi_4 Kesimpulan_ 1 Kesimpulan_ 1 kondisi_5 kondisi_6 kondisi_7 null null 11 Gambar 12 Flowchart Proses Representasi Aturan ke dalam Tabel Database Flowchart pada Gambar 12 menjelaskan bagaimana proses yang dilakukan ketika aturan yang semula berbentuk file dapat dipresentasikan ke dalam tabel database . Tahap pertama, file aturan yang menjadi input awal dibaca oleh sistem untuk kemudian dilakukan pemisahaan berdasarkan aturan. Setelah dilakukan pemisahan berdasarkan aturan, selanjutnya sistem akan melakukan pemisahan berdasarkan kesimpulan. Setelah kedua proses pemisahan dilakukan, maka akan dilanjutkan untuk pemisahan berdasarkan kondisi. Setelah dilakukan pemisahan berdasarkan kondisi maka sistem akan menyimpan kondisi dan kesimpulan pada array. Selanjutnya sistem akan mengecek ketersediaan aturan pada tabel database . Jika aturan telah ada sebelumnya maka akan dilakukan pengosongan pada tabel terlebih dahulu sebelum dilakukan insert kondisi dan kesimpulan. Sedangkan jika aturan belum ada maka akan langsung dilakukan insert kondisi dan kesimpulan ke dalam tabel database . Perancangan proses pengecekan format file dan format penulisan file pada file pertanyaan dan file aturan diterapkan dalam bentuk flowchart yang dapat dilihat pada Gambar 13. 12 Gambar 13 Flowchart Proses Pengecekan Format File dan Format Penulisan File Flowchart pada Gambar 13 menjelaskan bagaimana proses yang dilakukan sistem dalam mengecek format file dan format penulisan file . Input file aturan dan file pertanyaan yang telah dibuat sebelumnya. Kemudian akan dicek untuk format file aturan dan file pertanyaan, apakah sesuai dengan ketentuan atau tidak. Jika tidak sesuai dengan ketentuan maka akan menampilkan pesan kesalahan pada file . Sedangkan jika sesuai dengan ketentuan maka akan dilanjutkan dengan mengecek format penulisan file . Proses pengecekan format penulisan file dilakukan sesuai dengan format masing-masing file untuk file aturan dan file pertanyaan. Jika salah satu atau kedua format penulisan file tidak sesuai ketentuan maka sistem akan menampilkan pesan kesalahan pada file . Sebaliknya, jika kedua format file sesuai dengan ketentuan maka file aturan dan file pertanyaan akan disimpan ke dalam directory pada aplikasi dan menampilkan output pesan file berhasil disimpan. Perancangan proses mesin inferensi dalam mencari kesimpulan diterapkan dalam bentuk flowchart yang dapat dilihat pada Gambar 14. 13 Gambar 14 Flowchart Proses Mesin Inferensi Flowchart Gambar 14 menjelaskan bagaimana proses mesin inferensi dalam mencari kesimpulan. Awalnya akan dicek input gejala dari pengguna. Jika tidak ditemukan gejala dari pengguna maka akan menampilkan pesan gejala tidak ditemukan. Sedangkan jika ditemukan gejala dari pengguna maka akan dicari gejala pertama yang sama pada rule pertama di database . Jika terdapat gejala yang sama pada rule pertama di database maka akan disimpan gejala dari pengguna dan kesimpulan dari rule pertama ke dalam array . Selanjutnya akan dilakukan pengecekan apakah rule merupakan rule terakhir, jika bukan merupakan rule terakhir maka akan dilanjutkan kembali untuk mencari gejala yang sama pada rule berikutnya. Namun jika rule merupakan rule terakhir maka akan dilanjutkan dengan mengecek apakah gejala dari pengguna merupakan gejala terakhir, jika bukan gejala terakhir maka akan dilanjutkan untuk mencari gejala selanjutnya dari pengguna yang dimulai kembali pada rule pertama. Jika gejala merupakan gejala terakhir maka sistem akan mengambil kesimpulan dari aturan yang memiliki banyak gejala yang sama dan akan ditampilkan hasilnya. Proses pencarian bobot kesimpulan dapat dilihat pada Gambar 15. 14 Gambar 15 Proses Pencarian Bobot Kesimpulan Gambar 15 menunjukkan proses pencarian bobot kesimpulan dalam bentuk persen . Awalnya akan diambil jumlah gejala yang sama yang ada pada aturan kemudian dibagi dengan jumlah gejala yang ada pada Rule-N dan dikalikan dengan 100 maka akan ditemukan bobot dalam bentuk persen pada suatu aturan. Aturan-aturan yang memiliki gejala yang sama dengan gejala pengguna akan dihitung bobotnya menggunakan proses tersebut untuk kemudian diseleksi. Aturan dengan persentase bobot tertinggi akan diambil sebagai kesimpulan. 4. Hasil dan Pembahasan Proses menginputkan basis pengetahuan ke dalam sistem pertama kali dilakukan dengan pengecekan pada format file dan format penulisan file terlebih dahulu sebelum dapat tersimpan kedalam sistem agar tidak terjadi kesalahan dalam membaca ataupun error . Kode program proses pengecekan format file dan format penulisan file dapat dilihat pada Kode Program 1. Kode Program 1 Proses Pengecekan Format File dan Format Penulisan File 1. filename = array; 2. error = 0; 3. index = 0; 4. ifisset_POST[simpan] { 5. ifget_ext_FILES[f_quesrule][name][0]= x2s || 6. get_ext_FILES[f_quesrule][name][1]= x2s { 7. echo div class=warningFormat file tidak sesuai ketentuan. Mohon ganti 8. format file anda dengan format .x2sdiv; 9. } 10. else { 11. foreach_FILES[f_quesrule][name] as keys = val{ 12. name = _FILES[f_quesrule][name][keys]; 13. tmp = _FILES[f_quesrule][tmp_name][keys]; 14. iftrimname={ 15. ifmove_uploaded_filetmp, question_rules.name { 16. ifkeys == 0{ 17. cekfile = file_get_contentsquestion_rules.name; 18. cekkata = explode\n,cekfile; 19. cekjml = countcekkata; 20. ifcekjml 1 { 21. } 22. else { 23. error += 1; 24. } 25. } 26. else { 27. cekfile = file_get_contentsquestion_rules.name; 28. cekkata = explode,cekfile; 29. cekjml = countcekkata; 30. ifcekjml 1 { 31. } 32. else { 33. error += 1; 34. } 15 Pada Kode Program 1 proses pengecekan dilakukan pertama kali dengan mengambil masing-masing nama file untuk file pertanyaan dan file aturan yang kemudian akan diambil formatnya menggunakan fungsi get_ext. Jika format file tidak sesuai dengan yang ditentukan maka akan ditampilkan pesan format file tidak sesuai dengan ketentuan. Namun jika format file sesuai dengan ketentuan, akan dilanjutkan proses pengecekan pada format penulisan file dengan menggunakan fungsi explode untuk melihat apakah format yang telah ditentukan terdapat pada file aturan maupun file pertanyaan. Kode Program 2 Proses Merepresentasikan Aturan ke Dalam Tabel Database Kode Program 2 merupakan kode program yang digunakan untuk proses merepresentasikan aturan ke dalam tabel database . Awalnya file aturan yang telah disimpan pada directory aplikasi, dibaca oleh sistem dan disimpan ke dalam sebuah variabel untuk dilakukan proses split . Proses split dilakukan berdasarkan banyaknya aturan, kondisi dari suatu aturan dan kesimpulan dari suatu aturan menggunakan fungsi explode . Setelah dilakukan proses split , maka akan didapat kondisi-kondisi dari aturan berserta kesimpulannya yang kemudian di insert kan ke dalam tabel database . Hasil dari proses merepresentasikan aturan ke dalam tabel database dapat dilihat pada Gambar 16. 1. ifempty_SESSION[aturan] { 2. file = file_get_contentsquestion_rules._SESSION[aturan]; 3. kata = explode,file; 4. jml = countkata; 5. . 6. fori=0;ijml;i++ { 7. nonif = strstrkata[i], ; 8. pecah1 = explodeTHEN,nonif; 9. pecah2 = explodeAND,pecah1[0]; 10. jum = countpecah2; 11. . 12. ifjum 0 { 13. ifjum = 5 { 14. forw=0;w5;w++ { 15. ifissetpecah2[w] { 16. . 17. } 18. else { 19. pecah2[w] = null; 20. } 21. } 22. query = mysql_queryinsert into rule valuesnull, 23. .ucwordstrimpecah1[1]., .strtolowertrimpecah2[0]., 24. .strtolowertrimpecah2[1]., .strtolowertrimpecah2[2]., 25. .strtolowertrimpecah2[3]., .strtolowertrimpecah2[4]. 26. or diemysql_error; 27. } 16 Gambar 16 Aturan Dalam Tabel Database Gambar 16 merupakan hasil proses representasi aturan ke dalam tabel database yang dilakukan secara otomatis oleh sistem sesuai dengan bentuk representasi aturan yang telah ditentukan. Kode Program 3 Proses Menampilkan Pertanyaan Kode Program 3 merupakan kode program proses menampilkan pertanyaan. File pertanyaan yang disimpan pada directory aplikasi, dibaca oleh sistem dan disimpan ke dalam sebuah variabel untuk dilakukan proses split . Proses split dilakukan berdasarkan baris menggunakan fungsi explode . Setelah dilakukan proses split , maka pertanyaan-pertanyaan akan di input kan ke dalam sebuah tag form yang kemudian ditampilkan. 1. file = file_get_contentsquestion_rules._SESSION[pertanyaan]; 2. pertanyaan = explode\n,file; 3. jml = countpertanyaan; 4. echo form method=POST action=hasilanalisistable border=0 5. cellspacing=0 cellpadding=3; 6. fori=0;ijml;i++ { 7. kalimat = strstrpertanyaan[i], ; 8. jmlkarakter = strlenkalimat; 9. kondisi = substrkalimat,0,jmlkarakter-2; 10. urut = i+1; 11. echo tr bgcolor=warna 12. td align=rightspan style=font-size: 15px;urut.spantd 13. td width=460span style=font-size: 14. 15px;nbsp;.ucfirststrtolowerpertanyaan[i].spantd 15. td align=rightinput type=radio name=jawab_i value=kondisi 16. id=y_i style=margin-right: 5px;label for=y_i style=margin 17. right: 15px;Yalabel 18. input type=radio name=jawab_i value=not id=t_i style=margin 19. right: 5px; checkedlabel for=t_i style=margin-right: 20. 15px;Tidaklabeltdtr; 21. } 17 Kode Program 4 Potongan Kode Program Proses Mesin Inferensi Kode Program 4 merupakan potongan kode program proses mesin inferensi dalam mencari kesimpulan. Dalam proses mencari kesimpulan dibutuhkan sebuah variabel bertipe data array untuk menampung kondisi-kondisi dari pengguna. Setelah itu akan dilakukan pencocokan kondisi-kondisi dari pengguna dengan aturan yang ada pada database . Hasil akhir dari proses mesin inferensi adalah menyimpan kesimpulan dan menampilkan hasil yang didapat berdasarkan banyaknya kondisi yang cocok dengan aturan yang ada pada database . Contoh kasus yang digunakan pada aplikasi ini yaitu tentang penyakit gigi dan mulut dengan 15 daftar penyakit beserta gejalanya yang diterapkan pada basis pengetahuan untuk dilakukan pengujian. Contoh kasus penyakit gigi dan mulut dapat dilihat pada Tabel 1. 1. include configkoneksi.php; 2. error_reporting0; 3. hasil[] = null; 4. star[] = null; 5. sql = mysql_querySELECT FROM rule; 6. while r = mysql_fetch_arraysql { 7. id = r[id]; 8. kol_1 = r[kol_1]; 9. star[kol_1] = 0; 10. foreachhasil as key=value{ 11. ifid == 1 { 12. fori=2;i=6;i++ { 13. ifr[kol_.i] == strtolowertrimvalue { 14. star[kol_1] += 1; 15. } 16. } 17. } 18. else { 19. fori=2;i=6;i++ { 20. ifr[kol_.i] == strtolowertrimvalue { 21. sql2 = mysql_querySELECT kol_1 FROM rule WHERE kol_6=kol_1; 22. r2 = mysql_num_rowssql2; 23. d = mysql_fetch_arraysql2; 24. ifr2 0{ 25. kol_temp = explode_, kol_1; 26. star[kol_temp[0]] += 1; 27. } 28. else { 29. star[kol_1] += 1 ; 30. } 31. } 32. } 18 Tabel 1 Contoh Kasus Penyakit Gigi dan Mulut Pengujian aplikasi dilakukan untuk melihat sudah sejauh mana aplikasi dapat berjalan dan sejauh mana kesalahan yang mungkin terjadi pada aplikasi. Pengujian aplikasi ini menggunakan blackbox testing , yaitu pengujian fungsional tanpa melihat alur eksekusi program, namun cukup dengan memperhatikan apakah setiap fungsi sudah berjalan dengan baik sesuai dengan harapan. Hal-hal yang diuji dan hasil pengujian blackbox testing dapat dilihat pada Tabel 2. NO PENYAKIT GEJALA 1 Abses Periodontal Bau mulut tak sedap, demam, gusi bengkak, gusi licin dan mengkilap, gusi merah muda, gusi mudah berdarah, terdapat nanah pada pangkal gusi, nyeri saat menyunyah, terdapat pembekakan kelenjar getah bening, terdapat endapan plak, terdapat karang gigi. 2 Kalkulus Bau mulut tak sedap, gusi mudah berdarah, terdapat endapan plak, terdapat karang gigi. 3 Kandidiasis Bau mulut tak sedap, bercak putih pada lidah, bercak putih pada rongga mulut, terasa perih saat makan dan minum, terdapat luka pada mulut 4 Kelainan Sendi Temporomandibuler Sakit kepala, nyeri pada TMJ, nyeri pada otot pengunyah. 5 Karies Profunda Dentin terlihat, gigi berlubang, gigi nyeri saat terkena rangsangan panasdingin, pulpa terinfeksi, sakit berdenyut tanpa rangsangan. 6 Cheilitis Bibir kemerahan, bibir pecah-pecah, bibir terasa kering dan keras, kemerahan pada sudut-sudut mulut, sudut mulut terasa nyeri, sudut-sudut mulut bersisik, luka pada sudut mulut. 7 Eritema Multiformis Bercak kecoklatan mendatar pada bibir, bibir kemerahan, bibir pecah-pecah, bibir terasa kering dan keras, bibir terasa panas seperti terbakar, demam. 8 Gingivitis Gusi bengkak, gusi licin dan mengkilap, gusi merah muda, gusi mudah berdarah, terdapat endapan plak, terdapat karang gigi. 9 Herpes Simplek Demam, gusi bengkak, gusi mudah berdarah, terdapat pembengkakan kelenjar getah bening, terasa perih saat makan dan minum, terdapat luka pada mukosa mulut, terjadi daerah kemerahan pada mulut, terdapat gelembung pada mukosa mulut. 10 Kanker Terdapat benjolan putih pada bagian dalam bibir, terdapat bercak kecoklatan mendatar pada bibir, terdapat bercak putih berlendir pada mulut, bibir pecah-pecah, luka terbuka pada lidah, terjadi daerah kemerahan pada mulut, luka mudah berdarah, perkembangan penyakit cepat bulanan, luka atau benjolan sering muncul berulang. 11 Karies Superfisial Terdapat bintik putih pada gigi, gigi berlubang. 12 Liken Planus Bintik-bintik merah bersisik pada mulut, disertai rasa gatal, luka terbuka berwarna biru keputihan, terdapat benjolan ungu pada mulut, luka atau benjolan sering muncul berulang. 13 Nekrosis Pulpa Gigi berlubang, terdapat lubang sangat besar pada gigi, terjadi pembusukan gigi, pulpa mati rasa, ruang pulpa terbuka. 14 Pulpitis Akut Gigi berlubang, gigi keluar darah, gigi nyeri saat terkena rangsangan panasdingin, terdapat lubang sangat besar pada gigi, nyeri saat berbaring, pulpa terinfeksi, sakit berdenyut tanpa ransangan. 15 Sariawan Bibir kemerahan, demam, disertai rasa gatal, luka mudah berdarah, luka terbuka pada lidah, terasa perih saat makan dan minum, terdapat luka pada mukosa mulut. 19 Tabel 2 Hasil Pengujian Blackbox Testing Fungsi yang diuji Kondisi Output yang diharapkan Output yang muncul Hasil Pengecekan format file dan format penulisan file Format sesuai ketentuan Sukses menyimpan file Sukses menyimpan file Valid Format tidak sesuai ketentuan Tidak dapat menyimpan file Tidak dapat menyimpan file Valid Membaca file pertanyaan Tidak mengubah jumlah pertanyaan Sukses membaca file pertanyaan Sukses membaca file pertanyaan Valid Mengubah jumlah pertanyaan Sukses membaca file pertanyaan Sukses membaca file pertanyaan Valid Membaca file aturan Tidak mengubah jumlah aturan dan kondisi Sukses membaca file aturan Sukses membaca file aturan Valid Mengubah jumlah aturan dan kondisi Sukses membaca file aturan Sukses membaca file aturan Valid Representasi aturan ke dalam database Tidak mengubah jumlah aturan dan kondisi Sesuai dengan bentuk reprensentasi aturan Sesuai dengan bentuk reprensentasi aturan Valid Mengubah jumlah aturan dan kondisi Sesuai dengan bentuk reprensentasi aturan Sesuai dengan bentuk reprensentasi aturan Valid Menampilkan kesimpulan Memilih gejala Sukses menampilkan kesimpulan Sukses menampilkan kesimpulan Valid Tidak memilih gejala Sukses menampilkan pesan peringatan Sukses menampilkan pesan peringatan Valid Perhitungan bobot dalam mencari kesimpulan Memilih gejala Sesuai perhitungan manual Sesuai perhitungan manual Valid Memilih gejala yang lain Sesuai perhitungan manual Sesuai perhitungan manual Valid 20

5. Simpulan