BAB 2
LANDASAN TEORI
2.1       Jaringan Syaraf Biologi
Jaringan
syaraf
adalah
merupakan salah
satu
representasi buatan
dari
otak
manusia
yang
selalu
mencoba
untuk
mensimulasikan proses
pembelajaran pada
otak
manusia
tersebut.
Istilah
buatan
di
sini
digunakan karena
jaringan
syaraf
ini
diimplementasikan  dengan 
menggunakan 
program 
komputer 
yang 
mampu
menyelesaikan sejumlah proses pembelajaran (Fausett, 1994).
Otak manusia terdiri dari neuron-neuron dan penghubung yang disebut sinapsis.
Neuron bekerja berdasarkan sinyal yang diberikan neuron lain dan meneruskannya pada
neuron
lainnya. Diperkirakan
manusia
memiliki
10
11 
neuron.
Masing-masing
neuron
saling berhubungan dengan jumlah
hubungan tersebut mencapai 10
buah per neuron.
Jadi jumlah koneksi untuk setiap neuron adalah 10
15
buah. Neuron-neuron tersebut dapat
bekerja secara paralel dengan kecepatan luar biasa. Dengan jumlah yang begitu banyak
maka otak
manusia
mampu mengenali
pola,
melakukan perhitungan, serta
mengontrol
organ-organ tubuh dengan
baik.
Neuron
memiliki
3
komponen
utama,
yaitu
dendrit,
badan sel (soma) dan akson.Dendrit berfungsi menerima sinyal informasi dari satu atau
beberapa neuron yang terhubung. Sinyal yang diterima oleh dendrit diteruskan ke badan
sel. Jika total sinyal yang diterima oleh badan sel cukup kuat untuk mengaktifkan sebuah
neuron
maka
neuron
tersebut
akan
mengirimkan sinyal
ke
semua
neuron
terhubung
melalui akson.
  
8
Gambar 2.1 Sel Syaraf Biologi
2. 2
Jaringan Syaraf Tiruan
2. 2. 1  Definisi Jaringan Syaraf Tiruan
Artificial
Neural
Network
(Jaringan
Syaraf
Tiruan/ANN)
adalah sebuah
bentuk
perhitungan yang meniru bentuk jaringan syaraf pada makhluk hidup. Sama seperti pada
jaringan
syaraf
asli,
jaringan
syaraf
tiruan
memiliki neuron
untuk
memproses
input/output.
Karena
itulah, pada
sebagian besar
kasus,
ANN
merupakan
sistem
yang
adaptif, karena struktur sistemnya dapat berubah seiring dengan berubahnya informasi
internal ataupun eksternal yang diproses pada saat learning phase (tahap pembelajaran).
Pembuatan  sistem  ANN dimaksudkan  agar  komputer  dapat  mengenali  suatu  pola,
bentuk, atau struktur tertentu karena komputer tidak mempunyai intelegensia, meskipun
pada
kenyataannya, sebuah
komputer
dapat
melakukan
operasi,
misalnya
mengenali
wajah manusia, dalam waktu yang jauh lebih singkat daripada manusia.
  
9
Beberapa definisi tentang jaringan saraf tiruan adalah sebagai berikut.
A.  Hecht-Nielsend (1988)
mendefinisikan  sistem  saraf  buatan  sebagai  berikut.
"Suatu
neural
network
(NN),
adalah
suatu
struktur
pemroses
informasi yang
terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang
memiliki
memori
lokal
dan
beroperasi dengan
informasi
lokal)
yang
diinterkoneksi bersama
dengan
alur sinyal
searah
yang disebut
koneksi.
Setiap
elemen pemroses memiliki koneksi keluaran tunggal yang bercabang (fan out) ke
sejumlah
koneksi
kolateral
yang
diinginkan
(setiap
koneksi
membawa
sinyal
yang
sama
dari
keluaran elemen
pemroses
tersebut).
Keluaran
dari
elemen
pemroses tersebut dapat merupakan sembarang jenis persamaan matematis
yang
diinginkan. Seluruh proses yang berlangsung pada setiap elemen pemroses harus
benar-benar dilakukan secara
lokal, yaitu keluaran
hanya bergantung pada
nilai
masukan pada saat itu yang diperoleh melalui koneksi dan nilai yang tersimpan
dalam memori lokal".
B.  Menurut Zurada, J.M. (1992), Introduction To Artificial Neural Systems, Boston:
PWS Publishing Company,
mendefinisikan sebagai berikut.
“Sistem saraf tiruan
atau
jaringan saraf tiruan
adalah
sistem selular
fisik
yang dapat
memperoleh,
menyimpan dan menggunakan pengetahuan yang didapatkan dari pengalaman”.
C.  Menurut
Haykin, S.
(1994),
Neural
Networks:
A
Comprehensive
Foundation,
NY, Macmillan, mendefinisikan jaringan saraf sebagai berikut: “Sebuah jaringan
saraf   adalah   sebuah 
prosesor   yang  terdistribusi  paralel  dan  mempuyai
kecenderungan
untuk   menyimpan   pengetahuan   yang   didapatkannya   dari
pengalaman   dan   membuatnya   tetap   tersedia   untuk   digunakan.   Hal   ini
menyerupai kerja otak dalam dua hal yaitu pengetahuan diperoleh oleh jaringan
  
