RANCANGAN DATABASE DAN STRATEGI PENYELESAIANNYA UNTUK SINKRONISASI DATA
Aktifitas perancangan database bukanlah perkara yang
mudah dilakukan karena harus mempertimbangkan banyak aspek terkait.
Pengembang sistem biasanya merancang dan menggunakan kode-kode data
dalam rancangan database-nya. Penggunaan kode data tersebut memiliki
beberapa alasan, antara lain untuk:
- Efisiensi memori
- Memudahkan pertukaran data antar unit
- Mengurangi jumlah redundansi data
- Meningkatkan akurasi data
- Fleksibilitas data
- Konsistensi item data
- Tipe data.
- ukuran data.
- Domain data.
- Bersifat data oriented dan bukan program oriented.
- Dapat digunakan oleh pemakai yang berbeda-beda atau beberapa program aplikasi tanpa perlu mengubah database.
- Data dalam database dapat berkembang dengan mudah, baik volume maupun strukturnya.
- Data yang ada dapat memenuhi kebutuhan sistem-sistem baru secara mudah.
- Data dapat digunakan dengan cara yang berbeda-beda.
- Data redundancy minimal.
menggunakan DFD dan ER_D.Hasil rancangan database dapat dikatakan mencapai hasil yang optimal jika mampu memenuhi lima kriteria, yaitu:
- Memiliki struktur record yang konsisten secara logik.
- Memiliki struktur record yang mudah untuk dimengerti.
- Memiliki struktur record yang sederhana dalam pemeliharaan
- Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pengguna.
- Kerangkapan data minimal.
melakukan perancangan database adalah:
- Tidak mempersiapkan rancangan yang dapat digunakan pada perkembangan sistem di masa mendatang.
- Pembuatan relasi yang salah.
- Pembuatan relasi yang redundansi.
- Adanya redundansi data.
- Kesalahan pemilihan primary key untuk suatu tabel.
- Kesalahan pemilihan tipe data.
Dalam konteks implementasi e-Gov di Indonesia, pengaturan aspek teknis memiliki tujuan agar mekanisme pertukaran data mencapai tingkat interoperabilitas yang tinggi, sehingga transfer data dari sumber ke tujuan dapat dilakukan tanpa mempedulikan heterogenitas platform perangkat keras dan perangkat lunak yang digunakan. Pada tataran kebijakan, protokol pertukaran data perlu disusun untuk menjamin tingkat interoperabilitas yang tinggi.Secara teknis, persoalan interoperabilitas di atas heterogenitas aplikasi telah dapat diselesaikan menggunakan teknologi XML (eXtensible Markup Language). XML adalah sebuah format dokumen yang mampu menjelaskan struktur dan semantik (makna) dari data yang dikandung oleh dokumen tersebut.
XML digunakan oleh web services sebagai format dokumen dalam pertukaran data antar aplikasi. Karena XML merupakan suatu format dokumen yang berbasis teks, maka web services memungkinkan berlangsungnya komunikasi antar aplikasi yang berbeda dengan platform yang berbeda pula. Web services dapat diimplementasikan dalam berbagai jenis platform dengan menggunakan bahasa pemrograman apa pun.XML telah menjadi standar de-facto pertukaran data antar aplikasi. Spesifikasi format XML telah distandarkan menjadi referensi yang sama bagi setiap aplikasi yang memerlukan. Kebijakan penyeragaman format dan mekanisme pertukaran data antar instansi juga diperlukan untuk mengatasi isu-isu terkait dengan interoperabilitas antar sistem, seperti keamanan dan integritas data, pembagian kewenangan, dan masalah legaL.
Penggunaan kode data merupakan bagian dari upaya optimalisasi rancangan
database. Alasan utama penggunaan kode data dalam rancangan database adalah untuk efisiensi memori, mencirikan nilai item data tertentu, dan memudahkan pengelolaan data. Kode data perlu dirancang sekaligus pada saat perancangan database dan didokumentasikan dengan jelas. Dengan menggunakan kode data, maka proses validasi dan kontrol terhadap nilai-nilai item data dapat dilakukan secara terprogram. Dalam beberapa kasus, kode data hanya digunakan dalam internal sistem, tidak perlu ditampilkan kepada para pengguna database. Kode dapat berupa kumpulan angka, huruf dan karakter khusus.
Penggunaan kode data bertujuan untuk :
- Mewakili sejumlah informasi yang kompleks.
- Mengidentifikasi data secara unik.
- Meringkas atau menyederhanakan data.
- Melakukan klasifikasi data.
- Menyampaikan makna tertentu untuk pemrosesan berikutnya.
- Kode sekuensial, yaitu kode yang dirancang dengan mengasosiasikan data dengan kode terurut (biasanya berupa bilangan asli atau abjad). Keunggulan pengkodean sekuensial adalah memudahkan pengecekan apabila terjadi kesalahan pengkodean karena pengecekan terjadinya kesalahan bisa dilakukan secara terprogram, selain itu juga memudahkan proses pengurutan data. Kelemahan pengkodean sekuensial adalah kode yang diberikan sebenarnya tidak membawa kandungan informasi di dalamnya dan tidak menjelaskan apa-apa tentang atributnya. Penyisipan item data baru pada titik tengah juga memerlukan penomoran kembali item-item data.
- Kode blok, yaitu kode yang dirancang dengan cara menyatakannya dalam format tertentu. Keunggulan penggunaan kode blok adalah memungkinkan penyisipan kode baru dalam satu blok tanpa harus mengorganisasikan kembali seluruh struktur kode. Semakin banyak digit dalam range kode, semakin banyak pula item data yang dapat ditempatkan dalam kode blok. Kelemahan penggunaan kode blok seperti halnya dengan kode sekuensial, kandungan informasi dari kode blok blok tidak langsung diketahui sebelum dicocokkan dengan daftar arti dari kode blok.
- Kode mnemonik, yaitu kode yang dirancang berdasarkan akronim atau singkatan dari data yang ingin dikodekan. Keunggulan penggunaan kode mnemonik adalah memiliki informasi tingkat tinggi tentang item data yang diwakilinya, sehingga mudah untuk diingat. Kelemahan dari kode mnemonik biasanya adalah memiliki range yang terbatas dalam mewakili item-item data pada kelompoknya.
- Kode eksternal (user defined code), adalah kode yang disusun oleh pemakai awam (end user) untuk mewakili kode-kode yang telah lazim digunakan secara terbuka dan telah dikenal baik oleh para pengguna. Kode eksternal umumnya telah digunakan dalam catatan manual sehari-hari dan dapat diadobsi secara langsung dalam rancangan database, misal NIM, NIK, NIP, dan lainnya.
- Kode internal (system coding), merupakan kode-kode baru yang disusun oleh perancang database, dan umumnya digunakan sebagai kode untuk kunci relasi. Rancangan kode internal harus diupayakan agar mudah dipahami oleh para pengguna. Contoh kode internal adalah kode_propinsi, kode_kabupaten, kode_kecamatan, di mana dalam kehidupan sehari-hari jarang digunakan kode untuk ketiganya.
Contoh Penggunaan Kode dan DataUntuk menggambarkan beberapa permasalahan yang menjadi alasan pentingnya standarisasi kode data dalam rancangan database, uraian berikut menunjukkan beberapa contoh kasus terkait dengan penggunaan kode data dalam rancangan database.
- Kode dan data jenis kelamin
- Kode dan data jenjang pendidikan
Jenjang_pendidikan Numeric[Auto Increment]
Keterangan:
1 = S3 4 = D4 7 = D1
2 = S2 5 = D3 11 = non akademik
3 = S1 6 = D2
Mengacu pada Kepmenkes No. 844 Tahun 2006), kode dan data jenjang pendidikan adalah sebagai berikut:
Jenjang_pendidikan Numeric [Auto Increment]
Keterangan:
01 = SD 06 = D3 11 = D3/A3 16 = S2
02 = SMP 07 = Sarjana Muda 12 = D4 17 =S3
03 = SMA 08 = D3/A2 13 = S1
04 = D1 09 = Akademi 14 = A4
05 = D1/A1 10 = D3 15 = Spesialis 1/2/AV
Mengacu pada Keputusan Gubernur DIY No. 3 Tahun 2005, kode dan data jenjang pendidikan adalah sebagai berikut:
Jenjang_pendidikan Char[1]
Keterangan:
1 = Tidak sekolah 4 = SLTA/sederajat 7 = Pascasarjana
2 = SD/sederajat 5 = Akademi/PT
3 = SLTP/sederajat 6 = Universitas
Dengan demikian, jika ada kode data jenjang pendidikan “1” maknanya akan
berbeda jika berada dalam sistem yang berbeda, bisa berarti “S3”, “SD”, atau “tidak sekolah”.
- Kode dan data wilayah
Kode propinsi Char[2]
Kode Kabupaten/Kota Char[2]
Kode Kecamatan Char[2]
Contoh penggunaan kode wilayah dalam SIAK adalah sebagai berikut:
34 = kode wilayah Propinsi DIY
01 = kode wilayah Kabupaten Kulon Progo
01 = kode wilayah Kecamatan Temon
Untuk mengkodekan wilayah Kecamatan Temon, Kabupaten Kulon Progo, Propinsi DIY dinyatakan sebagai “340101”. Mengacu pada UU No. 52 Tahun 2009, Nomor Induk Kependudukan (NIK) penduduk dikodekan 16 digit dengan format berikut:
AABBCCDDEEFFGGGG
Keterangan:
AA (1‐2): kode propinsi NIK diterbitkan
BB (3‐4): kode kabupaten/kota NIK diterbitkan.Angka 70 menandakan nama “kota”
CC (5‐6): kode kecamatan NIK diterbitkan
DD (7‐8): tanggal lahir. Jika perempuan, tanggalnya ditambah 40.
EE (9‐10): bulan lahir
FF( 11‐12): dua angka terakhir tahun lahir.
GGGG (13‐16):nomor urut 0001‐9999, berurutan sesuai dengan12 angka sebelumnya.
Sementara itu, jika mengacu pada Kepmenkes No. 844 Tahun 2006, kode wilayah adalah sebagai berikut:
Kode propinsi Char[2]
Kode Kabupaten/Kota Char[2]
Kode Kecamatan Char[2]
Kode Desa Char[3]
Dibandingkan dengan kode dan data wilayah dalam SIAK dan e-KTP, perbedaan
kode wilayah terjadi pada penetapan kode desa. Mengacu pada Dokumen Kamus Data Pendidikan Pangkalan Data Pendidikan Tinggi (PDPT) Dirjen Dikti Kemdiknas (2011), kode dan data wilayah adalah sebagai berikut:
Kode propinsi Numeric[Autoincrement]
Kode Kabupaten/Kota Numeric[Autoincrement]
Perbedaan kode dan data wilayah terjadi pada tipe dan ukuran data.Penggunaan tipe data numerik untuk kode propinsi dan kode kabupaten tidak lazim digunakan untuk item data yang tidak akan dioperasikan secara aritmatika, di samping itu penggunaan autoincrement menunjukkan indikasi hanya untuk memudahkan proses pemrograman saja. Mengacu pada Keputusan Gubernur DIY No. 3 Tahun 2005, kode dan data wilayah adalah sebagai berikut:
Kode propinsi Char[2]
Kode Kabupaten/Kota Char[2]
Kode Kecamatan Char[2]
Dibandingkan dengan kode dan data wilayah dalam SIAK dan e-KTP, perbedaan
kode wilayah terjadi pada penetapan kode wilayah, yaitu:
12 = kode wilayah Propinsi DIY
04 = kode wilayah Kabupaten Kulon Progo
02 = kode wilayah Kecamatan Temon
Sehingga untuk mengkodekan wilayah Kecamatan Temon, Kabupaten Kulon Progo, Propinsi DIY dinyatakan sebagai “120402000” dimana 3 digit terakhir menyatakan urutan desa dalam masing-masing kecamatan.
- Kode dan data lainnya
0 komentar:
Posting Komentar