Jumat, 24 April 2020

Praktikum 6 - 8 : Membuat Aplikasi Rental Mobil (Bendi Car)

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.

Klik Disini Untuk Download Dokumen

Rabu, 01 April 2020

Praktikum 5 : Membuat Restful Api pada nodeJS

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.

Klik Disini Untuk Download Dokumen

Senin, 30 Maret 2020

Membuat REST API pada nodeJS

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;

lalu kita isikan table yang sudah kita buat dengan data seperti dibawah ini.
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

jika sudah selesai coba kita buka package.json maka akan menampilkan data seperti dibawah ini
{
  "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"
  }
}


5. Langkah kelima yaitu kita membuat file dengan nama index.js lalu file index.js isikan dengan kode/script seperti dibawah ini.
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const mysql = require('mysql');
// parse application/json
app.use(bodyParser.json());
//create database connection
const conn = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'restful_db'
});
//connect to database
conn.connect((err) =>{
  if(err) throw err;
  console.log('Mysql Connected...');
});
//tampilkan semua data product
app.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 id
app.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 baru
app.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 id
app.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 id
app.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 listening
app.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:

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.

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):

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:



Referensi: