Logika Pemrograman Data KTP Yang membingungkan

Rabu, 27 Februari 2019

Faktakini.com

Logika Pemrograman Data KTP yang membingungkan
Oleh. Armansyah

Anggap saja saya bodoh, tetapi sejauh pengalaman saya membuat program input data untuk berbagai kepentingan selama ini, maka sebagai programmer saya akan menempatkan script kecil yang berfungsi untuk melakukan proses cek dan ricek terhadap primary key tertentu yang sudah saya set di database sebagai data unik yang tidak boleh terjadi duplikasi dengan data atau record lainnya.

Bila katakanlah seorang user memasukkan data pelanggan baru kedalam database berdasar nomor KTP-nya, maka dilain waktu pelanggan ini datang kembali untuk membuat order, tentunya secara logika si user tidak harus membuat ulang data pelanggan tersebut.

Kenapa? ya karena data yang bersangkutan sudah pernah di input kedalam database sistem saat dia pertama kali registrasi.

Bila si user katakanlah memaksakan untuk menginput ulang data pelanggan ini, maka sistem akan secara otomatis membuat notifikasi penolakan sebab nomor KTP yang di input sudah ada didalam database.

Tidak boleh ada 2 nomor KTP yang sama di input kedalam sistem kecuali bila si user bermaksud untuk melakukan revisi data dan itupun harus atas sepengetahuan admin diatasnya.

Dengan demikian tidak akan ada redudansi data yang hanya akan menyebabkan database membengkak oleh banyaknya data-data pelanggan yang sama namun di input berulang kali.

Contoh kecil script yang saya ambil dari program yang pernah saya buat dengan menggunakan asp classic ....

<%
Dim Bola
    Bola = Request.Form("nomor_ktp")

Dim XFiles
For each xFiles in rsAddDataKTP.Fields
    if xFiles.name = "NomorID" then
       Response.Cookies("Dobel") = xFiles.value

    Dim Bolu
        Bolu = request.Cookies("Dobel")
       
       If  Bolu = Bola Then
          Response.Redirect "nomor_ganda.asp"
       End If
Else

rsAddDataKTP.Update
rsAddDataKTP.Close
End if
Next

Set rsAddDataKTP = Nothing
Set adoCon = Nothing
%>

Nah dalam kasus salah input nomor KTP yang beberapa hari ini santer beredar di media sosial maupun media cetak dan elektronik, dimana ada nomor KTP yang sama tetapi data diri penduduk berbeda.... jujur saya agak bingung melihatnya dari perspektif pemrograman.

Kenapa bisa terjadi duplikasi no KTP kedalam sistem kependudukan? Apakah si programmer yang membangun aplikasinya memang tidak membuat sebuah koding kecil yang berfungsi melakukan kroscek pada ID tersebut sebelum ia disimpan dalam database? Lalu apa yang membuat kunci unik didalam database kependudukan itu bila bukan NIK?

Okelah jika ini terkait nomor KK alias kartu keluarga. Bisa saja lojiknya, ada 5 atau 10 orang yang berbeda memiliki 1 nomor KK yang sama. Sebab boleh jadi didalam satu keluarga, terdapat 10 orang anggota keluarga. Tentu masing-masing anggota keluarga ini akan memiliki nomor KK yang sama. Tetapi meski demikian, nomor Induk Kependudukan mereka pasti berbeda satu sama lain. Sebab inilah yang menjadi kunci pembeda didalam sistem.

Ini logikanya dari perspektif pemrograman dan database ya...

Bila kemudian nomor KTP bisa di input ganda maka hanya ada 2 kemungkinan yang terjadi. Yaitu didalam sistem tersebut nomor Induk Kependudukan (NIK) bukan menjadi kunci uniknya ataukah memang tidak ada kunci unik sama sekali didalam sistem sehingga bisa saja terjadi redudansi data?

Wallahua'lam.

Saya pikir, pemerintah, khususnya pihak yang terkait dengan pembangunan program atau sistem aplikasi kependudukan ini dapat memberikan penjelasan terbuka kepada publik agar kami khususnya yang sedikit-banyak juga biasa mengolah koding pemrograman tidak bertanya-tanya.

Ini kelihatannya sepele atau sederhana, namun justru berkaitan dengan rahasia negara. Harapannya kedepan, hal-hal semacam ini, tidak lagi terulang.

Armansyah, 27 Februari 2019
Praktisi IT & Dosen Database Programming

Sapa juga dosen S1 Komputer saya era 90-an yang merupakan ahlinya basis data, Bapak Dedi Rianto Rahadi ... mohon petunjuknya Pak. :-)