RINGKASAN Teknologi Informasi (TI) dan telekomunikasi dengan internet menjadi prioritas utama dalam perkembangan kemajuan dunia. Perkembangan ini memberikan terobosan baru dalam aplikasi layanan kesehatan mobile dengan memanfaatkan perangkat TI genggam atau yang biasa disebut dengan mobile doctor (m-doctor). M-doctor memiliki beberapa kelebihan kemampuan untuk layanan kesehatan yang bisa diakses kapan saja, di mana saja, oleh siapa saja. Masalah yang masih ada pada aplikasi m-doctor adanya keterbatasan hardware dan platform, sehingga diperlukan rancangan pada sistem dan kemudahan dalam mengakses. Di samping itu juga diperlukan penelitian untuk menangani setiap bagian pada m-doctor agar memberikan kenyamanan pada user. Penelitian ini bertujuan untuk menangani masalah pada aplikasi m-doctor dengan memanfaatkan streaming multimedia sebagai konten yang bisa memberikan informasi yang lebih jelas dan spesifik. Layanan streaming multimedia m-doctor ini memerlukan koneksi dan akses internet yang bagus dan juga memerlukan hardware yang handal agar bisa menikmati keseluruhan layanan dengan baik, untuk itu digunakan ponsel yang mendukung fasilitas mobile streaming multimedia. Hasil penelitian ini adalah sebuah software dan konten berbasis selular WCDMA, sedang target utamanya adalah rancangan m-doctor dengan layanan streaming multimedia. Kata kunci: internet, m-doctor, selular WCDMA, streaming multimedia
SUMMARY Information technology and ielecommunications to the Internet becomes the main priority in the development of world progress. These developments provide new breakthrough in health care services mobile using mobile IT devices or so-called mobile doctor (m-doctor). M-doctor has some excess capacity for health care services that can be accessed anytime, anywhere, by anyone. The problems that still esist on still on m-doctor is that the lack of hardware and platforms that required by the system design and ease of access. One also needs a special study of each section dealing with the existing m-doctor in order to get comfortable for the user. The aim of this study is to address the issue by using streaming multimedia as content that can offer a more clear and specific information. Streaming multimedia services m-doctor require internet connection and good access, and also requires capable hardware to enjoy the overall bias with good services by using phones that support streaming multimedia mobile facilities. Expected results of this study is a software-based content cellular WCDMA, and the main target is to design m-doctor with streaming multimedia services. Keywords: cellular WCDMA, internet, m-doctor, streaming multimedia
iii
KATA PENGANTAR
Puji syukur kehadiran Allah SWT yang telah melimpahkan rahmat dan petunjuk-Nya kepada penulis, sehingga dapat menyelesaikan laporan penelitian ini dengan judul: Aplikasi Streaming Multimedia pada Sistem Selular WCDMA untuk Meningkatkan Efektifitas dan Efisiensi Layanan Medis. Dalam menyelesaikan penelitian ini penulis mendapat bantuan serta dukungan dari berbagai pihak, Pada kesempatan ini, tidak lupa penulis mengucapkan terima kasih kepada pihak yang telah banyak membantu dalam penyelesaian penelitian ini baik dalam perancangan alat maupun dalam penulisan laporan. Penulis menyadari penyusunan laporan ini tidak terlepas dari kesalahan dan kekurangan yang dikarenakan kemampuan dan pengetahuan penulis. Untuk itu penulis mengharapkan kritik dan saran yang sifatnya membangun demi kesempurnaan laporan ini. Akhir kata, semoga apa yang ada dalam laporan ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.
Yogyakarta, Nopember 2010
Penulis
iv
DAFTAR ISI
HALAMAN JUDUL .................................................................................. i HALAMAN PENGESAHAN LAPORAN AKHIR .................................. ii RINGKASAN DAN SUMMARY ............................................................... iii KATA PENGANTAR ............................................................................... iv DAFTAR ISI .............................................................................................. v DAFTAR GAMBAR ................................................................................. viii DAFTAR TABEL ...................................................................................... x BAB I PENDAHULUAN ......................................................................... 1 1.1 Latar Belakang ..................................................................................... 1 1.2 Rumusan Masalah ................................................................................. 4 1.3 Batasan Masalah .................................................................................. 5 BAB II TINJAUAN PUSTAKA & LANDASAN TEORI ..................... 6 2.1 Tinjauan Pustaka .................................................................................. 6 2.2 Landasan Teori ..................................................................................... 6 2.2.1 Informatika medis ...................................................................... 6 2.2.2 Telemedicine .............................................................................. 8 2.2.3 Konsep pemrograman berorientasi objek .................................. 10 2.2.4 Pemrograman Java ..................................................................... 15 2.2.5 IDE (Integrated Development Environment) ............................. 17 2.2.6 NetBeans IDE 6.1 ...................................................................... 18 2.2.7 Kelebihan-kelebihan Java .......................................................... 19
v
2.2.8 Pengembangan aplikasi mobile .................................................. 20 2.2.8.1 Perangkat mobile ........................................................... 20 2.2.8.2 J2ME .............................................................................. 22 2.2.8.3 MIDlet ........................................................................... 24 2.2.8.3.1 Siklus MIDlet .................................................. 24 2.2.8.3.2 MIDlet suites .................................................. 25 2.2.9 WAP (Wireless Application Protocol) ....................................... 25 2.2.9.1 Cara kerja WAP ............................................................. 27 2.2.9.2 Bahasa yang digunakan oleh WAP ............................... 29 2.2.10 PHP (PHP Hypertext Preprocessor) ........................................ 30 2.2.11 MySQL .................................................................................... 36 BAB III TUJUAN DAN MANFAAT PENELITIAN ............................ 40 3.1 Tujuan Penelitian ................................................................................. 40 3.2 Manfaat Penelitian ............................................................................... 41 BAB IV METODOLOGI PENELITIAN .............................................. 42 4.1 Analisis Kebutuhan .............................................................................. 42 4.2 Metode Penelitian ................................................................................ 43 4.3 Diagram Alir Langkah Penelitian ........................................................ 43 4.4 Metode Perancangan ............................................................................ 44 4.5 Proses Pembuatan Aplikasi M-Doctor ................................................. 47 4.6 Langkah Pelaksanaan Pmbuatan Program ............................................ 48 4.6.1 Memulai PHP ............................................................................. 48 4.6.2 Memulai xampp 1.6.7 ................................................................ 55
vi
4.6.3 Memulai NetBeans IDE 6.1 ....................................................... 56 4.7 UML (Unified Modeling Language)..................................................... 57 4.7.1. Diagram use case............................................................................... 57 4.7.2. Diagram sequence proses daftar........................................................ 58 4.7.3. Diagram sequence proses masuk ...................................................... 59 4.7.4. Diagram sequence proses login admin .............................................. 59 4.7.5. Diagram sequence proses tamvbah data ........................................... 60 4.7.6. Diagram sequence proses update data............................................... 61 4.7.7. Diagram sequence proses hapus data ................................................ 62 4.8. Perancangan antar muka ...................................................................... 63 BAB V HASIL DAN PEMBAHASAN ................................................... 67 5.1 Implementasi Sistem ............................................................................ 67 5.2 Implementasi Database ........................................................................ 67 5.3 Implementasi Program Mobile Doctor ................................................. 70 BAB VI KESIMPULAN DAN SARAN 6.1 Kesimpulan .......................................................................................... 75 6.2 Saran ..................................................................................................... 75
vii
DAFTAR GAMBAR
Gambar 2.1 Informatika untuk perawatan kesehatan .................................... 7 Gambar 2.2 Logo java ................................................................................... 15 Gambar 2.3 Platform java ............................................................................. 22 Gambar 2.4 Arsitektur J2ME ........................................................................ 23 Gambar 2.5 Daur hidup MIDlet .................................................................... 25 Gambar 2.6 WAP stack yang terdiri dari 5 layer protocol dan 1 layer bearer service ...................................................................................... 26 Gambar 2.7 Ilustrasi cara kerja WAP ........................................................... 27 Gambar 2.8 Model pemrograman WAP ....................................................... 28 Gambar 2.9 Contoh script sintaks.php .......................................................... 35 Gambar 2.10 Hasil eksekusi file sintaks.php berupa tampilan web .............. 36 Gambar 4.1 Diagram alir langkah penelitian ................................................ 44 Gambar 4.2 Diagram alir perancangan mobile doctor .................................. 46 Gambar 4.3 Kotak dialog License Agreement ............................................... 49 Gambar 4.4 Proses instalasi PHPTriad ......................................................... 49 Gambar 4.5 Instalasi PHP selesai .................................................................. 50 Gambar 4.6 Mengaktifkan apache ................................................................ 50 Gambar 4.7 Apache aktif .............................................................................. 51 Gambar 4.8 Halaman welcome ..................................................................... 51 Gambar 4.9 Contoh script PHP ..................................................................... 52 Gambar 4.10 Hasil script pertama.php ......................................................... 53 Gambar 4.11 Script embed.php ..................................................................... 54 Gambar 4.12 Hasil eksekusi file embed.php ................................................. 54 Gambar 4.13 Script nonembed.php ............................................................... 54 Gambar 4.14 Hasil eksekusi file nonembed.php ........................................... 55 Gambar 4.15 Jendela control panel xampp ................................................... 55 Gambar 4.16 Paket instalasi NetBeans IDE 6.1 ............................................ 56 Gambar 4.17 Tampilan NetBeans IDE 6.1 ................................................... 56 Gambar 4.18 Diagram use case .................................................................... 57 viii
Gambar 4.19 Diagram sequence proses daftar............................................... 58 Gambar 4.20 Diagram sequence proses masuk/tampil data........................... 59 Gambar 4.21 Diagram sequence proses login admin .................................... 60 Gambar 4.22 Diagram sequence proses tambah data .................................... 60 Gambar 4.23 Diagram sequence proses update data .................................... 61 Gambar 4.24 Diagram sequence proses hapus data ...................................... 62 Gambar 4.25 Rancangan screen shot aplikasi mobile doctor ....................... 64 Gambar 5.1 Tampilan database mobiledoctor .............................................. 68 Gambar 5.2 Tampilan database mobiledoctor-tabel admin .......................... 68 Gambar 5.3 Tampilan database mobiledoctor-tabel pelanggan ..................... 69 Gambar 5.4 Tampilan database mobiledoctor-tabel penyakit ....................... 69 Gambar 5.5 Tampilan awal mobiledoctor ..................................................... 71 Gambar 5.6 Tampilan program mobiledoctor-menu masuk .......................... 72 Gambar 5.7 Tampilan program mobiledoctor-menu halaman admin ........... 73 Gambar 5.8 Tampilan program mobiledoctor-menu about............................ 74
ix
DAFTAR TABEL
Tabel 2.1 Platform java ................................................................................. 17 Tabel 2.2 Tipe data numerik MySQL ........................................................... 37 Tabel 2.3 Tipe data string di MySQL ........................................................... 38 Tabel 2.4 Tipe data date time di MySQL ...................................................... 39
x
BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi telah menciptakan pengembangan terobosanterobosan dalam bidang kesehatan. Di tengah perkembangan ini pasien (user) dan dokter bersinggungan dengan perangkat teknologi komunikasi bergerak dan teknologi internet. Hal tersebut telah menjadi gelombang kecenderungan baru yang memungkinkan pelayanan medis oleh dokter secara mobile atau lebih dikenal sebagai mobile medical (m-Medical). Dalam pembahasan skripsi ini, penulis mendeskripsikan konsep mobile medical tersebut dengan nama mobile doctor
(m-doctor).
Kombinasi
teknologi
telekomunikasi
dan
internet
memungkinkan pengembangan sistem m-medical/m-doctor yang pada sisi klien memanfaatkan divais bergerak, berinteraksi dengan sisi server, yaitu web server. Istilah m-medical/m-doctor mengacu kepada penggunaan perangkat IT genggam dan bergerak, seperti PDA, telepon genggam, laptop dan tablet PC, dalam pelayanan medis. Meskipun saat ini m-medical/m-doctor masih berada pada taraf awal pengembangan dan para peneliti masih mengeksplorasi setiap aspeknya, mmedical/m-doctor diperkirakan akan menjadi cukup pesat dan viabel dalam waktu dekat. Hal ini didukung oleh perkembangan teknologi wireless atau selular (2G, 2,5G, 3G, 3,5G). Konsep layanan medis dengan menggunakan media internet telah berkembang sangat pesat, konsep layanan medis ini kemudian dikenal dengan
1
2
nama e-medical. Seiring dengan semakin merambahnya teknologi internet pada handphone, maka teknik layanan medis jarak jauh juga bisa diterapkan pada sebagian jenis selular yang telah mendukung WAP (Wireless Application Protocol). Dengan kemajuan teknologi yang terdapat pada selular, masih jarang sekali website WAP yang digunakan sebagai media layanan medis. Kebanyakan website WAP masih digunakan sebagai m-commerce, sedangkan website WAP untuk m-medical/m-doctor masih jarang bahkan untuk di Indonesia hampir tidak ada. Streaming multimedia adalah hal yang terus menjadi perhatian dan dikembangkan oleh industri internet. Pasalnya, streaming multimedia tersebut dapat meningkatkan keterlibatan user internet dalam berkomunikasi dengan user internet lainnya. Dari sisi user internet, tidak mudah mendapatkan kepuasan menikmati streaming multimedia yang berkualitas apabila bandwidth dan kecepatan akses internet-nya masih kecil. Sistem komunikasi selular WCDMA telah digunakan sebagai salah satu teknologi komunikasi 3G yang berkecepatan tinggi dan memiliki bandwidth besar untuk mengakses internet (Robso, 2003). Dengan mengaplikasikan pelayanan media streaming multimedia pada selular WCDMA maka metode layanan medis tidak harus ada ruang medis (ruang dokter), tetapi metode layanan medis tersebut bisa dilakukan melalui jarak jauh. Generasi yang paling populer dan mutakhir saat ini adalah generasi 3G (third generation). Dengan 3G metode pembelajaran dapat dibuat lebih menarik dengan mengaplikasikan teknologi streaming multimedia karena kecepatan dalam mengakses data bisa mencapai 2Mbps dalam keadaan diam. Sedangkan pada
3
perangkat mobile phone yang belum mendukung 3G, juga dapat dipergunakan sebagai perangkat m-medical asalkan perangkat tersebut telah menyediakan fasilitas WAP (Wireless Application Protocol) (Rytkonen, 2005). WAP juga mendukung beberapa sistem wireless contohnya: GSM, IS136 CDMA, PDC, dan lain-lainnya (Evdemon, 2001). WAP adalah suatu arsitektur komunikasi yang dirancang untuk jaringan wireless (Passani, 2000). Pada generasi ini kita dapat memanfaatkan semua fasilitas yang tersedia pada generasi-generasi sebelumnya ditambah dengan keunggulan-keunggulan tertentu dari sistem generasi ke-3 ini, antara lain streaming multimedia. Dengan fasilitas 3G tersebut, kita dapat mengoptimalkan komponen multimedia yaitu teks, gambar, suara serta animasi video dalam satu kesatuan sebagai sarana layanan medis. Dari prespektif user teknologi WCDMA adalah mengkombinasikan internet, telepon, dan media siaran (TV, radio) pada suatu divais. ITU mendefinisikan 3G sebagai teknologi yang dapat memberikan unjuk kerja sebagai berikut: 144 kbps pada kecepatan user 100 km/jam, 384 kbps pada kecepatan berjalan kaki, 2 Mbps utuk user diam (stasioner). Aplikasi WCDMA, terbagi dalam jenis voice, messaging, switched data, medium multimedia, date rate downstream nya ideal untuk surfing di web, high multimedia, dapat digunakan untuk akses internet kecepatan sangat tinggi seperti video high-definition dan audio kualitas CD on-demand, serta interactive high multimedia, dapat digunakan untuk video conferencing atau videophone. Java adalah kode bahasa pemrograman yang umumnya ditujukan untuk lingkungan open source. Diciptakan pada tahun 1991 oleh James Gosling dari Sun
4
Microsystem dan mulai diluncurkan pertama sekali pada tahun 1995 sebagai bahasa pemrograman umum (general purpose programming language). Dengan visi "write once run anywhere", para perancang Java memulai dengan menanamkan visi mereka ke dalam Java untuk membuat piranti-piranti yang ada di rumah (small embedded customer device) seperti TV, telepon, radio, dan sebagainya supaya dapat berkomunikasi satu sama lain.
1.2 Rumusan Masalah Dari latar belakang yang telah diuraikan, dapat diambil rumusan masalah yang akan menjadi pembahasan perancangan ini adalah bagaimana membangun sebuah sistem aplikasi m-doctor secara on-line, dalam hal ini dimana aplikasi ini nantinya dapat digunakan untuk mengkakses data-data kesehatan yang ada pada server, serta diharapkan nantinya dapat juga digunakan untuk percakapan interaktif real-time berbasis teks (chatting). Aplikasi ini juga diharapkan dapat diunduh/di-download oleh masyarakat secara luas dan dijalankan di mobile device (handphone, PDA) mereka. Dimana nantinya di dalam aplikasi tersebut seorang pasien dapat berinteraksi/berkonsultasi tentang masalah kesehatannya dengan dokter yang berada di tempat yang jauh dengannya. Terutama di dalam aplikasi tersebut juga berisi tentang materi-materi kesehatan yang menjelaskan berbagai macam penyakit, baik pengertian, sebab, pencegahan dan penanganannya yang dapat kita alami dalam kehidupan sehari-hari secara singkat, lengkap, dan jelas berdasarkan klasifikasinya.
5
1.3 Batasan Masalah Agar dapat dicapai sasaran yang diharapkan dalam penyusunan laporan nantinya, penulis menetapkan beberapa batasan masalah yang akan dibahas dalam penulisan skripsi ini, yang diantaranya: a. Pendahuluan b. Pembahasan tentang landasan teori, yang di dalamnya dijelaskan tentang teoriteori aplikasi/software apa saja yang digunakan untuk mendukung perancangan aplikasi ini c. Pembahasan tentang alur kerja perancangan aplikasi m-doctor, meliputi instalasi
software
yang
digunakan,
pengoperasian,
hingga
proses
pengaplikasiannya dalam proyek perancangan aplikasi m-doctor ini. Diuraikan juga deskripsi dan desain tentang skema sistem m-doctor yang sedang dikerjakan d. Implementasi dan pembahasan terhadap software aplikasi m-doctor yang telah diterapkan, data pengamatan, pembahasan hasil, serta evaluasi dalam proses pembuatan perangkat lunak. e. Penutup
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Tinjauan Pustaka Adapula penelitian atau artikel sebelumnya yang mengangkat topik tentang telemedicine yang mengarah ke mobile doctor, yang dilakukan oleh Tayab. D. Memon, B.S Chowdhry, dan Mohammad. S. Memon dengan judul The Potential of Telemedicine System: An Approach Towards a Mobile Doctor. Aplikasi ini juga merupakan pengembangan dari aplikasi yang dibuat penulis pada tugas perancangan sistem elektronika sebelumnya. Perbedaan antara perancangan aplikasi m-doctor dan perancangan aplikasi m-learning yang pernah dirancang oleh teman-teman sebelumnya, yaitu dari segi konten terletak pada materi-materi kesehatan yang diangkat pada aplikasi m-doctor ini. Sedangkan dari segi sistem, penulis tidak membuat web site tentang m-doctor, melainkan full aplikasi J2ME sebagai desain aplikasi J2ME nya, serta PHP sebagai script penghubung ke data base MySQL. Dalam penelitian ini, penulis membuat perbedaan dari karya penulis sebelumnya, diantaranya yaitu pada aplikasi ini direncanakan agar dapat dijalankan secara online, dan dapat berinteraksi antar user (client-server). 2.2 Landasan Teori 2.2.1 Informatika Medis Ada
beberapa
definisi
tentang
informatika
medis.
Shortliffe
mendefinisikan: ilmu informatika medis adalah ilmu yang menggunakan alat-alat bantu analisis sistem untuk mengembangkan prosedur (algoritma) untuk
6
7
manajemen, kontrol proses, pembuatan keputusan, dan analisis keilmuan dari pengetahuan medis. Bemmel mendefinisikan informatika medis terdiri dari aspekaspek teori dan praktek dari pemrosesan informasi dan komunikasi, yang didasarkan pada pengetahuan dan pengalaman yang diturunkan dari proses-proses yang ada pada dunia medis dan perawatan kesehatan (Bemmel, 1984). Bemmel juga mengatakan bahwa, pada informatika medis kita akan mengembangkan dan menaksir metode-metode dan sistem-sistem untuk akuisisi, pemrosesan, dan interpretasi data pasien dengan bantuan pengetahuan yang diperoleh dari pengalaman para ilmuwan. Greenes dan shortliffe mendefinisikan informatika medis sebagai suatu bidang yang memfokuskan diri pada kognitif, pengolahan informasi, dan komunikasi dari praktek medis, penelitian, termasuk ilmu dan teknologi informasi yang mendukung tugas tersebut. Clark mengatakan bahwa ada empat komponen dalam informatika untuk perawatan kesehatan, yaitu: komunikasi, manajemen pengetahuan, pendukung keputusan, dan manajemen informasi (lihat gambar 2.1).
Gambar 2.1 Informatika untuk perawatan kesehatan
8
Komunikasi dapat berupa telemedicine, teleradiology, email, atau presentasi. Manajemen pengetahuan dapat berupa jurnal, informasi kesehatan konsumen, atau informasi medis berbasis gejala. Pendukung keputusan dapat berupa sistem pengingat (reminder system), sistem pakar untuk diagnosis, atau interaksi obat. Manajemen informasi dapat berupa rekaman medis secara elektronik (electronic medical record), transaksi pembayaran dan tagihan, atau sistem pemesanan. 2.2.2 Telemedicine Telemedicine
adalah
aplikasi
dari
pengobatan
klinis,
yang
pengembangannya memanfaatkan telepon, internet, dan jaringan komunikasi lain untuk men-transfer informasi medis. Dengan transfer ini, informasi media tersebut dapat digunakan untuk konsultasi kesehatan, dan kadang-kadang dapat digunakan pula untuk prosedur medis di tempat terpencil (Chen, 2005). Secara sederhana, telemedicine dapat digambarkan sebagai dua orang profesional di bidang kesehatan yang saling berdiskusi dari jarak jauh secara real time. Untuk melakukan diskusi tersebut, dua orang profesional tersebut menggunakan telepon, ataupun teknologi yang lebih canggih seperti teknologi satelit dan peralatan video conference. Dengan demikian, diskusi tersebut dapat dilakukan antara dua orang spesialis kesehatan antar negara yang berbeda. Secara umum, telemedicine merujuk pada penggunaan alat komunikasi dan teknologi informasi untuk mengirimkan perawatan kesehatan. Perawatan kesehatan dari jarak jauh sebenarnya bukan barang baru. Dalam dunia medis dikenal sebagai in absentia care. Namun perkembangannya
9
mengalami kemajuan yang pesat seiring dengan kemajuan penggunaan teknologi modern saat ini. Istilah telemedicine sering disalahartikan dengan istilah e-health maupun telehealth. Padahal ketiganya merujuk ke hal berbeda. Telemedicine hanya merujuk pada layanan klinis, sedangkan telehealth mencakup baik layanan klinis maupun layanan non-klinis, seperti pendidikan, administrasi, dan penelitian di bidang medis. Sedangkan istilah e-health digunakan untuk istilah yang mencakup telehealth, rekam medis elektronik, dan komponen-komponen lain dalam kesehatan TI (Teknologi Informasi). 2.2.2.1 Jenis-jenis telemedicine Dalam praktek pelaksanaannya, telemedicine diterapkan dalam dua konsep, yaitu real-time (synchronous) dan store-and-forward (asynchronous). Telemedicine secara real-time (synchronous telemedicine) bisa berbentuk sederhana seperti penggunaan telepon, atau kompleks seperti penggunaan robot bedah. Synchronous telemedicine memerlukan kehadiran kedua pihak pada waktu yang sama. Untuk itu diperlukan media penghubung antar kedua belah pihak, yang dapat menawarkan interkasi real-time sehingga salah satu pihak bisa melakukan penanganan kesehatan. Bentuk lain dalam synchronous telemedicine adalah penggunaan peralatan kesehatan yang dihubungkan ke komputer sehingga dapat dilakukan inspeksi kesehatan secara interaktif. Contoh penggunaan teknologi ini adalah tele-otoscope yang memberikan fasilitas untuk seorang dokter melihat ke dalam pendengaran seorang pasien dari jarak jauh. Contoh yang lain
10
adalah tele-stethoscope yang membuat seorang dokter mendengarkan detak jantung pasien dari jarak jauh. Telemedicine dengan store-and-forward (asynchronous telemedicine) mencakup pengumpulan data medis dan pengiriman data ini ke seorang dokter (specialist) pada waktu yang tepat untuk evaluasi secara offline. Jenis telemedicine ini tidak memerlukan kehadiran kedua belah pihak dalam waktu yang sama. Dermatologi, radiology, dan patologi adalah spesialis yang biasanya menggunakan asynchronous telemedicine ini. Rekaman medis dalam struktur yang tepat seharusnya adalah komponen dalam transfer ini. Telemedicine paling bermanfaat untuk masyarakat yang tinggal di komunitas terpencil ataupun daerah yang jauh. Saat ini telemedicine diterapkan secara virtual untuk semua bidang medis. Spesialis yang menggunakan telemedicine sering menggunakan prefiks tele. Contoh, telemedicine yang diterapkan oleh radiologist disebut sebagai teleradiology. Dengan cara yang sama, telemedicine yang diterapkan cardiologist disebut sebagai telecardiology. Demikian juga dengan telepsikiatri, yang berarti adalah telemedicine untuk psikiatri. 2.2.3 Konsep pemrograman berorientasi objek Pemrograman berorientasi objek OOP (object-oriented programming) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objekobjek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
11
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. Objek adalah kesatuan entitas yang memiliki sifat dan tingkah laku. Dalam kehidupan sehari-hari, objek adalah benda, baik benda berwujud nyata seperti manusia, hewan, mobil, komputer, handphone, pena, ataupun benda yang tidak nyata atau konsep, seperti tabungan bank, sistem antrian, sistem internet banking dan sebagainya. Pemrograman orientasi objek menekankan konsep berikut: a. Kelas - kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi objek. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan
12
melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. b. Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. c. Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. d. Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut. e. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan
13
tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama. f. Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.) g. Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung
14
tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri. Bahasa pemrograman yang mendukung OOP antara lain: a. Java b. C++ c. Pascal (bahasa pemrograman) d. Visual Basic.NET e. SIMULA f.
Smalltalk
g. Ruby h. Python i.
PHP
j.
C#
k. Delphi l.
Eiffel
m. Perl
15
2.2.4 Pemrograman Java
Gambar 2.2 Logo Java Java dibuat pada tahun 1991 oleh James Gosling. Pada awalnya diberi nama Oak, dimana untuk menghormati pohon yang ada di luar jendela Gosling. Kemudian namanya diubah ke Java karena telah ada sebuah bahasa yang diberi nama Oak. Motivasi sesungguhnya dari Java adalah kebutuhan akan sebuah bahasa yang bisa digunakan pada berbagai platform yang bisa dimasukkan ke dalam berbagai produk elektronik seperti pemanggang roti dan lemari es. Salah satu dari proyek pertama yang dikembangkan menggunakan Java sebuah remote control yang diberi nama Star 7. Pada saat yang sama, World Wide Web dan internet berkembang sangat cepat. Gosling menyadari bahwa Java dapat digunakan untuk pemrograman internet. Dengan keluarnya versi 1.2, platform Java telah dipilah-pilah menjadi beberapa edisi: The Standard Edition (J2SE), Enterprise Edition (J2EE), Mobile Edition (J2ME), dan JavaCard API.
16
Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di beragam lingkungan: Internet, intranets, consumer electronic products, dan computer applications. Untuk beragam aplikasi yang dibuat dengan bahasa java, java dipaketkan dalam edisi-edisi berikut: a. Java
2
Standar
Edition
(J2SE),
J2SE
menyediakan
lingkungan
pengembangan yang kaya fitur, stabil, aman, dan cross-platform. Edisi ini mendukung
konektivitas
basis
data,
rancangan
user
interface,
masukan/keluaran (input/output), dan pemrograman jaringan (network programming), dan termasuk sebagai paket-paket dasar bahasa java. b. Java 2 Enterpise Edition (J2EE), J2EE menyediakan tempat untuk membangun dan menjalankan multitier enterprise editions. J2EE berisi paketpaket di J2SE ditambah paket-paket untuk mendukung pengembangan Enterprise Java Beans, Java Servlets, Java Server Pages, XML, dan kendali transaksi yang fleksibel. c. Java 2 Micro Edition (J2ME), J2ME selain menyedikan bahasa java yang sama, unggul dalam portabilitas (kemampuan dapat dijalankan dimanapun), safe network delivery, seperti J2SE dan J2EE. Aplikasi-aplikasi dapat diskalakan (dimampukan) agar dapat bekerja dengan J2SE dan J2EE. J2ME adalah untuk beragam consumer electronic product, seperti pager, smart card, cell phone, handheld PDA, dan set-top box.
17
Tabel 2.1 Platform Java
Ada 3 kombinasi kunci yang membuat Java menjadi teknologi yang secara fundamental berbeda dari yang lain, yang ada saat ini. Pertama, semua orang dapat menggunakan applet yang kecil, aman, dinamik, lintas-platform, aktif, dan siap dijalankan di jaringan sejak awal. Kedua, java adalah bahasa pemrograman yang ampuh, memiliki kekuatan desain berorientasi objek dengan sintaks yang sederhana dan mudah dikenal. Ketiga, Java adalah kumpulan class object yang ampuh, yang melayani programmer dengan uraian yang jelas untuk banyak fungsi sistem umum, seperti pembuatan window, penggunaan jaringan, dan input/ output. 2.2.5 IDE (Integrated Development Environment) Banyak pihak telah membuat IDE (Integrated Development Environment Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini antara lain: a. Dr. Java, program gratis yang dikembangkan oleh Universitas Rice, AS b. BlueJ, program gratis yang dikembangkan oleh Universitas Monash, Australia c. NetBeans (open source - Common Development and Distribution License (CDDL))
18
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik. d. Eclipse JDT (open source- Eclipse Public License) Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya. e. IntelliJ IDEA (commercial, free 30-day trial) f. Oracle JDeveloper (free) g. Xinox JCreator (ada versi berbayar maupun free) JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE. 2.2.6 NetBeans IDE 6.1 NetBeans adalah perangkat lunak free yang dikeluarkan oleh Sun Microsystem. NetBeans adalah perangkat lunak yang dapat digunakan sebagai J2ME IDE (Integrated Develpoment Environment) yaitu perangkat lunak yang dipakai untuk menuliskan source code dari bahasa pemrograman J2ME. NetBeans IDE 6.1 adalah seri NetBeans yang dikeluarkan oleh Sun Microsystem pada tahun 2008.
19
2.2.7 Kelebihan-kelebihan Java a. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin/bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendirisendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut. b. OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
20
c. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat
perpustakaan-perpustakaan
baru
untuk
melingkupi
seluruh
kebutuhan pembangunan aplikasi. d. Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. e. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). 2.2.8 Pengembangan aplikasi mobile 2.2.8.1 Perangkat mobile Perangkat mobile memiliki banyak jenis dalam hal ukuran, desain dan layout, tetapi mereka memiliki kesamaan karakteristik yang sangat berbeda dari sistem desktop.
21
a. Ukuran yang kecil Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas mereka. b. Memory yang terbatas Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan secondary (disk). Pembatasan ini adalah salah satu faktor yang mempengaruhi penulisan program untuk berbagai jenis dari perangkat ini. Dengan pembatasan jumlah dari memory, pertimbangan-pertimbangan khusus harus diambil untuk memelihara pemakaian dari sumber daya yang mahal ini. c. Daya proses yang terbatas Sistem mobile tidaklah setangguh rekan mereka yaitu desktop. Ukuran, teknologi dan biaya adalah beberapa faktor yang mempengaruhi status dari sumber daya ini. Seperti harddisc dan RAM, Anda dapat menemukan mereka dalam ukuran yang pas dengan sebuah kemasan kecil. d. Mengkonsumsi daya yang rendah Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin desktop. Perangkat ini harus menghemat daya karena mereka berjalan pada keadaan dimana daya yang disediakan dibatasi oleh baterai-baterai. e. Kuat dan dapat diandalkan Karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup kuat untuk menghadapi benturan, gerakan, dan sesekali tetesan-tetesan air. f. Konektivitas yang terbatas
22
Perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak tersambung. Kebanyakan dari mereka menggunakan koneksi wireless. g. Masa hidup yang pendek Perangkat-perangkat konsumen ini menyala dalam hitungan detik kebanyakan dari mereka selalu menyala. Coba ambil kasus sebuah handphone, mereka booting dalam hitungan detik dan kebanyakan orang tidak mematikan handphone mereka bahkan ketika malam hari. PDA akan menyala jika anda menekan tombol power mereka. 2.2.8.2 J2ME
Gambar 2.3 Platform Java J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei, layar yang kecil dan bandwith jaringan yang rendah. Dengan perkembangbiakan perangkat mobile konsumer dari telepon, PDA, kotak permainan ke peralatan-peralatan rumah, Java menyediakan suatu lingkungan yang portable untuk mengembangkan dan menjalankan aplikasi pada
23
perangkat ini. Program J2ME, seperti semua program Java adalah diterjemahkan oleh VM. Program-program tersebut dikompile ke dalam bytecode dan diterjemahkan dengan JVM (Java Virtual Machine). Ini berarti bahwa programprogram tersebut tidak berhubungan langsung dengan perangkat. J2ME menyediakan suatu interface yang sesuai dengan perangkat. Aplikasi-aplikasi tersebut tidak harus dikompile ulang supaya mampu dijalankan pada mesin yang berbeda. Inti dari J2ME terletak pada configuration dan profileprofile. Suatu configuration menggambarkan lingkungan runtime dasar dari suatu sistem J2ME. Ia menggambarkan core library, virtual machine, fitur keamanan dan jaringan.
Gambar 2.4 Arsitektur J2ME Sebuah profile memberikan library tambahan untuk suatu kelas tertentu pada sebuah perangkat. profile-profile menyediakan user interface (UI) API, persistence, messaging library, dan sebagainya. Satu set library tambahan atau package tambahan menyediakan kemampuan program tambahan. Pemasukan package ini ke dalam perangkat J2ME dapat berubah-ubah karena tergantung pada kemampuan sebuah perangkat. Sebagai contoh, beberapa perangkat MIDP tidak memiliki bluetooth built-in, sehingga bluetooth API tidak disediakan dalam perangkat ini.
24
2.2.8.3 MIDlet Suatu aplikasi MIDP disebut MIDlet. Perangkat application management software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet create, start, pause, dan destroy. MIDlet adalah bagian dari package javax.microedition.midlet. Sebuah MIDlet harus di-extend dengan class MIDlet. Dan dapat meminta parameter dari AMS seperti dirumuskan dalam application descriptor (JAD). Suatu MIDlet tidak harus memiliki (dan memang harus tidak mempunyai) sebuah method public static void main (String[] argv). Method tersebut tidak akan dikenal lagi oleh AMS sebagai titik awal sebuah program. 2.2.8.3.1 Siklus MIDlet kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. MIDlet pada awalnya masuk status “Pause” setelah perintah baru dibuat. AMS memanggil constructor public tanpa argumen dari MIDlet. Jika sebuah exception terjadi dalam constructor, MIDlet memasuki status “Destroyed” dan membuangnya segera. MIDlet masuk ke dalam status “Active” atas pemanggilan method startUp() oleh AMS. MIDlet masuk ke dalam status “Destroyed” ketika AMS memanggil method destroyApp(). Status ini juga kembali diakses ketika method notifyDestroyed() kembali dengan sukses kepada aplikasi. Dengan catatan bahwa MIDlet hanya bisa memasuki status “Destroyed” sekali dalam masa hidupnya.
25
Gambar 2.5 Daur hidup MIDlet 2.2.8.3.2 MIDlet suites Aplikasi-aplikasi MIDlet dibungkus dan dikirim kedalam perangkat sebagai MIDlet suites. Sebuah MIDlet suite terdiri dari Java Archive (JAR) dan sebuah tambahan Java Application Descriptor (JAD). File JAD adalah suatu file teks yang berisi satu set atribut-atribut, beberapa dibutuhkan. 2.2.9 WAP (Wireless Application Protocol) WAP adalah sebuah protocol yang berfungsi sebagai teknologi untuk menghubungkan internet dengan telepon selular. Teknologi WAP adalah seperangkat spesifikasi berdasarkan HTML yang memungkinkan data internet untuk bekerja di alat wireless. WAP programming bekerja seperti halnya aplikasi situs web yang diformat khusus untuk peralatan wireless seperti telepon selular. WAP menggunakan bahasa komputer mirip dengan HTML yang dinamakan WML. Bahasa ini mengubah informasi berupa teks dari halaman situs dan menampilkannya di layar ponsel. WAP telah menjadi standard internasional
26
untuk menampilkan internet bergerak pada perangkat selular. WAP dihasilkan dari kesepakatan para ahli dan vendor telekomunikasi terkemuka di dunia yang tergabung dalam WAP forum (www.wapforum.com). WAP forum, yang terbentuk pada Juli 1997, dipelopori oleh Ericsson, Motorola, Nokia, dan Phone.com dan hingga saat ini telah memiliki lebih dari 500 anggota. Dengan diperkenalkannya
teknologi
paket
data,
diperkirakan
internet
bergerak
menggunakan WAP akan memiliki masa depan yang lebih menjanjikan dan dapat dimanfaatkan oleh penggunanya secara luas. WAP merupakan protocol komunikasi bergerak yang terdiri dari beberapa layer dan dapat dijalankan pada sistem jaringan apapun yang digunakan. Hal ini seperti ditampilkan pada Gambar 2.6.
Gambar 2.6 WAP stack yang terdiri dari 5 layer protocol dan 1 layer bearer service
WAP diciptakan sebagai protocol untuk komunikasi data jaringan wireless dengan latar belakang 3 pertimbangan, yaitu: a. Kondisi pasar penguna, yaitu karakter pasar yang berbeda dengan pelanggan fixed-internet. Dalam internet bergerak pengguna tidak akan melakukan
27
surfing, dan penggunaannya akan lebih user-centric dan situation-centric di mana informasi yang disediakan dapat lebih cepat dan tepat ke sasaran b. Jaringan, yaitu karakter kecepatan data jaringan wireless yang rendah dan delay tinggi. Jaringan wireless juga memiliki masalah dalam jangkauan, dan untuk itu dibutuhkan infrastruktur dengan biaya tinggi untuk jangkauan hingga daerah-daerah di pedalaman c. Perangkat pendukung WAP, yaitu perangkat pendukung yang biasanya berkarakter tampilan layar kecil, memori kapasitas kecil, dan kekuatan prosesor yang rendah [www.satriyantono.net]. 2.2.9.1 Cara kerja WAP Terdapat tiga akses utama dalam WAP yaitu: a. Perangkat wireless yang mengandung WAP b. WAP gateway sebagai perantara dan web server sebagai sumber dokumen c. Dokumen yang berada dalam web server dapat berupa dokumen WML atau HTML yang seharusnya ditampilkan oleh web browser.
Gambar 2.7 Ilustrasi cara kerja WAP
28
Ilustrasi cara kerja WAP ditampilkan pada Gambar 2.7 Saat user ingin melihat suatu halaman web dengan format HTML, gateway akan menterjemahkan halaman tersebut ke dalam format HTML. Tetapi walaupun dokumen HTML dapat saja diakses oleh ponsel, layar ponsel yang kecil. Seperti halnya menampilkan internet dari web browser, untuk menampilkan WAP dibutuhkan WAP browser. Di dalam ketentuan ponsel, ini disebut sebagai microbrowser. Seperti halnya mengetikkan URL untuk mengakses website, maka melakukan hal yang sama untuk mengakses WAPsite di ponsel. Dengan mengakses web server melalui ISP (Internet Service Provider) dan login ke internet, maka halaman WAP akan dikirimkan dan dimunculkan ke layar ponsel. Bagi pengguna PC, juga disediakan browser emulator yang bisa digunakan untuk mengakses situs ini. Model pemrograman WAP terdiri atas tiga bagian, yaitu: 1. WAP client, untuk mengirim permintaan informasi 2. Gateway, sebagai penerjemah antara WAP dan HTTP 3. Server, memproses permintaan dari gateway untuk kemudian menjawabnya. Jawaban ini akan dikirim ke client melalui gateway sebagai perantara. Hasil konversi yang dilakukan oleh WAP gateway mampu memperkecil ukuran dari informasi yang akan dikirimkan ke client. Model pemrograman WAP di tampilkan pada Gambar 2.8
Gambar 2.8 Model pemrograman WAP
29
2.2.9.2 Bahasa yang digunakan oleh WAP WML (Wireless Markup Language) adalah bahasa komputasi yang digunakan oleh WAP untuk mengubah informasi berupa teks dari halaman situs dan menampilkannya di layar ponsel. WML merupakan subset dari XML (Extensible Markup Language) dan dikhususkan untuk penggunaan content dan perangkat user interface yang bekerja pada pita sempit, layar display yang kecil dan keterbatasan fasilitas input dari user, keterbatasan memori dan perhitungan seperti ponsel dan pager. WML mirip dengan HTML, hanya tampilannya saja yang berbeda. Fungsi WML meliputi: 1. Text presentation and layout WML mendukung teks dan image, termasuk didalamnya beberapa format dan perintah untuk layout, misalnya huruf tebal, huruf miring suatu teks 2. Mengorganisasi card Semua informasi di WML diatur di dalam card dan deck. Card untuk satu atau lebih layanan interaktif dengan user 3. Inter-card navigation and linking WML berguna juga untuk mengatur navigasi antara card. Hal ini meliputi anchor link, maupun event handling 4. String parameter dan state management. Penggunaan variable dalam string dan secara run-time ditampilkan pada output, sehingga penggunaan sumber daya jaringan lebih efisien. Dokumen WML terdiri atas beberapa bagian utama, yaitu: 1.
Header, berfungsi untuk menyatakan versi XML dari suatu dokumen WML
30
2.
Template, berfungsi untuk memberikan tambahan pilihan pada menu option, atau tambahan tombol dibeberapa browser
3.
Card, berfungsi untuk mendefinisikan halaman-halaman yang berada dalam satu file WML.
2.2.10 PHP (PHP Hypertext Preprocessor) PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP merupakan bahasa server-side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Maksud dari server-side scripting adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML. Pembuatan web ini merupakan kombinasi antara PHP sendiri sebagai bahasa pemrograman dan HTML sebagai pembangun halaman web. Ketika seorang pengguna internet akan membuka suatu situs yang menggunakan fasilitas server-side scripting PHP, maka terlebih dahulu server yang bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dalam format HTML ke web browser pengguna internet tadi. Dengan demikian seorang pengguna internet tidak dapat melihat kode ‘ program yang ditulis dalam PHP sehingga keamanan dari halaman web menjadi lebih terjamin. Tetapi tidak seperti ASP yang juga cukup dikenal sebagai server-side scripting, PHP merupakan software yang Open Source (gratis) dan mampu lintas platform, yaitu dapat digunakan dengan sistem operasi dan web server apapun.
31
PHP mampu berjalan di Windows dan beberapa versi Linux. PHP juga dapat dibangun sebagai.modul pada web server Apache dan sebagai binary yang dapat berjalan sebagai CGI. PHP dapat mengirim HTTP header, dapat mengeset cookies, mengatur authentication dan redirect users. PHP menawarkan koneksitas yang baik dengan beberapa basis data, antara lain Oracle, Sybase, mSQL, MySQL, Solid, PostgreSQL, Adabas. File.Pro, Velocis, dBase, Unix dbm dan tak terkecuali semua database ber-interface ODBC. Juga dapat berintegrasi dengan beberapa library eksternal yang membuat Anda dapat melakukan segalanya mulai dari membuat dokumen PDF hingga mempurse XML. PHP juga mendukung komunikasi dengan layanan lain melalui protokol IMAP, SNMP, NNTP, POP3 atau bahkan HTTP. Bila PHP berada dalam halaman web Anda, maka tidak lagi dibutuhkan pengembangan lingkungan khusus atau direktori khusus. Hampir seluruh aplikasi herbasis web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan ini kita akan mempunyai suatu sistem basis data yang dapat diakses dari web. Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sun Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain.
32
Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs Personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada Nopember 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model
33
pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. Kelebihan PHP dari bahasa pemrograman lain a. Bahasa pemrograman php adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. b. Web Server yang mendukung php dapat ditemukan dimana-mana dari mulai IIS sampai dengan apache, dengan konfigurasi yang relatif mudah. c. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan. d. Dalam sisi pemahamanan, php adalah bahasa scripting yang paling mudah karena referensi yang banyak. e. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem. Salah satu fitur yang dapat diandalkan oleh PHP adalah dukungannya terhadap banyak database. Berikut database yang dapat didukung oleh PHP: a. Adabas D b. dBase c. Direct MS-SQL d. Empress e. FilePro (read only) f. FrontBase g. Hyperwave
34
h. IBM DB2 i. Informix j. Ingres k. Interbase l. MSQL m. MySQL n. ODBC o. Oracle (OC17 dan OC18) p. Ovrimos q. PostgrSQL r. Solid s. Sybase t. Unix DBM u. Velocis 2.2.10.1 Sintaks PHP Sintaks program/script PHP ditulis dalam apitan tanda khusus PHP. Ada empat macam pasangan tag PHP yang dapat digunakan untuk menandai blok script PHP: a. b. <script language = “PHP”> … c. …?> d. <% … %>
35
Cara 1 dan 2 merupakan cara yang paling umum digunakan sekalipun cara 3 tampak lebih praktis karena cara 3 tidak selalu diaktifkan pada konfigurasi file php.ini yang terdapat pada direktori c:\apache\php. Cara 4 juga dimungkinkan sebagai kemudahan bagi anda yang sudah terbiasa dengan ASP (Active Server Pages). Namun, bila itu tidak dikenal, maka harus dilakukan pengkatifan pada file konfigurasi php.ini. Pengaktifan yang dilakukan pada file php.ini terdapat pada baris berikut: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Language Option ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Allow ASP-style <% %> tags. asp_tags = Off. Ubah off menjadi on, kemudian simpan dan restart kembali web server anda.
Gambar 2.9 Contoh script sintaks.php Hasil eksekusi sintaks.php ditunjukkan seperti pada gambar 2.10.
36
Gambar 2.10 Hasil eksekusi file sintaks.php berupa tampilan web 2.2.11 MySQL MySQL adalah multiuser database yang menggunakan bahasa Structured Query Language (SQL). MySQL dalam operasi client-server melibatkan server daemon MySQL di sisi server dan berbagai macam program serta library yang berjalan di sisi client. MySQL mampu menangani data yang cukup besar. Perusahaan yang mengembangkan MySQL yaitu TcX, mengaku mampu menyimpan data lebih dari 40 database, 10.000 tabel dan sekitar 7 juta baris, totalnya kurang lebih 100 Gigabyte data. Informasi selengkapnya tentang MySQL dapat dilihat di www.mysql.com. SQL adalah bahasa standar yang digunakan untuk mengakses database server. Bahasa ini pada awalnya dikembangkan oleh IBM, namun telah diadopsi dan digunakan sebagai standar industri. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan menggunakan dBASE atau Clipper yang masih menggunakan perintah-perintah pemrograman.
37
Database, Tabel, Baris Dan Kolom Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logika merupakan struktur dua dimensi yang terdiri atas baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data, sedangkan kolom sering disebut sebagai attribute atau field. Keseluruhan tabel itu dihimpun dalam satu kesatuan yang disebut database. Tipe Data Pada MYSQL Pada dasarnya ada empat grup tipe data yang didukung MySQL, yaitu data numerik, string, waktu dan data selain nurnerik atau string. Berikut penjelasan masing-masing grup tipe data tersebut. Tipe Data Numerik Pada tipe data ini data yang dapat disimpan hanya data angka (numerik) saja. Dapat disimpan di sini baik dalam bentuk angka positif maupun negatif. Tipe data numerik pada MySQL, adalah sebagai berikut: Tabel 2.2 Tipe data numerik MySQL
38
Atribut berikut AUTO INCREMENT, UNSIGNED dan ZEROFILL, hanya ada pada tipe data numerik ini saja. AUTO-INCREMENT memberikan nilai, ke field yang ditambahi atribut ini, secara otornatis dan nilainya selalu naik 1 angka setelah data sebelumnya. UNSIGNED memberikan tipe data ini hanya dengan nilai positif saja, karena secara default tipe data ini jangkauannya sampai negatif. Sedangkan ZEROFILL berfungsi untuk mrrnberikan imbuhan nilai 0 di depan nilai sepanjang lebar tipe data. Tipe Data String Pada tipe data ini dapat berisi nilai string (alfanumerik/karakter) dan numerik, yang jelas nilai numerik di sini tidak dapat untuk operasi perhitungan sebelum dilakukan konversi. Tabel 2.3 Tipe data string di MySQL
Tipe Data Waktu Tipe data ini menyimpan informasi waktu, baik tanggal maupun jam. Walaupun data yang disimpan di sini numerik tetapi pembacaan terhadap data adalah string. Jadi perlu dilakukan konversi bila ingin melakukan perhitungan. Berikut tipe data waktu yang didukung MySQL.
39
Tabel 2.4 Tipe data date time di MySQL
Di sini ada tiga macam tipe data selain yang telah disebutkan di atas, yaitu ENUM dan SET. Tipe ENUM merupakan tipe data yang menyimpan beberapa pilihan data yang akan disimpan tetapi hanya satu pilihan yang boleh disimpan. Sedangkan SET mirip dengan ENUM tetapi bisa memilih lebih dari satu pilihan. Menjalankan MySQL Sebelum kita dapat menjalankan MySQL terlebih dahulu kita pastikan apakah daemon MySQL, (mysqld) sudah di-start apa belum. Bila menggunakan Windows 95/98, jalankan file mysqld.exe atau net start mysql bila menggunakan WinNT. Bagi pengguna Linux, pastikan daemon mysql sudah di-load pada saat booting. Untuk masuk ke prompt MySQL gunakan perintah berikut: C:\mysql\bin>mysql ~-u username] [-h hostname] f-pPassword] Simbol -u di sini untuk menunjukkan siapa user-nya, kemudian --h untuk memberitahukan akan koneksi dari mana dan -p untuk password user tersebut. Seperti terlihat di atas, ketiga simbol tersebut adalah opsional atau boleh tidak dituliskan dengan syarat tertentu. Namun demikian biasanya bila kita meng-install MySQL untuk pertama kalinya kita dapat masuk ke MySQL tanpa ketiga opsi tersebut. Di sinilah mulai dapat dilakukan penulisan perintah-perintah SQL. Setiap akhir perintah SQL biasanya diakhiri dengan simbol titik-koma (;).
BAB III TUJUAN DAN MANFAAT PENELITIAN 3.1 Tujuan Penelitian Tujuan dari hasil penelitian ini yang terpenting dalam bidang IPTEKS, terutama teknologi informasi dan komunikasi adalah sebagai berikut : 1. Mendapatkan rekomendasi rancangan m-medical/m-doctor yang mampu menjamin kompatibilitas dan interoperabilitas 2. Mendapatkan rekomendasi rancangan video streaming multimedia pada m-medical/m-doctor yang dapat memberikan nilai tambah pada metode layanan medis 3. Mendapatkan rekomendasi handphone yang bisa digunakan sebagai media streaming multimedia 4. Mendapatkan rekomendasi dalam penggunaan teknologi WCDMA untuk mengakses internet dengan cepat dan lebih ekonomis 5. Meningkatkan kualitas kesehatan di Indonesia dengan mengenalkan teknologi terbaru, dan mengaplikasikan kedalam metode layanan medis, sehingga secara tidak langsung pasien dan praktisi kesehatan telah mengenal teknologi tersebut 6. Meningkatkan kualitas sistem rekam medis terutama pada komunikasi antar pasien dan pasien dengan praktisi medis (rumah sakit, laboratorium, poliklinik dan lain-lain) serta mengembangkan pengajaran ilmu di bidang kedokteran.
40
41
3.2 Manfaat Penelitian 1. Membantu pasien untuk mendapatkan layanan kesehatan secara efiktif dan efisien. 2. Mengurangi biaya perjalanan pasien untuk mendapatkan layanan dokter (pasien tidak harus bertatap muka lansung dengan dokter) dan pasien bisa untuk lebih mandiri, aplikasi bisa mencakup daerah terpencil (selama masih mendapatkan sinyal dari operator selular) dan juga menghemat biaya layanan kesehatan secara keseluruhan (biaya di rumah sakit). 3. Meningkatkan sumber daya manusia khususnya dibidang kesehatan.
BAB IV METODOLOGI PENELITIAN
4.1 Analisis Kebutuhan Dalam penelitian ini, perangkat keras (hardware) yang digunakan antara lain, laptop dan perangkat handphone dengan spesifikasi sebagai berikut: a.
Processor
: Intel Pentium Dual Core T3200 2.0 GHz
b.
Monitor
: 14.1WXGA CrystalBrite LCD
c.
Memory
: DDR2 1466 MB
d.
Graphic Card
: Mobile Intel Graphics Media Accelerator 4500M
e.
Hard disc
: 160 GB
f.
Mobile device
: Sony Ericsson K770i
Dalam penelitian ini, perangkat lunak (software) yang digunakan antara lain: a. MySQL sebagai database aplikasi server. b. PHPTriad 2.2.1 sebagai bahasa script server-side. c. JDK 1.5 for Windows dan NetBeans IDE 6.1 sebagai developer bahasa J2ME di sisi client. d. Spesifikasi software Sony Ericsson K770i: - R8BA024 prg1202-3599_CHINA_VI R8BA024 - EROM: R3A022 prgCXC1250616_EROM_DB2020HB106 GENERIC_FOTA_SIMLOCK_FLAFLA_SIBLEY_SEMCUSB - LCD SW versions Main display Current: 0
42
43
- Camera SW versions Camera Current: 4.5, Video call camera Current: 3.1 - ITP SW versions 1202-3214 1B - Customization 1202-7695 R3A 1201-7603 R8BA024 APAC - Memory stick: R5A - Java SW version JP-7.7 - Text revision: AU - Update service SW UA version: CRH 1069179 R3B025 2007-0614 07:35 4.2 Metode Penelitian Sistem merupakan sekumpulan elemen atau komponen yang saling terkait atau terpadu untuk mengerjakan suatu pekerjaan yang dimaksudkan untuk mencapai tujuan. Komponen yang dimaksud dalam aplikasi ini adalah klien dan server, dan pekerjaan yang dimaksud adalah sistem aplikasi mobile doctor yang berisi konten-konten kesehatan dan dapat dijadikan tempat percakapan interaktif antara klien dan server (dokter) dalam layanan chatting. Hasil akhir dari penelitian diharapkan akan berupa suatu sistem yang strukturnya dapat didefinisikan dengan baik dan jelas. 4.3 Diagram Alir Langkah Penelitian Tahapan-tahapan dalam pengembangan sistem ini adalah sebagai berikut: a. Analisa Sistem, meliputi studi kelayakan dan analisa kebutuhan b. Desain Sistem, yaitu melakukan perancangan secara logika maupun fisik c. Implementasi Sistem, dengan melakukan pemrograman dan pengujian
44
d. Operasi dan Pemeliharaan. Tahapan-tahapan tersebut dapat digambarkan dengan diagram sebagai berikut: Analisa sistem Studi kelayakan Analisa kebutuhan
Perubahan lingkup / kebutuhan
Kebutuhan sistem
Desain sistem Perancangan konseptual Perancangan fisik Desain sistem
Kesalahan atau masalah yang tidak memungkinkan implementasi dilaksanakan
Implementasi sistem Pemrograman dan pengujian
Implementasi kurang lengkap / ada permintaan baru
Sistem siap beroperasi mandiri
Operasi dan pemeliharaan
Gambar 4.1 Diagram alir langkah penelitian 4.4 Metode Perancangan Dalam perancangan ini, spesifikasi handset seluler yang digunakan adalah handset yang mampu berjalan di jaringan WCDMA/UMTS. Dengan maksud agar koneksi internet saat melakukan browsing dapat lebih cepat dibanding jika menggunakan koneksi GPRS/EDGE, dikarenakan bandwith rate yang lebih besar. Lagipula, dengan pemakaian handset yang dapat berjalan di jaringan WCDMA/UMTS, memungkinkan pengoptimalan fitur-fitur yang mungkin dapat
45
ditambahkan pada aplikasi ini di waktu yang akan datang, semisal fitur video interaktif, live video streaming, download & upload file dengan lebih cepat, dan lain-lain. Pada diagram alir di bawah dapat dijelaskan bahwa materi yang akan disajikan adalah materi yang mendukung untuk solusi tentang dunia kesehatan yang akan diaplikasikan pada perangkat mobile phone. Setelah konten materi telah dipersiapkan, maka selanjutnya adalah mendesain aplikasi dan tampilan mobile doctor. Dalam mendesain aplikasi, diupayakan sistem yang ringan dan cepat agar tidak membebani client browser. Untuk selanjutnya, adalah pembuatan tabel database yang berisi kontenkonten kesehatan, yang mana membutuhkan server untuk menampung database materi mobile doctor, yang biasa disebut sebagai database server. Langkah selanjutnya adalah pengujian aplikasi mobile doctor. Dalam pengujian ini dilakukan dua tahap, yaitu pengujian di-localhost/intranet dan pengujian di-internet dengan langsung mencoba koneksinya menggunakan mobile device (handphone). Pengujian di-localhost dimaksudkan untuk mensimulasikan terlebih dahulu aplikasi yang telah dibuat, sehingga jika terdapat kekurangan dalam sistem aplikasi, masih dapat diperbaiki. Pengujian aplikasi mobile doctor di-internet (online) dilakukan setelah berhasil dengan pengujian di-localhost. Hal ini dimaksudkan untuk memaksimalkan hasil perancangan sistem aplikasi mobile doctor. Walaupun sebenarnya melakukan perubahan besar terhadap sistem aplikasi mobile doctor di-internet dapat dilaksanakan, akan tetapi akan beresiko besar terhadap keamanan web server maupun database server.
46
Mulai
Mempersiapkan konten/materi
Mendesain aplikasi mobile doctor
Mempersiapkan web server dan database server
Uji aplikasi mobile doctor di local host/intranet
Tidak Berhasil Ya
Uji aplikasi mobile doctor di perangkat mobile
Ya
Tidak
Berhasil
Selesai Gambar 4.2 Diagram alir perancangan mobile doctor
47
Setelah pengujian di-local host dengan menggunakan server lokal beserta emulator pada netBeans berhasil, maka selanjutnya adalah uji coba aplikasi mobile doctor pada mobile phone. Pengujian pada mobile phone ini menekankan menjalankan konten multimedia yang seoptimal mungkin untuk mendukung proses akses materi kesehatan serta konsultasi dengan interface sesuai dengan kemampuan multimedia mobile phone dan kompabilitas perangkat mobile phone hingga smart phone. Data-data yang dibutuhkan dalam perancangan aplikasi ini antara lain: a. Data-data kesehatan yang digunakan sebagai konten di aplikasi ini b. Data-data pembuatan aplikasi dari segi software pembangunnya, yaitu source code dalam pembuatan project J2ME di netBeans, script PHP, serta tabel database MySQL yang berisi data-data kesehatan yang di dapatkan dari literatur buku ataupun internet. 4.5 Proses Pembuatan Aplikasi M-Doctor 1. Membuat sistem aplikasi m-doctor dan desain tampilan pada aplikasi Sistem aplikasi dibuat menggunakan midlet, dengan mengetikkan source code yang telah dicari dan dicoba sebelumnya pada NetBeans IDE 6.1 sebagai developer bahasa J2ME. Bersama dengan itu juga di desain tampilan yang nantinya direncanakan sebagai user interface bagi pengguna untuk mengakses fitur-fitur pada aplikasi ini. 2. Mempersiapkan konten dan materi aplikasi
48
Mengumpulkan materi-materi kesehatan yang nantinya akan dijadikan konten pada aplikasi ini. Dimana didapat dari berbagai sumber yang dapat dipertanggung jawabkan isinya. 3. Pembuatan tabel database MySQL dan script PHP Membuat table-tabel sebagai database penyimpanan konten kesehatan menggunakan MySQL dan script PHP nya sebagai penghubung dari J2ME ke MySQL. 4. Percobaan pada server localhost Percobaan pada server localhost bertujuan untuk melihat tampilan yang telah dibuat dan menguji coba agar sesuai dengan tujuan pembuatan. Dalam percobaan digunakan wamp5 1.7.4 untuk menyimpan file php yang dibuat dan 5. Proses menjalankan aplikasi m-doctor di internet Jika pada server localhost sudah tidak ada masalah, tahapan selanjutnya adalah mengujicobakan aplikasi tersebut ke dalam jaringan internet. 4.6 Langkah Pelaksanaan Pembuatan Program 4.6.1 Memulai PHP 4.6.1.1 Instalasi PHP dan web server Untuk menginstalasi PHP pada prinsipnya tidaklah sulit, tetapi bagi pemula hal itu akan terasa sulit karena perlu dilakukan beberapa konfigurasi agar PHP dapat berjalan sebagaimana mestinya. Kini telah tersedia cara mudah untuk menginstal PHP, yakni dengan menggunakan PHPTriad atau dapat juga menggunakan EasyPHP. Pada tugas perancangan ini menggunakan PHPTriad 2.2.1.
49
Langkahnya: a. Download PHPTriad dari http://www.PHPGeek.com. b. Klik ganda PHPTriad. Perhatikan icon di bawah
c. Pada kotak dialog License Agreement, klik tombol I Agree. Perhatikan gambar 3.3. Proses instalasi berlangsung seperti ditunjukkan pada gambar 4.3.
Gambar 4.3 Kotak dialog License Agreement
Gambar 4.4 Proses instalasi PHPTriad
50
d. Setelah beberapa saat, proses instalasi pun selesai (Completed). Klik tombol Close, seperti pada gambar 4.5
Gambar 4.5 Instalasi PHP selesai 4.6.1.2 Menguji hasil instalasi PHP Instalasi PHP yang telah selesai dilakukan, perlu diuji kembali untuk mengetahui apakah PHP telah terinstal dengan benar. a. Mengaktifkan web server apache-nya, klik Start > All programs > PHPTriad > Apache Console > Start Apache. Perhatikan gambar 4.6.
Gambar 4.6 Mengaktifkan apache
51
b. Setelah web server apache aktif, akan tampil jendela apache aktif seperti ditunjukkan pada gambar 4.7.
Gambar 4.7 Apache aktif c. Untuk mengaktifkan browser, digunakan Internet Explorer. Berikutnya pada bagian Address isikan http://localhost/ atau http://127.0.0.1/ hingga akan tampil halaman “Welcome”, seperti ditunjukkan pada gambar 4.8. Artinya instalasi PHP telah sukses dilakukan.
Gambar 4.8 Halaman welcome
52
4.6.1.3 Membuat program PHP yang pertama Untuk membuat program PHP, kita harus menggunakan editor teks. Di lingkungan windows, kita dapat menggunakan Notepad atau Textpad, sedangkan di lingkungan LINUX atau UNIX, kita dapat menggunakan vi, atau kita juga dapat menggunakan software seperti Macromedia Dreamweaver atau editor teks lainnya. Berikut contoh script PHP yang pertama dengan langkah-langkah: a. Buka program Notepad, kemudian ketikkan script PHP berikut.
Gambar 4.9 Contoh script PHP b. Berikutnya, simpan dengan mengklik File > Save As. Akan muncul kotak dialog Save As. Pada pernyataan Save in: pastikan kita memilih c:\apache\htdocs, lalu isikan pada pernyataan File name: Pertama.php dan Save as Type: All files, kemudia klik Save.
53
4.6.1.4 Menjalankan program PHP Setelah program PHP disimpan, langkah berikutnya adalah menampilkan hasil eksekusi terhadap script tersebut. Berikut langkah-langkahnya: a. Buka browser Internet Explorer b. Pada bagian Address: isikan http://localhost/pertama.php hingga hasilnya tampil seperti ditunjukkan pada gambar 4.10 (pastikan apache web server telah diaktifkan)
Gambar 4.10 Hasil script pertama.php 4.6.1.5 Embedded script dan non embedded script Untuk menuliskan script PHP, ada dua cara yang sering digunakan, yaitu embedded script dan non-embedded script. a. Embedded script Embedded script adalah script PHP yang disisipkan di antara tag-tag dokumen HTML.
54
Gambar 4.11 Script embed.php Contoh hasil eksekusi embed.php ditunjukkan seperti pada gambar 4.10.
Gambar 4.12 Hasil eksekusi file embed.php b. Non-embedded script Non-embedded script adalah script/program PHP murni. Termasuk tag HTML yang disiapkan dalam script PHP.
Gambar 4.13 Script nonembed.php
55
Gambar 4.14 Hasil eksekusi file nonembed.php 4.6.2 Memulai xampp 1.6.7 4.6.2.1 Instalasi
Double klik icon di atas, ikuti perintah install-nya hingga selesai. Setelah selesai buka program hingga akan muncul jendela seperti di bawah ini.
Gambar 4.15 Jendela control panel xampp
56
Saat akan menggunakan aplikasi di atas pastikan apache dan MySql dalam keadaan running (start). Untuk implementasi selanjutnya, tentang pengolahan database dan running server apache-nya akan dibahas dalam bab berikutnya. 4.6.3 Memulai NetBeans IDE 6.1 4.6.3.1 Instalasi Sebelum melakukan instalasi, pastikan telah tersedia paket instalasi jdk dan paket instalasi NetBeans IDE 6.1.
Gambar 4.16 Paket instalasi NetBeans IDE 6.1 Lakukan instalasi seluruh paket tersebut, dimulai dengan jdk-nya terlebih dahulu baru netbeans-nya. 4.6.3.2 Menjalankan NetBeans IDE 6.1 Setelah semua paket diinstal dengan benar, memulai sebuah proyek baru dengan langkah sebagai berikut Start > All programs > NetBeans > NetBeans 6.1, dan akan muncul jendela tampilan netBeans IDE 6.1.
Gambar 4.17 Tampilan NetBeans IDE 6.1
57
Tampilan tersebut adalah tampilan yang akan muncul setiap kali kita memulai sebuah proyek baru. 4.7 UML (Unified Modeling Language) UML adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML tidak berdasarkan pada bahasa pemrograman tertentu. UML mendeskripsikan OOP (Object Oriented Programming) dengan beberapa diagram, diantaranya: diagram use-case dan diagram sequence. Diagram use-case adalah peringkat tertinggi dari fungsional yang memiliki sistem. Dengan kata lain, diagram use-case menggambarkan bagaimana seseorang akan menggunakan sistem. Aktor adalah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Diagram sequence digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah objek dan message (pesan) yang diletakkan diantara objek-objek ini di dalam use case. 4.7.1 Diagram use case
Gambar 4.18 Diagram use case
58
Dari diagram use case di atas dapat dilihat bahwa user (aktor) memiliki enam buah aktivitas antara lain Daftar, yaitu proses mendaftar bagi user, Masuk yaitu proses masuk ke dalam aplikasi, Login Admin adalah proses login yang hanya dapat dilakukan admin sekaligus admin yang bertindak sebagai user. Tambah Data merupakan proses menambah data/konten kesehatan yang hanya dapat dilakukan oleh admin sekaligus admin yang bertindak sebagai user. Update data merupakan proses meng-update konten penyakit yang ada di dalam aplikasi, yang hanya dapat dilakukan oleh admin. Hapus data adalah proses menghapus data/konten penyakit yang hanya dapat dilakukan oleh admin. 4.7.2 Diagram sequence proses daftar
Gambar 4.19 Diagram sequence proses daftar Pada proses daftar, user memulai dengan memilih menu masuk, lalu dilanjutkan dengan mengisi data daftar pelanggan pada formPelanggan (get_formPelanggan), setelah data diisi maka data isian akan dikoreksi
59
(get_validation( )), bila data ada yang salah maka akan muncul pesan koreksi kesalahan (warning) pada formDone. Bila data sudah sesuai kebutuhan sistem maka langkah berlanjut ke formStatus1 (get_formStatus1), yang menampilkan bahwa anda sudah masuk dalam sistem sebagai user, dan user dapat melanjutkan ke listDaftar yang berisi list-list daftar penyakit, yang bila dipilih maka akan masuk ke formTampil (get_formTampil). 4.7.3 Diagram sequence proses masuk
Gambar 4.20 Diagram sequence proses masuk/tampil data Pada proses masuk / tampil data (Tampil( )), server akan memanggil datadata penyakit yang ada di dalam database, dan kemudian ditampilkan kepada user pada tampilan formTampil (get_formTampil( )). 4.7.4 Diagram sequence proses login admin Pada proses login admin, admin memulai dengan memilih menu Hal.admin, kemudian admin memulai dengan memasukkan nama admin dan password (get_formLogin( )), kemudian proses login ke server (login( )), jika login gagal maka pesan kesalahan (warning) tampil di formDone. Jika login
60
berhasil maka dapat diteruskan ke proses tambah, update, maupun hapus data, dengan meneruskan get_loginCom.
Gambar 4.21 Diagram sequence proses login admin 4.7.5 Diagram sequence proses tambah data
Gambar 4.22 Diagram sequence proses tambah data
61
Pada proses tambah data, setelah sukses melakukan proses login admin, admin
dapat
memilih
menu
tambah
baru
di
menu
choice
group
(get_tambahConfirmLoginCom), kemudian masuk pada form tambah data (get_formTambah), dan mengisi data sesuai dengan format apa yang diminta, jika data yang diisikan tidak sesuai maka akan tampil pesan peringatan (warning) tampil di formDone. Jika tambah data berhasil akan muncul form konfirmasi penambahan data (get_formConfirmBaru), dan setelah itu dapat pasang data, kembali ke menu utama. 4.7.6 Diagram sequence proses update data
Gambar 4.23 Diagram sequence proses update data Pada proses update data, sama seperti pada proses tambah data, setelah admin berhasil masuk, admin bisa memilih update data di menu choice group (get_updateConfirmLoginCom),
kemudian
masuk
ke
formUpdate
(get_formUpdate), dan mengetikkan nama penyakit sesuai dengan ada yang ada di dalam database, jika nama penyakit yang diketikkan tidak sesuai dengan nama
62
penyakit apapun yang ada di dalam database, akan muncul pesan kesalahan (warning) dan langsung menuju ke formDone (get_formDone). Jika update data berhasil, maka akan muncul formTampil (get_formTampil), dan selesai (get_formDone), kembali ke menu utama (formMain). 4.7.7 Diagram sequence proses hapus data
Gambar 4.24 Diagram sequence proses hapus data Pada proses hapus data, juga sama seperti pada proses tambah data, setelah admin berhasil masuk admin bisa memilih update data di menu choice group (get_hapusConfirmLoginCom),
kemudian
masuk
ke
formHapus
(get_formHapus), jika salah dalam memasukkan data, maka akan muncul pesan kesalahan (warning) dan langsung menuju ke formDone (get_formDone), dan jika data yang dimasukkan untuk dihapus benar maka akan langsung menuju ke formMain (get_formMain).
63
4.8 Perancangan Antar Muka Form main xxxxxxxxxxxxxxxxx Menu cmd Masuk Menu cmd Hal.admin Menu cmd About Menu cmd Tujuan Menu cmd Exit Menu
(a)
(b)
Form (jika pasien tidak mengisi form login) Nama harus diisi User harus diisi Alamat harus diisi Done
(d)
Form Daftar Penyakit xx xx xx xx xx xx xx xx Select
(e)
Form Admin Admin Password Done
(g)
Form login (Daftar user) Nama anda Umur anda Alamat anda (kota) Kembali Lanjut
Form Konfirmasi Admin Anda telah masuk sebagai admin Anda bisa melakukan tambah, update, dan hapus data Tambah baru Update data Hapus data Kembali Menu
(h)
Form status1 (pasien) Terima kasih telah mendaftar Setelah ini anda dapat melihat daftar penyakit yang ada dalam basis data kami Kembali Lanjut
(c) Form Tampil Data (Penyakit) No.urut penyakit: x Nama penyakit: xxxxxxxxxxxxxxxx Sifat penyakit: xxxxxxxxxxxxxxxx Jenis penyakti: xxxxxxxxxxxxxxxx Done
(f) Form Hapus Data Masukkan nama penyakit yang akan dihapus Back Hapus
(i)
64
Form Tambah baru Nama penyakit: Sifat penyakit: Jenis penyakit: Gejala: xxxxxxxxxxx: Back Next
(j) Status Tambah Data Terima kasih data telah disimpan Menu
(m) Form Tujuan xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx Done
(p)
Status Tambah Data Anda telah memasukkan data penyakit baru Silahkan cek kembali data yang akan dimasukkan Back Next
(k) Update Data Masukkan nama penyakit yang akan diupdate Back Update
(n)
Form Tambah baru Nama penyakit: xxxxxxxxxxxxxxxx Sifat penyakit: xxxxxxxxxxxxxxxx Jenis penyakit: xxxxxxxxxxxxxxxx Gejala: xxxxxxxxxxxxxxxx xxxxxxxxxxx: xxxxxxxxxxxxxxxx Back Pasang
(l) Form Tampil Data (Penyakit) No.urut penyakit: x Nama penyakit: xxxxxxxxxxxxxxxx Sifat penyakit: xxxxxxxxxxxxxxxx Jenis penyakti: xxxxxxxxxxxxxxxx Done
(o)
Form About xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx Done
(q)
Gambar 4.25 Rancangan screen shot aplikasi mobile doctor
65
Dari rancangan tampilan di atas, pada awal tampilan yaitu formMain (a), aplikasi memberikan beberapa menu yang dapat dipilih user. Pilihan pertama yaitu masuk. Pada menu ini, user dapat melakukan proses memasuki konten aplikasi dengan login data diri terlebih dahulu (b), jika user tidak melakukan login data diri, atau tidak mengisi salah satu entri data, maka user tidak dapat mengakses konten aplikasi mobile doctor (d). Setelah user melakukan login data diri, barulah user dapat mengakses seluruh konten tentang materi kesehatan dalam aplikasi ini. Pada menu hal.admin (g), hanya admin yang dapat melakukan akses pada form ini, seperti proses tambah, update, dan hapus data, dengan link admin dan password yang hanya dimilikinya. Pada form hapus data (i), admin dapat melakukan penghapusan data di dalam database dengan mengetikkan nama penyakit yang akan dihapus pada textfield yang tersedia. Pada form tambah data (j), admin dapat memasukkan datadata kesehatan tentang suatu jenis penyakit secara lengkap, baik pengertian, sifat, jenis penyakit, sampai dengan pengobatannya. Jika salah satu textfield ada yang tidak diisi oleh admin, maka tambah data tidak akan dapat dilakukan (terjadi error confirmation). Sedangkan jika semua textfield data diisi dengan lengkap, maka akan muncul form status tambah data yang menyatakan bahwa admin telah memasukkan data baru (k). Selanjutnya muncul form confirmation tambah data baru (l), jika kita pilih ‘pasang’, maka data baru tersebut akan terpasang di database aplikasi mobile doctor. Pada menu pilihan About (q), akan menampilkan form yang berisi informasi mengenai aplikasi.
66
Sama halnya dengan menu pilihan Tujuan (p), akan menampilkan form yang berisi informasi tujuan adanya aplikasi mobile doctor. Pada menu pilihan Exit, maka user akan keluar dari aplikasi.
BAB V HASIL PENELITIAN DAN PEMBAHASAN
5.1 Implementasi Sistem Hasil dari sistem yang dibuat adalah sebuah aplikasi mobile doctor yang cukup interaktif karena menggunakan arsitektur client-server. Dimana aplikasi client mengakses data pada server atau host di tempat tertentu. Server menerima permintaan dari client, memproses permintaan, dan mengembalikan hasilnya kepada client yang memberi permintaan tadi. Sedangkan client adalah suatu program yang meminta pelayanan dari server dan menunggu tanggapan dari server. Spesifikasi pekerjaan server: a. Satu server dapat menerima permintaan dari banyak client (multiuser) b. Server dapat menolak jika proses pengisian data (login) tidak diisi lengkap c. Server/host dapat meng-update data baik melewati desktop maupun mobile device, yang hanya dapat diakses oleh admin saja. Spesifikasi pekerjaan client: a. Client mengakses data/konten yang ada pada database 5.2 Implementasi Database Pada penelitian ini, implementasi database yang terjadi adalah pada proses simpan, update, hapus data oleh admin, dan registrasi, login id oleh user. Basis data diakses menggunakan PHP. Sedangkan pembuatan database mobiledoctor digunakan phpMyAdmin pada phpTriad.
67
68
Gambar 5.1 Tampilan database mobiledoctor Database mobiledoctor mempunyai tiga buah tabel yang digunakan dalam mengelola data. Pada tabel admin terdapat dua buah tabel, yaitu admin untuk nama admin, dan pass untuk password user.
Gambar 5.2 Tampilan database mobiledoctor – tabel admin
Tabel pelanggan mempunyai empat buah tabel, yaitu idc untuk penomoran, namac untuk nama user, umurc untuk usia user, dan alamatc untuk kota alamat user.
69
Gambar 5.3 Tampilan database mobiledoctor – tabel pelanggan
Gambar 5.4 Tampilan database mobiledoctor – tabel penyakit Tabel penyakit mempunyai sembilan buah tabel, yaitu idp untuk penomoran penyakit, namap untuk nama penyakit, sifatp untuk sifat penyakit, jenisp untuk jenis-jenis dari penyakit yang ada, pengertianp untuk penjelasan tentang penyakit tersebut, gejalap untuk gejala dari suatu penyakit, etiologip untuk
70
sebab dari penyakit, pengobatanp untuk pengobatan penyakit, dan rincianp untuk penjelasan tambahan mengenai suatu penyakit. 5.3 Implementasi Program Mobile Doctor Pada implementasi program mobile doctor, saat user membuka aplikasi, maka yang terlihat adalah tampilan awal atau formMain, diantaranya beberapa form di bawah ini.
(a)
(b)
(c)
(d)
71
(e)
(f)
(g)
Gambar 5.5 Tampilan awal mobile doctor
(a)
(b)
(c)
(d)
(e)
(f)
72
(g) Gambar 5.6 Tampilan program mobile doctor menu masuk Bila user memilih menu daftar, maka akan muncul form untuk memasukkan data daftar user. Tahap ini adalah tahap awal proses daftar user. Bila user pada formPelanggan (gambar 5.6a) mengisi data tidak sesuai dengan permintaan aplikasi maka akan muncul pesan peringatan (gambar 5.6b), jika data yang diisikan sudah benar maka akan muncul formStatus1 yang menerangkan bahwa bahwa status user sudah terdaftar dan dapat mengakses data yang ada di basis data aplikasi. Gambar 5.6g merupakan tampilan data penyakit yang dipilih.
(a)
(b)
(c)
73
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
Gambar 5.7 Tampilan program mobile doctor menu hal.admin
74
Di dalam menu hal.admin, hanya admin sendiri yang bisa masuk ke dalamnya. Setelah admin memasukkan nama dan password dengan benar, maka akan muncul form konfirmasi admin, yang di dalamanya terdapat tiga menu yaitu tambah data, update data, dan hapus data. Dalam command tambah data, admin harus mengisi semua kotak yang disediakan. Jika tidak maka akan ada peringatan kesalahan (warning) (gambar 5.7d). Setelah data yang diisi lengkap barulah data dapat di tambahkan ke dalam database. Hal tersebut sama juga dengan hapus data, jika data yang akan dihapus tidak sesuai dengan database yang ada, maka akan muncul pesan peringatan yang menyatakan bahwa database tidak diketemukan.
(a)
(b)
Gambar 5.8 Tampilan program mobile doctor menu about Pada menu pilihan about, aplikasi akan menunjukkan beberapa informasi mengenai aplikasi mobile doctor ini.
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan Dari penelitian ini, dapat diambil kesimpulan yaitu: 1. J2ME merupakan salah satu compiler yang mendukung OOP (Object Oriented Programming) 2. NetBeans merupakan salah satu Java IDE yang mempunyai fitur dan layanan yang baik 3. Dengan aplikasi mobile doctor ini, seorang user (pasien) dapat mengakses data kesehatan khususnya mengenai pengertian, dan cara pengobatan dari beberapa macam penyakit yang memerlukan pertolongan segera (urgent).
6.2 Saran Dari penelitian ini, dapat diambil saran: 1. Adanya pengembangan terhadap aplikasi ini, baik dalam segi konten maupun unjuk kerja sistem keseluruhan. Konten dalam format teks yang ada sekarang, diharapkan dapat di update/ di tambah dalam format lain seperti audio, video, bahkan link untuk proses download di masa yang akan datang.
75
76
DAFTAR PUSTAKA AbouZahrl, Carla & Boermal, Ties, Health information system: the foundations of public health in Bulletin of the World Health Organization, August. 2005. B. Zheng and M. Atiquzzaman, Multimedia over high speed networks: redupubs/freeng network requirement with fast buffer fillup, Proc. IEEE GLOBECOM '98, Sydney,Australia, Nov.8–12,1998. E. Dahlman, B. Gudmundson, M. Nilsson, and J. Skold, UMTS/IMT-2000 Based on Wideband CDMA, IEEE Commun. Mag., Vol. 36, pp. 70-80, Sept. 1998. Evdemon, J., XML dan WAP, Chief Architect, XML Solutions, 2001, http://www.eccnet.eccnet.com/pub/dc-xmlug/Evdemon-WAP.pdf Diakses tanggal 19 Nopember 2005 Juntao Yuan, Michael, Enterprise J2ME: Developing Mobile Java Application, Prentice Hall, 2004. Passani, L, Creating WAP Services, Volume 25, http://www.ddj.com/articles/2000/0007/0007toc.htm Diakses tanggal 19 Nopember 2005.
Issue
Rytkonen, K, Mobile Commerce and WML, http://www.gca.org/papers/xmleurope2000/pdf/s13-01.pdf Diakses tanggal 19 Nopember 2005.
7,
2000
2005,
Sven-Olof Karlsson Leif Karlsson, A Report from the Project on TelemedicineRegional and National Collaboration Subproject: Incentives and Implementation by Stockholm, May. 2003. Tayab, D Memon, B.S Chowdhry, Mohammad S Memon, The Potential of Telemedicine System: An Approach Toward a Mobile Doctor, MUET, Research Jurnal, 2007. W.J. Dally, P.Hanrahan, and R. Fedkiw, A Streaming Supercomputer, white paper, Computer System Laboratory, Stanford Univ., Stanford, 2001. Word Health Organization, Medical Records Manual, A Guide for Developing Countries, 2006.