10
melalui suatu proses belajar dan kekuatan hubungan antar sel saraf yang dikenal
dengan bobot sinapsis digunakan untuk menyimpan pengetahuan.
D.  DARPA Neural Network Study (1988, AFCEA International Press, halaman 60)
mendefinisikan jaringan syaraf
buatan
sebagai berikut.
“Sebuah
jaringan syaraf
adalah
sebuah
sistem yang dibentuk dari sejumlah
elemen pemroses sederhana
yang
bekerja
secara
paralel,
yang
fungsinya
ditentukan oleh
stuktur
jaringan,
kekuatan  hubungan,  dan  pegolahan  dilakukan  pada  komputasi  elemen  atau
nodes
Biasanya, sebuah model neuron untuk ANN terdiri atas tiga bagian berikut.
A.
Synapsis  (Jalur Penghubung)
Antara 
neuron 
yang  masing-masing  memiliki
weight (bobot). Tiap Synapsis memiliki indeks tertentu untuk menunjukkan input
mana yang akan diproses menjadi output.
B.
Summing Unit untuk menghitung total input.
C.
Activation Function (Fungsi Aktivasi) untuk membatasi output.
  
11
Gambar 2.2 Jaringan Syaraf Sederhana
2.2.2
Arsitektur Jaringan Syaraf Tiruan
Arsitektur jaringan syaraf tiruan dapat dibedakan menjadi 3 macam.
A.  Jaringan syaraf dengan lapisan tunggal (single layer net).
Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot
terhubung. Jaringan
ini
hanya menerima input kemudian secara
langsung akan
mengolahnya menjadi output tanpa harus
melalui
lapisan tersembunyi. Dengan
kata lain,
ciri-ciri dari
arsitektur
syaraf
dengan
lapisan
tunggal adalah
hanya
terdiri dari satu lapisan input dan satu lapisan output, tanpa lapisan tersembunyi.
Gambar 2.3 Jaringan Syaraf Tiruan Satu Layer
  
12
B.  Jaringan syaraf dengan banyak lapisan (multi layer net).
Jaringan dengan banyak lapisan memiliki satu atau lebih lapisan yang terletak di
antara
lapisan
input
dan
lapisan
output
(memiliki satu
atau
lebih
lapisan
tersembunyi). Umumnya,
ada
lapisan
bobot-bobot
yang
terletak
di
antara
2
lapisan
yang
bersebelahan. Jaringan
dengan
banyak
lapisan
ini
dapat
menyelesaikan permasalahan
yang
lebih sulit
daripada
jaringan dengan
lapisan
tunggal, tentu saja dengan pembelajaran yang lebih rumit.
Gambar 2.4 Jaringan Syaraf Tiruan Multi Layer
C.  Jaringan syaraf dengan lapisan kompetitif (competitive layer)
Arsitektur
ini
memiliki
bentuk berbeda
dari kedua
arsitektur
lainnya, di
mana
antarneuron  saling  dihubungkan.  Jaringan  ini  sering  disebut  feedback loop
karena unit output ada yang memberikan informasi terhadap unit masukan.
  
13
Gambar 2.5 Jaringan Syaraf Tiruan Competitive Layer
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf,2010
2.2.3
Fungsi Aktivasi
Beberapa fungsi aktivasi yang sering digunakan dalam ANN adalah.
A.  Fungsi undak biner (hard limit)
Jaringan 
dengan 
lapisan 
tunggal  sering 
menggunakan 
fungsi 
undak 
(step
function) untuk mengkonversikan input dari suatu varuabel yang bernilai kontinu
ke suatu output biner
(0
atau 1).
Fungsi
undak biner
(hard
limit) dirumuskan
sebagai (Demuth, 1998):
y = 0, jika x < 0
y = 1, jika x = 0
  
14
Gambar 2.6 Jaringan Syaraf Tiruan Hard Limit
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf, 2010
B.  Fungsi bipolar (symmetric hard limit)
Fungsi bipolar hampir sama dengan fungsi undak biner, hanya saja output yang
dihasilkan  berupa  1,  0,  atau  -1.  Fungsi  Symmetric Hard
Limit  dirumuskan
sebagai berikut (Demuth, 1998):
y
=
1, jika
x
=
0
y
=
-1, jika x < 0
Gambar 2.7 Jaringan Syaraf Tiruan Symmetric Hard Limit
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf, 2010
  
