14
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem
Analisa sistem merupakan langkah awal yang dilakukan sebelum tahap implementasi. Analisa sistem pada penelitian ini meliputi:
3.1.1. Variabel Penelitian
Penelitian diawali dengan pengumpulan fakta-fakta mengenai penyakit mata katarak dan gejalanya. Sesuai dengan penjelasan di dalam latar belakang, variabel dalam penelitian ini disebut fitur, fitur yang disertai anamnesa, pemeriksaan dokter/labolatorium dan pemeriksaan penunjang. Fitur dapat dilihat pada Tabel 3.1.
PENGUMPULAN DATA
DATA PREPROCESSING
DATA TRAINING DATA TESTING
PEMBUATAN MODEL MODEL PROSES ANN HASIL KLASIFIKASI
15
Tabel 3.1. Fitur Penelitian
A ANAMNESA B PEMERIKSAAN
DOKTER / LABOLATORIUM
C PEMERIKSAAN
PENUNJANG
1. Jenis Kelamin 6. Radang Bilik Mata Depan
14. Rw. Kehamilan
2. Umur 7. Lensa Keruh Tidak
Rata
15. Rw. Sakit Mata Uvetis
3. Kabur 8. Lensa Keruh Rata 16. Rw. Sakit Mata Glaucoma
4. Silau 9. Lensa Keruh
Pencairan Cortex
17. Rw. Keluarga Tidak Bisa Melihat
5. Trauma 10. Mikroftalmia 18. Kelainan Jantung Bawaan
11. Mikrocepali 19. Gangguan
Pendengaran
12. Tekanan Intra Okuli Atau TIO
20. Parasit Toxo Plasma
13. Antariar / Coklat 21. Robela / Campak
22. Cito Megalo Virus
3.1.2. Pemetaan Rekam Medis Pasien
Berisi data-data pasien diantaranya identitas pasien, anamnesa (gejala yang dirasakan pasien), pemeriksaan fisik (anamnesa), pemeriksaan laboratorium, diagnosis dokter, segala pelayanan dan tindakan medis yang diberikan kepada pasien. Rekam medis dalam penelitian ini khususnya pasien yang menderita katarak Sinilis dan Kongenital dari rumah sakit, seperti pada tabel 3.2.
16
Tabel 3.2. Pemetaan Data Gejala Pasien
No GEJALA PADA PASIEN KETERANGAN
A No. Rek B Nama
C Jenis Kelamin 0. Laki-Laki, 1. Perempuan
D Umur 0>10 = 0 11 s/d 39 = 1 40- ....= 2
E Kabur (0). Tidak (1). Iya
F Silau (0). Tidak (1). Iya
G Trauma (0). Tidak (1). Iya
H Radang Bilik Mata Depan (0). Tidak (1). Iya I Lensa Keruh Tidak Rata (0). Tidak (1). Iya
J Lensa Keruh Rata (0). Tidak (1). Iya
K Lensa Keruh Pencairan Cortex (0). Tidak (1). Iya
L Mikroftalmia (0). Tidak (1). Iya
M Mikrocepali (0). Tidak (1). Iya
N Tekanan Intra Okuli Atau TIO 20-30 = 0 30-40 = 1 40- ...= 2
O Antariar / Coklat (0). Tidak (1). Iya
P Rw. Kehamilan (0). Tidak (1). Iya
Q Rw. Sakit Mata Uvetis (0). Tidak (1). Iya R Rw. Sakit Mata Glaucoma (0). Tidak (1). Iya S Rw. Keluarga Tidak Bisa Melihat (0). Tidak (1). Iya T Kelainan Jantung Bawaan (0). Tidak (1). Iya U Gangguan Pendengaran (0). Tidak (1). Iya V Parasit Toxo Plasma (0). Tidak (1). Iya
W Robela / Campak (0). Tidak (1). Iya
X Cito Megalo Virus (0). Tidak (1). Iya
17 3.1.3. Pengumpulan Data Panyakit Katarak
Data pendukung yang dibutuhkan pada penelitian ini adalah data pemeriksaan (klinis) pasien penderita katarak Sinilis dan Kongenital. Data-data tersebut berisi data dasar dari anamnesa, pemeriksaan dokter/labolatorium serta pemeriksaan penunjang (riwayat penyakit pasien dan keluarga pasien). Data didapatkan dari rekam medis pasien yang sudah memiliki diagnosis dokter spesialis penyakit mata di rumah sakit swasta di Pasuruan seperti pada tabel 3.2
3.1.4 Data Preprocessing
Data Preprocessing ini bertujuan untuk mentransformasikan data yaitu menyeragamkan data untuk semua fitur. Data yang tidak berupa angka perlu dilakukan konversi menjadi data biner. Misal data riwayat gangguan pendengaran “1” untuk iya dan “0” untuk tidak, data jenis kelamin yang umumnya berupa data tekstual laki-laki dan perempuan akan dikonversi menjadi “laki-laki = 0” dan “perempuan = 1”. Untuk umur dikonversi menjadi “ 0 – 10 = 0”,” 11 – 39 = 1” dan” > 40 = 2”, sedangkan untuk tekanan intra okuli atau tio dikonversi menjadi “20 - 30 = 0”, ”30 - 40 = 1”,” 40-...= 2” Selanjutnya semua data fitur akan dinormalisasi dalam rentang yang sama yaitu bernilai antara [0,1] seperti di tabel 3.3. Sedangkan data pada kolom Hasil atau output diagnosis hanya dirubah kedalam data angka saja karena ini menggambarkan kelas-kelas luaran, untuk katarak Kongenital = “1” dan katarak Sinilis = “-1”. Selanjutnya semua data fitur akan dinormalisasi dalam rentang yang sama yaitu bernilai antara [0,1] seperti pada tabel 3.4.
Tabel 3.3 Contoh Data Sebelum Ditransformasikan.
A B C D E F G H I J K L M N O P Q R S T U V W X Y 1 W L 25 Y T T Y T T T T 20 T T Y T T T Y T T T K 2 A L 30 Y Y T Y Y T T T 25 T T T T T T Y T T T K 3 S L 9 Y T T T Y T T Y 34 Y Y Y T T Y Y Y Y T S 4 K L 10 Y T T T T Y T Y 40 T Y Y T T Y Y Y Y Y S 5 I L 41 Y Y T Y Y T T T 35 T T T T T Y T T T T K N
18
Tabel 3.4 Contoh HasilTransformasi Data.
A B C D E F G H I J K L M N O P Q R S T U V W X Y 1 W 1 2 1 1 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 2 A 1 2 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 3 S 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 -1 4 K 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 -1 5 I 1 2 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 ~ O 0 2 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 3.1.5. Dataset
Dataset adalah data yang telah ditransformasikan dan dimasukan kedalam tabel basis data. Total keseluruhan data yang tersedia adalah 217 yang akan dibagi menjadi dua yaitu:
a. Pembelajaran / Training
Dataset digunakan sebagai data pembelajaran / training dalam proses klasifikasi. Untuk data pembelajaran akan digunakan kurang lebih 80% dari data keseluruhan.
b. Ujicoba / Testing
Dataset digunakan sebagai data pengujian / testing dalam proses klasifikasi. Data ini harus benar-benar berbeda dari data pembelajaran untuk memenuhi aspek obyektifitas. Untuk data ujicoba akan digunakan 20% dari data keseluruhan.
3.1.6. Proses Artificial Neural Network
Pada tahap ini merupakan tahap dimana Jaringan Syaraf Tiruan melakukan proses “belajar / training” dengan otomatis berdasarkan data pembelajaran sehingga proses pembelajaran ini dikenal sebagai model terawasi (supervised learning). Jaringan Syaraf Tiruan terdapat proses pembentukan konfigurasi nilai-nilai tiap bobot dari jaringan. Tujuan dariproses ini untuk mendapatkan nilai-nilai W atau bobot yang terbaik agar menghasilkan output yang sesuai atau mendekati dengan target [11]. Pada prosess Artificial Neural Network ini memiliki 2 step, antara lain:
19
A. Proses Pencarian Bobot Terbaik
Data training akan diproses menggunakan Artificial Neural Network untuk ditentukannya nilai bobot terbaik yang kemudian bobot tersebut digunakan untuk proses pengujian (testing)
Berikut adalah alur pelatihan menggunakan Artificial Neural Network model perceptron [14]:
a. Inisialisasi seluruh bobot dan bias (biasanya=0). Set learning rate.∝ (0 > ∝ ≤ 1).
Set nilai threshold (𝜃) untuk fungsi aktivasi. b. Untuk setiap pasangan pembelajaran s-t, kerjakan:
1) Set aktivasi unit input, ditunjukkan dengan persamaan (3.1). Xi = Si ...(3.1) 2) hitung respon untuk unit output, ditunjukkan dengan persamaan
(3.2).
𝑦𝑖𝑛 = 𝑏 + ∑ 𝑥𝑖 𝑖𝑤𝑖 ... (3.2) 3) Masukkan ke dalam fungsi aktivasi.
𝑦 = { −1, 𝑗𝑖𝑘𝑎 𝑦1, 𝑗𝑖𝑘𝑎 𝑦𝑖𝑛> 𝜃
𝑖𝑛 < 𝜃
Bandingkan nilai output jaringan y dengan target t.
jika y ≠ t, lakukan perubahan bobot dan bias, ditunjukkan dengan persamaan (3.4).
𝑤𝑖(𝑏𝑎𝑟𝑢) = 𝑤𝑖(𝑙𝑎𝑚𝑎) + 𝛼∗𝑡∗𝑥
𝑖 ... (3.4) jika y = t, tidak ada perubahan bobot dan bias.
𝑤𝑖(𝑏𝑎𝑟𝑢) = 𝑤𝑖(𝑙𝑎𝑚𝑎)
c. Lakukan iterasi terus-menerus sampai semua pola memiliki output jaringan yang sama seperti targetnya. Artinya jika seluruh ouput jaringan sama seperti target maka jaringan telah menyerupai pola dengan baik dan iterasi akan dihentikan.
Berikut sebagian contoh implementasi ANN dengan menggunakan sebagian data dari data training :
20
a. Inisialisasi semua bobot dan bias (misalnya 1). Set Learning rate / apha (α) misalnya 0,5.
Set nilai Threshold (θ) untuk fungsi aktifasi misalnya 2. b. Set aktivasi unit input dan nilai bias(1).
Input = Xi
Tabel 3.5 Sebagian Contoh Dari Data Training
Ketetangan : b = bias t = target
c. Hitung respon unit output dengan persamaan (3.2) atau dengan cara berikut :
y
in = (b*wb) + (x1*w1)+ (x2*w2)+ (xn*wn) ... (3.5) contoh :y
in = (1*1) + (1*1) + (2*1) + (1*1) + (1*1) + (0*1) + (1*1) +(1*1) + (0*1) + (0*1) + (0*1) + (0*1) + (0*1) + (0*1) + (0*1) + (0*1) + (0*1) + (0*1) + (1*1) + (0*1) + (0*1) + (0*1) = 9d. Masukan ke dalam fungsi aktifasi.
𝑦 = { −1,1, 𝑗𝑖𝑘𝑎 𝑦𝑗𝑖𝑘𝑎 𝑦𝑖𝑛 > 𝜃
𝑖𝑛 < 𝜃
Bandingkan nilai output jaringan y dengan target t. jika y = t maka tidak ada perubahan bobot.
e. Hitung yin untuk data berikutnya menggunakan bobot yang sama.
b A B C D E F G H I J K L M N O P Q R S T U T 1 1 2 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 -1
21
y
in = (1*1) + (1*1) + (0*1) + (1*1) + (0*1) + (0*1) + (0*1) +(1*1) + (0*1) + (0*1) + (1*1) + (1*1) + (1*1) + (1*1) + (1*1) + (0*1) + (0*1) + (1*1) + (1*1) + (1*1) + (1*1) + (1*1) = 14 f. Bandingkan nilai output jaringan y dengan target t (lihatlangkah “d”).
jika y ≠ t maka lakukan perubahan bobot dengan persamaan 3.4. Wbaru = (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) + 0,5 * -1 * (1,1,0,1,0,0,0,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1) = (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) + (-5,-5,0,-5,0,0,0,-5,0,0,-5,-5,-5,-5,-5,0,0,-5,-5,-5,-5,5) = -4,-4,1,-4,1,1,1,-4,1,1,-4,-4,-4,-4,-4,1,1,-4,-4,-4,-4,-4. g. Lakukan perhitangan yin kembali menggunakan data yang
sama dengan bobot baru.
yin = (1*-4) + (1*-4) + (0*1) + (1*-4) + (0*1) + (0*1) + (0*1) + 4) + (0*1) + (0*1) + 4) + 4) + 4) + (1*-4) + (1*-(1*-4) + (0*1) + (0*1) + (1*-(1*-4) + (1*-(1*-4) + (1*-(1*-4) + (1*-4) + (1*-4) =-72
h. Ulangi step d, e, f, dan g
l. Lakukan iterasi terus-menerus sampai semua pola memiliki output jaringan yang sama seperti targetnya. Artinya jika seluruh ouput jaringan sama seperti target maka jaringan telah menyerupai pola dengan baik dan iterasi akan dihentikan.
B. Implementasi Algoritma Artificial Neural Network.
Setelah dilakukan proses pelatihan (training), akan diperoleh bobot-bobot akhir (W) atau bobot-bobot terbaik. Bobot-bobot-bobot ini nantinya akan digunakan untuk melakukan pengujian. Alur pengujian pada sistem dapat dilihat pada Gambar 3.2.
22
MULAI
LOAD BOBOT (W) DARI PROSES DATA
TRAINING
SET AKTIFASI INPUT Xi
RESPON UNIT OUTPUT
𝑦𝑖𝑛 =𝑏+∑ 𝑥𝑖 𝑖𝑤𝑖 𝑦 = 1,𝐼𝐹𝑦𝑖𝑛 > 𝜃 −1,𝐼𝐹𝑦𝑖𝑛 <𝜃 HASIL KLASIFIKASI SELESAI
23 3.2. Perancangan Sistem
Perancangan interface penting untuk menciptakan sistem berbasis web, karena akan menjadi dasar peletakan informasi dan fungsi-fungsi dari bagian sistem. Perencanaan antarmuka untuk halaman web seperti yang terlihat pada gambar 3.4 sebagai berikut.
Keterangan: 1. Home.
Halaman awal berisi sekilas info tentang katarak, mulai definisi katarak hingga faktor resiko kebutaan.
2. Dataset.
Halaman yang menampilkan dataset yaitu data training dan data testing yang nantinya akan diproses dalam penelitaian ini.
a. Data Training.
Halaman ini hanya menampilkan data training yang akan dilakukan penelitian untuk mencari bobot terbaik.
24
b. Data Testing.
Halaman ini hanya menampilkan data testing yang nantinya akan dilakukan penilitan yaitu pengujian sistem dengan menggunakan bobot terbaik untuk mengetahui tingkat keberhasilan.
3. Data fitur.
Halaman ini menampilkan fitur-fitur apa saja yang digunakan dalam mengklasifikasikan penyakit mata katarak.
4. Klasifikasi.
Pada halaman klasifikasi ini menampilkan hasil klasifikasi dari training, testing, dan data tunggal.
a. Training.
Halaman yang digunakan untuk menerima masukan dari pengguna berupa learning rate dan epoch. Ketika semua data ditentukan lalu diproses hingga akhir proses tersebut akan menampilkan waktu serta bobot-bobot terbaik di setiap fitur.
b. Testing.
Halaman ini menampilkan hasil waktu komputasi dan tingkat akurasi sistem. Sistem akan mengambil bobot terbaik yang diperoleh dari proses training sebelumnya. Setelah diproses Sistem akan mencatan nilai akurasi, presisi,dan recall selama proses testing tersebut waktu komputerisasi akan dicatat dan ditampilkan.
c. Data Tunggal
Halaman ini hanya dapat digunakan untuk satu data pasien. Pengguna memasukkan data pasien pada setiap fitur-fitur sesuai gejala, lalu klik “proses diagnosis” dan sistem akan menampilkan hasil klasifikasi berdasarkan data dari pasien.