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 codice_1 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, tetapi memang implementasi
yang cukup bagus dari registry terdapat di dalam keluarga sistem operasi Windows NT. "Registry" dalam sistem Windows 16-bit (dimulai pada Windows 3.x) berguna hanya untuk menyimpan asosiasi ekstensi berkas dengan
Dalam sistem operasi Windows 95, Windows 98, dan Windows Millennium Edition, struktur "registry" secara logis sama dengan struktur "registry" dalam Windows NT, tetapi tidak kompatibel secara fisik. Dalam sistem operasi ini terdapat sebuah anak pohon tambahan, yakni codice_2 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
codice_3 dan codice_4.codice_5 mengandung informasi mengenai sebuah komputer tertentu, sementara codice_6 mengandung informasi mengenai sebuah profil milik pengguna. Ketika "booting", Windows 9x akan memuat "registry" ke dalam ruangan "kernel" di dalam memori fisik.
"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 codice_7.
Registry Windows disimpan dalam beberapa berkas, tergantung sistem operasi Windows yang digunakan. Nama berkas-nya pun kadang-kadang berbeda-beda antar versi sistem operasi, tetapi semua berkas tersebut disimpan di dalam mesin lokal, kecuali codice_8 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. Berkas-berkas berikut merupakan berkas "registry" untuk sistem operasi Windows NT, Windows 2000, Windows XP dan Windows Server 2003:
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 "". Sebagai contoh, codice_30, yang merujuk kepada sebuah "subkey" yang memiliki nama
"codice_31" yang terdapat di dalam "subkey" codice_32, yang terdapat di dalam "key" dengan nama codice_33, yang terdapat di dalam "subtree" codice_34.
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.
"Registry" Windows terdiri atas beberapa anak pohon berikut, yang disusun secara hierarkis dengan My Computer sebagai "root directory"-nya:
Catatan: HKEY di dalam "registry" Windows, merupakan singkatan terhadap kata "Handle to Key". Menyimpan informasi/data mengenai semua konfigurasi mesin yang bersangkutan. HKLM bukanlah "symbolic link" ke kunci "registry" manapun.codice_34 memiliki beberapa anak kunci, yakni:
Menyimpan informasi/data yang diasosiasikan dengan pengguna yang sedang masuk log. HKCU merupakan sebuah symbolic link ke kunci registry HKEY_USERS«a href="SID">SID dari pengguna yang bersangkutandomain controller"), maka Windows akan membuatkan sebuah profil yang baru untuknya, yang dibuat berbasiskan pengaturan yang terdapat di dalam C:Documents and SettingsDefault User.
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_MACHINESYSTEMCurrentControlSetHardware ProfilesCurrent. 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.
Isi dari HKCR diambil dari dua sumber, yakni HKLMSOFTWAREClasses dan HKCUSOFTWAREClasses. 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 HKCUSOFTWAREClasses yang akan ditampilkan di dalam HKCR.
Semua informasi di atas dapat dirangkum ke dalam tabel berikut Sebuah "value" dapat memiliki jenis-jenis data seperti di bawah ini:
Jenis data registry, dapat dirangkum pada tabel berikut: 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