Slide 1

Slide 1 text

Backend Development with Express.js Medan Fikih Firmansyah Backend Engineer, Xtend Indonesia Google Developer Groups Medan

Slide 2

Slide 2 text

Introduction ● Backend Engineer at Xtend Indonesia ● CTO of TestMate ● Member of Indonesian Bioinformatics and Biodiversity Society ● Google Developer Groups Medan ● Open source enthusiast and Communities Fellow ● Tech Background: Backend stuff, IaaS & PaaS Cloud, DevOps, more at https://fikihfirmansyah.my.id

Slide 3

Slide 3 text

Absen bang..

Slide 4

Slide 4 text

Table of Contents 1. Pembukaan 2. Pengenalan Express.js 3. Dasar-Dasar API 4. Membangun API dengan Express.js 5. Praktik: Membuat Aplikasi CRUD 6. Autentikasi dalam Express.js 7. Sesi Tanya Jawab 8. Penutupan

Slide 5

Slide 5 text

Introduction Memiliki keunggulan dalam menangani I/O secara efisien, sehingga cocok untuk aplikasi yang membutuhkan banyak interaksi dengan data. Runtime environment JavaScript yang dapat dijalankan di luar browser. Digunakan untuk mengembangkan aplikasi server-side, seperti web server, API, dan aplikasi real-time. Apa itu Node JS?

Slide 6

Slide 6 text

Introduction Node.js memiliki keunggulan dalam menangani I/O secara efisien, sehingga cocok untuk aplikasi yang membutuhkan banyak interaksi dengan data. What Is Node.js Used For? Aplikasi e-commerce membutuhkan Node.js untuk menangani interaksi dengan database, seperti menyimpan data produk, pemesanan, dan pembayaran. Aplikasi media sosial membutuhkan Node.js untuk menangani interaksi dengan pengguna, seperti mengirim pesan, mengunggah foto, dan mengomentari postingan. Node.js juga dapat digunakan untuk mengembangkan berbagai jenis aplikasi lainnya, seperti: Aplikasi web server Aplikasi API Aplikasi streaming Aplikasi game Node.js adalah platform yang serbaguna dan cocok untuk berbagai jenis aplikasi.

Slide 7

Slide 7 text

Pengenalan Express.js Menyediakan berbagai fitur untuk mempermudah pengembangan aplikasi web, seperti routing, middleware, dan template engine. Framework web untuk Node.js yang digunakan untuk mengembangkan aplikasi web dan API. Berbasis pada arsitektur MVC, yang membagi aplikasi menjadi tiga bagian: model, view, dan controller. Apa itu Express JS?

Slide 8

Slide 8 text

Pengenalan Express.js Bayangkan kamu sedang membangun aplikasi web yang membutuhkan fitur-fitur dasar seperti routing, request handling, dan pengiriman response. Express.js adalah pilihan yang tepat untuk aplikasi tersebut. Express.js menyediakan berbagai fitur dasar yang dibutuhkan untuk mengembangkan aplikasi web, sehingga dapat menghemat waktu dan tenagamu. What Is Express.js Used For? Berikut adalah beberapa contoh fitur yang disediakan oleh Express.js: ● Routing untuk mengarahkan permintaan HTTP ke function yang sesuai. ● Middleware untuk menambahkan fungsionalitas tambahan ke aplikasi. ● Template engine untuk menghasilkan tampilan halaman web. ● Database connection pools untuk meningkatkan kinerja aplikasi. Fitur-fitur tersebut dapat membantu Kamu mengembangkan aplikasi web yang lebih cepat, lebih efisien, dan lebih mudah di-maintenance.

Slide 9

Slide 9 text

Dasar-Dasar API Definisi Singkat: ● API (Application Programming Interface)adalah set aturan dan protokol untuk membangun dan berinteraksi dengan perangkat lunak aplikasi. ● Berfungsi sebagai 'jembatan' yang memungkinkan perangkat lunak yang berbeda berkomunikasi satu sama lain. Manfaat Utama: ● Integrasi & Konektivitas: Memudahkan integrasi berbagai layanan dan aplikasi, meningkatkan fungsionalitas dan efisiensi. ● Keamanan & Kontrol: Menyediakan akses terkontrol ke sumber daya, melindungi data dan sistem dari akses yang tidak sah. ● Skalabilitas: Memudahkan penambahan fitur atau layanan baru tanpa mengganggu sistem yang ada. Apa itu API?

Slide 10

Slide 10 text

Dasar-Dasar API Cara kerja API?

Slide 11

Slide 11 text

Dasar-Dasar API Permintaan (Request): ● Aplikasi klien mengirimkan permintaan ke server API melalui HTTP. ● Permintaan ini biasanya berisi informasi seperti: Jenis data yang dibutuhkan dan parameter lain. Pemrosesan (Processing): ● Server API menerima permintaan dan memprosesnya. ● Server API mengakses data yang dibutuhkan dari database atau sumber lainnya. Respons (Response): ● Server API mengirimkan respons kembali ke aplikasi klien. ● Respons ini biasanya berisi data yang diminta dalam format JSON atau XML. Pemanfaatan Data (Integration): ● Aplikasi klien menerima respons dan mengintegrasikan data ke dalam tampilan atau fungsinya. Apa itu API?

Slide 12

Slide 12 text

Dasar-Dasar API ● Melihat peta dan mendapatkan petunjuk arah di aplikasi peta (Google Maps API) ● Mengirim pesan instan dan berbagi foto di aplikasi chat (WhatsApp API) ● Memesan makanan secara online (GrabFood API) ● Melakukan pembayaran digital (GoPay API) ● Mengakses media sosial (Twitter API) ● Mendapatkan berita dan informasi terkini (Berita API) Contoh Penggunaan API

Slide 13

Slide 13 text

Dasar-Dasar API Komponen Utama: ● Endpoint: Alamat unik dimana API dapat diakses. ● Request: Permintaan yang dikirim untuk mendapatkan data atau melakukan aksi. ● Response: Jawaban yang diterima setelah request diproses. Metode HTTP dalam API: ● GET: Untuk mengambil data. ● POST: Untuk mengirimkan data baru. ● PUT/PATCH: Untuk memperbarui data. ● DELETE: Untuk menghapus data. Format Data: ● Umumnya menggunakan JSON (JavaScript Object Notation) atau XML (eXtensible Markup Language) untuk transfer data. Keamanan: ● Otentikasi dan otorisasi untuk memastikan keamanan data dengan Penggunaan token atau kunci API.

Slide 14

Slide 14 text

Membangun API dengan Express.js Instalasi: npm install express const express = require('express'); const app = express(); Routing: - GET: app.get('/path', callback); - POST: app.post('/path', callback); - PUT/PATCH: app.put('/path', callback); - DELETE: app.delete('/path', callback); Menjalankan Server: app.listen(3000, () => console.log('Server berjalan di port 3000')); Contoh Endpoint: app.get('/api/users', (req, res) => { res.send('Daftar Pengguna'); });

Slide 15

Slide 15 text

Praktik: Membuat Aplikasi CRUD Mari mengoding

Slide 16

Slide 16 text

Autentikasi dalam Express.js Autentikasi adalah proses memverifikasi identitas pengguna. Autentikasi diperlukan untuk melindungi API dari akses yang tidak sah. Express.js menyediakan berbagai cara untuk menerapkan autentikasi. const express = require('express'); const jwt = require('express-jwt'); const app = express(); app.use(jwt({ secret: 'my-secret' })); app.get('/', (req, res) => { // Hanya pengguna yang diautentikasi yang dapat mengakses rute ini });

Slide 17

Slide 17 text

Terima kasih

Slide 18

Slide 18 text

Backend Development with Express.js Medan Fikih Firmansyah Backend Engineer, Xtend Indonesia Google Developer Groups Medan