BAB 2 LANDASAN TEORI
Bab 2 ini menguraikan beberapa landasan teori yang mencakup: jantung, model matematika, teknik solusi, rekayasa piranti lunak dan unified modeling language.
2.1 2.1.1
Jantung Fungsi Jantung Jantung adalah sesuatu yang berirama, dapat mengatur, pompa berotot yang
berfungsi untuk menjaga pasokan yang memadai pada tekanan darah yang cukup untuk memenuhi kebutuhan jaringan akan nutrisi dan membuang zat-zat tak berguna dari semua organ tubuh.
Gambar 2.1 Representasi Skema dari Sistem Sirkulasi Darah Sumber: Kogan, Boris Ja. (2010, p1)
6
2.1.2
Sistem Jantung Dalam kondisi normal, sebenarnya fungsi dari sistem utama jantung (lihat
Gambar 2.2) mendukung aktivitas pompa normal. Sistem seperti ini termasuk: suplai darah jantung, regulasi neuro-humoral, metabolisme, elektrofisiologi jantung dan sistem kontraksi otot jantung. Distorsi dalam sistem ini dapat memicu berbagai jenis penyakit jantung termasuk aritmia jantung menyebabkan fibrilasi ventrikel.
Gambar 2.2 Sistem Jantung Sumber: Kogan, Boris Ja. (2010, p4)
2.1.3
Elektrofisiologi dan Elektrokimia Jantung Ciri-ciri
khas
dasar
sel
dan
jaringan
jantung
adalah
memiliki
rangsangan dan kontraksitilitas. Rangsangan didefinisikan sebagai kemampuan sel dan jaringan jantung untuk menanggapi rangsangan yang melewati batas dengan menghasilkan dan propagasi denyut elektrik atau yang disebut dengan Action Potential (AP). Kontraksitilitas adalah kemampuan sel elemen kontraktil untuk memperpendek panjang sel sebagai respons terhadap peningkatan konsentrasi Ca intraselular dalam proses pengembangan AP (fase depolarisasi potensi membran).
7
2.1.4
Arus Melalui Membran Sel Arus listrik memiliki perbedaan sifat dan ekspresi matematika. Arus
dapat dibagi ke dalam kelompok dasar sebagai berikut: arus kapasitif, arus ionik melalui saluran gated, pertukaran ion, pompa ATP, ion kebocoran arus, dan ion tambahan arus ion yang diinduksi oleh sel lain. Model sel matematis yang berbeda memiliki
komposisi
arus
yang
berbeda
tergantung
pada
waktu
perumusan
(mencerminkan ketersediaan data terkait percobaan) dan kekhususan. Model dibagi menjadi dua kelompok: inward dan outward. Arus, yang memotong dari intraseluler ke membrandomain ekstraseluler, disebut outward, sementara yang mengalir di seberang arah disebut inward. Dalam persamaan, arus inward memiliki tanda negatif sementara arus outward memiliki tanda positif.
2.2
Model Matematika Apabila fenomena fisik yang dibuat model matematikanya adalah fenomena
kontinyu (jadi mengandung tak terhingga unsur-unsur, misalnya fenomena cahaya yg merupakan bentuk tenaga dengan satuan terkecil disebut foton), model matematika yang dihasilkan adalah model pendekatan. Suatu model matematika sebagai pendekatan terhadap suatu fenomena (alami atau buatan) hanya mencakup pengamatan berhingga atau hanya mencakup daerah yang terbatas dari fenomena tersebut (yang tak terbatas) atau hanya bersifat diskrit. Model tersebut masih dianggap sebagai bentuk yang sangat ideal dan yg sangat mendekati fenomena fisik aslinya. Pada masa lalu, cabang-cabang matematika yang mempelajari fenomena fisik kontinyu (gelombang, panas, elastisitas suatu material, gerak cairan dan sebagainya)
8
mendominasi cabang-cabang matematika yang diterapkan pada berbagai fenomena fisik seperti yang biasa dipelajari dalam fisika dan kimia. Sebagai akibatnya, cabang-cabang matematika ini digolongkan dalam kelompok matematika terapan atau matematika fisika. Tetapi sejak berkembangnya ilmu-ilmu komputer, penerapan cabang-cabang matematika yang mempelajari fenomena-fenomena yang bukan sekedar diskrit, bahkan berhingga, berkembang dengan cepat. Sebagai contoh, konsep lapangan hingga (Inggris: finite fields) yang dulu dianggap sebagai cabang murni dari ilmu aljabar merupakan salah satu tulang punggung penting dalam coding theory. Demikian pula, teori ukuran (Inggris: measure theory) semakin banyak penerapannya, khususnya dalam teori fraktal dan kaitannya dengan teori chaos. Tentu saja para matematikawan masih dapat mempelajari aspek-aspek dari teori fraktal dan chaos tanpa harus mendalami teori ukuran. Untuk fenomena fisik yang berhingga, model matematikanya (misalnya model dan perumusan matematis untuk sinyal, decoder dan encoder kode Reed-Muller), yang dibuat bukan lagi model pendekatan, tetapi sudah merupakan model eksak. Pada beberapa cabang-cabang matematika tertentu, istilah 'model matematika' dapat dipersempit. Sebagai akibatnya, definisi atau pengertian (yang khusus) dari kata 'model matematika' dalam suatu cabang matematika berbeda dengan arti kata yang sama pada cabang matematika yang lain. 2.2.1
Model Matematika Action Potential Model matematika dari action potential pertama muncul pada awal dan
pertengahan abad kedua puluh sebagai model analogi dan model fenomenologis murni, dan termasuk model berdasarkan representasi finite automata.
9
Dengan teknologi
perkembangan
komputer,
dan
yang
signifikan
karena
penelitian
dan
teknik
perintis
eksperimental dicapai
oleh
sekelompok ilmuwan yang dipimpin oleh Hodgkin dan Huxley, semi fenomenologis model ionik telah menerima pengakuan dan aplikasi yang luas untuk saraf model AP. Model ini dimodifikasi untuk model AP jantung dalam penyelidikan fundamental dicapai oleh D. Noble dan kelompoknya. Semua model matematika AP ion berdasarkan keseimbangan dari arus listrik melalui
membran
sel.
Model
matematis
ionik
yang
ada
mencerminkan
berbagai pengetahuan tentang arus ionik yang mengalir melalui membran dan didasarkan pada eksperimental untuk mencari arus saluran ionik mempunyai karakter stokastik. Terdapat dua pendekatan dalam merumuskan probabilitas bahwa suatu saluran ionik, s, dalam keadaan terbuka. Yang pertama, diperkenalkan oleh Hodgkin-Huxley, didasarkan pada mutual independence in time of channel gate variable processes, yang menggambarkan keadaan yang mungkin berbeda dari saluran. Sangat penting untuk dicatat bahwa ada banyak kekhawatiran tentang validitas asumsi ini. Hodgkin dan Huxley mengakui masalah validitas yang diandaikan tapi menyatakan bahwa, untuk tujuan mereka, masalah tidak mempengaruhi tujuan mereka: "...
Ada
sedikit
harapan
menghitung
waktu
mengalirnya
konduktansi Sodium dan Potasium dari prinsip-prinsip utama. Tujuan kami di sini adalah untuk mencari persamaan, yang menggambarkan konduktansi dengan akurasi yang wajar dan cukup sederhana untuk teoritis perhitungan action potential dan periode refraktori. Untuk kepentingan ilustrasi kami akan mencoba untuk memberikan dasar fisik untuk persamaan, tetapi harus diperhatikan
10
bahwa
interpretasi
yang
diberikan
tidak
mungkin
untuk
memberikan gambaran yang benar dari membran. " Pendekatan kedua memperkenalkan formulasi baru chanel gate processes berdasarkan pada representasi dari proses-proses sebagai rantai Markov dari proses interaksi probabilitas keadaan saluran pada waktunya. Data yang diperoleh selama percobaan klem saluran tunggal memungkinkan untuk identifikasi parameter formulasi ini. Seseorang dengan aman dapat berargumentasi bahwa ekspresi Hodgkin-Huxley adalah kasus tertentu dari representasi Markov. Model Matematika Action Potential (AP) dari sel-sel jantung berdasarkan representasi Markov sekarang dalam proses development yang intensif. 2.2.2
Model FitzHugh-Nagumo Model FitzHugh-Nagumo (FH-N) adalah model yang paling sederhana.
Persamaan
model
matematis,
direduksi
menjadi
berdimensi,
bentuknya
adalah : ⎞ dV 1 ⎛ V3 = ⎜⎜V − − I ⎟⎟ dt ε ⎝ V ⎠ dI = ε (V − γ I + β ) dt
(1)
Keterangan: a. V (satuan mV) – potensial listrik atau variabel cepat (perpindahan potensial membran antara interior dan eksterior domain dari sel). b. I (satuan mA) – potensial refrakter atau variabel lambat (arus outward). c. t (satuan ms) – waktu.
11
2.2.3
Parameter FitzHugh-Nagumo memiliki tiga parameter yang mengontrol dinamika, yaitu ε
, β dan γ . Nilai ε , yang biasanya lebih kecil dari satu, menentukan pergerakan cepat V yang berhubungan dengan I. Nilai-nilai parameter yang diaplikasikan pada skripsi ini sebagai berikut.
ε = 0.2, β = 0.7, γ = 0.8. 2.2.4
Signifikansi Parameter Dengan persamaan model FitzHugh-Nagumo dalam berbagai parameter tampak
kesamaan umum dalam bentuk gelombang untuk semua nilai parameter. Parameter ε memiliki peran utama mengendalikan dinamika relatif antara V dan I, membuat puncak menjadi tajam di kurva V pada saat nilai mendekati nilai 0 dan puncak menjadi lebih halus untuk nilai yang lebih besar. Demikian pula, kurva I menjadi tajam pada nilai ε yang mendekati nilai 0 ke titik yang mirip dengan kurva gigi gergaji dan memiliki pola yang lebih halus untuk nilai yang lebih besar. Perbedaan antar variabel muncul pada besarnya lekuk lereng. Untuk nilai ε yang kecil, kurva V memiliki nilai kemiringan hampir tak terbatas ketika puncak potensial listrik dan relaksasi, sementara lekuk lereng I cenderung mencapai nilai hampir konstan yang menurun dengan nilai ε .
12
Gambar 2.3 Efek Parameter ε (Waktu Dikoreksi oleh Nilai ε ) Sumber: Wedge, Nathan Alexander. (2004, p14)
Gambar 2.4 Efek Parameter ε (Waktu tidak diskala) Sumber: Wedge, Nathan Alexander. (2004, p14)
13
Dengan demikian, kurva I memuat bentuk segitiga pada nilai ε yang lebih
kecil. Efek-efek ini juga menyebabkan dilatasi waktu yang memanjang siklus eksitasi dalam waktu dengan nilai parameter yang lebih kecil. Gambar 2.3 dan 2.4 menampilkan kurva yang berkaitan dengan nilai yang berbeda dari parameter ε dengan dan tanpa waktu yg diskala oleh faktor ε untuk menunjukkan karakteristik. Dua parameter lain, β dan γ , hanya memiliki efek halus pada bentuk gelombang
solusi
FitzHugh-Nagumo.
Bahkan,
parameter-parameter
ini
hanya
menyebabkan pembelokan tak berarti bentuk gelombang pada relaksasi dari potensial membran (yang disebut fase refrakter relatif). Efek β hampir mirip dengan efek γ , dan masih berpusat pada fase refrakter relatif dari gelombang tetapi lebih jelas. Selain itu, nilai-nilai yang berbeda menyebabkan pergeseran nyata pada waktu variabel gating mencapai maksimum. Gambar 2.5 dan 2.6 menunjukkan efek kedua parameter.
Gambar 2.5 Efek Parameter β Sumber: Wedge, Nathan Alexander. (2004, p15)
14
Gambar 2.6 Efek Parameter γ Sumber: Wedge, Nathan Alexander. (2004, p15)
2.3
Teknik Solusi Dalam sistem umum dari persamaan diferensial biasa (ODEs), salah satu dari
beberapa metode numerik konvensional biasanya diterapkan untuk menyelesaikan sistem. Dua Contoh metode tersebut adalah metode Euler dan metode Runge-Kutta yang dapat diterapkan pada sistem FitzHugh-Nagumo. Metode Euler, yang memprediksi nilainilai solusi persamaan diferensial untuk timesteps tambahan, berguna dalam analisis awal untuk memenuhi syarat bentuk umum dan karakteristik kurva FitzHugh-Nagumo. Namun, dikarenakan metode Euler memiliki order yang lebih rendah dan rentan terhadap kesalahan numerik, analisis yang lebih maju sering menggunakan metode Runge-Kutta untuk mendapatkan solusi yang lebih akurat. Jadi, Semua solusi FitzHughNagumo dalam skripsi ini menggunakan metode Runge-Kutta order ketiga. Gambar 2.7 menyajikan perbandingan solusi yang dicapai oleh dua metode dengan tiga timesteps berbeda.
15
Gambar 2.7 Perbandingan Euler dengan Runge-Kutta Sumber: Wedge, Nathan Alexander. (2004, p11)
2.3.1
Metode Runge-Kutta Diperlukan metode numerik untuk memecahkan model matematika dari Action
Potential, dalam hal ini model FitzHugh-Nagumo. Pada metode Euler memberikan hasil yang kurang teliti maka untuk mendapatkan hasil yang lebih teliti perlu diperhitungkan suku yang lebih banyak dari deret Taylor atau dengan menggunakan interval Δx yang kecil. Kedua cara tersebut tidak menguntungkan. Penghitungan suku yang lebih banyak memerlukan turunan yang lebih tinggi dari fungsi nilai y (x), sedang penggunaan Δx yang kecil menyebabkan waktu hitungan lebih panjang.
16
Metode Runge-Kutta memberikan hasil ketelitian yang lebih besar dan tidak memerlukan turunan dari fungsi, bentuk umum dari metode Runge-Kutta adalah sebagai berikut: y r + 1 = y r + Φ ( x r , y r , Δx )
(2)
dengan Φ(xr, yr, Δx) adalah fungsi pertambahan yang merupakan kemiringan rerata pada interval. Fungsi pertambahan dapat ditulis dalam bentuk umum:
Φ = a1k1 + a2 k 2 + ... + an k n
(3)
dengan a adalah konstanta dan k adalah: k1 = hf (xr, yr)
(4)
k2 = hf (xr + p1h, yr + q11 k1)
(5)
k3 =h f (xr + p2h, yr + q21 k1 + q22 k2)
(6)
... kn =h f (xr + pn – 1h, yr + qn – 1, 1 k1 + qn – 1, 2 k2 + …+ qn – 1, n – 1 kn – 1)
(7)
Persamaan tersebut menunjukkan bahwa nilai k mempunyai hubungan berurutan. Nilai k1 muncul dalam persamaan untuk menghitung k2, yang juga muncul dalam persamaan untuk menghitung k3, dan seterusnya. Hubungan yang berurutan ini membuat metode Runge-Kutta adalah efisien dalam hitungan. Ada beberapa tipe metode Runge-Kutta yang tergantung pada nilai n yang digunakan. Untuk n = 1, yang disebut Runge-Kutta order kesatu, persamaan (3) menjadi:
Φ = a 1 k 1 = a 1 hf ( x r , y r ) Untuk a1 = 1 maka persamaan (3) menjadi:
(8)
17
y r + 1 = y r + hf ( x r , y r )
(9)
yang sama dengan metode Euler. Di dalam metode Runge-Kutta, setelah nilai n ditetapkan, kemudian nilai a, p dan q dicari dengan menyamakan persamaan (3) dengan suku-suku dari deret Taylor. 2.3.2
Metode Runge-Kutta Order Ketiga Metode Runge-Kutta order kedua mempunyai bentuk: y r +1 = y r +
1 (k1 + 4k 2 + k 3 ) 6
(10)
dengan:
k1 = hf ( x r , y r )
(11)
1 ⎞ 1 ⎛ k 2 = hf ⎜ x r + h, y r + k1 ⎟ 2 ⎠ 2 ⎝
(12)
k 3 = hf ( x r + h, y r − k1 + 2k 2 )
(13)
Contoh soal: Selesaikan persamaan diferensial berikut ini dengan metode Runge-Kutta order ketiga. dy = 1 + y2 dx
Tentukan y(0.20) dengan ukuran langkah h=0.10.
Penyelesaian: Diketahui a = x0 = 0 b = 0.20 h = 0.10
18
maka
(0.20 − 0) = 2
n=
0.10
(jumlah langkah).
Langkah:
x0 = 0 → y 0 = 0 x1 = 0.10 → y1 = ?
(
)
k1 = hf ( x0 , y 0 ) = (0.10) 1 + 0 2 = 0.10
(
)
1 1 ⎞ ⎛ k 2 = hf ⎜ x0 + h, y 0 + k1 ⎟ = (0.10) 1 + 0.05 2 = 0.10025 2 2 ⎠ ⎝ k 3 = hf ( x0 + h, y 0 − k1 + 2k 2 ) = (0.10) 1 + 0.1005 2 = 0.10101
(
)
1 (k1 + 4k 2 + k 3 ) = 0 + 1 (0.10 + 4 × 0.10025 + 0.10101) = 0.10034 6 6
y1 = y 0 +
x 2 = 0.20 → y 2 = ?
(
) 1 1 ⎞ ⎛ = hf ⎜ x + h, y + k ⎟ = (0.10)(1 + 0.150845 ) = 0.10228 2 ⎠ 2 ⎝ = hf ( x + h, y − k + 2k ) = (0.10)(1 + 0.20389 ) = 0.10416
k1 = hf ( x1 , y1 ) = (0.10) 1 + 0.10034 2 = 0.10101 k2 k3
2
1
1
1
2
1
y 2 = y1 +
1
1
2
1 (k1 + 4k 2 + k 3 ) = 0.10034 + 1 (0.10101 + 4 × 0.10228 + 0.10416) = 0.20272 6 6
Jadi, y(0.20)=0.20272. 2.3.3 Sistem Persamaan Diferensial
Dalam bidang sains dan rekayasa, persamaan diferensial banyak muncul dalam bentuk simultan, yang dinamakan sistem persamaan diferensial, sebagai berikut:
y '1 =
dy1 = f1 (x, y1 , y 2 ,..., y n ) → y1 ( x0 ) = y10 dx
(14)
y'2 =
dy 2 = f 2 ( x, y1 , y 2 ,..., y n ) → y 2 (x0 ) = y 20 dx
(15)
....
19
y'n =
dy n = f n ( x, y1 , y 2 ,..., y n ) → y n ( x0 ) = y n 0 dx
(16)
Sistem persamaan diferensial tersebut dapat ditulis dalam notasi vektor sebagai berikut: y ' = f ( x, y ) → y ( x 0 ) = y 0
(17)
yang dalam hal ini,
⎡ y1 ⎤ ⎡ y '1 ⎤ ⎡ f1 ⎤ ⎡ y10 ⎤ ⎢y ⎥ ⎢ y' ⎥ ⎢f ⎥ ⎢y ⎥ ⎢ 2⎥ ⎢ 2⎥ ⎢ 2⎥ ⎢ 20 ⎥ ⎢ . ⎥ ⎢ . ⎥ ⎢.⎥ ⎢ . ⎥ y = ⎢ ⎥, y ' = ⎢ ⎥, f = ⎢ ⎥, y 0 = ⎢ ⎥ ⎢ . ⎥ ⎢ . ⎥ ⎢.⎥ ⎢ . ⎥ ⎢ . ⎥ ⎢ . ⎥ ⎢.⎥ ⎢ . ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎣ y n ⎥⎦ ⎢⎣ y ' n ⎥⎦ ⎢⎣ f n ⎥⎦ ⎢⎣ y n 0 ⎥⎦
(18)
Semua metode untuk persamaan tunggal dapat diterapkan pada sistem persamaan di atas. Contoh Soal: Diketahui sistem PDB orde-1 dy = −0.5 y → y (0 ) = 4 dt dz = 4 − 0.3 z − 0.1 y → z (0 ) = 6 dt
Hitung y(0.5) dan z(0.5) dengan metode Runge-Kutta order ketiga dengan h=0.5.
20
Penyelesaian:
k1 = hf (t r , y r ) 1 1 ⎞ ⎛ k 2 = hf ⎜ t r + h, y r + k1 ⎟ 2 2 ⎠ ⎝ k 3 = hf (t r + h, y r − k1 + 2k 2 ) y r +1 = y r +
1 (k1 + 4k 2 + k 3 ) 6
t0 = 0 → y0 = 4 t1 = 0.5 → y1 = ? k1 = hf1 (t 0 , y 0 , z 0 ) = 0.5{(0.5)(0.4 )} = −1 1 1 1 ⎞ ⎛ k 2 = hf1 ⎜ t 0 + h, y 0 + k1 , z 0 + k1 ⎟ 2 2 2 ⎠ ⎝ k 2 = (0.5) f1 (0.25,3.5,5.5) = (0.5){(− 0.5)(3.5)} = −0.875 k 3 = hf 1 (t 0 + h, y 0 − k1 + 2k 2 , z 0 − k1 + 2k 2 )
k 3 = (0.5) f 1 (0.5,3.25,6.815) = (0.5){(− 0.5)(3.25)} = −0.8125
sehingga y1 = y (0.5) = y 0 +
1 (k1 + 4k 2 + k 3 ) 6
1 {− 1 + 4(− 0.875) + (− 0.8125)} 6 y1 = 3.114583 y1 = 4 +
t0 = 0 → z0 = 6 t 1 = 0 .5 → z 1 = ? k1 = hf 2 (t 0 , y 0 , z 0 ) = 0.5{4 − (0.3)(6 ) − (0.1)(4 )} = 0.9 1 1 ⎞ 1 ⎛ k 2 = hf 2 ⎜ t 0 + h, y 0 + k1 , z 0 + k1 ⎟ 2 2 2 ⎠ ⎝ k 2 = (0.5) f 2 (0.25,4.45,6.45)
21
k 2 = (0.5){4 − (0.3)(6.45) − (0.1)(4.45)} = 0.81 k 3 = hf 2 (t 0 + h, y 0 − k1 + 2k 2 , z 0 − k1 + 2k 2 ) k 3 = (0.5) f 2 (0.5,4.72,6.72)
k 3 = (0.5){4 − (0.3)(6.72) − (0.1)(4.72)} = 0.756 sehingga z1 = z (0.5) = z 0 +
1 (k1 + 4k 2 + k 3 ) 6
1 {0.9 + 4(0.81) + 0.756} 6 z1 = 6.816 y1 = 6 +
Jadi, y(0.5)=3.114583 dan z(0.5)=6.816.
2.4
Rekayasa Piranti Lunak
Menurut Fritz Bauer (Pressman, 1992, p23), Rekayasa Piranti Lunak adalah penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan piranti lunak yang ekonomis yaitu terpercaya dan bekerja efisien pada mesin (komputer). Menurut Pressman (1992, p24), rekayasa piranti lunak mencakup 3 elemen yang mampu mengontrol proses pengembangan piranti lunak, sebagai berikut: a. Metode-metode (methods) menyediakan cara-cara teknis untuk membangun piranti lunak. b. Alat-alat bantu (tools) mengadakan dukungan otomatis atau semi otomatis untuk metodemetode seperti CASE (Computer Aided Software Engineering) yang mengkombinasikan software, hardware, dan software engineering database.
22
c. Prosedur-prosedur (procedures) merupakan pengembangan metode dan alat bantu. Dalam perancangan software dikenal istilah software development life cycle yaitu serangkaian kegiatan yang dilakukan selama masa perancangan software. Berikut adalah visualisasi dari kegiatan pada software development life cycle model waterfall (Dix, 1997, p180). 1) Spesifikasi kebutuhan (Requirement specification) Pada tahap ini, pihak pengembang dan konsumen mengidentifikasi apa saja fungsi-fungsi yang diharapkan dari sistem dan bagaimana sistem memberikan layanan yang diminta. Pengembang berusaha mengumpulkan berbagai informasi dari konsumen. 2) Perancangan arsitektur (Architectural design) Pada tahap ini, terjadi pemisahan komponen-komponen sistem sesuai dengan fungsinya masing-masing. 3) Detailed design Setelah memasuki tahap ini, pengembang memperbaiki deskripsi dari komponenkomponen dari sistem yang telah dipisah-pisah pada tahap sebelumnya. 4) Coding and unit testing Pada tahap ini, desain diterjemahkan ke dalam bahasa pemrograman untuk dieksekusi. Setelah itu komponen-komponen dites apakah sesuai dengan fungsinya masing-masing. 5) Integration and testing Setelah tiap-tiap komponen diuji dan telah sesuai dengan fungsinya, komponenkomponen tersebut disatukan lagi. Lalu sistem diuji untuk memastikan sistem telah sesuai dengan kriteria yang diminta konsumen.
23
6) Pemeliharaan Setelah sistem diimplementasikan, maka perlu dilakukannya perawatan terhadap sistem itu sendiri. Perawatan yang dimaksud adalah perbaikan error yang ditemkan setelah sistem diimplementasikan.
Gambar 2.8 Software Development Life Cycle Model Waterfall Sumber: http://www.buzzle.com/showImage.asp?image=1449 Penjelasan yang telah dijabarkan di atas adalah teori-teori dasar yang akan digunakan dalam penyusunan skripsi ini, sekaligus menjadi acuan dalam menganalisis, membahas, mengevaluasi, serta mengambil simpulan pada bab-bab berikutnya.
2.5
Unified Modeling Language (UML)
Menurut Schmuller (1999, p6), Unified Modeling Language (UML) merupakan suatu alat bantu dari pembuat sistem yang memudahkan untuk menciptakan gambaran dari suatu sistem yang dibuat berdasarkan visi dari pembuat sistem dengan sistematika standar, sehingga mudah dimengerti dan mudah dikomunikasikan.
24
2.5.1 Diagram Use Case
Use Case menunjukkan hubungan interaksi antara aktor dengan use cases di dalam suatu sistem (Mathiassen, 2000, p343) yang bertujuan untuk menentukan bagaimana aktor berinteraksi dengan sebuah sistem. Aktor adalah orang atau sistem lain yang berhubungan dengan sistem. Ada tiga simbol yang mewakili komponen sistem seperti terlihat pada gambar dibawah ini
Gambar 2.9 Notasi Use Case Diagram Sumber: http://sionlinestudy.files.wordpress.com/2009/10/use_case.png?w=500&h=412 Menurut Schneider dan Winters, ada lima hal yang harus diperhatikan dalam pembuatan diagram use case (Schneider dan Winters, 1997, p26): a. Aktor adalah segala sesuatu yang berhubungan dengan sistem dan melaksanakan use case yang terkait. b. Precondition adalah kondisi awal yang harus dimiliki aktor untuk masuk ke dalam sistem untuk terlibat dalam suatu use case. c. Postcondition adalah kondisi akhir atau hasil apa yang akan diterima oleh aktor setelah menjalankan suatu use case.
25
d. Flow of Events adalah kegiatan-kegiatan yang dilakukan pada sebuah proses use case. e. Alternative Paths adalah kegiatan yang memberikan serangkaian kejadian berbeda yang digunakan dalam Flow of Events.
2.5.2
Diagram Statechart
Diagram Statechart menggambarkan state (keadaan) yang dialami semua objek dalam suatu class yang spesifik serta transisi (event) yang memicu terjadinya suatu state (Mathiassen et. al., 2000, p341). Seperti terlihat pada gambar dibawah ini:
Gambar 2.10 Notasi Statechart Diagram Sumber: http://www.ittelkom.ac.id/library/images/stories/artkel2/sry/simbol%20simbol%20pada %20statechart%20diagram%20atau%20activiti%20diagram.jpg
2.5.3
Diagram Activity
Menurut Whitten et. al. (2004, p442) diagram activity digunakan untuk menggambarkan urutan aliran kegiatan-kegiatan dari sebuah proses bisnis atau sebuah use case. Diagram ini juga dapat digunakan untuk memodelkan aksi dan hasil ketika operasi berlangsung, seperti terlihat pada gambar berikut ini.
26
Gambar 2.11 Notasi Activity Diagram Sumber: http://www.threesl.com/images/activity-diagram.gif
2.5.4
Diagram Sequence
Menggambarkan bagaimana objek berinteraksi satu sama lain melalui pesan pada pelaksanaan use case atau operasi. Diagram sequence mengilustrasikan bagaimana pesan dikirim dan diterima antar objek secara berurutan (Whitten et. al., 2004, p441). Beberapa notasi diagram sequence terlihat pada gambar berikut ini.
27
Gambar 2.12 Notasi Sequence Diagram Sumber: http://fracturedbloughts.rolandhesz.com/wpcontent/uploads/2009/02/windowslivewritersomethoughtsontheumlsequencediagram12207arrows.png
2.5.5
Keuntungan UML
Beberapa keuntungan menggunakan UML adalah sebagai berikut. a. Sebagai bahasa permodelan yang general-purpose, difokuskan pada pokok himpunan konsep yang dapat dipakai bersama, dan menggunakan pengetahuan bersama dengan mekanisme perluasan. b. Sebagai bahasa permodelan yang mudah diaplikasikan, dapat diaplikasikan untuk berbagai tipe sistem (software dan non-software), domain (bisnis melawan software), dan metode atau proses. c. Sebagai bahasa permodelan standar industri, bukan merupakan bahasa yang tertutup atau satu-satunya, tapi bersifat terbuka dan sepenuhnya dapat diperluas.