BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen, atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain dan terpadu menurut Tata Sutabri (2012:10) Sedangkan menurut Gordon B. Davis dalam buku analisis sistem informasi menyatakan bahwa sistem bisa berupa abstrak atau fisik. Sistem abstrak adalah susunan gagasan-gagasan atau konsepsi yang teratur yang saling bergantung. Sistem fisik yaitu serangkaian unsur yang bekerja sama untuk mencapai suatu tujuan. (2012 :6). Pendapat lain mengenai sistem menurut Indrajani, S.Kom.,MM (2011:48) menyatakan bahwa sistem adalah sekelompok komponen yang saling berhubungan dan bekerja sama untuk mencapai tujuan bersama. Prof. Dr. Mr. S. Prajudi juga menyatakan bahwa suatu sistem terdiri atas objek-objek atau unsur-unsur atau komponen-komponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengelolahan yang tertentu (2012:7). Dari pengertian diatas dapat disimpulkan bahwa suatu sistem pada dasarnya adalah sekelompok komponen dan elemen yang digabungkan menjadi satu untuk mencapai tujuan tertentu. 2.2 Karakteristik Sistem Menurut Tata Sutabri dalam buku analisis sistem informasi (2012:6) menerangkan bahwa model umum dalam sebuah sistem adalah input, proses dan output. Hal ini merupakan konsep dari sebuah sistem yang sangat sederhana sebab sebuah sistem dapat mempunyai beberapa masukan dan keluaran. Selain itu, sebuah sistem mempunyai karakteristik atau sifat-sifat tertentu yang mencirikan bahwa hal tersebut bisa dikatakan sebagai sebuah sistem. Adapun karakteristik yang dimaksud adalah sebagai berikut :
7
8
a. Komponen sistem (Components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerja sama membentuk satu kesatuan. Komponenkomponen sistem tersebut dapat berupa suatu bentuk subsistem. Setiap subsistem memiliki sifat dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. Suatu sistem daoat mempunyai sistem yang lebih besar atau sering disebut “supra sistem”. b. Batasan sistem (boundary) Ruang lingkup sistem merupakan daerah yang membatasi antar sistem dengan sistem yang lain atau sistem dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang tidak dapat dipisahkan. c. Lingkungan luar sistem (Environtment) Bentuk apapun yang ada diluar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut disebut lingkungan luar sistem. Lingkungan luar sistem ini dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. Dengan demikian, lingkungan luar sistem harus tetap dijaga dan dipelihara. Lingkungan luar yang merugikan harus dikendalikan. Kalau tidak, maka akan mengganggu kelangsungan hidup sistem tersebut. d. Penghubung sistem (interface) Media yang menghubungkan sistem dengan sistem lain disebut penghubung sistem atau interface. Penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lain melalui penghubung tersebut. Dengan demikian, dapat terjadi suatu integrasi sistem yang membentuk satu kesatuan. e. Masukan sistem (input) Energi yang dimasukan kedalam sistem disebut masukan sistem, yaitu dapat berupa pemeliharaan (maintenance input) dan sinyal (signal input). Contoh : didalam suatu unit sistem komputer, “program” adalah
9
maintenance input yang digunakan untuk mengoperasikan komputernya dan “data” adalah signal input untuk diolah menjadi informasi. f. Keluaran (output) Hasil energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini merupakan masukan dari subsistem yang lain seperti sistem informasi. Keluaran yang dihasilkan adalah informasi. Informasi ini dapat digunakan sebagai masukan untuk pengambilan keputusan atau halhal yang menjadi input bagi subsistem lain. g. Pengolah sistem (process) Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan menjadi keluaran, contohnya adalah sistem akuntansi, sistem ini akan mengubah data transaksi menjadi laporan-laporan yang dibutuhkan oleh pihak manajemen. h. Sasaran sistem (objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministic. Kalau suatu sistem tidak memiliki sasaran maka operasi sistem tidak ada gunanya. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan yang telah direncanakan.
2.3 Klasifikasi Sistem Menurut Tata Sutabri (2012:22) mengatakan bahwa sistem merupakan suatu bentuk integrasi antara suatu komponen dengan komponen lain karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi yang ada didalam sistem tersebut, oleh karena itu sistem dapat dilkasifikasikan dari beberapa sudut pandang, diantaranya : 1. Sistem abstrak dan sistem fisik Sistem abstrak adalah sistem yang beruoa pemikiran atau ide-ide yang tidak tampak secara fisik, yaitu sistem yang berupa pemikiran hubungan antara manusia dengan Tuhan, sedangkan sistem fisik merupakan sistem yang ada secara fisik, misalnya sistem komputer, sistem produksi, sistem penjualan, sistem administrasi personalia dan lain sebagainya. 2. Sistem alamiah dan sistem buatan manusia
10
Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, misalnya sistem perputaran bumi, terjadinya siang dan malampergantian musim. Sedangkan sistem buatan manusia merupakan sistem yang melibatkan interaksi manusia dengan mesin yang disebut human mechine sistem. Sistem informasi berbasis komputer merupakan contoh human mechine sistem karena menyangkut penggunaan komputer yang berinteraksi dengan manusia. 3. Sistem determinasi dan sistem probabilistik Sistem yang beroperasi dengan tingkah laku yang dapat diprediksi disebut sistem deterministik. Sistem komputer adalah contoh dari sistem yang tingkah lakunya dapat dipastikan berdasarkan program-program komputer yang dijalankan, sedangkan sistem yang bersifat probabilistik adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilistik. 4. Sistem terbuka dan sistem tertutup Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak terpengaruh oleh lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa campur tangan pihak luar, sedangkan sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya. Sistem ini menerima masukan dan menghasilkan keluaran untuk subsistem lainnya.
2.4 Konsep Dasar Informasi 2.4.1 Pengertian Informasi Menurut Tata Sutabri (2012: 22) dalam bukunya yang berjudul analisis sistem informasi mengemukakan definisi informasi adalah data yang telah dilkasifikasikan atau diolah atau di interpretasikan untuk digunakan dalam proses pengambilan keputusan. Sistem pengolahan informasi akan mengolah data menjadi informasi atau mengolah data dari bentuk tak berguna menjadi berguna bagi yang menerimanya. Nilai infirmasi berhubungan dengan keputusan. Bila tidak ada pilihan atau keputusan maka informasi tidak diperlukan. Keputusan dapat berikisar dari keputusanberulang sederhana sampai keputusan strategis
11
jangka panjang. Nilai informasi dilukiskan paling berarti dalam konteks pengambilan keputusan. Secara umum informasi dapat didefinisikan sebagai hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian-kejadian yang nyata yang digunakan untuk pengambilan keputusan. Jadi, informasi adalah suatu hasil dari pengolahan data dalam bentuk yang lebih berguna dan lebih berarti bagi penerimanya untuk mengambil keputusan.
2.4.2 Kualitas Informasi Menurut Tata Sutabri (2012:41) kualitas suatu informasi tergantung dari 3 (tiga) hal, yaitu : a. Akurat (Accurate) Informasi
harus
bebas
dari
kesalahan-kesalahan
dan
tidak
menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. Informasi harus akurat karena biasanya dari sumber informasi sampai ke penerima informasi ada kemungkinan terjadi gangguan (noise) yang dapat mengubah atau merusak informasi tersebut. b. Tepat waktu (timeline) Informasi yang datang pada si penerima tidak boleh terlambat. Informasi yang sudah usang tidak akan mempunyai nilai lagi karena informasi merupakan landasan dalam pengambilan keputusan. Bila pengambilan keputusan terlambat maka dapat berakibat fatal bagi organisasi. Dewasa ini, mahalnya informasi disebabkan karena harus cepatnya informasi tersebut dikirim atau didapat sehingga diperlukan teknologi mutahir untuk mendapat, mengolah dan mengirimnya. c. Relevan (relevance) Informasi tersebut mempunyai manfaat untuk pemakainya. Relevansi informasi untuk orang satu dengan yang lain berbeda, misalnya
12
informasi sebab musibah kerusakan mesin produksi kepada akuntan perusahaan adalah kurang relevan dan akan lebih relevan apabila ditunjukan kepada ahli teknik perusahaan. Sebaliknya informasi mengenai harga pokok produksi untuk ahli teknik merupakan informasi yang kurang relevan, tetapi akan sangat relevan untuk seorang akuntan perusahaan.
2.5 Sistem Informasi Menurut Tata Sutabri (2012:38) dalam bukunya yang berjudul analisis sistem informasi mengemukakan definisi sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan startegi dari suatu organisasi untuk dapat menyediakan laporan-laporan yang diperlukan oleh pihak luar tertentu. Sistem informasi adalah suatu sistem yang menggabungkan berbagai macam informasi secara optimal dan kemudian dapat diproses dengan berbasis komputer sehingga dapat menyajikan berbagai jenis data yang akurat untuk berbagai macam kebutuhan. Dalam proses pelayanan, sistem informasi rumah sakit dapat diartikan sebagai komputerisasi yang memproses dan mengintegrasikan seluruh alur proses bisnis layanan kesehatan dalam bentuk jaringan koordinasi, pelaporan dan prosedur administrasi yang mendukung kinerja dan memperoleh informasi secara cepat, tepat dan akurat. Wahyu sulistyo dkk (2012) mengatakan bahwa sistem informasi rekam medik merupakan perangkat lunak yang biasa digunakan untuk merekam riwayat kesehatan pasien dalam bentuk basis data (database). Basis data merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan di dalam basis data untuk keperluan penyedian informasi lebih lanjut. Data didalam basis data perlu diorganisasikan sedemikian rupa supaya informasi yang dihasilkan berkualitas. Pada sistem informasi rekam medik terdapat berbagai aturan yang cukup
13
kompleks tentang data-data pasien dan bagaimana menjamin keamanannya. Sistem data yang penting pada sistem ini perlu dilindungi semaksimal mungkin, terutama untuk menjamin kebenaran data dan ketersediaan data.
2.5.1 Komponen Sistem Informasi Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block) saling berinteraksi satu dengan yang lain membentuk suatu kesatuan untuk mencapai sasaran menurut Tata Sutabri (2012:39). Komponen dari sistem informasi yaitu : a.
Blok masukan (input block) Input mewakili data yang masuk ke dalam sistem informasi. Yang dimaksud dengan input disini termasuk metode dan media untuk menangkap data yang akan dimasukan, yang dapat berupa dokumendokumen dasar.
b. Blok model (model block) Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan. c. Blok keluaran (output block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. d. Blok teknologi (technology block) Teknologi merupakan tool box dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu pengendalian sistem secara keseluruhan. Teknologi terdiri dari 3 (tiga) bagian utama, yaitu teknisi (brainware), perangkat lunak (software), dan perangkat keras (hardware). e. Blok basis data (database block)
14
Basis data (database) merupakan kumpulan data yang saling berkaitan dan berhubungan satu dengan yang lainnya, tersimpan diperangkat keras komputer dan perangkat lunak satu digunakan untuk memanipulasinya. Data perlu disimpan dalam basis data untuk keperluan penyediaan informasi lebih lanjut. Data di dalam basis data perlu di organisasikan sedemikian rupa supaya informasi yang dihasilkan berkualitas. Organisasi basis data yang baik juga berguna untuk efesiensi kapasitas penyimpanannya. Basis data diakses atau dimanipulasi dengan menggunakan perangkat lunak yang disebut dengan DBMS (database management system). f. Blok kendali (control block) Banyak hal dapat merusak sistem informasi, seperti bencana alam, api, temperatur, air, debu, kecurangan-kecurangan, kegagalan pada sistem itu sendiri, ketidak efesienan, sabotase dan lain sebagainya. Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dicegah dan bila terlanjur terjadi maka kesalahan-kesalahan dapat dengan cepat diatasi.
2.6 Sistem Medical Record ( Rekam Medis ) 2.6.1 Istilah Rekam Medis Menurut Dr.dr.H. Boy S.Sabarguna, MARS (2009:36) mengemukakan bahwa rekam medis adalah kegiatan mengumpulkan, mengintegrasikan, menganalisis, mendesiminasi informasi, menata sumber informasi bagi kepentingan penelitian, pendidikan, perencakaan dan evaluasi pelayanan kesehatan secara komprehensif dan terintegrasi serta menyimpannya dalam suatu keadaan yang aman dan selamat dalam jangka waktu tertentu. Sedangkan
menurut
Peraturan
Menteri
Kesehatan
Nomor
269/Menkes/Per/III/2008 dalam buku keselamatan dan keamanan pada rekam medis terkomputerisasi (2009:94) menerangkan bahwa rekam medis adalah berkas yang berisikan catatan dan dokumen tentang identitas pasien, pemeriksaan, pengobatan, tindakan dan pelayanan lain kepada pasien pada
15
sarana kesehatan. Rekam medis yang dimaksud dapat berupa rekam medis konvensional maupun elektronik. John Doucette dkk (2008) mengatakan bahwa sebuah rekam medis elektronik (EMR) adalah sebuah komputerisasi sistem informasi kesehatan dimana informasi daripada isi dari rekam medis yaitu mengenai demografi pasien, ringkasan pertemuan pasien dengan dokter, riwayat kesehatan, alergi, intoleransi, dan sejarah tes laboratorium. Catatan merupakan tulisan yang dibuat oleh dokter melalui tindakan yang dilakukan kepada pasien dalam rangka pelayanan kesehatan. Sedangkan dokumen adalah catatan dokter tentang hasil laporan pemeriksaan penunjang, catatan observasi, dan pengobatan harian dan semua rekaman, baik berupa foto radiologi, gambar pencitraan (imaging) dan rekaman elektrodiagnostik. Rekam medis harus dibuat secara tertulis , lengkap dan jelas dan dalam bentuk teknologi Informasi elektronik yang diatur lebih lanjut dengan peraturan tersendiri. Rekam medis terdiri dari catatan data pasien yang dilakukan dalam pelayanan kesehatan. Catatan tersebut sangat penting dalam pelayanan bagi pasien karena dengan data yang lengkap dapat memberikan informasi dalam menentukan keputusan, baik pengobatan, penanganan, tindakan medis dan lainnya. Dokter diwajibkan membuat rekam medis sesuai peraturan yang berlaku. 2.6.2
Makna Rekam Medis Makna rekam medis sebagai dokumentasi di rumah sakit penting dalam prasyarat akreditasi bahwa rekam medis harus dipelihara untuk setiap individu pasien karena pentingnya rekam medis dalam akreditasi rumah sakit.
2.6.3
Tujuan Rekam Medis Suatu sistem tanpa didukung pengelolaan rekam medis yang baik dan benar mustahil terlaksana tertib administrasi pelayanan kesehatan di fasilitas pelayanan kesehatan sehingga pengelolaan rekam medis
16
mempunyai tujuan sebagai penunjang tercapainya tertib administrasi dalam
rangka
upaya
peningkatan
pelayanan
kesehatan
di
fasilitas pelayanan kesehatan.
2.6.4
Penyelenggaraan Rekam Medis Pembuatan rekam medis dilaksanakan melalui pencatatan dan pendokumentasian
hasil
pemeriksaan,
pengobatan,
tindakan,
dan
pelayanan lain yang telah diberikan kepada pasien. Setiap pencatatan ke dalam rekam medis harus dicantumkan nama, waktu dan tanda tangan dokter atau petugas tertentu yang memberikan pelayanan atau kesehatan secara langsung. Bila terjadi kesalahan dalam melakukan pencatatan pada rekam medis dapat dilakukan pembetulan dengan cara pencoretan tanpa menghilangkan catatan yang dibetulkan dan dibubuhi paraf dokter yang bersangkutan. Dokter bertanggung jawab atas pencatatan atau pendokumentasian pada rekam medis. 2.6.5
Penyimpanan Rekam Medis Masa simpan rekam medis disarana rumah sakit adalah 5 (lima) tahun terhitung sejak tanggal terakhir pasien mendapat perawatan, kecuali ringkasan pulang dan persetujuan tindakan selama 10 (sepuluh) tahun. Sedangkan masa simpan disarana kesehatan selain rumah sakit adalah 2 (dua) tahun. Setelah batas waktu tersebut, maka rekam medis dapat dimusnahkan dengan mengikuti aturan yang telah ditentukan untuk pemusnahan dokumen. Penyimpanan data rekam medis dapat murni berupa data elektronik atau sebagian berupa data konvensional. Beberapa fasilitas pelayanan kesehatan yang sudah menggunakan rekam medis terkomputerisasi menyimpan rekam medis lengkap dalam bentuk elektronik sedangkan resumenya disimpan dalam bentuk tercetak dikertas. Adanya ketentuan lama waktu penyimpanan dan pemusnahan rekam medis menurut pengelola database rekam medis elektronik menempatkan
17
warehouse database pada tempat yang aman dan dalam keadaan selamat sampai batas waktu yang ditentukan. Protokol untuk antisipasi terjadinya bencana yang menimpa warehouse database harus dirancang dan dijalankan. Demikian juga dengan pemusnahannya. Database rekam medis harus dipastikan musnah seluruhnya sehingga tidak ada lagi sia-sia data yang memungkinkan dapat diakses oleh pihak lain. Sebaiknya protokol pemusnahan data diprogram secara otomatis sehingga memperkecil faktor kelalaian manusia.
2.6.6
Kerahasian Rekam Medis Informasi tentang identitas, diagnosis, riwayat penyakit, riwayat pemeriksaan dan riwayat pengobatan pasien harus dijaga kerahasiaannya oleh para dokter dan pimpinan sarana pelayanan kesehatan. Informasi tentang identitas, diagnosis, riwayat penyakit, riwayat pemeriksaan dan riwayat pengobatan dapat dibuka dalam hal: 1. untuk kepentingan kesehatan pasien. 2. memenuhi permintaan aparatur penegak hukum dalam rangka penegakan hukum atas perintah pengadilan. 3. permintaan dan atas persetujuan pasien sendiri. 4. permintaan
institusi
atau
lembaga
berdasarkan
ketentuan
perundang-undangan. 5. untuk kepentingan penelitian, pendidikan, dan audit medis, sepanjang tidak menyebutkan identitas pasien. Permintaan rekam medis untuk tujuan tersebut diatas harus dilakukan secara tertulis kepada pimpinan sarana pelayanan kesehatan. 2.6.7
Kepemilikan, Pemanfaatan dan Tanggung Jawab a. Kepemilikan Rekam Medis Kepemilikan rekam medis menurut Dr.dr.H Boy S, Sabarguna,MARS (2009:96) dalam buku keselamatan dan keamanan pada rekam medis terkomputerisasi sesuai dengan UU Praktik Kedokteran adalah berkas rekam medis menjadi milik dokter, dokter gigi dan sarana pelayanan
18
kesehatan, sedangkan isi rekam medis dan lampiran medis adalah mejadi milik pasien. Beberapa informasi yang tertera pada rekam medis adalah data sosio demografi dan data medis : anamnesis, hasil pemeriksaan fisik, diagnosis,
pegimen
dosis,
hasil
pemeriksaan
penunjang
medis/diagnostik, lama rawat, nama dan paraf dokter yang merawat. Data-data ini merupakan data ynag bersifat rahasia sehingga tidak dapat dibuka kepada pihak ketiga tanpa izin dari pasien yang bersangkutan secara tertulis kecuali jika ada alasan lain berdasarkan peraturan atau perundang-undangan yang memaksa dibukanya informasi tersebut. b.
Pemanfaatan Rekam Medis 1) Pemeliharaan kesehatan dan 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. 2) Alat bukti dalam proses penegakan hukum, disiplin kedokteran dan penegakan etika kedokteran. Rekam medis merupakan alat bukti tertulis utama, sehingga bermanfaat dalam penyelesaian masalah hukum, disiplin dan etik. 3) Keperluan penelitian dan pendidikan. Rekam
medis
yang
merupakan
informasi
perkembangan
kronologis penyakit, pelayanan medis, pengobatan dan tindakan medis, bermanfaat untuk bahan informasi bagi perkembangan pengajaran dan penelitian di bidang profesi kedokteran dan kedokteran gigi. 4) Dasar pembayar biaya kesehatan. Berkas rekam medis dapat dijadikan petunjuk dan bahan untuk menetapkan pembiayaan danlam pelayanan kesehatan pada sarana kesehatan. Catatan tersebut pembiayaan kepada pasien.
dapat dipakai
sebagai
bukti
19
5) Data statistik kesehatan. Rekam medis dapat digunakan sebagai bahan statistik kesehatan, khususnya
untuk
mempelajari
perkembangan
kesehatan
masyarakat dan untuk menentukan jumlah penderita pada penyakit-penyakit tertentu. Pemanfaatan rekam medis untuk keperluan pedidikan dan penelitian yang menyebutkan identitas pasien harus mendapat persetujuan secara tertulis dari pasien atau ahli warisnya dan harus dijaga kerahasiaannya. Pemanfaatan rekam medis untuk kepenluan pendidikan dan penelitian tidak diperlukan persetujuan pasien, bila dilakukan untuk kepentingan negara.
c. Tanggung Jawab Pimpinan sarana pelayanan kesehatan bertanggung jawab atas hilang, rusak, pemalsuan, dan/atau penggunaan oleh orang atau badan yang tidak berhak terhadap rekam medis.
2.7 Resume Medis Resume medis adalah ringkasan pelayanan yang diberikan oleh tenaga kesehatan khususnya dokter, selama masa perawatan hingga pasien keluar dari rumah sakit baik dalam keadaan hidup ataupun meninggal. Resume medis dapat dijadikan sebagai bahan kajian untuk pengendalian mutu rekam medis. Resume medis dapat dijadikan sebagai gambaran rekam medis pasien yang diberikan oleh tenaga kesehatan sebagai pengganti rekam medis.
2.8
Software Developement Life Cycle (SDLC) 2.8.1 Pengertian Software Developement Life Cycle (SDLC) SDLC dimulai dari tahun 1960 untuk mengembangkan sistem skala usaha besar secara fungsional untuk para konglomerat pada zaman itu,
20
sistem-sistem yang dibangun mengelola informasi kegiatan dn rutinitas dari perusahaan-perusahaan yang berpotensi memiliki data yang besar dalam perkembangannya. menurut Rosa A.S dan M. Shalahudin dalam buku Rekayasa perangkat Lunak (2011:24) SDLC adalah proses pengembangan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistemsistem perangkat lunak sebelumya.
Software Developement Life Cycle (SDLC)
Gambar 2.1 Software Developement Life Cycle (SDLC) (sumber : Rosa A.S dan M. Shalahudin, Rekayasa Perangkat Lunak 2011)
Requirement analysis (Analisa Kebutuhan) Menganalisis kebutuhan pemakai sistem perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional. Design (Desain) Mentransformasikan kebutuhan detail menjadi kebutuhan yang sudah lengkap, dokumen desain sistem fokus pada bagaimana dapat memenuhi fungsi-fungsi yang dibutuhkan.
21
Implementation (Implementasi) Implementasi pada lingkungan produksi (lingkungan pada user) dan menjalankan resolusi dari permasalahan yang terindentifikasi dari fase integritas dan pengujian. Testing (Pengujian) Mendemonstrasikan sistem perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan pada dokumen kebutuhan fungsional. Menghasilkan laporan analisis pengujian. Evolution (Perkembangan) Mengkonversi design ke sistem informasi yang lengkap termasuk bagaimana memperoleh dan melakukan instalasi lingkungan sistem yang dibutuhkan, membuat basis data dan mempersiapkan prosedur kasus pengujian, mempersiapkan berkas atau file pengujian, pengoden, memperbaiki dan membersihkan program, peninjauan pengujian.
2.8.2 Model Software Development Life Cycle (SDLC) SDLC memiliki beberapa model dalam penerapan tahapan prosesnya, yaitu a. Model Waterfall (Air Terjun) Model SDLC waterfall (air terjun) sering disebut juga model sekuensial linier atau alur hidup klasik yang menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung (support).
Gambar 2.2 Model Waterfall (sumber: Rosa A.S dan M. Shalahudin,Rekayasa Perangkat Lunak 2011) Analisis kebutuhan sistem
22
Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami. Perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan oleh perangkat lunak pada tahap ini perlu untuk didokumentasikan. Design Design perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antar muka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi design agar dapat di implementasikan menjadi program pada tahap selanjutnya. Design perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. Pembuatan kode program Design harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan design yang telah dibuat pada tahap design. Pengujian Pengujian fokus pada perangkat lunak dari segi logic (logika) dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. Suatu variasi dari model air terjun dinamakan sebagai model-V (VModel) seperti terlihat pada gambar dibawah ini :
23
Gambar 2.3 Model Waterfall V-Model (sumber : Roger S. Pressman, Ph.D, Rekayasa Perangkat Lunak, 2011 )
Seperti yang diperlihatkan pada gambar diatas, menggambarkan relasi aksi-aksi jaminan kualitas pada aksi-aksi yang berkaitan dengan komunikasi, pemodelan, serta aktivitas-aktivitas konstruksi pada tahap awal. Saat tim perangkat lunak bergerak ke bawah pada sisi kiri modelV, spesifikasi-spesifikasi kebutuhan, pemasalahan-permasalahan dasar dan solusi-solusinya diperhalus secara progresif menjadi semakin rinci dan semakin teknis. Saat kode program telah terbentuk, selanjutnya tim perangkat lunak bergerak ke atas melalui sisi kanan model-V dan secara terus-menerus melaksanakan sejumlah pengujian yang berbeda, yang pada dasarnya melakukan validasi pada masing-masing tahapan model yang telah
24
diselesaikan saat tim perangkat lunak bergerak ke bawah pada sisi kiri model. Kenyataannya tidak terlalu terlihat perbedaan yang mendasar diantara model proses siklus hidup klasik dan model-V. Model-V pada dasarnya menyediakan cara secara visual bagaimana tindakan-tindakan verifikasi dan validasi seharusnya diterapkan pada bagian-bagian pekerjaan rekayasa perangkat lunak yang lebih awal. b. Model Prototipe Model
prototipe
dapat
digunakan
untuk
menyambung
ketidakpahaman pelanggan mengenai hal teknis dan memperjelas spesifikasi
kebutuhan
yang
diinginkan
pelanggan
kepada
pengembang perangkat lunak.
Gambar 2.4 Model Prototipe (sumber : Rosa A.S dan M. Shalahudin, Rekayasa Perangkat Lunak 2011)
Mock up adalah sesuatu yang digunakan sebagai model design yang digunakan untuk demonstrasi, evaluasi design, promosi atau keperluan lain. Sebuah mock up disebut sebagai prototipe perangkat lunak jika menyediakan atau mampu mendemonstrasikan sebagian besar fungsi sistem perangkat lunak. Iterasi yang terjadi pada pembuatan prototipe sampai sesuai dengan keinginan pelanggan.
25
Model prototipe dimulai dari pengumpulan kebutuhan pelanggan terhadap perangkat lunak yang akan dibuat. Lalu diuatkan program program prototipe agar pelanggan lebih terbayang dengan apa yang sebenarnya diinginkan. Program prototipe ini dievaluasi oleh pelanggan sampai ditemukan spesifikasi yang sesuai dengan keinginan pelanggan kepada pengembang perangkat lunak. Model prototipe sangat cocok untuk menjabarkan kebutuhan pelanggan secara lebih detail karena pelanggan sering kali merasa kesulitan menyampaikan kebutuhan secara detail tanpa melihat gambaran yang jelas. Untuk mengantisipasi agar proyek dapat berjalan sesuai dengan target waktu dan biaya di awal, maka sebaiknya spesifikasi kebutuhan sistem harus sudah disepakati oleh pengembang dengan pelanggan secara tertulis. Dokumen tersebut akan menjadi patokan agar spesifikasi kebutuhan sistem masih dalam ruang lingkup proyek. Model prototipe kurang cocok untuk aplikasi dengan skala besar karena membuat prorotipe untuk aplikasi skala besar akan sangat memakan waktu dan tenaga. c. Model Rapid Application Developement (RAD) Rapid Application Developement (RAD) adalah model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek. Model RAD adalah adaptasi dari model air terjun untuk pengembangan setiap komponen perangkat lunak. Jika kebutuhan perangkat lunak dipahami dengan baik dan lingkup perangkat lunak dibatasi dengan baik sehingga tim dapat menyelesaikan pembuatan perangkat lunak dengan waktu yang singkat. Model RAD membagi tim pengembangan menjadi beberapa tim untuk mengerjakan beberapa komponen masingmasing tim pengerjaan dapat dilakukan secara paralel.
26
Gambar 2.5 Model Rapid Application Development (RAD) (sumber : Rosa A.S dan M. Shalahudin,Rekayasa Perangkat Lunak 2011)
Pemodelan bisnis Pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait proses bisnis, informasi apa saja yang harus dibuat, siapa yang harus membuat informasi itu, bagaimana alur informasi itu, proses apa saja yang terkait infromasi itu. Pemodelan data Memodelkan
data
apa
saja
yang
dibutuhkan
berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta relasinya dengan data-data yang lain. Pemodelan proses Mengimplementasikan
fungsi
bisnis
yang
sudah
didefinisikan terkait dengan pendefinisian data. Pembuatan aplikasi Mengimplementasikan pemodelan proses dan data menjadi program model RAD sangat menganjurkan
27
pemakaian
komponen
yang
sudah
ada
jika
dimungkinkan. Pengujian dan Pergantian Menguji komponen-komponen yang dibuat. Jika sudah teruji maka tim pengembang komponen dapat beranjak untuk mengembangkan komponen berikutnya. d. Model Iteratif Model iteratif mengkombinasikan proses-proses pada model air terjun dan iteratif pada model prototipe. Model incremental akan menghasilkan versi-versi perangkat lunak yang sudah mengalami penambahan fungsi untuk setiap pertambahannya.
Incremental area
Gambar 2.6 Model Iteratif (sumber : Rosa A.S dan M. Shalahudin,Rekayasa Perangkat Lunak 2011)
e. Model spiral Model spiral memasangkan iteratif pada model prototipe dengan kontrol dan spek sistematik yang diambil dari model air terjun. Model spiral menyediakan pengembangan dengan cara cepat dengan perangkat lunak yang memiliki versi yang terus bertambah fungsinya.
2.9
Unified Modelling Language ( UML )
2.9.1 Pengertian Unified Modeling Language (UML) Menurut Rosa A.S dan M.Shalahuddin (2011:118) Unified Modeling Language (UML) adalah bahasa visual untuk pemodelan dan komunikasi menegnai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.
28
UML merupakan suatu kumpulan teknik terbaik yang besar terbukti sukses dalam memodelkan sistem yang besar dan kompleks. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. Di dunia sistem informasi banyak hal yang tidak dapat dibakukan, semua tergantung kebutuhan, lingkungan dan konteksnya. Begitu juga dengan perkembangan penggunaan UML bergantung pada level abstraksi penggunaanya. Jadi, belum tentu pandangan yang berbeda dalam penggunaan UML adalah salah, tapi perlu ditelaah dimanakah UML digunakan dan hal apa yang ingin divisualkan. Secara analogi jika dengan bahasa yang kita gunakan sehari-hari , belum tentu penyampaian bahasa dan puisi adalah hal yang salah. Sistem informasi bukanlah ilmu pasti, maka jika ada banyak perbedaan dan interpretasi di dalam bidang sistem informasi merupakan hal yang sangat wajar. 2.9.2
Sejarah Unified Modeling Language (UML) Bahasa
pemrograman
berorientasi
objek
yang
pertama
dikembangkan dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa pemrograman yang kurang berkembang dan dikembangkan lebih lanjut, namun dengan kemunculannyatelah memberikan sumbangan yang besar pada developer pengembang bahasa pemrograman berorientasi objek selanjutnya. Pekembangan aktif dari pemrograman berorientasi objek mulai menggeliat ketika perkembangannya bahasa pemrograman smalltalk pada awal 1980-an yang kemudian diikuti dengan perkembangan bahasa pemrograman berorientasi objek yang lainnya seperti C objek, C++,Eiffel, dan CLOS. Secara aktual, penggunaan bahasa pemrograman berorientasi objek pada saat itu masih terbatas, namun telah banyak menarik perhatian di saat itu. Setelah lima tahun setelah smalltalk berkembang, maka berkembang pula metode pengembangan berorientasi objek.
29
Metode yang pertama diperkenalkan oleh Sally Shlaer dan Stephen Mellor (Shlaer-Mellor, 1988) dan Peter Coad dan Edward Yourdon (Coad-Yourdon, 1991), diikuti oleh Grady Booch (Booch,1991), James R. Rumbaugh, Michael R. Bhala, William Lorensen, Frederick Eddy, William
Premerlani
(Rumbaugh-Blaha-Premerlani-Eddy-Lorensen,
1991), dan banyak lagi. Buku yang terkenal selanjutnya adalah karangan Ivar Jacobson (Jacobson,1992) yang menerangkan perbedaan pendekatan yang fokus pada use case dan proses pengembangannya.
Sekitar lima
tahun
kemudian muncul buku yang membahas mengenai metodologi berorientasi objek yang diikuti dengan buku-buku yang lainnya. Di dalamnya
juga
membahas
mengenai
konsep,
definisi,
notasi,
terminologi, dan proses mengenai metodologi berorientasi objek. Karena banyaknya metodologi yang berkembang pesat saat itu, maka munculah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang berkembang saat itu. Maka dibuat bahasa yang merupakan Modelling Technique (OMT) dari Rumbaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborator (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivan Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaigh , Grady Booch dan Ivan Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modelling Language (UML). Pada tahun 1996, Object Management Group (OMG) mengajukan proposal agar adanya standarisasi pemodelan berorientasi objek dan pada bulan September 1977 UML diakomodasikan oleh OMG sehingga sampai pada saat ini UML telah memberikan kontribusinya yang cukup besar di dalam metodologi berorientasi objek dan hal-hal yang terkait di dalamnya. Secara fisik UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG. UML terbaru adalah UML 2.3 yang terdiri dari 4 macam
30
spesifikasi,
yaitu
Diagram
Interchange
Spesification,
UML
Infrastrukture, UML Suprastrukture, dan Object Constraint Language (OCL).
2.9.3
Bagian-bagian UML Menurut Rosa AS dan M.Shalahuddin (2011:130) dalam buku Rekayasa perangkat lunak (terstruktur dan beroirientasi objek) bagian daripada UML terdiri atas beberapa diagram yaitu : a. Use case diagram Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan pada use case adalah nama di definisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.
Aktor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.
Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan atar unit atau aktor.
Berikut adalah simbol-simbol yang ada pada diagram use case : Simbol Use case
Deskripsi Fungsionalitas
yang
disediakan
sistem
sebagai unit-unit yang saling bertukar pesan
nama use case
antar unit atau aktor. Biasanya dinyatakan dengan menggunakan kata kerja diawal fase
31
nama use case.
Aktor / Actor
Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi, jadi walaupun simbol diaktor adalah gambar orang, biasanya dinyatakan menggunakan
nama aktor Asosiasi / Association
kata benda diawal fase nama aktor. Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor.
32
Eksistensi / Extend <<extend>>
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan
itu.
Mirip
dengan
prinsip
inheritance pada pemrograman berorientasi objek.
Biasanya
use
case
tambahan
memiliki nama depan sama dengan use case yang ditambahkan. Misal :
validasi user name
<<extend>>
validasi user
<<extend>>
validasi sisdik jari Arah panah mengarah pada use case yang ditambahkan.
33
Generalisasi/
Hubungan generalisasi dan spesialisasi
Generalization
(umum-khusus) antara dua buah use case dimana fungsi yang lebih umum dari lainnya, misal :
ubah data
mengelola data
hapus data Arah panah mengarah pada use case yang menjadi generalisasinya (umum). Menggunakan / include / Relasi use case tambahan ke sebuah use uses
case dimana use case yang ditambahkan <
>
memerlukan use case ini menjalankan fungsinya atau sebagai syarat dijalankan use case ini. Ada dua sudut pandang yang cukup besar mengenai include di use case : Include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan, misal :
34
validasi username
<>
login
Include berarti use case yang ditambahkan
akan
selalu
melakukan pengecekan apakah use case
yang
dijalankan
ditambahkan sebelum
use
telah case
tambahan dijalankan, misal : validasi user
<>
ubah data
Kedua
interpretasi
diatas
dapat
digunakan salah satu atau keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan. Tabel 2.1 simbol-simbol pada diagram usecase (sumber : Rosa AS dan M.Shalahuddin, rekayasa perangkat luna b. Activity Diagram Diagram aktivitas atau
activity diagram menggambarkan
workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis.
Yang
perlu
diperhatikan
bahwa
diagram
aktivitas
menggambarkan aktifitas sistem bukan apa yang dilakukan aktor, jadi aktifitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut :
35
Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan
merupakan
proses
bisnis
sistem
yang
didefinisikan.
Urutan atau pengelompokan tampilah dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
Rancangan
pengujian
dimana
setiap
aktivitas
dianggap
memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. Berikut adalah simbol-simbol yang ada pada diagram aktivitas : Simbol status awal
Deskripsi Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata Aktivitas
Percabangan / decision
kerja.
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
Penggabungan /join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu.
Status akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
36
Swimlane
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas
nama swimlane
yang terjadi.
Tabel 2.2 simbol-simbol pada diagram aktifitas (sumber : Rosa AS dan M.Shahaluddin, rekayasa perangkat lunak, 2011) c. Component Diagram Diagram komponen atau component diagram dibuat untuk menunjukan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem. Diagram komponen fokus pada komponen sistem yang dibutuhkan dan ada di dalam sistem. Diagram komponen juga dapat digunakan untuk memodelkan hal-hal berikut : Source code program perangkat lunak. Komponen executable yang dilepas ke user. Basis data secara fisik. Sistem yang harus beradaptasi dengan sistem lain. Framework sistem, framework pada perangkat lunak merupakan kerangka kerja yang dibuat untuk memudahkan pengembangan dan pemeliharaan aplikasi. Komponen dasar yang biasanya ada dalam suatu sistem adalah sebagai berikut : Komponen user interface yang menangani tampilan. Komponen bussiness processing yang menangani fungsi-fungsi proses bisnis. Komponen data yang menangani manipulasi data.
37
Komponen security yang menangani keamanan sistem. Komponen lebih terfokus pada penggolongan secara umum fungsifungsi yang diperlukan. Berikut adalah simbol-simbol yang ada pada diagram komponen :
Simbol Package
Deskripsi Package bungkusan
merupakan dari
sebuah
satu
atau
lebih
antar
komponen,
komponen.
Komponen
Komponen sistem.
Nama komponen
Kebergantungan / dependency
Kebergantungan
arah panah mengarah pada komponen yang dipakai.
Antar muka / interface
Sama dengan konsep interface pada pemrograman
berorientasi
objek,
yaitu sebagai antar muka komponen agar Nama_interface Link
tidak
mengakses
komponen.
Relasi antar komponen.
langsung
38
Tabel 2.3 simbol-simbol pada diagram komponen (sumber : Rosa AS dan M.Shahaluddin, rekayasa perangkat lunak, 2011)
39
d. Deployment Diagram Diagram deployment atau deployment diagram menunjukan konfigurasi komponen dalam proses eksekusi aplikasi. Diagram deployment juga dapat digunakan untuk memodelkan hal-hal berikut :
Sistem tambahan (embedded system) yang menggambarkan rancangan device, node, dan hardware.
Sistem client server.
Sistem terdistribusi murni.
Rekayasa ulang aplikasi.
Berikut ini simbol-simbol yang ada pada diagram deployment : Simbol Package
Deskripsi Package merupakan sebuah bungkusan dari satu atau lebih node.
Node
Biasanya mengacu pada perangkat keras Nama_node
(hardware), perangkat lunak (software), jika di dalam node disertakan komponen untuk
mengkonsistenkan
rancangan
maka komponen yang diikutsertakan harus sesuai dengan komponen yang telah didefinisikan sebelumnya pada diagram komponen.
40
Kebergantungan
/ Kebergantungan antar node, arah panah
dependency
mengarah pada node yang dipakai.
Link
Relasi antar node.
Tabel 2.4 simbol-simbol pada diagram deployment (sumber : Rosa AS dan M.Shahaluddin, rekayasa perangkat lunak, 2011) e. Object Diagram Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karen jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan. Hubungan link pada diagram objek merupakan hubungan memakai dan dipakai dimana dua buah objek akan dihubungkan oleh link jika ada objek yang dipakai oleh objek lainnya. Berikut adalah simbol-simbol yang ada pada diagram objek : T Simbol
a
Deskripsi
b Objek e
Objek
l nama objek : nama kelas
dijalankan.
dari
berjalan
kelas saat
atribut = nilai
2 . Link 5
Relasi antar objek.
yang sistem
41
Simbol-simbol pada objek diagram (sumber : Rosa AS dan M.Shahaluddin, rekayasa perangkat lunak, 2011) f. Class Diagram Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Atribut merupakan variable-variable yang dimiliki oleh suatu kelas. Sedangkan operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut :
Kelas main. Kelas main memiliki fungsi awal dieksekusi ketika sistem dijalankan.
Kelas yang menangani tampilan sistem Kelas yang mendefinisikan dan mengatur tampilan ke pemakai.
Kelas yang diambil dari pendefinisian use case Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case.
Kelas yang diambil dari pendefinisian data Kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data. Jenis-jenis kelas diatas juga dapat digabungkan satu sama lain sesuai dengan pertimbangan yang dianggap baik asalkan fungsi-fungsi yang sebaiknya ada pada struktur kelas tetap ada. Susunan kelas juga dapat ditambahkan kelas utilitas seperti
42
koneksi data base, membaca file teks dan lain sebagainya sesuai dengan kebutuhan. Dalam mendefinisikan metode yang ada di dalam kelas perlu memperhatikan apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran sebarapa dekat keterkaitan instruksi di dalam sebuah metode terkait satu sama lain. Sedangkan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain di dalam sebuah kelas. Sebagai aturan secara umum maka sebuah metode yang dibuat harus memiliki kadar cohesion dan kadar coupling yang lemah. Berikut adalah simbol-simbol yang ada pada class diagram : Simbol Kelas
Deskripsi Kelas pada struktur sistem.
nama_kelas +atribut +operasi ()
Antar muka / interface
Sama dengan konsep interface dalam
pemrograman
berorientasi objek. Nama_interface Asosiasi / association
Relasi makna
antar kelas dengan umum,
asosiasi
biasanya juga disertai dengan multiplicity. Asosiasi berarah / directed association
Relasi
antar kelas dengan
43
makna
kelas
yang
satu
digunakan oleh kelas yang lain, asosiasi juga biasanya disertai dengan multiplicity. Generalisasi
Relasi
antar kelas dengan
makna generalisasi-spesifikasi (umum-khusus) Kebergantungan / dependency
Relasi
antar kelas dengan
makna kebergantungan antar kelas.
Agregasi / agregation
Relasi
antar kelas dengan
makna
semua-sebagian
(whole-part). Tabel2.6 Simbol-simbol pada class diagram (sumber : Rosa AS dan M.Shahaluddin, rekayasa perangkat lunak, 2011)
g. Sequence Diagram Diagram sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence, maka harus diketahui objekobjek yang terlibat di dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyak diagram sequence yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang paling penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin
44
banyak use case yang didefinisikan maka diagram use case nya juga semakin banyak. Berikut adalah simbol-simbol yang ada pada diagram sequence : Simbol Aktor
Deskripsi Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi itu sendiri, jadi
nama aktor
walaupun simbol aktor adalah gambar
orang,
biasanya
dinyatakan menggunakan kata benda di awal fase nama aktor. Garis hidup / lifeline
Menyatakan
kehidupan
suatu
objek
yang
objek.
Objek
Menyatakan
berinteraksi pesan. nama objek : nama kelas
Waktu aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan.
Pesan tipe create
Menyatakan
suatu
objek
membuat objek yang lain, arah <>
panah mengarah pada objek yang dibuat.
45
Pesan tipe call
Menyatakan
suatu
objek
memanggil operasi / metode yang 1: nama_metode ()
ada pada objek lain atau dirinya sendiri,
Arah panah mengarah pada objek yang memiliki operasi / metode, karena ini memanggil operasi / metode maka operasi / metode yang dipanggil harus ada pada diagram kelas sesuai dengan kelas objek yang berinteraksi. Pesan tipe send
Menyatakan bahwa suatu objek mengirimkan data / masukan /
1:masukan
informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi. Pesan tipe return
Menyatakan bahwa suatu objek yang telah menjalankan suatu
1:keluaran
operasi
atau
metode
menghasilkan suatu kembalian ke
46
objek
tertentu,
mengarah
pada
arah
panah
objekk
yang
menerima kembalian. Pesan tipe destroy
Menyatakan
suatu
objek
mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada destroy. <<destroy>>
Tabel 2.7 Simbol-simbol sequence diagram (sumber : Rosa AS dan M.Shahaluddin, rekayasa perangkat lunak, 2011)
Penomoran pesan berdasarkan urutan interaksi pesan. Penggambaran letak pesan harus berurutan, pesan yang lebih atas dari lainnya adalah pesan yang berjalan terlebih dahulu.
2.10
Perangkat Lunak Pendukung 2.10.1 XAMPP Menurut I komang setia buana (2014:4) dalam buku yang berjudul Jago Pemrograman PHP untuk pemula dan orang awam menjelaskan bahwa XAMPP adalah perangkat lunak opensource yang dapat diunggah secara gratis dan bisa dijalankan disemua sistem operasi seperti windows, linux, solaris, dan mac dan xampp ini sendiri dibuat dan dikembangkan oleh apache friends perangkat lunak tersebut terdiri dari beberapa perangkat lunak yang dibutuhkan, antara lain PHP, Apache, MySQL, dan PHPMyAdmin. Dengan melakukan instalasi xampp, maka semua perangkat lunak yang dibutuhkan sudah otomatis terinstall termasuk pengturan file-
47
file yang dibutuhkan. XAMPP ini sendiri semakin waktu semakin berkembang, dimana setiap perubahan versi, dibuat lebih baik dan lebih lengkap dari versi sebelumya.
2.10.2 Apache Menurut I Komang Setia Buana (2014:1) dalam buku yang berjudul Jago Pemrograman PHP untuk pemula dan orang awam menjelaskan bahwa Apache merupakan web server yang bersifat opensource, yang digunakan oleh PHP. Karena sifatnya yang opensource sehingga bisa diambil, digunakan bahkan bisa mengubah kode programnya tanpa harus membayar. Apache bertugas untuk menampilkan hasil proses script PHP yang ditulis oleh pembuat halaman web.sehingga dihasilkan halaman web yang benar kepada peminta, dan dapat juga suatu database diakses terlebih dahulu, misalnya MySQL, untuk mendukung halaman web yang dihasilkan.
2.10.3
HTML Menurut Agus saputra (2012:1) dalam buku sistem informasi nilai akademik untuk panduan skripsi mengemukakan bahwa HTML merupakan kepanjangan dari Hyper Text Markup Language, yaitu suatu bahasa pemrograman hyper text. HTML ini mempunyai fungsi untuk membangun kerangka ataupun format web yang berbasis HTML. HTML bisa disebut bahasa yang digunakan untuk menampilkan dan mengelola hypertext. Menurut sumber Wikipedia yang penulis kutip dalam bukunya menyatakan bahwa html digunakan untuk menampilkan berbagai informasi didalam sebuah penjelajah web internet dan formatting hypertext sederhana yang ditulis ke dalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegrasi. Dengan kata lain, berkas yang dibuat dalam
48
perangkat lunak pengolah kata dan disimpan ke dalam format ASCII normal sehingga menjadi homepage dengan perintahperintah html. Html mempunyai dua macam ekstensi untuk kita dapat membangun dokumen html. Ekstensi tersebut diantaranya .htm dan .html. Ekstensi berformat .htm awalnya hanya untuk mengakomodasi pengguna html dalam operasi DOS. Html saat ini telah mencapai versi 5, dimana beberapa fitur unggulan telah disuntikan ke dalam pemrograman tersebut.
2.10.4
Dreamweaver Menurut Dwi Prabantini (2008:1) dreamweaver adalah sebuah HTML editor profesional untuk mendesain web secara visual dan mengelola situs atau halaman web. Dreamweaver memiliki kemampuan untuk mendesain web, menyuting kode, serta pembuatan aplikasi web dengan menggunakan berbagai bahasa pemrograman web, antara lain : JPS, PHP, ASP dan Coldfusion. Ruang kerja dan kemampuan dreamweaver mampu meningkatkan produktivitas dan efektivitas dalam desain maupun membangun suatu situs web.
2.10.5
MySQL Menurut I Komang Setia Buana (2014:2) menjelaskan bahwa MySQL merupakan database server yang paling sering digunakan dalam pemrograman PHP. MySQL digunakan untuk menyimpan data di dalam database dan memanipulasi data-data yang diperlukan. Memanipulasi data tersebut berupa menambah, mengubah dan menghapus data yang berada dalam database. Pendapat lain mengenai MySQL menurut Agus Saputra (2012:7) menjelaskan bahwa MySQL bukan merupakan bahasa pemrograman. MySQL merupakan salah satu database populer dan
49
mendunia.
MySQL
bekerja
menggunakan
SQL
Language
(Structure Query Language). Dapat diartikan bahwa MySQL merupakan
standar
penggunaan
database
di
dunia
untuk
pengolahan data. Pada umumnya, perintah yang paling sering digunakan dalam MySQL adalah SELECT (mengambil), INSERT (menambah), UPDATE (mengubah), dan DELETE (menghapus). Selain itu, SQL juga menyediakan perintah untuk membuat database, field, ataupun index untuk menambah atau menghapus data. MySQL merupakan database yang mampu berjalan disemua sistem operasi, selain itu juga sangat mudah dipelajari sehingga memiliki kelebihan sebagai berikut : 1. Bersifat open source, yang memiliki kemampuan yang dapat dikembangkan lagi. 2. Mengunakan bahasa SQL (Structure Query Language) merupakan standar bahasa dunia dalam pengolahan data. 3. Super performance dan reliable, tidak bisa diragukan, pemrosesan databasenya sangat cepat dan stabil. 4. Sangat mudah dipelajari (easy of use). 5. Memiliki dukungan support (group) pengguna MySQL. 6. Mampu lintas Platform, dapat berjalan diberbagai sistem operasi. 7. Multiuser, dimana MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami konflik. MySQL bekerja menggunakan bahasa basis data atau lebih dikenal dengan DBMS (Database Management System). Data language ini terbagi dua, yaitu : 1. DDL (Data Definition Language) merupakan suatu perintah yang digunakan untuk struktur data, atau untuk membangun database. DDL mempunyai tugas untuk membuat objek SQL dan menyimpan definisinya dalam tabel. Intinya DDL ini
50
mempunyai fungsi untuk melakukan perubahan struktur tabel, seperti membuat tabel, mengubah nama tabel dan sebagainya. Berikut ini perintah yang masuk dalam golongan DDL: a. Create Digunakan untuk membuat database, tabel dan objek lain dalam database. b. Alter Digunakan untuk memodifikasi tabel, seperti contoh mengubah nama tabel, field, menambah field. c. Drop Digunakan untuk menghapus database, tabel dan objek lain dalam database. 2. DML (Data Manipulation Language) merupakan basis data yang digunakan untuk melakukan modifikasi dan pengambilan data pada suatu database. Pengolahan dan modifikasinya meliputi : a. Insert Digunakan untuk melakukan penambahan data. b. Select Digunakan untuk melakukan pengambilan data. c. Update Digunakan untuk melakukan perubahan data. d. Delete Digunakan untuk menghapus data.
2.10.6
jQuery Menurut Edy Winarto ST, dkk (2014:51) dalam buku 3 in 1: Javascript, jQuery dan jQuery mobile menjelaskan bahwa jQuery adalah framework PHP yang memudahkan penerapan javascript. Dengan jQuery user tidak diperlukan banyak pengetikan kode secara manual. Hanya dengan sedikit pengetikan, bisa melakukan banyak hal.
51
jQuery adalah sebuah library Javascript yang memiliki motto “write less do more”. Artinya dengan mengetik kode yang sedikit, bisa melakukan banyak hal dengan jQuery. Dengan jQuery, action yang perlu banyak kode di JavaScript standar, bisa disingkat dengan hanya mengetik sedikit kode. Bahkan kadang hanya satu baris kode saja. jQuery juga menyederhanakan hal-hal yang kompleks dari JavaScript, seperti AJAX dan manipulasi DOM. Jadi, jQuery menyediakan banyak sekali metode siap pakai yang tinggal dipakai tanpa perlu repot. Library jQuery memiliki beberapa fitur berikut : Manipulasi HTML/DOM. Manipulasi CSS. Method event HTML. Efek dan animasi. AJAX. Utility. jQuery juga masih memiliki banyak plugin untuk melakukan banyak hal yang sering dipakai dalam pengembangan web. jQuery merupakan framework yang populer yang bisa dikembangkan.
2.10.7
PHP Menurut Agus Saputra (2012:2) menjelaskan PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. Html digunakan sebagai pembangun atau podasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya. Sehingga dengan adanya PHP tersebut, sebuah web akan sangat mudah di maintenance.
52
Dalam buku Jago Pemrograman PHP untuk pemula dan orang awam, I Komang Setia Buana (2014:1) menjelaskan bahwa PHP merupakan
apliaksi
perangkat
lunak
opensource,
dimana
kepanjangan PHP adalah Hypertext Preprocessor yang diatur dalam aturan general purpose licences (GPL). Pemrograman PHP merupakan pemrograman yang sangat cocok dikembangkan dilingkungan web karena bisa diletakkan pada script HTML ataupun sebaliknya. PHP tergolong sebagai pemrograman web dinamis karena mampu menghasilkan website yang bisa diubah secara terus menerus hasilnya atau kontennya tanpa harus masuk ke dalam coding. Hal tersebut tergantung pada permintaan terkini. Secara umum, pembuatan database sangat erat hubungannya dengan pembuatan web dinamis, sebagai tempat untuk sumber data yang akan ditampilkan. PHP juga merupakan bahasa pemrograman berbasis server. Ini berarti setiap pemrograman PHP harus diletakkan di server terlebih dahulu, kemudian diterjemahkan oleh web server dan hasilnya dikirim ke browser client. Kemampuan dan fitur PHP yang paling mendukung banyak basis data yaitu MSSQL, MySQL, Oracle dan Postgre SQL. PHP berjalan pada sisi server, sehingga PHP disebut juga sebagai bahasa Server Side Scripting, artinya bahwa dalam setiap atau untuk menjalankan PHP, wajib dibutuhkan web server dalam menjalankannya. PHP ini bersifat open source, sehingga dapat dipakai secara Cuma-Cuma, dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi windows atau pun linux. PHP juga dibangun sebagai modul pada web server apache dan sebagai binary yang dapat berjalan sebagai CGI. Pada awalnya PHP itu memiliki kepanjangan Personal Home Page atau yang dapat diartikan “Situs Personal” namun pada sejarahnya, yaitu pada tahun 1995, Rasmus Lerdoft membuat suatu
53
bahasa pemrograman bernama Form Interpreted (FI) yang saat ini lebih dikenal dengan PHP. Form Interpreted (FI) ini merupakan sebuah sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Kemudian Rasmus Lerdoft mencoba untuk merilis kembali kode-kode tersebut dan diumumkan pada khalayak umum,
dan
menamakannya
PHP/FI
sehingga
dengan
mengumumkan hal tersebut, kini PHP menjadi kode terbuka. Dalam artian, siapa saja boleh menggunakannya. Lambat laun ternyata PHP ini mulai banyak peminatnya, terbukti banyak pengembang atau pemrogram lain tertarik untuk mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0 pada versi rilisan ini, PHP sudah mulai di implementasikan dalam program C, serta juga modul-modul yang tentu saja dapat meningatkan PHP tersebut secara signifikan. Pada tahun 1997, sebuah perusahaan Zend menulis ulang kembali Interpreter PHP menjadi lebih bersih, lebih baik dan tentunya lebih cepat. Pada tahun 1998, perusahaan Zend merilis dan meresmikan interpreter PHP sebagai PHP 3.0 pada tahun inilah singkatan PHP berubah menjadi PHP Hpertext Preprocessor. Pada tahun 1999 Zend merilis kembali dan meresmikan interpreter PHP sebagai PHP 4.0 versi PHP 4.0 merupakan versi yang paling banyak digunakan saat itu. Karena kecepatannya yang tinggi dan tentunya membangun web juga dapat kebih kompleks. Akhirnya pada tahun 2004, Zend merilis kembali versi PHP 5.0 karena paradigmanya telah berubah menjadi suatu bahasa pemrograman yang berorientasi pada objek. PHP kedepannya dapat dipastikan akan menjadi bahasa pemrograman bersifat objek. Atau lebih mengarah pada framework PHP.
2.10.8 PHPMyAdmin
54
Menurut I Komang setiabuana (2014:3) dalam buku Jago Pemrograman PHP
menjelaskan bahwa dengan menggunakan
MySQL, pengelolaan database dilakukan dengan mengetikkan baris-baris perintah yang sesuai untuk keinginan tertentu. Jika ingin membuat database dan memanipulasi tabel, maka kita harus mengetikkan baris perintah yang sesuai. Hal ini tentu sangat sulit, karena harus menghafal semua baris sintaks dan harus mengetikkan satu per satu baris sintak tersebut. Oleh karena itu perlu perangkat lunak
tambahan
yang
disebut
PHPMyAdmin.
Dengan
PHPMyAdmin, pengelolaan atau manipulasi database menjadi lebih mudah, karena tidak perlu menghafal sintaks nya
2.11
Metode Medical Record (Rekam Medis) 2.11.1 Metode White Box Menurut Roger S.Pressman, Ph.D (2011:588) pengujian white box yang kadang-kadang disebut pengujian kotak kaca (glass box testing) merupakan sebuah filosofi perancangan test case yang menggunakan struktur kontrol yang dijelaskan sebagai bagian dari perancangan peringkat komponen untuk menghasilkan test case. metode design test case yang menggunakan struktur control whitebox, rekayasa sistem dapat melakukan test case diantaranya : a. Menjamin bahwa seluruh jalur independent didalam modul telah dieksekusi sekurang-kurangnya sekali. b. Mengerjakan seluruh keputusan logical pada sisi benar dan yang salah. c. Mengerjakan seluruh loop yang sesuai batas dan dalam batasbatas operasional mereka. d. Mengerjakan seluruh struktur data internal yang menjamin validitas untuk memastikan keshahihannya.
2.11.2 Metode Black Box
55
Pengujian kotak hitam (Black-Box), juga disebut pengujian perilaku, berfokus pada persyaratan fungsional perangkat lunak. Pengujian ini memungkinkan analis sistem memperoleh kumpulan kondisi input yang akan mengerjakan seluruh keperluan fungsional program. Ini merupakan pendekatan terlengkap yang mungkin dilakukan untuk mengungkap kelas kesalahan yang berbeda dari yang diungkap oleh metode kotak putih. Tujuan metode ini adalah mencari : a. Fungsi yang salah atau hilang. b. Kesalahan pada interface. c. Kesalahan pada struktur data atau akses database eksternal. d. Kesalahan performa atau kinerja. e. Kesalahan inisialisasi dan tujuan akhir.