BAB 3 ANALISIS DAN PERANCANGAN
3.1 Analisis Kegunaan dari Program Aplikasi yang Dirancang Telah disinggung pada bagian pendahuluan bahwa para epidemiolog menggunakan model matematika untuk merunut kemajuan atau perkembangan dari penyakit-penyakit menular. Mereka juga berusaha memperkirakan keluaran-keluaran yang paling mungkin dari suatu epidemi agar dapat melakukan terapi atau pengendalian yang paling baik dan paling mungkin untuk dilakukan, misalnya dengan melakukan vaksinasi dengan dosis yang tepat. Beberapa persoalan yang menjadi keprihatinan para epidemiolog yang dapat disebutkan di sini antara lain: -
penularan, penyebaran, dan pengendalian infeksi.
-
lamanya penyakit tinggal pada orang yang dijangkitinya.
-
jenis penyakitnya.
-
tingkat keberbahayaannya (virulence).
-
struktur dan interaksi dalam populasi.
(http://www.whenwilliusemath.com/careers/epidemiologist) Model-model matematika yang dibangun untuk menggambarkan sistem epidemis dari penyakit menular tertentu tidak dirancang untuk langsung menjawab sebagian besar, jika tak ingin dikatakan semua, keprihatinan para epidemiolog seperti ada pada daftar di atas. Meskipun pemodelan matematika memainkan peran penting dalam pembuatan
39
kebijakan, terutama kebijakan mengenai kesehatan masyarakat, seperti perencanaan terhadap masalah darurat dan penilaian terhadap resiko, evaluasi terhadap program pengendalian, dan pengawasan terhadap data yang terkumpul, peran pokok model matematika dalam riset adalah studi terhadap pola (c.q. penyebaran penyakit menular yang diteliti), analisis terhadap struktur matematikanya (termasuk terhadap parameterparameter penting yang menyusun model matematikanya), dan penafsirannya, yang menjadi
bahan
pertimbangan
untuk
kebijakan
praktis
yang
hendak
dibuat
(http://www3.imperial.ac.uk/courses/subject/medical/epidemiology). Dari uraian di atas, disimpulkan di sini bahwa peran dan kegunaan dari program aplikasi yang dirancang adalah: a.
memberikan penggambaran visual mengenai pola penularan dan penyebaran penyakit menular yang diamati dan diteliti.
b.
melakukan penghitungan numerik atas model matematika dari sistem epidemis yang diamati dan diteliti.
c.
memberikan estimasi nilai dari parameter-parameter yang terlibat dalam model matematika yang dibuat, yang diperlukan untuk interpretasi terhadap data dari sistem epidemis yang diamati dan diteliti. Ketiga peran dan tugas program aplikasi yang dirancang akan dibahas satu
persatu dengan metode langkah-mundur (backward method) berdasarkan pertimbangan bahwa pemahaman mengenai yang kemudian akan memudahkan pemahaman mengenai yang terdahulu. Ringkasnya, dengan memahami lebih dahulu apa saja parameterparameter yang terlibat dalam model matematika yang dibangun, serta hubungan antar parameter yang ditunjukkan dengan model matematika yang dibangun, dapat dirancang metode penghitungan yang tepat untuk menyelesaikan model matematikanya.
40
Selanjutnya, hasil penghitungan model matematika itulah yang menjadi bahan untuk penggambaran visual dari penularan dan penyebaran penyakit menular yang diteliti.
3.2 Parameter-parameter yang Terlibat Pemaparan dua model sistem epidemis, SIS dan SIR, pada Bab 2 sebenarnya telah memberikan petunjuk mengenai parameter-parameter yang terlibat dalam model matematika masing-masing sistem. Tabel di bawah ini meringkaskan parameterparameter yang terlibat dalam model matematika sistem-sistem epidemis beserta pengertian yang direpresentasikannya. Tabel 3.1 Parameter-parameter yang terlibat simbol
kuantitas yang direpresentasikan
S
banyaknya orang yang rentan
I
banyaknya orang yang terjangkiti
R
banyaknya orang yang sembuh dan menjadi kebal
α
angka kontak (angka penyebaran)
β
angka kesembuhan
R0
⎛α ⎞ angka reproduksi dasar = ⎜⎜ S (0) ⎟⎟ . ⎝β ⎠
Parameter-parameter yang terlibat ini menjadi masukan (input) dari program aplikasi yang dirancang. Semua nilainya diberikan, dan program akan melakukan komputasi numerik untuk mendapatkan hampiran bagi penyelesaian persamaannya. Berikut ini diringkaskan kembali penjelasan untuk setiap parameter yang terlibat.
41
S (susceptibles) adalah banyaknya individu yang rentan dalam suatu populasi N. I (infectives) adalah banyaknya individu yang terjangkit dan mungkin untuk menularkan penyakit kepada yang belum terjangkit dalam suatu populasi N, sedangkan R (recovered) adalah banyaknya individu yang telah terjangkit penyakit dan menjadi kebal terhadap penyakit itu, masih dalam populasi N. Ketiganya menjadi kompartmen atau bagian yang saling asing dari satu populasi tetap N, yang adalah asumsi dasar pertam model SIS dan SIR. Status peubah-peubah terikat S, I, dan R ini lebih tepat mengacu pada kepadatan populasi daripada terhadap besarnya populasi (Roberts dan Heesterbeek, 2003, p2). Karena, semakin padat suatu populasi, semakin besar pula peluang kontak antar anggota populasi tersebut, yang mengakibatkan semakin besarnya angka penyebaran dari penyakit yang sedang mewabah dalam populasi tersebut. Dari antara ketiga konstanta, α, β, dan R0, dalam tabel 3.1 di atas, akan dibahas lebih dahulu yang terakhir. R0 (angka reproduksi dasar) didefinisikan sebagai jumlah kasus sekunder yang dihasilkan dari satu kasus tertular yang masuk ke dalam populasi (Plitt, tanpa tahun, slide33; Hethcote, 2008, p21-22). Secara matematis, angka reproduksi dasar ini dihitung dengan rumus
α S (0) (Robeva, 2008(1), p68). Estimasi β
angka reproduksi dasar menjadi kriterium apakah terjadi epidemi atau tidak, dengan kondisi bila R0 > 1, terjadi epidemi, bila R0 = 1, penyakit tersebut bersifat menetap (endemi), dan bila R0 < 1, tidak terjadi epidemi (Roberts dan Heesterbeek, 2003, p3-4; Plitt, tanpa tahun, slide34). Angka penyebaran (α) dan angka kesembuhan (β) telah diuraikan dalam Bab 2. Di sini diringkaskan kembali pengertian dan penghitungannya. Angka penyebaran adalah peluang terjadinya penularan penyakit yang sebanding dengan hasil kali
42
kepadatan S dan kepadatan I. Peluang terjadinya penularan penyakit ini juga tergantung dari angka kontak (contact rate) yang merupakan fungsi dari kepadatan populasi (Roberts dan Heesterbeek, 2003, p2). Nilai peluang terjadinya penularan ini menjadi konstanta penularan (transmission coefficient) yang didapatkan dari rata-rata munculnya kasus baru dibandingkan S dalam selang waktu tertentu (Plitt, tanpa tahun, slide40). Sedangkan angka kesembuhan (β) berbanding terbalik dengan rata-rata lamanya seseorang menderita penyakit yang bersangkutan. Ketiga konstanta yang terlibat dalam kedua model sistem epidemis ini harus ditentukan lebih dahulu, sebelum persamaan differensial struktur matematis dari sistemnya dapat dihasilkan. Sebagai tambahan informasi, di bawah ini disajikan tabel pengelompokan penyakit menular berdasarkan model matematis dari sistem epidemisnya. Tabel 3.2 Contoh Penyakit Menular berdasarkan Sistem Epidemisnya (Sumber: Hethcote, 2008, p5, dengan penyesuaian) Model SIS
Model SIR
Gonorrhea
Campak (measles)
Meningitis
Cacar (smallpox)
Pertussis
Cacar air (chickenpox)
Pneumonia
Gondok (mumps)
Syphillis
Poliomyelitis
Tuberculosis (TBC)
Rubella
Tabel di atas hanya memberi beberapa contoh penyakit menular yang paling umum ditemui menurut kedua model dasar yang ada. Tidak semua penyakit menular yang pernah diteliti dan dibuat model matematikanya dimasukkan dalam tabel di atas.
43
3.3 Algoritma Program Aplikasi Penyelesaian Struktur Matematis dari Sistem Epidemis menggunakan Persamaan Differensial Untuk merancang program aplikasi penyelesaian Struktur Matematis dari Sistem Epidemis digunakan IDE Microsoft Visual Studio 2008 ASP.NET C#, yang dioperasikan pada sistem operasi Microsoft Windows XP Professional. Algoritma dasar program aplikasi ini adalah sebagai berikut. 1.
Buka program aplikasi Microsoft Visual Studio 2008, dan buka file program dengan nama MainSite.
2.
Pilih model SIS atau model SIR, yang menjadi model untuk sistem epidemis yang hendak diteliti.
3.
Untuk Setiap pilihan model sistem epidemis, masukkan semua parameter yang ada. By default, program menyediakan ukuran-ukuran standar, misalnya nilai DT (= h, selang waktu) seperti pada umumya diberikan nilai 0.02 dan rumus dasar persamaan differensial untuk setiap kompartmen dari modelnya.
4.
Klik tombol Calculate untuk memerintahkan program melakukan penghitungan. Hasil penghitungan akan ditampilkan dalam bentuk tabel dengan paging setiap 250 data hasil penghitungan.
5.
Klik tombol Time-Plot jika ingin mendapat kurva perubahan nilai S dan I untuk model SIS, ditambah dengan R untuk model SIR.
6.
Klik tombol Phase-Plane jika ingin mendapatkan gambaran laju perubahan untuk setiap pasang peubah.
7.
Ulangi langkah 2–6, sebanyak yang diinginkan, dengan sistem persamaan differensial yang sama atau yang baru.
8.
Tutup progam jika sudah tidak diperlukan lagi.
44
Algoritma di atas dapat digambarkan dengan diagram alur berikut ini.
Gambar 3.1 Diagram Alur Algoritma Dasar Program
45
3.4 Perancangan Program Aplikasi Pada tahap perancangan ini, akan dibuat rancangan layar dan rancangan proses dari program aplikasi yang sedang dibangun. Rancangan layar meliputi halaman utama, halaman untuk model SIS, dan halaman untuk model SIR. Sementara, rancangan proses meliputi bagan transisi dan pseudocode untuk setiap langkah yang diambil.
3.4.1 Halaman Utama Rancangan untuk halaman utama disusun seperti Gambar 3.2. di bawah ini.
Gambar 3.2 Rancangan Layar Halaman Utama
46
Pada halaman utama ini terdapat dua pilihan menu, yaitu SIS model dan SIR model. Pilihan menu paling kiri adalah menu home. Gambar 3.3 di bawah ini memberikan bagan transisi dari halaman utama.
Gambar 3.3 Bagan Transisi dari Halaman Utama Sedangkan pseudo-code untuk halaman utama ini adalah sebagai berikut. Jika (klik “Halaman Utama”) maka Tampilkan halaman utama Jika (klik “SIS Model”) maka Tampilkan halaman Model SIS Jika (klik “SIR Model”) maka Tampilkan halaman Model SIS Program idle Selesai
3.4.2
Halaman Model SIS Seperti diuraikan di atas, pada saat menu SIS Model dipilih, layar akan berpindah
ke halaman model SIS. Halaman Model SIS dirancang seperti pada Gambar 3.4 di bawah ini, dengan gambar di latar belakang, tombol menu, dan label di bawah halaman yang konsisten dengan yang terdapat pada halaman utama.
47
Gambar 3.4 Rancangan Layar Halaman Model SIS Pada halaman Model SIS ini, diperlukan masukan untuk setiap parameter yang terpampang, mulai dari Start Time sampai dengan d/dt (I). Agar tidak membingungkan pengguna, sudah diberikan nilai untuk semua parameter by default. Pengguna hanya melakukan penggantian terhadap parameter-parameter yang perlu saja. Terdapat tiga pilihan tindakan setelah semua parameter terisi, yaitu Calculate, View Time-Plot, dan View Phase-Plane (S-I). Bagan transisi dari halaman Model SIS ini direpresentasikan pada Gambar 3.5 berikut ini. Tentu saja, pilihan untuk kembali ke Halaman Utama atau loncat ke Halaman Model SIR tetap dimungkinkan.
48
Gambar 3.5 Bagan Transisi pada Halaman Model SIS
Sedangkan pseudo-code untuk halaman Model SIS ini adalah sebagai berikut. Jika (Start_Time_default != Start_Time_baru) maka Masukkan Start_Time_baru Jika (Stop_Time_default != Stop_Time_baru) maka Masukkan Stop_Time_baru Jika (DT_default != DT_baru) maka Masukkan DT_baru Jika (Init_S_default != Init_S_baru) maka Masukkan Init_S_baru Jika (Init_I_default != Init_I_baru) maka Masukkan Init_I_baru Jika (d/dt(S)_default != d/dt(S)_baru) maka Masukkan d/dt(S)_baru Jika (d/dt(I)_default != d/dt(I)_baru) maka Masukkan d/dt(I)_baru Jika (klik “Calculate”) maka { Lakukan penghitungan Tampilkan hasil penghitungan dalam tabel }
49 Jika (klik “View Time-Plot”) maka Tampilkan diagram Time-Plot Jika (klik “View Phase-Plane”) maka Tampilkan diagram bidang-fase S-I Program idle Selesai
3.4.3
Halaman Model SIR Rancangan layar yang terakhir adalah untuk halaman model SIR. Rancangan
layar untuk model SIR berbeda dengan yang untuk model SIS pada jumlah parameter dan pilihan tindakannya. Rancangan layarnya diberikan pada Gambar 3.6 di bawah ini.
Gambar 3.6 Rancangan Layar Halaman Model SIR
50
Pada halaman Model SIR ini, diperlukan masukan untuk setiap parameter yang terpampang, mulai dari Start Time sampai dengan d/dt (R). Agar tidak membingungkan pengguna, sudah diberikan nilai untuk semua parameter by default. Pengguna hanya melakukan penggantian terhadap parameter-parameter yang perlu saja. Terdapat lima pilihan tindakan setelah semua parameter terisi, yaitu Calculate, View Time-Plot, View Phase-Plane (S-I), View Phase-Plane (S-R), dan View PhasePlane (I-R). Bagan transisi dari halaman Model SIS ini direpresentasikan pada Gambar 3.7 berikut ini.
Gambar 3.7 Bagan Transisi Halaman Model SIR
51
Sedangkan pseudo-code untuk halaman Model SIR ini adalah sebagai berikut. Jika (Start_Time_default != Start_Time_baru) maka Masukkan Start_Time_baru Jika (Stop_Time_default != Stop_Time_baru) maka Masukkan Stop_Time_baru Jika (DT_default != DT_baru) maka Masukkan DT_baru Jika (Init_S_default != Init_S_baru) maka Masukkan Init_S_baru Jika (Init_I_default != Init_I_baru) maka Masukkan Init_I_baru Jika (d/dt(S)_default != d/dt(S)_baru) maka Masukkan d/dt(S)_baru Jika (d/dt(I)_default != d/dt(I)_baru) maka Masukkan d/dt(I)_baru Jika (d/dt(R)_default != d/dt(R)_baru) maka Masukkan d/dt(R)_baru Jika (klik “Calculate”) maka { Lakukan penghitungan Tampilkan hasil penghitungan dalam tabel } Jika (klik “View Time-Plot”) maka Tampilkan diagram Time-Plot Jika (klik “View Phase-Plane (S-I)”) maka Tampilkan diagram bidang-fase S-I Jika (klik “View Phase-Plane (S-R)”) maka Tampilkan diagram bidang-fase S-R Jika (klik “View Phase-Plane (I-R)”) maka Tampilkan diagram bidang-fase I-R Program idle Selesai
Dari rancangan layar, rancangan transisi, dan pseudocode untuk setiap rancangan halaman di atas, dibuat program aplikasi penyelesaian struktur matematis sistem-sistem epidemis (dasar) menggunakan persamaan differensial. Penghitungan numerik persamaan differensialnya menggunakan metode Runge-Kutta orde 4 (RK4), dan representasi visual hasil penghitungannya disajikan dalam bentuk diagram perubahan seiring waktu (time-plot diagram) dan diagram bidang-fase (phase-plane diagram).