WINDOWS
REGISTRY
Registry, dalam platform sistem
operasi Microsoft Windows 32-bit, merupakan
sebuah basis data
yang disusun secara hierarkis yang mengandung informasi mengenai konfigurasi
sebuah sistem, mulai dari konfigurasi perangkat
keras, perangkat
lunak, asosiasi ekstensi berkas
dengan aplikasinya hingga preferensi pengguna. Registry merupakan pengganti
berkas-berkas konfigurasi.
Ini yang digunakan dalam sistem Windows 16-bit (Windows 3.x
dan Windows for Workgroups). Registry, pertama kali diperkenalkan
di dalam sistem Windows 16-bit sebagai penampung informasi mengenai
pemetaan/asosiasi ekstensi berkas dengan aplikasinya, dan kemudian dikembangkan
menjadi basis data dengan cakupan yang luas pada sistem-sistem operasi keluarga
Windows NT. Registry juga kemudian digunakan pada
sistem operasi kelas rumahan: Windows 95, Windows 98 dan Windows ME, tapi memang implementasi yang cukup
bagus dari registry terdapat di dalam keluarga sistem operasi Windows NT.
1.
Registry dalam Windows 16-bit
Registry dalam sistem Windows 16-bit (dimulai pada Windows 3.x)
berguna hanya untuk menyimpan asosiasi ekstensi berkas dengan aplikasinya,
serta asosiasi objek OLE di dalam dokumen dengan aplikasinya. Implementasi ini
masih terbilang sederhana, karena jika dibandingkan dengan registry dalam Windows NT dan Windows
9x, asosiasi ekstensi berkas dan objek OLE hanya memakan satu anak pohon (subtree) saja, yakni di dalam HKEY_CLASSES_ROOT.
2.
Registry dalam Windows 9x
Dalam sistem
operasi Windows 95, Windows 98, dan Windows Millennium Edition, struktur registry secara logis sama dengan
struktur registry dalam Windows
NT, tapi tidak kompatibel secara fisik. Dalam sistem operasi ini terdapat
sebuah anak pohon tambahan, yakni HKEY_DYN_DATA yang dibuat secara dinamis dan
digunakan untuk mengukur performa serta melakukan konfigurasi perangkat keras Plug and Play.
Windows 9x menyimpan registry di dalam dua buah berkas, yakni
%WINDIR%\system.dat dan %WINDIR%\user.dat. System.dat mengandung informasi
mengenai sebuah komputer tertentu, sementara user.dat mengandung informasi
mengenai sebuah profil milik pengguna. Ketika booting, Windows 9x
akan memuat registry ke dalam
ruangan kernel
di dalam memori fisik.
3.
Registry dalam Windows NT
Registry dalam Windows NT, Windows 2000,
Windows XP dan Windows Server 2003 terbagi secara logis ke dalam lima buah anak
pohon (subtree), yang setiap
pohon tersebut mengandung kumpulan kunci (key) dan anak kunci (subkey)
yang disusun secara hierarkis. Susunan ini sama dengan susunan direktori
dalam sistem berkas.
Sementara itu, secara fisik, registry
terdiri atas beberapa berkas yang disebut sebagai hive dan berkas catatan transaksi (transaction log) untuk setiap hive-hive tersebut yang disimpan di dalam
direktori %systemroot%\system32\config.
4.
Berkas fisik registry
Registry
Windows disimpan dalam beberapa berkas,
tergantung sistem operasi Windows yang digunakan. Nama berkas-nya pun
kadang-kadang berbeda-beda antar versi sistem operasi, tapi semua berkas
tersebut disimpan di dalam mesin lokal, kecuali NTuser.dat yang dapat
diletakkan di dalam komputer lainnya untuk mengizinkan fungsi roaming profile dan
group
policy dalam Windows NT, yang umumnya disimpan di dalam server
dalam jaringan lokal.
5.
Windows NT, 2000, XP, dan Server 2003
Berkas-berkas
berikut merupakan berkas registry
untuk sistem operasi Windows NT, Windows 2000, Windows XP dan Windows
Server 2003:
- %systemroot%\system32\config\Sam
– HKEY_LOCAL_MACHINE\SAM
- %systemroot%\system32\config\Security
– HKEY_LOCAL_MACHINE\SECURITY
- %systemroot%\system32\config\Software
– HKEY_LOCAL_MACHINE\SOFTWARE
- %systemroot%\system32\config\System
– HKEY_LOCAL_MACHINE\SYSTEM
- %systemroot%\system32\config\Default
– HKEY_USERS\.DEFAULT
- %systemroot%\system32\config\Userdiff
- %UserProfile%\Ntuser.dat
– HKEY_USERS\<SID> (HKEY_CURRENT_USER)
- %UserProfile%\Local
Settings\Application Data\Microsoft\Windows\Usrclass.dat – HKEY_USERS\<SID>_Classes
(HKEY_CURRENT_USER\Software\Classes)
6.
Windows 95, 98, dan Me
Berkas-berkas
berikut merupakan berkas registry
untuk sistem operasi Windows 95, Windows 98 dan Windows Millennium Edition.
Ø C:\WINDOWS\User.dat
Ø C:\WINDOWS\System.dat
Ø C:\WINDOWS\Classes.dat
(khusus Windows ME)
7.
Windows 3.x
Dalam Windows
3.x, registry hanya disimpan di
dalam sebuah berkas, yakni C:\WINDOWS\Reg.dat saja.
8.
Struktur registry
Struktur registry agak mirip dengan struktur
direktori dalam sistem berkas. Selain itu, registry juga dapat diakses dengan menggunakan sintaksis yang
sama dengan cara mengakses berkas, dengan menggunakan karakter garis miring
terbalik (backslash) untuk
menandakan tingkatan hierarkis. Susunannya adalah seperti <subtree>\<key>\<subkey...>. Sebagai contoh,
My Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows, yang merujuk
kepada sebuah subkey yang
memiliki nama "Windows" yang terdapat di dalam subkey Microsoft, yang terdapat di
dalam key dengan nama Software,
yang terdapat di dalam subtree
HKEY_LOCAL_MACHINE.
Setiap key dan subkey
tersebut dapat memiliki nilai yang dapat ditentukan atau nilai default, yang disebut sebagai Value. Akan
tetapi, cara mengakses value
tidaklah sama dengan cara mengakses berkas
dalam sistem berkas, mengingat nama value dapat mengandung karakter backslash yang dapat menjadi ambigu
ketika menggunakan cara baca seperti halnya mengakses sistem berkas. Adalah
fungsi-fungsi dalam Windows 32-bit Application Programming Interface/API
(Win32 API) yang dapat melakukan query dan
manipulasi terhadap value-value registry, yang dilakukan dengan cara mengambil nama value secara terpisah dari path key yang merupakan parent
key. Setiap value
memiliki jenis-jenis datanya masing-masing yang dapat dilihat pada bagian berikut.
9.
Daftar anak pohon Registry
Registry Windows terdiri atas beberapa anak pohon berikut, yang
disusun secara hierarkis dengan My
Computer sebagai root
directory-nya:
A.
HKEY_LOCAL_MACHINE, sering disebut
sebagai HKLM, merupakan sebuah
tempat penyimpanan untuk konfigurasi sistem yang bersangkutan, yang terdiri
atas perangkat keras dan perangkat lunak. Semua yang terdapat di dalam anak
pohon ini diaplikasikan kepada semua pengguna.
B.
HKEY_CURRENT_USER, sering disebut
sebagai HKCU, merupakan sebuah
tempat penyimpanan untuk konfigurasi yang dimiliki oleh pengguna yang sedang
melakukan logon, yang menyimpan
informasi mengenai konfigurasi preferensi pengguna (konfigurasi desktop, warna, dan konfigurasi
lainnya yang setiap pengguna dapat melakukan kustomisasi terhadapnya).
C.
HKEY_USERS, sering disebut sebagai HKU, merupakan tempat penyimpanan
untuk konfigurasi setiap pengguna yang terdaftar di dalam komputer yang
bersangkutan. Setiap anak kunci dari anak pohon ini diidentifikasikan dengan
menggunakan nomor Security Identifier (SID) yang dimiliki oleh
pengguna. Ketika pengguna melakukan logon, SID yang cocok akan dimuat ke dalam
anak pohon HKEY_CURRENT_USER.
D.
HKEY_CLASSES_ROOT, sering disebut
sebagai HKCR, merupakan tempat
penyimpanan untuk konfigurasi asosiasi/pemetaan ekstensi sebuah berkas atau
objek Object Linking and Embedding (OLE)
dengan aplikasi yang dapat menanganinya. Sebagai contoh, berkas berekstensi .txt akan ditangani oleh aplikasi
editor teks seperti Notepad dan masih banyak lainnya.
E.
HKEY_CURRENT_CONFIG, sering disebut
sebagai HKCC, merupakan tempat
penyimpanan untuk konfigurasi perangkat keras dan sistem operasi yang sedang
digunakan saat itu, yang diperoleh pada saat proses booting dilakukan.
Informasi yang disimpan di sini bersifat volatil dan tidak disimpan secara
permanen ke dalam berkas penampung registry,
tapi akan selalu dibuat setiap kali proses booting dilakukan.
F.
HKEY_DYN_DATA, yang hanya terdapat di
dalam Windows 95, Windows 98, dan Windows Millennium Edition, merupakan tempat
penyimpanan konfigurasi dinamis untuk semua perangkat keras plug-and-play. Tidak ada padanannya
dalam Windows NT, tapi dalam Windows NT 5.x, terdapat sebuah anak pohon
HKEY_PERFORMANCE_DATA, yang hanya digunakan untuk mengumpulkan informasi performance counter Windows 2000,
mengingat semua konfigurasi perangkat keras disimpan di dalam
HKEY_LOCAL_MACHINE\HARDWARE\.
Catatan: HKEY di dalam registry Windows, merupakan singkatan terhadap kata "Handle to Key".
A.
HKEY_LOCAL_MACHINE
Menyimpan
informasi/data mengenai semua konfigurasi mesin yang bersangkutan. HKLM
bukanlah symbolic link
ke kunci registry manapun.
HKEY_LOCAL_MACHINE memiliki beberapa anak kunci, yakni:
v HKEY_LOCAL_MACHINE\SOFTWARE,
berguna untuk menyimpan semua konfigurasi perangkat lunak yang terinstal di
dalam komputer yang bersangkutan, dan konfigurasinya yang akan diaplikasikan
kepada semua pengguna, baik pengguna yang melakukan logon secara lokal/interaktif maupun yang melakukan logon secara
remote (melalui service logon,
batch logon, atau terminal
services logon).
v HKEY_LOCAL_MACHINE\SYSTEM,
berguna untuk menyimpan semua informasi dan konfigurasi sistem operasi Windows
yang sedang berjalan. Di sini terdapat semacam recovery point, yang disebut sebagai LastKnownGood Configuration, yang akan digunakan pada saat
sistem mengalami masalah pada saat proses booting.
Semua konfigurasi driver
dan layanan Windows (Win32 Service dan komponen
Windows seperti NTFS
dan TCP/IP)
disimpan di sini.
v HKEY_LOCAL_MACHINE\SAM,
berguna untuk menyimpan basis data akun pengguna yang terinstal di dalam sistem
operasi yang bersangkutan. Secara default,
SAM tidak dapat diakses, bahkan oleh administrator sekalipun, karena memang access control-nya tidak memungkinkan
hal itu dilaksanakan. SAM adalah singkatan dari Security Accounts Manager.
v HKEY_LOCAL_MACHINE\HARDWARE,
berguna untuk menyimpan konfigurasi perangkat keras di dalam
sistem yang bersangkutan, seperti halnya konfigurasi sumber daya perangkat keras (interupsi perangkat keras, konfigurasi DMA, dan konfigurasi
lainnya).
v HKEY_LOCAL_MACHINE\SECURITY,
berguna untuk menyimpan konfigurasi keamanan Windows.
B.
HKEY_CURRENT_USER
Menyimpan
informasi/data yang diasosiasikan dengan pengguna yang sedang masuk log. HKCU
merupakan sebuah symbolic link ke kunci registry HKEY_USERS\<SID dari pengguna yang bersangkutan>.
HKCU juga menyimpan informasi mengenai profil pengguna, konfigurasi perangkat
lunak, dan preferensi mereka. Terdapat beberapa anak kunci, yakni:
v AppEvents, yang
digunakan untuk menyimpan asosiasi antara suara dengan sebuah event. Disarankan
untuk menggunakan Control Panel->Sound untuk mengubahnya, dan jangan
menyunting secara langsung dari sini.
v Console, yang
digunakan untuk menyimpan konfigurasi jendela Command Prompt (cmd.exe); contoh:
lebarnya, tingginya, dan warnanya. Disarankan untuk menggunakan Command
Prompt->Properties untuk mengubahnya, dan jangan menyunting langsung dari
sini.
v Control Panel,
digunakan untuk menyimpan konfigurasi screen saver, skema desktop, warna,
keyboard, dan mouse. Selain itu juga dapat menyimpan informasi ketidakmampuan
(accessibility) dan regional settings. Disarankan untuk menggunakan Control
Panel->Display, Control Panel->Accessibility, dan Control Panel->Language
and Regional Options untuk mengubahnya, dan jangan menyuntingnya secara
langsung dari sini.
v Environment,
mengandung definisi Environment Variable. Disarankan untuk menggunakan Control
Panel->System->Advanced->Environment Variables untuk mengubahnya, dan
jangan menyunting langsung dari sini.
v Keyboard
Layout, menyimpan konfigurasi lay-out konfigurasi keyboard (contoh U.S.
English, atau U.K. English, atau U.S. Dvorak, dan lain sebagainya).
v Network,
menyimpan konfigurasi dan pemetaan drive yang berada di jaringan.
v Printers,
menyimpan konfigurasi koneksi printer.
v Software,
digunakan untuk menyimpan preferensi pengguna terhadap sebuah perangkat lunak
tertentu.
v UNICODE
v Windows 3.1
Migration Status
C.
HKEY_USERS
Anak pohon
HKEY_USERS mengandung beberapa anak yakni semua profil pengguna yang terdaftar
di dalam sistem yang bersangkutan dan basis data registrasi objek OLE. Selain
itu, anak pohon ini juga mengandung HKEY_USERS\.DEFAULT, yang dihubungkan
dengan profil milik akun SYSTEM, yang merupakan profil yang digunakan oleh
salah satu komponen Windows, WINLOGON.EXE, untuk menyimpan semua konfigurasi
seperti halnya HKEY_CURRENT_USER, yakni bagaimana tampilan desktop, bagaimana
konfigurasi perangkat keras dan lain-lain. Pengaturan yang diberlakukan
terhadap HKU\.DEFAULT ini dapat menjadikan konfigurasi desktop dan lain-lain
pada saat proses logon Windows akan berubah dari pengaturan default-nya.
Ketika seorang
pengguna masuk log ke sebuah sistem untuk pertama kalinya, sementara akun
miliknya tidak berupa roaming profile
(yakni, sebuah profil pengguna yang disimpan di dalam tempat tersentralisasi di
dalam domain
controller), maka Windows akan membuatkan sebuah profil yang
baru untuknya, yang dibuat berbasiskan pengaturan yang terdapat di dalam
C:\Documents and Settings\Default User.
D.
HKEY_CURRENT_CONFIG
Anak pohon
HKEY_CURRENT_CONFIG mengandung data konfigurasi untuk profil perangkat keras (hardware profile) yang sedang
digunakan oleh Windows. HKCC tidak mengandung data apapun, karena memang anak
pohon ini merupakan sebuah symbolic link terhadap
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current. Dengan
demikian, dengan mengubah kunci tersebut atau mengubah HKCC, akan menghasilkan
sesuatu yang sama.
Penggunaan
profil perangkat keras mengizinkan administrator untuk mengonfigurasikan
beberapa variasi dari pengaturan driver
perangkat keras yang digunakan pada saat melakukan booting.
Meskipun profil yang digunakan dapat berubah dari satu proses booting ke proses
booting lainnya, aplikasi dapat merujuk ke anak pohon ini untuk mencari profil
mana yang sedang dimuat oleh Windows. Pengaturan profil perangkat keras dapat
dilakukan dengan Control Panel->System->Hardware->Hardware Profiles.
Jika ada lebih dari satu profil perangkat keras, maka komponen Windows, yakni
NTLDR, akan menanyakan kepada pengguna mengenai profil yang harus dimuat pada
saat proses booting dilakukan.
E.
HKEY_CLASSES_ROOT
Anak pohon
HKEY_CLASSES_ROOT mengandung dua jenis data, yakni:
v Data yang mengasosiasikan
jenis berkas (dilihat dari ekstensinya atau kelasnya) dengan program yang dapat
membukannya. Subkunci jenis berkas di dalam HKEY_CLASSES_ROOT memiliki nama
yang sama dengan ekstensi nama berkas, seperti halnya .txt, .exe, dan
lain-lain. Asosiasi jenis berkas ini disimpan di dalam registry, tapi
disarankan untuk menggunakan Folder Options->File Types jika memang hendak
mengubahnya.
v Data
konfigurasi untuk objek-objek Object Linking and Embedding (OLE)/Component
Object Model (COM).
Isi dari HKCR
diambil dari dua sumber, yakni HKLM\SOFTWARE\Classes dan HKCU\SOFTWARE\Classes.
Jika sebuah subkey atau entri terdapat di dalam salah satu dari dua lokasi
tersebut, maka hal tersebut akan ditampilkan juga di dalam HKCR. Jika ada dua
entri yang konflik di antara dua lokasi tersebut, hanya HKCU\SOFTWARE\Classes
yang akan ditampilkan di dalam HKCR.
F. HKEY_DYN_DATA
Semua informasi
di atas dapat dirangkum ke dalam tabel berikut
Anak pohon
|
Keterangan
|
|
HKEY_CURRENT_USER
|
Menyimpan
informasi/data yang diasosiasikan dengan pengguna yang sedang masuk log.
|
|
HKEY_USERS
|
Menyimpan
informasi/data mengenai semua akun pengguna di dalam mesin yang sama
|
|
HKEY_CLASSES_ROOT
|
Menyimpan
informasi/data mengenai asosiasi berkas dengan aplikasinya dan registrasi
objek Component Object Model (COM).
|
|
HKEY_LOCAL_MACHINE
|
Menyimpan
informasi/data mengenai semua konfigurasi mesin yang bersangkutan.
|
|
HKEY_PERFORMANCE
DATA
|
Menyimpan
informasi mengenai kinerja sistem yang dikumpulkan oleh performance counter Windows NT.
|
|
HKEY_CURRENT_CONFIG
|
Berisi
beberapa informasi mengenai profil perangkat keras yang sedang digunakan.
|
|
10. Jenis data
dalam registry
Sebuah value dapat memiliki jenis-jenis data
seperti di bawah ini:
- REG_NONE, yang
merupakan sebuah jenis data registry yang tidak didefinisikan sebelumnya.
Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x00.
- REG_SZ,
merupakan jenis data teks (string)
dengan panjang yang tetap (fixed-length
string). Semua sistem operasi 32-bit Windows (Windows NT dan
Windows 9x) mendukung jenis data registry ini. Jenis data ini secara
internal menggunakan tanda pengenal (identifier) 0x01.
- REG_EXPAND_SZ,
merupakan jenis data teks/string
yang dapat diekspansi. Windows 9x tidak memiliki jenis data ini.
Diperlukan editor registry
khusus (regedt32.exe) untuk menangani jenis data ini. Jenis data ini
secara internal menggunakan tanda pengenal (identifier) 0x02.
- REG_BINARY,
merupakan jenis data biner, yang dapat berarti macam-macam (bisa berupa teks/string, atau bilangan). Semua
sistem operasi 32-bit Windows (Windows NT dan Windows 9x) mendukung jenis
data registry ini. Jenis data ini secara internal menggunakan tanda
pengenal (identifier)
0x03.
- REG_DWORD,
merupakan jenis data angka 32-bit. Semua sistem operasi 32-bit Windows
(Windows NT dan Windows 9x) mendukung jenis data registry ini. Jenis data
ini secara internal menggunakan tanda pengenal (identifier) 0x04. Terdapat dua jenis implementasi dari
jenis data ini, yakni:
v REG_DWORD_LITTLE_ENDIAN, yang merupakan jenis data REG_DWORD default dalam Windows NT yang
dijalankan di atas prosesor Intel x86/x64. Jenis data ini berukuran 32-bit yang
disusun dengan menggunakan format little-endian.
Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x05.
v REG_DWORD_BIG_ENDIAN, yang merupakan jenis data REG_DWORD
yang berukuran 32-bit yang disusun dengan menggunakan format big-endian. Jenis data ini hanya
dapat didukung oleh Windows NT yang dijalankan di atas mesin DEC Alpha,
MIPS, atau IBM PowerPC, yang memang
menggunakan format bilangan big-endian.
Windows
NT 5.x yang hanya dapat berjalan di atas sistem x86 tidak
menangani jenis data ini (terdapat limitasi pada mikroprosesor), meskipun
Windows NT 5.x mendukungnya. Jenis data ini secara internal menggunakan tanda
pengenal (identifier) 0x06.
- REG_MULTI_SZ,
merupakan jenis data teks/string
yang memiliki banyak baris yang dipisahkan dengan dua buah karakter null (0x00). Windows 9x tidak
memiliki jenis data ini.Diperlukan editor registry khusus (regedt32.exe) untuk menangani
jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal
(identifier) 0x07.
- REG_LINK, yang
merupakan symbolic
link ke sebuah objek Windows NT dalam ruang nama/namespace objek Windows NT (yang
diatur oleh Object Manager Windows NT). Registry Editor default bawaan Windows (regedit.exe, regedt32.exe, dan utilitas command-line reg.exe) tidak dapat menyunting
jenis ini. Jenis data ini digunakan secara internal oleh Windows NT saja,
dan tidak digunakan oleh aplikasi. Registry dalam Windows 9x tidak
memiliki jenis data ini. Jenis data ini secara internal menggunakan tanda
pengenal (identifier)
0x08.
- REG_RESOURCE_LIST (Windows
NT) atau
REG_FULL_RESOURCE_DESCRIPTOR, yang
merupakan jenis data registry yang hanya digunakan untuk menyimpan
konfigurasi perangkat keras dan driver-nya yang terinstalasi di
atas sistem operasi Windows NT. Registry dalam Windows 9x tidak memiliki
jenis data ini. Jenis data ini adalah kumpulan larik (array) yang
digunakan untuk menyimpan daftar sumber daya (interupsi perangkat keras,
Direct
Memory Access (DMA), I/O range
dan memory range) yang
digunakan oleh komponen perangkat keras atau driver. Dibutuhkan registry editor khusus (regedt32.exe) untuk menyunting value dengan jenis data ini.
Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x09.
- REG_QWORD,
merupakan jenis data angka yang memiliki panjang 64-bit. Jenis data ini
hanya terdapat di dalam sistem prosesor 64-bit saja, semacam DEC Alpha,
IA-64, atau x64. Jenis data ini
secara internal menggunakan tanda pengenal (identifier) 0x12. Sama seperti halnya REG_DWORD, REG_QWORD
juga terdapat dua jenis implementasi, yakni little-endian (REG_QWORD_LITTLE_ENDIAN,
dengan identifier 0x13) dan big-endian
(REG_QWORD_BIG_ENDIAN,
dengan identifier 0x14),
meskipun secara default
format yang digunakan adalah REG_QWORD_LITTLE_ENDIAN.
Diperlukan editor khusus untuk menyunting jenis data ini.
11. Jenis data registry, dapat dirangkum
pada tabel berikut:
Jenis data
|
Identifier
|
Keterangan
|
REG_NONE
|
0x00
|
Jenis
data belum ditentukan
|
REG_SZ
|
0x01
|
Teks/string
berukuran tetap
|
REG_EXPAND_SZ
|
0x02
|
Teks/string
yang dapat berubah-ubah.
|
REG_BINARY
|
0x03
|
Jenis
data biner (dapat berupa apa saja)
|
REG_DWORD
|
0x04
|
Jenis
data bilangan dengan ukuran 32-bit
|
REG_DWORD_LITTLE_ENDIAN
|
0x05
|
Jenis
data bilangan dengan ukuran 32-bit, dengan format little-endian. Dalam Windows NT 5.x, sama saja dengan
REG_DWORD biasa.
|
REG_DWORD_BIG_ENDIAN
|
0x06
|
Jenis
data bilangan dengan ukuran 32-bit, dengan format big-endian.
|
REG_MULTI_SZ
|
0x07
|
Jenis
data teks/string dengan banyak baris yang dipisahkan dengan dua karakter null (0x00).
|
REG_LINK
|
0x08
|
Symbolic link dengan menggunakan format Unicode ke sebuah objek dalam
Windows NT Object Manager.
|
REG_RESOURCE_LIST
|
0x09
|
Digunakan
untuk menampung sumber daya perangkat keras.
|
REG_FULL_RESOURCE_DESCRIPTOR
|
0x10
|
Digunakan
untuk menampung sumber daya perangkat keras.
|
REG_RESOURCE_REQUIREMENTS_LIST
|
0x11
|
Digunakan
untuk menampung kebutuhan sumber daya perangkat keras.
|
REG_QWORD
|
0x12
|
Jenis
data bilangan dengan ukuran 64-bit.
|
REG_QWORD_LITTLE_ENDIAN
|
0x13
|
Jenis
data bilangan dengan ukuran 64-bit, dengan menggunakan format little-endian.
|
REG_QWORD_BIG_ENDIAN
|
0x14
|
Jenis
data bilangan dengan ukuran 64-bit, dengan menggunakan format big-endian.
|
12. 12. Menyunting
registry
Secara fisik, registry merupakan berkas biner yang
tidak dapat disunting secara langsung dengan menggunakan editor teks. Akan tetapi,
beberapa program editor bilangan heksadesimal dapat
melakukannya, meski sangat rumit untuk dilakukan. Cara lainnya adalah dengan
menggunakan alat bantu editor registry Windows. Untungnya, Microsoft menawarkan
program editor registry, yang
dikenal sebagai regedit. Regedit
dapat diakses dengan menjalankan perintah "regedit.exe" atau "regedt32.exe" dari menu Run. Dengan ditampilkan secara
struktural, penyuntingan registry pun dapat dilakukan secara jauh lebih mudah
daripada menggunakan program editor teks atau editor bilangan heksadesimal.
Berhati-hatilah
saat melakukan penyuntingan registry,
mengingat kerusakan registry
seringnya tidak dapat dikembalikan. Karenanya, lakukan backup (buat salinan) terlebih dahulu sebelum menyunting.
Beberapa program optimalisasi/tweaking
Windows atau "hacking"
Windows seperti TweakUI atau bahkan
beberapa applet dalam Control
Panel Windows melakukan penyuntingan terhadap registry secara langsung tanpa harus membuka editor registry, sehingga jauh lebih
aman. Jadi intinya, lakukan penyuntingan registry
jika dan hanya jika mengetahui seluk beluk registry yang hendak disunting.
13. Editor registry
bawaan Windows
Dalam Windows
16-bit, terdapat sebuah komponen editor registry, yang disebut sebagai
"Registration Info Editor" atau "Registration Editor".
Seperti yang telah dibahas sebelumnya, bahwa
registry dalam Windows 16-bit hanya terdapat asosiasi berkas atau objek OLE
dengan aplikasinya saja, maka editor registry dalam sistem ini pun hanya dapat
menyunting hal tersebut saja.
Windows NT yang
dirilis kemudian memperkenalkan banyak konsep baru terhadap registry Windows,
seperti halnya mampu menangani beberapa sub-tree,
dan juga atribut keamanan dengan access
control list. Dalam Windows NT 3.1, terdapat satu editor registry,
yang disebut dengan regedt32.exe,
yang lebih bagus dan mampu menyunting beberapa jenis tipe data.
Windows 95 juga
memperkenalkan editor registry baru, yang dibuat berbasiskan registry editor
bawaan Windows NT, tetapi lebih sederhana (tidak ada atribut keamanan, dan
tidak ada proteksi read-only). Registry Editor dalam Windows 95/98/ME ini
disebut sebagai Regedit.exe
saja.
Saat Microsoft
merilis Windows NT 4.0, setelah Windows 95, di sistem operasi tersebut terdapat
dua editor registry, yakni regedit.exe dan regedt32.exe. Regedit.exe merupakan bawaan Windows 95, sementara regedt32.exe merupakan bawaan Windows
NT, yang diperbarui. Ada beberapa perbedaan di antara keduanya, yakni sebagai
berikut:
v Regedit.exe,
ditampilkan seperti halnya Windows Explorer, dengan root-directory dengan nama My Computer dan akan menampilkan
semua sub-tree yang dimuat di bawahnya. Regedit.exe hanya menampilkan satu window saja. Sementara itu, registry
dalam regedt32.exe ditampilkan seperti halnya Program Manager, dengan setiap
sub-tree ditampilkan dalam setiap window-nya masing-masing, sehingga sebuah
window hanya mengandung sub-tree saja.
v Regedit.exe
merepresentasikan komponen sebuah value (nama, jenis dan datanya) sebagai tiga
kolom yang terpisah dari sebuah tabel. Sementara, regedt32.exe akan
merepresentasikan komponen sebuah value sebagai daftar string.
v Regedit.exe
mendukung klik-kanan terhadap sebuah entri dalam struktur tampilan pohon untuk
mengatur propertinya dan beberapa pengaturan lainnya. Sementara, regedt32.exe mengharuskan semuanya
dilakukan dari menu utama aplikasi.
v Karena
regedit.exe adalah program bawaan Windows 95, program tersebut tidak dapat
menyunting izin akses (karena memang izin akses tidak terdapat dalam Windows 9x
dan hanya terdapat di dalam keluarga sistem operasi Windows NT). Oleh karena
itu, satu-satunya cara untuk mengakses registry dalam Windows NT secara penuh
adalah dengan menggunakan program regedt32.exe.
v Regedit.exe
hanya mendukung beberapa jenis data saja (REG_SZ,
REG_DWORD/REG_DWORD_LITTLE_ENDIAN, dan REG_BINARY). Sementara itu, Regedt32.exe
mendukung banyak jenis data, yakni REG_SZ, REG_DWORD, REG_MULTI_SZ,
REG_EXPAND_SZ, dan REG_RESOURCE_LIST. Menyunting jenis data yang tidak didukung
dengan Regedit.exe dalam Windows NT 4.0 dan Windows 2000 akan menyebabkan
konversi data ke jenis data yang didukung oleh aplikasi tersebut dan tidak
dapat dikembalikan ke jenis data sebelumnya.
Hal tersebut
terus diberlakukan dalam Windows 2000. Dan, pada Windows XP dan Windows Server
2003, kemampuan kedua program tersebut digabungkan ke dalam satu program saja,
regedit.exe. Regedt32.exe juga masih ada, tapi hanya berupa symbolic link saja. Jika menjalankan
regedt32.exe dalam kedua sistem operasi tersebut, hal tersebut sama saja dengan
menjalankan regedit.exe. Hal ini juga berlaku untuk Windows edisi selanjutnya.
Program editor
registry bawaan Windows, baik itu menggunakan regedit.exe maupun regedt32.exe
mampu melakukan pengeksporan registry ke dalam sebuah berkas dengan ekstensi .REG atau .KEY. Hasil pengeksporan tersebut sama saja dengan berkas teks
untuk konfigurasi biasa, yakni .INI. Path registry lengkap disusun sebagai
header, sementara itu, entri registry dan nilainya disusun di bawahnya. Selain
tentunya dapat melakukan pengeksporan registry ke dalam sebuah berkas teks,
program itu juga dapat melakukan pengimporan.
14. Penyuntingan
dengan menggunakan command-line
Selain utilitas
grafis seperti Regedit.exe dan Regedt32.exe, Microsoft juga menawarkan utilitas
command-line reg.exe yang mulai ditawarkan di dalam
Windows 2000 Resource Kit Tools.
Windows XP dan Windows Server 2003 telah mengintegrasikan program tersebut
secara internal dan diinstalasikan secara default.
Sintaksis yang digunakan adalah sebagai berikut:
reg.exe Operasi
[Daftar_Parameter]
Operasi
[QUERY|ADD|DELETE|COPY|SAVE|LOAD|UNLOAD|RESTORE|COMPARE|EXPORT|IMPORT]
15.
P enyuntingan dengan menggunakan
skrip/bahasa pemrograman
Registry juga dapat disunting dengan menggunakan skrip dan bahasa
pemrograman yang berjalan untuk sistem operasi Microsoft Windows. Contoh bahasa
skrip (scripting language) yang sering digunakan adalah VBScript, Windows Batch File (*.BAT/*.CMD), JScript, serta Perl (dengan
menggunakan W32::TieRegistry). Sementara
itu, beberapa bahasa pemrograman, seperti halnya Microsoft Visual Basic, dan .NET Framework 2.0 (dalam kelas Microsoft.Win32.Registry) juga dapat
langsung mengakses dan menyunting registry,
mengingat mereka telah mengintegrasikan beberapa pustaka untuk melakukan hal
itu.
Berikut ini adalah
beberapa Win32
API yang dapat digunakan untuk mengakses registry Windows
dengan bahasa pemrograman yang tidak memiliki pustaka untuk melakukan
penyuntingan registry secara langsung:
RegCloseKey
RegOpenKey
RegConnectRegistry
RegOpenKeyEx
RegCreateKey
RegQueryInfoKey
RegCreateKeyEx
RegQueryMultipleValues
RegDeleteKey
RegQueryValue
RegDeleteValue
RegQueryValueEx
RegEnumKey
RegReplaceKey
RegEnumKeyEx
RegRestoreKey
RegEnumValue
RegSaveKey
RegFlushKey
RegSetKeySecurity
RegGetKeySecurity
RegSetValue
RegLoadKey
RegSetValueEx
RegNotifyChangeKeyValue
RegUnLoadKey
16.
Bahaya dari menyunting registry
Menyunting
registry secara manual dapat mengakibatkan sistem operasi tidak stabil, atau
bahkan mengalami kerusakan yang tidak dapat dikembalikan lagi. Microsoft pun
menganjurkan penyuntingan registry
agar hanya dilakukan oleh para profesional atau pengguna yang tahu apa yang
sedang dilakukan. Registry yang rusak hanya dapat dikembalikan dengan cara
instalasi ulang sistem operasi, atau menimpa berkas
fisik registry dengan salinannya (backup) yang masih
benar dan baik.
17.
Policy file (berkas
kebijakan)
Semenjak
dirilisnya Windows 95, para Administrator Windows dapat menggunakan sebuah
jenis berkas yang dapat digabungkan dengan registry, yang disebut sebagai policy file.
Policy file mengizinkan para
adminstrator Windows untuk mencegah para pengguna yang bukan administrator
(pengguna biasa) dari melakukan hal yang seharusnya dilakukan oleh
administrator, seperti halnya mengubah beberapa pengaturan sistem, hingga
menyunting registry secara manual. Policy
file ini umumnya digunakan di dalam sebuah jaringan dengan banyak
komputer di dalamnya, di mana komputer-komputer tersebut harus dilindungi dari
tangan-tangan jahil para pengguna, dan juga para pengguna juga harus dilindungi
dari pengguna lainnya.
Ekstensi default untuk policy file adalah .POL. Policy
file akan menyaring semua pengaturan yang diberlakukan terhadap sebuah
pengguna atau beberapa pengguna yang disatukan ke dalam sebuah group. Untuk melakukannya, policy file akan menggabungkan
dirinya dengan registry, sehingga mencegah para pengguna untuk mengutak-atiknya
dengan mengembalikan pengaturan yang sebelumnya. Selain itu, policy file juga didistribusikan
melalui LAN, tapi dapat
juga diletakkan secara lokal di dalam sebuah komputer.
18. Editor policy
file
Untuk membuat
sebuah policy file, Microsoft
menyertakan sebuah alat bantu yang disebut sebagai poledit.exe yang
diperuntukkan Windows 95 dan Windows 98, atau dengan menggunakan modul
manajemen komputer dalam sistem operasi berbasis Windows NT. Modul-modul
tersebut tidak dapat diberlakukan di dalam instalasi Windows XP Home Edition,
dan hanya berlaku dalam Windows XP Professional saja. Pengaktifan editor
tersebut membutuhkan izin yang sama dengan seorang administrator untuk sistem
yang hendak diaplikasikan di dalamnya policy file. Editor juga dapat secara
langsung mengubah pengaturan registry di yang ada dalam komputer lokal, dan
apabila layanan remote registry service dijalankan dalam komputer lainnya, maka
hal tersebut juga dapat memungkinkan perubahan registry secara jarak jauh
terhadap komputer tersebut. Policy editor akan memuat semua pengaturan yang
dapat diubah dari berkas berekstensi .adm, yang mengandung pengaturan yang
disediakan oleh shell Windows. Berkas
berekstensi .adm sendiri merupakan sebuah berkas plain
text (teks biasa), dan mendukung
lokalisasi secara mudah dengan mengizinkan semua teks/string untuk disimpan di dalam sebuah tempat yang sama. Dalam
sistem operasi Windows yang baru, Policy editor diubah namanya menjadi Group
Policies (dapat diakses dengan menggunakan perintah gpedit.msc dari menu Run).
19.
Keuntungan dari konsep Registry
Dibandingkan
menggunakan banyak berkas konfigurasi yang telah disediakan ini seperti yang
dilakukan di dalam Windows 16-bit menjadi sebuah tempat tersentralisasi,
registry menawarkan beberapa keuntungan, yakni sebagai berikut:
v Registry
memisahkan konfigurasi mesin dari konfigurasi pengguna. Ketika seorang pengguna
masuk log ke dalam sebuah komputer berbasis Windows NT/2000/XP/Server
2003, pengaturan registry
yang dimiliki oleh pengguna yang bersangkutan akan dimuat secara terpisah dari
konfigurasi sistem operasi yang utama. Hal ini mengizinkan program-program
untuk lebih mudah dikonfigurasi untuk setiap orang pengguna (setiap pengguna
berhak memiliki preferensi masing-masing), mengingat mereka hanya bekerja di
dalam anak pohon "Current User" saja. Sementara itu, jika dibandingkan
dengan konfigurasi yang lama, berkas .INI cenderung untuk menulis konfigurasi
dan pengaturan setiap program oleh setiap pengguna di dalam satu tempat saja,
yakni berkas INI yang bersangkutan.
v Group Policy
mengizinkan administrator Windows untuk mengatur program secara terpusat.
v Karena registry
diakses dengan menggunakan API yang khusus, maka registry juga dapat diakses
dengan menggunakan skrip, bahasa pemrograman, atau query Windows Management
Instrumentation (WMI). Setiap skrip tidak harus dikustomisasi secara
unik untuk konfigurasi sebuah aplikasi, yang kadang memiliki format yang
berbeda-beda.
v Registry juga
dapat diakses sebagai sebuah kesatuan melalui koneksi jaringan komputer dalam
rangka melakukan manajemen komputer dari jarak jauh, yakni dengan menggunakan
skrip yang berisi API standar untuk mengakses registry.
v Dapat di-backup secara lebih
mudah, karena memang hanya terdapat beberapa jenis berkas saja.