Close Menu
  • Home
  • Programming
    • JavaScript
    • TypeScript
    • Node.js
    • Python
    • PHP
    • CSS
    • HTML
  • Framework
    • Express.js
    • Laravel
    • Nest.js
    • React.js
    • Expo
    • React Native
    • Next.js
    • Strapi (Headless CMS)
    • WordPress (CMS)
  • Hot Topics
    • Software Architect
    • Artificial Intelligence
    • Data Science
    • Chat Bot
    • Machine Learning
      • Library JS
        • Danfo.js
    • Natural Language Processing
    • Proof of Concept
    • Kampus
  • Roles
    • Data Engineer
    • Software Engineer
    • DevOps
      • Docker
      • Jenkins
      • VPS (Virtual Private Server)
      • Ubuntu Server
  • Databases
    • Postgre SQL
    • SQL
    • SQL Server
    • Redis

Subscribe to Updates

Get the latest creative news from FooBar about art, design and business.

What's Hot

Agen Kode Berbasis AI Mulai Menguasai Dunia Korporat: Ini Daftar Tools-nya

August 11, 2025

Vibe Coding: Cara Baru Ngoding Bareng AI yang Lagi Ngetren di 2025

August 5, 2025

Cara Install Docker di VPS Ubuntu 20.04

October 13, 2024
Facebook X (Twitter) Instagram
Lampung DevLampung Dev
  • Home
  • Programming
    • JavaScript
    • TypeScript
    • Node.js
    • Python
    • PHP
    • CSS
    • HTML
  • Framework
    • Express.js
    • Laravel
    • Nest.js
    • React.js
    • Expo
    • React Native
    • Next.js
    • Strapi (Headless CMS)
    • WordPress (CMS)
  • Hot Topics
    • Software Architect
    • Artificial Intelligence
    • Data Science
    • Chat Bot
    • Machine Learning
      • Library JS
        • Danfo.js
    • Natural Language Processing
    • Proof of Concept
    • Kampus
  • Roles
    • Data Engineer
    • Software Engineer
    • DevOps
      • Docker
      • Jenkins
      • VPS (Virtual Private Server)
      • Ubuntu Server
  • Databases
    • Postgre SQL
    • SQL
    • SQL Server
    • Redis
Facebook X (Twitter) Instagram
Lampung DevLampung Dev
Home ยป Membuat Program Deteksi Data KTP dari Kode Digit dengan JavaScript
JavaScript

Membuat Program Deteksi Data KTP dari Kode Digit dengan JavaScript

Abdan Zam Zam RamadhanBy Abdan Zam Zam RamadhanOctober 6, 2024Updated:October 6, 2024No Comments6 Mins Read
Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
Membuat Program Deteksi Data KTP dari Kode Digit dengan JavaScript
Membuat Program Deteksi Data KTP dari Kode Digit dengan JavaScript
Share
Facebook Twitter LinkedIn Pinterest Email

Lampung Dev – Apakan Anda pernah terbesit bagaimana cara membaca kode digit KTP? Jika iya, maka Anda saat ini membaca artikel yang tepat. Kita akan bahas terkait bagaimana cara membuat program deteksi data KTP dari kode digit dengan JavaScript.

Nomor Induk Kependudukan (NIK) yang terdapat di Kartu Tanda Penduduk (KTP) di Indonesia terdiri dari 16 digit. Setiap digit dari NIK memiliki makna tertentu dan memberikan informasi spesifik tentang pemilik KTP. Berikut ini adalah penjelasan detail dari setiap bagian NIK di Indonesia:

Format Umum NIK (Nomor Induk Kependudukan):

AA BB CC DDMMYY SSSS

Dimana:

  • AA: Kode Provinsi (2 digit)
  • BB: Kode Kabupaten/Kota (2 digit)
  • CC: Kode Kecamatan (2 digit)
  • DDMMYY: Tanggal lahir (6 digit)
  • SSSS: Nomor urut pendaftaran di kecamatan (4 digit)

