ABSTRACT
Until now there has been no standardization of data code for the design of the
database, especially for developing information systems in local government. As a
result, many information systems use different codes. Different uses of data code has led
to difficulties in the process of presenting information that must be fulfilled by multisectoral information systems. This paper discusses the problems associated with
different uses of data code in the database design, and propose an alternative solution
to solve it. The flow of the discussion starts with the basic concepts of databases, case
examples the different uses of data code in multiple systems multisectoral, urgency and
effort to standardize data code in database design, and then propose a strategy to
synchronize the values of data items between databases that use different data codes.
Key
information
systems,
standardization,
ABSTRAK
Sampai saat ini belum ada pembakuan resmi tentang penggunaan kode data untuk
desain database, khususnya untuk mengembangkan sistem informasi di lingkungan
pemerintah daerah. Akibatnya, banyak sistem informasi menggunakan rancangan kode
data yang berbeda-beda. Perbedaan penggunaan kode data dapat menyebabkan kesulitan
dalam proses menyajikan informasi yang harus dipenuhi dari sistem informasi
multisektor. Makalah ini membahas masalah yang terkait dengan perbedaan
penggunaan kode data dalam rancangan database, dan mengusulkan solusi alternatif
untuk menyelesaikannya. Alur pembahasan dimulai dengan konsep dasar tentang
database, contoh-contoh kasus perbedaan penggunaan kode data dalam beberapa sistem
multisektoral, urgensi dan upaya untuk membakukan kode data dalam desain database,
dan kemudian mengusulkan strategi untuk melakukan sinkronisasi nilai-nilai item data
antar database yang menggunakan kode data yang berbeda.
Kata kunci: kode data, sistem informasi multi-sektoral, standarisasi, sinkronisasi.
PENDAHULUAN
record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pengguna,
serta 5) kerangkapan data minimal (Martin, 1975).
Whitten (2001) menyatakan bahwa rancangan database yang baik adalah jika
efektif pada saat digunakan. Efektifitas database dapat tercapai jika memenuhi lima
kebutuhan yaitu: 1) memastikan data agar dapat diakses oleh banyak user pada banyak
aplikasi, 2) maintain data secara akurat dan konsisten, 3) memastikan data yang
dibutuhkan baik sekarang maupun yang akan datang dapat tersedia, 4) database dapat
memenuhi kebutuhan sesuai dengan pertumbuhan user, dan 5) database dapat
memenuhi kebutuhan pembacaan data tanpa mempedulikan bagaimana data secara fisik
tersimpan.
Untuk memperoleh rancangan database yang terbaik, aktivitas perancangan
database dilakukan menggunakan sebuah metodologi tertentu. Terdapat sejumlah
alternatif metodologi yang ditawarkan oleh para pakar maupun para pengembang,
umumnya tahapan itu meliputi: 1) analisis kebutuhan, 2) perancangan konseptual, 3)
perancangan logikal, 4) perancangan fisikal, serta 5) penyesuaian (Powell, 2006).
Database sebagai teknologi penyimpanan data yang permanen akan dapat dirubah
menjadi sebuah senjata teknologi yang handal untuk menang di dalam menghadapi
persaingan (Warnars, 2010). Database yang terintegrasi dapat membantu proses
penyimpanan data-data penting dengan baik dan aman sehingga dapat menghasilkan
laporan yang akurat (Adhitya, 2012). Sebaliknya, rancangan struktur relasi database
yang kurang baik dapat mengakibatkan modification anomaly, sehingga relasi tersebut
harus dinormalisasi. Modifikasi data pada relasi yang sudah dinormalisasi akan
menghadapi masalah referential integrity constraint. Masalah ini menyebabkan data
tidak konsisten dan menghasilkan informasi yang salah. Referential integrity constraint
tergantung pada minimum relationship cardinality (Yuliana, 2001).
Beberapa kesalahan umum yang sering dilakukan oleh pengembang saat
melakukan perancangan database adalah: 1) tidak mempersiapkan rancangan yang
dapat digunakan pada perkembangan sistem di masa mendatang, 2) pembuatan relasi
yang salah, 3) pembuatan relasi yang redundansi, 4) adanya redundansi data, 5)
kesalahan pemilihan primary key untuk suatu tabel, serta 6) kesalahan pemilihan tipe
data (Noertjahyana, Rostianingsih, dan Handojo, 2005). Mempelajari prinsip-prinsip
perancangan database yang baik akan sangat berguna, karena apabila rancangan itu
tidak atau kurang baik maka di samping akan membuang waktu juga dapat
menghasilkan sistem yang tidak sesuai dengan keinginan pengguna, dan bahkan
memerlukan tambahan dana untuk memperbaiki atau melengkapi rancangan tersebut
(Handoko, 1995).
Salah satu permasalahan rancangan database yang dihadapi oleh berbagai instansi
pemerintah daerah saat ini adalah terkait dengan aspek interoperabilitas data dalam
database. Permasalahan muncul karena database dikembangkan dalam format dan
lokasi yang terpisah, dikembangkan oleh pengembang yang berbeda, pada waktu yang
berbeda, untuk sistem yang berbeda, sehingga hasil rancangan database menjadi
bervariasi dan tidak terintegrasi (Ewald dan Wolk, 2010).
Pada sisi yang lain, perkembangan kebutuhan data atau informasi yang bersifat
multisektoral saat ini semakin dibutuhkan, karena memang banyak urusan yang bersifat
multisektoral. Kebutuhan tersebut tidak bisa dipenuhi oleh satu sumber informasi saja,
sehingga diperlukan komposisi dari banyak sumber data. Pemenuhan kebutuhan data
dan informasi multisektor perlu ditangani secara komprehensif, baik pada aspek teknis
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: 1) mewakili sejumlah informasi yang
kompleks, 2) mengidentifikasi data secara unik, 3) meringkas atau menyederhanakan
data, 4) melakukan klasifikasi data, serta 5) menyampaikan makna tertentu untuk
pemrosesan berikutnya (Setiawan, 2003). Setiawan (2003) juga menjelaskan kriteria
kode yang benar, yaitu jika memenuhi kriteria: 1) mengidentifikasi suatu obyek secara
unik, 2) memungkinkan adanya pengembangan yang terencana, 3) ditetapkan secara
standar. Rancangan kode data sebaiknya dilakukan agar: 1) mudah diingat, 2) unik, 3)
fleksibel, 4) efisien, 5) konsisten, 6) distandarisasi, 7) menghindari spasi, 8)
menghindari
karakter
yang
mirip,
serta
9)
panjang
kode
harus
sama
dalamnya dan tidak menjelaskan apa-apa tentang atributnya. Penyisipan item data
baru pada titik tengah juga memerlukan penomoran kembali item-item data.
2. 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.
3. 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 data berdasarkan pembentukannya dibedakan sebagai (Ladjamudin, 2005):
1. 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.
2. 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,
METODE
Tulisan ini merupakan hasil kajian pustaka yang mengungkap contoh-contoh
problem perancangan database sebagai dasar pemikiran urgensi kebijakan standarisasi
kode data dalam rancangan database khususnya untuk penerapan pada sistem layanan
publik di lingkungan pemerintah daerah, upaya-upaya yang telah dilakukan, motivasi
penyusunan standarisasi kode dan data dalam rancangan database, serta usulan strategi
untuk melakukan sinkronisasi kode dan data antar database multisektoral.
PEMBAHASAN
Contoh Penggunaan Kode dan Data
Untuk 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.
1.
pegawai, karyawan, anggota, pasien, dan lainnya. Jenis kelamin sering dikodekan
sebagai P dan W untuk menyatakan pria dan wanita, atau L dan P untuk
mengkodekan laki-laki dan perempuan, ada juga yang menggunakan kode 1 dan
0, atau bahkan sekalipun tidak lazim ada juga yang menggunakan True dan
False dengan default True yang diartikan sebagai jenis kelamin laki-laki, atau
1 untuk menyatakan laki-laki dan 2 untuk kode perempuan. Dengan demikian,
jika ada kode data P maknanya bisa jadi akan berbeda jika berada dalam sistem
yang berbeda.
2.
7=D1
2=S2
5=D3
11=nonakademik
3=S1
6=D2
Mengacu pada Kepmenkes No. 844 Tahun 2006), kode dan data jenjang pendidikan
adalah sebagai berikut:
Jenjang_pendidikanNumeric[AutoIncrement]
Keterangan:
01=SD
06=D3
11=D3/A3
02=SMP
07=SarjanaMuda
12=D4
03=SMA
08=D3/A2
13=S1
04=D1
09=Akademi
14=A4
15=Spesialis1/2/AV
05=D1/A1
10=D3
16=S2
17=S3
Mengacu pada Keputusan Gubernur DIY No. 3 Tahun 2005, kode dan data jenjang
pendidikan adalah sebagai berikut:
10
Jenjang_pendidikanChar[1]
Keterangan:
1=Tidaksekolah
4=SLTA/sederajat
2=SD/sederajat
5=Akademi/PT
3=SLTP/sederajat
6=Universitas
7=Pascasarjana
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.
3.
Administrasi
Kependudukan
(SIAK)
yang
dikembangkan
oleh
11
Sementara itu, jika mengacu pada Kepmenkes No. 844 Tahun 2006, kode wilayah
adalah sebagai berikut:
KodepropinsiChar[2]
KodeKabupaten/KotaChar[2]
KodeKecamatanChar[2]
KodeDesaChar[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:
KodepropinsiNumeric[Autoincrement]
KodeKabupaten/KotaNumeric[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:
KodepropinsiChar[2]
KodeKabupaten/KotaChar[2]
KodeKecamatanChar[2]
Dibandingkan dengan kode dan data wilayah dalam SIAK dan e-KTP, perbedaan
kode wilayah terjadi pada penetapan kode wilayah, yaitu:
12=kodewilayahPropinsiDIY
04=kodewilayahKabupatenKulonProgo
02=kodewilayahKecamatanTemon
12
13
14
15
berjalan dengan kode dan data baru terpusat yang sudah distandarisasi. Selanjutnya
dengan menggunakan file-file penghubung tersebut dapat dilakukan sinkronisasi
database lokal agar sinkron dengan kode dan data baru yang sudah distandarisasi.
Cara ini relatif lebih mudah dilakukan, namun membawa konsekuensi harus
dilakukan update pada file penghubung dan sinkronisasi database lokal setiap kali
terjadi perubahan dalam database lokal.
Contoh file baru yang dapat ditambahkan untuk sinkronisasi kode dan data jenjang
pendidikan adalah f_jenjang_pendidikan: (kode_jenjang# char[2], nama_jenjang
char[12]), di mana kode_jenjang digunakan sebagai primary key. Selanjutnya kode
dan data jenjang pendidikan tersebut diisi dengan kode dan data jenjang pendidikan
yang berlaku di pusat. File f_jenjang_pendidikan selanjutnya digunakan sebagai
acuan untuk melakukan sinkronisasi kode dan data jenjang pendidikan di database
lokal dengan cara difilter dan di-update disesuaikan dengan kode dan data jenjang
pendidikan dalam file f_jenjang_pendidikan. Tipe, ukuran, dan domain data dalam
file f_jenjang_pendidikan dirancang mengacu pada rancangan kode dan data yang
berlaku di pusat, yaitu kode_jenjang char[2] berisi kode data mulai SD hingga S3.
Sedangkan contoh file baru yang dapat ditambahkan untuk sinkronisasi kode dan
data wilayah adalah f_propinsi: (kode_propinsi# char[2], nama_propinsi char[20]),
f_kabupaten: (kode_kabupaten# char[2], nama_kabupaten char[20], kode_propinsi
char[2]), f_kecamatan: (kode_kecamatan char[2]#, nama_kecamatan char[20],
kode_kabupaten char[2]), dan f_ desa:(kode_desa# char[3], nama_desa char[20]),
kode_kecamatan char[2], di mana tanda # pada file menandakan primary key pada
masing-masing file baru yang ditambahkan. Selanjutnya proses sinkronisasi kode
16
dan data jenjang pendidikan di database lokal dilakukan dengan cara yang sama
pada kode dan data jenjang pendidikan.
2.
Mengubah struktur database lokal yang sudah berjalan disesuaikan dengan kode
dan data baru yang sudah distandarisasi. Langkahnya adalah membuat file
sementara untuk menyimpan data pada database lokal yang akan disinkronisasi.
Tipe, ukuran, dan domain untuk data item pada atribut kode yang digunakan pada
struktur database lokal disesuaikan dengan tipe, ukuran, dan domain untuk data
item pada atribut kode yang digunakan pada struktur database pusat. Selanjutnya,
data dalam database lokal difilter, disesuaikan, kemudian disimpan dalam file
sementara. Proses ini diulang hingga seluruh record dalam database lokal telah
disesuaikan. Seluruh data item pada atribut kode dalam file sementara kemudian
digunakan untuk meng-update data item pada atribut kode pada pada database
lokal. Cara ini cukup frontal dan memerlukan kecermatan tinggi, namun
pemeliharaan database ke depan menjadi relatif lebih sederhana.
Pengelola database lokal memerlukan modul-modul untuk melaksanakan dua
17
Definisi penamaan atribut, tipe, ukuran, serta domain pada kode dan data bisa berbedabeda bagi setiap pengembang, maka modul sinkronisasi dan modul konversi
memerlukan peran pengguna untuk menentukan file-file dan atibut-atribut yang akan
distandarisasi, dan hasilnya akan dikembalikan ke database lokal. Arsitektur
komunikasi data antara database pusat dan database lokal, modul konversi, dan modul
sinkronisasi ditunjukkan pada Gambar 1.
Databasepusat
Modulsinkronisasi
Modulkonversi
Databaselokal1
Databaselokal2
Databaselokal3
Gambar 1: Arsitektur komunikasi data antara database pusat dan database lokal
18
kebutuhannya. Mekanisme penggunaan dan akses data dari database pusat perlu diatur
menggunakan sebuah prosedur operasional yang sudah distandarisasi.
KESIMPULAN
Tidak adanya standarisasi kode dan data dalam sistem-sistem informasi di tingkat
lokal telah menimbulkan kesulitan dalam proses pengelolaan data untuk kepentingan
skala nasional. Standarisasi data menjadi sebuah kebutuhan mendesak dalam rangka
mengantisipasi berbagai kebutuhan data dan informasi baru yang harus disediakan
secara multisektor. Upaya standarisasi kode dan data perlu dilakukan pada item data
bersifat master yang digunakan oleh sistem-sistem informasi di tingkat lokal terutama
yang terkait dengan layanan publik. Penetapan kode dan data wilayah dalam SIAK
misalnya, merupakan sebuah rintisan maju standarisasi kode yang perlu diikuti dengan
kode-kode untuk data yang banyak digunakan oleh sistem-sistem informasi layana
publik di tingkat lokal.
Untuk alasan keseragaman pemberian kode dan data maka pengelolaan kode dan
data pada data yang bersifat master tersebut harus dilakukan secara terpusat dan
terintegrasi. Sistem-sistem di tingkat lokal selanjutnnya perlu dilakukan konsolidasi
dengan database master yang terpusat agar selalu berada dalam kondisi yang konsisten.
Proses sinkronisasi dapat dilakukan dengan mengembangkan modul konsolidasi
database lokal yang di dalamnya memuat fungsi untuk konversi yang diperlukan pada
awal peroses konsolidasi. Selanjutnya modul sinkronisasi diperlukan untuk melakukan
proses filtering dan update berkala pada database lokal agar selalu sinkron dengan
database pusat yang sudah distandarisasi.
19
DAFTAR PUSTAKA
Buku:
Ladjamudin, A. , 2005, Analisis dan Desain Sistem Informasi, Graha Ilmu,Yogyakarta
Martin, J., 1975, Computer Database Organizations, parth I, Prentice-Hall, Inc., New
Jersey.
Powell, G., 2006, Beginning Database Design, Wiley Publishing, Inc., USA.
Whitten J. L., Bentley, L.D., 2007, System Analysis and Design Methods, 7th edition,
McGraw-Hill., Irwin.
Makalah Seminar/Konferensi:
Ewald, T. and Wolk, K., 2010, A Flexible Model for Data Integration, 29th International
Conference on Conceptual Modeling Proceedings, November 1-4, 2010,
Vancouver, BC, Canada.
Nugroho, L.E., 2008, Interoperabilitas Data dalam e-Government, Seminar eGovernment, 24 Mei 2008, UPN Veteran, Yogyakarta.
Jurnal:
Handoko, W.T., 1995, Pengenalan Perancangan Database, Jurnal DINAMIK, edisi
Januari-Februari-Maret 1995, STMIK STIKUBANK, Semarang.
Kembaren, S., Praptiningsih, Y.E., Nurainingsih, Y.E., dan Warmansyah, J., 2008,
Optimalisasi Rancangan Sistem Informasi Rawat Inap Menggunakan DFD-ERD
Dikombinasi Dengan User Interface, Jurnal INFORMATIKA KOMPUTER Vol.
13, No. 1, April 2008, Universitas Gunadarma, Jakarta.
Noertjahyana, A., Rostianingsih , S., dan Handojo, A., 2005, Pengaruh Desain
Terhadap Penerapan Efektifitas Database Melalui Beberapa Contoh Kasus,
Jurnal INFORMATIKA, Vol. 6, No. 1, Mei 2005, Universitas Kristen Petra,
Surabaya.
Purnamasari, S.D., 2008, Web Service Sebagai Solusi Integrasi Data Pada Sistem
Informasi Akademik Universitas Bina Darma, Jurnal MATRIK Vol. 95. No. 12,
April 2008, Universitas Bina Darma, Palembang.
Setiawan, A., 2003, Sistem Pemberian Kode Pada Data, Jurnal BINA EKONOMI, Vol.
7, No. 2, Agustus 2003, Universitas Katolik Parahyangan, Bandung.
Warnars, S., 2010, Tata Kelola Database Perguruan Tinggi Yang Optimal Dengan
Data Warehouse, Jurnal TELKOMNIKA, Vol. 8, No. 1, April 2010, Universitas
Ahmad Dahlan, Yogyakarta.
Yuliana, O.Y., 2001, Implementasi Referential Integrity Constraint pada Microsoft
Access Dalam Upaya Memelihara Konsistensi Data, Jurnal INFORMATIKA,
Vol. 2, No. 1, Mei 2001, Universitas Kristen Petra, Surabaya.
Dokumen Lainnya:
Adhitya, M., Irvan, P., & Michael, 2012, Perancangan dan Rencana Penerapan Sistem
Basis Data pada PT. Mitsindo Visual Pratama, Skripsi, Universitas Bina
Nusantara, Jakarta.
Biro Kepegawaian Setjen Kemhan RI, 2010, Pengintegrasian SIMPEG.
Dirjen Dikti Depdiknas, 2011, Dokumen Kamus Data Pendidikan Pangkalan Data
Pendidikan Tinggi (PDPT).
Keputusan Gubernur DIY Nomor 3 Tahun 2005, Standar Format Database.
20
Kepmenkes RI Nomor 844 Tahun 2006, Penetapan Standar Kode Data Bidang
Kesehatan.
Permendagri No. 66 Tahun 2011, Kode dan Data Wilayah Administrasi Pemerintahan.
Surat Edaran Dirjen Pajak No. SE-72/PJ/2010, Tata Cara Pemberian Kode Wilayah
Administrasi Pemerintahan Akibat Pembentukan (Pemekaran dan atau
Penggabungan) Wilayah Administrasi Pemerintahan Baru.
UU No. 52 Tahun 2009, Perkembangan Kependudukan dan Pembangunan.
Internet:
Bray, T., Paoli, J., Sperberg-McQueen, C.M., Maler, E., and Yergeau, F. (editor), 2006,
Extensible Markup Language 1.0, 4th edition, http://www.w3.org/TR/2006/RECxml-20060816/, diakses tanggal: 26 Desember 2011.
......, http://www.direktorikuliah.com/kamus-data-struktur-kode, diakses tanggal: 25
Desember 2011.