Pemrograman Web Framework
Node.js adalah perangkat lunak yang didesain untuk mengembangkan aplikasi berbasis web dan ditulis dalam sintaks bahasa pemrograman JavaScript. Bila selama ini kita mengenal JavaScript sebagai bahasa pemrograman yang berjalan di sisi client / browser saja, maka Node.js ada untuk melengkapi peran JavaScript sehingga bisa juga berlaku sebagai bahasa pemrograman yang berjalan di sisi server, seperti halnya PHP, Ruby, Perl, dan sebagainya. Node.js dapat berjalan di sistem operasi Windows, Mac OS X dan Linux tanpa perlu ada perubahan kode program. Node.js memiliki pustaka server HTTP sendiri sehingga memungkinkan untuk menjalankan server web tanpa menggunakan program server web seperti Apache atau Nginx.
Definisi REST
REST (Representional State Transfer) adalah suatu arsitektur metode komunikasi yang menggunakan protokol HTTP untuk pertukaran data dan metode ini sering diterapkan dalam pengembangan aplikasi. Dimana tujuannya adalah untuk menjadikan sistem yang memiliki performa yang baik, cepat dan mudah untuk di kembangkan (scale) terutama dalam pertukaran dan komunikasi data.
Definisi API
API adalah singkatan dari Application Programming Interface. Merupakan suatu “penghubung” yang memungkinkan suatu aplikasi untuk berinteraksi dengan aplikasi lainnya dan berbagi data.
Langkah-langkah cara membuat RESTful API pada nodeJS
1. Langkah pertama yaitu tentunya kita harus mempunyai nodeJS. bagi kalian yang belum download nodeJS silahkan download disini.
2. Langkah kedua, kita membuat desaign RESTful API. disini kita akan membuat restful api untuk mengambil data dari server(GET), membuat data baru ke server(POST), mengupdate data ke server(PUT) dan menghapus data ke server(DELETE) dari suatu database yaitu table product.
3. Selanjuntnya kita membuat database dan table yang akan kita gunakan, disini kita akan membuat database dengan nama restful_db. cara membuatnya yaitu:
CREATE DATABASE restful_db;
kemudian kita akan membuat table product dengan query seperti dibawah ini.
CREATE TABLE product(product_id INT(11) PRIMARY KEY AUTO_INCREMENT,product_name VARCHAR(200),product_price INT(11) )ENGINE=INNODB;INSERT INTO product(product_name,product_price) VALUES('Product 1','2000'),('Product 2','5000'),('Product 3','4000'),('Product 4','6000'),('Product 5','7000');
4. pada langkah keempat ini kita akan menginstall Dependencies.
package yang kita butuhkan antara lain:
a. Express
b. MySQL
c. Body-parser
nah cara untuk menginstallnya kita ketikan kode dibawah ini pada command prompt
npm install --save express mysql body-parser
{ "name": "restful-api", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "Ade Setiawan", "license": "ISC", "dependencies": { "body-parser": "^1.18.3", "express": "^4.16.4", "mysql": "^2.16.0" }}
const express = require('express');const bodyParser = require('body-parser');const app = express();const mysql = require('mysql');// parse application/jsonapp.use(bodyParser.json());//create database connectionconst conn = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'restful_db'});//connect to databaseconn.connect((err) =>{ if(err) throw err; console.log('Mysql Connected...');});//tampilkan semua data productapp.get('/api/products',(req, res) => { let sql = "SELECT * FROM product"; let query = conn.query(sql, (err, results) => { if(err) throw err; res.send(JSON.stringify({"status": 200, "error": null, "response": results})); });});//tampilkan data product berdasarkan idapp.get('/api/products/:id',(req, res) => { let sql = "SELECT * FROM product WHERE product_id="+req.params.id; let query = conn.query(sql, (err, results) => { if(err) throw err; res.send(JSON.stringify({"status": 200, "error": null, "response": results})); });});//Tambahkan data product baruapp.post('/api/products',(req, res) => { let data = {product_name: req.body.product_name, product_price: req.body.product_price}; let sql = "INSERT INTO product SET ?"; let query = conn.query(sql, data,(err, results) => { if(err) throw err; res.send(JSON.stringify({"status": 200, "error": null, "response": results})); });});//Edit data product berdasarkan idapp.put('/api/products/:id',(req, res) => { let sql = "UPDATE product SET product_name='"+req.body.product_name+"', product_price='"+req.body.product_price+"' WHERE product_id="+req.params.id; let query = conn.query(sql, (err, results) => { if(err) throw err; res.send(JSON.stringify({"status": 200, "error": null, "response": results})); });});//Delete data product berdasarkan idapp.delete('/api/products/:id',(req, res) => { let sql = "DELETE FROM product WHERE product_id="+req.params.id+""; let query = conn.query(sql, (err, results) => { if(err) throw err; res.send(JSON.stringify({"status": 200, "error": null, "response": results})); });});//Server listeningapp.listen(3000,() =>{ console.log('Server started on port 3000...');});
6. Langkat keenam, kita akan melakukan testing/pengujian untuk program yang sudah kita buat. disini kita akan menggunakan POSTMAN, bagi kalian yang belum memiliki bisa download disini.
| Tampilan POSTMAN |
Jika sudah download, selanjutnya kita buka POSTMAN, lalu running project kita dengan cara mengetikan node index.js pada command prompt.
Kemudian kita uji menggunakan POSTMAN
a. Get All Product (GET)
Kembali ke POSTMAN, dan ketikan URL berikut pada kolom URL Postman:
http://localhost:3000/api/products
Pilih method GET, kemudian klik tombol Send, maka Akan terlihat hasilnya seperti gambar berikut:
Kemudian kita uji menggunakan POSTMAN
a. Get All Product (GET)
Kembali ke POSTMAN, dan ketikan URL berikut pada kolom URL Postman:
http://localhost:3000/api/products
Pilih method GET, kemudian klik tombol Send, maka Akan terlihat hasilnya seperti gambar berikut:
b. Get Single Product (GET)
Ketikan URL berikut pada kolom URL untuk mendapatkan single product:
http://localhost:3000/api/products/2
Pilih dengan method GET, kemudian klik tombol Send, maka terlihat hasilnya seperti gambar berikut:
c. Create New Product (POST)
Ketikan URL berikut pada kolom URL untuk meng-create new product:
http://localhost:3000/api/products
Pilih method POST,masukan data berikut pada kolom JSON(application/json),kemudian klik send.
Ketikan URL berikut pada kolom URL untuk mendapatkan single product:
http://localhost:3000/api/products/2
Pilih dengan method GET, kemudian klik tombol Send, maka terlihat hasilnya seperti gambar berikut:
c. Create New Product (POST)
Ketikan URL berikut pada kolom URL untuk meng-create new product:
http://localhost:3000/api/products
Pilih method POST,masukan data berikut pada kolom JSON(application/json),kemudian klik send.
d. Update Product (PUT)
Ketikan URL berikut pada kolom URL untuk meng-update product:
http://localhost:3000/api/products/5
Pilih method PUT, kemudian masukan data berikut pada kolom JSON(application/json):
Ketikan URL berikut pada kolom URL untuk meng-update product:
http://localhost:3000/api/products/5
Pilih method PUT, kemudian masukan data berikut pada kolom JSON(application/json):
e. Delete Product (DELETE)
Ketikan URL berikut pada kolom URL untuk meng-hapus product:
http://localhost:3000/api/products/6
Pilih dengan method DELETE, kemudian klik tombol Send, maka Akan terlihat hasilnya seperti gambar berikut:
Ketikan URL berikut pada kolom URL untuk meng-hapus product:
http://localhost:3000/api/products/6
Pilih dengan method DELETE, kemudian klik tombol Send, maka Akan terlihat hasilnya seperti gambar berikut:
Referensi:






0 komentar: