Anda di halaman 1dari 9

Pengenalan

REST API NODE JS


Website merupakan sekumpulan halaman yang diakses menggunakan browser yang dapat
dilihat secara umum oleh banyak pengguna internet. Pengembang atau pembuat halaman
website dikenal sebagai web developer. Seiring berjalannya waktu, tugas dari seorang web
developer lebih spesifik dan secara umum terbagi menjadi dua bagian yaitu back-end dan
front-end.
1. Back-end
Back-end merupakan bagian pada website yang mengatur logika dan mengolah data.
Biasanya proses di bagian back-end berada pada sisi server ( server-side).
2. Front-end
Front-end merupakan bagian website yang dilihat oleh pengguna ( end user). Bagian ini
biasanya meliputi desain tampilan dan interface yang dapat dikontrol oleh pengguna.

Karena back-end dan front-end adalah bagian yang terpisah, tentu membutuhkan penghubung
diantara keduanya agar halaman web yang dibuat dapat digunakan sesuai dengan
peruntukannya. Untuk menghubungkan kedua bagian tersebut menggunakan tool yang disebut
Application Programming Interface (API). API digunakan sebagai antarmuka dari sebuah
aplikasi agar dapat digunakan oleh aplikasi yang lain. Dalam pengembangan layanan berbasis
web, implementasi dari API adalah REST API. REST merupakan singkatan dari
REpresentational State Transfer yang merupakan standar arsitektur komunikasi berbasis
web yang digunakan sebagai jembatan antara back-end dan front-end. REST API menggunakan
protocol HTTP (Hypertext Transfer Protocol ) sebagai protocol komunikasi data. REST API
menyampaikan perintah atau permintaan (request) dari sisi frontend agar diproses oleh sisi
backend, selanjutnya sisi backend mengolah data sesuai dengan permintaan dan
mengembalikan response kepada sisi frontend. Perhatikan ilustrasi berikut ini.
Database
Request End-user

Data

Logic
REST
API
Browser

Back-End Response Front-End

Struktur REST API

Struktur dari REST API adalah sebagai berikut.

Komponen
Request:
Request End-point
Method
Headers
REST Data (Body)

API
Response
Komponen
Response:
Response Code
Response data
Penjelasan:

Request merupakan permintaan dari bagian front-end. Terdapat empat komponen dalam
bagian request yaitu sebagai berikut.

1. End-point atau route, merupakan URL yang yang diakses saat melakukan request. Contoh
dari end-point adalah sebagai berikut
https://blockchain.info/tobtc?currency=USD&value=500
URL atau end-point di atas digunakan untuk mengrimkan request yang akan memberikan
response info dari harga bitcoin saat ini berdasarkan 2 parameter yang dikirimkan yaitu
parameter currency=USD dan value=500.
2. Method, merupakan jenis atau tipe dari request. Secara umum yang sering digunakan
saat proses request adalah method GET dan POST. Perbedaan dari method GET dan POST
adalah
- Data yang dikirimkan dengan method GET terlihat pada url (seperti contoh end-point di
atas), sedangkan data yang dikirimkan dengan method POST tidak terlihat karena
diletakkan pada bagian body.
- Ukuran data yang dikirmkan dengan method GET sangat terbatas dibandingkan dengan
method POST.
3. Headers, merupakan bagian yang berisi informasi saat melakukan request maupun
response. Biasanya digunakan untuk keperluan autentikasi dan penjelasan konten yang ada
pada body dari request yang diberikan.
4. Data (Body), merupakan bagian untuk menyimpan informasi atau data yang dikirimkan
pada saat request.

Response merupakan data yang dikembalikan setelah melakukan proses request. Terdapat
dua komponen pada bagian response yaitu sebagai berikut.

1. Response Code, merupakan kode angka yang menjelaskan status response yang
dikirimkan oleh server. Berikut ini kode beserta dengan penjelasannya.
- 200+ mempunyai arti bahwa request yang dikirimkan berhasil atau sukses
- 300+ mempunyai arti bahwa request yang dikirimkan dialihkan ke URL yang lain
- 400+ mempunyai arti bahwa terdapat error dari sisi client pada saat mengirimkan
request.
- 500+ mempunyai arti bahwa terdapat error dari sisi server pada saat request
dikirimkan.
2. Response Data, merupakan data yang dikirmkan oleh server setelah proses request. Data
yang dikirmkan dapat berformat JSON atau XML. Pada modul kali ini, kita akan fokus pada
format response berupa JSON.
Node JS

Bahasa pemrograman Javascript pada awalnya dijalankan melalui web browser karena
di dalamnya terdapat engine yang menjalankan Javascript. Pada tahun 2009, Ryan Dahl
menciptakan Node JS yang merupakan platform yang mengeksekusi program Javascript di luar
browser. Dengan adanya Node JS, saat ini kita dapat membuat aplikasi desktop, web, mobile
dengan menggunakan Javascript. Untuk memulai pemrograman dengan Node JS, kita perlu
menginstall engine Node JS dengan mengunduh melalui https://nodejs.org/en/download/ dan
pilihlah versi yang paling terbaru dan sesuaikan dengan spesifikasi sistem operasi anda.

Untuk mengetahui proses instalasi node js berhasil, silahkan buka command prompt dan
ketikkan perintah node -v yang akan menampilkan versi node yang diinstall.

Sebagai awal pembelajaran Node JS, silahkan buat file javascript misal dengan nama test.js dan
isikan code berikut ini.

console.log("Belajar Node JS dapat memudarkan kemalasan");

Untuk mengeksekusi file tes.js, cukup dengan menggunakan perintah node test.js pada
command prompt.

REST API dengan Node JS

Pada bagian ini kita akan belajar membuat REST API menggunakan Node JS. Sebelum memulai
membuat REST API, kita perlu mengenal pustaka pendukung dalam pembuatan REST API pada
Node JS yaitu sebagai berikut.

1. Express JS
Express JS merupakan framework yang dapat memperingkas dalam pembuatan REST API
karena telah menyediakan sistem routing yang berguna untuk pembuatan end-point,
middleware, file static, integrasi database, dan masih banyak lagi.
2. Body-Parser
Body-parser merupakan pustaka yang digunakan untuk mengekstrak data yang dikirmkan
saat proses request terutama pada bagian body.
3. CORS
CORS (Cross Origin Resource Sharing) merupakan sebuah proteksi terhadap URL atau end-
point ketika diakses oleh domain/pihak luar (cross platform).
Langkah Praktikum Awal

1. Siapkan folder untuk membuat project REST API, buka command prompt dan arahkan ke
direktori folder tersebut.
2. Install pustaka pendukung untuk pembuatan REST API Node JS yaitu express, body-parser,
dan cors dengan perintah npm install --save express body-parser cors.

3. Buat file javascript dengan nama index.js dan buka code editor anda.
4. Pertama kita akan melakukan pemanggilan pustaka yang telah diintall untuk dihubungkan
pada file index.js

const express = require("express") // memanggil library express js
const bodyParser = require("body-parser") // memanggil library body-parser
const cors = require("cors") // memanggil library cors
const app = express()

5. Selanjutnya melakukan pemanggilan fungsi yang terdapat pada pustaka express, body-
parser, dan cors

// penggunaan body-parser untuk ekstrak data request berformat JSON
app.use(bodyParser.json())

// penggunaan body-parser untuk ekstrak data request dari body
app.use(bodyParser.urlencoded({extended: true}))

// penggunaan cors agar end point dapat diakses oleh cross platform
app.use(cors())

6. Kemudian kita akan membuat end-point pertama menggunakan method GET dengan url
“/test”

