BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem adalah suatu tahapan sistem yang dilakukan untuk membantu memahami suatu masalah dan apa yang akan menjadi kebutuhan sistem. Tujuannya
adalah untuk membantu mengetahui masalah yang ada dan merancang model suatu sistem yang nantinya akan dibangun sehingga menjadi tepat guna.
3.1.1. Analisis masalah
Masalah yang ada pada perancangan sistem ini adalah membandingkan kecepatan dan ketepatan antara algoritma Bidirectional Associative Memory dan Learning
Vector Quantization dalam menentukan obat penyakit saluran cerna lambung-usus
yang bertujuan untuk mengetahui algoritma mana yang lebih tepat digunakan dalam menentukan obat yang tepat berdasarkan diagnosa penyakit saluran cerna lambung-
usus. Dengan alasan sebagai berikut : 1. Penyakit saluran cerna lambung-usus merupakan penyakit dalam yang harus
segera ditangani pengobatannya agar tidak menjadi lebih kronis. 2. Jenis obat yang digunakan untuk meringankan penyakit saluran cerna lambung
usus adalah Antasida, Ranitidin, Omeprazole, Domperidone, Sukralfat, Bismuth, Amoxixilin, Claritromixin, Kemoterapi, Radiasi, dan Operasi.
Oleh karena itu, dibutuhkan waktu seefisien mungkin untuk menentukan jenis obat
dari penyakit saluran cerna lambung-usus dan dibutuhkan pencatat waktu untuk mencatat dan mengetahui algoritma mana yang lebih cepat dalam
menentukan obat penyakit saluran cerna lambung-usus. 3. Penyakit saluran cerna lambung-usus seperti radang kerongkongan, radang
lambung, tukak lambung, dan kanker lambung memiliki gejala yang hampir mirip yaitu
Universitas Sumatera Utara
a. Gejala penyakit Radang Kerongkongan Reflux Oesophagitis 1. Sulit menelan
2. Perasaan asam atau pahit dimulut 3. Batuk
4. Mual 5. Suara serak
6. Nyeri di ulu hati 7. Muntah
b. Gejala penyakit Radang Lambung Gastritis 1. Nyeri di ulu hati
2. Muntah 3. Adanya gangguan pada pencernaan
4. Nyeri lambung 5. Adakalanya terjadi pendarahan
6. Kembung dan mual 7. Rasa penuh di ulu hati cepat kenyang
c. Gejala penyakit Tukak Lambung-Usus Ulcus Pepticum 1. Nyeri di ulu hati
2. Muntah 3. Sendawa
4. Kembung dan mual 5. Anemia
6. Rasa penuh di ulu hati cepat kenyang 7. Pendarahan lambung
d. Gejala penyakit Kanker Lambung 1. Sulit menelan
2. Nyeri di ulu hati 3. Tidak mau makan
4. Muntah darah 5. Keluar BAB dengan warna hitam pekat
6. Kehilangan berat badan mendadak 7. Sakit kronis pada bagian perut
Universitas Sumatera Utara
Oleh karena itu, dibutuhkan ketepatan hasil agar jenis obat yang dibutuhkan sesuai dengan diagnosa penyakit yang dialami. Dan dalam menentukan
ketepatan hasil dari diagnosa penyakit, maka diperlukan aturan yang harus diperhatikan yaitu ;
1. Untuk menentukan diagnosa penyakit maka lihat terebih dahulu seberapa besar gejala yang dialami pasien terhadap suatu penyakit.
Sebagai contoh pasien lebih banyak mengalami gejala penyakit radang kerongkongan dibandingkan dengan penyakit lain maka pasien termasuk
ke dalam penyakit radang kerongkongan. Begitu juga untuk gejala penyakit yang lainnya.
2. Jenis obat yang akan digunakan berdasarkan diagnosa penyakit bukan berdasarkan gejala penyakit. Jadi jenis obat sudah dikelompokkan ke
dalam tiap masing-masing penyakit.
Penyebab dan dampak dari permasalahan tersebut diperlihatkan pada diagram Ishikawa
pada Gambar 3.1.
Manusia Metode
Material Teknologi
Menentukan metode tercepat dan paling tepat dalam menentukan
obat dari penyakit saluran cerna lambung-usus
Bahasa Pemrograman Matlab
BAM dan LVQ Diperlukan diagnosa
penyakit untuk menentukan jenis obat
yang tepat Metode BAM dan
LVQ untuk menetukan jenis obat
penyakit saluran cerna lambung-usus
Gambar 3.1. Diagram Ishikawa Analisis Permasalahan
3.1.2. Analisis kebutuhan sistem
Analisis kebutuhan sistem meliputi analisis kebutuhan fungsional sistem dan analisis kebutuhan non-fungsional sistem.
3.1.2.1.
Kebutuhan fungsional sistem
Kebutuhan fungsional yang harus dimiliki oleh sistem penentuan obat penyakit saluran cerna lambung-usus adalah :
Universitas Sumatera Utara
1. Sistem dapat mendiagnosa penyakit berdasarkan masukan user pengguna. 2. Sistem dapat menentukan jenis obat berdasarkan hasil diagnosa penyakit.
3. Sistem dapat menampilkan nama penyakit dan jenis obat. 4. Sistem dapat menampilkan waktu pelatihan.
5. Sistem dapat menampilkan waktu uji.
3.1.2.2. Kebutuhan non-fungsional sistem
Kebutuhan non-fungsional yang dimiliki oleh sistem adalah : 1. Interface sistem mudah dipahami oleh user pengguna.
2. Sistem dapat dioperasikan dengan mudah oleh user. 3. Data yang terdapat pada sistem merupakan data yang relevan, sehingga dapat
menghasilkan pengenalan yang tepat. 4. Cara kerja sistem dilakukan dengan menguji coba sistem tersebut dengan data
yang telah diketahui hasilnya terlebih dahulu.
3.1.3. Analisis proses sistem
Sistem ini menggunakan dua algoritma yaitu Bidirectional Associative Memory dan Learning Vector Quantization.
Algoritma tersebut bertujuan untuk menentukan obat penyakit saluran cerna lambung-usus. Berikut ini adalah contoh bagaimana penerapan
algoritma Bidirectional Associative Memory dan Learning Vector Quantization.
3.1.3.1. Analisis proses Bidirectional Associative Memory Pada proses BAM, input masukan dari data pelatihan ada 20 data berupa gejala
umum penyakit, dan target yang diinginkan ada 4 klasifikasi penyakit yaitu radang kerongkongan, radang lambung, tukak lambung, dan kanker lambung beserta jenis
obat dari penyakit tersebut seperti antasida, ranitidine, omeprazole, domperidone, sukralfat, bismuth, amoxixilin, claritromixin. lansoprazole.
Kenapa 20 data gejala penyakit ? Karena semakin banyak data yang dilatih maka akan semakin banyak pula
mengenali pola yang lain. Inputan gejala yang dipilih akan di ubah ke dalam bentuk vektor. Dengan kondisi jika checkbox diberi tanda maka akan bernilai 1 dan yang
tidak diberi tanda akan bernilai -1 karena algoritma BAM menggunakan fungsi aktivasi bipolar.
Universitas Sumatera Utara
Untuk proses selanjutnya , di dalam sistem ini akan melatih sebanyak 20 neuron
sebagai masukan dan 4 neuron sebagai hasil keluaran. Kemudian matriks bobot dihitung berdasarkan hasil transpose setiap masukan dikali dengan setiap hasil
keluaran. Setelah itu dilakukan pemanggilan pola input untuk mengecek apakah hasilnya sesuai dengan target output yang telah ditentukan. Sedangkan untuk tahap
pengujian, dilakukan perhitungan untuk mencari nilai masukan yang akan diuji dengna cara mengalikan output yang telah ditentukan dengan hasil transpose bobot
yang sudah didapat sebelumnya. Setelah dilakukan perhitungan maka dapat dilihat apakah hasilnya akan sesuai dengan target output atau tidak, jika ya maka akan
dikenali penyakit dan jenis obatnya dan jika tidak maka sebaliknya. Untuk lebih jelas lagi berikut adalah contoh sederhana dari algoritma BAM
dalam melakukan pelatihan dan pengujian terhadap suatu pola. Misalnya dalam menentukan obat penyakit saluran cerna lambung-usus dibutuhkan
gejala-gejala yang dialami penderita , dimana gejala tersebut dapat diartikan sebagai pola input, sedangkan penyakit beserta obatnya merupakan pola output.
1. Atur pola input dan pola output Misalkan ada 2 pola input berupa gejala penyakit dan 2 pola output sebagai
berikut : Pola 1 : Gejala 1
x
1
: 1 1 1 1
–1 1 1 1 1 y
1
-1 1
Pola 2 : Gejala 2 x
2
: 1 –1 1 –1 1 –1 1 -1 1
y
2
1 1
2. Hitung matriks bobot dari pola X ke pola Y Matriks bobot untuk pola 1:
w
1
= x
1 t
y
1
Universitas Sumatera Utara
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 1
1
1
w
Matriks bobot untuk pola 2 : w
1
= x
2 t
y
2
w
total
= w
1
+ w
2
2 2
2 2
2 2
2 2
2
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 1
1 1
1 1
1 1
1 1
total
w
Matriks bobot tersebut merupakan penghubung antara neuron-neuron di lapisan input
dengan neuron-neuron di lapisan output. Sedangkan matriks bobot yang menghubungkan antara neuron-neuron di lapisan output ke neuron-neuron yang
ada di lapisan input adalah W
T
.
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 1
1
2
w
Universitas Sumatera Utara
3. Recall pola input
ij i
i
W x
in y
_
Tentukan nilai y
i
dengan membandingkan nilai y_in
i
dengan threshold Jika y_in
i
=
maka y
i
= 1 Jika y_in
i
maka y
i
= -1
2
2 2
2 2
2 2
2 2
T total
w
Misalkan kita ingin menguji bobot tersebut dengan pola input ke-1 yaitu gejala 1, maka output yang dihasilkan adalah :
8 10
2 2
2 2
2 2
2 2
2
1 1
1 1
1 1
1 1
1 _
1 1
T total
w x
in y
Karena y_in
1
1 = –10 0, maka y
1
1 = -1 dan y_in
1
2 = 8 0, maka y
1
2 = 1, maka dari hasil pengujian didapat nilai y
1
= [-1 1], yaitu sesuai dengan target yang diharapkan.
Sedangkan untuk pola input ke-2 yaitu gejala 2, maka output yang dihasilkan adalah:
8 10
2 2
2 2
2 2
2 2
2
1 1
1 1
1 1
1 1
1 _
2 2
T total
w x
in y
Universitas Sumatera Utara
Karena y_in
2
1 = 10 0, maka y
2
1 = 1 dan y_in
2
2 = 8 0, maka y
2
2 = 1, maka dari hasil pengujian didapat nilai y
2
= [1 1], yaitu sesuai dengan target yang diharapkan.
4. Balik arah, cari nilai x_in
i
Sekarang kita balik, dimana y digunakan sebagai input untuk mendapatkan x output
. Misalkan kita cobakan vektor input ke-1 yaitu y
1
= [-1 1], maka output yang dihasilkan:
2
2 2
2 2
2 2
2 2
] 1
1 [
_
1 1
T total
w y
in x
] 1
1 1
1 1
1 1
1 1
[ ]
2 2
2 2
2 2
2 2
2 [
Setelah dilakukan perhitungan ternyata hasilnya sesuai dengan target, yaitu gejala 1.
Dan untuk vektor input ke-2 yaitu y
2
= [1 1], maka output yang dihasilkan:
2 2
2 2
2 2
2 2
2 ]
1 1
[ _
2 2
T total
w y
in x
] 1
1 1
1 1
1 1
1 1
[ ]
2 2
2 2
2 2
2 2
2 [
Setelah dilakukan perhitungan ternyata hasilnya sesuai dengan target, yaitu gejala 2.
3.1.3.2. Analisis Proses Learning Vector Quantization Sama halnya dengan algoritma BAM, di dalam proses algoritma LVQ juga akan
dimasukkan 20 data dan juga 4 target kelas yang akan digunakan nantinya. Berikut adalah contoh proses pelatihan algoritma LVQ.
Misalnya dalam menentukan obat penyakit saluran cerna lambung-usus dibutuhkan gejala-gejala yang dialami penderita , dimana gejala tersebut dapat
diartikan sebagai input vektor, sedangkan penyakit beserta obatnya merupakan kelas yang akan ditentukan.
Contoh penerapan algoritma LVQ : 1. Misalkan inisialisasi bobot bobot awal :
w
1
: 1 1 1 1 0
kelas 1 w
2
: 1 0 1 0 1
kelas 2
Universitas Sumatera Utara
α : 0,05
MaxEpoch :
10 Penurunan α : 0,1α
lama
2. Misalnya diketahui 3 input vektor sebagai berikut : x
1
: 1 1 1 01
x
2
: 1 0 0 0 0 x
3
: 1 0 1 1 1
Penetapan kondisi awal : Epoch
: 0 Error
: 1 3. Untuk epoch ke-1
- Data ke-1 adalah x
1
: 1 1 1 0 1 Bobot ke-1 =
= 1,4 Bobot ke-2 =
= 1 Dari data ke-1 jarak terkecil terdapat pada bobot ke-2, maka target data ke-1 =
kelas ke-2 dan bobot ke-2 baru adalah : w
11baru
= w
11lama
+ α[x
11
– w
11 lama
] = 1+0,51-1 = 1 w
12baru
= w
12lama
+ α[x
12
– w
12 lama
] = 0+0,51-0 = 0,5 w
13baru
= w
13lama
+ α[x
13
– w
13 lama
] = 1+0,51-1 = 1 w
14baru
= w
14lama
+ α[x
14
– w
14 lama
] = 0+0,50-0 = 0 w
15baru
= w
15lama
+ α[x
15
– w
15 lama
] = 1+0,51-1 = 1 Sehingga,w
2
= 1 0,5 1 0 1 dan w
1
= 1 1 1 1 0
- Data ke-2 adalah x
2
: 1 0 0 0 0
Bobot ke-1 = = 1,7
Bobot ke-2 = = 1,5
Dari data ke-2 jarak terkecil terdapat pada bobot ke-2, maka target data ke-2 = kelas ke-2 dan bobot ke-2 baru adalah :
w
11baru
= w
11lama
+ α[x
11
– w
11 lama
] = 1+0,51-1 = 1 w
12baru
= w
12lama
+ α[x
12
– w
12 lama
] = 0,5+0,50-0,5 = 0,25 w
13baru
= w
13lama
+ α[x
13
– w
13 lama
] = 1+0,50-1 = 0,5 w
14baru
= w
14lama
+ α[x
14
– w
14 lama
] = 0+0,50-0 = 0
Universitas Sumatera Utara
w
15baru
= w
15lama
+ α[x
15
– w
15 lama
] = 1+0,50-1 = 0,5 Sehingga, w
2
= 1 0,25 0,5 0 0,5 dan w
1
= 1 1 1 1 0
- Data ke-3 adalah x
3
:1 0 1 1 1
Bobot ke-1 = = 1,4
Bobot ke-2 = =1,25
Dari data ke-3 jarak terkecil terdapat pada bobot ke-2, maka target data ke-2 = kelas ke-2 dan bobot ke-2 baru adalah :
w
11baru
= w
11lama
+ α[x
11
– w
11 lama
] = 1+0,51-1 = 1 w
12baru
= w
12lama
+ α[x
12
– w
12 lama
] = 0,25+0,50-0,25 = 0,125 w
13baru
= w
13lama
+ α[x
13
– w
13 lama
] = 1+0,51-0,5 = 1,25 w
14baru
= w
14lama
+ α[x
14
– w
14 lama
] = 1+01-0 = 1 w
15baru
= w
15lama
+ α[x
15
– w
15 lama
] = 1+0,51-0,5 = 1,25 Sehingga w
2
= 1 0,1251,25 11,25 dan w
1
= 1 1 1 1 0 Sebelum masuk keepoch ke-2 maka
α diupdate yaitu : α = 0,1α
lama
= 0,10,05 = 0,005
… dst sampai dengan epoch ke-10 Misalnya setelah epoch ke-10 di dapat bobot :
w
2
= 1 0,125 1,25 1 1,25 dan w
1
= 1 1 1 1 0 Maka jika ingin menguji vektor inputan baru misalnya 1 1 1 1 1, dilakukanlah
perhitungan untuk mencari jarak terdekatnya : Bobot ke-1 =
= 1 Bobot ke-2 =
= 0,9437 Dari inputan tersebut jarak terkecil terdapat pada bobot ke-2, maka target inputan
tersebut adalah kelas ke-2.
Universitas Sumatera Utara
3.2. Pemodelan Sistem