15
C.  Fungsi linier (identitas)
Fungsi
linier
memiliki
nilai output
yang
sama
dengan
nilai
inputnya.
Fungsi
linier dirumuskan sebagai (Demuth, 1998):
y
=
x
Gambar 2.8 Jaringan Syaraf Tiruan Linear
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf, 2010
D.  Fungsi saturating linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari -0,5 dan akan bernilai 1 jika
inputnya lebih dari 0,5. Sedangkan jika nilai input terletak di antara -0,5 dan 0,5,
maka
outputnya akan
bernilai
sama
dengan
nilai
input
ditambah
0,5.
Fungsi
saturating linear dirumuskan sebagai (Demuth, 1998):
y
=
1, jika
x
=
0,5
y
=
x
+
0,5, jika
-
0,5 = x = 0,5
y
=
0, jika
x
=
-0,5
  
16
Gambar 2.9 Jaringan Syaraf Tiruan Saturating Linear
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf, 2010
E.  Fungsi symmetric saturating linear
Fungsi ini akan bernilai -1 jika inputnya kurang dari -1,dan akan bernilai 1 jika
inputnya lebih dari 1. Sedangkan jika nilai input terletak antara -1 dan 1, maka
outputnya akan bernilai sama dengan nilai inputnya. Fungsi symmetric saturating
linear dirumuskan sebagai (Demuth, 1998):
y
=
1, jika
x
=
1
y
=
x, jika
-1 = x = 1
y
=
-1, jika x = -1
Gambar 2.10 Jaringan Syaraf Tiruan Symmetric Saturating Linear
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf, 2010
  
17
F.  Fungsi sigmoid biner
Fungsi
ini digunakan untuk
jaringan syaraf
yang
dilatih dengan
menggunakan
metode
backpropagation.
Fungsi
sigmoid
biner
memiliki nilai
pada
range
0
sampai 1. Oleh karena itu,fungsi ini sering digunakan untuk jaringan syaraf yang
membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi
ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1. Fungsi
sigmoid biner dirumuskan sebagai (Demuth, 1998):
y
=
f ( x) =
1
1
+
e
-
s
x
dengan
f ( x) = sf ( x)[1
' ( x) = sf ( x)[1
-
f
(
x)]
Gambar 2.11 Jaringan Syaraf Tiruan Sigmoid Biner
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf, 2010
G.  Fungsi sigmoid bipolar
Fungsi
sigmoid
bipolar
hampir
sama dengan fungsi
sigmoid biner,
hanya saja
output dari fungsi ini memiliki range antara -1 sampai 1. Fungsi sigmoid bipolar
dirumuskan sebagai (Demuth, 1998):
y
=
f
(
x) =
1
-
e
-
x
1
+
e
-
x
dengan
f ' ( x) =
s
[1 + f ( x)][1 - f ( x)]
2
  
18
Gambar 2.12 Jaringan Syaraf Tiruan Sigmoid Bipolar
Sumber: Neuro-Fuzzy Integrasi Sistem Fuzzy & Jaringan Syaraf, 2010
2.2.4    Algoritma Pembelajaran
Salah satu
bagian
terpenting dari konsep
jaringan
syaraf tiruan
adalah
proses
pembelajaran.
Tujuan
utama
dari  proses 
ini  adalah
melakukan
pengaturan
terhadap
bobot-bobot yang ada pada jaringan syaraf, hingga didapat bobot akhir yang tepat sesuai
dengan
pola
data
yang
dilatih.
Selama
proses  pembelajaran,
akan
terjadi
perbaikan
bobot-bobot berdasarkan algoritma
tertentu. Nilai bobot akan bertambah jika
informasi
yang diberikan ke neuron yang bersangkutan tersampaikan. Begitu pula sebaliknya, jika
informasi
tidak disampaikan oleh suatu
neuron ke neuron
yang lain,
maka
nilai bobot
yang menghubungkan keduanya akan dikurangi. Pada saat pembelajaran dilakukan pada
input yang berbeda, nilai bobot akan diubah secara dinamis hingga mencapai nilai yang
cukup   seimbang. 
Apabila 
nilai   ini   telah   tercapai, 
berarti   tiap-tiap 
input   telah
berhubungan dengan output yang diharapkan.
Pada
dasarnya
ada
dua
metode
pembelajaran, yaitu
metode
pembelajaran
terawasi
(supervised
learning)
dan
metode
pembelajaran yang
tidak
terawasi
(unsupervised
learning).
  
