Вы находитесь на странице: 1из 7

CARA MELINDUNGI PROGRAM DENGAN SERIAL NUMBER

Sebagai seorang programmer, tentu kita tidak ingin program yang kita buat bisa dicopy seenaknya oleh orang
lain, bagi orang yang ingin menggunakan program buatan kita tentunya harus membayar/membeli kepada kita .
Terutama jika kita membuat program yang sifatnya umum, misalnya Program aplikasi akuntasi, Inventory, Point
Of Sale atau Program Kasir. Untuk mencegah agar program kita tidak bisa di Copy sembarang, atau disebarkan
oleh orang lain, maka kita harus melindungi program kita. Jadi setiap ada orang yang ingin menggunakan
Program buatan kita, mereka harus memebelinya dari kita bukan dengan mengcopy dari orang yang pernah
membeli sebelumnya. Umumnya ada dua cara melindungi program yaitu Melindungi Program Dengan Serial
Number dan Melindungi Program Dengan Dongle ( sebuah alat sebesar FlashDisk ). Namun pada posting
kali ini saya hanya akan menbahas tentang Cara Melindungi Program dengan Serial Number Saja.
Sedangkan Melindungi Program dengan dongle akan dibahas pada postingan yang lain. Dalam postingan kali
ini saya mencoba menjelaskan Cara Melindungi Program Dengan Serial Number dimana untuk komputer
yang berbeda diperlukan serial number yang berbeda, jadi meskipun seseorang sudah menegathui satu serial
number tetapi serial number tersebut tidak bisa digunakan pada komputer lainnya. Jadi Satu Serial Number
hanya berlaku untuk satu komputer saja.

Gambar 1.
Contoh Form Registrasi Menggunakan Serial Nomer (Kode Registrasi )
Cara Melindungi Program dengan Serial Number adalah sebagai berikut:
Untuk dapat memberikan serial number yang hanya berlaku pada satu komputer saja maka kita harus
mengetahui sesuatu yang sifatnya unik dalam komputer tersebut, misalnya serial number Prosesor, serial
number Motherboard atau serial number Hardiskdrivenya. Misalnya kita menggunakan serial number Harddisk.
Kalau kita menggunakan Serial Number HarddiskDrive maka kita harus tahu bagaimana Coding membaca
serial number Harddisk dengan Delphi ( Nanti akan sayaberikan dibawah ).
Sekarang kita bahas logikanya dulu, lebih mudah dengan contoh berikut
Untuk Contoh diatas SN = 4239947770 + 898989 =
Misalnya kita dapatkan Serial Number Hardisknya adalah 4239947770 , serial number ini kita simpan dalam
variable Float/Real/double agar bisa kita tambahkan/kurangkan dengan bilangan.

Untuk memberikan Serial Number Kepada Komputer ini , maka angka Serial Number diatas kita
tambah/kurangkan dengan bilangan tertentu yang tetap. Misalnya 898989. Agar lebih rumit bisa ditambahkan
dengan cara lain, misalnya angka kedua dan kelima atau lainnya sesuaikan dengan kreatifitas kalian.
Hasil penambahan itulah yang kita gunakan sebagai serial Number

4240846759

Jadi SN Untuk ini adalah 4240846759

Nah Saat Registrasi lakukan pemeriksaan serial number yang diinput , kita periksa jumlahnya apakah sesuai,
jika sesuai maka registrasi berhasil, jika tidak , berarti registrasi gagal.

Angka 898989 adalah angka khusus yang kita ciptakan sendiri, sesuai dengan kreativitas masing masing.

Pada Contoh Form registrasi diatas , Kode Installasi adalah Serial Number Hardisk pada komputer dimana kita
meregistrasi Program

Kode Registrasi adalah tempat Input Serial Numbernya.

Jadi Kode Intallasi yang muncul akan berbeda beda untuk setiap komputer karena serial Number Hardisknya
pasti berbeda beda.

Berikut adalah Coding Cara membaca Serial Number

Setelah memahami logika diatas mari kita lanjutkan Cara Melindungi Program dengan Serial Number
sesuai langkah langkah berikut:

Langkah 1:
Hal pertama yang harus disiapkan adalah menulis dan membaca Registry Windows, karena Serial Number akan
kita simpan dalam registry Windows. Jika belom paham tentang cara Menulis dan Membaca Registry Windows
dengan Delphi silahkan baca disini

CARA MEMBACA REGISTRY WINDOWS DENGAN DELPHI

