• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

CodeIgniter Cara Membuat NIK/NIP Otomatis

Last Updated on 24 July 2019 By tommy Leave a Comment

Tutorial kali ini kita membuat sistem sederhana untuk membuat NIK (NOMOR INDUK KARYAWAN) atau NIP (NOMOR INDUK PEGAWAI) secara otomatis berdasarkan format yang telah ditentukan. Disini kasus yang kita hadapi adalah untuk membuat NIP otomatis berdasarkan format 2 angka tahun masuk, ditamban nomor urut.

Contoh formatnya untuk karyawan pertama yang di hire di tahun 2019. NIP = 19.0001, mari kita ikuti langkah per langkah cara membuat NIP otomatis di CodeIgniter 3.

Database

Buat database baru dengan nama pegawai, lalu import

-- --------------------------------------------------------
 
--
-- Table structure for table `pegawai`
--
 
CREATE TABLE `pegawai` (
  `no_urut_pegawai` INT(11) NOT NULL,
  `NIP` VARCHAR(50) NOT NULL,
  `nama_pegawai` VARCHAR(100) NOT NULL,
  `tahun_masuk` YEAR(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
--
-- Dumping data for table `pegawai`
--
 
INSERT INTO `pegawai` (`no_urut_pegawai`, `NIP`, `nama_pegawai`, `tahun_masuk`) VALUES
(1, '19.0001', 'Saya Pegawai Pertama', 2019);
 
--
-- Indexes for dumped tables
--
 
--
-- Indexes for table `pegawai`
--
ALTER TABLE `pegawai`
  ADD PRIMARY KEY (`no_urut_pegawai`);
COMMIT;

Model

Buat model baru untuk pegawai di application/models/Pegawai_model.php, masukkan kode dibawah ini

<?php
class Pegawai_model extends CI_Model {
 
    public function __construct()
    {
        $this->load->database();
    }
 
    public function data()
    {
        $query = $this->db->query("SELECT max(no_urut_pegawai) as no_urut from pegawai");
        $hasil = $query->row();
        return $hasil;
    }
}

Controller

Buat controller baru untuk Pegawai di application/controllers/Pegawai.php

<?php
class Pegawai extends CI_Controller {
 
    public function __construct()
    {
        parent::__construct();
        $this->load->model('pegawai_model');
    }
 
    public function index()
    {
        $pegawai = $this->pegawai_model->data();
        if (empty($pegawai) || is_null($pegawai)) {
            $noUrut = 0;
        } else {
            $noUrut = $pegawai->no_urut;
        }
        $data['no_urut_pegawai'] = $noUrut + 1;
        $this->load->view('pegawai', $data);
    }
 
    public function simpan()
    {
        $no_urut_pegawai = $_POST['no_urut_pegawai'];
        $nama_pegawai = $_POST['nama_pegawai'];
        $tahun_masuk = $_POST['tahun_masuk'];
        // ambil 2 dibelakang tahun
        $tahun_format_pegawai = substr($tahun_masuk, 2, 2);
 
        echo "NIP : ";
        echo "$tahun_format_pegawai" . "." . sprintf("%03s", $no_urut_pegawai);
    }
 
}

View

Buat view baru application/views/pegawai.php, copy code dibawah ini

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
 
    <title>Tutorial CodeIgniter - JARANGUDA.COM</title>
  </head>
  <body>
    <div class="container">
      <hr>
 
      <h3>Tambah Data Pegawai</h3>
      <hr>
      <form action="/Pegawai/simpan" method="POST" >
        <!-- $no_urut_pegawai diambil dari database -->
        <!-- masih perlu validasi lebih lanjut -->
        <input type="hidden" class="form-control" id="no_urut_pegawai" name="no_urut_pegawai" value="<?php echo $no_urut_pegawai;?>">
        <div class="form-group">
          <label for="tahun_masuk">Tahun Masuk</label>
    <select class="form-control" name="tahun_masuk">
          <?php
            // tahun perusahaan mulai membuka lowongan kerja
            $mulai_tahun = 2017;
            // tahun sekarang
            $tahun_sekarang = date('Y');
            foreach (range($mulai_tahun, $tahun_sekarang) as $tahun) {
                  // otomatis select tahun sekarang
                  if ($tahun == $tahun_sekarang) {
                    echo "<option value='$tahun' selected>" . $tahun . "</option>";
                  } else {
                    echo "<option value='$tahun'>" . $tahun . "</option>";
                  }
            }
            ?>
            </select>
        </div>
        <div class="form-group">
          <label for="nama_pegawai">Nama Pegawai</label>
          <input type="text" class="form-control" id="nama_pegawai" name="nama_pegawai">
        </div>
        <input class="btn btn-primary" type="submit" value="Simpan">
        <input class="btn btn-primary" type="reset" value="Reset">
      </form>
    </div>
  </body>
</html>

Testing

Buka browser anda di http://localhost/Pegawai/index
kode otomatis pegawai codeigniter
klik Simpan, harusnya muncul
NIP : 19.002 itu adalah kode NIK yang digenerate otomatis oleh sistem untuk pegawai kedua di perusahaan tersebut, begitu seterusnya. Disini kita tidak sampai menyimpan ke database, karena dari contoh diatas tinggi menambah satu model untuk menyimpan hasil tersebut ke database.

Tulisan menarik lainnya

  • Membuat Pencarian dengan CodeIgniter 3

    Script searching/pencarian ini adalah porting dari script Pencarian Laravel 5, jadi databasenya diambil dari sana…

  • Membuat Drop Down/Combobox di CodeIgniter

    Membuat Combobox atau Drop Down box di CodeIgniter sungguh mudah, fleksibel dan cepat. Pertama kita…

  • Membuat Form dengan Codeigniter

    Studi kasus kali ini adalah pembuatan form pendaftaran user di website. Database menggunakan MySQL. Buat…

  • Membuat Pagination di CodeIgniter 3

    Pertama kita akan membuat data dummy/data contoh untuk mempermudah pembelajaran ini. Dari CLI MySQL atau…

Filed Under: PHP

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.3k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273.1k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.9k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.2k views
  • Cara Reset Password ZTE F609 Indihome 147.6k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.6k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java