BAB 2 LANDASAN TEORI
2.1 Teori Telemedicine dan E-Health 2.1.1 Telemedicine Aplikasi pengobatan klinis dimana informasi medis ditransfer melalui media audio-visual interaktif disebut Telemedicine (Fabbrocini, et al, 2011). Telemedicine berguna untuk pengaturan perawatan primer dan khusus dalam sistem kesehatan publik, komunikasi elektronik dalam membuat rujukan untuk perawatan khusus, membantu dalam menghubungkan pasien dan rumah sakit utama dengan klinik perawatan di daerah terpencil dan dapat meningkatkan kerjasama antara dokter spesialis dan perawat rujukan (Coelho, 2011). Kesuksesan program telemedicine terlihat dari meningkatnya tingkat konsultasi, penerimaan secara positif, dan keseluruhan umpan balik yang positif dari pasien (Dobke, et al, 2011). Virtual Communities for Healthcare merupakan salah satu metode untuk meningkatkan kualitas hidup pasien yang dikembangkan melalui metode pembelajaran jarak jauh dengan menciptakan “virtual self-help groups”.
Kualitas
hidup
yang
dimaksud
adalah
meningkatnya
kemandirian, self-management, memperkaya pengetahuan medis dan memperbaiki kondisi kesehatan (Chorbev, et al, 2011).
8
9
Gambar 2.1 Ilustrasi Konsep Telemedicine (Sumber: Design of Multimedia Messaging Service for Mobile Telemedicine System - Setyono) Menurut Fuad (2005), informatika kesehatan masyarakat merupakan salah satu subdomain dari informatika kedokteran yang didefinisikan sebagai disiplin ilmu yang berkembang dengan cepat yang berurusan dengan penyimpanan, penarikan dan penggunaan data, informasi serta pengetahuan biomedis secara optimal untuk memecahkan masalah dan mengambil keputusan. Subdomain dalam informatika kedokteran menurut Fuad (2005), meliputi: a. Bio informatika bekerja pada proses molekuler dan seluler. Riset dan aplikasi bio informatika memfasilitasi upaya-upaya rekayasa genetik dan penemuan vaksin. b. Informatika klinis yang diterapkan pada level individu, mengkaji berbagai inovasi teknologi informasi untuk mendukung pelayanan kesehatan pasien, komunikasi antara dokter dengan pasien serta
10 mempermudah dokter dalam mengumpulkan hingga mengolah data individu pasien. c. Medical imaging mengkaji aspek pengolahan data dan informasi digital pada level jejaring dan organ. d. Informasi kesehatan masyarakat yang berfokus pada populasi untuk mendukung pelayanan, pendidikan dan pembelajaran kesehatan masyarakat. Secara sederhana, telemedicine sesungguhnya telah diaplikasikan ketika terjadi diskusi antara dua dokter membicarakan masalah pasien lewat mobile. Ilustrasinya seperti gambar 2.2.
Gambar 2.2 Blok Diagram Sistem Telemedicine (Sumber: Design of Multimedia Messaging Service for Mobile Telemedicine System - Setyono) Praktek telemedicine dapat dibagi menjadi dua kategori berbeda: realtime dan store-and-forward. Telemedicine realtime melibatkan interaksi sinkron antara pihak yang bersangkutan. Misalnya, perawatan kesehatan profesional dan pasien mungkin berinteraksi dengan video conference. Sementara telemedicine realtime sering efektif dalam hal kepuasan konsultasi dan pasien, itu menyajikan tantangan. Terpenting adalah penjadwalan dari pihak yang bersangkutan, karena biasanya ada
11 dua penyedia layanan kesehatan yang terlibat dalam konsultasi (penyedia lokal dan dokter), dan mereka berdua harus tersedia pada saat yang sama. Bidang telemedicine lebih dari interaksi klinis, memiliki teknologi untuk menghubungkan remote site juga memungkinkan pembelajaran jarak jauh. Ini mungkin melibatkan pelatihan atau berbagi informasi untuk perawatan kesehatan profesional yang tidak secara langsung melibatkan pasien namun tetap meningkatkan perawatan. 2.1.2 Electronic Health (E-Health) Menurut Pagliari (2005), E-Health adalah penggunaan jaringan informasi dari teknologi
telekomunikasi
terutama
internet untuk
meningkatkan kulitas pelayanan kesehatan. E-Health berguna untuk memberikan informasi kesehatan, baik berupa resep obat, maupun yang berhubungan dengan informasi jenis-jenis penyakit. E-Health merupakan aplikasi teknologi komunikasi dan informasi yang mencakup keseluruhan fungsi yang mempengaruhi sektor kesehatan. E-Health melibatkan banyak pihak mulai dari masyarakat sampai dengan farmasi. Layanan E-Health terdiri dari: content, connectivity, commerce, community, dan clinical care. Fungsi dari E-Health adalah menggambarkan kemampuan unik internet yang memungkinkan pengiriman pelayanan kesehatan. Hasilnya, E-Health menyebabkan pelayanan kesehatan menjadi lebih efisien, membuat pasien dan pihak kesehatan lainnya dapat melakukan konsultasi dan interaksi tanpa harus bertemu secara tatap muka. Kelebihan E-Health: 1. Membantu masyarakat dalam bidang kesehatan karena sebagian masyarakat masih awam dalam melakukan pengobatan dan masih
12 menggunakan pengobatan alternatif. 2. Mempermudah untuk mendapatkan informasi tentang kesehatan, pelayanan kesehatan, obat, penyakit dan lain-lain, sehingga masyarakat dapat dengan dini untuk mencengah ataupun mengobati penyakit yang diderita. 3. Mencari informasi tentang gaya hidup sehat. 4. Mencari kelompok diskusi tentang kesehatan. Kekurangan E-Health: 1. Akses kesehatan melalui internet terbatas pada golongan tertentu saja yang cukup mapan. 2. Informasi internet masih terkendala dengan sulitnya mencari informasi yang valid, lengkap dan mudah dimengerti. 3. Masalah konflik “interest” dengan perusahaan kimia di dunia internet.
2.2 Teori dan Konsep yang Mendukung Sistem Telemedicine 2.2.1 Membangun Perangkat Lunak Menurut Pressman (2010, p1), Perangkat Lunak Komputer adalah produk yang dibangun oleh seorang tenaga profesional dan bisa dikembangkan dalam jangka waktu yang panjang, meliputi program yang akan dieksekusi oleh komputer dengan ukuran dan arsitektur tertentu. Konten yang berada di dalamnya merupakan implementasi dari eksekusi program komputer, bisa berupa informasi deskriptif maupun informasi virtual.
13 Rekayasa perangkat lunak mencakup proses, kumpulan metode, dan berbagai alat yang mendukung tenaga profesional untuk membangun perangkat lunak komputer yang berkualitas tinggi. Perangkat lunak menjelma menjadi sesuatu yang penting bagi kehidupan manusia, karena keberadaannya
mempengaruhi
setiap
aspek
kehidupan,
meliputi
perdagangan, budaya, serta kegiatan sehari-hari. Membangun sebuah perangkat lunak sama dengan membangun produk-produk lainnya. Penerapan proses yang terencana, beradaptasi dengan
perkembangan
perangkat
lunak
dengan
maksimal
agar
menghasilkan produk berkualitas tinggi dan dapat memenuhi kebutuhan orang banyak. Ada beberapa cara dalam membangun atau membuat sebuah perangkat lunak antara lain adalah Model Building and Fix, Model Waterfall, Prototyping, Model Incremental, dan Model Spiral. Namun karena dalam pembangunan perangkat lunak ini yang digunakan adalah Model Waterfall sehingga akan dijelaskan tentang Model Waterfall secara menyeluruh.
2.2.2 Model Waterfall Dalam Perancangan Rekayasa Perangkat Lunak 2.2.2.1 Pengertian Model Waterfall Menurut Pressman (2010, p39), Model Waterfall dapat juga disebut sebagai Classic Life
Cycle. Menunjukkan sebuah
pendekatan sistematis untuk pengembangan perangkat lunak. Diawali dengan Communication, Planning, Modeling, Construction dan Deployment seperti gambar 2.3.
14
Gambar 2.3 Tahapan Model Waterfall (Sumber: Software Engineering, A Practitioner Approach 7th Pressman) 1. Communication. Sebelum melakukan pekerjaan yang bersifat teknis, penting bagi developer untuk berkomunikasi dan berkolaborasi secara berkala dengan pelanggan atau perusahaan. Hal ini dilakukan agar developer mengerti tujuan utama perusahaan dalam pembuatan
perangkat
lunak
dan
dalam
rangka
mengumpulkan segala persyaratan untuk membuat fitur dalam perangkat lunak itu sendiri. 2. Planning. Segala macam perjalanan sulit membutuhkan map untuk mempermudahnya.
Seperti
itulah
proyek
pembuatan
perangkat lunak. Proyek perangkat lunak diibaratkan sebagai sebuah perjalanan. Sedangkan mapnya adalah perencanaan proyek perangkat lunak. Pada tahap ini developer mulai memikirkan tugas-tugas teknis apa yang akan dilakukan, resiko yang mungkin terjadi, sumber daya apa saja yang
15 diperlukan, produk apa saja yang akan diproduksi serta membuat modul kerja. 3. Modeling. Seorang arsitek, penata taman, pembangun jembatan, insinyur penerbangan, sampai tukang kayu, selalu bergelut dalam pembuatan desain model. Semuanya diawali dengan pembuatan sketsa. Jika semua bagian-bagiannya cocok dengan karakteristik lainnya, sketsa mulai dibuat lebih detil agar kita dapat lebih memahami masalah yang ada. Seperti itulah Rekayasa Perangkat Lunak, harus memulainya dengan membuat suatu model agar dapat memahami kebutuhan perangkat lunak tersebut. Kemudian desain yang dibuat harus sesuai agar mencapai kebutuhan awal yang diminta. 4. Construction. Pada tahap ini developer mulai membuat coding (pembuatan kode) baik manual atau otomatis. Jika sudah selesai, maka pengujian harus langsung dilakukan untuk meminimalisir kesalahan-kesalahan dalam coding. 5. Deployment. Perangkat lunak sudah dapat dikirimkan kepada pelanggan dan pelanggan akan memberikan umpan balik sekiranya ada yang perlu dievaluasi pada perangkat lunak tersebut. 2.2.2.2 Kelebihan Model Waterfall Kelebihan Model Waterfall, yaitu: 1. Merupakan model linier yang sangat sederhana untuk
16 dimplementasikan. 2. Jumlah sumber daya yang diperlukan untuk melaksanakan model ini minimal. 3. Dokumentasi diproduksi pada setiap tahap pengembangan perangkat lunak. 4. Setelah setiap tahap utama coding perangkat lunak, pengujian akan dilakukan untuk memeriksa jalan yang benar dari kode. 2.2.2.3 Kelemahan Model Waterfall Kelemahan Model Waterfall, yaitu: 1. Anda tidak bisa melangkah selanjutnya, jika pada tahap modeling/desain ada yang salah, hal-hal bisa menjadi sangat rumit dalam tahap konstruksi. 2. Seringkali, klien tidak jelas tentang apa yang sebenarnya diinginkan dari perangkat lunak. Setiap perubahan yang disebutkan diantaranya dapat menyebabkan kebingungan. 3. Sampai pada tahap akhir siklus pengembangan selesai, sebuah model kerja perangkat lunak tidak terletak di tangan klien.
2.2.3 Server dan Web Server Menurut Nugroho (2004, p5) secara global server dapat diartikan sebagai pusat dan difungsikan sebagai “pelayan” yang berguna untuk pengiriman dan penerimaan data serta mengatur pengiriman dan penerimaan data diantara komputer-komputer yang tersambung. Dengan kata lain server berfungsi menyediakan pelayanan terhadap klien.
17 Sedangkan web server menurut Nugroho (2004, p6) adalah sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau home page. Komputer dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu program server yang disebut Personal Web Server (PWS). PWS ini difungsikan agar halaman web yang ada di dalam sebuah komputer server dapat dipanggil oleh komputer client. Macam-macam web server seperti Apache (open source), Xitami, IIS, PWS dan lain-lain. Bentuk hubungan server, client dan host dapat dilihat pada gambar 2.4.
Gambar 2.4 Hubungan Server, Client dan Host (Sumber: PHP & MySQL dengan Editor Dreamweaver MX - Nugroho)
2.2.4 AJAX 2.2.4.1 Pengertian AJAX Menurut Sunyoto (2007, p159), aplikasi web yang bekerja dengan AJAX bekerja secara asynchronously, yang berarti mengirim dan menerima data dari user ke server tanpa perlu
18 memuat kembali seluruh halaman, melainkan hanya melakukan penggantian pada bagian web yang hendak diubah. AJAX bukanlah bahasa pemrograman, tetapi merupakan sebuah teknik pemanfaatan Javascript dalam mengontrol class object XMLHttpRequest untuk me-refresh/update konten dalam halaman web. Dengan AJAX, aplikasi web dapat menjadi lebih baik, cepat dan menambah unsur user-friendly dan interaktif. AJAX berbasiskan pada JavaScript dan request HTTP. Dengan menggunakan JavaScript AJAX dapat mengirim dan menerima data antara web server dan web browser. Teknik yang dimiliki AJAX akan bergantian bertukar data dan memuat ulang seluruh
halaman.
Melalui
AJAX,
JavaScript
dapat
dikomunikasikan secara langsung dengan server menggunakan obyek JavaScript XMLHttpRequest. Obyek JavaScript ini dapat melakukan pertukaran data sebuah web server tanpa harus memuat (refresh) halaman web. AJAX menggunakan asynchronous data transfer (pada HTTP request) antara browser dan web server, yang memperbolehkan halaman web meminta bit yang kecil atau seluruh informasi dari server. 2.2.4.2 Model Tradisional Yang dimaksud dengan model tradisional di sini adalah model yang sering digunakan tanpa AJAX. Pertama, browser membuat sebuah HTTP request dikirim ke server, misalnya index.html.
19
Gambar 2.5 Arsitektur Model Tradisional (Sumber:
AJAX:
Membangun
Web
dengan
Teknologi
Asynchronous JavaScript & XML - Sunyoto) Pada model di atas, server mengirimkan respon berisi seluruh halaman termasuk header, logo, navigasi, footer dan lain-lain. Ketika menekan tombol next maka akan menampilkan halaman baru lagi (artinya header, logo, footer, navigasi akan dikirim ulang) dan seterusnya akan mengirimkan data halaman baru lagi setiap diminta dari user. Halaman seperti ini tidak masalah ketika data yang ditampilkan tidak memerlukan respon yang cepat. Namun, akan menjadi masalah jika user menginginkan respon yang cepat, misalnya ketika dipilih drop-down tertentu maka data yang ditampilkan berubah menurut nilai dari drop-down. 2.2.4.3 Model AJAX AJAX akan berkomunikasi dengan server tanpa harus merefresh semua halaman. Konsep ini berbeda dengan model sistem tradisional. Dalam model AJAX, aksi dari sisi klien dibagi menjadi dua bagian, yaitu layer user interface dan layer AJAX.
20
Gambar 2.6 Arsitektur Model AJAX (Sumber:
AJAX:
Membangun
Web
dengan
Teknologi
Asynchronous JavaScript & XML - Sunyoto) Ketika user mengklik sebuah link atau mengirimkan sebuah form maka input tersebut akan ditangani oleh layer AJAX dan diinteraksikan dengan server, kemudian memperbaharui User Interface (UI). Jadi, dalam AJAX, interaksi UI secara logika terpisah dengan interaksi jaringan. Pendekatan yang digunakan AJAX adalah bagaimana mengirimkan jumlah data yang kecil dari dan ke server atas request user.
2.2.5 Cloud Computing 2.2.5.1 Pengertian Cloud Computing Menurut Enterprise (2010, p1), Cloud Computing (Komputasi Awan) adalah suatu bentuk evolusi lanjutan dari internet yang menggabungkan
pemanfaatan
teknologi
komputer
dan
pengembangan berbasis internet. Dalam istilah ini “Cloud” diartikan sebagai internet, sedangkan “Computing" diartikan sebagai proses komputasi. Cloud Computing ini adalah suatu istilah yang digunakan untuk
menyebut
penggunaan
teknologi
komputer
berbasis
pengembangan internet dengan software dan sistem operasi yang
21 tersedia secara online. Dalam hal ini internet dan semua yang terkait dengan internet menjadi terminal pusat. Informasi secara permanen tersimpan di server internet dan tersimpan dalam jangka waktu sementara pada komputer pengguna (client) termasuk komputer, tablet, notebook dan hardware lainnya.
Gambar 2.7 Ilustrasi Cloud Computing (Sumber: Trik Mengoperasikan PC Tanpa Software - Enterprise) 2.2.5.2 Kelebihan Cloud Computing Kelebihan Cloud Computing: 1. Biaya yang murah. 2. Operasional dan manajemen lebih mudah. 3. Kolaborasi yang dilakukan lebih terjamin dan efisien. 2.2.5.3 Kekurangan Cloud Computing Kekurangan Cloud Computing: 1. Ada
kemungkinan
provider
tidak
konsisten
dengan
performa aplikasi atau transaksi, jadi pengguna diharuskan memahami level layanan yang meliputi waktu respon transaksi, perlindungan data, dan kecepatan data recovery.
22 2. Terkait dengan privasi dan keamanan. Oleh karena banyak orang lain menggunakan hosting, maka ada kemungkinan data pengguna dapat dibaca oleh orang lain tanpa sepengetahuan atau ijin pengguna, jadi pengguna harus memahami keamanan sistem informasi software dan hardware seperti firewall, VPNs (Virtual Private Networks), encryption untuk data penting dan komponen sejenis lainnnya. 2.2.5.4 Layanan dan Jenis Cloud Computing Cloud Computing tediri dari tiga jenis layanan, yaitu: 1. Software as a Service (SaaS). Jenis layanan ini merupakan hasil pengembangan dari konsep
ASP
(Application
Service
Provider).
SaaS
memberikan kemudahan kepada para penggunanya untuk memanfaatkan software dengan cara berlangganan. Tetapi pada jenis layanan ini, para pengguna tidak memiliki kendali penuh pada aplikasi yang mereka gunakan. 2. Platform as a Service (PaaS). PaaS adalah layanan yang menyediakan modul-modul siap pakai yang dapat digunakan untuk mengembangkan aplikasi. Tentu saja aplikasi yang nantinya dihasilkan hanya dapat beroperasi di atas platform tersebut saja. Pada jenis layanan ini, pengguna juga tidak memiliki kendali atas komputasi dasar seperti memori media penyimpanan, processing power dan piranti lainnya yang diatur oleh
23 provider layanan. 3. Infrastructure as a Service (IaaS). Layanan ini menyediakan sumber daya teknologi informasi dasar
yang
meliputi
media
penyimpanan,
memory
processing power, sistem operasi, kapasitas jaringan dan piranti sejenis lainnya yang bisa dimanfaatkan oleh para penggunanya untuk menjalankan aplikasi yang dimilikinya. IaaS
memungkinkan
para
penggunanya
melakukan
penambahan atau pengurangan kapasitas secara fleksibel dan otomatis. Jenis Cloud computing terbagi atas: 1. Public Cloud. Public cloud adalah komputasi yang pelayanan dan infrastruktur disediakan di luar lokasi melalui internet. 2. Private Cloud. Komputasi yang layanan dan infrastruktur diselenggarakan di jaringan pribadi. 3. Hybrid Cloud. Mencakup berbagai pilihan public dan private dengan penyedia ganda.
2.2.6 Unified Modeling Language (UML) UML adalah suatu kumpulan permodelan konvensional yang digunakan untuk menspesifikasi atau mendeskripsikan suatu sistem perangkat lunak dalam bentuk obyek (Whitten & Bentley, 2007, p371).
24 Berikut akan dijelaskan 4 macam diagram yang digunakan dalam pembangunan aplikasi berorientasi obyek, yaitu Usecase Diagram, Sequence Diagram, Activity Diagram, dan Class Diagram. 2.2.6.1 Usecase Diagram Menurut Whitten dan Bentley (2007, p246), Usecase Diagram menggambarkan interaksi antara sistem dan sistem eksternal serta user. Dengan kata lain, Usecase Diagram menggambarkan siapa yang akan menggunakan sistem dan dengan jalan apa yang diinginkan user untuk berinteraksi dengan sistem. Selain itu, Usecase digunakan untuk secara tekstual menggambarkan
urutan langkah setiap interaksi tersebut.
Berikut adalah contoh Usecase Diagram sederhana:
Gambar 2.8 Contoh Usecase Diagram Sederhana (Sumber: System Analysis and Design Methods 7th - Whitten & Bentley)
25 Tabel 2.1 Keterangan Bagian Usecase Diagram Orang, organisasi atau sistem Actor
eksternal dalam
yang satu
berperan
atau
lebih
interaksi dengan Usecase. Menunjukkan ruang lingkup dari sistem anda. Apapun di System Boundary Boxes
dalam
kotak
merupakan
fungsi yang ada di dalam lingkup, apapun yang ada diluar kotak tidak termasuk di dalam fungsi. Asosiasi ada setiap kali seorang aktor yang terlibat dengan interaksi dijelaskan oleh usecase. Dimodelkan sebagai garis, hubungkan kasus
Association
aktor
penggunaan satu
Dengan
sama mata
dan lain. panah
optional pada salah satu ujung baris, panah sering digunakan menunjukkan hubungan
untuk arah atau
awal untuk
menunjukkan aktor utama. Menjelaskan Usecases
suatu urutan
tindakan yang menghasilkan sebuah nilai yang terukur untuk aktor.
26 2.2.6.2 Activity Diagram Activity Diagram adalah diagram yang bisa digunakan untuk menggambarkan aliran proses bisnis, langkah- langkah dari usecase, atau logika suatu metode dari suatu obyek secara grafis (Whitten & Bentley, 2007, p390). Secara grafis Activity Diagram sama dengan flowcharts yang menggambarkan aliran sekuensial aktifitas bisnis atau usecase. Tetapi perbedaannya adalah Activity Diagram memiliki mekanisme untuk menggambarkan aktivitas yang terjadi secara paralel. Karena itulah diagram ini sangat berguna dalam memodelkan suatu aksi yang akan dilakukan ketika suatu operasi dijalankan bersama dengan hasil dari aksi tersebut. Berikut adalah contoh Activity Diagram:
Gambar 2.9 Contoh Activity Diagram (Sumber: System Analysis and Design Methods 7th - Whitten & Bentley)
27 Tabel 2.2 Keterangan Bagian Activity Diagram Bulatan
Initial
merah
muda
di
dalam
lingkaran menggambarkan awal dari
Node
proses. Bulatan
Actions
persegi
panjang
menggambarkan langkah individu. Panah di dalam Diagram menunjukan
Flow
alur proses. Bentuk berlian dengan 1 flow yang
Decision
masuk dan 2 atau lebih flow yang keluar. Flow yang keluar ditandai untuk mengindikasikan kondisinya. Bulatan merah muda dengan garis
Activity
hitam
final
berbentuk
lingkaran
menandakan akhir dari proses.
2.2.6.3 Sequence Diagram Sequence Diagram menggambarkan bagaimana obyek berinteraksi satu sama lain melalui pesan di dalam pelaksanaan suatu usecase atau operasi (Whitten & Bentley 2007, p394). Dunia berbasis obyek berjalan dengan saling mengirim pesan diantara obyek. Sistem dari Sequence Diagram membantu untuk memulai mengidentifikasi high-level messages yang masuk dan keluar sistem. Berikut ini adalah contoh Sequence Diagram:
28
Gambar 2.10 Contoh Sequence Diagram (Sumber: System Analysis and Design Methods 7th - Whitten & Bentley) Tabel 2.3 Keterangan Bagian Sequence Diagram Yang memulai dan diambil dari Actor
usecase
digambarkan
dengan
usecase aktor simbol. Kotak mengindikasikan sistem sebagai “black box”. Merupakan System
standar notasi pada Sequence Diagram yang mengindikasikan instance
yang
berjalan
dari
sistem. Persegi panjang yang berada Activation bars
pada lifelines mengindikasikan periode
waktu
peserta
aktif
dalam interaksi. Input
Panah horizontal dari aktor ke
messages
sistem mengindikasikan pesan
29 masuk. Panah horizontal dari sistem ke Output messages
aktor digambarkan dengan garis putus-putus
mengindikasikan
pesan keluar.
2.2.6.4 Class Diagram Menurut Whitten dan Bentley (2007, p382), Class Diagram menggambarkan struktur dari sistem. Serta menampilkan Class Object yang berada di dalam sistem serta hubungan antara obyek tersebut dan obyek lainnya. Berikut ini adalah contoh Class Diagram:
30
Gambar 2.11 Contoh Class Diagram (Sumber: System Analysis and Design Methods 7th - Whitten & Bentley)
31 Tabel 2.4 Keterangan Bagian Class Diagram Class
adalah
blok-blok
pembangunan
pada
Pemrograman
Berorientasi
Obyek.
Sebuah
class
digambarkan sebagai sebuah kotak yang terbagi atas tiga Class
bagian.
Bagian
atas
mendefinisikan bagian nama class,
bagian
menyatakan sedangkan
tengah
atribut bagian
class, bawah
adalah method-method dari class. Sebuah asosiasi merupakan relationship antara
paling
dua
class
dilambangkan
umum dan
oleh sebuah
garis yang menghubungkan dua class tersebut. Garis ini Association
bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplicity
pada
sebuah
relationship. (Contoh: oneto-one, one-to-many, manyto-many) Jika sebuah class tidak bisa berdiri Composition
sendiri
dan
harus
merupakan bagian dari class lain,
maka
class tersebut
memiliki relasi composition terhadap class tempat dia
32 bergantung tersebut. Sebuah relationship
composition
digambarkan sebagai garis dengan ujung berbentuk jajar genjang berisi/solid. Aggregation mengindikasikan keseluruhan
Aggregation
bagian
relationship
dan
biasanya
disebut dengan relation. Terkadang
sebuah
class
menggunakan class yang lain. Hal ini disebut dependency. Umumnya
penggunaan
dependency digunakan untuk Dependency
menunjukkan operasi pada suatu
class
menggunakan Sebuah
yang
class
lain.
dependency
dilambangkan sebagai sebuah panah bertitik-titik.
2.2.7 Video Conference 2.2.7.1 Pengertian Video Conference Video seperangkat
conference teknologi
menurut
Wijasena
telekomunikasi
(2009)
adalah
interaktif
yang
memungkinkan dua pihak atau lebih di lokasi berbeda dapat berinteraksi melalui pengiriman dua arah audio dan video secara bersamaan. Video conference dapat memudahkan orang untuk berkomunikasi jarak jauh dengan menggunakan komputer dan media internet. Hal tersebut memungkinkan pengguna untuk
33 dapat berhubungan dengan orang lain dengan biaya yang lebih rendah. Dalam rangka untuk mencapai transmisi video dan audio bagian-bagian dari pertemuan, video conference software yang digunakan harus mengambil input dari mikrofon dan kamera, mengubahnya menjadi sinyal digital yang dikodekan dan kemudian diteruskan di internet di mana mereka diterima dan diterjemahkan kembali ke dalam gambar dan suara di tempat yang berbeda. Komunikasi video conference dilakukan dengan cara mengubah suara, gambar analog menjadi paket data digital, kemudian dari komputer diteruskan melalui Hub/Router/ADSL Modem dikirimkan melalui jaringan internet dan akan diterima oleh tempat tujuan melalui media yang sama. Dalam proses pengiriman paket data, digunakan perangkat komunikasi data digital seperti misalnya teknologi internet broadband. Teknologi tersebut dapat mengirimkan dan menerima paket data dalam jumlah yang sangat besar (Wolfe, 2007). 2.2.7.2 Teknologi Video Conference Menurut Mirabito (2004), teknologi inti yang digunakan dalam konferensi video adalah sistem kompresi digital audio dan video stream secara nyata. Perangkat keras atau perangkat lunak yang melakukan kompresi disebut dengan codec. Angka kompresi dapat dicapai hingga 1:500. Digital yang dihasilkan aliran 1s dan 0s dibagi menjadi paket label, yang kemudian dikirimkan melalui jaringan digital biasanya menggunakan Integrated Servive Digital
34 Network (ISDN) dan dengan Internet Protocol (IP). Penggunaan modem
audio
dalam
saluran
pengiriman
memungkinkan
penggunaan Plain Old Telephone System atau POTS, dalam beberapa aplikasi kecepatan rendah, seperti video telephony, karena POTS mengubah getaran digital ke atau dari gelombang analog dalam rentang spektrum audio. Komponen lain yang dibutuhkan untuk sistem video conference meliputi: 1. Video input: kamera video atau webcam. 2. Video output: monitor komputer, televisi atau proyektor. 3. Audio input: mikrofon. 4. Audio output: biasanya pengeras suara yang berkaitan dengan perangkat layar atau telepon. 5. Data transfer jaringan telepon analog atau digital, LAN atau Internet. 2.2.7.3 Protokol Video Conference Protokol adalah aturan yang mengatur proses transmisi atau pertukaran data antar-device. Untuk dapat melakukan video conference, diperlukan beberapa protokol yang mengatur proses streaming audio dan video. 1. Real-Time Protocol (RTP). Real-time Protocol adalah protokol transport yang dikembangkan khusus untuk streaming data baik audio maupun video. RTP menyediakan timestamp dan sequence number untuk mendukung waktu yang digunakan untuk mengirim data dan mengendalikan server sehingga
35 streaming video yang dihasilkan mempunyai hasil yang bagus untuk real-time (Kosiur, 1998, p137). a. Sequence Number. Sequence number menggunakan 16 bit yang selalu bertambah satu untuk setiap paket yang ada. Sequence number biasa digunakan oleh media player untuk
mendeteksi
paket
yang
hilang
dan
mengirimkan paket yang lengkap. Angka yang digunakan pada saat inisiasi stream dipilih secara acak. b. Timestamp. Timestamp
digunakan
untuk
sinkronisasi
dan
penghitungan jitter. Timestamp bersifat monotonik dan linier. c. Source Indentifier. CSRC adalah identifier unik yang digunakan untuk sinkronisasi RTP stream. Satu atau lebih CSRC muncul saat RTP stream membawa banyak media informasi. RTP biasanya menggunakan UDP dan memanfaatkan fitur multiplexing dan checksum. 2. Real-Time Control Protocol (RTCP). RTCP digunakan secara bersamaan dengan RTP. RTCP memberikan pengaruh dalam RTP session. Terdapat 2 komponen penting dalam RTCP, yaitu sender report yang berisi informasi banyaknya data yang dikirim dan receiver
36 report yang dikirimkan oleh penerima panggilan yang berisi informasi mengenai jumlah paket yang hilang selama sesi percakapan dan delay sejak pengiriman sender report yang terakhir. Informasi ini dapat digunakan oleh layer aplikasi yang lebih tinggi untuk memodifikasi transmisi yang berjalan. RTCP saling berkomunikasi untuk mengendalikan video conference dengan banyak client (Kosiur, 1998, p142). 3. Session Description Protocol (SDP). SDP adalah sebuah format yang digunakan untuk multimedia session, termasuk video conference. SDP mencakup session announment dan session invitation (Kosiur, 1998, p217). 4. Real-Time Streaming Protocol (RTSP). RTSP
adalah
sebuah
protokol
aplikasi
untuk
mengendalikan data multimedia yang bersifat real-time. RTSP menyediakan sebuah framework dibandingkan sebuah protokol. RTSP mendukung fungsi dari RTP sebagai data delivery protocol. Protokol diciptakan untuk memberikan rate pengiriman file yang maksimum kepada client (Kosiur, 1998, p151).
2.2.8 Multimedia Messaging Service (MMS) 2.2.8.1 Pengertian MMS Menurut Setyono (2010), Multimedia Messaging Service atau
37 yang biasa dikenal dengan nama MMS adalah konten yang mengirim pesan dari ponsel, sistem yang tidak hanya mengirim pesan teks tetapi juga mengirim gambar, animasi, video dan kombinasi dari mereka. Secara teoritis, MMS bisa mengirimkan data sampai 300 kb tergantung pada penyedia layanan seluler dan fitur MMS pada ponsel. Hampir semua penyedia layanan seluler menyediakan fasilitas MMS. Mereka menggunakan teknologi pembawa yang berbeda,
seperti
spesifikasi
jaringan
dan
sistem,
yang
mempengaruhi kemampuan MMS untuk mentransfer data. Banyak operator selular menggunakan umumnya Packet Radio Service (GPRS), yang dapat mengirimkan data sampai 115 kbps dan
beberapa
mereka
menggunakan
Universal
Mobile
Telecommunication System (UMTS) dengan kecepatan 384 kbps. Mereka juga memiliki data maksimal yang berbeda ukuran untuk mengirim pesan multimedia ke ponsel, nomor telepon dan server email, dan itu adalah dalam kisaran 50-100. 2.2.8.2 Proses MMS Menurut Sharma (2009), MMS mempunyai arsitektur sebagai berikut: a. MMS Environment adalah pengendalian administrasi tunggal dari MMS operator yang bertugas untuk memberikan layanan untuk pelanggan. Pusat dari MMS itu sendiri terdiri dari relay dan MMS server. Relay bertanggung jawab untuk routing pesan dan server
38 bertanggung jawab atas penyimpanan pesan. b. MMS interface adalah interface yang memungkinkan jaringan berkomunikasi sebagai penyampaian pesan, penerimaan pesan dan meneruskan pesan, yang terkait dengan satu set protokol unit sebagai parameter. c. MMS client adalah perangkat aplikasi yang berada pada MMS enabled mobile yang menawarkan fitur seperti manajemen pesan, pemberitahuan perangkat yang biasa dikirim dengan kotak pesan terpadu untuk memanajemen elemen MMS, pesan komposisi perangkat komposer yang digunakan untuk membuat pesan multimedia baru, penampil pesan untuk melihat pesan yang diterima, konfigurasi MMS, preferensi konektivitas parameter dan lain-lain. Hubungan antara klien MMS dan Pusat MMS (MMS Center) terbatas dalam hal bandwidth sehingga pesan multimedia adalah biner-encoded untuk ditransfer secara efisien, pesan multimedia teks dikodekan untuk transfer melalui protokol internet antara MMSCs, dari MMSC terhadap domain internet atau dari/ke Value Added Service (VAS) server. Pesan multimedia menjadi benda yang dibungkus ke dalam amplop, yang memungkinkan berbagai elemen jaringan untuk
mengirimkan ke rute pesan terhadap
penerima (alamat primer dan sekunder penerima) dan yang mengkarakterisasi isi pesan (kelas, prioritas, subjek dan lain-lain).
39
Gambar 2.12 Framework MMS (Sumber: MMSSEC Algorithm for Securing MMS - Sharma & Mistry) Message Envelope adalah pesan multimedia yang terdiri dari sebuah header pesan dan isi pesan. Header mempunyai karakteristik seperti berisi alamat dari penerima yang bisa lebih dari satu dalam arti mempunyai carbon copy, prioritas dari pesan multimedia bisa urgensi, sedang, dan tidak urgensi, kelas dari pesan bisa auto, auto personal, informasi atau iklan, tanggal dan waktu pesan dikirim, periode penerimaan pesan, parameter untuk membalas pesan, delivery atau laporan pembacaan yang diminta, subjek dari pesan, visibilitas pesan, waktu pengiriman yang lebih awal, indikator pendistribusian pesan, status MMSBox (Sharma, 2009). Menurut Jagdale, et al (2010), untuk masalah security dalam pengiriman
MMS,
menggunakan
konsep
Elliptic
Curve
Crypthography yang merupakan jenis stenography yang hanya pengguna tertentu yang tahu dimana kunci publik didistribusikan dalam
komunikasi.
Beberapa
algoritma
criptography
40 membutuhkan sekumpulan konstanta yang telah ditetapkan untuk diketahui oleh semua perangkat dalam komunikasi. Cara kerja algoritma Elliptic Curve Cryptography adalah: 1. Menghasilkan titik-titik dari kurva. Algorithm gen_points(a, b, p) { x=0 while(x < p) { Cari res = (x3 + ax + b) Cari nilai yang berbeda dari y2 yang mod dengan p sama dengan res. Cari akar kuadrat dari y; Akhirnya, semua nilai (x, y) memberikan poin yang berbeda pada elliptic curve. } } 2. Menghasilkan kunci dari user. Misalkan ada dua pengguna A dan B. Algoritma berikut digunakan untuk menghasilkan kunci. Algoritma Generate_keys() {
Pengguna A akan memilih nomor acak KA sebagai kunci private. Pilih Generator titik G (titik memiliki koordinat kecil x dan y) dari titik kurva.
41 Untuk menghasilkan kunci public kAp kalikan KA dengan G menggunakan Algoritma point_mult(). Ikuti
langkah-langkah
diatas
untuk
menghasilkan
kunci(kB, kBp) untuk pengguna B. } 3. Perkalian titik-titik dari ECC. Untuk mengalikan nomor K dengan titik p(x, y) berulangulang
menerapkan
penggandaan
titik
dan
operasi
penambahan. Algoritma point_mult() { Untuk
menggandakan
sebuah
titik(2p)
gunakan
formula berikut: S = [(3 x 2 + a) / 2 yp] mod p Kemudian 2p memiliki koordinat (XR, YR) yang diberikan oleh: XR = (S2 - 2 x) mod p YR = [S (x - XR) - y] mod p Untuk menentukan 3P, gunakan P + 2P, menangani 2P = Q. Disini P memiliki koordinat (x, y), Q (=2P) memiliki koordinat (XQ, yQ). S = [(yQ-y)/(XQ-x)] / mod p P + Q = -R XR = (s2 - x - XQ) mod p YR = (S(x - XR) -y) mod p
42 4. Mengenkripsi isi pesan. Algoritma encrypt_text() { Konversikan karakter ke dalam sebuah teks melalui format ASCII nya. Pilih sebuah titik pm dari titik yang dihasilkan pada elliptic curve. Kalikan nilai ASCII dengan pm untuk mendapatkan titik lain pm1 menggunakan Algoritma point_mult. Cipher text akan menjadi {kG, pm1 + k * kAp} } 5. Mendekripsi isi pesan. Algoritma decrypt_text() { Terima Cipher text yang akan menjadi {kG, pm1 + k * kAp} Kalkulasikan pm = pm1 + k * kAp - kbkG } Dalam metode ini gambar dapat menjadi hitam atau putih dan menggunakan
algoritma
LSB
yang
digunakan
untuk
menyembunyikan data di dalam sebuah gambar, merupakan metode sederhana yang digunakan untuk menyembunyikan data 24 bit di dalam gambar. Setiap pixel dari suatu gambar dapat direpresentasikan dengan tiga warna Merah, Hijau dan Biru. Dalam gambar 24 bit, bisa ada 2^24 warna yakni 16,7 juta warna.
43 Cara menyembunyikan informasi dalam gambar: bagi gambar MMS menjadi 3x3, konversi setiap bit dari teks menjadi piksel dari least significant bit, pilih pixel dari data yang disembunyikan dengan menggunakan password yang akan dibagi (shared) oleh pengirim dan penerima. Cara mengambil informasi tersembunyi dari gambar: bagi gambar menjadi 3x3, gunakan password yang sama dengan yang digunakan oleh pengirim untuk memilih pixel, ambil bit data dari pixel terpilih dari least significant bit. Cara menyembunyikan informasi di text untuk setiap bits data yang disembunyikan, cari list dari akronim yang akan diciptakan dan hanya diketahui oleh pengirim dan penerima, contohnya hiding 1 untuk keseluruhan data dan hiding 0 untuk akronim yang digunakan. Menurut Djunaedi (2004) ada beberapa jenis telemedicine ponsel teknologi, termasuk jaringan lokal nirkabel (WLAN), jaringan
mobile
ad
hoc
(MANETs),
jaringan
nirkabel
pribadi/pasien (WPANs), generasi ketiga (3G) teknologi telepon selular, identifikasi frekuensi radio (RFID) teknologi dan jaringan sensor nirkabel (WSNs). Seperti kita ketahui bahwa MMS dapat mengirim pesan multimedia upto 300 kb. Tetapi di dunia nyata, hampir semua seluler penyedia layanan hanya menyediakan ukuran data sebesar 100 kb dan ini sangat kecil ukuran data untuk sistem telemedicine. Dokter membutuhkan kualitas tinggi dari gambar,
44 suara atau video untuk mendiagnosa pasien dengan benar. Sebagai contoh, seorang perawat ingin mengirim data pasien dalam bentuk gambar dengan ukuran 500 kb. Tentu, MMS tidak bisa mengirimkannya karena data maksimum ukuran MMS adalah 300 kb. Untuk mengatasi masalah ini, kita dapat mengembangkan sebuah algoritma dengan memisahkan file gambar menjadi 5 file dimana setiap file adalah 100 kb dan mengirim mereka satu per satu. Metode ini sangat penting untuk diagnosis oleh dokter untuk menghasilkan hasil terbaik. Setelah menerima
data
pasien
dengan
sukses,
aplikasi
server
menggabungkan file terpisah ke dalam satu file lagi. Dokter tidak perlu mengetahui bagaimana multimedia konten terbentuk dan ada tetapi ia dapat mengamati dan mendiagnosa berdasarkan file tunggal dari konten multimedia tersebut.
Gambar 2.13 Desain Untuk Mengirimkan Batas Atas Ukuran Data MMS
45 (Sumber: Design of Multimedia Messaging Service for Mobile Telemedicine System - Setyono) Desain Algorithm Splitting Data. Ini adalah ide innovative dalam
penelitian.
Kami mencoba
untuk mengembangkan
algoritma untuk membagi dan menggabungkan data MMS yang dapat melebihi batas ukuran data atas. Kompresi dapat mengurangi kualitas dari konten multimedia, dan kemudian dokter mungkin menghadapi kesulitan untuk diagnosis dan akhirnya hasil diagnosis mungkin tidak akurat. Sistem akan adaptif dan efisien untuk menggunakannya di daerah terpencil. Gambar 2.16 menunjukkan flowchart dari algoritma dirancang untuk pemecahan dan penggabungan data.
Gambar 2.14 Desain Algoritma (Flowchart) Untuk Pemecahan Data
46 (Sumber: Design of Multimedia Messaging Service for Mobile Telemedicine System - Setyono) Desain
algoritma
untuk
penggabungan
data.
Setelah
menerima data MMS dari nomor ponsel atau dari server email, akan digabung menjadi satu file dan akan disimpan dalam database server.
Gambar 2.15 Desain Algoritma (Flowchart) Untuk Pemecahan Data (Sumber: Design of Multimedia Messaging Service for Mobile Telemedicine System - Setyono)
47 2.2.9 Ilmu Penyakit Dalam Ilmu Penyakit Dalam dalam bidang kedokteran dapat didefinisikan sebagai suatu ilmu kedokteran yang menangani diagnosis, penanganan organ dan orang dewasa yang meliputi penyakit-penyakit tanpa bedah, mencakup hampir seluruh tubuh manusia.