Skip to main content

Day 3 - Object Relations Mapping (ORM) Prisma & Framework Express

Ringkasan

Prasyarat:

  1. Terinstall Node.js v14.17.0 atau versi yang lebih baru

  2. Terinstall Database MySQL


ORM (Object Relational Mapping)

ref: https://giginau.com/pengertian-orm-object-relational-mapping/

Perkembangan pemrograman Object oriented programming (OOP) saat ini sudah sangat pesat. Sudah banyak sekali perangkat lunak atau software yang di kembangkan dengan paradigma OOP. Namun realisasinya menemui kendala yang sering dihadapi oleh programmer dalam pembuatanya. Saat ini munculah metode baru yaitu ORM atau kependekan dari Object Relational Mapping. Metode baru ini bisa mempermudah dan mempercepat dalam pengembangan dan pembangunan sebuah program.

ORM atau kependekan dari Object Relational Mapping adalah suatu metode pemrograman yang di gunakan untuk mengkonfersi data dari Object Oriented Programming (OOP) ke lingkungan database relational. Metode ORM memudahkan kita dalam pembuatan aplikasi yang menggunakan database relasional.


Prisma

ref: https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-node-mysql

Prisma merupakan open source next-generation ORM yang mengubah database menjadi GraphQL, REST, atau gPRC API yang berfungsi dengan baik. Prisma memberikan abstraksi kuat dan pondasi untuk mengembangkan backend yang fleksibel dan skalabel.


Membuat Project Setup

  1. Buat database dengan nama seusai keinginan (contoh todo_list_prisma)

  1. Buat folder hello-prisma dan masuk ke folder tersebut

  1. Buka terminal di dalam folder hello-prisma

  2. Jalankan perintah

  1. Inisiasi Prisma Schema

  1. Akan muncul folder baru bernama prisma dan terdapat file schema.prisma

  2. Di dalam folder hello-prisma buka vscode melalui terminal dengan perintah

code .

maka akan muncul Visual Studio Code seperti gambar dibawah

  1. Ganti Koneksi database di dalam schema.prisma dan .env

Sesuaikan koneksi dengan database mysql masing-masing

Berikut penjelasan singkat setiap komponennya: 

USER: nama dari database

PASSWORD: password dari database

PORT: port dimana database berjalan/running (default mysql 3306)

DATABASE: nama database (sesuai dengan yang dibuat pada langkah pertama)

  1. Buat schema database di dalam schema.prisma



  1. Jalankan perintah

  1. Install dan generate prisma client

  1. Buat file baru bernama index.js dan tambahkan contoh code berikut:



  1. Didalam function main tambahkan query yang ingin ditampilkan

  1. Kemudian jalankan code dengan perintah

  1. Menampilkan output array kosong, karena tabel user belum memilki data


Latihan soal

Membuat database Todo List dengan prisma

  1. Buat Schema Prisma dengan Model User dan Todo dengan kolom dari masing-masing tabel minimal seperti berikut:

User: id, name, email, password, created_at updated_at

Todo: id, user_id, description, created_at, updated_at

  1. Query insert data User dan Todo

  2. Query select data Todo dengan salah filter salah satu user

  3. Query update data Todo

  4. Query delete data Todo


Ringkasan

Prasyarat

  1. Telah menyelesaikan Course Day 3

Framework

ref: https://www.niagahoster.co.id/blog/apa-itu-framework/

Framework adalah kerangka kerja yang digunakan untuk mengembangkan aplikasi berbasis desktop atau aplikasi berbasis website. Dengan menggunakan framework Anda akan lebih mudah untuk membuat aplikasi atau website. Itu karena Anda hanya perlu menyusun komponen-komponen pemrograman yang sudah jadi. Dengan kata lain, Anda tidak perlu membuat berbagai fitur dari awal lagi.


Express.js

ref: https://www.niagahoster.co.id/blog/express-js-adalah/

Express.js adalah framework back end. Artinya, ia bertanggung jawab untuk mengatur fungsionalitas website, seperti pengelolaan routing dan session, permintaan HTTP, penanganan error, serta pertukaran data di server. 


  1. Buka Visual Studio Code di folder hello-prisma yang telah di buat pada course 3

  1. Install Express dengan command berikut pada kolom terminal VSCode


  1. Install Cors

  1. Hapus semua code dalam index.js dan ganti dengan code berikut


  1. Jalankan local web server dengan perintah berikut:

node index.js

Output

  1. Test route api yang telah dibuat dengan membuka terminal baru dan menjalankan perintah berikut:

curl http://localhost:8000

Output

  1. Test route api users


Latihan soal

  1. Buat endpoint api untuk mendapatkan user berdasarkan id usernya

  2. Buat endpoint api untuk mendapatkan list post

  3. Buat endpoint api untuk mendapatkan post berdasarkan id postnya


Referensi




Last modified: Friday, 10 February 2023, 2:49 PM