Materi CourseNodeJSNusantech Academy

REST API NodeJS #2 – Konsep

Hallo teman-teman semua, selamat datang kembali di REST API dengan Node JS di Nusantech Academy.

Pada Blog sebelum nya saya sudah membahas tentang REST API NodeJS #1 – Overview, serta list kedepannya apa yang akan kita pelajari.

Sebelum teman-teman melanjutkan membaca materi ini, teman-teman diharuskan sudah mengerti tentang basic dari JavaScript itu sendiri, lanjut baca untuk materi JavaScript

Pada Blog kali ini kita akan membahas tentang Konsep REST API.

Bagi teman-teman yang baru memulai belajar Backend pasti bertanya-tanya.

Kenapa ada Backend dan Frontend ?

Padahal dulu saya ngoding di satu proyek yang mana disana ada nge Query di tampilan views nya ( pengalaman pribadi si penulis ) kalo dari segi struktur folder dan file nya ya berantakan dan apa ada nya saja, seperti gambar dibawah ini :

 

Alasan kenapa dipisah Backend dan Frontend

  • Kodingan jadi terstruktur
  • Frontend menerima data melalui API
  • Semua logika program berada di Backend, jadi tugas si Frontend cuma mengolah data yang diberikan oleh Backend

Mungkin sampai disini teman-teman sudah mengerti kenapa dipisah antara Frontend dengan Backend, kalau dari teman-teman masih belum mengerti tentang penjelasan saya diatas bisa tulis pertanyaan nya di kolom komentar.

Apa itu REST API ?

REST itu singkatan dari REpresentational State Transfer adalah suatu gaya arsitektur perangkat lunak untuk pendistribusian sistem hipermedia seperti WWW. Istilah ini diperkenalkan pertama kali pada tahun 2000.

Secara sederhana, berikut penjelesan mengenai REST :

  • Standar arsitektur komunikasi berbasis web yang sering diterapkan dalam pengembangan layanan berbasis web.
  • Pada arsitektur REST, REST server menyediakan resource. Setiap resource diidentifikasi oleh URIs (Universal Resource Identifiers) atau global ID.
  • Resource tersebut direpresentasikan dalam bentuk format teks, JSON atau XML.

Apa itu API ?

API adalah singkatan dari Application Programming Interface, dan memungkinkan developer untuk mengintegrasikan dua bagian dari aplikasi atau dengan aplikasi yang berbeda secara bersamaan.

API terdiri dari berbagai elemen seperti function, protocols, dan tools lainnya yang memungkinkan developers untuk membuat aplikasi. Tujuan penggunaan API adalah untuk mempercepat proses development dengan menyediakan function secara terpisah sehingga developer tidak perlu membuat fitur yang serupa.

Penerapan API akan sangat terasa jika fitur yang diinginkan sudah sangat kompleks, tentu membutuhkan waktu untuk membuat yang serupa dengannya. Misalnya: integrasi dengan payment gateway. Terdapat berbagai jenis sistem API yang dapat digunakan, termasuk sistem operasi, library, dan web.

 

Ilustrasi Application Human Interface

Pada gambar diatas bisa diibaratkan remote TV itu sebagai interface, dan TV itu sendiri sebagai aplikasi, dan manusia nya yang menggunakan / menjalankannya. Interaksi dari 3 objek tersebut saling berkaitan, yakni manusia menggunakan remote TV untuk mengatur TV sesuai yang diharapkan oleh si orang tersebut.

Gambar Application Programming Interface

Pada gambar application programming interface ini, dari sisi API nya yang menjadi interface, Youtube nya sebagai apilkasi, dan program nya yg menjalankan itu semua.

Misalkan kita bikin aplikasi android yang menggunakan API dari Youtube, nah si programnya mengeksekusi API tersebut, lalu yg diharapkan di aplikasi android yg kita bikin muncul list video youtube nya.

API yang populer digunakan

Properti REST

  • Resource Base URI

Pada gambar diatas dapat kita pahami bahwa interface API itu data berupa JSON, API ini bisa digunakan dimanapun, baik utk website, mobile apps, maupun dekstop apps. Sebagai contoh penggunaan API bisa dilihat pada website https://kawalcorona.com/

  • HTTP Method

Metode http untuk berkomunikasi dengan server. Sebenarnya utk metode http ini masih ada lagi yg lain, akan tetapi yang sering digunakan cuma 4 method ini :

  1. Get – Mengambil data dari Server
  2. Post – Mengirim data ke Server
  3. Put – Mengubah data dari Client ke Server
  4. Delete – Menghapus data dari Client ke Server
  • HTTP Response

Status respon http mengidentifikasi spesifikasi dari http request tersebut, baik dari informasi respon, sukses respon, mengalihkan, clilent error dan server error.

Respon tersebut dikelompokkan menjadi 5 kelas :

  1. Informasi respon (100–199),
  2. Sukses respon (200–299),
  3. Redirects (300–399),
  4. Client errors (400–499),
  5. and Server errors (500–599).

 

Referensi :