Pengaksesan Registry Windows Oleh : U. Abd. Rohim, S.Kom, MT (
[email protected]) Registry adalah sebuah media untuk menyimpan data-data konfigurasi sebuah komputer berikut dengan device-device lain yang tersambung, program aplikasi bahkan sering digunakan sebagai alat pengamanan dari proses pengkopyan program aplikasi. Sebelum menggunakan registry Microsoft Window 95, 98 masih banyak menggunakan file .INI untuk menyimpan data konfigurasi tersebut. Mulai Microsoft Window XP, Microsoft Window 2000 peran file .INI ini sudah digantikan dengan registry. Melihat Registry Data registry dapat dilihat dengan menggunakan editor registry yang disediakan oleh Microsoft Window. Untuk memanggilnya klik menu Start kemudian Klik Run, tuliskan regedit dan kemudian Klik tombol OK. Akan ditampilkan sbb:
Microsoft Window membagi registry menjadi lima kategori ( HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, CURRENT_CONFIG )
HKEY_LOCAL_MACHINE,
HKEY_USER
dan
HKEY_
Kita dapat menyimpan data disetiap kategori yang ada, namun harus berhati hati saja jika anda akan menghapus suatu nilai registry. Tentunya setiap kategori tersebut mempunyai tujuan tertentu, namun untuk singkatnya tempat yang paling aman untuk kita menyimpan data pada kategory HKEY_LOCAL_MACHINE. Di kategori ini juga terdapat sub lagi yaitu HARDWARE, SUM, SECURITY, SOFTWARE, SYTEM. Dn kita akan menyimpan data registry pada sub SOFTWARE Menambahkan data di Registry Struktur penyimpanan data registry yang biasa dilakukan mengikuti pola sbb: Nama Perusahaan | Nama Produk | Versi Produk | Sub Registry | Data Registry. Berikut ini ditampilkan contoh data registry dari Adobe
untuk selanjutnya sesuai dengan pola diatas mulai dari Nama perusahaan sampai pada sub registry disebut dengan Key dan Data registry disebut dengan Value. Untuk menambah data resgistry lakukan sebagai berikut: Klik Kanan pada SOFTWARE di kategori HKEY_LOCAL MACHINE pilih New akan muncul menu sbb:
buatlah struktur data registry sbb, dengan mengklik menu Key untuk membuat key STMIKBDG.:
selanjutnya klik kanan pada STMIK-BDG pilih key kemudian tuliskan Keuangan, begitu seterusnya sampai terbentuk seperti gambar diatas Menambahkan Data Value Kita akan menambahkan data value pada sub registry profile sbb:
Seperti gambar menu diatas, klik kanan pada Key Profile kemudian pilih String Value, isikan AppName kemudian tekan enter untuk mengakhiri Lakukan hal yang sama untuk data value AppVersionMajor, AppVersionMinor, dan CopyRights
Mengisi Data Value Untuk mengisi data value hal yang harus dilakukan adalah double klik pada value yang dimaksud, misalkan kita akan mengisi nilai AppName. Double klik pada AppName kemudian akan tampil form sbb:
isikan pada value data “Sistem Informasi Keuangan” lakukan hal yang sama untuk data value yang lain, dengan isian sbb: No. Value Name Data Value 1 AppName Sistem Informasi Keuangan 2 AppVersionMajor 2 3 AppVersionMinor 5 4 CopyRights Abdrohim.
[email protected] Untuk
data
yang
didefinisikan
WORD
value
bentuk
form
pengisianya
sbb:
Perhatikan radio Base pilih bilangan Desimal atau heksadesimal Menyimpan Registry Pekerjaan yang dilakukan tadi diatas seluruhnya sudah tersimpan dalam registry komputer tersebut. Maksud dari pekerjaan penyimpanan registry adalah pembuatan registry tadi akan disimpan dalam file lain yang nantinya akan didaftarkan pada komputer lainnya. Penyimpanan registry dapat dilakukan untuk seluruh registry yang ada atau sebagian registry khusus untuk registry yang penah kita buat. Penyimpanan registry seluruhnya biasanya dimaksudkan untuk melakukan backup terhadap registry sebelum kita melakukan perubahan, penghapusan atau hal lainnya. Untuk menyimpan registry lakukan langkah berikut: Klik terlebih dahulu pada key STMIK-BDG
Klik menu File kemudian pilih Export … , tunjukan direktory tempat anda akan menyimpan data registry tersebut. Tuliskan nama file untuk registry tersebut. Secara otomatis file tersebut akan diberi extention .reg. Melihat file .Reg File .reg merupakan file teks, sehingga anda dapat membukanya disembarang editor. Lakukan langkah berikut ini Buka Window Explorer, buka dirketory tempat anda menyimpan file .reg. Tadi. Pada file .reg anda klik kanan kemudian pilih Edit, maka akan dibuka aplikasi Notepad dengan isinya krang lebih sbb: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\STMIK-BDG] [HKEY_LOCAL_MACHINE\SOFTWARE\STMIK-BDG\KEUANGAN] [HKEY_LOCAL_MACHINE\SOFTWARE\STMIK-BDG\KEUANGAN\1.0] [HKEY_LOCAL_MACHINE\SOFTWARE\STMIK-BDG\KEUANGAN\1.0\Database] [HKEY_LOCAL_MACHINE\SOFTWARE\STMIK-BDG\KEUANGAN\1.0\Profile] "AppName"="Sistem Informasi Keuangan" "AppVersionMinor"="5" "AppVersionMajor"="2" "CopyRights"="Abd.Rohim:
[email protected] "
Version 5.00 menujukan registry dibuat pada Microsoft Window XP/NT. Wersi sebelumnya 4.00 berjalan untuk Microsoft Window 98 Mengeksekusi file .Reg File .reg sama dengan file .exe sehingga dapat dieksekusi secara langsung baik itu menggunakan perintah command line, atau cukup di double klik pada window explorer. Bahkan dapat dijalankan langsung dari sebuah aplikasi dengan perintah execute.
Mengakses Registry pada Tool Pemrograman Delphi Tools pemrograman yang digunakan pada tulisan ini adalah delphi versi 5.0 (D5) hal ini dimaksudkan untuk memudahkan pindah ke versi lainnya. Untuk mengakses registry, D5 menyediakan sebuah unit Registry yang disimpan pada class TRegistry. Seperti class yang lain, pada Tregistry terdapat juga property dan Method. Pada tulisan ini akan dibahas baian untuk melakukan pembacaan dan penulisan terhadap nilai registry. Sebelum melakukan pembacaan dan penulisan registry perlu dilakukan dahulu pengisian terhadap properti rootkey :dengan constanta HKEY Contoh : Reg.RootKey:=HKEY_LOCAL_MACHINE; Selanjutnya harus dilakukan pembukaan terhadap key dengan menggunakan method openkey. Fungsi ini mempunyai dua parameter key dan model akses. Mode akses diisi
dengan nilai boolean, true jika key tidak ketemu maka akan langsung dibuat key tersebut dan false jika tidak ketemu maka akan mengembalikan nilai key tidak ketemu Contoh : reg.OpenKey(‘\SOFTWARE\STMIKBDG\KEUANGAN\1.0\Profile’,False)
Pembacaan Registry Terdapat beberapa method / fungsi untuk melakukan pembacaan data registry. Fungsi ini sangat tergantung pada jenis data yang simpan pada registry tersebut. Berikut nama fungsi untuk melakukan pembacaan adalah : ReadBinaryData() , ReadBool(), ReadCurrency(), ReadDate(), ReadDateTime(), ReadFloat(), ReadInteger(), ReadString(), ReadTime(). Pada tulisan ini hanya akan dijelaskan cara membaca data Readstring saja. Sintak penulisan sbb: function ReadString(const Name: String): String; parameter Name diisi dengan data registry. Contoh program sbb: Tuliskan pada bagian Uses tambahkan Registry. Pada definisi variabel Var : reg Kemudian script program sbb: Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey(‘\SOFTWARE\STMIK-BDG\KEUANGAN\1.0\Profile’,False); Edit1.text :=Reg.ReadString(‘AppName’); Reg.Free;
Untuk selanjutnya sebaiknya dibuat sebuah fungsi untuk membaca nilai registry tersebut: function GetStringRegistryValue (Key, SubKey : string) :String; var reg : Tregistry; begin Reg :=TRegistry.Create; Try Reg.RootKey:=HKEY_LOCAL_MACHINE; with reg do begin if OpenKey(Key,false) then GetStringRegistryValue:=ReadString(SubKey) else GetStringRegistryValue:=''; end; Reg.CloseKey; Finally Reg.Free; end; end;
pada bagian pemanggilan sbb: edAppname.text := GetStringRegistryValue(\SOFTWARE\STMIKBDG\KEUANGAN\1.0\Profile,’AppName’); edAppVerMayor.text := GetStringRegistryValue(\SOFTWARE\STMIKBDG\KEUANGAN\1.0\Profile,’AppVersionMajor’); edAppVerMinor.text := GetStringRegistryValue(\SOFTWARE\STMIKBDG\KEUANGAN\1.0\Profile,’AppVersionMinor’);
Penulisan Registry
Seperti pada bagin pembacaan registry, penulisan registry pun sangat tergantung dengan tipe data yang disimpan pada register tersebut. Prosedur - prosedur untuk penulisan sbb: WriteBinaryData, WriteBool, WriteCurrency, WriteDate, WriteDateTime, WriteExpandString, WriteFloat, WriteInteger, WriteString, WriteTime Penulisan data string dengan menggunakan prosedur writestring dengan sintak sbb: procedure WriteString(const Name, Value: String); Contoh : Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey(‘\SOFTWARE\STMIK-BDG\KEUANGAN\1.0\Profile’,False); Reg.WriteString(‘AppName’,’Sistem Informasi Keuangan (Modul Accounting)’); Reg.Free;
Untuk selanjutnya sebaiknya dibuat sebuah fungsi untuk membaca nilai registry tersebut: procedure SetStringRegistryValue(Key,SubKey:string; DataValue:string); var reg : Tregistry; begin Reg :=TRegistry.Create; Try Reg.RootKey:=HKEY_LOCAL_MACHINE; with reg do begin if OpenKey(Key,False) then WriteString(SubKey,DataValue); end; Reg.CloseKey; Finally Reg.Free; end; end;
pada bagian pemanggilan sbb: SetStringRegistryValue(‘\SOFTWARE\STMIKBDG\KEUANGAN\1.0\Profile’,’AppName’; ‘’Sistem Informasi Keuangan (Modul Accounting)’);