19
A.  Pembelajaran terawasi (supervised learning)
Metode
pembelajaran pada
jaringan
syaraf
disebut
terawasi
jika
output
yang
diharapkan telah diketahui sebelumnya. Misalkan jaringan syaraf akan digunakan untuk
mengenali pasangan pola, misalkan pada sebuah operasi logika matematika AND. Pada
proses pembelajaran, satu pola
input akan diberikan ke satu neuron pada lapisan input.
Pola ini akan dirambatkan ke sepanjang jaringan syaraf
hingga sampai ke
neuron pada
lapisan output. Lapisan output ini akan
membangkitkan pola output yang nantinya akan
dicocokkan dengan pola output targetnya.
Apabila terjadi perbedaan antara pola output
hasil pembelajaran dengan pola target, maka akan muncul error. Apabila nilai error ini
masih
cukup
besar,
berarti
perlu
dilakukan
lebih
banyak
pembelajaran
lagi.
Model-
model
pembelajaran
yang
menggunakan supervised
learning
di
antaranya
adalah
Backpropagation, Bidirective Associative Memory (BAM), dan Hopfield.
B.  Pembelajaran tak terawasi (unsupervised learning)
Metode
pembelajaran
yang
tak
terawasi
tidak
memerlukan
target
output.
Pada
metode
ini, tidak dapat
ditentukan
hasil
yang
seperti
apakah
yang
diharapkan
selama
proses  pembelajaran. Selama
proses  pembelajaran,
nilai
bobot
disusun  dalam
suatu
range
tertentu
tergantung
pada
nilai 
input
yang
diberikan.
Tujuan
pembelajaran
ini
adalah
mengelompokkan unit-unit
yang
hampir
sama
dalam
suatu
area
tertentu.
Pembelajaran ini biasanya sangat cocok untuk pengelompokan (klasifikasi) pola. Model-
model
pembelajaran
yang
menggunakan unsupervised
learning
di
antaranya
adalah
Adaptive Resonance Theory (ART) dan Competitive.
  
20
2. 3
Backpropagation
2.3.1
Definisi
Backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya
digunakan
oleh
perceptron
dengan
banyak
lapisan
untuk
mengubah bobot-bobot
yang
terhubung
dengan
neuron-neuron
yang
ada
pada
lapisan
tersembunyinya. Algoritma
backpropagation
menggunakan error
output
untuk
mengubah
nilai
bobot-bobotnya
dalam arah
mundur (backward). Untuk
mendapatkan nilai error
ini, tahap
perambatan
maju
(forward
propagation)
harus
dikerjakan terlebih
dahulu.
Pada
saat
perambatan
maju,
neuron-neuron diaktifkan
dengan
menggunakan
fungsi
aktivasi
yang
dapat
dideferensiasikan, seperti sigmoid (Fausett, 1994).
Algoritma Backpropagation (Fausett, 1994)
Langkah 1 Inisialisasi bobot (ambil bobot awal dengan nilai random yang kecil).
Langkah 2 Tetapkan: Maksimum Epoch, Target Error, dan Learning Rate (a).
Langkah 3 Inisialisasi: Epoch = 0.
Langkah
4
Selama
(Epoch
<
Maksimum
Epoch)
dan
(MSE
(Mean
Squared
Error) < Target Error), kerjakan langkah-langkah berikut.
Langkah  4.1 Epoch = Epoch + 1
Langkah  4.2  Untuk tiap-tiap pasangan elemen yang akan dilakukan
pembelajaran, kerjakan:
Feedforward
Langkah  4.2.1  Tiap-tiap  unit input (X
i
,  i  =  1,  2,  3,  …,  n)
menerima sinyal x
i
dan
meneruskan sinyal tersebut ke semua unit
pada lapisan yang ada di atasnya (lapisan tersembunyi).
  
21
Langkah 4.2.2 Tiap-tiap unit pada suatu lapisan tersembunyi (Z
i
,
j
=
1, 2, 3, …, p) menjumlahkan sinyal-sinyal input terbobot:
n
z_in
j
=
b
1j
+
?
i
=1
x
i
v
ij
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
z
j
=
f(z_in
j
)
kemudian, kirimkan
sinyal
tersebut
ke
semua
unit
di
lapisan
atasnya 
(unit-unit 
output). 
Langkah 
ini 
dilakukan 
sebanyak
jumlah lapisan tersembunyi.
Langkah
4.2.3.
Tiap-tiap
unit
output (Y
k
,
k
=
1,
2,
3,
…,
m)
menjumlahkan sinyal-sinyal input terbobot.
p
y_in = b2k +
?
i
=1
z
i
w
ij
gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
y
k
=
f(y_in
k
)
kirimkan sinyal tersebut ke semua
unit di
lapisan atasnya (unit-
unit output).
Backpropagation
Langkah
4.2.4
Tiap-tiap unit
output
(Y
k
,
k
=
1,
2,
3,
…,
m)
menerima
target
pola
yang
berhubungan dengan
pola
input
pembelajaran, hitung informasi errornya:
d2
k
=
(t
k
y
k
)
f `(y_in
k
)
f
2jk
=
d
k
-
z
j
  
22
ß2
k
=
d
k
kemudian hitung
koreksi
bobot
(yang
nantinya
akan
digunakan
untuk memperbaiki nilai w
jk
)
?w
jk
=
a
f
jk
kemudian
hitung
koreksi
bobot
(yang
digunakan untuk
memperbaiki nilai w
jk
)
?b2
k
=
a
ßk
Langkah
4.2.4
juga
dilakukan sebanyak
jumlah
lapisan
tersembunyi, yaitu
menghitung
informasi error dari suatu lapisan
tersembunyi ke lapisan tersembunyi sebelumnya.
Langkah 4.2.5 Tiap-tiap unit tersembunyi (Z
j
,
j
=
1, 2, 3, ..., p)
menjumlahkan delta
inputnya
(dari
unit-unit
yang
berada
pada
lapisan di atasnya):
m
d_in
j
=
?
k
=1
d
k
w
jk
kalikan
nilai
ini
dengan
turunan
dari
fungsi  aktivasinya
untuk
menghitung informasi error:
d1
j
=
d_in
j
f `(z_in
j
)
f
1ij
=
d
j
x
j
ß1
j
=
d
1j
hitung koreksi bobot (digunakan untuk memperbaiki nilai v
ij
):
?v
ij
=
a
f
1ij
hitung koreksi bias (digunakan untuk memperbaiki nilai b1
j
):
?b1
j
=
a
f
1j
  
