bagaimana cara membuat kode unik di codeigniter

bagaimana cara membuat kode unik di codeigniter. misal 55001 dengan 5(sebagai prodi), 5(sebagai jenjang) dan 001(sebagai nomor urut).mohon bantuannya..

avatar Khairun
@Khairun

10 Kontribusi 3 Poin

Diperbarui 8 tahun yang lalu

2 Jawaban:

Pertama, agan lihat dulu format kodenya. Misal dari kasus yang agan berikan, berarti ada 5 digit untuk format kodenya. Nah, berdasarkan format dan digit tersebut, berarti kita set tipe kodenya menjadi "string", karena bukan angka dan tidak berurutan untuk 2 digit diawal.

Lalu, satu hal lagi, di codeigniter tidak menyediakan library/helper untuk membuat kode unik seperti yang agan pinta, namun native PHP sudah memiliki fungsi untuk membuat karakter "0" pada digit pertama, yang dikenal dengan istilah "Leading Zero". Adapun fungsi built-in PHPnya adalah "str_pad", dengan parameter: [1] $nilai [2] Jumlah Digit (integer) [3] String pengganti. (Dalam kasus ini, kita gunakan '0' sebagai string di awal digit) [4] Tipe Pad. (Gunakan "STR_PAD_LEFT" karena kita akan melakukan substitusi pada bagian kiri digit)

Nah, fungsi "str_pad" tadi nanti kita gunakan untuk nilai "001"nya, sedangkan digit pertama (5 = Sebagai Prodi) dan digit kedua (5 = Sebagai Jenjang), kita jadikan variabel. Sehingga, kira-kira kodingannya seperti berikut:

<?php
// Inisialisasi Awal
$prodi = 5;
$jenjang = 5;
$no = 1;
$digit = 3;

// Inisialisasi Kode Unik
$kode = "{$prodi}{$jenjang}";

// Deklarasi "str_pad"
$kode = $kode . str_pad( $no, $digit, "0", STR_PAD_LEFT );

// Test
echo $kode;

Nah, coba lihat hasilnya sesuai bukan seperti yang agan pinta. Btw, ane belum nyoba sih, cuman ngira-ngira aja. Jadi kalo ada yang salah, mohon di koreksi. Monggo..

Note: Agan juga dapat membuat helper/library untuk script diatas biar bisa dipakai berulang-ulang, CMIIW

avatar nurimansyah
@nurimansyah

98 Kontribusi 87 Poin

Dipost 8 tahun yang lalu

terimakasi.. nanti saya coba..

ini saya juga masih cari referensi lain..

avatar Khairun
@Khairun

10 Kontribusi 3 Poin

Dipost 8 tahun yang lalu

Login untuk ikut Jawaban