Penjelasan Detail:

  1. AA (Kode Provinsi):
    • Kode ini mengidentifikasi provinsi tempat KTP diterbitkan. Setiap provinsi di Indonesia memiliki kode tersendiri, misalnya:
      • 11: Aceh
      • 12: Sumatera Utara
      • 31: DKI Jakarta
      • 32: Jawa Barat
      • 34: DI Yogyakarta
      • 36: Banten
      • 63: Kalimantan Selatan
      • 94: Papua
      • Dan lain-lain.
  2. BB (Kode Kabupaten/Kota):
    • Kode ini menunjukkan kabupaten atau kota dalam suatu provinsi. Kode ini adalah kode administrasi kabupaten/kota di bawah provinsi yang bersangkutan. Setiap kabupaten/kota memiliki kode yang berbeda. Misalnya, di provinsi Jawa Barat (32):
      • 01: Kabupaten Bogor
      • 02: Kabupaten Sukabumi
      • 73: Kota Bandung
      • 75: Kota Bekasi
  3. CC (Kode Kecamatan):
    • Dua digit berikutnya mewakili kode kecamatan di dalam kabupaten atau kota tersebut. Kode ini mengidentifikasi kecamatan tempat tinggal pemilik KTP. Setiap kecamatan memiliki kode unik yang berbeda-beda di setiap kabupaten/kota.
  4. DDMMYY (Tanggal Lahir):
    • Bagian ini mengindikasikan tanggal lahir pemilik KTP dalam format DD-MM-YY (Tanggal-Bulan-Tahun). Namun, untuk perempuan, ada sedikit perubahan.
      • Jika pemilik KTP adalah laki-laki, maka tanggal lahir akan ditulis sesuai dengan format normal.
      • Jika pemilik KTP adalah perempuan, maka angka tanggal lahir akan ditambah 40. Misalnya, jika tanggal lahir adalah 12 (untuk laki-laki), maka untuk perempuan akan menjadi 12 + 40 = 52. Ini berarti bahwa jika ada angka 52, itu menunjukkan perempuan yang lahir pada tanggal 12.
    Contoh:
    • 050599 untuk laki-laki yang lahir pada 5 Mei 1999.
    • 450599 untuk perempuan yang lahir pada 5 Mei 1999 (5 + 40 = 45).
  5. SSSS (Nomor Urut Pendaftaran):
    • Empat digit terakhir dari NIK adalah nomor urut registrasi di kecamatan. Nomor ini dihasilkan secara acak atau berdasarkan urutan penerbitan KTP di kecamatan terkait.
    • Kombinasi ini bersifat unik dan memberikan nomor urut yang berbeda untuk setiap warga di satu kecamatan.

Contoh NIK:

Misalkan NIK seorang laki-laki dari Kabupaten Bandung, Jawa Barat yang lahir pada 12 Agustus 1995:

32 01 03 120895 0001

Penjelasan:

  • 32: Kode Provinsi Jawa Barat.
  • 01: Kode Kabupaten Bandung.
  • 03: Kode Kecamatan di Kabupaten Bandung.
  • 120895: Laki-laki yang lahir pada tanggal 12 Agustus 1995.
  • 0001: Nomor urut registrasi 0001 di kecamatan tersebut.

Jika NIK tersebut adalah seorang perempuan yang lahir pada tanggal yang sama:

32 01 03 520895 0001

Penjelasan:

  • 32: Kode Provinsi Jawa Barat.
  • 01: Kode Kabupaten Bandung.
  • 03: Kode Kecamatan di Kabupaten Bandung.
  • 520895: Perempuan yang lahir pada tanggal 12 Agustus 1995 (12 + 40 = 52).
  • 0001: Nomor urut registrasi 0001 di kecamatan tersebut.

NIK dalam KTP di Indonesia sangat kaya informasi. Ia mengandung kode wilayah, tanggal lahir, jenis kelamin, dan nomor urut pendaftaran. Dengan memahami struktur ini, kamu bisa mengidentifikasi banyak hal tentang pemilik NIK secara detail.

Daftar Isi

Toggle
  • Membuat Program Deteksi Data KTP
    • 1. Kode Program
    • 2. Penjelasan Kode
    • 3. Cara Menggunakan
    • 4. Contoh Hasil Output
    • 4. Pengembangan Lebih Lanjut

Membuat Program Deteksi Data KTP

Berikut adalah contoh program sederhana dalam JavaScript yang dapat digunakan untuk mendeteksi dan mengekstrak informasi dari NIK (Nomor Induk Kependudukan) KTP di Indonesia. Library ini akan mendekode NIK untuk mendapatkan kode provinsi, kabupaten/kota, kecamatan, tanggal lahir, dan jenis kelamin.

1. Kode Program

