Senin, 16 Juli 2018

Belajar membuat Function di Delphi

Yang sangat penting dalam program Pustaka ini salah satunya adalah mengidentifikasi buku, agar tidak ada buku yang sama, semuanya punya kode yang unik.
Misalnya ada 100 buah buku pelajaran yang sama persis baik judul, pengarang, penerbit dll semuanya sama persis, tetap semuanya harus punya identitas yang berbeda.
Salah satu caranya adalah dengan membuat kode buku yang terdiri dari 13 digit. Dengan perincian sbb:

Contoh KodeBUKU = '1201205140001'

Digit pertama (1) = jika digit 1 bernilai 1 artinya kode BUKU. jika nilainya 2 digunakan untuk CD, nilai 3 untuk KASET dst. untuk program pustaka ini lebih diutamakan untuk mengelola Buku, jadi hampir semua kodenya 1. Jadi KodeBUKU digit 1 ini tidak sulit, tidak perlu dibahas lagi.

Digit ke 2 sampai digit ke 9 berisi tahun+bulan+hari dari contoh KodeBUKU diatas tertulis 20120514 artinya tahun 2012 bulan 05 hari/tanggal 14.

Digit ke 10 sampai digit ke 13 berisi nomer urut. Dalam contoh berisi 0001 berarti nomer urut 1. Jadi jika dalam 1 hari / hari ini ada tiga buku baru yang harus diinput, agar didapat kode yang unik, maka dibuatlah kode sbb.:
Buku   KodeBUKU
  1       1201205140001
  2       1201205140002
  3       1201205140003
dengan cara ini, dapat dipastikan bahwa setiap buku memiliki KodeBUKU yang berbeda/Unik.
Dari segi pemrograman, untuk Digit 1 tidak ada masalah.
Digit ke 2 sampai digit 9 bisa dibuat dengan menggunakan=
   var tahun, bulan, hari: Word;
   DecodeDate(now(), tahun, bulan, hari); //caranya lihat di sourcode program pustaka.
Digit ke 10 sampai digit 13 diisi dengan nomer urut dengan diisi penuh. misal nomer urutnya 1 maka harus diubah menjadi 0001 dan dapat dibuat dengan menambahkan 0000 didepan angka 1 sehingga menjadi 00001 dan diambil 4 digit dari kanan menjadi 0001.
Caranya kita gunakan function dalam sourcode ada function yang namanya Add0.
   edtKodeNomer.text := Add0(inttostr(vliNoRec)); //vliNoRec=variable integer, nilainya bisa 1,2,3 dst.
function Add0 ini ada di file uPusGen.pas yang isinya sbb.
function Add0(sStr:ShortString)ShortString;
var iT, iLength : Integer;
begin
   iT := StrToInt(trim(sStr));
   iLength := Length(IntToStr(iT));
   result := copy('000'+trim(IntToStr(iT)),iLength,4);
end;

function ini dapat Anda panggil dengan cara sbb: edtKode.text := Add0(inttostr(1));
Semoga bermanfaat.

Tidak ada komentar:

Posting Komentar