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
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 :
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.
STA RT
Data gejala -gejala kanker kandungan
Input gejala , hasil screen test Ada Input Proses penggolahan data dengan naive bayes STO P Keputusan apakah m enderita
kanker apa tidak Y
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
Nama Kolom Tipe Data Keterangan Fungsi
Id Integer Primary Key Menyimpan id
pasien
Umur Integer Menyimpan umur
oasien Kawin Character varying (20) Menyimpan data riwayat perkawinan usia_reproduktif Character varying (30) Menyimpan keterangan menopause tekanan_darah Character varying (30) Menyimpan keterangan tekanan darah Pola_haid Character varying (30) Menyimpan keterangan siklus haid Nyeri_haid Character varying (30) Menyimpan keterangan nyeri haid
Keputihan Character varying (30) Menyimpan data keputihan Pendarahan Character varying (30) Menyimpan data pendarahan Nyeri_perut Character varying (30) Menyimpan data nyeri perut Benjolan_perut Character varying (30) Menyimpan data benjolan perut Benjolan_tumbu h Character varying (30) Menyimpan data benjolan tumbuh pada perut Benjolan_berger ak Character varying (30) Menyimpan data benjolan bergerak pada perut pucat Character varying (30) Menyimpan data gejala pucat mntah Character varying (30) Menyimpan data gejala muntah Panas_tubuh Character varying (30) Menyimpan data gejala panas tubuh diagnosis Character
varying (30) 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
tidaklah begitu penting, sehingga perlu dihilangkan, seperti field nama pasien.
2. 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.
5. Tekanan_darah
Atribut untuk menyimpan data tekanan darah pasien. Apakah tensinya normal, rendah tau tinggi.
6. Pola_haid
Atribut untuk menyimpan data riwayat menstruasi pasien apakah teratur atau tidak teratur.
7. Nyeri_haid
Atribut untuk menyimpan data riwayat menstruasi pasien apakah mengalami nyeri haid atau tidak.
8. Keputihan
Atribut untuk menyimpan data riwayat keputihan pada pasien, apakah mengalami keputihan atau tidak.
9. Pendarahan
Atribut untuk menyimpan data gejala pendarahan pada pasien, apakah mengalami pendarahan atau tidak.
10. Nyeri_perut
Atribut untuk menyimpan data gejala nyeri perut pada pasien, apakah mengalami nyeri perut atau tidak.
11. Benjolan_perut
Atribut untuk menyimpan data gejala benjolan pada perut pasien, apakah mengalami benjolan pada perut atau tidak.
12. Benjolan tumbuh
Atribut untuk menyimpan data gejala benjolan pada perut pasien tersebut tumbuh membesar, apakah benjolannya tumbuh atau tidak.
13. Benjolan bergerak
Atribut untuk menyimpan data gejala benjolan yang bergerak pada perut pasien, apakah benjolannya bergerak atau tidak.
14. Muntah
Atribut untuk menyimpan data gejala muntah pada pasien , apakah mengalami muntah-muntah atau tidak.
15. Pucat
Atribut untuk menyimpan data gejala pucat pada pasien, apakah terlihat pucat atau tidak.
16. Badan_panas
Atribut untuk menyimpan data panas tubuh pada pasien, apakah pasien bersuhu tinggi atau tidak.
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
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
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
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) = 1/17 P(X10 = benjolan tdk bergerak /C2) = 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
P(C1/X) = ) ( ) 1 ( ). 1 / ( X P C P C X P =
98415
2
= 0,000020322P(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) = ) ( ) 2 ( ). 2 / ( X P C P C X P = 0Sehingga 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.
• 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.
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
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
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. 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.
Gambar 3. 11 Halaman Data Training
Gambar 3. 12 Menginputkan Data
Gambar 3. 13 Data berhasil ditambahkan
Gambar 3. 14 Melakukan pengeditan data
Gambar 3. 15 Data berhasil diupdate
Gambar 3. 16 Melakukan pengeditan Data
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.
Gambar 3. 18 Hasil diagnosis muncul Potongan fungsi untuk halaman diagnosis
PrivateSub banding() Dim tmp Dim inisial inisial = 0 tmp = 0 If totalCancer >= tmp Then tmp = totalCancer inisial = 1 EndIf If totalNormal >= tmp Then tmp = totalNormal inisial = 2 EndIf 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"
EndIf EndSub
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.