23
Langkah  4.2.6  Tiap-tiap
unit
output
(Y
k
,
k  =
1,  2,  3,  ...,  m)
memperbaiki bias dan bobotnya (j = 0, 1, 2, 3, ..., p):
w
jk
(baru) = w
jk
(lama) + ?w
jk
b
2k
(baru) = b
2k
(lama) + ?b
2k
Tiap-tiap unit tersembunyi (Z
j
,
j
=
1, 2, 3, …,p) memperbaiki bias
dan bobotnya (i = 0, 1, 2, 3, …, n):
v
ij
(baru) = v
ij
(lama) + ?v
ij
b1
j
(baru) = b1
j
(lama) + ?b
1j
Langkah 4.3 
Hitung MSE (Mean Squared Error).
Pemilihan
bobot
awal
sangat
mempengaruhi jaringan
syaraf
dalam
mencapai
minimum global
(atau
mungkin hanya
lokal
saja)
terhadap nilai
error,
serta
cepat
tidaknya proses pelatihan menuju kekonvergenan. Apabila nilai bobot awal terlalu besar,
maka input ke setiap lapisan tersembunyi atau lapisan output akan jatuh pada daerah di
mana turunan fungsi sigmoidnya akan sangat kecil. Sebaliknya, apabila nilai bobot awal
terlalu kecil, maka input ke setiap lapisan tersembunyi atau lapisan output akan sangat
kecil, yang
akan
menyebabkan proses pelatihan akan berjalan sangat
lambat.
Biasanya
bobot
awal
diinisialisasi
secara
random
dengan
nilai
antara
0,5
sampai
0,5
(atau
-1
sampai
1,
atau
interval
yang
lainnya)
(Fausett,
1994).
Sementara, Metode
Nguyen-
Widrow akan
menginisialisasi bobot-bobot lapisan dengan nilai antara -0.5 sampai 0,5.
Sedangkan bobot-bobot dari lapisan input ke lapisan tersembunyi dirancang sedemikian
rupa
sehingga dapat
meningkatkan
proses
pembelajaran.
Parameter
a
merupakan
laju
pembelajaran yang menentukan kecepatan iterasi. Nilai a terletak antara 0 dan 1 (0 = a =
1).
Semakin besar
harga a,
semakin sedikit
iterasi yang dipakai.
Tetapi,
jika
harga a
  
24
terlalu besar, maka akan merusak pola yang sudah benar sehingga pemahaman menjadi
lambat. Setelah pelatihan selesai dilakukan, jaringan dapat digunakan untuk pengenalan
pola.
Dalam
hal
ini,
hanya
Propagasi
Maju
yang
dipakai
untuk
menentukan keluaran
jaringan. Apabila
fungsi
aktivasi
yang
dipakai
bukan
sigmoid
biner,
maka
langkah-
langkahnya harus disesuaikan.
  
25
Flowchart Algoritma Backpropagation
Gambar 2.13 Flowchart Algoritma Backpropagation
  
26
2.4
Penyakit Jantung
2.4.1
Definisi Jantung
Jantung
adalah
organ
miogenis
yang
dapat
ditemukan di
semua
hewan
yang
mempunyai sistem saluran (termasuk semua hewan vertebrata). Jantung berfungsi untuk
memompa darah
melalui pembuluh darah dengan kontraksi yang ritmis dan berulang-
ulang.
Istilah
cardio 
sendiri
berasal
dari 
kata 
Yunani
kardia,
yang  berarti
“Jantung/Hati”. Jantung
hewan vertebrata terdiri
atas
otot cardiac, di
mana jenis
serat
ototnya
hanya
akan
ditemukan di
jantung
dan
tidak
di
organ
lain,
dan
juga
serat
penghubung. Jantung
manusia sehat
berdetak rata-rata 72
kali
per
menit, dan
beratnya
kurang lebih 250-300 gram untuk wanita dewasa dan 300-350 gram untuk pria dewasa.
Jantung manusia umumnya berbentuk kerucut tumpul yang memiliki empat rongga yang
dibagi menjadi 2 bagian, yaitu bagian kanan dan kiri yang dipisahkan oleh dinding otot
yang dikenal dengan
istilah septum.
Pada bagian kiri dan kanan terbagi
lagi
menjadi 2
bilik. Rongga bilik sebelah atas disebut dengan atria dan dua bilik bawah yang disebut
dengan ventricle yang memiliki peran dalam memompa darah menuju arteri.
  
