Menggunakan Database MySQL di NodeJS

Cara menggunakan database MySQL di NodeJS

Umumnya sebuah aplikasi tidak bisa lepas dari penyimpanan data, baik kecil maupun besar. Dan tentunya jika berbicara tentang penyimpanan data aplikasi, maka kita membutuhkan apa yang disebut sebagai Database.

Ada banyak Database Engine (mesin database) yang didukung oleh NodeJS diantaranya : 

  • Relational database (tradisional) : Oracle, Informix, MSSQL, MySQL, PostgreSQL, SQLite dan lain-lain
  • NoSQL database : MongoDB, Redish, Cassandra, dan Neo4
  • Realtime database : Firebase, Rethink, dan Firebase

Apa Database Terbaik Untuk NodeJS ?

Saat ini driver berupa modul yang tersedia untuk NodeJS yang bersifat sumber terbuka (open-source) diantaranya adalah : 

  • mysql atau mysql2 untuk koneksi ke MySQL
  • pg untuk koneksi ke PostgreSQL
  • tedious untuk koneksi ke SQL Server
  • sqlite3 untuk koneksi ke SQLite
  • mongoose untuk koneksi ke MongoDB

Jika ditanya apa database terbaik untuk NodeJS jawabannya adalah tergantung banyak faktor, seperti besarnya data yang akan disimpan, jenis data yang akan disimpan, spesifikasi kinerja dan skalabilitas yang diharapkan, dan anggaran.  

Yang tidak kalah penting adalah database yang dipilih harus memiliki modul yang kompatibel dengan NodeJS sebagai kerangka kerja backend berbasis JavaScript yang memungkinkan pengembangan secara cepat, terukur, dan efisien dengan konkurensi dan aliran data tinggi.

Mengapa Memilih Database MySQL di NodeJS

Harus diakui bahwa MySQL merupakan salah satu database engine terpopuler bukan hanya di Indonesia tapi berbagai negara. Hal ini disebabkan diawal kemunculannya dia dibundel dengan XAMPP yang membuat pengembangan berbasis web menjadi mudah.

MySQL adalah database open source populer yang menyimpan data dalam bentuk tabel dengan skema yang telah ditentukan. Database ini banyak digunakan untuk pengembangan aplikasi web dan e-commerce, karena mampu menangani pemrosesan data dengan cepat dan efisien. MySQL juga dapat mendukung berbagai fitur dan fungsi yang penting untuk pengembangan web dan e-commerce, seperti, model data relasional, menggunakan bahasa SQL dan ketersediaan tinggi. 

Dengan pertimbangan tersebut kami memilih untuk membahas penggunaan database MySQL dengan NodeJS sebagai bahan pembelajaran ini. Dan agar tidak berlama-lama mari kita mulai dengan melakukannya sambil praktek langsung.

Menginstall Driver MySQL di NodeJS

Baiklah, kami mengasumsikan bahwa MySQL server sudah berjalan di komputer anda. Jika belum silahkan instal terlebih dahulu. Jika anda seorang pemula kami sarankan untuk menginstal XAMPP yang didalamnya sudah termasuk MySQL.

Untuk dapat terhubung dan mengakses database MySQL, kita membutuhkan driver yang dalam istilah NodeJS dimasukan sebagai modul. Untuk menginstal modul MySQL kita dapat melakukannya dengan menggunakan perintah NPM. Jika belum mengetahui tentang NPM silahkan baca di artikel Menggunakan Framework Express di NodeJS.

Buatlah sebuah folder untuk belajar koneksi database MySQL ke NodeJS kemudian jalankan perintah berikut dari Command Prompt atau Terminal teks editor yang digunakan pada folder yang baru saja dibuat. Pada contoh ini kami menggunakan folder D:\Belajar-NodeJS\database. Agar tidak lupa, jika kita membuat sebuah folder untuk proyek baru, biasakan memberi perintah npm init terlebih dahulu. 

D:\Belajar-NodeJS\database> npm init
D:\Belajar-NodeJS\database> npm install mysql

Baiklah setelah modul atau driver MySQL terinstal di proyek baru kita, sekarang mari kita coba untuk menjalankan perintah-perintah koneksinya. Namun sebelum itu, untuk menggunakan modul mysql, kita harus mengimpornya dengan perintah impor atau require seperti berikut :

