Gambar 1. Pengenalan Database Integration.
Database[1] integration merujuk pada proses menghubungkan aplikasi dengan database management system (DBMS) untuk melakukan operasi penyimpanan (Create), pengambilan (Read), pembaruan (Update), dan penghapusan (Delete) data. Ini memungkinkan aplikasi untuk berkomunikasi dengan database dan mengelola informasi yang disimpan di dalamnya. Database integration melibatkan beberapa langkah penting, yaitu:
Pilih sistem manajemen basis data yang sesuai dengan kebutuhan aplikasi kalian. Beberapa contoh DBMS yang umum digunakan adalah MySQL, PostgreSQL, MongoDB, Oracle, dan SQLite.
Atur parameter koneksi seperti host, port, nama pengguna, kata sandi, dan nama database yang akan digunakan. Ini memungkinkan aplikasi untuk terhubung ke server database.
Definisikan struktur tabel, kolom, dan relasi di dalam database. Skema ini mencerminkan cara data diorganisir dan hubungan antara entitas dalam aplikasi kalian.
Gunakan bahasa query database (misalnya SQL) untuk mengeksekusi perintah CRUD (Create, Read, Update, Delete) yang sesuai. Kalian dapat membuat, membaca, memperbarui, dan menghapus data dari tabel dalam database.
Pastikan aplikasi kalian memiliki penanganan yang baik untuk menghadapi kesalahan atau kegagalan koneksi ke database. Hal ini dapat melibatkan menangkap kesalahan, memberikan respons yang tepat, atau melakukan tindakan pemulihan.
Perhatikan keamanan saat mengintegrasikan database. Pastikan untuk melindungi data sensitif dan menerapkan praktik keamanan seperti sanitasi input dan penggunaan parameterized queries untuk mencegah serangan injeksi SQL.
Database integration memungkinkan aplikasi untuk menyimpan data secara persisten, mengambil informasi yang dibutuhkan, dan menjalankan operasi database lainnya. Dalam pengembangan web, database integration seringkali diperlukan untuk membangun aplikasi yang dinamis dan berinteraksi dengan pengguna melalui antarmuka web atau API.
Database integration Pada Express.js
Database integration pada Express.js menghubungkan aplikasi Express.js dengan sistem manajemen basis data (DBMS) untuk melakukan operasi database. Dalam melakukan integrasi menggunakan local database dapat menggunakan XAMPP dan phpmyadmin yang menggunakan MySQL. Untuk mengakses database employee bisa didownload dari link berikut Database Employee. Berikut adalah langkah-langkah umum untuk mengintegrasikan database dengan Express.js:
Gambar 2. Instalasi mysql2.
Gambar 3. Membuat folder dan file config.
Gambar 4. Konfigurasi database dengan express.js
Gambar 5. Memanggil db pada file users.js.
Gambar 6. Membuat route dengan metode GET.
Pada program di gambar 6, kita menggunakan router.get pada endpoint / untuk membaca (Read) sumber daya atau data. Ketika kita menggunakan endpoint tersebut, server akan mengirimkan sebuah respon (res) berupa pesan API READY TO GO!.
Gambar 7. Membuat route dengan metode GET.
Pada program di gambar 7, kita menggunakan router.get pada endpoint /employee untuk membaca (Read) sumber daya atau data. Namun terdapat program query didalamnya yang mengakses langsung ke database employee. Ketika kita menggunakan endpoint tersebut, server akan mengirimkan sebuah respon (res) berupa status true, message GET Success, dan data jika yang dikirimkan itu tidak error atau terjadi kegagalan. Pada tabel database employee akan membaca seluruh isi tabel karena menggunakan program query `SELECT * FROM employee`.
Gambar 8. Membuat route dengan metode GET.
Pada program di gambar 8, kita menggunakan router.get pada endpoint /employee/:id untuk membaca (Read) sumber daya atau data. Namun terdapat program query didalamnya yang mengakses langsung ke database employee. Ketika kita menggunakan endpoint tersebut, client akan mengirimkan permintaan (req) berupa req.params.id yang berisikan id. Kemudian server akan mengirimkan sebuah respon (res) berupa status true, message GET Success, dan data jika yang dikirimkan itu tidak error atau terjadi kegagalan. Pada tabel database employee akan membaca isi data tabel sesuai dengan id yang digunakan karena menggunakan program query `SELECT * FROM employee WHERE id_employee = ${id}`.
Gambar 9. Membuat route dengan metode POST.
Pada program di gambar 9, kita menggunakan router.post pada endpoint /employee untuk membuat (Create) sumber daya atau data baru. Namun terdapat program query di dalamnya yang mengakses langsung ke database employee. Ketika kita menggunakan endpoint tersebut, client akan mengirimkan permintaan (req) berupa req.body yang berisikan nama, job, salary. Kemudian server akan mengirimkan sebuah respon (res) berupa status true, message Data Created, dan data jika yang dikirimkan itu tidak error atau terjadi kegagalan. Pada tabel database employee akan membuat sumber daya atau data baru karena menggunakan program query `INSERT INTO employee (nama, job, salary) VALUES (${nama}, ${job}, ${salary})`.
Gambar 10. Membuat route dengan metode PUT.
Pada program di gambar 10, kita menggunakan router.put pada endpoint /employee/:id untuk memperbarui (Update) sumber daya atau data. Namun terdapat program query didalamnya yang mengakses langsung ke database employee. Ketika kita menggunakan endpoint tersebut, client akan mengirimkan permintaan (req) berupa req.parmas.id dan req.body yang berisikan nama, job, salary. Kemudian server akan mengirimkan sebuah respon (res) berupa status true, message Update Success, dan data jika yang dikirimkan itu tidak error atau terjadi kegagalan. Pada tabel database employee akan memperbarui sumber daya atau data yang sesuai dengan id yang digunakan karena menggunakan program query `UPDATE employee SET nama = ${nama}, job = ${job}, salary = ${salary} WHERE id_employee = ${id}`.
Gambar 11. Membuat route dengan metode DELETE.
Pada program di gambar 11, kita menggunakan router.delete pada endpoint /employee untuk menghapus (Delete) sumber daya atau data. Namun terdapat program query didalamnya yang mengakses langsung ke database employee. Ketika kita menggunakan endpoint tersebut, client akan mengirimkan permintaan (req) berupa req.body yang berisikan nama. Kemudian server akan mengirimkan respon (res) berupa status true, message Delete Success, dan data jika yang dikirimkan itu tidak error atau terjadi kegagalan. Pada tabel database employee akan menghapus sumber daya atau data yang sudah ada sesuai dengan nama yang digunakan karena menggunakan program query `DELETE FROM employee WHERE nama = ${nama}`.
1. Apa yang dimaksud dengan Database integration?
a. Proses menghubungkan aplikasi dengan sistem operasi
b. Proses menghubungkan aplikasi dengan sistem manajemen basis data (DBMS)
c. Proses menghubungkan aplikasi dengan internet
d. Proses menghubungkan aplikasi dengan perangkat keras
2. Apakah contoh DBMS yang umum digunakan untuk Database integration?
a. MySQL, PostgreSQL, MongoDB
b. Windows, Linux, macOS
c. Java, Python, C++
d. HTML, CSS, JavaScript
3. Apa langkah [3] pertama untuk menghubungkan aplikasi dengan database?
a. Pembuatan skema database, koneksi ke database
b. Pemrograman query, penanganan kesalahan
c. Keamanan, pemilihan DBMS
d. Koneksi ke database, pembuatan skema database
4. Apa yang dilakukan oleh bahasa query database?
a. Menghubungkan aplikasi dengan database
b. Mengambil informasi dari server
c. Membuat antarmuka web atau API
d. Menjalankan operasi database
5. Apa yang perlu diperhatikan dalam keamanan Database integration?
a. Melindungi data sensitif, sanitasi input
b. Menyimpan data secara persisten, mencegah serangan injeksi SQL
c. Menangkap kesalahan, memberikan respons yang tepat
d. Mengelola informasi yang disimpan di dalam database
6. Apa yang dilakukan pada metode HTTP GET dalam Database integration Express.js?
a. Membuat data baru
b. Memperbarui data
c. Menghapus data
d. Mengambil data
7. Pada program di gambar 7, endpoint "/employee" menggunakan metode HTTP apa?
a. GET
b. POST
c. PUT
d. DELETE
8. Pada program di gambar 9, apa yang dilakukan pada metode HTTP POST dalam Database integration Express.js?
a. Mengambil data
b. Membuat data baru
c. Memperbarui data
d. Menghapus data
9. Pada program di gambar 10, apa yang dilakukan pada metode HTTP PUT dalam Database integration Express.js?
a. Mengambil data
b. Membuat data baru
c. Memperbarui data
d. Menghapus data
10. Pada program di gambar 11, apa yang dilakukan pada metode HTTP DELETE dalam Database integration Express.js?
a. Mengambil data
b. Membuat data baru
c. Memperbarui data
d. Menghapus data
Referensi