27
Gambar 2.14 Tampak Penampang Jantung Manusia
Sumber: The Visual Dictionary of Human Anatomy, 1996
2.4.2
Jenis-Jenis Penyakit Jantung
Penyakit jantung atau cardiopathy adalah istilah untuk menggambarkan beberapa
variasi
penyakit
yang
menjangkiti jantung.
Di
tahun
2007,
penyakit
jantung
adalah
penyebab kematian tertinggi di Amerika Serikat, Inggris, Kanada, dan Wales. Penyakit
jantung  menyebabkan  25,  4%  dari  total  kematian  di  Amerika  Serikat.  Jenis-jenis
penyakit jantung di antaranya adalah sebagai berikut.
A.  Penyakit Jantung Koroner
Penyakit jantung koroner adalah kegagalan saluran koroner
mensuplai sirkulasi ke
bagian otot cardiac dan serat otot di sekitarnya. Penyakit jantung koroner sering disebut
juga
dengan
penyakit
arteri
koroner,
meskipun penyakit
jantung
koroner
dapat
juga
disebabkan oleh saluran koroner yang berkontraksi tidak wajar (coronary vasospasm).
  
28
B.  Cardiomyopathy
Adalah
penyakit
otot
jantung.
Ditandai
oleh
mulai
rusaknya myocardium
karena
alasan
apapun.
Penyakit
ini
dapat
mengakibatkan
arrythmia
(detak
jantung
menjadi
tidak teratur) ataupun kematian otot cardiac mendadak.
C.  Penyakit Cardiovascular
Adalah
penyakit-penyakit yang
menyerang
jantung
itu
sendiri
dan/atau
menyerang
pembuluh darah,
terutama pembuluh nadi
dan
pembuluh balik
yang
berasal dari
dan
mengarah ke jantung. Penyakit jenis
ini
termasuk umum, biasanya penyebabnya adalah
diabetes melitus, tekanan darah tinggi, dan kelebihan kolestrol.
D.  Ishaemic
Penyakit yang disebabkan oleh berkurangnya suplai darah ke organ-organ tubuh
E.  Gagal jantung
Juga disebut Congestive Heart Failure (CHF) atau Congestive Cardiac Failure (CCF),
adalah
sebuah
kondisi
yang
bisa
disebabkan oleh
kelainan
otot cardiac,
baik
secara
fungsional 
maupun   secara   struktural 
yang 
mempengaruhi 
fungsi   jantung 
untuk
memompa jumlah darah yang cukup ke seluruh tubuh.
F. 
Inflammatory Heart Disease (Penyakit Peradangan Jantung)
Penyakit
ini
disebabkan
oleh
pembengkakan
di
otot
jantung
dan/atau
serat
otot
yang
mengelilinginya.
G.  Penyakit Katup Jantung
Penyakit
jenis
ini
melibatkan
satu
atau
lebih
katup
jantung,
terutama
2
katup
utama
aortic dan tricuspid di rongga kanan jantung, dan juga 2 katup utama aortic dan mitral
di rongga kiri jantung.
  
29
2.5
Software
Software
(piranti
lunak)
adalah
kumpulan
program
komputer
dan
data
terkait
yang
menyediakan instruksi
kerja
ke
komputer
beserta
cara
penanganan
instruksi
tersebut. Dengan kata lain, piranti lunak adalah kumpulan sejumlah program, prosedur,
algoritma, dan dokumentasi.
2.5.1
Prinsip Dasar Pembuatan Software
Dalam pembuatan sebuah piranti lunak, terdapat 3 prinsip dasar sebagai berikut:
A.  Determine users' skill levels (tentukan tingkat kemampuan pengguna)
Pembagian tingkat kemampuan pengguna adalah hal yang penting, karena tidak
semua
pengguna dapat
memahami
cara
kerja
piranti
lunak
dalam
sekali
pakai.
Biasanya tingkat kemampuan pengguna dibedakan menjadi tiga macam.
1) 
Novice or first-time users
Pengguna
pada
tingkat
ini
adalah
pengguna
yang
pengetahuan mengenai
penggunaan atau konsep piranti lunaknya rendah atau tidak ada. Untuk pengguna
tingkat ini, penting untuk
membatasi kata-kata
yang digunakan dalam program
agar dapat cepat dipahami. Jumlah langkah penggunaan piranti lunak juga harus
sesedikit
mungkin
agar
pengguna
dapat
melakukan tugas
sederhana
tanpa
masalah. Jika diperlukan, dapat dibuat panduan penggunaan program.
2) 
Knowledgeable intermittent users
Pengguna pada
tingkat ini memiliki pengetahuan mengenai penggunaan dan
konsep  piranti
lunak
yang
bervariasi
dan
wawasan  luas
konsep  antar
muka,
namun  masih  kesulitan 
untuk 
menentukan  struktur  menu  atau 
lokasi 
fitur
  