// Data kode provinsi Indonesia
const kodeProvinsi = {
  "11": "Aceh",
  "12": "Sumatera Utara",
  "31": "DKI Jakarta",
  "32": "Jawa Barat",
  "33": "Jawa Tengah",
  "34": "DI Yogyakarta",
  "35": "Jawa Timur",
  // Tambahkan provinsi lainnya sesuai kebutuhan
};

// Data kode kabupaten/kota untuk Jawa Barat (kode 32)
const kodeKabupatenKota = {
  "3201": "Kabupaten Bogor",
  "3202": "Kabupaten Sukabumi",
  "3271": "Kota Bandung",
  "3275": "Kota Bekasi",
  // Tambahkan kabupaten/kota lainnya sesuai kebutuhan
};

// Data kode kecamatan untuk kabupaten/kota di Jawa Barat
const kodeKecamatan = {
  "320103": "Kecamatan Cibinong, Kabupaten Bogor",
  "320201": "Kecamatan Cicurug, Kabupaten Sukabumi",
  "327101": "Kecamatan Andir, Kota Bandung",
  "327501": "Kecamatan Bekasi Selatan, Kota Bekasi",
  // Tambahkan kecamatan lainnya sesuai kebutuhan
};

// Fungsi untuk mendeteksi jenis kelamin
function deteksiJenisKelamin(tanggalLahir) {
  const tanggal = parseInt(tanggalLahir.substring(0, 2));
  if (tanggal > 40) {
    return "Perempuan";
  }
  return "Laki-laki";
}

// Fungsi untuk mendeteksi tanggal lahir
function deteksiTanggalLahir(tanggalLahir) {
  let tanggal = parseInt(tanggalLahir.substring(0, 2));
  const bulan = tanggalLahir.substring(2, 4);
  const tahun = tanggalLahir.substring(4, 6);

  if (tanggal > 40) {
    tanggal = tanggal - 40; // Perempuan memiliki tanggal lahir +40
  }

  const fullYear = tahun > 20 ? "19" + tahun : "20" + tahun; // Mengasumsikan NIK di atas tahun 2000

  return `${tanggal}-${bulan}-${fullYear}`;
}

// Fungsi untuk mendeteksi informasi NIK
function deteksiNIK(nik) {
  if (nik.length !== 16) {
    return "NIK harus terdiri dari 16 digit.";
  }

  const kodeProv = nik.substring(0, 2);
  const kodeKabKot = nik.substring(0, 4); // Gabungan kode provinsi dan kabupaten/kota
  const kodeKec = nik.substring(0, 6); // Gabungan kode provinsi, kabupaten/kota, dan kecamatan
  const tanggalLahir = nik.substring(6, 12);
  const nomorUrut = nik.substring(12, 16);

  const provinsi = kodeProvinsi[kodeProv] || "Provinsi tidak dikenal";
  const kabupatenKota = kodeKabupatenKota[kodeKabKot] || "Kabupaten/Kota tidak dikenal";
  const kecamatan = kodeKecamatan[kodeKec] || "Kecamatan tidak dikenal";
  const jenisKelamin = deteksiJenisKelamin(tanggalLahir);
  const tanggalLahirFormatted = deteksiTanggalLahir(tanggalLahir);

  return {
    nik: nik,
    provinsi: provinsi,
    kabupatenKota: kabupatenKota,
    kecamatan: kecamatan,
    tanggalLahir: tanggalLahirFormatted,
    jenisKelamin: jenisKelamin,
    nomorUrut: nomorUrut
  };
}

// Contoh penggunaan library
const nikInput = "3201035208950001"; // Ganti dengan NIK yang ingin dicek
const hasilDeteksi = deteksiNIK(nikInput);

console.log("Hasil Deteksi NIK:", hasilDeteksi);

2. Penjelasan Kode

  • kodeProvinsi: Objek ini berisi data kode provinsi di Indonesia yang diambil dari 2 digit pertama NIK.
  • deteksiJenisKelamin(tanggalLahir): Fungsi ini mendeteksi apakah pemilik NIK adalah laki-laki atau perempuan berdasarkan nilai tanggal lahir. Jika tanggal lahir lebih dari 40, maka itu menunjukkan jenis kelamin perempuan.
  • deteksiTanggalLahir(tanggalLahir): Fungsi ini memformat tanggal lahir dengan format DD-MM-YYYY, di mana jika tanggal lebih dari 40 untuk perempuan, angka 40 akan dikurangi.
  • deteksiNIK(nik): Fungsi utama untuk mendeteksi informasi dari NIK. Fungsi ini mengembalikan objek yang berisi detail informasi seperti provinsi, kabupaten/kota, kecamatan, tanggal lahir, jenis kelamin, dan nomor urut.