Registry pada sistem operasi windows adalah tempat menyimpan segala macam setting atau pengaturan. Oleh
karena itu kita bisa memanfaatkan registry windows ini untuk menyimpan setting atau pengaturan program
aplikasi yang kita kembangkan dengan bahasa pemrograman delphi. Pengaturan atau seting yang saya maksud
disini adalah pengaturan yang tidak kita simpan dalam database, tetapi pengaturan yang berlaku lokal di
komputer tempat kita menggunakannya. Misalnya kalau kita membuat sebuah program POS ( Point Of Sale )
atau program kasir yang terpasang di beberapa komputer ( lebih dari satu komputer ) dimana seting
hardwarenya berbeda-beda. Maka kita perlu menyimpan pengaturannya kedalam registry windowsnya, berikut
ini akan saya jelaskan Cara Membaca RegistryWindows Dengan Delphi. Dan Cara Menulis kedalam
Registry Windows Dengan Delphi.

Gambar 1.
Contoh Listing Cara Membaca Registry Windows Dengan Delphi

Cara Membaca Registry Windows Dengan Delphi dan cara menulis kedalam registry windows dengan
Delphi sebenarnya sama saja , yang berbeda hanya perintahnya saja yang berbeda yaitu Read dan Write, tetapi
langkah langkahnya sama saja berikut ini saya berikan contoh Cara Membaca Registry Windows Dengan
Delphi. :

Langkah 1 :
Tambahkan Library Registry pada bagian Interface pada unit yang akan anda gunakan untuk membaca dan
menulis Registry Windows seperti pada gambar berikut:

Perhatikan pada bagian yang dilingkari merah, pada contoh ini saya menggunakan Delphi XE3, sehingga
penulisan penambahan Registry adalah seperti gambar diatas, Jika anda menggunakan versi lainnya misalnya
Delphi 7 maka cukup dengan mengetikan Registry saja.

Langkah 2:
Langkah selanjutnya dalam Cara Membaca Registry Windows Dengan Delphi , adalah membuat sebuah
variable yang bertipe Tregistry untuk kita gunakan dalam menulis dan Membaca Registry Windows dengan
Dephi. Seperti pada gambar berikut ini.

Pada contoh diatas saya membuat variable dengan nama Reg, namanya tidak harus Reg pemberian namanya
sesuai dengan aturan pemberian nama variabel pada umumnya, tetapi tipenya harus TRegistry

Langkah 3:
Langkah selanjutnya dalam Cara Membaca Registry Windows Dengan Delphi adalah menentukan letak key
pada registry, key pada registry ini dapat kita anggap seperti Folder atau direktori, caranya dapat kita lihat
seperti pada script berikut:

Procedure TForm1.FormCreate(Sender: TObject);

begin

Reg := Tregistry.Create;

Reg.RootKey := HKEY_CURRENT_USER;

end;

Penempatan script diatas disesuaikan dengan keperluan, pada contoh diatas saya meletakkannya pada even
Form onCreate , jadi variable Reg selalu diciptakan pada saat membuka Form tersebut.

HKEY_CURRENT_USER; adalah alamat tempat kita akan menyimpan Registry yang akan kita tulis dan baca.
berikut ini adalah gambar isi Registry Windows yang dapat dilihat dengan mengetikkan perintah REGEDIT
pada colom RUN pada Windows.
Langkah 4:
Langkah Selanjutnya adalah membuat perintah Menulis Kedalam Registry Windows dengan Delphi . Berikut
ini adalah Script Untuk Menulis kedalam Registry Windows:

Procedure TForm1.simpanClick(Sender: TObject);

var alamat:string;

begin

alamat:='\Software\MyAPP\DataLogin';

try

Reg.OpenKey(alamat,true);

Reg.WriteString('HostName',Ehost.text);

Reg.WriteString('Database',Edata.Text);

finally

Reg.CloseKey;

end;

MessageDlg('Registrasi Perubahan Database Berhasil !', mtInformation,[mbOk], 0);

end;

alamat='\Software\myAPP\DataLogin' adalah lokasi penyimpanan pada registry Windows, alamat ini dapat
kita tentukan sendiri sesuai kebutuhan .

Reg.OpenKey(alamat,true); : Adalah untuk membuka atau membuat key Baru kedalam Registry Windows
sesuai dengan alamat yang kita berikan

Reg.WriteString('HostName',Ehost.text); : adalah perintah untuk menuliskan data yang ada pada komponen
TEdit bernama Ehost kedalam keyString yang kita beri nama HostName dalam Registry Windows.

Reg.WriteString('Database',Edata.Text); : adalah perintah untuk menuliskan data yang ada pada komponen
TEdit bernama Edata kedalam keyString yang kita beri nama Database dalam Registry Windows.

Hasil dari proses ini dapat kita lihat pada Registry Editor dengan mengetikan perintah REGEDIT pada Kolom
RUN pada Tombol START Windows, Hasilnya dapat dilihat seperti pada gambar berikut:

Langkah 5
Langkah ke lima adalah langkah yang menjadi Judul dan pembahasan utama dalam postingan kali ini yaitu :
Cara Membaca Registry Windows Dengan Delphi , scriptnya dapat dilihat seperti berikut ini:

procedure TForm1.BacaClick(Sender: TObject);

var alamat:string;

begin

alamat:='\Software\myAPP\DataLogin';

try

try