var mysql = require('mysql'); 

Menghubungkan NodeJS ke Server MySQL  

Untuk menghubungkan aplikasi Node JS ke server MySQL, kita menggunakan fungsi atau metode createConnection()  yang ada didalam objek mysql seperti pada contoh berikut. Silahkan diketik dengan teks editor dan beri nama : mysql_connect.js 
var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root", // isi dengan nama login mysql
  password: "password" // isi dengan password login mysql
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Database terhubung!");
});

Sekali lagi kami berasumsi bahwa server MySQL sudah terinstall di komputer anda ataupun server. Jika belum silahkan diinstall dan service nya diaktifkan terlebih dahulu.  

Pada baris 3, fungsi createConnection() ini menerima 1 parameter objek yang isinya informasi mengenai alamat host/server yang dituju, username, dan password. Isikan sesuai dengan alamat atau nama server, username dan password dari MySQL. 

Jika anda menggunakan XAMPP dan lupa username serta passwordnya, bisa dilihat dengan cara membuka alamat : http://localhost/phpmyadmin   

Melihat daftar pemakai MySQL di phpMyAdmin

Jika sudah dapat, isikan nama pemakai dan password pada parameter kemudian simpan dan eksekusi dengan perintah :

node mysql_connect.js

Jika semua parameter diterima, pada konsol akan muncul teks "Database terhubung!", sebaliknya jika gagal akan muncul pesan kesalahan sesuai jenis kesalahannya. Sebagai contoh, kalau terjadi kesalahan nama pemakai atau password akan muncul pesan :

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES)

Sekarang kita sudah bisa terhubung ke server database, mari kita lanjutkan pelajaran NodeJS kita dengan menggunakan database MySQL.

Membuat Database MySQL dengan NodeJS  

Setelah terhubung dengan server database, kita bisa melakukan berbagai operasi yang terkait dengan database, misalnya membuat database baru dengan menggunakan fungsi / metode query(). Buatlah kode program seperti pada contoh berikut kemudian simpan dengan nama create_db.js

var mysql = require('mysql');

var con = mysql.createConnection({
    host: "localhost",
    user: "root", // isi dengan nama login mysql
    password: "password" // isi dengan password login mysql
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Server terhubung!");
  // Membuat database baru dengan nama mydb
  con.query("CREATE DATABASE mydb", function (err, result) {
    if (err) throw err;
    console.log("Database berhasil dibuat");
  });
});
Perintah untuk membuat database ada pada baris 13 yaitu :

  con.query("CREATE DATABASE mydb", function (err, result) {

Apabila kode tersebut dieksekusi, akan dibuat sebuah database baru dengan nama mydb :

D:\Belajar-NodeJS\database> node create_db.js
Server terhubung!
Database berhasil dibuat

Sebuah database berhasil dibuat dengan menggunakan fungsi query() dari modul mysql. Bagaimana cara melihat hasilnya ? buka phpmyadmin dan pilih tab Database.

Daftar database MySql di PhpMyAdmin

Sebenarnya masih banyak aktifitas terhadap database yang bisa dilakukan dan memang dibutuhkan dalam pengembangan aplikasi, akan tetapi hampis semua aktifitas yang dibutuhkan tersebut menggunakan hanya 1 fungsi dari modul mysql, yaitu query(). Jadi aktifitas-aktifitas tersebut tidak akan kita bahasa satu persatu pada bagian ini melainkan pada bagian lain sesuatu kebutuhannya agar lebih mudah mempelajarinya.    

Kesimpulan

Pada materi ini kita telah belajar cara membuat koneksi ke database MySQL menggunakan Node.js.  Untuk menghubungkan ke database MySQL kita menggunakan driver atau modul mysql, yang diinstal dengan perintah npm install mysql. Disini kita juga belajar cara membuka database MySQL dengan NodeJS dan membuat tabel dengan menggunakan fungsi query()

Demikianlah pembahasan mengenai menggunakan database MySQL di NodeJS. Semoga bermanfaat buat kita semua. 

Materi lainnya :
Next Post Previous Post
No Comment
Add Comment
comment url