BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00635...
Transcript of BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-00635...
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 1011 neuron. Masing-masing neuron
saling berhubungan dengan jumlah hubungan tersebut mencapai 104 buah per neuron.
Jadi jumlah koneksi untuk setiap neuron adalah 1015 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 Sumber: http://belajaripaterpadu.blogspot.com/
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.
22.2.2 Arsi
Arsit
A. Jarin
Jarin
terhu
meng
kata
terdi
tektur Jarin
tektur jaring
ngan syaraf d
ngan dengan
ubung. Jarin
golahnya me
lain, ciri-ci
ri dari satu l
Gambar 2.Sumber:
ngan Syaraf
gan syaraf tir
dengan lapis
lapisan tung
ngan ini hany
enjadi outpu
iri dari arsit
lapisan input
Gambar 2.Sumber
.2 Jaringan Shttp://www.
f Tiruan
ruan dapat di
an tunggal (s
ggal hanya m
ya menerim
ut tanpa haru
tektur syara
t dan satu lap
3 Jaringan Sr: http://www
Syaraf Seder.wikipedia.o
ibedakan me
single layer
memiliki satu
ma input kem
us melalui l
af dengan la
pisan output
Syaraf Tiruanw.informawo
rhana org
enjadi 3 mac
net).
u lapisan den
mudian secar
lapisan terse
apisan tungg
t, tanpa lapis
n Satu Layerorld.com
cam.
ngan bobot-b
ra langsung
embunyi. De
gal adalah h
san tersembu
r
11
bobot
akan
engan
hanya
unyi.
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 Sumber: http://www.odec.ca/projects/2006/stag6m2/img/fig1.gif
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 0≥x
B. Fung
Fung
dihas
sebag
y
y
GSumber: N
gsi bipolar (s
gsi bipolar h
silkan berup
gai berikut (
y = 1, jika x
y = -1, jika x
GambaSumber: N
Gambar 2.6 JNeuro-Fuzzy
symmetric ha
hampir sama
pa 1, 0, ata
(Demuth, 19
0≥
< 0
ar 2.7 JaringNeuro-Fuzzy
Jaringan Syay Integrasi S
ard limit)
a dengan fun
au -1. Fung
98):
gan Syaraf Ty Integrasi S
araf Tiruan HSistem Fuzzy
ngsi undak b
gsi Symmet
Tiruan SymmeSistem Fuzzy
Hard Limit y & Jaringan
biner, hanya
tric Hard L
etric Hard Ly & Jaringan
n Syaraf, 201
saja output
Limit dirumu
Limit n Syaraf, 201
14
10
yang
uskan
10
C. Fung
Fung
linier
y
D. Fung
Fung
input
maka
satur
y
y
y
gsi linier (ide
gsi linier me
r dirumuskan
y = x
Sumber: N
gsi saturating
gsi ini akan b
tnya lebih da
a outputnya
rating linear
y = 1, jika x
y = x + 0,5, ji
y = 0, jika x
entitas)
emiliki nila
n sebagai (D
GambaNeuro-Fuzzy
g linear
bernilai 0 jik
ari 0,5. Seda
a akan berni
r dirumuskan
5,0≥
ika 5,0 ≤− x
5,0−≤
i output yan
Demuth, 199
ar 2.8 Jaringy Integrasi S
ka inputnya
angkan jika n
ilai sama de
n sebagai (D
5,0≤x
ng sama de
8):
gan Syaraf TiSistem Fuzzy
kurang dari
nilai input te
engan nilai
Demuth, 1998
engan nilai
iruan Lineary & Jaringan
-0,5 dan ak
erletak di an
input ditam
8):
inputnya. F
r n Syaraf, 201
kan bernilai
ntara -0,5 dan
mbah 0,5. F
15
ungsi
10
1 jika
n 0,5,
Fungsi
E. Fung
Fung
input
outpu
linea
y
y
y
GamSumber: N
gsi symmetri
gsi ini akan
tnya lebih d
utnya akan b
ar dirumuska
y = 1, jika x
y = x, jika −
y = -1, jika x
Gambar 2.Sumber: N
mbar 2.9 JariNeuro-Fuzzy
ic saturating
bernilai -1 j
dari 1. Sedan
bernilai sama
an sebagai (D
1≥
11 ≤≤ x
1−≤x
.10 JaringanNeuro-Fuzzy
ingan Syarafy Integrasi S
g linear
jika inputnya
ngkan jika n
a dengan nil
Demuth, 199
Syaraf Tiruy Integrasi S
f Tiruan SatuSistem Fuzzy
a kurang da
nilai input te
lai inputnya.
98):
uan SymmetrSistem Fuzzy
urating Lineay & Jaringan
ari -1,dan ak
erletak antara
Fungsi sym
ric Saturatingy & Jaringan
ar n Syaraf, 201
an bernilai
a -1 dan 1,
mmetric satur
g Linear n Syaraf, 201
16
10
1 jika
maka
rating
10
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):
xexfy σ−+==
11)( dengan )](1)[()(' xfxfxf −=σ
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):
x
x
eexfy −
−
+−
==11)( dengan )](1)][(1[
2)(' xfxfxf −+=
σ
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 (α).
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 (Xi, i = 1, 2, 3, …, n)
menerima sinyal xi 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 (Zi,
j = 1, 2, 3, …, p) menjumlahkan sinyal-sinyal input terbobot:
z_inj = b1j + ∑=
n
i 1xivij
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
zj = f(z_inj)
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 (Yk, k = 1, 2, 3, …, m)
menjumlahkan sinyal-sinyal input terbobot.
y_in = b2k + ∑=
p
i 1ziwij
gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
yk = f(y_ink)
kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-
unit output).
Backpropagation
Langkah 4.2.4 Tiap-tiap unit output (Yk, k = 1, 2, 3, …, m)
menerima target pola yang berhubungan dengan pola input
pembelajaran, hitung informasi errornya:
δ2k = (tk – yk) f `(y_ink)
φ2jk = δk - zj
22
β2k = δk
kemudian hitung koreksi bobot (yang nantinya akan digunakan
untuk memperbaiki nilai wjk)
Δwjk = α φjk
kemudian hitung koreksi bobot (yang digunakan untuk
memperbaiki nilai wjk)
Δb2k = α β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 (Zj, j = 1, 2, 3, ..., p)
menjumlahkan delta inputnya (dari unit-unit yang berada pada
lapisan di atasnya):
δ_inj = ∑=
m
k 1 δkwjk
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk
menghitung informasi error:
δ1j = δ_inj f `(z_inj)
φ1ij = δj xj
β1j = δ1j
hitung koreksi bobot (digunakan untuk memperbaiki nilai vij):
Δvij = α φ1ij
hitung koreksi bias (digunakan untuk memperbaiki nilai b1j):
Δb1j = α φ1j
23
Langkah 4.2.6 Tiap-tiap unit output (Yk, k = 1, 2, 3, ..., m)
memperbaiki bias dan bobotnya (j = 0, 1, 2, 3, ..., p):
wjk(baru) = wjk(lama) + Δwjk
b2k(baru) = b2k(lama) + Δb2k
Tiap-tiap unit tersembunyi (Zj, j = 1, 2, 3, …,p) memperbaiki bias
dan bobotnya (i = 0, 1, 2, 3, …, n):
vij(baru) = vij(lama) + Δvij
b1j(baru) = b1j(lama) + Δb1j
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 α merupakan laju
pembelajaran yang menentukan kecepatan iterasi. Nilai α terletak antara 0 dan 1 (0 ≤ α ≤
1). Semakin besar harga α, semakin sedikit iterasi yang dipakai. Tetapi, jika harga α
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.
FFlowchart AAlgoritma B
Gamb
Backpropaga
bar 2.13 Flo
ation
wchart Algooritma Backppropagation
25
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.