BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Permasalahan
Pada tahapan analisis permasalahan ini akan dibahas mengenai analisis sistem serta analisis data sistem.
3.1.1. Analisis sistem Penyakit jantung merupakan salah satu penyakit berbahaya didunia. Banyak gejala yang
ditimbulkan oleh penderita penyakit jantung, antara lain nyeri pada ulu hati, perasaan terbakar didaerah dada, jantung berdebar, lemas serta beberapa gejala lain yang lebih spesifik. Seorang
dokter umum dapat memberikan rekomendasi kepada dokter spesialis jantung dengan melihat beberapa gejala diatas, umur pasien serta dapat juga dilihat dari angka yang ditunjukkan ketika
pemeriksaan fisik seperti pemeriksaan chestpain atau sakit dada, trestbps atau tekanan darah, thalach atau denyut jantung, kolesterol, serta fasting blood sugar atau kadar gula. Pencatatan
serta pemberian surat rekomendasi biasanya dilakukan secara manual oleh kebanyakan dokter bahkan rumah sakit. Sistem ini dibuat untuk mengefisiensikan waktu dalam pencatatan hasil
pemeriksaan atau konsultasi serta dalam pemberian surat rekomendasi.
3.1.2. Analisis data sistem Dalam membangun sistem diperlukan beberapa data yaitu:
a. Data Dokter
Data Dokter berisi berisi Username, Nama, Alamat, No. Hp, Email dan Password.
Universitas Sumatera Utara
b. Data Pemeriksaan Fisik
Data yang diperlukan dalam pemeriksaan fisik yaitu umur pasien, nilai Chestpain atau biasa disebut sakit dada, Trestbps atau tekanan darah, Thalach atau denyut jantung,
kolesterol, serta Fasting Blood Sugar FBS atau kadar gula darah.
3.2 Perancangan Sistem
Pada tahap ini akan diuraikan tentang perancangan sistem, mulai dari perancangan flowchart, DFD, data perhitungan menggunakan Algoritma Fuzzy. Selanjutnya akan membahas mengenai
perancangan antarmuka sistem, yang berisi gambaran-gambaran sistem yang akan dibuat.
3.2.1. Perancangan flowchart sistem Perancangan flowchart sistem dapat dilihat pada Gambar 3.1 :
Gambar 3.1. Flowchart Sistem
Universitas Sumatera Utara
Penjelasan flowchart sistem :
1. Input identitas pasien.
Pada tahap ini user terlebih dahulu mengisi identitas pasien, seperti nama, alamat, umur dan jenis kelamin. Identitas pasien ini berfungsi untuk memudahkan dalam penyimpanan history
konsultasi. 2.
Input pilih gejala. Pada tahap ini sistem akan memberikan beberapa pertanyaan kepada user berupa gejala-
gejala umum dan spesifik yang mungkin dialami pasien. User diminta untuk menjawab pertanyaan tersebut dengan “Ya” atau “ Tidak”.
3. Cek atau hitung jumlah gejala.
Pada tahap ini sistem akan menghitung jumlah gejala, apabila gejala yang dialami pasien tidak lebih dari 2 gejala, maka akan bernilai “No” dan menghasilkan output “Kemungkinan
tidak mengalami penyakit jantung”. Jika gejala yang dialami lebih dari 2, maka akan bernilai “Yes” dan menghasilkan output “Kemungkinan mengalami penyakit jantung”.
4. Input nilai pemeriksaan fisik.
Pada tahap ini user diminta untuk mengisi nilai setiap variabel. Nilai variabel yang harus diisi yaitu nilai chestpain atau sakit dada, trestbps atau tekanan darah, thalach atau denyut
jantung, kolesterol, serta fasting blood sugar atau kadar gula darah. 5.
Hitung nilai pemeriksaan fisik dengan Algoritma Fuzzy. Pada tahap ini sistem akan menghitung hasil dari nilai-nilai pemeriksaan fisik dengan
menggunakan algoritma Fuzzy. Kemudian akan menghasilkan output persentase seberapa parah penyakit yang dialami pasien, “Ringan”, “Sedang”, “Parah” atau “Parah Sekali”.
6. Cetak hasil.
Pada tahap ini sistem akan mencetak hasil dari diagnosis yang dilakukan oleh user.
3.2.2. Perancangan data flow diagram DFD Diagram Aliran Data Data Flow Diagram DFD adalah alat yang biasa dipakai untuk
mendokumentasikan proses dalam sistem atau sebuah teknis grafis yang menggambarkan aliran informasi dan transformasi yang diaplikasikan pada saat data bergerak dari input menjadi output
Simorangkir,2011. Berikut adalah gambaran beberapa DFD yang akan dibuat :
Universitas Sumatera Utara
Data Context Diagram atau bisa juga disebut DFD level 0, yang dapat dilihat pada Gambar 3.2 :
Gambar 3.2. Data Context Diagram
Penjelasan Data Context Diagram : 1.
Dokter sebagai user melakukan input data pasien, data gejala pasien dan data variabel ke dalam sistem. Selanjutnya dokter akan menerima output berupa laporan hasil analisa
konsultasi dan surat rekomendasi. 2.
Admin melakukan input data, berupa data admin, data gejala, dan data dokter. Kemudian admin akan menerima output dari sistem berupa data gejala, data pasien dan data aturan.
Data Flow Diagram DFD Level 1, dapat dilihat dalam Gambar 3.3 :
Gambar 3.3. Data Flow Diagram Level 1
Dokter
- Data Pasien - Data Gejala Pasien
- Data Variabel
Sistem Pakar
- Lap.Hasil Analisa Konsultasi
- Surat Rekomendasi
Admin
- Data Admin - Entry Gejala Pasien
- Data Dokter
- Data Gejala - Data Pasien
- Data Aturan
Universitas Sumatera Utara
Penjelasan Data Flow Diagram Level 1 : a.
Proses 1.0 Nama Proses : Proses Menu Dokter
Masukan : Data pasien berupa identitas, data gejala pasien dan data variabel.
Keluaran : Data gejala pasien, laporan hasil analisis konsultasi dan surat
rekomendasi. Simpan data dokter ke dalam basis data.
Keterangan : Proses untuk mengolah data user.
b. Proses 2.0
Nama Proses : Proses Menu Admin Masukan
: Entry data admin, entry data dokter dan entry gejala. Keluaran
: Data admin, data dokter dan gejala. Simpan data admin ke dalam basis data.
Keterangan : Proses untuk mengolah data admin.
Data Flow Diagram level 2 proses 1 dapat terlihat pada Gambar 3.4 :
Gambar 3.4. Data Flow Diagram level 2 proses 1
Universitas Sumatera Utara
Penjelasan Data Flow Diagram level 2 proses 1 : a.
Proses 1.1 Nama Proses
: Proses Daftar Dokter Masukan
: Entry data dokter Keluaran
: Data dokter. b.
Proses 1.2 Nama Proses
: Proses Konsultasi Masukan
: Entry data pasien, Entry data gejala pasien dan Entry data variabel. Keluaran
: Data pasien, Data gejala pasien dan Data variabel. Data Flow Diagram level 2 proses 2 terlihat jelas pada Gambar 3.5 :
Gambar 3.5. Data Flow Diagram level 2 proses 2
Penjelasan Data Flow Diagram level 2 proses 2 : a.
Proses 1.1 Nama Proses
: Proses Login Admin Masukan
: entry data dokter.
Universitas Sumatera Utara
Keluaran : Data dokter.
b. Proses 1.2
Nama Proses : Proses Entry Admin
Masukan : entry data admin.
Keluaran : Data admin.
c. Proses 1.3
Nama Proses : Proses Entry Gejala
Masukan : entry data gejala.
Keluaran : Data gejala.
3.2.3. Gejala penyakit jantung Gejala- gejala yang dialami oleh pasien yang berkemungkinan menderita penyakit
jantung biasa terbagi 2, yaitu sebagai berikut : 1.
Gejala umum : Terasa nyeri diulu hati
Perasaan terbakar di daerah dada Jantung berdebar
Lemas
2. Gejala spesifik :
Terasa nyeri dada kiri, seperti diremas, tertusuk hingga menembus kebelakang. Terasa kram dari lengan kiri sampai kearah dagu, diikuti dengan sesak nafas, jantung
berdebar kencang dan adanya keringat dingin.
3.2.4. Pembentukan algoritma Fuzzy Langkah pertama yang dilakukan adalah membentuk himpunan fuzzy. Pembentukan
himpunan fuzzy tersebut berdasarkan variabel-variabel yang dibutuhkan untuk menentukan hasil. Dalam hal ini, variabel-variabel yang dibutuhkan adalah:
1. Umur
Variabel Umur dibagi menjadi 4 kelompok atribut linguistik yaitu usia pertengahan, lanjut usia, usia tua dan usia sangat tua. Sehingga dapat ditentukan fungsi keanggotaan dari
Universitas Sumatera Utara
himpunan fuzzy yaitu; usia pertengahan, lanjut usia, usia tua dan usia sangat tua untuk variabel Umur secara terpisah:
a Usia Pertengahan
� _
� ℎ � = 0 ;
� 35 � − 35
10 ; 35
� 45 1; 45
� 59 69
− � 10
; 59 � 69
0; � 69
b Lanjut Usia
� _
� = 0 ;
� 50 � − 50
10 ; 50
� 60 1; 60
� 74 84
− � 10
; 74 � 84
0; � 84
c Usia Tua
� _
� = 0 ;
� 65 � − 65
10 ; 65
� 75 1; 75
� 90 100
− � 10
; 90 � 100
0; � 100
d Sangat tua
�sangat_tua � = 0 ;
� 80 � − 80
10 ; 80
� 90 1;
� 90
Adapun fungsi keanggotaan variable Umur dapat dilihat pada Gambar 3.6:
Universitas Sumatera Utara
Gambar 3.6. Fungsi Keanggotaan Himpunan Fuzzy pada Variable Umur
2. Chestpain
Variabel Chestpain dibagi menjadi 4 kelompok atau atribut linguistik yaitu sangat parah, parah, sedang dan ringan. Pada Gambar 3.7 dapat kita lihat bahwa semakin sering pasien
mengalami sakit dada, maka semakin parah pula penyakitnya. Berikut ini adalah penentuan fungsi keanggotaan dari himpunan fuzzy sangat parah, parah, sedang dan ringan untuk
variabel Chestpain secara terpisah:
a Sangat Parah
� � _
ℎ � = 0 ;
� 0 � − 0
5 ; 1
� 5 1; 5
� 10 15
− � 5
; 10 � 15
0; � 15
b Parah
� ℎ � =
0 ; � 5
� − 5 5
; 5 � 10
1; 10 � 30
35 − �
5 ; 30
� 35 0;
� 35
Universitas Sumatera Utara
c Sedang
� � � =
0 ; � 25
� − 25 5
; 25 � 30
1; 30 � 60
65 − �
5 ; 60
� 65 0;
� 65
d Ringan
�ringan � = 0 ;
� 55 � − 55
5 ; 55
� 60 1;
� 60
Adapun fungsi keanggotaan variable Chestpain dapat dilihat pada Gambar 3.7 berikut:
Gambar 3.7. Fungsi Keanggotaan Himpunan Fuzzy pada Variabel Chestpain
3. Trestbps
Pada variabel Trestbps dibagi menjadi 6 atribut linguistik yaitu normal, normal tinggi, ringan, sedang, parah dan malinga. Sehingga dapat ditentukan fungsi keanggotaan dari himpunan fuzzy
ringan, sedang, parah dan malinga untuk variabel Trestbps secara terpisah:
Universitas Sumatera Utara
a Normal
� � =
1; � 130
140 − �
10 ; 130
� 140 0;
� 140 b
Normal Tinggi
� _
�� � = 0 ;
� 120 � − 120
10 ; 120
� 130 1; 130
� 139 149
− � 10
; 139 � 149
0; � 149
c Ringan
� � � =
0 ; � 135
� − 135 5
; 135 � 140
1; 140 � 159
164 − �
5 ; 159
� 164 0;
� 164 d
Sedang
� � � =
0 ; � 155
� − 155 5
; 155 � 160
1; 160 � 179
184 − �
5 ; 179
� 184 0;
� 184 e
Parah
� ℎ � =
0 ; � 175
� − 175 5
; 175 � 180
1; 180 � 209
214 − �
5 ; 209
� 214 0;
� 214
Universitas Sumatera Utara
f Sangat Parah
�sangat
parah �
= 0 ;
� 205 � − 205
5 ; 205
� 210 1;
� 210
Fungsi keanggotaan variable Trestbps dapat dilihat pada Gambar 3.8 :
Gambar 3.8. Fungsi Keanggotaan Himpunan Fuzzy pada Variable Trestbps
4. Kolesterol
Variabel Kolesterol dibagi menjadi 3 atribut linguistik yaitu ringan, sedang dan parah. Maka fungsi keanggotaan dari himpunan fuzzy ringan, sedang dan parah untuk variabel Kolesterol
secara terpisah:
a Ringan
� � � =
1 ; � 200
� − 200 10
; 200 � 210
0; � 210
Universitas Sumatera Utara
b Sedang
� � � =
0 ; � 195
� − 195 10
; 195 � 200
1; 200 � 239
249 − �
10 ; 239
� 249 0;
� 249 c
Parah
�parah � = 0 ;
� 230 � − 230
10 ; 230
� 240 1;
� 240
Adapun fungsi keanggotaan variable Kolesterol dapat dilihat pada Gambar 3.9:
Gambar 3.9. Fungsi Keanggotaan Himpunan Fuzzy pada Variabel Kolesterol
5. FBS
Variabel Fbs dibagi menjadi 2 atribut linguistik yaitu ringan dan parah. Maka fungsi keanggotaan dari himpunan fuzzy ringan dan parah untuk variabel Fbs secara terpisah:
Universitas Sumatera Utara
a Ringan
� � � =
1 ; � 120
� − 120 10
; 120 � 130
0; � 130
b Parah
� ℎ � =
0 ; � 110
120 − �
10 ; 110
� 120 1;
� 120
Adapun fungsi keanggotaan variable Fbs dapat dilihat pada Gambar 3.10 :
Gambar 3.10. Fungsi Keanggotaan Himpunan Fuzzy pada Variable Fbs
6. Thalach
Variabel Thalach dibagi menjadi 3 atribut linguistik yaitu ringan, sedang dan parah. Maka fungsi keanggotaan dari himpunan fuzzy ringan, sedang dan parah untuk variabel
Thalach secara terpisah:
Universitas Sumatera Utara
a Ringan
� � � =
1 ; � 80
� − 80 10
; 80 � 90
0; � 90
b Sedang
� � � =
0 ; � 70
� − 70 10
; 70 � 80
1; 80 � 100
110 − �
10 ; 100
� 110 0;
� 110 c
Parah
� ℎ � =
0 ; � 90
� − 90 10
; 90 � 100
1; � 100
Adapun fungsi keanggotaan variabel Thalach dapat dilihat pada Gambar 3.11 :
Gambar 3.11. Fungsi Keanggotaan Himpunan Fuzzy pada Variabel Thalach
Universitas Sumatera Utara
3.3 Perancangan Antarmuka Sistem