30
tertentu.
Untuk
mengurangi
beban
pada
memori
pengguna, sebaiknya dibuat
struktur
menu, penggunaan istilah yang konsisten, dan
desain antar
muka
yang
tampak dengan jelas.
3) 
Expert frequent users
Pengguna
pada
tingkat
ini
sudah
mempunyai
pengetahuan yang
tinggi
mengenai  konsep  pekerjaan  dan  konsep  antar  muka.  Pengguna  tingkat  ini
mencari  cara  pintas  (shortcut)  untuk  menyelesaikan
pekerjaan  mereka  lebih
cepat. Pengguna pada tingkat ini juga menginginkan waktu respon program yang
singkat,
umpan balik
(feedback) yang
pendek dan
tidak
mengalihkan perhatian,
dan 
penggunaan
cara 
singkat
ataupun
penggunaan
macro 
yang  dapat
mengerjakan beberapa perintah sekaligus.
B.  Identify the tasks (kenali tugas yang akan dilakukan)
Setelah mengenali jenis pengguna, pembuat piranti
lunak perlu
mengenali jenis
tugas
yang
akan dikerjakan.
Untuk
langkah
ini,
diperlukan
pemahaman
mengenai
frekuensi pekerjaan tertentu beserta
urutannya, beserta tugas apa saja yang tersedia
untuk
dikerjakan.
Sebaiknya
aksi
yang
dapat
dilakukan
dikelompokkan menjadi
pekerjaan-pekerjaan yang
tidak terlalu
kecil,
agar pengguna
tidak perlu
melakukan
terlalu banyak aksi untuk pekerjaan tingkat tinggi.
Terdapat
8
prinsip dasar
untuk
desain sebuah
sistem
yang
disebut 8
Golden
Rules of
interface design (Shneiderman, 1998:72-73) yang dapat diaplikasikan ke sebagian besar
sistem interaktif. Kedelapan prinsip ini adalah sebagai berikut.
  
31
1) 
Strive for consistency (berusaha mencapai konsistensi)
Konsisten  dalam
kesamaan
terminologi
dalam  membuat
menu,  tampilan,
jenis
hutuf,
dan
help
screen.
Selain
itu
konsisten dalam
warna,
kapitalitas, dan
tampilan adalah juga penting.
2) 
Cater to universal usability
Memungkinkan frequent
users
menggunakan
shortcuts.
Setelah
para
users
mulai
tanggap
dalam
mengakses
sebuah
situs,
maka
users
akan
menginginkan
shortcut-shortcut yang mempercepat geraknya dalam pengaksesan situs tersebut.
3) 
Offer informative feedback (berikan umpan balik yang informatif)
Untuk setiap operator action, beberapa di antaranya harus mempunyai sistem
feedback.
Untuk setiap
tindakan
yang
sering dan sederhana, maka
respon
yang
diberikan  juga  sederhana,  tetapi  jika  tindakan 
yang  dilakukan 
jarang  dan
termasuk dalam major actions, maka respon juga harus lebih substansial.
4) 
Design dialogs to yield closure (rancang dialog untuk keadaan sukses)
Bertujuan untuk membuat seorang user
merasa aman dalam melakukan sebuah
tindakan  dengan  memberikan
gambaran  hasil  akhir  dari  suatu  pilihan,  serta
pemberian banyak option kepada user sehingga dapat ikut mempengaruhi hasil
akhir.
5) 
Prevent errors (cegah kesalahan)
Suatu program harus
dirancang agar
kesalahan
yang
dibuat seorang
user dapat
ditekan seminimal mungkin, dan pesan kesalahan yang dimunculkan harus dapat
dimengerti oleh user awam.
  