Reg.OpenKey(alamat, false);

Ehost.text :=Reg.ReadString('HostName');

Edata.text :=Reg.ReadString('Database');

except on ERegistryException do

ShowMessage('Gagal membaca data dari registry.');

end;

finally

Reg.CloseKey;

end;

end;

alamat='\Software\myAPP\DataLogin' adalah lokasi penyimpanan pada registry Windows, alamat ini dapat
kita tentukan sendiri sesuai kebutuhan .

Reg.OpenKey(alamat,false); : Adalah untuk membuka dari dalam Registry Windows sesuai dengan alamat
yang kita berikan

Ehost.text :=Reg.ReadString('HostName'); : adalah perintah untukmembaca string yang tersimpan dalam


Registry windows pada alamat yang kita pilih dimana string tersebut bernama HostName , dan hasil pembacaan
dari Registry tersebut kita simpan dalam komponen Tedit yang bernama Ehost
Edata.text :=Reg.ReadString('Database'); : adalah perintah untukmembaca string yang tersimpan dalam
Registry windows pada alamat yang kita pilih dimana string tersebut bernama Database , dan hasil pembacaan
dari Registry tersebut kita simpan dalam komponen Tedit yang bernama Edata.

Demikian Postingan saya kali ini tentang Cara Membaca Registry Windows Dengan Delphi semoga
bermanfaat dan dapat membantu para penggemar dan pencinta Bahasa pemrograman Delphi, Kalau ada
kekeliruan mohon dikoreksi.
Disana akan dijelaskan Cara Menulis/Membaca Registry Windows dengan Delphi. Pada Program yang kita
buat, tambahkan satu menu untuk melakukan Registrasi dalam hal ini untuk memasukan Serial Nomer yang
sesuai, kemudian kita menyimpannya kedalam Registry Windows. Misalnya seperti pada Gambar 1 diatas.
Mengenai Pembuatan Serial Nomor, silahkan baca lagi bagian penjelasan logika diatas. Berikut ini contoh
Listing menyimpan hasil registrasi kedalam registry Windows.

If cSerial.text= inttostr(SerialNum+ 898989)then


Begin
try
Reg.OpenKey('\Software\myStock_Sx\Registrasi',true);
Reg.WriteString('HD',inttostr(serialnum));
Reg.WriteString('Serial',cSerial.text);
finally
Reg.CloseKey;
end;
MessageDlg('Registrasi Berhasil !', mtInformation,[mbOk], 0);
Close;
End else
Begin
MessageDlg('Registrasi Yang Anda Masukkan Tidak Benar', mtWarning,[mbOk], 0);
cserial.SetFocus;
End;

If cSerial.text= inttostr(SerialNum+ 898989)then adalah untuk memeriksa apakah serial nomer yang
dimasukan sudah sesuai dengan yang kita berikan, untuk lebih jelasnya baca lagi penjelasan logika diatas,
angka 898989 adalah angka yang bisa anda buat sendiri sesuai kreativitas masing masing.
Langkah 2
Langkah kedua dalam Cara Melindungi Program Dengan Serial Number adalah membuat pemeriksaan
apakah program sudah di registrasi atau belum, caranya adalah tambahkan script pemeriksaan di Form Utama
pada Even on Activate atau onCreate. Maksudnya agar pada saat program pertamakali dijalankan maka program
akan memeriksa dulu apakah sudah diregistrasi ( sudah di input serian nomernya atau belum ) Jika Sudah
Program bisa dilanjutkan, jika belum maka Program langsung di exit.

Berikut adalah Script Untuk Membaca Registrasi di Registry Windows

try
try
Reg.OpenKey('\Software\myStock_Sx\Registrasi', false);
cHD:=Reg.ReadString('HD');
cSerial:=Reg.ReadString('Serial');
except on ERegistryException do
Begin

messagedlg( Program Belum Teregistrasi, Harap Lakukan Registrasi ', mtWarning,[mbOK], 0);

Application.Terminate; /// Jika Belum terregistrasi maka proses yang ini / Program langsung close

End;
end;
finally
Reg.CloseKey;
end;

cHD adalah string untuk menyimpan Serial Nomer Hardisk yang kita simpan saat Registrasi
cSerial adalah string untuk menyimpan Serial Nomer yang kita simpan saat Registrasi

kemudian lakukan pemeriksaan seperti saat Registrasi seperti berikut :

If cSerial= inttostr(strtoint(cHD)+ 898989) then


Begin
Exit; /// Jika Benar Maka proses keluar dari sini > Program Bisa Dilanjutkan
End
Else
messagedlg( Program Belum Teregistrasi, Harap Lakukan Registrasi ', mtWarning,[mbOK], 0);
Application.Terminate; /// Jika Tidak Benar Maka Program langsung Exit
End;

Kalau ada yang Kurang Jelas Bisa tuliskan pertanyaan di bagian Komentar
Semoga Bermanfaat.

Вам также может понравиться