Connection String Database: Format, Contoh, & Cara Buat

Connection string adalah serangkaian teks berformat khusus yang memuat seluruh parameter esensial bagi sebuah aplikasi untuk terhubung ke sistem manajemen basis data (DBMS). String ini umumnya berisi alamat server (host), nomor port, nama database, kredensial autentikasi berupa nama pengguna dan kata sandi, serta berbagai atribut tambahan seperti enkripsi dan timeout.

Kesalahan sekecil apa pun pada satu karakter dalam connection string akan berakibat pada kegagalan koneksi aplikasi (connection refused atau access denied). Oleh karena itu, pemahaman mendalam mengenai anatomi dan standar penulisan untuk tiap jenis database menjadi keharusan mutlak bagi pengembang perangkat lunak.

Anatomi dan Format Standar Berbagai Database

Setiap DBMS memiliki standar penulisan connection string yang berbeda-beda. Di bawah ini adalah tabel perbandingan format standar yang paling sering digunakan dalam pengembangan aplikasi modern:

DatabaseDriver / Library UmumFormat Contoh Connection String
MySQLMySql.Data / Node.js mysql2Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
PostgreSQLNpgsql / node-postgresHost=myServerAddress;Port=5432;Database=myDataBase;Username=myUsername;Password=myPassword;
SQL ServerMicrosoft.Data.SqlClientServer=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
MongoDBMongoDB Drivermongodb://myUsername:myPassword@myServerAddress:27017/myDataBase?ssl=true

Contoh Implementasi Kode

Berikut adalah contoh implementasi penerapan connection string yang disimpan secara aman menggunakan environment variables di dalam aplikasi Node.js untuk menghubungkan database PostgreSQL:

const { Client } = require('pg');

const client = new Client({
  connectionString: process.env.DATABASE_URL,
  ssl: {
    rejectUnauthorized: false
  }
});

client.connect()
  .then(() => console.log('Koneksi database berhasil terjalin'))
  .catch(err => console.error('Kesalahan koneksi:', err.stack));

Praktik Keamanan Terbaik (Best Practices)

Keamanan connection string sangat krusial karena memuat kredensial akses penuh ke basis data. Kegagalan dalam mengelolanya dapat berujung pada kebocoran data masif.

  • Gunakan Environment Variables: Jangan pernah menuliskan password atau connection string secara hardcode di dalam file source code (seperti file .js, .py, atau .cs). Simpan di dalam file .env atau sistem secrets management server.
  • Batasi Hak Akses (Least Privilege): Akun database yang digunakan oleh aplikasi sebaiknya hanya memiliki hak akses yang benar-benar dibutuhkan (misalnya SELECT, INSERT, UPDATE) dan hindari penggunaan akun root atau admin untuk operasional harian aplikasi.
  • Aktifkan Enkripsi SSL/TLS: Pastikan parameter enkripsi diaktifkan pada connection string jika aplikasi terhubung ke database cloud publik untuk mencegah serangan Man-in-the-Middle (MitM).

Troubleshooting Masalah Koneksi Umum

Jika aplikasi gagal terhubung, lakukan pemeriksaan bertahap pada parameter berikut:

  1. Host dan Port: Pastikan alamat IP atau domain server dapat dijangkau dan port database tidak diblokir oleh firewall atau aturan jaringan lokal.
  2. Autentikasi: Periksa kembali apakah username, password, dan nama database sudah diketik dengan benar tanpa karakter spasi tersembunyi.
  3. Karakter Khusus pada Password: Jika password mengandung karakter khusus (seperti @, #, $), karakter tersebut harus di-encode terlebih dahulu (URL encoding) agar tidak merusak struktur parsing string.