32
6) 
Permit
easy
reversal
of
actions
(mengijinkan
pembalikan
aksi
dengan
mudah)
Tindakan 
harus   dapat   dibalikkan 
menjadi   keadaan   sebelumnya 
sehingga
membuat user
merasa aman karena ia
tahu bahwa kesalahan yang dibuat dapat
diperbaiki.
7) 
Support internal locus of control (dukung pemakai menguasai sistem)
Membuat user
merasa
memegang
kendali
atas site
tersebut. Kesulitan user
dalam
menavigasi
situs
atau
dalam
mendapatkan data
yang
diinginkan
akan
menimbulkan rasa tidak puas.
8) 
Reduce short-term memory load (kurangi beban memori jangka pendek)
Manusia hanya dapat mengingat tujuh info ditambah atau dikurang dua info
pada
suatu
waktu.
Batasan
ini
berarti
suatu
program
harus
dibuat
sesederhana
mungkin
sehingga
tidak
membuat seorang
pengguna bingung
karena
terlalu
banyak informasi.
C.  Prevent errors (mencegah kesalahan)
Pencegahan kesalahan adalah
hal
yang sangat penting
dalam pembuatan piranti
lunak,
bagian
ini
memerlukan bagian
tersendiri.
Bahkan
seorang
analis
berpengalaman melakukan kesalahan di
hampir
setengah spreadsheet
yang
mereka
gunakan, bahkan saat spreadsheet tersebut digunakan untuk menggunakan keputusan
bisnis penting (Panko, 2008).
Salah satu langkah yang umum dilakukan pada tahap ini adalah memberi pesan error
yang 
informatif, 
dalam  artian 
memberikan 
umpan 
balik  ke  pemakai 
berupa
kesalahan yang
terjadi
dalam
bahasa
yang
mudah
dimengerti beserta
cara
penanggulangannya,   jika   memang   kesalahan   tersebut   dapat   diperbaiki   oleh
  
33
pengguna. Cara yang lebih efektif adalah dengan membuat program sedemikian rupa
sehingga kemungkinan terjadi kesalahan diminimalisir atau ditiadakan.
2.6
Teori Perancangan Software
2.6.1
Rekayasa Piranti Lunak
Rekayasa Piranti Lunak (Software Development) adalah suatu disiplin ilmu yang
membahas semua aspek produksi perangkat
lunak, mulai dari tahap awal yaitu analisis
kebutuhan
pengguna,
menentukan spesifikasi
dari
kebutuhan
pengguna,
disain,
pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. (O’Brien, 1999).
Istilah
ini
juga
mengacu
kepada
pengkodean
dan
pemeliharaan source
code
sebuah
program,
namun
dengan
cakupan
yang
lebih
luas,
yaitu
mengikutsertakan
semua
hal
yang terlibat mulai dari tahapan konsep program yang ingin dibuat, sampai kepada tahap
manifestasi program
tersebut
dengan
proses
yang
terencana
dan
terstruktur. Istilah
Software
development
dapat
meliputi
penelitian,
pengembangan, pembuatan
prototipe,
modifikasi, pemakaian ulang, pengkodean ulang, pemeliharaan, atau semua aktivitas lain
yang
menghasilkan produk
piranti
lunak.
Pembuatan
piranti
lunak
dilakukan
untuk
bermacam-macam tujuan.
Tiga
tujuan
yang
paling
umum
adalah
memenuhi
kriteria
spesifik
yang
diperlukan untuk keperluan bisnis/pelanggan, agar
piranti
lunak
tersebut
dapat 
memenuhi  kebutuhan  pengguna  potensial  (potential user),  dan  penggunaan
pribadi.
Software
development
process
(proses
pembuatan software)
adalah
sebuah
struktur yang menekankan pada pembuatan sebuah produk piranti lunak. Ada beberapa
model yang dipakai untuk proses tersebut, yang masing-masing menjelaskan pendekatan
kepada tugas atau aktivitas yang dilakukan dalam proses tersebut.
  
34
Salah
satu
model
yang
cukup
dikenal
dalam
dunia
rekayasa
perangkat lunak
adalah The Waterfall Model. Ada 5 tahapan utama dalam The Waterfall Model. Disebut
waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air
terjun
yang
bertingkat.
Tahapan-tahapan dalam
The
Waterfall
Model
secara
ringkas
adalah sebagai berikut.
A.  Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu masalah atau
adakah
peluang
suatu
sistem
informasi
dikembangkan. Pada
tahapan
ini
studi
kelayakan
dilakukan  
untuk  
menentukan   apakah   sistem   informasi   yang
dikembangkan merupakan solusi yang layak
B.  Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta
menganalisa kondisi yang ada (sebelum diterapkan sistem informasi yang baru).
C.  Tahap
disain bertujuan
menentukan
spesifikasi
detil
dari
komponen-komponen
sistem informasi (manusia, hardware, software, network, dan data) dan produk-
produk informasi yang sesuai dengan hasil tahap analisis.
D. Tahap    implementasi  
merupakan  
tahapan   
untuk   
mendapatkan  
atau
mengembangkan
hardware dan software (pengkodean program), melakukan pengujian, pelatihan
dan perpindahan ke sistem baru.
E.
Tahapan
perawatan (maintenance)
dilakukan ketika
sistem
informasi
sudah
dioperasikan. Pada
tahapan
ini
dilakukan
monitoring
proses,
evaluasi
dan
perubahan (perbaikan) bila diperlukan.