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 :
Menghubungkan NodeJS ke Server MySQL
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
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.