Perancangan Database Terdistribusi (Distributed Database) untuk Validasi Surat Keterangan Kelahiran (Studi Kasus Kantor Catatan Sipil Salatiga) Artikel Ilmiah Peneliti: Julianne Moore (672012208) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Agustus 2016 Perancangan Database Terdistribusi (Distributed Database) untuk Validasi Surat Keterangan Kelahiran (Studi Kasus Kantor Catatan Sipil Salatiga) Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer Peneliti: Julianne Moore (672012208) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Agustus 2016 1. Pendahuluan Dinas Kependudukan dan Catatan Sipil kota Salatiga merupakan dinas yang berada di bawah naungan Kementerian Dalam Negeri, yang berpotensi dalam bidang Kependudukan dan Pencatatan Sipil. Sehubungan dalam proses melayani masyarakat, Dinas Kependudukan dan Catatan Sipil mempunyai tugas melaksanakan urusan kependudukan, salah satunya yaitu mengeluarkan dokumen kependudukan, seperti dokumen akta kelahiran. Salah satu syarat untuk membuat akta kelahiran adalah orang tua wajib melampirkan surat keterangan kelahiran dari rumah sakit yang menyatakan bahwa benar pada tanggal yang bersangkutan telah lahir dengan selamat bayi yang akan diurus akta kelahirannya sebagaimana yang tertuang dalam Peraturan Menteri dalam Negeri RI No 9 Tahun 2016 Tentang Percepatan Peningkatan Cakupan Kepemilikan Akta Kelahiran pada Bab II Bagian Kesatu Pasal 3. Pada Peraturan Menteri Dalam Negeri tertulis bahwa Persyaratan Pencatatan Kelahiran sebgaimana dimaksud dalam Pasal 2 huruf a dengan memenuhi syarat berupa: (a). surat keterangan lahir dari dokter/bidan/penolong kelahiran; (b). akta nikah/kutipan akta perkawinan; (c). KK dimana penduduk akan didaftarkan sebagai anggota keluarga; (d). KTP-el orang tua/wali/pelapor; atau (e). paspor bagi WNI bukan penduduk dan orang asing. Pada umumnya, setiap bayi yang lahir di Indonesia harus memiliki akta kelahiran. Akta kelahiran didapatkan apabila orang tua bayi telah mempersiapkan seluruh persyaratan yang dibutuhkan oleh pemerintah dalam hal ini dilakukan oleh Kantor Catatan Sipil yang mempunyai wewenang untuk mengeluarkan akta kelahiran dari bayi yang bersangkutan. Surat keterangan kelahiran dari pihak rumah sakit atau bidan merupakan bukti bahwa benar pada tanggal yang bersangkutan telah lahir dengan selamat bayi yang akan diurus akta kelahirannya. Selama ini pihak catatan sipil tidak melakukan pengecekan pada surat keterangan kelahiran yang dikeluarkan oleh pihak rumah sakit atau bidan sehingga hal ini menimbulkan kekuatiran bagi Kantor Catatan Sipil dalam mengeluarkan akta kelahiran. Oleh karena itu Kantor Catatan Sipil membutuhkan suatu sistem baru untuk mengatasi kecurangan atau pemalsuan data. Implementasi database terdistribusi memungkinkan pihak kantor catatan sipil dapat melakukan validasi dari surat keterangan kelahiran apakah benar dikeluarkan oleh pihak rumah sakit secara sah ataukah tidak. Hal ini memungkinkan pihak catatan sipil dapat melakukan pengecekan keabsahan surat keterangan, dikarenakan setiap data yang diisikan oleh pihak rumah sakit secara otomatis akan disalin atau diduplikasi ke dalam data Kantor Catatan Sipil, sehingga pihak catatan sipil tidak perlu melakukan validasi secara manual kepada pihak rumah sakit, atau pihak catatan sipil dapat menyatakan bahwa surat keterangan kelahiran yang dikeluarkan oleh pihak rumah sakit dan dilampirkan oleh orang tua bayi sebagai persyaratan pembuatan akta kelahiran adalah sah atau tidak. Pengecekan ini juga berfungsi untuk meminimalkan alur kerja pengumpulan surat keterangan kelahiran yang dikeluarkan oleh rumah sakit karena secara otomatis surat keterangan kelahiran bayi dapat dicek pada server admin dalam hal ini server Kantor Catatan Sipil. 1 Berdasarkan latar belakang masalah tersebut, maka dilakukan penelitian yang berjudul Perancangan Database Terdistribusi (Distributed Database) untuk Validasi Surat Keterangan Kelahiran pada Kantor Catatan Sipil Salatiga. Permasalahan yang dibahas dalam penelitian ini dibatasi dalam hal sebagai berikut: (1) Aplikasi dirancang menggunakan Visual Studio 2008 dan berbasis desktop (2) Proses Database Terdistribusi menggunakan metode Replication– Fragmentation Data. Tujuan dari penelitian ini adalah merancang Database Terdistribusi untuk proses validasi dan pengecekan surat keterangan kelahiran oleh Kantor Catatan Sipil Salatiga. Manfaat dari penelitian ini adalah untuk menghasilkan sistem Database Terdistribusi untuk proses validasi dan pengecekan surat keterangan kelahiran oleh Kantor Catatan Sipil Salatiga. 2. Tinjauan Pustaka Penelitian yang pernah dilakukan terkait pembuatan sistem akta kelahiran, dan database terdistribusi, yang menjadi acuan penelitian yang akan dilakukan, dijelaskan sebagai berikut. Penelitian berjudul Aplikasi Pembuatan Akta kelahiran di Kantor Catatan Sipil Kabupaten Ende Menggunakan Mircrosoft Visual Basic 6.0, menjelaskan bahwa diperlukan sebuah sistem yang berfungsi untuk membantu kantor catatan sipil Kabupaten Ende dalam membuat dan menyimpan informasi mengenai pencatatan akta kelahiran. Objek dari penelitian ini difokuskan pada pembuatan sebuah Aplikasi Pembuatan Akta Kelahiran di Kantor Catatan Sipil Kabupaten Ende. Data yang diperlukan dalam pembahasan Aplikasi Pembuatan Akte Kelahiran adalah data yang berkaitan dengan lokasi atau objek penelitian di kantor catatan sipil yaitu data primer dan sekunder. Aplikasi yang dibuat berbasis desktop ini dapat membantu kantor catatan sipil Kabupaten Ende dalam melakukan administrasi data akta kelahiran yang terjadi di kabupaten Ende [1]. Penelitian lain yang dilakukan dalam proses pencatatan akta kelahiran adalah penelitian berjudul Pembangunan Sistem Informasi Akta Kelahiran Dinas Kependudukan dan Pencatatan Sipil Sragen. Penelitian yang berbasis web dengan menggunakan PHP ini menunjukkan bahwa dalam pencatatan dan penyimpanan data kelahiran masih menggunakan cara konvensional dengan penyimpanan arsip kelahiran disimpan dalam bentuk hardcopy yang disimpan di dalam rak arsip sehingga proses pencarian laporan menjadi terlambat [2]. Penelitian lain yang dilakukan dalam proses pencatatan akta kelahiran adalah Perancangan Aplikasi Pendaftaran Akta Kelahiran Berbasis Web. Metode yang digunakan dalam pembuatan aplikasi pendaftaran akta kelahiran berbasis web ini yaitu menggunakan metode System Development Life Cycle (SDLC) dimana pada proses pembuatan aplikasi ini dimulai dari tahapan perencanaan, analisa kebutuhan, perancangan sistem, pembangunan sistem, pengujian dan implementasi. Aplikasi ini dibuat dengan menggunakan bahasa pemrograman PHP, HTML, dan Database MySQL. Hasil yang didapat dari aplikasi ini ialah pendaftaran akta kelahiran yang dapat dilakukan secara online dimana hasil dari pendaftaran dapat dilihat secara langsung setelah pendaftaran selesai dilakukan. 2 Aplikasi ini membantu masyarakat dalam proses pendaftaran akta dan meminimalis antrian saat proses pendaftaran akta [3]. Penelitian sebelumnya yang membahas tentang database terdistribusi adalah Perancangan Basis Data Terdistribusi untuk Barang dan Peralatan di Balai Riset dan Standarisasi Industri Palembang. Tujuan dari penelitian ini adalah untuk mempelajari dan menganalisis database yang sedang berjalan pada BARISTAND Palembang, merancang sebuah sistem database untuk mendukung kebutuhan data dalam proses pencatatan administrasi pada laboratorium dengan sistem database yang lebih terstruktur dan terintegrasi. Sistem menghasilkan sebuah database yang sudah terstruktur dan terintegrasi dengan masing–masing bagian, membantu perusahaan untuk memperoleh informasi tentang permasalahan dan menyelesaikan masalah yang ada dalam sistem database penjualan, persediaan, pembelian, dan produksi. Selain itu kesalahan sumber daya manusia atau human error dapat diminimalisir dengan adanya batasan-batasan yang ditetapkan dalam program, masing-masing user dapat memanipulasi data seperti menambah, menghapus, meng-update, dan mencari data, dengan adanya basis data ini, database yang ada pada perusahaan terintegrasi dengan baik [4]. Berdasarkan penelitian-penelitian sebelumnya terkait pembuatan sistem akta kelahiran, dan database terdistribusi, maka dilakukan penelitian yang membahas tentang perancangan database terdistribusi (distributed database) untuk validasi surat keterangan lahir pada Kantor Catatan Sipil di Salatiga, yaitu penerapan metode Database terdistribusi pada proses validasi surat keterangan kelahiran yang dikeluarkan oleh pihak rumah sakit yang kemudian akan diserahkan kepada pihak catatan sipil. Metode yang digunakan memungkinkan pihak catatan sipil mendapatkan informasi keabsahan surat keterangan kelahiran yang dikeluarkan oleh pihak rumah sakit. Hal ini dikarenakan pada saat proses administrasi data yang dilakukan oleh rumah sakit, secara otomatis pihak catatan sipil juga akan mendapatkan updated data (data yang terbaru). Akta Kelahiran adalah bukti sah mengenai status dan peristiwa kelahiran seseorang yang dikeluarkan oleh Dinas Kependudukan dan Catatan Sipil. Bayi yang dilaporkan kelahirannya akan terdaftar dalam Kartu Keluarga (KK) dan diberi Nomor Induk Kependudukan (NIK) sebagai dasar untuk memperoleh pelayanan masyarakat lainnya. Manfaat Akta Kelahiran adalah untuk identitas anak, administrasi kependudukan seperti KTP dan KK, keperluan sekolah, pendaftaran nikah di KUA, mendaftar pekerjaaan, pembuatan paspor, dan lainlain, sebagaimana yang tertera dalam Undang-Undang Nomor 23 Tahun 2002 tentang Perlindungan Anak. Terdapat beberapa tahapan dalam pengurusan akta kelahiran [5], yakni: (1) mengisi formulir yang disediakan oleh Dinas Kependudukan dan Pencatatan Sipil (Tersedia di Kecamatan atau Kelurahan); (2) Surat Keterangan Kelahiran dari Rumah Sakit/Bidan (Asli); (3) fotocopy KTP Orang Tua (Ayah dan Ibu); (4) fotocopy Kartu Keluarga (NIK Anak harus sudah masuk dalam KK); (5) fotocopy Akta Nikah atau Akta Perkawinan/Isbat dari Pengadilan Agama/putusan atau penetapan Pengadilan Negeri; (6) melampirkan fotocopy KTP dua orang saksi dari keluarga dekat; (7) Surat Keterangan Pelapor Kelahiran dari RT/RW dan 3 Kelurahan; dan (8) Surat Kuasa bermaterai cukup bagi yang pelaporannya dikuasakan. Apabila syarat-syarat telah dipenuhi dengan lengkap, pemohon dapat mengurus pembuatan akta kelahiran dan mendaftar ke loket yang ada di Dinas Kependudukan dan Catatan Sipil dan kemudian petugas dari Dinas Kependudukan dan Catatan Sipil akan melakukan langkah-langkah sebagai berikut [6]: (1) penelitian berkas; (2) memasukkan data dalam komputer; 3) pengecekan data dan diparaf oleh pemeriksa data; (4) penandatanganan oleh Kepala Dinas Kependudukan dan Catatan Sipil; (5) distempel atau dicap; dan (6) penyerahan Akta Kelahiran pada Pemohon. Database terdistribusi adalah kumpulan (elementer) yang secara logik berkaitan dalam merepresentasikan fenomena/fakta secara terstruktur dalam dominan tertentu untuk mendukung aplikasi pada sistem tertentu [7]. Contoh penerapan database terdistribusi adalah sebuah bank yang memiliki banyak cabang, bahkan di sebuah kota bisa terdiri dari beberapa cabang atau kantor. Masing-masing lokasi memiliki jaringan lokal sendiri, dan semua jaringan lokal tersebut dihubungkan satu sama lain membentuk sebuah jaringan nasional. Setiap cabang dan pusat harus saling terhubung dalam sebuah jaringan data sehingga proses pelaporan yang dibutuhkan oleh kantor pusat dapat dilakukan secara cepat dan tepat. Sebuah sistem database terdistribusi hanya mungkin dibangun dalam sebuah sistem jaringan komputer. Topologi jaringan yang digunakan dalam membangun sebuah database terdistribusi adalah ring, star, atau bus topologi. Ada beberapa pendekatan yang berkaitan dengan penyimpanan data atau tabel dalam sebuah sistem basis data terdistribusi, yaitu [7]: (1) Replikasi. Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek basis data dari satu basis data ke basis data lain dan melaksanakan sinkronisasi antara basis data sehingga konsistensi data dapat terjamin. Replikasi, dalam database terdistribusi merupakan pemisahan database ke berbagai lokasi (site) yang mana database satu dengan database yang lainnya memiliki struktur data yang sama. Sistem memelihara beberapa salinan (copy) dari relasi. Setiap salinan disimpan pada beberapa lokasi yang berbeda. Jika relasi r direplikasi, maka sebuah salinan dari relasi r disimpan pada dua atau lebih site. Dalam kasus yang esktrim, replikasi penuh (full replication) dapat dimiliki, dimana sebuah salinan dari relasi r dapat disimpan pada setiap site dalam sistem; (2) Fragmentasi, relasi dibagi ke dalam sejumlah sub relasi yang disebut fragmen-fragmen yang kemudian disebar. Terdapat dua tipe utama fragmentasi yaitu Fragmentasi Horizontal dan Fragmentasi Vertikal. Fragmentasi horizontal adalah relasi dibagi menjadi fragmen-fragmen berupa subset-subset tupel dari suatu relasi. Fragmentasi vertikal adalah relasi dibagi menjadi fragmen-fragmen berupa subsetsubset atribut dari relasi tersebut; dan (3) Replikasi dan Fragmentasi yang merupakan kombinasi dari replikasi dan fragmentasi. Data atau tabel dipilah dalam sejumlah fragmen. Sistem lalu mengelola sejumlah salinan dari masingmasing fragmen tadi di sejumlah simpul. Pendekatan yang digunakan dalam penelitian ini adalah pendekatan replikasi. Beberapa kelebihan dan kekurangan replikasi adalah: (1) availability. Jika salah satu dari site yang berisi relasi r mengalami kegagalan, maka relasi r 4 dapat ditemukan pada site lain sehingga sistem dapat melanjutkan memproses query yang berisi r walaupun terjadi kegagalan; (2) meningkatnya pemrosesan paralel, dalam hal sebagian besar pengaksesan terhadapa relasi r hanya menghasilkan pembacaan relasi, maka beberapa site dapat memproses query berisi r dalam bentuk paralel. Makin banyak replikasi r, maka semakin besar kemungkinan data yang dibutuhkan dapat ditemukan pada site dimana transaksi dieksekusi. Replikasi data dapat meminimalkan perpindahan data antar site; dan (3) meningkatnya overhead terhadap update dimana sistem harus menjamin bahwa seluruh replikasi dari sebuah relasi r adalah konsisten, jika tidak, maka akan menyebabkan kekeliruan perhitungan. Oleh karena itu, bilamana r di-update maka update tersebut harus disebarkan ke seluruh site yang berisi replikasi. Akibatnya, akan meningkatkan overhead. Sebagai contoh pada sistem perbankan dimana informasi rekening direplikasikan pada berbagai site dan diperlukan jaminan bahwa saldo rekening sesuai pada seluruh site. Ada beberapa ciri utama pada basis data terdistribusi yaitu: (1) data disimpan di sejumlah tempat; (2) prosessor pada tempat yang berbeda tersebut dihubungkan dengan jaringan computer; dan (3) sistem basis data terdistribusi bukan terdiri dari sekumpulan file yang berada pada berbagai tempat tetapi pada sebuah basis data di berbagai tempat. Gambar 1 Design Database Terdistribusi [7] Gambar 1 merupakan design database terdistribusi, dijelaskan sebagai berikut. Pada Gambar 1, terlihat bahwa setiap komputer yang melakukan proses bisnis saling terhubung ke dalam suatu sistem database yang saling terkoneksi sehingga mempermudah dalam proses pencarian data antar bagian dalam suatu perusahaan. Setiap tempat secara mandiri memproses permintaan user yang membutuhkan akses ke data di tempat tersebut dan juga dapat memproses data yang tersimpan di tempat lain. Pemanfaatan basis data terdistribusi dapat memberikan manfaat bagi sistem yang mengimplementasikannya. Hal ini disebabkan oleh kelebihan-kelebihan yang dimilikinya, antara lain [8]: Pertama adalah Kinerja, yang lebih baik karena data ditempatkan di tempat yang sesuai dengan kebutuhan dan komputerkomputer dalam sistem dapat bekerja secara paralel, sehingga pembebanan pada komputer (server) menjadi seimbang. Kedua adalah alasan Ekonomis, yaitu bahwa merancang sistem-sistem yang terdiri atas jaringan komputer-komputer kecil (sederhana) lebih ekonomis dibandingkan dengan mengimplementasikan 5 komputer tunggal yang handal. Ketiga adalah alasan modularitas, yaitu bahwa system-sistem yang bekerja dalam basis data terdistribusi dapat dimodifikasi, ditambah, atau dikurangi tanpa mempengaruhi modul lain (sistem lain dalam basis data terdistribusi). Pembagian lokasi data memberikan dampak bahwa jika terjadi masalah atau musibah pada sistem, tidak semua data terancam, melainkan hanya data pada tempat-tempat tertentu. Keempat adalah alasan organisasi dan otonomi pada sistem-sistem yang berpartisipasi, misalnya pada suatu kantor perusahaan, terdapat beberapa departemen, dengan basis data terdistribusi, data perusahaan dapat disebar ke tiap-tiap departemen yang bertanggung jawab atasnya. Di samping kelebihan-kelebihan yang dimilikinya, basis data terdistribusi juga memiliki kendala, antara lain: pertama, masalah kompleksitas, bukan pekerjaan yang mudah untuk membuat basis data yang tersebar terlihat sebagai satu kesatuan. Administrator basis data mempunyai tugas ekstra untuk menjaga agar basis data yang tersebar di berbagai lokasi terlihat transparan. Di samping itu, pemeliharaan sistem yang berlainan lebih kompleks daripada pemeliharaan sistem besar yang utuh sebagai satu kesatuan. Tingginya kompleksitas juga dapat menyebabkan pembengkakkan biaya. Kedua, masalah desain, desain yang dibuat harus memperhatikan arsitektur komputer yang terdiri atas sistem-sistem yang terpisah, selain itu juga memperhatikan data yang difragmentasi (dipecah-pecah) ke dalam lokasi berlainan. Perubahan dari basis data terpusat menjadi terdistribusi juga menjadi masalah karena belum ada standar metodologi dalam konversi DBMS terpusat menjadi DBMS terdistribusi. Ketiga, Keamanan data, bukan hanya satu sistem yang harus diberi proteksi keamanan data, melainkan juga fragmen-fragmennya yang tersebar di berbagai lokasi, juga jalur komunikasi antar sistem. Kendala mempertahankan integritas karena dalam menjaga integritas sistem melalui jaringan juga dapat memakan resource yang besar dari jaringan. Database terdistribusi dibagi atas dua tipe yakni heterogen dan homogen. Dalam sistem yang homogen, semua site menggunakan product DBMS (Data Base Management System) yang sama. Sistem homogen lebih mudah dirancang dan diatur. Pendekatan ini memberikan perkembangan yang baik, yaitu tidak mengalami kesulitan dalam membuat sebuah site baru pada DDBMS. Misalnya seluruh sistem menggunakan basis data Oracle yang bertempat di satu atau beberapa mesin. Oracle yang digunakan dapat berbeda versi, tetapi sistem harus dapat memahami perbedaan fungsionalitas yang ada di setiap simpul (basis data) sistem [9]. Sistem basis data heterogen yaitu sistem dimana setiap tempat yang berbeda menjalankan DBMS yang berbeda, baik relational DBMS (RDBMS) atau non relational DBMS. Misalnya dalam basis data terdistribusi sedikitnya satu sistem bagian tidak menggunakan basis data Oracle. Agar dapat saling berkomunikasi, perbedaan ini dapat dijembatani dengan menerapkan Oracle Transparent Gateway yang menggunakan layanan heterogen pada server Oracle (Oracle Heterogenous Services) dan agen yang spesifik terhadap sistem pada sistem non-Oracle [9]. 6 3. Metode dan Perancangan Sistem Penelitian yang dilakukan diselesaikan dalam beberapa tahapan, yaitu: (1) tahap identifikasi masalah; (2) tahap perancangan sistem; (3) tahap perancangan database terdistribusi; (4) tahap implementasi sistem; dan (5) tahap pengujian sistem. Gambar 2 Tahapan Penelitian Gambar 2 menunjukkan tahapan penelitian, dijelaskan sebagai berikut, (1) identifikasi masalah. Pada tahap ini dilakukan analisis terhadap permasalahan yang ada, yaitu mendapatkan data dan literatur yang terkait dengan database terdistribusi serta proses pengurusan surat keterangan kelahiran yang dikeluarkan oleh pihak rumah sakit. Selain itu pada tahap ini dilakukan proses wawancara dengan pihak Kantor Catatan Sipil mengenai proses pengurusan surat kelahiran. Hasil wawancara menunjukkan bahwa selama ini pihak catatan sipil tidak melakukan validasi atau pengecekan terhadap surat keterangan kelahiran yang dikeluarkan oleh rumah sakit maupun bidan sebelum mengeluarkan akta kelahiran bayi; (2) perancangan sistem. Pada tahap ini dilakukan proses perancangan sistem menggunakan Unified Modelling Language (UML) untuk mengetahui setiap proses beserta semua aktifitas dari masing-masing user yang akan dibangun pada sistem; (3) perancangan database, perancangan arsitektur, dan perancangan topologi jaringan untuk database terdistribusi. Pada tahap ini dibuat semua tabel yang akan digunakan pada sistem. Perancangan database terdistribusi pada sistem menggunakan trigger yang akan ditempatkan pada setiap tabel yang ada di database; (4) implementasi sistem. Tahap ini merupakan pengembangan lebih lanjut dari tahap perancangan sistem. Sistem dibuat sesuai dengan kebutuhan yang telah didefinisikan pada tahap sebelumnya. Pada tahap ini dibangun aplikasi yang di dalamnya sudah diintegrasikan dengan database terdistribusi; (5) pengujian sistem. Pada tahap ini dilakukan pengujian sistem, yaitu menjalankan proses implementasi sistem, dengan menguji hasil dari database terdistribusi. 7 Perancangan Database terdistribusi pada sistem dapat dilihat pada Gambar 3. Gambar 3 Rancangan Arsitektur Database Terdistribusi Gambar 3 menunjukkan rancangan Database Terdistribusi pada sistem, dimana terdapat dua client dan satu server. Client diartikan sebagai rumah sakit, dan server diartikan sebagai Kantor Catatan Sipil. Setiap komputer client akan diberikan aplikasi untuk memasukkan data surat keterangan kelahiran yang terjadi pada rumah sakit tersebut. Masing-masing client memiliki database aplikasi tersendiri. Setiap proses pencatatan yang terjadi pada client akan disimpan ke dalam database client dan kemudian data tersebut akan diduplikasi atau didistribusikan ke komputer server. Proses distribusi ini akan dilakukan melalui trigger yang diletakkan pada masing-masing database client sehingga setiap proses manipulasi data yang terjadi di database client akan ter-update otomatis di sisi server. Trigger adalah blok PL/SQL atau prosedur yang berhubungan dengan table, view, schema atau database yang dijalankan secara implisit pada saat terjadi sebuah event. Trigger merupakan store procedure yang dijalankan secara otomatis saat user melakukan modifikasi data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu berupa perintah INSERT, UPDATE, dan DELETE. Perintah INSERT, UPDATE dan DELETE dapat digabung jadi satu trigger yang dinamakan Multiple Trigger. Tipe dari trigger adalah [10]: 1) Application trigger, diaktifkan pada saat terjadi event yang berhubungan dengan sebuah aplikasi; 2) Database trigger, diaktifkan pada saat terjadi event yang berhubungan dengan data (seperti operasi Data Manipulation Language (DML)) atau event yang berhubungan dengan sistem (misalnya logon atau shutdown) yang terjadi pada sebuah schema atau database. Koneksi antar database yang digunakan pada SQL Server adalah Linked Server. Linked Server adalah suatu hubungan dari satu server ke server yang lain yang berbeda lokasi dan server-nya. Perbedaan juga dapat terjadi terhadap platform dari satu database dengan database yang lainnya, misalnya Server Database SQL Server dengan Server Database Oracle atau yang lainnya. Secara khusus, linked server dipergunakan untuk menangani query terdistribusi. Ketika aplikasi client menjalankan query terdistribusi melalui suatu linked server, SQL Server melakukan parse perintah dan mengirimkan permintaan ke OLE DB. 8 Permintaan rowset dapat berada dalam bentuk menjalankan query terhadap provider atau membuka suatu tabel asal dari provider tersebut. Fungsi dari Linked Server adalah : (1) Kemampuan mengakses data dari sisi luar SQL Server; (2) Kemampuan terhadap masalah query terdistribusi, update, Command/perintah, dan transaksi pada sumber data yang heterogen (berbagai platform database) di antara perusahaan; dan (3) Kemampuan untuk mengarahkan sumber data yang berbeda secara sama. Gambar 4 Rancangan Topologi Jaringan Database Terdistribusi Gambar 4 merupakan rancangan topologi jaringan dalam mengimplementasikan database terdistribusi. Topologi jarigan yang dipilih adalah topologi star, dimana setiap perangkat atau komputer dihubungkan melalui switch atau hub. Perancangan proses pada sistem merupakan langkah yang harus dilakukan untuk menjelaskan kepada pengguna mengenai alur kerja secara garis besar dari sistem yang akan dikembangkan. Perancangan proses menggunakan diagram UML yaitu use case diagram dan class diagram. Use case Diagram merupakan diagram yang menjelaskan manfaat sistem, jika dilihat dari sudut pandang orang atau sesuatu yang berada di luar sistem yang sedang dibangun (aktor). Jenis diagram ini dapat digunakan untuk menangkap requirements sistem dan untuk memahami bagaimana sistem seharusnya bekerja [11]. Data User Login User Admin Data Kelahiran <<extend>> <<extend>> Data Rumah Sakit <<extend>> Data Dokter Data Orang Tua Data Bayi Gambar 5 Use Case Diagram Sistem Gambar 5 menunjukkan use case diagram pada sistem, dijelaskan sebagai berikut. Sistem memiliki 2 (dua) aktor yakni user, dan admin. User adalah pihak Rumah Sakit yang mempunyai hak untuk memasukkan data kelahiran bayi yang meliputi data dokter, data orang tua, dan data bayi. Sedangkan admin adalah Kantor Catatan Sipil Salatiga yang berfungsi untuk memasukkan data rumah sakit 9 serta mempunyai hak untuk mengecek data kelahiran yang telah dimasukkan oleh user. Class diagram merupakan diagram yang membantu dalam visualisasi struktur kelas-kelas dari suatu sistem. Pada diagram ini, diperlihatkan hubungan antar kelas dan penjelasan detail tiap-tiap kelas [11]. Gambar 6 Class Digram Sistem Gambar 6 menunjukkan class diagram yang digunakan dalam sistem. Pada Gambar 6, terlihat relasi antar kelas yang digunakan pada sistem. Hubungan antar class menggunakan derajat relasi one to one dan one to many dimana derajat relasi ini akan digunakan sebagai acuan rancangan database yang digunakan pada sistem. Acuan ini juga nantinya akan memetakan setiap primary key dan foreign key pada setiap tabel. 4. Pembahasan dan Hasil Pengujian Pada sisi server, aplikasi ini hanya dapat digunakan oleh admin pada Kantor Catatan Sipil. Oleh karena itu pada aplikasi ini dilengkapi keamanan berupa hak akses yaitu menu login seperti pada Gambar 7. Gambar 7 Form Menu Login Pada Sistem ini, admin hanya diberikan beberapa menu pilihan yaitu menu Set Up dan Cetak SK Lahir. Menu Set Up mengijinkan admin untuk 10 menambahkan data rumah sakit. Surat Keterangan Kelahiran dapat dicetak pada sisi admin kemudian dapat ditunjukkan sebagai bukti kelahiran untuk pengurusan akta kelahiran dari pihak orang tua kepada pihak catatan sipil. Gambar 8 Form Pencarian Data (Surat Keterangan Kelahiran) Gambar 8 menunjukkan form pencarian surat keterangan kelahiran. Surat keterangan kelahiran ini dapat dicek oleh pihak catatan sipil melalui sistem dengan cara memasukkan id surat keterangan kelahiran. Gambar 9 Contoh Surat Keterangan yang dihasilkan oleh Sistem Gambar 9 menunjukkan salah satu contoh Surat Keterangan Kelahiran yang dihasilkan oleh sistem. Pada surat keterangan kelahiran tersebut terlihat jelas bahwa antar database sudah terintegrasi dan berjalan dengan baik. Pada sisi client, aplikasi ini hanya dapat digunakan oleh user pada rumah sakit. Oleh karena itu pada aplikasi ini juga dilengkapi keamanan berupa hak akses yaitu menu login seperti pada sisi server. Apabila user sudah berhasil masuk ke dalam aplikasi, user diberikan beberapa menu pilihan seperti melakukan proses input Master Data, Set Up, Delete Data, Cetak SK Lahir dan logout. 11 Gambar 10 merupakan menu untuk melakukan proses input data Bayi, Orang Tua dan Dokter. Gambar 10 Menu Pilihan Input Data Pada uji coba aplikasi yang dibuat, dilihat kemampuan aplikasi dalam melakukan layanan yang baik dan tepat pada user. Gambar 11 Form Input Data Dokter Gambar 11 merupakan form input data dokter. Data dokter pada setiap rumah sakit akan disimpan pada server rumah sakit yang kemudian secara otomatis akan diduplikasi ke server admin dalam hal ini server catatan sipil. Proses duplikasi data ini akan dilakukan melalui trigger yang telah terpasang pada tabel dokter. 12 Gambar 12 Form Input Data Orang Tua Gambar 12 merupakan form input data orang tua, yang digunakan untuk memasukkan data orang tua bayi. Data orang tua yang dimasukkan pada server user (rumah sakit) kemudian akan diduplikasikan ke server admin (catatan sipil) melalui proses trigger yang telah terpasang pada tabel orang tua. Gambar 13 Form Input Data Bayi Gambar 13 merupakan form input data bayi, yang digunakan untuk memasukkan data bayi pada sistem. Data bayi merupakan data yang dibutuhkan oleh pihak rumah sakit untuk mengeluarkan surat keterangan kelahiran bayi. Surat keterangan kelahiran bayi ini kemudian akan dicek keabsahannya oleh pihak catatan sipil untuk memastikan apakah benar bayi tersebut lahir sesuai dengan surat yang dilampirkan oleh orang tua dalam pengurusan akta kelahiran. Data ini secara otomatis akan disalin dari server user ke server admin sehingga admin (catatan sipil) tidak perlu melakukan pengecekan secara langsung keabsahan surat keterangan kelahiran yang dibawa oleh orang tua sebagai persyaratan pengurusan akta kelahiran. Perancangan database terdistribusi pada aplikasi adalah dengan menggunakan trigger pada setiap tabel yang ada pada sistem. 13 Kode Program 1 Trigger Pada Tabel Dokter 1. 2. 3. 4. ALTER trigger [dbo].[dokteradd] on [dbo].[Tbl_Dokter] after insert as insert into db_aktaduplikasi.dbo.tbl_dokter (iddokter, nama, alamat, kelamin, notelp, spesialisasi, idrs) select iddokter, nama, alamat, kelamin, notelp, spesialisasi, idrs from inserted 5. ALTER trigger [dbo].[dokterdelete] on [dbo].[Tbl_Dokter] after delete as 6. delete from db_aktaduplikasi.dbo.tbl_dokter where 7. db_aktaduplikasi.dbo.tbl_dokter.iddokter = tbl_dokter.IDDokter 8. ALTER trigger [dbo].[dokterupdate] on [dbo].[Tbl_Dokter] after update as 9. update db_aktaduplikasi.dbo.tbl_dokter 10. set iddokter = (select iddokter from inserted), 11. nama = (select nama from inserted), 12. alamat = (select alamat from inserted), 13. kelamin = (select kelamin from inserted), 14. notelp = (select notelp from inserted), 15. spesialisasi = (select spesialisasi from inserted), 16. idrs = (select idrs from inserted) 17. where 18. iddokter = (select iddokter from inserted) 19. and idrs = (select idrs from inserted) Kode Program 1 merupakan perintah untuk trigger yang diletakkan pada tabel dokter. Perintah pada baris-1 sampai dengana baris ke-4 merupakan perintah untuk melakukan proses duplikasi data ke server admin dimana data yang diduplikasi ke server admin sesuai dengan data yang dimasukkan ke server user. Perintah pada baris ke-5 sampai ke-7 merupakan perintah yang digunakan untuk melakukan proses penghapusan data di server admin sesuai dengan data yang dihapus di server user. Perintah pada baris ke-8 sampai dengan baris ke-19 merupakan perintah untuk mengubah data di server admin sesuai dengan data yang diubah pada server user. Proses tambah, hapus, dan edit pada server admin dilakukan setelah proses tambah, hapus, dan edit dilakukan pada server user. Kode Program 2 Trigger Pada Tabel Orang Tua 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ALTER trigger [dbo].[ortuadd] on [dbo].[Tbl_Ortu] after insert as insert into db_aktaduplikasi.dbo.tbl_Ortu (idOrtu, nama, alamat, Telp, StatusHub, idrs) select idOrtu, nama, alamat, Telp, StatusHub, idrs from inserted ALTER trigger [dbo].[Ortudelete] on [dbo].[Tbl_Ortu] after delete as delete from db_aktaduplikasi.dbo.tbl_Ortu where db_aktaduplikasi.dbo.tbl_Ortu.idOrtu = tbl_Ortu.IDOrtu ALTER trigger [dbo].[Ortuupdate] on [dbo].[Tbl_Ortu] after update as update db_aktaduplikasi.dbo.tbl_Ortu set idOrtu = (select idOrtu from inserted), nama = (select nama from inserted), alamat = (select alamat from inserted), Telp = (select Telp from inserted), StatusHub = (select StatusHub from inserted), idrs = (select idrs from inserted) where idOrtu = (select idOrtu from inserted) and idrs = (select idrs from inserted) Kode Program 2 merupakan perintah trigger yang diletakkan pada tabel orang tua. Penjelasan Kode Program 2 sama seperti Kode Program 1 dimana perintah pada baris ke-1 sampai ke-4 merupakan fungsi untuk melakukan proses duplikasi data ke server admin, perintah pada baris ke-5 sampai baris ke-7 merupakan fungsi untuk proses delete data di server admin, dan perintah pada 14 baris ke-8 sampai baris ke ke-18 merupakan perintah untuk proses edit data orang tua di server admin. Kode Program 3 Trigger Pada Tabel Bayi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ALTER trigger [dbo].[bayiadd] on [dbo].[Tbl_Bayi] after insert as insert into db_aktaduplikasi.dbo.tbl_Bayi (id, nama, kelamin, Tanggallahir, Iddokter, idrs) select id, nama, kelamin, Tanggallahir, Iddokter, idortu, berat, panjang, idrs from inserted ALTER trigger [dbo].[Bayidelete] on [dbo].[Tbl_Bayi] after delete as delete from db_aktaduplikasi.dbo.tbl_Bayi where db_aktaduplikasi.dbo.tbl_Bayi.id = tbl_Bayi.Id ALTER trigger [dbo].[Bayiupdate] on [dbo].[Tbl_Bayi] after update as update db_aktaduplikasi.dbo.tbl_Bayi set id = (select id from inserted), nama = (select nama from inserted), kelamin = (select kelamin from inserted), Tanggallahir = (select Tanggallahir from inserted), Iddokter = (select Iddokter from inserted), idortu = (select idortu from inserted), berat = (select berat from inserted), panjang = (select panjang from inserted), idrs = (select idrs from inserted) where id = (select id from inserted) and idrs = (select idrs from inserted) Kode Program 3 merupakan trigger yang terletak pada tabel bayi. Trigger berfungsi untuk melakukan duplikasi data yang dimasukkan oleh pihak rumah sakit yang kemudian akan diduplikasi ke server admin, yang dilakukan dengan perintah pada baris ke-1 sampai baris ke-3. Perintah pada baris ke-4 sampai dengan baris ke-6 merupakan perintah untuk proses penghapusan data bayi di server admin sedangkan perintah pada baris ke-7 sampai dengan baris ke ke-18 merupakan perintah untuk proses update data bayi di server admin. Selain melakukan pengujian sistem melalui pengujian aplikasi maka dilakukan pula pengujian aplikasi menggunakan black box. Pengujian black box merupakan pengujian yang akan menjelaskan status dari masing-masing proses dalam sistem, apakah sudah sesuai dengan yang diharapkan atau tidak. Hasil pengujian sistem berbasis black box, ditunjukkan pada Tabel 1. Tabel 1 Hasil Black Box Testing untuk Proses Output No 1 2 Poin Pengujian Validasi Input Data Input Pengujian Form Login Verifikasi username dan password. Username dan password Pengujian Form Master Data Data yang dibutuhkan untuk masingmasing form. Data yang harus diisi karena merupakan primary key pada 15 Hasil Uji Sistem akan memberikan peringatan kepada user apabila tidak mengisi username atau password. Selain itu apabila password dan username sama dengan yang terdaftar pada database, maka user dapat mengakses halaman utama. Sistem akan memberikan peringatan bahwa data yang diisi tidak lengkap dan data tersebut tidak akan disimpan dalam database apabila ada data yang tidak valid. Sebaliknya sistem Status Uji Valid Valid masingmasing tabel yang ada di dalam database. 3 Pengujian Database Terdistribusi Semua Data 4 Pengujian Laporan Laporan yang ditampilkan Semua data dokter, bayi, dan orang tua akan menyimpan data yang valid ke dalam database. Database secara langsung akan melakukan fungsi tambah, hapus, dan edit pada sisi server apabila terjadi proses tambah, hapus, dan edit pada sisi user. Aplikasi dapat menghasilkan Surat Keterangan Kelahiran bayi pada sisi admin (pihak catatan sipil) maupun pada sisi user (rumah sakit) Valid Valid Berdasarkan hasil pengujian black box dari masing-masing proses pada Tabel 1, maka dapat disimpulkan bahwa database terdistribusi yang dibuat dapat melakukan duplikasi data dari database user ke database admin. Hal ini dapat dilihat dengan adanya proses tambah, hapus, dan edit data pada sisi server yang secara real time terjadi apabila terjadi proses tambah, hapus, dan edit data pada sisi user. 5. Simpulan Berdasarkan pembahasan, pengujian, dan analisis sistem, maka dapat diambil kesimpulan bahwa Database Terdistribusi yang dirancang dapat membantu pihak catatan sipil kota Salatiga dalam melakukan validasi atas surat keterangan kelahiran yang dijadikan sebagai salah satu persyaratan pengurusan akta kelahiran anak sehingga dapat meminimalkan tindak pemalsuan surat keterangan kelahiran, yang sebelumnya tidak pernah dicek oleh catatan sipil Salatiga. Saran pengembangan sistem ke depan adalah sistem dapat dibuat terintegrasi antara sistem pengurusan akta kelahiran bayi sehingga seluruh proses pembuatan akta kelahiran serta validasi seluruh dokumen persyaratan dapat diintegrasikan menjadi satu kesatuan sistem yang utuh. 6. Daftar Pustaka [1] Sai, H., 2009, Aplikasi Pembuatan Akta Kelahiran di Kantor Catatan Sipil Kabupaten Ende Menggunakan Visual Basic 6.0, Diakses melalui http:// ie.akprind.ac.id/content/biblio/aplikasi-pembuatan-akte-kelahiran-di-kantorcatatan-sipil-kabupaten-ende-menggunakan Suripto, M., 2014, Pembangunan Sistem Informasi Akta Kelahiran Dinas Kependudukan dan Catatan Sipil Sragen, IJNS - Indonesian Journal on Networking and Security /Vol. 3/ No.3/ISSN: 2302-5700 (Print) 2354-6654 (Online). Rumiyati, F., 2014, Perancangan Aplikasi Pendaftaran Akta Kelahiran Berbasis Web, Diakses melalui http://eprints.ums.ac.id. [2] [3] 16 [4] Erico, A., 2013, Perancangan Basis Data Terdistribusi untuk Barang dan Peralatan di Balai Riset dan Standarisasi Industri Palembang, Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Bina Darma Palembang. [5] Admin, 2016. Tata Cara Pengurusan Akta Kelahiran, Diakses melalui www.bandungkab.com [6] Admin, 2016. Prosedur Penertiban Akta Kelahiran, Diakses melalui www.satulayanan.com. [7] Hariyanto, B., 2004. Sistem Manajemen Basis Data, Penerbit Informatika Bandung. [8] Fathansyah, 2004. Sistem Basis Data, Penerbit Informatika Bandung. [9] Lintang, 2013. Sistem Basis Data, Diakses melalui irmarr.staff.gunadarma.ac.id/Downloads. [10] Hari, 2010. Pengertian Trigger, Diakses melalui http://www.haritsthinkso.com/2010/01/pengertian-trigger-pada-sql.html [11] Nugroho, A., 2010. Mengembangkan Aplikasi Basis Data Menggunakan C# + SQL Server, Yogyakarta : Penerbit Andi Offset. 17