1 BAB 2 LANDASAN TEORI 2.1 Software Engineering Rekayasa perangkat lunak adalah penerapan secara sistematik, disiplin, dan dapat terukur untuk pengemb...
BAB 2 LANDASAN TEORI 2.1 Software Engineering Rekayasa perangkat lunak adalah penerapan secara sistematik, disiplin, dan dapat terukur untuk pengembangan, pengoperasian, dan perawatan perangkat lunak. Rekayasa perangkat lunak merupakan sebuah proses berlapis yang membutuhkan metode, proses, dan alat agar dapat berfungsi sesuai dengan kebutuhan (Pressman, 2010, pp. 3-7). Untuk dapat memahami rekayasa perangkat lunak, maka terlebih dahulu kita harus mengerti dan memahami sebuah perangkat lunak. Dan cara termudahnya adalah dengan mengetahui karakteristik dari sebuah perangkat lunak menurut (Pressman, 2010, pp. 3-7), yaitu :
Sebuah perangkat lunak dikembangkan atau direkayasa, tidak dalam bentuk klasik. Meskipun banyak kesamaan antara perangkat keras, aktivitas keduanya secara mendasar sangat berbeda. Kualitas yang tinggi dicapai melalui perancangan yang baik, tetapi dalam fase pembuatan perangkat keras, selalu saja ditemukan dalam masalah kualitas yang tidak mudah di sesuaikan dengan perangkat lunak.
Perangkat lunak tidak pernah usang. Perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak dan dapat menyebabkan perangkat keras menjadi usang. Aspek lain dari keusangan yang menggambarkan perbedaan antara perangkat keras dan perangkat lunak. Bila komponen suatu perangkat keras telah usang, komponen dapat di ganti dengan suku cadangnya. Tetapi tidak ada suku cadang untuk perangkat lunak. Setiap kegagalan perangkat lunak menggambarkan kesalahan – kesalahan dalam perancangan atau proses di mana rancagan diterjemahkan ke dalam kode mesin yang dapat di eksekusi.
Sebagian besar perangkat lunak dibuat berdasarkan kebutuhan dari pembeli (custom – 12
13 built). 2.1.1
Waterfall Model Menurut Pressman (2010, pp. 39-41), Waterfall Model atau terkadang disebut Classic
Life Circle, menawarkan pendekatan yang sistematis dan terurut dalam pengembangan piranti lunak yang dimulai dengan persyaratan spesifikasi dari pelanggan dan kemajuan melalui perencanaan, pemodelan, konstruksi, dan penyebaran yang terus memaju secara terus menerus untuk mendukung kelengkapan piranti lunak. Waterfall Model adalah paradigma yang paling tua untuk pengembangan piranti lunak. Namun, selama dua dekade terakhir, kritik terhadap proses model ini telah menyebabkan pendukungnya semakin bersemangat untuk mempertanyakan kemanjurannya. Masalah-masalah yang terkadang ditemui ketika Waterfall Model diaplikasikan adalah: 1. Proyek yang sesungguhnya jarang mengikuti alur sekuensial yang ditawarkan oleh model ini. Meskipun model linear dapat diakomodasi dengan perulangan, hal itu dilakukan secara tidak langsung. Akibatnya, perubahan dapat menyebabkan kebingungan seiring dengan berjalannya proyek. 2. Sulit bagi pelanggan untuk menyatakan semua persyaratan secara eksplisit. Waterfall Model membutuhkan hal tersebut dan sulit untuk mengakomodasi ketidakpastian yang ada pada awal dari kebanyakan proyek. 3. Pelanggan harus sabar. Hasil nyata dari program tidak akan tersedia hingga akhir dari rentang waktu proyek. Kesalahan utama, jika program kerja yang tidak terdeteksi ditinjau, dapat menyebabkan kekacauan.
14 Dalam sebuah analisis dari proyek yang sebenarnya, Bradac menemukan bahwa sifat linear dari waterfall mengarah pada pemblokiran dimana beberapa anggota tim harus menunggu anggota yang lain untuk menyelesaikan tugas yang saling berkaitan. Bahkan, waktu yang digunakan untuk menunggu dapat melebihi waktu yang digunakan untuk bekerja. Keadaan terblokir cenderung terjadi di awal dan akhir dari proses sekuansial linear. Saat ini, pengembangan piranti lunak menuntut pengembangan yang cepat dan terus berubah baik fitur, fungsi, maupun informasi. Waterfall Model sering tidak sesuai dengan pekerjaan tersebut. Namun, bisa menjadi sebuah model yang proses yang berguna pada situasi dimana persyaratan yang dibutuhkan lengkap dan penyelesaian pengembangannya dilakukan secara linear.
Gambar 2.1 Waterfall Model
2.1.2
Object-Oriented Programming Menurut Clark (2011, p. 1), Objek-Oriented Programming atau Pemrograman
berorientasi objek (OOP) adalah sebuah pendekatan untuk pengembangan perangkat lunak dimana struktur dari software ini didasarkan pada objek berinteraksi dengan satu sama lain untuk menyelesaikan tugas. Interaksi ini mengambil bentuk pengiriman pesan bolak-balik antara objek. Dalam menanggapi pesan, obyek dapat melakukan suatu tindakan atau metode. Berikut dibawah ini merupakan beberapa konsep dasar dan istilah umum yang digunakan dalam program berorientasi objek (Clark, 2011, pp. 3-5): •
Objek
15 o Dalam hal OOP, objek adalah sebuah struktur yang menggabungkan sebuah data, dan prosedur untuk bekerja dengan data. Misalnya, jika Anda tertarik dalam pelacakan data yang terkait dengan produk dalam persediaan, Anda akan membuat objek produk yang bertanggung jawab untuk menjaga dan bekerja dengan data yang berkaitan dengan produk. •
Abstraksi o 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.
•
Enkapsulasi o Enkapsulasi adalah proses dimana tidak ada atau tidak bolehnya akses langsung yang diberikan kepada data, melainkan tersembunyi. Jika Anda ingin mendapatkan akses ke data, Anda harus berinteraksi dengan objek yang bertanggung jawab untuk data. Contoh misalkan, jika Anda ingin melihat atau memperbarui informasi tentang produk, Anda harus bekerja melalui obyek produk. Untuk membaca data, Anda akan mengirim objek produk pesan. Obyek produk kemudian akan membaca nilai dan mengirim kembali pesan yang mengatakan kepada Anda apakah nilai tersebut. Obyek Produk mendefinisikan operasi apa yang dapat dilakukan pada data produk. Jika Anda mengirim pesan untuk memodifikasi data dan objek
16 produk menentukan itu adalah permintaan yang valid, maka operasi tersebut akan dilakukan untuk Anda dan mengirim pesan kembali dengan hasilnya. •
Polimorfisme o Polimorfisme adalah kemampuan dari dua objek yang berbeda untuk merespon pesan permintaan yang sama dengan cara mereka sendiri yang unik. Sebagai contoh, 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.
•
Inheritance o Inheritance atau warisan digunakan dalam OOP untuk mengklasifikasikan objek dalam suatu program yang sesuai dengan karakteristik dan fungsi umum. Hal ini membuat bekerja dengan objek-objek menjadi lebih mudah dan lebih intuitif. Hal tersebut juga membuat programming menjadi lebih mudah karena memungkinkan untuk menggabungkan karakteristik umum menjadi objek parent dan mewarisi karakteristik tersebut ke dalam objek child.
•
Agregasi o Agregasi adalah ketika sebuah objek terdiri dari gabungan dari benda-benda lain yang bekerja sama. Misalnya, rumput mesin pemotong objek Anda adalah gabungan dari objek roda, obyek mesin, obyek pisau, dan sebagainya. Bahkan, objek mesin adalah gabungan dari berbagai obyek. Kemampuan untuk menggunakan agregasi dalam OOP merupakan salah satu fitur canggih yang
17 memungkinkan
Anda
untuk
secara
akurat
membuat
model
dan
mengimplementasikan proses bisnis dalam program Anda.
2.2 Model View Controller (MVC) Pada tahun 1979, Trygve Reenskaug mengembangkan sebuah arsitektur baru untuk mengembangkan aplikasi yang interaktif. Dalam desainnya, Trygve Reenskaug memisahkan aplikasi menjadi 3 jenis komponen, yaitu model, views, dan controllers (Myer, 2008, p. 7). MVC adalah salah satu design pattern yang terkenal untuk pembuatan aplikasi. MVC merupakan singkatan dari Model Views Controllers yang terdiri dari 3 komponen yang terpisah dan dapat mempermudah pengembang karena membuat aplikasi menjadi lebih portable, scalable, dan maintainble. Menurut Myer (2008), Ada tiga layer utama dalam arsitektur web MVC, yang disebut sebagai best practices yaitu : •
Model o Model di sini berperan sebagai representasi dari data yang terlibat dalam suatu proses transaksi. Setiap kali method atau function dari suatu aplikasi butuh untuk melakukan akses ke dalam suatu data, maka function atau method tersebut tidak langsung berinteraksi dengan sumber data tersebut melainkan harus melalui model terlebih dahulu. Dalam hal ini hanya model yang diijinkan untuk berinteraksi langsung dengan sumber data. Secara singkat, layer model ini menangani content dari aplikasi.
•
View o View di sini berperan sebagai presentation layer atau pengatur user interface (tampilan) bagi user dari suatu aplikasi. Data yang dibutuhkan oleh user akan di
18 format sedemikian rupa agar dapat tampil dan direpresentasikan dengan format tampilan yang memang disesuaikan dengan kebutuhkan user. Sehingga layer ini tidak peduli apa saja content yang ada. Misalnya, untuk Aplikasi Diskon, layer ini memutuskan apakah daftar belanja akan ditampilkan dalam tabel HTML, ditampilkan ke command prompt, disajikan dalam tabel Swing, atau diekspor menjadi file text. Sebagai tambahan, biasanya layer view juga bertugas untuk melakukan validasi data yang diinputkan user. •
Controller o Controller di sini berperan sebagai logic aspect dari suatu aplikasi atau mengatur user flow. Controller lah yang akan menentukan bussiness process dari aplikasi yang dibangun. Controller akan merespon setiap inputan dari user dengan melakukan pemanggilan terhadap model dan view yang sesuai sehingga request atau permintaan dari user tersebut dapat terpenuhi dengan baik. Biasanya layer controller juga digunakan untuk mengatur ijin akses dan permission.
19
Gambar 2.2 Contoh Gambar MVC
2.3 Telemedicine 2.3.1
Sejarah Telemedicine Sejarah telemedicine yang modern kembali kepada penemuan telepon tradisional sekitar
satu abad yang lalu. Saran medis diberikan oleh dokter melalu telepon. Istilah telemedicine ini sangat sederhana yaitu mendeskripsikan layanan penunjang medis melalui penggunaan telekomunikasi. “Tele” adalah awalan untuk jauh, berasal dari bahasa Yunani kuno. Jadi, telemedicine secara harfiah diterjemahkan untuk menyediakan pelayanan medis dari jarak yang jauh (Fong, Fong, & Li, 2011, p. 1). 2.3.2
Telemedicine Sekarang Telemedicine, istilah yang diciptakan pada 1970-an, yang secara harfiah berarti "healing
at a distance" atau penyembuhan dari jauh, menandakan penggunaan ICT (information and communication technology) untuk meningkatkan kondisi pasien dengan meningkatkan akses ke perawatan dan informasi medis. Karena tidak ada definisi yang definitif mengenai telemedicine,
20 sebuah studi 2007 menemukan 104 definisi dari kata telemedicine, (World Health Organization, 2010, pp. 8-9) telah memberikan gambaran yang luas mengenai telemedicine sebagai berikut: “Pemberian layanan kesehatan, di mana jarak merupakan faktor penting, oleh semua praktisi kesehatan yang profesional dengan menggunakan teknologi informasi dan komunikasi untuk pertukaran informasi diagnosis yang valid, pengobatan dan pencegahan penyakit dan cedera, penelitian dan evaluasi, dan untuk melanjutkan pendidikan dari penyedia layanan kesehatan, semua demi kepentingan memajukan kesehatan individu dan komunitas telemedicine” Secara historis, telemedicine dapat ditelusuri kembali dari pertengahan hingga akhir abad 19, dengan pertama kalinya terjadi di awal abad 20 ketika data elektrokardiograf dikirim melalui kabel telepon. Telemedicine, dalam bentuk modern, dimulai pada tahun 1960-an, sebagian besar didorong oleh pihak militer dan sektor teknologi ruang angkasa, serta beberapa individu menggunakan peralatan komersial. Contoh sejarah awal, teknologi telemedicine termasuk penggunaan televisi untuk memfasilitasi konsultasi antara spesialis di sebuah lembaga psikiatri dan dokter umum di sebuah rumah sakit jiwa, dan penyediaan saran oleh ahli medis dari rumah sakit pendidikan utama ke bandara pusat medis (World Health Organization, 2010, p. 9). Kemajuan telemedicine ini akan sangat membantu semua orang yang membutuhkan pertolongan walaupun bertempat tinggal yang jauh dari kota. Menurut Smith (2012), bagi orangorang yang tinggal di daerah pedesaan, jarak ke pusat-pusat metropolitan utama sering menjadi pembatasan akses ke layanan penting, termasuk kesehatan spesialis. Telemedicine menyediakan satu jawaban yang mungkin. Banyak istilah yang berbeda seperti telehealth, telecare, online health dan E-health telah digunakan tetapi semua memiliki makna umum, yaitu penggunaan teknologi informasi dan komunikasi untuk memberikan layanan kesehatan di kejauhan.
21
2.4 Kesehatan Anak (Pediatric) Pediatrics adalah cabang ilmu kedokteran yang berhubungan dengan kesehatan bayi, anak-anak dan remaja. Batas usia seperti pasien berkisar dari lahir sampai 18 tahun. Kata ''pediatrics'' yang berarti ''penyembuh anak-anak'', berasal dari dua kata bahasa Yunani yaitu 'pais' yang berarti anak dan 'iatros' yang berarti dokter atau penyembuh. Pediatrics adalah spesialisasi medis yang relatif baru, berkembang hanya di abad ke 19. Abraham Jacobi (1830– 1919) adalah dikenal sebagai Bapak pediatrics karena ia telah banyak memberikan kontribusi ke lapangan (Elhooda, 2011). Ada beberapa komponen-komponen penting dalam pediatric atau kesehatan anak yang kami gunakan dalam aplikasi telemedicine dengan berdasarkan pada (Marcdante, Kliegman, Jenson, & Behrman, 2011): •
Keadaan gawat darurat atau emergency ialah keadaan dimana seorang anak memerlukan pertolongan dengan segera. Keadaan gawat darurat atau emergency dapat diakibatkan oleh banyak penyebab, karena itulah diperlukan kesigapan dari kedua belah pihak yaitu orang tua dan praktisi kesehatan untuk dengan cepat menolong anak yang sedang memerlukan bantuan dengan segera.
•
Nutrisi atau gizi adalah substansi organik seperti makanan dan minuman yang dibutuhkan oleh semua makhluk hidup untuk memberikan fungsi normal dari sistem tubuh, pertumbuhan, dan pemeliharaan kesehatan.
•
Milestone atau kejadian penting adalah pengetahuan informasi yang bersangkutan dengan sifat pengembangan dan pengaturan perubahan fungsional dan perilaku yang signifikan pada masa pertumbuhan anak-anak menuju kematangan.
•
Imunisasi merupakan usaha untuk memberikan kekebalan pada bayi dan anak dengan
22 memasukkan vaksin kedalam tubuh agar tubuh membuat zat anti untuk mencegah penyakit tertentu. Sedangkan yang dimaksud dengan vaksin adalah bahan yang dipakai untuk merangsang pembentukan zat anti yang dimasukkan ke dalam tubuh melalui suntikan (misalnya vaksin BCG, DPT, dan campak) dan melalui mulut (misalnya vaksin polio). •
Untuk mengetahui tumbuh kembang anak dapat dilakukan dengan cara penilaian pertumbuhan fisik, misalkan berat badan dan tinggi badan. Pengukuran berat badan digunakan untuk menilai hasil peningkatan atau penurunan semua jaringan yang ada pada tubuh, misalnya tulang, otot, lemak, organ tubuh, dan cairan tubuh sehingga dapat diketahui status keadaan gizi atau tumbuh kembang anak. Pengukuran tinggi badan dapat digunakan untuk menilai status perbaikan gizi. Pengukuran tinggi badan ini dapat dilakukan dengan sangat mudah dalam menilai gangguan pertumbuhan dan perkembangan anak. Menurut Fong (2011), sejarah mengenai medical record pasien dengan dokter akan selalu ada semenjak dari lahir dan seterusnya. Penyimpanan medical record seorang pasien sangatlah penting yaitu agar kondisi pasien seperti penyakit, alergi obat, dan lainnya bisa segera diketahui oleh dokter dengan begitu dokter dapat dengan cepat dan tepat dalam menangani pasiennya.
2.4.1
Hubungan antara Kesehatan Anak (Pediatric) dengan Telemedicine Menurut Dharmar (2009), karena perbedaan dalam akses terhadap spesialis perawatan
gawat darurat dan kondisi kritis dapat menyebabkan keterlambatan dalam perawatan, terutama di kalangan bayi dan anak-anak yang cedera maupun akut, penggunaan telemedicine untuk
23 konsultasi di bagian gawat darurat dan unit perawatan intensif harus ditingkatkan. Dari penelitian-penelitian sebelumnya, telah ada sejumlah aplikasi telemedicine dalam perawatan neonatal, termasuk kardiologi ophthalmology, radiologi, pendidikan dan evaluasi klinis, dan dukungan dan pendidikan keluarga. Sejumlah program yang didirikan memberikan perawatan neonatal oleh telemedicine. Contoh umum yang sering terjadi, bayi yang baru lahir dipindahkan ke kamar bayi yang bukan kamar ICU khusus bayi dapat menjadikan kondisi medis bayi menjadi kritis. Demikian pula, seorang anak dirawat di rumah sakit tanpa ruangan ICU khusus anak, kondisi medis anak pun tiba-tiba dapat menjadi akut. Penggunaan telemedicine untuk melakukan konsultasi dengan spesialis pediatrik untuk perawatan kritis dapat memberikan akses langsung hampir ke semua pakar dalam situasi tersebut. Untuk anak-anak dengan perawatan kesehatan kebutuhan khusus yang bertempat tinggal dipedesaan maupun terpencil karena letak geografis merupakan sebuah tantangan sendiri. Telemedicine bermaksud untuk meningkatkan akses perawatan dan pelayanan kesehatan anak dengan mengatasi masalah yang diakibatkan kekurangannya dokter-dokter dipedesaan ataupun di daerah dimana letak geografis yang tidak mendukung. Penelitian dilakukan dengan melakukan survey dilakukan di daerah 90 km sebelah utara rumah sakit University of California Davis Children’s (Davis, CA). Penelitian Telemedicine tersebut menghasilkan data survey yaitu orang tua atau guardian yang bertempat tinggal di pedesaan. Dimana orang tua atau guardian mengalami hambatan – hambatan seperti 86% dari orang tua atau guardian memerlukan waktu lebih dari 1 jam untuk mengunjungi rumah sakit terdekat, 96% dari orang tua atau guardian pekerjaannnya terlupakan karena janji, dan mengandalkan asumsi diri sendiri untuk mengobati anaknya (Marcin J. P., Trujano, Sadorra, & Dharmar, 2009).
24
2.5 Rekam Medis (Medical Record) Menurut Permenkes No: 269/MENKES/PER/III/2008 yang dimaksud rekam medis atau medical record adalah berkas yang berisi catatan dan dokumen antara lain identitas pasien, hasil pemeriksaan, pengobatan yang telah diberikan, serta tindakan dan pelayanan lain yang telah diberikan kepada pasien. Menurut Irditkesad (2009), Medical record memiliki baberapa manfaat antara lain: •
Pengobatan Pasien. Rekam medis bermanfaat sebagai dasar dan petunjuk untuk merencanakan dan menganalisis penyakit serta merencanakan pengobatan, perawatan dan tindakan medis yang harus diberikan kepada pasien.
•
Pendidikan
dan
Penelitian.
Rekam
medis
yang
merupakan
informasi
perkembangan kronologis penyakit, pelayanan medis, pengobatan dan tindakan medis, bermanfaat untuk bahan informasi bagi perkembangan pengajaran dan penelitian dibidang profesi kedokteran dan kedokteran gigi. •
Peningkatan Kualitas Pelayanan. Membuat Rekam Medis bagi penyelenggaraan praktik kedokteran dengan jelas dan lengkap akan meningkatkan kualitas pelayanan untuk melindungi tenaga medis dan untuk pencapaian kesehatan masyarakat yang optimal.
Pasal 46 ayat (1) UU Praktik Kedokteran menegaskan bahwa dokter dan dokter gigi wajib membuat rekam medis dalam menjalankan praktik kedokteran. Setelah memberikan pelayanan praktik kedokteran kepada pasien, dokter dan dokter gigi segera melengkapi rekam medis dengan mengisi atau menulis semua pelayanan praktik kedokteran yang telah dilakukannya. Setiap catatan dalam rekam medis harus dibubuhi nama, waktu, dan tanda tangan petugas yang memberikan pelayanan atau tindakan. Apabila dalam pencatatan rekam medis
25 menggunakan teknlogi informasi elektronik, kewajiban membubuhi tanda tangan dapat diganti dengan menggunakan nomor identitas pribadi/personal identification number (PIN). Dalam hal terjadi kesalahan saat melakukan pencatatan pada rekam medis, catatan dan berkas tidak boleh dihilangkan atau dihapus dengan cara apapun. Perubahan catatan atas kesalahan dalam rekam medis hanya dapat dilakukan dengan pencoretan dan kemudian dibubuhi paraf petugas yang bersangkutan. Lebih lanjut penjelasan tentang tata cara ini dapat dibaca pada Peraturan Menteri Kesehatan tentang Rekam Medis dan pedoman pelaksanaannya.
2.6 UML (Unified Modeling Language) Unified Modeling Language (UML) adalah standar bahasa pemodelan untuk perangkat lunak dan pengembangan sistem. Suatu sistem yang kompleks dapat terjadi salah interpretasi atau terlupakan karena rumitnya sistem tersebut, untuk itulah diperlukan Unified Modeling Language (UML) yang dapat membantu dalam mendesain sistem yang kompleks tersebut. Dalam mendesain sistem tersebut diperlukan suatu model yang mempunyai satu tujuan yaitu mengelola kompleksitas. Model adalah suatu abstraksi dari sesuatu yang nyata. Ketika membuat model sistem, pertama kali yang dilakukan ialah mengabstraksikan semua komponen-komponen yang tidak relevan. Model yang dibuat haruslah bersifat simplification dari sistem yang nyata, sehingga memungkinkan bagi kelangsungan hidup sistem dan desain sistem yang mudah dipahami, dievaluasi, dan dikritik lebih cepat daripada menilai sistem tersebut oleh diri sendiri (Miles & Hamilton, 2006, p. 1). 2.6.1
Use Case Diagram Use case adalah kasus (atau situasi) dimana sistem digunakan untuk memenuhi satu atau
lebih dari kebutuhan pengguna, use case menangkap sepotong fungsionalitas yang sistem sediakan. Use case merupakan jantung dari model yang didesain, karena use case mempengaruhi
26 dan membimbing semua elemen lain dalam desain sistem. Use case merupakan titik awal yang sangat baik untuk hampir disetiap aspek pengembangan sistem berorientasi obyek, desain, pengujian, dan dokumentasi. Use case menjelaskan persyaratan sistem yang ketat dari luar hingga kedalam, use case menentukan nilai bahwa sistem telah mengirimkan sesuatu kepada pengguna. Use case merupakan persyaratan fungsional sistem, use case harus menjadi output pertama dari model setelah proyek dimulai (Miles & Hamilton, 2006, p. 20).
Tabel 2.1 Simbol yang digunakan pada use case diagram
Notasi Actor
Keterangan
Simbol
Aktor adalah pelaku yang berinteraksi dengan system tapi
bukan
merupakan
bagian dari system. Dalam UML
actor
digambarkan
dengan bentuk stick man atau
dengan
bentuk
stereotyped box Use case
Use case merupakan bagian dari sistem yang digunakan untuk menyelesaikan suatu tugas. Use case digambarkan dengan
lingkaran
elips
dengan nama use case nya
27 tertulis di tengah lingkaran Communication Communication Line
line
menghubungkan antara actor dengan use case menunjukkan
untuk interaksi
antara keduanya. Generalisasi
Generalisasi
digunakan
untuk menunjukkan bahwa suatu aktor atau use case merupakan
turunan
dari
aktor atau use case lainnya
Gambar 2.3 Contoh Use Case Diagram 2.6.2
Class Diagram Menurut Miles dan Hamilton (2006, p. 65), Class Diagram ialah menjelaskan
karakteristik utama dari suatu sistem menjadi beberapa objek, dan dari objek-objek tersebut dapat dibuat suatu class diagram yang menjelaskan karakteristik suatu sistem. Class diagram
28 menunjukkan blok-blok dari sistem yang berbasis object oriented, kelas-kelas yang menyusun sistem. Potensi kolaborasi dari kelas-kelas, melalui message passing, ditunjukkan pada relasi antar kelas. Konsep-konsep yang dapat direpresentasikan melalui notasi UML class diagram sangat luas. Dalam proses pengembangan, peserta non-teknis akan lebih sulit mengerti konsep yang lebih detail dan notasi dari class diagram daripada use case diagram dan activity diagram. Sebuah class diagram menunjukkan tampilan statis kelas dari model atau bagian dari model. Atribut dan operasi kelas dapat ditunjukkan bersamaan dengan berbagai jenis ‘hubungan’ yang mengikat kelas-kelas tersebut. Class Diagram dapat dianalogikan sebagai peta jalan atau atlas. Class dapat dianalogikan sebagai kota dan ‘hubungan’ dapat dianalogikan sebagai jalan.
Tabel 2.2 Simbol yang digunakan pada class diagram
Notasi Class
Keterangan Class
dalam
digambarkan bentuk
persegi
Simbol UML
dalam yang
dibagi menjadi 3 bagian. Bagian
teratas
tertulis
nama dari suatu class. Bagian
tengah
mengandung atribut yang dimiliki oleh suatu class. Dan
bagian
bawah
29 mengandung method yang dimiliki oleh suatu class. Association
Association untuk
digunakan menunjukkan
hubungan
atau
relationship antar class. Agregasi
Agregasi menggambarkan hubungan yang
suatu
class
merupakan
milik
dari class lain Komposisi
Komposisi menggambarkan hubungan
suatu
class
yang merupakan bagian dari class lain Generalisasi
Generalisasi untuk
digunakan menunjukkan
inheritance dari satu class ke class yang lain
30
Gambar 2.4 Contoh Class Diagram 2.6.3
Activity Diagram Activity diagram memungkinkan seseorang untuk menentukan bagaimana sistem akan
mencapai tujuannya. Activity diagram menunjukkan aksi tingkat tinggi yang dilakukan bersamasama untuk mewakili suatu proses yang terjadi di sistem. Activity diagram adalah salah satu diagram UML yang paling mudah karena Activity diagram menggunakan simbol-simbol yang mirip dengan notasi flowchart yang dikenal luas, karena itu, Activity diagram berguna untuk menggambarkan proses untuk khalayak luas. Bahkan, Activity diagram memiliki root dalam flowchart, serta UML state diagram, data flow diagram, dan Petri Nets (Miles & Hamilton, 2006, p. 43). Tabel 2.3 Simbol yang digunakan pada activity diagram
Notasi
Keterangan
Simbol
31 Initial State
Titik awal atau kondisi awal dari activity diagram
Final State
Kondisi akhir dari activity diagram
yang
menggambarkan berakhirnya
activity
diagram State
State menggambarkan suatu proses
dalam
activity
diagram Decision
Decision digunakan ketika ingin membuat alur proses yang
berbeda-beda
bergantung pada kondisi tertentu.
32
Gambar 2.5 Contoh Activity Diagram 2.6.4
Sequence Diagram Sequence Diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan
mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Dengan menggunakan Sequence Diagram, Anda bisa menggambarkan interaksi mana yang akan dipicu ketika use case tertentu dilaksanakan dan dalam rangka apa mereka interaksi akan terjadi. Sequence diagram menunjukkan banyak informasi lain tentang interaksi, tetapi kelebihan sequence diagram ini adalah caranya yang sederhana dan efektif di mana sequence diagram ini berkomunikasi menurut urutan peristiwa dalam interaksi (Miles & Hamilton, 2006, pp. 108-109).
33 Tabel 2.4 Simbol yang digunakan pada sequence diagram
Notasi Object lifetime
Keterangan Object
lifetime
menggambarkan
rentang
waktu hidup suatu objek selama
suatu
scenario
sedang berlangsung
Activation
Activation menggambarkan proses yang dilakukan oleh sebuah objek
Message
Message
menggambarkan
Pengiriman pesan antara satu objek dengan objek lainnya.
Selain
dengan
objek lainnya pesan juga bisa dikirimkan ke dirinya sendiri.
Simbol
34
Gambar 2.6 Contoh Sequence Diagram
2.7 Internet 2.7.1
Pengertian Internet Internet merupakan subjek yang terlalu luas bagi sebuah buku yang memberikan
informasi yang lengkap mengenai masa lalu, kini, dan masa depan (Green, 2010, p. 1). Akan tetapi, menurut Green (2010, p. 3), istilah 'internet' digunakan dalam hal yang mencakup: •
Infrastruktur teknologi dan jaringan yang saling berhubungan mendukung World Wide Web.
•
Open dan closed source software dan arsitektur (misalnya Firefox, Wikipedia, Internet Explorer, Google).
•
komputer dan bahasa sehari-hari dalam hal membuat internet dapat diakses oleh orangorang dari banyak budaya.
35 •
Email, chat dan instant messaging (misalnya AOL, MSN).
•
Blog dan situs jejaring sosial (misalnya Facebook);
•
Game, komunitas, lingkungan, dan dunia (misalnya World of Warcraft, Second Life).
•
Banyak cara yang diperantari oleh digital komunikasi yang telah menjadi kebutuhan dan meresap dalam kehidupan sehari-hari.
2.7.2
Sejarah Internet Pada tahun 1994, ketika ulang tahun internet yang ke 25 tahun di sebuah acara yang
disebut sebagai “history of the future”. Perayaan yang diselenggarakan oleh konsultan perusahaan Amerika BBN: Bolt Beranek dan Newman Inc, yang sangat ingin mengklaim jasa dan penghormatan untuk dirinya sendiri sebagai landasan proyek pengembangan internet. Meskipun ARPA, Advanced Research Projects Agency di Departemen Pertahanan AS, yang harusnya berjasa dengan mendirikan internet, BBN percaya mereka juga layak diakui untuk prestasi mereka 29 Oktober 1969 dalam memasang ARPANET pertama (Advanced Research Projects Agency Network) link antara dua komputer, satu di University of California Los Angeles (UCLA), dan yang lainnya di Stanford Research Institute (SRI) (Green, 2010, p. 21). Kembali pada tahun 1969, sambungan ARPANET pertama adalah bukan pertama kalinya link yang telah dibuat antara komputer, tapi melainkan pertama kalinya link telah dibangun dalam jaringan yang telah diusulkan. Link tersebut merupakan link pertama yang memanfaatkan sistem switched-paket yang dialokasikan bandwidth pada hubungan kabel komunikasi dalam menanggapi pesan yang akan dikirim ('teknik alokasi dinamis'). Sebelum adanya sistem switched-paket, cara yang biasa untuk menghubungkan komputer adalah melalui hubungan praalokasi saluran yang didedikasikan untuk koneksi. Akan tetapi hal tersebut membuat tidak hanya link tersebut menjadi fixed atau tetap, tetapi juga tidak ter-interkoneksi. Link tersebut tidak bisa
36 berbicara satu sama lain dan ini membuat membangun jaringan yang sangat rumit. Untuk menjadi efisien dan efektif, jaringan-jaringan tersebut ditugaskan oleh ARPA untuk harus memecahkan masalah interkoneksi dengan menghubungkan setiap komputer dengan banyak orang lain, dan menemukan cara di mana koneksi tersebut dapat secara simultan digunakan bersama oleh beberapa pengguna (Green, 2010, p. 21). 2.7.3
World Wide Web (WWW) Tim Berners-Lee, penemu WWW, percaya bahwa WWW harus tersedia untuk semua
orang. Berners-Lee adalah orang Inggris, seorang fisikawan yang sedang pelatihan, dan unsurunsur kunci dari 1990 penemuannya ditempatkan di CERN ketika ia bekerja di CERN, pusat penelitian partikel fisika Eropa berbasis di dekat Genewa di perbatasan Prancis-Swiss. Michael Dertouzos, direktur Laboratorium MIT untuk Ilmu Komputer di mana Berners-Lee sekarang bekerja berkomentar: “Ribuan ilmuwan komputer hanya bisa menatap selama dua dekade di dua hal yang sama - hypertext dan jaringan komputer. Tapi hanya Tim Berners-Lee yang paham tentang bagaimana untuk menempatkan dua elemen tersebut agar bisa digabung bersamasama”. Perbedaan antara pra internet versi-1990an dengan web Berners-Lee yang terletak pada realisasi potensi internet untuk menyediakan web agar dapat diakses dan terhubung dengan potongan-potongan informasi yang tersebar pada komputer yang berbeda. Visi ini bergantung pada standarisasi protokol yang relevan sehingga perjalanan antara jaringan, server dan dokumen bisa mulus. Semua komputer jaringan harus dapat memberikan kontribusi ke web, dan semua informasi harus dapat diakses oleh setiap pengguna (Green, 2010, pp. 32-33). 2.7.4
Hyper Text Transfer Protocol (HTTP) Hypertext Transfer Protocol merupakan sebuah metode atau cara yang digunakan untuk
mengirim informasi di dalam World Wide Web. Digunakan sebagai cara untuk mengirim dan
37 menerima
informasi
Hypertext
Markup
Language
(HTML).
Pengembangan
HTTP
dikoordinasikan oleh World Wide Web Wonsortium dan Internet Enginering Task Force. Titik puncaknya adalah menghasilkan sebuah seri dari RFCs, dikenal dengan RFC 2616 (pada tahun 1999), dan untuk selanjutnya diartikan sebagai HTTP/1.1, sebuah versi dari HTTP yang masih digunakan sampai saat ini. HTTP adalah protocol pengirim dan penerima antara klien dan server. Web Browser dapat diartikan klien, dan dapat juga disebut atau diartikan sebagai “pengguna”. Sedangkan server tujuan merupakan penyedia dan penghasil data informasi, termasuk file, gambar dan lain sebagainya (Green, 2010, pp. 32-33).. 2.7.5
Web Hosting Web hosting adalah bisnis penyediaan server storage, konektivitas internet, dan layanan
yang diperlukan untuk melayani atau memberikan file dan gambar untuk sebuah situs web. Sebuah perusahaan yang menyediakan layanan web hosting disebut web host, dan layanan mereka seperti server storage, konektivitas internet, dan jasa lainnya disebut web hosting plans. Ada ribuan bahkan mungkin ratusan ribu dari perusahaan web hosting yang menawarkan layanan tersebut kepada publik maupun ke perusahaan lainnya (Puetz, 2005, p. 12).
2.8 Interaksi Manusia dan Komputer 2.8.1
Pengertian Interaksi Manusia dan Komputer Interaksi Manusia dan Komputer atau lebih dikenal IMK adalah sebuah disiplin ilmu
yang mempelajari perancangan, implementasi, dan evaluasi sistem komputasi interaktif dan berbagai aspek terkait. Dari perspektif ilmu komputer, fokus IMK adalah pada interaksi, khususnya interaksi antara satu atau lebih mesin komputasi (komputer). IMK berhubungan dengan kinerja gabungan antara manusia dan komputer, maksudnya ialah struktur komunikasi antara manusia dan komputer, kemampuan manusia menggunakan komputer (termasuk
38 kemampuan untuk dipelajari atau learnability dari antarmuka yang digunakan), algoritma dan pemrograman antarmuka, isu-isu rekayasa yang muncul pada saat merancang dan membangun antarmuka, proses spesifikasi, perancangan dan implementasi antarmuka, serta biaya perancangan (Santoso, 2009, pp. 5, 9). 2.8.2
Delapan Aturan Emas Menurut Shneiderman dan Plaisant (2009, pp. 74-75), delapan aturan emas atau lebih
dikenal eight golden rules yaitu prinsip-prinsip yang menjadi panduan untuk designer-designer dalam mendesign antarmuka pengguna. Prinsip-prinsip tersebut ialah: •
Berusaha untuk konsistensi. Aturan ini adalah yang paling sering dilanggar, namun mengikutinya bisa rumit karena ada banyak bentuk konsistensi. Konsisten dalam kesamaan terminologi dalam membuat menu, tampilan, font dan help screen dan juga konsisten dalam warna, kapitalitas, dan tampilan.
•
Memungkinkan pengguna menggunakan shortcuts. Menyediakan shortcuts untuk aksi yang sering digunakan. Pengguna dapat menggunakan special keys, perintah tersembunyi dan fasilitas makro serta waktu respon dan tampilan yang cepat untuk mempercepat gerak pengguna dalam pengaksesan.
•
Menawarkan umpan balik yang informatif. Untuk setiap tindakan pengguna, harus ada umpan balik dari sistem. Untuk tindakan yang sering dan kecil, respon dapat menjadi sederhana, sedangkan untuk tindakan yang jarang dan besar, respon harus lebih substansial. Presentasi visual dari obyek yang menarik menyediakan lingkungan yang nyaman untuk menampilkan perubahan secara eksplisit.
•
Merancang dialog untuk menghasilkan keadaan akhir. Urutan aksi harus dibagi menjadi awal, tengah, dan akhir. Dengan adanya umpan balik, pengguna dapat merasa lebih
39 merasa aman dalam melakukan sebuah tindakan dengan memberikan gambaran hasil akhir dari suatu pilihan, serta pemberian banyak option-option kepada pengguna sehingga bisa ikut mempengaruhi hasil akhir. •
Memberikan pencegahan dan penanganan kesalahan yang sederhana. Suatu sistem harus dirancang agar kesalahan yang dibuat pengguna dapat ditekan seminimal mungkin, dan pesan kesalahan yang dimunculkan harus dapat dimengerti oleh pengguna awam. Jika pengguna membuat kesalahan, antarmuka harus mendeteksi kesalahan dan menawarkan instruksi yang sederhana, konstruktif, dan spesifik untuk pemulihan.
•
Mengijinkan pembalikan aksi (undo) dengan mudah. Aksi harus dapat dibalikkan menjadi keadaan sebelumnya sehingga membuat pengguna merasa aman karena ia tahu bahwa kesalahan yang dibuat dapat diperbaiki. Fitur ini mengurangi kecemasan, karena pengguna tahu bahwa kesalahan dapat dibatalkan, sehingga akan mendorong pengguna untuk eksplorasi lebih mendalam.
•
Mendukung pengguna menguasai sistem atau inisiator sebagai pusat kendali. Membuat pengguna merasa memegang kendali atas sistem tersebut, bukan sebagai responden. Kesulitan pengguna dalam menavigasi site atau dalam mendapatkan data yang diinginkan akan menimbulkan rasa tidak puas.
•
Mengurangi beban ingatan jangka pendek. Keterbatasan pemrosesan informasi manusia dalam ingatan jangka pendek mengharuskan tampilan antarmuka pengguna dibuat sederhana, multi-halaman menampilkan dikonsolidasikan, window-motion frekuensinya dikurangi, dan waktu pelatihan yang memadai dialokasikan untuk kode, dan urutan tindakan.
40
2.9 Metode Penelitian Metode penelitian adalah suatu kegiatan ilmiah yang terencana, terstruktur, sistematis, dan memiliki tujuan baik praktis maupun teoritis. Dikatakan sebagai ‘kegiatan ilmiah’ karena penelitian dengan aspek ilmu pengetahuan dan teori. ‘Terencana’ karena penelitian harus direncanakan dengan memperhatikan waktu, dana dan aksesbilitas terhadap tempat dan data (Semiawan, 2007, p. 5). 2.9.1
Data Kualitatif Data kualitatif adalah suatu pendekatan atau penelusuran untuk mengeksplorasi dan
memahami suatu gejala sentral. Hasil akhir dari pengumpulan data kualitatif dituangkan dalam bentuk laporan tertulis, dimana hasil pengumpulan data kualitatif tersebut sangat dipengaruhi oleh pandangan, pemikiran, dan pengetahuan peneliti karena data hasil pengumpulan data kualitatif tersebut merupakan hasil interpretasi peneliti sendiri. Tujuan pencarian data kualitatif ini untuk mencari makna dalam pengalaman narasumber, maka arah pengumpulan data kualitatif harus disesuaikan dengan masukan dari narasumber. Data kualitatif ini memperlakukan narasumber benar-benar seperti subjek dan bukan objek, karena itu disinilah narasumber menemukan dirinya sebagai yang berharga, karena informasinya yang bermanfaat (Semiawan, 2007, pp. 7-8). 2.9.2
Data Kuantitatif Data kuantitatif adalah pengumpulan data ilmiah yang sistematis terhadap bagian-bagian
dan
fenomena
serta
hubungannya.
Tujuan
pengumpulan
data
kuantitatif ini
ialah
mengembangkan dan menggunakan model-model matematis, teori-teori atau hipotesis yang berkaitan dengan fenomena alam. Pertanyaan-pertanyaan dalam pengumpulan data kuantitatif biasanya dimulai dari pertanyaan umum, tetapi kemudian meruncing dan mendetail. Pertanyaan-
41 pertanyaan ini ditujukan kepada responden, dimana responden menjawab pertanyaan-pertanyaan yang jawabannya telah ditetapkan oleh peneliti (Semiawan, 2007, p. 8).
2.10 Database Menurut Elmasri dan Navathe (2011, p. 4), Database adalah kumpulan-kumpulan datadata yang saling terkait. Definisi database yang cukup umum, misalnya, kita dapat mempertimbangkan koleksi kata-kata yang membentuk halaman teks menjadi data terkait dan karenanya untuk terbentuklah database. Namun, penggunaan umum dari istilah database lebih terbatas. Sebuah database memiliki sifat implisit berikut: •
Database mewakili beberapa aspek dari dunia nyata, kadang-kadang disebut miniworld atau universe of discourse (UoD). Perubahan ke miniworld tercermin dalam database.
•
Database adalah kumpulan data yang logis dan koheren dengan beberapa makna yang melekat. Beraneka ragam data yang random tidak bisa disebut sebagai database.
•
Sebuah database dirancang, dibangun, dan diisi dengan data untuk tujuan tertentu. Database ini memiliki kelompok yang dimaksudkan pada pengguna dan beberapa aplikasi yang terbentuk sebelumnya di mana para pengguna tertarik.
2.10.1 Database Management System Database Management System (DBMS) adalah kumpulan program yang memungkinkan pengguna untuk membuat dan memelihara database. DBMS adalah tujuan umum dari sistem perangkat lunak yang memfasilitasi proses-proses mendefinisikan, membangun, memanipulasi, dan berbagi database antara berbagai pengguna dan aplikasi. Mendefinisikan database meliputi menentukan jenis data, struktur, dan keterbatasan dari data yang akan disimpan dalam database. Definisi database atau informasi deskriptif juga disimpan oleh DBMS dalam bentuk katalog
42 database atau kamus yang disebut meta-data. Membangun database adalah proses menyimpan data pada beberapa media penyimpanan yang dikendalikan oleh DBMS. Manipulasi database termasuk fungsi seperti query database untuk mengambil data tertentu, memperbarui database mencerminkan perubahan dalam miniworld, dan menghasilkan laporan dari data. Berbagi database memungkinkan beberapa pengguna dan program untuk mengakses database secara bersamaan (Elmasri & Navathe, 2011, pp. 5-6). 2.10.2 SQL SQL adalah bahasa database yang komprehensif yaitu memiliki pernyataan untuk mendefinisikan data, query, dan update. Awalnya, SQL atau Structured Query Language disebut SEQUEL (Structured Query Language English) dan dirancang dan diterapkan di IBM Research sebagai antarmuka untuk eksperimental sistem database relasional yang disebut SISTEM R. SQL sekarang merupakan bahasa standar untuk DBMS relasional komersial (Elmasri & Navathe, 2011, p. 88).
2.11 HTML 2.11.1 Sejarah HTML HTML atau HyperText Markup Language, pertama kali dibuat oleh Tim Berners-Lee. Menurut Green (2010, p. 34), Berners-Lee menulis program HyperText Markup Language (HTML) untuk membuat halaman web yang berisi link hypertext. HTML memungkinkan seseorang membaca sebuah halaman web untuk mengklik ke dokumen lain atau situs web. Menurut Refsnes (2010, p. 1), dengan HTML, pengembang dapat membuat situs webnya sendiri. HTML adalah teknologi inti di mana semua halaman web ditulis. HTML adalah bahasa untuk mendeskripsikan halaman web, akan tetapi HTML sendiri bukan bahasa pemrograman
43 melainkan bahasa markup, dimana bahasa markup adalah kumpulan-kumpulan atau koleksikoleksi dari markup tags, dan HTML menggunakan markup tags untuk mendeskripsikan halaman web. 2.11.2 HTML 5 HTML 5 mengembangkan kemampuannya yang terbaru untuk drag and drop, serversent events, drawing, video, dan lainnya. Jadi sebenarnya HTML 5 ini adalah (kebanyakan) superset dari HTML 4 dimana semua warisan dari HTML 4 telah compatible dengan HTML 5 dengan beberapa tambahan dari komponen HTML 5 sendiri. Pada tahun 2004, W3C pertama kali mengungkapkan gagasan ide nya untuk mengevolusi HTML, dimana gagasan ide tersebut menjadi beberapa prinsip yang mendasari cara kerja HTML5. Hal tersebut membuat Apple, Mozilla, dan Opera untuk bekerja sama dan membuat komunitas yang disebut WHATWG, sehingga W3C dan WHATWG bekerja sama dalam mengembangkan HTML5 (W3C, 2012). Walaupun HTML5 masih dalam tahap pengembangan, akan tetapi telah banyak peramban-peramban yang telah siap dan support akan element-element dan API dari HTML5. Hal ini dikarenakan banyak keuntungan-keuntungan dan fitur-fitur baru yang tidak ada pada versi sebelumnya. Menurut (W3School, 2011), Berikut adalah komponen-komponen terbaru dari HTML 5: •
HTML5 Multimedia. Dengan menggunakan HTML5, menjalankan multimedia seperti video dan audio menjadi lebih mudah dari sebelumnya, hanya dengan menggunakan