// endpoint "/test" dengan method GET
app.get("/test", (req,res) => {
    // req merupakan variabel yang berisi data request
    // res merupakan variabel yang berisi data response dari end-point

    // membuat objek yang berisi data yang akan dijadikan response
    let response = {
        message: "Ini end-point pertama ku",
        method: req.method,
        code: res.statusCode
    }

    // memberikan response dengan format JSON yang berisi objek di atas
    res.json(response)
})

7. Setelah itu menambahkan fungsi untuk menjalankan server pada port tertentu.

// menjalankan server pada port 8000
app.listen(8000, () => {
    console.log("Server run on port 8000");
})

8. Simpan file index.js dan eksekusi file tersebut melalui command prompt dengan perintah
node index.js

9. Setelah server berhasil dijalankan, silahkan buka aplikasi Postman.


10. Pilih method GET dan isikan URL dengan http://localhost:8000/test dan klik tombol Send.

11. Lihat bagian output dan jika berhasil akan muncul data message, code, method sesuai
dengan yang kita definiskan pada variabel response.

Praktikum pengiriman data melalui parameter dengan method GET


1. Masih dalam file yang sama yaitu index.js, kita akan membuat end-point kedua yang akan
memberikan response nama dan umur berdasarkan data yang dikirimkan melalui URL.
2. Tambahkan end-point “/profil/nama/umur” seperti berikut ini

// endpoint "/profil/nama/umur" dengan method GET
app.get("/profil/:name/:age", (req,res) => {
    // :name dan :age  diberikan titik dua didepan menunjukkan "name" dan 
"age" 
    // bersifat dinamis yang dapat diganti nilai nya saat melakukan request

    // menampung data yang dikirimkan
    let name = req.params.name // mengambil nilai pada parameter name
    let age = req.params.age // mengambil nilai pada parameter age

    // membuat objek yang berisi data yang akan dijadikan response
    // response berisi data nama dan umur sesuai dengan nilai parameter
    let response = {
        nama: name,
        umur: age
    }

    // memberikan response dengan format JSON yang berisi objek di atas
    res.json(response)

})

3. Simpan dan jalankan kembali server (jika server masih berjalan sebelumnya, ketikkan Ctrl
+ C dan ekseskusi node index.js)

4. Pada Postman, pilih method GET dan isikan URL seperti berikut ini.

name age
Jika berhasil maka akan menampilkan response seperti berikut.

Coba ganti nilai nama dan umur seperti berikut


Maka response yang diberikan adalah seperti berikut ini.

Praktikum pengiriman data melalui body dengan method POST

1. Masih dalam file yang sama yaitu index.js, kita akan membuat end-point ketiga yang akan
memberikan response nilai luas dan keliling persegi panjang berdasarkan data nilai panjang
dan lebar yang dikirimkan melalui body.
2. Tambahkan end-point “/bujur_sangkar” seperti berikut ini.

// end-point "/bujur_sangkar" dengan method POST
app.post("/bujur_sangkar", (req,res) => {
    // menampung data yang dikirimkan dan mengkonversi menjadi tipe numerik
    let panjang = Number(req.body.panjang) // mengambil nilai panjang dari 
body
    let lebar = Number(req.body.lebar) // mengamil nilai lebar dari body

    let luas = panjang * lebar
    let keliling = 2 * (panjang + lebar)

    // membuat objek yang berisi data yang akan dijadikan response
    let response = {
        panjang: panjang,
        lebar: lebar,
        luas: luas,
        keliling: keliling
    }

    // memberikan response dengan format JSON yang berisi objek di atas
    res.json(response)
})

3. Simpan dan jalankan kembali server (jika server masih berjalan sebelumnya, ketikkan Ctrl
+ C dan ekseskusi node index.js)
4. Pada aplikasi Postman, pilih method POST dan ketikkan URL berikut.

5. Pada tab Body pilih opsi x-www-form-urlencoded dan isikan data panjang dan lebar
yang akan dikirimkan kemudian klik tombol Send.

6. Jika berhasil maka akan mendapatkan response seperti berikut ini.

7. Coba untuk mengubah nilai dari panjang dan lebar.

Anda mungkin juga menyukai