SEMINAR HASIL
Disusun Oleh :
Assalamu’alaikum Wr. Wb
Allah SWT yang mana telah melimpahkan rahmat serta hidayahnya sehingga
Skripsi ini dapat diselesaikan dengan judul “Implementasi Sistem Pakar Untuk
berangkaikan salam tak lupa kita hadiahkan pahalanya kepada habibullah kekasih
Allah yakni Baginda Nabi besar Muhammad SAW, yang mana Beliau telah
membawa umatnya dari jaman jahililyah hingga ke jaman yang penuh dengan ilmu
pengetahuan.
Skripsi ini disusun sebagai salah satu syarat untuk menyelesaikan Program
Sarjana Strata Satu (S1) pada Program Studi Sistem Informasi STMIK Triguna
Dharma Medan.
kedua orang tua Rukianto, S.Ag (Ayah) dan Yusnani (Ibu) serta keluarga yang
terima kasih kepada semua pihak yang telah memberikan pengarahan dan
bimbingan dalam menyusun Skripsi ini, penulis mengucapkan banyak terima kasih
kepada:
1. Bapak Dr. Rudi Gunawan, S.E., M.Si selaku Ketua STMIK Triguna Dharma.
i
2. Bapak Abdullah Muhazin, S.T., M.Kom selaku Wakil Ketua I Bidang
3. Bapak Puji Sari Ramadhan, S.Kom., M.Kom selaku Ketua Program Studi
Skripsi ini.
Skripsi ini.
7. Serta kepada teman-teman yang telah membantu mendo’a kan dan mensupport
saya dan rekan-rekan mahasiswa STMIK Triguna Dharma yang telah memberi
Dharma Medan.
Penyusunan Skripsi ini masih jauh dari kesempurnaan, oleh karena itu
penulis mengharapkan segala bentuk saran serta masukan bahkan kritik yang
membangun dari berbagai pihak. Harapan semoga Skripsi ini dapat bermanfaat bagi
ii
ABSTRAK
iii
DAFTAR ISI
iv
BAB IV : PEMODELAN DAN PERANCANGAN SISTEM ....................36
4.1 Pemodelan Sistem ....................................................................36
4.1.1 Skenario Sistem Use Case Diagram ...............................36
4.1.2 Rancangan Use Case Diagram ........................................41
4.1.3 Rancangan Activity Diagram..........................................41
4.1.4 Class Diagram .................................................................43
4.2 Perancangan Sistem ..................................................................43
4.2.1 Rancangan Basis data .....................................................43
4.2.2 Rancangan Form Input, Proses dan Output ....................46
BAB V : HASIL DAN PEMBAHASAN .....................................................53
5.1 Hasil ..........................................................................................53
5.1.1 Hasil Tampilan Antar Muka ...........................................53
5.1.2 Pengujian ........................................................................61
5.2 Pembahasan ..............................................................................65
5.2.1 Spesifikasi Kebutuhan Sistem ........................................65
5.2.2 Identifikasi Sistem ..........................................................65
BAB VI : KESIMPULAN DAN SARAN .....................................................67
6.1 Kesimpulan ...............................................................................67
6.2 Saran .........................................................................................67
DAFTAR PUSTAKA ...........................................................................................68
LISTING PROGRAM .......................................................................................L-1
v
DAFTAR GAMBAR
Gambar 2.1 Komponen-komponen yang penting dalam sebuah Sistem Pakar ..8
Gambar 2.2 Aplikasi Pendukung Microsoft Visio ............................................ 20
Gambar 2.3 Aplikasi Pendukung Visual Basic 2010 ........................................ 21
Gambar 2.4 Aplikasi Pendukung Micorosoft Access ....................................... 22
Gambar 2.5 Aplikasi Pendukung Crystal Report .............................................. 23
Gambar 3.1 Metode Waterfall........................................................................... 26
Gambar 3.2 Kerangka Kerja Metode Certainty Factor ..................................... 28
Gambar 4.1 Use Case Diagram ......................................................................... 41
Gambar 4.2 Activity Diagram ........................................................................... 42
Gambar 4.3 Class Diagram Sistem Pakar ......................................................... 43
Gambar 4.4 Rancangan Form Login Utama ..................................................... 46
Gambar 4.5 Rancangan Form Menu Utama ..................................................... 47
Gambar 4.6 Perancangan Form Data Konsultasi .............................................. 48
Gambar 4.7 Perancangan Form Data Gejala ..................................................... 48
Gambar 4.8 Perancangan Form Data Kulit ....................................................... 48
Gambar 4.9 Perancangan Form Data Rule base................................................ 50
Gambar 4.10 Perancangan Form Proses Certainty Factor ................................ 51
Gambar 4.11 Rancangan Laporan Diagnosa ....................................................... 52
Gambar 5.1 Form Login.................................................................................... 54
Gambar 5.2 Form Menu Utama Admin ............................................................ 54
Gambar 5.3 Form Data Konsultasi.................................................................... 55
Gambar 5.4 Form Data Gejala .......................................................................... 56
Gambar 5.5 Form Data Kulit ............................................................................ 56
Gambar 5.6 Form Data Rulebase ...................................................................... 57
Gambar 5.7 Form Proses Certainty Factor........................................................ 57
Gambar 5.8 Hasil Deteksi Kulit ........................................................................ 60
Gambar 5.9 Laporan Hasil Deteksi Kulit .......................................................... 61
vi
DAFTAR TABEL
vii
BAB I
PENDAHULUAN
dan mempunyai fungsi untuk melindungi dari pengaruh luar [1]. Pada permukaan
luar kulit terdapat pori-pori (rongga) yang menjadi tempat keluarnya keringat. Kulit
memiliki banyak fungsi, diantaranya sebagai pelindung tubuh, sebagai alat indra
peraba atau alat komunikasi, dan sebagai alat pengatur suhu. Keinginan sebagian
besar manusia terutama wanita memiliki kulit wajah yang putih, sehat, bersih dan
terawat [2]. Adapun permasalahan dalam penggunaan produk skincare yang tidak
menimbulkan masalah baru seperti jerawat, kulit kering dan lain-lain. Untuk
dibidang kecantikan.
secara bersamaan yang pertama adalah retinol dan benzoil peroksida. Kedua
Sebagai bahan aktif yang memiliki fungsi serupa, kedua kandungan ini tidak boleh
1
2
mengidentifikasi jenis kulit wajah konsumen dilakukan oleh petugas yang bukan
merupakan seorang dokter ataupun pakar di bidang kecantikan. Sering kali terjadi
kesalahan dalam identifikasi jenis kulit wajah yang mengakibatkan seorang petugas
memberikan produk skincare yang tidak sesuai dengan jenis kulit wajah dan
mengalami iritasi ataupun alergi pada kulit wajah. Oleh sebab itu, permasalahan
jenis kulit wajah seseorang berdasarkan pengetahuan pakar, maka bidang keilmuan
Sistem pakar atau dikenal dengan nama expert system adalah sistem
informasi yang berisi pengetahuan dari pakar sehingga dapat digunakan untuk
konsultasi. Pengetahuan dari pakar di dalam sistem ini digunakan sebagai dasar
oleh sistem pakar untuk menjawab pertanyaan (konsultasi) [3]. Sistem Pakar dibuat
untuk tujuan saling berbagi dan saling bertukar informasi tentang pengetahuan
suatu nilai untuk mengasumsikan derajat keyakinan seseorang pakar terhadap suatu
terhadap suatu fakta atau aturan. CF merupakan nilai parameter klinis yang
metode ini dapat mengidentifikasi jenis kulit wajah setelah dilihat dari hasil
wajah berdasarkan gejala – gejala yang ada, diharapkan dapat membantu pihak
CERTAINTY FACTOR”.
belakang, berikut ini merupakan rumusan masalah dalam penelitian ini yaitu:
produk skincare?
3. Bagaimana menguji Sistem Pakar dalam mengidentifikasi jenis kulit wajah pada
produk skincare?
1. Sumber data yang diperoleh berasal dari dr.Arfah Dilla R.Siregar berupa data
produk skincare.
3. Untuk menguji Sistem Pakar dalam mengidentifikasi jenis kulit wajah pada
produk skincare.
2. Dapat menjadi referensi bagi penulis lain untuk dapat menerapkan metode
certainty factor dalam mengidentifikasi jenis kulit wajah pada produk skin care.
TINJAUAN PUSTAKA
Memiliki penampilan menarik serta wajah yang cantik merupakan hal yang
diidamkan oleh setiap wanita. Namun penampilan yang menarik bukan hanya
dilihat dari pakaian dan segala aksesoris yang dipakainya, melaikan ditunjang
dengan adanya kulit yang sehat. Kulit merupakan bagian paling penting yang harus
dirawat dan dijaga. Perawatan kulit (skincare) adalah prosedur atau langkah-
skincare kecantikan dengan kandungan bahan yang aman serta baik digunakan
perawatan kulit hal yang paling utama adalah mengetahui jenis kulit wajah kita
masing-masing. Jenis kulit wajah yang umum dimiliki oleh manusia yaitu kulit
wajah normal, berminyak, kering, sensitif dan kombinasi. Menyadari bahwa setiap
manusia memiliki jenis kulit wajah yang berbeda, maka permasalahan yang muncul
pada kulit wajah pun beragam mulai dari timbulnya jerawat, flek hitam, wajah
skincare untuk para wanita Indonesia. Didirikan tahun 2013, ms glow adalah milik
dua sahabat yakni, shandy purnamasari dan maharani kemala. Produknya sudah
5
6
skincare yang sesuai dengan jenis kulit wajah perempuan Indonesia untuk
secara lebih rinci tentang pemilihan skincare yang sesuai dengan jenis kulit wajah
berdasarkan jenis kulit wajah konsumen. Ciri lain dari kulit wajah sehat adalah
memiliki elastisitas yang baik. Ini erat kaitannya dengan kelembapan kulit. Jika
kulit terhidrasi dengan baik, maka kulit jadi kenyal dan tampak awet muda. Kulit
yang sehat juga tak mengalami alergi atau iritasi berupa gatal-gatal, kemerahan, dan
lain sebagainya. Kulit wajah yang sehat memiliki tekstur halus dan lembut sehingga
Pada mulanya Shandy dan Maharani menjual produk skincare secara eceran
dan bukan miliknya sendiri. Semakin lama hasil penjualan mereka cukup banyak,
dan semakin hari peminatnya terus bertambah, sehingga mereka memiliki ide untuk
yang bergerak dalam produksi kosmetik dan klinik kecantikan Ms Glow, meski
dilalui dengan tidak mudah terutama masalah modal dana untuk membentuk
para 2 owner ini menjual asetnya ahirnya terciptalah klinik kecantikan dan produk
Klinik kecantikan Ms Glow saat ini tersebar di beberapa wilayah kota besar
Indonesia yakni : Jakarta, Surabaya. Malang, Bandung, Sidoarjo, Medan dan kota
besar lainnya. Klinik Ms Glow memiliki standar keamanan dan profesionalitas para
dikerjakan oleh para dokter yang merupakan ahli di bidang estetika. serta para
7
asisten dan terapis kecantikannya pun memiliki pengalaman dan latar belakang
medis.
memerlukan keahlian manusia [7]. Secara umum Sistem Pakar adalah sistem yang
penarikan kesimpulan atau inference rules dengan basis pengetahuan tertentu yang
diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi tersebut
Ada dua bagian penting dari Sistem Pakar, yaitu lingkungan pengembangan
pengetahuan dan nasihat dari Sistem Pakar layaknya berkonsultasi dengan seorang
pakar.
1. Akuisisi Pengetahuan
dengan cara merekayasa pengetahuan agar bisa diproses oleh komputer dan
basis data, laporan riset khusus, dan informasi yang terdapat di Web.
memecahkan masalah.
Mesin inferensi adalah sebuah program yang berfungsi untuk memandu proses
ada, memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan
yang berfungsi sebagai panduan arah dalam melakukan proses penalaran. Ada
Untuk merekam hasil sementara yang akan dijadikan sebagai keputusan dan
basis data Tiga tipe keputusan yang dapat direkam pada blackboard , yaitu :
bentuk yang dapat diterima oleh sistem. Selain itu antarmuka menerima
10
informasi dari sistem yang menyajikannya dalam bentuk yang dapat dimengerti
oleh pemakai. Pada bagian ini terjadi dialog antara program dan pemakai, yang
dapat diambil.
Kemampuan evaluasi diri seperti itu diperlukan oleh program agar dapat
kesimpulan. Dengan cara ini basis pengetahuan yang lebih baik dan penalaran
8. Pengguna (User)
Terdapat berbagai kelebihan dari sistem pakar. Kelebihan dari sistem pakar
adalah [10]:
pakar.
11
6. Memiliki reabilitas.
1. Tidak ada jaminan bahwa sistem pakar memuat 100% kepakaran yang
diperlukan.
jawabannya tidak pasti. Ketidakpastian ini bisa merupakan probabilitas. Metode ini
metode ini saat melakukan diagnosis dan terapi terhadap penyakit meningitis dan
infeksi darah. Tim pengembang dari metode ini mencatat bahwa, dokter sering kali
pasti”. Metode ini mirip dengan fuzzy logic, karena ketidakpastian direpresentasikan
12
dengan derajat kepercayaan sedangkan perbedaannya adalah pada fuzzy logic saat
perhitungan untuk rule yang premisnya lebih dari satu, fuzzy logic tidak memiliki
nilai keyakinan untuk rule tersebut sehingga perhitungannya hanya melihat nilai
terkecil untuk operator AND atau nilai terbesar untuk operator OR dari setiap
premis yang pada rule tersebut berbeda dengan certainty factor yaitu setiap rule
suatu fakta atau aturan. Adapun tahap – tahap algoritma dalam proses metode
1
min[𝑃(𝐻 |𝐸 ),𝑃(𝐻)]−𝑃(𝐻)𝑃(𝐻)=0
MD(H,E)= { ………………………..….…..(2.2)
min[1,0]−𝑃[𝐻]
3. Menghitung Nilai CF
CF𝑐𝑜𝑚𝑏i𝑛𝑒 CF[H. E]1,2 = CF[H. E]1 + CF[H. E]2 * (1-CF[H. E]1 ) ...…..(2.4)
Keterangan :
2.5 Waterfall
berikut [12].
Layanan sistem, kendala, dan tujuan ditetapkan oleh hasil konsultasi dengan
spesifikasi sistem.
hubungannya.
Unit-unit individu program atau program digabung dan diuji sebagai sebuah
customer.
14
Biasanya (walaupun tidak selalu), tahapan ini merupakan tahapan yang paling
sistem yang akan dibuat karena sifatnya yang berorientasikan pada objek [13].
Beberapa pemodelan yang termasuk kedalam pemodelan UML seperti Use Case
berikut.
Use Case diagram adalah suatu gambaran urutan yang saling berkaitan
antara sistem dengan aktor. Use case menggambarkan urutan aktor yang
menghasilkan nilai terukur [14]. Adapun simbol Use Case Diagram sebagai berikut
[15].
dalam sistem menu perangkat lunak, diagram aktivitas sistem bukan suatu operasi
yang dilakukan oleh partisipan, Activity diagram merupakan aktivitas yang dapat
dilakukan oleh sistem. Simbol diagram aktivitas adalah sebagai berikut [14].
dalam sebuah sistem dan hubungannya antara satu dengan yang lain, digunakan
Kelas sebagai suatu set objek yang memiliki atribut dan perilaku yang sama,
kelas di sebut kelas objek. class memiliki tiga area pokok yaitu.
sistem.
2. Atribut dan operasi dari masing – masing Class harus diindentifikasi secara
jelas.
ClassName
1 Kelas Kelas pada struktur system
-Atribut
-Operasi
atribut dan operasi pada suatu class. Adapun simbol visibility sebagai berikut, yaitu:
menyelesaikannya.
Microsoft office visio atau yang biasa disebut visio adalah sebuah program
aplikasi yang sering digunakan untuk membuat diagram, seperti diagram alir atau
20
kerja / proses dari sebuah algoritma maupun kejadian tertentu. diagram alir sendiri
biasa digunakan dan dibuat mulai dari kalangan pendidikan untuk kebutuhan tugas
dan lain-lain, bahkan dalam dunia kerja pun banyak membuat diagram alir untuk
Rancangan Layout Sistem) [20]. Aplikasi ini menggunakan grafik vektor untuk
pemrograman Microsoft Visual Basic dan pengolah datanya Microsof Access [21].
Visual Basic dan SQL Server bisa dikombinasikan untuk membuat aplikasi
desktop. Aplikasi dengan Visual Basic mampu untuk memuat dan menyimpan data
yaitu Microsoft, dan juga merupakan salah satu pemrograman paling laris dan
paling sukses di dunia. Tercatat pada tahun 2005 Visual Basic merupakan bahasa
saling berhubungan dengan relasi yang diatur sedemikian rupa sehingga dapat
digunakan kembali dengan cepat dan mudah dikemudian hari. Microsoft Access
salah satu aplikasi basis data komputer pada Microsoft Office, digunakan untuk
merancang, membuat dan mengolah berbagai jenis data dengan kapasitas besar
maupun database yang kompleks [25]. Gambar Microsoft Access adalah sebagai
berikut.
terhadap database.
3. Form berfungsi untuk memasukkan dan mengubah data / informasi yang ada
laporan.
Crystal report merupakan salah satu paket program yang digunakan untuk
hasilnya lebih baik dan lebih mudah [26]. Dengan Microsoft Visual Basic dilakukan
menggunakan Crystal Report 8.5 [27]. Adapun gambar crystal report sebagai
berikut.
METODOLOGI PENELITIAN
sesuatu dengan menggunakan pikiran secara saksama untuk mencapai suatu tujuan.
atau pengambilan data secara langsung seperti wawancara bagian ahli atau pakar
Certainty Factor. Dengan menggunakan salah satu metode pengumpulan data yang
mendapatkan data yang dibutuhkan dalam penelitian. Adapun penelitian ini yang
penelitian yaitu:
a. Wawancara (Interview)
24
25
dengan ahli kecantikan dr. Arfah Dilla R. Siregar sistem yang akan dirancang
b. Observasi (Observation)
langsung ke tempat studi kasus dimana akan dilakukan penelitian. Dalam hal
kulit wajah.
Waterfall Algoritma maka berikut ini adalah teknik perancangan sistem yang
digunakan:
c. Pengkodean
d. Percobaan Awal
e. Percobaan Akhir
f. Implementasi Sistem
26
atau Algoritma air terjun. Adapun Gambar metode pengembangan sistem yang
Analisis
Masalah
Desain
Sistem Pembangu
nan Sistem Uji Coba
Sistem Implement
asi Sistem
Algoritma. Berikut ini adalah fase yang dilakukan dalam penelitian ini yaitu:
1. Analisis Masalah
Pada fase ini akan ditentukan titik masalah sebenarnya dan elemen - elemen apa
2. Desain Sistem
c. Desain input
27
d. Desain output dari Sistem Pakar yang mau dirancang dalam pemecahan
3. Pembangun Sistem
desain sistem yang dirancang baik dari sistem input, proses dan output
Fase ini merupakan fase terpenting untuk pembangunan sistem pakar. Hal ini
dikarenakan pada fase ini akan dilakukan trial and error terhadap keseluruhan
5. Implementasi atau Pemeliharaan Fase akhir ini adalah fase dimana pemanfaatan
dalam mengidentifikasi jenis kulit wajah yang akan menggunakan sistem ini.
Dalam penelitian ini pengguna atau end user nya adalah Toko Kosmetik
Yani_skincaremsglow.
masalah dalam perancangan Sistem Pakar dalam mengidentifikasi jenis kulit wajah
identifikasi jenis kulit wajah, berikut tahapan-tahapan dari kerangka kerja yang
telah disusun :
Berdasarkan data kepakaran jenis kulit wajah pada konsumen pada tabel 3.1,
keyakinan pakar tentang jenis kulit wajah pada konsumen dengan parameter
yang telah ditentukan, nantinya dapat dijadikan nilai setiap gejala terhadap
kombinasi dua buah rule dengan evidence berbeda (E1 dan E2), tetapi
tersebut.
Berikut ini adalah data yang digunakan sebagai sampel dalam penelitian ini
Data jenis kulit yang sering terjadi pada mengidentifikasi jenis kulit wajah
dapat dilihat dari tabel yang telah dibuat berdasarkan data yang diambil dari
MS Glow .
Adapun yang menjadi identifikasi data jenis kulit wajah dan gejalanya dibuat
yaitu fakta dan rule (aturan). Fakta yang dimaksud adalah pengetahuan pakar pada
jenis kulit wajah, mengenai data jenis kulit wajah yang dibahas pada penelitian ini,
certainty factor.
Dari data diatas terdapat gejala yang didalamnya terdapat identifikasi jenis
kulit wajah. Berikut ini adalah perhitungan metode certainty factor untuk mencari
1. Kulit Normal
Menghitung Nilai CF
CF (h,e1^e3) = CF(h,e1)+CF(h,e3)*(1-CF[h,e1])
= 0,96
CF (h,e1;h,e3^e4) = CF(h,e1,3)+CF(h,e4)*(1-CF[h,e1,3])
= 0,992
2. Kulit Sensitif
Menghitung Nilai CF
CF (h,e2^e5) = CF(h,e2)+CF(h,e5)*(1-CF[h,e2])
= 0,94
Menghitung Nilai CF
CF (h,e5^e0) = CF(h,e5)+CF(h,e0)*(1-CF[h,e5])
= 0,7 + (0 *(1-0,7)
= 0,7
4. Kulit Dewasa
Menghitung Nilai CF
CF (h,e2^e5) = CF(h,e2)+CF(h,e5)*(1-CF[h,e2])
= 0,94
Keterangan:
Dari hasil identifikasi jenis kulit wajah dengan nilai CF akhir yang paling tinggi
pada jenis kulit normal dengan nilai 0.992 atau 99,2 % dengan solusi Pagi : Facial
Wash - Toner - Day Cream, Malam : Facial Wash – Toner - Night Cream dengan
dasar sistem pakar metode Certainty Factor yang akan digunakan, sistem masukan
Language diantaranya adalah use case diagram, activity diagram, dan class
diagram.
Berikut ini adalah pemodelan sistem dengan Use Case Diagram dan Activity
Aktor : Admin
Admin Sistem
1. Buka aplikasi
36
37
Admin Sistem
4. Memverifikasi username dan
password
5. Jika username dan password benar,
maka akan masuk ke menu Utama.
Jika salah akan kembali ke form
Login.
Aktor : Admin
Admin Sistem
1. Menekan tombol tambah dan
lakukan Input data konsultasi pada
jenis kulit Wajah
2. Menyimpan dan menampilkan data
konsultasi yang baru di Input.
3. Menekan tombol edit kemudian
lakukan update pada data konsultasi
4. Menyimpan dan menampilkan data
konsultasi yang baru di update.
5. Menekan tombol bersih
Aktor : Admin
Tabel 4.3 Skenario dari Form Input Data Gejala Jenis kulit
Admin Sistem
1. Menekan tombol tambah dan
lakukan Input data gejala pada jenis
kulit Wajah
2. Menyimpan dan menampilkan data
gejala-gejala yang baru di Input.
3. Menekan tombol edit kemudian
lakukan update pada data gejala
jenis kulit
4. Menyimpan dan menampilkan data
gejala jenis kulit yang baru di
update.
5. Menekan tombol bersih
Aktor : Admin
Admin Sistem
1. Menekan tombol tambah dan lakukan
Input data Jenis kulit pada jenis kulit
Wajah
2. Menyimpan dan menampilkan
data Jenis kulit yang baru di Input.
3. Menekan tombol edit kemudian lakukan
update pada Jenis kulit
4. Menyimpan dan menampilkan
data Jenis kulit yang baru di
update.
5. Menekan tombol bersih
Aktor : Admin
Admin Sistem
1. Menekan tombol tambah nilai bobot
dan lakukan Input data Rulebase
pada jenis kulit Wajah
2. Menyimpan dan menampilkan data
bobot Rulebase yang baru di Input.
3. Menekan tombol edit kemudian
lakukan update pada Rulebase
40
Admin Sistem
Aktor : Admin
database.
Admin Sistem
1. Memilih gejala yang
dikonsultasikan dalam form proese
2. Lalu Menekan Tombol Proses
Konsultasi
3. Sistem Memproses gejala dan
memperhitungkan dengan
menggunakan metode Certainty
Factor
4. Sistem menampilkan hasil diagnosa
dan solusi jenis kulit
41
Dari skenario use case diagram, terdapat gambaran use case diagram
sebagai berikut.
Login
<<include>>
Tambah, Ubah
Menu Utama
Data Konsultasi Dan Hapus
<<include>>
Data
Rulebase
Tambah, Ubah
Dan Hapus
Proses Centaity
Factor
Proses Dan
Cetak
Laporan
Dari use case diagram, terdapat gambaran activity diagram sebagai berikut.
42
segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas
diagram memiliki apa yang disebut atribut dan metode atau operasi.
Tabel Login berisikan user name dan password yang harus di isi sebelum
memasuki halaman Utama. Rancangan tabel Login dapat dilihat dibawah ini:
mengubah dan menghapus, struktur tabel dapat dilihat pada tabel berikut:
Tabel data Hasil merupakan media untuk menampilkan hasil diangosa, struktur
Tabel Data Rule merupakan media untuk penyimpanan data gejala dan jenis kulit
ke dalam bentuk nilai, struktur tabel dapat dilihat pada tabel berikut:
Tabel data Gejala merupakan media untuk penyimpanan data gejala dan jenis
kulit ke dalam bentuk nilai, struktur tabel dapat dilihat pada tabel berikut:
Tabel data Jenis kulit merupakan media untuk penyimpanan data jenis kulit
Pada perancangan form akan dijelaskan tentang desain form pada aplikasi
pakar menggunakan metode Certainty Factor. Rancangan form yang akan dibuat
terdiri dari rancangan form Login user, menu Utama, data menu, update data
Rancangan Form Login Untuk melakukan pengisian data awal user, rancangan
2. Menu Utama
laporan. Rancangan Form Menu Utama ini dapat dilihat pada gambar dibawah
ini:
Form data konsultasi adalah form yang berguna untuk meng-input data
konsultasi yang ditambah, ubah dan dihapus. Rancangan dapat dilihat pada
Form data gejala adalah form yang berguna untuk meng-input data gejala yaitu
kode gejala, nama gejala yang sesuai dengan bobot yang dimiliki. Rancangan
Form data Kulit adalah form yang berguna untuk meng-input data Kulit dan
solusi yaitu sesuai dengan Kulit yang dimiliki. Rancangan dapat dilihat pada
Form data rulebase adalah form yang berguna untuk meng-input data rulebase
yaitu sesuai dengan Kulit yang dimiliki. Rancangan dapat dilihat pada gambar
di bawah ini:
50
Form Certainty Factor ini berfungsi untuk menginput data gejala pada
5.1 Hasil
Pada bagian ini akan ditunjukkan hasil dari perancangan sistem yang telah
berbasis desktop. Hasil yang akan ditampilkan adalah hasil tampilan antarmuka dari
sistem yang telah dibangun serta hasil pengujian sistem yang telah dilakukan.
Hasil tampilan antar muka adalah tahapan dimana sistem atau aplikasi siap
untuk dioprasikan pada keadaan yang sebenarnya sesuai dari hasil analisis dan
perancangan yang dilakukan, sehingga akan diketahui apakah sistem atau aplikasi
yang dibangun dapat menghasilkan suatu tujuan yang dicapai, dan aplikasi sistem
penggunanya. Fungsi dari interface (antarmuka) ini adalah untuk memberikan input
dan menampilkan output dari aplikasi. Pada aplikasi ini memiliki interface yang
terdiri dari form login, form data konsultasi, form data gejala, form data kulit, form
1. Form Login
Form login digunakan untuk mengamankan sistem dari user-user yang tidak
form login:
53
54
Form Menu Utama digunakan sebagai penghubung untuk form data konsultasi,
form data gejala, form data kulit, form proses Certainty Factor oleh admin dan
data pada penyimpanan data kedalam database yaitu form data konsultasi, form
data gejala, form data kulit, form data rulebase dan form proses Certainty Factor.
penginputan data, ubah data dan penghapusan data konsultasi. Adapun form
Form data gejala adalah form pengolahan data-data gejala dalam penginputan
data, ubah data dan penghapusan data. Adapun form data gejala adalah sebagai
berikut.
56
Form data kulit adalah form pengolahan data-data kulit dalam penginputan data,
ubah data dan penghapusan data. Adapun form data kulit adalah sebagai berikut.
Form data rulebase adalah form pengolahan data-data rulebase yang direlasikan
dari data kulit dan data gejala dalam penginputan data, ubah data dan
Dalam pengujians sistem, seseorang berkonsultasi kulit yang terjadi kulit untuk
dari 5 pilihan gejala yang diberikan kepada pengguna dapat dipilih dan dilihat
sebagai berikut:
Dari data diatas terdapat gejala yang didalamnya terdapat identifikasi jenis
kulit wajah. Berikut ini adalah perhitungan metode certainty factor untuk mencari
1. Kulit Normal
Menghitung Nilai CF
CF (h,e1^e3) = CF(h,e1)+CF(h,e3)*(1-CF[h,e1])
= 0,96
CF (h,e1;h,e3^e4) = CF(h,e1,3)+CF(h,e4)*(1-CF[h,e1,3])
= 0,992
2. Kulit Sensitif
Menghitung Nilai CF
CF (h,e2^e5) = CF(h,e2)+CF(h,e5)*(1-CF[h,e2])
= 0,94
Menghitung Nilai CF
CF (h,e5^e0) = CF(h,e5)+CF(h,e0)*(1-CF[h,e5])
= 0,7 + (0 *(1-0,7)
= 0,7
4. Kulit Dewasa
Menghitung Nilai CF
CF (h,e2^e5) = CF(h,e2)+CF(h,e5)*(1-CF[h,e2])
60
= 0,94
Dari hasil identifikasi jenis kulit wajah dengan nilai CF akhir yang paling tinggi
pada jenis kulit normal dengan nilai 0.992 atau 99,2 % dengan solusi Pagi :
Facial Wash - Toner - Day Cream, Malam : Facial Wash – Toner - Night Cream
5.1.2 Pengujian
Pada bagian ini anda diminta untuk melakukan pengujian dengan sampling
data baru atau adanya penambahan record data dari hasil pengolahan data
sebagai berikut:
5.2 Pembahasan
dengan menerapkan metode Certainty Factor. Untuk itu dengan adanya evaluasi
sistem, bisa menjadi acuan untuk dalam perombakan sistem dan update sistem yang
Berikut ini adalah perangkat keras dan perangkat lunak yang dibutuhkan.
1. Perangkat Keras
b. Memory minimal 1 GB
2. Perangkat Lunak
berikut.
1. Kelebihan Sistem
b. Aplikasi sistem dapat mengolah data gejala dan kulit, untuk mendapatkan
2. Kelemahan Sistem
a. Aplikasi Sistem Pakar yang dibangun tidak dapat diakses secara umum dan
b. Aplikasi sistem tidak dapat dengan menggunakan lebih dari satu metode
c. Aplikasi sistem berbasis desktop dan tidak dapat akses secara online.
BAB VI
6.1 Kesimpulan
Berdasarkan hasil analisa dari permasalahan yang terjadi dengan kasus yang
dibahas tentang mengidentifikasi jenis kulit wajah untuk produk skin care dengan
menerapkan metode Certainty factor terhadap sistem yang dirancang dan dibangun
1. Dapat menentukan gejala dan jenis kulit yang diperoleh dari pakar, yang
jenis kulit.
pemodelan yang terdiri dari use case diagram, class diagram, activity diagram
3. Pengujian aplikasi sistem pakar dilakukan pengolahan data gejala, jenis kulit
dan proses metode certainty factor untuk mendapatkan hasil identifikasi jenis
6.2 Saran
Untuk meningkatkan kemampuan dan fungsi dari sistem ada beberapa saran
67
68
Certainty factor akan tetapi bisa dipadukan dengan metode yang lain ataupun
69
70
[9] J.Nasir, J., "Sistem Pakar Konseling Dan Psikoterapi Masalah Kepribadian
Dramatik Menggunakan Metode Forward Chaining Berbasis Web," RABIT
(Jurnal Teknologi dan Sistem Informasi Univrab), Vol. III, No. 1, Pp. 37-48,
2018.
[10] A. T. Putri, B. S. Santoso, M. Izzatillah And R. Senjaya, "Sistem Pakar
Rekomendasi Dan Larangan Makanan Berdasarkan Jenis Penyakit Dengan
Metode Forward Chaining," Departemen Teknik Elektro Dan Teknologi
Informasi, Vol. I, No. 1, Pp. 18-23, 2015.
[11] Y. Darnita And M. , "Penerapan Algoritma Certainty Factor Tes Kesehatan
Sebagai Syarat Kelayakan Mendapatkan Surat Izin Mengemudi (SIM),"
Jurnal SISTEMASI, Vol. VII, No. 3, P. 176 – 186, 2018.
[12] G.Sasmito, " Penerapan Metode Waterfall Pada Desain Sistem Informasi
Geografis Industri Kabupaten Tegal," Jurnal Informatika:Jurnal
Pengembangan IT (JPIT), Vol. II, No. 1, Pp. 6-12, 2017.
[13] M. T. Prihandoyo, "Unified Modeling Language (UML) Model Untuk
Pengembangan Sistem Informasi Akademik Berbasis Web," Jurnal
Informatika: Jurnal Pengembangan IT (JPIT), Vol. III, No. 2477-5126, Pp.
126-129, 2018 .
[14] L. S. Helling, E. Wahyudi and H. , "Siremis: Sistem Informasi Rekam Medis
Puskesmas Kecamatan Matraman Jakarta," INTENSIF, vol. III, no. 2580-
409X, pp. 116-129, 2019.
[15] S. "Implementasi Diagram UML (Unified Modelling Language) Pada
Perancangan Sistem Informasi Remunerasi Dosen Dengan Database Oracle
(Studi Kasus: UIN Sumatera Utara Medan)," Jurnal Ilmu Komputer dan
Informatika, vol. III, no. 2598-6341, pp. 1-9, 2018.
[16] T. S. Waruwu and S. Nasution, "Pengembangan Keamanan Web Login Portal
Dosen Menggunakan Unified Modelling Languange (UML)," Jurnal
Mahajana Informasi, vol. III, no. 2527-8290, pp. 34-40, 2018.
[17] M. Analisa Perancangan Sistem Berorientasi Objek Dengan UML, Bandung:
Informatika, 2019.
71
Koneksi.vb
Imports System.Data.OleDb
Module koneksidatabase
Public Koneksi As OleDbConnection
Public DA As OleDbDataAdapter
Public DS As DataSet
Public Perintah, Perintah1, Perintah2, Perintah3 As
OleDbCommand
Public Pembaca, Pembaca1, Pembaca2, Pembaca3 As
OleDbDataReader
Public SQL, SQL1, SQL2, SQL3 As String
Public AlamatDatabase As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Application.StartupPath & "\Db_kulit.mdb"
Public Sub Bukadatabase()
Koneksi = New OleDbConnection(AlamatDatabase)
If Koneksi.State = ConnectionState.Closed Then
Koneksi.Close()
Try
Koneksi.Open()
Beep()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
End Module
FormLogin.vb
Imports System.Data.OleDb
Public Class FormLogin
Dim id, msg As String
Dim i As Integer
Sub Cari()
SQL = "select * from tbl_login " & _
"where Username='" &
Trim(username.Text) & "'" & _
" and Password='" & _
Trim(password.Text) & "'"
Perintah = New OleDbCommand(SQL, koneksi)
Pembaca = Perintah.ExecuteReader
End Sub
Private Sub FormLogin_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Bukadatabase()
i = 0
End Sub
Private Sub btnoke_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btnoke.Click
i = i + 1
If i = 4 Then
L-1
MsgBox("Anda telah 3 kali melakukan kesalahan. Program
akan ditutup.", _
MsgBoxStyle.Critical, "Konfirmasi")
End
Else
Call Cari()
If username.Text.Trim() = "" And password.Text.Trim()
= "" Then
msg = MsgBox("Masukan Username dan Password",
MsgBoxStyle.Information, "Konfirmasi")
username.Focus()
ElseIf username.Text = "" Then
msg = MsgBox("Masukan Username Anda",
MsgBoxStyle.Information, "Konfirmasi")
username.Focus()
ElseIf password.Text = "" Then
msg = MsgBox("Masukan password Anda",
MsgBoxStyle.Information, "Konfirmasi")
password.Focus()
Else
Try
If Pembaca.Read = False Then
MsgBox("Username Atau Password Yang Anda
Masukkan Salah!!", MsgBoxStyle.Critical, "Peringatan!")
Else
MsgBox("Selamat Anda Berhasil Login..!",
64, "Informasi")
FormMenuUtama.Show()
Me.Hide()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End If
End Sub
Private Sub btnbatal_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles btnbatal.Click
End
End Sub
Private Sub username_KeyDown(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyEventArgs) Handles username.KeyDown
If e.KeyCode = Keys.Enter Then
btnoke_Click(Nothing, Nothing)
End If
End Sub
Private Sub password_KeyDown(ByVal sender As Object, ByVal e
As System.Windows.Forms.KeyEventArgs) Handles password.KeyDown
If e.KeyCode = Keys.Enter Then
btnoke_Click(Nothing, Nothing)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs)
FormMenuUtama.Show()
FormMenuUtama.MenuFileToolStripMenuItem.Enabled = False
FormMenuUtama.LaporanToolStripMenuItem.Enabled = False
End Sub
L-2
Private Sub Button1_Click_1(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Menu_Konsultasi.ShowDialog()
End Sub
End Class
FormMenuUtama.vb
Public Class FormMenuUtama
Private Sub FormMenuUtama_FormClosing(ByVal sender As Object,
ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles
Me.FormClosing
End
End Sub
Private Sub DataGejalaToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
DataGejalaToolStripMenuItem.Click
FormDataGejala.ShowDialog()
End Sub
Private Sub DataKerusakanToolStripMenuItem_Click(ByVal sender
As System.Object, ByVal e As System.EventArgs)
FormDataKulit.ShowDialog()
End Sub
Private Sub KeluarToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
KeluarToolStripMenuItem.Click
If MsgBox("Apakah Anda Yakin Keluar Dari Menu Utama..?",
MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Informasi") =
MsgBoxResult.No Then
Exit Sub
End If
End
End Sub
Private Sub DiagnosaKerusakanToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs)
FormDeteksi.Show()
End Sub
Private Sub DataRuleBaseToolStripMenuItem_Click(ByVal sender
As System.Object, ByVal e As System.EventArgs) Handles
DataRuleBaseToolStripMenuItem.Click
FormRuleBase.Show()
End Sub
Private Sub DataKulitToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
DataKulitToolStripMenuItem.Click
FormDataKulit.ShowDialog()
End Sub
Private Sub DeteksiJenisKulitToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
DeteksiJenisKulitToolStripMenuItem.Click
FormDeteksi.ShowDialog()
End Sub
Private Sub LaporanKerusakanToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
LaporanKerusakanToolStripMenuItem.Click
Laporan.ShowDialog()
End Sub
End Class
FormMenuKonsultasi.vb
Public Class Menu_Konsultasi
L-3
Private Sub MenuFileToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
MenuFileToolStripMenuItem.Click
FormDeteksi.ShowDialog()
End Sub
Private Sub LaporanToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
LaporanToolStripMenuItem.Click
Laporan.ShowDialog()
End Sub
Private Sub KeluarToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
KeluarToolStripMenuItem.Click
Me.Close()
End Sub
End Class
FormGejala.vb
Imports System.Data.OleDb
Public Class FormDataGejala
Sub tampil()
SQL = "Select * From tbl_gejala"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
ListView1.Items.Clear()
While Pembaca.Read
ListView1.Items.Add(Pembaca("KdGejala"))
ListView1.Items(x).SubItems.Add(Pembaca("NmGejala"))
x = x + 1
End While
End Sub
Sub kunciteks()
TextBox1.Enabled = False
TextBox2.Enabled = False
End Sub
Sub BukaTeks()
TextBox1.Enabled = True
TextBox2.Enabled = True
End Sub
Sub bersih()
TextBox1.Clear()
TextBox2.Clear()
End Sub
Sub KunciTombol()
Button1.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
Button5.Enabled = False
End Sub
Sub BukaTombol()
Button1.Enabled = True
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Button5.Enabled = True
L-4
End Sub
Private Sub FormDataGejala_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Bukadatabase()
Call tampil()
Call kunciteks()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button4.Click
Call kunciteks()
Call bersih()
Call tampil()
Button1.Text = "Tambah"
Button2.Text = "Ubah"
Call BukaTombol()
End Sub
Private Sub ListView1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles ListView1.Click
Try
TextBox1.Text =
ListView1.SelectedItems(0).Text.ToString
TextBox2.Text =
ListView1.SelectedItems(0).SubItems(1).Text.ToString
Catch ex As Exception
End Try
End Sub
Private Sub ListView1_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyUp
ListView1_Click(Nothing, Nothing)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
If Button1.Text = "Tambah" Then
Button1.Text = "Simpan"
Call bersih()
Call BukaTeks()
TextBox1.Focus()
Button2.Enabled = False
Button3.Enabled = False
Else
Try
SQL = "Insert Into tbl_gejala Values('" & _
TextBox1.Text & "','" & TextBox2.Text & "')"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Menambah Data",
MsgBoxStyle.Information, "Simpan Data")
Call tampil()
Call bersih()
Button1.Text = "Tambah"
Call kunciteks()
Button2.Enabled = True
Button3.Enabled = True
Catch ex As Exception
MsgBox(ex.Message())
End Try
End If
End Sub
L-5
Private Sub Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button2.Click
If TextBox1.Text = "" Then
MsgBox("Tidak ada data yang akan diedit." & Chr(13) &
Chr(10) & _
"Silahkan pilih terlebih dahulu data yang akan diedit.", _
MsgBoxStyle.Information, "Info")
Else
If Button2.Text = "Ubah" Then
Button2.Text = "Perbaharui"
Call BukaTeks()
TextBox1.Focus()
Button1.Enabled = False
Button3.Enabled = False
Else
Try
SQL = "Update tbl_gejala Set KdGejala='" &
TextBox1.Text & _
"',NmGejala='" & TextBox2.Text & _
"' Where KdGejala='" & TextBox1.Text &
"'"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Memperbaiki Data",
MsgBoxStyle.Information, "Perbaikan Data")
Call tampil()
Call kunciteks()
Button2.Text = "Ubah"
Button1.Enabled = True
Button3.Enabled = True
Catch ex As Exception
MsgBox(ex.Message())
End Try
End If
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button3.Click
Dim pil As String
pil = MsgBox("Anda yakin ingin menghapus data record
ini?", _
MsgBoxStyle.YesNo, "Konfirmasi")
If pil = vbYes Then
Try
SQL = "Delete * From tbl_gejala Where KdGejala='"
& _
TextBox1.Text & "'"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Menghapus Data",
MsgBoxStyle.Information, "Hapus Data")
Call tampil()
Call bersih()
Catch ex As Exception
MsgBox(ex.Message())
End Try
Else
L-6
Exit Sub
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button5.Click
Me.Close()
End Sub
End Class
FormKulit.vb
Imports System.Data.OleDb
Public Class FormDataKulit
Sub tampil()
SQL = "Select * From tbl_Kulit"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
ListView1.Items.Clear()
While Pembaca.Read
ListView1.Items.Add(Pembaca("KdKulit"))
ListView1.Items(x).SubItems.Add(Pembaca("NmKulit"))
ListView1.Items(x).SubItems.Add(Pembaca("Solusi"))
x = x + 1
End While
End Sub
Sub kunciteks()
TextBox1.Enabled = False
TextBox2.Enabled = False
TextBox3.Enabled = False
End Sub
Sub BukaTeks()
TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox3.Enabled = True
End Sub
Sub bersih()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
End Sub
Sub KunciTombol()
Button1.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button5.Enabled = False
End Sub
Sub BukaTombol()
Button1.Enabled = True
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button5.Enabled = True
End Sub
Private Sub FormDataKulit_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Bukadatabase()
Call tampil()
Call kunciteks()
L-7
End Sub
Private Sub ListView1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles ListView1.Click
Try
TextBox1.Text =
ListView1.SelectedItems(0).Text.ToString
TextBox2.Text =
ListView1.SelectedItems(0).SubItems(1).Text.ToString
TextBox3.Text =
ListView1.SelectedItems(0).SubItems(2).Text.ToString
Catch ex As Exception
End Try
End Sub
Private Sub ListView1_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyUp
ListView1_Click(Nothing, Nothing)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
If Button1.Text = "Tambah" Then
Button1.Text = "Simpan"
Call bersih()
Call BukaTeks()
TextBox1.Focus()
Button2.Enabled = False
Button3.Enabled = False
Else
Try
SQL = "Insert Into tbl_Kulit Values('" & _
TextBox1.Text & "','" & TextBox2.Text & "','" &
_
TextBox3.Text & "')"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Menambah Data",
MsgBoxStyle.Information, "Simpan Data")
Call tampil()
Call bersih()
Button1.Text = "Tambah"
Call kunciteks()
Button2.Enabled = True
Button3.Enabled = True
Catch ex As Exception
MsgBox(ex.Message())
End Try
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button2.Click
If TextBox1.Text = "" Then
MsgBox("Tidak ada data yang akan diedit." & Chr(13) &
Chr(10) & _
"Silahkan pilih terlebih dahulu data yang akan diedit.", _
MsgBoxStyle.Information, "Info")
Else
If Button2.Text = "Ubah" Then
Button2.Text = "Perbaharui"
Call BukaTeks()
L-8
TextBox1.Focus()
Button1.Enabled = False
Button3.Enabled = False
Else
Try
SQL = "Update tbl_Kulit Set KdKulit='" &
TextBox1.Text & _
"',NmKulit='" & TextBox2.Text & _
"',Solusi='" & TextBox3.Text & _
"' Where KdKulit='" & TextBox1.Text &
"'"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Memperbaiki Data",
MsgBoxStyle.Information, "Perbaikan Data")
Call tampil()
Call kunciteks()
Button2.Text = "Ubah"
Button1.Enabled = True
Button3.Enabled = True
Catch ex As Exception
MsgBox(ex.Message())
End Try
End If
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button3.Click
Dim pil As String
pil = MsgBox("Anda yakin ingin menghapus data record
ini?", _
MsgBoxStyle.YesNo, "Konfirmasi")
If pil = vbYes Then
Try
SQL = "Delete * From tbl_Kulit Where KdKulit='" &
_
TextBox1.Text & "'"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Menghapus Data",
MsgBoxStyle.Information, "Hapus Data")
Call tampil()
Call bersih()
Catch ex As Exception
MsgBox(ex.Message())
End Try
Else
Exit Sub
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs)
Call kunciteks()
Call bersih()
Call tampil()
Button1.Text = "Tambah"
Button2.Text = "Ubah"
L-9
Call BukaTombol()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button5.Click
Me.Close()
End Sub
End Class
FormRulebase.vb
Imports System.Data.OleDb
Public Class FormRuleBase
Sub tampil()
SQL = "Select * From tbl_rulebase"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
ListView1.Items.Clear()
While Pembaca.Read
ListView1.Items.Add(Pembaca("KdKulit"))
ListView1.Items(x).SubItems.Add(Pembaca("KdGejala"))
ListView1.Items(x).SubItems.Add(Pembaca("NilaiCF"))
x = x + 1
End While
End Sub
Sub tampillvgejala()
SQL = "Select * From tbl_gejala"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
ComboBox2.Items.Clear()
While Pembaca.Read
ComboBox2.Items.Add(Pembaca("KdGejala"))
x = x + 1
End While
End Sub
Sub tampillvKulit()
SQL = "Select * From tbl_Kulit"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
ComboBox1.Items.Clear()
While Pembaca.Read
ComboBox1.Items.Add(Pembaca("KdKulit"))
x = x + 1
End While
End Sub
Sub kunciteks()
ComboBox1.Enabled = False
ComboBox2.Enabled = False
TextBox3.Enabled = False
End Sub
Sub BukaTeks()
ComboBox1.Enabled = True
ComboBox2.Enabled = True
TextBox3.Enabled = True
End Sub
Sub bersih()
ComboBox1.Text = ""
ComboBox2.Text = ""
L-10
TextBox3.Clear()
End Sub
Sub KunciTombol()
Button1.Enabled = False
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = False
Button5.Enabled = False
End Sub
Sub BukaTombol()
Button1.Enabled = True
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Button5.Enabled = True
End Sub
Private Sub FormDataKulit_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Bukadatabase()
Call tampil()
Call tampillvgejala()
Call tampillvKulit()
End Sub
Private Sub ListView1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles ListView1.Click
Try
ComboBox1.Text =
ListView1.SelectedItems(0).Text.ToString
ComboBox2.Text =
ListView1.SelectedItems(0).SubItems(1).Text.ToString
TextBox3.Text =
ListView1.SelectedItems(0).SubItems(2).Text.ToString
Catch ex As Exception
End Try
End Sub
Private Sub ListView1_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyUp
ListView1_Click(Nothing, Nothing)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
If Button1.Text = "Tambah" Then
Button1.Text = "Simpan"
Call bersih()
Call BukaTeks()
ComboBox1.Focus()
Button2.Enabled = False
Button3.Enabled = False
Else
Try
SQL = "Insert Into tbl_rulebase Values('" & _
ComboBox1.Text & "','" & ComboBox2.Text & "','"
& _
TextBox3.Text & "')"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
L-11
MsgBox("Berhasil Menambah Data",
MsgBoxStyle.Information, "Simpan Data")
Call tampil()
Call bersih()
Button1.Text = "Tambah"
Call kunciteks()
Button2.Enabled = True
Button3.Enabled = True
Catch ex As Exception
MsgBox(ex.Message())
End Try
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button2.Click
If ComboBox1.Text = "" Then
MsgBox("Tidak ada data yang akan diedit." & Chr(13) &
Chr(10) & _
"Silahkan pilih terlebih dahulu data yang akan diedit.", _
MsgBoxStyle.Information, "Info")
Else
If Button2.Text = "Ubah" Then
Button2.Text = "Perbaharui"
Call BukaTeks()
ComboBox1.Focus()
Button1.Enabled = False
Button3.Enabled = False
Else
Try
SQL = "Update tbl_rulebase Set KdKulit='" &
ComboBox1.Text & _
"',KdGejala='" & ComboBox2.Text & _
"',NilaiCF='" & TextBox3.Text & _
"' Where KdKulit='" & ComboBox1.Text &
"'"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Memperbaiki Data",
MsgBoxStyle.Information, "Perbaikan Data")
Call tampil()
Call kunciteks()
Button2.Text = "Ubah"
Button1.Enabled = True
Button3.Enabled = True
Catch ex As Exception
MsgBox(ex.Message())
End Try
End If
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button3.Click
Dim pil As String
pil = MsgBox("Anda yakin ingin menghapus data record
ini?", _
MsgBoxStyle.YesNo, "Konfirmasi")
If pil = vbYes Then
Try
L-12
SQL = "Delete * From tbl_rulebase Where KdKulit='"
& _
ComboBox1.Text & "'"
Perintah = New OleDbCommand(SQL, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
MsgBox("Berhasil Menghapus Data",
MsgBoxStyle.Information, "Hapus Data")
Call tampil()
Call bersih()
Catch ex As Exception
MsgBox(ex.Message())
End Try
Else
Exit Sub
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button4.Click
Call kunciteks()
Call bersih()
Call tampil()
Button1.Text = "Tambah"
Button2.Text = "Ubah"
Call BukaTombol()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button5.Click
Me.Close()
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
SQL = "Select * From tbl_Kulit where KdKulit = '" &
ComboBox1.Text & "' "
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
While Pembaca.Read
Label7.Text = (Pembaca("NmKulit"))
x = x + 1
End While
End Sub
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ComboBox2.SelectedIndexChanged
SQL = "Select * From tbl_gejala where KdGejala = '" &
ComboBox2.Text & "' "
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
While Pembaca.Read
Label8.Text = (Pembaca("NmGejala"))
x = x + 1
End While
End Sub
End Class
FormDeteksi.vb
L-13
Imports System.Data.OleDb
Public Class FormDeteksi
Dim totalcek As Double = 0
Sub bersih()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
ListView1.Items.Clear()
ListView2.Items.Clear()
End Sub
Sub tampildata()
SQL = "Select * From tbl_gejala order by KdGejala asc"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
ListView1.Items.Clear()
While Pembaca.Read
ListView1.Items.Add(Pembaca("KdGejala"))
ListView1.Items(x).SubItems.Add(Pembaca("NmGejala"))
x = x + 1
End While
totalcek = x
End Sub
Sub tampil()
SQL = "Select * From tbl_laporan"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
Dim x As Integer
ListView4.Items.Clear()
While Pembaca.Read
ListView4.Items.Add(Pembaca("Tanggal"))
ListView4.Items(x).SubItems.Add(Pembaca("waktu"))
ListView4.Items(x).SubItems.Add(Pembaca("Nama"))
ListView4.Items(x).SubItems.Add(Pembaca("Nilai"))
ListView4.Items(x).SubItems.Add(Pembaca("Jenis"))
ListView4.Items(x).SubItems.Add(Pembaca("Solusi"))
x = x + 1
End While
End Sub
Private Sub FormDiagnosa_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Call Bukadatabase()
Call bersih()
Call tampildata()
Call tampil()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button3.Click
Dim pesan As MsgBoxResult
pesan = MsgBox("Yakin Mau Keluar?", MsgBoxStyle.Question +
MsgBoxStyle.YesNo, "Informasi")
If pesan = MsgBoxResult.Yes Then
Me.Close()
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button2.Click
Call bersih()
Call tampildata()
L-14
Call Bukadatabase()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
ListView2.Items.Clear()
ListView3.Items.Clear()
Dim cek As Integer = 0
For Each b1 In ListView1.CheckedItems
Dim a As String =
Microsoft.VisualBasic.Mid(b1.ToString, 16, 4)
SQL1 = "Select * From tbl_gejala where KdGejala = '" &
a & "'"
Perintah1 = New OleDbCommand(SQL1, Koneksi)
Pembaca1 = Perintah1.ExecuteReader
Dim x As Integer
While Pembaca1.Read
' MsgBox(Pembaca1("NmGejala"))
ListView3.Items.Add(Pembaca1("KdGejala"))
ListView3.Items(x).SubItems.Add(Pembaca1("NmGejala"))
x = x + 1
End While
cek = x
Next
''MsgBox(cek)
If cek = 0 Then
MsgBox("Gejala Masih Kosong, Silahkan Di Pilih",
MsgBoxStyle.Critical)
ListView3.Items.Clear()
ElseIf cek = totalcek Then
MsgBox("Gejala Dipilih Semua, Sistem Tidak Dapat
Mendeteksi", MsgBoxStyle.Critical)
ListView3.Items.Clear()
Else
Dim gejala As String = ""
SQL = "Select * From tbl_Kulit"
Perintah = New OleDbCommand(SQL, Koneksi)
Pembaca = Perintah.ExecuteReader
While Pembaca.Read
Dim Kulit As String = Pembaca("KdKulit")
Dim hasil As Double = 0
gejala = ""
For Each b1 In ListView1.CheckedItems
Dim a As String =
Microsoft.VisualBasic.Mid(b1.ToString, 16, 4)
Dim kodegejala As String = ""
SQL1 = "Select * From tbl_gejala where
KdGejala = '" & a & "'"
Perintah1 = New OleDbCommand(SQL1, Koneksi)
Pembaca1 = Perintah1.ExecuteReader
While Pembaca1.Read
kodegejala = a
gejala = gejala & " " &
Pembaca1("NmGejala") & " " & Environment.NewLine
SQL2 = "Select * From tbl_rulebase where
KdGejala= '" & kodegejala & "' and KdKulit='" & Kulit & "'"
Perintah2 = New OleDbCommand(SQL2,
Koneksi)
Pembaca2 = Perintah2.ExecuteReader
L-15
While Pembaca2.Read
Dim bobot As Double =
Pembaca2("NilaiCF")
hasil = hasil + bobot * (1 - hasil)
End While
End While
Next
ListView2.Items.Add(Kulit)
ListView2.Items(ListView2.Items.Count -
1).SubItems.Add(hasil)
End While
' pengecekan nilai tertinggi\
Dim max As String = ""
Dim max1 As Double = 0
For i = 0 To ListView2.Items.Count - 1
Dim n As Double =
ListView2.Items(i).SubItems(1).Text.ToString
If max1 < n Then
max = ListView2.Items(i).Text.ToString
max1 = n
End If
Next
Dim namaKulit As String = ""
Dim solusi As String = ""
Dim db As String = "select * from tbl_Kulit where
KdKulit='" & max & "'"
Perintah1 = New OleDbCommand(db, Koneksi)
Pembaca1 = Perintah1.ExecuteReader
While Pembaca1.Read
namaKulit = Pembaca1("NmKulit")
solusi = Pembaca1("Solusi")
End While
TextBox1.Text = namaKulit
TextBox3.Text = solusi
TextBox2.Text = (max1 * 100) & " %"
Dim sqla As String = "Insert Into tbl_diagnosa
(NmGejala,NmKulit,NilaiCF,Solusi) Values('" & _
gejala & "','" & namaKulit & "','" &
TextBox2.Text & "','" & _
solusi & "')"
Perintah = New OleDbCommand(sqla, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
Dim SQLhapus As String = "Delete * From tbl_laporan"
Perintah = New OleDbCommand(SQLhapus, Koneksi)
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
Dim tanggal As String
Dim waktu As String
tanggal = Format(Now, "dd / MMM / yyyy")
waktu = Format(Now, "hh:mm:ss")
Dim sqlb As String = "Insert Into tbl_laporan(Tanggal,
Waktu, Nama, Nilai, Jenis, Solusi) Values('" & _
tanggal & "','" & waktu & "','" &
TextBox4.Text & "','" & TextBox2.Text & "','" & TextBox1.Text &
"','" & _
TextBox3.Text & "')"
Perintah = New OleDbCommand(sqlb, Koneksi)
L-16
Perintah.CommandType = CommandType.Text
Perintah.ExecuteNonQuery()
tampil()
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button4.Click
Laporan.ShowDialog()
End Sub
End Class
L-17