BAB 2 LANDASAN TEORI 2.1. Pengertian Analisis Survival Analisis survival adalah teknik statistik yang digunakan untuk menganalisis data yang bertujuan untuk mengetahui hasil dari variabel yang mempengaruhi suatu awal kejadian sampai akhir kejadian, misal waktu yang dicatat dalam hari, minggu, bulan, atau tahun. Untuk kejadian awal misalkan awal pasien terjangkit penyakit dan untuk kejadian akhir misalkan kematian pasien dan kesembuhan pasien (Kleinbaum & Klein, 2011: 4). Menurut Jakperik dan Ozoje (2012) dalam analisis survival, ada istilah failure (meskipun peristiwa sebenarnya mungkin saja sukses) yaitu suatu kejadian dimana tercatatnya kejadian yang diinginkan. Dalam menentukan waktu survival, ada tiga faktor yang dibutuhkan yaitu : 1.
Waktu awal pencatatan (start point). Waktu awal pencatatan adalah waktu awal dimana dilakukannya pencatatan
untuk menganalisis suatu kejadian. 2.
Waktu akhir pencatatan (end point). Waktu akhir pencatatan adalah waktu pencatatan berkahir. Waktu ini berguna
untuk mengetahui status tersensor atau tidak tersensor seorang pasien untuk bisa melakukan analisis. 3.
Dan skala pengukuran sebagai batas dari waktu kejadian dari awal sampai akhir kejadian. Skala diukur dalam hari, minggu, atau tahun.
6
7
Gambar 2.1. Contoh waktu survival (Sumber: David G. Kleinbaum and Mitchel Klein, Survival Analysis, 2011) Gambar diatas menggambarkan pencatatan sebuah kejadian dari awal pencatatan sampai akhir waktu pencatatan. Skala waktu diatas berdasarkan minggu dan setiap individu memiliki failure yang berbeda-beda pada pencatatan. 2.2. Censoring Data ( Data Tersensor ) Data tersensor adalah data tercatat saat adanya informasi tentang waktu survival individual, tetapi tidak tahu persis waktu survival yang sebenarnya (Kleinbaum & Klein, 2011: 5-6). Menurut Catala, Orcau, Millet, Olalla, Mondragon, dan Cayla (2011) ada 3 alasan terjadinya data tersensor : 1. Seseorang tidak mengalami suatu peristiwa dari awal pencatatan sampai akhir pencatatan. 2. Sesorang hilang tanpa ada alasan ketika pencatatan sampai akhir pencatatan. 3. Seseorang tercatat keluar dari penelitian karena kematian atau beberapa alasan lain seperti reaksi obat yang merugikan objek. Tersensor kanan apabila yang diteliti keluar dari penelitian atau penelitian berhenti sebelum kejadian yang diinginkan terjadi atau sampai akhir penelitian
8 (dalam hal ini kesembuhan pasien). Dikatakan tersensor kiri apabila suatu kejadian terjadi (dalam hal ini pasien telah terjangkit penyakit) diantara penelitian sampai akhir penelitian (Kleinbaum & Klein,2011: 7-8). 2.3. Kaplan – Meier Kaplan-Meier adalah komputasi untuk menghitung peluang survival. Metode Kaplan-Meier
didasarkan
pada
waktu
kelangsungan
hidup
individu
dan
mengasumsikan bahwa data sensor adalah independen berdasarkan waktu kelangsungan hidup (yaitu, alasan observasi yang disensor tidak berhubungan dengan penyebab failure time) (Stevenson, 2009: 6). Berikut ini adalah rumus dari Kaplan – Meier : (rj− dj) rj
(2.1)
S(t) = Pj – Pj-1
(2.2)
Pj =
∏ j =1
Dimana : S(t) = cumulative peluang survival Pj = peluang survival hingga waktu ke j t = waktu survival rj = resiko pada waktu ke j, ditunjukkan dengan rumus = nj - wj dj = jumlah amatan yang mengalami failure pada waktu ke j nj = jumlah amatan yang survive hingga waktu ke j wj = jumlah amatan yang tersensor pada waktu ke j, dan j+1 Contoh dari Plot Kaplan-Meier digambarkan pada Gambar 2.2.
9
Gambar 2.2 Plot Kaplan-Meier (Sumber: David G. Kleinbaum and Mitchel Klein, Survival Analysis, 2011) Gambar diatas menjelaskan bahwa peluang survive akan semakin kecil ketika dilakukan dalam waktu yang lama, dalam artian jika semakin lama pasien melakukan pengobatan maka semakin kecil peluang pasien untuk sembuh. 2.4. Pemodelan Survival Menurut Walters, Maringe, Coleman, Peake, Butler, Yoaung, Bergstrom, Hanna, Jakobsen, Kolbeck, Sundtrom, Engholm, Gavin, Gjerstorff, Hatcher, Johannesen, Linklater, McGahan, Steward, Tracey, Turner, Richards, Rachet (2013) Pemodelan survival adalah mejelaskan pengaruh variabel independent terhadap waktu survive. Kateristik dari model survival adalah : -
variabel dependen adalah waktu survive hingga suatu kejadian terjadi.
-
Obrservasi yang diamati bisa tersensor atau tidak tersensor.
-
Ada beberapa variabel predictor yang berpengaruh terhadap waktu survive. Pemodelan survival terbagi menjadi yaitu model semi parametrik dan model
parametrik. Model parametrik adalah suatu model survival dengan survival time yang mengikuti asumsi distribusi tertentu. Beberapa model parametrik terdiri dari model weibull,
exponential,
log-normal,
log-logistik,
gamma.
Keuntungan
model
10 parametrik adalah survival time mengikuti sebaran tertentu, selain itu model parametrik dapat memprediksi waktu suatu kejadian sampai periode suatu kejadian terjadi pada data obesrvasi. Model weibull adalah model survival dengan survival time yang mengikuti sebaran weibull dengan parameter scale (λ) dan shape (p). Model weibull terbagi menjadi dua model yaitu Acceleration Failure Time dan Proportional Hazard. 2.4.1. Pemodelan Proportional Hazard Weibull Data
dengan
distribusi
weibull
dapat
menggunakan
model
Proportional Hazard (Kleinbaum & Klein, 2005: 273). Dari penelitian Eldira (2012) model persamaan dari weibull hazard proportional adalah : h(t) = λpt p-1 Dimana :
(2.3)
λ = exp(β0 + β1X1i + β2X2i + ... + βkXki )
dimana : t = waktu survival i = 1, 2, ... (amatan) X = variabel independent p = shape parameter λ = scale parameter k = banyaknya variable independent 2.4.2. Accelerated Failure Time (AFT) Fungsi dari model AFT adalah menunjukkan efek covariat multiplikatif (proportional) mengenai waktu survival (Kleinbaum & Klein, 2005: 266). Rumus dari AFT untuk distribusi weibull adalah : S(t) = exp[-(λ1/pt)p] Dimana :
(2.4)
11 λ1/p = exp[-(α0 + α1X1 + α2X2 + … + αkXk)] 2.4.3. Estimasi Parameter (maximum likelihood) metode estimasi maximum likelihood paling sering digunakan untuk mengestimasi parameter pada model exponential, weibull, lognormal, dan distribusi gamma. Bentuk fungsi dari distribusi weibull : f (t) = λpt p−1 exp(−λt p)
(2.5)
fungsi likelihood dari persamaan 2.5 untuk parameter p, β0, dan β1 adalah : L = f(t1) * f(t2) * f(t3) * ….
(2.6)
L = exp (β0 + β1) p(t1)p-1 exp (-exp (β0 + β1)t1p) * exp (β0) p(t2)p-1
(2.7)
exp(-exp(β0)t2 p) * exp (β0) p(t3)p-1 exp(-exp(β0)t3p) * …
(2.8)
untuk mendapatkan estimasi parameter (p, βj) dilakukan penurunan logaritma natural dari L terhadap 0
∂Ln(L) =0 ∂β j
(2.9)
j = 1, 2, …, k dimana
:
λ = scale parameter t > 0 = waktu kejadian mulai dari 1, 2, 3, … f(ti) = fungsi hazard dan fungsi survival 2.4.4. Pengujian Parameter Menurut Sulistyani dan Purhadi (2013) Fungsi pengujian parameter berguna untuk mengetahui variable independen yang mempengaruhi model atau fungsi survival. Pengujian parameter secara parsial dapat di hipotesiskan sebagai berikut (Kleinbaum dan Klein, 2005: 35) : H0 : βj = 0 , j = 1, 2, ..., k
12 H1 : βj ≠ 0 , j = 1, 2, ..., k Dengan ini dapat menggunakan statistik uji sebagai berikut : Z=
βj SE β j
(2.10)
Dimana : β = nilai coefficients ke j SE = standar error dari parameter Dengan daerah penolakan H0 ditolak jika |Z hitung| > Zα 2.4.5. Acceleration Factor Menurut Kleinbaum dan Klein (2005: 287) untuk mengetahui kecepatan laju waktu failure survival maka dapat dihitung dengan rumus acceleration factor. Misal untuk model weibull dengan 1 variabel dengan kategori X11 = 1, dan X12 = 2 γ=
exp(α 0 + α1 X 11 ) exp(α 0 + α1 X 12 )
(2.11)
Dimana : α = nilai coefficient X = variable independen 2.4.6. Hazard Ratio Menurut Kleinbaum dan Klein (2005: 290) untuk mengetahui kecepatan laju waktu failure survival maka dapat dihitung dengan rumus hazard ratio. Misal untuk model weibull dengan 1 variabel dengan kategori X11 = 1, dan X12 = 2 : HR = Dimana :
exp( β 0 + β 1 X 11) exp( β 0 + β 1 X 11)
(2.12)
13 β = -αp α = nilai coefficient X = variable independen p = shape parameter 2.5. Uji Distribusi Data Menurut Djatna, Hardjomidjojo, dan Meylani (2012) untuk mengetahui distribusi waktu survival, maka dapat dilkakukan uji distribusi data dengan pendekatan Anderson-Darling. Rumus untuk uji Aderson-Darling adalah : A2 =
[ln F(Xi) + ln (1-F(Xn+1-i))]
(2.13)
Dimana : n = banyaknya data i = data ke 1, 2, 3, … F(X) = nilai fungsi X ke i = 1, 2, 3, … Cara menentukan distribusi dengan nilai Anderson-Darling adalah memilih nilai Anderson-Darling yang terkecil. 2.6. TB Paru Penyakit Tuberkulosis atau yg lebih dikenal dengan nama TB Paru merupakan penyakit menular yang disebabkan oleh bakteri Mycrobacteryum tuberculosis. Penyakit ini merupaka salah satu infeksi pada paru-paru yang kronik. WHO (World Health Organization) mendata bahwa ada sekitar 8,8 juta penderita TB Paru di seluruh dunia pada tahun 2010. Indonesia sendiri diperkirakan mempunyai 430.000 kasus penyakit TB Paru dan pada tahun 2011 indonesia berada diperingkat sembilan di dunia. Meningkatnya penularan infeksi yang telah dilaporkan saat ini, banyak dihubungkan dengan beberapa keadaan, antara lain memburuknya kondisi sosial ekonomi, belum optimalnya fasilitas pelayanan kesehatan masyarakat, meningkatnya
14 jumlah penduduk yang tidak mempunyai tempat tinggal dan adanya epidemi dari infeksi HIV. Disamping itu daya tahan tubuh yang lemah/menurun, virulensi dan jumlah kuman merupakan faktor yang memegang peranan penting dalam terjadinya infeksi TB Paru (medicastore, 2012). Beberapa faktor penting yang mempengaruhi terjadinya TB Paru diantaranya faktor sosial ekonomi yang terdiri dari keadaan rumah, kepadatan hunian, lingkungan perumahan dan sanitasi. Status gizi juga mempengaruhi terjadinya TB Paru yang meliputi kekurangan kalori, protein, vitamin, zat besi, dan lain-lain. Faktor umur dan jenis kelamin juga mempengaruhi seseorang terjangkit penyakit TB Paru (Prabu, 2013).
Gambar 2.3 Populasi TB PARU Paru tahun 2011 (Sumber: www.who.int/tb/contry/data/profiles, 2013) 2.7. RSUP Persahabatan RSUP Persahabatan adalah salah satu RS rujukan PMDT (Programmatic Management of Drug Resistant) di Indonesia selain RSUD dr.Soetomo. RSUP Persahabtan memiliki fasilitas lengkap untuk pasien penderita TB Paru, antara lain Poliklinik Paru, Poliklinik Asma dan PPOK (rri.co.id, 2013).
15 2.8. Rekayasa Piranti Lunak Rekayasa piranti lunak didefinisikan oleh Pressman (Pressman, 2010: 13) adalah kegiatan penerapan sistemastis, disiplin dan pendekatan kuantitatif untuk pengembangan, operasi, dan pemeliharaan perangkat lunak. Dalam rekayasa piranti lunak terdapat tiga elemen utama (Pressman, 2010: 13-14), yaitu : a. Proses (Process) Proses perangkat lunak menjadi dasar untuk mengontrol manajemen proyek perangkat lunak dan menetapkan konteks dimana metode teknis dapat diterapkan, produk kerja seperti model, dokumen, data, laporan, dan bentuk bisa diproduksi, mencapai proses yang telah ditetapkan, menjamin kualitas, dan perubahan yang dapat dikelola dengan baik. b. Metode (Methods) Metode rekayasa perangkat lunak menyediakan teknis “how-to” untuk pembangunan perangkat lunak. Metode yang digunakan mencakup array yang luas dari tugas yang meliputi komunikasi, analisis kebutuhan, pemodelan desain, konstruksi program, pengujian, dan dukungan. c. Alat – alat bantu (Tools) Alat rekayasa perangkat lunak memberikan dukungan otomatis atau semi otomatis untuk proses dan metode. Alat-alat dibuat terintegrasi sehingga informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat yang lain dan dapat digunakan oleh sebuah sistem untuk mendukung pengembangan perangkat lunak.
2.8.1. Agile Software Development Agility telah menjadi kata kunci pada saat menjelaskan proses
16 perangkat lunak modern. Sebuah tim yang tangkas adalah tim yang mampu secara tepat menanggapi perubahan. Perubahan yang dimaksud adalah tentang pengembangan perangkat lunak sangat besar, yang meliputi perubahan dalam perangkat lunak yang dibangun, perubahan anggota tim, perubahan karena teknologi baru, perubahan semua jenis yang mungkin berdampak pada produk (Pressman, 2010: 67). 2.8.2. Extreme Programming (XP) Menurut Pressman (2010 : 73) Extreme Programming adalah salah satu model yang ada pada agile software development. Extreme Programming
adalah
pembangunan
agile
pendekatan software
yang
paling
development.
banyak
Extreme
digunakan
Programming
menggunakan pendekatan berorientasi objek. Paradigma pembangunan mencakup seperangkat aturan dan praktik yang terjadi dalam konteks kerangka empat kegiatan yaitu: perencanaan, desain, coding, dan pengujian. Berikut adalah tahapan - tahapan dalam kerangka kerja Extreme Programming (Pressman, 2010: 73-76) : 1) Perencanaan (Planning) Kegiatan perencanaan dimulai dengan mendengarkan kegiatan pengumpulan persyaratan yang memungkinkan para anggota teknis tim XP untuk memahami konteks bisnis dari perangkat lunak dan untuk mendapatkan gambaran umum untuk hasil yang diperlukan dan fitur utama dan juga fungsi-fungsinya.
2) Desain (Design)
17 XP desain secara ketat mengikuti prinsip KIS (keep it simple). Desain sederhana selalu lebih disukai dari pada penjelasan yang lebih kompleks. Selain itu, desain memberikan pedoman pelaksanaan yang mudah
dimengerti.
Desain
adalah
fungsi
tambahan
(karena
pengembang menganggap itu akan diperlukan nanti). 3) Coding Dari pengembangan story dan desain awal, tim tidak pindah ke coding, melainkan mengembangkan serangkaian unit test yang akan dibuat. Setelah uji unit telah dibuat, pengembang lebih fokus pada apa yang harus dilaksanakan untuk menangani permasalah dalam pengujian. Sebuah konsep kunci selama kegiatan pengkodean (dan salah satu yang paling berbicara tentang aspek XP) adalah pemrograman berpasangan. XP merekomendasikan dua orang bekerja bersama di satu workstation komputer untuk membuat kode untuk sebuah story. 4) Pengujian (Testing) Pengujian merupakan elemen kunci dari pendekatan XP. Dalam tahap ini terdapat customer tests yang dikhususkan untuk user dan difokuskan pada sistem fitur dan fungsionalitas yang dapat dilihat dan dinilai oleh user.
18
Gambar 2.4 The Extreme Programming Process (Sumber: Roger S. Pressman, Software Engineering: A Practitioner’s Approach, 2010) 2.9. Interaksi Manusia dengan Komputer Suatu
program
haruslah
dapat
membuat
penggunanya
merasa
senang dan nyaman dalam menggunakannya. Oleh karena itu suatu program yang baik haruslah bersifat user friendly dan usability (Shneiderman and Plaisant, 2010: 32). Lima kriteria yang harus dipenuhi oleh suatu sistem adalah : 1. Waktu pembelajaran Merancang sebuah tampilan yang secara cepat dapat dipelajari oleh pengguna. 2. Kecepatan kinerja Memperhitungkan waktu kinerja sebuah sistem pada saat menjalakan sebuah proses. 3. Tingkat kesalahan Merancang tingkat kesalahan dan memberikan penanganan yang tepat kepada pengguna aplikasi.
19 4. Daya Ingat Tampilan dibuat agar lebih memudahkan pengguna dalam mengingat dan mempelajari aplikasi. 5. Kepuasan subjektif Mengetahui seberapa besar kepuasan pengguna dalam sistem. Dalam perancangan sebuah interface, terdapat aturan yang telah dikenal dengan nama Eight Golden Rules of Interface Design (Shneiderman & Plainsant, 2010: 88-89) yaitu : a. Berusaha untuk konsisten Konsisten dalam konteks ini adalah urutan tindakan yang harus dilakukan dalam situasi yang serupa, istilah yang serupa juga harus digunakan dalam prompts, menu, help screen, pemilihan warna, layout, ukuran dan bentuk huruf. b. Melayani kebutuhan yang universal Memahami kebutuhan dalam penggunaan dan desain untuk semua jenis user. c. Memberikan umpan balik yang informatif Setiap tindakan yang dilakukan oleh pengguna, sistem harus diberikan umpan balik. Presentasi visual dari objek yang menarik akan menciptakan lingkungan yang menyenangkan untuk menunjukkan adanya perubahan yang menyeluruh. d. Merancang dialog untuk menghasilkan keadaan akhir Sistem harus dapat mengatur tindakan yang diatur ke dalam suatu kelompok yang terdiri dari bagian awal, tengah dan akhir. Umpan balik yang informatif dari penyelesaian tindakan suatu kelompok akan
20 memberikan kepuasan bagi operator, dan akan menandakan bahwa jalannya sudah jelas untuk menyiapkan kelompok lainnya. e. Memberikan pencegahan kesalahan dan penanganan kesalahan Dalam mendesain suatu sistem, sebisa mungkin sistem harus menyediakan error prevention, sehingga pengguna tidak akan membuat kesalahan yang fatal, contohnya, pada menu untuk memasukkan nama, user tidak diperbolehkan untuk memasukkan angka. Jika user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan tersebut dan menampilkan kesalahan pengguna dan memberikan contoh penggunaan yang benar secara sederhana. f. Mengijinkan pembalikan aksi Dalam mendesain, sebisa mungkin tindakan yang telah dilakukan sebelumnya dapat di undo. Hal ini akan memudahkan pengguna jika melakukan kesalahan yang tidak disengaja ketika sedang mengerjakan sesuatu. g. Menyediakan pengendalian internal Sistem yang dirancang haruslah dapat membuat pengguna merasa menguasai sistem dan sistem akan memberikan respon atas aksi yang diberikan. h. Mengurangi beban ingatan jangka pendek Keterbatasan manusia dalam mengingat dan memproses informasi, sistem harus menyediakan dan memerintahkan
format
sintaksis,
singkatan, kode, dan informasi lainnya harus disediakan. 2.10. Unified Modeling Language Menurut Witten dan Bentley (2007: 381) UML seperti bagan untuk
21 membangun rumah, dimana satu set bagan menyediakan pembangunan dengan perspektif untuk masing-masing bagian. Beberapa
model
UML
yang
digunakan dalam penelitian ini adalah use case diagram, activity diagram, class diagram, sequences diagram. 2.10.1. Use Case Diagram Use case menggambarkan interaksi antara sistem internal, sistem eksternal dan user (Whitten & Bentley, 2007: 246). Komponenkomponen yang terdapat dalam use case diagram adalah sebagai berikut: a. Actor berperan sebagai user yang berinteraksi dan bertukar informasi dengan sistem. b. Relationships menggambarkan garis dua simbol antara actors dan use cases. Ada lima jenis relationships yaitu : 1. Associations Sebuah relationships antara actors and use case terjadi ketika use case menggambarkan sebuah interaksi antara use case dengan actors. 2. Extends Use case mungkin berisi fungsi-fungsi rumit yang terdiri dari beberapa tahap pembuatan sebuah logika use case yang sulit untuk dimengerti. 3. Includes Use case akan menurunkan redundancy terhadap dua use case atau lebih, dari langkah kombinasi umum dalam kasus itu sendiri.
22 4. Depends On Sebuah relationships antara use case yang menunjukkan bahwa satu use case tidak dapat dilakukan sampai use case yang lain dilakukan. 5. Inheritance Sebuah relationships antara actors yang menciptakan gambar yang sederhana ketika sebuah abstract actors mewarisi tugas dari multiple real actors.
Gambar 2.5 Use Case Diagram 2.10.2. Activity Diagram Menurut Whitten dan Bentley (2007: 390-391), activity diagram menggambarkan kegiatan aliran sekuensial kasus penggunaan atau suatu proses. Sistem analis menggunakan activity diagram untuk lebih mengerti alur dan urutan dari tahapan use case. Ada delapan tahapan yang harus ada di activity diagram. 1. Initial node Sebuah lingkaran yang menjelaskan awal mula suatu proses.
23 2. Actions Sebuah persegi panjang yang berbentuk sedikit bulat yang menjelaskan sebuah kegiatan. 3. Flow Sebuah arah panah yang menuju ke diagram untuk mengindikasikan proges dari sebuah kegiatan. 4. Decision Sebuah wajik dengan satu alur yang masuk dan dua atau lebih alur yang keluar. 5. Merge Sebuah wajik dengan dua atau lebih alur yang masuk dan dua atau lebih alur yang keluar. 6. Fork Sebuah garis hitam dengan satu alur masuk sampai pada penggabungan. 7. Join Sebuah garis hitam dengan dua atau lebih alur yang masuk dan satu alur yang keluar, dimana tidak ada proses yang terjadi secara bersamaan. 8. Activity final Sebuah lingkaran yang berada didalam lingkaran berongga yang menjelaskan akhir dari proses.
24
Gambar 2.6 Activity Diagram (Sumber: Whitten & Bentley, System Analysis and Design Methods, 2007) 2.10.3. Class Diagram Menurut Whitten dan Bentley
(2007: 400), class diagram
secara grafis menggambarkan struktur objek, menunjukkan kepada objek kelas bahwa sistem tersusun berdasarkan sebuah hubungan antara
25 objek kelas itu sendiri. Class diagram terdiri dari : 1. Identifying association and multiplicity Mengidentifikasi association berada antara objek kelas. 2. Identifying generalization/specialization relationships Mengidentifikasi dasar association dan multiplicity, langkah ini menentukan jika adanya generalization/specialization relationships. 3. Identifying aggregation/composition relaltionships Menentukan adanya dasar dari aggregation/composition relationships. 4. Prepare the class diagram Mempersiapkan diagram kelas yang akan dibuat.
26
Gambar 2.8 Class Diagram (Sumber: Whitten & Bentley, System Analysis and Design Methods, 2007) 2.10.4. Sequence Diagram Menurut Whitten dan Bentley (2007: 659) Sequence Diagram adalah sebuah diagram yang memodelkan sebuah logika dari penggunaan use case dengan menggambarkan interaksi dari pesan antar objek dalam sebuah
27 waktu yang terurut. Elemen-elemen yang ada pada Sequence Diagram menurut Whitten and Bentley (2007: 660) adalah: 1. Actor Actor adalah pengguna yang berinteraksi dengan sistem. 2. Interface Class Sebuah kotak yang mengindikasikan kode kelas. Interface class ditandai dengan <
>. 3. Controller Class Setiap use case akan memiliki satu atau lebih controller class yang digambarkan sama dengan interface clas, yaitu <>. 4. Entity Classes Kotak tambahan untuk setiap entitas yang dibutuhkan untuk menggabungkan urutan langkah-langkah sistem. 5. Messages Panah horizontal yang mengindikasikan pesan masuk berisi metode dari kelas objek. 6. Activation Bars Bentuk batang yang menandakan periode waktu selama masing-masing objek digunakan. 7. Return Messages Panah putus-putus adalan pesan balik. Setiap kejadian seharusnya mengirimkan pesan balik, walaupun hanya pesan indikasi sukses atau tidak.
28 8. Self Call Sebuah objek yang dapat memanggil metodenya sendiri. 9. Frame Sebuah frame digunakan untuk mengindikasikan area yang mengalami perulangan.
Gambar 2.8 Sequence Diagram (Sumber: Whitten & Bentley, System Analysis and Design Methods, 2007) 2.11. Berbasis Aplikasi Desktop Yang dimaksud berbasis aplikasi desktop dalam skripsi ini adalah membuat aplikasi program berbasis komputer. Aplikasi program dibuat dengan menggunakan bahasa pemrograman Java serta R language untuk membantu dalam perhitungan statistik. 2.11.1. Java Menurut Horton (2011: 1) Java adalah tujuan umum, bersamaan, berbasis kelas, object-oriented. Bahasa pemrograman komputer yang khusus dirancang untuk memiliki beberapa dependensi pelaksanaannya sebanyak mungkin. Hal ini dimaksudkan untuk memungkinkan pengembang aplikasi
29 "tulis sekali, jalankan di mana saja" (WORA), yang berarti bahwa kode yang berjalan pada satu platform tidak perlu dikompilasi ulang untuk berjalan di tempat lain. 2.11.2. R Language Menurut Torgo (2011: 1), R adalah bahasa pemrograman yang baik untuk komputasi statistik. Hal ini mirip dengan bahasa S yang dikembangkan oleh AT&T Bell Laboratories oleh Rick Becker, John Chambers dan Allan Wilks. Ada beberapa macam versi untuk R antara lain R untuk Unix, Windows, dan berbagai macam Mac. Selain itu R juga dapat berjalan di berbagai arsitektur komputer seperti Intel, PowerPC, Alpha sistem, dan sistem Sparc. Sumber kode dari setiap komponen R tersedia secara bebas sehingga dapat diadaptasikan dengan baik. R memiliki keterbatasan dalam penanganan dataset yang sangat besar karena semua perhitungan dilakukan dalam memori utama komputer.