Skip to main content

3. Database Integration.html

How To Charge For A Website - Life Long Tech Summit

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:

  1. Pemilihan DBMS

Pilih sistem manajemen basis data yang sesuai dengan kebutuhan aplikasi kalian. Beberapa contoh DBMS yang umum digunakan adalah MySQL, PostgreSQL, MongoDB, Oracle, dan SQLite.

  1. Koneksi ke database

Atur parameter koneksi seperti host, port, nama pengguna, kata sandi, dan nama database yang akan digunakan. Ini memungkinkan aplikasi untuk terhubung ke server database.

  1. Pembuatan skema database

Definisikan struktur tabel, kolom, dan relasi di dalam database. Skema ini mencerminkan cara data diorganisir dan hubungan antara entitas dalam aplikasi kalian.

  1. Pemrograman query

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.

  1. Penanganan kesalahan

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.

  1. Keamanan

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:

  1. Buat direktori baru, kemudian inisialisasi npm menggunakan npm init dan install express generator seperti tutorial sebelumnya, kemudian install modul mysql2 dengan cara npm install mysql2.

A screenshot of a computer program

Description automatically generated with medium confidence

Gambar 2. Instalasi mysql2.

  1. Buat folder baru bernama config, kemudian buat file baru didalam folder config bernama config,js yang digunakan untuk mengkoneksikan express.js dengan database.

Gambar 3. Membuat folder dan file config.

  1. Pada file config.js, isikan localhost', 'username', 'password', dan 'nama_database' yang sesuai dengan aplikasi kalian.

A picture containing text, screenshot, font

Description automatically generated

Gambar 4. Konfigurasi database dengan express.js

 

  1. Pada file users.js di dalam folder routes, panggil db (modul export dari config.js)

Gambar 5. Memanggil db pada file users.js.

  1. Buatlah program CRUD[2]  pada database kalian menggunakan metode HTTP.

A picture containing text, font, screenshot

Description automatically generated

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!.

A screen shot of a computer code

Description automatically generated with low confidence

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`.

A screen shot of a computer program

Description automatically generated with low confidence

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}`.

A screen shot of a computer code

Description automatically generated with low confidence

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})`.

A screen shot of a computer code

Description automatically generated with low confidence

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}`.

A screen shot of a computer program

Description automatically generated with low confidence

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}`.


 

Quiz

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

Pengertian Integrasi Database, Integrasi Software, Integrasi Hardware serta Contoh Penerapannya (edipuspayasa.blogspot.com)


Untuk bagian pendahuluan, tolong perbaiki penggunaan katanya. Apabila terdapat istilah atau kata  yang apabila diterjemahkan terdengar aneh, gunakan istilah dalam bahasa inggrisnya saja.

(Optional) Masih sama seperti modul sebelumnya, penamaan endpoint dapat dibuat lebih deskriptif sesuai dengan operasi CRUD yang digunakan.

Pertanyaannya cukup ambigu, apakah yang dimaksud adalah poin-poin langkah penting saja atau harus secara secara berurutan

Last modified: Monday, 7 August 2023, 10:10 AM