aplikasi diagnosis kanker kandungan dengan naive

advertisement
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
BAB III
PERANCANGAN DAN PEMBUATAN
PERANGKAT LUNAK
3.1
Deskripsi Kebutuhan Sistem
Berikut ini akan dijelaskan tentang beberapa kebutuhan sistem
yang menunjang dalam pembuatan Proyek Akhir yan terdiri dari
hardware maupu software sebagai berikut ini :
1. Hardware
Komputerminimal 1 buah dengan spesifikasi minimum sebagai
berikut :
1. CPU
: Processor Core 2 Duo
2. Harddisk
: 120 Gb
3. Memory
: 1 Gb
4. Monitor
: Resolusi 1024 x 768
2. Software
− Operating sistem yang digunakan yaitu Winddows Vista.
− Tools pendukung VB.Net dan MySQL.
3.2
Perancangan Sistem
3.2.1 Diagram Sistem
Proses kerja sistem pada Proyek Akhir ini adalah dimulai dari
user kemudian menuju aokikasi dan selanjutnya akan kembali lagi ke
user dengan hasil berupa keputussan atau diagnosis penyakit.
Secara garis besar proses-proses yang terjadi di dalam
perancangan
sistem
adalah
sebagai
berikut
:
Gambar 3. 1 Diagram Perancangan Sistem
Sedangkan aliran data pada sistemnya digambarkan pada Data Flow
Diagram dibawah ini
21
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Gambar 3. 2 Data Flow Diagram Level 0
Sedangkan untuk aliran data pada level 1 adalah
Gambar 3. 3 Data Flow Diagram Level 1
3.2.2 Diagram Alir (Flowchart) Sistem
Diagram alir ( flowchart ) sistem ini dapat digambarkan seperti
berikut ini :
22
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
START
Data gejala -gejala
kanker kandungan
Input gejala , hasil
screen test
N
Ada Input
Y
Proses
penggolahan
data dengan
naive bayes
Keputusan
apakah m enderita
kanker apa tidak
STO P
Gambar 3. 4 Flowchart Sistem
3.2.3 Uraian Design Sistem
Ketika aplikasi ini dijalankan maka pertama kali akan meminta
input dari user. Inputannya berupa gejala – gejala yang menyertainya.
Kemudian data tersebut diproses atau mengalami tahap preprocessing
untuk diseleksi data yang tidak perlu serta ditangani missing valuenya.
23
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Selanjutnya barulah dilakukan pembelajaran terhadap data gejala dari
data training yang sebelumnya telah tersimpan di database.
Selanjutnya
dilakukan
proses
klasifikasi
untuk
mengklasifikasikan gejala - gejala menjadi 2 kelompok yaitu yang
sesuai dengan gejala penyakit dan yang tidak sesuai. Selanjutnya
diadakan testing untuk menghasilkan keputusan mengenai jenis
penyakit kankernya.
3.2.4 Design Database
Perancangan database dilakukan dengan mebuat tabel-tabel
untuk menampung data dari hasil preprocessing yang akan dibuat untuk
data training. Data training ini nantinya akan diklasifikasikan dengan
metode naive bayes sehingga dihasilkan keluaran berupa keputusan atau
diagnosis apakah seseorang menderita kanker atau tidak. Tabel yang
digunakan adalah
• Tabel diagnosis
Tabel ini berfungsi untuk menyimpan informasi mengenai semua
riwayat pasien baik yang positif menderita penyakit kanker ataupun
tidak. Data di sini telah mengalami proses preprocessing data. Sehingga
missing value telah ditangani. Deskripsi dari tabel ini dapat dilihat pada
Tabel 3.3.
Tabel 3. 1 Struktur table diagnosa
24
Nama Kolom
Id
Tipe Data
Integer
Umur
Integer
Kawin
Character
varying (20)
usia_reproduktif
Character
varying (30)
tekanan_darah
Character
varying (30)
Pola_haid
Character
varying (30)
Nyeri_haid
Character
varying (30)
Keterangan
Primary Key
Fungsi
Menyimpan
id
pasien
Menyimpan umur
oasien
Menyimpan data
riwayat
perkawinan
Menyimpan
keterangan
menopause
Menyimpan
keterangan
tekanan darah
Menyimpan
keterangan siklus
haid
Menyimpan
keterangan nyeri
haid
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Keputihan
Benjolan_tumbu
h
Character
varying (30)
Character
varying (30)
Character
varying (30)
Character
varying (30)
Character
varying (30)
Benjolan_berger
ak
Character
varying (30)
pucat
Character
varying (30)
Character
varying (30)
Character
varying (30)
Pendarahan
Nyeri_perut
Benjolan_perut
mntah
Panas_tubuh
diagnosis
Character
varying (30)
Menyimpan data
keputihan
Menyimpan data
pendarahan
Menyimpan data
nyeri perut
Menyimpan data
benjolan perut
Menyimpan data
benjolan tumbuh
pada perut
Menyimpan data
benjolan bergerak
pada perut
Menyimpan data
gejala pucat
Menyimpan data
gejala muntah
Menyimpan data
gejala
panas
tubuh
Hasil diagnosis
3.3
Pre-processing
Pre-processing data merupakan proses untuk menyiapkan data
mentah dengan tujuan agar data tersebut siap untuk diolah selanjutnya.
Data mentah yang ada yaitu data kategorikal yang masih memiliki
kekurangan yang harus dilakukan seleksi lagi sehingga menghasilkan
informasi yang sama. Karena untuk metode bayes dan data kategorikal
yang akan dipakai harus berupa data yang konkret sehingga dapat
diproses dengan naive bayes.
3.3.1 Kodisi Data Awal
Data yang digunakan pada sistem aplikasi ini merupakan data riil
dari gejala-gejala penyakit kanker kandungan yang berasal dari Rumah
Sakit Gambiran kota Kediri.
Data-data tersebut merupakan data kategorikal , dimana terdapat
data yang tidak konsisten atau hilang (missing value). Sehingga perlu
dilakukan penanganan agar data dapat diproses lebih lanjut.
Adapun preprocessing data yang akan dilakukan meliputi :
1. Adanya seleksi terhadap data yang tidak penting dalam proses
pengklasifikasian. Terdapat beberapa field yang informasinya
25
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
2.
tidaklah begitu penting, sehingga perlu dihilangkan, seperti field
nama pasien.
Adanya penanganan missing value yang akan menangani adanya
nilai dari field atau atribut yang hilang atau tidak ada dalam
database. Solusi yang akan digunakan adalah dengan mengganti
nilai tersebut berdasarkan frekuensi nilai yang sering muncul.
Tabel 3. 2 Data riil yang digunakan
Setiap data yang diperoleh perlu dilakukan penyesuaian dalam hal
atribut yang dimiliki, sehingga tidak semua atribut akan digunakan. Jika
dirinci, maka
1. id.
Atribut untuk id pasien yang unik.
2. umur
Atribut untuk menyimpan data umur pasien
3. kawin.
Atribut untuk menyimpan data riwayat perkawinan pasien. Di
sini menyimpan data apakah pasien menikah atau tidak.
4. Usia_reproduktif
Atribut untuk menyimpan data pasien apakah masih dalam usia
reproduktif atau tidak.
26
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Tekanan_darah
Atribut untuk menyimpan data tekanan darah pasien. Apakah
tensinya normal, rendah tau tinggi.
Pola_haid
Atribut untuk menyimpan data riwayat menstruasi pasien
apakah teratur atau tidak teratur.
Nyeri_haid
Atribut untuk menyimpan data riwayat menstruasi pasien
apakah mengalami nyeri haid atau tidak.
Keputihan
Atribut untuk menyimpan data riwayat keputihan pada pasien,
apakah mengalami keputihan atau tidak.
Pendarahan
Atribut untuk menyimpan data gejala pendarahan pada pasien,
apakah mengalami pendarahan atau tidak.
Nyeri_perut
Atribut untuk menyimpan data gejala nyeri perut pada pasien,
apakah mengalami nyeri perut atau tidak.
Benjolan_perut
Atribut untuk menyimpan data gejala benjolan pada perut
pasien, apakah mengalami benjolan pada perut atau tidak.
Benjolan tumbuh
Atribut untuk menyimpan data gejala benjolan pada perut
pasien tersebut tumbuh membesar, apakah benjolannya tumbuh
atau tidak.
Benjolan bergerak
Atribut untuk menyimpan data gejala benjolan yang bergerak
pada perut pasien, apakah benjolannya bergerak atau tidak.
Muntah
Atribut untuk menyimpan data gejala muntah pada pasien ,
apakah mengalami muntah-muntah atau tidak.
Pucat
Atribut untuk menyimpan data gejala pucat pada pasien,
apakah terlihat pucat atau tidak.
Badan_panas
Atribut untuk menyimpan data panas tubuh pada pasien,
apakah pasien bersuhu tinggi atau tidak.
27
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Semua data yang akan dibuat ini digunakan sebagai data riil
yang akan diproses lagi dengan dengan preprocessing data. Di mana
beberapa telah dihilangkan karena tidak berpengaruh dalam proses
pengklasifikasian. Umtuk lebih jelasnya data riil dapat dilihat pada
lampiran.
3.3.2 Proses Preprocessing Data
Pada tahap ini terjadi proses preprocessing sehingga dihasilkan data
yang konsisten dan siap untuk diproses lebih lanjut.
Adapun preprocessing data yang akan dilakukan meliputi :
1. Adanya seleksi terhadap data yang tidak penting dalam proses
pengklasifikasian. Terdapat beberapa field yang informasinya
tidaklah begitu penting, sehingga perlu dihilangkan. Dalam
kasus ini dilakukan penghapusan data nama karena tidak
mempengaruhi proses selanjutnya.
2. Adanya penanganan missing value yang akan menangani
adanya nilai dari field atau atribut yang hilang atau tidak ada
dalam database. Data yang diguynakan dalam sistem ini adalah
data riil yang berupa data kategorikal. Sehingga solusi yang
akan digunakan adalah dengan mengganti nilai tersebut
berdasarkan frekuensi nilai yang sering muncul.
Sehingga data training yang telah mengalami preprocessing adalah
Tabel 3. 3 Data Training
28
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
3.4
Proses Naive Bayes
Proses Naive Bayes dalam sistem ini merupakan proses yang
utama. Metode ini cukup baik untuk proses pengklasifikasian data untuk
menghasilkan keputusan sebagai hasil diagnosis dengan menggunakan
data training sebagai data learning. Proses yang dilakukan oleh metode
ini meliputi proses penghitungan probabilitas dari setiap inputan data
dari user yang kemudian dilanjutkan dengan menbandingkan setiap
hasilnya. Kemudian barulah dilakukan pengambilan kesimpulan atau
keputusan untuk menentukan diagnosis pasien.
3.4.1 Algoritma Naive Bayes
Algoritma Naive Bayes ini digunakan untuk mengetahui
bagaimana proses dari metode ini berjalan sehingga menghasilkan
keputusan pada aplikasi diagnosis kanker kandungan ini.
Tahap-tahap dari pengambilan keputusan dengan Naive Bayes
adalah
1. Memasukkan parameter atau input data yanga kan
diproses.
2. Mencari nilai atribut hasil terakhir yang akan menjadi
hasil diagnosis kelompokkan sesuai banyaknya yaitu
yang kanker dan yang normal.
3. Mencari nilai probabilitas dari setiap atribut berdasarkan
pengelompokan hasil akhir.
4. Melakukan pengelompokkan (dalam hal ini melakukan
pengkalian) pada masing-masing probabilitas tiap-tiap
atribut sesuai dengan jenis hasil diagnosis.
5. Dari langkah no 5 kemudian mencari nilai probabilitas
terbesar sehingga dihasilkan kesimpulan atau keputusan
diagnosisnya.
3.4.2 Proses Penghitungan Probabilitas
Proses penghitungan dalam sistem ini menggunakan metode
naive bayes yang meliputi beberapa tahap seperti pengklasifikasian hasil
diagnosis, mencari probabilitas tiap atribut, serta mencari nilai terbesar
untuk menghasilkan keputusan sebagai diagnosis.
Untuk menghitung probabilitas bersyarat untuk menghasilkan
keputusan dapat dimisalkan dengan menggunakan tabel berikut ini
29
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Tabel 3. 4 Tabel Data Traning
Kemudian dimisalkan terdapat data tes sebagai berikut ini :
• umur : 36
• kawin : ya
• usia_reproduktif : ya
• pola_haid : tidak teratur
• nyeri_haid : ya
• keputihan : ya
• pendarahan : ya
• nyeri_perut : ya
• benjolan_perut : ya
• benjolan_tumbuh : tidak
• benjolan_bergerak : tidak
• muntah : tidak
• pucat : tidak
• badan_panas : tidak
Maka :
P(cervix) = P(C1) = 17/20
P(tidak) = P(C2) = 3/20
P(X1 = kawin/C1) = 15/17
P(X1 = kawin/C2) = 3/3
P(X2 = reproduksi /C1) = 12/17
P(X2 = reproduksi /C2) = 3/3
P(X3 = pola_haid /C1) = 8/17
P(X3 = pola_haid/C2) = 1/3
30
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
P(X4 = nyeriHaid /C1) = 9/17
P(X4 = nyeriHaid /C2) = 1/3
P(X5 = keputihan/C1) = 14/17
P(X5 = keputihan/C2) = 1/3
P(X6 = pendarahan/C1) = 17/17
P(X6 = pendarahan/C2) = 0/3
P(X7 = nyeriperut /C1) = 9/17
P(X7 = nyeriperut /C2) = 0/3
P(X8 = benjolan perut /C1) = 9/17
P(X8 = benjolan perut /C2) = 3/3
P(X9 = benjolan tdk tumbuh /C1) = 1/17
P(X9 = benjolan tdk tumbuh /C2) = 0/3
P(X10 = benjolan tdk bergerak /C1)
P(X10 = benjolan tdk bergerak /C2)
= 1/17
= 0/3
P(X11 = muntah /C1) = 17/17
P(X11 = muntah /C2) = 3/3
P(X12 = pucat /C1) = 1/17
P(X12 = pucat/C2) = 1/3
P(X13 = badan_panas /C1) = 1/17
P(X13 = badan_panas /C2) = 1/3
P(X(36, ya, ya, tidak teratur, ya, ya, ya, ya, ya, tidak, tidak, tidak, tidak,
tidak)/C1)
= P(X1/C1). P(X2/C1). P(X3/C1). P(X3/C1). P(X4/C1). P(X5/C1).
P(X6/C1). P(X7/C1). P(X8/C1). P(X9/C1). P(X10/C1). P(X11/C1).
P(X12/C1). P(X13/C1).
=15/17 x 12/17 x 8/17 x 9/17 x 14/17 x 17/17 x 9/17 x 9/17 x 1/17 x
1/17 x 17/17 x 1/17 x 1/17
31
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
P(C1/X) = P ( X / C1).P(C1)
P( X )
=
2
98415
= 0,000020322
P(X(36, ya, ya, tidak teratur, ya, ya, ya, ya, ya, tidak, tidak, tidak, tidak,
tidak)/C2)
= P(X1/C2). P(X2/C2). P(X3/C2). P(X3/C2). P(X4/C2). P(X5/C2).
P(X6/C2). P(X7/C2). P(X8/C2). P(X9/C2). P(X10/C2). P(X11/C2).
P(X12/C2). P(X13/C2).
= 3/3 x 3/3 x 1/3 x 1/3 x 1/3 x 0 x 1/3 x 0 x 3/3
P(C2/X) = P( X / C 2).P(C 2)
P( X )
=0
Sehingga P(C1/X) > P(C2/X) maka tupel tersebut terkena kanker
3.5
Pembuatan Aplikasi
Semua data yang ada pada database akan ditampilkan pada
aplikasi sebagai data training. Data ini sebagai acuan dalam
pengambilan keputusan tentang diagnosis dini penyakit kanker
kandungan. Di mana data training tersebut kan mengalami
pengklasifikasian dengan metode naive bayes.
3.5.1
Design User Interface
Graphical User Interface atau yang sering disebut sebagai GUI
adalah tampilan dari program yang bisa dinikmati oleh user.
Perancangan User Interface harus dibuat semenarik dan seindah
mungkin dengan tetap mengutamakan kenyamanan dalam
mengoperasikan program (user friendly). Tampilan User Interface
dituangkan dalam sebuah web site yang dibangun dengan menggunakan
bahasa pemrograman VB.Net
Dalam proses perancangan ini, tampilan web akan dibagi menjadi
beberapa menu.
32
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
•
•
•
Tampilan utama aplikasi
Berikut ini adalah tampilan utama dari aplikasi dengan
berbagai menu yang disediakan.
Gambar 3. 5 Interface utama
Halaman untuk login user
Halaman ini akan dioperasikan oleh user untuk melakukan
login terhadap aplikasi. Di sini disediakan beberapa user
dengsn hak akses sendiri-sendiri. Di sini dimisalkan
terdapat user admin sebagai administrator serta paramedis
sebagai user biasa.
Gambar 3. 6 Tampilan Login user
Halaman untuk data training
Halaman ini merupakan tempat untuk melakukan
manipulasi terhadap data training. Disini terdapat beberapa
menu untuk mengolah databse seperti add, edit, delete
ataupun save.
33
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Gambar 3. 7 Tampilan Halaman Data Training
•
Halaman untuk proses diagnosis
Halaman ini adalah halaman untuk melakukan proses
Naive Bayes. Disini merupakan inti aplikasi dimana akan
diketahui apakah pasien atau seseorang menderita kanker
atau tidak. Diawali dengan menginputkan data sesuai
gejala-gejala yang telaha ditentukan, kemudian menekan
tombol proses maka akan didapatkan diagnosis awal
Gambar 3. 8 Tampilan Halaman Diagnosis
34
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
3.5.2
Implementasi
Pada bagian ini akan dibahas mengenai implementasi sistem
berdasarkan hasil perancangan yang telah ditetapkan sebelumnya.
Implementasi sistem meliputi lingkungan implementasi dan
implementasi program.
Adapun tahapan uji cobanya adalah
1. Melakukan login sesuai dengan hak akses user.
Admin atau dokter mempunyai hak akses penuh terhadap
aplikasi. Hak aksesnya meliputi dapat melakukan perubahan
pada data training dan juga melakukan diagnosis. Sedangkan
paramedis yang lain seperti perawat hanya dapat mengakses
form diagnosis saja.
User dokter (administrator)
Gambar 3. 9 Login dokter
User perawat
Gambar 3. 10 Login perawat
35
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Adapun potongan programnya adalah
Pada baris ke 3 sampai ke 16 adalah fungsi untuk menginputkan semua
user. Dimana untuk login username dan password harus sesuai. Dan
apabila tidak maka user harus kembali menginputkan username dan
passwordnya yang benar. Setelah itu barulah masuk ke halaman yang
dituju.
2.
36
Melakukan input data training
Setelah melakukan login dokter maka user akan masuk
pilihan menu apakah ke form data training atau langsung ke
form diagnosis. Apabila memilih data training maka akan
masuk ke form ini. Disini terdapat beberapa menu untuk
mengolah databse seperti add, edit, delete ataupun save.
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Gambar 3. 11 Halaman Data Training
•
Melakukan penambahan data
37
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Gambar 3. 12 Menginputkan Data
Gambar 3. 13 Data berhasil ditambahkan
•
38
Melakukan pengeditan data
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Gambar 3. 14 Melakukan pengeditan data
Gambar 3. 15 Data berhasil diupdate
•
Melakukan penghapusan data
39
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Gambar 3. 16 Melakukan pengeditan Data
Potongan fungsi untuk halaman manipulasi data training adalah
40
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Perintah insert data baru ke dalam database tampak pada baris ke 180 –
203. Sedangkan untuk edit data tampak pada baris ke 218-242
Gambar 3. 17 Form Diagnosis
3.
Mendapatkan hasil diagnosis dini
Inilah hasil dignosis dari proses pengklasifikasian dengan
metode naive bayes. Hasil diagnosis akan muncul setelah
semua data dinputkan dan button proses diklik. Maka dari
inputan gejala didapatkan seseorang menderita penyakit kanker
cervix.
41
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Gambar 3. 18 Hasil diagnosis muncul
Potongan fungsi untuk halaman diagnosis
Private Sub banding()
Dim tmp
Dim inisial
inisial = 0
tmp = 0
If totalCancer >= tmp Then
tmp = totalCancer
inisial = 1
End If
If totalNormal >= tmp Then
tmp = totalNormal
inisial = 2
End If
hasil = tmp
If inisial = 1 Then
MsgBox("P(C1/X1) > P(C2/X2)")
txtHasil.Text = "cancer"
ElseIf inisial = 2 Then
MsgBox("P(C1/X1) < P(C2/X2)")
txtHasil.Text = "normal"
End If
End Sub
42
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
Potongan program diatas menunjukkan proses penghitungan dari proses
naive bayes. Dimana terdapat pembandingan nilai dari hasil probabilitas
dari setiap pengklasifikasian untuk mendapatkan keputusan berupa hasil
diagnosis. Apabila P(C1/X1) > P(C2/X2) maka hasilnya adalah terkena
kanker kandungan. Sedangkan apabila kebalikkannnya maka hasilnya
normal atau tidak terkena kanker.
43
Aplikasi Diagnosis Kanker Kandungan dengan Naive Bayes
**Halaman ini sengaja dikosongkan**
44
Download