Thumbnail Setup Express JS Dengan Prisma ORM

Setup Express JS Dengan Prisma ORM

  • JavaScript
  • Express JS
Rauliqbal a Front-End DeveloperRauliqbal16 Desember 2025

Sebelum melangkah lebih jauh, pastikan kamu sudah memahami konsep dasar Express JS. Jika belum, silakan baca artikel Pengenalan Express JS terlebih dahulu.

Sebelum memulai project, pastikan perangkat kamu sudah terinstall beberapa tool berikut:

  • Node JS (Versi LTS sangat disarankan)
  • Database MySQL (Bisa menggunakan XAMPP atau MySQL Installer).
  • Postman/Insomnia (Untuk pengujian)
  • Text Editor Terbaik (Disarankan menggunakan VS Code)

Setup project Express JS

Buka Terminal (Linux/macOS) atau Command Prompt/PowerShell (Windows), lalu jalankan perintah berikut untuk membuat folder project baru:

mkdir express-rest
cd express-rest
code .

Setelah VS Code terbuka, jalnkan perintah ini di terminal editor untuk menginisialisasi file package.json dan menginstall library yang dibutuhkan:

#Inisialisasi project
npm init -y
# Install dependencies 
npm install express dotenv morgan prisma @prisma/client @prisma/adapter-mariadb
# Install nodemon untuk development
npm install -D nodemon

Konfigurasi ESM (ES Modules)

Secara default, Node.js menggunakan CommonJS. Agar kita bisa menggunakan sintaks ESM, buka file package.json dan tambahkan baris "type": "module":

{
  "name": "express-rest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "type": "module",
  "dependencies": {
   ...
  },
  "devDependencies": {
    ...
  }
}

Setup Prisma ORM

Prisma memudahkan kita dalam mengelola database tanpa harus menulis query SQL secara manual.

  1. Inisialisasi Prisma: Jalankan perintah berikut untuk membuat folder prisma dan file .env:
npx prisma init
  1. Konfigurasi Database: Buka file .env yang baru saya dibuat, lalu sesuaikan DATABASE_URL dengan Konfigurasi MySQL kamu:
DATABASE_URL="mysql://root@localhost:3306/express_db"

Format MySQL: mysql://USER:PASSWORD@HOST:PORT/NAMA_DATABASE

๐Ÿ“Œ Catatan :

Jika menggunakan XAMPP, password biasanya dikosongkan

  1. Membuat Schema Database: Buka file prisma/schema.prisma, definisikan database MySQL dam model (tabel) pertama kamu, disini contohnya tabel User:
generator client {
  provider = "prisma-client"
  output   = "../generated/prisma"
}
datasource db {
  provider = "mysql"
}
model User {
  id Int @id @default(autoincrement())
  name String 
  email String @unique()
}
  1. Migrations: Agar tabel tersebut terbuat di database, jalankan:
npx prisma migrate dev --name init

Sekarang jalankan perintah ini, untuk generate dari Prisma client

npx prisma generate

berhasil buat database Database berhasil dibuat๐ŸŽ‰

Membuat Server Express JS

Buat file baru bernama index.js di dalam folder src dan masukkan kode sederhana berikut:

import express from 'express';
import morgan from 'morgan';
const app = express();
const port = 8000;
app.use(express.json());
app.use(morgan('dev'));
app.get('/',(req,res) => {
  res.json({
    message: "Server Express JS dengan Prisma ORM"
  })
})
app.listen(port,() => {
  console.log(`Server running at http://localhost:${port}`)
});

Buka file package.json, tambahkan perintah di dalam scripts seperti berikut:

{
  "name": "express-rest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon src/index.js"
  },
  "type": "module",
  "dependencies": {
   ...
  },
  "devDependencies": {
    ...
  }
}

jalankan server dengan perintah:

npm run dev

Berhasil setup express dengan prisma

Sekarang kita test server nya dengan Postman

Berhasil setup express dengan prisma

Kamu telah berhasil melakukan setup dasar project Express JS yang terintegrasi dengan Prisma ORM.

Dengan struktur ini, kamu sekarang memiliki fondasi yang kuat untuk membangun API yang skalabel dan mudah dikelola.

Langkah selanjutnya adalah mulai membuat Route dan Controller untuk mengolah data di database.

Sampai di sini dulu pembahasannya. Kalau masih ada yang belum paham atau ketemu error pas praktik, jangan dipendam sendiri ๐Ÿ˜„

Tulis di kolom komentar atau gabung ke grup komunitas AzuraCoder buat diskusi bareng dan saling bantu.

Terus belajar, terus ngoding, dan jangan berhenti eksplor dunia teknologi bersama AzuraCoder ๐Ÿš€

Profile Rauliqbal
WRITTEN BY

Rauliqbal

Hi, I'm Front-End Developer based in Indonesia. I like to write articles related to Front-End Developer and UI Designer.