3. Cara Menggunakan

  • Panggil fungsi deteksiNIK(nikInput) dengan memasukkan NIK yang ingin dicek.
  • Fungsi ini akan mengembalikan sebuah objek yang berisi informasi lengkap dari NIK tersebut, yang bisa kamu tampilkan di console.log() atau di UI.

4. Contoh Hasil Output

Jika kita menggunakan NIK 3201035208950001, hasilnya akan seperti ini:

{
  nik: "3201035208950001",
  provinsi: "Jawa Barat",
  kabupatenKota: "Kabupaten Bogor",
  kecamatan: "Kecamatan Cibinong, Kabupaten Bogor",
  tanggalLahir: "12-08-1995",
  jenisKelamin: "Perempuan",
  nomorUrut: "0001"
}

4. Pengembangan Lebih Lanjut

  • Kamu dapat menambahkan lebih banyak data untuk kabupaten/kota dan kecamatan ke dalam peta sesuai kebutuhan.
  • Jika kamu menginginkan data yang lebih lengkap dan akurat, bisa mengambil dari sumber resmi seperti BPS atau API yang menyimpan data wilayah Indonesia.
  • Menambahkan validasi untuk menangani input yang tidak sesuai atau kode yang tidak valid.

Program deteksi KTP dari kode digit ini tentu masih sangat sederhana dan dapat Anda dikembangkan lagi supaya lebih canggih. Anda dapat melengkapi data-data provinsi, kabupaten kota dan kecamatan supaya proses deteksinya lebih akurat. Semoga tutorial ini bermanfaat, salam koding!

cara membaca NIK KTP cara mendeteksi kode NIK deteksi data KTP deteksi informasi KTP JavaScript deteksi KTP JavaScript KTP Indonesia kode digit KTP kode provinsi KTP NIK KTP Indonesia parsing NIK dengan JavaScript pemrograman NIK KTP program deteksi KTP program deteksi NIK program NIK KTP tanggal lahir dari NIK tutorial JavaScript KTP tutorial validasi KTP validasi NIK JavaScript
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleMembuat Aplikasi Latihan Mengetik Sederhana dengan React
Next Article Cara Install WordPress Menggunakan Docker di VPS
Abdan Zam Zam Ramadhan
  • Website
  • LinkedIn

Senior Software Engineer at PT. Astra Internasional, Tbk.

Related Posts

Clean Code

Tips Mengoptimalkan Kode JavaScript untuk Pemula

June 8, 2024
Clean Code

Konsep Dasar Implementasi Clean Code pada JavaScript

May 16, 2024
Demo
Top Posts

Cara Menggunakan Foreach di Node.js?

February 13, 202469 Views

Cara Install XAMPP (Apache, MariaDB, PHP dan Perl) pada Windows

November 26, 202350 Views

Bagaimana Prospek Karir Jurusan Teknik Informatika?

February 14, 202447 Views

10 Plugin VS Code yang Wajib Developer Install

June 15, 202439 Views

Lagi Viral! S3 Computer Science: Perlukah Bisa Ngoding?

May 24, 202438 Views
Stay In Touch
  • Facebook
  • YouTube
  • WhatsApp
  • Instagram
  • LinkedIn
Latest Reviews

Subscribe to Updates

Get the latest tech news from FooBar about tech, design and biz.

Demo
Most Popular

Cara Menggunakan Foreach di Node.js?

February 13, 202469 Views

Cara Install XAMPP (Apache, MariaDB, PHP dan Perl) pada Windows

November 26, 202350 Views

Bagaimana Prospek Karir Jurusan Teknik Informatika?

February 14, 202447 Views
Our Picks

Agen Kode Berbasis AI Mulai Menguasai Dunia Korporat: Ini Daftar Tools-nya

August 11, 2025

Vibe Coding: Cara Baru Ngoding Bareng AI yang Lagi Ngetren di 2025

August 5, 2025

Cara Install Docker di VPS Ubuntu 20.04

October 13, 2024

Subscribe to Updates

Get the latest creative news from FooBar about art, design and business.

Facebook X (Twitter) Instagram Pinterest
  • Jobs
  • Project Freelance
  • About Me
  • Contact
Copyright © 2025 Lampung Dev. Developed by Abdan Zam Zam Ramadhan.

Type above and press Enter to search. Press Esc to cancel.