Cara Gampang Pakai Environment Variable Biar Kode Lo Makin Aman dan Fleksibel
Pernah denger istilah environment variable? Mungkin kedengerannya agak teknis, tapi sebenernya ini konsep yang super simpel dan berguna banget, terutama kalau lo lagi ngoding. Intinya, environment variable adalah variabel yang disimpan di luar kode lo, tepatnya di sistem operasi atau lingkungan tempat aplikasi lo jalan.
Kenapa repot-repot pake gituan? Biar kode lo gak kerasan hardcode data sensitif kayak password API, secret key, atau konfigurasi database. Bayangin lo nulis token Stripe langsung di kode, terus lo push ke GitHub. Bencana, kan? Nah, environment variable solusinya.
Apa Sih Environment Variable Itu?
Sederhananya, ini pasangan nama-nilai (key-value) yang disimpan di sistem. Contoh umum: `DB_PASSWORD=rahasia123`, `API_KEY=abcxyz`. Saat aplikasi lo jalan, si kode bisa akses nilai itu tanpa perlu tau isi aslinya dari dalam file. Jadi lo cukup atur variabelnya di server atau lokal, dan kode lo tinggal panggil.
Manfaatnya:
– Keamanan – Data sensitif gak ikut tercatat di version control.
– Fleksibilitas – Bisa ganti-ganti konfigurasi tanpa ubah kode. Misal, lingkungan development pake database lokal, production pake AWS. Tinggal setel environment variable aja.
– Portabilitas – Aplikasi lo bisa jalan di mana aja (laptop, server, Docker) asal environment variable-nya diatur sesuai.
Cara Setting Environment Variable
Cara ngesetnya beda-beda tergantung OS dan shell yang lo pake. Yuk kita bahas satu-satu.
1. Di Windows (Command Prompt & PowerShell)
Command Prompt (CMD):
“`cmd
set MY_VAR=”Halo Dunia”
“`
Tapi ini cuma berlaku untuk sesi CMD saat itu. Kalau jendela ditutup, hilang.
PowerShell:
“`powershell
$env:MY_VAR=”Halo Dunia”
“`
Biar permanen, lo bisa atur lewat System Properties → Environment Variables. Tambahin aja variabel baru di bagian User Variables atau System Variables.
2. Di Linux / macOS (Bash / Zsh)
Sesi sementara:
“`bash
export MY_VAR=”Halo Dunia”
“`
Sama kayak Windows, ilang setelah shell ditutup.
Permanen:
Tambahin baris `export MY_VAR=”Halo Dunia”` di file konfigurasi shell lo, misal `~/.bashrc`, `~/.bash_profile`, atau `~/.zshrc`. Habis itu jalankan `source ~/.bashrc` biar langsung aktif.
3. Lewat File `.env`
Cara paling umum dipake developer sekarang adalah file `.env`. Lo tinggal bikin file bernama `.env` di root project, isinya kayak gini:
“`
DB_HOST=localhost
DB_USER=admin
DB_PASS=s3cr3t
“`
Terus di kode, lo pake library buat baca file `.env` tersebut (misal `dotenv` di Node.js atau Python). Kelebihannya, `.env` gak perlu di-commit ke Git – tinggal tambahin `.env` ke `.gitignore`. Setiap developer bisa punya `.env` sendiri.
Cara Pake Environment Variable di Kode
Sekarang bagian paling seru: ngaksesnya di kode. Contoh dua bahasa populer.
Python
Pake modul bawaan `os`:
“`python
import os
db_host = os.getenv(‘DB_HOST’, ‘localhost’)
db_pass = os.getenv(‘DB_PASS’)
print(f”Host: {db_host}, Password: {db_pass}”)
“`
Fungsi `getenv` bisa dikasih default value kalau variabel gak ada.
Node.js
Pake objek `process.env`:
“`javascript
const dbHost = process.env.DB_HOST || ‘localhost’;
const dbPass = process.env.DB_PASS;
console.log(`Host: ${dbHost}, Password: ${dbPass}`);
“`
Kalau pake file `.env`, install `dotenv` dulu, lalu di awal kode tambahin `require(‘dotenv’).config()`.
Contoh Kasus Nyata: API Key
Misal lo pake API cuaca, biasanya dapat key. Daripada nulis `const API_KEY = ‘123abc’` di kode, mending simpen di environment variable:
– Set `WEATHER_API_KEY=123abc` di sistem atau `.env`
– Di kode tinggal panggil `process.env.WEATHER_API_KEY`
– Commit kode ke GitHub dengan aman, tanpa khawatir key lo bocor.
Tips Keamanan Environment Variable
1. Jangan pernah commit file `.env` ke Git. Selalu tambahin ke `.gitignore`.
2. Buat file contoh misal `.env.example` yang isinya placeholder aja (tanpa nilai asli). Biar developer lain tau variabel apa aja yang dibutuhkan.
3. Beda lingkungan, beda nilai. Atur environment variable di server production lewat panel hosting atau CI/CD, bukan di file.
4. Jangan simpan rahasia di kode meskipun pake environment variable, tetap jaga akses file konfigurasi.
Penutup
Environment variable adalah best practice yang bisa nyelamatin lo dari banyak sakit kepala. Setelah lo biasa pake, bakal terasa aneh kalau ngoding tanpa ngatur konfigurasi lewat variabel lingkungan. Mulai aja dari project kecil: bikin file `.env`, panggil di kode, dan rasakan bedanya. Selamat mencoba!