Back to blog
Security

Bahaya Hardcode! Cara Menyimpan API Key yang Aman Menggunakan .env

Jangan pernah menulis API Key atau Password langsung di dalam kode. Sekali ter-push ke GitHub, akunmu bisa diretas atau ditagih jutaan rupiah.

super admin·16 Juni 2026·2 min read
Bahaya Hardcode! Cara Menyimpan API Key yang Aman Menggunakan .env
Article Content

Mimpi buruk developer: Kunci rumah tertinggal di pintu

Salah satu kesalahan paling fatal dan sering dilakukan pemula adalah melakukan hardcoding kredensial. Hardcoding berarti kamu mengetik langsung API Key, password database, atau token rahasia di dalam file JavaScript-mu.

// JANGAN PERNAH LAKUKAN INI!
const DB_PASSWORD = 'supersecretpassword123';
const STRIPE_API_KEY = 'sk_test_123456789abcdef';

await connectDatabase(DB_PASSWORD);

Begitu kode ini kamu git push ke repository publik seperti GitHub, bot jahat yang memantau internet bisa mencuri kuncimu dalam hitungan detik. Akibatnya? Database-mu dihapus, atau tagihan cloud-mu membengkak jutaan rupiah.

Solusinya: Environment Variables (.env)

Environment Variables adalah variabel yang disetel di luar kodemu, biasanya di level sistem operasi atau server. Di ekosistem Node.js/Frontend, kita menggunakan file bernama .env untuk menyimpannya.

Langkah 1: Buat file .env

Buat file bernama tepat .env di folder paling luar (root) project-mu.

# Isi file .env
DB_PASSWORD=supersecretpassword123
STRIPE_API_KEY=sk_test_123456789abcdef
PORT=3000

Langkah 2: PENTING! Masukkan .env ke dalam .gitignore

Sebelum melakukan commit Git apapun, buka file .gitignore dan tambahkan baris ini:

# Isi file .gitignore
node_modules/
.env

Ini memastikan file .env kamu HANYA ada di laptopmu dan tidak akan pernah ter-upload ke GitHub.

Langkah 3: Panggil di dalam kode

Kalau kamu menggunakan Node.js (dengan bantuan package dotenv) atau framework modern seperti Next.js/Vite, kamu bisa memanggil nilai tersebut tanpa menuliskannya secara eksplisit.

// Cara aman memanggil rahasia
const dbPassword = process.env.DB_PASSWORD;
await connectDatabase(dbPassword);

Bagaimana saat di-deploy (Hosting)?

Karena file .env tidak di-push ke GitHub, saat kamu hosting di Vercel, Netlify, atau cPanel, aplikasimu tidak akan tahu passwordnya. Kamu harus memasukkan variabel-variabel tersebut secara manual di menu Settings > Environment Variables pada dashboard platform hostingmu.

Kesimpulan

Pisahkan antara KODE dan KONFIGURASI. Kode boleh dilihat oleh siapa saja (jika open source), tapi konfigurasi rahasia hanya boleh diketahui oleh mesin yang menjalankannya.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates